@lucca-front/ng 19.2.1-rc.1 → 19.2.1-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -156,13 +156,13 @@ class DialogHeaderComponent {
156
156
  });
157
157
  }
158
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DialogHeaderComponent, isStandalone: true, selector: "lu-dialog-header", host: { classAttribute: "dialog-inside-header" }, ngImport: i0, template: "<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n", styles: ["h1,h2,h3,h4,h5,h6{margin-block-start:0;color:var(--palettes-neutral-900);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);margin-block-end:0;padding:0}h1{--sizes-verticalPadding: var(--sizes-XXL-verticalPadding);--sizes-fontSize: var(--sizes-XXL-fontSize);--sizes-lineHeight: var(--sizes-XXL-lineHeight);--components-title-weight: 900}h1.mod-XXXL{--sizes-verticalPadding: var(--sizes-XXXL-verticalPadding);--sizes-fontSize: var(--sizes-XXXL-fontSize);--sizes-lineHeight: var(--sizes-XXXL-lineHeight);--components-title-weight: 900}h2{--sizes-verticalPadding: var(--sizes-XL-verticalPadding);--sizes-fontSize: var(--sizes-XL-fontSize);--sizes-lineHeight: var(--sizes-XL-lineHeight);--components-title-weight: 700}h3{--sizes-verticalPadding: var(--sizes-L-verticalPadding);--sizes-fontSize: var(--sizes-L-fontSize);--sizes-lineHeight: var(--sizes-L-lineHeight);--components-title-weight: 700}h4{--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600}h5{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}h6{--sizes-verticalPadding: var(--sizes-XS-verticalPadding);--sizes-fontSize: var(--sizes-XS-fontSize);--sizes-lineHeight: var(--sizes-XS-lineHeight);--components-title-weight: 600}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: DialogHeaderComponent, isStandalone: true, selector: "lu-dialog-header", host: { classAttribute: "dialog-inside-header" }, ngImport: i0, template: "<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
160
160
  }
161
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DialogHeaderComponent, decorators: [{
162
162
  type: Component,
163
163
  args: [{ selector: 'lu-dialog-header', standalone: true, imports: [IconComponent, ButtonComponent, NgIf], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
164
164
  class: 'dialog-inside-header',
165
- }, template: "<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n", styles: ["h1,h2,h3,h4,h5,h6{margin-block-start:0;color:var(--palettes-neutral-900);text-rendering:geometricPrecision;text-wrap:pretty;font-weight:var(--components-title-weight, 600);font-size:var(--sizes-fontSize);line-height:var(--sizes-lineHeight);margin-block-end:0;padding:0}h1{--sizes-verticalPadding: var(--sizes-XXL-verticalPadding);--sizes-fontSize: var(--sizes-XXL-fontSize);--sizes-lineHeight: var(--sizes-XXL-lineHeight);--components-title-weight: 900}h1.mod-XXXL{--sizes-verticalPadding: var(--sizes-XXXL-verticalPadding);--sizes-fontSize: var(--sizes-XXXL-fontSize);--sizes-lineHeight: var(--sizes-XXXL-lineHeight);--components-title-weight: 900}h2{--sizes-verticalPadding: var(--sizes-XL-verticalPadding);--sizes-fontSize: var(--sizes-XL-fontSize);--sizes-lineHeight: var(--sizes-XL-lineHeight);--components-title-weight: 700}h3{--sizes-verticalPadding: var(--sizes-L-verticalPadding);--sizes-fontSize: var(--sizes-L-fontSize);--sizes-lineHeight: var(--sizes-L-lineHeight);--components-title-weight: 700}h4{--sizes-verticalPadding: var(--sizes-M-verticalPadding);--sizes-fontSize: var(--sizes-M-fontSize);--sizes-lineHeight: var(--sizes-M-lineHeight);--components-title-weight: 600}h5{--sizes-verticalPadding: var(--sizes-S-verticalPadding);--sizes-fontSize: var(--sizes-S-fontSize);--sizes-lineHeight: var(--sizes-S-lineHeight);--components-title-weight: 600}h6{--sizes-verticalPadding: var(--sizes-XS-verticalPadding);--sizes-fontSize: var(--sizes-XS-fontSize);--sizes-lineHeight: var(--sizes-XS-lineHeight);--components-title-weight: 600}\n"] }]
165
+ }, template: "<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n" }]
166
166
  }] });
167
167
 
168
168
  class LuDialogService {
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { isObservable, Observable, of, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { LuDialogConfig, LuDialogResult } from './dialog-config';\nimport { filter, map } from 'rxjs/operators';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C>,\n\t) {}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ninterface BaseLuDialogConfig<C> {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: LuDialogData<C>;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n}\n\nexport type LuDialogConfig<T> = LuDialogData<T> extends never ? Omit<BaseLuDialogConfig<T>, 'data'> : BaseLuDialogConfig<T>;\n","import { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { inject } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent, NgIf],\n\ttemplateUrl: './dialog-header.component.html',\n\tstyleUrl: './dialog-header.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C>(config: LuDialogConfig<C>): LuDialogRef<C> {\n\t\tlet luDialogRef: LuDialogRef<C>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\tstandalone: true,\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\tstandalone: true,\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, HostListener, inject, Input, TemplateRef } from '@angular/core';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\nimport { provideLuDialog } from '../dialog.providers';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tstandalone: true,\n\tproviders: [provideLuDialog()],\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\t@Input({\n\t\trequired: true,\n\t\talias: 'luDialogOpen',\n\t})\n\tdialog: TemplateRef<void>;\n\n\t@Input()\n\tluDialogConfig: LuDialogConfig<unknown>;\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig,\n\t\t\tcontent: this.dialog,\n\t\t});\n\t}\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { Observable, firstValueFrom, isObservable } from 'rxjs';\nimport { LuDialogConfig, LuDialogData } from '../model';\nimport { DialogRoutingComponent } from './dialog-routing.component';\nimport { DialogRouteConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n\nexport function createDialogRoute<C>(config: DialogRouteConfig<C>): Route {\n\treturn {\n\t\t...config,\n\t\tcomponent: DialogRoutingComponent,\n\t\tproviders: [{ provide: DIALOG_ROUTE_CONFIG, useValue: config }, ...[config.providers ?? []]],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = { path: string; dialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path'>> } & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: () => Deferrable<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute({\n\t\t\tpath,\n\t\t\tdialogConfigFactory: async () => ({\n\t\t\t\t...config?.dialogConfig,\n\t\t\t\tcontent: component,\n\t\t\t\tdata: dataFactory ? await deferrableToPromise(dataFactory()) : undefined,\n\t\t\t}),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig(config1: Partial<Route>, config2: Partial<Route>): Partial<Route> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<Route> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\treturn result;\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Injector, OnInit, runInInjectionContext, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { from } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef } from '../model';\nimport { DialogRouteConfig } from './dialog-routing.models';\nimport { deferrableToPromise, DIALOG_ROUTE_CONFIG } from './dialog-routing.utils';\n\nexport const defaultOnClosedFn = <C>(router = inject(Router), route = inject(ActivatedRoute), config = inject<DialogRouteConfig<C>>(DIALOG_ROUTE_CONFIG)): void =>\n\tvoid router.navigate(\n\t\t[\n\t\t\tconfig.path\n\t\t\t\t.split('/')\n\t\t\t\t.map(() => '..')\n\t\t\t\t.join('/'),\n\t\t],\n\t\t{\n\t\t\trelativeTo: route,\n\t\t\tqueryParamsHandling: 'preserve',\n\t\t},\n\t);\n\n@Component({\n\tselector: 'lu-dialog-routing',\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t@if (dialogComponentContent(); as componentType) {\n\t\t\t\t<ng-container [ngComponentOutlet]=\"componentType\" [ngComponentOutletInjector]=\"customInjector\" />\n\t\t\t}\n\t\t\t@if (dialogTemplateContent(); as templateRef) {\n\t\t\t\t<ng-container [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletInjector]=\"customInjector\" />\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\tstandalone: true,\n\timports: [NgComponentOutlet, NgTemplateOutlet],\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tproviders: [provideLuDialog()],\n})\nexport class DialogRoutingComponent<C> implements OnInit {\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly #config = inject<DialogRouteConfig<C>>(DIALOG_ROUTE_CONFIG);\n\treadonly #dialogConfig = deferrableToPromise(this.#config.dialogConfigFactory());\n\n\treadonly dialogConfig = toSignal(from(this.#dialogConfig), {\n\t\tinitialValue: null,\n\t});\n\treadonly dialogTemplateContent = computed(() => {\n\t\tconst config = this.dialogConfig();\n\t\treturn config && config.content instanceof TemplateRef ? config.content : null;\n\t});\n\treadonly dialogComponentContent = computed(() => {\n\t\tconst config = this.dialogConfig();\n\t\treturn config && !(config.content instanceof TemplateRef) ? config.content : null;\n\t});\n\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\n\treadonly customInjector = Injector.create({\n\t\tparent: this.injector,\n\t\tproviders: [\n\t\t\t{\n\t\t\t\tprovide: DIALOG_DATA,\n\t\t\t\tuseFactory: () => {\n\t\t\t\t\tconst config = this.dialogConfig();\n\t\t\t\t\treturn config && 'data' in config ? config.data : null;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: LuDialogRef,\n\t\t\t\tuseFactory: () => this.#ref,\n\t\t\t},\n\t\t],\n\t});\n\n\t#ref?: LuDialogRef<C>;\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst dialogConfig = await this.#dialogConfig;\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t});\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) =>\n\t\t\trunInInjectionContext(this.injector, () => {\n\t\t\t\tif (this.#config.onClosed) {\n\t\t\t\t\tthis.#config.onClosed(result);\n\t\t\t\t} else {\n\t\t\t\t\tdefaultOnClosedFn();\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\tthis.#ref.dismissed$\n\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t.subscribe(() => runInInjectionContext(this.injector, () => (this.#config.onDismissed ? this.#config.onDismissed() : defaultOnClosedFn())));\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { isObservable, Observable, of, take } from 'rxjs';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { LuDialogConfig, LuDialogResult } from './dialog-config';\nimport { filter, map } from 'rxjs/operators';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C>,\n\t) {}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ninterface BaseLuDialogConfig<C> {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: LuDialogData<C>;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n}\n\nexport type LuDialogConfig<T> = LuDialogData<T> extends never ? Omit<BaseLuDialogConfig<T>, 'data'> : BaseLuDialogConfig<T>;\n","import { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { inject } from '@angular/core';\nimport { DIALOG_DATA } from '@angular/cdk/dialog';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent, NgIf],\n\ttemplateUrl: './dialog-header.component.html',\n\tstyleUrl: './dialog-header.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","<button class=\"dialog-inside-header-button button\" type=\"button\" (click)=\"close()\" *ngIf=\"dismissible\">\n\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\"></lu-icon>\n</button>\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content></ng-content>\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C>(config: LuDialogConfig<C>): LuDialogRef<C> {\n\t\tlet luDialogRef: LuDialogRef<C>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, inject, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\tstandalone: true,\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\tstandalone: true,\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\t@HostListener('click')\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, HostListener, inject, Input, TemplateRef } from '@angular/core';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\nimport { provideLuDialog } from '../dialog.providers';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tstandalone: true,\n\tproviders: [provideLuDialog()],\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\t@Input({\n\t\trequired: true,\n\t\talias: 'luDialogOpen',\n\t})\n\tdialog: TemplateRef<void>;\n\n\t@Input()\n\tluDialogConfig: LuDialogConfig<unknown>;\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig,\n\t\t\tcontent: this.dialog,\n\t\t});\n\t}\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { Observable, firstValueFrom, isObservable } from 'rxjs';\nimport { LuDialogConfig, LuDialogData } from '../model';\nimport { DialogRoutingComponent } from './dialog-routing.component';\nimport { DialogRouteConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n\nexport function createDialogRoute<C>(config: DialogRouteConfig<C>): Route {\n\treturn {\n\t\t...config,\n\t\tcomponent: DialogRoutingComponent,\n\t\tproviders: [{ provide: DIALOG_ROUTE_CONFIG, useValue: config }, ...[config.providers ?? []]],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = { path: string; dialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path'>> } & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: () => Deferrable<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute({\n\t\t\tpath,\n\t\t\tdialogConfigFactory: async () => ({\n\t\t\t\t...config?.dialogConfig,\n\t\t\t\tcontent: component,\n\t\t\t\tdata: dataFactory ? await deferrableToPromise(dataFactory()) : undefined,\n\t\t\t}),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig(config1: Partial<Route>, config2: Partial<Route>): Partial<Route> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<Route> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\treturn result;\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Injector, OnInit, runInInjectionContext, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { from } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef } from '../model';\nimport { DialogRouteConfig } from './dialog-routing.models';\nimport { deferrableToPromise, DIALOG_ROUTE_CONFIG } from './dialog-routing.utils';\n\nexport const defaultOnClosedFn = <C>(router = inject(Router), route = inject(ActivatedRoute), config = inject<DialogRouteConfig<C>>(DIALOG_ROUTE_CONFIG)): void =>\n\tvoid router.navigate(\n\t\t[\n\t\t\tconfig.path\n\t\t\t\t.split('/')\n\t\t\t\t.map(() => '..')\n\t\t\t\t.join('/'),\n\t\t],\n\t\t{\n\t\t\trelativeTo: route,\n\t\t\tqueryParamsHandling: 'preserve',\n\t\t},\n\t);\n\n@Component({\n\tselector: 'lu-dialog-routing',\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t@if (dialogComponentContent(); as componentType) {\n\t\t\t\t<ng-container [ngComponentOutlet]=\"componentType\" [ngComponentOutletInjector]=\"customInjector\" />\n\t\t\t}\n\t\t\t@if (dialogTemplateContent(); as templateRef) {\n\t\t\t\t<ng-container [ngTemplateOutlet]=\"templateRef\" [ngTemplateOutletInjector]=\"customInjector\" />\n\t\t\t}\n\t\t</ng-template>\n\t`,\n\tstandalone: true,\n\timports: [NgComponentOutlet, NgTemplateOutlet],\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tproviders: [provideLuDialog()],\n})\nexport class DialogRoutingComponent<C> implements OnInit {\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly #config = inject<DialogRouteConfig<C>>(DIALOG_ROUTE_CONFIG);\n\treadonly #dialogConfig = deferrableToPromise(this.#config.dialogConfigFactory());\n\n\treadonly dialogConfig = toSignal(from(this.#dialogConfig), {\n\t\tinitialValue: null,\n\t});\n\treadonly dialogTemplateContent = computed(() => {\n\t\tconst config = this.dialogConfig();\n\t\treturn config && config.content instanceof TemplateRef ? config.content : null;\n\t});\n\treadonly dialogComponentContent = computed(() => {\n\t\tconst config = this.dialogConfig();\n\t\treturn config && !(config.content instanceof TemplateRef) ? config.content : null;\n\t});\n\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\n\treadonly customInjector = Injector.create({\n\t\tparent: this.injector,\n\t\tproviders: [\n\t\t\t{\n\t\t\t\tprovide: DIALOG_DATA,\n\t\t\t\tuseFactory: () => {\n\t\t\t\t\tconst config = this.dialogConfig();\n\t\t\t\t\treturn config && 'data' in config ? config.data : null;\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tprovide: LuDialogRef,\n\t\t\t\tuseFactory: () => this.#ref,\n\t\t\t},\n\t\t],\n\t});\n\n\t#ref?: LuDialogRef<C>;\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst dialogConfig = await this.#dialogConfig;\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t});\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) =>\n\t\t\trunInInjectionContext(this.injector, () => {\n\t\t\t\tif (this.#config.onClosed) {\n\t\t\t\t\tthis.#config.onClosed(result);\n\t\t\t\t} else {\n\t\t\t\t\tdefaultOnClosedFn();\n\t\t\t\t}\n\t\t\t}),\n\t\t);\n\n\t\tthis.#ref.dismissed$\n\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t.subscribe(() => runInInjectionContext(this.injector, () => (this.#config.onDismissed ? this.#config.onDismissed() : defaultOnClosedFn())));\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -247,11 +247,11 @@ class LuUserTileComponent {
247
247
  return this._role;
248
248
  }
249
249
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuUserTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: LuUserTileComponent, isStandalone: true, selector: "lu-user-tile", inputs: { user: "user", displayFormat: "displayFormat", role: "role" }, host: { classAttribute: "userTile" }, ngImport: i0, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"], dependencies: [{ kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }, { kind: "component", type: LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "imageLoadingAttribute", "user"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
250
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: LuUserTileComponent, isStandalone: true, selector: "lu-user-tile", inputs: { user: "user", displayFormat: "displayFormat", role: "role" }, host: { classAttribute: "userTile" }, ngImport: i0, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t@if (role || user?.jobTitle) {\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t}\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"], dependencies: [{ kind: "pipe", type: LuUserDisplayPipe, name: "luUserDisplay" }, { kind: "component", type: LuUserPictureComponent, selector: "lu-user-picture", inputs: ["displayFormat", "imageLoadingAttribute", "user"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
251
251
  }
252
252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuUserTileComponent, decorators: [{
253
253
  type: Component,
254
- args: [{ selector: 'lu-user-tile', imports: [LuUserDisplayPipe, LuUserPictureComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, standalone: true, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"] }]
254
+ args: [{ selector: 'lu-user-tile', imports: [LuUserDisplayPipe, LuUserPictureComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'userTile' }, encapsulation: ViewEncapsulation.None, standalone: true, template: "<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t@if (role || user?.jobTitle) {\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t}\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n", styles: [".userTile{--components-userTile-title-fontSize: var(--sizes-M-fontSize);--components-userTile-title-lineHeight: var(--sizes-M-lineHeight);--components-userTile-info-fontSize: var(--sizes-S-fontSize);--components-userTile-info-lineHeight: var(--sizes-S-lineHeight);display:flex;align-items:center;gap:var(--pr-t-spacings-150);overflow-wrap:break-word}.userTile .avatar{display:flex;align-self:start;align-items:center;min-block-size:var(--components-avatar-size)}.userTile:has(.userTile-content-info,.user-tile-label) .avatar{block-size:calc(var(--components-userTile-title-lineHeight) + var(--components-userTile-info-lineHeight))}.userTile-content,.user-info{display:flex;flex-direction:column;margin:0}.userTile-content-name,.user-tile-title{font-size:var(--components-userTile-title-fontSize);line-height:var(--components-userTile-title-lineHeight);color:var(--palettes-neutral-800);margin:0}.userTile-content-info,.user-tile-label{font-size:var(--components-userTile-info-fontSize);line-height:var(--components-userTile-info-lineHeight);color:var(--palettes-neutral-600);margin:0}.user-tile-footnote{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.userTile.mod-nameOnly .user-tile-label,.userTile.mod-nameOnly .user-tile-footnote{display:none}.userTile.mod-XS{--components-userTile-title-fontSize: var(--sizes-S-fontSize);--components-userTile-title-lineHeight: var(--sizes-S-lineHeight);--components-userTile-info-fontSize: var(--sizes-XS-fontSize);--components-userTile-info-lineHeight: var(--sizes-XS-lineHeight)}.userTile.mod-XS .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--sizes-XS-fontSize);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.userTile.mod-S .avatar{--components-avatar-size: 2rem;--components-avatar-fontSize: var(--sizes-S-fontSize);--components-avatar-placeholder-size: 1rem}.userTile.mod-L .avatar{--components-avatar-size: 3rem;--components-avatar-fontSize: var(--sizes-L-fontSize);--components-avatar-placeholder-size: 1.75rem}.userTile.mod-XL .avatar{--components-avatar-size: 4rem;--components-avatar-fontSize: var(--sizes-XL-fontSize);--components-avatar-placeholder-size: 2rem}.userTile.mod-XXL .avatar{--components-avatar-size: 5rem;--components-avatar-fontSize: var(--sizes-XXL-fontSize);--components-avatar-placeholder-size: 2.25rem}.userTile.mod-XXXL .avatar{--components-avatar-size: 6rem;--components-avatar-fontSize: var(--sizes-XXXL-fontSize);--components-avatar-placeholder-size: 2.5rem}\n"] }]
255
255
  }], propDecorators: { user: [{
256
256
  type: Input
257
257
  }], displayFormat: [{
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-user.mjs","sources":["../../../packages/ng/user/display/display-format.model.ts","../../../packages/ng/user/display/user-display.pipe.ts","../../../packages/ng/user/display/user-display.module.ts","../../../packages/ng/user/picture/user-picture.component.ts","../../../packages/ng/user/picture/user-picture.component.html","../../../packages/ng/user/tile/user-tile.component.ts","../../../packages/ng/user/tile/user-tile.component.html","../../../packages/ng/user/tile/user-tile.module.ts","../../../packages/ng/user/picture/user-picture.module.ts","../../../packages/ng/user/select/homonyms/user-homonyms.service.ts","../../../packages/ng/user/select/homonyms/user-homonyms.component.ts","../../../packages/ng/user/select/homonyms/user-homonyms.module.ts","../../../packages/ng/user/service/user-service.model.ts","../../../packages/ng/user/service/user-v3.service.ts","../../../packages/ng/user/select/me/me-option.directive.ts","../../../packages/ng/user/select/me/me-option.module.ts","../../../packages/ng/user/select/searcher/translations.ts","../../../packages/ng/user/select/searcher/user-searcher.translate.ts","../../../packages/ng/user/select/searcher/user-searcher.component.ts","../../../packages/ng/user/select/searcher/user-searcher.component.html","../../../packages/ng/user/select/searcher/user-searcher.module.ts","../../../packages/ng/user/select/input/translations.ts","../../../packages/ng/user/select/input/user-select-input.translate.ts","../../../packages/ng/user/select/input/user-select-input.component.ts","../../../packages/ng/user/select/input/user-select-input.component.html","../../../packages/ng/user/select/input/user-select-input.module.ts","../../../packages/ng/user/select/user-select.module.ts","../../../packages/ng/user/user.module.ts","../../../packages/ng/user/lucca-front-ng-user.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { EnumValue } from '@lucca-front/ng/core';\n\nexport enum LuDisplayFullname {\n\tfirstlast = 'fl',\n\tlastfirst = 'lf',\n\tfirst = 'f',\n\tlast = 'l',\n}\n\nexport enum LuDisplayInitials {\n\tfirstlast = 'FL',\n\tlastfirst = 'LF',\n\tlast = 'L',\n\tfirst = 'F',\n}\n\nexport enum LuDisplayHybrid {\n\tfirstIlastFull = 'Fl',\n\tfirstFulllastI = 'fL',\n\tlastIfirstFull = 'Lf',\n\tlastFullfirstI = 'lF',\n}\n\nexport type LuDisplayFormat = EnumValue<typeof LuDisplayFullname> | EnumValue<typeof LuDisplayInitials> | EnumValue<typeof LuDisplayHybrid>;\n\n/** Injection token that can be used to change the default displayed user format. */\nexport const LU_DEFAULT_DISPLAY_POLICY = new InjectionToken<LuDisplayFormat>('LuDisplayFormat', { factory: () => LuDisplayFullname.lastfirst });\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials } from './display-format.model';\n\nfunction getFirstCharacter([firstCharacter]: string): string {\n\treturn firstCharacter ?? '';\n}\n\nfunction isNotEmptyString(value: string): boolean {\n\treturn value?.length > 0;\n}\n\nexport interface LuUserDisplayInput {\n\tfirstName: string;\n\tlastName: string;\n}\n\nconst formatUser: Record<LuDisplayFormat, (user: LuUserDisplayInput) => string> = {\n\t[LuDisplayFullname.lastfirst]: ({ firstName, lastName }) => [lastName, firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.firstlast]: ({ firstName, lastName }) => [firstName, lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.first]: ({ firstName }) => firstName,\n\t[LuDisplayFullname.last]: ({ lastName }) => lastName,\n\t[LuDisplayInitials.lastfirst]: ({ firstName, lastName }) => [getFirstCharacter(lastName), getFirstCharacter(firstName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.firstlast]: ({ firstName, lastName }) => [getFirstCharacter(firstName), getFirstCharacter(lastName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.first]: ({ firstName }) => getFirstCharacter(firstName),\n\t[LuDisplayInitials.last]: ({ lastName }) => getFirstCharacter(lastName),\n\t[LuDisplayHybrid.lastIfirstFull]: ({ firstName, lastName }) => [isNotEmptyString(lastName) ? getFirstCharacter(lastName) + '.' : '', firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstIlastFull]: ({ firstName, lastName }) => [isNotEmptyString(firstName) ? getFirstCharacter(firstName) + '.' : '', lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.lastFullfirstI]: ({ firstName, lastName }) => [lastName, firstName ? getFirstCharacter(firstName) + '.' : ''].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstFulllastI]: ({ firstName, lastName }) => [firstName, lastName ? getFirstCharacter(lastName) + '.' : ''].filter(isNotEmptyString).join(' '),\n};\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUserDisplay(user: LuUserDisplayInput, format: LuDisplayFormat = LuDisplayFullname.lastfirst): string {\n\treturn formatUser[format](user);\n}\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUsersDisplay(users: LuUserDisplayInput[], options: LuUserDisplayMultipleOptions): string {\n\tconst usersStringified = users.map((u) => luUserDisplay(u, options.format));\n\tif ('separator' in options) {\n\t\treturn usersStringified.join(options.separator);\n\t}\n\treturn options.formatter.format(usersStringified);\n}\n\nexport type LuUserDisplaySingleOptions = LuDisplayFormat | { format: LuDisplayFormat };\n\nexport type LuUserDisplayMultipleOptions =\n\t| { format: LuDisplayFormat; separator: string }\n\t| {\n\t\t\tformat: LuDisplayFormat;\n\t\t\tformatter: Intl.ListFormat;\n\t };\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\n@Pipe({ name: 'luUserDisplay', standalone: true })\nexport class LuUserDisplayPipe implements PipeTransform {\n\tprivate readonly defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\tpublic transform<T extends LuUserDisplayInput>(user: T, options?: Partial<LuUserDisplaySingleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(users: T[], options?: Partial<LuUserDisplayMultipleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(userOrUsers: T | T[], options?: Partial<LuUserDisplaySingleOptions> | Partial<LuUserDisplayMultipleOptions>): string {\n\t\tif (userOrUsers == null) {\n\t\t\tthrow new Error(\"Parameter 'userOrUsers' must be a user or a user array\");\n\t\t}\n\n\t\toptions = typeof options === 'string' ? { format: options } : options || {};\n\n\t\tconst format = options.format ?? this.defaultFormat;\n\n\t\tif (Array.isArray(userOrUsers)) {\n\t\t\tif ('formatter' in options) {\n\t\t\t\treturn luUsersDisplay(userOrUsers, { format, formatter: options.formatter });\n\t\t\t}\n\t\t\tconst separator = ('separator' in options ? options.separator : undefined) ?? ', ';\n\t\t\treturn luUsersDisplay(userOrUsers, { format, separator });\n\t\t}\n\n\t\treturn luUserDisplay(userOrUsers, format);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayPipe } from './user-display.pipe';\n\n@NgModule({\n\timports: [LuUserDisplayPipe],\n\tproviders: [LuUserDisplayPipe],\n\texports: [LuUserDisplayPipe],\n})\nexport class LuUserDisplayModule {}\n","import { NgStyle } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnChanges, Optional, ViewEncapsulation } from '@angular/core';\nimport { LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials, luUserDisplay, LU_DEFAULT_DISPLAY_POLICY } from '../display';\n\nexport interface LuUserPictureUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n}\n\nexport const displayPictureFormatRecord: Record<LuDisplayFormat, LuDisplayInitials> = {\n\t[LuDisplayFullname.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayInitials.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastIfirstFull]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastFullfirstI]: LuDisplayInitials.lastfirst,\n\n\t[LuDisplayFullname.last]: LuDisplayInitials.last,\n\t[LuDisplayInitials.last]: LuDisplayInitials.last,\n\n\t[LuDisplayFullname.first]: LuDisplayInitials.first,\n\t[LuDisplayInitials.first]: LuDisplayInitials.first,\n\n\t[LuDisplayFullname.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayInitials.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstIlastFull]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstFulllastI]: LuDisplayInitials.firstlast,\n};\n\n/**\n * Displays user's picture or a placeholder with his/her initials and random bg color'\n */\n@Component({\n\tselector: 'lu-user-picture',\n\timports: [NgStyle],\n\ttemplateUrl: './user-picture.component.html',\n\tstyleUrls: ['./user-picture.component.scss'],\n\thost: { class: 'avatar' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tstandalone: true,\n})\nexport class LuUserPictureComponent implements OnChanges {\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\t@Input()\n\t@Optional()\n\tdisplayFormat: LuDisplayInitials = displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)];\n\n\t/**\n\t * Image loading attribute\n\t * It is set to 'lazy' by default\n\t *\n\t * (more info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)\n\t */\n\t@Input()\n\timageLoadingAttribute: HTMLImageElement['loading'] = 'lazy';\n\n\t/**\n\t * UserPictureUserInput whose picture you want to display.\n\t */\n\tprivate _user: LuUserPictureUserInput;\n\n\t@Input()\n\tset user(user: LuUserPictureUserInput) {\n\t\tthis._user = user;\n\t\tconst pictureHref = user?.picture?.href || user?.pictureHref;\n\t\tthis.hasPicture = !!pictureHref;\n\t\tthis.pictureHref = pictureHref;\n\t\tif (!this.hasPicture) {\n\t\t\tconst hsl = this.getNameHue();\n\t\t\tthis.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t\t}\n\t}\n\n\tget user() {\n\t\treturn this._user;\n\t}\n\n\tinitials = '';\n\thasPicture = false;\n\tpictureHref = '';\n\n\tstyle = {};\n\n\tngOnChanges(): void {\n\t\tthis.initials = luUserDisplay(this.user, this.displayFormat);\n\t}\n\n\tpictureError() {\n\t\tthis.hasPicture = false;\n\t\tconst hsl = this.getNameHue();\n\t\tthis.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t}\n\n\tprivate getNameHue(): number {\n\t\t// we sum the chars in user's firstname + lastname\n\t\tconst charSum = luUserDisplay(this._user, LuDisplayFullname.firstlast)\n\t\t\t.split('')\n\t\t\t.reduce((sum, a) => sum + a.charCodeAt(0), 0);\n\t\t// and take a modulo 360 for hue\n\t\treturn charSum % 360;\n\t}\n}\n","@if (hasPicture) {\n<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute\" />\n} @else {\n<div class=\"avatar-picture\" [ngStyle]=\"style\">\n\t<span class=\"avatar-picture-initials\">{{ initials }}</span>\n</div>\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { LuDisplayFormat, LuUserDisplayPipe, LU_DEFAULT_DISPLAY_POLICY } from '../display/index';\nimport { displayPictureFormatRecord, LuUserPictureComponent } from '../picture/user-picture.component';\n\nexport interface LuUserTileUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n\tjobTitle?: string | null;\n}\n\n/**\n * Displays user picture and name. LuUserTileUserInput's role can be specified, and the footer is customizable.\n */\n@Component({\n\tselector: 'lu-user-tile',\n\timports: [LuUserDisplayPipe, LuUserPictureComponent],\n\ttemplateUrl: './user-tile.component.html',\n\tstyleUrls: ['./user-tile.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'userTile' },\n\tencapsulation: ViewEncapsulation.None,\n\tstandalone: true,\n})\nexport class LuUserTileComponent {\n\treadonly #defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\treadonly #changeDetector = inject(ChangeDetectorRef);\n\tdisplayPictureFormat = displayPictureFormatRecord[this.#defaultFormat];\n\n\tprivate _user: LuUserTileUserInput;\n\t/**\n\t * LuUserTileUserInput to display.\n\t */\n\t@Input()\n\tset user(user: LuUserTileUserInput) {\n\t\tthis._user = user;\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\n\tget user(): LuUserTileUserInput {\n\t\treturn this._user;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat;\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\t@Input()\n\tset displayFormat(displayFormat: LuDisplayFormat) {\n\t\tthis._displayFormat = displayFormat;\n\t\tthis.displayPictureFormat = displayPictureFormatRecord[displayFormat];\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\tget displayFormat(): LuDisplayFormat {\n\t\treturn this._displayFormat;\n\t}\n\n\tprivate _role: string;\n\t/**\n\t * LuUserTileUserInput role to display\n\t */\n\t@Input()\n\tset role(role: string) {\n\t\tthis._role = role;\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\n\tget role(): string {\n\t\treturn this._role;\n\t}\n}\n","<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuUserTileComponent } from './user-tile.component';\n\n/**\n * @deprecated use `LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserTileComponent],\n\texports: [LuUserTileComponent],\n})\nexport class LuUserTileModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserPictureComponent } from './user-picture.component';\n\n/**\n * @deprecated use `LuUserPictureComponent` instead\n */\n@NgModule({\n\timports: [LuUserPictureComponent],\n\texports: [LuUserPictureComponent],\n})\nexport class LuUserPictureModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display/index';\nimport { ILuUser } from '../../user.model';\n\ninterface IV3CollectionResponse<T> {\n\tdata: { items: T[] };\n}\n\nexport interface ILuUserHomonymsService<U extends ILuUser = ILuUser> {\n\textractHomonyms(users: U[]): U[];\n\tenrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n\nexport abstract class ALuUserHomonymsService<U extends ILuUser = ILuUser> implements ILuUserHomonymsService<U> {\n\tabstract extractHomonyms(users: U[]): U[];\n\tabstract enrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n@Injectable()\nexport class LuUserHomonymsService<U extends ILuUser = ILuUser> extends ALuUserHomonymsService<U> implements ILuUserHomonymsService<U> {\n\tprivate _format = LuDisplayFullname.lastfirst;\n\textractHomonyms(users: U[]): U[] {\n\t\tconst usersByName = {} as { [key: string]: U[] };\n\t\tusers.forEach((user) => {\n\t\t\tconst name = this._pipe.transform(user, this._format);\n\t\t\tusersByName[name] = [...(usersByName[name] || []), user];\n\t\t});\n\n\t\tconst nonUniqNames = Object.keys(usersByName).filter((key) => usersByName[key].length > 1);\n\n\t\tconst homonyms: U[] = [];\n\t\tnonUniqNames.forEach((name) => homonyms.push(...usersByName[name]));\n\t\treturn homonyms;\n\t}\n\n\tenrichHomonyms(homonyms: U[]): Observable<U[]> {\n\t\tif (!homonyms || homonyms.length === 0) {\n\t\t\treturn of([]) as Observable<U[]>;\n\t\t}\n\t\treturn this._http\n\t\t\t.get<IV3CollectionResponse<{ id: number; department: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: homonyms.map((u) => u.id).join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.map((info) => {\n\t\t\t\t\t\tconst homonym = homonyms.find((h) => h.id === info.id);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...homonym,\n\t\t\t\t\t\t\tadditionalInformation: info.department ? info.department.name : '',\n\t\t\t\t\t\t} as U;\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tcatchError(() => of([])),\n\t\t\t);\n\t}\n\tconstructor(\n\t\tprivate _pipe: LuUserDisplayPipe,\n\t\tprivate _http: HttpClient,\n\t) {\n\t\tsuper();\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable } from 'rxjs';\nimport { map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { LuUserDisplayPipe } from '../../display';\nimport { ILuUser } from '../../user.model';\nimport { ALuUserHomonymsService, ILuUserHomonymsService, LuUserHomonymsService } from './user-homonyms.service';\n\n@Component({\n\tselector: 'lu-user-homonyms',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserHomonymsComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserHomonymsService,\n\t\t\tuseClass: LuUserHomonymsService,\n\t\t},\n\t],\n})\nexport class LuUserHomonymsComponent<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis._outOptions$ = merge(\n\t\t\tin$,\n\t\t\tin$.pipe(\n\t\t\t\tmap((users) => this._service.extractHomonyms(users)),\n\t\t\t\tswitchMap((homonyms: U[]) => this._service.enrichHomonyms(homonyms)),\n\t\t\t\twithLatestFrom(in$),\n\t\t\t\tmap<[U[], U[]], U[]>(([enrichedUsers, users]) => {\n\t\t\t\t\tconst result = [...users];\n\t\t\t\t\tenrichedUsers.forEach((user) => {\n\t\t\t\t\t\tconst i = result.findIndex((u) => u.id === user.id);\n\t\t\t\t\t\tresult[i] = user;\n\t\t\t\t\t});\n\t\t\t\t\treturn result;\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\tprivate _outOptions$: Observable<U[]>;\n\tget outOptions$() {\n\t\treturn this._outOptions$;\n\t}\n\tprivate _service: ILuUserHomonymsService<U>;\n\tconstructor(\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: ILuUserHomonymsService<U>,\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Self()\n\t\tselfService: ILuUserHomonymsService<U>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserHomonymsComponent } from './user-homonyms.component';\n\n@NgModule({\n\timports: [LuUserHomonymsComponent],\n\texports: [LuUserHomonymsComponent],\n})\nexport class LuUserHomonymsModule {}\n","import { ILuUser } from '../user.model';\nimport { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\n\nexport interface ILuUserService<U extends ILuUser = ILuUser> extends ILuApiService<U> {\n\tgetMe(): Observable<U>;\n}\n\nexport abstract class ALuUserService<U extends ILuUser = ILuUser> extends ALuApiService<U> implements ILuUserService<U> {\n\tabstract getMe(): Observable<U>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ILuApiResponse, ILuApiSuggestion, LuApiV3Service } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ILuUser } from '../user.model';\nimport { ILuUserService } from './user-service.model';\n\n@Injectable()\nexport class LuUserV3Service<U extends ILuUser = ILuUser> extends LuApiV3Service<U> implements ILuUserService<U> {\n\tprotected _appInstanceId: number | string;\n\tset appInstanceId(appInstanceId: number | string) {\n\t\tthis._appInstanceId = appInstanceId;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(operations: number[]) {\n\t\tthis._operations = operations;\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t\tthis.api = '/api/v3/users/search';\n\t\tthis.fields = 'id,firstname,lastname,picture[href]';\n\t\tthis.orderBy = 'lastname,asc,firstname,asc';\n\t}\n\n\tgetMe(): Observable<U> {\n\t\treturn this._http.get<ILuApiResponse<ILuUser>>(`/api/v3/users/me?fields=id`).pipe(\n\t\t\tswitchMap((r) => this._get(this.url + `&id=${r.data.id}`)),\n\t\t\tmap((users) => users[0]),\n\t\t);\n\t}\n\n\toverride get url() {\n\t\tif (!this._appInstanceId || !this._operations || !this._operations.length) {\n\t\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t\t} else {\n\t\t\treturn `/api/v3/users/scopedsearch?${[...this._filters, `appInstanceId=${this._appInstanceId}`, `operations=${this._operations.join(',')}`, this._orderBy, this._fields]\n\t\t\t\t.filter((f) => !!f)\n\t\t\t\t.join('&')}`;\n\t\t}\n\t}\n\n\t// FIXME typing\n\tprotected override _get(url: string) {\n\t\treturn (super._get(url) as unknown as Observable<ILuApiSuggestion<U>[]>).pipe(map((suggestions) => suggestions.map((s: ILuApiSuggestion<U>) => s.item)));\n\t}\n\n\tprotected override _clueFilter(clue: string) {\n\t\tconst urlSafeClue = clue\n\t\t\t.split(' ')\n\t\t\t.map((c: string) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\treturn `clue=${urlSafeClue}`;\n\t}\n}\n","import { Directive, EmbeddedViewRef, forwardRef, Inject, Input, Optional, Self, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ALuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\n\n@Directive({\n\tselector: '[luUserMeOption]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserMeOptionDirective<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\t@Input() set luUserMeOptionFields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set luUserMeOptionFilters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set luUserMeOptionOrderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set luUserMeOptionAppInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set luUserMeOptionOperations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() set luUserMeOptionClue(clue: string) {\n\t\tif (clue) {\n\t\t\tthis.hideMe();\n\t\t} else {\n\t\t\tthis.displayMe();\n\t\t}\n\t}\n\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.meDisplayed$]).pipe(map(([options, meDisplayed]) => (meDisplayed ? options?.filter((o) => o.id !== this.me?.id) : options)));\n\t}\n\toutOptions$: Observable<U[]>;\n\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _viewRef: EmbeddedViewRef<{ $implicit: ILuUser }>;\n\n\tconstructor(\n\t\t@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>,\n\t\t@Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>,\n\t\tprivate _vcr: ViewContainerRef,\n\t\tprivate _templateRef: TemplateRef<{ $implicit: U }>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tme: ILuUser = undefined;\n\tprivate meDisplayed$ = new BehaviorSubject(false);\n\tonOpen() {\n\t\tthis._service.getMe().subscribe((me) => {\n\t\t\tthis.me = me;\n\t\t\tthis.displayMe();\n\t\t});\n\t}\n\tdisplayMe() {\n\t\tif (this.me && !this.meDisplayed$.value) {\n\t\t\tthis.meDisplayed$.next(true);\n\t\t\tthis._viewRef = this._vcr.createEmbeddedView(this._templateRef, {\n\t\t\t\t$implicit: this.me,\n\t\t\t});\n\t\t}\n\t}\n\thideMe() {\n\t\tif (this.me && this.meDisplayed$.value && this._viewRef) {\n\t\t\tthis.meDisplayed$.next(false);\n\t\t\tthis._viewRef.destroy();\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserMeOptionDirective } from './me-option.directive';\n\n@NgModule({\n\timports: [LuUserMeOptionDirective],\n\texports: [LuUserMeOptionDirective],\n})\nexport class LuUserMeOptionModule {}\n","export const Translations = {\n\ten: {\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n\tde: {\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen ',\n\t},\n\tfr: {\n\t\tincludeFormerEmployees: 'Inclure les salariés partis',\n\t},\n\tit: {\n\t\tincludeFormerEmployees: 'Includere gli ex dipendenti',\n\t},\n\tnl: {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\t'nl-BE': {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tes: {\n\t\tincludeFormerEmployees: 'Incluir a los antiguos empleados',\n\t},\n\tpt: {\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SEARCHER_TRANSLATIONS = new InjectionToken('LuUserSearcherTranslations', {\n\tfactory: () => luUserSearcherTranslations,\n});\n\nexport interface ILuUserSearcherLabel {\n\tincludeFormerEmployees: string;\n}\n\nexport const luUserSearcherTranslations: LuTranslation<ILuUserSearcherLabel> = Translations;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, Input, OnDestroy, OnInit, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, getIntl, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, merge, Observable, of, Subject, Subscription } from 'rxjs';\nimport { catchError, debounceTime, filter, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\nimport { LU_USER_SEARCHER_TRANSLATIONS } from './user-searcher.translate';\n\ninterface UserPagedSearcherForm {\n\tclue: string;\n\tformerEmployees: boolean;\n}\n\n@Component({\n\tselector: 'lu-user-paged-searcher',\n\ttemplateUrl: 'user-searcher.component.html',\n\tstyleUrls: ['user-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\t],\n})\nexport class LuUserPagedSearcherComponent<U extends ILuUser = ILuUser> implements OnInit, OnDestroy, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber {\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _subs = new Subscription();\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLInputElement>;\n\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() enableFormerEmployees = false;\n\n\t@Output() clueChange: Observable<string>;\n\n\tform: FormGroup;\n\t// page$: Subject<number>;\n\toutOptions$ = new Subject<U[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\tprivate _loading = false;\n\tprivate _isOpened$ = new BehaviorSubject(false);\n\tprivate _page$ = new Subject<void>();\n\tprivate _isLastPage: boolean;\n\tprivate _options: U[] = [];\n\n\tpublic intl = getIntl(LU_USER_SEARCHER_TRANSLATIONS);\n\n\tconstructor(@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>, @Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>) {\n\t\tthis._service = hostService || selfService;\n\n\t\tconst clue: FormControl = new FormControl('');\n\n\t\tthis.form = new FormGroup({\n\t\t\tclue,\n\t\t\tformerEmployees: new FormControl(false),\n\t\t});\n\n\t\tthis.clueChange = clue.valueChanges as Observable<string>;\n\t}\n\n\tngOnInit() {\n\t\tconst formValue$ = this.form.valueChanges.pipe(startWith(this.form.value)) as Observable<UserPagedSearcherForm>;\n\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\n\t\tconst query$ = combineLatest([formValue$.pipe(debounceTime(250)), this._isOpened$]).pipe(\n\t\t\tfilter(([, isOpened]) => isOpened),\n\t\t\tswitchMap(([val]) => pager$.pipe(map<number, [UserPagedSearcherForm, number]>((page) => [val, page]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([val, page]) => {\n\t\t\t\tconst filters: string[] = [];\n\t\t\t\tif (val.formerEmployees) {\n\t\t\t\t\tfilters.push(`formerEmployees=true`);\n\t\t\t\t}\n\t\t\t\treturn this._service.searchPaged(val.clue, page, filters).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<U[], [U[], number]>((items) => [items, page]),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst resultsSub = results$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis._subs.add(resultsSub);\n\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tconst loadingSub = this.loading$.subscribe((l) => (this._loading = l));\n\t\tthis._subs.add(loadingSub);\n\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis._isOpened$.next(true);\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\tonClose() {\n\t\tthis._isOpened$.next(false);\n\t\tthis.outOptions$.next([]);\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tif (this.form.dirty) {\n\t\t\tthis.form.reset();\n\t\t}\n\t}\n}\n","<form [formGroup]=\"form\">\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t\t<input #searchInput class=\"textfield-input\" formControlName=\"clue\" />\n\t</div>\n\n\t<label class=\"checkbox mod-formerEmployee mod-S\" *ngIf=\"enableFormerEmployees\">\n\t\t<input class=\"checkbox-input\" type=\"checkbox\" formControlName=\"formerEmployees\" />\n\t\t<span class=\"checkbox-label\">{{ intl.includeFormerEmployees }}</span>\n\t</label>\n</form>\n\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuUserPagedSearcherComponent } from './user-searcher.component';\n\n@NgModule({\n\timports: [LuUserPagedSearcherComponent],\n\texports: [LuUserPagedSearcherComponent],\n})\nexport class LuUserSearcherModule {}\n","export const Translations = {\n\ten: {\n\t\tusers: 'users',\n\t\tme: 'Me:',\n\t},\n\tde: {\n\t\tusers: 'Benutzer',\n\t\tme: 'Ich:',\n\t},\n\tfr: {\n\t\tusers: 'utilisateurs',\n\t\tme: 'Moi :',\n\t},\n\tit: {\n\t\tusers: 'utenti',\n\t\tme: 'Io:',\n\t},\n\tnl: {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\t'nl-BE': {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tes: {\n\t\tusers: 'usuarios',\n\t\tme: 'Yo:',\n\t},\n\tpt: {\n\t\tusers: 'utilizadores',\n\t\tme: 'Eu:',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuUserSelectTranslations', {\n\tfactory: () => luUserSelectInputTranslations,\n});\n\nexport interface ILuUserSelectInputLabel {\n\tusers: string;\n\tme: string;\n}\n\nexport const luUserSelectInputTranslations: LuTranslation<ILuUserSelectInputLabel> = Translations;\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display';\nimport { LuUserHomonymsComponent } from '../homonyms';\nimport { LuUserMeOptionDirective } from '../me';\nimport { LuUserPagedSearcherComponent } from '../searcher';\nimport { LU_USER_SELECT_INPUT_TRANSLATIONS } from './user-select-input.translate';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@Component({\n\tselector: 'lu-user-select',\n\ttemplateUrl: './user-select-input.component.html',\n\tstyleUrls: ['./user-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuInputDisplayerDirective,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserPagedSearcherComponent,\n\t\tLuUserHomonymsComponent,\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserMeOptionDirective,\n\t\tLuForOptionsDirective,\n\t\tLuUserDisplayPipe,\n\t],\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuUserSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserSelectInputComponent<U extends import('../../user.model').ILuUser = import('../../user.model').ILuUser>\n\textends ALuSelectInputComponent<U>\n\timplements ControlValueAccessor, ILuInputWithPicker<U>, AfterViewInit\n{\n\tsearchFormat = LuDisplayFullname.lastfirst;\n\n\t@Input('placeholder')\n\toverride set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t@Input() orderBy: string;\n\t@Input() appInstanceId: number | string;\n\t@Input() operations: number[];\n\t@Input() enableFormerEmployees = false;\n\t@Input() disablePrincipal = false;\n\n\tclue = '';\n\n\tbyId: LuOptionComparer<U> = (option1: U, option2: U) => option1 && option2 && option1.id === option2.id;\n\n\tpublic intl = getIntl(LU_USER_SELECT_INPUT_TRANSLATIONS);\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.users }}</span\n\t>\n\t<ng-template #singleView>{{ values[0] || values | luUserDisplay }}</ng-template>\n</ng-template>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-user-paged-searcher\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[enableFormerEmployees]=\"enableFormerEmployees\"\n\t\t\t(clueChange)=\"clue = $event\"\n\t\t></lu-user-paged-searcher>\n\t</header>\n\t<lu-user-homonyms></lu-user-homonyms>\n\t<ng-container *ngIf=\"!disablePrincipal\">\n\t\t<lu-option\n\t\t\t*luUserMeOption=\"\n\t\t\tlet user;\n\t\t\tfields: fields;\n\t\t\tfilters: filters;\n\t\t\torderBy: orderBy;\n\t\t\tappInstanceId: appInstanceId;\n\t\t\toperations: operations;\n\t\t\tclue: clue\n\t\t\"\n\t\t\t[value]=\"user\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay: searchFormat }}</b>\n\t\t\t</div>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</lu-option>\n\t</ng-container>\n\n\t<lu-option *luForOptions=\"let user\" [value]=\"user\">\n\t\t<div>{{ user | luUserDisplay: searchFormat }}</div>\n\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t</lu-option>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputComponent } from './user-select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputComponent],\n\texports: [LuUserSelectInputComponent],\n})\nexport class LuUserSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputModule } from './input/index';\nimport { LuUserSearcherModule } from './searcher/index';\nimport { LuUserHomonymsModule } from './homonyms/index';\nimport { LuUserMeOptionModule } from './me/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsModule, LuUserMeOptionModule],\n\texports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsModule, LuUserMeOptionModule],\n})\nexport class LuUserSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayModule } from './display/index';\nimport { LuUserPictureModule } from './picture/index';\nimport { LuUserTileModule } from './tile/index';\nimport { LuUserSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n\texports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n})\nexport class LuUserModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuUserDisplayPipe","i1","Translations","i2"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-user.mjs","sources":["../../../packages/ng/user/display/display-format.model.ts","../../../packages/ng/user/display/user-display.pipe.ts","../../../packages/ng/user/display/user-display.module.ts","../../../packages/ng/user/picture/user-picture.component.ts","../../../packages/ng/user/picture/user-picture.component.html","../../../packages/ng/user/tile/user-tile.component.ts","../../../packages/ng/user/tile/user-tile.component.html","../../../packages/ng/user/tile/user-tile.module.ts","../../../packages/ng/user/picture/user-picture.module.ts","../../../packages/ng/user/select/homonyms/user-homonyms.service.ts","../../../packages/ng/user/select/homonyms/user-homonyms.component.ts","../../../packages/ng/user/select/homonyms/user-homonyms.module.ts","../../../packages/ng/user/service/user-service.model.ts","../../../packages/ng/user/service/user-v3.service.ts","../../../packages/ng/user/select/me/me-option.directive.ts","../../../packages/ng/user/select/me/me-option.module.ts","../../../packages/ng/user/select/searcher/translations.ts","../../../packages/ng/user/select/searcher/user-searcher.translate.ts","../../../packages/ng/user/select/searcher/user-searcher.component.ts","../../../packages/ng/user/select/searcher/user-searcher.component.html","../../../packages/ng/user/select/searcher/user-searcher.module.ts","../../../packages/ng/user/select/input/translations.ts","../../../packages/ng/user/select/input/user-select-input.translate.ts","../../../packages/ng/user/select/input/user-select-input.component.ts","../../../packages/ng/user/select/input/user-select-input.component.html","../../../packages/ng/user/select/input/user-select-input.module.ts","../../../packages/ng/user/select/user-select.module.ts","../../../packages/ng/user/user.module.ts","../../../packages/ng/user/lucca-front-ng-user.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { EnumValue } from '@lucca-front/ng/core';\n\nexport enum LuDisplayFullname {\n\tfirstlast = 'fl',\n\tlastfirst = 'lf',\n\tfirst = 'f',\n\tlast = 'l',\n}\n\nexport enum LuDisplayInitials {\n\tfirstlast = 'FL',\n\tlastfirst = 'LF',\n\tlast = 'L',\n\tfirst = 'F',\n}\n\nexport enum LuDisplayHybrid {\n\tfirstIlastFull = 'Fl',\n\tfirstFulllastI = 'fL',\n\tlastIfirstFull = 'Lf',\n\tlastFullfirstI = 'lF',\n}\n\nexport type LuDisplayFormat = EnumValue<typeof LuDisplayFullname> | EnumValue<typeof LuDisplayInitials> | EnumValue<typeof LuDisplayHybrid>;\n\n/** Injection token that can be used to change the default displayed user format. */\nexport const LU_DEFAULT_DISPLAY_POLICY = new InjectionToken<LuDisplayFormat>('LuDisplayFormat', { factory: () => LuDisplayFullname.lastfirst });\n","import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { LU_DEFAULT_DISPLAY_POLICY, LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials } from './display-format.model';\n\nfunction getFirstCharacter([firstCharacter]: string): string {\n\treturn firstCharacter ?? '';\n}\n\nfunction isNotEmptyString(value: string): boolean {\n\treturn value?.length > 0;\n}\n\nexport interface LuUserDisplayInput {\n\tfirstName: string;\n\tlastName: string;\n}\n\nconst formatUser: Record<LuDisplayFormat, (user: LuUserDisplayInput) => string> = {\n\t[LuDisplayFullname.lastfirst]: ({ firstName, lastName }) => [lastName, firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.firstlast]: ({ firstName, lastName }) => [firstName, lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayFullname.first]: ({ firstName }) => firstName,\n\t[LuDisplayFullname.last]: ({ lastName }) => lastName,\n\t[LuDisplayInitials.lastfirst]: ({ firstName, lastName }) => [getFirstCharacter(lastName), getFirstCharacter(firstName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.firstlast]: ({ firstName, lastName }) => [getFirstCharacter(firstName), getFirstCharacter(lastName)].filter(isNotEmptyString).join(''),\n\t[LuDisplayInitials.first]: ({ firstName }) => getFirstCharacter(firstName),\n\t[LuDisplayInitials.last]: ({ lastName }) => getFirstCharacter(lastName),\n\t[LuDisplayHybrid.lastIfirstFull]: ({ firstName, lastName }) => [isNotEmptyString(lastName) ? getFirstCharacter(lastName) + '.' : '', firstName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstIlastFull]: ({ firstName, lastName }) => [isNotEmptyString(firstName) ? getFirstCharacter(firstName) + '.' : '', lastName].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.lastFullfirstI]: ({ firstName, lastName }) => [lastName, firstName ? getFirstCharacter(firstName) + '.' : ''].filter(isNotEmptyString).join(' '),\n\t[LuDisplayHybrid.firstFulllastI]: ({ firstName, lastName }) => [firstName, lastName ? getFirstCharacter(lastName) + '.' : ''].filter(isNotEmptyString).join(' '),\n};\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUserDisplay(user: LuUserDisplayInput, format: LuDisplayFormat = LuDisplayFullname.lastfirst): string {\n\treturn formatUser[format](user);\n}\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\nexport function luUsersDisplay(users: LuUserDisplayInput[], options: LuUserDisplayMultipleOptions): string {\n\tconst usersStringified = users.map((u) => luUserDisplay(u, options.format));\n\tif ('separator' in options) {\n\t\treturn usersStringified.join(options.separator);\n\t}\n\treturn options.formatter.format(usersStringified);\n}\n\nexport type LuUserDisplaySingleOptions = LuDisplayFormat | { format: LuDisplayFormat };\n\nexport type LuUserDisplayMultipleOptions =\n\t| { format: LuDisplayFormat; separator: string }\n\t| {\n\t\t\tformat: LuDisplayFormat;\n\t\t\tformatter: Intl.ListFormat;\n\t };\n\n/**\n * Displays a user name according to specified format. Supported formats: f for first name,\n * F for first initial, l for last name, L for last initial.\n */\n@Pipe({ name: 'luUserDisplay', standalone: true })\nexport class LuUserDisplayPipe implements PipeTransform {\n\tprivate readonly defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\n\tpublic transform<T extends LuUserDisplayInput>(user: T, options?: Partial<LuUserDisplaySingleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(users: T[], options?: Partial<LuUserDisplayMultipleOptions>): string;\n\tpublic transform<T extends LuUserDisplayInput>(userOrUsers: T | T[], options?: Partial<LuUserDisplaySingleOptions> | Partial<LuUserDisplayMultipleOptions>): string {\n\t\tif (userOrUsers == null) {\n\t\t\tthrow new Error(\"Parameter 'userOrUsers' must be a user or a user array\");\n\t\t}\n\n\t\toptions = typeof options === 'string' ? { format: options } : options || {};\n\n\t\tconst format = options.format ?? this.defaultFormat;\n\n\t\tif (Array.isArray(userOrUsers)) {\n\t\t\tif ('formatter' in options) {\n\t\t\t\treturn luUsersDisplay(userOrUsers, { format, formatter: options.formatter });\n\t\t\t}\n\t\t\tconst separator = ('separator' in options ? options.separator : undefined) ?? ', ';\n\t\t\treturn luUsersDisplay(userOrUsers, { format, separator });\n\t\t}\n\n\t\treturn luUserDisplay(userOrUsers, format);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayPipe } from './user-display.pipe';\n\n@NgModule({\n\timports: [LuUserDisplayPipe],\n\tproviders: [LuUserDisplayPipe],\n\texports: [LuUserDisplayPipe],\n})\nexport class LuUserDisplayModule {}\n","import { NgStyle } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, Input, OnChanges, Optional, ViewEncapsulation } from '@angular/core';\nimport { LuDisplayFormat, LuDisplayFullname, LuDisplayHybrid, LuDisplayInitials, luUserDisplay, LU_DEFAULT_DISPLAY_POLICY } from '../display';\n\nexport interface LuUserPictureUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n}\n\nexport const displayPictureFormatRecord: Record<LuDisplayFormat, LuDisplayInitials> = {\n\t[LuDisplayFullname.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayInitials.lastfirst]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastIfirstFull]: LuDisplayInitials.lastfirst,\n\t[LuDisplayHybrid.lastFullfirstI]: LuDisplayInitials.lastfirst,\n\n\t[LuDisplayFullname.last]: LuDisplayInitials.last,\n\t[LuDisplayInitials.last]: LuDisplayInitials.last,\n\n\t[LuDisplayFullname.first]: LuDisplayInitials.first,\n\t[LuDisplayInitials.first]: LuDisplayInitials.first,\n\n\t[LuDisplayFullname.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayInitials.firstlast]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstIlastFull]: LuDisplayInitials.firstlast,\n\t[LuDisplayHybrid.firstFulllastI]: LuDisplayInitials.firstlast,\n};\n\n/**\n * Displays user's picture or a placeholder with his/her initials and random bg color'\n */\n@Component({\n\tselector: 'lu-user-picture',\n\timports: [NgStyle],\n\ttemplateUrl: './user-picture.component.html',\n\tstyleUrls: ['./user-picture.component.scss'],\n\thost: { class: 'avatar' },\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tstandalone: true,\n})\nexport class LuUserPictureComponent implements OnChanges {\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\t@Input()\n\t@Optional()\n\tdisplayFormat: LuDisplayInitials = displayPictureFormatRecord[inject(LU_DEFAULT_DISPLAY_POLICY)];\n\n\t/**\n\t * Image loading attribute\n\t * It is set to 'lazy' by default\n\t *\n\t * (more info: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#loading)\n\t */\n\t@Input()\n\timageLoadingAttribute: HTMLImageElement['loading'] = 'lazy';\n\n\t/**\n\t * UserPictureUserInput whose picture you want to display.\n\t */\n\tprivate _user: LuUserPictureUserInput;\n\n\t@Input()\n\tset user(user: LuUserPictureUserInput) {\n\t\tthis._user = user;\n\t\tconst pictureHref = user?.picture?.href || user?.pictureHref;\n\t\tthis.hasPicture = !!pictureHref;\n\t\tthis.pictureHref = pictureHref;\n\t\tif (!this.hasPicture) {\n\t\t\tconst hsl = this.getNameHue();\n\t\t\tthis.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t\t}\n\t}\n\n\tget user() {\n\t\treturn this._user;\n\t}\n\n\tinitials = '';\n\thasPicture = false;\n\tpictureHref = '';\n\n\tstyle = {};\n\n\tngOnChanges(): void {\n\t\tthis.initials = luUserDisplay(this.user, this.displayFormat);\n\t}\n\n\tpictureError() {\n\t\tthis.hasPicture = false;\n\t\tconst hsl = this.getNameHue();\n\t\tthis.style = { 'background-color': `hsl(${hsl}, 60%, 60%)` };\n\t}\n\n\tprivate getNameHue(): number {\n\t\t// we sum the chars in user's firstname + lastname\n\t\tconst charSum = luUserDisplay(this._user, LuDisplayFullname.firstlast)\n\t\t\t.split('')\n\t\t\t.reduce((sum, a) => sum + a.charCodeAt(0), 0);\n\t\t// and take a modulo 360 for hue\n\t\treturn charSum % 360;\n\t}\n}\n","@if (hasPicture) {\n<img class=\"avatar-picture\" [src]=\"pictureHref\" alt=\"\" (error)=\"pictureError()\" [loading]=\"imageLoadingAttribute\" />\n} @else {\n<div class=\"avatar-picture\" [ngStyle]=\"style\">\n\t<span class=\"avatar-picture-initials\">{{ initials }}</span>\n</div>\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, ViewEncapsulation } from '@angular/core';\nimport { LuDisplayFormat, LuUserDisplayPipe, LU_DEFAULT_DISPLAY_POLICY } from '../display/index';\nimport { displayPictureFormatRecord, LuUserPictureComponent } from '../picture/user-picture.component';\n\nexport interface LuUserTileUserInput {\n\tpicture?: { href: string } | null;\n\tpictureHref?: string | null;\n\tfirstName: string;\n\tlastName: string;\n\tjobTitle?: string | null;\n}\n\n/**\n * Displays user picture and name. LuUserTileUserInput's role can be specified, and the footer is customizable.\n */\n@Component({\n\tselector: 'lu-user-tile',\n\timports: [LuUserDisplayPipe, LuUserPictureComponent],\n\ttemplateUrl: './user-tile.component.html',\n\tstyleUrls: ['./user-tile.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'userTile' },\n\tencapsulation: ViewEncapsulation.None,\n\tstandalone: true,\n})\nexport class LuUserTileComponent {\n\treadonly #defaultFormat = inject(LU_DEFAULT_DISPLAY_POLICY);\n\treadonly #changeDetector = inject(ChangeDetectorRef);\n\tdisplayPictureFormat = displayPictureFormatRecord[this.#defaultFormat];\n\n\tprivate _user: LuUserTileUserInput;\n\t/**\n\t * LuUserTileUserInput to display.\n\t */\n\t@Input()\n\tset user(user: LuUserTileUserInput) {\n\t\tthis._user = user;\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\n\tget user(): LuUserTileUserInput {\n\t\treturn this._user;\n\t}\n\n\tprivate _displayFormat: LuDisplayFormat;\n\t/**\n\t * User Display format.\n\t * It is set to 'LU_DEFAULT_DISPLAY_POLICY' by default\n\t */\n\t@Input()\n\tset displayFormat(displayFormat: LuDisplayFormat) {\n\t\tthis._displayFormat = displayFormat;\n\t\tthis.displayPictureFormat = displayPictureFormatRecord[displayFormat];\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\tget displayFormat(): LuDisplayFormat {\n\t\treturn this._displayFormat;\n\t}\n\n\tprivate _role: string;\n\t/**\n\t * LuUserTileUserInput role to display\n\t */\n\t@Input()\n\tset role(role: string) {\n\t\tthis._role = role;\n\t\tthis.#changeDetector.markForCheck();\n\t}\n\n\tget role(): string {\n\t\treturn this._role;\n\t}\n}\n","<lu-user-picture [user]=\"user\" [displayFormat]=\"displayPictureFormat\"></lu-user-picture>\n<div class=\"userTile-content\">\n\t<div class=\"userTile-content-name\">{{ user | luUserDisplay: displayFormat }}</div>\n\t@if (role || user?.jobTitle) {\n\t<div class=\"userTile-content-info\">{{ role ? role : user?.jobTitle }}</div>\n\t}\n\t<div class=\"user-tile-footnote\"><ng-content></ng-content></div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuUserTileComponent } from './user-tile.component';\n\n/**\n * @deprecated use `LuUserTileComponent` instead\n */\n@NgModule({\n\timports: [LuUserTileComponent],\n\texports: [LuUserTileComponent],\n})\nexport class LuUserTileModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserPictureComponent } from './user-picture.component';\n\n/**\n * @deprecated use `LuUserPictureComponent` instead\n */\n@NgModule({\n\timports: [LuUserPictureComponent],\n\texports: [LuUserPictureComponent],\n})\nexport class LuUserPictureModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display/index';\nimport { ILuUser } from '../../user.model';\n\ninterface IV3CollectionResponse<T> {\n\tdata: { items: T[] };\n}\n\nexport interface ILuUserHomonymsService<U extends ILuUser = ILuUser> {\n\textractHomonyms(users: U[]): U[];\n\tenrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n\nexport abstract class ALuUserHomonymsService<U extends ILuUser = ILuUser> implements ILuUserHomonymsService<U> {\n\tabstract extractHomonyms(users: U[]): U[];\n\tabstract enrichHomonyms(homonyms: U[]): Observable<U[]>;\n}\n@Injectable()\nexport class LuUserHomonymsService<U extends ILuUser = ILuUser> extends ALuUserHomonymsService<U> implements ILuUserHomonymsService<U> {\n\tprivate _format = LuDisplayFullname.lastfirst;\n\textractHomonyms(users: U[]): U[] {\n\t\tconst usersByName = {} as { [key: string]: U[] };\n\t\tusers.forEach((user) => {\n\t\t\tconst name = this._pipe.transform(user, this._format);\n\t\t\tusersByName[name] = [...(usersByName[name] || []), user];\n\t\t});\n\n\t\tconst nonUniqNames = Object.keys(usersByName).filter((key) => usersByName[key].length > 1);\n\n\t\tconst homonyms: U[] = [];\n\t\tnonUniqNames.forEach((name) => homonyms.push(...usersByName[name]));\n\t\treturn homonyms;\n\t}\n\n\tenrichHomonyms(homonyms: U[]): Observable<U[]> {\n\t\tif (!homonyms || homonyms.length === 0) {\n\t\t\treturn of([]) as Observable<U[]>;\n\t\t}\n\t\treturn this._http\n\t\t\t.get<IV3CollectionResponse<{ id: number; department: { name: string } }>>(`/api/v3/users`, {\n\t\t\t\tparams: {\n\t\t\t\t\tid: homonyms.map((u) => u.id).join(','),\n\t\t\t\t\tfields: 'id,department.name',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.pipe(\n\t\t\t\tmap((res) => res.data.items),\n\t\t\t\tmap((infos) =>\n\t\t\t\t\tinfos.map((info) => {\n\t\t\t\t\t\tconst homonym = homonyms.find((h) => h.id === info.id);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...homonym,\n\t\t\t\t\t\t\tadditionalInformation: info.department ? info.department.name : '',\n\t\t\t\t\t\t} as U;\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t\tcatchError(() => of([])),\n\t\t\t);\n\t}\n\tconstructor(\n\t\tprivate _pipe: LuUserDisplayPipe,\n\t\tprivate _http: HttpClient,\n\t) {\n\t\tsuper();\n\t}\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Inject, Optional, Self, SkipSelf } from '@angular/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { merge, Observable } from 'rxjs';\nimport { map, switchMap, withLatestFrom } from 'rxjs/operators';\nimport { LuUserDisplayPipe } from '../../display';\nimport { ILuUser } from '../../user.model';\nimport { ALuUserHomonymsService, ILuUserHomonymsService, LuUserHomonymsService } from './user-homonyms.service';\n\n@Component({\n\tselector: 'lu-user-homonyms',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserHomonymsComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserHomonymsService,\n\t\t\tuseClass: LuUserHomonymsService,\n\t\t},\n\t],\n})\nexport class LuUserHomonymsComponent<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis._outOptions$ = merge(\n\t\t\tin$,\n\t\t\tin$.pipe(\n\t\t\t\tmap((users) => this._service.extractHomonyms(users)),\n\t\t\t\tswitchMap((homonyms: U[]) => this._service.enrichHomonyms(homonyms)),\n\t\t\t\twithLatestFrom(in$),\n\t\t\t\tmap<[U[], U[]], U[]>(([enrichedUsers, users]) => {\n\t\t\t\t\tconst result = [...users];\n\t\t\t\t\tenrichedUsers.forEach((user) => {\n\t\t\t\t\t\tconst i = result.findIndex((u) => u.id === user.id);\n\t\t\t\t\t\tresult[i] = user;\n\t\t\t\t\t});\n\t\t\t\t\treturn result;\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\tprivate _outOptions$: Observable<U[]>;\n\tget outOptions$() {\n\t\treturn this._outOptions$;\n\t}\n\tprivate _service: ILuUserHomonymsService<U>;\n\tconstructor(\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Optional()\n\t\t@SkipSelf()\n\t\thostService: ILuUserHomonymsService<U>,\n\t\t@Inject(ALuUserHomonymsService)\n\t\t@Self()\n\t\tselfService: ILuUserHomonymsService<U>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserHomonymsComponent } from './user-homonyms.component';\n\n@NgModule({\n\timports: [LuUserHomonymsComponent],\n\texports: [LuUserHomonymsComponent],\n})\nexport class LuUserHomonymsModule {}\n","import { ILuUser } from '../user.model';\nimport { ILuApiService, ALuApiService } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\n\nexport interface ILuUserService<U extends ILuUser = ILuUser> extends ILuApiService<U> {\n\tgetMe(): Observable<U>;\n}\n\nexport abstract class ALuUserService<U extends ILuUser = ILuUser> extends ALuApiService<U> implements ILuUserService<U> {\n\tabstract getMe(): Observable<U>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ILuApiResponse, ILuApiSuggestion, LuApiV3Service } from '@lucca-front/ng/api';\nimport { Observable } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { ILuUser } from '../user.model';\nimport { ILuUserService } from './user-service.model';\n\n@Injectable()\nexport class LuUserV3Service<U extends ILuUser = ILuUser> extends LuApiV3Service<U> implements ILuUserService<U> {\n\tprotected _appInstanceId: number | string;\n\tset appInstanceId(appInstanceId: number | string) {\n\t\tthis._appInstanceId = appInstanceId;\n\t}\n\tprotected _operations: number[] = [];\n\tset operations(operations: number[]) {\n\t\tthis._operations = operations;\n\t}\n\n\tconstructor(protected override _http: HttpClient) {\n\t\tsuper(_http);\n\t\tthis.api = '/api/v3/users/search';\n\t\tthis.fields = 'id,firstname,lastname,picture[href]';\n\t\tthis.orderBy = 'lastname,asc,firstname,asc';\n\t}\n\n\tgetMe(): Observable<U> {\n\t\treturn this._http.get<ILuApiResponse<ILuUser>>(`/api/v3/users/me?fields=id`).pipe(\n\t\t\tswitchMap((r) => this._get(this.url + `&id=${r.data.id}`)),\n\t\t\tmap((users) => users[0]),\n\t\t);\n\t}\n\n\toverride get url() {\n\t\tif (!this._appInstanceId || !this._operations || !this._operations.length) {\n\t\t\treturn `${this._api}?${[...this._filters, this._orderBy, this._fields].filter((f) => !!f).join('&')}`;\n\t\t} else {\n\t\t\treturn `/api/v3/users/scopedsearch?${[...this._filters, `appInstanceId=${this._appInstanceId}`, `operations=${this._operations.join(',')}`, this._orderBy, this._fields]\n\t\t\t\t.filter((f) => !!f)\n\t\t\t\t.join('&')}`;\n\t\t}\n\t}\n\n\t// FIXME typing\n\tprotected override _get(url: string) {\n\t\treturn (super._get(url) as unknown as Observable<ILuApiSuggestion<U>[]>).pipe(map((suggestions) => suggestions.map((s: ILuApiSuggestion<U>) => s.item)));\n\t}\n\n\tprotected override _clueFilter(clue: string) {\n\t\tconst urlSafeClue = clue\n\t\t\t.split(' ')\n\t\t\t.map((c: string) => encodeURIComponent(c))\n\t\t\t.join(',');\n\t\treturn `clue=${urlSafeClue}`;\n\t}\n}\n","import { Directive, EmbeddedViewRef, forwardRef, Inject, Input, Optional, Self, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { ALuOnOpenSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, ILuOptionOperator } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\n\n@Directive({\n\tselector: '[luUserMeOption]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserMeOptionDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserMeOptionDirective<U extends ILuUser = ILuUser> implements ILuOptionOperator<U> {\n\t@Input() set luUserMeOptionFields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set luUserMeOptionFilters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set luUserMeOptionOrderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set luUserMeOptionAppInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set luUserMeOptionOperations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() set luUserMeOptionClue(clue: string) {\n\t\tif (clue) {\n\t\t\tthis.hideMe();\n\t\t} else {\n\t\t\tthis.displayMe();\n\t\t}\n\t}\n\n\tset inOptions$(in$: Observable<U[]>) {\n\t\tthis.outOptions$ = combineLatest([in$, this.meDisplayed$]).pipe(map(([options, meDisplayed]) => (meDisplayed ? options?.filter((o) => o.id !== this.me?.id) : options)));\n\t}\n\toutOptions$: Observable<U[]>;\n\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _viewRef: EmbeddedViewRef<{ $implicit: ILuUser }>;\n\n\tconstructor(\n\t\t@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>,\n\t\t@Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>,\n\t\tprivate _vcr: ViewContainerRef,\n\t\tprivate _templateRef: TemplateRef<{ $implicit: U }>,\n\t) {\n\t\tthis._service = hostService || selfService;\n\t}\n\n\tme: ILuUser = undefined;\n\tprivate meDisplayed$ = new BehaviorSubject(false);\n\tonOpen() {\n\t\tthis._service.getMe().subscribe((me) => {\n\t\t\tthis.me = me;\n\t\t\tthis.displayMe();\n\t\t});\n\t}\n\tdisplayMe() {\n\t\tif (this.me && !this.meDisplayed$.value) {\n\t\t\tthis.meDisplayed$.next(true);\n\t\t\tthis._viewRef = this._vcr.createEmbeddedView(this._templateRef, {\n\t\t\t\t$implicit: this.me,\n\t\t\t});\n\t\t}\n\t}\n\thideMe() {\n\t\tif (this.me && this.meDisplayed$.value && this._viewRef) {\n\t\t\tthis.meDisplayed$.next(false);\n\t\t\tthis._viewRef.destroy();\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuUserMeOptionDirective } from './me-option.directive';\n\n@NgModule({\n\timports: [LuUserMeOptionDirective],\n\texports: [LuUserMeOptionDirective],\n})\nexport class LuUserMeOptionModule {}\n","export const Translations = {\n\ten: {\n\t\tincludeFormerEmployees: 'Include former employees',\n\t},\n\tde: {\n\t\tincludeFormerEmployees: 'Ausgeschiedene Mitarbeitende einbeziehen ',\n\t},\n\tfr: {\n\t\tincludeFormerEmployees: 'Inclure les salariés partis',\n\t},\n\tit: {\n\t\tincludeFormerEmployees: 'Includere gli ex dipendenti',\n\t},\n\tnl: {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\t'nl-BE': {\n\t\tincludeFormerEmployees: 'Inclusief medewerkers die zijn vertrokken',\n\t},\n\tes: {\n\t\tincludeFormerEmployees: 'Incluir a los antiguos empleados',\n\t},\n\tpt: {\n\t\tincludeFormerEmployees: 'Incluir os trabalhadores que saíram',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SEARCHER_TRANSLATIONS = new InjectionToken('LuUserSearcherTranslations', {\n\tfactory: () => luUserSearcherTranslations,\n});\n\nexport interface ILuUserSearcherLabel {\n\tincludeFormerEmployees: string;\n}\n\nexport const luUserSearcherTranslations: LuTranslation<ILuUserSearcherLabel> = Translations;\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, Inject, Input, OnDestroy, OnInit, Optional, Output, Self, SkipSelf, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, getIntl, ILuOnCloseSubscriber, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber } from '@lucca-front/ng/core';\nimport { ALuOptionOperator, LuOptionPlaceholderComponent } from '@lucca-front/ng/option';\nimport { BehaviorSubject, combineLatest, merge, Observable, of, Subject, Subscription } from 'rxjs';\nimport { catchError, debounceTime, filter, map, scan, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuUserService, LuUserV3Service } from '../../service/index';\nimport { ILuUser } from '../../user.model';\nimport { LU_USER_SEARCHER_TRANSLATIONS } from './user-searcher.translate';\n\ninterface UserPagedSearcherForm {\n\tclue: string;\n\tformerEmployees: boolean;\n}\n\n@Component({\n\tselector: 'lu-user-paged-searcher',\n\ttemplateUrl: 'user-searcher.component.html',\n\tstyleUrls: ['user-searcher.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [ReactiveFormsModule, CommonModule, LuOptionPlaceholderComponent],\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuOptionOperator,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnOpenSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnCloseSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuOnScrollBottomSubscriber,\n\t\t\tuseExisting: forwardRef(() => LuUserPagedSearcherComponent),\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: ALuUserService,\n\t\t\tuseClass: LuUserV3Service,\n\t\t},\n\t],\n})\nexport class LuUserPagedSearcherComponent<U extends ILuUser = ILuUser> implements OnInit, OnDestroy, ILuOnOpenSubscriber, ILuOnScrollBottomSubscriber, ILuOnCloseSubscriber {\n\tprivate _service: LuUserV3Service<U>;\n\tprivate _subs = new Subscription();\n\n\t@HostBinding('class.position-fixed') fixed = true;\n\t@ViewChild('searchInput', { read: ElementRef, static: true })\n\tsearchInput: ElementRef<HTMLInputElement>;\n\n\t@Input() set fields(fields: string) {\n\t\tthis._service.fields = fields;\n\t}\n\t@Input() set filters(filters: string[]) {\n\t\tthis._service.filters = filters;\n\t}\n\t@Input() set orderBy(orderBy: string) {\n\t\tthis._service.orderBy = orderBy;\n\t}\n\t@Input() set appInstanceId(appInstanceId: number | string) {\n\t\tthis._service.appInstanceId = appInstanceId;\n\t}\n\t@Input() set operations(operations: number[]) {\n\t\tthis._service.operations = operations;\n\t}\n\t@Input() enableFormerEmployees = false;\n\n\t@Output() clueChange: Observable<string>;\n\n\tform: FormGroup;\n\t// page$: Subject<number>;\n\toutOptions$ = new Subject<U[]>();\n\tloading$: Observable<boolean>;\n\tempty$: Observable<boolean>;\n\tprivate _loading = false;\n\tprivate _isOpened$ = new BehaviorSubject(false);\n\tprivate _page$ = new Subject<void>();\n\tprivate _isLastPage: boolean;\n\tprivate _options: U[] = [];\n\n\tpublic intl = getIntl(LU_USER_SEARCHER_TRANSLATIONS);\n\n\tconstructor(@Inject(ALuUserService) @Optional() @SkipSelf() hostService: LuUserV3Service<U>, @Inject(ALuUserService) @Self() selfService: LuUserV3Service<U>) {\n\t\tthis._service = hostService || selfService;\n\n\t\tconst clue: FormControl = new FormControl('');\n\n\t\tthis.form = new FormGroup({\n\t\t\tclue,\n\t\t\tformerEmployees: new FormControl(false),\n\t\t});\n\n\t\tthis.clueChange = clue.valueChanges as Observable<string>;\n\t}\n\n\tngOnInit() {\n\t\tconst formValue$ = this.form.valueChanges.pipe(startWith(this.form.value)) as Observable<UserPagedSearcherForm>;\n\n\t\tconst pager$ = this._page$.pipe(\n\t\t\tscan((acc) => acc + 1, 0),\n\t\t\tstartWith(0),\n\t\t);\n\n\t\tconst query$ = combineLatest([formValue$.pipe(debounceTime(250)), this._isOpened$]).pipe(\n\t\t\tfilter(([, isOpened]) => isOpened),\n\t\t\tswitchMap(([val]) => pager$.pipe(map<number, [UserPagedSearcherForm, number]>((page) => [val, page]))),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst results$ = query$.pipe(\n\t\t\tswitchMap(([val, page]) => {\n\t\t\t\tconst filters: string[] = [];\n\t\t\t\tif (val.formerEmployees) {\n\t\t\t\t\tfilters.push(`formerEmployees=true`);\n\t\t\t\t}\n\t\t\t\treturn this._service.searchPaged(val.clue, page, filters).pipe(\n\t\t\t\t\tcatchError(() => of([])),\n\t\t\t\t\tmap<U[], [U[], number]>((items) => [items, page]),\n\t\t\t\t);\n\t\t\t}),\n\t\t\tshare(),\n\t\t);\n\n\t\tconst resultsSub = results$.subscribe(([items, page]) => {\n\t\t\tif (page === 0) {\n\t\t\t\tthis._options = [...items];\n\t\t\t} else {\n\t\t\t\tthis._options.push(...items);\n\t\t\t}\n\t\t\tthis._isLastPage = !items.length;\n\t\t\tthis.outOptions$.next([...this._options]);\n\t\t});\n\t\tthis._subs.add(resultsSub);\n\n\t\tthis.loading$ = merge(query$.pipe(map(() => true)), results$.pipe(map(() => false)));\n\t\tconst loadingSub = this.loading$.subscribe((l) => (this._loading = l));\n\t\tthis._subs.add(loadingSub);\n\n\t\tthis.empty$ = this.outOptions$.pipe(map((o) => o.length === 0));\n\t}\n\tngOnDestroy() {\n\t\tthis._subs.unsubscribe();\n\t}\n\n\tonOpen() {\n\t\tthis.searchInput.nativeElement.focus();\n\t\tthis._isOpened$.next(true);\n\t}\n\tonScrollBottom() {\n\t\tif (!this._loading && !this._isLastPage) {\n\t\t\tthis._page$.next();\n\t\t}\n\t}\n\tonClose() {\n\t\tthis._isOpened$.next(false);\n\t\tthis.outOptions$.next([]);\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tif (this.form.dirty) {\n\t\t\tthis.form.reset();\n\t\t}\n\t}\n}\n","<form [formGroup]=\"form\">\n\t<div class=\"textfield mod-search\" [class.is-loading]=\"loading$ | async\">\n\t\t<input #searchInput class=\"textfield-input\" formControlName=\"clue\" />\n\t</div>\n\n\t<label class=\"checkbox mod-formerEmployee mod-S\" *ngIf=\"enableFormerEmployees\">\n\t\t<input class=\"checkbox-input\" type=\"checkbox\" formControlName=\"formerEmployees\" />\n\t\t<span class=\"checkbox-label\">{{ intl.includeFormerEmployees }}</span>\n\t</label>\n</form>\n\n<lu-option-placeholder *ngIf=\"(empty$ | async) && (loading$ | async) === false\" (onClear)=\"reset()\"></lu-option-placeholder>\n","import { NgModule } from '@angular/core';\nimport { LuUserPagedSearcherComponent } from './user-searcher.component';\n\n@NgModule({\n\timports: [LuUserPagedSearcherComponent],\n\texports: [LuUserPagedSearcherComponent],\n})\nexport class LuUserSearcherModule {}\n","export const Translations = {\n\ten: {\n\t\tusers: 'users',\n\t\tme: 'Me:',\n\t},\n\tde: {\n\t\tusers: 'Benutzer',\n\t\tme: 'Ich:',\n\t},\n\tfr: {\n\t\tusers: 'utilisateurs',\n\t\tme: 'Moi :',\n\t},\n\tit: {\n\t\tusers: 'utenti',\n\t\tme: 'Io:',\n\t},\n\tnl: {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\t'nl-BE': {\n\t\tusers: 'gebruikers',\n\t\tme: 'Ik:',\n\t},\n\tes: {\n\t\tusers: 'usuarios',\n\t\tme: 'Yo:',\n\t},\n\tpt: {\n\t\tusers: 'utilizadores',\n\t\tme: 'Eu:',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_USER_SELECT_INPUT_TRANSLATIONS = new InjectionToken('LuUserSelectTranslations', {\n\tfactory: () => luUserSelectInputTranslations,\n});\n\nexport interface ILuUserSelectInputLabel {\n\tusers: string;\n\tme: string;\n}\n\nexport const luUserSelectInputTranslations: LuTranslation<ILuUserSelectInputLabel> = Translations;\n","import { Overlay, OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, forwardRef, Input, Renderer2, ViewContainerRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuInputClearerComponent, LuInputDisplayerDirective } from '@lucca-front/ng/input';\nimport { LuForOptionsDirective, LuOptionComparer, LuOptionItemComponent, LuOptionPickerAdvancedComponent } from '@lucca-front/ng/option';\nimport { ILuInputWithPicker } from '@lucca-front/ng/picker';\nimport { ALuSelectInputComponent } from '@lucca-front/ng/select';\nimport { LuDisplayFullname, LuUserDisplayPipe } from '../../display';\nimport { LuUserHomonymsComponent } from '../homonyms';\nimport { LuUserMeOptionDirective } from '../me';\nimport { LuUserPagedSearcherComponent } from '../searcher';\nimport { LU_USER_SELECT_INPUT_TRANSLATIONS } from './user-select-input.translate';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@Component({\n\tselector: 'lu-user-select',\n\ttemplateUrl: './user-select-input.component.html',\n\tstyleUrls: ['./user-select-input.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tCommonModule,\n\t\tOverlayModule,\n\t\tLuInputClearerComponent,\n\t\tLuInputDisplayerDirective,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserPagedSearcherComponent,\n\t\tLuUserHomonymsComponent,\n\t\tLuOptionItemComponent,\n\t\tLuOptionPickerAdvancedComponent,\n\t\tLuUserMeOptionDirective,\n\t\tLuForOptionsDirective,\n\t\tLuUserDisplayPipe,\n\t],\n\tproviders: [\n\t\tLuUserDisplayPipe,\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuUserSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuUserSelectInputComponent<U extends import('../../user.model').ILuUser = import('../../user.model').ILuUser>\n\textends ALuSelectInputComponent<U>\n\timplements ControlValueAccessor, ILuInputWithPicker<U>, AfterViewInit\n{\n\tsearchFormat = LuDisplayFullname.lastfirst;\n\n\t@Input('placeholder')\n\toverride set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input() fields: string;\n\t@Input() filters: string[];\n\t@Input() orderBy: string;\n\t@Input() appInstanceId: number | string;\n\t@Input() operations: number[];\n\t@Input() enableFormerEmployees = false;\n\t@Input() disablePrincipal = false;\n\n\tclue = '';\n\n\tbyId: LuOptionComparer<U> = (option1: U, option2: U) => option1 && option2 && option1.id === option2.id;\n\n\tpublic intl = getIntl(LU_USER_SELECT_INPUT_TRANSLATIONS);\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display></ng-container>\n\t</div>\n</div>\n<div class=\"lu-select-suffix\">\n\t<lu-input-clearer></lu-input-clearer>\n</div>\n<ng-template luDisplayer [luDisplayerMultiple]=\"true\" let-values>\n\t<span *ngIf=\"multiple && values?.length > 1; else singleView\"\n\t\t><span class=\"numericBadge\">{{ values.length }}</span> {{ intl.users }}</span\n\t>\n\t<ng-template #singleView>{{ values[0] || values | luUserDisplay }}</ng-template>\n</ng-template>\n<lu-option-picker-advanced [option-comparer]=\"byId\">\n\t<header class=\"lu-picker-header\">\n\t\t<lu-user-paged-searcher\n\t\t\t[fields]=\"fields\"\n\t\t\t[filters]=\"filters\"\n\t\t\t[orderBy]=\"orderBy\"\n\t\t\t[appInstanceId]=\"appInstanceId\"\n\t\t\t[operations]=\"operations\"\n\t\t\t[enableFormerEmployees]=\"enableFormerEmployees\"\n\t\t\t(clueChange)=\"clue = $event\"\n\t\t></lu-user-paged-searcher>\n\t</header>\n\t<lu-user-homonyms></lu-user-homonyms>\n\t<ng-container *ngIf=\"!disablePrincipal\">\n\t\t<lu-option\n\t\t\t*luUserMeOption=\"\n\t\t\tlet user;\n\t\t\tfields: fields;\n\t\t\tfilters: filters;\n\t\t\torderBy: orderBy;\n\t\t\tappInstanceId: appInstanceId;\n\t\t\toperations: operations;\n\t\t\tclue: clue\n\t\t\"\n\t\t\t[value]=\"user\"\n\t\t>\n\t\t\t<div>\n\t\t\t\t<b>{{ intl.me }} {{ user | luUserDisplay: searchFormat }}</b>\n\t\t\t</div>\n\t\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t\t</lu-option>\n\t</ng-container>\n\n\t<lu-option *luForOptions=\"let user\" [value]=\"user\">\n\t\t<div>{{ user | luUserDisplay: searchFormat }}</div>\n\t\t<div class=\"lu-select-additionalInformation\" *ngIf=\"user.additionalInformation\">({{ user.additionalInformation }})</div>\n\t</lu-option>\n</lu-option-picker-advanced>\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputComponent } from './user-select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputComponent],\n\texports: [LuUserSelectInputComponent],\n})\nexport class LuUserSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserSelectInputModule } from './input/index';\nimport { LuUserSearcherModule } from './searcher/index';\nimport { LuUserHomonymsModule } from './homonyms/index';\nimport { LuUserMeOptionModule } from './me/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect with luCustomUsers directive\n */\n@NgModule({\n\timports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsModule, LuUserMeOptionModule],\n\texports: [LuUserSelectInputModule, LuUserSearcherModule, LuUserHomonymsModule, LuUserMeOptionModule],\n})\nexport class LuUserSelectModule {}\n","import { NgModule } from '@angular/core';\nimport { LuUserDisplayModule } from './display/index';\nimport { LuUserPictureModule } from './picture/index';\nimport { LuUserTileModule } from './tile/index';\nimport { LuUserSelectModule } from './select/index';\n\n@NgModule({\n\timports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n\texports: [LuUserDisplayModule, LuUserPictureModule, LuUserTileModule, LuUserSelectModule],\n})\nexport class LuUserModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuUserDisplayPipe","i1","Translations","i2"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "19.2.1-rc.1",
3
+ "version": "19.2.1-rc.2",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,8 +26,8 @@
26
26
  "@angular/common": "^19.0.0",
27
27
  "@angular/core": "^19.0.0",
28
28
  "@angular/cdk": "^19.0.0",
29
- "@lucca-front/icons": "19.2.1-rc.1",
30
- "@lucca-front/scss": "19.2.1-rc.1",
29
+ "@lucca-front/icons": "19.2.1-rc.2",
30
+ "@lucca-front/scss": "19.2.1-rc.2",
31
31
  "isomorphic-dompurify": "^2.17.0",
32
32
  "date-fns": "^3.6.0",
33
33
  "rxjs": "^7.8.0"
@@ -61,14 +61,14 @@
61
61
  "types": "./chip/index.d.ts",
62
62
  "default": "./fesm2022/lucca-front-ng-chip.mjs"
63
63
  },
64
- "./comment": {
65
- "types": "./comment/index.d.ts",
66
- "default": "./fesm2022/lucca-front-ng-comment.mjs"
67
- },
68
64
  "./callout": {
69
65
  "types": "./callout/index.d.ts",
70
66
  "default": "./fesm2022/lucca-front-ng-callout.mjs"
71
67
  },
68
+ "./comment": {
69
+ "types": "./comment/index.d.ts",
70
+ "default": "./fesm2022/lucca-front-ng-comment.mjs"
71
+ },
72
72
  "./core": {
73
73
  "types": "./core/index.d.ts",
74
74
  "default": "./fesm2022/lucca-front-ng-core.mjs"
@@ -105,6 +105,10 @@
105
105
  "types": "./dropdown/index.d.ts",
106
106
  "default": "./fesm2022/lucca-front-ng-dropdown.mjs"
107
107
  },
108
+ "./empty-state": {
109
+ "types": "./empty-state/index.d.ts",
110
+ "default": "./fesm2022/lucca-front-ng-empty-state.mjs"
111
+ },
108
112
  "./establishment": {
109
113
  "types": "./establishment/index.d.ts",
110
114
  "default": "./fesm2022/lucca-front-ng-establishment.mjs"
@@ -113,14 +117,6 @@
113
117
  "types": "./fancy-box/index.d.ts",
114
118
  "default": "./fesm2022/lucca-front-ng-fancy-box.mjs"
115
119
  },
116
- "./empty-state": {
117
- "types": "./empty-state/index.d.ts",
118
- "default": "./fesm2022/lucca-front-ng-empty-state.mjs"
119
- },
120
- "./formly": {
121
- "types": "./formly/index.d.ts",
122
- "default": "./fesm2022/lucca-front-ng-formly.mjs"
123
- },
124
120
  "./filter-pills": {
125
121
  "types": "./filter-pills/index.d.ts",
126
122
  "default": "./fesm2022/lucca-front-ng-filter-pills.mjs"
@@ -129,22 +125,26 @@
129
125
  "types": "./form-field/index.d.ts",
130
126
  "default": "./fesm2022/lucca-front-ng-form-field.mjs"
131
127
  },
132
- "./icon": {
133
- "types": "./icon/index.d.ts",
134
- "default": "./fesm2022/lucca-front-ng-icon.mjs"
128
+ "./formly": {
129
+ "types": "./formly/index.d.ts",
130
+ "default": "./fesm2022/lucca-front-ng-formly.mjs"
135
131
  },
136
132
  "./forms": {
137
133
  "types": "./forms/index.d.ts",
138
134
  "default": "./fesm2022/lucca-front-ng-forms.mjs"
139
135
  },
140
- "./input": {
141
- "types": "./input/index.d.ts",
142
- "default": "./fesm2022/lucca-front-ng-input.mjs"
136
+ "./icon": {
137
+ "types": "./icon/index.d.ts",
138
+ "default": "./fesm2022/lucca-front-ng-icon.mjs"
143
139
  },
144
140
  "./inline-message": {
145
141
  "types": "./inline-message/index.d.ts",
146
142
  "default": "./fesm2022/lucca-front-ng-inline-message.mjs"
147
143
  },
144
+ "./input": {
145
+ "types": "./input/index.d.ts",
146
+ "default": "./fesm2022/lucca-front-ng-input.mjs"
147
+ },
148
148
  "./link": {
149
149
  "types": "./link/index.d.ts",
150
150
  "default": "./fesm2022/lucca-front-ng-link.mjs"
@@ -153,14 +153,14 @@
153
153
  "types": "./modal/index.d.ts",
154
154
  "default": "./fesm2022/lucca-front-ng-modal.mjs"
155
155
  },
156
- "./new-badge": {
157
- "types": "./new-badge/index.d.ts",
158
- "default": "./fesm2022/lucca-front-ng-new-badge.mjs"
159
- },
160
156
  "./multi-select": {
161
157
  "types": "./multi-select/index.d.ts",
162
158
  "default": "./fesm2022/lucca-front-ng-multi-select.mjs"
163
159
  },
160
+ "./new-badge": {
161
+ "types": "./new-badge/index.d.ts",
162
+ "default": "./fesm2022/lucca-front-ng-new-badge.mjs"
163
+ },
164
164
  "./number": {
165
165
  "types": "./number/index.d.ts",
166
166
  "default": "./fesm2022/lucca-front-ng-number.mjs"
@@ -169,14 +169,14 @@
169
169
  "types": "./number-format/index.d.ts",
170
170
  "default": "./fesm2022/lucca-front-ng-number-format.mjs"
171
171
  },
172
- "./option": {
173
- "types": "./option/index.d.ts",
174
- "default": "./fesm2022/lucca-front-ng-option.mjs"
175
- },
176
172
  "./numeric-badge": {
177
173
  "types": "./numeric-badge/index.d.ts",
178
174
  "default": "./fesm2022/lucca-front-ng-numeric-badge.mjs"
179
175
  },
176
+ "./option": {
177
+ "types": "./option/index.d.ts",
178
+ "default": "./fesm2022/lucca-front-ng-option.mjs"
179
+ },
180
180
  "./picker": {
181
181
  "types": "./picker/index.d.ts",
182
182
  "default": "./fesm2022/lucca-front-ng-picker.mjs"
@@ -197,14 +197,14 @@
197
197
  "types": "./popup-employee/index.d.ts",
198
198
  "default": "./fesm2022/lucca-front-ng-popup-employee.mjs"
199
199
  },
200
- "./qualification": {
201
- "types": "./qualification/index.d.ts",
202
- "default": "./fesm2022/lucca-front-ng-qualification.mjs"
203
- },
204
200
  "./popup": {
205
201
  "types": "./popup/index.d.ts",
206
202
  "default": "./fesm2022/lucca-front-ng-popup.mjs"
207
203
  },
204
+ "./qualification": {
205
+ "types": "./qualification/index.d.ts",
206
+ "default": "./fesm2022/lucca-front-ng-qualification.mjs"
207
+ },
208
208
  "./safe-content": {
209
209
  "types": "./safe-content/index.d.ts",
210
210
  "default": "./fesm2022/lucca-front-ng-safe-content.mjs"
@@ -213,14 +213,14 @@
213
213
  "types": "./scroll/index.d.ts",
214
214
  "default": "./fesm2022/lucca-front-ng-scroll.mjs"
215
215
  },
216
- "./select": {
217
- "types": "./select/index.d.ts",
218
- "default": "./fesm2022/lucca-front-ng-select.mjs"
219
- },
220
216
  "./scrollBox": {
221
217
  "types": "./scrollBox/index.d.ts",
222
218
  "default": "./fesm2022/lucca-front-ng-scrollBox.mjs"
223
219
  },
220
+ "./select": {
221
+ "types": "./select/index.d.ts",
222
+ "default": "./fesm2022/lucca-front-ng-select.mjs"
223
+ },
224
224
  "./sidepanel": {
225
225
  "types": "./sidepanel/index.d.ts",
226
226
  "default": "./fesm2022/lucca-front-ng-sidepanel.mjs"
@@ -245,17 +245,17 @@
245
245
  "types": "./time/index.d.ts",
246
246
  "default": "./fesm2022/lucca-front-ng-time.mjs"
247
247
  },
248
- "./toast": {
249
- "types": "./toast/index.d.ts",
250
- "default": "./fesm2022/lucca-front-ng-toast.mjs"
248
+ "./title": {
249
+ "types": "./title/index.d.ts",
250
+ "default": "./fesm2022/lucca-front-ng-title.mjs"
251
251
  },
252
252
  "./tooltip": {
253
253
  "types": "./tooltip/index.d.ts",
254
254
  "default": "./fesm2022/lucca-front-ng-tooltip.mjs"
255
255
  },
256
- "./title": {
257
- "types": "./title/index.d.ts",
258
- "default": "./fesm2022/lucca-front-ng-title.mjs"
256
+ "./toast": {
257
+ "types": "./toast/index.d.ts",
258
+ "default": "./fesm2022/lucca-front-ng-toast.mjs"
259
259
  },
260
260
  "./user": {
261
261
  "types": "./user/index.d.ts",