@lucca-front/ng 22.0.3-rc.2 → 22.0.3
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/README.md +1 -0
- package/fesm2022/lucca-front-ng-activity-feed.mjs +2 -2
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +55 -53
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +5 -2
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +3 -0
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/package.json +4 -4
- package/schematics/collection.json +5 -0
- package/schematics/deprecated-resolver/index.js +1 -4
- package/schematics/file-upload/index.js +22 -0
- package/schematics/file-upload/migration.js +230 -0
- package/schematics/file-upload/migration.spec.js +56 -0
- package/schematics/file-upload/schema.json +23 -0
- package/schematics/lib/angular-component-ast.js +3 -1
- package/schematics/lib/deprecated-mapper.js +2 -10
- package/schematics/lib/html-ast.js +26 -0
- package/types/lucca-front-ng-core-select.d.ts +7 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, input, ElementRef, Renderer2, contentChild, afterRenderEffect, Injector, afterNextRender, Injectable, makeEnvironmentProviders, importProvidersFrom, assertInInjectionContext, DestroyRef, signal, viewChild, TemplateRef, runInInjectionContext, computed } from '@angular/core';
|
|
2
|
+
import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, input, ElementRef, Renderer2, contentChild, afterRenderEffect, Injector, EnvironmentInjector, afterNextRender, Injectable, makeEnvironmentProviders, importProvidersFrom, assertInInjectionContext, DestroyRef, signal, viewChild, TemplateRef, runInInjectionContext, computed } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '@lucca-front/ng/button';
|
|
4
4
|
import { isNotNil, intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';
|
|
5
5
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
@@ -247,6 +247,7 @@ class LuDialogService {
|
|
|
247
247
|
#cdkDialog = inject(Dialog);
|
|
248
248
|
#overlay = inject(Overlay);
|
|
249
249
|
#injector = inject(Injector);
|
|
250
|
+
#environmentInjector = inject(EnvironmentInjector);
|
|
250
251
|
open(config) {
|
|
251
252
|
// Assigned synchronously inside the `providers` callback below, which CDK calls during `Dialog.open()`.
|
|
252
253
|
let luDialogRef;
|
|
@@ -299,7 +300,9 @@ class LuDialogService {
|
|
|
299
300
|
});
|
|
300
301
|
// Re-check once the view is stable: block strategy only locks scroll if the page already
|
|
301
302
|
// overflows at attach time, which can miss for dialogs opened asynchronously (e.g. via a route).
|
|
302
|
-
|
|
303
|
+
// With `provideLuDialog()` on a directive, `#injector` is the trigger's node injector.
|
|
304
|
+
// A `lu-dropdown-action` trigger is already destroyed by this click: `afterNextRender` on it would throw `NG0911`.
|
|
305
|
+
afterNextRender(() => scrollStrategy.enable(), { injector: this.#environmentInjector });
|
|
303
306
|
if (cdkRef.componentRef) {
|
|
304
307
|
const renderer = cdkRef.componentRef.injector.get(Renderer2);
|
|
305
308
|
renderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');
|
|
@@ -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-config.ts","../../../packages/ng/dialog/model/dialog-ref.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-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.reuse-strategy.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/dialog.type.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/dialog/dialog.component.html","../../../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/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<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\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 { 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\ntype BaseLuDialogConfig<C, TData = LuDialogData<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: TData;\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 * A hook function to determine if the current dialog can be dismissed or not.\n\t * Unlike `canClose`, this does not require a component instance and is suitable for template-based dialogs.\n\t */\n\tcanDismiss?: () => 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?: LuDialogSize;\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' | 'fancy' | 'sheet';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n\n\t/**\n\t * Should the dialog have a neutral background?\n\t */\n\tsurfaceDefault?: boolean;\n};\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n\nexport type LuDialogSize = 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isNotNil } from '@lucca-front/ng/core';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult, LuDialogSize } 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, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C | null {\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, TData>,\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\tlet canClose: boolean | Observable<boolean> = true;\n\n\t\ttry {\n\t\t\tif (isNotNil(this.instance)) {\n\t\t\t\tcanClose = this.config.canClose?.(this.instance) ?? true;\n\t\t\t} else if (this.config.canDismiss) {\n\t\t\t\tcanClose = this.config.canDismiss();\n\t\t\t}\n\t\t} catch {\n\t\t\tcanClose = true;\n\t\t}\n\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\tresize(size: LuDialogSize): void {\n\t\tif (this.config.size === size) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.cdkRef.removePanelClass(`mod-${this.config.size || 'M'}`);\n\t\tthis.cdkRef.addPanelClass(`mod-${size}`);\n\t\tthis.config.size = size;\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R | null | undefined): void; resize(size: LuDialogSize): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\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\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tpl: {\n\t\tclose: 'Zamknij',\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 { afterRenderEffect, ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, input, OnDestroy, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions } 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@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderSubtitle]',\n})\nexport class DialogHeaderSubtitle {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnDestroy {\n\t#ref = inject(LuDialogRef);\n\n\treadonly intl = input(...intlInputOptions(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\t#registeredAriaLabelledById: string | undefined;\n\n\tconstructor() {\n\t\tafterRenderEffect(() => this.#syncAriaLabelledBy());\n\t}\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\treadonly optionalAction = contentChild(DialogHeaderAction);\n\n\treadonly optionalSubtitle = contentChild(DialogHeaderSubtitle);\n\n\tngOnDestroy(): void {\n\t\tthis.#unregisterAriaLabelledBy();\n\t}\n\n\t#syncAriaLabelledBy(): void {\n\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\tif (!header) {\n\t\t\tthis.#unregisterAriaLabelledBy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = header.id || `lu-dialog-header-${nextId++}`;\n\t\tif (id === this.#registeredAriaLabelledById) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#unregisterAriaLabelledBy();\n\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\tthis.#registeredAriaLabelledById = id;\n\t}\n\n\t#unregisterAriaLabelledBy(): void {\n\t\tif (!this.#registeredAriaLabelledById) {\n\t\t\treturn;\n\t\t}\n\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._removeAriaLabelledBy(this.#registeredAriaLabelledById);\n\t\tthis.#registeredAriaLabelledById = undefined;\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl().close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n\t@if (optionalSubtitle()) {\n\t\t<div class=\"dialog-inside-header-container-subtitle\"><ng-content select=\"[dialogHeaderSubtitle]\" /></div>\n\t}\n</div>\n\n<div class=\"dialog-inside-header-content\">\n\t<ng-content select=\"[dialogHeaderContent]\" />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { afterNextRender, inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, 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#overlay = inject(Overlay);\n\n\t#injector = inject(Injector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\t// Assigned synchronously inside the `providers` callback below, which CDK calls during `Dialog.open()`.\n\t\tlet luDialogRef!: LuDialogRef<C, TData>;\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 'fancy':\n\t\t\t\tmodeClasses = ['mod-fancy'];\n\t\t\t\tbreak;\n\t\t\tcase 'sheet':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom', 'mod-sheet'];\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\t// Built explicitly (rather than left to CDK's default) so we can force a re-check below.\n\t\tconst scrollStrategy = config.cdkConfigOverride?.scrollStrategy ?? this.#overlay.scrollStrategies.block();\n\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.surfaceDefault ? ['mod-surfaceDefault'] : []), ...(config.panelClasses || [])],\n\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\tscrollStrategy,\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\t// Re-check once the view is stable: block strategy only locks scroll if the page already\n\t\t// overflows at attach time, which can miss for dialogs opened asynchronously (e.g. via a route).\n\t\tafterNextRender(() => scrollStrategy.enable(), { injector: this.#injector });\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 = cdkRef.componentInstance ? (config.canClose?.(cdkRef.componentInstance) ?? true) : 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 { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { ActivatedRouteSnapshot, BaseRouteReuseStrategy, RouteReuseStrategy } from '@angular/router';\n\nexport function provideDialogRoutingReuseStrategy(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([{ provide: RouteReuseStrategy, useClass: LuccaDialogRoutingReuseStrategy }]);\n}\n\nexport const noRouteReuseFlag = Symbol('ɵdoNotReuseComponentFlag');\n\nexport class LuccaDialogRoutingReuseStrategy extends BaseRouteReuseStrategy {\n\toverride shouldReuseRoute(future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean {\n\t\tconst base = super.shouldReuseRoute(future, current);\n\n\t\tif (!base) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Modal should close then re-open when navigating to the same route with different parameters\n\t\tif (future.component?.[noRouteReuseFlag]) {\n\t\t\tconst futureUrlSegments = future.url.map((s) => s.path).join('/');\n\t\t\tconst currentUrlSegments = current.url.map((s) => s.path).join('/');\n\t\t\treturn futureUrlSegments === currentUrlSegments;\n\t\t}\n\n\t\treturn true;\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<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 function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, outlet, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\toutlet,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map((guard): CanDeactivateFn<C> => (dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t}),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\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<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>> | undefined, config2: Partial<DialogRouteConfig<C>> | undefined): Partial<DialogRouteConfig<C>> {\n\tif (!config1 && config2) {\n\t\treturn config2;\n\t}\n\n\tif (!config2 && config1) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\tif (config1 && config2) {\n\t\tconst arrayKeys = ['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>;\n\n\t\t// If both configs have the same key, we merge the arrays\n\t\tconst mergedArrays = arrayKeys.filter((key) => key in config1 && key in config2);\n\n\t\tfor (const key of mergedArrays) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t\t}\n\n\t\t// If both configs have the same data key, we merge the objects\n\t\tif (config1.data && config2.data) {\n\t\t\tresult.data = { ...config1.data, ...config2.data };\n\t\t}\n\n\t\t// If both configs have the same resolve key, we merge the objects\n\t\tif (config1.resolve && config2.resolve) {\n\t\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogData, LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { noRouteReuseFlag } from './dialog-routing.reuse-strategy';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t? routeData.dialogRouteConfig.path\n\t\t\t\t.split('/')\n\t\t\t\t.map(() => '..')\n\t\t\t\t.join('/')\n\t\t: '';\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\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\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, 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 = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tstatic [noRouteReuseFlag] = true;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([\n\t\t\tthis.config.dataFactory ? this.#resolve(this.config.dataFactory) : (Promise.resolve() as Awaited<LuDialogData<C>>),\n\t\t\tthis.#resolve(this.config.dialogConfigFactory),\n\t\t]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\t// A routed dialog closes through its route, not through the cdk's closeOnNavigation.\n\t\t\tcdkConfigOverride: { closeOnNavigation: false, ...dialogConfig.cdkConfigOverride },\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t\tcanDismiss: this.#getCanDismissFn(),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanDismissFn(): (() => Observable<boolean>) | undefined {\n\t\tif (!this.config.canDeactivate?.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn () => {\n\t\t\t// If already in a navigation-triggered destroy, allow dismiss without guards\n\t\t\tif (this.#closeTrigger) {\n\t\t\t\treturn of(true);\n\t\t\t}\n\n\t\t\tconst results$ = this.config.canDeactivate!.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(map((guardResult) => (typeof guardResult === 'boolean' ? guardResult : true)));\n\t\t};\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | boolean {\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))) : true;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => 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\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T> {\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","/**\n * Available DialogComponent Types\n */\n\nexport const DIALOG_FANCY_ILLUSTRATION = ['approval', 'checklist', 'email', 'install', 'mapping', 'save', 'users', 'welcome', 'payment-card'] as const;\nexport type DialogFancyIllustration = (typeof DIALOG_FANCY_ILLUSTRATION)[number];\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { DialogFancyIllustration } from '../dialog.type';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplateUrl: './dialog.component.html',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe],\n\thost: {\n\t\tclass: 'dialog-inside',\n\t\t'[style.--components-dialog-inside-backgroundImage]': 'foregroundImage()',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\treadonly stacked = input(false, { transform: luBooleanAttribute });\n\treadonly fancyIllustration = input<DialogFancyIllustration>('welcome');\n\treadonly fancyIllustrationUrl = input<string | null>(null);\n\n\treadonly domain = 'https://cdn.lucca.fr';\n\treadonly path = '/transverse/prisme/visuals/fancy-dialog/';\n\treadonly prefix = 'foreground-';\n\treadonly extension = '.svg';\n\n\treadonly foregroundImage = computed<string | null>(() => {\n\t\tif (this.dialogRef.config.mode !== 'fancy') {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.fancyIllustrationUrl()) {\n\t\t\treturn `url('${this.fancyIllustrationUrl()}')`;\n\t\t} else {\n\t\t\treturn `url('${this.domain}${this.path}${this.prefix}${this.fancyIllustration()}${this.extension}')`;\n\t\t}\n\t});\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.stacked()) {\n\t\t\tthis.dialogRef.cdkRef.overlayRef.hostElement.classList.add('mod-stacked');\n\t\t}\n\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement | null =\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","@if (foregroundImage()) {\n\t<div\n\t\tclass=\"dialog-inside-fancyIllustrations\"\n\t\t[innerHtml]=\"'https://cdn.lucca.fr/transverse/prisme/visuals/fancy-dialog/background-bubbles.svg' | luSafeExternalSvg\"\n\t></div>\n}\n<ng-content />\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef, { optional: true });\n\n\tclose() {\n\t\tthis.#ref?.close();\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef, { optional: true });\n\n\tclose() {\n\t\tthis.#ref?.dismiss();\n\t}\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n\thost: {\n\t\t'(click)': 'click()',\n\t\t'[attr.aria-haspopup]': '\"dialog\"',\n\t},\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\treadonly dialog = input.required<TemplateRef<void>>({ alias: 'luDialogOpen' });\n\n\treadonly luDialogConfig = input<LuDialogConfig<unknown>>();\n\n\tclick() {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig(),\n\t\t\tcontent: this.dialog(),\n\t\t});\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-config.ts","../../../packages/ng/dialog/model/dialog-ref.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-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.reuse-strategy.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/dialog.type.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/dialog/dialog.component.html","../../../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/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<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\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 { 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\ntype BaseLuDialogConfig<C, TData = LuDialogData<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: TData;\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 * A hook function to determine if the current dialog can be dismissed or not.\n\t * Unlike `canClose`, this does not require a component instance and is suitable for template-based dialogs.\n\t */\n\tcanDismiss?: () => 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?: LuDialogSize;\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' | 'fancy' | 'sheet';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n\n\t/**\n\t * Should the dialog have a neutral background?\n\t */\n\tsurfaceDefault?: boolean;\n};\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n\nexport type LuDialogSize = 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isNotNil } from '@lucca-front/ng/core';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult, LuDialogSize } 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, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C | null {\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, TData>,\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\tlet canClose: boolean | Observable<boolean> = true;\n\n\t\ttry {\n\t\t\tif (isNotNil(this.instance)) {\n\t\t\t\tcanClose = this.config.canClose?.(this.instance) ?? true;\n\t\t\t} else if (this.config.canDismiss) {\n\t\t\t\tcanClose = this.config.canDismiss();\n\t\t\t}\n\t\t} catch {\n\t\t\tcanClose = true;\n\t\t}\n\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\tresize(size: LuDialogSize): void {\n\t\tif (this.config.size === size) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.cdkRef.removePanelClass(`mod-${this.config.size || 'M'}`);\n\t\tthis.cdkRef.addPanelClass(`mod-${size}`);\n\t\tthis.config.size = size;\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R | null | undefined): void; resize(size: LuDialogSize): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\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\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tpl: {\n\t\tclose: 'Zamknij',\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 { afterRenderEffect, ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, input, OnDestroy, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions } 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@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderSubtitle]',\n})\nexport class DialogHeaderSubtitle {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnDestroy {\n\t#ref = inject(LuDialogRef);\n\n\treadonly intl = input(...intlInputOptions(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\t#registeredAriaLabelledById: string | undefined;\n\n\tconstructor() {\n\t\tafterRenderEffect(() => this.#syncAriaLabelledBy());\n\t}\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\treadonly optionalAction = contentChild(DialogHeaderAction);\n\n\treadonly optionalSubtitle = contentChild(DialogHeaderSubtitle);\n\n\tngOnDestroy(): void {\n\t\tthis.#unregisterAriaLabelledBy();\n\t}\n\n\t#syncAriaLabelledBy(): void {\n\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\tif (!header) {\n\t\t\tthis.#unregisterAriaLabelledBy();\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = header.id || `lu-dialog-header-${nextId++}`;\n\t\tif (id === this.#registeredAriaLabelledById) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#unregisterAriaLabelledBy();\n\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\tthis.#registeredAriaLabelledById = id;\n\t}\n\n\t#unregisterAriaLabelledBy(): void {\n\t\tif (!this.#registeredAriaLabelledById) {\n\t\t\treturn;\n\t\t}\n\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._removeAriaLabelledBy(this.#registeredAriaLabelledById);\n\t\tthis.#registeredAriaLabelledById = undefined;\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl().close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n\t@if (optionalSubtitle()) {\n\t\t<div class=\"dialog-inside-header-container-subtitle\"><ng-content select=\"[dialogHeaderSubtitle]\" /></div>\n\t}\n</div>\n\n<div class=\"dialog-inside-header-content\">\n\t<ng-content select=\"[dialogHeaderContent]\" />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { afterNextRender, EnvironmentInjector, inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, 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#overlay = inject(Overlay);\n\n\t#injector = inject(Injector);\n\n\t#environmentInjector = inject(EnvironmentInjector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\t// Assigned synchronously inside the `providers` callback below, which CDK calls during `Dialog.open()`.\n\t\tlet luDialogRef!: LuDialogRef<C, TData>;\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 'fancy':\n\t\t\t\tmodeClasses = ['mod-fancy'];\n\t\t\t\tbreak;\n\t\t\tcase 'sheet':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom', 'mod-sheet'];\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\t// Built explicitly (rather than left to CDK's default) so we can force a re-check below.\n\t\tconst scrollStrategy = config.cdkConfigOverride?.scrollStrategy ?? this.#overlay.scrollStrategies.block();\n\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.surfaceDefault ? ['mod-surfaceDefault'] : []), ...(config.panelClasses || [])],\n\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\tscrollStrategy,\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\t// Re-check once the view is stable: block strategy only locks scroll if the page already\n\t\t// overflows at attach time, which can miss for dialogs opened asynchronously (e.g. via a route).\n\t\t// With `provideLuDialog()` on a directive, `#injector` is the trigger's node injector.\n\t\t// A `lu-dropdown-action` trigger is already destroyed by this click: `afterNextRender` on it would throw `NG0911`.\n\t\tafterNextRender(() => scrollStrategy.enable(), { injector: this.#environmentInjector });\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 = cdkRef.componentInstance ? (config.canClose?.(cdkRef.componentInstance) ?? true) : 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 { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { ActivatedRouteSnapshot, BaseRouteReuseStrategy, RouteReuseStrategy } from '@angular/router';\n\nexport function provideDialogRoutingReuseStrategy(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([{ provide: RouteReuseStrategy, useClass: LuccaDialogRoutingReuseStrategy }]);\n}\n\nexport const noRouteReuseFlag = Symbol('ɵdoNotReuseComponentFlag');\n\nexport class LuccaDialogRoutingReuseStrategy extends BaseRouteReuseStrategy {\n\toverride shouldReuseRoute(future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean {\n\t\tconst base = super.shouldReuseRoute(future, current);\n\n\t\tif (!base) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Modal should close then re-open when navigating to the same route with different parameters\n\t\tif (future.component?.[noRouteReuseFlag]) {\n\t\t\tconst futureUrlSegments = future.url.map((s) => s.path).join('/');\n\t\t\tconst currentUrlSegments = current.url.map((s) => s.path).join('/');\n\t\t\treturn futureUrlSegments === currentUrlSegments;\n\t\t}\n\n\t\treturn true;\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<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 function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, outlet, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\toutlet,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map((guard): CanDeactivateFn<C> => (dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t}),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\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<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>> | undefined, config2: Partial<DialogRouteConfig<C>> | undefined): Partial<DialogRouteConfig<C>> {\n\tif (!config1 && config2) {\n\t\treturn config2;\n\t}\n\n\tif (!config2 && config1) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\tif (config1 && config2) {\n\t\tconst arrayKeys = ['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>;\n\n\t\t// If both configs have the same key, we merge the arrays\n\t\tconst mergedArrays = arrayKeys.filter((key) => key in config1 && key in config2);\n\n\t\tfor (const key of mergedArrays) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t\t}\n\n\t\t// If both configs have the same data key, we merge the objects\n\t\tif (config1.data && config2.data) {\n\t\t\tresult.data = { ...config1.data, ...config2.data };\n\t\t}\n\n\t\t// If both configs have the same resolve key, we merge the objects\n\t\tif (config1.resolve && config2.resolve) {\n\t\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogData, LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { noRouteReuseFlag } from './dialog-routing.reuse-strategy';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t? routeData.dialogRouteConfig.path\n\t\t\t\t.split('/')\n\t\t\t\t.map(() => '..')\n\t\t\t\t.join('/')\n\t\t: '';\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\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\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, 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 = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tstatic [noRouteReuseFlag] = true;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([\n\t\t\tthis.config.dataFactory ? this.#resolve(this.config.dataFactory) : (Promise.resolve() as Awaited<LuDialogData<C>>),\n\t\t\tthis.#resolve(this.config.dialogConfigFactory),\n\t\t]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\t// A routed dialog closes through its route, not through the cdk's closeOnNavigation.\n\t\t\tcdkConfigOverride: { closeOnNavigation: false, ...dialogConfig.cdkConfigOverride },\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t\tcanDismiss: this.#getCanDismissFn(),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanDismissFn(): (() => Observable<boolean>) | undefined {\n\t\tif (!this.config.canDeactivate?.length) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn () => {\n\t\t\t// If already in a navigation-triggered destroy, allow dismiss without guards\n\t\t\tif (this.#closeTrigger) {\n\t\t\t\treturn of(true);\n\t\t\t}\n\n\t\t\tconst results$ = this.config.canDeactivate!.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(map((guardResult) => (typeof guardResult === 'boolean' ? guardResult : true)));\n\t\t};\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | boolean {\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))) : true;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => 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\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T> {\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","/**\n * Available DialogComponent Types\n */\n\nexport const DIALOG_FANCY_ILLUSTRATION = ['approval', 'checklist', 'email', 'install', 'mapping', 'save', 'users', 'welcome', 'payment-card'] as const;\nexport type DialogFancyIllustration = (typeof DIALOG_FANCY_ILLUSTRATION)[number];\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\nimport { DialogFancyIllustration } from '../dialog.type';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplateUrl: './dialog.component.html',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [LuSafeExternalSvgPipe],\n\thost: {\n\t\tclass: 'dialog-inside',\n\t\t'[style.--components-dialog-inside-backgroundImage]': 'foregroundImage()',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\treadonly stacked = input(false, { transform: luBooleanAttribute });\n\treadonly fancyIllustration = input<DialogFancyIllustration>('welcome');\n\treadonly fancyIllustrationUrl = input<string | null>(null);\n\n\treadonly domain = 'https://cdn.lucca.fr';\n\treadonly path = '/transverse/prisme/visuals/fancy-dialog/';\n\treadonly prefix = 'foreground-';\n\treadonly extension = '.svg';\n\n\treadonly foregroundImage = computed<string | null>(() => {\n\t\tif (this.dialogRef.config.mode !== 'fancy') {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (this.fancyIllustrationUrl()) {\n\t\t\treturn `url('${this.fancyIllustrationUrl()}')`;\n\t\t} else {\n\t\t\treturn `url('${this.domain}${this.path}${this.prefix}${this.fancyIllustration()}${this.extension}')`;\n\t\t}\n\t});\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.stacked()) {\n\t\t\tthis.dialogRef.cdkRef.overlayRef.hostElement.classList.add('mod-stacked');\n\t\t}\n\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement | null =\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","@if (foregroundImage()) {\n\t<div\n\t\tclass=\"dialog-inside-fancyIllustrations\"\n\t\t[innerHtml]=\"'https://cdn.lucca.fr/transverse/prisme/visuals/fancy-dialog/background-bubbles.svg' | luSafeExternalSvg\"\n\t></div>\n}\n<ng-content />\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef, { optional: true });\n\n\tclose() {\n\t\tthis.#ref?.close();\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef, { optional: true });\n\n\tclose() {\n\t\tthis.#ref?.dismiss();\n\t}\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n\thost: {\n\t\t'(click)': 'click()',\n\t\t'[attr.aria-haspopup]': '\"dialog\"',\n\t},\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\treadonly dialog = input.required<TemplateRef<void>>({ alias: 'luDialogOpen' });\n\n\treadonly luDialogConfig = input<LuDialogConfig<unknown>>();\n\n\tclick() {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig(),\n\t\t\tcontent: this.dialog(),\n\t\t});\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-dropdown.mjs","sources":["../../../packages/ng/dropdown/dropdown-action/dropdown-action.component.ts","../../../packages/ng/dropdown/dropdown-divider/dropdown-divider.component.ts","../../../packages/ng/dropdown/dropdown-group/dropdown-group.component.ts","../../../packages/ng/dropdown/dropdown-group/dropdown-group.component.html","../../../packages/ng/dropdown/dropdown-item/dropdown-item.component.ts","../../../packages/ng/dropdown/dropdown-menu/dropdown-menu.component.ts","../../../packages/ng/dropdown/dropdown-menu/dropdown-menu.component.html","../../../packages/ng/dropdown/item/dropdown-item.model.ts","../../../packages/ng/dropdown/item/dropdown-item.directive.ts","../../../packages/ng/dropdown/item/dropdown-item.module.ts","../../../packages/ng/dropdown/panel/dropdown-panel.component.ts","../../../packages/ng/dropdown/panel/dropdown-panel.component.html","../../../packages/ng/dropdown/panel/dropdown-panel.module.ts","../../../packages/ng/dropdown/trigger/dropdown-trigger.directive.ts","../../../packages/ng/dropdown/trigger/dropdown-trigger.module.ts","../../../packages/ng/dropdown/dropdown.module.ts","../../../packages/ng/dropdown/lucca-front-ng-dropdown.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { PopoverContentComponent } from '@lucca-front/ng/popover2';\n\n@Component({\n\tselector: '[lu-dropdown-action]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option-action',\n\t\t'[class.is-disabled]': 'disabled()',\n\t\t'[class.mod-critical]': 'critical()',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'(click)': 'closePanel()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownActionComponent {\n\t#popoverContentRef = inject(PopoverContentComponent, { optional: true });\n\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\treadonly critical = input(false, { transform: luBooleanAttribute });\n\n\tclosePanel() {\n\t\tif (this.#popoverContentRef) {\n\t\t\tthis.#popoverContentRef.close();\n\t\t}\n\t}\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\n\n@Component({\n\tselector: 'lu-dropdown-divider',\n\ttemplate: '<lu-divider class=\"dropdown-list-option-divider\" />',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [DividerComponent],\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t\t'[attr.aria-hidden]': 'true',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownDividerComponent {}\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-group',\n\ttemplateUrl: './dropdown-group.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownGroupComponent {\n\treadonly label = input<string | null>(null);\n}\n","{{ label() }}\n<ul class=\"dropdown-list\">\n\t<ng-content />\n</ul>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-item',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownItemComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-menu',\n\ttemplateUrl: './dropdown-menu.component.html',\n\tstyleUrl: './dropdown-menu.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class DropdownMenuComponent {}\n","<div class=\"dropdown\">\n\t<ul class=\"dropdown-list\">\n\t\t<ng-content />\n\t</ul>\n</div>\n","import { Observable } from 'rxjs';\n\nexport interface ILuDropdownItem {\n\tonSelect: Observable<boolean>;\n\tfocus(): void;\n}\nexport abstract class ALuDropdownItem implements ILuDropdownItem {\n\tabstract onSelect: Observable<boolean>;\n\tabstract focus(): void;\n}\n","import { Directive, ElementRef, EventEmitter, forwardRef, OnDestroy } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { ALuDropdownItem } from './dropdown-item.model';\n\n@Directive({\n\tselector: '[luDropdownItem]',\n\texportAs: 'LuDropdownItem',\n\thost: {\n\t\t'(click)': 'onClick($event)',\n\t\t'(keydown.enter)': 'onEnter($event)',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuDropdownItem,\n\t\t\tuseExisting: forwardRef(() => LuDropdownItemDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuDropdownItemDirective extends ALuDropdownItem implements OnDestroy {\n\treadonly onSelect = new EventEmitter<boolean>();\n\n\tprotected readonly onSelectOutput = outputFromObservable(this.onSelect, { alias: 'onSelect' });\n\n\tconstructor(private _eltRef: ElementRef<HTMLElement>) {\n\t\tsuper();\n\t}\n\n\tonClick(_event: Event) {\n\t\tthis.onSelect.emit(true);\n\t}\n\n\tonEnter(_event: Event) {\n\t\tthis.onSelect.emit(true);\n\t}\n\n\tfocus() {\n\t\tthis._eltRef.nativeElement.focus();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onSelect.complete();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownItemDirective } from './dropdown-item.directive';\n\n/**\n * @deprecated use `LuDropdownItemDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownItemDirective],\n\texports: [LuDropdownItemDirective],\n})\nexport class LuDropdownItemModule {}\n","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tinject,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tQueryList,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ALuPopoverPanel, ILuPopoverPanel, luTransformPopover } from '@lucca-front/ng/popover';\nimport { PopoverContentComponent } from '@lucca-front/ng/popover2';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { debounceTime, delay, map, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuDropdownItem, ILuDropdownItem } from '../item/index';\n\n/* eslint-disable @angular-eslint/prefer-signals */\n/**\n * @deprecated prefer the new menu approach: https://prisme.lucca.io/94310e217/p/557682-dropdown\n */\n@Component({\n\tselector: 'lu-dropdown',\n\ttemplateUrl: './dropdown-panel.component.html',\n\tstyleUrl: './dropdown-panel.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuDropdownPanel',\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuDropdownPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy, AfterViewInit {\n\t#popoverContentRef = inject(PopoverContentComponent, { optional: true });\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tprotected _items: ILuDropdownItem[] = [];\n\tprotected _itemsQL: QueryList<ILuDropdownItem>;\n\t@ContentChildren(ALuDropdownItem, { descendants: true }) set optionsQL(ql: QueryList<ILuDropdownItem>) {\n\t\tthis._itemsQL = ql;\n\t}\n\n\tprivate _subs = new Subscription();\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\tprotected initItems() {\n\t\tconst items$ = this._itemsQL.changes.pipe(\n\t\t\tstartWith(this._itemsQL),\n\t\t\tmap<QueryList<ILuDropdownItem>, ILuDropdownItem[]>((ql) => ql.toArray()),\n\t\t\tdelay(0),\n\t\t\tshare(),\n\t\t);\n\t\tconst itemsSub = items$.subscribe((i) => (this._items = i || []));\n\t\tthis._subs.add(itemsSub);\n\n\t\tconst singleFlow$: Observable<boolean> = items$.pipe(\n\t\t\tswitchMap((items) => merge(...items.map((i) => i.onSelect))),\n\t\t\tdebounceTime(1),\n\t\t);\n\n\t\tconst itemSelectSub = singleFlow$.subscribe(() => this._emitCloseEvent());\n\t\tthis._subs.add(itemSelectSub);\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t\tthis._subs.unsubscribe();\n\t}\n\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t\tif (this.#popoverContentRef) {\n\t\t\tthis.#popoverContentRef.close();\n\t\t}\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n\n\toverride onOpen() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tprivate focusFirstItem() {\n\t\tconst firstItem = this._items[0];\n\t\tif (firstItem) {\n\t\t\tfirstItem.focus();\n\t\t}\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-dropdown-panel lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content dropdown\" [class]=\"contentClassesMap\">\n\t\t\t<ul class=\"dropdown-list\">\n\t\t\t\t<ng-content />\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { LuDropdownPanelComponent } from './dropdown-panel.component';\n\n/**\n * @deprecated use `LuDropdownPanelComponent` instead\n */\n@NgModule({\n\timports: [LuDropdownPanelComponent],\n\texports: [LuDropdownPanelComponent],\n})\nexport class LuDropdownPanelModule {}\n","import { ConnectionPositionPair, HorizontalConnectionPos, OriginConnectionPosition, OverlayConnectionPosition, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { DestroyRef, Directive, effect, inject, input, OnInit, TemplateRef, Type } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { isNil, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { ALuPopoverPanel, LuPopoverAlignment } from '@lucca-front/ng/popover';\nimport { PopoverDirective, PopoverPosition } from '@lucca-front/ng/popover2';\n\n@Directive({\n\tselector: '[luDropdown]',\n\texportAs: 'LuDropdownTrigger',\n\thost: {\n\t\t'[attr.aria-expanded]': 'popover2.opened()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: PopoverDirective,\n\t\t\tinputs: ['luPopoverPosition: luDropdownPosition', 'luPopoverDisabled: luDropdownDisabled', 'customPositions'],\n\t\t\toutputs: ['luPopoverOpened: luDropdownOnOpen', 'luPopoverClosed: luDropdownOnClose'],\n\t\t},\n\t],\n})\nexport class LuDropdownTriggerDirective<_T> implements OnInit {\n\tprotected popover2 = inject(PopoverDirective);\n\t#destroyRef = inject(DestroyRef);\n\t// Keeping generic type here just for the sake of backwards compatibility\n\t/** References the popover instance that the trigger is associated with. */\n\treadonly inputPanel = input<TemplateRef<unknown> | Type<unknown> | ALuPopoverPanel>(undefined, { alias: 'luDropdown' });\n\n\tconstructor() {\n\t\tthis.popover2.luPopoverNoCloseButton.set(true);\n\t\tif (!this.popover2.customPositions()?.length) {\n\t\t\teffect(() => {\n\t\t\t\tthis.popover2.customPositions.set(this.legacyPositionBuilder(this.popover2.luPopoverPositionRef()));\n\t\t\t});\n\t\t}\n\n\t\tɵeffectWithDeps([this.inputPanel], (p) => {\n\t\t\tif (isNil(p)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (p instanceof ALuPopoverPanel) {\n\t\t\t\tthis.popover2.content.set(p.templateRef);\n\t\t\t\tp.close.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.popover2.close());\n\t\t\t} else {\n\t\t\t\tthis.popover2.content.set(p);\n\t\t\t}\n\t\t});\n\t}\n\n\t/** how the panel will be aligned with the target, allowed values: top, bottom, left, right\n\t * @deprecated prefer using customPositions instead\n\t * */\n\tluDropdownAlignment: LuPopoverAlignment = 'right';\n\n\tngOnInit(): void {\n\t\tif (isNil(this.popover2.luPopoverPosition())) {\n\t\t\tthis.popover2.luPopoverPositionRef.set('below');\n\t\t}\n\t}\n\n\t/**********************\n\t *\n\t * LEGACY STUFF TO HANDLE EXISTING POSITIONS\n\t *\n\t ***********************/\n\tprivate legacyPositionBuilder(position: PopoverPosition): ConnectionPositionPair[] {\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.luDropdownAlignment;\n\t\tif (position === 'below' || position === 'above') {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (position === 'above' || position === 'below') {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn [\n\t\t\t{\n\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t},\n\t\t];\n\t}\n\n\tprivate invertVerticalPos(y: VerticalConnectionPos): VerticalConnectionPos {\n\t\tif (y === 'top') {\n\t\t\treturn 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\treturn 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprivate invertHorizontalPos(x: HorizontalConnectionPos): HorizontalConnectionPos {\n\t\tif (x === 'end') {\n\t\t\treturn 'start';\n\t\t} else if (x === 'start') {\n\t\t\treturn 'end';\n\t\t}\n\t\treturn x;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownTriggerDirective } from './dropdown-trigger.directive';\n\n/**\n * @deprecated use `LuDropdownTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownTriggerDirective],\n\texports: [LuDropdownTriggerDirective],\n})\nexport class LuDropdownTriggerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownItemModule } from './item/index';\nimport { LuDropdownPanelModule } from './panel/index';\nimport { LuDropdownTriggerModule } from './trigger/index';\n\n/**\n * @deprecated use `LuDropdownTriggerDirective, LuDropdownPanelComponent, LuDropdownItemDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule],\n\texports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule],\n})\nexport class LuDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-dropdown.mjs","sources":["../../../packages/ng/dropdown/dropdown-action/dropdown-action.component.ts","../../../packages/ng/dropdown/dropdown-divider/dropdown-divider.component.ts","../../../packages/ng/dropdown/dropdown-group/dropdown-group.component.ts","../../../packages/ng/dropdown/dropdown-group/dropdown-group.component.html","../../../packages/ng/dropdown/dropdown-item/dropdown-item.component.ts","../../../packages/ng/dropdown/dropdown-menu/dropdown-menu.component.ts","../../../packages/ng/dropdown/dropdown-menu/dropdown-menu.component.html","../../../packages/ng/dropdown/item/dropdown-item.model.ts","../../../packages/ng/dropdown/item/dropdown-item.directive.ts","../../../packages/ng/dropdown/item/dropdown-item.module.ts","../../../packages/ng/dropdown/panel/dropdown-panel.component.ts","../../../packages/ng/dropdown/panel/dropdown-panel.component.html","../../../packages/ng/dropdown/panel/dropdown-panel.module.ts","../../../packages/ng/dropdown/trigger/dropdown-trigger.directive.ts","../../../packages/ng/dropdown/trigger/dropdown-trigger.module.ts","../../../packages/ng/dropdown/dropdown.module.ts","../../../packages/ng/dropdown/lucca-front-ng-dropdown.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { PopoverContentComponent } from '@lucca-front/ng/popover2';\n\n@Component({\n\tselector: '[lu-dropdown-action]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option-action',\n\t\t'[class.is-disabled]': 'disabled()',\n\t\t'[class.mod-critical]': 'critical()',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'(click)': 'closePanel()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownActionComponent {\n\t#popoverContentRef = inject(PopoverContentComponent, { optional: true });\n\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\treadonly critical = input(false, { transform: luBooleanAttribute });\n\n\tclosePanel() {\n\t\tif (this.disabled()) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.#popoverContentRef) {\n\t\t\tthis.#popoverContentRef.close();\n\t\t}\n\t}\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DividerComponent } from '@lucca-front/ng/divider';\n\n@Component({\n\tselector: 'lu-dropdown-divider',\n\ttemplate: '<lu-divider class=\"dropdown-list-option-divider\" />',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [DividerComponent],\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t\t'[attr.aria-hidden]': 'true',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownDividerComponent {}\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-group',\n\ttemplateUrl: './dropdown-group.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownGroupComponent {\n\treadonly label = input<string | null>(null);\n}\n","{{ label() }}\n<ul class=\"dropdown-list\">\n\t<ng-content />\n</ul>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-item',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dropdown-list-option',\n\t\trole: 'listitem',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DropdownItemComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dropdown-menu',\n\ttemplateUrl: './dropdown-menu.component.html',\n\tstyleUrl: './dropdown-menu.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class DropdownMenuComponent {}\n","<div class=\"dropdown\">\n\t<ul class=\"dropdown-list\">\n\t\t<ng-content />\n\t</ul>\n</div>\n","import { Observable } from 'rxjs';\n\nexport interface ILuDropdownItem {\n\tonSelect: Observable<boolean>;\n\tfocus(): void;\n}\nexport abstract class ALuDropdownItem implements ILuDropdownItem {\n\tabstract onSelect: Observable<boolean>;\n\tabstract focus(): void;\n}\n","import { Directive, ElementRef, EventEmitter, forwardRef, OnDestroy } from '@angular/core';\nimport { outputFromObservable } from '@angular/core/rxjs-interop';\nimport { ALuDropdownItem } from './dropdown-item.model';\n\n@Directive({\n\tselector: '[luDropdownItem]',\n\texportAs: 'LuDropdownItem',\n\thost: {\n\t\t'(click)': 'onClick($event)',\n\t\t'(keydown.enter)': 'onEnter($event)',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuDropdownItem,\n\t\t\tuseExisting: forwardRef(() => LuDropdownItemDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuDropdownItemDirective extends ALuDropdownItem implements OnDestroy {\n\treadonly onSelect = new EventEmitter<boolean>();\n\n\tprotected readonly onSelectOutput = outputFromObservable(this.onSelect, { alias: 'onSelect' });\n\n\tconstructor(private _eltRef: ElementRef<HTMLElement>) {\n\t\tsuper();\n\t}\n\n\tonClick(_event: Event) {\n\t\tthis.onSelect.emit(true);\n\t}\n\n\tonEnter(_event: Event) {\n\t\tthis.onSelect.emit(true);\n\t}\n\n\tfocus() {\n\t\tthis._eltRef.nativeElement.focus();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onSelect.complete();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownItemDirective } from './dropdown-item.directive';\n\n/**\n * @deprecated use `LuDropdownItemDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownItemDirective],\n\texports: [LuDropdownItemDirective],\n})\nexport class LuDropdownItemModule {}\n","import {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tinject,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tQueryList,\n\tTemplateRef,\n\tViewChild,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ALuPopoverPanel, ILuPopoverPanel, luTransformPopover } from '@lucca-front/ng/popover';\nimport { PopoverContentComponent } from '@lucca-front/ng/popover2';\nimport { merge, Observable, Subscription } from 'rxjs';\nimport { debounceTime, delay, map, share, startWith, switchMap } from 'rxjs/operators';\nimport { ALuDropdownItem, ILuDropdownItem } from '../item/index';\n\n/* eslint-disable @angular-eslint/prefer-signals */\n/**\n * @deprecated prefer the new menu approach: https://prisme.lucca.io/94310e217/p/557682-dropdown\n */\n@Component({\n\tselector: 'lu-dropdown',\n\ttemplateUrl: './dropdown-panel.component.html',\n\tstyleUrl: './dropdown-panel.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\texportAs: 'LuDropdownPanel',\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class LuDropdownPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy, AfterViewInit {\n\t#popoverContentRef = inject(PopoverContentComponent, { optional: true });\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tprotected _items: ILuDropdownItem[] = [];\n\tprotected _itemsQL: QueryList<ILuDropdownItem>;\n\t@ContentChildren(ALuDropdownItem, { descendants: true }) set optionsQL(ql: QueryList<ILuDropdownItem>) {\n\t\tthis._itemsQL = ql;\n\t}\n\n\tprivate _subs = new Subscription();\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\tprotected initItems() {\n\t\tconst items$ = this._itemsQL.changes.pipe(\n\t\t\tstartWith(this._itemsQL),\n\t\t\tmap<QueryList<ILuDropdownItem>, ILuDropdownItem[]>((ql) => ql.toArray()),\n\t\t\tdelay(0),\n\t\t\tshare(),\n\t\t);\n\t\tconst itemsSub = items$.subscribe((i) => (this._items = i || []));\n\t\tthis._subs.add(itemsSub);\n\n\t\tconst singleFlow$: Observable<boolean> = items$.pipe(\n\t\t\tswitchMap((items) => merge(...items.map((i) => i.onSelect))),\n\t\t\tdebounceTime(1),\n\t\t);\n\n\t\tconst itemSelectSub = singleFlow$.subscribe(() => this._emitCloseEvent());\n\t\tthis._subs.add(itemSelectSub);\n\t}\n\n\tngAfterViewInit() {\n\t\tthis.initItems();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t\tthis._subs.unsubscribe();\n\t}\n\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t\tif (this.#popoverContentRef) {\n\t\t\tthis.#popoverContentRef.close();\n\t\t}\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n\n\toverride onOpen() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tprivate focusFirstItem() {\n\t\tconst firstItem = this._items[0];\n\t\tif (firstItem) {\n\t\t\tfirstItem.focus();\n\t\t}\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-dropdown-panel lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content dropdown\" [class]=\"contentClassesMap\">\n\t\t\t<ul class=\"dropdown-list\">\n\t\t\t\t<ng-content />\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { LuDropdownPanelComponent } from './dropdown-panel.component';\n\n/**\n * @deprecated use `LuDropdownPanelComponent` instead\n */\n@NgModule({\n\timports: [LuDropdownPanelComponent],\n\texports: [LuDropdownPanelComponent],\n})\nexport class LuDropdownPanelModule {}\n","import { ConnectionPositionPair, HorizontalConnectionPos, OriginConnectionPosition, OverlayConnectionPosition, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { DestroyRef, Directive, effect, inject, input, OnInit, TemplateRef, Type } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { isNil, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { ALuPopoverPanel, LuPopoverAlignment } from '@lucca-front/ng/popover';\nimport { PopoverDirective, PopoverPosition } from '@lucca-front/ng/popover2';\n\n@Directive({\n\tselector: '[luDropdown]',\n\texportAs: 'LuDropdownTrigger',\n\thost: {\n\t\t'[attr.aria-expanded]': 'popover2.opened()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: PopoverDirective,\n\t\t\tinputs: ['luPopoverPosition: luDropdownPosition', 'luPopoverDisabled: luDropdownDisabled', 'customPositions'],\n\t\t\toutputs: ['luPopoverOpened: luDropdownOnOpen', 'luPopoverClosed: luDropdownOnClose'],\n\t\t},\n\t],\n})\nexport class LuDropdownTriggerDirective<_T> implements OnInit {\n\tprotected popover2 = inject(PopoverDirective);\n\t#destroyRef = inject(DestroyRef);\n\t// Keeping generic type here just for the sake of backwards compatibility\n\t/** References the popover instance that the trigger is associated with. */\n\treadonly inputPanel = input<TemplateRef<unknown> | Type<unknown> | ALuPopoverPanel>(undefined, { alias: 'luDropdown' });\n\n\tconstructor() {\n\t\tthis.popover2.luPopoverNoCloseButton.set(true);\n\t\tif (!this.popover2.customPositions()?.length) {\n\t\t\teffect(() => {\n\t\t\t\tthis.popover2.customPositions.set(this.legacyPositionBuilder(this.popover2.luPopoverPositionRef()));\n\t\t\t});\n\t\t}\n\n\t\tɵeffectWithDeps([this.inputPanel], (p) => {\n\t\t\tif (isNil(p)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (p instanceof ALuPopoverPanel) {\n\t\t\t\tthis.popover2.content.set(p.templateRef);\n\t\t\t\tp.close.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.popover2.close());\n\t\t\t} else {\n\t\t\t\tthis.popover2.content.set(p);\n\t\t\t}\n\t\t});\n\t}\n\n\t/** how the panel will be aligned with the target, allowed values: top, bottom, left, right\n\t * @deprecated prefer using customPositions instead\n\t * */\n\tluDropdownAlignment: LuPopoverAlignment = 'right';\n\n\tngOnInit(): void {\n\t\tif (isNil(this.popover2.luPopoverPosition())) {\n\t\t\tthis.popover2.luPopoverPositionRef.set('below');\n\t\t}\n\t}\n\n\t/**********************\n\t *\n\t * LEGACY STUFF TO HANDLE EXISTING POSITIONS\n\t *\n\t ***********************/\n\tprivate legacyPositionBuilder(position: PopoverPosition): ConnectionPositionPair[] {\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.luDropdownAlignment;\n\t\tif (position === 'below' || position === 'above') {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (position === 'above' || position === 'below') {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn [\n\t\t\t{\n\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: this.invertHorizontalPos(connectionPosition.originX),\n\t\t\t\toriginY: this.invertVerticalPos(connectionPosition.originY),\n\t\t\t\toverlayX: this.invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\toverlayY: this.invertVerticalPos(overlayPosition.overlayY),\n\t\t\t},\n\t\t];\n\t}\n\n\tprivate invertVerticalPos(y: VerticalConnectionPos): VerticalConnectionPos {\n\t\tif (y === 'top') {\n\t\t\treturn 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\treturn 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprivate invertHorizontalPos(x: HorizontalConnectionPos): HorizontalConnectionPos {\n\t\tif (x === 'end') {\n\t\t\treturn 'start';\n\t\t} else if (x === 'start') {\n\t\t\treturn 'end';\n\t\t}\n\t\treturn x;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownTriggerDirective } from './dropdown-trigger.directive';\n\n/**\n * @deprecated use `LuDropdownTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownTriggerDirective],\n\texports: [LuDropdownTriggerDirective],\n})\nexport class LuDropdownTriggerModule {}\n","import { NgModule } from '@angular/core';\nimport { LuDropdownItemModule } from './item/index';\nimport { LuDropdownPanelModule } from './panel/index';\nimport { LuDropdownTriggerModule } from './trigger/index';\n\n/**\n * @deprecated use `LuDropdownTriggerDirective, LuDropdownPanelComponent, LuDropdownItemDirective` instead\n */\n@NgModule({\n\timports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule],\n\texports: [LuDropdownTriggerModule, LuDropdownPanelModule, LuDropdownItemModule],\n})\nexport class LuDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/ng",
|
|
3
|
-
"version": "22.0.3
|
|
3
|
+
"version": "22.0.3",
|
|
4
4
|
"description": "A library of icons made by the team @Lucca",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"@angular/core": "^22.0.0",
|
|
29
29
|
"@angular/cdk": "^22.0.0",
|
|
30
30
|
"@angular/animations": "^22.0.0",
|
|
31
|
-
"@lucca-front/icons": "22.0.3
|
|
32
|
-
"@lucca-front/scss": "22.0.3
|
|
33
|
-
"@lucca/prisme": "22.0.3
|
|
31
|
+
"@lucca-front/icons": "22.0.3",
|
|
32
|
+
"@lucca-front/scss": "22.0.3",
|
|
33
|
+
"@lucca/prisme": "22.0.3",
|
|
34
34
|
"@types/dompurify": "^3.0.0",
|
|
35
35
|
"isomorphic-dompurify": "^2.17.0",
|
|
36
36
|
"date-fns": "^3.6.0",
|
|
@@ -100,6 +100,11 @@
|
|
|
100
100
|
"description": "Migrate CSS-only buttons to the new luButton component",
|
|
101
101
|
"factory": "./lu-button/index",
|
|
102
102
|
"schema": "./lu-button/schema.json"
|
|
103
|
+
},
|
|
104
|
+
"file-upload": {
|
|
105
|
+
"description": "Migrate file upload usages: size default, FileEntry rendering and fileEntryDisplayWrapper",
|
|
106
|
+
"factory": "./file-upload/index",
|
|
107
|
+
"schema": "./file-upload/schema.json"
|
|
103
108
|
}
|
|
104
109
|
}
|
|
105
110
|
}
|