@lucca-front/ng 20.3.3-rc.6 → 21.0.0-rc.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/api/index.d.ts +18 -0
- package/breadcrumbs/index.d.ts +1 -3
- package/callout/index.d.ts +8 -2
- package/chip/index.d.ts +3 -2
- package/clear/index.d.ts +30 -0
- package/code/index.d.ts +9 -0
- package/container/index.d.ts +2 -2
- package/core/index.d.ts +6 -6
- package/core-select/department/index.d.ts +1 -1
- package/core-select/index.d.ts +2 -1
- package/core-select/occupation-category/index.d.ts +26 -0
- package/data-table/index.d.ts +68 -30
- package/date/index.d.ts +18 -0
- package/date2/index.d.ts +15 -15
- package/department/index.d.ts +10 -1
- package/divider/index.d.ts +7 -4
- package/dropdown/index.d.ts +6 -3
- package/establishment/index.d.ts +15 -0
- package/fancy-box/index.d.ts +2 -1
- package/fesm2022/lucca-front-ng-a11y.mjs +32 -32
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-api.mjs +76 -59
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-app-layout.mjs +8 -8
- package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +8 -8
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +18 -30
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-button.mjs +12 -7
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +117 -64
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +29 -25
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +94 -0
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-code.mjs +21 -0
- package/fesm2022/lucca-front-ng-code.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-comment.mjs +31 -31
- package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-container.mjs +18 -18
- package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +14 -16
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs +16 -18
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +18 -19
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +12 -13
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +79 -0
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select-user.mjs +60 -62
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +103 -113
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +48 -49
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +266 -87
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +113 -97
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +134 -136
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +56 -47
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +53 -56
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +13 -15
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +225 -224
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +13 -9
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +85 -71
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -6
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +112 -112
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +78 -81
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-footer.mjs +12 -19
- package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +88 -88
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-header.mjs +23 -0
- package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-form.mjs +24 -0
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-formly.mjs +77 -77
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +19 -20
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +3 -2
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +206 -150
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +185 -171
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-gauge.mjs +26 -26
- package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-grid.mjs +26 -26
- package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +20 -20
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +17 -32
- package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +6 -6
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +355 -0
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-inline-message.mjs +4 -4
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +67 -57
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +24 -23
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +31 -31
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listing.mjs +28 -24
- package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-loading.mjs +11 -11
- package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-main-layout.mjs +14 -14
- package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +39 -31
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +57 -62
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +247 -230
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
- package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +11 -13
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number.mjs +11 -10
- package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +22 -10
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +287 -240
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +11 -11
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +38 -38
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +54 -5
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +38 -28
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +36 -33
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popup.mjs +13 -10
- package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-bar.mjs +28 -0
- package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-read-more.mjs +46 -78
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +10 -11
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +46 -0
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-scroll.mjs +10 -8
- package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scrollBox.mjs +1 -66
- package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +98 -0
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-segmented-control.mjs +71 -0
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-segmentedControl.mjs +1 -66
- package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +1 -93
- package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +21 -20
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +75 -67
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +46 -44
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sortable-list.mjs +49 -0
- package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-status-badge.mjs +34 -0
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-statusBadge.mjs +1 -29
- package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-table-of-content.mjs +39 -0
- package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-tag.mjs +35 -13
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +132 -142
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-title.mjs +10 -10
- package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-toast.mjs +26 -23
- package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +40 -32
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tree-select.mjs +20 -21
- package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +23 -27
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +134 -111
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs +91 -0
- package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -0
- package/file-upload/index.d.ts +25 -25
- package/footer/index.d.ts +7 -7
- package/form/index.d.ts +9 -0
- package/form-field/index.d.ts +33 -32
- package/form-header/index.d.ts +9 -0
- package/forms/index.d.ts +39 -37
- package/forms/rich-text-input/index.d.ts +4 -1
- package/gauge/index.d.ts +17 -17
- package/grid/index.d.ts +14 -14
- package/horizontal-navigation/index.d.ts +5 -8
- package/index-table/index.d.ts +103 -0
- package/input/index.d.ts +27 -15
- package/link/index.d.ts +3 -4
- package/listbox/index.d.ts +20 -20
- package/listing/index.d.ts +13 -9
- package/loading/index.d.ts +4 -4
- package/main-layout/index.d.ts +3 -3
- package/modal/index.d.ts +3 -2
- package/multi-select/index.d.ts +13 -3
- package/number/index.d.ts +3 -0
- package/option/index.d.ts +58 -4
- package/package.json +125 -69
- package/page-header/index.d.ts +5 -5
- package/plg-push/index.d.ts +13 -1
- package/popover/index.d.ts +12 -0
- package/popup/index.d.ts +3 -0
- package/progress-bar/index.d.ts +14 -0
- package/read-more/index.d.ts +6 -12
- package/scroll/index.d.ts +3 -0
- package/scroll-box/index.d.ts +15 -0
- package/scrollBox/index.d.ts +1 -19
- package/segmented-control/index.d.ts +28 -0
- package/segmented-control-tabs/index.d.ts +34 -0
- package/segmentedControl/index.d.ts +1 -28
- package/segmentedControlTabs/index.d.ts +1 -34
- package/select/index.d.ts +5 -4
- package/simple-select/index.d.ts +1 -0
- package/skeleton/index.d.ts +2 -1
- package/sortable-list/index.d.ts +22 -0
- package/src/components/cdk/_dragDrop.scss +31 -3
- package/src/definitions/option/_option-item.scss +6 -0
- package/status-badge/index.d.ts +16 -0
- package/statusBadge/index.d.ts +1 -16
- package/table-of-content/index.d.ts +16 -0
- package/time/index.d.ts +30 -30
- package/toast/index.d.ts +3 -0
- package/tooltip/index.d.ts +9 -0
- package/user/index.d.ts +20 -3
- package/vertical-navigation/index.d.ts +42 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, input, linkedSignal, Directive, viewChild, output, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
-
import { ALuSelectInputComponent, ɵCoreSelectPanelElement as _CoreSelectPanelElement, ɵLuOptionComponent as _LuOptionComponent
|
|
3
|
+
import { ALuSelectInputComponent, ɵCoreSelectPanelElement as _CoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent as _LuOptionComponent } from '@lucca-front/ng/core-select';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
|
|
6
6
|
class TreeSelectDirective {
|
|
7
7
|
#select;
|
|
8
8
|
constructor() {
|
|
9
9
|
this.#select = inject(ALuSelectInputComponent);
|
|
10
|
-
this.groupingFnInput = input.required(
|
|
11
|
-
this.groupingFn = linkedSignal(() => this.groupingFnInput()
|
|
10
|
+
this.groupingFnInput = input.required({ alias: 'treeSelect' });
|
|
11
|
+
this.groupingFn = linkedSignal(() => this.groupingFnInput());
|
|
12
12
|
this.#select.treeGenerator = this;
|
|
13
13
|
}
|
|
14
14
|
generateTrees(items) {
|
|
@@ -55,32 +55,31 @@ class TreeSelectDirective {
|
|
|
55
55
|
}
|
|
56
56
|
return res;
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", 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 }); }
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeSelectDirective, decorators: [{
|
|
62
62
|
type: Directive,
|
|
63
63
|
args: [{
|
|
64
64
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
65
65
|
selector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',
|
|
66
|
-
standalone: true,
|
|
67
66
|
}]
|
|
68
|
-
}], ctorParameters: () => []
|
|
67
|
+
}], ctorParameters: () => [] });
|
|
69
68
|
|
|
70
69
|
class TreeBranchComponent {
|
|
71
70
|
constructor() {
|
|
72
71
|
this.selectInputComponent = inject(ALuSelectInputComponent);
|
|
73
|
-
this.rootOptionRef = viewChild('rootOption'
|
|
74
|
-
this.branch = input.required(
|
|
75
|
-
this.optionTpl = input.required(
|
|
76
|
-
this.optionIndex = input.required(
|
|
77
|
-
this.optionComparer = input.required(
|
|
78
|
-
this.selectedOptions = input([]
|
|
72
|
+
this.rootOptionRef = viewChild('rootOption');
|
|
73
|
+
this.branch = input.required();
|
|
74
|
+
this.optionTpl = input.required();
|
|
75
|
+
this.optionIndex = input.required({ transform: (value) => `${value}` });
|
|
76
|
+
this.optionComparer = input.required();
|
|
77
|
+
this.selectedOptions = input([]);
|
|
79
78
|
this.toggleOne = output();
|
|
80
79
|
this.selectMany = output();
|
|
81
80
|
this.unselectMany = output();
|
|
82
|
-
this.simpleMode = input(false,
|
|
83
|
-
this.depth = input(1
|
|
81
|
+
this.simpleMode = input(false, { transform: booleanAttribute });
|
|
82
|
+
this.depth = input(1);
|
|
84
83
|
if (this.selectInputComponent.selectChildren$) {
|
|
85
84
|
this.selectInputComponent.selectChildren$.pipe(takeUntilDestroyed()).subscribe(() => {
|
|
86
85
|
if (this.rootOptionRef().isHighlighted()) {
|
|
@@ -126,13 +125,13 @@ class TreeBranchComponent {
|
|
|
126
125
|
}
|
|
127
126
|
return result;
|
|
128
127
|
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeBranchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", 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 }, depth: { classPropertyName: "depth", publicName: "depth", 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[style.--components-treeBranch-level]=\"depth()\"\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())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer mods{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode", "depth"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
131
130
|
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeBranchComponent, decorators: [{
|
|
133
132
|
type: Component,
|
|
134
|
-
args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[style.--components-treeBranch-level]=\"depth()\"\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())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer mods{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple
|
|
135
|
-
}], ctorParameters: () => []
|
|
133
|
+
args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[style.--components-treeBranch-level]=\"depth()\"\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())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer mods{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"] }]
|
|
134
|
+
}], ctorParameters: () => [] });
|
|
136
135
|
|
|
137
136
|
/**
|
|
138
137
|
* Generated bundle index. Do not edit.
|
|
@@ -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\tstandalone: true,\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\tgroupingFn = 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\tconst handled: T[] = [];\n\t\t// While we haven't handled all the items\n\t\twhile (items.length > handled.length) {\n\t\t\tfor (const item of items) {\n\t\t\t\tif (itemToNode.has(item)) {\n\t\t\t\t\t// item already in resultset\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tlet parent: T | null;\n\t\t\t\tif (parentCache.has(item)) {\n\t\t\t\t\tparent = parentCache.get(item);\n\t\t\t\t} else {\n\t\t\t\t\tparent = this.groupingFn()(item, items);\n\t\t\t\t\tparentCache.set(item, parent);\n\t\t\t\t}\n\t\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\t\tnode: item,\n\t\t\t\t\tchildren: [],\n\t\t\t\t};\n\t\t\t\t// Parent null or undefined means it's a root element\n\t\t\t\tif (!parent) {\n\t\t\t\t\tres.push(itemNode);\n\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\thandled.push(item);\n\t\t\t\t} else {\n\t\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\t\tif (itemToNode.has(parent)) {\n\t\t\t\t\t\titemToNode.get(parent).children.push(itemNode);\n\t\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\t\thandled.push(item);\n\t\t\t\t\t}\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent],\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\tselectInputComponent = inject(ALuSelectInputComponent);\n\n\trootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\tbranch = input.required<TreeNode<T>>();\n\n\toptionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\toptionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\toptionComparer = input.required<LuOptionComparer<T>>();\n\n\tselectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\tsimpleMode = input(false, { transform: booleanAttribute });\n\n\tdepth = input(1);\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>): void {\n\t\tif (this.simpleMode() || branchData.children.length === 0) {\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 > 0) {\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[style.--components-treeBranch-level]=\"depth()\"\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())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\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\tgroupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\tgroupingFn = 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\tconst handled: T[] = [];\n\t\t// While we haven't handled all the items\n\t\twhile (items.length > handled.length) {\n\t\t\tfor (const item of items) {\n\t\t\t\tif (itemToNode.has(item)) {\n\t\t\t\t\t// item already in resultset\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tlet parent: T | null;\n\t\t\t\tif (parentCache.has(item)) {\n\t\t\t\t\tparent = parentCache.get(item);\n\t\t\t\t} else {\n\t\t\t\t\tparent = this.groupingFn()(item, items);\n\t\t\t\t\tparentCache.set(item, parent);\n\t\t\t\t}\n\t\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\t\tnode: item,\n\t\t\t\t\tchildren: [],\n\t\t\t\t};\n\t\t\t\t// Parent null or undefined means it's a root element\n\t\t\t\tif (!parent) {\n\t\t\t\t\tres.push(itemNode);\n\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\thandled.push(item);\n\t\t\t\t} else {\n\t\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\t\tif (itemToNode.has(parent)) {\n\t\t\t\t\t\titemToNode.get(parent).children.push(itemNode);\n\t\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\t\thandled.push(item);\n\t\t\t\t\t}\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent],\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\tselectInputComponent = inject(ALuSelectInputComponent);\n\n\trootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\tbranch = input.required<TreeNode<T>>();\n\n\toptionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\toptionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\toptionComparer = input.required<LuOptionComparer<T>>();\n\n\tselectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\tsimpleMode = input(false, { transform: booleanAttribute });\n\n\tdepth = input(1);\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>): void {\n\t\tif (this.simpleMode() || branchData.children.length === 0) {\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 > 0) {\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[style.--components-treeBranch-level]=\"depth()\"\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())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { formatDate,
|
|
1
|
+
import { formatDate, AsyncPipe, NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, importProvidersFrom, Pipe, LOCALE_ID, Component, input, Input, Directive } from '@angular/core';
|
|
3
|
+
import { InjectionToken, inject, Injectable, makeEnvironmentProviders, importProvidersFrom, Pipe, LOCALE_ID, ChangeDetectionStrategy, Component, input, Input, Directive } from '@angular/core';
|
|
4
4
|
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { getIntl, IntlParamsPipe } from '@lucca-front/ng/core';
|
|
6
6
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
@@ -163,10 +163,10 @@ class LuUserPopoverStore {
|
|
|
163
163
|
this.#cache.clear();
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
167
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
167
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverStore, providedIn: 'root' }); }
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverStore, decorators: [{
|
|
170
170
|
type: Injectable,
|
|
171
171
|
args: [{
|
|
172
172
|
providedIn: 'root',
|
|
@@ -207,28 +207,26 @@ class IsFuturePipe {
|
|
|
207
207
|
transform(value) {
|
|
208
208
|
return !!value && isFuture(value);
|
|
209
209
|
}
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
211
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: IsFuturePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
211
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: IsFuturePipe, isStandalone: true, name: "isFuture" }); }
|
|
212
212
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: IsFuturePipe, decorators: [{
|
|
214
214
|
type: Pipe,
|
|
215
215
|
args: [{
|
|
216
216
|
name: 'isFuture',
|
|
217
|
-
standalone: true,
|
|
218
217
|
}]
|
|
219
218
|
}] });
|
|
220
219
|
class IsFutureOrTodayPipe {
|
|
221
220
|
transform(value) {
|
|
222
221
|
return !value || isFuture(value) || isToday(value);
|
|
223
222
|
}
|
|
224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
225
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: IsFutureOrTodayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
224
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: IsFutureOrTodayPipe, isStandalone: true, name: "isFutureOrToday" }); }
|
|
226
225
|
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: IsFutureOrTodayPipe, decorators: [{
|
|
228
227
|
type: Pipe,
|
|
229
228
|
args: [{
|
|
230
229
|
name: 'isFutureOrToday',
|
|
231
|
-
standalone: true,
|
|
232
230
|
}]
|
|
233
231
|
}] });
|
|
234
232
|
|
|
@@ -259,14 +257,13 @@ class LeaveEndsDisplayPipe {
|
|
|
259
257
|
return this.intl.EMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));
|
|
260
258
|
}
|
|
261
259
|
}
|
|
262
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
263
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LeaveEndsDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
261
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LeaveEndsDisplayPipe, isStandalone: true, name: "leaveEndsDisplay" }); }
|
|
264
262
|
}
|
|
265
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LeaveEndsDisplayPipe, decorators: [{
|
|
266
264
|
type: Pipe,
|
|
267
265
|
args: [{
|
|
268
266
|
name: 'leaveEndsDisplay',
|
|
269
|
-
standalone: true,
|
|
270
267
|
}]
|
|
271
268
|
}] });
|
|
272
269
|
|
|
@@ -310,12 +307,12 @@ class LuUserPopoverComponent {
|
|
|
310
307
|
getRandomPercent(min = 33, max = 66) {
|
|
311
308
|
return `${Math.floor(Math.random() * (max - min) + min).toString()}%`;
|
|
312
309
|
}
|
|
313
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
314
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", 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 class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\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{{ intl.EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\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<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\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<span class=\"userPopover-details-info-detail-workplace-state\">\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-textLight\">\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-textLight\">\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }} </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</span>\n\t\t\t\t\t\t</a>\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<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vw - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)}.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-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid 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{color:currentColor;text-decoration:underline;text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{color:currentColor;text-decoration-thickness:1.5px}.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);color:currentColor;text-decoration:none}.userPopover-details-info-detail-workplace:is(a,button):hover,.userPopover-details-info-detail-workplace:is(a,button):focus{color:currentColor}.userPopover-details-info-detail-workplace:is(a,button):hover .userPopover-details-info-detail-workplace-state,.userPopover-details-info-detail-workplace:is(a,button):focus .userPopover-details-info-detail-workplace-state{text-decoration:underline}.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-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);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@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:Lucca icons;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:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-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:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}@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}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { 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" }] }); }
|
|
310
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
311
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", 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 class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\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{{ intl.EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\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<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\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<span class=\"userPopover-details-info-detail-workplace-state\">\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-textLight\">\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-textLight\">\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }} </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</span>\n\t\t\t\t\t\t</a>\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<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vw - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)}.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-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid 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{color:currentColor;text-decoration:underline;text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{color:currentColor;text-decoration-thickness:1.5px}.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);color:currentColor;text-decoration:none}.userPopover-details-info-detail-workplace:is(a,button):hover,.userPopover-details-info-detail-workplace:is(a,button):focus{color:currentColor}.userPopover-details-info-detail-workplace:is(a,button):hover .userPopover-details-info-detail-workplace-state,.userPopover-details-info-detail-workplace:is(a,button):focus .userPopover-details-info-detail-workplace-state{text-decoration:underline}.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-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);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@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:Lucca icons;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:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-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:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}@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}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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" }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
315
312
|
}
|
|
316
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverComponent, decorators: [{
|
|
317
314
|
type: Component,
|
|
318
|
-
args: [{ selector: 'lu-user-popover-content', standalone: true, imports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent], 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 class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\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{{ intl.EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\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<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\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<span class=\"userPopover-details-info-detail-workplace-state\">\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-textLight\">\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-textLight\">\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }} </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</span>\n\t\t\t\t\t\t</a>\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<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vw - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)}.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-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid 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{color:currentColor;text-decoration:underline;text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{color:currentColor;text-decoration-thickness:1.5px}.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);color:currentColor;text-decoration:none}.userPopover-details-info-detail-workplace:is(a,button):hover,.userPopover-details-info-detail-workplace:is(a,button):focus{color:currentColor}.userPopover-details-info-detail-workplace:is(a,button):hover .userPopover-details-info-detail-workplace-state,.userPopover-details-info-detail-workplace:is(a,button):focus .userPopover-details-info-detail-workplace-state{text-decoration:underline}.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-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);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@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:Lucca icons;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:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-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:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}@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}}\n"] }]
|
|
315
|
+
args: [{ selector: 'lu-user-popover-content', imports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent], 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 class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\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{{ intl.EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\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<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\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<span class=\"userPopover-details-info-detail-workplace-state\">\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-textLight\">\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-textLight\">\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }} </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</span>\n\t\t\t\t\t\t</a>\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<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vw - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)}.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-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid 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{color:currentColor;text-decoration:underline;text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{color:currentColor;text-decoration-thickness:1.5px}.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);color:currentColor;text-decoration:none}.userPopover-details-info-detail-workplace:is(a,button):hover,.userPopover-details-info-detail-workplace:is(a,button):focus{color:currentColor}.userPopover-details-info-detail-workplace:is(a,button):hover .userPopover-details-info-detail-workplace-state,.userPopover-details-info-detail-workplace:is(a,button):focus .userPopover-details-info-detail-workplace-state{text-decoration:underline}.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-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);border-radius:var(--pr-t-border-radius-full);display:flex;align-items:center;justify-content:center;background-color:var(--palettes-neutral-200);inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize)}}@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:Lucca icons;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:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-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:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}@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}}\n"] }]
|
|
319
316
|
}] });
|
|
320
317
|
|
|
321
318
|
class LuUserPopoverDirective extends PopoverDirective {
|
|
@@ -324,7 +321,7 @@ class LuUserPopoverDirective extends PopoverDirective {
|
|
|
324
321
|
}
|
|
325
322
|
constructor() {
|
|
326
323
|
super();
|
|
327
|
-
this.luUserPopover = input.required(
|
|
324
|
+
this.luUserPopover = input.required();
|
|
328
325
|
this.additionalProviders = [{ provide: LU_USER_POPOVER_USER, useValue: this.luUserPopover }];
|
|
329
326
|
// Default to disabled to avoid having it flicker or something
|
|
330
327
|
this.luPopoverDisabled = false;
|
|
@@ -341,20 +338,19 @@ class LuUserPopoverDirective extends PopoverDirective {
|
|
|
341
338
|
this.luPopoverNoCloseButton = true;
|
|
342
339
|
this.content = LuUserPopoverComponent;
|
|
343
340
|
}
|
|
344
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
345
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
342
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: LuUserPopoverDirective, isStandalone: true, selector: "[luUserPopover]", inputs: { luUserPopover: { classPropertyName: "luUserPopover", publicName: "luUserPopover", isSignal: true, isRequired: true, transformFunction: null }, luUserPopoverDisabled: { classPropertyName: "luUserPopoverDisabled", publicName: "luUserPopoverDisabled", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-expanded": "opened()" } }, exportAs: ["LuUserPopoverDirective"], usesInheritance: true, ngImport: i0 }); }
|
|
346
343
|
}
|
|
347
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
344
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuUserPopoverDirective, decorators: [{
|
|
348
345
|
type: Directive,
|
|
349
346
|
args: [{
|
|
350
347
|
selector: '[luUserPopover]',
|
|
351
348
|
host: {
|
|
352
349
|
'[attr.aria-expanded]': 'opened()',
|
|
353
350
|
},
|
|
354
|
-
standalone: true,
|
|
355
351
|
exportAs: 'LuUserPopoverDirective',
|
|
356
352
|
}]
|
|
357
|
-
}], ctorParameters: () => [], propDecorators: {
|
|
353
|
+
}], ctorParameters: () => [], propDecorators: { luUserPopoverDisabled: [{
|
|
358
354
|
type: Input
|
|
359
355
|
}] } });
|
|
360
356
|
|