@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.
Files changed (80) hide show
  1. package/fesm2022/lucca-front-ng-api.mjs +160 -85
  2. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-clear.mjs +7 -6
  4. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-core-select-api.mjs +37 -21
  6. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
  8. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-core-select.mjs +229 -135
  10. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-core.mjs +1 -12
  12. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-date.mjs +124 -100
  14. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-date2.mjs +37 -25
  16. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-department.mjs +0 -2
  18. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-divider.mjs +6 -4
  20. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-dropdown.mjs +34 -31
  22. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-establishment.mjs +83 -49
  24. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-filter-pills.mjs +18 -8
  26. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-form-field.mjs +10 -7
  28. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-formly.mjs +2 -3
  30. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-forms.mjs +46 -5
  32. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-input.mjs +0 -1
  34. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-modal.mjs +15 -11
  36. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-multi-select.mjs +115 -91
  38. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-number-format.mjs +11 -7
  40. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-option.mjs +37 -30
  42. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-popover.mjs +238 -123
  44. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-popover2.mjs +65 -37
  46. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-select.mjs +123 -76
  48. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-simple-select.mjs +13 -13
  51. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-time.mjs +8 -6
  53. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-user-popover.mjs +13 -9
  55. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-user.mjs +93 -59
  57. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  58. package/package.json +4 -4
  59. package/types/lucca-front-ng-api.d.ts +62 -62
  60. package/types/lucca-front-ng-clear.d.ts +2 -3
  61. package/types/lucca-front-ng-core-select-api.d.ts +22 -22
  62. package/types/lucca-front-ng-core-select.d.ts +139 -140
  63. package/types/lucca-front-ng-core.d.ts +2 -7
  64. package/types/lucca-front-ng-date.d.ts +26 -28
  65. package/types/lucca-front-ng-divider.d.ts +1 -1
  66. package/types/lucca-front-ng-dropdown.d.ts +4 -5
  67. package/types/lucca-front-ng-establishment.d.ts +19 -18
  68. package/types/lucca-front-ng-form-field.d.ts +3 -2
  69. package/types/lucca-front-ng-forms.d.ts +32 -12
  70. package/types/lucca-front-ng-modal.d.ts +2 -2
  71. package/types/lucca-front-ng-multi-select.d.ts +37 -36
  72. package/types/lucca-front-ng-option.d.ts +10 -10
  73. package/types/lucca-front-ng-popover.d.ts +46 -52
  74. package/types/lucca-front-ng-popover2.d.ts +11 -13
  75. package/types/lucca-front-ng-segmented-control.d.ts +4 -2
  76. package/types/lucca-front-ng-select.d.ts +28 -30
  77. package/types/lucca-front-ng-simple-select.d.ts +3 -3
  78. package/types/lucca-front-ng-time.d.ts +1 -1
  79. package/types/lucca-front-ng-user-popover.d.ts +3 -4
  80. 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":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, InjectionToken, viewChild, ViewContainerRef, Directive, Component, Injector, inject, ApplicationRef, Injectable, DestroyRef, signal, ViewEncapsulation, NgModule } from '@angular/core';
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().createComponent(componentType, { injector });
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: "17.2.0", version: "21.2.14", type: ALuModalPanelComponent, isStandalone: true, viewQueries: [{ propertyName: "_containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0 }); }
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: [{ type: i0.ViewChild, args: ['container', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
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
- ngAfterViewInit() {
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().createComponent(this.dialogData.component, {
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, isSignal: 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
+ 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: [{ type: i0.ViewChild, args: ['contentProjectionRef', { ...{ read: ViewContainerRef }, isSignal: true }] }] } });
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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"}