@lucca-front/ng 22.1.0-rc.4 → 22.1.1
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/README.md +6 -0
- package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
- package/fesm2022/lucca-front-ng-activity-feed.mjs +19 -15
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +40 -40
- package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs +78 -56
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +3 -3
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
- package/fesm2022/lucca-front-ng-callout.mjs +24 -24
- package/fesm2022/lucca-front-ng-chip.mjs +4 -4
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +4 -4
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-code.mjs +3 -3
- package/fesm2022/lucca-front-ng-color.mjs +3 -3
- package/fesm2022/lucca-front-ng-comment.mjs +12 -12
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
- package/fesm2022/lucca-front-ng-core-select-department.mjs +8 -6
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +11 -9
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
- package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -20
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +77 -62
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +19 -19
- package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +40 -40
- package/fesm2022/lucca-front-ng-date2.mjs +93 -40
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +24 -24
- package/fesm2022/lucca-front-ng-dialog.mjs +56 -48
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +3 -3
- package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
- package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
- package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
- package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
- package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
- package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +3 -3
- package/fesm2022/lucca-front-ng-form-field.mjs +24 -20
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
- package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
- package/fesm2022/lucca-front-ng-form.mjs +3 -3
- package/fesm2022/lucca-front-ng-formly.mjs +58 -58
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +38 -37
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +68 -48
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
- package/fesm2022/lucca-front-ng-grid.mjs +6 -6
- package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
- package/fesm2022/lucca-front-ng-highlight-section.mjs +6 -3
- package/fesm2022/lucca-front-ng-highlight-section.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
- package/fesm2022/lucca-front-ng-impersonation.mjs +5 -3
- package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
- package/fesm2022/lucca-front-ng-input.mjs +21 -21
- package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
- package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-link.mjs +38 -14
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +21 -11
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +51 -10
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
- package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
- package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-modal.mjs +22 -22
- package/fesm2022/lucca-front-ng-multi-select.mjs +42 -42
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
- package/fesm2022/lucca-front-ng-number.mjs +7 -7
- package/fesm2022/lucca-front-ng-option.mjs +130 -130
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
- package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
- package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
- package/fesm2022/lucca-front-ng-popover.mjs +17 -17
- package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +10 -10
- package/fesm2022/lucca-front-ng-priority-level.mjs +128 -0
- package/fesm2022/lucca-front-ng-priority-level.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
- package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
- package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -8
- package/fesm2022/lucca-front-ng-segmented-control.mjs +8 -8
- package/fesm2022/lucca-front-ng-select.mjs +14 -14
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-simple-select.mjs +16 -16
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
- package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
- package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
- package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
- package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
- package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
- package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +18 -18
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-toast.mjs +10 -10
- package/fesm2022/lucca-front-ng-tree-select.mjs +7 -7
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +68 -61
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
- package/package.json +23 -10
- package/schematics/lib/local-deps/package-lock.json +7 -7
- package/schematics/lib/local-deps/package.json +1 -1
- package/schematics/lu-button/migration.js +59 -33
- package/src/components/_sidepanel.scss +2 -2
- package/src/components/cdk/_global.scss +4 -0
- package/src/components/cdk/_overlay.scss +1 -1
- package/src/definitions/option/_option-item.scss +7 -4
- package/types/lucca-front-ng-a11y.d.ts +1 -1
- package/types/lucca-front-ng-activity-feed.d.ts +13 -9
- package/types/lucca-front-ng-api.d.ts +31 -31
- package/types/lucca-front-ng-approbation-inbox.d.ts +22 -14
- package/types/lucca-front-ng-bubble-icon.d.ts +5 -2
- package/types/lucca-front-ng-callout.d.ts +17 -17
- package/types/lucca-front-ng-chip.d.ts +7 -7
- package/types/lucca-front-ng-clear.d.ts +2 -2
- package/types/lucca-front-ng-color.d.ts +3 -3
- package/types/lucca-front-ng-comment.d.ts +14 -14
- package/types/lucca-front-ng-container.d.ts +1 -1
- package/types/lucca-front-ng-core-select-api.d.ts +7 -7
- package/types/lucca-front-ng-core-select-department.d.ts +7 -5
- package/types/lucca-front-ng-core-select-establishment.d.ts +8 -6
- package/types/lucca-front-ng-core-select-job-qualification.d.ts +2 -2
- package/types/lucca-front-ng-core-select-legal-units.d.ts +3 -3
- package/types/lucca-front-ng-core-select-occupation-category.d.ts +2 -2
- package/types/lucca-front-ng-core-select-user.d.ts +14 -12
- package/types/lucca-front-ng-core-select.d.ts +56 -41
- package/types/lucca-front-ng-core.d.ts +5 -5
- package/types/lucca-front-ng-data-table.d.ts +38 -33
- package/types/lucca-front-ng-date.d.ts +13 -13
- package/types/lucca-front-ng-date2.d.ts +56 -37
- package/types/lucca-front-ng-department.d.ts +2 -2
- package/types/lucca-front-ng-dialog.d.ts +9 -9
- package/types/lucca-front-ng-divider.d.ts +2 -2
- package/types/lucca-front-ng-dropdown.d.ts +2 -2
- package/types/lucca-front-ng-empty-state.d.ts +20 -20
- package/types/lucca-front-ng-establishment.d.ts +15 -15
- package/types/lucca-front-ng-fancy-box.d.ts +12 -12
- package/types/lucca-front-ng-file-upload.d.ts +21 -15
- package/types/lucca-front-ng-filter-pills.d.ts +27 -18
- package/types/lucca-front-ng-footer.d.ts +1 -1
- package/types/lucca-front-ng-form-field.d.ts +19 -19
- package/types/lucca-front-ng-form-label.d.ts +4 -4
- package/types/lucca-front-ng-form.d.ts +1 -1
- package/types/lucca-front-ng-forms-phone-number-input.d.ts +11 -11
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +11 -11
- package/types/lucca-front-ng-forms.d.ts +59 -49
- package/types/lucca-front-ng-grid.d.ts +23 -23
- package/types/lucca-front-ng-highlight-data.d.ts +5 -5
- package/types/lucca-front-ng-highlight-section.d.ts +6 -3
- package/types/lucca-front-ng-horizontal-navigation.d.ts +4 -4
- package/types/lucca-front-ng-impersonation.d.ts +8 -6
- package/types/lucca-front-ng-index-table.d.ts +20 -18
- package/types/lucca-front-ng-inline-message.d.ts +2 -2
- package/types/lucca-front-ng-kbd.d.ts +59 -0
- package/types/lucca-front-ng-link.d.ts +17 -4
- package/types/lucca-front-ng-listbox.d.ts +10 -9
- package/types/lucca-front-ng-listing.d.ts +14 -3
- package/types/lucca-front-ng-loading.d.ts +18 -6
- package/types/lucca-front-ng-main-layout.d.ts +9 -9
- package/types/lucca-front-ng-modal.d.ts +4 -4
- package/types/lucca-front-ng-multi-select.d.ts +21 -21
- package/types/lucca-front-ng-option.d.ts +3 -3
- package/types/lucca-front-ng-page-header.d.ts +2 -2
- package/types/lucca-front-ng-pagination.d.ts +3 -3
- package/types/lucca-front-ng-popover.d.ts +18 -18
- package/types/lucca-front-ng-popover2.d.ts +9 -8
- package/types/lucca-front-ng-popup.d.ts +4 -4
- package/types/{lucca-front-ng-priority-levels.d.ts → lucca-front-ng-priority-level.d.ts} +11 -11
- package/types/lucca-front-ng-progress-bar.d.ts +1 -1
- package/types/lucca-front-ng-progress-stepper.d.ts +2 -2
- package/types/lucca-front-ng-read-more.d.ts +6 -6
- package/types/lucca-front-ng-resource-card.d.ts +3 -3
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -5
- package/types/lucca-front-ng-segmented-control.d.ts +3 -3
- package/types/lucca-front-ng-select.d.ts +9 -9
- package/types/lucca-front-ng-sidepanel.d.ts +1 -1
- package/types/lucca-front-ng-simple-select.d.ts +9 -9
- package/types/lucca-front-ng-software-icon.d.ts +1 -1
- package/types/lucca-front-ng-sortable-list.d.ts +1 -1
- package/types/lucca-front-ng-status-badge.d.ts +1 -1
- package/types/lucca-front-ng-time.d.ts +19 -19
- package/types/lucca-front-ng-title.d.ts +2 -2
- package/types/lucca-front-ng-toast.d.ts +2 -2
- package/types/lucca-front-ng-tree-select.d.ts +2 -2
- package/types/lucca-front-ng-user-popover.d.ts +1 -2
- package/types/lucca-front-ng-user.d.ts +26 -20
- package/types/lucca-front-ng-vertical-navigation.d.ts +5 -5
- package/fesm2022/lucca-front-ng-priority-levels.mjs +0 -128
- package/fesm2022/lucca-front-ng-priority-levels.mjs.map +0 -1
|
@@ -43,10 +43,10 @@ class LuTitleService {
|
|
|
43
43
|
overrideFirstTitlePart(title) {
|
|
44
44
|
this.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);
|
|
45
45
|
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
47
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1
|
|
46
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService, deps: [{ token: i1.Router }, { token: i2.Title }, { token: LU_TITLE_TRANSLATE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService, decorators: [{
|
|
50
50
|
type: Injectable
|
|
51
51
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.Title }, { type: undefined, decorators: [{
|
|
52
52
|
type: Inject,
|
|
@@ -67,11 +67,11 @@ function uniqTitle$1(titleParts) {
|
|
|
67
67
|
* @deprecated use title streatgy instead
|
|
68
68
|
*/
|
|
69
69
|
class LuTitleModule {
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
71
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1
|
|
72
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
71
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, imports: [RouterModule] }); }
|
|
72
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, providers: [LuTitleService], imports: [RouterModule] }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, decorators: [{
|
|
75
75
|
type: NgModule,
|
|
76
76
|
args: [{
|
|
77
77
|
imports: [RouterModule],
|
|
@@ -151,10 +151,10 @@ class LuTitleStrategy extends TitleStrategy {
|
|
|
151
151
|
}
|
|
152
152
|
return `${appTitle}${TitleSeparator}${Lucca}`;
|
|
153
153
|
}
|
|
154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
155
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1
|
|
154
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
155
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, providedIn: 'root' }); }
|
|
156
156
|
}
|
|
157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
157
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, decorators: [{
|
|
158
158
|
type: Injectable,
|
|
159
159
|
args: [{ providedIn: 'root' }]
|
|
160
160
|
}], ctorParameters: () => [] });
|
|
@@ -31,10 +31,10 @@ class LuToastsService {
|
|
|
31
31
|
const randomString = Math.random().toString(36).substring(2, 9);
|
|
32
32
|
return `_${randomString}`;
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
35
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, providedIn: 'root' }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, decorators: [{
|
|
38
38
|
type: Injectable,
|
|
39
39
|
args: [{ providedIn: 'root' }]
|
|
40
40
|
}] });
|
|
@@ -114,10 +114,10 @@ class LuToastsComponent {
|
|
|
114
114
|
isOnlyDismissibleManually(toast) {
|
|
115
115
|
return this.#toastsService.isOnlyDismissibleManually(toast);
|
|
116
116
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom()\">\n\t@for (toast of toasts$ | async; track toast.id) {\n\t\t<div class=\"toasts-item\" [class]=\"toast.type ? paletteClassByToastType[toast.type] : null\">\n\t\t\t@if (toast.type) {\n\t\t\t\t<span class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t\t}\n\t\t\t<div class=\"toast-item-content\">\n\t\t\t\t@if (toast.title) {\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? removeToast(toast) : null\"\n\t\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? toast.duration + 'ms' : null\"\n\t\t\t>\n\t\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.toasts{--components-toasts-color: var(--pr-t-color-text-reverse);--components-toasts-top: var(--pr-t-spacings-300);--components-toasts-right: calc(var(--pr-t-spacings-300) + var(--commons-pushPanel-inlineSize));--components-toasts-left: var(--pr-t-spacings-300);--components-toasts-bottom: var(--pr-t-spacings-300);--components-toasts-margin-bottom: var(--pr-t-spacings-50);--components-toasts-maxwidth: min(22.5rem, calc(100dvi - (var(--components-toasts-right) * 2)));--components-toasts-inset: var(--components-toasts-top) var(--components-toasts-right) auto auto;--components-toasts-footerHeight: 4.5rem;--components-toasts-background: var(--palettes-neutral-800);--components-toasts-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);max-inline-size:var(--components-toasts-maxwidth);display:flex;flex-direction:column;align-items:flex-end;position:fixed;z-index:9999;inset:var(--components-toasts-inset)}html:has(.main-content .footer.mod-sticky,.dialog.mod-drawer .dialog-inside-footer) .toasts{--components-toasts-bottom: calc(var(--components-toasts-footerHeight) + var(--pr-t-spacings-300))}.toasts-item{display:flex;gap:var(--pr-t-spacings-50);color:var(--components-toasts-color);padding:var(--pr-t-spacings-50);margin-block-end:var(--components-toasts-margin-bottom);background-color:var(--palettes-neutral-800);animation-name:toastsItem;animation-duration:var(--commons-animations-durations-standard);animation-iteration-count:1;border-radius:var(--pr-t-border-radius-structure);overflow:hidden;position:relative;transform-origin:top}@keyframes toastsItem{0%{transform:translateY(var(--pr-t-spacings-200));opacity:0}to{opacity:1}}.toasts-item:hover .toasts-item-kill,.toasts-item:focus-within .toasts-item-kill{animation-play-state:paused}.toast-item-icon{background:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-default);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-50)}.toast-item-content{display:flex;flex-grow:1;flex-direction:column;gap:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-100) 0}.toast-item-content-description{margin:0;overflow-wrap:anywhere}.toasts-item-kill.button,.toasts-item-kill:not(.button){align-self:flex-start;border-radius:var(--pr-t-border-radius-default);animation-name:timer;--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.toasts-item-kill.button:disabled,.toasts-item-kill:not(.button):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.toasts-item-kill.button,.toasts-item-kill:not(.button){--components-button-color: var(--palettes-neutral-0)}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-neutral-700)}@keyframes timer{}}@layer mods{.toasts.mod-bottom{--components-toasts-inset: auto var(--components-toasts-right) var(--components-toasts-bottom) auto}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom()\">\n\t@for (toast of toasts$ | async; track toast.id) {\n\t\t<div class=\"toasts-item\" [class]=\"toast.type ? paletteClassByToastType[toast.type] : null\">\n\t\t\t@if (toast.type) {\n\t\t\t\t<span class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t\t}\n\t\t\t<div class=\"toast-item-content\">\n\t\t\t\t@if (toast.title) {\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? removeToast(toast) : null\"\n\t\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? toast.duration + 'ms' : null\"\n\t\t\t>\n\t\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.toasts{--components-toasts-color: var(--pr-t-color-text-reverse);--components-toasts-top: var(--pr-t-spacings-300);--components-toasts-right: calc(var(--pr-t-spacings-300) + var(--commons-pushPanel-inlineSize));--components-toasts-left: var(--pr-t-spacings-300);--components-toasts-bottom: var(--pr-t-spacings-300);--components-toasts-margin-bottom: var(--pr-t-spacings-50);--components-toasts-maxwidth: min(22.5rem, calc(100dvi - (var(--components-toasts-right) * 2)));--components-toasts-inset: var(--components-toasts-top) var(--components-toasts-right) auto auto;--components-toasts-footerHeight: 4.5rem;--components-toasts-background: var(--palettes-neutral-800);--components-toasts-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);max-inline-size:var(--components-toasts-maxwidth);display:flex;flex-direction:column;align-items:flex-end;position:fixed;z-index:9999;inset:var(--components-toasts-inset)}html:has(.main-content .footer.mod-sticky,.dialog.mod-drawer .dialog-inside-footer) .toasts{--components-toasts-bottom: calc(var(--components-toasts-footerHeight) + var(--pr-t-spacings-300))}.toasts-item{display:flex;gap:var(--pr-t-spacings-50);color:var(--components-toasts-color);padding:var(--pr-t-spacings-50);margin-block-end:var(--components-toasts-margin-bottom);background-color:var(--palettes-neutral-800);animation-name:toastsItem;animation-duration:var(--commons-animations-durations-standard);animation-iteration-count:1;border-radius:var(--pr-t-border-radius-structure);overflow:hidden;position:relative;transform-origin:top}@keyframes toastsItem{0%{transform:translateY(var(--pr-t-spacings-200));opacity:0}to{opacity:1}}.toasts-item:hover .toasts-item-kill,.toasts-item:focus-within .toasts-item-kill{animation-play-state:paused}.toast-item-icon{background:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-default);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-50)}.toast-item-content{display:flex;flex-grow:1;flex-direction:column;gap:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-100) 0}.toast-item-content-description{margin:0;overflow-wrap:anywhere}.toasts-item-kill.button,.toasts-item-kill:not(.button){align-self:flex-start;border-radius:var(--pr-t-border-radius-default);animation-name:timer;--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.toasts-item-kill.button:disabled,.toasts-item-kill:not(.button):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.toasts-item-kill.button,.toasts-item-kill:not(.button){--components-button-color: var(--palettes-neutral-0)}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-neutral-700)}@keyframes timer{}}@layer mods{.toasts.mod-bottom{--components-toasts-inset: auto var(--components-toasts-right) var(--components-toasts-bottom) auto}}\n"] }]
|
|
123
123
|
}], ctorParameters: () => [], propDecorators: { bottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottom", required: false }] }], sources: [{ type: i0.Input, args: [{ isSignal: true, alias: "sources", required: false }] }], intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
|
|
@@ -126,11 +126,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
126
126
|
* @deprecated use `LuToastsComponent` instead
|
|
127
127
|
*/
|
|
128
128
|
class LuToastsModule {
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
130
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1
|
|
131
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
130
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, imports: [LuToastsComponent], exports: [LuToastsComponent] }); }
|
|
131
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule }); }
|
|
132
132
|
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, decorators: [{
|
|
134
134
|
type: NgModule,
|
|
135
135
|
args: [{
|
|
136
136
|
imports: [LuToastsComponent],
|
|
@@ -72,10 +72,10 @@ class TreeSelectDirective {
|
|
|
72
72
|
}
|
|
73
73
|
return res;
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
76
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: TreeSelectDirective, isStandalone: true, selector: "lu-simple-select[treeSelect],lu-multi-select[treeSelect]", inputs: { groupingFnInput: { classPropertyName: "groupingFnInput", publicName: "treeSelect", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeSelectDirective, decorators: [{
|
|
79
79
|
type: Directive,
|
|
80
80
|
args: [{
|
|
81
81
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
@@ -149,12 +149,12 @@ class TreeBranchComponent {
|
|
|
149
149
|
}
|
|
150
150
|
return result;
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeBranchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: TreeBranchComponent, isStandalone: true, selector: "lu-tree-branch", inputs: { branch: { classPropertyName: "branch", publicName: "branch", isSignal: true, isRequired: true, transformFunction: null }, optionTpl: { classPropertyName: "optionTpl", publicName: "optionTpl", isSignal: true, isRequired: true, transformFunction: null }, optionIndex: { classPropertyName: "optionIndex", publicName: "optionIndex", isSignal: true, isRequired: true, transformFunction: null }, optionComparer: { classPropertyName: "optionComparer", publicName: "optionComparer", isSignal: true, isRequired: true, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null }, simpleMode: { classPropertyName: "simpleMode", publicName: "simpleMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleOne: "toggleOne", selectMany: "selectMany", unselectMany: "unselectMany" }, viewQueries: [{ propertyName: "rootOptionRef", first: true, predicate: ["rootOption"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["intl", "optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }, { kind: "directive", type: Treeitem, selector: "[treeitem]" }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeBranchComponent, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
|
-
args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent, Treeitem], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"] }]
|
|
157
|
+
args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent, Treeitem], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"] }]
|
|
158
158
|
}], ctorParameters: () => [], propDecorators: { rootOptionRef: [{ type: i0.ViewChild, args: ['rootOption', { isSignal: true }] }], branch: [{ type: i0.Input, args: [{ isSignal: true, alias: "branch", required: true }] }], optionTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTpl", required: true }] }], optionIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionIndex", required: true }] }], optionComparer: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionComparer", required: true }] }], selectedOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptions", required: false }] }], toggleOne: [{ type: i0.Output, args: ["toggleOne"] }], selectMany: [{ type: i0.Output, args: ["selectMany"] }], unselectMany: [{ type: i0.Output, args: ["unselectMany"] }], simpleMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "simpleMode", required: false }] }] } });
|
|
159
159
|
|
|
160
160
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\treadonly groupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\treadonly groupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\t// Items we are allowed to nest under, so a parent that is missing from `items` can be told\n\t\t// apart from one we simply haven't reached yet. Also deduplicates `items`.\n\t\tconst knownItems = new Set(items);\n\t\tconst getParent = (item: T): T | null => {\n\t\t\tif (!parentCache.has(item)) {\n\t\t\t\tparentCache.set(item, this.groupingFn()(item, items));\n\t\t\t}\n\t\t\treturn parentCache.get(item) ?? null;\n\t\t};\n\t\tconst createNode = (item: T): TreeNode<T> => {\n\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\tnode: item,\n\t\t\t\tchildren: [],\n\t\t\t};\n\t\t\titemToNode.set(item, itemNode);\n\t\t\treturn itemNode;\n\t\t};\n\t\tconst addRoot = (item: T): void => {\n\t\t\tres.push(createNode(item));\n\t\t};\n\t\t// Items whose parent node doesn't exist in the resultset yet\n\t\tlet pending = [...knownItems];\n\t\t// While we haven't handled all the items\n\t\twhile (pending.length) {\n\t\t\tconst stillPending: T[] = [];\n\t\t\tfor (const item of pending) {\n\t\t\t\tconst parent = getParent(item);\n\t\t\t\t// Parent null or undefined means it's a root element, and so is an item whose parent\n\t\t\t\t// isn't part of `items`: filtered out by a search, it will never show up to nest under.\n\t\t\t\tif (!parent || !knownItems.has(parent)) {\n\t\t\t\t\taddRoot(item);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parentNode = itemToNode.get(parent);\n\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\tif (parentNode) {\n\t\t\t\t\tparentNode.children?.push(createNode(item));\n\t\t\t\t} else {\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t\tstillPending.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// A whole pass without progress means the remaining items form a parent cycle: they can\n\t\t\t// never be nested, so display them as roots rather than looping forever.\n\t\t\tif (stillPending.length === pending.length) {\n\t\t\t\tstillPending.forEach(addRoot);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpending = stillPending;\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { Treeitem } from '@lucca-front/ng/listbox';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent, Treeitem],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\treadonly selectInputComponent = inject(ALuSelectInputComponent);\n\n\treadonly rootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\treadonly branch = input.required<TreeNode<T>>();\n\n\treadonly optionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\treadonly optionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\treadonly optionComparer = input.required<LuOptionComparer<T>>();\n\n\treadonly selectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\treadonly simpleMode = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>, event?: Event): void {\n\t\t// Options are nested inside their parent's host, so a click bubbles up to every ancestor\n\t\t// branch. Stop it here so clicking a child never toggles its parent.\n\t\tevent?.stopPropagation();\n\t\tif (this.simpleMode() || !branchData.children?.length) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children?.length) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\treadonly groupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\treadonly groupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\t// Items we are allowed to nest under, so a parent that is missing from `items` can be told\n\t\t// apart from one we simply haven't reached yet. Also deduplicates `items`.\n\t\tconst knownItems = new Set(items);\n\t\tconst getParent = (item: T): T | null => {\n\t\t\tif (!parentCache.has(item)) {\n\t\t\t\tparentCache.set(item, this.groupingFn()(item, items));\n\t\t\t}\n\t\t\treturn parentCache.get(item) ?? null;\n\t\t};\n\t\tconst createNode = (item: T): TreeNode<T> => {\n\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\tnode: item,\n\t\t\t\tchildren: [],\n\t\t\t};\n\t\t\titemToNode.set(item, itemNode);\n\t\t\treturn itemNode;\n\t\t};\n\t\tconst addRoot = (item: T): void => {\n\t\t\tres.push(createNode(item));\n\t\t};\n\t\t// Items whose parent node doesn't exist in the resultset yet\n\t\tlet pending = [...knownItems];\n\t\t// While we haven't handled all the items\n\t\twhile (pending.length) {\n\t\t\tconst stillPending: T[] = [];\n\t\t\tfor (const item of pending) {\n\t\t\t\tconst parent = getParent(item);\n\t\t\t\t// Parent null or undefined means it's a root element, and so is an item whose parent\n\t\t\t\t// isn't part of `items`: filtered out by a search, it will never show up to nest under.\n\t\t\t\tif (!parent || !knownItems.has(parent)) {\n\t\t\t\t\taddRoot(item);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parentNode = itemToNode.get(parent);\n\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\tif (parentNode) {\n\t\t\t\t\tparentNode.children?.push(createNode(item));\n\t\t\t\t} else {\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t\tstillPending.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// A whole pass without progress means the remaining items form a parent cycle: they can\n\t\t\t// never be nested, so display them as roots rather than looping forever.\n\t\t\tif (stillPending.length === pending.length) {\n\t\t\t\tstillPending.forEach(addRoot);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpending = stillPending;\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { Treeitem } from '@lucca-front/ng/listbox';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent, Treeitem],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\treadonly selectInputComponent = inject(ALuSelectInputComponent);\n\n\treadonly rootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\treadonly branch = input.required<TreeNode<T>>();\n\n\treadonly optionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\treadonly optionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\treadonly optionComparer = input.required<LuOptionComparer<T>>();\n\n\treadonly selectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\treadonly simpleMode = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>, event?: Event): void {\n\t\t// Options are nested inside their parent's host, so a click bubbles up to every ancestor\n\t\t// branch. Stop it here so clicking a child never toggles its parent.\n\t\tevent?.stopPropagation();\n\t\tif (this.simpleMode() || !branchData.children?.length) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children?.length) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":";;;;;;;MAOa,mBAAmB,CAAA;AAC/B,IAAA,OAAO;AAMP,IAAA,WAAA,GAAA;AANA,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAgC,uBAAuB,CAAC;QAE/D,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,sFAAsB,KAAK,EAAE,YAAY,EAAA,CAAG;QAE5E,IAAA,CAAA,UAAU,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE;uFAAC;AAG/D,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;IAClC;AAEA,IAAA,aAAa,CAAC,KAAU,EAAA;QACvB,MAAM,GAAG,GAAkB,EAAE;;AAE7B,QAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB;AAC5C,QAAA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe;;;AAG1C,QAAA,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC;AACjC,QAAA,MAAM,SAAS,GAAG,CAAC,IAAO,KAAc;YACvC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC3B,gBAAA,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD;YACA,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;AACrC,QAAA,CAAC;AACD,QAAA,MAAM,UAAU,GAAG,CAAC,IAAO,KAAiB;AAC3C,YAAA,MAAM,QAAQ,GAAgB;AAC7B,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,QAAQ,EAAE,EAAE;aACZ;AACD,YAAA,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC9B,YAAA,OAAO,QAAQ;AAChB,QAAA,CAAC;AACD,QAAA,MAAM,OAAO,GAAG,CAAC,IAAO,KAAU;YACjC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC3B,QAAA,CAAC;;AAED,QAAA,IAAI,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC;;AAE7B,QAAA,OAAO,OAAO,CAAC,MAAM,EAAE;YACtB,MAAM,YAAY,GAAQ,EAAE;AAC5B,YAAA,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;AAC3B,gBAAA,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC;;;gBAG9B,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBACvC,OAAO,CAAC,IAAI,CAAC;oBACb;gBACD;gBACA,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;;gBAEzC,IAAI,UAAU,EAAE;oBACf,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5C;qBAAO;;AAEN,oBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxB;YACD;;;YAGA,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;AAC3C,gBAAA,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7B;YACD;YACA,OAAO,GAAG,YAAY;QACvB;AACA,QAAA,OAAO,GAAG;IACX;8GAnEY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,0DAA0D;AACpE,iBAAA;;;MCQY,mBAAmB,CAAA;AAuB/B,IAAA,WAAA,GAAA;AAtBS,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAEtD,IAAA,CAAA,aAAa,GAAG,SAAS,CAA6B,YAAY;0FAAC;QAEnE,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ;mFAAe;QAEtC,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ;sFAA+D;AAEzF,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,aAAA,EAAA,8BAAA,EAAA,CAAA,EAAG,SAAS,EAAE,CAAC,KAAsB,KAAK,CAAA,EAAG,KAAK,CAAA,CAAE,GAAG;QAEnF,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,QAAQ;2FAAuB;QAEtD,IAAA,CAAA,eAAe,GAAG,KAAK,CAAM,EAAE;4FAAC;QAEzC,IAAA,CAAA,SAAS,GAAG,MAAM,EAAK;QAEvB,IAAA,CAAA,UAAU,GAAG,MAAM,EAAO;QAE1B,IAAA,CAAA,YAAY,GAAG,MAAM,EAAO;QAEnB,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;AAGpE,QAAA,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE;AAC9C,YAAA,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;gBACpF,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,EAAE;oBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC;AACD,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;gBAClF,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,EAAE;AAC1C,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;gBACxC;AACD,YAAA,CAAC,CAAC;QACH;IACD;IAEA,MAAM,CAAC,UAAuB,EAAE,KAAa,EAAA;;;QAG5C,KAAK,EAAE,eAAe,EAAE;AACxB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE;YACtD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACrC;aAAO;YACN,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;AAChD,YAAA,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACvH,YAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B;iBAAO;AACN,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;YACpC;QACD;IACD;AAEA,IAAA,kBAAkB,CAAC,UAAuB,EAAA;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;AACtD,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACvH,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B;aAAO;AACN,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;QACpC;IACD;AAEA,IAAA,WAAW,CAAC,MAAmB,EAAE,WAAW,GAAG,KAAK,EAAA;AACnD,QAAA,MAAM,MAAM,GAAQ,WAAW,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;AACpD,QAAA,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E;AACA,QAAA,OAAO,MAAM;IACd;8GAvEY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECdhC,8sCAgCA,EAAA,MAAA,EAAA,CAAA,8RAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBa,mBAAmB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EANrBA,uBAAuB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAA0BC,kBAAkB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAApD,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAM7C,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAR/B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAACD,uBAAuB,EAAE,sBAAsB,EAAEC,kBAAkB,EAAE,QAAQ,CAAC,iBAGzE,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8sCAAA,EAAA,MAAA,EAAA,CAAA,8RAAA,CAAA,EAAA;qGAKgB,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjB5E;;AAEG;;"}
|
|
@@ -7,6 +7,7 @@ import { IconComponent } from '@lucca-front/ng/icon';
|
|
|
7
7
|
import { LinkComponent } from '@lucca-front/ng/link';
|
|
8
8
|
import { POPOVER_CONFIG, PopoverDirective } from '@lucca-front/ng/popover2';
|
|
9
9
|
import { SkeletonUserPopoverComponent } from '@lucca-front/ng/skeleton';
|
|
10
|
+
import { ɵinjectRandomPercent as _injectRandomPercent } from '@lucca/prisme/core';
|
|
10
11
|
import { Observable, BehaviorSubject, switchMap, catchError, of, tap, combineLatest } from 'rxjs';
|
|
11
12
|
import { shareReplay, map } from 'rxjs/operators';
|
|
12
13
|
import { HttpClient } from '@angular/common/http';
|
|
@@ -164,10 +165,10 @@ class LuUserPopoverStore {
|
|
|
164
165
|
this.#cache.clear();
|
|
165
166
|
}
|
|
166
167
|
}
|
|
167
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
168
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1
|
|
168
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
169
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, providedIn: 'root' }); }
|
|
169
170
|
}
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, decorators: [{
|
|
171
172
|
type: Injectable,
|
|
172
173
|
args: [{
|
|
173
174
|
providedIn: 'root',
|
|
@@ -209,10 +210,10 @@ class IsFuturePipe {
|
|
|
209
210
|
transform(value) {
|
|
210
211
|
return !!value && isFuture(value);
|
|
211
212
|
}
|
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
213
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1
|
|
213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
214
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, isStandalone: true, name: "isFuture" }); }
|
|
214
215
|
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, decorators: [{
|
|
216
217
|
type: Pipe,
|
|
217
218
|
args: [{
|
|
218
219
|
name: 'isFuture',
|
|
@@ -222,10 +223,10 @@ class IsFutureOrTodayPipe {
|
|
|
222
223
|
transform(value) {
|
|
223
224
|
return !value || isFuture(value) || isToday(value);
|
|
224
225
|
}
|
|
225
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
226
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1
|
|
226
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
227
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, isStandalone: true, name: "isFutureOrToday" }); }
|
|
227
228
|
}
|
|
228
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, decorators: [{
|
|
229
230
|
type: Pipe,
|
|
230
231
|
args: [{
|
|
231
232
|
name: 'isFutureOrToday',
|
|
@@ -259,10 +260,10 @@ class LeaveEndsDisplayPipe {
|
|
|
259
260
|
return this.intl.EMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));
|
|
260
261
|
}
|
|
261
262
|
}
|
|
262
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
263
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1
|
|
263
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
264
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, isStandalone: true, name: "leaveEndsDisplay" }); }
|
|
264
265
|
}
|
|
265
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
266
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, decorators: [{
|
|
266
267
|
type: Pipe,
|
|
267
268
|
args: [{
|
|
268
269
|
name: 'leaveEndsDisplay',
|
|
@@ -277,7 +278,8 @@ class LuUserPopoverComponent {
|
|
|
277
278
|
this.intl = input(...intlInputOptions(LU_POPUP_EMPLOYEE_TRANSLATIONS), /* @ts-ignore */
|
|
278
279
|
...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
|
|
279
280
|
this.#errorImage$ = new BehaviorSubject(false);
|
|
280
|
-
this
|
|
281
|
+
this.#randomPercent = _injectRandomPercent(33, 66);
|
|
282
|
+
this.skeletonWidths = [this.#randomPercent(), this.#randomPercent(), this.#randomPercent(), this.#randomPercent()];
|
|
281
283
|
this.employee$ = toObservable(this.luUser).pipe(switchMap((user) => this.#service.get(user.id).pipe(catchError(() => of({
|
|
282
284
|
id: user.id,
|
|
283
285
|
firstName: user.firstName,
|
|
@@ -304,16 +306,14 @@ class LuUserPopoverComponent {
|
|
|
304
306
|
#popoverRef;
|
|
305
307
|
#service;
|
|
306
308
|
#errorImage$;
|
|
309
|
+
#randomPercent;
|
|
307
310
|
pictureError() {
|
|
308
311
|
this.#errorImage$.next(true);
|
|
309
312
|
}
|
|
310
|
-
|
|
311
|
-
return `${Math.floor(Math.random() * (max - min) + min).toString()}%`;
|
|
312
|
-
}
|
|
313
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: LinkComponent, selector: "a[luLink], button[luLink]", inputs: ["intl", "href", "luLink", "disabled", "decorationHover", "external", "hiddenIcon", "neutral"] }, { kind: "component", type: SkeletonUserPopoverComponent, selector: "lu-skeleton-user-popover" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IsFuturePipe, name: "isFuture" }, { kind: "pipe", type: IsFutureOrTodayPipe, name: "isFutureOrToday" }, { kind: "pipe", type: LeaveEndsDisplayPipe, name: "leaveEndsDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: LinkComponent, selector: "a[luLink], button[luLink]", inputs: ["intl", "href", "luLink", "disabled", "decorationHover", "external", "hiddenIcon", "neutral"] }, { kind: "component", type: SkeletonUserPopoverComponent, selector: "lu-skeleton-user-popover" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IsFuturePipe, name: "isFuture" }, { kind: "pipe", type: IsFutureOrTodayPipe, name: "isFutureOrToday" }, { kind: "pipe", type: LeaveEndsDisplayPipe, name: "leaveEndsDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
315
315
|
}
|
|
316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
316
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverComponent, decorators: [{
|
|
317
317
|
type: Component,
|
|
318
318
|
args: [{ selector: 'lu-user-popover-content', imports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent, LinkComponent, SkeletonUserPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"] }]
|
|
319
319
|
}], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
|
|
@@ -336,10 +336,10 @@ class LuUserPopoverDirective extends PopoverDirective {
|
|
|
336
336
|
this.luPopoverNoCloseButton.set(true);
|
|
337
337
|
this.content.set(LuUserPopoverComponent);
|
|
338
338
|
}
|
|
339
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1
|
|
340
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1
|
|
339
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
340
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: LuUserPopoverDirective, isStandalone: true, selector: "[luUserPopover]", inputs: { luUserPopover: { classPropertyName: "luUserPopover", publicName: "luUserPopover", isSignal: true, isRequired: true, transformFunction: null }, luUserPopoverDisabled: { classPropertyName: "luUserPopoverDisabled", publicName: "luUserPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-expanded": "opened()" } }, exportAs: ["LuUserPopoverDirective"], usesInheritance: true, ngImport: i0 }); }
|
|
341
341
|
}
|
|
342
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1
|
|
342
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverDirective, decorators: [{
|
|
343
343
|
type: Directive,
|
|
344
344
|
args: [{
|
|
345
345
|
selector: '[luUserPopover]',
|