@fundamental-ngx/core 0.46.0-rc.2 → 0.46.0-rc.21

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 (113) hide show
  1. package/button/base-button.d.ts +3 -1
  2. package/button/button.component.d.ts +6 -1
  3. package/content-density/content-density.module.d.ts +2 -3
  4. package/content-density/index.d.ts +3 -2
  5. package/content-density/provide-content-density.d.ts +7 -0
  6. package/date-picker/date-picker.component.d.ts +2 -0
  7. package/datetime-picker/datetime-picker.component.d.ts +4 -2
  8. package/dialog/base/dialog-base.service.d.ts +4 -3
  9. package/dialog/dialog-container/dialog-container.component.d.ts +8 -7
  10. package/dialog/index.d.ts +11 -10
  11. package/dialog/utils/dialog-container.model.d.ts +4 -0
  12. package/esm2022/avatar/avatar.component.mjs +3 -3
  13. package/esm2022/button/base-button.mjs +5 -3
  14. package/esm2022/button/button.component.mjs +21 -7
  15. package/esm2022/carousel/carousel.component.mjs +3 -3
  16. package/esm2022/checkbox/checkbox/checkbox.component.mjs +3 -3
  17. package/esm2022/content-density/content-density.module.mjs +6 -68
  18. package/esm2022/content-density/index.mjs +4 -3
  19. package/esm2022/content-density/provide-content-density.mjs +71 -0
  20. package/esm2022/date-picker/date-picker.component.mjs +14 -4
  21. package/esm2022/datetime-picker/datetime-picker.component.mjs +12 -7
  22. package/esm2022/dialog/base/dialog-base.service.mjs +7 -3
  23. package/esm2022/dialog/dialog-container/dialog-container.component.mjs +11 -11
  24. package/esm2022/dialog/index.mjs +12 -11
  25. package/esm2022/dialog/utils/dialog-container.model.mjs +2 -0
  26. package/esm2022/form/form-input-message-group/form-input-message-group.component.mjs +7 -3
  27. package/esm2022/generic-tag/fundamental-ngx-core-generic-tag.mjs +5 -0
  28. package/esm2022/generic-tag/generic-tag.component.mjs +75 -0
  29. package/esm2022/generic-tag/generic-tag.module.mjs +16 -0
  30. package/esm2022/generic-tag/index.mjs +4 -0
  31. package/esm2022/generic-tag/tokens.mjs +3 -0
  32. package/esm2022/illustrated-message/illustrated-message.component.mjs +3 -3
  33. package/esm2022/message-box/message-box-container/message-box-container.component.mjs +12 -12
  34. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
  35. package/esm2022/multi-input/multi-input.component.mjs +3 -3
  36. package/esm2022/pagination/pagination.component.mjs +1 -1
  37. package/esm2022/popover/popover-service/popover.service.mjs +10 -1
  38. package/esm2022/popover/popover.component.mjs +5 -1
  39. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
  40. package/esm2022/scrollbar/scrollbar.directive.mjs +15 -8
  41. package/esm2022/select/select.component.mjs +6 -4
  42. package/esm2022/theming/index.mjs +4 -3
  43. package/esm2022/theming/provide-theming.mjs +16 -0
  44. package/esm2022/theming/theming.module.mjs +6 -24
  45. package/esm2022/theming/tokens.mjs +5 -2
  46. package/esm2022/time-picker/time-picker.component.mjs +3 -3
  47. package/esm2022/token/token.component.mjs +2 -2
  48. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +3 -3
  49. package/esm2022/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +3 -3
  50. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  51. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-core-button.mjs +23 -7
  53. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  54. package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
  55. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
  57. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  58. package/fesm2022/fundamental-ngx-core-content-density.mjs +111 -103
  59. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  60. package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -3
  61. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  62. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +11 -6
  63. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  64. package/fesm2022/fundamental-ngx-core-dialog.mjs +160 -156
  65. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-core-form.mjs +5 -2
  67. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  68. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +96 -0
  69. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -0
  70. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  71. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  72. package/fesm2022/fundamental-ngx-core-message-box.mjs +9 -9
  73. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  74. package/fesm2022/fundamental-ngx-core-multi-input.mjs +4 -4
  75. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  76. package/fesm2022/fundamental-ngx-core-pagination.mjs +1 -1
  77. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  78. package/fesm2022/fundamental-ngx-core-popover.mjs +13 -0
  79. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  80. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  81. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  82. package/fesm2022/fundamental-ngx-core-scrollbar.mjs +14 -7
  83. package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  84. package/fesm2022/fundamental-ngx-core-select.mjs +5 -3
  85. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  86. package/fesm2022/fundamental-ngx-core-theming.mjs +22 -23
  87. package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
  88. package/fesm2022/fundamental-ngx-core-time-picker.mjs +2 -2
  89. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-token.mjs +2 -2
  91. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  92. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  93. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  94. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  95. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  96. package/form/form-input-message-group/form-input-message-group.component.d.ts +3 -1
  97. package/fundamental-ngx-core-v0.46.0-rc.21.tgz +0 -0
  98. package/generic-tag/README.md +25 -0
  99. package/generic-tag/generic-tag.component.d.ts +43 -0
  100. package/generic-tag/generic-tag.module.d.ts +7 -0
  101. package/generic-tag/index.d.ts +3 -0
  102. package/generic-tag/tokens.d.ts +2 -0
  103. package/message-box/message-box-container/message-box-container.component.d.ts +7 -6
  104. package/multi-input/multi-input.component.d.ts +3 -1
  105. package/package.json +9 -3
  106. package/popover/popover-service/popover.service.d.ts +4 -0
  107. package/popover/popover.component.d.ts +2 -0
  108. package/schematics/add-dependencies/index.js +4 -4
  109. package/scrollbar/scrollbar.directive.d.ts +4 -2
  110. package/select/select.component.d.ts +4 -2
  111. package/theming/index.d.ts +3 -2
  112. package/theming/provide-theming.d.ts +7 -0
  113. package/fundamental-ngx-core-v0.46.0-rc.2.tgz +0 -0
@@ -1,38 +1,41 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, Directive, ContentChild, ContentChildren, Component, Optional, Inject, inject, isDevMode, HostBinding, HostListener, Input, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ComponentRef, EmbeddedViewRef, Type, TemplateRef, PLATFORM_ID, Injector, NgModule } from '@angular/core';
2
+ import { InjectionToken, Injectable, Component, Optional, Inject, Input, Directive, ContentChildren, ContentChild, inject, isDevMode, HostBinding, HostListener, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, ComponentRef, EmbeddedViewRef, Type, TemplateRef, PLATFORM_ID, Injector, NgModule } from '@angular/core';
3
+ import { Subject, BehaviorSubject, Subscription, fromEvent, takeUntil } from 'rxjs';
4
+ import * as i3 from '@fundamental-ngx/core/scrollbar';
5
+ import { ScrollbarDirective, ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
3
6
  import * as i4 from '@angular/common';
4
7
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
- import * as i7 from '@angular/cdk/a11y';
6
- import { A11yModule } from '@angular/cdk/a11y';
7
- import * as i6 from '@angular/cdk/drag-drop';
8
- import { DragDropModule } from '@angular/cdk/drag-drop';
9
- import { ButtonModule } from '@fundamental-ngx/core/button';
10
- import * as i1$1 from '@fundamental-ngx/core/icon';
11
- import { IconModule } from '@fundamental-ngx/core/icon';
12
- import * as i3$2 from '@fundamental-ngx/core/title';
13
- import { TitleToken, TitleModule } from '@fundamental-ngx/core/title';
14
- import * as i2 from '@fundamental-ngx/core/bar';
15
- import { FD_BUTTON_BAR_COMPONENT, BarModule } from '@fundamental-ngx/core/bar';
16
8
  import * as i5 from '@fundamental-ngx/core/busy-indicator';
17
9
  import { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';
18
10
  import * as i4$1 from '@fundamental-ngx/cdk/utils';
19
11
  import { TemplateDirective, KeyUtil, applyCssClass, DynamicComponentContainer, RtlService, ResizeModule, TemplateModule, InitialFocusModule, DynamicPortalComponent, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
20
- import { __decorate, __metadata } from 'tslib';
21
- import * as i1 from '@angular/router';
22
- import { NavigationStart } from '@angular/router';
23
- import * as i3 from '@fundamental-ngx/core/content-density';
24
- import { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
25
- import { Subject, BehaviorSubject, Subscription, fromEvent, takeUntil } from 'rxjs';
26
- import * as i3$1 from '@fundamental-ngx/core/scrollbar';
27
- import { ScrollbarDirective, ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
12
+ import * as i1 from '@fundamental-ngx/core/icon';
13
+ import { IconModule } from '@fundamental-ngx/core/icon';
28
14
  import { startWith, filter, debounceTime } from 'rxjs/operators';
29
- import { ESCAPE } from '@angular/cdk/keycodes';
30
- import { trigger, state, style, transition, animate } from '@angular/animations';
15
+ import * as i2 from '@fundamental-ngx/core/bar';
16
+ import { FD_BUTTON_BAR_COMPONENT, BarModule } from '@fundamental-ngx/core/bar';
17
+ import * as i3$1 from '@fundamental-ngx/core/content-density';
18
+ import { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
19
+ import * as i3$2 from '@fundamental-ngx/core/title';
20
+ import { TitleToken, TitleModule } from '@fundamental-ngx/core/title';
21
+ import { __decorate, __metadata } from 'tslib';
31
22
  import * as i3$3 from '@angular/cdk/portal';
32
23
  import { CdkPortalOutlet, ComponentPortal, PortalModule } from '@angular/cdk/portal';
33
24
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
25
+ import * as i1$1 from '@angular/router';
26
+ import { NavigationStart } from '@angular/router';
27
+ import { ESCAPE } from '@angular/cdk/keycodes';
28
+ import * as i6 from '@angular/cdk/drag-drop';
29
+ import { DragDropModule } from '@angular/cdk/drag-drop';
30
+ import * as i7 from '@angular/cdk/a11y';
31
+ import { A11yModule } from '@angular/cdk/a11y';
32
+ import { trigger, state, style, transition, animate } from '@angular/animations';
34
33
  import * as i2$1 from '@angular/cdk/overlay';
35
34
  import { OverlayConfig, OverlayModule, OverlayContainer } from '@angular/cdk/overlay';
35
+ import { ButtonModule } from '@fundamental-ngx/core/button';
36
+
37
+ const FD_DIALOG_BODY_COMPONENT = new InjectionToken('FdDialogBodyComponent');
38
+ const FD_DIALOG_FOCUS_TRAP_ERROR = new InjectionToken('FdDialogFocusTrapError');
36
39
 
37
40
  /* eslint-disable @typescript-eslint/no-inferrable-types */
38
41
  class DialogConfigBase {
@@ -80,82 +83,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
80
83
  type: Injectable
81
84
  }] });
82
85
 
83
- class DialogHeaderBase {
84
- /** @hidden */
85
- set defaultTitleSize(title) {
86
- if (title && !title.headerSize) {
87
- title.headerSize = 5;
88
- this._changeDetectorRef.detectChanges();
89
- }
90
- }
91
- /** @hidden */
92
- constructor(_changeDetectorRef) {
93
- this._changeDetectorRef = _changeDetectorRef;
94
- }
95
- /** @hidden */
96
- ngAfterContentInit() {
97
- this._assignCustomTemplates();
98
- }
99
- /** @hidden Assign custom templates */
100
- _assignCustomTemplates() {
101
- this.customTemplates.forEach((template) => {
102
- switch (template.getName()) {
103
- case 'header':
104
- this.headerTemplate = template.templateRef;
105
- break;
106
- case 'subheader':
107
- this.subHeaderTemplate = template.templateRef;
108
- break;
109
- }
110
- });
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
113
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DialogHeaderBase, queries: [{ propertyName: "defaultTitleSize", first: true, predicate: TitleToken, descendants: true }, { propertyName: "customTemplates", predicate: TemplateDirective }], ngImport: i0 }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderBase, decorators: [{
116
- type: Directive
117
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { defaultTitleSize: [{
118
- type: ContentChild,
119
- args: [TitleToken]
120
- }], customTemplates: [{
121
- type: ContentChildren,
122
- args: [TemplateDirective]
123
- }] } });
124
-
125
- /**
126
- * Applies fundamental layout and styling to the contents of a dialog header.
127
- *
128
- * ```html
129
- * <fd-dialog-header>
130
- * <h1 fd-title>Title</h1>
131
- * <button fd-dialog-close-button></button>
132
- * </fd-dialog-header>
133
- * ```
134
- */
135
- class DialogHeaderComponent extends DialogHeaderBase {
136
- /** @hidden */
137
- constructor(dialogConfig, changeDetectorRef) {
138
- super(changeDetectorRef);
139
- this.dialogConfig = dialogConfig;
140
- this.dialogConfig = this.dialogConfig || {};
141
- }
142
- /** @hidden */
143
- ngAfterContentInit() {
144
- super.ngAfterContentInit();
145
- }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: DialogConfig, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogHeaderComponent, selector: "fd-dialog-header", usesInheritance: true, ngImport: i0, template: "<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div fd-bar *ngIf=\"subHeaderTemplate\" class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n", dependencies: [{ kind: "component", type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
148
- }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderComponent, decorators: [{
150
- type: Component,
151
- args: [{ selector: 'fd-dialog-header', template: "<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div fd-bar *ngIf=\"subHeaderTemplate\" class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n" }]
152
- }], ctorParameters: function () { return [{ type: DialogConfig, decorators: [{
153
- type: Optional
154
- }] }, { type: i0.ChangeDetectorRef }]; } });
155
-
156
- const FD_DIALOG_BODY_COMPONENT = new InjectionToken('FdDialogBodyComponent');
157
- const FD_DIALOG_FOCUS_TRAP_ERROR = new InjectionToken('FdDialogFocusTrapError');
158
-
159
86
  class DialogRefBase {
160
87
  constructor() {
161
88
  /** @hidden */
@@ -261,7 +188,7 @@ class DialogBodyComponent {
261
188
  provide: FD_DIALOG_BODY_COMPONENT,
262
189
  useExisting: DialogBodyComponent
263
190
  }
264
- ], hostDirectives: [{ directive: i3$1.ScrollbarDirective }], ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"fd-dialog__loader fd-busy-indicator-dialog\" *ngIf=\"dialogRef.onLoading | async\">\n <fdk-dynamic-portal\n class=\"fd-text\"\n *ngIf=\"dialogRef.loadingContent\"\n [auto]=\"dialogRef.loadingContent\"\n ></fdk-dynamic-portal>\n <fd-busy-indicator [loading]=\"true\" size=\"l\" [label]=\"dialogRef.loadingLabel\"></fd-busy-indicator>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i4$1.DynamicPortalComponent, selector: "fdk-dynamic-portal", inputs: ["domElement", "component", "template", "auto"], outputs: ["attached"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
191
+ ], hostDirectives: [{ directive: i3.ScrollbarDirective }], ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"fd-dialog__loader fd-busy-indicator-dialog\" *ngIf=\"dialogRef.onLoading | async\">\n <fdk-dynamic-portal\n class=\"fd-text\"\n *ngIf=\"dialogRef.loadingContent\"\n [auto]=\"dialogRef.loadingContent\"\n ></fdk-dynamic-portal>\n <fd-busy-indicator [loading]=\"true\" size=\"l\" [label]=\"dialogRef.loadingLabel\"></fd-busy-indicator>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i4$1.DynamicPortalComponent, selector: "fdk-dynamic-portal", inputs: ["domElement", "component", "template", "auto"], outputs: ["attached"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
265
192
  }
266
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogBodyComponent, decorators: [{
267
194
  type: Component,
@@ -281,11 +208,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
281
208
  type: Optional
282
209
  }] }, { type: DialogRef, decorators: [{
283
210
  type: Optional
284
- }] }, { type: i3$1.ScrollbarDirective, decorators: [{
211
+ }] }, { type: i3.ScrollbarDirective, decorators: [{
285
212
  type: Inject,
286
213
  args: [ScrollbarDirective]
287
214
  }] }]; } });
288
215
 
216
+ /**
217
+ * Directive that applies fundamental dialog styling to a dialog close button.
218
+ *
219
+ * ```html
220
+ * <button fd-dialog-close-button></button>
221
+ * ```
222
+ */
223
+ class DialogCloseButtonComponent {
224
+ constructor() {
225
+ /** Displays dialog close button in mobile mode */
226
+ this.mobile = false;
227
+ }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogCloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: { mobile: "mobile", title: "title" }, host: { properties: { "attr.aria-label": "\"close\"", "class.fd-button": "true", "class.is-compact": "!mobile", "class.fd-button--transparent": "true", "attr.title": "title" } }, ngImport: i0, template: `<fd-icon glyph="decline"></fd-icon><ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "component", type: i1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] }); }
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogCloseButtonComponent, decorators: [{
232
+ type: Component,
233
+ args: [{
234
+ // eslint-disable-next-line @angular-eslint/component-selector
235
+ selector: '[fd-dialog-close-button]',
236
+ host: {
237
+ '[attr.aria-label]': '"close"',
238
+ '[class.fd-button]': 'true',
239
+ '[class.is-compact]': '!mobile',
240
+ '[class.fd-button--transparent]': 'true',
241
+ '[attr.title]': 'title'
242
+ },
243
+ template: `<fd-icon glyph="decline"></fd-icon><ng-content></ng-content>`
244
+ }]
245
+ }], propDecorators: { mobile: [{
246
+ type: Input
247
+ }], title: [{
248
+ type: Input
249
+ }] } });
250
+
289
251
  class DialogFooterBase {
290
252
  /** @hidden */
291
253
  ngAfterContentInit() {
@@ -350,7 +312,7 @@ class DialogFooterComponent extends DialogFooterBase {
350
312
  this._listenForButtonChanges(DialogButtonClass);
351
313
  }
352
314
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogFooterComponent, deps: [{ token: DialogConfig, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
353
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogFooterComponent, selector: "fd-dialog-footer", usesInheritance: true, ngImport: i0, template: "<footer fd-bar class=\"fd-dialog__footer\" barDesign=\"footer\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n", dependencies: [{ kind: "component", type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
315
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogFooterComponent, selector: "fd-dialog-footer", usesInheritance: true, ngImport: i0, template: "<footer fd-bar class=\"fd-dialog__footer\" barDesign=\"footer\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"footerTemplate ? footerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-right>\n <ng-content></ng-content>\n </div>\n </ng-template>\n</footer>\n", dependencies: [{ kind: "component", type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
354
316
  }
355
317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogFooterComponent, decorators: [{
356
318
  type: Component,
@@ -359,6 +321,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
359
321
  type: Optional
360
322
  }] }]; } });
361
323
 
324
+ class DialogHeaderBase {
325
+ /** @hidden */
326
+ set defaultTitleSize(title) {
327
+ if (title && !title.headerSize) {
328
+ title.headerSize = 5;
329
+ this._changeDetectorRef.detectChanges();
330
+ }
331
+ }
332
+ /** @hidden */
333
+ constructor(_changeDetectorRef) {
334
+ this._changeDetectorRef = _changeDetectorRef;
335
+ }
336
+ /** @hidden */
337
+ ngAfterContentInit() {
338
+ this._assignCustomTemplates();
339
+ }
340
+ /** @hidden Assign custom templates */
341
+ _assignCustomTemplates() {
342
+ this.customTemplates.forEach((template) => {
343
+ switch (template.getName()) {
344
+ case 'header':
345
+ this.headerTemplate = template.templateRef;
346
+ break;
347
+ case 'subheader':
348
+ this.subHeaderTemplate = template.templateRef;
349
+ break;
350
+ }
351
+ });
352
+ }
353
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderBase, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
354
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DialogHeaderBase, queries: [{ propertyName: "defaultTitleSize", first: true, predicate: TitleToken, descendants: true }, { propertyName: "customTemplates", predicate: TemplateDirective }], ngImport: i0 }); }
355
+ }
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderBase, decorators: [{
357
+ type: Directive
358
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { defaultTitleSize: [{
359
+ type: ContentChild,
360
+ args: [TitleToken]
361
+ }], customTemplates: [{
362
+ type: ContentChildren,
363
+ args: [TemplateDirective]
364
+ }] } });
365
+
366
+ /**
367
+ * Applies fundamental layout and styling to the contents of a dialog header.
368
+ *
369
+ * ```html
370
+ * <fd-dialog-header>
371
+ * <h1 fd-title>Title</h1>
372
+ * <button fd-dialog-close-button></button>
373
+ * </fd-dialog-header>
374
+ * ```
375
+ */
376
+ class DialogHeaderComponent extends DialogHeaderBase {
377
+ /** @hidden */
378
+ constructor(dialogConfig, changeDetectorRef) {
379
+ super(changeDetectorRef);
380
+ this.dialogConfig = dialogConfig;
381
+ this.dialogConfig = this.dialogConfig || {};
382
+ }
383
+ /** @hidden */
384
+ ngAfterContentInit() {
385
+ super.ngAfterContentInit();
386
+ }
387
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: DialogConfig, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
388
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogHeaderComponent, selector: "fd-dialog-header", usesInheritance: true, ngImport: i0, template: "<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div fd-bar *ngIf=\"subHeaderTemplate\" class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n", dependencies: [{ kind: "component", type: i2.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i2.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i2.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i2.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
389
+ }
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogHeaderComponent, decorators: [{
391
+ type: Component,
392
+ args: [{ selector: 'fd-dialog-header', template: "<div\n fd-bar\n class=\"fd-dialog__header\"\n [fdCozy]=\"dialogConfig.mobile\"\n [barDesign]=\"subHeaderTemplate ? 'header-with-subheader' : 'header'\"\n>\n <ng-container *ngTemplateOutlet=\"headerTemplate ? headerTemplate : defaultTemplate\"></ng-container>\n\n <ng-template #defaultTemplate>\n <div fd-bar-left>\n <fd-bar-element [fullWidth]=\"true\">\n <ng-content select=\"[fd-title]\"></ng-content>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <ng-content select=\"[fd-dialog-close-button]\"></ng-content>\n </fd-bar-element>\n </div>\n </ng-template>\n</div>\n\n<div fd-bar *ngIf=\"subHeaderTemplate\" class=\"fd-dialog__subheader\" barDesign=\"subheader\" [fdCozy]=\"dialogConfig.mobile\">\n <ng-container *ngTemplateOutlet=\"subHeaderTemplate\"></ng-container>\n</div>\n" }]
393
+ }], ctorParameters: function () { return [{ type: DialogConfig, decorators: [{
394
+ type: Optional
395
+ }] }, { type: i0.ChangeDetectorRef }]; } });
396
+
362
397
  /** @hidden Returns dialog size based on width
363
398
  * @param width - dialog window width
364
399
  **/
@@ -492,12 +527,12 @@ class DialogBase {
492
527
  .subscribe(() => this.adjustResponsivePadding()));
493
528
  }
494
529
  }
495
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogBase, deps: [{ token: i1.Router }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i4$1.RtlService }, { token: i4$1.FocusTrapService }], target: i0.ɵɵFactoryTarget.Directive }); }
530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogBase, deps: [{ token: i1$1.Router }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i4$1.RtlService }, { token: i4$1.FocusTrapService }], target: i0.ɵɵFactoryTarget.Directive }); }
496
531
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: DialogBase, host: { listeners: { "keydown": "closeDialogEsc($event)", "mousedown": "closeDialog($event.target)" }, properties: { "attr.dir": "this._dir" } }, ngImport: i0 }); }
497
532
  }
498
533
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogBase, decorators: [{
499
534
  type: Directive
500
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i4$1.RtlService }, { type: i4$1.FocusTrapService }]; }, propDecorators: { _dir: [{
535
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i4$1.RtlService }, { type: i4$1.FocusTrapService }]; }, propDecorators: { _dir: [{
501
536
  type: HostBinding,
502
537
  args: ['attr.dir']
503
538
  }], closeDialogEsc: [{
@@ -660,8 +695,8 @@ class DialogComponent extends DialogBase {
660
695
  }
661
696
  });
662
697
  }
663
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogComponent, deps: [{ token: DialogConfig, optional: true }, { token: DialogRef, optional: true }, { token: i1.Router, optional: true }, { token: i4$1.RtlService, optional: true }, { token: i4$1.FocusTrapService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
664
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogComponent, selector: "fd-dialog", inputs: { class: "class", embeddedDialogRef: ["dialogRef", "embeddedDialogRef"], embeddedDialogConfig: ["dialogConfig", "embeddedDialogConfig"] }, host: { attributes: { "tabindex": "-1" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], queries: [{ propertyName: "dialogHeaderConfig", first: true, predicate: DialogHeaderComponent, descendants: true }, { propertyName: "dialogBodyConfig", first: true, predicate: DialogBodyComponent, descendants: true }, { propertyName: "dialogFooterConfig", first: true, predicate: DialogFooterComponent, descendants: true }, { propertyName: "dialogTitle", first: true, predicate: DialogTitleDirective, descendants: true }], viewQueries: [{ propertyName: "dialogWindow", first: true, predicate: ["dialogWindow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n #dialogWindow\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n fdkResize\n cdkTrapFocus\n cdkDrag\n cdkDragBoundary=\".fd-dialog\"\n fd-scrollbar\n [fdkResizeBoundary]=\"elementRef.nativeElement\"\n class=\"fd-dialog__content\"\n [class]=\"dialogConfig.dialogPanelClass\"\n [class.cdk-drag]=\"dialogConfig.draggable\"\n [class.fd-dialog__content--s]=\"dialogPaddingSize === 'sm'\"\n [class.fd-dialog__content--m]=\"dialogPaddingSize === 'md'\"\n [class.fd-dialog__content--l]=\"dialogPaddingSize === 'lg'\"\n [class.fd-dialog__content--xl]=\"dialogPaddingSize === 'xl'\"\n [class.fd-dialog__content--mobile]=\"dialogConfig.mobile\"\n [class.fd-dialog__content--no-mobile-stretch]=\"dialogConfig.mobileOuterSpacing\"\n [class.fd-dialog__content--draggable-grab]=\"dialogConfig.draggable && !isDragged\"\n [class.fd-dialog__content--draggable-grabbing]=\"dialogConfig.draggable && isDragged\"\n [cdkDragDisabled]=\"!dialogConfig.draggable\"\n [fdkResizeDisabled]=\"!dialogConfig.resizable\"\n [attr.id]=\"dialogConfig.id\"\n [attr.aria-label]=\"dialogConfig.ariaLabel\"\n [attr.aria-labelledby]=\"dialogConfig.ariaLabelledBy\"\n [attr.aria-describedby]=\"dialogConfig.ariaDescribedBy\"\n [attr.aria-modal]=\"dialogConfig.ariaModal\"\n (cdkDragStarted)=\"isDragged = true\"\n (cdkDragEnded)=\"isDragged = false\"\n (onResizeEnd)=\"adjustResponsivePadding()\"\n>\n <span fdkResizeHandle *ngIf=\"dialogConfig.resizable\" class=\"fd-dialog__resize-handle\"></span>\n\n <div cdkDragHandle [cdkDragHandleDisabled]=\"!dialogConfig.draggable\">\n <ng-content select=\"fd-dialog-header\"></ng-content>\n </div>\n\n <ng-content select=\"fd-dialog-body\"></ng-content>\n\n <ng-content select=\"fd-dialog-footer\"></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;justify-content:center;position:fixed}.fd-dialog,.fd-dialog:before{height:100%;left:0;top:0;width:100%}.fd-dialog:before{background-color:var(--sapBlockLayer_Background);content:\"\";opacity:var(--fdDialog_Background_Opacity);position:absolute}.fd-dialog__content{-webkit-box-shadow:var(--sapContent_Shadow3);border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--sapContent_Shadow3);display:flex;flex-direction:column;max-height:calc(100vh - 6%);max-width:calc(100vw - 10%);min-height:7.5rem;min-width:20rem;outline:none;overflow:hidden;position:absolute}.fd-dialog__body{-webkit-box-flex:1;-ms-flex-positive:1;background-color:var(--sapGroup_ContentBackground);flex-grow:1;overflow:auto}.fd-dialog__footer.fd-bar,.fd-dialog__header.fd-bar,.fd-dialog__subheader.fd-bar{flex-shrink:0;padding-left:1rem;padding-right:1rem}.fd-dialog__content--mobile{border-radius:0;height:100vh;max-height:100vh;max-width:100vw;width:100vw}.fd-dialog{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dialog:after,.fd-dialog:before{box-sizing:inherit;font-size:inherit}.fd-dialog--active{display:flex}.fd-dialog__content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dialog__content:after,.fd-dialog__content:before{box-sizing:inherit;font-size:inherit}.fd-dialog__content--def .fd-dialog__body,.fd-dialog__content--def .fd-dialog__footer.fd-bar,.fd-dialog__content--def .fd-dialog__header.fd-bar,.fd-dialog__content--def .fd-dialog__subheader.fd-bar,.fd-dialog__content--s .fd-dialog__body,.fd-dialog__content--s .fd-dialog__footer.fd-bar,.fd-dialog__content--s .fd-dialog__header.fd-bar,.fd-dialog__content--s .fd-dialog__subheader.fd-bar{padding-left:1rem;padding-right:1rem}.fd-dialog__content--l .fd-dialog__body,.fd-dialog__content--l .fd-dialog__footer.fd-bar,.fd-dialog__content--l .fd-dialog__header.fd-bar,.fd-dialog__content--l .fd-dialog__subheader.fd-bar,.fd-dialog__content--m .fd-dialog__body,.fd-dialog__content--m .fd-dialog__footer.fd-bar,.fd-dialog__content--m .fd-dialog__header.fd-bar,.fd-dialog__content--m .fd-dialog__subheader.fd-bar{padding-left:2rem;padding-right:2rem}.fd-dialog__content--xl .fd-dialog__body,.fd-dialog__content--xl .fd-dialog__footer.fd-bar,.fd-dialog__content--xl .fd-dialog__header.fd-bar,.fd-dialog__content--xl .fd-dialog__subheader.fd-bar{padding-left:3rem;padding-right:3rem}.fd-dialog__content--mobile .fd-dialog__body,.fd-dialog__content--mobile .fd-dialog__footer,.fd-dialog__content--mobile .fd-dialog__header,.fd-dialog__content--mobile .fd-menu__item:first-child,.fd-dialog__content--mobile .fd-menu__item:first-child .fd-menu__link:after,.fd-dialog__content--mobile .fd-menu__item:last-child,.fd-dialog__content--mobile .fd-menu__item:last-child .fd-menu__link:after{border-radius:0}.fd-dialog__content--no-mobile-stretch{border-radius:var(--sapElement_BorderCornerRadius);max-height:calc(100vh - 6%);max-width:calc(100vw - 10%)}.fd-dialog__content--draggable-grab.is-hover .fd-dialog__header,.fd-dialog__content--draggable-grab:hover .fd-dialog__header{cursor:move;cursor:grab}.fd-dialog__content--draggable-grabbing.is-hover .fd-dialog__header,.fd-dialog__content--draggable-grabbing:hover .fd-dialog__header{cursor:move;cursor:grabbing}.fd-dialog__footer.fd-bar .fd-dialog__decisive-button,.fd-dialog__header.fd-bar .fd-dialog__decisive-button{justify-content:center;min-width:4rem}.fd-dialog__body{-webkit-box-sizing:border-box;border:0;border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 0;position:relative}.fd-dialog__body:after,.fd-dialog__body:before{box-sizing:inherit;font-size:inherit}.fd-dialog__body--no-vertical-padding{padding-bottom:0;padding-top:0}.fd-dialog__body--no-horizontal-padding{padding-left:0;padding-right:0}.fd-dialog__body:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.fd-dialog__body:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-dialog__loader{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1.5rem 0 .5rem;padding:0;text-align:center}.fd-dialog__loader:after,.fd-dialog__loader:before{box-sizing:inherit;font-size:inherit}.fd-dialog__resize-handle{-webkit-box-sizing:border-box;-webkit-box-align:end;-ms-flex-align:end;-webkit-box-pack:end;-ms-flex-pack:end;align-items:flex-end;border:0;bottom:0;box-sizing:border-box;color:var(--sapTextColor);cursor:se-resize;display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:1rem;font-weight:400;forced-color-adjust:none;height:1rem;justify-content:flex-end;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:.125rem;min-width:1rem;overflow:hidden;padding:0;position:absolute;right:0;width:1rem}.fd-dialog__resize-handle:after,.fd-dialog__resize-handle:before{box-sizing:inherit;font-size:inherit}.fd-dialog__resize-handle[dir=rtl],[dir=rtl] .fd-dialog__resize-handle{-webkit-transform:scaleX(-1);-webkit-box-pack:start;-ms-flex-pack:start;cursor:sw-resize;justify-content:flex-start;left:0;right:auto;transform:scaleX(-1)}.fd-dialog__resize-handle:after{color:var(--sapButton_Lite_TextColor);content:\"\\e24f\";font-family:SAP-icons;height:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-dialog--no-backdrop:not(.fd-dialog--targeted){-webkit-transform:translate(-50%,-50%);left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.fd-dialog{z-index:999}.fd-dialog__resize-handle{z-index:1001;bottom:0;overflow:hidden}.fd-dialog__resize-handle:after{margin-bottom:-.125rem;display:block}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }, { kind: "directive", type: i4$1.ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3$1.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
698
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogComponent, deps: [{ token: DialogConfig, optional: true }, { token: DialogRef, optional: true }, { token: i1$1.Router, optional: true }, { token: i4$1.RtlService, optional: true }, { token: i4$1.FocusTrapService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
699
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogComponent, selector: "fd-dialog", inputs: { class: "class", embeddedDialogRef: ["dialogRef", "embeddedDialogRef"], embeddedDialogConfig: ["dialogConfig", "embeddedDialogConfig"] }, host: { attributes: { "tabindex": "-1" } }, providers: [contentDensityObserverProviders({ alwaysAddModifiers: true })], queries: [{ propertyName: "dialogHeaderConfig", first: true, predicate: DialogHeaderComponent, descendants: true }, { propertyName: "dialogBodyConfig", first: true, predicate: DialogBodyComponent, descendants: true }, { propertyName: "dialogFooterConfig", first: true, predicate: DialogFooterComponent, descendants: true }, { propertyName: "dialogTitle", first: true, predicate: DialogTitleDirective, descendants: true }], viewQueries: [{ propertyName: "dialogWindow", first: true, predicate: ["dialogWindow"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\n #dialogWindow\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n fdkResize\n cdkTrapFocus\n cdkDrag\n cdkDragBoundary=\".fd-dialog\"\n fd-scrollbar\n [fdkResizeBoundary]=\"elementRef.nativeElement\"\n class=\"fd-dialog__content\"\n [class]=\"dialogConfig.dialogPanelClass\"\n [class.cdk-drag]=\"dialogConfig.draggable\"\n [class.fd-dialog__content--s]=\"dialogPaddingSize === 'sm'\"\n [class.fd-dialog__content--m]=\"dialogPaddingSize === 'md'\"\n [class.fd-dialog__content--l]=\"dialogPaddingSize === 'lg'\"\n [class.fd-dialog__content--xl]=\"dialogPaddingSize === 'xl'\"\n [class.fd-dialog__content--mobile]=\"dialogConfig.mobile\"\n [class.fd-dialog__content--no-mobile-stretch]=\"dialogConfig.mobileOuterSpacing\"\n [class.fd-dialog__content--draggable-grab]=\"dialogConfig.draggable && !isDragged\"\n [class.fd-dialog__content--draggable-grabbing]=\"dialogConfig.draggable && isDragged\"\n [cdkDragDisabled]=\"!dialogConfig.draggable\"\n [fdkResizeDisabled]=\"!dialogConfig.resizable\"\n [attr.id]=\"dialogConfig.id\"\n [attr.aria-label]=\"dialogConfig.ariaLabel\"\n [attr.aria-labelledby]=\"dialogConfig.ariaLabelledBy\"\n [attr.aria-describedby]=\"dialogConfig.ariaDescribedBy\"\n [attr.aria-modal]=\"dialogConfig.ariaModal\"\n (cdkDragStarted)=\"isDragged = true\"\n (cdkDragEnded)=\"isDragged = false\"\n (onResizeEnd)=\"adjustResponsivePadding()\"\n>\n <span fdkResizeHandle *ngIf=\"dialogConfig.resizable\" class=\"fd-dialog__resize-handle\"></span>\n\n <div cdkDragHandle [cdkDragHandleDisabled]=\"!dialogConfig.draggable\">\n <ng-content select=\"fd-dialog-header\"></ng-content>\n </div>\n\n <ng-content select=\"fd-dialog-body\"></ng-content>\n\n <ng-content select=\"fd-dialog-footer\"></ng-content>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.30.2-rc.6\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dialog{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;justify-content:center;position:fixed}.fd-dialog,.fd-dialog:before{height:100%;left:0;top:0;width:100%}.fd-dialog:before{background-color:var(--sapBlockLayer_Background);content:\"\";opacity:var(--fdDialog_Background_Opacity);position:absolute}.fd-dialog__content{-webkit-box-shadow:var(--sapContent_Shadow3);border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--sapContent_Shadow3);display:flex;flex-direction:column;max-height:calc(100vh - 6%);max-width:calc(100vw - 10%);min-height:7.5rem;min-width:20rem;outline:none;overflow:hidden;position:absolute}.fd-dialog__body{-webkit-box-flex:1;-ms-flex-positive:1;background-color:var(--sapGroup_ContentBackground);flex-grow:1;overflow:auto}.fd-dialog__footer.fd-bar,.fd-dialog__header.fd-bar,.fd-dialog__subheader.fd-bar{flex-shrink:0;padding-left:1rem;padding-right:1rem}.fd-dialog__content--mobile{border-radius:0;height:100vh;max-height:100vh;max-width:100vw;width:100vw}.fd-dialog{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:none;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dialog:after,.fd-dialog:before{box-sizing:inherit;font-size:inherit}.fd-dialog--active{display:flex}.fd-dialog__content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dialog__content:after,.fd-dialog__content:before{box-sizing:inherit;font-size:inherit}.fd-dialog__content--def .fd-dialog__body,.fd-dialog__content--def .fd-dialog__footer.fd-bar,.fd-dialog__content--def .fd-dialog__header.fd-bar,.fd-dialog__content--def .fd-dialog__subheader.fd-bar,.fd-dialog__content--s .fd-dialog__body,.fd-dialog__content--s .fd-dialog__footer.fd-bar,.fd-dialog__content--s .fd-dialog__header.fd-bar,.fd-dialog__content--s .fd-dialog__subheader.fd-bar{padding-left:1rem;padding-right:1rem}.fd-dialog__content--l .fd-dialog__body,.fd-dialog__content--l .fd-dialog__footer.fd-bar,.fd-dialog__content--l .fd-dialog__header.fd-bar,.fd-dialog__content--l .fd-dialog__subheader.fd-bar,.fd-dialog__content--m .fd-dialog__body,.fd-dialog__content--m .fd-dialog__footer.fd-bar,.fd-dialog__content--m .fd-dialog__header.fd-bar,.fd-dialog__content--m .fd-dialog__subheader.fd-bar{padding-left:2rem;padding-right:2rem}.fd-dialog__content--xl .fd-dialog__body,.fd-dialog__content--xl .fd-dialog__footer.fd-bar,.fd-dialog__content--xl .fd-dialog__header.fd-bar,.fd-dialog__content--xl .fd-dialog__subheader.fd-bar{padding-left:3rem;padding-right:3rem}.fd-dialog__content--mobile .fd-dialog__body,.fd-dialog__content--mobile .fd-dialog__footer,.fd-dialog__content--mobile .fd-dialog__header,.fd-dialog__content--mobile .fd-menu__item:first-child,.fd-dialog__content--mobile .fd-menu__item:first-child .fd-menu__link:after,.fd-dialog__content--mobile .fd-menu__item:last-child,.fd-dialog__content--mobile .fd-menu__item:last-child .fd-menu__link:after{border-radius:0}.fd-dialog__content--no-mobile-stretch{border-radius:var(--sapElement_BorderCornerRadius);max-height:calc(100vh - 6%);max-width:calc(100vw - 10%)}.fd-dialog__content--draggable-grab.is-hover .fd-dialog__header,.fd-dialog__content--draggable-grab:hover .fd-dialog__header{cursor:move;cursor:grab}.fd-dialog__content--draggable-grabbing.is-hover .fd-dialog__header,.fd-dialog__content--draggable-grabbing:hover .fd-dialog__header{cursor:move;cursor:grabbing}.fd-dialog__footer.fd-bar .fd-dialog__decisive-button,.fd-dialog__header.fd-bar .fd-dialog__decisive-button{justify-content:center;min-width:4rem}.fd-dialog__body{-webkit-box-sizing:border-box;border:0;border-radius:var(--sapElement_BorderCornerRadius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 0;position:relative}.fd-dialog__body:after,.fd-dialog__body:before{box-sizing:inherit;font-size:inherit}.fd-dialog__body--no-vertical-padding{padding-bottom:0;padding-top:0}.fd-dialog__body--no-horizontal-padding{padding-left:0;padding-right:0}.fd-dialog__body:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.fd-dialog__body:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.fd-dialog__loader{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:1.5rem 0 .5rem;padding:0;text-align:center}.fd-dialog__loader:after,.fd-dialog__loader:before{box-sizing:inherit;font-size:inherit}.fd-dialog__resize-handle{-webkit-box-sizing:border-box;-webkit-box-align:end;-ms-flex-align:end;-webkit-box-pack:end;-ms-flex-pack:end;align-items:flex-end;border:0;bottom:0;box-sizing:border-box;color:var(--sapTextColor);cursor:se-resize;display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:1rem;font-weight:400;forced-color-adjust:none;height:1rem;justify-content:flex-end;line-height:var(--sapContent_LineHeight);line-height:1rem;margin:.125rem;min-width:1rem;overflow:hidden;padding:0;position:absolute;right:0;width:1rem}.fd-dialog__resize-handle:after,.fd-dialog__resize-handle:before{box-sizing:inherit;font-size:inherit}.fd-dialog__resize-handle[dir=rtl],[dir=rtl] .fd-dialog__resize-handle{-webkit-transform:scaleX(-1);-webkit-box-pack:start;-ms-flex-pack:start;cursor:sw-resize;justify-content:flex-start;left:0;right:auto;transform:scaleX(-1)}.fd-dialog__resize-handle:after{color:var(--sapButton_Lite_TextColor);content:\"\\e24f\";font-family:SAP-icons;height:1rem;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-dialog--no-backdrop:not(.fd-dialog--targeted){-webkit-transform:translate(-50%,-50%);left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.fd-dialog{z-index:999}.fd-dialog__resize-handle{z-index:1001;bottom:0;overflow:hidden}.fd-dialog__resize-handle:after{margin-bottom:-.125rem;display:block}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4$1.ResizeDirective, selector: "[fdkResize]", inputs: ["fdkResizeBoundary", "fdkResizeDisabled", "fdkResizeHandleLocation", "fdkResizeResizeHandleRef"], outputs: ["onResizeStart", "onResizeEnd"] }, { kind: "directive", type: i4$1.ResizeHandleDirective, selector: "[fdkResizeHandle]" }, { kind: "directive", type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.ScrollbarDirective, selector: "[fdScrollbar], [fd-scrollbar]", inputs: ["noHorizontalScroll", "noVerticalScroll", "alwaysVisible", "overrideTabindex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
665
700
  }
666
701
  __decorate([
667
702
  applyCssClass,
@@ -678,7 +713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
678
713
  type: Optional
679
714
  }] }, { type: DialogRef, decorators: [{
680
715
  type: Optional
681
- }] }, { type: i1.Router, decorators: [{
716
+ }] }, { type: i1$1.Router, decorators: [{
682
717
  type: Optional
683
718
  }] }, { type: i4$1.RtlService, decorators: [{
684
719
  type: Optional
@@ -707,41 +742,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
707
742
  args: [DialogTitleDirective]
708
743
  }], buildComponentCssClass: [] } });
709
744
 
710
- /**
711
- * Directive that applies fundamental dialog styling to a dialog close button.
712
- *
713
- * ```html
714
- * <button fd-dialog-close-button></button>
715
- * ```
716
- */
717
- class DialogCloseButtonComponent {
718
- constructor() {
719
- /** Displays dialog close button in mobile mode */
720
- this.mobile = false;
721
- }
722
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogCloseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
723
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: { mobile: "mobile", title: "title" }, host: { properties: { "attr.aria-label": "\"close\"", "class.fd-button": "true", "class.is-compact": "!mobile", "class.fd-button--transparent": "true", "attr.title": "title" } }, ngImport: i0, template: `<fd-icon glyph="decline"></fd-icon><ng-content></ng-content>`, isInline: true, dependencies: [{ kind: "component", type: i1$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] }); }
724
- }
725
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogCloseButtonComponent, decorators: [{
726
- type: Component,
727
- args: [{
728
- // eslint-disable-next-line @angular-eslint/component-selector
729
- selector: '[fd-dialog-close-button]',
730
- host: {
731
- '[attr.aria-label]': '"close"',
732
- '[class.fd-button]': 'true',
733
- '[class.is-compact]': '!mobile',
734
- '[class.fd-button--transparent]': 'true',
735
- '[attr.title]': 'title'
736
- },
737
- template: `<fd-icon glyph="decline"></fd-icon><ng-content></ng-content>`
738
- }]
739
- }], propDecorators: { mobile: [{
740
- type: Input
741
- }], title: [{
742
- type: Input
743
- }] } });
744
-
745
745
  /** Dialog component used to create the dialog in object based approach */
746
746
  class DialogDefaultComponent {
747
747
  /** @hidden */
@@ -772,7 +772,7 @@ class DialogDefaultComponent {
772
772
  this._defaultDialogContent?.cancelButtonCallback?.();
773
773
  }
774
774
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogDefaultComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
775
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogDefaultComponent, selector: "fd-dialog-default", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title [id]=\"_defaultDialogContent?.titleId\">{{ _defaultDialogContent?.title }}</h1>\n <button\n fd-dialog-close-button\n *ngIf=\"_defaultDialogContent?.closeButtonCallback\"\n [title]=\"_defaultDialogContent?.closeButtonTitle || ''\"\n (click)=\"_closeButtonClicked()\"\n ></button>\n <ng-container *ngIf=\"_defaultDialogContent?.subHeader\">\n <ng-template fdkTemplate=\"subheader\">\n <ng-container *ngTemplateOutlet=\"_defaultDialogContent!.subHeader!\"></ng-container>\n </ng-template>\n </ng-container>\n </fd-dialog-header>\n\n <fd-dialog-body *ngIf=\"_defaultDialogContent?.content\">\n <ng-container *ngTemplateOutlet=\"_defaultDialogContent?.content!\"></ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer *ngIf=\"_showFooter()\">\n <fd-button-bar\n *ngIf=\"_defaultDialogContent?.approveButton\"\n fdType=\"emphasized\"\n fdkInitialFocus\n [label]=\"_defaultDialogContent?.approveButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_approveButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.approveButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.approveButtonId\"\n >\n </fd-button-bar>\n <fd-button-bar\n *ngIf=\"_defaultDialogContent?.cancelButton\"\n [label]=\"_defaultDialogContent?.cancelButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_cancelButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.cancelButtonId\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "directive", type: i3.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i3$2.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i4$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
775
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: DialogDefaultComponent, selector: "fd-dialog-default", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title [id]=\"_defaultDialogContent?.titleId\">{{ _defaultDialogContent?.title }}</h1>\n <button\n fd-dialog-close-button\n *ngIf=\"_defaultDialogContent?.closeButtonCallback\"\n [title]=\"_defaultDialogContent?.closeButtonTitle || ''\"\n (click)=\"_closeButtonClicked()\"\n ></button>\n <ng-container *ngIf=\"_defaultDialogContent?.subHeader\">\n <ng-template fdkTemplate=\"subheader\">\n <ng-container *ngTemplateOutlet=\"_defaultDialogContent!.subHeader!\"></ng-container>\n </ng-template>\n </ng-container>\n </fd-dialog-header>\n\n <fd-dialog-body *ngIf=\"_defaultDialogContent?.content\">\n <ng-container *ngTemplateOutlet=\"_defaultDialogContent?.content!\"></ng-container>\n </fd-dialog-body>\n\n <fd-dialog-footer *ngIf=\"_showFooter()\">\n <fd-button-bar\n *ngIf=\"_defaultDialogContent?.approveButton\"\n fdType=\"emphasized\"\n fdkInitialFocus\n [label]=\"_defaultDialogContent?.approveButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_approveButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.approveButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.approveButtonId\"\n >\n </fd-button-bar>\n <fd-button-bar\n *ngIf=\"_defaultDialogContent?.cancelButton\"\n [label]=\"_defaultDialogContent?.cancelButton || ''\"\n [fdCozy]=\"_defaultDialogConfiguration.mobile\"\n (click)=\"_cancelButtonClicked()\"\n [ariaLabel]=\"_defaultDialogContent?.closeButtonAriaLabel\"\n [id]=\"_defaultDialogContent?.cancelButtonId\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "component", type: i2.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "directive", type: i3$1.ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: i3$2.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4$1.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i4$1.InitialFocusDirective, selector: "[fdkInitialFocus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: DialogCloseButtonComponent, selector: "[fd-dialog-close-button]", inputs: ["mobile", "title"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
776
776
  }
777
777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DialogDefaultComponent, decorators: [{
778
778
  type: Component,
@@ -806,10 +806,10 @@ class DialogContainerComponent extends DynamicComponentContainer {
806
806
  this.buildComponentCssClass();
807
807
  }
808
808
  /** @hidden */
809
- constructor(dialogConfig, _dialogRef, _destroyRef, elementRef, changeDetectorRef, injector) {
809
+ constructor(dialogConfig, ref, _destroyRef, elementRef, changeDetectorRef, injector) {
810
810
  super(elementRef, injector, changeDetectorRef);
811
811
  this.dialogConfig = dialogConfig;
812
- this._dialogRef = _dialogRef;
812
+ this.ref = ref;
813
813
  this._destroyRef = _destroyRef;
814
814
  /** The state of the Dialog animations. */
815
815
  this._animationState = 'void';
@@ -824,8 +824,8 @@ class DialogContainerComponent extends DynamicComponentContainer {
824
824
  onAnimationEnd(event) {
825
825
  const { toState } = event;
826
826
  if (toState === 'hidden') {
827
- this._dialogRef._endClose$.next();
828
- this._dialogRef._endClose$.complete();
827
+ this.ref._endClose$.next();
828
+ this.ref._endClose$.complete();
829
829
  }
830
830
  }
831
831
  /** @hidden */
@@ -869,7 +869,7 @@ class DialogContainerComponent extends DynamicComponentContainer {
869
869
  }
870
870
  /** @hidden Returns context for embedded template*/
871
871
  _templateContext() {
872
- return { $implicit: this._dialogRef, dialogConfig: this.dialogConfig };
872
+ return { $implicit: this.ref, dialogConfig: this.dialogConfig };
873
873
  }
874
874
  /** @hidden Load Dialog component from passed object */
875
875
  _createFromDefaultDialog(config) {
@@ -887,7 +887,7 @@ class DialogContainerComponent extends DynamicComponentContainer {
887
887
  this._animationState = 'hidden';
888
888
  this._cdr.detectChanges();
889
889
  };
890
- this._dialogRef.afterClosed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe({
890
+ this.ref.afterClosed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe({
891
891
  next: () => callback(),
892
892
  error: () => callback()
893
893
  });
@@ -933,8 +933,12 @@ class DialogBaseService {
933
933
  return this._dialogs && this._dialogs.length > 0;
934
934
  }
935
935
  /** Dismisses all currently open dialogs. */
936
- dismissAll() {
937
- this._dialogs.forEach((item) => this._destroyDialog(item));
936
+ dismissAll(reason) {
937
+ this._dialogs.forEach((item) => {
938
+ item.instance.ref.dismiss(reason);
939
+ item.destroy();
940
+ });
941
+ this._dialogs = [];
938
942
  }
939
943
  /** @hidden */
940
944
  ngOnDestroy() {
@@ -1108,18 +1112,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
1108
1112
  }]
1109
1113
  }] });
1110
1114
 
1111
- /**
1112
- * Represents the positioning of the dialog on the screen.
1113
- */
1114
- class DialogPosition {
1115
- }
1116
-
1117
1115
  class DialogContentBase {
1118
1116
  }
1119
1117
 
1120
1118
  class DialogDefaultContent extends DialogContentBase {
1121
1119
  }
1122
1120
 
1121
+ /**
1122
+ * Represents the positioning of the dialog on the screen.
1123
+ */
1124
+ class DialogPosition {
1125
+ }
1126
+
1123
1127
  class DialogOverlayContainer extends OverlayContainer {
1124
1128
  /**
1125
1129
  * This method returns the overlay container element. It will lazily