@lucca-front/ng 21.0.0-rc.5 → 21.0.0-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data-table/index.d.ts +1 -1
- package/dialog/index.d.ts +60 -59
- package/fesm2022/lucca-front-ng-chip.mjs +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +15 -15
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +96 -92
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +2 -2
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +5 -5
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +2 -2
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +29 -55
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +3 -3
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +1 -1
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +26 -24
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs +1 -1
- package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-tooltip.mjs +2 -4
- package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +2 -2
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/index-table/index.d.ts +1 -1
- package/link/index.d.ts +3 -6
- package/package.json +33 -37
- package/schematics/collection.json +10 -0
- package/schematics/color-text/index.js +55 -0
- package/schematics/color-text/migration.spec.js +50 -0
- package/schematics/color-text/schema.json +23 -0
- package/schematics/lib/angular-component-ast.js +29 -0
- package/schematics/lu-text-input/index.js +24 -0
- package/schematics/lu-text-input/migration.js +116 -0
- package/schematics/lu-text-input/migration.spec.js +23 -0
- package/schematics/lu-text-input/schema.json +23 -0
- package/scroll-box/index.d.ts +6 -5
- package/src/components/cdk/_global.scss +22 -1
- package/tooltip/index.d.ts +2 -2
- package/fesm2022/lucca-front-ng-scrollBox.mjs +0 -6
- package/fesm2022/lucca-front-ng-scrollBox.mjs.map +0 -1
- package/scrollBox/index.d.ts +0 -1
|
@@ -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 { importProvidersFrom, inject, InjectionToken, makeEnvironmentProviders, Signal } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, shareReplay } from 'rxjs/operators';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ILuUser } from '@lucca-front/ng/user';\n\nexport const LU_USER_POPOVER_USER = new InjectionToken<Signal<ILuUser>>('user-popover-user');\n\nexport const USER_POPOVER_IS_ACTIVATED = new InjectionToken<Observable<boolean>>('user-popover-is-activated', {\n\tfactory: () =>\n\t\tinject(HttpClient)\n\t\t\t.get<{ key: string; status: string }>('/lucca-banner/meta/api/feature-flag-statuses/user-popover-is-activated')\n\t\t\t.pipe(\n\t\t\t\tmap((flag) => flag.status === 'Enabled'),\n\t\t\t\tcatchError(() => of(false)),\n\t\t\t\tshareReplay(1),\n\t\t\t),\n});\n\nexport function provideLuUserPopover() {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\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 } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { getIntl, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { POPOVER_CONFIG } from '@lucca-front/ng/popover2';\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],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserPopoverComponent {\n\tluUser = inject(LU_USER_POPOVER_USER);\n\n\t#popoverRef = inject(POPOVER_CONFIG).ref;\n\n\t#service = inject(LuUserPopoverStore);\n\n\tintl = getIntl(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-textLight\"> – {{ employee.currentWorkLocation?.area?.name }}</span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@if (!employee.currentWorkLocation) {\n\t\t\t\t\t\t\t\t\t\t{{ intl.EMPLOYEE_CARD_PANEL_PRESENT_LABEL }}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t\t\t@if (!(employee.dtContractStart | isFuture) && (employee.dtContractEnd | isFutureOrToday)) {\n\t\t\t\t\t\t\t\t\t\t{{ intl.EMPLOYEE_CARD_PANEL_ABSENCE_LABEL }}\n\t\t\t\t\t\t\t\t\t\t@if (employee.leaveEndsOn) {\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"pr-u-textLight\"> – {{ employee.leaveEndsOn | leaveEndsDisplay: employee.leaveEndIsFirstHalfDay }} </span>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</section>\n\t</div>\n} @else {\n\t<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n","import { Directive, inject, Input, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { LU_USER_POPOVER_USER, USER_POPOVER_IS_ACTIVATED } 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\t// Default to disabled to avoid having it flicker or something\n\t\tthis.luPopoverDisabled = false;\n\t\tinject(USER_POPOVER_IS_ACTIVATED)\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe((isActivated) => {\n\t\t\t\tthis.luPopoverDisabled = !isActivated;\n\t\t\t});\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":["catchError"],"mappings":";;;;;;;;;;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,8BAA8B;AACnE,QAAA,iCAAiC,EAAE,QAAQ;AAC3C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,6CAA6C,EAAE,MAAM;AACrD,QAAA,qCAAqC,EAAE,OAAO;AAC9C,QAAA,6CAA6C,EAAE,cAAc;AAC7D,QAAA,wCAAwC,EAAE,gBAAgB;AAC1D,QAAA,gDAAgD,EAAE,wBAAwB;AAC1E,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,wBAAwB;AACtE,QAAA,oCAAoC,EAAE,UAAU;AAChD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,qCAAqC;AAC1E,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,iCAAiC,EAAE,WAAW;AAC9C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,eAAe;AAC9D,QAAA,qCAAqC,EAAE,OAAO;AAC9C,QAAA,6CAA6C,EAAE,cAAc;AAC7D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,sBAAsB;AACxE,QAAA,oCAAoC,EAAE,6BAA6B;AACnE,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,UAAU;AAChD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,4BAA4B;AACjE,QAAA,iCAAiC,EAAE,QAAQ;AAC3C,QAAA,iCAAiC,EAAE,OAAO;AAC1C,QAAA,iCAAiC,EAAE,YAAY;AAC/C,QAAA,6CAA6C,EAAE,UAAU;AACzD,QAAA,qCAAqC,EAAE,aAAa;AACpD,QAAA,6CAA6C,EAAE,UAAU;AACzD,QAAA,wCAAwC,EAAE,gBAAgB;AAC1D,QAAA,gDAAgD,EAAE,sBAAsB;AACxE,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,yBAAyB;AACvE,QAAA,oCAAoC,EAAE,aAAa;AACnD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,4BAA4B;AACjE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,IAAI;AACnD,QAAA,qCAAqC,EAAE,MAAM;AAC7C,QAAA,6CAA6C,EAAE,gBAAgB;AAC/D,QAAA,wCAAwC,EAAE,eAAe;AACzD,QAAA,gDAAgD,EAAE,uBAAuB;AACzE,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,8BAA8B;AAC5E,QAAA,oCAAoC,EAAE,WAAW;AACjD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,qCAAqC,EAAE,SAAS;AAChD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,mBAAmB;AACrE,QAAA,oCAAoC,EAAE,qBAAqB;AAC3D,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,SAAS;AAC/C,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,qCAAqC,EAAE,SAAS;AAChD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,mBAAmB;AACrE,QAAA,oCAAoC,EAAE,qBAAqB;AAC3D,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,SAAS;AAC/C,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,8BAA8B;AACnE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,eAAe;AAClD,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,gBAAgB;AAC/D,QAAA,qCAAqC,EAAE,KAAK;AAC5C,QAAA,6CAA6C,EAAE,aAAa;AAC5D,QAAA,wCAAwC,EAAE,cAAc;AACxD,QAAA,gDAAgD,EAAE,4BAA4B;AAC9E,QAAA,oCAAoC,EAAE,4BAA4B;AAClE,QAAA,4CAA4C,EAAE,iCAAiC;AAC/E,QAAA,oCAAoC,EAAE,WAAW;AACjD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,OAAO;AAC1C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,OAAO;AACtD,QAAA,qCAAqC,EAAE,UAAU;AACjD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,qBAAqB;AACvE,QAAA,oCAAoC,EAAE,uBAAuB;AAC7D,QAAA,4CAA4C,EAAE,uBAAuB;AACrE,QAAA,oCAAoC,EAAE,aAAa;AACnD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;CACD;;MCrHY,8BAA8B,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AAC/F,IAAA,OAAO,EAAE,MAAM,2BAA2B;AAC1C,CAAA;AAkBM,MAAM,2BAA2B,GAA+C;;MCb1E,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAqC;QAC3C,IAAI,CAAA,IAAA,GAAG,2CAA2C;AAsB5D;AAxBA,IAAA,KAAK;AACL,IAAA,MAAM;AAGC,IAAA,GAAG,CAAC,EAAU,EAAA;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;;AAE3B,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC,CAAC,IAAI,CACrF,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAChC,WAAW,CAAC,CAAC,CAAC,CACd;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC;AAC1C,QAAA,OAAO,qBAAqB;;AAGtB,IAAA,UAAU,CAAC,MAAe,EAAA;QAChC,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;aACpB;AACN,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;;8GAtBT,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;AAClB,iBAAA;;AA4BK,SAAU,UAAU,CAAI,QAA0C,EAAA;IACvE,OAAO,CAAC,MAAqB,KAC5B,IAAI,UAAU,CAAC,CAAC,UAAU,KAAI;QAC7B,MAAM,CAAC,SAAS,CAAC;AAChB,YAAA,IAAI,CAAC,KAAK,EAAA;AACT,gBAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,SAAS,EAAE;AACf,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEvB,gBAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,gBAAA,GAAG,CAAC,GAAG,GAAG,SAAU;AACpB,gBAAA,GAAG,CAAC,MAAM,GAAG,MAAK;AACjB,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,iBAAC;AACD,gBAAA,GAAG,CAAC,OAAO,GAAG,MAAK;AAClB,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,iBAAC;aACD;AACD,SAAA,CAAC;AACH,KAAC,CAAC;AACJ;;MCnDa,oBAAoB,GAAG,IAAI,cAAc,CAAkB,mBAAmB;MAE9E,yBAAyB,GAAG,IAAI,cAAc,CAAsB,2BAA2B,EAAE;AAC7G,IAAA,OAAO,EAAE,MACR,MAAM,CAAC,UAAU;SACf,GAAG,CAAkC,wEAAwE;AAC7G,SAAA,IAAI,CACJ,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,EACxC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,CACd;AACH,CAAA;SAEe,oBAAoB,GAAA;IACnC,OAAO,wBAAwB,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;AACtE;;MChBa,YAAY,CAAA;AACjB,IAAA,SAAS,CAAC,KAAuB,EAAA;QACvC,OAAO,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;;8GAFtB,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,UAAU;AAChB,iBAAA;;MAUY,mBAAmB,CAAA;AACxB,IAAA,SAAS,CAAC,KAAuB,EAAA;AACvC,QAAA,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;;8GAFvC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,iBAAiB;AACvB,iBAAA;;;MCLY,oBAAoB,CAAA;AAHjC,IAAA,WAAA,GAAA;AAIC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,8BAA8B,CAAC;AAC9C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAoB1B;IAnBO,SAAS,CAAC,WAAiB,EAAE,sBAA+B,EAAA;AAClE,QAAA,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACzB,IAAI,sBAAsB,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,6CAA6C;;iBACxD;AACN,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,qCAAqC;;;AAEjD,aAAA,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;YACnC,IAAI,sBAAsB,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,gDAAgD;;AAElE,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,wCAAwC;;aACnD;YACN,IAAI,sBAAsB,EAAE;gBAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;;YAEpI,OAAO,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;;;8GAnBjH,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,kBAAkB;AACxB,iBAAA;;;MCcY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAQC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAErC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG;AAExC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAErC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,8BAA8B,CAAC;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAElD,IAAc,CAAA,cAAA,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAE9G,QAAA,IAAA,CAAA,SAAS,GAA8B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3E,SAAS,CAAC,CAAC,IAAI,KACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAC9BA,YAAU,CAAC,MACV,EAAE,CAAC;YACF,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CACF,CACD,CACD,EACD,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAC5C,WAAW,CAAC,CAAC,CAAC,CACd;QAEM,IAAmB,CAAA,mBAAA,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CACnF,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAI;AAC3B,YAAA,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE;AACrC,gBAAA,OAAO,KAAK;;iBACN;AACN,gBAAA,OAAO,UAAU;;SAElB,CAAC,CACF;AAEM,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE/E,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACzC,GAAG,CAAC,CAAC,QAAQ,KAAI;AAChB,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,EAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAElE,OAAO;gBACN,QAAQ;AACR,gBAAA,KAAK,EAAE,CAAG,EAAA,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAA,CAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;aAChH;SACD,CAAC,CACF;AASD;AAzDA,IAAA,WAAW;AAEX,IAAA,QAAQ;AAIR,IAAA,YAAY;IA4CZ,YAAY,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG7B,IAAA,gBAAgB,CAAC,GAAA,GAAc,EAAE,EAAE,MAAc,EAAE,EAAA;QAClD,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAA,CAAG;;8GA1D1D,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,mFCtBnC,isLA4HA,EAAA,MAAA,EAAA,CAAA,wiSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDzGW,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAE,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,QAAQ,EAAE,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,cAAc,8CAAE,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,oBAAoB,yDAAE,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG3H,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACC,yBAAyB,EAAA,OAAA,EAG1B,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAA,eAAA,EACvH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,isLAAA,EAAA,MAAA,EAAA,CAAA,wiSAAA,CAAA,EAAA;;;AEN1C,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;IAG3D,IACI,qBAAqB,CAAC,QAAiB,EAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ;;AAKlC,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;AAVR,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAW;AAOhC,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;AAK/F,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;QAC9B,MAAM,CAAC,yBAAyB;aAC9B,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,WAAW,KAAI;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,WAAW;AACtC,SAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG;AACtB,YAAA,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;AAC3E,YAAA,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;SAC3E;AAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,sBAAsB;;8GA1B1B,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACL,wBAAA,sBAAsB,EAAE,UAAU;AAClC,qBAAA;AACD,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,iBAAA;wDAKI,qBAAqB,EAAA,CAAA;sBADxB;;;ACjBF;;AAEG;;;;"}
|
|
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 { importProvidersFrom, inject, InjectionToken, makeEnvironmentProviders, Signal } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { catchError, map, shareReplay } from 'rxjs/operators';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ILuUser } from '@lucca-front/ng/user';\n\nexport const LU_USER_POPOVER_USER = new InjectionToken<Signal<ILuUser>>('user-popover-user');\n\nexport const USER_POPOVER_IS_ACTIVATED = new InjectionToken<Observable<boolean>>('user-popover-is-activated', {\n\tfactory: () =>\n\t\tinject(HttpClient)\n\t\t\t.get<{ key: string; status: string }>('/lucca-banner/meta/api/feature-flag-statuses/user-popover-is-activated')\n\t\t\t.pipe(\n\t\t\t\tmap((flag) => flag.status === 'Enabled'),\n\t\t\t\tcatchError(() => of(false)),\n\t\t\t\tshareReplay(1),\n\t\t\t),\n});\n\nexport function provideLuUserPopover() {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\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 } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { getIntl, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { POPOVER_CONFIG } from '@lucca-front/ng/popover2';\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],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LuUserPopoverComponent {\n\tluUser = inject(LU_USER_POPOVER_USER);\n\n\t#popoverRef = inject(POPOVER_CONFIG).ref;\n\n\t#service = inject(LuUserPopoverStore);\n\n\tintl = getIntl(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<section class=\"userPopover skeleton is-loading\" aria-busy=\"true\">\n\t\t<div class=\"userPopover-details\">\n\t\t\t<div\n\t\t\t\tclass=\"userPopover-details-avatar avatar skeleton-item mod-circle\"\n\t\t\t\tstyle=\"--components-skeleton-shape-width: 96px; --components-skeleton-shape-height: 96px\"\n\t\t\t></div>\n\t\t\t<div class=\"userPopover-details-info\">\n\t\t\t\t<h1\n\t\t\t\t\tclass=\"userPopover-details-info-name skeleton-item pr-u-margin0\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[0]\"\n\t\t\t\t></h1>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[1]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[2]\"\n\t\t\t\t></p>\n\t\t\t\t<p\n\t\t\t\t\tclass=\"userPopover-details-info-detail skeleton-item pr-u-bodyS\"\n\t\t\t\t\t[style.--components-skeleton-text-width]=\"skeletonWidths[3]\"\n\t\t\t\t></p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n}\n","import { Directive, inject, Input, input } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { ILuUser } from '@lucca-front/ng/user';\nimport { LU_USER_POPOVER_USER, USER_POPOVER_IS_ACTIVATED } 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\t// Default to disabled to avoid having it flicker or something\n\t\tthis.luPopoverDisabled = false;\n\t\tinject(USER_POPOVER_IS_ACTIVATED)\n\t\t\t.pipe(takeUntilDestroyed())\n\t\t\t.subscribe((isActivated) => {\n\t\t\t\tthis.luPopoverDisabled = !isActivated;\n\t\t\t});\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":["catchError"],"mappings":";;;;;;;;;;;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,8BAA8B;AACnE,QAAA,iCAAiC,EAAE,QAAQ;AAC3C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,6CAA6C,EAAE,MAAM;AACrD,QAAA,qCAAqC,EAAE,OAAO;AAC9C,QAAA,6CAA6C,EAAE,cAAc;AAC7D,QAAA,wCAAwC,EAAE,gBAAgB;AAC1D,QAAA,gDAAgD,EAAE,wBAAwB;AAC1E,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,wBAAwB;AACtE,QAAA,oCAAoC,EAAE,UAAU;AAChD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,qCAAqC;AAC1E,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,iCAAiC,EAAE,WAAW;AAC9C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,eAAe;AAC9D,QAAA,qCAAqC,EAAE,OAAO;AAC9C,QAAA,6CAA6C,EAAE,cAAc;AAC7D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,sBAAsB;AACxE,QAAA,oCAAoC,EAAE,6BAA6B;AACnE,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,UAAU;AAChD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,4BAA4B;AACjE,QAAA,iCAAiC,EAAE,QAAQ;AAC3C,QAAA,iCAAiC,EAAE,OAAO;AAC1C,QAAA,iCAAiC,EAAE,YAAY;AAC/C,QAAA,6CAA6C,EAAE,UAAU;AACzD,QAAA,qCAAqC,EAAE,aAAa;AACpD,QAAA,6CAA6C,EAAE,UAAU;AACzD,QAAA,wCAAwC,EAAE,gBAAgB;AAC1D,QAAA,gDAAgD,EAAE,sBAAsB;AACxE,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,yBAAyB;AACvE,QAAA,oCAAoC,EAAE,aAAa;AACnD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,4BAA4B;AACjE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,IAAI;AACnD,QAAA,qCAAqC,EAAE,MAAM;AAC7C,QAAA,6CAA6C,EAAE,gBAAgB;AAC/D,QAAA,wCAAwC,EAAE,eAAe;AACzD,QAAA,gDAAgD,EAAE,uBAAuB;AACzE,QAAA,oCAAoC,EAAE,0BAA0B;AAChE,QAAA,4CAA4C,EAAE,8BAA8B;AAC5E,QAAA,oCAAoC,EAAE,WAAW;AACjD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,qCAAqC,EAAE,SAAS;AAChD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,mBAAmB;AACrE,QAAA,oCAAoC,EAAE,qBAAqB;AAC3D,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,SAAS;AAC/C,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,qCAAqC,EAAE,SAAS;AAChD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,mBAAmB;AACrE,QAAA,oCAAoC,EAAE,qBAAqB;AAC3D,QAAA,4CAA4C,EAAE,sBAAsB;AACpE,QAAA,oCAAoC,EAAE,SAAS;AAC/C,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,8BAA8B;AACnE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,eAAe;AAClD,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,gBAAgB;AAC/D,QAAA,qCAAqC,EAAE,KAAK;AAC5C,QAAA,6CAA6C,EAAE,aAAa;AAC5D,QAAA,wCAAwC,EAAE,cAAc;AACxD,QAAA,gDAAgD,EAAE,4BAA4B;AAC9E,QAAA,oCAAoC,EAAE,4BAA4B;AAClE,QAAA,4CAA4C,EAAE,iCAAiC;AAC/E,QAAA,oCAAoC,EAAE,WAAW;AACjD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,mCAAmC,EAAE,gCAAgC;AACrE,QAAA,iCAAiC,EAAE,SAAS;AAC5C,QAAA,iCAAiC,EAAE,OAAO;AAC1C,QAAA,iCAAiC,EAAE,UAAU;AAC7C,QAAA,6CAA6C,EAAE,OAAO;AACtD,QAAA,qCAAqC,EAAE,UAAU;AACjD,QAAA,6CAA6C,EAAE,YAAY;AAC3D,QAAA,wCAAwC,EAAE,YAAY;AACtD,QAAA,gDAAgD,EAAE,qBAAqB;AACvE,QAAA,oCAAoC,EAAE,uBAAuB;AAC7D,QAAA,4CAA4C,EAAE,uBAAuB;AACrE,QAAA,oCAAoC,EAAE,aAAa;AACnD,QAAA,4BAA4B,EAAE,UAAU;AACxC,KAAA;CACD;;MCrHY,8BAA8B,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AAC/F,IAAA,OAAO,EAAE,MAAM,2BAA2B;AAC1C,CAAA;AAkBM,MAAM,2BAA2B,GAA+C;;MCb1E,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAqC;QAC3C,IAAI,CAAA,IAAA,GAAG,2CAA2C;AAsB5D;AAxBA,IAAA,KAAK;AACL,IAAA,MAAM;AAGC,IAAA,GAAG,CAAC,EAAU,EAAA;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;;AAE3B,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,EAAE,CAAA,CAAE,CAAC,CAAC,IAAI,CACrF,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAChC,WAAW,CAAC,CAAC,CAAC,CACd;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC;AAC1C,QAAA,OAAO,qBAAqB;;AAGtB,IAAA,UAAU,CAAC,MAAe,EAAA;QAChC,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;aACpB;AACN,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;;8GAtBT,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFlB,MAAM,EAAA,CAAA,CAAA;;2FAEN,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;AAClB,iBAAA;;AA4BK,SAAU,UAAU,CAAI,QAA0C,EAAA;IACvE,OAAO,CAAC,MAAqB,KAC5B,IAAI,UAAU,CAAC,CAAC,UAAU,KAAI;QAC7B,MAAM,CAAC,SAAS,CAAC;AAChB,YAAA,IAAI,CAAC,KAAK,EAAA;AACT,gBAAA,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,SAAS,EAAE;AACf,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEvB,gBAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,gBAAA,GAAG,CAAC,GAAG,GAAG,SAAU;AACpB,gBAAA,GAAG,CAAC,MAAM,GAAG,MAAK;AACjB,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,iBAAC;AACD,gBAAA,GAAG,CAAC,OAAO,GAAG,MAAK;AAClB,oBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;AACvB,iBAAC;aACD;AACD,SAAA,CAAC;AACH,KAAC,CAAC;AACJ;;MCnDa,oBAAoB,GAAG,IAAI,cAAc,CAAkB,mBAAmB;MAE9E,yBAAyB,GAAG,IAAI,cAAc,CAAsB,2BAA2B,EAAE;AAC7G,IAAA,OAAO,EAAE,MACR,MAAM,CAAC,UAAU;SACf,GAAG,CAAkC,wEAAwE;AAC7G,SAAA,IAAI,CACJ,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,EACxC,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAC3B,WAAW,CAAC,CAAC,CAAC,CACd;AACH,CAAA;SAEe,oBAAoB,GAAA;IACnC,OAAO,wBAAwB,CAAC,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;AACtE;;MChBa,YAAY,CAAA;AACjB,IAAA,SAAS,CAAC,KAAuB,EAAA;QACvC,OAAO,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;;8GAFtB,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,UAAU;AAChB,iBAAA;;MAUY,mBAAmB,CAAA;AACxB,IAAA,SAAS,CAAC,KAAuB,EAAA;AACvC,QAAA,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;;8GAFvC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,iBAAiB;AACvB,iBAAA;;;MCLY,oBAAoB,CAAA;AAHjC,IAAA,WAAA,GAAA;AAIC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,8BAA8B,CAAC;AAC9C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;AAoB1B;IAnBO,SAAS,CAAC,WAAiB,EAAE,sBAA+B,EAAA;AAClE,QAAA,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;YACzB,IAAI,sBAAsB,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,6CAA6C;;iBACxD;AACN,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,qCAAqC;;;AAEjD,aAAA,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE;YACnC,IAAI,sBAAsB,EAAE;AAC3B,gBAAA,OAAO,IAAI,CAAC,IAAI,CAAC,gDAAgD;;AAElE,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,wCAAwC;;aACnD;YACN,IAAI,sBAAsB,EAAE;gBAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,4CAA4C,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;;YAEpI,OAAO,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;;;8GAnBjH,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,kBAAkB;AACxB,iBAAA;;;MCcY,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;AAQC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAErC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG;AAExC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAErC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,8BAA8B,CAAC;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAElD,IAAc,CAAA,cAAA,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAE9G,QAAA,IAAA,CAAA,SAAS,GAA8B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3E,SAAS,CAAC,CAAC,IAAI,KACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAC9BA,YAAU,CAAC,MACV,EAAE,CAAC;YACF,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,sBAAsB,EAAE,KAAK;SAC7B,CAAC,CACF,CACD,CACD,EACD,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAC5C,WAAW,CAAC,CAAC,CAAC,CACd;QAEM,IAAmB,CAAA,mBAAA,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CACnF,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAI;AAC3B,YAAA,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE;AACrC,gBAAA,OAAO,KAAK;;iBACN;AACN,gBAAA,OAAO,UAAU;;SAElB,CAAC,CACF;AAEM,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE/E,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACzC,GAAG,CAAC,CAAC,QAAQ,KAAI;AAChB,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,EAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAElE,OAAO;gBACN,QAAQ;AACR,gBAAA,KAAK,EAAE,CAAG,EAAA,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAA,CAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;aAChH;SACD,CAAC,CACF;AASD;AAzDA,IAAA,WAAW;AAEX,IAAA,QAAQ;AAIR,IAAA,YAAY;IA4CZ,YAAY,GAAA;AACX,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG7B,IAAA,gBAAgB,CAAC,GAAA,GAAc,EAAE,EAAE,MAAc,EAAE,EAAA;QAClD,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA,CAAA,CAAG;;8GA1D1D,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,mFCtBnC,8vLA8HA,EAAA,MAAA,EAAA,CAAA,wiSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,ED3GW,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAE,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,QAAQ,EAAE,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,cAAc,8CAAE,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,mBAAmB,EAAE,IAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,oBAAoB,yDAAE,aAAa,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAG3H,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACC,yBAAyB,EAAA,OAAA,EAG1B,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAA,eAAA,EACvH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,8vLAAA,EAAA,MAAA,EAAA,CAAA,wiSAAA,CAAA,EAAA;;;AEN1C,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;IAG3D,IACI,qBAAqB,CAAC,QAAiB,EAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ;;AAKlC,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;AAVR,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAW;AAOhC,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;AAK/F,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK;QAC9B,MAAM,CAAC,yBAAyB;aAC9B,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,WAAW,KAAI;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,WAAW;AACtC,SAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG;AACtB,YAAA,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;AAC3E,YAAA,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE;SAC3E;AAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;AACxC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,sBAAsB;;8GA1B1B,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACL,wBAAA,sBAAsB,EAAE,UAAU;AAClC,qBAAA;AACD,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,iBAAA;wDAKI,qBAAqB,EAAA,CAAA;sBADxB;;;ACjBF;;AAEG;;;;"}
|
package/index-table/index.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ declare abstract class BaseIndexTableCell {
|
|
|
39
39
|
|
|
40
40
|
declare class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
|
|
41
41
|
elementRef: ElementRef<HTMLTableCellElement>;
|
|
42
|
-
sort: _angular_core.ModelSignal<"ascending" | "descending">;
|
|
42
|
+
sort: _angular_core.ModelSignal<"none" | "ascending" | "descending">;
|
|
43
43
|
selectable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
44
44
|
hiddenLabel: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
45
45
|
actions: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
package/link/index.d.ts
CHANGED
|
@@ -18,19 +18,16 @@ declare class LuRouterLink extends RouterLink {
|
|
|
18
18
|
declare class LinkComponent {
|
|
19
19
|
#private;
|
|
20
20
|
intl: LinkTranslate;
|
|
21
|
+
routerLink: LuRouterLink;
|
|
21
22
|
router: Router;
|
|
22
23
|
readonly luHref: _angular_core.InputSignal<string>;
|
|
23
24
|
readonly routerLinkCommands: _angular_core.InputSignal<string | readonly any[] | _angular_router.UrlTree>;
|
|
24
25
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
25
26
|
readonly decorationHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
27
|
readonly external: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
27
|
-
|
|
28
|
-
get relAttr(): string;
|
|
29
|
-
get targetAttr(): string;
|
|
30
|
-
get roleAttr(): string;
|
|
31
|
-
get disabledClass(): boolean;
|
|
32
|
-
redirect(): void;
|
|
28
|
+
hrefBackup: string;
|
|
33
29
|
constructor();
|
|
30
|
+
redirect(): void;
|
|
34
31
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LinkComponent, never>;
|
|
35
32
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkComponent, "a[luLink], button[luLink]", never, { "luHref": { "alias": "href"; "required": false; "isSignal": true; }; "routerLinkCommands": { "alias": "luLink"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "decorationHover": { "alias": "decorationHover"; "required": false; "isSignal": true; }; "external": { "alias": "external"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof LuRouterLink; inputs: { "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; }; outputs: {}; }]>;
|
|
36
33
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/ng",
|
|
3
|
-
"version": "21.0.0-rc.
|
|
3
|
+
"version": "21.0.0-rc.7",
|
|
4
4
|
"description": "A library of icons made by the team @Lucca",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@angular/core": "^20.0.0",
|
|
28
28
|
"@angular/cdk": "^20.0.0",
|
|
29
29
|
"@angular/animations": "^20.0.0",
|
|
30
|
-
"@lucca-front/icons": "21.0.0-rc.
|
|
31
|
-
"@lucca-front/scss": "21.0.0-rc.
|
|
30
|
+
"@lucca-front/icons": "21.0.0-rc.7",
|
|
31
|
+
"@lucca-front/scss": "21.0.0-rc.7",
|
|
32
32
|
"isomorphic-dompurify": "^2.17.0",
|
|
33
33
|
"date-fns": "^3.6.0",
|
|
34
34
|
"ngx-mask": "^20.0.3",
|
|
@@ -94,13 +94,17 @@
|
|
|
94
94
|
"types": "./animations/index.d.ts",
|
|
95
95
|
"default": "./fesm2022/lucca-front-ng-animations.mjs"
|
|
96
96
|
},
|
|
97
|
+
"./api": {
|
|
98
|
+
"types": "./api/index.d.ts",
|
|
99
|
+
"default": "./fesm2022/lucca-front-ng-api.mjs"
|
|
100
|
+
},
|
|
97
101
|
"./app-layout": {
|
|
98
102
|
"types": "./app-layout/index.d.ts",
|
|
99
103
|
"default": "./fesm2022/lucca-front-ng-app-layout.mjs"
|
|
100
104
|
},
|
|
101
|
-
"./
|
|
102
|
-
"types": "./
|
|
103
|
-
"default": "./fesm2022/lucca-front-ng-
|
|
105
|
+
"./a11y": {
|
|
106
|
+
"types": "./a11y/index.d.ts",
|
|
107
|
+
"default": "./fesm2022/lucca-front-ng-a11y.mjs"
|
|
104
108
|
},
|
|
105
109
|
"./box": {
|
|
106
110
|
"types": "./box/index.d.ts",
|
|
@@ -110,9 +114,9 @@
|
|
|
110
114
|
"types": "./breadcrumbs/index.d.ts",
|
|
111
115
|
"default": "./fesm2022/lucca-front-ng-breadcrumbs.mjs"
|
|
112
116
|
},
|
|
113
|
-
"./
|
|
114
|
-
"types": "./
|
|
115
|
-
"default": "./fesm2022/lucca-front-ng-
|
|
117
|
+
"./button": {
|
|
118
|
+
"types": "./button/index.d.ts",
|
|
119
|
+
"default": "./fesm2022/lucca-front-ng-button.mjs"
|
|
116
120
|
},
|
|
117
121
|
"./callout": {
|
|
118
122
|
"types": "./callout/index.d.ts",
|
|
@@ -126,10 +130,6 @@
|
|
|
126
130
|
"types": "./clear/index.d.ts",
|
|
127
131
|
"default": "./fesm2022/lucca-front-ng-clear.mjs"
|
|
128
132
|
},
|
|
129
|
-
"./button": {
|
|
130
|
-
"types": "./button/index.d.ts",
|
|
131
|
-
"default": "./fesm2022/lucca-front-ng-button.mjs"
|
|
132
|
-
},
|
|
133
133
|
"./code": {
|
|
134
134
|
"types": "./code/index.d.ts",
|
|
135
135
|
"default": "./fesm2022/lucca-front-ng-code.mjs"
|
|
@@ -194,14 +194,14 @@
|
|
|
194
194
|
"types": "./file-upload/index.d.ts",
|
|
195
195
|
"default": "./fesm2022/lucca-front-ng-file-upload.mjs"
|
|
196
196
|
},
|
|
197
|
-
"./footer": {
|
|
198
|
-
"types": "./footer/index.d.ts",
|
|
199
|
-
"default": "./fesm2022/lucca-front-ng-footer.mjs"
|
|
200
|
-
},
|
|
201
197
|
"./filter-pills": {
|
|
202
198
|
"types": "./filter-pills/index.d.ts",
|
|
203
199
|
"default": "./fesm2022/lucca-front-ng-filter-pills.mjs"
|
|
204
200
|
},
|
|
201
|
+
"./footer": {
|
|
202
|
+
"types": "./footer/index.d.ts",
|
|
203
|
+
"default": "./fesm2022/lucca-front-ng-footer.mjs"
|
|
204
|
+
},
|
|
205
205
|
"./form": {
|
|
206
206
|
"types": "./form/index.d.ts",
|
|
207
207
|
"default": "./fesm2022/lucca-front-ng-form.mjs"
|
|
@@ -242,14 +242,14 @@
|
|
|
242
242
|
"types": "./icon/index.d.ts",
|
|
243
243
|
"default": "./fesm2022/lucca-front-ng-icon.mjs"
|
|
244
244
|
},
|
|
245
|
-
"./inline-message": {
|
|
246
|
-
"types": "./inline-message/index.d.ts",
|
|
247
|
-
"default": "./fesm2022/lucca-front-ng-inline-message.mjs"
|
|
248
|
-
},
|
|
249
245
|
"./index-table": {
|
|
250
246
|
"types": "./index-table/index.d.ts",
|
|
251
247
|
"default": "./fesm2022/lucca-front-ng-index-table.mjs"
|
|
252
248
|
},
|
|
249
|
+
"./inline-message": {
|
|
250
|
+
"types": "./inline-message/index.d.ts",
|
|
251
|
+
"default": "./fesm2022/lucca-front-ng-inline-message.mjs"
|
|
252
|
+
},
|
|
253
253
|
"./input": {
|
|
254
254
|
"types": "./input/index.d.ts",
|
|
255
255
|
"default": "./fesm2022/lucca-front-ng-input.mjs"
|
|
@@ -262,14 +262,14 @@
|
|
|
262
262
|
"types": "./listbox/index.d.ts",
|
|
263
263
|
"default": "./fesm2022/lucca-front-ng-listbox.mjs"
|
|
264
264
|
},
|
|
265
|
-
"./loading": {
|
|
266
|
-
"types": "./loading/index.d.ts",
|
|
267
|
-
"default": "./fesm2022/lucca-front-ng-loading.mjs"
|
|
268
|
-
},
|
|
269
265
|
"./listing": {
|
|
270
266
|
"types": "./listing/index.d.ts",
|
|
271
267
|
"default": "./fesm2022/lucca-front-ng-listing.mjs"
|
|
272
268
|
},
|
|
269
|
+
"./loading": {
|
|
270
|
+
"types": "./loading/index.d.ts",
|
|
271
|
+
"default": "./fesm2022/lucca-front-ng-loading.mjs"
|
|
272
|
+
},
|
|
273
273
|
"./main-layout": {
|
|
274
274
|
"types": "./main-layout/index.d.ts",
|
|
275
275
|
"default": "./fesm2022/lucca-front-ng-main-layout.mjs"
|
|
@@ -282,14 +282,14 @@
|
|
|
282
282
|
"types": "./modal/index.d.ts",
|
|
283
283
|
"default": "./fesm2022/lucca-front-ng-modal.mjs"
|
|
284
284
|
},
|
|
285
|
-
"./new-badge": {
|
|
286
|
-
"types": "./new-badge/index.d.ts",
|
|
287
|
-
"default": "./fesm2022/lucca-front-ng-new-badge.mjs"
|
|
288
|
-
},
|
|
289
285
|
"./multi-select": {
|
|
290
286
|
"types": "./multi-select/index.d.ts",
|
|
291
287
|
"default": "./fesm2022/lucca-front-ng-multi-select.mjs"
|
|
292
288
|
},
|
|
289
|
+
"./new-badge": {
|
|
290
|
+
"types": "./new-badge/index.d.ts",
|
|
291
|
+
"default": "./fesm2022/lucca-front-ng-new-badge.mjs"
|
|
292
|
+
},
|
|
293
293
|
"./number": {
|
|
294
294
|
"types": "./number/index.d.ts",
|
|
295
295
|
"default": "./fesm2022/lucca-front-ng-number.mjs"
|
|
@@ -354,10 +354,6 @@
|
|
|
354
354
|
"types": "./scroll-box/index.d.ts",
|
|
355
355
|
"default": "./fesm2022/lucca-front-ng-scroll-box.mjs"
|
|
356
356
|
},
|
|
357
|
-
"./scrollBox": {
|
|
358
|
-
"types": "./scrollBox/index.d.ts",
|
|
359
|
-
"default": "./fesm2022/lucca-front-ng-scrollBox.mjs"
|
|
360
|
-
},
|
|
361
357
|
"./segmented-control": {
|
|
362
358
|
"types": "./segmented-control/index.d.ts",
|
|
363
359
|
"default": "./fesm2022/lucca-front-ng-segmented-control.mjs"
|
|
@@ -482,10 +478,6 @@
|
|
|
482
478
|
"types": "./simple-select/api/index.d.ts",
|
|
483
479
|
"default": "./fesm2022/lucca-front-ng-simple-select-api.mjs"
|
|
484
480
|
},
|
|
485
|
-
"./forms/rich-text-input/formatters/html": {
|
|
486
|
-
"types": "./forms/rich-text-input/formatters/html/index.d.ts",
|
|
487
|
-
"default": "./fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs"
|
|
488
|
-
},
|
|
489
481
|
"./forms/rich-text-input/formatters/markdown": {
|
|
490
482
|
"types": "./forms/rich-text-input/formatters/markdown/index.d.ts",
|
|
491
483
|
"default": "./fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs"
|
|
@@ -493,6 +485,10 @@
|
|
|
493
485
|
"./forms/rich-text-input/formatters/plain-text": {
|
|
494
486
|
"types": "./forms/rich-text-input/formatters/plain-text/index.d.ts",
|
|
495
487
|
"default": "./fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs"
|
|
488
|
+
},
|
|
489
|
+
"./forms/rich-text-input/formatters/html": {
|
|
490
|
+
"types": "./forms/rich-text-input/formatters/html/index.d.ts",
|
|
491
|
+
"default": "./fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs"
|
|
496
492
|
}
|
|
497
493
|
},
|
|
498
494
|
"sideEffects": false,
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
"factory": "./lu-select/index",
|
|
17
17
|
"schema": "./lu-select/schema.json"
|
|
18
18
|
},
|
|
19
|
+
"lu-text-input": {
|
|
20
|
+
"description": "Migrate deprecated textfield into lu-text-input where possible.",
|
|
21
|
+
"factory": "./lu-text-input/index",
|
|
22
|
+
"schema": "./lu-text-input/schema.json"
|
|
23
|
+
},
|
|
19
24
|
"tokens-spacings": {
|
|
20
25
|
"description": "Replace spacing tokens with new names.",
|
|
21
26
|
"factory": "./tokens-spacing/index",
|
|
@@ -36,6 +41,11 @@
|
|
|
36
41
|
"factory": "./tokens-typo/index",
|
|
37
42
|
"schema": "./tokens-typo/schema.json"
|
|
38
43
|
},
|
|
44
|
+
"color-text": {
|
|
45
|
+
"description": "Replace color text tokens.",
|
|
46
|
+
"factory": "./color-text/index",
|
|
47
|
+
"schema": "./color-text/schema.json"
|
|
48
|
+
},
|
|
39
49
|
"palettes": {
|
|
40
50
|
"description": "Replace palettes with new names.",
|
|
41
51
|
"factory": "./palettes/index",
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const css_mapper_1 = require("../lib/css-mapper");
|
|
4
|
+
const lf_schematic_context_1 = require("../lib/lf-schematic-context");
|
|
5
|
+
// Nx need to see "@angular-devkit/schematics" in order to run this migration correctly (see https://github.com/nrwl/nx/blob/d9fed4b832bf01d1b9a44ae9e486a5e5cd2d2253/packages/nx/src/command-line/migrate/migrate.ts#L1729-L1738)
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
7
|
+
require('@angular-devkit/schematics');
|
|
8
|
+
exports.default = (options) => {
|
|
9
|
+
return async (tree, context) => {
|
|
10
|
+
await lf_schematic_context_1.currentSchematicContext.init(context, options);
|
|
11
|
+
await new css_mapper_1.CssMapper(tree, {
|
|
12
|
+
classes: {
|
|
13
|
+
'pr-u-textProduct': 'pr-u-colorTextProduct',
|
|
14
|
+
'pr-u-textPrimary': 'pr-u-colorTextProduct',
|
|
15
|
+
'pr-u-textSecondary': 'pr-u-colorTextProduct',
|
|
16
|
+
'pr-u-textBrand': 'pr-u-colorTextBrand',
|
|
17
|
+
'pr-u-textLucca': 'pr-u-colorTextBrand',
|
|
18
|
+
'pr-u-textPlaceholder': 'pr-u-colorInputTextPlaceholder',
|
|
19
|
+
'pr-u-textNeutral': 'pr-u-colorText',
|
|
20
|
+
'pr-u-textDefault': 'pr-u-colorText',
|
|
21
|
+
'pr-u-textGrey': 'pr-u-colorText',
|
|
22
|
+
'pr-u-textLight': 'pr-u-colorTextSubtle',
|
|
23
|
+
'pr-u-textSuccess': 'pr-u-colorTextSuccess',
|
|
24
|
+
'pr-u-textWarning': 'pr-u-colorTextWarning',
|
|
25
|
+
'pr-u-textCritical': 'pr-u-colorTextCritical',
|
|
26
|
+
'pr-u-textError': 'pr-u-colorTextCritical',
|
|
27
|
+
'pr-u-textSuccessContrasted': 'pr-u-colorTextSuccessContrasted',
|
|
28
|
+
'pr-u-textWarningContrasted': 'pr-u-colorTextWarningContrasted',
|
|
29
|
+
'pr-u-textBrandContrasted': 'pr-u-colorTextBrandContrasted',
|
|
30
|
+
'pr-u-textNavigation': 'pr-u-colorTextNavigation',
|
|
31
|
+
'pr-u-textAI': 'pr-u-colorTextAI',
|
|
32
|
+
'pr-u-textPagga': 'pr-u-colorTextPagga',
|
|
33
|
+
'pr-u-textPoplee': 'pr-u-colorTextPoplee',
|
|
34
|
+
'pr-u-textCoreHR': 'pr-u-colorTextCoreHR',
|
|
35
|
+
'pr-u-textTimmi': 'pr-u-colorTextTimmi',
|
|
36
|
+
'pr-u-textCleemy': 'pr-u-colorTextCleemy',
|
|
37
|
+
'pr-u-textCc': 'pr-u-colorTextCc',
|
|
38
|
+
'pr-u-textKiwi': 'pr-u-colorTextKiwi',
|
|
39
|
+
'pr-u-textLime': 'pr-u-colorTextLime',
|
|
40
|
+
'pr-u-textCucumber': 'pr-u-colorTextCucumber',
|
|
41
|
+
'pr-u-textMint': 'pr-u-colorTextMint',
|
|
42
|
+
'pr-u-textGlacier': 'pr-u-colorTextGlacier',
|
|
43
|
+
'pr-u-textLagoon': 'pr-u-colorTextLagoon',
|
|
44
|
+
'pr-u-textBlueberry': 'pr-u-colorTextBlueberry',
|
|
45
|
+
'pr-u-textLavender': 'pr-u-colorTextLavender',
|
|
46
|
+
'pr-u-textGrape': 'pr-u-colorTextGrape',
|
|
47
|
+
'pr-u-textWatermelon': 'pr-u-colorTextWatermelon',
|
|
48
|
+
'pr-u-textPumpkin': 'pr-u-colorTextPumpkin',
|
|
49
|
+
'pr-u-textPineapple': 'pr-u-colorTextPineapple',
|
|
50
|
+
},
|
|
51
|
+
variables: {},
|
|
52
|
+
mixins: {}
|
|
53
|
+
}, {}).run();
|
|
54
|
+
};
|
|
55
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const glob = require("glob");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const migration_test_js_1 = require("../lib/migration-test.js");
|
|
7
|
+
const collectionPath = path.normalize(path.join(__dirname, '..', 'collection.json'));
|
|
8
|
+
const testsRoot = path.join(__dirname, 'tests');
|
|
9
|
+
const files = fs.readdirSync(testsRoot);
|
|
10
|
+
describe('Color Text Migration', () => {
|
|
11
|
+
it('should update files', async () => {
|
|
12
|
+
// Arrange
|
|
13
|
+
const tree = (0, migration_test_js_1.createTreeFromFiles)(testsRoot, files, '.input.');
|
|
14
|
+
const expectedTree = (0, migration_test_js_1.createTreeFromFiles)(testsRoot, files, '.output.');
|
|
15
|
+
// Act
|
|
16
|
+
try {
|
|
17
|
+
await (0, migration_test_js_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstallation: true }, tree);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
// eslint-disable-next-line no-console
|
|
21
|
+
console.log(error);
|
|
22
|
+
}
|
|
23
|
+
// Assert
|
|
24
|
+
(0, migration_test_js_1.expectTree)(tree).toMatchTree(expectedTree);
|
|
25
|
+
});
|
|
26
|
+
// Use this to migrate @lucca-front/* packages
|
|
27
|
+
it.skip('should migrate @lucca-front/*', async () => {
|
|
28
|
+
// Arrange
|
|
29
|
+
const lfRoot = path.normalize(path.join(__dirname, '..', '..', '..', '..'));
|
|
30
|
+
const lfFiles = [
|
|
31
|
+
...glob.sync('packages/icons/**/*.scss', { cwd: lfRoot, nodir: true }),
|
|
32
|
+
...glob.sync('packages/scss/**/*.scss', { cwd: lfRoot, nodir: true }),
|
|
33
|
+
...glob.sync('packages/ng/**/*', { cwd: lfRoot, nodir: true, ignore: ['**/schematics/**'] }),
|
|
34
|
+
...glob.sync('stories/**', { cwd: lfRoot, nodir: true }),
|
|
35
|
+
];
|
|
36
|
+
const treeOriginalTree = (0, migration_test_js_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
|
|
37
|
+
const tree = (0, migration_test_js_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
|
|
38
|
+
// Act
|
|
39
|
+
await (0, migration_test_js_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstallation: true }, tree);
|
|
40
|
+
// Assert
|
|
41
|
+
tree.visit((p, entry) => {
|
|
42
|
+
const original = treeOriginalTree.get(p)?.content.toString() || '';
|
|
43
|
+
const updated = entry?.content.toString() || '';
|
|
44
|
+
if (original !== updated) {
|
|
45
|
+
const fromRootPath = path.join(lfRoot, p);
|
|
46
|
+
fs.writeFileSync(fromRootPath, updated);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema",
|
|
3
|
+
"$id": "LuccaFrontColorText",
|
|
4
|
+
"title": "Lucca Front Color Text Schema",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"dryRun": {
|
|
8
|
+
"type": "boolean",
|
|
9
|
+
"description": "Run through the migration without making any changes.",
|
|
10
|
+
"default": false
|
|
11
|
+
},
|
|
12
|
+
"skipInstall": {
|
|
13
|
+
"type": "boolean",
|
|
14
|
+
"description": "Skip installing dependencies.",
|
|
15
|
+
"default": false
|
|
16
|
+
},
|
|
17
|
+
"verbose": {
|
|
18
|
+
"type": "boolean",
|
|
19
|
+
"description": "Enable verbose logging.",
|
|
20
|
+
"default": false
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.extractProviders = extractProviders;
|
|
4
4
|
exports.extractComponentImports = extractComponentImports;
|
|
5
|
+
exports.inputValueToHTML = inputValueToHTML;
|
|
6
|
+
exports.getInputValue = getInputValue;
|
|
5
7
|
exports.insertTSImportIfNeeded = insertTSImportIfNeeded;
|
|
6
8
|
exports.insertAngularImportIfNeeded = insertAngularImportIfNeeded;
|
|
7
9
|
exports.removeAngularImport = removeAngularImport;
|
|
@@ -10,6 +12,7 @@ const change_1 = require("@schematics/angular/utility/change");
|
|
|
10
12
|
const eol_1 = require("@schematics/angular/utility/eol");
|
|
11
13
|
const typescript_1 = require("typescript");
|
|
12
14
|
const angular_template_1 = require("./angular-template");
|
|
15
|
+
const lf_schematic_context_1 = require("./lf-schematic-context");
|
|
13
16
|
function extractProviders(sourceFile) {
|
|
14
17
|
const providerEntries = [];
|
|
15
18
|
(0, typescript_1.forEachChild)(sourceFile, (0, angular_template_1.createVisitor)(typescript_1.isDecorator, (decorator) => {
|
|
@@ -88,6 +91,32 @@ function extractComponentImports(sourceFile) {
|
|
|
88
91
|
}));
|
|
89
92
|
return imports;
|
|
90
93
|
}
|
|
94
|
+
function inputValueToHTML(name, value) {
|
|
95
|
+
if (!value) {
|
|
96
|
+
return "";
|
|
97
|
+
}
|
|
98
|
+
return `${value.isBinding ? '[' : ''}${value.twoWayBinding ? '(' : ''}${name}${value.twoWayBinding ? ')' : ''}${value.isBinding ? ']' : ''}="${value.value}"`;
|
|
99
|
+
}
|
|
100
|
+
function getInputValue(node, inputName) {
|
|
101
|
+
const input = node.inputs.find((i) => i.name === inputName);
|
|
102
|
+
if (input) {
|
|
103
|
+
const output = node.outputs.find((o) => o.name === `${inputName}Change`);
|
|
104
|
+
const value = input?.value instanceof lf_schematic_context_1.currentSchematicContext.angularCompiler.ASTWithSource ? input.value.source : null;
|
|
105
|
+
return {
|
|
106
|
+
isBinding: true,
|
|
107
|
+
value,
|
|
108
|
+
twoWayBinding: output?.handler instanceof lf_schematic_context_1.currentSchematicContext.angularCompiler.ASTWithSource ? output.handler.source === value : false
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const attr = node.attributes.find((a) => a.name === inputName);
|
|
112
|
+
if (attr) {
|
|
113
|
+
return {
|
|
114
|
+
isBinding: false,
|
|
115
|
+
value: attr.value
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
91
120
|
// Simplified version of https://github.com/angular/angular-cli/blob/main/packages/schematics/angular/utility/ast-utils.ts#L24 for our use case
|
|
92
121
|
function insertTSImportIfNeeded(sourceFile, fileToEdit, symbolName, fileName) {
|
|
93
122
|
const allImports = sourceFile.statements.filter(typescript_1.isImportDeclaration);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typescript_1 = require("typescript");
|
|
4
|
+
const lf_schematic_context_1 = require("../lib/lf-schematic-context");
|
|
5
|
+
const schematics_1 = require("../lib/schematics");
|
|
6
|
+
const migration_1 = require("./migration");
|
|
7
|
+
// Nx need to see "@angular-devkit/schematics" in order to run this migration correctly (see https://github.com/nrwl/nx/blob/d9fed4b832bf01d1b9a44ae9e486a5e5cd2d2253/packages/nx/src/command-line/migrate/migrate.ts#L1729-L1738)
|
|
8
|
+
require('@angular-devkit/schematics');
|
|
9
|
+
exports.default = (options) => {
|
|
10
|
+
return async (tree, context) => {
|
|
11
|
+
await lf_schematic_context_1.currentSchematicContext.init(context, options);
|
|
12
|
+
tree.visit((path, entry) => {
|
|
13
|
+
if (path.includes('node_modules') || !entry) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (path.endsWith('.ts')) {
|
|
17
|
+
(0, schematics_1.migrateFile)(path, entry, tree, (content) => {
|
|
18
|
+
const sourceFile = (0, typescript_1.createSourceFile)(path, content, typescript_1.ScriptTarget.ESNext);
|
|
19
|
+
return (0, migration_1.migrateComponent)(sourceFile, path, tree);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
};
|