@lucca-front/ng 19.3.3-rc.3 → 19.3.3-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/date2/abstract-date-component.d.ts +4 -4
- package/date2/calendar2/calendar2.component.d.ts +7 -7
- package/dialog/model/dialog-ref.d.ts +6 -1
- package/divider/divider.component.d.ts +5 -8
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +15 -7
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +12 -25
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
- package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
- package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
- package/file-upload/base-file-upload/base-file-upload.component.d.ts +1 -1
- package/filter-pills/filter-pill/filter-pill.component.d.ts +1 -1
- package/forms/number-input/number-input.component.d.ts +2 -2
- package/forms/rich-text-input/rich-text-input.component.d.ts +2 -2
- package/forms/textarea-input/textarea-input.component.d.ts +1 -1
- package/link/link.component.d.ts +1 -1
- package/package.json +51 -51
- package/page-header/page-header.component.d.ts +1 -1
|
@@ -5,7 +5,7 @@ import { ButtonComponent } from '@lucca-front/ng/button';
|
|
|
5
5
|
import { getIntl } from '@lucca-front/ng/core';
|
|
6
6
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
7
7
|
import { isObservable, of, take, merge, firstValueFrom, from, combineLatest, map as map$1, concat } from 'rxjs';
|
|
8
|
-
import { map, filter,
|
|
8
|
+
import { map, filter, takeUntil, switchMap } from 'rxjs/operators';
|
|
9
9
|
import { DIALOG_DATA, Dialog, DialogModule } from '@angular/cdk/dialog';
|
|
10
10
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
11
|
import { Router, ActivatedRoute } from '@angular/router';
|
|
@@ -53,6 +53,11 @@ class LuDialogRef {
|
|
|
53
53
|
constructor(cdkRef, config) {
|
|
54
54
|
this.cdkRef = cdkRef;
|
|
55
55
|
this.config = config;
|
|
56
|
+
/**
|
|
57
|
+
* Subscription to the detachments of the dialog
|
|
58
|
+
* This is used to close the dialog when it is detached
|
|
59
|
+
*/
|
|
60
|
+
this.detachSubscription = null;
|
|
56
61
|
/**
|
|
57
62
|
* Emits when the dialog is closed
|
|
58
63
|
*
|
|
@@ -67,6 +72,12 @@ class LuDialogRef {
|
|
|
67
72
|
* Emits the result if it has a value that's not DISMISSED_VALUE
|
|
68
73
|
*/
|
|
69
74
|
this.result$ = this.cdkRef.closed.pipe(filter((res) => !isDismissed(res)));
|
|
75
|
+
this.detachSubscription = cdkRef.overlayRef
|
|
76
|
+
.detachments()
|
|
77
|
+
.pipe(takeUntil(this.closed$))
|
|
78
|
+
.subscribe(() => {
|
|
79
|
+
cdkRef.close(DISMISSED_VALUE);
|
|
80
|
+
});
|
|
70
81
|
}
|
|
71
82
|
dismiss() {
|
|
72
83
|
// If we can't dismiss this dialog box, just ignore the dismiss call.
|
|
@@ -77,11 +88,13 @@ class LuDialogRef {
|
|
|
77
88
|
const canClose$ = isObservable(canClose) ? canClose : of(canClose);
|
|
78
89
|
canClose$.pipe(take(1)).subscribe((close) => {
|
|
79
90
|
if (close) {
|
|
91
|
+
this.detachSubscription?.unsubscribe();
|
|
80
92
|
this.cdkRef.close(DISMISSED_VALUE);
|
|
81
93
|
}
|
|
82
94
|
});
|
|
83
95
|
}
|
|
84
96
|
close(res) {
|
|
97
|
+
this.detachSubscription?.unsubscribe();
|
|
85
98
|
this.cdkRef.close(res);
|
|
86
99
|
}
|
|
87
100
|
}
|
|
@@ -222,16 +235,11 @@ class LuDialogService {
|
|
|
222
235
|
}), takeUntil(luDialogRef.closed$))
|
|
223
236
|
.subscribe((canClose) => {
|
|
224
237
|
if (canClose) {
|
|
238
|
+
luDialogRef.detachSubscription?.unsubscribe();
|
|
225
239
|
cdkRef.close(DISMISSED_VALUE);
|
|
226
240
|
}
|
|
227
241
|
});
|
|
228
242
|
}
|
|
229
|
-
cdkRef.overlayRef
|
|
230
|
-
.detachments()
|
|
231
|
-
.pipe(takeUntil(luDialogRef.closed$))
|
|
232
|
-
.subscribe(() => {
|
|
233
|
-
cdkRef.close(DISMISSED_VALUE);
|
|
234
|
-
});
|
|
235
243
|
return luDialogRef;
|
|
236
244
|
}
|
|
237
245
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: LuDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -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/outlet-component-instance.directive.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 />`,\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\" />\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// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\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\n\t\tcdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(luDialogRef.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\n\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, from, isObservable, of } 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 function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(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\t// Remove `canDeactivate` from the route config and handle it in the dialog component\n\tconst { canDeactivate, ...rest } = config;\n\treturn {\n\t\t...rest,\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 { NgComponentOutlet } from '@angular/common';\nimport { Directive, OnInit, inject, output } from '@angular/core';\n\n@Directive({\n\tselector: '[luOutletComponentInstance]',\n\tstandalone: true,\n})\nexport class OutletComponentInstanceDirective<C> implements OnInit {\n\t// TODO add a generic type to NgComponentOutlet<C> when Angular 19.0 support is dropped\n\t#outlet = inject<NgComponentOutlet>(NgComponentOutlet);\n\n\tinstanceCreated = output<C>();\n\n\tngOnInit(): void {\n\t\t// TODO use this.#outlet.componentInstance when Angular 19.0 support is dropped\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n\t\tconst instance = (this.#outlet as any)._componentRef?.instance ?? null;\n\n\t\tif (instance) {\n\t\t\tthis.instanceCreated.emit(instance as C); // TODO remove cast when Angular 19.0 support is dropped\n\t\t}\n\t}\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Injector, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, GuardResult, Router } from '@angular/router';\nimport { combineLatest, concat, from, map, Observable } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig, LuDialogRef } from '../model';\nimport { DialogRouteConfig } from './dialog-routing.models';\nimport { deferrableToObservable, deferrableToPromise, DIALOG_ROUTE_CONFIG } from './dialog-routing.utils';\nimport { OutletComponentInstanceDirective } from './outlet-component-instance.directive';\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 luOutletComponentInstance [ngComponentOutlet]=\"componentType\" [ngComponentOutletInjector]=\"customInjector\" (instanceCreated)=\"componentInstance.set($event)\" />\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, OutletComponentInstanceDirective],\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 #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\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\treadonly componentInstance = signal<C | null>(null);\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\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\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\t#getCanCloseFn(config: LuDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.#config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.#config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: CanDeactivateFn<C>[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.#callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\t#callCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C>): Observable<GuardResult> {\n\t\tconst args = [this.componentInstance(), this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot] as const;\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => canDeactivateFn(...args));\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"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/outlet-component-instance.directive.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 />`,\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 { DialogRef } from '@angular/cdk/dialog';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogResult } from './dialog-config';\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 * Subscription to the detachments of the dialog\n\t * This is used to close the dialog when it is detached\n\t */\n\tdetachSubscription: Subscription | null = null;\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\t\tthis.detachSubscription = cdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(this.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\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.detachSubscription?.unsubscribe();\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.detachSubscription?.unsubscribe();\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\" />\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// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\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\tluDialogRef.detachSubscription?.unsubscribe();\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\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, from, isObservable, of } 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 function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(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\t// Remove `canDeactivate` from the route config and handle it in the dialog component\n\tconst { canDeactivate, ...rest } = config;\n\treturn {\n\t\t...rest,\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 { NgComponentOutlet } from '@angular/common';\nimport { Directive, OnInit, inject, output } from '@angular/core';\n\n@Directive({\n\tselector: '[luOutletComponentInstance]',\n\tstandalone: true,\n})\nexport class OutletComponentInstanceDirective<C> implements OnInit {\n\t// TODO add a generic type to NgComponentOutlet<C> when Angular 19.0 support is dropped\n\t#outlet = inject<NgComponentOutlet>(NgComponentOutlet);\n\n\tinstanceCreated = output<C>();\n\n\tngOnInit(): void {\n\t\t// TODO use this.#outlet.componentInstance when Angular 19.0 support is dropped\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n\t\tconst instance = (this.#outlet as any)._componentRef?.instance ?? null;\n\n\t\tif (instance) {\n\t\t\tthis.instanceCreated.emit(instance as C); // TODO remove cast when Angular 19.0 support is dropped\n\t\t}\n\t}\n}\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, DestroyRef, inject, Injector, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, GuardResult, Router } from '@angular/router';\nimport { combineLatest, concat, from, map, Observable } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig, LuDialogRef } from '../model';\nimport { DialogRouteConfig } from './dialog-routing.models';\nimport { deferrableToObservable, deferrableToPromise, DIALOG_ROUTE_CONFIG } from './dialog-routing.utils';\nimport { OutletComponentInstanceDirective } from './outlet-component-instance.directive';\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 luOutletComponentInstance [ngComponentOutlet]=\"componentType\" [ngComponentOutletInjector]=\"customInjector\" (instanceCreated)=\"componentInstance.set($event)\" />\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, OutletComponentInstanceDirective],\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 #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\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\treadonly componentInstance = signal<C | null>(null);\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\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\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\t#getCanCloseFn(config: LuDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.#config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.#config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: CanDeactivateFn<C>[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.#callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\t#callCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C>): Observable<GuardResult> {\n\t\tconst args = [this.componentInstance(), this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot] as const;\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => canDeactivateFn(...args));\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"mappings":"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"}
|
|
@@ -1,52 +1,39 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, input, booleanAttribute,
|
|
2
|
+
import { inject, input, booleanAttribute, Component, ViewEncapsulation, ViewChild } from '@angular/core';
|
|
3
3
|
import { LuClass } from '@lucca-front/ng/core';
|
|
4
4
|
|
|
5
5
|
class DividerComponent {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.#luClass = inject(LuClass);
|
|
8
|
-
this.
|
|
8
|
+
this.separatorRole = input(false, { transform: booleanAttribute });
|
|
9
|
+
this.vertical = input(false, { transform: booleanAttribute });
|
|
10
|
+
this.size = input(null);
|
|
11
|
+
// deprecated
|
|
9
12
|
this.withRole = input(false, { transform: booleanAttribute });
|
|
10
|
-
this.role = computed(() => {
|
|
11
|
-
return this.withRole() ? 'separator' : null;
|
|
12
|
-
});
|
|
13
13
|
}
|
|
14
14
|
#luClass;
|
|
15
|
-
get attrRole() {
|
|
16
|
-
return this.role();
|
|
17
|
-
}
|
|
18
15
|
ngOnChanges() {
|
|
19
16
|
this.updateClasses();
|
|
20
17
|
}
|
|
21
18
|
updateClasses() {
|
|
22
19
|
const ngClassConfig = {
|
|
23
|
-
[`mod-${this.size}`]: !!this.size,
|
|
20
|
+
[`mod-${this.size()}`]: !!this.size(),
|
|
24
21
|
};
|
|
25
22
|
this.#luClass.setState(ngClassConfig);
|
|
26
23
|
}
|
|
27
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: DividerComponent, isStandalone: true, selector: "lu-divider", inputs: {
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: DividerComponent, isStandalone: true, selector: "lu-divider", inputs: { separatorRole: { classPropertyName: "separatorRole", publicName: "separatorRole", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, withRole: { classPropertyName: "withRole", publicName: "withRole", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "role": "separatorRole() || withRole() ? \"separator\" : null", "class.mod-vertical": "vertical()" }, classAttribute: "divider" }, providers: [LuClass], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".divider{--components-divider-fontSize: var(--sizes-M-fontSize);--components-divider-lineHeight: var(--sizes-M-lineHeight);--components-divider-marginBlock: var(--pr-t-spacings-50);--components-divider-marginInline: 0;--components-divider-minSize: var(--pr-t-spacings-150);--components-divider-direction: row;--components-divider-iconBottom: 0;--components-divider-justify: normal;--components-divider-alignSelf: \"\";border:0;display:block;margin-block:var(--components-divider-marginBlock);margin-inline:var(--components-divider-marginInline);align-self:var(--components-divider-alignSelf)}.divider:where(:empty){--components-divider-marginInline: 0;block-size:auto}.divider:where(:empty):not(.mod-vertical){border-block-start:var(--commons-divider-border)}.divider:not(:empty){display:flex;flex-direction:var(--components-divider-direction);align-items:center;text-wrap:balance;text-align:center;font-size:var(--components-divider-fontSize);line-height:var(--components-divider-lineHeight);color:var(--palettes-neutral-600);gap:var(--pr-t-spacings-100);justify-content:var(--components-divider-justify)}.divider:not(:empty):before,.divider:not(:empty):after{flex-grow:1;content:\"\"}.divider:not(:empty) .lucca-icon{color:var(--palettes-neutral-600);position:relative;inset-block-end:var(--components-divider-iconBottom)}.divider:not(:empty):not(.mod-vertical):before,.divider:not(:empty):not(.mod-vertical):after{border-block-start:var(--commons-divider-border);min-inline-size:var(--components-divider-minSize)}.divider .button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400))}.divider .button:hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.divider .button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.divider .button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.divider .button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--commons-disabled-placeholder);--components-button-color: var(--palettes-neutral-500)}.divider.mod-S{--components-divider-fontSize: var(--sizes-S-fontSize);--components-divider-lineHeight: var(--sizes-S-lineHeight)}.divider.mod-S .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.divider.mod-S .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.divider.mod-S .lucca-icon{--icon-size: 1.25rem}.divider.mod-vertical{--components-divider-alignSelf: stretch}.divider.mod-vertical:where(:empty){border-inline-start:var(--commons-divider-border)}.divider.mod-vertical:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.divider.mod-vertical:not(:empty):before,.divider.mod-vertical:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
29
26
|
}
|
|
30
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: DividerComponent, decorators: [{
|
|
31
28
|
type: Component,
|
|
32
|
-
args: [{ selector: 'lu-divider', standalone: true, providers: [LuClass], template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None,
|
|
29
|
+
args: [{ selector: 'lu-divider', standalone: true, providers: [LuClass], template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, host: {
|
|
30
|
+
class: 'divider',
|
|
31
|
+
'[role]': 'separatorRole() || withRole() ? "separator" : null',
|
|
32
|
+
'[class.mod-vertical]': 'vertical()',
|
|
33
|
+
}, styles: [".divider{--components-divider-fontSize: var(--sizes-M-fontSize);--components-divider-lineHeight: var(--sizes-M-lineHeight);--components-divider-marginBlock: var(--pr-t-spacings-50);--components-divider-marginInline: 0;--components-divider-minSize: var(--pr-t-spacings-150);--components-divider-direction: row;--components-divider-iconBottom: 0;--components-divider-justify: normal;--components-divider-alignSelf: \"\";border:0;display:block;margin-block:var(--components-divider-marginBlock);margin-inline:var(--components-divider-marginInline);align-self:var(--components-divider-alignSelf)}.divider:where(:empty){--components-divider-marginInline: 0;block-size:auto}.divider:where(:empty):not(.mod-vertical){border-block-start:var(--commons-divider-border)}.divider:not(:empty){display:flex;flex-direction:var(--components-divider-direction);align-items:center;text-wrap:balance;text-align:center;font-size:var(--components-divider-fontSize);line-height:var(--components-divider-lineHeight);color:var(--palettes-neutral-600);gap:var(--pr-t-spacings-100);justify-content:var(--components-divider-justify)}.divider:not(:empty):before,.divider:not(:empty):after{flex-grow:1;content:\"\"}.divider:not(:empty) .lucca-icon{color:var(--palettes-neutral-600);position:relative;inset-block-end:var(--components-divider-iconBottom)}.divider:not(:empty):not(.mod-vertical):before,.divider:not(:empty):not(.mod-vertical):after{border-block-start:var(--commons-divider-border);min-inline-size:var(--components-divider-minSize)}.divider .button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-neutral-400))}.divider .button:hover{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.divider .button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.divider .button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.divider .button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--commons-disabled-placeholder);--components-button-color: var(--palettes-neutral-500)}.divider.mod-S{--components-divider-fontSize: var(--sizes-S-fontSize);--components-divider-lineHeight: var(--sizes-S-lineHeight)}.divider.mod-S .button{--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75)}.divider.mod-S .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.divider.mod-S .lucca-icon{--icon-size: 1.25rem}.divider.mod-vertical{--components-divider-alignSelf: stretch}.divider.mod-vertical:where(:empty){border-inline-start:var(--commons-divider-border)}.divider.mod-vertical:not(:empty){--components-divider-direction: column;--components-divider-iconBottom: var(--pr-t-spacings-25);--components-divider-justify: center}.divider.mod-vertical:not(:empty):before,.divider.mod-vertical:not(:empty):after{border-inline-start:var(--commons-divider-border);min-block-size:var(--components-divider-minSize)}\n"] }]
|
|
33
34
|
}], propDecorators: { content: [{
|
|
34
35
|
type: ViewChild,
|
|
35
36
|
args: ['content']
|
|
36
|
-
}], divider: [{
|
|
37
|
-
type: HostBinding,
|
|
38
|
-
args: ['class.divider']
|
|
39
|
-
}], attrRole: [{
|
|
40
|
-
type: HostBinding,
|
|
41
|
-
args: ['attr.role']
|
|
42
|
-
}], vertical: [{
|
|
43
|
-
type: Input,
|
|
44
|
-
args: [{ transform: booleanAttribute }]
|
|
45
|
-
}, {
|
|
46
|
-
type: HostBinding,
|
|
47
|
-
args: ['class.mod-vertical']
|
|
48
|
-
}], size: [{
|
|
49
|
-
type: Input
|
|
50
37
|
}] } });
|
|
51
38
|
|
|
52
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-divider.mjs","sources":["../../../packages/ng/divider/divider.component.ts","../../../packages/ng/divider/lucca-front-ng-divider.ts"],"sourcesContent":["import { booleanAttribute, Component,
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-divider.mjs","sources":["../../../packages/ng/divider/divider.component.ts","../../../packages/ng/divider/lucca-front-ng-divider.ts"],"sourcesContent":["import { booleanAttribute, Component, ElementRef, inject, input, OnChanges, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { LuClass } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-divider',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./divider.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'divider',\n\t\t'[role]': 'separatorRole() || withRole() ? \"separator\" : null',\n\t\t'[class.mod-vertical]': 'vertical()',\n\t},\n})\nexport class DividerComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\n\t@ViewChild('content') content: ElementRef;\n\n\tseparatorRole = input(false, { transform: booleanAttribute });\n\tvertical = input(false, { transform: booleanAttribute });\n\tsize = input<'M' | 'S' | null>(null);\n\n\t// deprecated\n\twithRole = input(false, { transform: booleanAttribute });\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\tupdateClasses(): void {\n\t\tconst ngClassConfig = {\n\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t};\n\n\t\tthis.#luClass.setState(ngClassConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -304,7 +304,7 @@ class FileEntryComponent {
|
|
|
304
304
|
return this.deleteFile$.observed;
|
|
305
305
|
}
|
|
306
306
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FileEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
307
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FileEntryComponent, isStandalone: true, selector: "lu-file-entry", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, displayFileName: { classPropertyName: "displayFileName", publicName: "displayFileName", isSignal: true, isRequired: false, transformFunction: null }, inlineMessageError: { classPropertyName: "inlineMessageError", publicName: "inlineMessageError", isSignal: true, isRequired: false, transformFunction: null }, entry: { classPropertyName: "entry", publicName: "entry", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconOverride: { classPropertyName: "iconOverride", publicName: "iconOverride", isSignal: true, isRequired: false, transformFunction: null }, downloadURL: { classPropertyName: "downloadURL", publicName: "downloadURL", isSignal: true, isRequired: false, transformFunction: null }, password: { classPropertyName: "password", publicName: "password", isSignal: true, isRequired: false, transformFunction: null }, media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, previewUrl: { classPropertyName: "previewUrl", publicName: "previewUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { passwordChange: "passwordChange", deleteFile: "deleteFile" }, host: { classAttribute: "u-displayContents" }, ngImport: i0, template: "<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [ngClass]=\"dlClasses()\">\n\t@if (!media()) {\n\t<dt class=\"fileEntry-filename\">\n\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t</dt>\n\t@if (state() === 'error' && inlineMessageError()) {\n\t<dd class=\"fileEntry-inlineMessage\">\n\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t</dd>\n\t} @else {\n\t<dd class=\"fileEntry-description\">\n\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span><span class=\"u-mask\"> \u2013 </span>\n\t\t<lu-divider vertical />\n\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t</dd>\n\t} }\n\t<dd class=\"fileEntry-status\">\n\t\t<div class=\"fileEntry-status-content\" [luTooltip]=\"tooltip()\">\n\t\t\t@if (state() === 'error' && inlineMessageError()) { @if (media()) {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</div>\n\t\t\t} @else {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t</div>\n\t\t\t} } @else { @if (previewUrl() && state() !== 'error') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t</div>\n\t\t\t} @if (state() === 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t</div>\n\t\t\t} @if (!previewUrl() && state() !== 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-svg\" [attr.src]=\"iconOverride() || fileEntryIconSrc()\" alt=\"\" width=\"32\" height=\"32\" />\n\t\t\t</div>\n\t\t\t} } @if (displayFileName() && media()) {\n\t\t\t<div class=\"fileEntry-status-content-fileName\" aria-hidden=\"true\">{{ fileName() }}</div>\n\t\t\t}\n\t\t</div>\n\t</dd>\n\t@if (downloadURL() || deletable) {\n\t<dd class=\"fileEntry-toolbar\">\n\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t@if (downloadURL()) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t} @if (deletable) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t<div class=\"box-arrow mod-neutral\"></div>\n\t<lu-form-field [label]=\"intl.password\">\n\t\t<div class=\"fileEntry_box-field\">\n\t\t\t<lu-text-input\n\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\trequired\n\t\t\t\thasClearer\n\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\ttype=\"password\"\n\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t/>\n\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t</div>\n\t</lu-form-field>\n</div>\n}\n", styles: [".fileEntry{--components-fileEntry-padding: var(--pr-t-spacings-150);--components-fileEntry-gapInline: var(--components-fileEntry-padding);--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-borderColor: var(--palettes-neutral-100);--components-fileEntry-minHeight: auto;--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);--components-fileEntry-status-borderRadius: var(--commons-borderRadius-L);--components-fileEntry-status-content-img-opacity: 1;--components-fileEntry-status-content-svg-width: 48px;--components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);--components-fileEntry-status-content-svg-margin: 0;--components-fileEntry-filename-alignSelf: end;--components-fileEntry-status-inlineSize: 48px;--components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);--components-fileEntry-status-margin: 0;--components-fileEntry-description-display: flex;--components-fileEntry-display: grid;--components-fileEntry-status-content-padding: 0;--components-fileEntry-status-content-inside-insetBlockEnd: 0;border:1px solid var(--components-fileEntry-borderColor);padding:var(--components-fileEntry-padding);margin:0;border-radius:var(--commons-borderRadius-L);background-color:var(--pr-t-elevation-surface-raised);gap:0 var(--components-fileEntry-gapInline);position:relative;grid-column:var(--components-fileEntry-gridColumn);min-height:var(--components-fileEntry-minHeight);display:var(--components-fileEntry-display);align-items:center;grid-template-columns:auto 1fr auto;grid-template-areas:var(--components-fileEntry-gridTemplateAreas)}.fileEntry:has(.fileEntry-status-content-fileName) .fileToolbar{--components-fileToolbar-insetBlockEnd: calc(var(--pr-t-spacings-150) + var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry:has(.fileEntry-filename-tooltip:focus-visible,.fileEntry-status-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntryDisplayWrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--pr-t-spacings-100)}.fileEntryDisplayWrapper:empty{display:none}.form-field:has(.fileUpload)+.fileEntryDisplayWrapper{margin-top:var(--pr-t-spacings-100)}.fileEntry-status{inline-size:var(--components-fileEntry-status-inlineSize);block-size:var(--components-fileEntry-status-blockSize);color:var(--palettes-neutral-700);flex-shrink:0;aspect-ratio:var(--components-fileEntry-status-aspectRatio);margin:var(--components-fileEntry-status-margin);grid-area:picture;display:flex;flex-direction:column}.fileEntry-status-content{display:flex;flex-direction:column;flex-grow:1;outline:none;justify-content:center;align-items:center;padding:var(--components-fileEntry-status-content-padding);position:relative}.fileEntry-status-content-fileName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;text-align:center;padding:var(--pr-t-spacings-100);padding-block-end:var(--pr-t-spacings-25);width:100%}.fileEntry-status-content-inside-icon{color:var(--palettes-critical-700)}.fileEntry-status-content-inlineMessage.inlineMessage{flex-direction:column;align-items:center;text-align:center}.fileEntry-status-content-inlineMessage.inlineMessage .inlineMessage-statusIcon:first-child{--icon-size: 1.5rem}.fileEntry-status-content-inside{position:relative;flex-grow:1;inline-size:100%;border-radius:var(--commons-borderRadius-M);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--components-fileEntry-status-content-inside-backgroundColor)}.fileEntry-status-content-inside+.fileEntry-status-content-inside{position:absolute;inset-block-start:0;inset-block-end:var(--components-fileEntry-status-content-inside-insetBlockEnd)}.fileEntry-status-content-inside-svg{inline-size:var(--components-fileEntry-status-content-svg-width);block-size:var(--components-fileEntry-status-content-svg-height);margin:var(--components-fileEntry-status-content-svg-margin)}.fileEntry-status-content-inside-img{object-fit:cover;inline-size:100%;block-size:100%;position:absolute;inset:0;opacity:var(--components-fileEntry-status-content-img-opacity)}.fileEntry-toolbar{grid-area:toolbar;margin:0}.fileEntry-filename{grid-area:title;align-self:var(--components-fileEntry-filename-alignSelf);min-width:0}.fileEntry-filename-tooltip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}.fileEntry-description{grid-area:description;align-self:start;color:var(--palettes-neutral-600);font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);display:var(--components-fileEntry-description-display);margin:0;gap:var(--pr-t-spacings-100);min-width:0}.fileEntry-description-format{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--commons-borderRadius-M);max-width:20ch}.fileEntry-description-format:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntry-inlineMessage{grid-area:description;margin:0;align-self:start;min-width:0}.fileEntry-inlineMessage .inlineMessage-statusIcon{display:none}.fileEntry_box.box{margin-top:var(--pr-t-spacings-150)}.fileEntry_box-field{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-100)}.fileEntry_box-field-textField{flex-grow:1}.fileEntry_box-field-button.button{flex-grow:1;flex-basis:0;min-width:fit-content}.fileEntry.mod-S{--components-fileEntry-padding: var(--pr-t-spacings-50);--components-fileEntry-status-inlineSize: 32px;--components-fileEntry-description-display: none;--components-fileEntry-gridTemplateAreas: \"picture title title toolbar\";--components-fileEntry-filename-alignSelf: center;--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);--components-fileEntry-gapInline: var(--pr-t-spacings-75);--components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1)}.fileEntry.mod-S .fileEntry-status-content-inside-icon{--icon-size: 1.25rem}.fileEntry.mod-media{--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);--components-fileEntry-padding: var(--pr-t-spacings-75);--components-fileEntry-status-aspectRatio: auto;--components-fileEntry-status-inlineSize: 100%;--components-fileEntry-status-blockSize: calc(20.5rem + 2px) ;--components-fileEntry-description-display: none;--components-fileEntry-display: block;--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-status-content-svg-width: 72px}.fileEntry.mod-media:has(.fileEntry-status-content-fileName){--components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry.mod-media.mod-S{--components-fileEntry-minHeight: calc(5rem + 2px) ;--components-fileEntry-gridColumn: auto;--components-fileEntry-status-blockSize: auto;--components-fileEntry-status-aspectRatio: 1}.fileEntry.is-error{--components-fileEntry-borderColor: var(--palettes-critical-600);--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);--components-fileEntry-minHeight: 3.75rem}.fileEntry.is-error.mod-S{--components-fileEntry-status-blockSize: 100%}.fileEntry.is-loading{--components-fileEntry-status-content-img-opacity: .08}.fileEntry.is-loading.mod-S .fileEntry-status-content-inside-loading.loading{--components-loading-size: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.fileToolbar{--components-fileToolbar-list-padding: var(--pr-t-spacings-50);--components-fileToolbar-display: block;--components-fileToolbar-insetBlockEnd: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);position:absolute;transform:translate(-50%);inset-inline-start:50%;inset-block-end:var(--components-fileToolbar-insetBlockEnd);box-shadow:var(--pr-t-elevation-shadow-overlay);background-color:var(--pr-t-elevation-surface-raised);z-index:1;display:var(--components-fileToolbar-display)}.fileToolbar-list{margin:0;padding:0;list-style-type:none;display:flex;gap:var(--pr-t-spacings-50);padding:var(--components-fileToolbar-list-padding)}.fileToolbar-list-item-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75);--components-button-padding: var(--pr-t-spacings-75) !important}.fileToolbar-list-item-button.button:hover,.fileToolbar-list-item-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fileToolbar-list-item-button.button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.fileToolbar-list-item-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.fileToolbar-list-item-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.fileToolbar.mod-disablePositioning{--components-fileToolbar-display: contents}.fileToolbar.mod-disablePositioning.mod-S{--components-fileToolbar-list-padding: 0}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis"], exportAs: ["luTooltip"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["withRole", "vertical", "size"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
307
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: FileEntryComponent, isStandalone: true, selector: "lu-file-entry", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, displayFileName: { classPropertyName: "displayFileName", publicName: "displayFileName", isSignal: true, isRequired: false, transformFunction: null }, inlineMessageError: { classPropertyName: "inlineMessageError", publicName: "inlineMessageError", isSignal: true, isRequired: false, transformFunction: null }, entry: { classPropertyName: "entry", publicName: "entry", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconOverride: { classPropertyName: "iconOverride", publicName: "iconOverride", isSignal: true, isRequired: false, transformFunction: null }, downloadURL: { classPropertyName: "downloadURL", publicName: "downloadURL", isSignal: true, isRequired: false, transformFunction: null }, password: { classPropertyName: "password", publicName: "password", isSignal: true, isRequired: false, transformFunction: null }, media: { classPropertyName: "media", publicName: "media", isSignal: true, isRequired: false, transformFunction: null }, previewUrl: { classPropertyName: "previewUrl", publicName: "previewUrl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { passwordChange: "passwordChange", deleteFile: "deleteFile" }, host: { classAttribute: "u-displayContents" }, ngImport: i0, template: "<dl class=\"fileEntry\" [class.mod-media]=\"media()\" [ngClass]=\"dlClasses()\">\n\t@if (!media()) {\n\t<dt class=\"fileEntry-filename\">\n\t\t<div class=\"fileEntry-filename-tooltip\" luTooltip luTooltipWhenEllipsis>{{ fileName() }}</div>\n\t</dt>\n\t@if (state() === 'error' && inlineMessageError()) {\n\t<dd class=\"fileEntry-inlineMessage\">\n\t\t<lu-inline-message withTooltip [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t</dd>\n\t} @else {\n\t<dd class=\"fileEntry-description\">\n\t\t<span class=\"fileEntry-description-format\" luTooltip luTooltipWhenEllipsis>{{ fileTypeDisplay() }}</span><span class=\"u-mask\"> \u2013 </span>\n\t\t<lu-divider vertical />\n\t\t<span class=\"fileEntry-description-size\">{{ fileSizeDisplay() }}</span>\n\t</dd>\n\t} }\n\t<dd class=\"fileEntry-status\">\n\t\t<div class=\"fileEntry-status-content\" [luTooltip]=\"tooltip()\">\n\t\t\t@if (state() === 'error' && inlineMessageError()) { @if (media()) {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-inline-message class=\"fileEntry-status-content-inlineMessage\" [label]=\"inlineMessageError()\" [state]=\"'error'\" />\n\t\t\t</div>\n\t\t\t} @else {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<lu-icon class=\"fileEntry-status-content-inside-icon\" icon=\"signError\" />\n\t\t\t</div>\n\t\t\t} } @else { @if (previewUrl() && state() !== 'error') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-img\" [src]=\"previewUrl()\" alt=\"\" loading=\"lazy\" />\n\t\t\t</div>\n\t\t\t} @if (state() === 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<div class=\"fileEntry-status-content-inside-loading loading\"></div>\n\t\t\t</div>\n\t\t\t} @if (!previewUrl() && state() !== 'loading') {\n\t\t\t<div class=\"fileEntry-status-content-inside\">\n\t\t\t\t<img class=\"fileEntry-status-content-inside-svg\" [attr.src]=\"iconOverride() || fileEntryIconSrc()\" alt=\"\" width=\"32\" height=\"32\" />\n\t\t\t</div>\n\t\t\t} } @if (displayFileName() && media()) {\n\t\t\t<div class=\"fileEntry-status-content-fileName\" aria-hidden=\"true\">{{ fileName() }}</div>\n\t\t\t}\n\t\t</div>\n\t</dd>\n\t@if (downloadURL() || deletable) {\n\t<dd class=\"fileEntry-toolbar\">\n\t\t<div class=\"fileToolbar\" [class.mod-disablePositioning]=\"!media()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<ul class=\"fileToolbar-list\">\n\t\t\t\t@if (downloadURL()) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<a\n\t\t\t\t\t\t[href]=\"downloadURL()\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\tdownload=\"download\"\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.download\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"arrowDownload\"\n\t\t\t\t\t\t\t[alt]=\"intl.downloadFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t} @if (deletable) {\n\t\t\t\t<li class=\"fileToolbar-list-item\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"fileToolbar-list-item-button\"\n\t\t\t\t\t\t[class.palette-critical]=\"state() === 'error'\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\t[luTooltip]=\"intl.delete\"\n\t\t\t\t\t\tluTooltipOnlyForDisplay\n\t\t\t\t\t\t(click)=\"deleteFile$.next()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon\n\t\t\t\t\t\t\tclass=\"fileToolbar-list-item-button-icon\"\n\t\t\t\t\t\t\ticon=\"trashDelete\"\n\t\t\t\t\t\t\t[alt]=\"intl.deleteFile | intlParams: {fileName: fileName()}\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</button>\n\t\t\t\t</li>\n\t\t\t\t}\n\t\t\t</ul>\n\t\t</div>\n\t</dd>\n\t}\n</dl>\n@if (withPassword) {\n<div class=\"fileEntry_box box mod-withArrow mod-neutral\">\n\t<div class=\"box-arrow mod-neutral\"></div>\n\t<lu-form-field [label]=\"intl.password\">\n\t\t<div class=\"fileEntry_box-field\">\n\t\t\t<lu-text-input\n\t\t\t\tclass=\"fileEntry_box-field-textField\"\n\t\t\t\trequired\n\t\t\t\thasClearer\n\t\t\t\tsearchIcon=\"searchMagnifyingGlass\"\n\t\t\t\ttype=\"password\"\n\t\t\t\t[ngModel]=\"password()\"\n\t\t\t\t(ngModelChange)=\"passwordChange$.next($event)\"\n\t\t\t/>\n\t\t\t<button class=\"fileEntry_box-field-button\" luButton type=\"button\">{{ intl.confirmPassword }}</button>\n\t\t</div>\n\t</lu-form-field>\n</div>\n}\n", styles: [".fileEntry{--components-fileEntry-padding: var(--pr-t-spacings-150);--components-fileEntry-gapInline: var(--components-fileEntry-padding);--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-borderColor: var(--palettes-neutral-100);--components-fileEntry-minHeight: auto;--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-neutral-25);--components-fileEntry-status-borderRadius: var(--commons-borderRadius-L);--components-fileEntry-status-content-img-opacity: 1;--components-fileEntry-status-content-svg-width: 48px;--components-fileEntry-status-content-svg-height: var(--components-fileEntry-status-content-svg-width);--components-fileEntry-status-content-svg-margin: 0;--components-fileEntry-filename-alignSelf: end;--components-fileEntry-status-inlineSize: 48px;--components-fileEntry-status-blockSize: var(--components-fileEntry-status-inlineSize);--components-fileEntry-status-margin: 0;--components-fileEntry-description-display: flex;--components-fileEntry-display: grid;--components-fileEntry-status-content-padding: 0;--components-fileEntry-status-content-inside-insetBlockEnd: 0;border:1px solid var(--components-fileEntry-borderColor);padding:var(--components-fileEntry-padding);margin:0;border-radius:var(--commons-borderRadius-L);background-color:var(--pr-t-elevation-surface-raised);gap:0 var(--components-fileEntry-gapInline);position:relative;grid-column:var(--components-fileEntry-gridColumn);min-height:var(--components-fileEntry-minHeight);display:var(--components-fileEntry-display);align-items:center;grid-template-columns:auto 1fr auto;grid-template-areas:var(--components-fileEntry-gridTemplateAreas)}.fileEntry:has(.fileEntry-status-content-fileName) .fileToolbar{--components-fileToolbar-insetBlockEnd: calc(var(--pr-t-spacings-150) + var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry:has(.fileEntry-filename-tooltip:focus-visible,.fileEntry-status-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntryDisplayWrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:var(--pr-t-spacings-100)}.fileEntryDisplayWrapper:empty{display:none}.form-field:has(.fileUpload)+.fileEntryDisplayWrapper{margin-top:var(--pr-t-spacings-100)}.fileEntry-status{inline-size:var(--components-fileEntry-status-inlineSize);block-size:var(--components-fileEntry-status-blockSize);color:var(--palettes-neutral-700);flex-shrink:0;aspect-ratio:var(--components-fileEntry-status-aspectRatio);margin:var(--components-fileEntry-status-margin);grid-area:picture;display:flex;flex-direction:column}.fileEntry-status-content{display:flex;flex-direction:column;flex-grow:1;outline:none;justify-content:center;align-items:center;padding:var(--components-fileEntry-status-content-padding);position:relative}.fileEntry-status-content-fileName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;text-align:center;padding:var(--pr-t-spacings-100);padding-block-end:var(--pr-t-spacings-25);width:100%}.fileEntry-status-content-inside-icon{color:var(--palettes-critical-700)}.fileEntry-status-content-inlineMessage.inlineMessage{flex-direction:column;align-items:center;text-align:center}.fileEntry-status-content-inlineMessage.inlineMessage .inlineMessage-statusIcon:first-child{--icon-size: 1.5rem}.fileEntry-status-content-inside{position:relative;flex-grow:1;inline-size:100%;border-radius:var(--commons-borderRadius-M);overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--components-fileEntry-status-content-inside-backgroundColor)}.fileEntry-status-content-inside+.fileEntry-status-content-inside{position:absolute;inset-block-start:0;inset-block-end:var(--components-fileEntry-status-content-inside-insetBlockEnd)}.fileEntry-status-content-inside-svg{inline-size:var(--components-fileEntry-status-content-svg-width);block-size:var(--components-fileEntry-status-content-svg-height);margin:var(--components-fileEntry-status-content-svg-margin)}.fileEntry-status-content-inside-img{object-fit:cover;inline-size:100%;block-size:100%;position:absolute;inset:0;opacity:var(--components-fileEntry-status-content-img-opacity)}.fileEntry-toolbar{grid-area:toolbar;margin:0}.fileEntry-filename{grid-area:title;align-self:var(--components-fileEntry-filename-alignSelf);min-width:0}.fileEntry-filename-tooltip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}.fileEntry-description{grid-area:description;align-self:start;color:var(--palettes-neutral-600);font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight);display:var(--components-fileEntry-description-display);margin:0;gap:var(--pr-t-spacings-100);min-width:0}.fileEntry-description-format{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--commons-borderRadius-M);max-width:20ch}.fileEntry-description-format:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fileEntry-inlineMessage{grid-area:description;margin:0;align-self:start;min-width:0}.fileEntry-inlineMessage .inlineMessage-statusIcon{display:none}.fileEntry_box.box{margin-top:var(--pr-t-spacings-150)}.fileEntry_box-field{display:flex;flex-wrap:wrap;gap:var(--pr-t-spacings-100)}.fileEntry_box-field-textField{flex-grow:1}.fileEntry_box-field-button.button{flex-grow:1;flex-basis:0;min-width:fit-content}.fileEntry.mod-S{--components-fileEntry-padding: var(--pr-t-spacings-50);--components-fileEntry-status-inlineSize: 32px;--components-fileEntry-description-display: none;--components-fileEntry-gridTemplateAreas: \"picture title title toolbar\";--components-fileEntry-filename-alignSelf: center;--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);--components-fileEntry-gapInline: var(--pr-t-spacings-75);--components-fileEntry-status-content-svg-margin: calc(var(--pr-t-spacings-100) * -1)}.fileEntry.mod-S .fileEntry-status-content-inside-icon{--icon-size: 1.25rem}.fileEntry.mod-media{--components-fileEntry-status-borderRadius: var(--commons-borderRadius-M);--components-fileEntry-padding: var(--pr-t-spacings-75);--components-fileEntry-status-aspectRatio: auto;--components-fileEntry-status-inlineSize: 100%;--components-fileEntry-status-blockSize: calc(20.5rem + 2px) ;--components-fileEntry-description-display: none;--components-fileEntry-display: block;--components-fileEntry-gridColumn: 1 / -1;--components-fileEntry-status-content-svg-width: 72px}.fileEntry.mod-media:has(.fileEntry-status-content-fileName){--components-fileEntry-status-content-inside-insetBlockEnd: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-25))}.fileEntry.mod-media.mod-S{--components-fileEntry-minHeight: calc(5rem + 2px) ;--components-fileEntry-gridColumn: auto;--components-fileEntry-status-blockSize: auto;--components-fileEntry-status-aspectRatio: 1}.fileEntry.is-error{--components-fileEntry-borderColor: var(--palettes-critical-600);--components-fileEntry-gridTemplateAreas: \"picture title toolbar\" \"picture description toolbar\";--components-fileEntry-status-content-inside-backgroundColor: var(--palettes-critical-50);--components-fileEntry-minHeight: 3.75rem}.fileEntry.is-error.mod-S{--components-fileEntry-status-blockSize: 100%}.fileEntry.is-loading{--components-fileEntry-status-content-img-opacity: .08}.fileEntry.is-loading.mod-S .fileEntry-status-content-inside-loading.loading{--components-loading-size: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.fileToolbar{--components-fileToolbar-list-padding: var(--pr-t-spacings-50);--components-fileToolbar-display: block;--components-fileToolbar-insetBlockEnd: var(--pr-t-spacings-150);border-radius:var(--commons-borderRadius-L);position:absolute;transform:translate(-50%);inset-inline-start:50%;inset-block-end:var(--components-fileToolbar-insetBlockEnd);box-shadow:var(--pr-t-elevation-shadow-overlay);background-color:var(--pr-t-elevation-surface-raised);z-index:1;display:var(--components-fileToolbar-display)}.fileToolbar-list{margin:0;padding:0;list-style-type:none;display:flex;gap:var(--pr-t-spacings-50);padding:var(--components-fileToolbar-list-padding)}.fileToolbar-list-item-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--icon-size: 1.25rem;--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-button-gap: var(--pr-t-spacings-75);--components-button-padding: var(--pr-t-spacings-75) !important}.fileToolbar-list-item-button.button:hover,.fileToolbar-list-item-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fileToolbar-list-item-button.button:active{--components-button-backgroundColor: var(--palettes-200, var(--palettes-neutral-200))}.fileToolbar-list-item-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-neutral-500)}.fileToolbar-list-item-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.fileToolbar.mod-disablePositioning{--components-fileToolbar-display: contents}.fileToolbar.mod-disablePositioning.mod-S{--components-fileToolbar-list-padding: 0}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis"], exportAs: ["luTooltip"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "component", type: DividerComponent, selector: "lu-divider", inputs: ["separatorRole", "vertical", "size", "withRole"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
308
308
|
}
|
|
309
309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: FileEntryComponent, decorators: [{
|
|
310
310
|
type: Component,
|