@lucca-front/ng 22.1.0-rc.4 → 22.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +6 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +19 -15
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +78 -56
  8. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  10. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
  12. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
  14. package/fesm2022/lucca-front-ng-callout.mjs +24 -24
  15. package/fesm2022/lucca-front-ng-chip.mjs +4 -4
  16. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-clear.mjs +4 -4
  18. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  20. package/fesm2022/lucca-front-ng-color.mjs +3 -3
  21. package/fesm2022/lucca-front-ng-comment.mjs +12 -12
  22. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-container.mjs +3 -3
  24. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  25. package/fesm2022/lucca-front-ng-core-select-department.mjs +8 -6
  26. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +11 -9
  28. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  30. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
  31. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  33. package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -20
  34. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select.mjs +77 -62
  36. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core.mjs +19 -19
  38. package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
  39. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-date.mjs +40 -40
  41. package/fesm2022/lucca-front-ng-date2.mjs +93 -40
  42. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-department.mjs +24 -24
  44. package/fesm2022/lucca-front-ng-dialog.mjs +56 -48
  45. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  47. package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
  48. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
  50. package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
  51. package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  53. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
  54. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form-field.mjs +24 -20
  60. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  62. package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
  63. package/fesm2022/lucca-front-ng-form.mjs +3 -3
  64. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  65. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
  66. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  68. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  69. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +38 -37
  70. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-forms.mjs +68 -48
  72. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  74. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  75. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  76. package/fesm2022/lucca-front-ng-highlight-section.mjs +6 -3
  77. package/fesm2022/lucca-front-ng-highlight-section.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
  80. package/fesm2022/lucca-front-ng-impersonation.mjs +5 -3
  81. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
  83. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  85. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  86. package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
  87. package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
  88. package/fesm2022/lucca-front-ng-link.mjs +38 -14
  89. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
  91. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-listing.mjs +21 -11
  93. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-loading.mjs +51 -10
  95. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  97. package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
  98. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  99. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  100. package/fesm2022/lucca-front-ng-multi-select.mjs +42 -42
  101. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  103. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  104. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  105. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  106. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  109. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  110. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  111. package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
  112. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  114. package/fesm2022/lucca-front-ng-priority-level.mjs +128 -0
  115. package/fesm2022/lucca-front-ng-priority-level.mjs.map +1 -0
  116. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  117. package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
  118. package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
  119. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
  121. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  122. package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
  123. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
  125. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  126. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -8
  127. package/fesm2022/lucca-front-ng-segmented-control.mjs +8 -8
  128. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  129. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  130. package/fesm2022/lucca-front-ng-simple-select.mjs +16 -16
  131. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  132. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  133. package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
  134. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  135. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  136. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  137. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  138. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-time.mjs +18 -18
  140. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  141. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  142. package/fesm2022/lucca-front-ng-tree-select.mjs +7 -7
  143. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  144. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
  145. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  146. package/fesm2022/lucca-front-ng-user.mjs +68 -61
  147. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  148. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  149. package/package.json +23 -10
  150. package/schematics/lib/local-deps/package-lock.json +7 -7
  151. package/schematics/lib/local-deps/package.json +1 -1
  152. package/schematics/lu-button/migration.js +59 -33
  153. package/src/components/_sidepanel.scss +2 -2
  154. package/src/components/cdk/_global.scss +4 -0
  155. package/src/components/cdk/_overlay.scss +1 -1
  156. package/src/definitions/option/_option-item.scss +7 -4
  157. package/types/lucca-front-ng-a11y.d.ts +1 -1
  158. package/types/lucca-front-ng-activity-feed.d.ts +13 -9
  159. package/types/lucca-front-ng-api.d.ts +31 -31
  160. package/types/lucca-front-ng-approbation-inbox.d.ts +22 -14
  161. package/types/lucca-front-ng-bubble-icon.d.ts +5 -2
  162. package/types/lucca-front-ng-callout.d.ts +17 -17
  163. package/types/lucca-front-ng-chip.d.ts +7 -7
  164. package/types/lucca-front-ng-clear.d.ts +2 -2
  165. package/types/lucca-front-ng-color.d.ts +3 -3
  166. package/types/lucca-front-ng-comment.d.ts +14 -14
  167. package/types/lucca-front-ng-container.d.ts +1 -1
  168. package/types/lucca-front-ng-core-select-api.d.ts +7 -7
  169. package/types/lucca-front-ng-core-select-department.d.ts +7 -5
  170. package/types/lucca-front-ng-core-select-establishment.d.ts +8 -6
  171. package/types/lucca-front-ng-core-select-job-qualification.d.ts +2 -2
  172. package/types/lucca-front-ng-core-select-legal-units.d.ts +3 -3
  173. package/types/lucca-front-ng-core-select-occupation-category.d.ts +2 -2
  174. package/types/lucca-front-ng-core-select-user.d.ts +14 -12
  175. package/types/lucca-front-ng-core-select.d.ts +56 -41
  176. package/types/lucca-front-ng-core.d.ts +5 -5
  177. package/types/lucca-front-ng-data-table.d.ts +38 -33
  178. package/types/lucca-front-ng-date.d.ts +13 -13
  179. package/types/lucca-front-ng-date2.d.ts +56 -37
  180. package/types/lucca-front-ng-department.d.ts +2 -2
  181. package/types/lucca-front-ng-dialog.d.ts +9 -9
  182. package/types/lucca-front-ng-divider.d.ts +2 -2
  183. package/types/lucca-front-ng-dropdown.d.ts +2 -2
  184. package/types/lucca-front-ng-empty-state.d.ts +20 -20
  185. package/types/lucca-front-ng-establishment.d.ts +15 -15
  186. package/types/lucca-front-ng-fancy-box.d.ts +12 -12
  187. package/types/lucca-front-ng-file-upload.d.ts +21 -15
  188. package/types/lucca-front-ng-filter-pills.d.ts +27 -18
  189. package/types/lucca-front-ng-footer.d.ts +1 -1
  190. package/types/lucca-front-ng-form-field.d.ts +19 -19
  191. package/types/lucca-front-ng-form-label.d.ts +4 -4
  192. package/types/lucca-front-ng-form.d.ts +1 -1
  193. package/types/lucca-front-ng-forms-phone-number-input.d.ts +11 -11
  194. package/types/lucca-front-ng-forms-rich-text-input.d.ts +11 -11
  195. package/types/lucca-front-ng-forms.d.ts +59 -49
  196. package/types/lucca-front-ng-grid.d.ts +23 -23
  197. package/types/lucca-front-ng-highlight-data.d.ts +5 -5
  198. package/types/lucca-front-ng-highlight-section.d.ts +6 -3
  199. package/types/lucca-front-ng-horizontal-navigation.d.ts +4 -4
  200. package/types/lucca-front-ng-impersonation.d.ts +8 -6
  201. package/types/lucca-front-ng-index-table.d.ts +20 -18
  202. package/types/lucca-front-ng-inline-message.d.ts +2 -2
  203. package/types/lucca-front-ng-kbd.d.ts +59 -0
  204. package/types/lucca-front-ng-link.d.ts +17 -4
  205. package/types/lucca-front-ng-listbox.d.ts +10 -9
  206. package/types/lucca-front-ng-listing.d.ts +14 -3
  207. package/types/lucca-front-ng-loading.d.ts +18 -6
  208. package/types/lucca-front-ng-main-layout.d.ts +9 -9
  209. package/types/lucca-front-ng-modal.d.ts +4 -4
  210. package/types/lucca-front-ng-multi-select.d.ts +21 -21
  211. package/types/lucca-front-ng-option.d.ts +3 -3
  212. package/types/lucca-front-ng-page-header.d.ts +2 -2
  213. package/types/lucca-front-ng-pagination.d.ts +3 -3
  214. package/types/lucca-front-ng-popover.d.ts +18 -18
  215. package/types/lucca-front-ng-popover2.d.ts +9 -8
  216. package/types/lucca-front-ng-popup.d.ts +4 -4
  217. package/types/{lucca-front-ng-priority-levels.d.ts → lucca-front-ng-priority-level.d.ts} +11 -11
  218. package/types/lucca-front-ng-progress-bar.d.ts +1 -1
  219. package/types/lucca-front-ng-progress-stepper.d.ts +2 -2
  220. package/types/lucca-front-ng-read-more.d.ts +6 -6
  221. package/types/lucca-front-ng-resource-card.d.ts +3 -3
  222. package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -5
  223. package/types/lucca-front-ng-segmented-control.d.ts +3 -3
  224. package/types/lucca-front-ng-select.d.ts +9 -9
  225. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  226. package/types/lucca-front-ng-simple-select.d.ts +9 -9
  227. package/types/lucca-front-ng-software-icon.d.ts +1 -1
  228. package/types/lucca-front-ng-sortable-list.d.ts +1 -1
  229. package/types/lucca-front-ng-status-badge.d.ts +1 -1
  230. package/types/lucca-front-ng-time.d.ts +19 -19
  231. package/types/lucca-front-ng-title.d.ts +2 -2
  232. package/types/lucca-front-ng-toast.d.ts +2 -2
  233. package/types/lucca-front-ng-tree-select.d.ts +2 -2
  234. package/types/lucca-front-ng-user-popover.d.ts +1 -2
  235. package/types/lucca-front-ng-user.d.ts +26 -20
  236. package/types/lucca-front-ng-vertical-navigation.d.ts +5 -5
  237. package/fesm2022/lucca-front-ng-priority-levels.mjs +0 -128
  238. package/fesm2022/lucca-front-ng-priority-levels.mjs.map +0 -1
@@ -43,10 +43,10 @@ class LuTitleService {
43
43
  overrideFirstTitlePart(title) {
44
44
  this.titlePartsSubject.next([title, ...this.titlePartsSubject.value.slice(1)]);
45
45
  }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleService, deps: [{ token: i1.Router }, { token: i2.Title }, { token: LU_TITLE_TRANSLATE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleService }); }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService, deps: [{ token: i1.Router }, { token: i2.Title }, { token: LU_TITLE_TRANSLATE_SERVICE }], target: i0.ɵɵFactoryTarget.Injectable }); }
47
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService }); }
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleService, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleService, decorators: [{
50
50
  type: Injectable
51
51
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Title }, { type: undefined, decorators: [{
52
52
  type: Inject,
@@ -67,11 +67,11 @@ function uniqTitle$1(titleParts) {
67
67
  * @deprecated use title streatgy instead
68
68
  */
69
69
  class LuTitleModule {
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
71
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuTitleModule, imports: [RouterModule] }); }
72
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleModule, providers: [LuTitleService], imports: [RouterModule] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
71
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, imports: [RouterModule] }); }
72
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, providers: [LuTitleService], imports: [RouterModule] }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleModule, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleModule, decorators: [{
75
75
  type: NgModule,
76
76
  args: [{
77
77
  imports: [RouterModule],
@@ -151,10 +151,10 @@ class LuTitleStrategy extends TitleStrategy {
151
151
  }
152
152
  return `${appTitle}${TitleSeparator}${Lucca}`;
153
153
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
155
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleStrategy, providedIn: 'root' }); }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
155
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, providedIn: 'root' }); }
156
156
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuTitleStrategy, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuTitleStrategy, decorators: [{
158
158
  type: Injectable,
159
159
  args: [{ providedIn: 'root' }]
160
160
  }], ctorParameters: () => [] });
@@ -31,10 +31,10 @@ class LuToastsService {
31
31
  const randomString = Math.random().toString(36).substring(2, 9);
32
32
  return `_${randomString}`;
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsService, providedIn: 'root' }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, providedIn: 'root' }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{ providedIn: 'root' }]
40
40
  }] });
@@ -114,10 +114,10 @@ class LuToastsComponent {
114
114
  isOnlyDismissibleManually(toast) {
115
115
  return this.#toastsService.isOnlyDismissibleManually(toast);
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom()\">\n\t@for (toast of toasts$ | async; track toast.id) {\n\t\t<div class=\"toasts-item\" [class]=\"toast.type ? paletteClassByToastType[toast.type] : null\">\n\t\t\t@if (toast.type) {\n\t\t\t\t<span class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t\t}\n\t\t\t<div class=\"toast-item-content\">\n\t\t\t\t@if (toast.title) {\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? removeToast(toast) : null\"\n\t\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? toast.duration + 'ms' : null\"\n\t\t\t>\n\t\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.toasts{--components-toasts-color: var(--pr-t-color-text-reverse);--components-toasts-top: var(--pr-t-spacings-300);--components-toasts-right: calc(var(--pr-t-spacings-300) + var(--commons-pushPanel-inlineSize));--components-toasts-left: var(--pr-t-spacings-300);--components-toasts-bottom: var(--pr-t-spacings-300);--components-toasts-margin-bottom: var(--pr-t-spacings-50);--components-toasts-maxwidth: min(22.5rem, calc(100dvi - (var(--components-toasts-right) * 2)));--components-toasts-inset: var(--components-toasts-top) var(--components-toasts-right) auto auto;--components-toasts-footerHeight: 4.5rem;--components-toasts-background: var(--palettes-neutral-800);--components-toasts-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);max-inline-size:var(--components-toasts-maxwidth);display:flex;flex-direction:column;align-items:flex-end;position:fixed;z-index:9999;inset:var(--components-toasts-inset)}html:has(.main-content .footer.mod-sticky,.dialog.mod-drawer .dialog-inside-footer) .toasts{--components-toasts-bottom: calc(var(--components-toasts-footerHeight) + var(--pr-t-spacings-300))}.toasts-item{display:flex;gap:var(--pr-t-spacings-50);color:var(--components-toasts-color);padding:var(--pr-t-spacings-50);margin-block-end:var(--components-toasts-margin-bottom);background-color:var(--palettes-neutral-800);animation-name:toastsItem;animation-duration:var(--commons-animations-durations-standard);animation-iteration-count:1;border-radius:var(--pr-t-border-radius-structure);overflow:hidden;position:relative;transform-origin:top}@keyframes toastsItem{0%{transform:translateY(var(--pr-t-spacings-200));opacity:0}to{opacity:1}}.toasts-item:hover .toasts-item-kill,.toasts-item:focus-within .toasts-item-kill{animation-play-state:paused}.toast-item-icon{background:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-default);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-50)}.toast-item-content{display:flex;flex-grow:1;flex-direction:column;gap:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-100) 0}.toast-item-content-description{margin:0;overflow-wrap:anywhere}.toasts-item-kill.button,.toasts-item-kill:not(.button){align-self:flex-start;border-radius:var(--pr-t-border-radius-default);animation-name:timer;--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.toasts-item-kill.button:disabled,.toasts-item-kill:not(.button):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.toasts-item-kill.button,.toasts-item-kill:not(.button){--components-button-color: var(--palettes-neutral-0)}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-neutral-700)}@keyframes timer{}}@layer mods{.toasts.mod-bottom{--components-toasts-inset: auto var(--components-toasts-right) var(--components-toasts-bottom) auto}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: { classPropertyName: "bottom", publicName: "bottom", isSignal: true, isRequired: false, transformFunction: null }, sources: { classPropertyName: "sources", publicName: "sources", isSignal: true, isRequired: false, transformFunction: null }, intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom()\">\n\t@for (toast of toasts$ | async; track toast.id) {\n\t\t<div class=\"toasts-item\" [class]=\"toast.type ? paletteClassByToastType[toast.type] : null\">\n\t\t\t@if (toast.type) {\n\t\t\t\t<span class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t\t}\n\t\t\t<div class=\"toast-item-content\">\n\t\t\t\t@if (toast.title) {\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? removeToast(toast) : null\"\n\t\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? toast.duration + 'ms' : null\"\n\t\t\t>\n\t\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.toasts{--components-toasts-color: var(--pr-t-color-text-reverse);--components-toasts-top: var(--pr-t-spacings-300);--components-toasts-right: calc(var(--pr-t-spacings-300) + var(--commons-pushPanel-inlineSize));--components-toasts-left: var(--pr-t-spacings-300);--components-toasts-bottom: var(--pr-t-spacings-300);--components-toasts-margin-bottom: var(--pr-t-spacings-50);--components-toasts-maxwidth: min(22.5rem, calc(100dvi - (var(--components-toasts-right) * 2)));--components-toasts-inset: var(--components-toasts-top) var(--components-toasts-right) auto auto;--components-toasts-footerHeight: 4.5rem;--components-toasts-background: var(--palettes-neutral-800);--components-toasts-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);max-inline-size:var(--components-toasts-maxwidth);display:flex;flex-direction:column;align-items:flex-end;position:fixed;z-index:9999;inset:var(--components-toasts-inset)}html:has(.main-content .footer.mod-sticky,.dialog.mod-drawer .dialog-inside-footer) .toasts{--components-toasts-bottom: calc(var(--components-toasts-footerHeight) + var(--pr-t-spacings-300))}.toasts-item{display:flex;gap:var(--pr-t-spacings-50);color:var(--components-toasts-color);padding:var(--pr-t-spacings-50);margin-block-end:var(--components-toasts-margin-bottom);background-color:var(--palettes-neutral-800);animation-name:toastsItem;animation-duration:var(--commons-animations-durations-standard);animation-iteration-count:1;border-radius:var(--pr-t-border-radius-structure);overflow:hidden;position:relative;transform-origin:top}@keyframes toastsItem{0%{transform:translateY(var(--pr-t-spacings-200));opacity:0}to{opacity:1}}.toasts-item:hover .toasts-item-kill,.toasts-item:focus-within .toasts-item-kill{animation-play-state:paused}.toast-item-icon{background:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-default);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-50)}.toast-item-content{display:flex;flex-grow:1;flex-direction:column;gap:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-100) 0}.toast-item-content-description{margin:0;overflow-wrap:anywhere}.toasts-item-kill.button,.toasts-item-kill:not(.button){align-self:flex-start;border-radius:var(--pr-t-border-radius-default);animation-name:timer;--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.toasts-item-kill.button:disabled,.toasts-item-kill:not(.button):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.toasts-item-kill.button,.toasts-item-kill:not(.button){--components-button-color: var(--palettes-neutral-0)}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-neutral-700)}@keyframes timer{}}@layer mods{.toasts.mod-bottom{--components-toasts-inset: auto var(--components-toasts-right) var(--components-toasts-bottom) auto}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom()\">\n\t@for (toast of toasts$ | async; track toast.id) {\n\t\t<div class=\"toasts-item\" [class]=\"toast.type ? paletteClassByToastType[toast.type] : null\">\n\t\t\t@if (toast.type) {\n\t\t\t\t<span class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t\t}\n\t\t\t<div class=\"toast-item-content\">\n\t\t\t\t@if (toast.title) {\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t\t} @else {\n\t\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? removeToast(toast) : null\"\n\t\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && (toast.duration ?? 0) > 0 ? toast.duration + 'ms' : null\"\n\t\t\t>\n\t\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n</div>\n", styles: ["@layer components{.toasts{--components-toasts-color: var(--pr-t-color-text-reverse);--components-toasts-top: var(--pr-t-spacings-300);--components-toasts-right: calc(var(--pr-t-spacings-300) + var(--commons-pushPanel-inlineSize));--components-toasts-left: var(--pr-t-spacings-300);--components-toasts-bottom: var(--pr-t-spacings-300);--components-toasts-margin-bottom: var(--pr-t-spacings-50);--components-toasts-maxwidth: min(22.5rem, calc(100dvi - (var(--components-toasts-right) * 2)));--components-toasts-inset: var(--components-toasts-top) var(--components-toasts-right) auto auto;--components-toasts-footerHeight: 4.5rem;--components-toasts-background: var(--palettes-neutral-800);--components-toasts-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);max-inline-size:var(--components-toasts-maxwidth);display:flex;flex-direction:column;align-items:flex-end;position:fixed;z-index:9999;inset:var(--components-toasts-inset)}html:has(.main-content .footer.mod-sticky,.dialog.mod-drawer .dialog-inside-footer) .toasts{--components-toasts-bottom: calc(var(--components-toasts-footerHeight) + var(--pr-t-spacings-300))}.toasts-item{display:flex;gap:var(--pr-t-spacings-50);color:var(--components-toasts-color);padding:var(--pr-t-spacings-50);margin-block-end:var(--components-toasts-margin-bottom);background-color:var(--palettes-neutral-800);animation-name:toastsItem;animation-duration:var(--commons-animations-durations-standard);animation-iteration-count:1;border-radius:var(--pr-t-border-radius-structure);overflow:hidden;position:relative;transform-origin:top}@keyframes toastsItem{0%{transform:translateY(var(--pr-t-spacings-200));opacity:0}to{opacity:1}}.toasts-item:hover .toasts-item-kill,.toasts-item:focus-within .toasts-item-kill{animation-play-state:paused}.toast-item-icon{background:var(--palettes-700, var(--palettes-product-700));border-radius:var(--pr-t-border-radius-default);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-50)}.toast-item-content{display:flex;flex-grow:1;flex-direction:column;gap:var(--pr-t-spacings-50);padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-100) 0}.toast-item-content-description{margin:0;overflow-wrap:anywhere}.toasts-item-kill.button,.toasts-item-kill:not(.button){align-self:flex-start;border-radius:var(--pr-t-border-radius-default);animation-name:timer;--components-button-padding: var(--pr-t-spacings-100);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.toasts-item-kill.button:disabled,.toasts-item-kill:not(.button):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.toasts-item-kill.button,.toasts-item-kill:not(.button){--components-button-color: var(--palettes-neutral-0)}.toasts-item-kill.button:hover,.toasts-item-kill.button:focus-visible,.toasts-item-kill:not(.button):hover,.toasts-item-kill:not(.button):focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.toasts-item-kill.button:active,.toasts-item-kill:not(.button):active{--components-button-backgroundColor: var(--palettes-neutral-700)}@keyframes timer{}}@layer mods{.toasts.mod-bottom{--components-toasts-inset: auto var(--components-toasts-right) var(--components-toasts-bottom) auto}}\n"] }]
123
123
  }], ctorParameters: () => [], propDecorators: { bottom: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottom", required: false }] }], sources: [{ type: i0.Input, args: [{ isSignal: true, alias: "sources", required: false }] }], intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
@@ -126,11 +126,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
126
126
  * @deprecated use `LuToastsComponent` instead
127
127
  */
128
128
  class LuToastsModule {
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
130
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuToastsModule, imports: [LuToastsComponent], exports: [LuToastsComponent] }); }
131
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsModule }); }
129
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
130
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, imports: [LuToastsComponent], exports: [LuToastsComponent] }); }
131
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule }); }
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuToastsModule, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuToastsModule, decorators: [{
134
134
  type: NgModule,
135
135
  args: [{
136
136
  imports: [LuToastsComponent],
@@ -72,10 +72,10 @@ class TreeSelectDirective {
72
72
  }
73
73
  return res;
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", 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 }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeSelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: TreeSelectDirective, isStandalone: true, selector: "lu-simple-select[treeSelect],lu-multi-select[treeSelect]", inputs: { groupingFnInput: { classPropertyName: "groupingFnInput", publicName: "treeSelect", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeSelectDirective, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeSelectDirective, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -149,12 +149,12 @@ class TreeBranchComponent {
149
149
  }
150
150
  return result;
151
151
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeBranchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: TreeBranchComponent, isStandalone: true, selector: "lu-tree-branch", inputs: { branch: { classPropertyName: "branch", publicName: "branch", isSignal: true, isRequired: true, transformFunction: null }, optionTpl: { classPropertyName: "optionTpl", publicName: "optionTpl", isSignal: true, isRequired: true, transformFunction: null }, optionIndex: { classPropertyName: "optionIndex", publicName: "optionIndex", isSignal: true, isRequired: true, transformFunction: null }, optionComparer: { classPropertyName: "optionComparer", publicName: "optionComparer", isSignal: true, isRequired: true, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null }, simpleMode: { classPropertyName: "simpleMode", publicName: "simpleMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleOne: "toggleOne", selectMany: "selectMany", unselectMany: "unselectMany" }, viewQueries: [{ propertyName: "rootOptionRef", first: true, predicate: ["rootOption"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["intl", "optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }, { kind: "directive", type: Treeitem, selector: "[treeitem]" }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
152
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeBranchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
153
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: TreeBranchComponent, isStandalone: true, selector: "lu-tree-branch", inputs: { branch: { classPropertyName: "branch", publicName: "branch", isSignal: true, isRequired: true, transformFunction: null }, optionTpl: { classPropertyName: "optionTpl", publicName: "optionTpl", isSignal: true, isRequired: true, transformFunction: null }, optionIndex: { classPropertyName: "optionIndex", publicName: "optionIndex", isSignal: true, isRequired: true, transformFunction: null }, optionComparer: { classPropertyName: "optionComparer", publicName: "optionComparer", isSignal: true, isRequired: true, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null }, simpleMode: { classPropertyName: "simpleMode", publicName: "simpleMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleOne: "toggleOne", selectMany: "selectMany", unselectMany: "unselectMany" }, viewQueries: [{ propertyName: "rootOptionRef", first: true, predicate: ["rootOption"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["intl", "optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }, { kind: "directive", type: Treeitem, selector: "[treeitem]" }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: TreeBranchComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: TreeBranchComponent, decorators: [{
156
156
  type: Component,
157
- args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent, Treeitem], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"] }]
157
+ args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent, Treeitem], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n", styles: ["@layer components{lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .listboxOption-content .optionItem-icons{margin-inline-start:auto}lu-tree-branch .listboxOption-content:hover .optionItem-icons,lu-tree-branch .listboxOption-content.is-hovered .optionItem-icons{opacity:1}}\n"] }]
158
158
  }], ctorParameters: () => [], propDecorators: { rootOptionRef: [{ type: i0.ViewChild, args: ['rootOption', { isSignal: true }] }], branch: [{ type: i0.Input, args: [{ isSignal: true, alias: "branch", required: true }] }], optionTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTpl", required: true }] }], optionIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionIndex", required: true }] }], optionComparer: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionComparer", required: true }] }], selectedOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedOptions", required: false }] }], toggleOne: [{ type: i0.Output, args: ["toggleOne"] }], selectMany: [{ type: i0.Output, args: ["selectMany"] }], unselectMany: [{ type: i0.Output, args: ["unselectMany"] }], simpleMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "simpleMode", required: false }] }] } });
159
159
 
160
160
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\treadonly groupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\treadonly groupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\t// Items we are allowed to nest under, so a parent that is missing from `items` can be told\n\t\t// apart from one we simply haven't reached yet. Also deduplicates `items`.\n\t\tconst knownItems = new Set(items);\n\t\tconst getParent = (item: T): T | null => {\n\t\t\tif (!parentCache.has(item)) {\n\t\t\t\tparentCache.set(item, this.groupingFn()(item, items));\n\t\t\t}\n\t\t\treturn parentCache.get(item) ?? null;\n\t\t};\n\t\tconst createNode = (item: T): TreeNode<T> => {\n\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\tnode: item,\n\t\t\t\tchildren: [],\n\t\t\t};\n\t\t\titemToNode.set(item, itemNode);\n\t\t\treturn itemNode;\n\t\t};\n\t\tconst addRoot = (item: T): void => {\n\t\t\tres.push(createNode(item));\n\t\t};\n\t\t// Items whose parent node doesn't exist in the resultset yet\n\t\tlet pending = [...knownItems];\n\t\t// While we haven't handled all the items\n\t\twhile (pending.length) {\n\t\t\tconst stillPending: T[] = [];\n\t\t\tfor (const item of pending) {\n\t\t\t\tconst parent = getParent(item);\n\t\t\t\t// Parent null or undefined means it's a root element, and so is an item whose parent\n\t\t\t\t// isn't part of `items`: filtered out by a search, it will never show up to nest under.\n\t\t\t\tif (!parent || !knownItems.has(parent)) {\n\t\t\t\t\taddRoot(item);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parentNode = itemToNode.get(parent);\n\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\tif (parentNode) {\n\t\t\t\t\tparentNode.children?.push(createNode(item));\n\t\t\t\t} else {\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t\tstillPending.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// A whole pass without progress means the remaining items form a parent cycle: they can\n\t\t\t// never be nested, so display them as roots rather than looping forever.\n\t\t\tif (stillPending.length === pending.length) {\n\t\t\t\tstillPending.forEach(addRoot);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpending = stillPending;\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { Treeitem } from '@lucca-front/ng/listbox';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent, Treeitem],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\treadonly selectInputComponent = inject(ALuSelectInputComponent);\n\n\treadonly rootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\treadonly branch = input.required<TreeNode<T>>();\n\n\treadonly optionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\treadonly optionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\treadonly optionComparer = input.required<LuOptionComparer<T>>();\n\n\treadonly selectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\treadonly simpleMode = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>, event?: Event): void {\n\t\t// Options are nested inside their parent's host, so a click bubbles up to every ancestor\n\t\t// branch. Stop it here so clicking a child never toggles its parent.\n\t\tevent?.stopPropagation();\n\t\tif (this.simpleMode() || !branchData.children?.length) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children?.length) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\treadonly groupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\treadonly groupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\t// Items we are allowed to nest under, so a parent that is missing from `items` can be told\n\t\t// apart from one we simply haven't reached yet. Also deduplicates `items`.\n\t\tconst knownItems = new Set(items);\n\t\tconst getParent = (item: T): T | null => {\n\t\t\tif (!parentCache.has(item)) {\n\t\t\t\tparentCache.set(item, this.groupingFn()(item, items));\n\t\t\t}\n\t\t\treturn parentCache.get(item) ?? null;\n\t\t};\n\t\tconst createNode = (item: T): TreeNode<T> => {\n\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\tnode: item,\n\t\t\t\tchildren: [],\n\t\t\t};\n\t\t\titemToNode.set(item, itemNode);\n\t\t\treturn itemNode;\n\t\t};\n\t\tconst addRoot = (item: T): void => {\n\t\t\tres.push(createNode(item));\n\t\t};\n\t\t// Items whose parent node doesn't exist in the resultset yet\n\t\tlet pending = [...knownItems];\n\t\t// While we haven't handled all the items\n\t\twhile (pending.length) {\n\t\t\tconst stillPending: T[] = [];\n\t\t\tfor (const item of pending) {\n\t\t\t\tconst parent = getParent(item);\n\t\t\t\t// Parent null or undefined means it's a root element, and so is an item whose parent\n\t\t\t\t// isn't part of `items`: filtered out by a search, it will never show up to nest under.\n\t\t\t\tif (!parent || !knownItems.has(parent)) {\n\t\t\t\t\taddRoot(item);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst parentNode = itemToNode.get(parent);\n\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\tif (parentNode) {\n\t\t\t\t\tparentNode.children?.push(createNode(item));\n\t\t\t\t} else {\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t\tstillPending.push(item);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// A whole pass without progress means the remaining items form a parent cycle: they can\n\t\t\t// never be nested, so display them as roots rather than looping forever.\n\t\t\tif (stillPending.length === pending.length) {\n\t\t\t\tstillPending.forEach(addRoot);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpending = stillPending;\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { Treeitem } from '@lucca-front/ng/listbox';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent, Treeitem],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\treadonly selectInputComponent = inject(ALuSelectInputComponent);\n\n\treadonly rootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\treadonly branch = input.required<TreeNode<T>>();\n\n\treadonly optionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\treadonly optionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\treadonly optionComparer = input.required<LuOptionComparer<T>>();\n\n\treadonly selectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\treadonly simpleMode = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$?.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef()?.isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>, event?: Event): void {\n\t\t// Options are nested inside their parent's host, so a click bubbles up to every ancestor\n\t\t// branch. Stop it here so clicking a child never toggles its parent.\n\t\tevent?.stopPropagation();\n\t\tif (this.simpleMode() || !branchData.children?.length) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children?.length) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch(), $event)\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && (branch().children?.length ?? 0) > 0\"\n>\n\t@if (branch().children?.length) {\n\t\t<ng-container treeitem>\n\t\t\t@for (child of branch().children; track $index) {\n\t\t\t\t<lu-tree-branch\n\t\t\t\t\t[branch]=\"child\"\n\t\t\t\t\t[optionTpl]=\"optionTpl()\"\n\t\t\t\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t\t\t\t[optionComparer]=\"optionComparer()\"\n\t\t\t\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t\t\t\t[simpleMode]=\"simpleMode()\"\n\t\t\t\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t\t\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t\t\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</ng-container>\n\t}\n</lu-select-option>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { IconComponent } from '@lucca-front/ng/icon';
7
7
  import { LinkComponent } from '@lucca-front/ng/link';
8
8
  import { POPOVER_CONFIG, PopoverDirective } from '@lucca-front/ng/popover2';
9
9
  import { SkeletonUserPopoverComponent } from '@lucca-front/ng/skeleton';
10
+ import { ɵinjectRandomPercent as _injectRandomPercent } from '@lucca/prisme/core';
10
11
  import { Observable, BehaviorSubject, switchMap, catchError, of, tap, combineLatest } from 'rxjs';
11
12
  import { shareReplay, map } from 'rxjs/operators';
12
13
  import { HttpClient } from '@angular/common/http';
@@ -164,10 +165,10 @@ class LuUserPopoverStore {
164
165
  this.#cache.clear();
165
166
  }
166
167
  }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
168
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverStore, providedIn: 'root' }); }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, providedIn: 'root' }); }
169
170
  }
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverStore, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverStore, decorators: [{
171
172
  type: Injectable,
172
173
  args: [{
173
174
  providedIn: 'root',
@@ -209,10 +210,10 @@ class IsFuturePipe {
209
210
  transform(value) {
210
211
  return !!value && isFuture(value);
211
212
  }
212
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsFuturePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
213
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: IsFuturePipe, isStandalone: true, name: "isFuture" }); }
213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
214
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, isStandalone: true, name: "isFuture" }); }
214
215
  }
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsFuturePipe, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFuturePipe, decorators: [{
216
217
  type: Pipe,
217
218
  args: [{
218
219
  name: 'isFuture',
@@ -222,10 +223,10 @@ class IsFutureOrTodayPipe {
222
223
  transform(value) {
223
224
  return !value || isFuture(value) || isToday(value);
224
225
  }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsFutureOrTodayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
226
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: IsFutureOrTodayPipe, isStandalone: true, name: "isFutureOrToday" }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
227
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, isStandalone: true, name: "isFutureOrToday" }); }
227
228
  }
228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IsFutureOrTodayPipe, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: IsFutureOrTodayPipe, decorators: [{
229
230
  type: Pipe,
230
231
  args: [{
231
232
  name: 'isFutureOrToday',
@@ -259,10 +260,10 @@ class LeaveEndsDisplayPipe {
259
260
  return this.intl.EMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));
260
261
  }
261
262
  }
262
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LeaveEndsDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
263
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LeaveEndsDisplayPipe, isStandalone: true, name: "leaveEndsDisplay" }); }
263
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
264
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, isStandalone: true, name: "leaveEndsDisplay" }); }
264
265
  }
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LeaveEndsDisplayPipe, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LeaveEndsDisplayPipe, decorators: [{
266
267
  type: Pipe,
267
268
  args: [{
268
269
  name: 'leaveEndsDisplay',
@@ -277,7 +278,8 @@ class LuUserPopoverComponent {
277
278
  this.intl = input(...intlInputOptions(LU_POPUP_EMPLOYEE_TRANSLATIONS), /* @ts-ignore */
278
279
  ...(ngDevMode ? [{ debugName: "intl" }] : /* istanbul ignore next */ []));
279
280
  this.#errorImage$ = new BehaviorSubject(false);
280
- this.skeletonWidths = [this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent()];
281
+ this.#randomPercent = _injectRandomPercent(33, 66);
282
+ this.skeletonWidths = [this.#randomPercent(), this.#randomPercent(), this.#randomPercent(), this.#randomPercent()];
281
283
  this.employee$ = toObservable(this.luUser).pipe(switchMap((user) => this.#service.get(user.id).pipe(catchError(() => of({
282
284
  id: user.id,
283
285
  firstName: user.firstName,
@@ -304,16 +306,14 @@ class LuUserPopoverComponent {
304
306
  #popoverRef;
305
307
  #service;
306
308
  #errorImage$;
309
+ #randomPercent;
307
310
  pictureError() {
308
311
  this.#errorImage$.next(true);
309
312
  }
310
- getRandomPercent(min = 33, max = 66) {
311
- return `${Math.floor(Math.random() * (max - min) + min).toString()}%`;
312
- }
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
314
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: LinkComponent, selector: "a[luLink], button[luLink]", inputs: ["intl", "href", "luLink", "disabled", "decorationHover", "external", "hiddenIcon", "neutral"] }, { kind: "component", type: SkeletonUserPopoverComponent, selector: "lu-skeleton-user-popover" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IsFuturePipe, name: "isFuture" }, { kind: "pipe", type: IsFutureOrTodayPipe, name: "isFutureOrToday" }, { kind: "pipe", type: LeaveEndsDisplayPipe, name: "leaveEndsDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
314
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: LuUserPopoverComponent, isStandalone: true, selector: "lu-user-popover-content", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: LinkComponent, selector: "a[luLink], button[luLink]", inputs: ["intl", "href", "luLink", "disabled", "decorationHover", "external", "hiddenIcon", "neutral"] }, { kind: "component", type: SkeletonUserPopoverComponent, selector: "lu-skeleton-user-popover" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "pipe", type: IsFuturePipe, name: "isFuture" }, { kind: "pipe", type: IsFutureOrTodayPipe, name: "isFutureOrToday" }, { kind: "pipe", type: LeaveEndsDisplayPipe, name: "leaveEndsDisplay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
315
315
  }
316
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverComponent, decorators: [{
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverComponent, decorators: [{
317
317
  type: Component,
318
318
  args: [{ selector: 'lu-user-popover-content', imports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent, LinkComponent, SkeletonUserPopoverComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a luLink class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\" external hiddenIcon>\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\tintl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") ?? \"\" }\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat termin\u00E9 -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tluLink\n\t\t\t\t\t\t\t\tclass=\"userPopover-details-info-detail-workplace-state\"\n\t\t\t\t\t\t\t\t[href]=\"employee._links?.schedule?.href\"\n\t\t\t\t\t\t\t\texternal\n\t\t\t\t\t\t\t\thiddenIcon\n\t\t\t\t\t\t\t\tdecorationHover\n\t\t\t\t\t\t\t\tneutral\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\">\u00A0\u2013 {{ employee.currentWorkLocation.area.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\u00A0\u2013 {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n", styles: ["@charset \"UTF-8\";@layer components{.userPopover{inline-size:23.5rem;max-inline-size:calc(100vi - var(--pr-t-spacings-200) * 2);padding:var(--pr-t-spacings-200)!important}.userPopover_trigger{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;inline-size:fit-content}.userPopover_trigger:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-default)}.userPopover_trigger:focus-visible:has(>.avatar){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.userPopover-details{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-200)}.userPopover-details-info{min-inline-size:0;flex-grow:1}.userPopover-details-info-name{margin:calc(var(--pr-t-spacings-50) * -1);padding:var(--pr-t-spacings-50);font:var(--pr-t-font-highlight-L);color:currentColor}.userPopover-details-info-name-linkOptional{text-decoration-thickness:.75px;text-underline-offset:3px}.userPopover-details-info-name-linkOptional:hover{text-decoration-thickness:1.5px}.userPopover-details-info-name-linkOptional.link{--components-link-color: var(--pr-t-color-text-highlight);--components-link-color-hover: var(--pr-t-color-text-highlight)}.userPopover-details-info-detail{margin-block-end:0;font:var(--pr-t-font-body-S)}.userPopover-details-info-detail-workplace{display:flex;align-items:flex-start;gap:var(--pr-t-spacings-50)}.userPopover .userPopover-details-avatar.avatar,.userPopover .userPopover-details-avatar:not(.avatar){--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem;margin-block:var(--pr-t-spacings-50);margin-inline:0}}@layer components{.avatar,.lu-user-picture{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;display:inline-block;vertical-align:middle;border-radius:var(--components-avatar-borderRadius);inline-size:var(--components-avatar-size);aspect-ratio:1}.avatar-picture{background-color:var(--components-avatar-picture-background);border-radius:var(--components-avatar-borderRadius);background-position:center;background-size:cover;background-repeat:no-repeat;inline-size:var(--components-avatar-size);object-fit:cover;object-position:center;aspect-ratio:1;display:flex;justify-content:center;align-items:center}.avatar-picture-initials{font-size:var(--components-avatar-fontSize);font-weight:var(--pr-t-font-fontWeight-bold);font-family:var(--pr-t-font-family-brand);line-height:1;color:var(--pr-t-color-text-reverse);display:var(--components-avatar-picture-initials-display)}.avatarWrapper{margin:0;padding:0;list-style-type:none;display:flex;flex-wrap:wrap;align-content:flex-start;row-gap:var(--components-avatarWrapper-rowGap)}.avatarWrapper .avatar{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background)}.avatarWrapper-item:not(:last-child){margin-inline-end:calc(var(--components-avatarWrapper-overlap) * -1)}.avatarWrapper-item-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;text-decoration:none;transition:transform var(--commons-animations-durations-fast);transform:scale(var(--components-avatarWrapper-scale));color:currentColor}.avatarWrapper-item-action:hover,.avatarWrapper-item-action:focus{--components-avatarWrapper-scale: 1.1}.avatarWrapper-item-action:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-full)}.avatarWrapper-item-action-more{box-shadow:0 0 0 var(--components-avatar-border) var(--components-avatar-background);display:flex;align-items:center;justify-content:center;inline-size:var(--components-avatar-size);block-size:var(--components-avatar-size);font-size:var(--components-avatarWrapper-fontSize);border-radius:var(--pr-t-border-radius-full);background-color:var(--palettes-neutral-200)}}@layer mods{.avatar.mod-XS,.lu-user-picture.mod-XS{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.avatar.mod-S,.lu-user-picture.mod-S{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatar.mod-L,.lu-user-picture.mod-L{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatar.mod-XL,.lu-user-picture.mod-XL{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatar.mod-XXL,.lu-user-picture.mod-XXL{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-350);--components-avatar-placeholder-size: 2.25rem}.avatar.mod-XXXL,.lu-user-picture.mod-XXXL{--components-avatar-size: 6rem;--components-avatar-fontSize: 2.25rem;--components-avatar-placeholder-size: 2.5rem}.avatar.mod-placeholder,.lu-user-picture.mod-placeholder{--components-avatar-picture-initials-display: none}.avatar.mod-placeholder .avatar-picture,.lu-user-picture.mod-placeholder .avatar-picture{background-color:var(--palettes-neutral-200)!important}.avatar.mod-placeholder .avatar-picture:before,.lu-user-picture.mod-placeholder .avatar-picture:before{--icon-content: \"\\e990\";display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-600);font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--components-avatar-placeholder-size)}.avatar.mod-AI,.lu-user-picture.mod-AI{--components-avatar-borderRadius: var(--pr-t-border-radius-default);--components-avatar-picture-background: var(--palettes-neutral-0);--components-avatar-picture-initials-display: none}.avatar.mod-AI .avatar-picture:before,.lu-user-picture.mod-AI .avatar-picture:before{background-image:var(--pr-t-color-icon-ai);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;--icon-content: \"\\e9f5\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--components-avatar-AI-size)}.avatar.mod-softRounded.mod-XS,.lu-user-picture.mod-softRounded.mod-XS{--components-avatar-borderRadius: var(--pr-t-border-radius-100)}.avatar.mod-softRounded.mod-S,.lu-user-picture.mod-softRounded.mod-S{--components-avatar-borderRadius: var(--pr-t-border-radius-150)}.avatar.mod-softRounded,.lu-user-picture.mod-softRounded,.avatar.mod-softRounded.mod-L,.lu-user-picture.mod-softRounded.mod-L{--components-avatar-borderRadius: var(--pr-t-border-radius-200)}.avatar.mod-softRounded.mod-XL,.lu-user-picture.mod-softRounded.mod-XL,.avatar.mod-softRounded.mod-XXL,.lu-user-picture.mod-softRounded.mod-XXL{--components-avatar-borderRadius: var(--pr-t-border-radius-300)}.avatar.mod-softRounded.mod-XXXL,.lu-user-picture.mod-softRounded.mod-XXXL{--components-avatar-borderRadius: var(--pr-t-border-radius-400)}}@layer components{.avatarWrapper{--components-avatar-size: 2.5rem;--components-avatar-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatar-border: 2px;--components-avatar-scale: 1;--components-avatar-background: var(--pr-t-elevation-surface-default);--components-avatar-placeholder-size: 1.25rem;--components-avatar-AI-size: var(--pr-t-font-fontSize-200);--components-avatar-borderRadius: var(--pr-t-border-radius-full);--components-avatar-picture-background: var(--palettes-neutral-200);--components-avatar-picture-initials-display: block;--components-avatarWrapper-fontSize: var(--pr-t-font-body-M-fontSize);--components-avatarWrapper-overlap: var(--pr-t-spacings-100);--components-avatarWrapper-rowGap: var(--pr-t-spacings-50)}}@layer mods{.avatarWrapper.mod-XL .avatar,.avatarWrapper.mod-XL .avatarWrapper-item-action{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-275);--components-avatar-placeholder-size: 2rem}.avatarWrapper.mod-L .avatar,.avatarWrapper.mod-L .avatarWrapper-item-action{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-225);--components-avatar-placeholder-size: 1.75rem}.avatarWrapper.mod-S{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-S .avatar,.avatarWrapper.mod-S .avatarWrapper-item-action{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-175);--components-avatar-placeholder-size: 1rem}.avatarWrapper.mod-XS{--components-avatarWrapper-overlap: var(--pr-t-spacings-50);--components-avatarWrapper-rowGap: var(--pr-t-spacings-25)}.avatarWrapper.mod-XS .avatar,.avatarWrapper.mod-XS .avatarWrapper-item-action{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}}@layer components{.link{--components-link-textDecoration: underline;--components-link-text-textDecoration: underline;--components-link-color: var(--commons-text-link-color);--components-link-color-hover: var(--commons-text-link-hover);--components-link-cursor: pointer;--components-link-icon-marginInlineStart: 0;--components-link-icon-opacity: 1;background-color:transparent;color:var(--components-link-color);cursor:var(--components-link-cursor);font-family:inherit;border:0;margin:0;padding:0;text-decoration:var(--components-link-textDecoration)}.link:not(:disabled,.is-disabled):hover{color:var(--components-link-color-hover)}.link:not(:disabled,.is-disabled):focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.link .lucca-icon{text-decoration:none;font-size:1em;vertical-align:baseline;position:relative;inset-block-start:.075rem;margin-inline-start:var(--components-link-icon-marginInlineStart)}.link .link-text{text-decoration:var(--components-link-text-textDecoration)}.link-icon{white-space:nowrap;opacity:var(--components-link-icon-opacity);transition-property:opacity;transition-duration:var(--commons-animations-durations-fast)}.link-icon:before{content:\"\\a0\"/\"\"}}@layer mods{.link.mod-decorationHover{--components-link-textDecoration: none;--components-link-text-textDecoration: none}.link.mod-decorationHover:hover{--components-link-text-textDecoration: underline}.link.mod-decorationHover:hover:not(:has(.link-text)){--components-link-textDecoration: underline}.link.mod-neutral{--components-link-color: var(--pr-t-color-text);--components-link-color-hover: var(--palettes-neutral-900)}@media not (any-pointer:coarse){.link.mod-hiddenIcon:not(:hover,:focus-visible){--components-link-icon-opacity: 0}}.link:is(:disabled,.is-disabled){--components-link-color: var(--pr-t-color-text-disabled);--components-link-cursor: not-allowed}.link:has(.link-text){--components-link-textDecoration: none}.link:not(:has(.link-icon)){--components-link-icon-marginInlineStart: .2em}}\n"] }]
319
319
  }], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
@@ -336,10 +336,10 @@ class LuUserPopoverDirective extends PopoverDirective {
336
336
  this.luPopoverNoCloseButton.set(true);
337
337
  this.content.set(LuUserPopoverComponent);
338
338
  }
339
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
340
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: LuUserPopoverDirective, isStandalone: true, selector: "[luUserPopover]", inputs: { luUserPopover: { classPropertyName: "luUserPopover", publicName: "luUserPopover", isSignal: true, isRequired: true, transformFunction: null }, luUserPopoverDisabled: { classPropertyName: "luUserPopoverDisabled", publicName: "luUserPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-expanded": "opened()" } }, exportAs: ["LuUserPopoverDirective"], usesInheritance: true, ngImport: i0 }); }
339
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
340
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: LuUserPopoverDirective, isStandalone: true, selector: "[luUserPopover]", inputs: { luUserPopover: { classPropertyName: "luUserPopover", publicName: "luUserPopover", isSignal: true, isRequired: true, transformFunction: null }, luUserPopoverDisabled: { classPropertyName: "luUserPopoverDisabled", publicName: "luUserPopoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-expanded": "opened()" } }, exportAs: ["LuUserPopoverDirective"], usesInheritance: true, ngImport: i0 }); }
341
341
  }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuUserPopoverDirective, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuUserPopoverDirective, decorators: [{
343
343
  type: Directive,
344
344
  args: [{
345
345
  selector: '[luUserPopover]',