@cute-widgets/base 20.0.4 → 21.0.0

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 (171) hide show
  1. package/CHANGELOG.md +18 -6
  2. package/fesm2022/cute-widgets-base-abstract.mjs +19 -29
  3. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
  4. package/fesm2022/cute-widgets-base-alert.mjs +10 -10
  5. package/fesm2022/cute-widgets-base-alert.mjs.map +1 -1
  6. package/fesm2022/cute-widgets-base-autocomplete.mjs +14 -14
  7. package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -1
  8. package/fesm2022/cute-widgets-base-badge.mjs +46 -14
  9. package/fesm2022/cute-widgets-base-badge.mjs.map +1 -1
  10. package/fesm2022/cute-widgets-base-bottom-sheet.mjs +11 -11
  11. package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -1
  12. package/fesm2022/cute-widgets-base-button-toggle.mjs +61 -37
  13. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
  14. package/fesm2022/cute-widgets-base-button.mjs +176 -112
  15. package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
  16. package/fesm2022/cute-widgets-base-card.mjs +40 -40
  17. package/fesm2022/cute-widgets-base-card.mjs.map +1 -1
  18. package/fesm2022/cute-widgets-base-checkbox.mjs +28 -28
  19. package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -1
  20. package/fesm2022/cute-widgets-base-chips.mjs +49 -61
  21. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
  22. package/fesm2022/cute-widgets-base-collapse.mjs +120 -132
  23. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -1
  24. package/fesm2022/cute-widgets-base-core-datetime.mjs +11 -11
  25. package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -1
  26. package/fesm2022/cute-widgets-base-core-directives.mjs +21 -21
  27. package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -1
  28. package/fesm2022/cute-widgets-base-core-error.mjs +6 -6
  29. package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -1
  30. package/fesm2022/cute-widgets-base-core-layout.mjs +13 -1
  31. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
  32. package/fesm2022/cute-widgets-base-core-line.mjs +7 -7
  33. package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -1
  34. package/fesm2022/cute-widgets-base-core-nav.mjs +30 -28
  35. package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -1
  36. package/fesm2022/cute-widgets-base-core-observers.mjs +16 -16
  37. package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -1
  38. package/fesm2022/cute-widgets-base-core-option.mjs +10 -10
  39. package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -1
  40. package/fesm2022/cute-widgets-base-core-pipes.mjs +6 -6
  41. package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -1
  42. package/fesm2022/cute-widgets-base-core-ripple.mjs +3 -3
  43. package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -1
  44. package/fesm2022/cute-widgets-base-core-theming.mjs +7 -7
  45. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -1
  46. package/fesm2022/cute-widgets-base-core-utils.mjs +3 -3
  47. package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -1
  48. package/fesm2022/cute-widgets-base-core.mjs +50 -38
  49. package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
  50. package/fesm2022/cute-widgets-base-datepicker.mjs +100 -99
  51. package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -1
  52. package/fesm2022/cute-widgets-base-dialog.mjs +170 -135
  53. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
  54. package/fesm2022/cute-widgets-base-divider.mjs +7 -7
  55. package/fesm2022/cute-widgets-base-divider.mjs.map +1 -1
  56. package/fesm2022/cute-widgets-base-expansion.mjs +27 -27
  57. package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -1
  58. package/fesm2022/cute-widgets-base-form-field.mjs +28 -28
  59. package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -1
  60. package/fesm2022/cute-widgets-base-grid-list.mjs +22 -22
  61. package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -1
  62. package/fesm2022/cute-widgets-base-icon.mjs +10 -10
  63. package/fesm2022/cute-widgets-base-icon.mjs.map +1 -1
  64. package/fesm2022/cute-widgets-base-input.mjs +7 -7
  65. package/fesm2022/cute-widgets-base-input.mjs.map +1 -1
  66. package/fesm2022/cute-widgets-base-layout-container.mjs +10 -10
  67. package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -1
  68. package/fesm2022/cute-widgets-base-layout-stack.mjs +13 -13
  69. package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -1
  70. package/fesm2022/cute-widgets-base-layout.mjs +23 -23
  71. package/fesm2022/cute-widgets-base-layout.mjs.map +1 -1
  72. package/fesm2022/cute-widgets-base-list.mjs +56 -56
  73. package/fesm2022/cute-widgets-base-list.mjs.map +1 -1
  74. package/fesm2022/cute-widgets-base-menu.mjs +581 -388
  75. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -1
  76. package/fesm2022/cute-widgets-base-navbar.mjs +101 -61
  77. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
  78. package/fesm2022/cute-widgets-base-paginator.mjs +13 -13
  79. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
  80. package/fesm2022/cute-widgets-base-progress.mjs +10 -10
  81. package/fesm2022/cute-widgets-base-progress.mjs.map +1 -1
  82. package/fesm2022/cute-widgets-base-radio.mjs +11 -11
  83. package/fesm2022/cute-widgets-base-radio.mjs.map +1 -1
  84. package/fesm2022/cute-widgets-base-select.mjs +11 -11
  85. package/fesm2022/cute-widgets-base-select.mjs.map +1 -1
  86. package/fesm2022/cute-widgets-base-sidenav.mjs +26 -26
  87. package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -1
  88. package/fesm2022/cute-widgets-base-slider.mjs +10 -10
  89. package/fesm2022/cute-widgets-base-slider.mjs.map +1 -1
  90. package/fesm2022/cute-widgets-base-snack-bar.mjs +28 -28
  91. package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -1
  92. package/fesm2022/cute-widgets-base-sort.mjs +13 -13
  93. package/fesm2022/cute-widgets-base-sort.mjs.map +1 -1
  94. package/fesm2022/cute-widgets-base-spinner.mjs +8 -8
  95. package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -1
  96. package/fesm2022/cute-widgets-base-stepper.mjs +40 -40
  97. package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -1
  98. package/fesm2022/cute-widgets-base-table.mjs +58 -66
  99. package/fesm2022/cute-widgets-base-table.mjs.map +1 -1
  100. package/fesm2022/cute-widgets-base-tabs.mjs +100 -75
  101. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -1
  102. package/fesm2022/cute-widgets-base-timepicker.mjs +34 -63
  103. package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -1
  104. package/fesm2022/cute-widgets-base-toolbar.mjs +13 -13
  105. package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -1
  106. package/fesm2022/cute-widgets-base-tooltip.mjs +10 -10
  107. package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -1
  108. package/fesm2022/cute-widgets-base-tree.mjs +25 -25
  109. package/fesm2022/cute-widgets-base-tree.mjs.map +1 -1
  110. package/fesm2022/cute-widgets-base.mjs +4 -4
  111. package/package.json +121 -121
  112. package/{abstract/index.d.ts → types/cute-widgets-base-abstract.d.ts} +9 -3
  113. package/{autocomplete/index.d.ts → types/cute-widgets-base-autocomplete.d.ts} +2 -2
  114. package/{badge/index.d.ts → types/cute-widgets-base-badge.d.ts} +6 -5
  115. package/{bottom-sheet/index.d.ts → types/cute-widgets-base-bottom-sheet.d.ts} +1 -1
  116. package/{button-toggle/index.d.ts → types/cute-widgets-base-button-toggle.d.ts} +15 -5
  117. package/{button/index.d.ts → types/cute-widgets-base-button.d.ts} +44 -22
  118. package/{checkbox/index.d.ts → types/cute-widgets-base-checkbox.d.ts} +1 -1
  119. package/{chips/index.d.ts → types/cute-widgets-base-chips.d.ts} +1 -1
  120. package/types/cute-widgets-base-collapse.d.ts +98 -0
  121. package/{core/layout/index.d.ts → types/cute-widgets-base-core-layout.d.ts} +7 -1
  122. package/{core/nav/index.d.ts → types/cute-widgets-base-core-nav.d.ts} +2 -1
  123. package/{core/observers/index.d.ts → types/cute-widgets-base-core-observers.d.ts} +1 -1
  124. package/{core/option/index.d.ts → types/cute-widgets-base-core-option.d.ts} +1 -1
  125. package/{core/index.d.ts → types/cute-widgets-base-core.d.ts} +7 -1
  126. package/{datepicker/index.d.ts → types/cute-widgets-base-datepicker.d.ts} +2 -2
  127. package/{dialog/index.d.ts → types/cute-widgets-base-dialog.d.ts} +81 -57
  128. package/{expansion/index.d.ts → types/cute-widgets-base-expansion.d.ts} +4 -14
  129. package/{form-field/index.d.ts → types/cute-widgets-base-form-field.d.ts} +1 -1
  130. package/{icon/index.d.ts → types/cute-widgets-base-icon.d.ts} +1 -1
  131. package/{input/index.d.ts → types/cute-widgets-base-input.d.ts} +1 -1
  132. package/{menu/index.d.ts → types/cute-widgets-base-menu.d.ts} +202 -121
  133. package/{navbar/index.d.ts → types/cute-widgets-base-navbar.d.ts} +24 -9
  134. package/{paginator/index.d.ts → types/cute-widgets-base-paginator.d.ts} +2 -2
  135. package/{progress/index.d.ts → types/cute-widgets-base-progress.d.ts} +1 -1
  136. package/{radio/index.d.ts → types/cute-widgets-base-radio.d.ts} +2 -2
  137. package/{sidenav/index.d.ts → types/cute-widgets-base-sidenav.d.ts} +1 -1
  138. package/{snack-bar/index.d.ts → types/cute-widgets-base-snack-bar.d.ts} +1 -1
  139. package/{sort/index.d.ts → types/cute-widgets-base-sort.d.ts} +1 -1
  140. package/{table/index.d.ts → types/cute-widgets-base-table.d.ts} +1 -1
  141. package/{tabs/index.d.ts → types/cute-widgets-base-tabs.d.ts} +35 -14
  142. package/{tree/index.d.ts → types/cute-widgets-base-tree.d.ts} +2 -2
  143. package/collapse/index.d.ts +0 -97
  144. /package/{alert/index.d.ts → types/cute-widgets-base-alert.d.ts} +0 -0
  145. /package/{card/index.d.ts → types/cute-widgets-base-card.d.ts} +0 -0
  146. /package/{core/animation/index.d.ts → types/cute-widgets-base-core-animation.d.ts} +0 -0
  147. /package/{core/datetime/index.d.ts → types/cute-widgets-base-core-datetime.d.ts} +0 -0
  148. /package/{core/directives/index.d.ts → types/cute-widgets-base-core-directives.d.ts} +0 -0
  149. /package/{core/error/index.d.ts → types/cute-widgets-base-core-error.d.ts} +0 -0
  150. /package/{core/interfaces/index.d.ts → types/cute-widgets-base-core-interfaces.d.ts} +0 -0
  151. /package/{core/line/index.d.ts → types/cute-widgets-base-core-line.d.ts} +0 -0
  152. /package/{core/pipes/index.d.ts → types/cute-widgets-base-core-pipes.d.ts} +0 -0
  153. /package/{core/ripple/index.d.ts → types/cute-widgets-base-core-ripple.d.ts} +0 -0
  154. /package/{core/testing/index.d.ts → types/cute-widgets-base-core-testing.d.ts} +0 -0
  155. /package/{core/theming/index.d.ts → types/cute-widgets-base-core-theming.d.ts} +0 -0
  156. /package/{core/types/index.d.ts → types/cute-widgets-base-core-types.d.ts} +0 -0
  157. /package/{core/utils/index.d.ts → types/cute-widgets-base-core-utils.d.ts} +0 -0
  158. /package/{divider/index.d.ts → types/cute-widgets-base-divider.d.ts} +0 -0
  159. /package/{grid-list/index.d.ts → types/cute-widgets-base-grid-list.d.ts} +0 -0
  160. /package/{layout/container/index.d.ts → types/cute-widgets-base-layout-container.d.ts} +0 -0
  161. /package/{layout/stack/index.d.ts → types/cute-widgets-base-layout-stack.d.ts} +0 -0
  162. /package/{layout/index.d.ts → types/cute-widgets-base-layout.d.ts} +0 -0
  163. /package/{list/index.d.ts → types/cute-widgets-base-list.d.ts} +0 -0
  164. /package/{select/index.d.ts → types/cute-widgets-base-select.d.ts} +0 -0
  165. /package/{slider/index.d.ts → types/cute-widgets-base-slider.d.ts} +0 -0
  166. /package/{spinner/index.d.ts → types/cute-widgets-base-spinner.d.ts} +0 -0
  167. /package/{stepper/index.d.ts → types/cute-widgets-base-stepper.d.ts} +0 -0
  168. /package/{timepicker/index.d.ts → types/cute-widgets-base-timepicker.d.ts} +0 -0
  169. /package/{toolbar/index.d.ts → types/cute-widgets-base-toolbar.d.ts} +0 -0
  170. /package/{tooltip/index.d.ts → types/cute-widgets-base-tooltip.d.ts} +0 -0
  171. /package/{index.d.ts → types/cute-widgets-base.d.ts} +0 -0
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, inject, InjectionToken, Injectable, Optional, booleanAttribute, HostListener, ViewChild, NgModule } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, inject, InjectionToken, Injectable, ElementRef, Input, Directive, booleanAttribute, HostListener, ViewChild, NgModule } from '@angular/core';
3
3
  import { CuteButton } from '@cute-widgets/base/button';
4
- import { CdkDrag } from '@angular/cdk/drag-drop';
5
- import { Subject, merge, defer } from 'rxjs';
4
+ import { CdkDrag, CdkDragHandle } from '@angular/cdk/drag-drop';
5
+ import { _IdGenerator } from '@angular/cdk/a11y';
6
+ import { ReplaySubject, merge, Subject, defer } from 'rxjs';
6
7
  import { filter, take, startWith } from 'rxjs/operators';
7
8
  import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
8
9
  import { OverlayRef, Overlay } from '@angular/cdk/overlay';
@@ -16,68 +17,6 @@ import { BreakpointObserver } from '@angular/cdk/layout';
16
17
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
17
18
  import { CommonModule } from '@angular/common';
18
19
 
19
- /**
20
- * @license Apache-2.0
21
- *
22
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
23
- *
24
- * You may not use this file except in compliance with the License
25
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
26
- */
27
- class CuteDialogBody {
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogBody, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogBody, isStandalone: true, selector: "cute-dialog-body, [cute-dialog-body], [cuteDialogBody],\n cute-dialog-content, [cute-dialog-content], [cuteDialogContent]\n ", host: { classAttribute: "cute-dialog-body modal-body" }, exportAs: ["cuteDialogBody"], ngImport: i0 }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogBody, decorators: [{
32
- type: Directive,
33
- args: [{
34
- selector: `cute-dialog-body, [cute-dialog-body], [cuteDialogBody],
35
- cute-dialog-content, [cute-dialog-content], [cuteDialogContent]
36
- `,
37
- exportAs: 'cuteDialogBody',
38
- host: {
39
- 'class': 'cute-dialog-body modal-body'
40
- },
41
- standalone: true,
42
- }]
43
- }] });
44
-
45
- /**
46
- * @license Apache-2.0
47
- *
48
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
49
- *
50
- * You may not use this file except in compliance with the License
51
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
52
- *
53
- * This code is a modification of the `@angular/material` original
54
- * code licensed under MIT-style License (https://angular.dev/license).
55
- */
56
- class CuteDialogFooter {
57
- constructor() {
58
- /** Horizontal alignment of the footer's content */
59
- this.align = 'start';
60
- }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
62
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogFooter, isStandalone: true, selector: "cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter],\n cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions]\n ", inputs: { align: "align" }, host: { properties: { "style.justify-content": "align" }, classAttribute: "cute-dialog-footer cute-dialog-actions modal-footer" }, exportAs: ["cuteDialogFooter", "cuteDialogActions"], ngImport: i0 }); }
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogFooter, decorators: [{
65
- type: Directive,
66
- args: [{
67
- selector: `cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter],
68
- cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions]
69
- `,
70
- exportAs: 'cuteDialogFooter, cuteDialogActions',
71
- host: {
72
- 'class': 'cute-dialog-footer cute-dialog-actions modal-footer',
73
- '[style.justify-content]': 'align',
74
- },
75
- standalone: true,
76
- }]
77
- }], propDecorators: { align: [{
78
- type: Input
79
- }] } });
80
-
81
20
  /**
82
21
  * @license Apache-2.0
83
22
  *
@@ -109,9 +48,9 @@ class CuteDialogRef {
109
48
  */
110
49
  this.componentRef = null;
111
50
  /** Subject for notifying the user that the dialog has finished opening. */
112
- this._afterOpened = new Subject();
51
+ this._afterOpened = new ReplaySubject(1);
113
52
  /** Subject for notifying the user that the dialog has started closing. */
114
- this._beforeClosed = new Subject();
53
+ this._beforeClosed = new ReplaySubject(1);
115
54
  /** Current state of the dialog. */
116
55
  this._state = CuteDialogState.OPEN;
117
56
  this.disableClose = _config.disableClose;
@@ -289,10 +228,10 @@ class CuteDialogConfig {
289
228
  this.width = '';
290
229
  /** Height of the dialog. */
291
230
  this.height = '';
292
- /** Max-width of the dialog. If a number is provided, assumes pixel units. Defaults to 80vw. */
293
- this.maxWidth = '80vw';
231
+ /** Max-width of the dialog. If a number is provided, assumes pixel units. */
232
+ this.maxWidth = '560px';
294
233
  /** Max-height of the dialog. If a number is provided, assumes pixel units. */
295
- this.maxHeight = '95vh';
234
+ this.maxHeight = '85vh';
296
235
  /** Whether the dialog can be dragged at runtime and optionally restrict dragging to a specific axis */
297
236
  this.draggable = false;
298
237
  /** Data being injected into the child component. */
@@ -341,10 +280,10 @@ class CuteDialogStage extends CuteLayoutControl {
341
280
  generateId() {
342
281
  return `cute-dialog-stage-${uniqueId$1++}`;
343
282
  }
344
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
345
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogStage, isStandalone: true, selector: "cute-dialog-stage", host: { properties: { "attr.id": "id || null" }, classAttribute: "cute-dialog-stage modal-dialog modal-dialog-scrollable" }, usesInheritance: true, ngImport: i0, template: "<div class=\"modal-content\">\r\n <ng-content select=\"cute-dialog-header,\r\n [cute-dialog-header],\r\n [cuteDialogHeader]\"></ng-content>\r\n <ng-content select=\"cute-dialog-body,\r\n [cute-dialog-body],\r\n [cuteDialogBody]\"></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select=\"cute-dialog-footer,\r\n [cute-dialog-footer],\r\n [cuteDialogFooter]\"></ng-content>\r\n</div>\r\n", styles: [".modal-dialog{display:block;position:static;width:100%;height:100%;min-width:300px;margin:0}.modal-content{--bs-border-color-translucent: none;width:100%;height:100%}.fullscreen-dialog{--bs-border-radius-lg: 0;transform:none!important;width:100vw;max-width:none;height:100%;min-width:100%;min-height:100%}.cdk-global-scrollblock:has(.fullscreen-dialog){overflow:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogStage, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogStage, isStandalone: true, selector: "cute-dialog-stage", host: { properties: { "attr.id": "id || null" }, classAttribute: "cute-dialog-stage modal-dialog modal-dialog-scrollable" }, usesInheritance: true, ngImport: i0, template: "<div class=\"modal-content\">\r\n <ng-content select=\"cute-dialog-header,\r\n [cute-dialog-header],\r\n [cuteDialogHeader]\"></ng-content>\r\n <ng-content select=\"cute-dialog-body,\r\n [cute-dialog-body],\r\n [cuteDialogBody]\"></ng-content>\r\n <ng-content></ng-content>\r\n <ng-content select=\"cute-dialog-footer,\r\n [cute-dialog-footer],\r\n [cuteDialogFooter]\"></ng-content>\r\n</div>\r\n", styles: [".modal-dialog{display:block;position:static;width:100%;height:100%;min-width:300px;margin:0}.modal-content{--bs-border-color-translucent: none;width:100%;height:100%}.fullscreen-dialog{--bs-border-radius-lg: 0;transform:none!important;width:100vw;max-width:none;height:100%;min-width:100%;min-height:100%}.cdk-global-scrollblock:has(.fullscreen-dialog){overflow:hidden}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
346
285
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogStage, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogStage, decorators: [{
348
287
  type: Component,
349
288
  args: [{ selector: 'cute-dialog-stage', host: {
350
289
  'class': 'cute-dialog-stage modal-dialog modal-dialog-scrollable',
@@ -420,7 +359,7 @@ class CuteDialogContainer extends CdkDialogContainer {
420
359
  const bpName = bsBreakpoints.getLabel(dialogConfig.fullscreenStrategy.substring(BREAKPOINT_KEY.length));
421
360
  breakpointObserver
422
361
  .observe([
423
- bsBreakpoints.getQuery(bpName + 'AndDown') ?? "",
362
+ bsBreakpoints.getMediaQuery(bpName + 'AndDown') ?? "",
424
363
  ])
425
364
  .pipe(takeUntilDestroyed())
426
365
  .subscribe(result => {
@@ -571,10 +510,10 @@ class CuteDialogContainer extends CdkDialogContainer {
571
510
  ref.location.nativeElement.classList.add('cute-dialog-component-host');
572
511
  return ref;
573
512
  }
574
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
575
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogContainer, isStandalone: true, selector: "cute-dialog-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledByQueue[0]", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class._cute-animation-noopable": "!_animationsEnabled", "class.cute-dialog-container-with-actions": "_actionSectionCount > 0" }, classAttribute: "cute-dialog-container cute-dialog modal fade" }, usesInheritance: true, ngImport: i0, template: " <cute-dialog-stage>\r\n <ng-template cdkPortalOutlet />\r\n </cute-dialog-stage>\r\n", styles: [".cute-dialog-container{--bs-modal-width: 100%;display:block;position:static;width:100%;height:auto;min-height:inherit;max-height:inherit;min-width:inherit;max-width:inherit}.cute-dialog-component-host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: CuteDialogStage, selector: "cute-dialog-stage" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
513
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
514
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogContainer, isStandalone: true, selector: "cute-dialog-container", host: { attributes: { "tabindex": "-1" }, properties: { "attr.aria-modal": "_config.ariaModal", "id": "_config.id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledByQueue[0]", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null", "class._cute-animation-noopable": "!_animationsEnabled", "class.cute-dialog-container-with-actions": "_actionSectionCount > 0" }, classAttribute: "cute-dialog-container cute-dialog modal fade" }, usesInheritance: true, ngImport: i0, template: " <cute-dialog-stage>\r\n <ng-template cdkPortalOutlet />\r\n </cute-dialog-stage>\r\n", styles: [".cute-dialog-container{--bs-modal-width: 100%;display:block;position:static;width:100%;height:auto;min-height:inherit;max-height:inherit;min-width:inherit;max-width:inherit}.cute-dialog-component-host{display:contents}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: CuteDialogStage, selector: "cute-dialog-stage" }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
576
515
  }
577
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogContainer, decorators: [{
516
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogContainer, decorators: [{
578
517
  type: Component,
579
518
  args: [{ selector: 'cute-dialog-container', host: {
580
519
  'class': 'cute-dialog-container cute-dialog modal fade',
@@ -686,6 +625,8 @@ class CuteDialog {
686
625
  positionStrategy: this._overlay.position().global().centerHorizontally().centerVertically(),
687
626
  // Disable closing since we need to sync it up to the animation ourselves.
688
627
  disableClose: true,
628
+ // Closing is tied to our animation so the close predicate has to be implemented separately.
629
+ closePredicate: undefined,
689
630
  // Disable closing on destroying, because this service cleans up its open dialogs as well.
690
631
  // We want to do the cleanup here, rather than the CDK service, because the CDK destroys
691
632
  // the dialogs immediately whereas we want it to wait for the animations to finish.
@@ -760,10 +701,10 @@ class CuteDialog {
760
701
  dialogs[i].close();
761
702
  }
762
703
  }
763
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialog, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
764
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialog, providedIn: 'root' }); }
704
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialog, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
705
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialog, providedIn: 'root' }); }
765
706
  }
766
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialog, decorators: [{
707
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialog, decorators: [{
767
708
  type: Injectable,
768
709
  args: [{ providedIn: 'root' }]
769
710
  }], ctorParameters: () => [] });
@@ -783,12 +724,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
783
724
  * Button that will close the current dialog.
784
725
  */
785
726
  class CuteDialogClose {
786
- constructor(
787
- // The dialog title directive is always used in combination with a `CuteDialogRef`.
788
- dialogRef, _elementRef, _dialog) {
789
- this.dialogRef = dialogRef;
790
- this._elementRef = _elementRef;
791
- this._dialog = _dialog;
727
+ constructor() {
728
+ this.dialogRef = inject(CuteDialogRef, { optional: true });
729
+ this._elementRef = inject(ElementRef);
730
+ this._dialog = inject(CuteDialog);
792
731
  /** Default to "button" to prevent accidental form submits. */
793
732
  this.type = 'button';
794
733
  /** Dialog close input. */
@@ -818,10 +757,10 @@ class CuteDialogClose {
818
757
  // the FocusMonitor won't detect any origin change, and will always output `program`.
819
758
  _closeDialogVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
820
759
  }
821
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogClose, deps: [{ token: CuteDialogRef, optional: true }, { token: i0.ElementRef }, { token: CuteDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
822
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogClose, isStandalone: true, selector: "[cute-dialog-close], [cuteDialogClose]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", dialogResult: ["cute-dialog-close", "dialogResult"], _cuteDialogClose: ["cuteDialogClose", "_cuteDialogClose"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "type" } }, exportAs: ["cuteDialogClose"], usesOnChanges: true, ngImport: i0 }); }
760
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogClose, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
761
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogClose, isStandalone: true, selector: "[cute-dialog-close], [cuteDialogClose]", inputs: { ariaLabel: ["aria-label", "ariaLabel"], type: "type", dialogResult: ["cute-dialog-close", "dialogResult"], _cuteDialogClose: ["cuteDialogClose", "_cuteDialogClose"] }, host: { listeners: { "click": "_onButtonClick($event)" }, properties: { "attr.aria-label": "ariaLabel || null", "attr.type": "type" } }, exportAs: ["cuteDialogClose"], usesOnChanges: true, ngImport: i0 }); }
823
762
  }
824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogClose, decorators: [{
763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogClose, decorators: [{
825
764
  type: Directive,
826
765
  args: [{
827
766
  selector: '[cute-dialog-close], [cuteDialogClose]',
@@ -833,9 +772,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
833
772
  '[attr.type]': 'type',
834
773
  },
835
774
  }]
836
- }], ctorParameters: () => [{ type: CuteDialogRef, decorators: [{
837
- type: Optional
838
- }] }, { type: i0.ElementRef }, { type: CuteDialog }], propDecorators: { ariaLabel: [{
775
+ }], ctorParameters: () => [], propDecorators: { ariaLabel: [{
839
776
  type: Input,
840
777
  args: ['aria-label']
841
778
  }], type: [{
@@ -847,6 +784,127 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
847
784
  type: Input,
848
785
  args: ['cuteDialogClose']
849
786
  }] } });
787
+ class CuteDialogLayoutSection {
788
+ constructor() {
789
+ this._dialogRef = inject(CuteDialogRef, { optional: true });
790
+ this._elementRef = inject(ElementRef);
791
+ this._dialog = inject(CuteDialog);
792
+ }
793
+ ngOnInit() {
794
+ if (!this._dialogRef) {
795
+ this._dialogRef = getClosestDialog(this._elementRef, this._dialog.openDialogs);
796
+ }
797
+ if (this._dialogRef) {
798
+ Promise.resolve().then(() => {
799
+ this._onAdd();
800
+ });
801
+ }
802
+ }
803
+ ngOnDestroy() {
804
+ // Note: we null check because there are some internal
805
+ // tests that are mocking out `MatDialogRef` incorrectly.
806
+ const instance = this._dialogRef?._containerInstance;
807
+ if (instance) {
808
+ Promise.resolve().then(() => {
809
+ this._onRemove();
810
+ });
811
+ }
812
+ }
813
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogLayoutSection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
814
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogLayoutSection, isStandalone: true, ngImport: i0 }); }
815
+ }
816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogLayoutSection, decorators: [{
817
+ type: Directive
818
+ }] });
819
+ /**
820
+ * Title of a dialog element. Stays fixed to the top of the dialog when scrolling.
821
+ */
822
+ class CuteDialogTitle extends CuteDialogLayoutSection {
823
+ constructor() {
824
+ super();
825
+ this._header = inject(CuteDialogHeader, { optional: true, host: true });
826
+ this.id = inject(_IdGenerator).getId('cute-dialog-title-');
827
+ }
828
+ _onAdd() {
829
+ // Note: we null check the queue, because there are some internal
830
+ // tests that are mocking out `MatDialogRef` incorrectly.
831
+ this._dialogRef._containerInstance?._addAriaLabelledBy?.(this.id);
832
+ }
833
+ _onRemove() {
834
+ this._dialogRef?._containerInstance?._removeAriaLabelledBy?.(this.id);
835
+ }
836
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
837
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogTitle, isStandalone: true, selector: "[cute-dialog-title], [cuteDialogTitle]", inputs: { id: "id" }, host: { properties: { "id": "id || null", "style": "{\"pointer-events\":\"none\", \"padding\": !_header ? \"var(--bs-modal-header-padding)\" : undefined}" }, classAttribute: "cute-dialog-title modal-title user-select-none" }, exportAs: ["cuteDialogTitle"], usesInheritance: true, ngImport: i0 }); }
838
+ }
839
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogTitle, decorators: [{
840
+ type: Directive,
841
+ args: [{
842
+ selector: '[cute-dialog-title], [cuteDialogTitle]',
843
+ exportAs: 'cuteDialogTitle',
844
+ host: {
845
+ 'class': 'cute-dialog-title modal-title user-select-none',
846
+ '[id]': 'id || null',
847
+ '[style]': '{"pointer-events":"none", "padding": !_header ? "var(--bs-modal-header-padding)" : undefined}',
848
+ },
849
+ }]
850
+ }], ctorParameters: () => [], propDecorators: { id: [{
851
+ type: Input
852
+ }] } });
853
+ /**
854
+ * Scrollable content container of a dialog.
855
+ */
856
+ class CuteDialogBody {
857
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogBody, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
858
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogBody, isStandalone: true, selector: "cute-dialog-body, [cute-dialog-body], [cuteDialogBody],\n cute-dialog-content, [cute-dialog-content], [cuteDialogContent]\n ", host: { classAttribute: "cute-dialog-body modal-body" }, exportAs: ["cuteDialogBody"], ngImport: i0 }); }
859
+ }
860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogBody, decorators: [{
861
+ type: Directive,
862
+ args: [{
863
+ selector: `cute-dialog-body, [cute-dialog-body], [cuteDialogBody],
864
+ cute-dialog-content, [cute-dialog-content], [cuteDialogContent]
865
+ `,
866
+ exportAs: 'cuteDialogBody',
867
+ host: {
868
+ 'class': 'cute-dialog-body modal-body',
869
+ },
870
+ standalone: true,
871
+ }]
872
+ }] });
873
+ /**
874
+ * Container for the bottom action buttons in a dialog.
875
+ * Stays fixed to the bottom when scrolling.
876
+ */
877
+ class CuteDialogFooter extends CuteDialogLayoutSection {
878
+ constructor() {
879
+ super(...arguments);
880
+ /** Horizontal alignment of the footer's content */
881
+ this.align = 'end';
882
+ }
883
+ _onAdd() {
884
+ this._dialogRef._containerInstance?._updateActionSectionCount?.(1);
885
+ }
886
+ _onRemove() {
887
+ this._dialogRef._containerInstance?._updateActionSectionCount?.(-1);
888
+ }
889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogFooter, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
890
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteDialogFooter, isStandalone: true, selector: "cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter],\n cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions]\n ", inputs: { align: "align" }, host: { properties: { "style.justify-content": "align" }, classAttribute: "cute-dialog-footer cute-dialog-actions modal-footer" }, exportAs: ["cuteDialogFooter", "cuteDialogActions"], usesInheritance: true, ngImport: i0 }); }
891
+ }
892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogFooter, decorators: [{
893
+ type: Directive,
894
+ args: [{
895
+ selector: `cute-dialog-footer, [cute-dialog-footer], [cuteDialogFooter],
896
+ cute-dialog-actions, [cute-dialog-actions], [cuteDialogActions]
897
+ `,
898
+ exportAs: 'cuteDialogFooter, cuteDialogActions',
899
+ host: {
900
+ 'class': 'cute-dialog-footer cute-dialog-actions modal-footer',
901
+ '[style.justify-content]': 'align',
902
+ },
903
+ standalone: true,
904
+ }]
905
+ }], propDecorators: { align: [{
906
+ type: Input
907
+ }] } });
850
908
  /**
851
909
  * Finds the closest CuteDialogRef to an element by looking at the DOM.
852
910
  * @param element Element relative to which to look for a dialog.
@@ -906,24 +964,26 @@ class CuteDialogHeader {
906
964
  this.cdkDragEl.lockAxis = (this.config.draggable.charAt(0));
907
965
  }
908
966
  }
909
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogHeader, deps: [{ token: CuteDialogContainer }], target: i0.ɵɵFactoryTarget.Component }); }
910
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.15", type: CuteDialogHeader, isStandalone: true, selector: "cute-dialog-header", inputs: { draggable: ["draggable", "draggable", booleanAttribute] }, host: { listeners: { "mousedown": "onMouseDown($event)", "mouseup": "onMouseUp($event)" }, classAttribute: "cute-dialog-header" }, viewQueries: [{ propertyName: "cdkDragEl", first: true, predicate: ["header"], descendants: true, read: CdkDrag, static: true }], exportAs: ["cuteDialogHeader"], ngImport: i0, template: `
967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogHeader, deps: [{ token: CuteDialogContainer }], target: i0.ɵɵFactoryTarget.Component }); }
968
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.0", type: CuteDialogHeader, isStandalone: true, selector: "cute-dialog-header", inputs: { draggable: ["draggable", "draggable", booleanAttribute] }, host: { listeners: { "mousedown": "onMouseDown($event)", "mouseup": "onMouseUp($event)" }, classAttribute: "cute-dialog-header" }, viewQueries: [{ propertyName: "cdkDragEl", first: true, predicate: ["header"], descendants: true, read: CdkDrag, static: true }], exportAs: ["cuteDialogHeader"], ngImport: i0, template: `
911
969
  <div #header
912
970
  class="modal-header"
913
971
  role="heading"
914
972
  cdkDrag
973
+ cdkDragHandle
915
974
  cdkDragRootElement=".cdk-overlay-pane"
916
975
  [cdkDragDisabled]="!draggable || container.isFullScreenDialog()"
917
976
  [style.cursor]="getCursorStyle()"
918
977
  >
919
978
  <ng-content select="[cute-dialog-title], [cuteDialogTitle]"></ng-content>
920
979
  <ng-content></ng-content>
921
- <button cuteButton="close-button" tabindex="-1" color="light" magnitude="smaller" cute-dialog-close></button>
980
+ <button cuteButton="close-button"
981
+ magnitude="small"
982
+ cute-dialog-close></button>
922
983
  </div>
923
- <!-- cdkDragHandle-->
924
- `, isInline: true, dependencies: [{ kind: "component", type: CuteButton, selector: "button[cuteButton], button[cute-button], a[cuteButton], a[cute-button], ", exportAs: ["cuteButton"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CuteDialogClose, selector: "[cute-dialog-close], [cuteDialogClose]", inputs: ["aria-label", "type", "cute-dialog-close", "cuteDialogClose"], exportAs: ["cuteDialogClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
984
+ `, isInline: true, dependencies: [{ kind: "component", type: CuteButton, selector: "button[cuteButton], button[cute-button], a[cuteButton], a[cute-button], ", exportAs: ["cuteButton"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CuteDialogClose, selector: "[cute-dialog-close], [cuteDialogClose]", inputs: ["aria-label", "type", "cute-dialog-close", "cuteDialogClose"], exportAs: ["cuteDialogClose"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
925
985
  }
926
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogHeader, decorators: [{
986
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogHeader, decorators: [{
927
987
  type: Component,
928
988
  args: [{
929
989
  selector: 'cute-dialog-header',
@@ -933,16 +993,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
933
993
  class="modal-header"
934
994
  role="heading"
935
995
  cdkDrag
996
+ cdkDragHandle
936
997
  cdkDragRootElement=".cdk-overlay-pane"
937
998
  [cdkDragDisabled]="!draggable || container.isFullScreenDialog()"
938
999
  [style.cursor]="getCursorStyle()"
939
1000
  >
940
1001
  <ng-content select="[cute-dialog-title], [cuteDialogTitle]"></ng-content>
941
1002
  <ng-content></ng-content>
942
- <button cuteButton="close-button" tabindex="-1" color="light" magnitude="smaller" cute-dialog-close></button>
1003
+ <button cuteButton="close-button"
1004
+ magnitude="small"
1005
+ cute-dialog-close></button>
943
1006
  </div>
944
- <!-- cdkDragHandle-->
945
- `,
1007
+ `,
946
1008
  host: {
947
1009
  'class': 'cute-dialog-header',
948
1010
  },
@@ -951,7 +1013,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
951
1013
  imports: [
952
1014
  CuteButton,
953
1015
  CdkDrag,
954
- CuteDialogClose
1016
+ CuteDialogClose,
1017
+ CdkDragHandle
955
1018
  ]
956
1019
  }]
957
1020
  }], ctorParameters: () => [{ type: CuteDialogContainer }], propDecorators: { cdkDragEl: [{
@@ -968,34 +1031,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
968
1031
  args: ["mouseup", ["$event"]]
969
1032
  }] } });
970
1033
 
971
- /**
972
- * @license Apache-2.0
973
- *
974
- * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
975
- *
976
- * You may not use this file except in compliance with the License
977
- * that can be found at http://www.apache.org/licenses/LICENSE-2.0
978
- */
979
- class CuteDialogTitle {
980
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
981
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteDialogTitle, isStandalone: true, selector: "[cute-dialog-title], [cuteDialogTitle]", inputs: { id: "id" }, host: { properties: { "id": "id || null", "style.pointer-events": "\"none\"" }, classAttribute: "cute-dialog-title modal-title user-select-none" }, exportAs: ["cuteDialogTitle"], ngImport: i0 }); }
982
- }
983
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogTitle, decorators: [{
984
- type: Directive,
985
- args: [{
986
- selector: '[cute-dialog-title], [cuteDialogTitle]',
987
- exportAs: 'cuteDialogTitle',
988
- host: {
989
- 'class': 'cute-dialog-title modal-title user-select-none',
990
- '[id]': 'id || null',
991
- '[style.pointer-events]': '"none"',
992
- },
993
- standalone: true,
994
- }]
995
- }], propDecorators: { id: [{
996
- type: Input
997
- }] } });
998
-
999
1034
  /**
1000
1035
  * @license Apache-2.0
1001
1036
  *
@@ -1013,8 +1048,8 @@ const TYPES = [
1013
1048
  CuteDialogContainer,
1014
1049
  ];
1015
1050
  class CuteDialogModule {
1016
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1017
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogModule, imports: [CommonModule, CuteDialogBody,
1051
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1052
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogModule, imports: [CommonModule, CuteDialogBody,
1018
1053
  CuteDialogClose,
1019
1054
  CuteDialogFooter,
1020
1055
  CuteDialogHeader,
@@ -1025,10 +1060,10 @@ class CuteDialogModule {
1025
1060
  CuteDialogHeader,
1026
1061
  CuteDialogTitle,
1027
1062
  CuteDialogContainer] }); }
1028
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogModule, providers: [CuteDialog], imports: [CommonModule, CuteDialogHeader,
1063
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogModule, providers: [CuteDialog], imports: [CommonModule, CuteDialogHeader,
1029
1064
  CuteDialogContainer] }); }
1030
1065
  }
1031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteDialogModule, decorators: [{
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteDialogModule, decorators: [{
1032
1067
  type: NgModule,
1033
1068
  args: [{
1034
1069
  imports: [CommonModule, ...TYPES],
@@ -1042,5 +1077,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
1042
1077
  * Generated bundle index. Do not edit.
1043
1078
  */
1044
1079
 
1045
- export { CUTE_DIALOG_DATA, CUTE_DIALOG_DEFAULT_OPTIONS, CUTE_DIALOG_SCROLL_STRATEGY, CuteDialog, CuteDialogBody, CuteDialogClose, CuteDialogConfig, CuteDialogContainer, CuteDialogFooter, CuteDialogHeader, CuteDialogModule, CuteDialogRef, CuteDialogState, CuteDialogTitle, _closeDialogVia };
1080
+ export { CUTE_DIALOG_DATA, CUTE_DIALOG_DEFAULT_OPTIONS, CUTE_DIALOG_SCROLL_STRATEGY, CuteDialog, CuteDialogBody, CuteDialogClose, CuteDialogConfig, CuteDialogContainer, CuteDialogFooter, CuteDialogHeader, CuteDialogLayoutSection, CuteDialogModule, CuteDialogRef, CuteDialogState, CuteDialogTitle, _closeDialogVia };
1046
1081
  //# sourceMappingURL=cute-widgets-base-dialog.mjs.map