@quadrel-enterprise-ui/framework 19.0.0-beta.3 → 19.0.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 (165) hide show
  1. package/fesm2022/quadrel-enterprise-ui-framework.mjs +16417 -21705
  2. package/fesm2022/quadrel-enterprise-ui-framework.mjs.map +1 -1
  3. package/lib/button/button-stack/button-stack-container/button-stack.component.d.ts +2 -8
  4. package/lib/core/core.module.d.ts +9 -6
  5. package/lib/core/model/app-enviroment.token.d.ts +1 -2
  6. package/lib/core/model/safe-bottom-offset.token.d.ts +3 -0
  7. package/lib/core/services/push-events.service.d.ts +14 -2
  8. package/lib/file-collector/file-collector.component.d.ts +2 -5
  9. package/lib/forms/datepicker/calendar/calendar.component.d.ts +8 -0
  10. package/lib/forms/input/input.component.d.ts +1 -0
  11. package/lib/forms/model/form-input.d.ts +9 -0
  12. package/lib/forms/qd-form.module.d.ts +33 -34
  13. package/lib/lists/__mocks__/mock-list.module.d.ts +2 -10
  14. package/lib/lists/list.module.d.ts +4 -12
  15. package/lib/lists/pairs/horizontal-pairs/horizontal-pairs-container/horizontal-pairs.component.d.ts +2 -7
  16. package/lib/lists/pairs/status-pairs/status-pairs-container/status-pairs.component.d.ts +3 -7
  17. package/lib/notifications/directives/snackbar-listener.directive.d.ts +30 -6
  18. package/lib/notifications/notification/notification.component.d.ts +2 -2
  19. package/lib/page/model/page-config.interface.d.ts +11 -2
  20. package/lib/page/page.component.d.ts +4 -3
  21. package/lib/qd-ui-mock.module.d.ts +18 -25
  22. package/lib/qd-ui.module.d.ts +28 -35
  23. package/lib/quick-edit/quick-edit.component.d.ts +2 -4
  24. package/lib/section/section.component.d.ts +3 -2
  25. package/lib/section/section.module.d.ts +1 -2
  26. package/lib/shell/header/service-navigation/shell-service-navigation.component.d.ts +1 -1
  27. package/lib/shell/header/widget/shell-header-widget.component.d.ts +1 -1
  28. package/lib/table/__mocks__/mock-secondary-actions.service.d.ts +13 -0
  29. package/lib/table/model/table-data-resolver.d.ts +2 -2
  30. package/lib/table/services/resolver.service.d.ts +2 -1
  31. package/lib/table/store/table-store-selector.service.d.ts +2 -2
  32. package/lib/table/store/table-store.service.d.ts +1 -1
  33. package/lib/table/store/table.actions.d.ts +2 -0
  34. package/lib/table/table.component.d.ts +21 -18
  35. package/package.json +3 -2
  36. package/public-api.d.ts +0 -16
  37. package/src/assets/i18n/de.json +0 -1
  38. package/src/assets/i18n/en.json +0 -2
  39. package/src/assets/i18n/fr.json +0 -2
  40. package/src/assets/i18n/it.json +0 -2
  41. package/src/assets/styles/components/_components.all.scss +0 -1
  42. package/src/assets/styles/settings/_settings.iconFont.scss +1 -1
  43. package/lib/container/__mocks__/mock-action-footer.component.d.ts +0 -5
  44. package/lib/container/__mocks__/mock-container-create-content.component.d.ts +0 -9
  45. package/lib/container/__mocks__/mock-container-create-default.component.d.ts +0 -7
  46. package/lib/container/__mocks__/mock-container-section.component.d.ts +0 -7
  47. package/lib/container/__mocks__/mock-container-toolbar-action.component.d.ts +0 -16
  48. package/lib/container/__mocks__/mock-container-toolbar-filter.component.d.ts +0 -5
  49. package/lib/container/__mocks__/mock-container-toolbar-title.component.d.ts +0 -5
  50. package/lib/container/__mocks__/mock-container-toolbar.component.d.ts +0 -8
  51. package/lib/container/__mocks__/mock-container.component.d.ts +0 -17
  52. package/lib/container/__mocks__/mock-container.module.d.ts +0 -30
  53. package/lib/container/__mocks__/mock-create-delete-alert.component.d.ts +0 -7
  54. package/lib/container/__mocks__/mock-form-group.component.d.ts +0 -14
  55. package/lib/container/container.component.d.ts +0 -86
  56. package/lib/container/container.module.d.ts +0 -31
  57. package/lib/container/model/container-type.d.ts +0 -12
  58. package/lib/container/model/toolbar.interface.d.ts +0 -40
  59. package/lib/container/section/container-section.component.d.ts +0 -22
  60. package/lib/container/section/header/container-section-header.component.d.ts +0 -10
  61. package/lib/container/section/info/container-section-info.component.d.ts +0 -8
  62. package/lib/container/services/container-action.service.d.ts +0 -10
  63. package/lib/container/services/container-layout.service.d.ts +0 -20
  64. package/lib/container/toolbar/action/container-toolbar-action.component.d.ts +0 -45
  65. package/lib/container/toolbar/container-toolbar.component.d.ts +0 -26
  66. package/lib/container/toolbar/filter/container-toolbar-filter.component.d.ts +0 -11
  67. package/lib/container/toolbar/title/container-toolbar-title.component.d.ts +0 -10
  68. package/lib/content-grid/__mocks__/mock-content-grid-column.d.ts +0 -5
  69. package/lib/content-grid/__mocks__/mock-content-grid-row.d.ts +0 -5
  70. package/lib/content-grid/__mocks__/mock-content-grid.d.ts +0 -5
  71. package/lib/content-grid/__mocks__/mock-content-grid.module.d.ts +0 -13
  72. package/lib/content-grid/content-grid/content-grid.component.d.ts +0 -15
  73. package/lib/content-grid/content-grid-column/content-grid-column.component.d.ts +0 -11
  74. package/lib/content-grid/content-grid-row/content-grid-row.component.d.ts +0 -12
  75. package/lib/content-grid/content-grid.module.d.ts +0 -14
  76. package/lib/forms/forms/forms.component.d.ts +0 -10
  77. package/lib/layout/__mocks__/mock-action-bar.component.d.ts +0 -14
  78. package/lib/layout/__mocks__/mock-active-content-tab.directive.d.ts +0 -7
  79. package/lib/layout/__mocks__/mock-button-enabled.directive.d.ts +0 -7
  80. package/lib/layout/__mocks__/mock-layout-container.component.d.ts +0 -5
  81. package/lib/layout/__mocks__/mock-layout-renderer.component.d.ts +0 -13
  82. package/lib/layout/__mocks__/mock-layout.module.d.ts +0 -30
  83. package/lib/layout/__mocks__/mock-page-process-header-title.component.d.ts +0 -5
  84. package/lib/layout/__mocks__/mock-page-process-header.component.d.ts +0 -26
  85. package/lib/layout/__mocks__/mock-page-title.component.d.ts +0 -7
  86. package/lib/layout/__mocks__/mock-panel-title.component.d.ts +0 -7
  87. package/lib/layout/__mocks__/mock-panel.component.d.ts +0 -9
  88. package/lib/layout/__mocks__/mock-truncated-text.directive.d.ts +0 -12
  89. package/lib/layout/action-bar/action-bar.component.d.ts +0 -33
  90. package/lib/layout/action-bar/button-enabled.directive.d.ts +0 -25
  91. package/lib/layout/container/container.component.d.ts +0 -67
  92. package/lib/layout/content/page-process-header/page-process-header/page-process-header.component.d.ts +0 -101
  93. package/lib/layout/content/page-process-header/page-process-header-title/page-process-header-title.component.d.ts +0 -10
  94. package/lib/layout/content/page-title/page-title.component.d.ts +0 -22
  95. package/lib/layout/directives/active-content-tab.directive.d.ts +0 -21
  96. package/lib/layout/directives/calculate-full-height.directive.d.ts +0 -21
  97. package/lib/layout/force-line-break/force-line-break.directive.d.ts +0 -8
  98. package/lib/layout/interfaces/process-list.d.ts +0 -9
  99. package/lib/layout/layout-renderer/layout-renderer.component.d.ts +0 -26
  100. package/lib/layout/layout.module.d.ts +0 -49
  101. package/lib/layout/modal-fullscreen-container/modal-fullscreen-container.component.d.ts +0 -47
  102. package/lib/layout/panel/container/panel.component.d.ts +0 -29
  103. package/lib/layout/panel/title/panel-title.component.d.ts +0 -23
  104. package/lib/layout/panel/types/panel-types.d.ts +0 -5
  105. package/lib/layout/service/layout.service.d.ts +0 -24
  106. package/lib/layout/service/panel.service.d.ts +0 -13
  107. package/lib/lists/__mocks__/mock-vertical-pairs-caption.component.d.ts +0 -6
  108. package/lib/lists/__mocks__/mock-vertical-pairs-item.component.d.ts +0 -5
  109. package/lib/lists/__mocks__/mock-vertical-pairs-value.component.d.ts +0 -6
  110. package/lib/lists/__mocks__/mock-vertical-pairs.component.d.ts +0 -5
  111. package/lib/lists/pairs/vertical-pairs/vertical-pairs-caption/vertical-pairs-caption.component.d.ts +0 -10
  112. package/lib/lists/pairs/vertical-pairs/vertical-pairs-container/vertical-pairs.component.d.ts +0 -25
  113. package/lib/lists/pairs/vertical-pairs/vertical-pairs-item/vertical-pairs-item.component.d.ts +0 -20
  114. package/lib/lists/pairs/vertical-pairs/vertical-pairs-value/vertical-pairs-value.component.d.ts +0 -10
  115. package/lib/master-layout/__mocks__/mock-header-widget.component.d.ts +0 -16
  116. package/lib/master-layout/__mocks__/mock-master-layout-banner.component.d.ts +0 -5
  117. package/lib/master-layout/__mocks__/mock-master-layout-footer.component.d.ts +0 -5
  118. package/lib/master-layout/__mocks__/mock-master-layout-header.component.d.ts +0 -15
  119. package/lib/master-layout/__mocks__/mock-master-layout.component.d.ts +0 -9
  120. package/lib/master-layout/__mocks__/mock-master-layout.module.d.ts +0 -18
  121. package/lib/master-layout/header-widget/header-widget.component.d.ts +0 -55
  122. package/lib/master-layout/master-layout/master-layout.component.d.ts +0 -48
  123. package/lib/master-layout/master-layout-banner/master-layout-banner.component.d.ts +0 -25
  124. package/lib/master-layout/master-layout-footer/master-layout-footer.component.d.ts +0 -10
  125. package/lib/master-layout/master-layout-header/master-layout-header.component.d.ts +0 -48
  126. package/lib/master-layout/master-layout.module.d.ts +0 -30
  127. package/lib/master-layout/model/page-level.d.ts +0 -5
  128. package/lib/master-layout/model/service-navigation.d.ts +0 -3
  129. package/lib/master-layout/service/master-layout.service.d.ts +0 -16
  130. package/lib/master-layout/service-navigation/service-navigation.component.d.ts +0 -13
  131. package/lib/navigation/stepper/__mocks__/mock-step-action.component.d.ts +0 -16
  132. package/lib/navigation/stepper/__mocks__/mock-step-item.component.d.ts +0 -17
  133. package/lib/navigation/stepper/__mocks__/mock-step.component.d.ts +0 -18
  134. package/lib/navigation/stepper/__mocks__/mock-stepper.component.d.ts +0 -7
  135. package/lib/navigation/stepper/__mocks__/mock-stepper.module.d.ts +0 -16
  136. package/lib/navigation/stepper/interfaces/stepper.d.ts +0 -12
  137. package/lib/navigation/stepper/step/step.component.d.ts +0 -125
  138. package/lib/navigation/stepper/step-action/step-action.component.d.ts +0 -29
  139. package/lib/navigation/stepper/step-item/step-item.component.d.ts +0 -35
  140. package/lib/navigation/stepper/stepper/stepper.component.d.ts +0 -127
  141. package/lib/navigation/stepper/stepper.module.d.ts +0 -20
  142. package/lib/navigation/tab-bar/__mocks__/mock-tab-bar.module.d.ts +0 -12
  143. package/lib/navigation/tab-bar/__mocks__/mock-tab-link.component.d.ts +0 -7
  144. package/lib/navigation/tab-bar/__mocks__/mock-tab-nav-bar.component.d.ts +0 -5
  145. package/lib/navigation/tab-bar/tab-bar.module.d.ts +0 -13
  146. package/lib/navigation/tab-bar/tab-link/tab-link.component.d.ts +0 -26
  147. package/lib/navigation/tab-bar/tab-nav-bar/tab-nav-bar.component.d.ts +0 -11
  148. package/lib/navigation/tabs/__mocks__/mock-tab-action.component.d.ts +0 -11
  149. package/lib/navigation/tabs/__mocks__/mock-tab-item.component.d.ts +0 -17
  150. package/lib/navigation/tabs/__mocks__/mock-tab-pending-tasks.component.d.ts +0 -9
  151. package/lib/navigation/tabs/__mocks__/mock-tab.component.d.ts +0 -19
  152. package/lib/navigation/tabs/__mocks__/mock-tabs-page-leave-handler.component.d.ts +0 -7
  153. package/lib/navigation/tabs/__mocks__/mock-tabs.component.d.ts +0 -15
  154. package/lib/navigation/tabs/__mocks__/mock-tabs.module.d.ts +0 -20
  155. package/lib/navigation/tabs/interfaces/tabs.interface.d.ts +0 -27
  156. package/lib/navigation/tabs/services/tabs.service.d.ts +0 -25
  157. package/lib/navigation/tabs/tab/tab.component.d.ts +0 -79
  158. package/lib/navigation/tabs/tab-action/tab-action.component.d.ts +0 -16
  159. package/lib/navigation/tabs/tab-item/tab-item.component.d.ts +0 -34
  160. package/lib/navigation/tabs/tab-pending-tasks/tab-pending-tasks.component.d.ts +0 -21
  161. package/lib/navigation/tabs/tabs/tabs.component.d.ts +0 -81
  162. package/lib/navigation/tabs/tabs.module.d.ts +0 -21
  163. package/src/assets/styles/components/_components.master-layout.scss +0 -97
  164. /package/lib/{layout → core}/directives/viewport-adaptive.directive.d.ts +0 -0
  165. /package/lib/{master-layout/service → shell/services}/language-from-url.service.d.ts +0 -0
@@ -1,16 +1,10 @@
1
- import { ElementRef, OnInit } from '@angular/core';
2
- import { QdContainerLayoutService } from '../../../container/services/container-layout.service';
3
1
  import * as i0 from "@angular/core";
4
2
  /**
5
3
  * With the **QdButtonStack** component you can display and set up various states in the process.
6
4
  *
7
5
  * * @see child component **QdButtonStackButton**.
8
6
  */
9
- export declare class QdButtonStackComponent implements OnInit {
10
- private readonly containerLayoutService;
11
- private readonly _elementRef;
12
- constructor(containerLayoutService: QdContainerLayoutService, _elementRef: ElementRef);
13
- ngOnInit(): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<QdButtonStackComponent, [{ optional: true; }, null]>;
7
+ export declare class QdButtonStackComponent {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdButtonStackComponent, never>;
15
9
  static ɵcmp: i0.ɵɵComponentDeclaration<QdButtonStackComponent, "qd-button-stack", never, {}, {}, never, ["button[qdButtonStack]", "button[qd-button-stack]"], false, never>;
16
10
  }
@@ -9,6 +9,8 @@ import { QdTranslatable, QdTranslation } from './model/translation.interface';
9
9
  import { QdVisuallyHiddenDirective } from './visually-hidden/visually-hidden.directive';
10
10
  import { QdPushEventsService } from './services/push-events.service';
11
11
  import { QD_POPOVER_TOP_FIRST } from './popover/popover-top-first.token';
12
+ import { QdViewportAdaptiveDirective } from './directives/viewport-adaptive.directive';
13
+ import { QD_SAFE_BOTTOM_OFFSET } from './model/safe-bottom-offset.token';
12
14
  import * as i0 from "@angular/core";
13
15
  import * as i1 from "./disabled/disabled.directive";
14
16
  import * as i2 from "./pipes/file-size.pipe";
@@ -16,13 +18,14 @@ import * as i3 from "./pipes/placeholder.pipe";
16
18
  import * as i4 from "./projection-guard/projection-guard.component";
17
19
  import * as i5 from "./rwd-disabled/rwd-disabled.directive";
18
20
  import * as i6 from "./visually-hidden/visually-hidden.directive";
19
- import * as i7 from "@angular/common";
20
- import * as i8 from "@ngx-translate/core";
21
- import * as i9 from "./data-facets/data-facets.module";
22
- import * as i10 from "./breadcrumbs/breadcrumbs.module";
23
- export { QdAppEnvironment, QdDisabledDirective, QdFileSizePipe, QdPlaceholderPipe, QdProjectionGuardComponent, QdRwdDisabledDirective, QdTooltipAtIntersectionDirective, QdTranslatable, QdTranslation, QdVisuallyHiddenDirective, QdPushEventsService, QD_POPOVER_TOP_FIRST };
21
+ import * as i7 from "./directives/viewport-adaptive.directive";
22
+ import * as i8 from "@angular/common";
23
+ import * as i9 from "@ngx-translate/core";
24
+ import * as i10 from "./data-facets/data-facets.module";
25
+ import * as i11 from "./breadcrumbs/breadcrumbs.module";
26
+ export { QdAppEnvironment, QdDisabledDirective, QdFileSizePipe, QdPlaceholderPipe, QdProjectionGuardComponent, QdRwdDisabledDirective, QdTooltipAtIntersectionDirective, QdTranslatable, QdTranslation, QdVisuallyHiddenDirective, QdViewportAdaptiveDirective, QdPushEventsService, QD_POPOVER_TOP_FIRST, QD_SAFE_BOTTOM_OFFSET };
24
27
  export declare class QdCoreModule {
25
28
  static ɵfac: i0.ɵɵFactoryDeclaration<QdCoreModule, never>;
26
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdCoreModule, [typeof i1.QdDisabledDirective, typeof i2.QdFileSizePipe, typeof i3.QdPlaceholderPipe, typeof i4.QdProjectionGuardComponent, typeof i5.QdRwdDisabledDirective, typeof i6.QdVisuallyHiddenDirective], [typeof i7.CommonModule, typeof i8.TranslateModule, typeof i9.QdDataFacetsModule, typeof i10.QdBreadcrumbsModule], [typeof i1.QdDisabledDirective, typeof i2.QdFileSizePipe, typeof i3.QdPlaceholderPipe, typeof i4.QdProjectionGuardComponent, typeof i5.QdRwdDisabledDirective, typeof i6.QdVisuallyHiddenDirective]>;
29
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdCoreModule, [typeof i1.QdDisabledDirective, typeof i2.QdFileSizePipe, typeof i3.QdPlaceholderPipe, typeof i4.QdProjectionGuardComponent, typeof i5.QdRwdDisabledDirective, typeof i6.QdVisuallyHiddenDirective, typeof i7.QdViewportAdaptiveDirective], [typeof i8.CommonModule, typeof i9.TranslateModule, typeof i10.QdDataFacetsModule, typeof i11.QdBreadcrumbsModule], [typeof i1.QdDisabledDirective, typeof i2.QdFileSizePipe, typeof i3.QdPlaceholderPipe, typeof i4.QdProjectionGuardComponent, typeof i5.QdRwdDisabledDirective, typeof i6.QdVisuallyHiddenDirective, typeof i7.QdViewportAdaptiveDirective]>;
27
30
  static ɵinj: i0.ɵɵInjectorDeclaration<QdCoreModule>;
28
31
  }
@@ -1,4 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { Environment } from '../../master-layout/master-layout-banner/master-layout-banner.component';
3
2
  import { QdAppEnvironment } from './app-enviroment.interface';
4
- export declare const APP_ENVIRONMENT: InjectionToken<Environment | QdAppEnvironment>;
3
+ export declare const APP_ENVIRONMENT: InjectionToken<QdAppEnvironment>;
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ export declare const QD_SAFE_BOTTOM_OFFSET: InjectionToken<BehaviorSubject<number>>;
@@ -9,12 +9,15 @@ export type EventName = 'RESOURCE_CREATED' | 'RESOURCE_UPDATED' | 'RESOURCE_DELE
9
9
  * - **Real-Time Interaction**: Enables live updates without user actions or polling.
10
10
  * - **Scalable and Flexible**: The system is flexible and easily expandable to handle new events.
11
11
  * - **Consistency**: Ensures synchronization between server and client states for a consistent user experience.
12
+ * - **Authorization**: It uses the user's authentication (QdAuth) to secure the connection against the backend out-of-the-box. This requires a proper QdAuth setup. You can disable this feature when starting the connection.
12
13
  *
13
14
  * ### Usage
14
15
  *
15
16
  * ```ts
16
17
  * // Start the connection to the events
17
18
  * pushEventsService.connect('http://service-endpint/events');
19
+ * // or start without authentication in case you don't need:
20
+ * pushEventsService.connect('http://service-endpint/events', { disableAuthentication: true });
18
21
  *
19
22
  * // Subscribe to the event (Side Effect)
20
23
  * const subscription = pushEventsService.observe('RESOURCE_UPDATED').subscribe(event => handleEvent(event));
@@ -27,20 +30,28 @@ export type EventName = 'RESOURCE_CREATED' | 'RESOURCE_UPDATED' | 'RESOURCE_DELE
27
30
  * ```
28
31
  */
29
32
  export declare class QdPushEventsService {
33
+ private readonly authenticationService;
30
34
  private _eventSource;
31
35
  private _eventSubscriptionSubjects;
32
36
  private _listeners;
33
37
  private _heartbeatTimeout;
34
38
  private _reconnectDelayTime;
35
39
  private _heartbeatReconnectDelayTime;
40
+ private _accessTokenSub?;
41
+ private _options;
42
+ private _isUnauthorized;
43
+ constructor(authenticationService: any);
36
44
  /**
37
45
  * Establishes an EventSource connection to the given URL.
38
46
  * Automatically reconnects if heartbeat fails or is delayed.
39
47
  * Subscribers are retained across reconnections.
40
48
  *
41
49
  * @param url The backend URL for the event stream.
50
+ * @param options Options for the connection
42
51
  */
43
- connect(url: string): void;
52
+ connect(url: string, options?: {
53
+ disableAuthentication: boolean;
54
+ }): void;
44
55
  /**
45
56
  * Closes the EventSource connection and clears all listeners.
46
57
  * Subscribers are preserved for reconnection.
@@ -71,6 +82,7 @@ export declare class QdPushEventsService {
71
82
  private removeAllEventListenersFromEventSource;
72
83
  private logWarn;
73
84
  private logError;
74
- static ɵfac: i0.ɵɵFactoryDeclaration<QdPushEventsService, never>;
85
+ private connectEventSource;
86
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdPushEventsService, [{ optional: true; }]>;
75
87
  static ɵprov: i0.ɵɵInjectableDeclaration<QdPushEventsService>;
76
88
  }
@@ -1,5 +1,4 @@
1
1
  import { ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewContainerRef } from '@angular/core';
2
- import { QdContainerActionService } from '../container/services/container-action.service';
3
2
  import { QdDialogService } from '../dialog/services/dialog.service';
4
3
  import { QdSectionToolbarActionService } from '../section/services/section-toolbar-action.service';
5
4
  import { QdFileCollectorConfig } from './models/file-collector-config';
@@ -92,7 +91,6 @@ import * as i0 from "@angular/core";
92
91
  * ```
93
92
  */
94
93
  export declare class QdFileCollectorComponent implements OnInit, OnChanges, OnDestroy {
95
- private readonly containerActionService;
96
94
  private readonly sectionActionService;
97
95
  private readonly eventBroker;
98
96
  private readonly fileCollectorService;
@@ -109,12 +107,11 @@ export declare class QdFileCollectorComponent implements OnInit, OnChanges, OnDe
109
107
  */
110
108
  testId: string;
111
109
  fileInput: ElementRef;
112
- get hasContainer(): boolean;
113
110
  private _subscriptions;
114
111
  private readonly _viewonly$;
115
112
  get fileUploads(): QdFileUpload[];
116
113
  get canShowAddButton(): boolean;
117
- constructor(containerActionService: QdContainerActionService, sectionActionService: QdSectionToolbarActionService, eventBroker: QdEventBrokerService, fileCollectorService: QdFileCollectorService, fileCollectorValidationService: QdFileCollectorValidationService, fileTypeService: QdFileTypeService, dialogService: QdDialogService, viewContainerRef: ViewContainerRef);
114
+ constructor(sectionActionService: QdSectionToolbarActionService, eventBroker: QdEventBrokerService, fileCollectorService: QdFileCollectorService, fileCollectorValidationService: QdFileCollectorValidationService, fileTypeService: QdFileTypeService, dialogService: QdDialogService, viewContainerRef: ViewContainerRef);
118
115
  ngOnInit(): void;
119
116
  ngOnChanges(changes: SimpleChanges): void;
120
117
  ngOnDestroy(): void;
@@ -126,6 +123,6 @@ export declare class QdFileCollectorComponent implements OnInit, OnChanges, OnDe
126
123
  private initViewMode;
127
124
  private isConfigConsistentWithAllowedFileTypes;
128
125
  private logError;
129
- static ɵfac: i0.ɵɵFactoryDeclaration<QdFileCollectorComponent, [{ optional: true; }, { optional: true; }, { optional: true; }, null, null, null, null, null]>;
126
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdFileCollectorComponent, [{ optional: true; }, { optional: true; }, null, null, null, null, null]>;
130
127
  static ɵcmp: i0.ɵɵComponentDeclaration<QdFileCollectorComponent, "qd-file-collector", never, { "config": { "alias": "config"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, {}, never, never, false, never>;
131
128
  }
@@ -1,6 +1,13 @@
1
1
  import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { Moment } from 'moment';
3
3
  import { QdCalendarDay, QdCalendarMode, QdDisabledDates } from '../../model/datepicker';
4
+ /**
5
+ * DO NOT REMOVE — Vite/ESM does not bundle Moment locales automatically.
6
+ * These side-effect imports register de/fr/it for month and weekday names.
7
+ */
8
+ import 'moment/locale/de';
9
+ import 'moment/locale/fr';
10
+ import 'moment/locale/it';
4
11
  import * as i0 from "@angular/core";
5
12
  export declare class QdCalendarComponent implements OnInit, OnChanges {
6
13
  /**
@@ -52,6 +59,7 @@ export declare class QdCalendarComponent implements OnInit, OnChanges {
52
59
  private setCurrentDate;
53
60
  private getYears;
54
61
  private isDisabled;
62
+ private setWeekdays;
55
63
  static ɵfac: i0.ɵɵFactoryDeclaration<QdCalendarComponent, never>;
56
64
  static ɵcmp: i0.ɵɵComponentDeclaration<QdCalendarComponent, "qd-calendar", never, { "selectedDate": { "alias": "selectedDate"; "required": false; }; "language": { "alias": "language"; "required": false; }; "disabledDates": { "alias": "disabledDates"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, false, never>;
57
65
  }
@@ -329,6 +329,7 @@ export declare class QdInputComponent implements OnInit, OnChanges, OnDestroy, C
329
329
  private initializeOptionsResolver;
330
330
  private emitValue;
331
331
  private initOpModeSubscription;
332
+ private normalizeInitialControlValueIfNeeded;
332
333
  static ɵfac: i0.ɵɵFactoryDeclaration<QdInputComponent, [null, null, { optional: true; host: true; skipSelf: true; }, { optional: true; }]>;
333
334
  static ɵcmp: i0.ɵɵComponentDeclaration<QdInputComponent, "qd-input", never, { "formControlName": { "alias": "formControlName"; "required": false; }; "value": { "alias": "value"; "required": false; }; "config": { "alias": "config"; "required": false; }; "isError": { "alias": "isError"; "required": false; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "valueChange": "valueChange"; "enterClick": "enterClick"; "clickClear": "clickClear"; "clickHint": "clickHint"; "clickReadonly": "clickReadonly"; "clickViewonly": "clickViewonly"; }, never, ["[qdIconButton]"], false, never>;
334
335
  }
@@ -0,0 +1,9 @@
1
+ import { QdFormBaseOption, QdFormBaseOptions } from './options.interface';
2
+ /**
3
+ * @deprecated Use `QdFormBaseOption` instead.
4
+ */
5
+ export type QdFormInput = QdFormBaseOption;
6
+ /**
7
+ * @deprecated Use `QdFormBaseOptions` instead.
8
+ */
9
+ export type QdFormInputs = QdFormBaseOptions;
@@ -1,11 +1,15 @@
1
- import { QD_FORM_OPTIONS_RESOLVER, QdFormOptionsResolver } from './model/form-options-resolver';
2
1
  import { QdCheckboxChipsComponent } from './checkbox-chips/checkbox-chips.component';
3
2
  import { QdCheckboxComponent } from './checkboxes/checkbox/checkbox.component';
4
3
  import { QdCheckboxesComponent } from './checkboxes/checkboxes.component';
5
4
  import { QdDatepickerComponent } from './datepicker/datepicker.component';
6
5
  import { QdDropdownComponent } from './dropdown/dropdown.component';
7
- import { QdFormsComponent } from './forms/forms.component';
6
+ import { QdFileUploadComponent } from './file-upload/file-upload.component';
7
+ import { QD_FILE_UPLOAD_MANAGER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdFileUploadManager } from './file-upload/model/file-upload.model';
8
+ import { QdFileUploadService } from './file-upload/services/file-upload.service';
8
9
  import { QdInputComponent } from './input/input.component';
10
+ import { QdFormInput } from './model/form-input';
11
+ import { QD_FORM_OPTIONS_RESOLVER, QdFormOptionsResolver } from './model/form-options-resolver';
12
+ import { QdFormCheckboxChipsConfiguration, QdFormCheckboxesConfiguration, QdFormDatepickerConfiguration, QdFormDropdownConfiguration, QdFormFileUploadConfiguration, QdFormInputConfiguration, QdFormMultiInputConfiguration, QdFormPinCodeConfiguration, QdFormRadioButtonsConfiguration, QdFormSwitchesConfiguration, QdFormTextAreaConfiguration, QdRichtextConfig } from './model/forms.interface';
9
13
  import { QdMultiInputComponent } from './multi-input/multi-input.component';
10
14
  import { QdPinCodeComponent } from './pin-code/pin-code.component';
11
15
  import { QdRadioButtonsComponent } from './radio-buttons/radio-buttons.component';
@@ -19,10 +23,6 @@ import { QdValidators } from './shared/validators/validators';
19
23
  import { QdSwitchComponent } from './switches/switch/switch.component';
20
24
  import { QdSwitchesComponent } from './switches/switches.component';
21
25
  import { QdTextareaComponent } from './textarea/textarea.component';
22
- import { QdFileUploadComponent } from './file-upload/file-upload.component';
23
- import { QdFileUploadService } from './file-upload/services/file-upload.service';
24
- import { QD_FILE_UPLOAD_MANAGER_TOKEN, QD_UPLOAD_HTTP_OPTIONS, QdFileUploadManager } from './file-upload/model/file-upload.model';
25
- import { QdFormCheckboxChipsConfiguration, QdFormCheckboxesConfiguration, QdFormDatepickerConfiguration, QdFormDropdownConfiguration, QdFormFileUploadConfiguration, QdFormInputConfiguration, QdFormMultiInputConfiguration, QdFormPinCodeConfiguration, QdFormRadioButtonsConfiguration, QdFormSwitchesConfiguration, QdFormTextAreaConfiguration, QdRichtextConfig } from './model/forms.interface';
26
26
  import * as i0 from "@angular/core";
27
27
  import * as i1 from "./datepicker/calendar/calendar.component";
28
28
  import * as i2 from "./checkbox-chips/checkbox-chips.component";
@@ -38,35 +38,34 @@ import * as i11 from "./shared/components/form-hint/form-hint.component";
38
38
  import * as i12 from "./shared/components/form-label/form-label.component";
39
39
  import * as i13 from "./shared/components/form-readonly/form-readonly.component";
40
40
  import * as i14 from "./shared/components/form-viewonly/form-viewonly.component";
41
- import * as i15 from "./forms/forms.component";
42
- import * as i16 from "./input/input.component";
43
- import * as i17 from "./input/units/input-units.component";
44
- import * as i18 from "./input/options/input-options.directive";
45
- import * as i19 from "./input/options/input-options.component";
46
- import * as i20 from "./multi-input/multi-input-chip/multi-input-chip.component";
47
- import * as i21 from "./multi-input/multi-input-menu/multi-input-menu.component";
48
- import * as i22 from "./multi-input/multi-input.component";
49
- import * as i23 from "./pin-code/pin-code.component";
50
- import * as i24 from "./radio-buttons/radio-buttons.component";
51
- import * as i25 from "./switches/switch/switch.component";
52
- import * as i26 from "./switches/switches.component";
53
- import * as i27 from "./textarea/textarea.component";
54
- import * as i28 from "./shared/components/form-input/form-input.component";
55
- import * as i29 from "./richtext/richtext.component";
56
- import * as i30 from "./file-upload/file-upload.component";
57
- import * as i31 from "@angular/common";
58
- import * as i32 from "@angular/forms";
59
- import * as i33 from "@ngx-translate/core";
60
- import * as i34 from "../core/autofocus/autofocus.module";
61
- import * as i35 from "../chips/chips.module";
62
- import * as i36 from "../core/core.module";
63
- import * as i37 from "../icon/icon.module";
64
- import * as i38 from "../core/popover/popover.module";
65
- import * as i39 from "../core/tooltip/tooltip.module";
66
- import * as i40 from "ngx-editor";
67
- export { QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_UPLOAD_HTTP_OPTIONS, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdDatepickerComponent, QdDropdownComponent, QdFileUploadComponent, QdFileUploadManager, QdFileUploadService, QdFilterFormItemsComponent, QdFormArray, QdFormBuilder, QdFormCheckboxChipsConfiguration, QdFormCheckboxesConfiguration, QdFormControl, QdFormDatepickerConfiguration, QdFormDropdownConfiguration, QdFormFileUploadConfiguration, QdFormGroup, QdFormInputConfiguration, QdFormMultiInputConfiguration, QdFormOptionsResolver, QdFormPinCodeConfiguration, QdFormRadioButtonsConfiguration, QdFormSwitchesConfiguration, QdFormTextAreaConfiguration, QdFormsComponent, QdInputComponent, QdMultiInputComponent, QdPinCodeComponent, QdRadioButtonsComponent, QdRichtextComponent, QdRichtextConfig, QdSwitchComponent, QdSwitchesComponent, QdTextareaComponent, QdValidators };
41
+ import * as i15 from "./input/input.component";
42
+ import * as i16 from "./input/units/input-units.component";
43
+ import * as i17 from "./input/options/input-options.directive";
44
+ import * as i18 from "./input/options/input-options.component";
45
+ import * as i19 from "./multi-input/multi-input-chip/multi-input-chip.component";
46
+ import * as i20 from "./multi-input/multi-input-menu/multi-input-menu.component";
47
+ import * as i21 from "./multi-input/multi-input.component";
48
+ import * as i22 from "./pin-code/pin-code.component";
49
+ import * as i23 from "./radio-buttons/radio-buttons.component";
50
+ import * as i24 from "./switches/switch/switch.component";
51
+ import * as i25 from "./switches/switches.component";
52
+ import * as i26 from "./textarea/textarea.component";
53
+ import * as i27 from "./shared/components/form-input/form-input.component";
54
+ import * as i28 from "./richtext/richtext.component";
55
+ import * as i29 from "./file-upload/file-upload.component";
56
+ import * as i30 from "@angular/common";
57
+ import * as i31 from "@angular/forms";
58
+ import * as i32 from "@ngx-translate/core";
59
+ import * as i33 from "../core/autofocus/autofocus.module";
60
+ import * as i34 from "../chips/chips.module";
61
+ import * as i35 from "../core/core.module";
62
+ import * as i36 from "../icon/icon.module";
63
+ import * as i37 from "../core/popover/popover.module";
64
+ import * as i38 from "../core/tooltip/tooltip.module";
65
+ import * as i39 from "ngx-editor";
66
+ export { QD_FILE_UPLOAD_MANAGER_TOKEN, QD_FORM_OPTIONS_RESOLVER, QD_UPLOAD_HTTP_OPTIONS, QdCheckboxChipsComponent, QdCheckboxComponent, QdCheckboxesComponent, QdDatepickerComponent, QdDropdownComponent, QdFileUploadComponent, QdFileUploadManager, QdFileUploadService, QdFilterFormItemsComponent, QdFormArray, QdFormBuilder, QdFormCheckboxChipsConfiguration, QdFormCheckboxesConfiguration, QdFormControl, QdFormDatepickerConfiguration, QdFormDropdownConfiguration, QdFormFileUploadConfiguration, QdFormGroup, QdFormInput, QdFormInputConfiguration, QdFormMultiInputConfiguration, QdFormOptionsResolver, QdFormPinCodeConfiguration, QdFormRadioButtonsConfiguration, QdFormSwitchesConfiguration, QdFormTextAreaConfiguration, QdInputComponent, QdMultiInputComponent, QdPinCodeComponent, QdRadioButtonsComponent, QdRichtextComponent, QdRichtextConfig, QdSwitchComponent, QdSwitchesComponent, QdTextareaComponent, QdValidators };
68
67
  export declare class QdFormModule {
69
68
  static ɵfac: i0.ɵɵFactoryDeclaration<QdFormModule, never>;
70
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdFormModule, [typeof i1.QdCalendarComponent, typeof i2.QdCheckboxChipsComponent, typeof i3.QdCheckboxChipsItemComponent, typeof i4.QdCheckboxComponent, typeof i5.QdCheckboxesComponent, typeof i6.QdDatepickerComponent, typeof i7.QdDropdownComponent, typeof i8.QdDropdownOptionsComponent, typeof i9.QdFilterFormItemsComponent, typeof i10.QdFormErrorComponent, typeof i11.QdFormHintComponent, typeof i12.QdFormLabelComponent, typeof i13.QdFormReadonlyComponent, typeof i14.QdFormViewonlyComponent, typeof i15.QdFormsComponent, typeof i16.QdInputComponent, typeof i17.QdInputUnitsComponent, typeof i18.QdInputOptionsDirective, typeof i19.QdInputOptionsComponent, typeof i20.QdMultiInputChipComponent, typeof i21.QdMultiInputMenuComponent, typeof i22.QdMultiInputComponent, typeof i23.QdPinCodeComponent, typeof i24.QdRadioButtonsComponent, typeof i25.QdSwitchComponent, typeof i26.QdSwitchesComponent, typeof i27.QdTextareaComponent, typeof i28.QdFormInputComponent, typeof i29.QdRichtextComponent, typeof i30.QdFileUploadComponent], [typeof i31.CommonModule, typeof i32.FormsModule, typeof i32.ReactiveFormsModule, typeof i33.TranslateModule, typeof i34.QdAutofocusModule, typeof i35.QdChipModule, typeof i36.QdCoreModule, typeof i37.QdIconModule, typeof i38.QdPopoverModule, typeof i39.QdTooltipModule, typeof i40.NgxEditorModule], [typeof i2.QdCheckboxChipsComponent, typeof i4.QdCheckboxComponent, typeof i5.QdCheckboxesComponent, typeof i6.QdDatepickerComponent, typeof i7.QdDropdownComponent, typeof i9.QdFilterFormItemsComponent, typeof i15.QdFormsComponent, typeof i16.QdInputComponent, typeof i22.QdMultiInputComponent, typeof i23.QdPinCodeComponent, typeof i24.QdRadioButtonsComponent, typeof i25.QdSwitchComponent, typeof i26.QdSwitchesComponent, typeof i27.QdTextareaComponent, typeof i29.QdRichtextComponent, typeof i30.QdFileUploadComponent]>;
69
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdFormModule, [typeof i1.QdCalendarComponent, typeof i2.QdCheckboxChipsComponent, typeof i3.QdCheckboxChipsItemComponent, typeof i4.QdCheckboxComponent, typeof i5.QdCheckboxesComponent, typeof i6.QdDatepickerComponent, typeof i7.QdDropdownComponent, typeof i8.QdDropdownOptionsComponent, typeof i9.QdFilterFormItemsComponent, typeof i10.QdFormErrorComponent, typeof i11.QdFormHintComponent, typeof i12.QdFormLabelComponent, typeof i13.QdFormReadonlyComponent, typeof i14.QdFormViewonlyComponent, typeof i15.QdInputComponent, typeof i16.QdInputUnitsComponent, typeof i17.QdInputOptionsDirective, typeof i18.QdInputOptionsComponent, typeof i19.QdMultiInputChipComponent, typeof i20.QdMultiInputMenuComponent, typeof i21.QdMultiInputComponent, typeof i22.QdPinCodeComponent, typeof i23.QdRadioButtonsComponent, typeof i24.QdSwitchComponent, typeof i25.QdSwitchesComponent, typeof i26.QdTextareaComponent, typeof i27.QdFormInputComponent, typeof i28.QdRichtextComponent, typeof i29.QdFileUploadComponent], [typeof i30.CommonModule, typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i32.TranslateModule, typeof i33.QdAutofocusModule, typeof i34.QdChipModule, typeof i35.QdCoreModule, typeof i36.QdIconModule, typeof i37.QdPopoverModule, typeof i38.QdTooltipModule, typeof i39.NgxEditorModule], [typeof i2.QdCheckboxChipsComponent, typeof i4.QdCheckboxComponent, typeof i5.QdCheckboxesComponent, typeof i6.QdDatepickerComponent, typeof i7.QdDropdownComponent, typeof i9.QdFilterFormItemsComponent, typeof i15.QdInputComponent, typeof i21.QdMultiInputComponent, typeof i22.QdPinCodeComponent, typeof i23.QdRadioButtonsComponent, typeof i24.QdSwitchComponent, typeof i25.QdSwitchesComponent, typeof i26.QdTextareaComponent, typeof i28.QdRichtextComponent, typeof i29.QdFileUploadComponent]>;
71
70
  static ɵinj: i0.ɵɵInjectorDeclaration<QdFormModule>;
72
71
  }
@@ -8,10 +8,6 @@ import { QdMockStatusPairsComponent } from './mock-status-pairs.component';
8
8
  import { QdMockStatusPairsErrorComponent } from './mock-status-error.component';
9
9
  import { QdMockStatusPairsItemComponent } from './mock-status-pairs-item.component';
10
10
  import { QdMockStatusPairsValueComponent } from './mock-status-pairs-value.component';
11
- import { QdMockVerticalPairsCaptionComponent } from './mock-vertical-pairs-caption.component';
12
- import { QdMockVerticalPairsValueComponent } from './mock-vertical-pairs-value.component';
13
- import { QdMockVerticalPairsItemComponent } from './mock-vertical-pairs-item.component';
14
- import { QdMockVerticalPairsComponent } from './mock-vertical-pairs.component';
15
11
  import * as i0 from "@angular/core";
16
12
  import * as i1 from "./mock-container-pairs-caption.component";
17
13
  import * as i2 from "./mock-container-pairs-container.component";
@@ -23,13 +19,9 @@ import * as i7 from "./mock-status-pairs.component";
23
19
  import * as i8 from "./mock-status-error.component";
24
20
  import * as i9 from "./mock-status-pairs-item.component";
25
21
  import * as i10 from "./mock-status-pairs-value.component";
26
- import * as i11 from "./mock-vertical-pairs-caption.component";
27
- import * as i12 from "./mock-vertical-pairs.component";
28
- import * as i13 from "./mock-vertical-pairs-item.component";
29
- import * as i14 from "./mock-vertical-pairs-value.component";
30
- export { QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent, QdMockVerticalPairsCaptionComponent, QdMockVerticalPairsComponent, QdMockVerticalPairsItemComponent, QdMockVerticalPairsValueComponent };
22
+ export { QdMockContainerPairsCaptionComponent, QdMockContainerPairsContainerComponent, QdMockContainerPairsHeaderComponent, QdMockContainerPairsItemComponent, QdMockContainerPairsValueComponent, QdMockStatusPairsCaptionComponent, QdMockStatusPairsComponent, QdMockStatusPairsErrorComponent, QdMockStatusPairsItemComponent, QdMockStatusPairsValueComponent };
31
23
  export declare class QdMockListModule {
32
24
  static ɵfac: i0.ɵɵFactoryDeclaration<QdMockListModule, never>;
33
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdMockListModule, [typeof i1.QdMockContainerPairsCaptionComponent, typeof i2.QdMockContainerPairsContainerComponent, typeof i3.QdMockContainerPairsHeaderComponent, typeof i4.QdMockContainerPairsItemComponent, typeof i5.QdMockContainerPairsValueComponent, typeof i6.QdMockStatusPairsCaptionComponent, typeof i7.QdMockStatusPairsComponent, typeof i8.QdMockStatusPairsErrorComponent, typeof i9.QdMockStatusPairsItemComponent, typeof i10.QdMockStatusPairsValueComponent, typeof i11.QdMockVerticalPairsCaptionComponent, typeof i12.QdMockVerticalPairsComponent, typeof i13.QdMockVerticalPairsItemComponent, typeof i14.QdMockVerticalPairsValueComponent], never, [typeof i1.QdMockContainerPairsCaptionComponent, typeof i2.QdMockContainerPairsContainerComponent, typeof i3.QdMockContainerPairsHeaderComponent, typeof i4.QdMockContainerPairsItemComponent, typeof i5.QdMockContainerPairsValueComponent, typeof i6.QdMockStatusPairsCaptionComponent, typeof i7.QdMockStatusPairsComponent, typeof i8.QdMockStatusPairsErrorComponent, typeof i9.QdMockStatusPairsItemComponent, typeof i10.QdMockStatusPairsValueComponent, typeof i11.QdMockVerticalPairsCaptionComponent, typeof i12.QdMockVerticalPairsComponent, typeof i13.QdMockVerticalPairsItemComponent, typeof i14.QdMockVerticalPairsValueComponent]>;
25
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdMockListModule, [typeof i1.QdMockContainerPairsCaptionComponent, typeof i2.QdMockContainerPairsContainerComponent, typeof i3.QdMockContainerPairsHeaderComponent, typeof i4.QdMockContainerPairsItemComponent, typeof i5.QdMockContainerPairsValueComponent, typeof i6.QdMockStatusPairsCaptionComponent, typeof i7.QdMockStatusPairsComponent, typeof i8.QdMockStatusPairsErrorComponent, typeof i9.QdMockStatusPairsItemComponent, typeof i10.QdMockStatusPairsValueComponent], never, [typeof i1.QdMockContainerPairsCaptionComponent, typeof i2.QdMockContainerPairsContainerComponent, typeof i3.QdMockContainerPairsHeaderComponent, typeof i4.QdMockContainerPairsItemComponent, typeof i5.QdMockContainerPairsValueComponent, typeof i6.QdMockStatusPairsCaptionComponent, typeof i7.QdMockStatusPairsComponent, typeof i8.QdMockStatusPairsErrorComponent, typeof i9.QdMockStatusPairsItemComponent, typeof i10.QdMockStatusPairsValueComponent]>;
34
26
  static ɵinj: i0.ɵɵInjectorDeclaration<QdMockListModule>;
35
27
  }
@@ -12,10 +12,6 @@ import { QdStatusPairsComponent } from './pairs/status-pairs/status-pairs-contai
12
12
  import { QdStatusPairsErrorComponent } from './pairs/status-pairs/status-pairs-error/status-pairs-error.component';
13
13
  import { QdStatusPairsItemComponent } from './pairs/status-pairs/status-pairs-item/status-pairs-item.component';
14
14
  import { QdStatusPairsValueComponent } from './pairs/status-pairs/status-pairs-value/status-pairs-value.component';
15
- import { QdVerticalPairsCaptionComponent } from './pairs/vertical-pairs/vertical-pairs-caption/vertical-pairs-caption.component';
16
- import { QdVerticalPairsComponent } from './pairs/vertical-pairs/vertical-pairs-container/vertical-pairs.component';
17
- import { QdVerticalPairsItemComponent } from './pairs/vertical-pairs/vertical-pairs-item/vertical-pairs-item.component';
18
- import { QdVerticalPairsValueComponent } from './pairs/vertical-pairs/vertical-pairs-value/vertical-pairs-value.component';
19
15
  import * as i0 from "@angular/core";
20
16
  import * as i1 from "./pairs/container-pairs/container-pairs-caption/container-pairs-caption.component";
21
17
  import * as i2 from "./pairs/container-pairs/container-pairs-container/container-pairs-container.component";
@@ -31,15 +27,11 @@ import * as i11 from "./pairs/status-pairs/status-pairs-container/status-pairs.c
31
27
  import * as i12 from "./pairs/status-pairs/status-pairs-error/status-pairs-error.component";
32
28
  import * as i13 from "./pairs/status-pairs/status-pairs-item/status-pairs-item.component";
33
29
  import * as i14 from "./pairs/status-pairs/status-pairs-value/status-pairs-value.component";
34
- import * as i15 from "./pairs/vertical-pairs/vertical-pairs-caption/vertical-pairs-caption.component";
35
- import * as i16 from "./pairs/vertical-pairs/vertical-pairs-container/vertical-pairs.component";
36
- import * as i17 from "./pairs/vertical-pairs/vertical-pairs-item/vertical-pairs-item.component";
37
- import * as i18 from "./pairs/vertical-pairs/vertical-pairs-value/vertical-pairs-value.component";
38
- import * as i19 from "@angular/common";
39
- import * as i20 from "../icon/icon.module";
40
- export { QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent, QdVerticalPairsCaptionComponent, QdVerticalPairsComponent, QdVerticalPairsItemComponent, QdVerticalPairsValueComponent };
30
+ import * as i15 from "@angular/common";
31
+ import * as i16 from "../icon/icon.module";
32
+ export { QdContainerPairsCaptionComponent, QdContainerPairsContainerComponent, QdContainerPairsHeaderComponent, QdContainerPairsItemComponent, QdContainerPairsValueComponent, QdHorizontalPairsCaptionComponent, QdHorizontalPairsComponent, QdHorizontalPairsItemComponent, QdHorizontalPairsValueComponent, QdStatusPairsCaptionComponent, QdStatusPairsComponent, QdStatusPairsErrorComponent, QdStatusPairsItemComponent, QdStatusPairsValueComponent };
41
33
  export declare class QdListModule {
42
34
  static ɵfac: i0.ɵɵFactoryDeclaration<QdListModule, never>;
43
- static ɵmod: i0.ɵɵNgModuleDeclaration<QdListModule, [typeof i1.QdContainerPairsCaptionComponent, typeof i2.QdContainerPairsContainerComponent, typeof i3.QdContainerPairsHeaderComponent, typeof i4.QdContainerPairsItemComponent, typeof i5.QdContainerPairsValueComponent, typeof i6.QdHorizontalPairsCaptionComponent, typeof i7.QdHorizontalPairsComponent, typeof i8.QdHorizontalPairsItemComponent, typeof i9.QdHorizontalPairsValueComponent, typeof i10.QdStatusPairsCaptionComponent, typeof i11.QdStatusPairsComponent, typeof i12.QdStatusPairsErrorComponent, typeof i12.QdStatusPairsErrorComponent, typeof i13.QdStatusPairsItemComponent, typeof i14.QdStatusPairsValueComponent, typeof i15.QdVerticalPairsCaptionComponent, typeof i16.QdVerticalPairsComponent, typeof i17.QdVerticalPairsItemComponent, typeof i18.QdVerticalPairsValueComponent], [typeof i19.CommonModule, typeof i20.QdIconModule], [typeof i7.QdHorizontalPairsComponent, typeof i8.QdHorizontalPairsItemComponent, typeof i6.QdHorizontalPairsCaptionComponent, typeof i9.QdHorizontalPairsValueComponent, typeof i11.QdStatusPairsComponent, typeof i13.QdStatusPairsItemComponent, typeof i14.QdStatusPairsValueComponent, typeof i10.QdStatusPairsCaptionComponent, typeof i16.QdVerticalPairsComponent, typeof i17.QdVerticalPairsItemComponent, typeof i15.QdVerticalPairsCaptionComponent, typeof i18.QdVerticalPairsValueComponent, typeof i2.QdContainerPairsContainerComponent, typeof i3.QdContainerPairsHeaderComponent, typeof i4.QdContainerPairsItemComponent, typeof i1.QdContainerPairsCaptionComponent, typeof i5.QdContainerPairsValueComponent, typeof i12.QdStatusPairsErrorComponent]>;
35
+ static ɵmod: i0.ɵɵNgModuleDeclaration<QdListModule, [typeof i1.QdContainerPairsCaptionComponent, typeof i2.QdContainerPairsContainerComponent, typeof i3.QdContainerPairsHeaderComponent, typeof i4.QdContainerPairsItemComponent, typeof i5.QdContainerPairsValueComponent, typeof i6.QdHorizontalPairsCaptionComponent, typeof i7.QdHorizontalPairsComponent, typeof i8.QdHorizontalPairsItemComponent, typeof i9.QdHorizontalPairsValueComponent, typeof i10.QdStatusPairsCaptionComponent, typeof i11.QdStatusPairsComponent, typeof i12.QdStatusPairsErrorComponent, typeof i12.QdStatusPairsErrorComponent, typeof i13.QdStatusPairsItemComponent, typeof i14.QdStatusPairsValueComponent], [typeof i15.CommonModule, typeof i16.QdIconModule], [typeof i7.QdHorizontalPairsComponent, typeof i8.QdHorizontalPairsItemComponent, typeof i6.QdHorizontalPairsCaptionComponent, typeof i9.QdHorizontalPairsValueComponent, typeof i11.QdStatusPairsComponent, typeof i13.QdStatusPairsItemComponent, typeof i14.QdStatusPairsValueComponent, typeof i10.QdStatusPairsCaptionComponent, typeof i2.QdContainerPairsContainerComponent, typeof i3.QdContainerPairsHeaderComponent, typeof i4.QdContainerPairsItemComponent, typeof i1.QdContainerPairsCaptionComponent, typeof i5.QdContainerPairsValueComponent, typeof i12.QdStatusPairsErrorComponent]>;
44
36
  static ɵinj: i0.ɵɵInjectorDeclaration<QdListModule>;
45
37
  }
@@ -1,5 +1,3 @@
1
- import { OnInit } from '@angular/core';
2
- import { QdContainerLayoutService } from '../../../../container/services/container-layout.service';
3
1
  import * as i0 from "@angular/core";
4
2
  /**
5
3
  * The **QdHorizontalPairs** renders key-value pairs. <br />
@@ -16,10 +14,7 @@ import * as i0 from "@angular/core";
16
14
  * </qd-horizontal-pairs-item>
17
15
  * </qd-horizontal-pairs>
18
16
  */
19
- export declare class QdHorizontalPairsComponent implements OnInit {
20
- private containerLayoutService;
21
- constructor(containerLayoutService: QdContainerLayoutService);
22
- ngOnInit(): void;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<QdHorizontalPairsComponent, [{ optional: true; }]>;
17
+ export declare class QdHorizontalPairsComponent {
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdHorizontalPairsComponent, never>;
24
19
  static ɵcmp: i0.ɵɵComponentDeclaration<QdHorizontalPairsComponent, "qd-horizontal-pairs", never, {}, {}, never, ["*"], false, never>;
25
20
  }
@@ -1,5 +1,4 @@
1
- import { AfterViewChecked, OnInit, QueryList } from '@angular/core';
2
- import { QdContainerLayoutService } from '../../../../container/services/container-layout.service';
1
+ import { AfterViewChecked, QueryList } from '@angular/core';
3
2
  import { QdStatusPairsErrorComponent } from '../status-pairs-error/status-pairs-error.component';
4
3
  import { QdStatusPairsItemComponent } from '../status-pairs-item/status-pairs-item.component';
5
4
  import * as i0 from "@angular/core";
@@ -23,14 +22,11 @@ import * as i0 from "@angular/core";
23
22
  * <qd-status-pairs-error>error</qd-status-pairs-error>
24
23
  * </qd-status-pairs>
25
24
  */
26
- export declare class QdStatusPairsComponent implements OnInit, AfterViewChecked {
27
- private containerLayoutService;
25
+ export declare class QdStatusPairsComponent implements AfterViewChecked {
28
26
  statusPairErrorRef: QdStatusPairsErrorComponent;
29
27
  items: QueryList<QdStatusPairsItemComponent>;
30
- constructor(containerLayoutService: QdContainerLayoutService);
31
- ngOnInit(): void;
32
28
  ngAfterViewChecked(): void;
33
29
  private showError;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<QdStatusPairsComponent, [{ optional: true; }]>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdStatusPairsComponent, never>;
35
31
  static ɵcmp: i0.ɵɵComponentDeclaration<QdStatusPairsComponent, "qd-status-pairs", never, {}, {}, ["statusPairErrorRef", "items"], ["*"], false, never>;
36
32
  }
@@ -1,21 +1,45 @@
1
- import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
2
1
  import { ElementRef, OnDestroy, OnInit } from '@angular/core';
2
+ import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
3
+ import { BehaviorSubject } from 'rxjs';
3
4
  import { QdSnackbarService } from '../services/snackbar.service';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
- * **QdNotificationsSnackbarListener** provides a CDK overlay for the **QdNotificationsSnackbar**.
7
+ * Shows notifications as a snackbar.
8
+ *
9
+ * #### **Behavior**
10
+ * - Appears in the bottom-right corner.
11
+ * - Adapts to the QLS (e.g., stays above a PageFooter).
12
+ * - Behavior is configurable via `snackbarOptions` (e.g., lifetime, close button, handlers).
13
+ *
14
+ * #### **Usage**
15
+ * ```html
16
+ * <qd-shell [config]="shellConfig" qdSnackbarListener>
17
+ * ```
18
+ *
19
+ * #### **Snackbar Configuration**
20
+ * ```ts
21
+ * {
22
+ * showAsSnackbar: true,
23
+ * snackbarOptions?: {
24
+ * ...
25
+ * }
26
+ * }
27
+ * ```
7
28
  */
8
29
  export declare class QdNotificationsSnackbarListenerDirective implements OnInit, OnDestroy {
9
30
  private snackbarService;
10
31
  private hostRef;
11
32
  private overlay;
12
33
  private overlayPositionBuilder;
13
- private overlayRef;
14
- private destroyed$;
15
- constructor(snackbarService: QdSnackbarService, hostRef: ElementRef<HTMLElement>, overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder);
34
+ private safeBottomOffset$;
35
+ private _overlayRef;
36
+ private _destroyed$;
37
+ constructor(snackbarService: QdSnackbarService, hostRef: ElementRef<HTMLElement>, overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, safeBottomOffset$: BehaviorSubject<number>);
16
38
  ngOnInit(): void;
17
- private registerHost;
18
39
  ngOnDestroy(): void;
40
+ private initOverlay;
41
+ private observeSafeBottomOffset;
42
+ private bottomRightPositions;
19
43
  static ɵfac: i0.ɵɵFactoryDeclaration<QdNotificationsSnackbarListenerDirective, never>;
20
44
  static ɵdir: i0.ɵɵDirectiveDeclaration<QdNotificationsSnackbarListenerDirective, "[qdSnackbarListener]", never, {}, {}, never, never, false, never>;
21
45
  }
@@ -254,14 +254,14 @@ import * as i0 from "@angular/core";
254
254
  * ### Example
255
255
  *
256
256
  * ```html
257
- * <qd-container qdSnackbarListener> My Container Content </qd-container>
257
+ * <qd-section qdSnackbarListener> My Container Content </qd-section>
258
258
  *
259
259
  * <button (click)="addNotification('qdPanel', { type: 'critical', i18n: 'i18n.error.critical', showAsSnackbar: true })">
260
260
  * Add Notification
261
261
  * </button>
262
262
  * ```
263
263
  *
264
- * All notifications are now displayed by the directive contained in the `qd-container`. Also, all notifications from the backend are displayed there.
264
+ * All notifications are now displayed by the directive contained in the `qd-section`. Also, all notifications from the backend are displayed there.
265
265
  *
266
266
  * **Recommendation of the Quadrel Team**: Place the `qdSnackbarListener` directly on top of the layout system - so for example in the **AppComponent**.
267
267
  *
@@ -1,3 +1,4 @@
1
+ import { Observable } from 'rxjs';
1
2
  import { QdMenuButtonActionConfig } from '../../button/model/button-config';
2
3
  import { QdPageHeaderFacetConfig } from './page-header-facet.interface';
3
4
  /**
@@ -368,9 +369,17 @@ export interface QdPageSaveAction {
368
369
  i18n: string;
369
370
  };
370
371
  /**
371
- * @description Handler function that is triggered when the save action is executed.
372
+ * @description Triggered when the save action is executed.
373
+ *
374
+ * Success criteria:
375
+ * - If the handler returns an Observable<boolean>, only the first emission after the save click counts:
376
+ * - **true:** success - toggle to view and apply the saved values
377
+ * - **false:** failure/cancel - stay in edit mode
378
+ * - If the handler returns no Observable (void), the save is treated as instant success (toggle + apply values).
379
+ *
380
+ * On a successful save, the framework applies the values and resets its internal validation and change-tracking state.
372
381
  */
373
- handler: (formValues?: any) => void;
382
+ handler: (formValues?: any) => void | Observable<boolean>;
374
383
  /**
375
384
  * @description Optional validation flag, defaults to true.
376
385
  * Determines whether form validation is required before saving and ensures that changes must be present in the form before saving.
@@ -1,5 +1,5 @@
1
1
  import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
2
- import { Observable } from 'rxjs';
2
+ import { BehaviorSubject, Observable } from 'rxjs';
3
3
  import { QdDialogService } from '../dialog/dialog.module';
4
4
  import { QdPageStepperAdapterDirective } from '../page-stepper/adaptors/page-stepper-adapter.directive';
5
5
  import { QdPageStepperComponent } from '../page-stepper/page-stepper.component';
@@ -398,6 +398,7 @@ export declare class QdPageComponent<T extends object> implements OnInit, OnChan
398
398
  private readonly formGroupManagerService;
399
399
  private readonly submitActionService;
400
400
  private readonly dialog;
401
+ private bottomOffset$?;
401
402
  /**
402
403
  * This property defines the configuration for the QdPage component, including the page type,
403
404
  * title, and specific configurations for each type of page.
@@ -429,7 +430,7 @@ export declare class QdPageComponent<T extends object> implements OnInit, OnChan
429
430
  get hasNavigation(): boolean;
430
431
  get footerVisible(): boolean | undefined;
431
432
  get hasInfoBanners(): boolean;
432
- constructor(pageStoreService: QdPageStoreService<T>, footerService: QdPageFooterService, formGroupManagerService: QdFormGroupManagerService, submitActionService: QdPageSubmitActionService, dialog: QdDialogService);
433
+ constructor(pageStoreService: QdPageStoreService<T>, footerService: QdPageFooterService, formGroupManagerService: QdFormGroupManagerService, submitActionService: QdPageSubmitActionService, dialog: QdDialogService, bottomOffset$?: BehaviorSubject<number>);
433
434
  ngOnInit(): void;
434
435
  ngOnChanges(changes: SimpleChanges): void;
435
436
  ngAfterViewInit(): void;
@@ -442,6 +443,6 @@ export declare class QdPageComponent<T extends object> implements OnInit, OnChan
442
443
  private generateFooterActionHandler;
443
444
  private setupSubmitActionValidation;
444
445
  private initSubmitValidation;
445
- static ɵfac: i0.ɵɵFactoryDeclaration<QdPageComponent<any>, never>;
446
+ static ɵfac: i0.ɵɵFactoryDeclaration<QdPageComponent<any>, [null, null, null, null, null, { optional: true; }]>;
446
447
  static ɵcmp: i0.ɵɵComponentDeclaration<QdPageComponent<any>, "qd-page", never, { "config": { "alias": "config"; "required": true; }; "testId": { "alias": "data-test-id"; "required": false; }; }, { "operationModeChanged": "operationModeChanged"; }, ["controlPanel", "stepperComponent", "tabsComponent", "stepperAdapterDirective", "tabsAdapterDirective", "sections", "infoBanners"], ["qd-page-info-banner", "qd-page-stepper", "[qdPageStepperAdapter]", "qd-page-tabs", "[qdPageTabsAdapter]", "qd-section", "[qdSectionAdapter]", "[qdPageFooter]", "qd-page-control-panel", "*"], false, never>;
447
448
  }