@lucca-front/ng 22.0.0-rc.2 → 22.0.0-rc.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/fesm2022/lucca-front-ng-api.mjs +160 -85
- package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +7 -6
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +37 -21
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +229 -135
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +1 -12
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +124 -100
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +37 -25
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-department.mjs +0 -2
- package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-divider.mjs +6 -4
- package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +34 -31
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +83 -49
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +18 -8
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +10 -7
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-formly.mjs +2 -3
- package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +46 -5
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-input.mjs +0 -1
- package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +15 -11
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +115 -91
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-number-format.mjs +11 -7
- package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +37 -30
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover.mjs +238 -123
- package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +65 -37
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +123 -76
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +13 -13
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +8 -6
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +13 -9
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user.mjs +93 -59
- package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
- package/package.json +4 -4
- package/types/lucca-front-ng-api.d.ts +62 -62
- package/types/lucca-front-ng-clear.d.ts +2 -3
- package/types/lucca-front-ng-core-select-api.d.ts +22 -22
- package/types/lucca-front-ng-core-select.d.ts +139 -140
- package/types/lucca-front-ng-core.d.ts +2 -7
- package/types/lucca-front-ng-date.d.ts +26 -28
- package/types/lucca-front-ng-divider.d.ts +1 -1
- package/types/lucca-front-ng-dropdown.d.ts +4 -5
- package/types/lucca-front-ng-establishment.d.ts +19 -18
- package/types/lucca-front-ng-form-field.d.ts +3 -2
- package/types/lucca-front-ng-forms.d.ts +32 -12
- package/types/lucca-front-ng-modal.d.ts +2 -2
- package/types/lucca-front-ng-multi-select.d.ts +37 -36
- package/types/lucca-front-ng-option.d.ts +10 -10
- package/types/lucca-front-ng-popover.d.ts +46 -52
- package/types/lucca-front-ng-popover2.d.ts +11 -13
- package/types/lucca-front-ng-segmented-control.d.ts +4 -2
- package/types/lucca-front-ng-select.d.ts +28 -30
- package/types/lucca-front-ng-simple-select.d.ts +3 -3
- package/types/lucca-front-ng-time.d.ts +1 -1
- package/types/lucca-front-ng-user-popover.d.ts +3 -4
- package/types/lucca-front-ng-user.d.ts +20 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-input.mjs","sources":["../../../packages/ng/input/clearer/clearer.model.ts","../../../packages/ng/input/clearer/translations.ts","../../../packages/ng/input/clearer/clearer.translate.ts","../../../packages/ng/input/clearer/clearer.component.ts","../../../packages/ng/input/clearer/clearer.component.html","../../../packages/ng/input/clearer/clearer.module.ts","../../../packages/ng/input/displayer/input-displayer.model.ts","../../../packages/ng/input/displayer/input-displayer.directive.ts","../../../packages/ng/input/displayer/input-displayer.module.ts","../../../packages/ng/input/input.directive.ts","../../../packages/ng/input/input.model.ts","../../../packages/ng/input/input.module.ts","../../../packages/ng/input/lucca-front-ng-input.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClearer<T> {\n\tonClear: Observable<T>;\n}\nexport abstract class ALuClearer<T> implements ILuClearer<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEARER_TRANSLATIONS = new InjectionToken('LuClearerTranslations', {\n\tfactory: () => luClearerTranslations,\n});\n\nexport interface LuClearerLabel {\n\tclear: string;\n}\n\nexport const luClearerTranslations: LuTranslation<LuClearerLabel> = Translations;\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, input, Output } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { ALuClearer, ILuClearer } from './clearer.model';\nimport { LU_CLEARER_TRANSLATIONS } from './clearer.translate';\n\n/**\n * @deprecated use `ClearComponent` instead\n */\n@Component({\n\tselector: 'lu-input-clearer',\n\ttemplateUrl: './clearer.component.html',\n\tstyleUrl: './clearer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClearer,\n\t\t\tuseExisting: forwardRef(() => LuInputClearerComponent),\n\t\t},\n\t],\n})\nexport class LuInputClearerComponent<T> extends ALuClearer<T> implements ILuClearer<T> {\n\treadonly intl = input(...intlInputOptions(LU_CLEARER_TRANSLATIONS));\n\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onClear = new EventEmitter<T>();\n\tonClick($event: Event) {\n\t\tthis.onClear.emit();\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\t}\n}\n","<a href=\"#\" role=\"button\" class=\"clear\" (click)=\"onClick($event)\">\n\t<span class=\"pr-u-mask\">{{ intl().clear }}</span>\n</a>\n","import { NgModule } from '@angular/core';\nimport { LuInputClearerComponent } from './clearer.component';\n\n/**\n * @deprecated use `LuInputClearerComponent` instead\n */\n@NgModule({\n\timports: [LuInputClearerComponent],\n\texports: [LuInputClearerComponent],\n})\nexport class LuInputClearerModule {}\n","import { ViewRef } from '@angular/core';\n\nexport interface ILuInputDisplayer<T> {\n\tmultiple: boolean;\n\tgetViewRef(value: T | T[]): ViewRef;\n}\nexport abstract class ALuInputDisplayer<T> implements ILuInputDisplayer<T> {\n\tmultiple = false;\n\tabstract getViewRef(value: T | T[]): ViewRef;\n}\n","import { Directive, forwardRef, Input, TemplateRef, ViewRef } from '@angular/core';\nimport { ALuInputDisplayer, ILuInputDisplayer } from './input-displayer.model';\n\n/* eslint-disable @angular-eslint/prefer-signals */\n/**\n * @deprecated\n */\n@Directive({\n\tselector: '[luDisplayer]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuInputDisplayer,\n\t\t\tuseExisting: forwardRef(() => LuInputDisplayerDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuInputDisplayerDirective<T> extends ALuInputDisplayer<T> implements ILuInputDisplayer<T> {\n\t@Input('luDisplayerMultiple') set argMultiple(m: boolean) {\n\t\tthis.multiple = !!m;\n\t}\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <ng-template luDisplayer multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\tconstructor(protected template: TemplateRef<LuInputDisplayerContext<T>>) {\n\t\tsuper();\n\t}\n\tgetViewRef(value: T | T[]): ViewRef {\n\t\treturn this.template.createEmbeddedView({ $implicit: value });\n\t}\n}\n\nexport class LuInputDisplayerContext<T> {\n\tconstructor(public $implicit: T | T[]) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuInputDisplayerDirective } from './input-displayer.directive';\n\n/**\n * @deprecated use `LuInputDisplayerDirective` instead\n */\n@NgModule({\n\timports: [LuInputDisplayerDirective],\n\texports: [LuInputDisplayerDirective],\n})\nexport class LuInputDisplayerModule {}\n","import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { isNil } from '@lucca-front/ng/core';\n\n/**\n * adds class is-filled when model is empty\n */\n@Directive({\n\tselector: '[luInput]',\n})\nexport class LuInputDirective implements OnInit {\n\tconstructor(\n\t\tprotected _elementRef: ElementRef,\n\t\tprotected _renderer: Renderer2,\n\t\tprotected _ngControl: NgControl,\n\t) {}\n\tprotected isEmpty(value) {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value === '';\n\t\t}\n\t\treturn isNil(value);\n\t}\n\tprotected applyClasses(value) {\n\t\tif (this.isEmpty(value)) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\tngOnInit() {\n\t\tthis._ngControl.valueChanges?.subscribe((v) => this.applyClasses(v));\n\t\tconst val: unknown = this._ngControl.value;\n\t\tthis.applyClasses(val);\n\t}\n}\n","import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { isNil } from '@lucca-front/ng/core';\n\nexport type ILuInput = ControlValueAccessor;\n\nexport abstract class ALuInput<T, U extends HTMLElement = HTMLElement> implements ILuInput {\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tprotected _value: T | null = null;\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected _elementRef: ElementRef<U>,\n\t\tprotected _renderer: Renderer2,\n\t) {}\n\tsetValue(value: T | null) {\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | null {\n\t\treturn this._value;\n\t}\n\tset value(value: T | null) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value?: T) {\n\t\tthis.value = value ?? null;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange: (value: T | null) => void = () => {\n\t\treturn;\n\t};\n\tregisterOnChange(fn: (value: T | null) => void) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched: () => void = () => {\n\t\treturn;\n\t};\n\tregisterOnTouched(fn: () => void) {\n\t\tthis._onTouched = fn;\n\t}\n\tprotected isEmpty() {\n\t\treturn isNil(this.value);\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\n\tprotected abstract render(): void;\n}\n","import { NgModule } from '@angular/core';\nimport { LuInputClearerComponent } from './clearer';\nimport { LuInputDisplayerDirective } from './displayer/index';\nimport { LuInputDirective } from './input.directive';\n\n/**\n * @deprecated use `LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent` instead\n */\n@NgModule({\n\timports: [LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent],\n\texports: [LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent],\n})\nexport class LuInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-input.mjs","sources":["../../../packages/ng/input/clearer/clearer.model.ts","../../../packages/ng/input/clearer/translations.ts","../../../packages/ng/input/clearer/clearer.translate.ts","../../../packages/ng/input/clearer/clearer.component.ts","../../../packages/ng/input/clearer/clearer.component.html","../../../packages/ng/input/clearer/clearer.module.ts","../../../packages/ng/input/displayer/input-displayer.model.ts","../../../packages/ng/input/displayer/input-displayer.directive.ts","../../../packages/ng/input/displayer/input-displayer.module.ts","../../../packages/ng/input/input.directive.ts","../../../packages/ng/input/input.model.ts","../../../packages/ng/input/input.module.ts","../../../packages/ng/input/lucca-front-ng-input.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClearer<T> {\n\tonClear: Observable<T>;\n}\nexport abstract class ALuClearer<T> implements ILuClearer<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEARER_TRANSLATIONS = new InjectionToken('LuClearerTranslations', {\n\tfactory: () => luClearerTranslations,\n});\n\nexport interface LuClearerLabel {\n\tclear: string;\n}\n\nexport const luClearerTranslations: LuTranslation<LuClearerLabel> = Translations;\n","import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, input, Output } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { ALuClearer, ILuClearer } from './clearer.model';\nimport { LU_CLEARER_TRANSLATIONS } from './clearer.translate';\n\n/**\n * @deprecated use `ClearComponent` instead\n */\n@Component({\n\tselector: 'lu-input-clearer',\n\ttemplateUrl: './clearer.component.html',\n\tstyleUrl: './clearer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClearer,\n\t\t\tuseExisting: forwardRef(() => LuInputClearerComponent),\n\t\t},\n\t],\n})\nexport class LuInputClearerComponent<T> extends ALuClearer<T> implements ILuClearer<T> {\n\treadonly intl = input(...intlInputOptions(LU_CLEARER_TRANSLATIONS));\n\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onClear = new EventEmitter<T>();\n\tonClick($event: Event) {\n\t\tthis.onClear.emit();\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\t}\n}\n","<a href=\"#\" role=\"button\" class=\"clear\" (click)=\"onClick($event)\">\n\t<span class=\"pr-u-mask\">{{ intl().clear }}</span>\n</a>\n","import { NgModule } from '@angular/core';\nimport { LuInputClearerComponent } from './clearer.component';\n\n/**\n * @deprecated use `LuInputClearerComponent` instead\n */\n@NgModule({\n\timports: [LuInputClearerComponent],\n\texports: [LuInputClearerComponent],\n})\nexport class LuInputClearerModule {}\n","import { ViewRef } from '@angular/core';\n\nexport interface ILuInputDisplayer<T> {\n\tmultiple: boolean;\n\tgetViewRef(value: T | T[]): ViewRef;\n}\nexport abstract class ALuInputDisplayer<T> implements ILuInputDisplayer<T> {\n\tmultiple = false;\n\tabstract getViewRef(value: T | T[]): ViewRef;\n}\n","import { Directive, forwardRef, Input, TemplateRef, ViewRef } from '@angular/core';\nimport { ALuInputDisplayer, ILuInputDisplayer } from './input-displayer.model';\n\n/**\n * @deprecated\n */\n@Directive({\n\tselector: '[luDisplayer]',\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuInputDisplayer,\n\t\t\tuseExisting: forwardRef(() => LuInputDisplayerDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuInputDisplayerDirective<T> extends ALuInputDisplayer<T> implements ILuInputDisplayer<T> {\n\t@Input('luDisplayerMultiple') set argMultiple(m: boolean) {\n\t\tthis.multiple = !!m;\n\t}\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <ng-template luDisplayer multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\tconstructor(protected template: TemplateRef<LuInputDisplayerContext<T>>) {\n\t\tsuper();\n\t}\n\tgetViewRef(value: T | T[]): ViewRef {\n\t\treturn this.template.createEmbeddedView({ $implicit: value });\n\t}\n}\n\nexport class LuInputDisplayerContext<T> {\n\tconstructor(public $implicit: T | T[]) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuInputDisplayerDirective } from './input-displayer.directive';\n\n/**\n * @deprecated use `LuInputDisplayerDirective` instead\n */\n@NgModule({\n\timports: [LuInputDisplayerDirective],\n\texports: [LuInputDisplayerDirective],\n})\nexport class LuInputDisplayerModule {}\n","import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { isNil } from '@lucca-front/ng/core';\n\n/**\n * adds class is-filled when model is empty\n */\n@Directive({\n\tselector: '[luInput]',\n})\nexport class LuInputDirective implements OnInit {\n\tconstructor(\n\t\tprotected _elementRef: ElementRef,\n\t\tprotected _renderer: Renderer2,\n\t\tprotected _ngControl: NgControl,\n\t) {}\n\tprotected isEmpty(value) {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value === '';\n\t\t}\n\t\treturn isNil(value);\n\t}\n\tprotected applyClasses(value) {\n\t\tif (this.isEmpty(value)) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\tngOnInit() {\n\t\tthis._ngControl.valueChanges?.subscribe((v) => this.applyClasses(v));\n\t\tconst val: unknown = this._ngControl.value;\n\t\tthis.applyClasses(val);\n\t}\n}\n","import { ChangeDetectorRef, ElementRef, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { isNil } from '@lucca-front/ng/core';\n\nexport type ILuInput = ControlValueAccessor;\n\nexport abstract class ALuInput<T, U extends HTMLElement = HTMLElement> implements ILuInput {\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tprotected _value: T | null = null;\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected _elementRef: ElementRef<U>,\n\t\tprotected _renderer: Renderer2,\n\t) {}\n\tsetValue(value: T | null) {\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | null {\n\t\treturn this._value;\n\t}\n\tset value(value: T | null) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value?: T) {\n\t\tthis.value = value ?? null;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange: (value: T | null) => void = () => {\n\t\treturn;\n\t};\n\tregisterOnChange(fn: (value: T | null) => void) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched: () => void = () => {\n\t\treturn;\n\t};\n\tregisterOnTouched(fn: () => void) {\n\t\tthis._onTouched = fn;\n\t}\n\tprotected isEmpty() {\n\t\treturn isNil(this.value);\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\n\tprotected abstract render(): void;\n}\n","import { NgModule } from '@angular/core';\nimport { LuInputClearerComponent } from './clearer';\nimport { LuInputDisplayerDirective } from './displayer/index';\nimport { LuInputDirective } from './input.directive';\n\n/**\n * @deprecated use `LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent` instead\n */\n@NgModule({\n\timports: [LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent],\n\texports: [LuInputDirective, LuInputDisplayerDirective, LuInputClearerComponent],\n})\nexport class LuInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAKsB,UAAU,CAAA;AAE/B;;ACPM,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,kBAAkB;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,sCAAsC;AAC7C,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,gBAAgB;AACvB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,uBAAuB;AAC9B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,KAAK,EAAE,oBAAoB;AAC3B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,KAAK,EAAE,qBAAqB;AAC5B,KAAA;CACD;;ACrBM,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;AAClF,IAAA,OAAO,EAAE,MAAM,qBAAqB;AACpC,CAAA,CAAC;AAMK,MAAM,qBAAqB,GAAkC,YAAY;;ACPhF;;AAEG;AAcG,MAAO,uBAA2B,SAAQ,UAAa,CAAA;AAb7D,IAAA,WAAA,GAAA;;QAcU,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;;AAGhD,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAK;AAMlD,IAAA;AALA,IAAA,OAAO,CAAC,MAAa,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACnB,MAAM,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,eAAe,EAAE;IACzB;+GATY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAPxB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBF,2IAGA,EAAA,MAAA,EAAA,CAAA,w1BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDkBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,mBAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,WAAW,EAAA,SAAA,EACV;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,2IAAA,EAAA,MAAA,EAAA,CAAA,w1BAAA,CAAA,EAAA;;sBAMA;;;AEtBF;;AAEG;MAKU,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAApB,oBAAoB,EAAA,OAAA,EAAA,CAHtB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAErB,oBAAoB,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,uBAAuB,CAAC;oBAClC,OAAO,EAAE,CAAC,uBAAuB,CAAC;AAClC,iBAAA;;;MCHqB,iBAAiB,CAAA;AAAvC,IAAA,WAAA,GAAA;QACC,IAAA,CAAA,QAAQ,GAAG,KAAK;IAEjB;AAAC;;ACND;;AAEG;AAWG,MAAO,yBAA6B,SAAQ,iBAAoB,CAAA;IACrE,IAAkC,WAAW,CAAC,CAAU,EAAA;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACpB;IACA,IAAuB,aAAa,CAAC,CAAmB,EAAA;AACvD,QAAA,IAAI,CAAC,KAAK,EAAE,EAAE;;;AAGb,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACrB;aAAO;AACN,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpB;IACD;AACA,IAAA,WAAA,CAAsB,QAAiD,EAAA;AACtE,QAAA,KAAK,EAAE;QADc,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAE9B;AACA,IAAA,UAAU,CAAC,KAAc,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9D;+GAlBY,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,CAAA,qBAAA,EAAA,aAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,SAAA,EAR1B;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC;AACxD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEW,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,+BAA+B,CAAC;AACxD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,iBAAA;;sBAEC,KAAK;uBAAC,qBAAqB;;sBAG3B,KAAK;uBAAC,UAAU;;MAiBL,uBAAuB,CAAA;AACnC,IAAA,WAAA,CAAmB,SAAkB,EAAA;QAAlB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAY;AACxC;;ACpCD;;AAEG;MAKU,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAtB,sBAAsB,EAAA,OAAA,EAAA,CAHxB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CACzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;gHAEvB,sBAAsB,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,yBAAyB,CAAC;oBACpC,OAAO,EAAE,CAAC,yBAAyB,CAAC;AACpC,iBAAA;;;ACLD;;AAEG;MAIU,gBAAgB,CAAA;AAC5B,IAAA,WAAA,CACW,WAAuB,EACvB,SAAoB,EACpB,UAAqB,EAAA;QAFrB,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,UAAU,GAAV,UAAU;IAClB;AACO,IAAA,OAAO,CAAC,KAAK,EAAA;AACtB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC9B,OAAO,KAAK,KAAK,EAAE;QACpB;AACA,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC;IACpB;AACU,IAAA,YAAY,CAAC,KAAK,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACxE;aAAO;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACrE;IACD;IACA,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACpE,QAAA,MAAM,GAAG,GAAY,IAAI,CAAC,UAAU,CAAC,KAAK;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;IACvB;+GAvBY,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,WAAW;AACrB,iBAAA;;;MCHqB,QAAQ,CAAA;AAE7B,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY;IACzB;AAEA,IAAA,WAAA,CACW,kBAAqC,EACrC,WAA0B,EAC1B,SAAoB,EAAA;QAFpB,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,SAAS,GAAT,SAAS;QAJV,IAAA,CAAA,MAAM,GAAa,IAAI;;QAyBvB,IAAA,CAAA,YAAY,GAA8B,MAAK;YACxD;AACD,QAAA,CAAC;;QAKS,IAAA,CAAA,UAAU,GAAe,MAAK;YACvC;AACD,QAAA,CAAC;IA7BE;AACH,IAAA,QAAQ,CAAC,KAAe,EAAA;AACvB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE;IAClB;AACA,IAAA,IAAI,KAAK,GAAA;QACR,OAAO,IAAI,CAAC,MAAM;IACnB;IACA,IAAI,KAAK,CAAC,KAAe,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACvC;;AAEA,IAAA,UAAU,CAAC,KAAS,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI;IAC3B;AAKA,IAAA,gBAAgB,CAAC,EAA6B,EAAA;AAC7C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;IACvB;AAKA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACrB;IACU,OAAO,GAAA;AAChB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB;IACU,YAAY,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACxE;aAAO;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACrE;IACD;AAGA;;ACxDD;;AAEG;MAKU,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAb,aAAa,EAAA,OAAA,EAAA,CAHf,gBAAgB,EAAE,yBAAyB,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACpE,gBAAgB,EAAE,yBAAyB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAElE,aAAa,EAAA,CAAA,CAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;AAC/E,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;AAC/E,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ChangeDetectionStrategy, InjectionToken,
|
|
2
|
+
import { ChangeDetectionStrategy, InjectionToken, ViewContainerRef, ViewChild, Directive, Component, Injector, inject, ApplicationRef, Injectable, DestroyRef, signal, ViewEncapsulation, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/cdk/a11y';
|
|
4
4
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
5
5
|
import { AsyncPipe, NgClass } from '@angular/common';
|
|
@@ -114,7 +114,6 @@ class ALuModalPanelComponent {
|
|
|
114
114
|
}
|
|
115
115
|
constructor(_ref, _elementRef, _renderer) {
|
|
116
116
|
this._ref = _ref;
|
|
117
|
-
this._containerRef = viewChild.required('container', { read: ViewContainerRef });
|
|
118
117
|
this.doCheck$ = new ReplaySubject(1);
|
|
119
118
|
this.intl = getIntl(LU_MODAL_TRANSLATIONS);
|
|
120
119
|
this.title$ = this.listenComponentValue(() => this._componentInstance.title);
|
|
@@ -135,7 +134,7 @@ class ALuModalPanelComponent {
|
|
|
135
134
|
this.doCheck$.next();
|
|
136
135
|
}
|
|
137
136
|
attachInnerComponent(componentType, injector) {
|
|
138
|
-
const ref = this._containerRef
|
|
137
|
+
const ref = this._containerRef.createComponent(componentType, { injector });
|
|
139
138
|
this._componentInstance = ref.instance;
|
|
140
139
|
return ref;
|
|
141
140
|
}
|
|
@@ -175,11 +174,14 @@ class ALuModalPanelComponent {
|
|
|
175
174
|
return this.doCheck$.pipe(map(selector), distinctUntilChanged(), switchMap((value) => (isObservable(value) ? value : of(value))));
|
|
176
175
|
}
|
|
177
176
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ALuModalPanelComponent, deps: [{ token: ALuModalRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
178
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
177
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: ALuModalPanelComponent, isStandalone: true, viewQueries: [{ propertyName: "_containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0 }); }
|
|
179
178
|
}
|
|
180
179
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ALuModalPanelComponent, decorators: [{
|
|
181
180
|
type: Directive
|
|
182
|
-
}], ctorParameters: () => [{ type: ALuModalRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { _containerRef: [{
|
|
181
|
+
}], ctorParameters: () => [{ type: ALuModalRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { _containerRef: [{
|
|
182
|
+
type: ViewChild,
|
|
183
|
+
args: ['container', { read: ViewContainerRef, static: true }]
|
|
184
|
+
}] } });
|
|
183
185
|
const panelImports = [A11yModule, AsyncPipe, LuTooltipModule, NgClass];
|
|
184
186
|
class LuModalPanelComponent extends ALuModalPanelComponent {
|
|
185
187
|
constructor(_ref, _elementRef, _renderer) {
|
|
@@ -275,7 +277,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
275
277
|
class DialogContentAdapterComponent {
|
|
276
278
|
constructor() {
|
|
277
279
|
this.#destroyRef = inject(DestroyRef);
|
|
278
|
-
this.contentProjectionRef = viewChild.required('contentProjectionRef', { read: ViewContainerRef });
|
|
279
280
|
this.#injector = inject(Injector);
|
|
280
281
|
this.dialogData = injectDialogData();
|
|
281
282
|
this.ref = injectDialogRef();
|
|
@@ -337,7 +338,7 @@ class DialogContentAdapterComponent {
|
|
|
337
338
|
ngDoCheck() {
|
|
338
339
|
this.doCheck$.next();
|
|
339
340
|
}
|
|
340
|
-
|
|
341
|
+
ngOnInit() {
|
|
341
342
|
const injector = Injector.create({
|
|
342
343
|
providers: [
|
|
343
344
|
{ provide: ALuModalRef, useValue: this },
|
|
@@ -345,17 +346,20 @@ class DialogContentAdapterComponent {
|
|
|
345
346
|
],
|
|
346
347
|
parent: this.#injector,
|
|
347
348
|
});
|
|
348
|
-
this.#contentComponentInstance = this.contentProjectionRef
|
|
349
|
+
this.#contentComponentInstance = this.contentProjectionRef.createComponent(this.dialogData.component, {
|
|
349
350
|
injector,
|
|
350
351
|
}).instance;
|
|
351
352
|
}
|
|
352
353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DialogContentAdapterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
353
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DialogContentAdapterComponent, isStandalone: true, selector: "lu-dialog-content-adapter", viewQueries: [{ propertyName: "contentProjectionRef", first: true, predicate: ["contentProjectionRef"], descendants: true, read: ViewContainerRef,
|
|
354
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DialogContentAdapterComponent, isStandalone: true, selector: "lu-dialog-content-adapter", viewQueries: [{ propertyName: "contentProjectionRef", first: true, predicate: ["contentProjectionRef"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<lu-dialog>\n\t<lu-dialog-header\n\t\t><h1>{{ title$ | async }}</h1></lu-dialog-header\n\t>\n\t<lu-dialog-content>\n\t\t<ng-container #contentProjectionRef />\n\t</lu-dialog-content>\n\t<lu-dialog-footer>\n\t\t<div class=\"footer-actions\">\n\t\t\t@if (hasSubmit$ | async) {\n\t\t\t\t<button\n\t\t\t\t\tluButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t[palette]=\"submitPalette\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t[class]=\"submitClass()\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<lu-numeric-badge disableTooltip palette=\"product\" [value]=\"submitCounter$ | async\" />\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button luButton type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</lu-dialog-footer>\n</lu-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "lu-dialog", inputs: ["stacked", "fancyIllustration", "fancyIllustrationUrl"] }, { kind: "component", type: DialogHeaderComponent, selector: "lu-dialog-header", inputs: ["intl"] }, { kind: "component", type: DialogContentComponent, selector: "lu-dialog-content" }, { kind: "component", type: DialogFooterComponent, selector: "lu-dialog-footer" }, { kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: NumericBadgeComponent, selector: "lu-numeric-badge", inputs: ["value", "size", "palette", "loading", "maxValue", "disableTooltip"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
354
355
|
}
|
|
355
356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DialogContentAdapterComponent, decorators: [{
|
|
356
357
|
type: Component,
|
|
357
358
|
args: [{ selector: 'lu-dialog-content-adapter', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, imports: [DialogComponent, DialogHeaderComponent, DialogContentComponent, DialogFooterComponent, AsyncPipe, ButtonComponent, NumericBadgeComponent], template: "<lu-dialog>\n\t<lu-dialog-header\n\t\t><h1>{{ title$ | async }}</h1></lu-dialog-header\n\t>\n\t<lu-dialog-content>\n\t\t<ng-container #contentProjectionRef />\n\t</lu-dialog-content>\n\t<lu-dialog-footer>\n\t\t<div class=\"footer-actions\">\n\t\t\t@if (hasSubmit$ | async) {\n\t\t\t\t<button\n\t\t\t\t\tluButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t[palette]=\"submitPalette\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t[class]=\"submitClass()\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<lu-numeric-badge disableTooltip palette=\"product\" [value]=\"submitCounter$ | async\" />\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button luButton type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</lu-dialog-footer>\n</lu-dialog>\n" }]
|
|
358
|
-
}], propDecorators: { contentProjectionRef: [{
|
|
359
|
+
}], propDecorators: { contentProjectionRef: [{
|
|
360
|
+
type: ViewChild,
|
|
361
|
+
args: ['contentProjectionRef', { read: ViewContainerRef, static: true }]
|
|
362
|
+
}] } });
|
|
359
363
|
|
|
360
364
|
class DialogRefAdapter {
|
|
361
365
|
constructor(dialogRef) {
|
|
@@ -383,7 +387,7 @@ class LuModal {
|
|
|
383
387
|
this._config = inject(LU_MODAL_CONFIG);
|
|
384
388
|
this.luDialogService = inject(LuDialogService);
|
|
385
389
|
}
|
|
386
|
-
open(component, data, config = {}) {
|
|
390
|
+
open(component, data = undefined, config = {}) {
|
|
387
391
|
const extendedConfig = { ...this._config, ...config };
|
|
388
392
|
const mode = extendedConfig.mode === 'sidepanel' ? 'drawer' : 'default';
|
|
389
393
|
const dialogRef = this.luDialogService.open({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-modal.mjs","sources":["../../../packages/ng/modal/modal-config.default.ts","../../../packages/ng/modal/modal-config.model.ts","../../../packages/ng/modal/translations.ts","../../../packages/ng/modal/modal.translate.ts","../../../packages/ng/modal/modal-ref.model.ts","../../../packages/ng/modal/modal-panel.component.ts","../../../packages/ng/modal/modal-panel.component.html","../../../packages/ng/modal/modal.token.ts","../../../packages/ng/modal/modal.utils.ts","../../../packages/ng/modal/modal-ref.factory.ts","../../../packages/ng/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.ts","../../../packages/ng/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.html","../../../packages/ng/modal/dialog-adapter/dialog-ref-adapter.ts","../../../packages/ng/modal/modal.service.ts","../../../packages/ng/modal/modal.module.ts","../../../packages/ng/modal/lucca-front-ng-modal.ts"],"sourcesContent":["import { ChangeDetectionStrategy } from '@angular/core';\nimport { LuModalConfig } from './modal-config.model';\n\nexport const luDefaultModalConfig: LuModalConfig = {\n\tmode: 'modal',\n\tposition: 'center',\n\tnoBackdrop: false,\n\tundismissable: false,\n\tbackdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],\n\tpanelClass: 'lu-popup-panel',\n\tsize: 'M',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n};\n\nexport const luDefaultSidepanelConfig: LuModalConfig = {\n\t...luDefaultModalConfig,\n\tmode: 'sidepanel',\n\tposition: 'right',\n};\n","import { ChangeDetectionStrategy } from '@angular/core';\nimport { ILuPopupConfig } from '@lucca-front/ng/popup';\n\nexport type LuModalMode = 'modal' | 'sidepanel';\n\nexport interface LuModalClasses {\n\tpanel: string;\n\tpanelContainer: string;\n\tpanelInner: string;\n\toverlayPane?: string;\n}\n\nexport const luModalClasses: Record<LuModalMode, LuModalClasses> = {\n\tmodal: { panel: 'lu-modal-panel', panelInner: 'lu-modal-panel-inner', panelContainer: 'lu-modal-container' },\n\tsidepanel: { panel: 'lu-sidepanel-panel', panelInner: 'lu-sidepanel-panel-inner', overlayPane: 'mod-sidepanel', panelContainer: 'lu-sidepanel-container' },\n};\n\ntype LuModalModeWithPosition = { mode?: 'modal'; position: undefined | 'center' } | { mode: 'sidepanel'; position: 'left' | 'right' };\n\nexport type LuModalConfig = ILuPopupConfig &\n\tLuModalModeWithPosition & {\n\t\tchangeDetection: ChangeDetectionStrategy;\n\t};\n","export const Translations = {\n\t'nl-BE': {\n\t\tsubmit: 'Oké',\n\t\tcancel: 'Annuleren',\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tsubmit: 'Oké',\n\t\tcancel: 'Annuleren',\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Annullare',\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Annuler',\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Cancelar',\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tsubmit: 'Aceptar',\n\t\tcancel: 'Cancelar',\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tsubmit: 'OK',\n\t\tcancel: 'Abbrechen',\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Cancel',\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_MODAL_TRANSLATIONS = new InjectionToken('LuModalTranslations', {\n\tfactory: () => luModalTranslations,\n});\n\nexport interface ILuModalLabel {\n\tsubmit: string;\n\tcancel: string;\n\tclose: string;\n}\n\nexport const luModalTranslations: LuTranslation<ILuModalLabel> = Translations;\n","import { ComponentType } from '@angular/cdk/portal';\nimport { ALuPopupRef, ILuPopupRef } from '@lucca-front/ng/popup';\nimport { LuModalClasses, luModalClasses, LuModalConfig, LuModalMode } from './modal-config.model';\nimport { ILuModalContent, LuModalContentResult } from './modal.model';\nimport { LuDialogSize } from '@lucca-front/ng/dialog';\n\nexport interface ILuModalRef<D = unknown, R = unknown> extends ILuPopupRef<D, R> {\n\tmode: LuModalMode;\n\tmodalClasses: LuModalClasses;\n\tresize(size: LuDialogSize): void;\n}\n\nexport interface IModalRefFactory {\n\tforge<T extends ILuModalContent, C extends LuModalConfig, D>(component: ComponentType<T>, config: C): ILuModalRef<D, LuModalContentResult<T>>;\n}\n\nexport abstract class ALuModalRef<T extends ILuModalContent = ILuModalContent, D = unknown, R = unknown, C extends LuModalConfig = LuModalConfig>\n\textends ALuPopupRef<T, D, R, C>\n\timplements ILuModalRef<D, R>\n{\n\tpublic get mode(): LuModalMode {\n\t\treturn this._config.mode || 'modal';\n\t}\n\n\tpublic get modalClasses(): LuModalClasses {\n\t\treturn luModalClasses[this.mode];\n\t}\n\n\tpublic resize(size: LuDialogSize): void {\n\t\tif (this._config.size === size) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._overlayRef.removePanelClass(`mod-${this._config.size || 'M'}`);\n\t\tthis._overlayRef.addPanelClass(`mod-${size}`);\n\t\tthis._config.size = size;\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, DoCheck, ElementRef, Injector, OnDestroy, Renderer2, Type, viewChild, ViewContainerRef } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { isObservable, Observable, of, ReplaySubject, Subject, Subscription, timer } from 'rxjs';\nimport { delay, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { LuModalClasses } from './modal-config.model';\nimport { ALuModalRef } from './modal-ref.model';\nimport { ILuModalContent } from './modal.model';\nimport { LU_MODAL_TRANSLATIONS } from './modal.translate';\n\nlet modalId = 0;\n\n@Directive()\nexport abstract class ALuModalPanelComponent<T extends ILuModalContent> implements OnDestroy, DoCheck {\n\tprotected readonly _containerRef = viewChild.required('container', { read: ViewContainerRef });\n\tprotected _componentInstance: ILuModalContent;\n\tprotected readonly doCheck$ = new ReplaySubject<void>(1);\n\n\tpublic intl = getIntl(LU_MODAL_TRANSLATIONS);\n\tprotected readonly title$ = this.listenComponentValue(() => this._componentInstance.title);\n\tprotected readonly submitLabel$ = this.listenComponentValue(() => this._componentInstance.submitLabel || this.intl.submit);\n\tprotected readonly cancelLabel$ = this.listenComponentValue(() => this._componentInstance.cancelLabel || this.intl.cancel);\n\tprotected readonly submitCounter$ = this.listenComponentValue(() => this._componentInstance.submitCounter);\n\tprotected readonly submitDisabled$ = this.listenComponentValue(() => this._componentInstance.submitDisabled);\n\tprotected readonly hasSubmitCounter$ = this.submitCounter$.pipe(map(Boolean));\n\n\tprotected closeLabel = this.intl.close;\n\n\tget isSubmitHidden() {\n\t\treturn !this._componentInstance.submitAction;\n\t}\n\tget submitPalette() {\n\t\treturn this._componentInstance.submitPalette || 'product';\n\t}\n\n\treadonly submitClass$ = new Subject();\n\treadonly error$ = new Subject();\n\n\tpublic readonly modalId = modalId++;\n\n\tprivate _subs = new Subscription();\n\tpublic modalClasses: LuModalClasses;\n\n\tconstructor(\n\t\tprotected _ref: ALuModalRef<T>,\n\t\t_elementRef: ElementRef<HTMLElement>,\n\t\t_renderer: Renderer2,\n\t) {\n\t\tthis.modalClasses = _ref.modalClasses;\n\t\t_renderer.addClass(_elementRef.nativeElement, this.modalClasses.panel);\n\t}\n\tngDoCheck(): void {\n\t\tthis.doCheck$.next();\n\t}\n\tattachInnerComponent(componentType: Type<T>, injector: Injector) {\n\t\tconst ref = this._containerRef().createComponent(componentType, { injector });\n\t\tthis._componentInstance = ref.instance;\n\t\treturn ref;\n\t}\n\tngOnDestroy() {\n\t\tthis.doCheck$.complete();\n\t\tthis._subs.unsubscribe();\n\t}\n\tdismiss() {\n\t\tthis._ref.dismiss();\n\t}\n\tsubmit() {\n\t\tthis.error$.next(undefined);\n\t\tthis.submitClass$.next('is-loading');\n\t\tconst result$ = this._componentInstance.submitAction?.();\n\t\tif (result$ instanceof Observable) {\n\t\t\tthis._subs.add(\n\t\t\t\tresult$\n\t\t\t\t\t.pipe(\n\t\t\t\t\t\ttap((_) => this.submitClass$.next('is-success')),\n\t\t\t\t\t\tdelay(500),\n\t\t\t\t\t)\n\t\t\t\t\t.subscribe({\n\t\t\t\t\t\tnext: (result) => this._ref.close(result),\n\t\t\t\t\t\terror: (err) => {\n\t\t\t\t\t\t\tthis.submitClass$.next('is-error');\n\t\t\t\t\t\t\tthis.error$.next(err);\n\t\t\t\t\t\t\ttimer(2000).subscribe((_) => {\n\t\t\t\t\t\t\t\tthis.submitClass$.next('');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\t\tthis.submitClass$.next('');\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tthis._ref.close(result$);\n\t\t}\n\t}\n\n\tprivate listenComponentValue<TValue>(selector: () => TValue | Observable<TValue>): Observable<TValue> {\n\t\treturn this.doCheck$.pipe(\n\t\t\tmap(selector),\n\t\t\tdistinctUntilChanged(),\n\t\t\tswitchMap((value) => (isObservable(value) ? value : of(value))),\n\t\t);\n\t}\n}\n\nconst panelImports = [A11yModule, AsyncPipe, LuTooltipModule, NgClass];\n\n@Component({\n\tselector: 'lu-modal-panel',\n\timports: panelImports,\n\ttemplateUrl: './modal-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'lu-modal-panel' },\n})\nexport class LuModalPanelComponent<T extends ILuModalContent = ILuModalContent> extends ALuModalPanelComponent<T> {\n\tconstructor(_ref: ALuModalRef<T>, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2) {\n\t\tsuper(_ref, _elementRef, _renderer);\n\t}\n}\n@Component({\n\tselector: 'lu-modal-panel-default',\n\timports: panelImports,\n\ttemplateUrl: './modal-panel.component.html',\n\t// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n\tchangeDetection: ChangeDetectionStrategy.Default,\n\thost: { class: 'lu-modal-panel' },\n})\nexport class LuModalPanelComponentDefaultCD<T extends ILuModalContent = ILuModalContent> extends ALuModalPanelComponent<T> {\n\tconstructor(_ref: ALuModalRef<T>, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2) {\n\t\tsuper(_ref, _elementRef, _renderer);\n\t}\n}\n","<div\n\tcdkTrapFocus=\"true\"\n\tcdkTrapFocusAutoCapture=\"true\"\n\trole=\"dialog\"\n\taria-modal=\"true\"\n\t[attr.aria-labelledby]=\"'luModalTitle' + modalId\"\n\t[class]=\"modalClasses.panelInner\"\n>\n\t<div [class]=\"modalClasses.panelContainer\" role=\"document\">\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\n\t\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-ghost mod-S lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ closeLabel }}</span>\n\t\t\t</button>\n\t\t\t<h1 [attr.id]=\"'luModalTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\n\t\t</div>\n\t\t<div class=\"lu-modal-content\">\n\t\t\t<ng-container #container />\n\t\t</div>\n\t\t<div class=\"lu-modal-footer\">\n\t\t\t@if (!isSubmitHidden) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\n\t\t\t\t\t[ngClass]=\"submitClass$ | async\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<label class=\"numericBadge palette-product\">{{ submitCounter$ | async }}</label>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { luDefaultModalConfig } from './modal-config.default';\nimport { LuModalConfig } from './modal-config.model';\nimport { IModalRefFactory } from './modal-ref.model';\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const LU_MODAL_DATA = new InjectionToken<unknown>('LuModalData');\nexport const LU_MODAL_CONFIG = new InjectionToken<LuModalConfig>('LuModalDefaultConfig', {\n\tfactory: () => luDefaultModalConfig,\n});\nexport const LU_MODAL_REF_FACTORY = new InjectionToken<IModalRefFactory>('LuModalRefFactory');\n","import { ApplicationRef } from '@angular/core';\n\nexport function setAriaHiddenOnApplicationRoot(applicationRef: ApplicationRef, hidden: boolean): void {\n\tfor (const component of applicationRef.components) {\n\t\tconst nativeElement = component.location.nativeElement as unknown;\n\n\t\tif (nativeElement instanceof HTMLElement) {\n\t\t\tnativeElement.ariaHidden = hidden ? 'true' : null;\n\t\t}\n\t}\n}\n","import { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ApplicationRef, ChangeDetectionStrategy, ComponentRef, inject, Injectable, Injector } from '@angular/core';\nimport { ILuPopupRefFactory } from '@lucca-front/ng/popup';\nimport { LuModalConfig } from './modal-config.model';\nimport { ALuModalPanelComponent, LuModalPanelComponent, LuModalPanelComponentDefaultCD } from './modal-panel.component';\nimport { ALuModalRef, ILuModalRef } from './modal-ref.model';\nimport { ILuModalContent } from './modal.model';\nimport { LU_MODAL_DATA } from './modal.token';\nimport { setAriaHiddenOnApplicationRoot } from './modal.utils';\n\nclass LuModalRef<T extends ILuModalContent = ILuModalContent, D = unknown, R = unknown, C extends LuModalConfig = LuModalConfig> extends ALuModalRef<T, D, R, C> implements ILuModalRef<D, R> {\n\tprotected _containerRef: ComponentRef<ALuModalPanelComponent<T>>;\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _injector: Injector,\n\t\tprotected override _component: ComponentType<T>,\n\t\tprotected override _config: C,\n\t\tprotected _applicationRef: ApplicationRef,\n\t) {\n\t\tsuper(_overlay, _injector, _component, _config);\n\t}\n\tprotected override _openPopup(data?: D) {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuModalRef, useValue: this },\n\t\t\t\t{ provide: LU_MODAL_DATA, useValue: data },\n\t\t\t],\n\t\t\tparent: this._injector,\n\t\t});\n\n\t\tconst containerPortal = new ComponentPortal<ALuModalPanelComponent<T>>(\n\t\t\tthis._config.changeDetection === ChangeDetectionStrategy.OnPush ? LuModalPanelComponent : LuModalPanelComponentDefaultCD,\n\t\t\tundefined,\n\t\t\tinjector,\n\t\t);\n\t\tthis._containerRef = this._overlayRef.attach<ALuModalPanelComponent<T>>(containerPortal);\n\t\tconst panel = this._containerRef.instance;\n\t\tthis._componentRef = panel.attachInnerComponent(this._component, injector);\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, true);\n\t}\n\tprotected override _closePopup() {\n\t\tthis._componentRef.destroy();\n\t\tthis._containerRef.destroy();\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, false);\n\t}\n\n\tprotected override _getOverlayPanelClasses(): string[] {\n\t\tconst classes = super._getOverlayPanelClasses();\n\n\t\tif (this.modalClasses.overlayPane) {\n\t\t\tclasses.push(this.modalClasses.overlayPane);\n\t\t}\n\n\t\treturn classes;\n\t}\n}\n\n@Injectable()\nexport class LuModalRefFactory implements ILuPopupRefFactory<ILuModalContent, LuModalConfig> {\n\tprotected _applicationRef = inject(ApplicationRef);\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t) {}\n\tforge<T extends ILuModalContent, C extends LuModalConfig, D, R>(component: ComponentType<T>, config: C) {\n\t\treturn new LuModalRef<T, D, R>(this._overlay, this._injector, component, config, this._applicationRef);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, DoCheck, inject, Injector, signal, viewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl, Palette } from '@lucca-front/ng/core';\nimport { DialogComponent, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, injectDialogData, injectDialogRef } from '@lucca-front/ng/dialog';\nimport { NumericBadgeComponent } from '@lucca-front/ng/numeric-badge';\nimport { isObservable, Observable, of, ReplaySubject, Subject } from 'rxjs';\nimport { delay, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ALuModalRef } from '../../modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from '../../modal.model';\nimport { LU_MODAL_DATA } from '../../modal.token';\nimport { LU_MODAL_TRANSLATIONS } from '../../modal.translate';\n\ninterface AdapterData<D, C> {\n\tcomponent: ComponentType<C>;\n\tdata: D | undefined;\n}\n\n@Component({\n\tselector: 'lu-dialog-content-adapter',\n\ttemplateUrl: './dialog-content-adapter.component.html',\n\t// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n\tchangeDetection: ChangeDetectionStrategy.Default,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [DialogComponent, DialogHeaderComponent, DialogContentComponent, DialogFooterComponent, AsyncPipe, ButtonComponent, NumericBadgeComponent],\n})\nexport class DialogContentAdapterComponent<D, C extends ILuModalContent> implements AfterViewInit, DoCheck {\n\t#destroyRef = inject(DestroyRef);\n\n\treadonly contentProjectionRef = viewChild.required('contentProjectionRef', { read: ViewContainerRef });\n\n\t#contentComponentInstance: C;\n\n\t#injector = inject(Injector);\n\n\tdialogData = injectDialogData<AdapterData<D, C>>();\n\n\tref = injectDialogRef<LuModalContentResult<C> | undefined>();\n\n\treadonly submitClass = signal('');\n\treadonly error$ = new Subject();\n\n\tprotected readonly doCheck$ = new ReplaySubject<void>(1);\n\n\tpublic intl = getIntl(LU_MODAL_TRANSLATIONS);\n\tprotected readonly title$ = this.observeValue(() => this.#contentComponentInstance.title);\n\tprotected readonly submitLabel$ = this.observeValue(() => this.#contentComponentInstance.submitLabel || this.intl.submit);\n\tprotected readonly cancelLabel$ = this.observeValue(() => this.#contentComponentInstance.cancelLabel || this.intl.cancel);\n\tprotected readonly submitCounter$ = this.observeValue(() => this.#contentComponentInstance.submitCounter);\n\tprotected readonly submitDisabled$ = this.observeValue(() => this.#contentComponentInstance.submitDisabled);\n\tprotected readonly hasSubmitCounter$ = this.submitCounter$.pipe(map(Boolean));\n\tprotected readonly hasSubmit$ = this.observeValue(() => this.#contentComponentInstance.submitAction).pipe(map(Boolean));\n\n\tget submitPalette() {\n\t\treturn (this.#contentComponentInstance.submitPalette || 'product') as Palette;\n\t}\n\n\tprivate observeValue<TValue>(selector: () => TValue | Observable<TValue>): Observable<TValue> {\n\t\treturn this.doCheck$.pipe(\n\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\tmap(selector),\n\t\t\tdistinctUntilChanged(),\n\t\t\tswitchMap((value) => (isObservable(value) ? value : of(value))),\n\t\t);\n\t}\n\n\tsubmit(): void {\n\t\tthis.error$.next(undefined);\n\t\tthis.submitClass.set('is-loading');\n\t\tif (this.#contentComponentInstance.submitAction) {\n\t\t\tconst result$ = this.#contentComponentInstance.submitAction();\n\t\t\tif (isObservable(result$)) {\n\t\t\t\tresult$\n\t\t\t\t\t.pipe(\n\t\t\t\t\t\ttap(() => this.submitClass.set('is-success')),\n\t\t\t\t\t\tdelay(500),\n\t\t\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t\t\t)\n\t\t\t\t\t.subscribe({\n\t\t\t\t\t\tnext: (res: LuModalContentResult<C>) => this.ref.close(res),\n\t\t\t\t\t\terror: (err) => {\n\t\t\t\t\t\t\tthis.submitClass.set('is-error');\n\t\t\t\t\t\t\tthis.error$.next(err);\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tthis.submitClass.set('');\n\t\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => this.submitClass.set(''),\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.ref.close(result$ as LuModalContentResult<C>);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.ref.close(undefined);\n\t\t}\n\t}\n\n\tdismiss(): void {\n\t\tthis.ref.dismiss();\n\t}\n\n\tclose(res: LuModalContentResult<C>): void {\n\t\tthis.ref.close(res);\n\t}\n\n\tngDoCheck(): void {\n\t\tthis.doCheck$.next();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuModalRef, useValue: this },\n\t\t\t\t{ provide: LU_MODAL_DATA, useValue: this.dialogData.data },\n\t\t\t],\n\t\t\tparent: this.#injector,\n\t\t});\n\t\tthis.#contentComponentInstance = this.contentProjectionRef().createComponent(this.dialogData.component, {\n\t\t\tinjector,\n\t\t}).instance;\n\t}\n}\n","<lu-dialog>\n\t<lu-dialog-header\n\t\t><h1>{{ title$ | async }}</h1></lu-dialog-header\n\t>\n\t<lu-dialog-content>\n\t\t<ng-container #contentProjectionRef />\n\t</lu-dialog-content>\n\t<lu-dialog-footer>\n\t\t<div class=\"footer-actions\">\n\t\t\t@if (hasSubmit$ | async) {\n\t\t\t\t<button\n\t\t\t\t\tluButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t[palette]=\"submitPalette\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t[class]=\"submitClass()\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<lu-numeric-badge disableTooltip palette=\"product\" [value]=\"submitCounter$ | async\" />\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button luButton type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</lu-dialog-footer>\n</lu-dialog>\n","import { LuDialogRef, LuDialogSize } from '@lucca-front/ng/dialog';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuModalClasses, LuModalMode } from '../modal-config.model';\nimport { ILuModalRef } from '../modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from '../modal.model';\nimport { DialogContentAdapterComponent } from './dialog-content-adapter/dialog-content-adapter.component';\n\nexport class DialogRefAdapter<D, T extends ILuModalContent> implements ILuModalRef<D, LuModalContentResult<T>> {\n\tmode: LuModalMode;\n\tmodalClasses: LuModalClasses;\n\n\tonOpen: Observable<D | undefined> = of(this.dialogRef.instance?.dialogData?.data);\n\tonClose: Observable<LuModalContentResult<T>> = this.dialogRef.result$ as Observable<LuModalContentResult<T>>;\n\tonDismiss: Observable<void> = this.dialogRef.dismissed$;\n\tonBackdropClick: Observable<void> = this.dialogRef.cdkRef.backdropClick.pipe(map(() => {}));\n\n\tconstructor(private readonly dialogRef: LuDialogRef<DialogContentAdapterComponent<D, T>>) {}\n\n\topen(): void {}\n\n\tclose(result: LuModalContentResult<T>): void {\n\t\tthis.dialogRef.close(result);\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tresize(size: LuDialogSize): void {\n\t\tthis.dialogRef.resize(size);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\nimport { LuDialogConfig, LuDialogService } from '@lucca-front/ng/dialog';\nimport { DialogContentAdapterComponent } from './dialog-adapter/dialog-content-adapter/dialog-content-adapter.component';\nimport { DialogRefAdapter } from './dialog-adapter/dialog-ref-adapter';\nimport { LuModalConfig } from './modal-config.model';\nimport { ILuModalRef } from './modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from './modal.model';\nimport { LU_MODAL_CONFIG, LU_MODAL_REF_FACTORY } from './modal.token';\n\n@Injectable()\nexport class LuModal {\n\tprotected _factory = inject(LU_MODAL_REF_FACTORY);\n\tprotected _config = inject(LU_MODAL_CONFIG);\n\tprotected luDialogService = inject(LuDialogService);\n\n\topen<T extends ILuModalContent, D>(component: ComponentType<T>, data: D, config: Partial<LuModalConfig> = {}): ILuModalRef<D, LuModalContentResult<T>> {\n\t\tconst extendedConfig = { ...this._config, ...config } as LuModalConfig;\n\t\tconst mode = extendedConfig.mode === 'sidepanel' ? 'drawer' : 'default';\n\t\tconst dialogRef = this.luDialogService.open({\n\t\t\tcontent: DialogContentAdapterComponent<D, T>,\n\t\t\tdata: {\n\t\t\t\tcomponent: component,\n\t\t\t\tdata: data,\n\t\t\t},\n\t\t\tmodal: !extendedConfig.noBackdrop,\n\t\t\talert: extendedConfig.undismissable,\n\t\t\tsize: extendedConfig.size as LuDialogConfig<unknown>['size'],\n\t\t\tmode,\n\t\t\tpanelClasses: Array.isArray(extendedConfig.panelClass) ? extendedConfig.panelClass : extendedConfig.panelClass ? [extendedConfig.panelClass] : [],\n\t\t});\n\t\treturn new DialogRefAdapter<D, T>(dialogRef);\n\t}\n\n\tlegacyOpen<T extends ILuModalContent, D>(component: ComponentType<T>, data: D | undefined = undefined, config: Partial<LuModalConfig> = {}): ILuModalRef<D, LuModalContentResult<T>> {\n\t\tconst extendedConfig = { ...this._config, ...config } as LuModalConfig;\n\t\tconst ref = this._factory.forge<T, LuModalConfig, D>(component, extendedConfig);\n\t\tref.open(data);\n\t\treturn ref;\n\t}\n}\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule, Provider } from '@angular/core';\nimport { LuDialogService } from '@lucca-front/ng/dialog';\nimport { LuModalRefFactory } from './modal-ref.factory';\nimport { LuModal } from './modal.service';\nimport { LU_MODAL_REF_FACTORY } from './modal.token';\n\n/**\n * Provide LuModal.\n * Note that OverlayModule should be imported in one of the EnvironmentInjectors (AppModule, lazy-loaded route) using `providers: [importProvidersFrom(OverlayModule)]`.\n */\nexport function provideLuModal(): Provider[] {\n\treturn [LuModal, { provide: LU_MODAL_REF_FACTORY, useClass: LuModalRefFactory }, LuDialogService];\n}\n\n/**\n * @deprecated use `OverlayModule, DialogModule` imports && provide `provideLuModal(), LuDialogService` instead\n */\n@NgModule({\n\timports: [OverlayModule, DialogModule],\n\tproviders: [provideLuModal(), LuDialogService],\n})\nexport class LuModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ALuModalRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-modal.mjs","sources":["../../../packages/ng/modal/modal-config.default.ts","../../../packages/ng/modal/modal-config.model.ts","../../../packages/ng/modal/translations.ts","../../../packages/ng/modal/modal.translate.ts","../../../packages/ng/modal/modal-ref.model.ts","../../../packages/ng/modal/modal-panel.component.ts","../../../packages/ng/modal/modal-panel.component.html","../../../packages/ng/modal/modal.token.ts","../../../packages/ng/modal/modal.utils.ts","../../../packages/ng/modal/modal-ref.factory.ts","../../../packages/ng/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.ts","../../../packages/ng/modal/dialog-adapter/dialog-content-adapter/dialog-content-adapter.component.html","../../../packages/ng/modal/dialog-adapter/dialog-ref-adapter.ts","../../../packages/ng/modal/modal.service.ts","../../../packages/ng/modal/modal.module.ts","../../../packages/ng/modal/lucca-front-ng-modal.ts"],"sourcesContent":["import { ChangeDetectionStrategy } from '@angular/core';\nimport { LuModalConfig } from './modal-config.model';\n\nexport const luDefaultModalConfig: LuModalConfig = {\n\tmode: 'modal',\n\tposition: 'center',\n\tnoBackdrop: false,\n\tundismissable: false,\n\tbackdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],\n\tpanelClass: 'lu-popup-panel',\n\tsize: 'M',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n};\n\nexport const luDefaultSidepanelConfig: LuModalConfig = {\n\t...luDefaultModalConfig,\n\tmode: 'sidepanel',\n\tposition: 'right',\n};\n","import { ChangeDetectionStrategy } from '@angular/core';\nimport { ILuPopupConfig } from '@lucca-front/ng/popup';\n\nexport type LuModalMode = 'modal' | 'sidepanel';\n\nexport interface LuModalClasses {\n\tpanel: string;\n\tpanelContainer: string;\n\tpanelInner: string;\n\toverlayPane?: string;\n}\n\nexport const luModalClasses: Record<LuModalMode, LuModalClasses> = {\n\tmodal: { panel: 'lu-modal-panel', panelInner: 'lu-modal-panel-inner', panelContainer: 'lu-modal-container' },\n\tsidepanel: { panel: 'lu-sidepanel-panel', panelInner: 'lu-sidepanel-panel-inner', overlayPane: 'mod-sidepanel', panelContainer: 'lu-sidepanel-container' },\n};\n\ntype LuModalModeWithPosition = { mode?: 'modal'; position: undefined | 'center' } | { mode: 'sidepanel'; position: 'left' | 'right' };\n\nexport type LuModalConfig = ILuPopupConfig &\n\tLuModalModeWithPosition & {\n\t\tchangeDetection: ChangeDetectionStrategy;\n\t};\n","export const Translations = {\n\t'nl-BE': {\n\t\tsubmit: 'Oké',\n\t\tcancel: 'Annuleren',\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tsubmit: 'Oké',\n\t\tcancel: 'Annuleren',\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Annullare',\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Annuler',\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Cancelar',\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tsubmit: 'Aceptar',\n\t\tcancel: 'Cancelar',\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tsubmit: 'OK',\n\t\tcancel: 'Abbrechen',\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tsubmit: 'Ok',\n\t\tcancel: 'Cancel',\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_MODAL_TRANSLATIONS = new InjectionToken('LuModalTranslations', {\n\tfactory: () => luModalTranslations,\n});\n\nexport interface ILuModalLabel {\n\tsubmit: string;\n\tcancel: string;\n\tclose: string;\n}\n\nexport const luModalTranslations: LuTranslation<ILuModalLabel> = Translations;\n","import { ComponentType } from '@angular/cdk/portal';\nimport { ALuPopupRef, ILuPopupRef } from '@lucca-front/ng/popup';\nimport { LuModalClasses, luModalClasses, LuModalConfig, LuModalMode } from './modal-config.model';\nimport { ILuModalContent, LuModalContentResult } from './modal.model';\nimport { LuDialogSize } from '@lucca-front/ng/dialog';\n\nexport interface ILuModalRef<D = unknown, R = unknown> extends ILuPopupRef<D, R> {\n\tmode: LuModalMode;\n\tmodalClasses: LuModalClasses;\n\tresize(size: LuDialogSize): void;\n}\n\nexport interface IModalRefFactory {\n\tforge<T extends ILuModalContent, C extends LuModalConfig, D>(component: ComponentType<T>, config: C): ILuModalRef<D, LuModalContentResult<T>>;\n}\n\nexport abstract class ALuModalRef<T extends ILuModalContent = ILuModalContent, D = unknown, R = unknown, C extends LuModalConfig = LuModalConfig>\n\textends ALuPopupRef<T, D, R, C>\n\timplements ILuModalRef<D, R>\n{\n\tpublic get mode(): LuModalMode {\n\t\treturn this._config.mode || 'modal';\n\t}\n\n\tpublic get modalClasses(): LuModalClasses {\n\t\treturn luModalClasses[this.mode];\n\t}\n\n\tpublic resize(size: LuDialogSize): void {\n\t\tif (this._config.size === size) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._overlayRef.removePanelClass(`mod-${this._config.size || 'M'}`);\n\t\tthis._overlayRef.addPanelClass(`mod-${size}`);\n\t\tthis._config.size = size;\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { AsyncPipe, NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Directive, DoCheck, ElementRef, Injector, OnDestroy, Renderer2, Type, ViewChild, ViewContainerRef } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { Observable, ReplaySubject, Subject, Subscription, isObservable, of, timer } from 'rxjs';\nimport { delay, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { LuModalClasses } from './modal-config.model';\nimport { ALuModalRef } from './modal-ref.model';\nimport { ILuModalContent } from './modal.model';\nimport { LU_MODAL_TRANSLATIONS } from './modal.translate';\n\nlet modalId = 0;\n\n@Directive()\nexport abstract class ALuModalPanelComponent<T extends ILuModalContent> implements OnDestroy, DoCheck {\n\t@ViewChild('container', { read: ViewContainerRef, static: true })\n\tprotected readonly _containerRef: ViewContainerRef;\n\tprotected _componentInstance: ILuModalContent;\n\tprotected readonly doCheck$ = new ReplaySubject<void>(1);\n\n\tpublic intl = getIntl(LU_MODAL_TRANSLATIONS);\n\tprotected readonly title$ = this.listenComponentValue(() => this._componentInstance.title);\n\tprotected readonly submitLabel$ = this.listenComponentValue(() => this._componentInstance.submitLabel || this.intl.submit);\n\tprotected readonly cancelLabel$ = this.listenComponentValue(() => this._componentInstance.cancelLabel || this.intl.cancel);\n\tprotected readonly submitCounter$ = this.listenComponentValue(() => this._componentInstance.submitCounter);\n\tprotected readonly submitDisabled$ = this.listenComponentValue(() => this._componentInstance.submitDisabled);\n\tprotected readonly hasSubmitCounter$ = this.submitCounter$.pipe(map(Boolean));\n\n\tprotected closeLabel = this.intl.close;\n\n\tget isSubmitHidden() {\n\t\treturn !this._componentInstance.submitAction;\n\t}\n\tget submitPalette() {\n\t\treturn this._componentInstance.submitPalette || 'product';\n\t}\n\n\treadonly submitClass$ = new Subject();\n\treadonly error$ = new Subject();\n\n\tpublic readonly modalId = modalId++;\n\n\tprivate _subs = new Subscription();\n\tpublic modalClasses: LuModalClasses;\n\n\tconstructor(\n\t\tprotected _ref: ALuModalRef<T>,\n\t\t_elementRef: ElementRef<HTMLElement>,\n\t\t_renderer: Renderer2,\n\t) {\n\t\tthis.modalClasses = _ref.modalClasses;\n\t\t_renderer.addClass(_elementRef.nativeElement, this.modalClasses.panel);\n\t}\n\tngDoCheck(): void {\n\t\tthis.doCheck$.next();\n\t}\n\tattachInnerComponent(componentType: Type<T>, injector: Injector) {\n\t\tconst ref = this._containerRef.createComponent(componentType, { injector });\n\t\tthis._componentInstance = ref.instance;\n\t\treturn ref;\n\t}\n\tngOnDestroy() {\n\t\tthis.doCheck$.complete();\n\t\tthis._subs.unsubscribe();\n\t}\n\tdismiss() {\n\t\tthis._ref.dismiss();\n\t}\n\tsubmit() {\n\t\tthis.error$.next(undefined);\n\t\tthis.submitClass$.next('is-loading');\n\t\tconst result$ = this._componentInstance.submitAction?.();\n\t\tif (result$ instanceof Observable) {\n\t\t\tthis._subs.add(\n\t\t\t\tresult$\n\t\t\t\t\t.pipe(\n\t\t\t\t\t\ttap((_) => this.submitClass$.next('is-success')),\n\t\t\t\t\t\tdelay(500),\n\t\t\t\t\t)\n\t\t\t\t\t.subscribe({\n\t\t\t\t\t\tnext: (result) => this._ref.close(result),\n\t\t\t\t\t\terror: (err) => {\n\t\t\t\t\t\t\tthis.submitClass$.next('is-error');\n\t\t\t\t\t\t\tthis.error$.next(err);\n\t\t\t\t\t\t\ttimer(2000).subscribe((_) => {\n\t\t\t\t\t\t\t\tthis.submitClass$.next('');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\t\tthis.submitClass$.next('');\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tthis._ref.close(result$);\n\t\t}\n\t}\n\n\tprivate listenComponentValue<TValue>(selector: () => TValue | Observable<TValue>): Observable<TValue> {\n\t\treturn this.doCheck$.pipe(\n\t\t\tmap(selector),\n\t\t\tdistinctUntilChanged(),\n\t\t\tswitchMap((value) => (isObservable(value) ? value : of(value))),\n\t\t);\n\t}\n}\n\nconst panelImports = [A11yModule, AsyncPipe, LuTooltipModule, NgClass];\n\n@Component({\n\tselector: 'lu-modal-panel',\n\timports: panelImports,\n\ttemplateUrl: './modal-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { class: 'lu-modal-panel' },\n})\nexport class LuModalPanelComponent<T extends ILuModalContent = ILuModalContent> extends ALuModalPanelComponent<T> {\n\tconstructor(_ref: ALuModalRef<T>, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2) {\n\t\tsuper(_ref, _elementRef, _renderer);\n\t}\n}\n@Component({\n\tselector: 'lu-modal-panel-default',\n\timports: panelImports,\n\ttemplateUrl: './modal-panel.component.html',\n\t// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n\tchangeDetection: ChangeDetectionStrategy.Default,\n\thost: { class: 'lu-modal-panel' },\n})\nexport class LuModalPanelComponentDefaultCD<T extends ILuModalContent = ILuModalContent> extends ALuModalPanelComponent<T> {\n\tconstructor(_ref: ALuModalRef<T>, _elementRef: ElementRef<HTMLElement>, _renderer: Renderer2) {\n\t\tsuper(_ref, _elementRef, _renderer);\n\t}\n}\n","<div\n\tcdkTrapFocus=\"true\"\n\tcdkTrapFocusAutoCapture=\"true\"\n\trole=\"dialog\"\n\taria-modal=\"true\"\n\t[attr.aria-labelledby]=\"'luModalTitle' + modalId\"\n\t[class]=\"modalClasses.panelInner\"\n>\n\t<div [class]=\"modalClasses.panelContainer\" role=\"document\">\n\t\t<div class=\"lu-modal-header\" tabindex=\"-1\" cdkFocusInitial>\n\t\t\t<button type=\"button\" class=\"button mod-onlyIcon mod-ghost mod-S lu-modal-header-close\" (click)=\"dismiss()\" [luTooltip]=\"closeLabel\">\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signClose\"></span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ closeLabel }}</span>\n\t\t\t</button>\n\t\t\t<h1 [attr.id]=\"'luModalTitle' + modalId\" class=\"lu-modal-header-title\">{{ title$ | async }}</h1>\n\t\t</div>\n\t\t<div class=\"lu-modal-content\">\n\t\t\t<ng-container #container />\n\t\t</div>\n\t\t<div class=\"lu-modal-footer\">\n\t\t\t@if (!isSubmitHidden) {\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button palette-{{ submitPalette }}\"\n\t\t\t\t\t[ngClass]=\"submitClass$ | async\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<label class=\"numericBadge palette-product\">{{ submitCounter$ | async }}</label>\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { luDefaultModalConfig } from './modal-config.default';\nimport { LuModalConfig } from './modal-config.model';\nimport { IModalRefFactory } from './modal-ref.model';\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const LU_MODAL_DATA = new InjectionToken<unknown>('LuModalData');\nexport const LU_MODAL_CONFIG = new InjectionToken<LuModalConfig>('LuModalDefaultConfig', {\n\tfactory: () => luDefaultModalConfig,\n});\nexport const LU_MODAL_REF_FACTORY = new InjectionToken<IModalRefFactory>('LuModalRefFactory');\n","import { ApplicationRef } from '@angular/core';\n\nexport function setAriaHiddenOnApplicationRoot(applicationRef: ApplicationRef, hidden: boolean): void {\n\tfor (const component of applicationRef.components) {\n\t\tconst nativeElement = component.location.nativeElement as unknown;\n\n\t\tif (nativeElement instanceof HTMLElement) {\n\t\t\tnativeElement.ariaHidden = hidden ? 'true' : null;\n\t\t}\n\t}\n}\n","import { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ApplicationRef, ChangeDetectionStrategy, ComponentRef, inject, Injectable, Injector } from '@angular/core';\nimport { ILuPopupRefFactory } from '@lucca-front/ng/popup';\nimport { LuModalConfig } from './modal-config.model';\nimport { ALuModalPanelComponent, LuModalPanelComponent, LuModalPanelComponentDefaultCD } from './modal-panel.component';\nimport { ALuModalRef, ILuModalRef } from './modal-ref.model';\nimport { ILuModalContent } from './modal.model';\nimport { LU_MODAL_DATA } from './modal.token';\nimport { setAriaHiddenOnApplicationRoot } from './modal.utils';\n\nclass LuModalRef<T extends ILuModalContent = ILuModalContent, D = unknown, R = unknown, C extends LuModalConfig = LuModalConfig> extends ALuModalRef<T, D, R, C> implements ILuModalRef<D, R> {\n\tprotected _containerRef: ComponentRef<ALuModalPanelComponent<T>>;\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _injector: Injector,\n\t\tprotected override _component: ComponentType<T>,\n\t\tprotected override _config: C,\n\t\tprotected _applicationRef: ApplicationRef,\n\t) {\n\t\tsuper(_overlay, _injector, _component, _config);\n\t}\n\tprotected override _openPopup(data?: D) {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuModalRef, useValue: this },\n\t\t\t\t{ provide: LU_MODAL_DATA, useValue: data },\n\t\t\t],\n\t\t\tparent: this._injector,\n\t\t});\n\n\t\tconst containerPortal = new ComponentPortal<ALuModalPanelComponent<T>>(\n\t\t\tthis._config.changeDetection === ChangeDetectionStrategy.OnPush ? LuModalPanelComponent : LuModalPanelComponentDefaultCD,\n\t\t\tundefined,\n\t\t\tinjector,\n\t\t);\n\t\tthis._containerRef = this._overlayRef.attach<ALuModalPanelComponent<T>>(containerPortal);\n\t\tconst panel = this._containerRef.instance;\n\t\tthis._componentRef = panel.attachInnerComponent(this._component, injector);\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, true);\n\t}\n\tprotected override _closePopup() {\n\t\tthis._componentRef.destroy();\n\t\tthis._containerRef.destroy();\n\t\tsetAriaHiddenOnApplicationRoot(this._applicationRef, false);\n\t}\n\n\tprotected override _getOverlayPanelClasses(): string[] {\n\t\tconst classes = super._getOverlayPanelClasses();\n\n\t\tif (this.modalClasses.overlayPane) {\n\t\t\tclasses.push(this.modalClasses.overlayPane);\n\t\t}\n\n\t\treturn classes;\n\t}\n}\n\n@Injectable()\nexport class LuModalRefFactory implements ILuPopupRefFactory<ILuModalContent, LuModalConfig> {\n\tprotected _applicationRef = inject(ApplicationRef);\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t) {}\n\tforge<T extends ILuModalContent, C extends LuModalConfig, D, R>(component: ComponentType<T>, config: C) {\n\t\treturn new LuModalRef<T, D, R>(this._overlay, this._injector, component, config, this._applicationRef);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, DestroyRef, DoCheck, inject, Injector, OnInit, signal, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl, Palette } from '@lucca-front/ng/core';\nimport { DialogComponent, DialogContentComponent, DialogFooterComponent, DialogHeaderComponent, injectDialogData, injectDialogRef } from '@lucca-front/ng/dialog';\nimport { NumericBadgeComponent } from '@lucca-front/ng/numeric-badge';\nimport { isObservable, Observable, of, ReplaySubject, Subject } from 'rxjs';\nimport { delay, distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators';\nimport { ALuModalRef } from '../../modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from '../../modal.model';\nimport { LU_MODAL_DATA } from '../../modal.token';\nimport { LU_MODAL_TRANSLATIONS } from '../../modal.translate';\n\ninterface AdapterData<D, C> {\n\tcomponent: ComponentType<C>;\n\tdata: D | undefined;\n}\n\n@Component({\n\tselector: 'lu-dialog-content-adapter',\n\ttemplateUrl: './dialog-content-adapter.component.html',\n\t// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n\tchangeDetection: ChangeDetectionStrategy.Default,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [DialogComponent, DialogHeaderComponent, DialogContentComponent, DialogFooterComponent, AsyncPipe, ButtonComponent, NumericBadgeComponent],\n})\nexport class DialogContentAdapterComponent<D, C extends ILuModalContent> implements OnInit, DoCheck {\n\t#destroyRef = inject(DestroyRef);\n\n\t@ViewChild('contentProjectionRef', { read: ViewContainerRef, static: true })\n\treadonly contentProjectionRef: ViewContainerRef;\n\n\t#contentComponentInstance: C;\n\n\t#injector = inject(Injector);\n\n\tdialogData = injectDialogData<AdapterData<D, C>>();\n\n\tref = injectDialogRef<LuModalContentResult<C> | undefined>();\n\n\treadonly submitClass = signal('');\n\treadonly error$ = new Subject();\n\n\tprotected readonly doCheck$ = new ReplaySubject<void>(1);\n\n\tpublic intl = getIntl(LU_MODAL_TRANSLATIONS);\n\tprotected readonly title$ = this.observeValue(() => this.#contentComponentInstance.title);\n\tprotected readonly submitLabel$ = this.observeValue(() => this.#contentComponentInstance.submitLabel || this.intl.submit);\n\tprotected readonly cancelLabel$ = this.observeValue(() => this.#contentComponentInstance.cancelLabel || this.intl.cancel);\n\tprotected readonly submitCounter$ = this.observeValue(() => this.#contentComponentInstance.submitCounter);\n\tprotected readonly submitDisabled$ = this.observeValue(() => this.#contentComponentInstance.submitDisabled);\n\tprotected readonly hasSubmitCounter$ = this.submitCounter$.pipe(map(Boolean));\n\tprotected readonly hasSubmit$ = this.observeValue(() => this.#contentComponentInstance.submitAction).pipe(map(Boolean));\n\n\tget submitPalette() {\n\t\treturn (this.#contentComponentInstance.submitPalette || 'product') as Palette;\n\t}\n\n\tprivate observeValue<TValue>(selector: () => TValue | Observable<TValue>): Observable<TValue> {\n\t\treturn this.doCheck$.pipe(\n\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\tmap(selector),\n\t\t\tdistinctUntilChanged(),\n\t\t\tswitchMap((value) => (isObservable(value) ? value : of(value))),\n\t\t);\n\t}\n\n\tsubmit(): void {\n\t\tthis.error$.next(undefined);\n\t\tthis.submitClass.set('is-loading');\n\t\tif (this.#contentComponentInstance.submitAction) {\n\t\t\tconst result$ = this.#contentComponentInstance.submitAction();\n\t\t\tif (isObservable(result$)) {\n\t\t\t\tresult$\n\t\t\t\t\t.pipe(\n\t\t\t\t\t\ttap(() => this.submitClass.set('is-success')),\n\t\t\t\t\t\tdelay(500),\n\t\t\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t\t\t)\n\t\t\t\t\t.subscribe({\n\t\t\t\t\t\tnext: (res: LuModalContentResult<C>) => this.ref.close(res),\n\t\t\t\t\t\terror: (err) => {\n\t\t\t\t\t\t\tthis.submitClass.set('is-error');\n\t\t\t\t\t\t\tthis.error$.next(err);\n\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\tthis.submitClass.set('');\n\t\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => this.submitClass.set(''),\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.ref.close(result$ as LuModalContentResult<C>);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.ref.close(undefined);\n\t\t}\n\t}\n\n\tdismiss(): void {\n\t\tthis.ref.dismiss();\n\t}\n\n\tclose(res: LuModalContentResult<C>): void {\n\t\tthis.ref.close(res);\n\t}\n\n\tngDoCheck(): void {\n\t\tthis.doCheck$.next();\n\t}\n\n\tngOnInit(): void {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuModalRef, useValue: this },\n\t\t\t\t{ provide: LU_MODAL_DATA, useValue: this.dialogData.data },\n\t\t\t],\n\t\t\tparent: this.#injector,\n\t\t});\n\t\tthis.#contentComponentInstance = this.contentProjectionRef.createComponent(this.dialogData.component, {\n\t\t\tinjector,\n\t\t}).instance;\n\t}\n}\n","<lu-dialog>\n\t<lu-dialog-header\n\t\t><h1>{{ title$ | async }}</h1></lu-dialog-header\n\t>\n\t<lu-dialog-content>\n\t\t<ng-container #contentProjectionRef />\n\t</lu-dialog-content>\n\t<lu-dialog-footer>\n\t\t<div class=\"footer-actions\">\n\t\t\t@if (hasSubmit$ | async) {\n\t\t\t\t<button\n\t\t\t\t\tluButton\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t[palette]=\"submitPalette\"\n\t\t\t\t\t[disabled]=\"submitDisabled$ | async\"\n\t\t\t\t\t[class]=\"submitClass()\"\n\t\t\t\t\t(click)=\"submit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ submitLabel$ | async }}\n\t\t\t\t\t@if (hasSubmitCounter$ | async) {\n\t\t\t\t\t\t<lu-numeric-badge disableTooltip palette=\"product\" [value]=\"submitCounter$ | async\" />\n\t\t\t\t\t}\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button luButton type=\"button\" class=\"button mod-ghost\" (click)=\"dismiss()\">{{ cancelLabel$ | async }}</button>\n\t\t</div>\n\t</lu-dialog-footer>\n</lu-dialog>\n","import { LuDialogRef, LuDialogSize } from '@lucca-front/ng/dialog';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { LuModalClasses, LuModalMode } from '../modal-config.model';\nimport { ILuModalRef } from '../modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from '../modal.model';\nimport { DialogContentAdapterComponent } from './dialog-content-adapter/dialog-content-adapter.component';\n\nexport class DialogRefAdapter<D, T extends ILuModalContent> implements ILuModalRef<D, LuModalContentResult<T>> {\n\tmode: LuModalMode;\n\tmodalClasses: LuModalClasses;\n\n\tonOpen: Observable<D | undefined> = of(this.dialogRef.instance?.dialogData?.data);\n\tonClose: Observable<LuModalContentResult<T>> = this.dialogRef.result$ as Observable<LuModalContentResult<T>>;\n\tonDismiss: Observable<void> = this.dialogRef.dismissed$;\n\tonBackdropClick: Observable<void> = this.dialogRef.cdkRef.backdropClick.pipe(map(() => {}));\n\n\tconstructor(private readonly dialogRef: LuDialogRef<DialogContentAdapterComponent<D, T>>) {}\n\n\topen(): void {}\n\n\tclose(result: LuModalContentResult<T>): void {\n\t\tthis.dialogRef.close(result);\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tresize(size: LuDialogSize): void {\n\t\tthis.dialogRef.resize(size);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable } from '@angular/core';\nimport { LuDialogConfig, LuDialogService } from '@lucca-front/ng/dialog';\nimport { DialogContentAdapterComponent } from './dialog-adapter/dialog-content-adapter/dialog-content-adapter.component';\nimport { DialogRefAdapter } from './dialog-adapter/dialog-ref-adapter';\nimport { LuModalConfig } from './modal-config.model';\nimport { ILuModalRef } from './modal-ref.model';\nimport { ILuModalContent, LuModalContentResult } from './modal.model';\nimport { LU_MODAL_CONFIG, LU_MODAL_REF_FACTORY } from './modal.token';\n\n@Injectable()\nexport class LuModal {\n\tprotected _factory = inject(LU_MODAL_REF_FACTORY);\n\tprotected _config = inject(LU_MODAL_CONFIG);\n\tprotected luDialogService = inject(LuDialogService);\n\n\topen<T extends ILuModalContent, D>(component: ComponentType<T>, data: D | undefined = undefined, config: Partial<LuModalConfig> = {}): ILuModalRef<D, LuModalContentResult<T>> {\n\t\tconst extendedConfig = { ...this._config, ...config } as LuModalConfig;\n\t\tconst mode = extendedConfig.mode === 'sidepanel' ? 'drawer' : 'default';\n\t\tconst dialogRef = this.luDialogService.open({\n\t\t\tcontent: DialogContentAdapterComponent<D, T>,\n\t\t\tdata: {\n\t\t\t\tcomponent: component,\n\t\t\t\tdata: data,\n\t\t\t},\n\t\t\tmodal: !extendedConfig.noBackdrop,\n\t\t\talert: extendedConfig.undismissable,\n\t\t\tsize: extendedConfig.size as LuDialogConfig<unknown>['size'],\n\t\t\tmode,\n\t\t\tpanelClasses: Array.isArray(extendedConfig.panelClass) ? extendedConfig.panelClass : extendedConfig.panelClass ? [extendedConfig.panelClass] : [],\n\t\t});\n\t\treturn new DialogRefAdapter<D, T>(dialogRef);\n\t}\n\n\tlegacyOpen<T extends ILuModalContent, D>(component: ComponentType<T>, data: D | undefined = undefined, config: Partial<LuModalConfig> = {}): ILuModalRef<D, LuModalContentResult<T>> {\n\t\tconst extendedConfig = { ...this._config, ...config } as LuModalConfig;\n\t\tconst ref = this._factory.forge<T, LuModalConfig, D>(component, extendedConfig);\n\t\tref.open(data);\n\t\treturn ref;\n\t}\n}\n","import { DialogModule } from '@angular/cdk/dialog';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule, Provider } from '@angular/core';\nimport { LuDialogService } from '@lucca-front/ng/dialog';\nimport { LuModalRefFactory } from './modal-ref.factory';\nimport { LuModal } from './modal.service';\nimport { LU_MODAL_REF_FACTORY } from './modal.token';\n\n/**\n * Provide LuModal.\n * Note that OverlayModule should be imported in one of the EnvironmentInjectors (AppModule, lazy-loaded route) using `providers: [importProvidersFrom(OverlayModule)]`.\n */\nexport function provideLuModal(): Provider[] {\n\treturn [LuModal, { provide: LU_MODAL_REF_FACTORY, useClass: LuModalRefFactory }, LuDialogService];\n}\n\n/**\n * @deprecated use `OverlayModule, DialogModule` imports && provide `provideLuModal(), LuDialogService` instead\n */\n@NgModule({\n\timports: [OverlayModule, DialogModule],\n\tproviders: [provideLuModal(), LuDialogService],\n})\nexport class LuModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ALuModalRef"],"mappings":"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"}
|