@lucca-front/ng 21.0.3 → 21.1.0-rc.1

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 (245) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +8 -8
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-api.mjs +56 -88
  4. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  6. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +10 -10
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs +51 -0
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -0
  11. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +135 -0
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -0
  13. package/fesm2022/lucca-front-ng-button.mjs +3 -3
  14. package/fesm2022/lucca-front-ng-callout.mjs +28 -28
  15. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-chip.mjs +8 -8
  17. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-clear.mjs +8 -8
  19. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  21. package/fesm2022/lucca-front-ng-color.mjs +28 -0
  22. package/fesm2022/lucca-front-ng-color.mjs.map +1 -0
  23. package/fesm2022/lucca-front-ng-comment.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-container.mjs +4 -4
  25. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  27. package/fesm2022/lucca-front-ng-core-select-department.mjs +6 -6
  28. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  30. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs +28 -28
  32. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select.mjs +117 -96
  34. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core.mjs +28 -16
  36. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-data-table.mjs +29 -29
  38. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-date.mjs +102 -135
  40. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-date2.mjs +78 -60
  42. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-department.mjs +31 -47
  44. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-dialog.mjs +60 -37
  46. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  48. package/fesm2022/lucca-front-ng-dropdown.mjs +40 -40
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +56 -14
  50. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-establishment.mjs +43 -107
  52. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +67 -44
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +30 -29
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form-field.mjs +86 -17
  60. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  62. package/fesm2022/lucca-front-ng-form.mjs +21 -7
  63. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  65. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -13
  67. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +117 -100
  69. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-forms.mjs +194 -79
  71. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  74. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  75. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +7 -7
  76. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-icon.mjs +3 -3
  78. package/fesm2022/lucca-front-ng-index-table.mjs +31 -31
  79. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  81. package/fesm2022/lucca-front-ng-input.mjs +27 -27
  82. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-link.mjs +21 -15
  84. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-listbox.mjs +9 -9
  86. package/fesm2022/lucca-front-ng-listing.mjs +6 -6
  87. package/fesm2022/lucca-front-ng-loading.mjs +3 -3
  88. package/fesm2022/lucca-front-ng-main-layout.mjs +7 -7
  89. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-mobile-push.mjs +8 -8
  91. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  93. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-multi-select.mjs +62 -62
  95. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  97. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  98. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  99. package/fesm2022/lucca-front-ng-numeric-badge.mjs +3 -3
  100. package/fesm2022/lucca-front-ng-option.mjs +327 -437
  101. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  103. package/fesm2022/lucca-front-ng-pagination.mjs +7 -7
  104. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-plg-push.mjs +7 -7
  106. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-popover.mjs +18 -50
  108. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-popover2.mjs +20 -20
  110. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  112. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  113. package/fesm2022/lucca-front-ng-read-more.mjs +25 -23
  114. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-resource-card.mjs +13 -13
  116. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  118. package/fesm2022/lucca-front-ng-scroll-box.mjs +5 -5
  119. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-scroll.mjs +7 -7
  121. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +6 -6
  122. package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
  123. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  124. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  125. package/fesm2022/lucca-front-ng-simple-select.mjs +40 -25
  126. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-skeleton.mjs +22 -22
  128. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  130. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  132. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  133. package/fesm2022/lucca-front-ng-tag.mjs +3 -3
  134. package/fesm2022/lucca-front-ng-text-flow.mjs +20 -0
  135. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -0
  136. package/fesm2022/lucca-front-ng-time.mjs +72 -33
  137. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  138. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  139. package/fesm2022/lucca-front-ng-toast.mjs +14 -14
  140. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-tooltip.mjs +27 -41
  142. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-tree-select.mjs +6 -6
  144. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-user-popover.mjs +23 -23
  146. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-user.mjs +75 -91
  148. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  150. package/package.json +19 -3
  151. package/schematics/action-icon/index.js +4 -5
  152. package/schematics/action-icon/migration.js +3 -4
  153. package/schematics/action-icon/migration.spec.js +8 -8
  154. package/schematics/alignment-utilities/index.js +3 -4
  155. package/schematics/alignment-utilities/migration.spec.js +8 -8
  156. package/schematics/cdn-urls/index.js +3 -4
  157. package/schematics/cdn-urls/migration.js +7 -9
  158. package/schematics/cdn-urls/migration.spec.js +8 -8
  159. package/schematics/class-prefix/index.js +3 -4
  160. package/schematics/class-prefix/migration.spec.js +8 -8
  161. package/schematics/collection.json +10 -0
  162. package/schematics/color-text/index.js +3 -4
  163. package/schematics/color-text/migration.spec.js +8 -8
  164. package/schematics/component-path/index.js +3 -4
  165. package/schematics/component-path/migration.spec.js +8 -8
  166. package/schematics/empty-state-title/index.js +5 -7
  167. package/schematics/empty-state-title/migration.spec.js +5 -5
  168. package/schematics/lib/index.js +29 -0
  169. package/schematics/lib/local-deps/package-lock.json +2 -0
  170. package/schematics/lib/local-deps/package.json +1 -2
  171. package/schematics/lib/schematic.utils.js +5 -0
  172. package/schematics/lu-button/index.js +3 -4
  173. package/schematics/lu-button/migration.js +5 -11
  174. package/schematics/lu-button/migration.spec.js +5 -5
  175. package/schematics/lu-container/index.js +23 -0
  176. package/schematics/lu-container/migration.js +116 -0
  177. package/schematics/lu-container/migration.spec.js +23 -0
  178. package/schematics/lu-container/schema.json +23 -0
  179. package/schematics/lu-icon/index.js +3 -4
  180. package/schematics/lu-icon/migration.js +8 -14
  181. package/schematics/lu-icon/migration.spec.js +5 -5
  182. package/schematics/lu-loading/index.js +23 -0
  183. package/schematics/lu-loading/migration.js +136 -0
  184. package/schematics/lu-loading/migration.spec.js +23 -0
  185. package/schematics/lu-loading/schema.json +28 -0
  186. package/schematics/lu-select/index.js +3 -4
  187. package/schematics/lu-select/migration.js +18 -21
  188. package/schematics/lu-select/migration.spec.js +5 -5
  189. package/schematics/lu-select/util.js +17 -19
  190. package/schematics/lu-text-input/index.js +3 -4
  191. package/schematics/lu-text-input/migration.js +22 -28
  192. package/schematics/lu-text-input/migration.spec.js +5 -5
  193. package/schematics/new-icons/index.js +5 -6
  194. package/schematics/new-icons/migration.js +11 -16
  195. package/schematics/new-icons/migration.spec.js +8 -8
  196. package/schematics/palettes/index.js +3 -4
  197. package/schematics/palettes/migration.spec.js +8 -8
  198. package/schematics/tokens-radius/index.js +3 -4
  199. package/schematics/tokens-radius/migration.spec.js +8 -8
  200. package/schematics/tokens-spacing/index.js +3 -4
  201. package/schematics/tokens-spacing/migration.spec.js +8 -8
  202. package/schematics/tokens-typo/index.js +3 -4
  203. package/schematics/tokens-typo/migration.spec.js +8 -8
  204. package/types/lucca-front-ng-a11y.d.ts +3 -3
  205. package/types/lucca-front-ng-api.d.ts +1 -19
  206. package/types/lucca-front-ng-breadcrumbs.d.ts +9 -9
  207. package/types/lucca-front-ng-bubble-icon.d.ts +20 -0
  208. package/types/lucca-front-ng-bubble-illustration.d.ts +24 -0
  209. package/types/lucca-front-ng-callout.d.ts +2 -2
  210. package/types/lucca-front-ng-chip.d.ts +2 -2
  211. package/types/lucca-front-ng-clear.d.ts +2 -2
  212. package/types/lucca-front-ng-color.d.ts +12 -0
  213. package/types/lucca-front-ng-core-select.d.ts +84 -78
  214. package/types/lucca-front-ng-core.d.ts +23 -2
  215. package/types/lucca-front-ng-data-table.d.ts +2 -2
  216. package/types/lucca-front-ng-date.d.ts +6 -24
  217. package/types/lucca-front-ng-date2.d.ts +8 -6
  218. package/types/lucca-front-ng-department.d.ts +3 -12
  219. package/types/lucca-front-ng-dialog.d.ts +12 -5
  220. package/types/lucca-front-ng-empty-state.d.ts +6 -4
  221. package/types/lucca-front-ng-establishment.d.ts +3 -39
  222. package/types/lucca-front-ng-file-upload.d.ts +18 -8
  223. package/types/lucca-front-ng-filter-pills.d.ts +6 -5
  224. package/types/lucca-front-ng-form-field.d.ts +35 -5
  225. package/types/lucca-front-ng-form.d.ts +9 -5
  226. package/types/lucca-front-ng-forms-phone-number-input.d.ts +1 -0
  227. package/types/lucca-front-ng-forms-rich-text-input.d.ts +16 -16
  228. package/types/lucca-front-ng-forms.d.ts +51 -12
  229. package/types/lucca-front-ng-input.d.ts +2 -2
  230. package/types/lucca-front-ng-link.d.ts +4 -5
  231. package/types/lucca-front-ng-mobile-push.d.ts +2 -2
  232. package/types/lucca-front-ng-multi-select.d.ts +26 -24
  233. package/types/lucca-front-ng-option.d.ts +86 -149
  234. package/types/lucca-front-ng-pagination.d.ts +2 -2
  235. package/types/lucca-front-ng-plg-push.d.ts +2 -2
  236. package/types/lucca-front-ng-popover.d.ts +1 -20
  237. package/types/lucca-front-ng-popover2.d.ts +4 -4
  238. package/types/lucca-front-ng-read-more.d.ts +9 -9
  239. package/types/lucca-front-ng-simple-select.d.ts +5 -4
  240. package/types/lucca-front-ng-text-flow.d.ts +8 -0
  241. package/types/lucca-front-ng-time.d.ts +22 -16
  242. package/types/lucca-front-ng-toast.d.ts +2 -2
  243. package/types/lucca-front-ng-tooltip.d.ts +7 -14
  244. package/types/lucca-front-ng-user-popover.d.ts +6 -7
  245. package/types/lucca-front-ng-user.d.ts +6 -15
@@ -1,19 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, ElementRef, Renderer2, contentChild, Injector, Injectable, makeEnvironmentProviders, importProvidersFrom, assertInInjectionContext, DestroyRef, signal, viewChild, TemplateRef, runInInjectionContext, input, booleanAttribute } from '@angular/core';
2
+ import { ViewEncapsulation, ChangeDetectionStrategy, Component, inject, InjectionToken, Directive, input, ElementRef, Renderer2, contentChild, Injector, Injectable, makeEnvironmentProviders, importProvidersFrom, assertInInjectionContext, DestroyRef, signal, viewChild, TemplateRef, runInInjectionContext, booleanAttribute } from '@angular/core';
3
3
  import { ButtonComponent } from '@lucca-front/ng/button';
4
- import { getIntl } from '@lucca-front/ng/core';
4
+ import { intlInputOptions } from '@lucca-front/ng/core';
5
5
  import { IconComponent } from '@lucca-front/ng/icon';
6
6
  import { isObservable, of, take, merge, firstValueFrom, from, combineLatest, map as map$1, concat } from 'rxjs';
7
7
  import { map, filter, takeUntil, switchMap } from 'rxjs/operators';
8
8
  import { DIALOG_DATA, Dialog, DialogModule } from '@angular/cdk/dialog';
9
9
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
10
- import { Router, ActivatedRoute, RouterOutlet } from '@angular/router';
10
+ import { RouteReuseStrategy, BaseRouteReuseStrategy, Router, ActivatedRoute, RouterOutlet } from '@angular/router';
11
11
 
12
12
  class DialogContentComponent {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: DialogContentComponent, isStandalone: true, selector: "lu-dialog-content", host: { classAttribute: "dialog-inside-content" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DialogContentComponent, isStandalone: true, selector: "lu-dialog-content", host: { classAttribute: "dialog-inside-content" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogContentComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogContentComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{
19
19
  selector: 'lu-dialog-content',
@@ -27,10 +27,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
27
27
  }] });
28
28
 
29
29
  class DialogFooterComponent {
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: DialogFooterComponent, isStandalone: true, selector: "lu-dialog-footer", host: { classAttribute: "dialog-inside-footer footer" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.footer{--components-footer-position: static;--components-footer-direction: row;--components-footer-alignItems: center;--components-footer-actions-margin: auto;--components-footer-paddingInline: var(--pr-t-spacings-200);background-color:var(--pr-t-elevation-surface-raised);padding-block:var(--pr-t-spacings-150);padding-inline:var(--components-footer-paddingInline);display:flex;justify-content:space-between;gap:var(--pr-t-spacings-200);align-items:var(--components-footer-alignItems);box-shadow:var(--pr-t-elevation-shadow-overflow);inset-block-end:0;position:var(--components-footer-position);flex-direction:var(--components-footer-direction)}.footer-content{flex-grow:1}.footer-actions{margin-inline-start:var(--components-footer-actions-margin);display:flex;gap:var(--pr-t-spacings-150);flex-direction:var(--components-footer-direction)}.footer-containerOptional{display:flex;gap:var(--pr-t-spacings-200);align-items:var(--components-footer-alignItems);flex-grow:1;justify-content:space-between;flex-direction:var(--components-footer-direction);max-inline-size:var(--commons-container-maxWidth);padding:var(--commons-container-padding)}}@layer mods{.footer.mod-sticky{--components-footer-position: sticky}.footer.mod-narrow{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}@media not all and (min-width:30em){.footer:not([class*=mod-narrow]),.footer.mod-narrowAtMediaMaxXXS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:40em){.footer.mod-narrowAtMediaMaxXS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:50em){.footer.mod-narrowAtMediaMaxS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:64em){.footer.mod-narrowAtMediaMaxM{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media(min-width:50em){.footer{--components-footer-paddingInline: var(--pr-t-spacings-400)}}.dialog .footer,.lu-modal-panel .footer{--components-footer-paddingInline: var(--pr-t-spacings-300);--commons-container-padding: 0}.footer:has(.footer-containerOptional){--components-footer-paddingInline: 0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: DialogFooterComponent, isStandalone: true, selector: "lu-dialog-footer", host: { classAttribute: "dialog-inside-footer footer" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.footer{--components-footer-position: static;--components-footer-direction: row;--components-footer-alignItems: center;--components-footer-actions-margin: auto;--components-footer-paddingInline: var(--pr-t-spacings-200);background-color:var(--pr-t-elevation-surface-raised);padding-block:var(--pr-t-spacings-150);padding-inline:var(--components-footer-paddingInline);display:flex;justify-content:space-between;gap:var(--pr-t-spacings-200);align-items:var(--components-footer-alignItems);box-shadow:var(--pr-t-elevation-shadow-overflow);inset-block-end:0;position:var(--components-footer-position);flex-direction:var(--components-footer-direction)}.footer-content{flex-grow:1}.footer-actions{margin-inline-start:var(--components-footer-actions-margin);display:flex;gap:var(--pr-t-spacings-150);flex-direction:var(--components-footer-direction)}.footer-containerOptional{display:flex;gap:var(--pr-t-spacings-200);align-items:var(--components-footer-alignItems);flex-grow:1;justify-content:space-between;flex-direction:var(--components-footer-direction);max-inline-size:var(--commons-container-maxWidth);padding:var(--commons-container-padding)}}@layer mods{.footer.mod-sticky{--components-footer-position: sticky}.footer.mod-narrow{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}@media not all and (min-width:30em){.footer:not([class*=mod-narrow]),.footer.mod-narrowAtMediaMaxXXS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:40em){.footer.mod-narrowAtMediaMaxXS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:50em){.footer.mod-narrowAtMediaMaxS{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media not all and (min-width:64em){.footer.mod-narrowAtMediaMaxM{--components-footer-direction: column;--components-footer-alignItems: stretch;--components-footer-actions-margin: 0}}@media(min-width:50em){.footer{--components-footer-paddingInline: var(--pr-t-spacings-400)}}.dialog .footer,.lu-modal-panel .footer{--components-footer-paddingInline: var(--pr-t-spacings-300);--commons-container-padding: 0}.footer:has(.footer-containerOptional){--components-footer-paddingInline: 0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogFooterComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogFooterComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'lu-dialog-footer', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
36
36
  class: 'dialog-inside-footer footer',
@@ -141,10 +141,10 @@ const luDialogHeaderTranslations = Translations;
141
141
 
142
142
  let nextId = 0;
143
143
  class DialogHeaderAction {
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogHeaderAction, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: DialogHeaderAction, isStandalone: true, selector: "[dialogHeaderAction]", ngImport: i0 }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogHeaderAction, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: DialogHeaderAction, isStandalone: true, selector: "[dialogHeaderAction]", ngImport: i0 }); }
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogHeaderAction, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogHeaderAction, decorators: [{
148
148
  type: Directive,
149
149
  args: [{
150
150
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -154,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
154
154
  class DialogHeaderComponent {
155
155
  constructor() {
156
156
  this.#ref = inject(LuDialogRef);
157
- this.intl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);
157
+ this.intl = input(...intlInputOptions(LU_DIALOG_HEADER_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
158
158
  this.dismissible = !this.#ref.config.alert;
159
159
  this.#elementRef = inject(ElementRef);
160
160
  this.#renderer = inject(Renderer2);
@@ -178,15 +178,15 @@ class DialogHeaderComponent {
178
178
  this.#ref.cdkRef.containerInstance?._addAriaLabelledBy(id);
179
179
  });
180
180
  }
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: DialogHeaderComponent, isStandalone: true, selector: "lu-dialog-header", host: { classAttribute: "dialog-inside-header" }, queries: [{ propertyName: "optionalAction", first: true, predicate: DialogHeaderAction, descendants: true, isSignal: true }], ngImport: i0, template: "@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: DialogHeaderComponent, isStandalone: true, selector: "lu-dialog-header", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dialog-inside-header" }, queries: [{ propertyName: "optionalAction", first: true, predicate: DialogHeaderAction, descendants: true, isSignal: true }], ngImport: i0, template: "@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl().close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
183
183
  }
184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogHeaderComponent, decorators: [{
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogHeaderComponent, decorators: [{
185
185
  type: Component,
186
186
  args: [{ selector: 'lu-dialog-header', standalone: true, imports: [IconComponent, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
187
187
  class: 'dialog-inside-header',
188
- }, template: "@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n" }]
189
- }], propDecorators: { optionalAction: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DialogHeaderAction), { isSignal: true }] }] } });
188
+ }, template: "@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl().close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n" }]
189
+ }], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], optionalAction: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DialogHeaderAction), { isSignal: true }] }] } });
190
190
 
191
191
  class LuDialogService {
192
192
  #cdkDialog = inject(Dialog);
@@ -252,10 +252,10 @@ class LuDialogService {
252
252
  }
253
253
  return luDialogRef;
254
254
  }
255
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
256
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuDialogService }); }
255
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
256
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuDialogService }); }
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuDialogService, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuDialogService, decorators: [{
259
259
  type: Injectable
260
260
  }] });
261
261
 
@@ -270,6 +270,26 @@ const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken('DIALOG_ROUTE_CLOSE_TRIGGE
270
270
  const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken('DIALOG_ROUTE_DISMISS_TRIGGER');
271
271
  const DIALOG_ROUTE_CONFIG = new InjectionToken('DIALOG_ROUTE_CONFIG');
272
272
 
273
+ function provideDialogRoutingReuseStrategy() {
274
+ return makeEnvironmentProviders([{ provide: RouteReuseStrategy, useClass: LuccaDialogRoutingReuseStrategy }]);
275
+ }
276
+ const noRouteReuseFlag = Symbol('ɵdoNotReuseComponentFlag');
277
+ class LuccaDialogRoutingReuseStrategy extends BaseRouteReuseStrategy {
278
+ shouldReuseRoute(future, current) {
279
+ const base = super.shouldReuseRoute(future, current);
280
+ if (!base) {
281
+ return false;
282
+ }
283
+ // Modal should close then re-open when navigating to the same route with different parameters
284
+ if (future.component?.[noRouteReuseFlag]) {
285
+ const futureUrlSegments = future.url.map((s) => s.path).join('/');
286
+ const currentUrlSegments = current.url.map((s) => s.path).join('/');
287
+ return futureUrlSegments === currentUrlSegments;
288
+ }
289
+ return true;
290
+ }
291
+ }
292
+
273
293
  async function deferrableToPromise(deferrable) {
274
294
  return isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;
275
295
  }
@@ -356,6 +376,7 @@ function toCanDeactivateFn(guard) {
356
376
  }
357
377
  }
358
378
 
379
+ var _a;
359
380
  function defaultOnClosedFn() {
360
381
  let trigger = null;
361
382
  try {
@@ -393,12 +414,14 @@ class DialogRoutingContainerComponent {
393
414
  this.dialogComponentInstance = signal(null, ...(ngDevMode ? [{ debugName: "dialogComponentInstance" }] : []));
394
415
  this.dialogTemplate = viewChild.required(TemplateRef);
395
416
  }
417
+ static { _a = noRouteReuseFlag; }
396
418
  #route;
397
419
  #router;
398
420
  #destroyRef;
399
421
  #dialog;
400
422
  #closeTrigger;
401
423
  #ref;
424
+ static { this[_a] = true; }
402
425
  get #routeData() {
403
426
  return this.#route.snapshot.data;
404
427
  }
@@ -505,8 +528,8 @@ class DialogRoutingContainerComponent {
505
528
  const resolved = runInInjectionContext(this.injector, resolveFn);
506
529
  return deferrableToPromise(resolved);
507
530
  }
508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogRoutingContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
509
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.6", type: DialogRoutingContainerComponent, isStandalone: true, selector: "lu-dialog-routing-container", providers: [
531
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogRoutingContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
532
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.8", type: DialogRoutingContainerComponent, isStandalone: true, selector: "lu-dialog-routing-container", providers: [
510
533
  provideLuDialog(),
511
534
  {
512
535
  provide: DIALOG_ROUTE_CONFIG,
@@ -518,7 +541,7 @@ class DialogRoutingContainerComponent {
518
541
  </ng-template>
519
542
  `, isInline: true, styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
520
543
  }
521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogRoutingContainerComponent, decorators: [{
544
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogRoutingContainerComponent, decorators: [{
522
545
  type: Component,
523
546
  args: [{ selector: 'lu-dialog-routing-container', imports: [RouterOutlet], template: `
524
547
  <ng-template>
@@ -555,10 +578,10 @@ class DialogComponent {
555
578
  focusable?.focus();
556
579
  }
557
580
  }
558
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
559
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: DialogComponent, isStandalone: true, selector: "lu-dialog", inputs: { stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dialog-inside" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.dialog{--components-dialog-size: 40rem;--components-dialog-width: var(--components-dialog-size);--components-dialog-height: fit-content;--components-dialog-maxWidth: calc(100vw - (var(--pr-t-spacings-200) * 2));--components-dialog-maxHeight: calc(100dvh - (var(--pr-t-spacings-200) * 2));--components-dialog-maxHeightFallback: calc(100vh - (var(--pr-t-spacings-200) * 2));--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-inset: 0;--components-dialog-animationOpening: scaleIn;--components-dialog-insideHeaderAreas: \"container close\";--components-dialog-insideHeaderTitleAlign: left;--components-dialog-insideHeaderTitlePadding: calc(var(--pr-t-spacings-50) / 2) 0;--components-dialog-insideHeaderButtonDisplay: flex;--components-dialog-insideHeaderLinkDisplay: none;--components-dialog-insideHeaderColumns: 1fr auto auto;--components-dialog-insideContent-background: transparent;--components-dialog-level: 0;--components-dialog-translate-spacing: var(--pr-t-spacings-500);--components-dialog-translate: calc(var(--components-dialog-translate-spacing) * var(--components-dialog-level) * -1);--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-scale: calc(1 - (var(--components-dialog-level) * .05));animation-name:var(--components-dialog-animationOpening);animation-duration:var(--commons-animations-durations-standard);inset:var(--components-dialog-inset);inline-size:var(--components-dialog-width);block-size:var(--components-dialog-height);background-color:var(--palettes-neutral-0);border-radius:var(--components-dialog-borderRadius);box-shadow:var(--pr-t-elevation-shadow-overlay);margin:auto;flex-direction:column;display:flex!important;position:fixed!important;max-inline-size:var(--components-dialog-maxWidth)!important;max-block-size:var(--components-dialog-maxHeight)!important;transition-property:scale,translate,inline-size,block-size,inset;transition-duration:var(--commons-animations-durations-standard);overflow:hidden;translate:var(--components-dialog-translateX) var(--components-dialog-translateY);scale:var(--components-dialog-scale)}@supports not (height: 1dvh){.dialog{--components-dialog-maxHeight: var(--components-dialog-maxHeightFallback)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form){display:contents}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-inside-formOptional,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-formOptional,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-form{display:grid;grid-template-areas:\"header\" \"overflow\" \"footer\";grid-template-rows:auto 1fr auto;flex-grow:1;min-block-size:0}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-inside-formOptional:has(.dialog-inside-content:focus-visible):after,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-formOptional:has(.dialog-inside-content:focus-visible):after,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-form:has(.dialog-inside-content:focus-visible):after{outline:2px solid var(--palettes-product-700);outline-offset:-4px;content:\"\";grid-area:overflow}.dialog-inside:not(:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form)){display:grid;grid-template-areas:\"header\" \"overflow\" \"footer\";grid-template-rows:auto 1fr auto;flex-grow:1;min-block-size:0}.dialog-inside:not(:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form)):has(.dialog-inside-content:focus-visible):after{outline:2px solid var(--palettes-product-700);outline-offset:-4px;content:\"\";grid-area:overflow}.dialog-inside-header-actionOptional{margin-right:calc(var(--pr-t-spacings-100) * -1)}.dialog-inside-header-actionOptional:empty{display:none}.dialog-inside-footer{grid-area:footer}.dialog-inside-footer.footer{background-color:transparent;position:relative;overflow:hidden}.dialog-inside-header{display:grid;padding-block:var(--pr-t-spacings-200);padding-inline:var(--pr-t-spacings-300);grid-template-areas:var(--components-dialog-insideHeaderAreas);grid-template-columns:var(--components-dialog-insideHeaderColumns);box-shadow:0 1px 0 0 var(--palettes-neutral-100);gap:var(--pr-t-spacings-200);position:relative;z-index:1;grid-area:header}.dialog-inside-content{background-color:var(--components-dialog-insideContent-background);padding-block:var(--pr-t-spacings-200);padding-inline:var(--pr-t-spacings-300);grid-area:overflow;overflow:auto;outline:none}.dialog-inside-header-container{grid-area:container}.dialog-inside-header-container-title{font:var(--pr-t-font-heading-2);padding:var(--components-dialog-insideHeaderTitlePadding);text-align:var(--components-dialog-insideHeaderTitleAlign);margin:0;overflow-wrap:anywhere}.dialog_backdrop{background-color:var(--palettes-neutral-900);position:fixed;opacity:.4!important;inset:0}}@layer mods{.dialog.mod-XS{--components-dialog-size: 25rem}.dialog.mod-S{--components-dialog-size: 30rem}.dialog.mod-fitContent{--components-dialog-size: fit-content}.dialog.mod-maxContent{--components-dialog-size: 100%;--components-dialog-height: calc(100% - var(--pr-t-spacings-100) * 2)}.dialog.mod-L{--components-dialog-size: 50rem}.dialog.mod-XL{--components-dialog-size: 60rem}.dialog.mod-XXL{--components-dialog-size: 100rem}.dialog.mod-neutralBackground{--components-dialog-insideContent-background: var(--pr-t-elevation-surface-default)}.dialog:where(.mod-drawer){--components-dialog-animationOpening: slideFromRight;--components-dialog-maxHeight: none;--components-dialog-maxHeightFallback: var(--components-dialog-maxHeight);--components-dialog-height: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-maxWidth: calc(100vw - var(--pr-t-spacings-200));--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-inset: var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100) auto;--components-dialog-translateX: var(--components-dialog-translate);--components-dialog-translateY: 0;--components-dialog-translate-spacing: calc(var(--pr-t-spacings-500) * 2)}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.dialog:where(.mod-drawer):where(.mod-fromBottom){--components-dialog-animationOpening: slideFromBottom;--components-dialog-maxHeight: calc(100dvh - var(--pr-t-spacings-200));--components-dialog-maxHeightFallback: calc(100vh - var(--pr-t-spacings-200));--components-dialog-maxWidth: none;--components-dialog-inset: auto var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100);--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-width: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-height: fit-content;--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-translate-spacing: var(--pr-t-spacings-500)}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media not all and (min-width:30em){.dialog:where(.mod-drawer){--components-dialog-animationOpening: slideFromBottom;--components-dialog-maxHeight: calc(100dvh - var(--pr-t-spacings-200));--components-dialog-maxHeightFallback: calc(100vh - var(--pr-t-spacings-200));--components-dialog-maxWidth: none;--components-dialog-inset: auto var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100);--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-width: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-height: fit-content;--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-translate-spacing: var(--pr-t-spacings-500)}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.dialog.mod-fullScreen{--components-dialog-height: 100%;--components-dialog-width: 100%;--components-dialog-maxWidth: none;--components-dialog-maxHeight: none;--components-dialog-maxHeightFallback: var(--components-dialog-maxHeight);--components-dialog-borderRadius: 0;--components-dialog-inset: 0}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:hover,.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75);align-self:start;justify-self:end;grid-area:close;display:var(--components-dialog-insideHeaderButtonDisplay)}.dialog:has(.dialog-inside-header-actionOptional:not(:empty)){--components-dialog-insideHeaderAreas: \"container action close\"}}.dialog .cdk-dialog-container{flex-grow:1;inline-size:auto;block-size:auto;display:flex;flex-direction:column;min-block-size:0}.dialog .cdk-dialog-container>router-outlet+*{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
581
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
582
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: DialogComponent, isStandalone: true, selector: "lu-dialog", inputs: { stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dialog-inside" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.dialog{--components-dialog-size: 40rem;--components-dialog-width: var(--components-dialog-size);--components-dialog-height: fit-content;--components-dialog-maxWidth: calc(100vw - (var(--pr-t-spacings-200) * 2));--components-dialog-maxHeight: calc(100dvh - (var(--pr-t-spacings-200) * 2));--components-dialog-maxHeightFallback: calc(100vh - (var(--pr-t-spacings-200) * 2));--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-inset: 0;--components-dialog-animationOpening: scaleIn;--components-dialog-insideHeaderAreas: \"container close\";--components-dialog-insideHeaderTitleAlign: left;--components-dialog-insideHeaderTitlePadding: calc(var(--pr-t-spacings-50) / 2) 0;--components-dialog-insideHeaderButtonDisplay: flex;--components-dialog-insideHeaderLinkDisplay: none;--components-dialog-insideHeaderColumns: 1fr auto auto;--components-dialog-insideContent-background: transparent;--components-dialog-level: 0;--components-dialog-translate-spacing: var(--pr-t-spacings-500);--components-dialog-translate: calc(var(--components-dialog-translate-spacing) * var(--components-dialog-level) * -1);--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-scale: calc(1 - (var(--components-dialog-level) * .05));animation-name:var(--components-dialog-animationOpening);animation-duration:var(--commons-animations-durations-standard);inset:var(--components-dialog-inset);inline-size:var(--components-dialog-width);block-size:var(--components-dialog-height);background-color:var(--palettes-neutral-0);border-radius:var(--components-dialog-borderRadius);box-shadow:var(--pr-t-elevation-shadow-overlay);margin:auto;flex-direction:column;display:flex!important;position:fixed!important;max-inline-size:var(--components-dialog-maxWidth)!important;max-block-size:var(--components-dialog-maxHeight)!important;transition-property:scale,translate,inline-size,block-size,inset;transition-duration:var(--commons-animations-durations-standard);overflow:hidden;translate:var(--components-dialog-translateX) var(--components-dialog-translateY);scale:var(--components-dialog-scale)}@supports not (height: 1dvh){.dialog{--components-dialog-maxHeight: var(--components-dialog-maxHeightFallback)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form){display:contents}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-inside-formOptional,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-formOptional,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-form{display:grid;grid-template-areas:\"header\" \"overflow\" \"footer\";grid-template-rows:auto 1fr auto;flex-grow:1;min-block-size:0}.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-inside-formOptional:has(.dialog-inside-content:focus-visible):after,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-formOptional:has(.dialog-inside-content:focus-visible):after,.dialog-inside:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form) .dialog-form:has(.dialog-inside-content:focus-visible):after{outline:2px solid var(--palettes-product-700);outline-offset:-4px;content:\"\";grid-area:overflow}.dialog-inside:not(:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form)){display:grid;grid-template-areas:\"header\" \"overflow\" \"footer\";grid-template-rows:auto 1fr auto;flex-grow:1;min-block-size:0}.dialog-inside:not(:has(.dialog-inside-formOptional,.dialog-formOptional,.dialog-form)):has(.dialog-inside-content:focus-visible):after{outline:2px solid var(--palettes-product-700);outline-offset:-4px;content:\"\";grid-area:overflow}.dialog-inside-header-actionOptional{margin-right:calc(var(--pr-t-spacings-100) * -1)}.dialog-inside-header-actionOptional:empty{display:none}.dialog-inside-footer{grid-area:footer}.dialog-inside-footer.footer{background-color:transparent;position:relative;overflow:hidden}.dialog-inside-header{display:grid;padding-block:var(--pr-t-spacings-200);padding-inline:var(--pr-t-spacings-300);grid-template-areas:var(--components-dialog-insideHeaderAreas);grid-template-columns:var(--components-dialog-insideHeaderColumns);box-shadow:0 1px 0 0 var(--palettes-neutral-100);gap:var(--pr-t-spacings-200);position:relative;z-index:1;grid-area:header}.dialog-inside-content{background-color:var(--components-dialog-insideContent-background);padding-block:var(--pr-t-spacings-200);padding-inline:var(--pr-t-spacings-300);grid-area:overflow;overflow:auto;outline:none}.dialog-inside-header-container{grid-area:container}.dialog-inside-header-container-title{font:var(--pr-t-font-heading-2);padding:var(--components-dialog-insideHeaderTitlePadding);text-align:var(--components-dialog-insideHeaderTitleAlign);margin:0;overflow-wrap:anywhere}.dialog_backdrop{background-color:var(--palettes-neutral-900);position:fixed;opacity:.4!important;inset:0}}@layer mods{.dialog.mod-XS{--components-dialog-size: 25rem}.dialog.mod-S{--components-dialog-size: 30rem}.dialog.mod-fitContent{--components-dialog-size: fit-content}.dialog.mod-maxContent{--components-dialog-size: 100%;--components-dialog-height: calc(100% - var(--pr-t-spacings-100) * 2)}.dialog.mod-L{--components-dialog-size: 50rem}.dialog.mod-XL{--components-dialog-size: 60rem}.dialog.mod-XXL{--components-dialog-size: 100rem}.dialog.mod-neutralBackground{--components-dialog-insideContent-background: var(--pr-t-elevation-surface-default)}.dialog:where(.mod-drawer){--components-dialog-animationOpening: slideFromRight;--components-dialog-maxHeight: none;--components-dialog-maxHeightFallback: var(--components-dialog-maxHeight);--components-dialog-height: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-maxWidth: calc(100vw - var(--pr-t-spacings-200));--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-inset: var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100) auto;--components-dialog-translateX: var(--components-dialog-translate);--components-dialog-translateY: 0;--components-dialog-translate-spacing: calc(var(--pr-t-spacings-500) * 2)}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.dialog:where(.mod-drawer):where(.mod-fromBottom){--components-dialog-animationOpening: slideFromBottom;--components-dialog-maxHeight: calc(100dvh - var(--pr-t-spacings-200));--components-dialog-maxHeightFallback: calc(100vh - var(--pr-t-spacings-200));--components-dialog-maxWidth: none;--components-dialog-inset: auto var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100);--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-width: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-height: fit-content;--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-translate-spacing: var(--pr-t-spacings-500)}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media not all and (min-width:30em){.dialog:where(.mod-drawer){--components-dialog-animationOpening: slideFromBottom;--components-dialog-maxHeight: calc(100dvh - var(--pr-t-spacings-200));--components-dialog-maxHeightFallback: calc(100vh - var(--pr-t-spacings-200));--components-dialog-maxWidth: none;--components-dialog-inset: auto var(--pr-t-spacings-100) var(--pr-t-spacings-100) var(--pr-t-spacings-100);--components-dialog-borderRadius: var(--pr-t-border-radius-structure);--components-dialog-width: calc(100% - var(--pr-t-spacings-100) * 2);--components-dialog-height: fit-content;--components-dialog-translateX: 0;--components-dialog-translateY: var(--components-dialog-translate);--components-dialog-translate-spacing: var(--pr-t-spacings-500)}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.dialog.mod-fullScreen{--components-dialog-height: 100%;--components-dialog-width: 100%;--components-dialog-maxWidth: none;--components-dialog-maxHeight: none;--components-dialog-maxHeightFallback: var(--components-dialog-maxHeight);--components-dialog-borderRadius: 0;--components-dialog-inset: 0}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:hover,.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.dialog:has(.dialog-inside-header-button) .dialog-inside-header-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-padding: var(--pr-t-spacings-75);align-self:start;justify-self:end;grid-area:close;display:var(--components-dialog-insideHeaderButtonDisplay)}.dialog:has(.dialog-inside-header-actionOptional:not(:empty)){--components-dialog-insideHeaderAreas: \"container action close\"}}.dialog .cdk-dialog-container{flex-grow:1;inline-size:auto;block-size:auto;display:flex;flex-direction:column;min-block-size:0}.dialog .cdk-dialog-container>router-outlet+*{display:contents}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
560
583
  }
561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogComponent, decorators: [{
584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogComponent, decorators: [{
562
585
  type: Component,
563
586
  args: [{ selector: 'lu-dialog', template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
564
587
  class: 'dialog-inside',
@@ -570,10 +593,10 @@ class DialogCloseDirective {
570
593
  close() {
571
594
  this.#ref.close();
572
595
  }
573
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
574
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: DialogCloseDirective, isStandalone: true, selector: "[luDialogClose]", host: { listeners: { "click": "close()" } }, ngImport: i0 }); }
596
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
597
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: DialogCloseDirective, isStandalone: true, selector: "[luDialogClose]", host: { listeners: { "click": "close()" } }, ngImport: i0 }); }
575
598
  }
576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogCloseDirective, decorators: [{
599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogCloseDirective, decorators: [{
577
600
  type: Directive,
578
601
  args: [{
579
602
  selector: '[luDialogClose]',
@@ -588,10 +611,10 @@ class DialogDismissDirective {
588
611
  close() {
589
612
  this.#ref.dismiss();
590
613
  }
591
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
592
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: DialogDismissDirective, isStandalone: true, selector: "[luDialogDismiss]", host: { listeners: { "click": "close()" } }, ngImport: i0 }); }
614
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogDismissDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
615
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: DialogDismissDirective, isStandalone: true, selector: "[luDialogDismiss]", host: { listeners: { "click": "close()" } }, ngImport: i0 }); }
593
616
  }
594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogDismissDirective, decorators: [{
617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogDismissDirective, decorators: [{
595
618
  type: Directive,
596
619
  args: [{
597
620
  selector: '[luDialogDismiss]',
@@ -614,10 +637,10 @@ class DialogOpenDirective {
614
637
  content: this.dialog(),
615
638
  });
616
639
  }
617
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogOpenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
618
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: DialogOpenDirective, isStandalone: true, selector: "[luDialogOpen]", inputs: { dialog: { classPropertyName: "dialog", publicName: "luDialogOpen", isSignal: true, isRequired: true, transformFunction: null }, luDialogConfig: { classPropertyName: "luDialogConfig", publicName: "luDialogConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "click()" } }, providers: [provideLuDialog()], ngImport: i0 }); }
640
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogOpenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
641
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: DialogOpenDirective, isStandalone: true, selector: "[luDialogOpen]", inputs: { dialog: { classPropertyName: "dialog", publicName: "luDialogOpen", isSignal: true, isRequired: true, transformFunction: null }, luDialogConfig: { classPropertyName: "luDialogConfig", publicName: "luDialogConfig", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "click()" } }, providers: [provideLuDialog()], ngImport: i0 }); }
619
642
  }
620
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DialogOpenDirective, decorators: [{
643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: DialogOpenDirective, decorators: [{
621
644
  type: Directive,
622
645
  args: [{
623
646
  selector: '[luDialogOpen]',
@@ -632,5 +655,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
632
655
  * Generated bundle index. Do not edit.
633
656
  */
634
657
 
635
- export { DIALOG_ROUTE_CLOSE_TRIGGER, DIALOG_ROUTE_CONFIG, DIALOG_ROUTE_DISMISS_TRIGGER, DialogCloseDirective, DialogComponent, DialogContentComponent, DialogDismissDirective, DialogFooterComponent, DialogHeaderAction, DialogHeaderComponent, DialogOpenDirective, DialogRoutingContainerComponent, LU_DIALOG_HEADER_TRANSLATIONS, LuDialogRef, LuDialogService, configureLuDialog, createDialogRoute, defaultOnClosedFn, dialogLazyRouteFactory, dialogRouteFactory, injectDialogData, injectDialogRef, luDialogHeaderTranslations, provideLuDialog };
658
+ export { DIALOG_ROUTE_CLOSE_TRIGGER, DIALOG_ROUTE_CONFIG, DIALOG_ROUTE_DISMISS_TRIGGER, DialogCloseDirective, DialogComponent, DialogContentComponent, DialogDismissDirective, DialogFooterComponent, DialogHeaderAction, DialogHeaderComponent, DialogOpenDirective, DialogRoutingContainerComponent, LU_DIALOG_HEADER_TRANSLATIONS, LuDialogRef, LuDialogService, LuccaDialogRoutingReuseStrategy, configureLuDialog, createDialogRoute, defaultOnClosedFn, dialogLazyRouteFactory, dialogRouteFactory, injectDialogData, injectDialogRef, luDialogHeaderTranslations, provideDialogRoutingReuseStrategy, provideLuDialog };
636
659
  //# sourceMappingURL=lucca-front-ng-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<ng-content />',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ntype BaseLuDialogConfig<C, TData = LuDialogData<C>> = {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: TData;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n};\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from './dialog-config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Subscription to the detachments of the dialog\n\t * This is used to close the dialog when it is detached\n\t */\n\tdetachSubscription: Subscription | null = null;\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C, TData>,\n\t) {\n\t\tthis.detachSubscription = cdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(this.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\n\t}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.detachSubscription?.unsubscribe();\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.detachSubscription?.unsubscribe();\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = getIntl(LU_DIALOG_HEADER_TRANSLATIONS);\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\toptionalAction = contentChild(DialogHeaderAction);\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl.close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\tlet luDialogRef: LuDialogRef<C, TData>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tluDialogRef.detachSubscription?.unsubscribe();\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<T>;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(deferrable);\n}\n\nexport function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map(\n\t\t\t\t\t\t(guard): CanDeactivateFn<C> =>\n\t\t\t\t\t\t\t(dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>>, config2: Partial<DialogRouteConfig<C>>): Partial<DialogRouteConfig<C>> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\t// If both configs have the same resolve key, we merge the objects\n\tif (config1.resolve && config2.resolve) {\n\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t.split('/')\n\t\t.map(() => '..')\n\t\t.join('/');\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, OnInit {\n\treadonly #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly config = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([this.#resolve(this.config.dataFactory), this.#resolve(this.config.dialogConfigFactory)]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T | undefined> {\n\t\tif (!resolveFn) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","import { AfterViewInit, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\treadonly stacked = input(false, { transform: booleanAttribute });\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.stacked()) {\n\t\t\tthis.dialogRef.cdkRef.overlayRef.addPanelClass('mod-stacked');\n\t\t}\n\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n\thost: {\n\t\t'(click)': 'click()',\n\t},\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\treadonly dialog = input.required<TemplateRef<void>>({ alias: 'luDialogOpen' });\n\n\treadonly luDialogConfig = input<LuDialogConfig<unknown>>();\n\n\tclick() {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig(),\n\t\t\tcontent: this.dialog(),\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-dialog.mjs","sources":["../../../packages/ng/dialog/dialog-content/dialog-content.component.ts","../../../packages/ng/dialog/dialog-footer/dialog-footer.component.ts","../../../packages/ng/dialog/model/dialog-config.ts","../../../packages/ng/dialog/model/dialog-ref.ts","../../../packages/ng/dialog/model/injectors.ts","../../../packages/ng/dialog/dialog-header/translations.ts","../../../packages/ng/dialog/dialog-header/dialog-header.translate.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.ts","../../../packages/ng/dialog/dialog-header/dialog-header.component.html","../../../packages/ng/dialog/dialog.service.ts","../../../packages/ng/dialog/dialog.providers.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.models.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.reuse-strategy.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.utils.ts","../../../packages/ng/dialog/dialog-routing/dialog-routing.component.ts","../../../packages/ng/dialog/dialog/dialog.component.ts","../../../packages/ng/dialog/directives/dialog-close.directive.ts","../../../packages/ng/dialog/directives/dialog-dismiss.directive.ts","../../../packages/ng/dialog/directives/dialog-open.directive.ts","../../../packages/ng/dialog/lucca-front-ng-dialog.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-content',\n\ttemplate: '<ng-content />',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-content',\n\t},\n})\nexport class DialogContentComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-dialog-footer',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog-footer.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-footer footer',\n\t},\n})\nexport class DialogFooterComponent {}\n","import { AutoFocusTarget, DialogConfig } from '@angular/cdk/dialog';\nimport { ComponentType } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nconst ɵdialogData = Symbol.for('luDialogData');\nconst ɵdialogResult = Symbol.for('luDialogResult');\n\nexport type ɵDialogDataFlag = { [ɵdialogData]: unknown };\nexport type ɵDialogResultFlag<R> = { [ɵdialogResult]: R };\n\nexport type LuDialogData<T> = {\n\t[K in keyof T]: T[K] extends ɵDialogDataFlag ? Omit<T[K], typeof ɵdialogData> : never;\n}[keyof T];\n\ntype DialogRefProps<C> = { [K in keyof C]: C[K] extends ɵDialogResultFlag<unknown> ? K : never }[keyof C] & keyof C;\nexport type LuDialogResult<C> = DialogRefProps<C> extends never ? void : C[DialogRefProps<C>] extends ɵDialogResultFlag<infer T> ? T : void;\n\ntype BaseLuDialogConfig<C, TData = LuDialogData<C>> = {\n\t/**\n\t * The component or template to put inside the dialog container\n\t */\n\tcontent: ComponentType<C> | TemplateRef<C>;\n\n\t/**\n\t * Data to pass to the component, will be required if the component used `injectDialogData` in a field, specifying the data that's needed.\n\t */\n\tdata: TData;\n\n\t/**\n\t * Should we put a backdrop? Defaults to true\n\t */\n\tmodal?: boolean;\n\n\t/**\n\t * Is this dialog a blocking popup that cannot be dismissed ?\n\t *\n\t * Defaults to false, setting this to true will also remove the close button in the header\n\t * if you're using `lu-dialog-header`.\n\t */\n\talert?: boolean;\n\n\t/**\n\t * Can be used if you don't have a header or aren't using the default one, to set an aria-label\n\t * instead of aria-labelledby on the dialog container\n\t */\n\tariaLabel?: string;\n\n\t/**\n\t * Autofocus target\n\t *\n\t * Defaults to the close button from the header, first-input is added by us to focus the first available input\n\t * or the first input that is contained inside a node that has the `.luDialog-autofocus` class\n\t */\n\tautoFocus?: AutoFocusTarget | 'first-input' | string;\n\n\t/**\n\t * This provides a way to override any of the configuration parameters expected by cdk's `Dialog.open` method.\n\t *\n\t * WARNING: this will take full authority and override with your values no matter what's computed by LuDialogService,\n\t * use with caution.\n\t */\n\tcdkConfigOverride?: DialogConfig<C>;\n\n\t/**\n\t * A hook function to determine if the current dialog can be closed or not, if provided.\n\t *\n\t * @param comp the instance of the component that's inside the dialog box.\n\t */\n\tcanClose?: (comp: C) => boolean | Observable<boolean>;\n\n\t/**\n\t * Determine if the current dialog can be close by a click on backdrop or escape key\n\t */\n\tcanCloseWithBackdrop?: boolean;\n\n\t/**\n\t * The size of the panel used for the dialog\n\t */\n\tsize?: 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL' | 'fitContent' | `maxContent` | 'fullScreen';\n\n\t/**\n\t * Should it be a modal (default), a drawer? a drawer from bottom?\n\t */\n\tmode?: 'default' | 'drawer' | 'drawer-from-bottom';\n\n\t/**\n\t * Classes to add to the panel\n\t */\n\tpanelClasses?: string[];\n};\n\nexport type LuDialogConfig<T, TData = LuDialogData<T>> = [TData] extends [never] ? Omit<BaseLuDialogConfig<T, TData>, 'data'> : BaseLuDialogConfig<T, TData>;\n","import { DialogRef } from '@angular/cdk/dialog';\nimport { isObservable, Observable, of, Subscription, take } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from './dialog-config';\n\nexport const DISMISSED_VALUE = {} as const;\n\nfunction isDismissed(v: unknown): v is typeof DISMISSED_VALUE {\n\treturn v === DISMISSED_VALUE;\n}\n\nexport class LuDialogRef<C = unknown, TData = LuDialogData<C>> {\n\t/**\n\t * Instance of the component that's inside the dialog\n\t */\n\tget instance(): C {\n\t\treturn this.cdkRef.componentInstance;\n\t}\n\n\t/**\n\t * Subscription to the detachments of the dialog\n\t * This is used to close the dialog when it is detached\n\t */\n\tdetachSubscription: Subscription | null = null;\n\n\t/**\n\t * Emits when the dialog is closed\n\t *\n\t * Emits either the output of result$ or undefined depending on how it has been closed\n\t */\n\tclosed$: Observable<LuDialogResult<C> | undefined> = this.cdkRef.closed.pipe(map((res): LuDialogResult<C> | undefined => (isDismissed(res) ? undefined : res)));\n\n\t/**\n\t * Emits void when the dialog is dismissed\n\t */\n\tdismissed$: Observable<void> = this.cdkRef.closed.pipe(\n\t\tfilter((res) => res === DISMISSED_VALUE),\n\t\tmap((): void => undefined),\n\t);\n\n\t/**\n\t * Emits the result if it has a value that's not DISMISSED_VALUE\n\t */\n\tresult$: Observable<LuDialogResult<C>> = this.cdkRef.closed.pipe(filter((res): res is LuDialogResult<C> => !isDismissed(res)));\n\n\tconstructor(\n\t\tpublic readonly cdkRef: DialogRef<LuDialogResult<C> | typeof DISMISSED_VALUE, C>,\n\t\tpublic readonly config: LuDialogConfig<C, TData>,\n\t) {\n\t\tthis.detachSubscription = cdkRef.overlayRef\n\t\t\t.detachments()\n\t\t\t.pipe(takeUntil(this.closed$))\n\t\t\t.subscribe(() => {\n\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t});\n\t}\n\n\tdismiss(): void {\n\t\t// If we can't dismiss this dialog box, just ignore the dismiss call.\n\t\tif (this.config.alert) {\n\t\t\treturn;\n\t\t}\n\t\tconst canClose = this.config.canClose?.(this.instance) ?? true;\n\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\tcanClose$.pipe(take(1)).subscribe((close) => {\n\t\t\tif (close) {\n\t\t\t\tthis.detachSubscription?.unsubscribe();\n\t\t\t\tthis.cdkRef.close(DISMISSED_VALUE);\n\t\t\t}\n\t\t});\n\t}\n\n\tclose(res: LuDialogResult<C>): void {\n\t\tthis.detachSubscription?.unsubscribe();\n\t\tthis.cdkRef.close(res);\n\t}\n}\n\nexport type LuDialogSelfRef<R> = { dismiss(): void; close(res: R): void };\n","import { DIALOG_DATA } from '@angular/cdk/dialog';\nimport { inject } from '@angular/core';\nimport { ɵDialogDataFlag, ɵDialogResultFlag } from './dialog-config';\nimport { LuDialogRef, LuDialogSelfRef } from './dialog-ref';\n\nexport function injectDialogData<TData>(): TData & ɵDialogDataFlag {\n\treturn inject<TData & ɵDialogDataFlag>(DIALOG_DATA);\n}\n\nexport function injectDialogRef<R = void>(): LuDialogSelfRef<R> & ɵDialogResultFlag<R> {\n\treturn inject<LuDialogSelfRef<R>>(LuDialogRef) as LuDialogSelfRef<R> & ɵDialogResultFlag<R>;\n}\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_DIALOG_HEADER_TRANSLATIONS = new InjectionToken('LuDialogHeaderTranslations', {\n\tfactory: () => luDialogHeaderTranslations,\n});\n\nexport interface LuDialogHeaderTranslations {\n\tclose: string;\n}\n\nexport const luDialogHeaderTranslations: LuTranslation<LuDialogHeaderTranslations> = Translations;\n","import { CdkDialogContainer } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, contentChild, Directive, ElementRef, inject, input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuDialogRef } from '../model';\nimport { LU_DIALOG_HEADER_TRANSLATIONS } from './dialog-header.translate';\n\nlet nextId = 0;\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[dialogHeaderAction]',\n})\nexport class DialogHeaderAction {}\n\n@Component({\n\tselector: 'lu-dialog-header',\n\tstandalone: true,\n\timports: [IconComponent, ButtonComponent],\n\ttemplateUrl: './dialog-header.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside-header',\n\t},\n})\nexport class DialogHeaderComponent implements OnInit {\n\t#ref = inject(LuDialogRef);\n\n\tintl = input(...intlInputOptions(LU_DIALOG_HEADER_TRANSLATIONS));\n\n\tdismissible = !this.#ref.config.alert;\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#renderer = inject(Renderer2);\n\n\tclose(): void {\n\t\tthis.#ref.dismiss();\n\t}\n\n\toptionalAction = contentChild(DialogHeaderAction);\n\n\tngOnInit(): void {\n\t\t// Using setTimeout here to make sure this will be handled in the next Cd cycle, not the current one.\n\t\tsetTimeout(() => {\n\t\t\tconst header = this.#elementRef.nativeElement.querySelector('h1');\n\t\t\tconst id = header?.id || `lu-dialog-header-${nextId++}`;\n\t\t\tif (header) {\n\t\t\t\tthis.#renderer.setAttribute(header, 'id', id);\n\t\t\t\tthis.#renderer.addClass(header, 'dialog-inside-header-container-title');\n\t\t\t}\n\t\t\t(this.#ref.cdkRef.containerInstance as CdkDialogContainer)?._addAriaLabelledBy(id);\n\t\t});\n\t}\n}\n","@if (dismissible) {\n\t<button class=\"dialog-inside-header-button\" type=\"button\" luButton (click)=\"close()\">\n\t\t<lu-icon icon=\"signClose\" [alt]=\"intl().close\" />\n\t</button>\n}\n@if (optionalAction()) {\n\t<div class=\"dialog-inside-header-actionOptional\"><ng-content select=\"[dialogHeaderAction]\" /></div>\n}\n\n<div class=\"dialog-inside-header-container\">\n\t<ng-content />\n</div>\n","import { Dialog, DialogRef } from '@angular/cdk/dialog';\nimport { inject, Injectable, Injector, Renderer2 } from '@angular/core';\nimport { isObservable, merge, of, take } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\nimport { LuDialogConfig, LuDialogData, LuDialogRef, LuDialogResult } from './model';\nimport { DISMISSED_VALUE } from './model/dialog-ref';\n\n@Injectable()\nexport class LuDialogService {\n\t#cdkDialog = inject(Dialog);\n\n\t#injector = inject(Injector);\n\n\topen<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData> {\n\t\tlet luDialogRef: LuDialogRef<C, TData>;\n\t\tlet modeClasses: string[] = [];\n\t\tswitch (config.mode) {\n\t\t\tcase 'drawer':\n\t\t\t\tmodeClasses = ['mod-drawer'];\n\t\t\t\tbreak;\n\t\t\tcase 'drawer-from-bottom':\n\t\t\t\tmodeClasses = ['mod-drawer', 'mod-fromBottom'];\n\t\t\t\tbreak;\n\t\t}\n\t\tconst cdkRef = this.#cdkDialog.open(config.content, {\n\t\t\tariaModal: config.modal ?? true,\n\t\t\thasBackdrop: config.modal ?? true,\n\t\t\tdata: 'data' in config ? config.data : null,\n\t\t\tdisableClose: true,\n\t\t\tcloseOnDestroy: true,\n\t\t\trole: config.alert ? 'alertdialog' : 'dialog',\n\t\t\trestoreFocus: true,\n\t\t\tbackdropClass: 'dialog_backdrop',\n\t\t\tpanelClass: ['dialog', `mod-${config.size || 'M'}`, ...modeClasses, ...(config.panelClasses || [])],\n\t\t\tariaLabel: config.ariaLabel,\n\t\t\t// Handle manually\n\t\t\tcloseOnOverlayDetachments: false,\n\t\t\t// If focus is first-input, focus dialog and let the component do the rest\n\t\t\t// Else, just set it to config value or default to first-tabbable\n\t\t\tautoFocus: config.autoFocus === 'first-input' ? 'dialog' : (config.autoFocus ?? 'first-tabbable'),\n\t\t\ttemplateContext: () => ({ dialogRef: luDialogRef }),\n\t\t\tinjector: this.#injector,\n\t\t\tproviders: (ref: DialogRef<LuDialogResult<C>, C>) => {\n\t\t\t\tluDialogRef = new LuDialogRef(ref, config);\n\t\t\t\treturn [\n\t\t\t\t\t{\n\t\t\t\t\t\tprovide: LuDialogRef,\n\t\t\t\t\t\tuseValue: luDialogRef,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t},\n\t\t\t...(config.cdkConfigOverride || {}),\n\t\t});\n\n\t\tif (cdkRef.componentRef) {\n\t\t\tconst renderer = cdkRef.componentRef.injector.get(Renderer2);\n\t\t\trenderer.setStyle(cdkRef.componentRef.location.nativeElement, 'display', 'contents');\n\t\t}\n\n\t\tif (!config.alert) {\n\t\t\t// Setup close listeners on backdrop click and escape key by ourselves so we can hook the `canClose` method to it.\n\t\t\tmerge(cdkRef.backdropClick, cdkRef.keydownEvents.pipe(filter((e) => e.key === 'Escape' && !e.defaultPrevented)))\n\t\t\t\t.pipe(\n\t\t\t\t\tfilter(() => config.canCloseWithBackdrop ?? true),\n\t\t\t\t\tswitchMap(() => {\n\t\t\t\t\t\tconst canClose = config.canClose?.(cdkRef.componentInstance) ?? true;\n\t\t\t\t\t\tconst canClose$ = isObservable(canClose) ? canClose : of(canClose);\n\t\t\t\t\t\treturn canClose$.pipe(take(1));\n\t\t\t\t\t}),\n\t\t\t\t\ttakeUntil(luDialogRef.closed$),\n\t\t\t\t)\n\t\t\t\t.subscribe((canClose) => {\n\t\t\t\t\tif (canClose) {\n\t\t\t\t\t\tluDialogRef.detachSubscription?.unsubscribe();\n\t\t\t\t\t\tcdkRef.close(DISMISSED_VALUE);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\treturn luDialogRef;\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders, Provider } from '@angular/core';\nimport { DialogModule } from '@angular/cdk/dialog';\nimport { LuDialogService } from './dialog.service';\n\nexport function configureLuDialog(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(DialogModule)]);\n}\n\nexport function provideLuDialog(): Provider {\n\treturn LuDialogService;\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { LuDialogConfig, LuDialogData, LuDialogResult } from '../model';\nimport { DialogResolveFn } from './dialog-routing.utils';\n\nexport type DialogRouteComponentLoader<C> =\n\t| {\n\t\t\tcomponent: ComponentType<C>;\n\t }\n\t| {\n\t\t\tloadComponent: () => Promise<ComponentType<C>>;\n\t };\n\nexport type DialogRouteCloseTrigger = 'navigation' | 'dialog:closed';\nexport type DialogRouteDismissTrigger = 'navigation' | 'dialog:dismissed';\n\nexport type DialogRouteConfig<C> = DialogRouteComponentLoader<C> & {\n\tdialogConfigFactory: DialogResolveFn<DialogRouteDialogConfig<C>>;\n\tdataFactory: LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>;\n\t/**\n\t * When the dialog is closed, this callback is called with the result of the dialog.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was closed can retrieved using `inject(DIALOG_ROUTE_CLOSE_TRIGGER)`\n\t */\n\tonClosed?: (res: LuDialogResult<C>) => unknown;\n\t/**\n\t * When the dialog is dismissed, this callback is called.\n\t * This callback is called within injection context, so you can inject services in it.\n\t *\n\t * If needed, the reason the dialog was dismissed can retrieved using `inject(DIALOG_ROUTE_DISMISS_TRIGGER)`\n\t */\n\tonDismissed?: () => unknown;\n} & Omit<Route, 'component' | 'loadComponent'>;\n\nexport type DialogRouteDialogConfig<C> = Omit<LuDialogConfig<C>, 'data' | 'content'>;\n\nexport interface DialogRouteData<C> {\n\tdialogRouteConfig: DialogRouteConfig<C>;\n}\n\nexport const DIALOG_ROUTE_CLOSE_TRIGGER = new InjectionToken<DialogRouteCloseTrigger>('DIALOG_ROUTE_CLOSE_TRIGGER');\nexport const DIALOG_ROUTE_DISMISS_TRIGGER = new InjectionToken<DialogRouteDismissTrigger>('DIALOG_ROUTE_DISMISS_TRIGGER');\nexport const DIALOG_ROUTE_CONFIG = new InjectionToken<DialogRouteConfig<unknown>>('DIALOG_ROUTE_CONFIG');\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { ActivatedRouteSnapshot, BaseRouteReuseStrategy, RouteReuseStrategy } from '@angular/router';\n\nexport function provideDialogRoutingReuseStrategy(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([{ provide: RouteReuseStrategy, useClass: LuccaDialogRoutingReuseStrategy }]);\n}\n\nexport const noRouteReuseFlag = Symbol('ɵdoNotReuseComponentFlag');\n\nexport class LuccaDialogRoutingReuseStrategy extends BaseRouteReuseStrategy {\n\toverride shouldReuseRoute(future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean {\n\t\tconst base = super.shouldReuseRoute(future, current);\n\n\t\tif (!base) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Modal should close then re-open when navigating to the same route with different parameters\n\t\tif (future.component?.[noRouteReuseFlag]) {\n\t\t\tconst futureUrlSegments = future.url.map((s) => s.path).join('/');\n\t\t\tconst currentUrlSegments = current.url.map((s) => s.path).join('/');\n\t\t\treturn futureUrlSegments === currentUrlSegments;\n\t\t}\n\n\t\treturn true;\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject } from '@angular/core';\nimport { CanActivate, CanDeactivateFn, DeprecatedGuard, Route } from '@angular/router';\nimport { firstValueFrom, from, isObservable, Observable, of } from 'rxjs';\nimport { LuDialogData } from '../model';\nimport { DialogRoutingContainerComponent } from './dialog-routing.component';\nimport { DialogRouteConfig, DialogRouteData, DialogRouteDialogConfig } from './dialog-routing.models';\n\nexport type Deferrable<T> = Promise<T> | Observable<T> | T;\nexport type DialogResolveFn<T> = () => Deferrable<T>;\n\nexport async function deferrableToPromise<T>(deferrable: Promise<T> | Observable<T> | T): Promise<T> {\n\treturn isObservable(deferrable) ? firstValueFrom(deferrable) : deferrable;\n}\n\nexport function deferrableToObservable<T>(deferrable: Promise<T> | Observable<T> | T): Observable<T> {\n\treturn isObservable(deferrable) ? deferrable : deferrable instanceof Promise ? from(deferrable) : of(deferrable);\n}\n\nexport function createDialogRoute<C>(dialogRouteConfig: DialogRouteConfig<C>): Route {\n\tconst { dialogConfigFactory, dataFactory, canMatch, ...baseRoute } = dialogRouteConfig;\n\n\tconst data: DialogRouteData<C> = { dialogRouteConfig };\n\n\treturn {\n\t\tpath: dialogRouteConfig.path,\n\t\tcomponent: DialogRoutingContainerComponent,\n\t\tdata,\n\t\tcanMatch,\n\t\tchildren: [\n\t\t\t{\n\t\t\t\t...baseRoute,\n\t\t\t\tpath: '',\n\t\t\t\tcanDeactivate: dialogRouteConfig.canDeactivate\n\t\t\t\t\t?.map((fn) => toCanDeactivateFn(fn))\n\t\t\t\t\t?.map(\n\t\t\t\t\t\t(guard): CanDeactivateFn<C> =>\n\t\t\t\t\t\t\t(dialogComponentInstance, route, state, nextState) => {\n\t\t\t\t\t\t\t\t// If dialogComponentInstance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\t\t\t\t\t\tif (!dialogComponentInstance) {\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn guard(dialogComponentInstance, route, state, nextState);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t),\n\t\t\t},\n\t\t],\n\t};\n}\n\nexport type DialogFactoryResultOptions<C> = {\n\tpath: string;\n\tdialogRouteConfig?: Partial<Omit<DialogRouteConfig<C>, 'path' | 'component' | 'loadComponent' | 'dataFactory'>>;\n} & (LuDialogData<C> extends never\n\t? { dataFactory?: never }\n\t: {\n\t\t\tdataFactory: DialogResolveFn<LuDialogData<C>>;\n\t\t});\n\nexport type DialogFactoryResult<C> = (options: DialogFactoryResultOptions<C>) => Route;\n\nexport type DialogFactoryConfig<C> = Partial<{\n\tdialogConfig: DialogRouteDialogConfig<C>;\n\tdialogRouteConfig: Partial<DialogRouteConfig<C>>;\n}>;\n\nexport function dialogRouteFactory<C>(component: ComponentType<C>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tcomponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nexport function dialogLazyRouteFactory<C>(loadComponent: () => Promise<ComponentType<C>>, config?: DialogFactoryConfig<C>): DialogFactoryResult<C> {\n\treturn ({ path, dataFactory, dialogRouteConfig }) =>\n\t\tcreateDialogRoute<C>({\n\t\t\tpath,\n\t\t\tloadComponent,\n\t\t\tdataFactory: dataFactory as LuDialogData<C> extends never ? undefined : DialogResolveFn<LuDialogData<C>>,\n\t\t\tdialogConfigFactory: () => config?.dialogConfig ?? ({} as DialogRouteDialogConfig<C>),\n\t\t\t...mergeRouteConfig(config?.dialogRouteConfig, dialogRouteConfig),\n\t\t});\n}\n\nfunction mergeRouteConfig<C>(config1: Partial<DialogRouteConfig<C>>, config2: Partial<DialogRouteConfig<C>>): Partial<DialogRouteConfig<C>> {\n\tif (!config1) {\n\t\treturn config2;\n\t}\n\n\tif (!config2) {\n\t\treturn config1;\n\t}\n\n\tconst result: Partial<DialogRouteConfig<C>> = { ...config1, ...config2 };\n\n\t// If both configs have the same key, we merge the arrays\n\tconst mergedArrays = (['providers', 'canActivate', 'children', 'canDeactivate', 'canLoad', 'canActivateChild'] as const satisfies Array<keyof Route>).filter(\n\t\t(key) => key in config1 && key in config2,\n\t);\n\n\tfor (const key of mergedArrays) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tresult[key] = [...(config1[key] ?? []), ...(config2[key] ?? [])] as any[];\n\t}\n\n\t// If both configs have the same data key, we merge the objects\n\tif (config1.data && config2.data) {\n\t\tresult.data = { ...config1.data, ...config2.data };\n\t}\n\n\t// If both configs have the same resolve key, we merge the objects\n\tif (config1.resolve && config2.resolve) {\n\t\tresult.resolve = { ...config1.resolve, ...config2.resolve };\n\t}\n\n\treturn result;\n}\n\nexport function toCanDeactivateFn<C>(guard: DeprecatedGuard | CanDeactivateFn<C>): CanDeactivateFn<C> {\n\tif (typeof guard === 'string') {\n\t\tthrow new Error('String guards are not supported in dialog routes');\n\t}\n\n\ttry {\n\t\tconst deprectedGuard = inject(guard) as CanActivate;\n\t\treturn (_component, currentRoute, _currentState, nextState) => deprectedGuard.canActivate(currentRoute, nextState);\n\t} catch {\n\t\treturn guard as CanDeactivateFn<C>;\n\t}\n}\n","import { assertInInjectionContext, ChangeDetectionStrategy, Component, DestroyRef, inject, Injector, OnDestroy, OnInit, runInInjectionContext, signal, TemplateRef, viewChild } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActivatedRoute, CanDeactivateFn, DeprecatedGuard, GuardResult, Router, RouterOutlet } from '@angular/router';\nimport { combineLatest, concat, map, Observable, of } from 'rxjs';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogRef, LuDialogResult } from '../model';\nimport {\n\tDIALOG_ROUTE_CLOSE_TRIGGER,\n\tDIALOG_ROUTE_CONFIG,\n\tDIALOG_ROUTE_DISMISS_TRIGGER,\n\tDialogRouteCloseTrigger,\n\tDialogRouteData,\n\tDialogRouteDialogConfig,\n\tDialogRouteDismissTrigger,\n} from './dialog-routing.models';\nimport { noRouteReuseFlag } from './dialog-routing.reuse-strategy';\nimport { deferrableToObservable, deferrableToPromise, DialogResolveFn, toCanDeactivateFn } from './dialog-routing.utils';\n\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n */\nexport function defaultOnClosedFn(): void;\n/**\n * Default onClosed/onDismissed function that navigates back to the parent route when the dialog is closed or dismissed.\n * @deprecated Use non-generic version instead.\n */\nexport function defaultOnClosedFn<_C>(): void;\nexport function defaultOnClosedFn<C>(): void {\n\tlet trigger: DialogRouteCloseTrigger | DialogRouteDismissTrigger | null = null;\n\n\ttry {\n\t\tassertInInjectionContext(defaultOnClosedFn);\n\t\ttrigger = inject(DIALOG_ROUTE_CLOSE_TRIGGER, { optional: true }) ?? inject(DIALOG_ROUTE_DISMISS_TRIGGER, { optional: true });\n\t} catch {\n\t\t// Not in injection context, do nothing\n\t}\n\n\tif (trigger === 'navigation') {\n\t\t// If the dialog is closed because of a navigation, we don't need to do anything.\n\t\t// It would cancel the navigation that is already in progress.\n\t\treturn;\n\t}\n\n\tconst router = inject(Router);\n\tconst route = inject(ActivatedRoute);\n\tconst routeData = route.snapshot.data as DialogRouteData<C>;\n\tconst next = routeData.dialogRouteConfig.path\n\t\t.split('/')\n\t\t.map(() => '..')\n\t\t.join('/');\n\n\treturn void router.navigate([next], {\n\t\trelativeTo: route.children[0],\n\t\tqueryParamsHandling: 'preserve',\n\t});\n}\n\n@Component({\n\tselector: 'lu-dialog-routing-container',\n\timports: [RouterOutlet],\n\ttemplate: `\n\t\t<ng-template>\n\t\t\t<router-outlet (activate)=\"dialogComponentInstance.set($event)\" (deactivate)=\"dialogComponentInstance.set(null)\" />\n\t\t</ng-template>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t`,\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\tprovideLuDialog(),\n\t\t{\n\t\t\tprovide: DIALOG_ROUTE_CONFIG,\n\t\t\tuseFactory: () => inject(DialogRoutingContainerComponent).config,\n\t\t},\n\t],\n})\nexport class DialogRoutingContainerComponent<C> implements OnDestroy, OnInit {\n\treadonly #route = inject(ActivatedRoute);\n\treadonly #router = inject(Router);\n\treadonly #destroyRef = inject(DestroyRef);\n\treadonly #dialog = inject(LuDialogService);\n\treadonly injector = inject(Injector);\n\treadonly config = this.#routeData.dialogRouteConfig;\n\tprotected readonly dialogComponentInstance = signal<C | null>(null);\n\tprotected readonly dialogTemplate = viewChild.required(TemplateRef);\n\t#closeTrigger?: DialogRouteCloseTrigger | DialogRouteDismissTrigger;\n\n\t#ref?: LuDialogRef<C>;\n\n\tstatic [noRouteReuseFlag] = true;\n\n\tget #routeData(): DialogRouteData<C> {\n\t\treturn this.#route.snapshot.data as DialogRouteData<C>;\n\t}\n\n\tngOnInit(): void {\n\t\tvoid this.#openDialog();\n\t}\n\n\t/**\n\t * In this context, ngOnDestroy is called when the user navigates away from the route.\n\t * The navigation can be triggered:\n\t * - from within the dialog (#ref.dismissed => config.onClosed/defaultOnClosedFn/config.onDismissed/defaultOnClosedFn => ngOnDestroy)\n\t * - from router navigation (ngOnDestroy => #ref.dismissed => config.onDismissed/defaultOnClosedFn)\n\t */\n\tngOnDestroy(): void {\n\t\tthis.#closeTrigger ??= 'navigation';\n\t\tthis.#ref?.dismiss();\n\t}\n\n\tasync #openDialog(): Promise<void> {\n\t\tconst [data, dialogConfig] = await Promise.all([this.#resolve(this.config.dataFactory), this.#resolve(this.config.dialogConfigFactory)]);\n\n\t\tthis.#ref = this.#dialog.open<C>({\n\t\t\t...dialogConfig,\n\t\t\tcontent: this.dialogTemplate(),\n\t\t\tdata,\n\t\t\tcanClose: this.#getCanCloseFn(dialogConfig),\n\t\t});\n\n\t\tthis.#ref.result$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((result) => this.#onDialogClosed(result));\n\t\tthis.#ref.dismissed$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.#onDialogDismissed());\n\t}\n\n\t#getCanCloseFn(config: DialogRouteDialogConfig<C>): ((c: C) => Observable<boolean>) | undefined {\n\t\tconst canCloseFns: ((c: C) => Observable<boolean>)[] = [];\n\n\t\tif (config.canClose) {\n\t\t\tcanCloseFns.push((c: C) => deferrableToObservable(config.canClose(c)));\n\t\t}\n\n\t\tif (this.config.canDeactivate) {\n\t\t\tcanCloseFns.push(this.#getCanCloseFromGuardDialogFn(this.config.canDeactivate));\n\t\t}\n\n\t\treturn canCloseFns.length ? (c: C) => combineLatest(canCloseFns.map((fn) => fn(c))).pipe(map((results) => results.every((r) => r))) : undefined;\n\t}\n\n\t#getCanCloseFromGuardDialogFn(canDeactivate: (CanDeactivateFn<C> | DeprecatedGuard)[]): () => Observable<boolean> {\n\t\treturn () => {\n\t\t\tconst results$ = canDeactivate.map((cD) => this.callCanDeactivateFn(cD));\n\n\t\t\treturn concat(...results$).pipe(\n\t\t\t\tmap((guardResult) => {\n\t\t\t\t\tif (typeof guardResult === 'boolean') {\n\t\t\t\t\t\treturn guardResult;\n\t\t\t\t\t}\n\t\t\t\t\tvoid this.#router.navigate([guardResult]);\n\t\t\t\t\treturn true;\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t}\n\n\tcallCanDeactivateFn(canDeactivateFn: CanDeactivateFn<C> | DeprecatedGuard): Observable<GuardResult> {\n\t\tconst instance = this.dialogComponentInstance();\n\n\t\tif (!instance) {\n\t\t\t// If instance is null, it means the dialog is already closed. We allow deactivation in this case.\n\t\t\treturn of(true);\n\t\t}\n\n\t\tconst maybeAsyncResult = runInInjectionContext(this.injector, () => {\n\t\t\tconst canDeactivate = toCanDeactivateFn(canDeactivateFn);\n\t\t\treturn canDeactivate(instance, this.#route.snapshot, this.#router.routerState.snapshot, this.#router.routerState.snapshot);\n\t\t});\n\t\treturn deferrableToObservable(maybeAsyncResult);\n\t}\n\n\t#onDialogDismissed(): void {\n\t\tthis.#closeTrigger ??= 'dialog:dismissed';\n\n\t\tif (this.#closeTrigger === 'dialog:closed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_DISMISS_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onDismissed) {\n\t\t\t\tthis.config.onDismissed();\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\t#onDialogClosed(result: LuDialogResult<C>): void {\n\t\tthis.#closeTrigger ??= 'dialog:closed';\n\n\t\tif (this.#closeTrigger === 'dialog:dismissed') {\n\t\t\tthrow new Error('Dialog cannot be both closed and dismissed');\n\t\t}\n\n\t\tconst injector = Injector.create({\n\t\t\tparent: this.injector,\n\t\t\tproviders: [{ provide: DIALOG_ROUTE_CLOSE_TRIGGER, useValue: this.#closeTrigger }],\n\t\t});\n\n\t\trunInInjectionContext(injector, () => {\n\t\t\tif (this.config.onClosed) {\n\t\t\t\tthis.config.onClosed(result);\n\t\t\t} else {\n\t\t\t\tdefaultOnClosedFn();\n\t\t\t}\n\t\t});\n\n\t\tthis.#ref = undefined;\n\t}\n\n\tasync #resolve<T>(resolveFn: DialogResolveFn<T>): Promise<T | undefined> {\n\t\tif (!resolveFn) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst resolved = runInInjectionContext(this.injector, resolveFn);\n\t\treturn deferrableToPromise(resolved);\n\t}\n}\n","import { AfterViewInit, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Component({\n\tselector: 'lu-dialog',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './dialog.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'dialog-inside',\n\t},\n})\nexport class DialogComponent implements AfterViewInit {\n\tpublic readonly dialogRef = inject<LuDialogRef>(LuDialogRef);\n\n\treadonly stacked = input(false, { transform: booleanAttribute });\n\n\t#htmlElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n\n\tclose(): void {\n\t\tthis.dialogRef.close();\n\t}\n\n\tdismiss(): void {\n\t\tthis.dialogRef.dismiss();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tif (this.stacked()) {\n\t\t\tthis.dialogRef.cdkRef.overlayRef.addPanelClass('mod-stacked');\n\t\t}\n\n\t\tif (this.dialogRef.config.autoFocus === 'first-input' && !this.dialogRef.config.cdkConfigOverride?.autoFocus) {\n\t\t\tconst focusable: HTMLElement =\n\t\t\t\tthis.#htmlElement.querySelector('.luDialog-autofocus .luNativeInput') || this.#htmlElement.querySelector('.luDialog-autofocus') || this.#htmlElement.querySelector('.luNativeInput');\n\t\t\tfocusable?.focus();\n\t\t}\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogClose]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogCloseDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.close();\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { LuDialogRef } from '../model';\n\n@Directive({\n\tselector: '[luDialogDismiss]',\n\thost: {\n\t\t'(click)': 'close()',\n\t},\n})\nexport class DialogDismissDirective {\n\t#ref = inject<LuDialogRef>(LuDialogRef);\n\n\tclose() {\n\t\tthis.#ref.dismiss();\n\t}\n}\n","import { Directive, inject, input, TemplateRef } from '@angular/core';\nimport { provideLuDialog } from '../dialog.providers';\nimport { LuDialogService } from '../dialog.service';\nimport { LuDialogConfig } from '../model';\n\n@Directive({\n\tselector: '[luDialogOpen]',\n\tproviders: [provideLuDialog()],\n\thost: {\n\t\t'(click)': 'click()',\n\t},\n})\nexport class DialogOpenDirective {\n\t#dialogService = inject(LuDialogService);\n\n\treadonly dialog = input.required<TemplateRef<void>>({ alias: 'luDialogOpen' });\n\n\treadonly luDialogConfig = input<LuDialogConfig<unknown>>();\n\n\tclick() {\n\t\tthis.#dialogService.open({\n\t\t\t...this.luDialogConfig(),\n\t\t\tcontent: this.dialog(),\n\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["map"],"mappings":"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"}