@lucca-front/ng 21.4.1 → 21.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/fesm2022/lucca-front-ng-comment.mjs +4 -3
  2. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-core-select-api.mjs +4 -1
  4. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-core-select-user.mjs +7 -4
  6. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-core-select.mjs +35 -2
  8. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-date2.mjs +2 -2
  10. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-file-upload.mjs +2 -2
  12. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-filter-pills.mjs +8 -4
  14. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-forms.mjs +14 -23
  16. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-impersonation.mjs +1 -1
  18. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-multi-select.mjs +71 -41
  20. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-numeric-badge.mjs +7 -3
  22. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-read-more.mjs +9 -3
  24. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-resource-card.mjs +2 -2
  26. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-simple-select.mjs +5 -18
  28. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  30. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-tooltip.mjs +9 -4
  32. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-user-popover.mjs +3 -0
  34. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  35. package/package.json +4 -4
  36. package/types/lucca-front-ng-comment.d.ts +2 -1
  37. package/types/lucca-front-ng-core-select.d.ts +13 -1
  38. package/types/lucca-front-ng-filter-pills.d.ts +1 -0
  39. package/types/lucca-front-ng-forms.d.ts +2 -3
  40. package/types/lucca-front-ng-multi-select.d.ts +16 -4
  41. package/types/lucca-front-ng-numeric-badge.d.ts +1 -0
  42. package/types/lucca-front-ng-read-more.d.ts +6 -1
  43. package/types/lucca-front-ng-simple-select.d.ts +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-user-popover.mjs","sources":["../../../packages/ng/user-popover/translations.ts","../../../packages/ng/user-popover/popup-employee.translate.ts","../../../packages/ng/user-popover/service/user-popover.store.ts","../../../packages/ng/user-popover/user-popover.providers.ts","../../../packages/ng/user-popover/card/pipe/is-future.pipe.ts","../../../packages/ng/user-popover/card/pipe/leave-ends-display.pipe.ts","../../../packages/ng/user-popover/card/trigger/user-popover.component.ts","../../../packages/ng/user-popover/card/trigger/user-popover.component.html","../../../packages/ng/user-popover/card/trigger/lu-user-popover.directive.ts","../../../packages/ng/user-popover/lucca-front-ng-user-popover.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrival expected on {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Absent',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Morning',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Present',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Left',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Today',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'This morning',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Until tomorrow',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Until tomorrow morning',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Until {{date}} inclusive',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Until {{date}} morning',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Location',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tde: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Geplanter Dienstantritt am {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Abwesend',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Vormittag',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Anwesend',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Ausgeschieden',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Heute',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Heute Morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Bis morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Bis morgen Vormittag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Bis einschließlich {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Bis {{date}} morgens',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Standort',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tfr: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrivée prévue le {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Absent',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Matin',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Présent(e)',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Parti(e)',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: \"Aujourd'hui\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Ce matin',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: \"Jusqu'à demain\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Jusqu’à demain matin',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: \"Jusqu'au {{date}} inclus\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: \"Jusqu'au {{date}} matin\",\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Emplacement',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tit: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrivo previsto il{{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Assente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Mattina',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Ex',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Oggi',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Questa mattina',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Fino a domani',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Fino a domani mattina',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Fino al {{date}} incluso',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Fino al mattino del {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Posizione',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tnl: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Verwachte aankomst op {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Afwezig',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Ochtend',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Aanwezig',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Vertrokken',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Vandaag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Vanochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Tot morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Tot morgenochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Tot en met {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Tot {{date}} ochtend',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Locatie',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\t'nl-BE': {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Verwachte aankomst op {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Afwezig',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Ochtend',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Aanwezig',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Vertrokken',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Vandaag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Vanochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Tot morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Tot morgenochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Tot en met {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Tot {{date}} ochtend',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Locatie',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tes: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Llegada prevista el {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Ausente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Se ha marchado',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Hoy',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Esta mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Hasta mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Hasta mañana por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Hasta el {{date}} incluido',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Hasta el {{date}} por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Ubicación',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tpt: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Chegada prevista para {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Ausente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Manhã',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Papel',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Até hoje',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Esta manhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Até amanhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Até amanhã de manhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Até {{date}} incluído',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Até {{date}} de manhã',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Localização',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPUP_EMPLOYEE_TRANSLATIONS = new InjectionToken('LuPopupEmployeeTranslations', {\n\tfactory: () => luPopupEmployeeTranslations,\n});\n\nexport interface LuPopupEmployeeTranslations {\n\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: string;\n\tEMPLOYEE_CARD_PANEL_PLANNING: string;\n}\n\nexport const luPopupEmployeeTranslations: LuTranslation<LuPopupEmployeeTranslations> = Translations;\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable, OperatorFunction } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\n\nimport { ILuUserPopoverStore } from './user-popover-service.model';\nimport { LuUserPopover } from '../user-popover.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LuUserPopoverStore implements ILuUserPopoverStore {\n\t#http = inject(HttpClient);\n\t#cache = new Map<number, Observable<LuUserPopover>>();\n\tprotected _api = '/work-locations/api/employee-profile-card';\n\n\tpublic get(id: number): Observable<LuUserPopover> {\n\t\tif (this.#cache.has(id)) {\n\t\t\treturn this.#cache.get(id);\n\t\t}\n\t\tconst userPopoverObservable = this.#http.get<LuUserPopover>(`${this._api}/${id}`).pipe(\n\t\t\tcacheImage((c) => c.pictureHref),\n\t\t\tshareReplay(1),\n\t\t);\n\n\t\tthis.#cache.set(id, userPopoverObservable);\n\t\treturn userPopoverObservable;\n\t}\n\n\tpublic clearCache(userId?: number) {\n\t\tif (userId) {\n\t\t\tthis.#cache.delete(userId);\n\t\t} else {\n\t\t\tthis.#cache.clear();\n\t\t}\n\t}\n}\n\nexport function cacheImage<T>(accessor: (value: T) => string | undefined): OperatorFunction<T, T> {\n\treturn (source: Observable<T>): Observable<T> =>\n\t\tnew Observable((subscriber) => {\n\t\t\tsource.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tconst imagePath = accessor(value);\n\t\t\t\t\tif (!imagePath) {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t}\n\t\t\t\t\tconst img = new Image();\n\t\t\t\t\timg.src = imagePath!;\n\t\t\t\t\timg.onload = () => {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t};\n\t\t\t\t\timg.onerror = () => {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t});\n\t\t});\n}\n","import { Observable, of } from 'rxjs';\nimport { InjectionToken, makeEnvironmentProviders, Signal } from '@angular/core';\nimport { ILuUser } from '@lucca-front/ng/user';\n\nexport const LU_USER_POPOVER_USER = new InjectionToken<Signal<ILuUser>>('user-popover-user');\n\n/**\n * @deprecated no longer needed as popover is always activated\n */\nexport const USER_POPOVER_IS_ACTIVATED = new InjectionToken<Observable<boolean>>('user-popover-is-activated', {\n\tfactory: () => of(true),\n});\n\n/**\n * @deprecated no longer needed as user popover uses `luPopover2`\n */\nexport function provideLuUserPopover() {\n\treturn makeEnvironmentProviders([]);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isFuture, isToday } from 'date-fns';\n\n@Pipe({\n\tname: 'isFuture',\n})\nexport class IsFuturePipe implements PipeTransform {\n\tpublic transform(value: Date | undefined): boolean {\n\t\treturn !!value && isFuture(value);\n\t}\n}\n\n@Pipe({\n\tname: 'isFutureOrToday',\n})\nexport class IsFutureOrTodayPipe implements PipeTransform {\n\tpublic transform(value: Date | undefined): boolean {\n\t\treturn !value || isFuture(value) || isToday(value);\n\t}\n}\n","import { formatDate } from '@angular/common';\nimport { inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { isToday, isTomorrow } from 'date-fns';\nimport { LU_POPUP_EMPLOYEE_TRANSLATIONS } from '../../popup-employee.translate';\n\n@Pipe({\n\tname: 'leaveEndsDisplay',\n})\nexport class LeaveEndsDisplayPipe implements PipeTransform {\n\tintl = getIntl(LU_POPUP_EMPLOYEE_TRANSLATIONS);\n\tlocale = inject(LOCALE_ID);\n\tpublic transform(leaveEndsOn: Date, leaveEndIsFirstHalfDay: boolean): string {\n\t\tif (isToday(leaveEndsOn)) {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING;\n\t\t\t} else {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL;\n\t\t\t}\n\t\t} else if (isTomorrow(leaveEndsOn)) {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL;\n\t\t\t}\n\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL;\n\t\t} else {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));\n\t\t\t}\n\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));\n\t\t}\n\t}\n}\n","import { AsyncPipe, DatePipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, Signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { intlInputOptions, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { POPOVER_CONFIG } from '@lucca-front/ng/popover2';\nimport { SkeletonUserPopoverComponent } from '@lucca-front/ng/skeleton';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { BehaviorSubject, catchError, combineLatest, Observable, of, switchMap, tap } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { LU_POPUP_EMPLOYEE_TRANSLATIONS } from '../../popup-employee.translate';\nimport { LuUserPopoverStore } from '../../service/user-popover.store';\nimport { LuUserPopover } from '../../user-popover.model';\nimport { LU_USER_POPOVER_USER } from '../../user-popover.providers';\nimport { IsFutureOrTodayPipe, IsFuturePipe } from '../pipe/is-future.pipe';\nimport { LeaveEndsDisplayPipe } from '../pipe/leave-ends-display.pipe';\n\n@Component({\n\tselector: 'lu-user-popover-content',\n\ttemplateUrl: './user-popover.component.html',\n\tstyleUrl: './user-popover.component.scss',\n\timports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent, SkeletonUserPopoverComponent],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserPopoverComponent {\n\tluUser = inject<Signal<ILuUser>>(LU_USER_POPOVER_USER);\n\n\t#popoverRef = inject(POPOVER_CONFIG).ref;\n\n\t#service = inject(LuUserPopoverStore);\n\n\tintl = input(...intlInputOptions(LU_POPUP_EMPLOYEE_TRANSLATIONS));\n\n\t#errorImage$ = new BehaviorSubject<boolean>(false);\n\n\tskeletonWidths = [this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent()];\n\n\tpublic employee$: Observable<LuUserPopover> = toObservable(this.luUser).pipe(\n\t\tswitchMap((user) =>\n\t\t\tthis.#service.get(user.id).pipe(\n\t\t\t\tcatchError(() =>\n\t\t\t\t\tof({\n\t\t\t\t\t\tid: user.id,\n\t\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\t\tleaveEndIsFirstHalfDay: false,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t),\n\t\t),\n\t\ttap(() => this.#popoverRef.updatePosition()),\n\t\tshareReplay(1),\n\t);\n\n\tpublic userPictureDisplay$ = combineLatest([this.employee$, this.#errorImage$]).pipe(\n\t\tmap(([employee, isError]) => {\n\t\t\tif (employee.pictureHref && !isError) {\n\t\t\t\treturn 'img';\n\t\t\t} else {\n\t\t\t\treturn 'initials';\n\t\t\t}\n\t\t}),\n\t);\n\n\tpublic userPictureHref$ = this.employee$.pipe(map((employee) => employee.pictureHref));\n\n\tpublic userInitials$ = this.employee$.pipe(\n\t\tmap((employee) => {\n\t\t\tconst initials = `${employee.firstName[0]}${employee.lastName[0]}`;\n\n\t\t\treturn {\n\t\t\t\tinitials,\n\t\t\t\tcolor: `${employee.firstName} ${employee.lastName}`.split('').reduce((sum, a) => sum + a.charCodeAt(0), 0) % 360,\n\t\t\t};\n\t\t}),\n\t);\n\n\tpictureError() {\n\t\tthis.#errorImage$.next(true);\n\t}\n\n\tgetRandomPercent(min: number = 33, max: number = 66): string {\n\t\treturn `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n\t}\n}\n","@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat terminé -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace-state\">\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation?.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation?.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"> – {{ 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> – {{ 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</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n","import { Directive, Input, input } from '@angular/core';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { LU_USER_POPOVER_USER } from '../../user-popover.providers';\nimport { LuUserPopoverComponent } from './user-popover.component';\n\n@Directive({\n\tselector: '[luUserPopover]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\texportAs: 'LuUserPopoverDirective',\n})\nexport class LuUserPopoverDirective extends PopoverDirective {\n\tluUserPopover = input.required<ILuUser>();\n\n\t@Input()\n\tset luUserPopoverDisabled(disabled: boolean) {\n\t\tthis.luPopoverDisabled = disabled;\n\t}\n\n\toverride additionalProviders = [{ provide: LU_USER_POPOVER_USER, useValue: this.luUserPopover }];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.luPopoverDisabled = false;\n\t\tthis.customPositions = [\n\t\t\t{ overlayX: 'start', overlayY: 'bottom', originX: 'start', originY: 'top' },\n\t\t\t{ overlayX: 'start', overlayY: 'top', originX: 'start', originY: 'bottom' },\n\t\t];\n\n\t\tthis.luPopoverTrigger.set('hover+focus');\n\t\tthis.luPopoverNoCloseButton = true;\n\t\tthis.content = LuUserPopoverComponent;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-user-popover.mjs","sources":["../../../packages/ng/user-popover/translations.ts","../../../packages/ng/user-popover/popup-employee.translate.ts","../../../packages/ng/user-popover/service/user-popover.store.ts","../../../packages/ng/user-popover/user-popover.providers.ts","../../../packages/ng/user-popover/card/pipe/is-future.pipe.ts","../../../packages/ng/user-popover/card/pipe/leave-ends-display.pipe.ts","../../../packages/ng/user-popover/card/trigger/user-popover.component.ts","../../../packages/ng/user-popover/card/trigger/user-popover.component.html","../../../packages/ng/user-popover/card/trigger/lu-user-popover.directive.ts","../../../packages/ng/user-popover/lucca-front-ng-user-popover.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrival expected on {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Absent',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Morning',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Present',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Left',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Today',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'This morning',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Until tomorrow',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Until tomorrow morning',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Until {{date}} inclusive',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Until {{date}} morning',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Location',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tde: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Geplanter Dienstantritt am {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Abwesend',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Vormittag',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Anwesend',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Ausgeschieden',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Heute',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Heute Morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Bis morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Bis morgen Vormittag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Bis einschließlich {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Bis {{date}} morgens',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Standort',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tfr: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrivée prévue le {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Absent',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Matin',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Présent(e)',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Parti(e)',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: \"Aujourd'hui\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Ce matin',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: \"Jusqu'à demain\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Jusqu’à demain matin',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: \"Jusqu'au {{date}} inclus\",\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: \"Jusqu'au {{date}} matin\",\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Emplacement',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tit: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Arrivo previsto il{{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Assente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Mattina',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Ex',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Oggi',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Questa mattina',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Fino a domani',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Fino a domani mattina',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Fino al {{date}} incluso',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Fino al mattino del {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Posizione',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tnl: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Verwachte aankomst op {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Afwezig',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Ochtend',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Aanwezig',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Vertrokken',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Vandaag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Vanochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Tot morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Tot morgenochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Tot en met {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Tot {{date}} ochtend',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Locatie',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\t'nl-BE': {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Verwachte aankomst op {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Afwezig',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Ochtend',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Aanwezig',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Vertrokken',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Vandaag',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Vanochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Tot morgen',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Tot morgenochtend',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Tot en met {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Tot {{date}} ochtend',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Locatie',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tes: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Llegada prevista el {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Ausente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Se ha marchado',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Hoy',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Esta mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Hasta mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Hasta mañana por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Hasta el {{date}} incluido',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Hasta el {{date}} por la mañana',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Ubicación',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n\tpt: {\n\t\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: 'Chegada prevista para {{date}}',\n\t\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: 'Ausente',\n\t\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: 'Manhã',\n\t\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: 'Presente',\n\t\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: 'Papel',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: 'Até hoje',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: 'Esta manhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: 'Até amanhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: 'Até amanhã de manhã',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: 'Até {{date}} incluído',\n\t\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: 'Até {{date}} de manhã',\n\t\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: 'Localização',\n\t\tEMPLOYEE_CARD_PANEL_PLANNING: 'Planning',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPUP_EMPLOYEE_TRANSLATIONS = new InjectionToken('LuPopupEmployeeTranslations', {\n\tfactory: () => luPopupEmployeeTranslations,\n});\n\nexport interface LuPopupEmployeeTranslations {\n\tEMPLOYEE_CARD_PANEL_COMING_ON_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_ABSENCE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_MORNING_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_PRESENT_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL: string;\n\tEMPLOYEE_CARD_PANEL_WORKING_LOCATION: string;\n\tEMPLOYEE_CARD_PANEL_PLANNING: string;\n}\n\nexport const luPopupEmployeeTranslations: LuTranslation<LuPopupEmployeeTranslations> = Translations;\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable, OperatorFunction } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\n\nimport { ILuUserPopoverStore } from './user-popover-service.model';\nimport { LuUserPopover } from '../user-popover.model';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class LuUserPopoverStore implements ILuUserPopoverStore {\n\t#http = inject(HttpClient);\n\t#cache = new Map<number, Observable<LuUserPopover>>();\n\tprotected _api = '/work-locations/api/employee-profile-card';\n\n\tpublic get(id: number): Observable<LuUserPopover> {\n\t\tif (this.#cache.has(id)) {\n\t\t\treturn this.#cache.get(id);\n\t\t}\n\t\tconst userPopoverObservable = this.#http.get<LuUserPopover>(`${this._api}/${id}`).pipe(\n\t\t\tcacheImage((c) => c.pictureHref),\n\t\t\tshareReplay(1),\n\t\t);\n\n\t\tthis.#cache.set(id, userPopoverObservable);\n\t\treturn userPopoverObservable;\n\t}\n\n\tpublic clearCache(userId?: number) {\n\t\tif (userId) {\n\t\t\tthis.#cache.delete(userId);\n\t\t} else {\n\t\t\tthis.#cache.clear();\n\t\t}\n\t}\n}\n\nexport function cacheImage<T>(accessor: (value: T) => string | undefined): OperatorFunction<T, T> {\n\treturn (source: Observable<T>): Observable<T> =>\n\t\tnew Observable((subscriber) => {\n\t\t\tsource.subscribe({\n\t\t\t\tnext(value) {\n\t\t\t\t\tconst imagePath = accessor(value);\n\t\t\t\t\tif (!imagePath) {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t}\n\t\t\t\t\tconst img = new Image();\n\t\t\t\t\timg.src = imagePath!;\n\t\t\t\t\timg.onload = () => {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t};\n\t\t\t\t\timg.onerror = () => {\n\t\t\t\t\t\tsubscriber.next(value);\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\terror(err: Error) {\n\t\t\t\t\tsubscriber.error(err);\n\t\t\t\t},\n\t\t\t});\n\t\t});\n}\n","import { Observable, of } from 'rxjs';\nimport { InjectionToken, makeEnvironmentProviders, Signal } from '@angular/core';\nimport { ILuUser } from '@lucca-front/ng/user';\n\nexport const LU_USER_POPOVER_USER = new InjectionToken<Signal<ILuUser>>('user-popover-user');\n\n/**\n * @deprecated no longer needed as popover is always activated\n */\nexport const USER_POPOVER_IS_ACTIVATED = new InjectionToken<Observable<boolean>>('user-popover-is-activated', {\n\tfactory: () => of(true),\n});\n\n/**\n * @deprecated no longer needed as user popover uses `luPopover2`\n */\nexport function provideLuUserPopover() {\n\treturn makeEnvironmentProviders([]);\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isFuture, isToday } from 'date-fns';\n\n@Pipe({\n\tname: 'isFuture',\n})\nexport class IsFuturePipe implements PipeTransform {\n\tpublic transform(value: Date | undefined): boolean {\n\t\treturn !!value && isFuture(value);\n\t}\n}\n\n@Pipe({\n\tname: 'isFutureOrToday',\n})\nexport class IsFutureOrTodayPipe implements PipeTransform {\n\tpublic transform(value: Date | undefined): boolean {\n\t\treturn !value || isFuture(value) || isToday(value);\n\t}\n}\n","import { formatDate } from '@angular/common';\nimport { inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { isToday, isTomorrow } from 'date-fns';\nimport { LU_POPUP_EMPLOYEE_TRANSLATIONS } from '../../popup-employee.translate';\n\n@Pipe({\n\tname: 'leaveEndsDisplay',\n})\nexport class LeaveEndsDisplayPipe implements PipeTransform {\n\tintl = getIntl(LU_POPUP_EMPLOYEE_TRANSLATIONS);\n\tlocale = inject(LOCALE_ID);\n\tpublic transform(leaveEndsOn: Date, leaveEndIsFirstHalfDay: boolean): string {\n\t\tif (isToday(leaveEndsOn)) {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL_MORNING;\n\t\t\t} else {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TODAY_LABEL;\n\t\t\t}\n\t\t} else if (isTomorrow(leaveEndsOn)) {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_MORNING_LABEL;\n\t\t\t}\n\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_TOMORROW_LABEL;\n\t\t} else {\n\t\t\tif (leaveEndIsFirstHalfDay) {\n\t\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_MORNING_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));\n\t\t\t}\n\t\t\treturn this.intl.EMPLOYEE_CARD_PANEL_UNTIL_DATE_LABEL.replace('{{date}}', formatDate(leaveEndsOn, 'longDate', this.locale));\n\t\t}\n\t}\n}\n","import { AsyncPipe, DatePipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input, Signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { intlInputOptions, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { POPOVER_CONFIG } from '@lucca-front/ng/popover2';\nimport { SkeletonUserPopoverComponent } from '@lucca-front/ng/skeleton';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { BehaviorSubject, catchError, combineLatest, Observable, of, switchMap, tap } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\nimport { LU_POPUP_EMPLOYEE_TRANSLATIONS } from '../../popup-employee.translate';\nimport { LuUserPopoverStore } from '../../service/user-popover.store';\nimport { LuUserPopover } from '../../user-popover.model';\nimport { LU_USER_POPOVER_USER } from '../../user-popover.providers';\nimport { IsFutureOrTodayPipe, IsFuturePipe } from '../pipe/is-future.pipe';\nimport { LeaveEndsDisplayPipe } from '../pipe/leave-ends-display.pipe';\n\n@Component({\n\tselector: 'lu-user-popover-content',\n\ttemplateUrl: './user-popover.component.html',\n\tstyleUrl: './user-popover.component.scss',\n\timports: [AsyncPipe, NgTemplateOutlet, DatePipe, IntlParamsPipe, IsFuturePipe, IsFutureOrTodayPipe, LeaveEndsDisplayPipe, IconComponent, SkeletonUserPopoverComponent],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserPopoverComponent {\n\tluUser = inject<Signal<ILuUser>>(LU_USER_POPOVER_USER);\n\n\t#popoverRef = inject(POPOVER_CONFIG).ref;\n\n\t#service = inject(LuUserPopoverStore);\n\n\tintl = input(...intlInputOptions(LU_POPUP_EMPLOYEE_TRANSLATIONS));\n\n\t#errorImage$ = new BehaviorSubject<boolean>(false);\n\n\tskeletonWidths = [this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent(), this.getRandomPercent()];\n\n\tpublic employee$: Observable<LuUserPopover> = toObservable(this.luUser).pipe(\n\t\tswitchMap((user) =>\n\t\t\tthis.#service.get(user.id).pipe(\n\t\t\t\tcatchError(() =>\n\t\t\t\t\tof({\n\t\t\t\t\t\tid: user.id,\n\t\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\t\tleaveEndIsFirstHalfDay: false,\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t),\n\t\t),\n\t\ttap(() => this.#popoverRef.updatePosition()),\n\t\tshareReplay(1),\n\t);\n\n\tpublic userPictureDisplay$ = combineLatest([this.employee$, this.#errorImage$]).pipe(\n\t\tmap(([employee, isError]) => {\n\t\t\tif (employee.pictureHref && !isError) {\n\t\t\t\treturn 'img';\n\t\t\t} else {\n\t\t\t\treturn 'initials';\n\t\t\t}\n\t\t}),\n\t);\n\n\tpublic userPictureHref$ = this.employee$.pipe(map((employee) => employee.pictureHref));\n\n\tpublic userInitials$ = this.employee$.pipe(\n\t\tmap((employee) => {\n\t\t\tconst initials = `${employee.firstName[0]}${employee.lastName[0]}`;\n\n\t\t\treturn {\n\t\t\t\tinitials,\n\t\t\t\tcolor: `${employee.firstName} ${employee.lastName}`.split('').reduce((sum, a) => sum + a.charCodeAt(0), 0) % 360,\n\t\t\t};\n\t\t}),\n\t);\n\n\tpictureError() {\n\t\tthis.#errorImage$.next(true);\n\t}\n\n\tgetRandomPercent(min: number = 33, max: number = 66): string {\n\t\treturn `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n\t}\n}\n","@if (employee$ | async; as employee) {\n\t<div class=\"userPopover pr-u-animatedFadeIn\">\n\t\t<section class=\"userPopover-details\">\n\t\t\t<div class=\"userPopover-details-avatar avatar\">\n\t\t\t\t@switch (userPictureDisplay$ | async) {\n\t\t\t\t\t@case (\"img\") {\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclass=\"avatar-picture\"\n\t\t\t\t\t\t\t[src]=\"userPictureHref$ | async\"\n\t\t\t\t\t\t\t[alt]=\"(userInitials$ | async)?.initials\"\n\t\t\t\t\t\t\t(error)=\"pictureError()\"\n\t\t\t\t\t\t\ttranslate=\"no\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t@case (\"initials\") {\n\t\t\t\t\t\t@if (userInitials$ | async; as initials) {\n\t\t\t\t\t\t\t<div class=\"avatar-picture\" style.background-color=\"hsl({{ initials.color }}, 60%, 60%)\">\n\t\t\t\t\t\t\t\t<span class=\"avatar-picture-initials\" translate=\"no\">{{ initials.initials }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1 class=\"userPopover-details-info-name pr-u-ellipsis\">\n\t\t\t\t\t@if (!employee._links?.hrCard?.href) {\n\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t<a class=\"userPopover-details-info-name-linkOptional\" [href]=\"employee._links?.hrCard?.href\">\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"fullNameDisplay\" />\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</h1>\n\t\t\t\t<ng-template #fullNameDisplay\n\t\t\t\t\t><span translate=\"no\">{{ employee.firstName }} {{ employee.lastName }}</span></ng-template\n\t\t\t\t>\n\t\t\t\t@if (employee.jobTitle) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.jobTitle }}</p>\n\t\t\t\t}\n\t\t\t\t@if (employee.userDepartment?.name) {\n\t\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-ellipsis\">{{ employee.userDepartment?.name }}</p>\n\t\t\t\t}\n\n\t\t\t\t<p class=\"userPopover-details-info-detail pr-u-marginTopXS\">\n\t\t\t\t\t<!-- HORS CONTRAT-->\n\t\t\t\t\t@if (employee.dtContractStart | isFuture) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\">\n\t\t\t\t\t\t\t\t{{ intl().EMPLOYEE_CARD_PANEL_COMING_ON_LABEL | intlParams: { date: (employee.dtContractStart | date: \"shortDate\") } }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t\t<!-- Contrat terminé -->\n\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && !(employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace\">\n\t\t\t\t\t\t\t<lu-icon icon=\"calendarStrikethrough\" size=\"S\" />\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-link-state\"> {{ intl().EMPLOYEE_CARD_PANEL_EMPLOYEE_HAS_LEAVED_LABEL }} </span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\n\t\t\t\t\t<!-- EN CONTRAT-->\n\t\t\t\t\t@if (employee._links?.schedule && !(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t<a class=\"userPopover-details-info-detail-workplace\" [href]=\"employee._links?.schedule?.href\">\n\t\t\t\t\t\t\t@if (employee.isWorkingNow && employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"mapPin\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t@if (!employee.isWorkingNow || !employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t<lu-icon icon=\"calendarPlanning\" size=\"S\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t<span class=\"userPopover-details-info-detail-workplace-state\">\n\t\t\t\t\t\t\t\t@if (employee.isWorkingNow) {\n\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ employee.currentWorkLocation?.name }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.currentWorkLocation?.area) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-colorTextSubtle\"> – {{ 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> – {{ 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</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<lu-skeleton-user-popover />\n}\n","import { Directive, Input, input } from '@angular/core';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { LU_USER_POPOVER_USER } from '../../user-popover.providers';\nimport { LuUserPopoverComponent } from './user-popover.component';\n\n@Directive({\n\tselector: '[luUserPopover]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\texportAs: 'LuUserPopoverDirective',\n})\nexport class LuUserPopoverDirective extends PopoverDirective {\n\tluUserPopover = input.required<ILuUser>();\n\n\t@Input()\n\tset luUserPopoverDisabled(disabled: boolean) {\n\t\tthis.luPopoverDisabled = disabled;\n\t}\n\n\toverride additionalProviders = [{ provide: LU_USER_POPOVER_USER, useValue: this.luUserPopover }];\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.luPopoverDisabled = false;\n\t\tthis.customPositions = [\n\t\t\t{ overlayX: 'start', overlayY: 'bottom', originX: 'start', originY: 'top' },\n\t\t\t{ overlayX: 'start', overlayY: 'top', originX: 'start', originY: 'bottom' },\n\t\t];\n\n\t\tthis.luPopoverTrigger.set('hover+focus');\n\t\tthis.luPopoverNoCloseButton = true;\n\t\tthis.content = LuUserPopoverComponent;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "21.4.1",
3
+ "version": "21.4.2",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,9 +28,9 @@
28
28
  "@angular/core": "^21.0.0 || ^22.0.0",
29
29
  "@angular/cdk": "^21.0.0 || ^22.0.0",
30
30
  "@angular/animations": "^21.0.0 || ^22.0.0",
31
- "@lucca-front/icons": "21.4.1",
32
- "@lucca-front/scss": "21.4.1",
33
- "@lucca/prisme": "21.4.1",
31
+ "@lucca-front/icons": "21.4.2",
32
+ "@lucca-front/scss": "21.4.2",
33
+ "@lucca/prisme": "21.4.2",
34
34
  "@types/dompurify": "^3.0.0",
35
35
  "isomorphic-dompurify": "^2.17.0",
36
36
  "date-fns": "^3.6.0",
@@ -19,12 +19,13 @@ declare class CommentComponent {
19
19
  readonly contentIsPortal: _angular_core.Signal<boolean>;
20
20
  readonly contentIsHTML: _angular_core.Signal<boolean>;
21
21
  readonly noInfos: _angular_core.InputSignalWithTransform<boolean, unknown>;
22
+ readonly plainText: _angular_core.InputSignalWithTransform<boolean, unknown>;
22
23
  readonly dateDisplay: _angular_core.Signal<string>;
23
24
  readonly role: _angular_core.Signal<string>;
24
25
  get roleAttr(): string | null;
25
26
  isStringPortalContent(message: PortalContent): message is string;
26
27
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommentComponent, never>;
27
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommentComponent, "lu-comment", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "datePipeFormat": { "alias": "datePipeFormat"; "required": false; "isSignal": true; }; "noInfos": { "alias": "noInfos"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommentComponent, "lu-comment", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "datePipeFormat": { "alias": "datePipeFormat"; "required": false; "isSignal": true; }; "noInfos": { "alias": "noInfos"; "required": false; "isSignal": true; }; "plainText": { "alias": "plainText"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
28
29
  }
29
30
 
30
31
  declare class CommentBlockComponent {
@@ -223,6 +223,18 @@ interface CoreSelectPanelInstance<T = unknown> {
223
223
  }
224
224
  declare const SELECT_PANEL_INSTANCE: InjectionToken<CoreSelectPanelInstance<unknown>>;
225
225
 
226
+ /**
227
+ * Tracks whether the user is currently navigating with the pointer or with the keyboard.
228
+ *
229
+ * Both listeners are registered natively and outside of the Angular zone, and the signal is only
230
+ * written when the value actually changes: `mousemove` fires on every frame the mouse moves, and
231
+ * going through Angular's event system there schedules a change detection run each time — for a
232
+ * value that almost never changes.
233
+ *
234
+ * Must be called from an injection context.
235
+ */
236
+ declare function injectPointerNavigation(): Signal<boolean>;
237
+
226
238
  declare const LU_CORE_SELECT_TRANSLATIONS: InjectionToken<LuTranslation<LuCoreSelectLabel>>;
227
239
  interface LuCoreSelectLabel {
228
240
  addOption: string;
@@ -400,5 +412,5 @@ declare class LuIsOptionSelectedPipe<T> implements PipeTransform {
400
412
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<LuIsOptionSelectedPipe<any>, "luIsOptionSelected", true>;
401
413
  }
402
414
 
403
- export { ALuSelectInputComponent, CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectKeyManager, LU_CORE_SELECT_TRANSLATIONS, LU_OPTION_CONTEXT, LuCoreSelectNoClueDirective, LuCoreSelectPanelHeaderDirective, LuCoreSelectTotalCountDirective, LuDisabledOptionDirective, LuDisplayerDirective, LuIsOptionSelectedPipe, LuOptionDirective, LuOptionGroupDirective, LuSelectPanelRef, LuSimpleSelectDefaultOptionComponent, SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID, SELECT_PANEL_INSTANCE, TreeDisplayPipe, addAttributesOnCdkContainer, applySearchDelimiter, coreSelectDefaultOptionComparer, coreSelectDefaultOptionKey, luCoreSelectTranslations, provideLuSelectLabelsAndIds, provideOptionContext, CoreSelectPanelElement as ɵCoreSelectPanelElement, ɵIsSelectedStrategy, LuOptionComponent as ɵLuOptionComponent, LuOptionGroupPipe as ɵLuOptionGroupPipe, LuOptionOutletDirective as ɵLuOptionOutletDirective, generateGroups as ɵgenerateGroups, getGroupTemplateLocation as ɵgetGroupTemplateLocation };
415
+ export { ALuSelectInputComponent, CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectKeyManager, LU_CORE_SELECT_TRANSLATIONS, LU_OPTION_CONTEXT, LuCoreSelectNoClueDirective, LuCoreSelectPanelHeaderDirective, LuCoreSelectTotalCountDirective, LuDisabledOptionDirective, LuDisplayerDirective, LuIsOptionSelectedPipe, LuOptionDirective, LuOptionGroupDirective, LuSelectPanelRef, LuSimpleSelectDefaultOptionComponent, SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID, SELECT_PANEL_INSTANCE, TreeDisplayPipe, addAttributesOnCdkContainer, applySearchDelimiter, coreSelectDefaultOptionComparer, coreSelectDefaultOptionKey, luCoreSelectTranslations, provideLuSelectLabelsAndIds, provideOptionContext, CoreSelectPanelElement as ɵCoreSelectPanelElement, ɵIsSelectedStrategy, LuOptionComponent as ɵLuOptionComponent, LuOptionGroupPipe as ɵLuOptionGroupPipe, LuOptionOutletDirective as ɵLuOptionOutletDirective, generateGroups as ɵgenerateGroups, getGroupTemplateLocation as ɵgetGroupTemplateLocation, injectPointerNavigation as ɵinjectPointerNavigation };
404
416
  export type { CoreSelectAddOptionStrategy, CoreSelectApiTotalCountProvider, CoreSelectPanelInstance, ILuOptionContext, LuCoreSelectLabel, LuOptionComparer, LuOptionContext, LuOptionGroup, LuOptionGroupByContext, LuOptionGrouping, TreeGenerator, TreeGroupingFn, TreeNode };
@@ -93,6 +93,7 @@ declare class FilterPillComponent {
93
93
  constructor();
94
94
  hostClick(): void;
95
95
  popoverOpened(): void;
96
+ popoverClosed(): void;
96
97
  closePopover: () => void;
97
98
  updatePosition: () => void;
98
99
  clear(): void;
@@ -317,6 +317,7 @@ declare class TextInputComponent {
317
317
  protected showPassword: _angular_core.WritableSignal<boolean>;
318
318
  protected typeRef: _angular_core.Signal<TextFieldType>;
319
319
  protected hasTogglePasswordVisibilityIcon: _angular_core.Signal<boolean>;
320
+ protected hasValue(): boolean;
320
321
  clearValue(): void;
321
322
  togglePasswordVisibility(): void;
322
323
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextInputComponent, never>;
@@ -387,7 +388,7 @@ interface LuColorLabel {
387
388
 
388
389
  declare class ColorInputComponent {
389
390
  intl: _angular_core.InputSignalWithTransform<LuColorLabel, Partial<LuColorLabel>>;
390
- pointerNavigation: _angular_core.WritableSignal<boolean>;
391
+ pointerNavigation: Signal<boolean>;
391
392
  mouseHighlighted: _angular_core.WritableSignal<string>;
392
393
  keyboardHighlighted: _angular_core.WritableSignal<string>;
393
394
  highlighted: Signal<string>;
@@ -401,8 +402,6 @@ declare class ColorInputComponent {
401
402
  currentColorPresentation: Signal<ColorOption | null>;
402
403
  constructor();
403
404
  filteredColors: Signal<ColorOption[]>;
404
- onKeydown(): void;
405
- onMousemove(): void;
406
405
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInputComponent, never>;
407
406
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorInputComponent, "lu-color-input", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": true; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
408
407
  }
@@ -57,7 +57,12 @@ declare class LuMultiSelectInputComponent<T> extends ALuSelectInputComponent<T,
57
57
  valuesTpl: i0.ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<T[]>>>;
58
58
  maxValuesShown: number;
59
59
  keepSearchAfterSelection: boolean;
60
- filterPillLabelPlural: string;
60
+ /**
61
+ * @deprecated use filterPillLabelPluralFn
62
+ */
63
+ filterPillLabelPlural: i0.InputSignal<string>;
64
+ filterPillLabelPluralFn: i0.InputSignal<(count: number) => string>;
65
+ filterPillLabelPluralValue: Signal<string>;
61
66
  selectParent$: Subject<void>;
62
67
  selectChildren$: Subject<void>;
63
68
  get filterPillClass(): boolean;
@@ -66,6 +71,7 @@ declare class LuMultiSelectInputComponent<T> extends ALuSelectInputComponent<T,
66
71
  isFilterPillEmpty: Signal<boolean>;
67
72
  valueLength: Signal<number>;
68
73
  useSingleOptionDisplayer: Signal<boolean>;
74
+ singleOptionForDisplay: Signal<T | undefined>;
69
75
  _value: T[];
70
76
  protected readonly presentationSeparators: Signal<string[]>;
71
77
  get panelRef(): LuMultiSelectPanelRef<T> | undefined;
@@ -94,7 +100,7 @@ declare class LuMultiSelectInputComponent<T> extends ALuSelectInputComponent<T,
94
100
  clearValue(event?: Event): void;
95
101
  ngOnDestroy(): void;
96
102
  static ɵfac: i0.ɵɵFactoryDeclaration<LuMultiSelectInputComponent<any>, never>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<LuMultiSelectInputComponent<any>, "lu-multi-select", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "valuesTpl": { "alias": "valuesTpl"; "required": false; "isSignal": true; }; "maxValuesShown": { "alias": "maxValuesShown"; "required": false; }; "keepSearchAfterSelection": { "alias": "keepSearchAfterSelection"; "required": false; }; "filterPillLabelPlural": { "alias": "filterPillLabelPlural"; "required": false; }; }, { "valuesTpl": "valuesTplChange"; }, never, never, true, never>;
103
+ static ɵcmp: i0.ɵɵComponentDeclaration<LuMultiSelectInputComponent<any>, "lu-multi-select", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "valuesTpl": { "alias": "valuesTpl"; "required": false; "isSignal": true; }; "maxValuesShown": { "alias": "maxValuesShown"; "required": false; }; "keepSearchAfterSelection": { "alias": "keepSearchAfterSelection"; "required": false; }; "filterPillLabelPlural": { "alias": "filterPillLabelPlural"; "required": false; "isSignal": true; }; "filterPillLabelPluralFn": { "alias": "filterPillLabelPluralFn"; "required": false; "isSignal": true; }; }, { "valuesTpl": "valuesTplChange"; }, never, never, true, never>;
98
104
  static ngAcceptInputType_maxValuesShown: unknown;
99
105
  static ngAcceptInputType_keepSearchAfterSelection: unknown;
100
106
  }
@@ -120,7 +126,7 @@ interface LuMultiSelectWithSelectAllContext {
120
126
  setSelectAll(value: boolean): void;
121
127
  mode: Signal<LuMultiSelectionMode>;
122
128
  values: Signal<unknown[]>;
123
- displayerLabel: Signal<string>;
129
+ displayerLabelValue: Signal<string>;
124
130
  totalCount: Signal<number>;
125
131
  displayerCount: Signal<number>;
126
132
  intl: Signal<ILuMultiSelectLabel>;
@@ -130,11 +136,17 @@ declare class LuMultiSelectWithSelectAllDirective<TValue> extends _IsSelectedStr
130
136
  #private;
131
137
  readonly select: LuMultiSelectInputComponent<TValue>;
132
138
  readonly intl: i0.InputSignalWithTransform<_lucca_front_ng_core_select.LuCoreSelectLabel & _lucca_front_ng_multi_select.ILuMultiSelectLabel, Partial<_lucca_front_ng_core_select.LuCoreSelectLabel & _lucca_front_ng_multi_select.ILuMultiSelectLabel>>;
139
+ /**
140
+ * @deprecated use withSelectAllDisplayerLabelFn
141
+ */
133
142
  readonly displayerLabel: i0.InputSignal<string>;
143
+ readonly displayerLabelFn: i0.InputSignal<(count: number) => string>;
144
+ readonly displayerLabelValue: i0.Signal<string>;
134
145
  readonly mode: i0.Signal<"include" | "exclude" | "none" | "all">;
135
146
  readonly values: i0.Signal<TValue[]>;
136
147
  readonly totalCount: i0.Signal<number>;
137
148
  readonly clueChange: i0.Signal<string>;
149
+ readonly singleRemainingOption: i0.Signal<TValue>;
138
150
  readonly displayerCount: i0.Signal<number>;
139
151
  constructor();
140
152
  setSelectAll(selectAll: boolean): void;
@@ -144,7 +156,7 @@ declare class LuMultiSelectWithSelectAllDirective<TValue> extends _IsSelectedStr
144
156
  writeValue(value: TValue[] | LuMultiSelection<TValue>): void;
145
157
  clearValue($event: Event): void;
146
158
  static ɵfac: i0.ɵɵFactoryDeclaration<LuMultiSelectWithSelectAllDirective<any>, never>;
147
- static ɵdir: i0.ɵɵDirectiveDeclaration<LuMultiSelectWithSelectAllDirective<any>, "lu-multi-select[withSelectAll]", never, { "displayerLabel": { "alias": "withSelectAllDisplayerLabel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
159
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LuMultiSelectWithSelectAllDirective<any>, "lu-multi-select[withSelectAll]", never, { "displayerLabel": { "alias": "withSelectAllDisplayerLabel"; "required": false; "isSignal": true; }; "displayerLabelFn": { "alias": "withSelectAllDisplayerLabelFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
148
160
  }
149
161
 
150
162
  declare class LuMultiSelectContentDisplayerComponent<T> {
@@ -32,6 +32,7 @@ declare class NumericBadgeComponent {
32
32
  * Disabled tooltip on numeric badge
33
33
  */
34
34
  readonly disableTooltip: _angular_core.InputSignalWithTransform<boolean, unknown>;
35
+ readonly ariaHidden: _angular_core.Signal<string>;
35
36
  readonly numericBadgeClasses: _angular_core.Signal<{
36
37
  [x: string]: boolean;
37
38
  }>;
@@ -16,6 +16,11 @@ declare class ReadMoreComponent {
16
16
  * Prevent the component from closing by hiding the "Read less" button
17
17
  */
18
18
  readonly openOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
19
+ /**
20
+ * Display the `\n` of the content as line breaks instead of collapsing them into spaces (`white-space: pre-line`).
21
+ * Meant for plain-text content such as a textarea value.
22
+ */
23
+ readonly plainText: _angular_core.InputSignalWithTransform<boolean, unknown>;
19
24
  /**
20
25
  * Change the background color under the "Read more / less" button
21
26
  */
@@ -39,7 +44,7 @@ declare class ReadMoreComponent {
39
44
  constructor();
40
45
  toggleExpanded(): void;
41
46
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ReadMoreComponent, never>;
42
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReadMoreComponent, "lu-read-more", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "openOnly": { "alias": "openOnly"; "required": false; "isSignal": true; }; "textFlow": { "alias": "textFlow"; "required": false; "isSignal": true; }; "surface": { "alias": "surface"; "required": false; "isSignal": true; }; "innerContent": { "alias": "innerContent"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
47
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReadMoreComponent, "lu-read-more", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "lineClamp": { "alias": "lineClamp"; "required": false; "isSignal": true; }; "openOnly": { "alias": "openOnly"; "required": false; "isSignal": true; }; "plainText": { "alias": "plainText"; "required": false; "isSignal": true; }; "textFlow": { "alias": "textFlow"; "required": false; "isSignal": true; }; "surface": { "alias": "surface"; "required": false; "isSignal": true; }; "innerContent": { "alias": "innerContent"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
43
48
  }
44
49
 
45
50
  /**
@@ -58,9 +58,7 @@ declare class LuSelectPanelComponent<T> implements AfterViewInit, CoreSelectPane
58
58
  initialValue: T | undefined;
59
59
  optionTpl: _angular_core.ModelSignal<_angular_core.Type<unknown> | _angular_core.TemplateRef<_lucca_front_ng_core_select.LuOptionContext<T>>>;
60
60
  options: _angular_core.WritableSignal<_CoreSelectPanelElement<T>[]>;
61
- pointerNavigation: _angular_core.WritableSignal<boolean>;
62
- onKeydown(): void;
63
- onMousemove(): void;
61
+ pointerNavigation: _angular_core.Signal<boolean>;
64
62
  keyManager: CoreSelectKeyManager<T>;
65
63
  selected: _angular_core.Signal<T>;
66
64
  hasGrouping$: rxjs.Observable<boolean>;