@cute-widgets/base 20.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 (183) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE.md +191 -0
  3. package/README.md +190 -0
  4. package/abstract/index.d.ts +327 -0
  5. package/alert/index.d.ts +68 -0
  6. package/autocomplete/index.d.ts +442 -0
  7. package/badge/index.d.ts +26 -0
  8. package/bottom-sheet/index.d.ts +231 -0
  9. package/button/index.d.ts +182 -0
  10. package/button-toggle/index.d.ts +225 -0
  11. package/card/index.d.ts +163 -0
  12. package/checkbox/index.d.ts +174 -0
  13. package/chips/index.d.ts +963 -0
  14. package/collapse/index.d.ts +97 -0
  15. package/core/animation/index.d.ts +43 -0
  16. package/core/datetime/index.d.ts +404 -0
  17. package/core/directives/index.d.ts +168 -0
  18. package/core/error/index.d.ts +74 -0
  19. package/core/index.d.ts +1039 -0
  20. package/core/interfaces/index.d.ts +114 -0
  21. package/core/layout/index.d.ts +53 -0
  22. package/core/line/index.d.ts +37 -0
  23. package/core/nav/index.d.ts +321 -0
  24. package/core/observers/index.d.ts +124 -0
  25. package/core/option/index.d.ts +185 -0
  26. package/core/pipes/index.d.ts +53 -0
  27. package/core/ripple/index.d.ts +66 -0
  28. package/core/testing/index.d.ts +154 -0
  29. package/core/theming/index.d.ts +118 -0
  30. package/core/types/index.d.ts +53 -0
  31. package/core/utils/index.d.ts +129 -0
  32. package/cute-widgets-base-20.0.1.tgz +0 -0
  33. package/datepicker/index.d.ts +1817 -0
  34. package/dialog/index.d.ts +484 -0
  35. package/divider/index.d.ts +24 -0
  36. package/expansion/README.md +8 -0
  37. package/expansion/index.d.ts +308 -0
  38. package/fesm2022/cute-widgets-base-abstract.mjs +547 -0
  39. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -0
  40. package/fesm2022/cute-widgets-base-alert.mjs +198 -0
  41. package/fesm2022/cute-widgets-base-alert.mjs.map +1 -0
  42. package/fesm2022/cute-widgets-base-autocomplete.mjs +1217 -0
  43. package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -0
  44. package/fesm2022/cute-widgets-base-badge.mjs +75 -0
  45. package/fesm2022/cute-widgets-base-badge.mjs.map +1 -0
  46. package/fesm2022/cute-widgets-base-bottom-sheet.mjs +416 -0
  47. package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -0
  48. package/fesm2022/cute-widgets-base-button-toggle.mjs +640 -0
  49. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -0
  50. package/fesm2022/cute-widgets-base-button.mjs +546 -0
  51. package/fesm2022/cute-widgets-base-button.mjs.map +1 -0
  52. package/fesm2022/cute-widgets-base-card.mjs +471 -0
  53. package/fesm2022/cute-widgets-base-card.mjs.map +1 -0
  54. package/fesm2022/cute-widgets-base-checkbox.mjs +390 -0
  55. package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -0
  56. package/fesm2022/cute-widgets-base-chips.mjs +2360 -0
  57. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -0
  58. package/fesm2022/cute-widgets-base-collapse.mjs +259 -0
  59. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -0
  60. package/fesm2022/cute-widgets-base-core-animation.mjs +53 -0
  61. package/fesm2022/cute-widgets-base-core-animation.mjs.map +1 -0
  62. package/fesm2022/cute-widgets-base-core-datetime.mjs +568 -0
  63. package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -0
  64. package/fesm2022/cute-widgets-base-core-directives.mjs +404 -0
  65. package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -0
  66. package/fesm2022/cute-widgets-base-core-error.mjs +105 -0
  67. package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -0
  68. package/fesm2022/cute-widgets-base-core-interfaces.mjs +22 -0
  69. package/fesm2022/cute-widgets-base-core-interfaces.mjs.map +1 -0
  70. package/fesm2022/cute-widgets-base-core-layout.mjs +74 -0
  71. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -0
  72. package/fesm2022/cute-widgets-base-core-line.mjs +87 -0
  73. package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -0
  74. package/fesm2022/cute-widgets-base-core-nav.mjs +863 -0
  75. package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -0
  76. package/fesm2022/cute-widgets-base-core-observers.mjs +304 -0
  77. package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -0
  78. package/fesm2022/cute-widgets-base-core-option.mjs +373 -0
  79. package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -0
  80. package/fesm2022/cute-widgets-base-core-pipes.mjs +97 -0
  81. package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -0
  82. package/fesm2022/cute-widgets-base-core-ripple.mjs +172 -0
  83. package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -0
  84. package/fesm2022/cute-widgets-base-core-testing.mjs +210 -0
  85. package/fesm2022/cute-widgets-base-core-testing.mjs.map +1 -0
  86. package/fesm2022/cute-widgets-base-core-theming.mjs +314 -0
  87. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -0
  88. package/fesm2022/cute-widgets-base-core-types.mjs +22 -0
  89. package/fesm2022/cute-widgets-base-core-types.mjs.map +1 -0
  90. package/fesm2022/cute-widgets-base-core-utils.mjs +257 -0
  91. package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -0
  92. package/fesm2022/cute-widgets-base-core.mjs +1600 -0
  93. package/fesm2022/cute-widgets-base-core.mjs.map +1 -0
  94. package/fesm2022/cute-widgets-base-datepicker.mjs +4827 -0
  95. package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -0
  96. package/fesm2022/cute-widgets-base-dialog.mjs +1046 -0
  97. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -0
  98. package/fesm2022/cute-widgets-base-divider.mjs +86 -0
  99. package/fesm2022/cute-widgets-base-divider.mjs.map +1 -0
  100. package/fesm2022/cute-widgets-base-expansion.mjs +623 -0
  101. package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -0
  102. package/fesm2022/cute-widgets-base-form-field.mjs +969 -0
  103. package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -0
  104. package/fesm2022/cute-widgets-base-grid-list.mjs +715 -0
  105. package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -0
  106. package/fesm2022/cute-widgets-base-icon.mjs +1105 -0
  107. package/fesm2022/cute-widgets-base-icon.mjs.map +1 -0
  108. package/fesm2022/cute-widgets-base-input.mjs +726 -0
  109. package/fesm2022/cute-widgets-base-input.mjs.map +1 -0
  110. package/fesm2022/cute-widgets-base-layout-container.mjs +95 -0
  111. package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -0
  112. package/fesm2022/cute-widgets-base-layout-stack.mjs +166 -0
  113. package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -0
  114. package/fesm2022/cute-widgets-base-layout.mjs +250 -0
  115. package/fesm2022/cute-widgets-base-layout.mjs.map +1 -0
  116. package/fesm2022/cute-widgets-base-list.mjs +1557 -0
  117. package/fesm2022/cute-widgets-base-list.mjs.map +1 -0
  118. package/fesm2022/cute-widgets-base-menu.mjs +1283 -0
  119. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -0
  120. package/fesm2022/cute-widgets-base-navbar.mjs +359 -0
  121. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -0
  122. package/fesm2022/cute-widgets-base-paginator.mjs +485 -0
  123. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -0
  124. package/fesm2022/cute-widgets-base-progress.mjs +321 -0
  125. package/fesm2022/cute-widgets-base-progress.mjs.map +1 -0
  126. package/fesm2022/cute-widgets-base-radio.mjs +637 -0
  127. package/fesm2022/cute-widgets-base-radio.mjs.map +1 -0
  128. package/fesm2022/cute-widgets-base-select.mjs +1208 -0
  129. package/fesm2022/cute-widgets-base-select.mjs.map +1 -0
  130. package/fesm2022/cute-widgets-base-sidenav.mjs +1095 -0
  131. package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -0
  132. package/fesm2022/cute-widgets-base-slider.mjs +99 -0
  133. package/fesm2022/cute-widgets-base-slider.mjs.map +1 -0
  134. package/fesm2022/cute-widgets-base-snack-bar.mjs +897 -0
  135. package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -0
  136. package/fesm2022/cute-widgets-base-sort.mjs +639 -0
  137. package/fesm2022/cute-widgets-base-sort.mjs.map +1 -0
  138. package/fesm2022/cute-widgets-base-spinner.mjs +154 -0
  139. package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -0
  140. package/fesm2022/cute-widgets-base-stepper.mjs +673 -0
  141. package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -0
  142. package/fesm2022/cute-widgets-base-table.mjs +1023 -0
  143. package/fesm2022/cute-widgets-base-table.mjs.map +1 -0
  144. package/fesm2022/cute-widgets-base-tabs.mjs +729 -0
  145. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -0
  146. package/fesm2022/cute-widgets-base-timepicker.mjs +965 -0
  147. package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -0
  148. package/fesm2022/cute-widgets-base-toolbar.mjs +120 -0
  149. package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -0
  150. package/fesm2022/cute-widgets-base-tooltip.mjs +947 -0
  151. package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -0
  152. package/fesm2022/cute-widgets-base-tree.mjs +598 -0
  153. package/fesm2022/cute-widgets-base-tree.mjs.map +1 -0
  154. package/fesm2022/cute-widgets-base.mjs +68 -0
  155. package/fesm2022/cute-widgets-base.mjs.map +1 -0
  156. package/form-field/index.d.ts +401 -0
  157. package/grid-list/index.d.ts +361 -0
  158. package/icon/index.d.ts +477 -0
  159. package/index.d.ts +3 -0
  160. package/input/index.d.ts +256 -0
  161. package/layout/container/index.d.ts +31 -0
  162. package/layout/index.d.ts +78 -0
  163. package/layout/stack/index.d.ts +52 -0
  164. package/list/index.d.ts +659 -0
  165. package/menu/index.d.ts +497 -0
  166. package/navbar/index.d.ts +91 -0
  167. package/package.json +279 -0
  168. package/paginator/index.d.ts +216 -0
  169. package/progress/index.d.ts +130 -0
  170. package/radio/index.d.ts +259 -0
  171. package/select/index.d.ts +426 -0
  172. package/sidenav/index.d.ts +369 -0
  173. package/slider/index.d.ts +48 -0
  174. package/snack-bar/index.d.ts +374 -0
  175. package/sort/index.d.ts +334 -0
  176. package/spinner/index.d.ts +70 -0
  177. package/stepper/index.d.ts +295 -0
  178. package/table/index.d.ts +395 -0
  179. package/tabs/index.d.ts +307 -0
  180. package/timepicker/index.d.ts +350 -0
  181. package/toolbar/index.d.ts +36 -0
  182. package/tooltip/index.d.ts +299 -0
  183. package/tree/index.d.ts +314 -0
@@ -0,0 +1,1039 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, QueryList, ElementRef, OnDestroy, Provider, PipeTransform } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { RichThemeColor as RichThemeColor$1 } from '@cute-widgets/base/core/theming';
5
+ import * as rxjs from 'rxjs';
6
+ import { Subject, Observable } from 'rxjs';
7
+ import { DomSanitizer, SafeValue } from '@angular/platform-browser';
8
+
9
+ /** Object used to configure the animation in Angular Material. */
10
+ interface AnimationsConfig {
11
+ /** Whether all animations should be disabled. */
12
+ animationsDisabled?: boolean;
13
+ }
14
+ /** Injection token used to configure the animations in CuteWidgets. */
15
+ declare const CUTE_WIDGETS_ANIMATIONS: InjectionToken<AnimationsConfig>;
16
+ /**
17
+ * @deprecated No longer used, will be removed.
18
+ * @breaking-change 21.0.0
19
+ * @docs-private
20
+ */
21
+ declare class AnimationCurves {
22
+ static STANDARD_CURVE: string;
23
+ static DECELERATION_CURVE: string;
24
+ static ACCELERATION_CURVE: string;
25
+ static SHARP_CURVE: string;
26
+ }
27
+ /**
28
+ * @deprecated No longer used, will be removed.
29
+ * @breaking-change 21.0.0
30
+ * @docs-private
31
+ */
32
+ declare class AnimationDurations {
33
+ static COMPLEX: string;
34
+ static ENTERING: string;
35
+ static EXITING: string;
36
+ }
37
+ /**
38
+ * Gets the configured animations state.
39
+ * @docs-private
40
+ */
41
+ declare function _getAnimationsState(): 'enabled' | 'di-disabled' | 'reduced-motion';
42
+ /**
43
+ * Returns whether animations have been disabled by DI. Must be called in a DI context.
44
+ * @docs-private
45
+ */
46
+ declare function _animationsDisabled(): boolean;
47
+
48
+ /**
49
+ * @license Apache-2.0
50
+ *
51
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
52
+ *
53
+ * You may not use this file except in compliance with the License
54
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
55
+ */
56
+ /**
57
+ * Bootstrap media-queries, or `breakpoints`.
58
+ * PascalCase is being used as Breakpoints is used like an enum.
59
+ */
60
+ declare const bsBreakpoints: {
61
+ SmallAndDown: string;
62
+ MediumAndDown: string;
63
+ LargeAndDown: string;
64
+ XLargeAndDown: string;
65
+ XXLargeAndDown: string;
66
+ XSmall: string;
67
+ Small: string;
68
+ Medium: string;
69
+ Large: string;
70
+ XLarge: string;
71
+ XXLarge: string;
72
+ readonly grid: {
73
+ xs: number;
74
+ sm: number;
75
+ md: number;
76
+ lg: number;
77
+ xl: number;
78
+ xxl: number;
79
+ };
80
+ readonly xs: string;
81
+ readonly sm: string;
82
+ readonly md: string;
83
+ readonly lg: string;
84
+ readonly xl: string;
85
+ readonly xxl: string;
86
+ /**
87
+ * Gets the object's property name of the media-query by its value
88
+ * @param query The media-query text
89
+ * @returns The property name of the media-query or _undefined_ if it was not found
90
+ */
91
+ getQueryName(query: string): string | undefined;
92
+ /**
93
+ * Gets the breakpoint label by Bootstrap's breakpoint abbreviation
94
+ * @param code Bootstrap's breakpoint abbreviation
95
+ * @returns More descriptive text of the abbreviation
96
+ */
97
+ getLabel(code: string): string;
98
+ };
99
+
100
+ /**
101
+ * @license Apache-2.0
102
+ *
103
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
104
+ *
105
+ * You may not use this file except in compliance with the License
106
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
107
+ *
108
+ * This code is a modification of the `@angular/material` original
109
+ * code licensed under MIT-style License (https://angular.dev/license).
110
+ */
111
+
112
+ /**
113
+ * Shared directive to count lines inside a text area, such as a list item.
114
+ * Line elements can be extracted with a @ContentChildren(CuteLine) query, then
115
+ * counted by checking the query list's length.
116
+ */
117
+ declare class CuteLine {
118
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteLine, never>;
119
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteLine, "[cute-line], [cuteLine]", never, {}, {}, never, never, true, never>;
120
+ }
121
+ /**
122
+ * Helper that takes a query list of lines and sets the correct class on the host.
123
+ */
124
+ declare function setLines(lines: QueryList<unknown>, element: ElementRef<HTMLElement>, prefix?: string): void;
125
+
126
+ declare class CuteLineModule {
127
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteLineModule, never>;
128
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteLineModule, never, [typeof i1.CommonModule, typeof CuteLine], [typeof CuteLine]>;
129
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuteLineModule>;
130
+ }
131
+
132
+ /**
133
+ * @license Apache-2.0
134
+ *
135
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
136
+ *
137
+ * You may not use this file except in compliance with the License
138
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
139
+ */
140
+ type RippleOptions = {
141
+ centered?: boolean;
142
+ color?: string | null;
143
+ duration?: string | number;
144
+ };
145
+ declare abstract class Ripple {
146
+ private _active;
147
+ private _disabled;
148
+ private readonly _target;
149
+ protected constructor(target: HTMLElement);
150
+ get disabled(): boolean;
151
+ set disabled(v: boolean);
152
+ isActive: i0.Signal<boolean>;
153
+ stop(): void;
154
+ launch(event: MouseEvent, options?: RippleOptions): void;
155
+ }
156
+
157
+ /**
158
+ * @license Apache-2.0
159
+ *
160
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
161
+ *
162
+ * You may not use this file except in compliance with the License
163
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
164
+ */
165
+
166
+ declare class RippleManager {
167
+ private static readonly _ripples;
168
+ static getInstance(target: HTMLElement): Ripple;
169
+ static createRipple(target: HTMLElement): Ripple;
170
+ static removeRipple(target: HTMLElement): void;
171
+ }
172
+
173
+ /**
174
+ * @license Apache-2.0
175
+ *
176
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
177
+ *
178
+ * You may not use this file except in compliance with the License
179
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
180
+ */
181
+
182
+ declare class CuteRipple/* extends ... */ implements OnDestroy {
183
+ private _elemRef;
184
+ private readonly _ripple;
185
+ rippleOptions: RippleOptions | undefined;
186
+ protected onMouseDown(event: MouseEvent): void;
187
+ constructor(_elemRef: ElementRef<HTMLElement>);
188
+ ngOnDestroy(): void;
189
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteRipple, never>;
190
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteRipple, "[cuteRipple]", ["cuteRipple"], { "rippleOptions": { "alias": "cuteRipple"; "required": false; }; }, {}, never, never, true, never>;
191
+ }
192
+
193
+ interface Focusable {
194
+ focus(): void;
195
+ }
196
+
197
+ interface MenuAction {
198
+ type: "RouterLink" | "ExternalURL" | "AppEvent" | "DwScript";
199
+ text: string;
200
+ target?: "Main" | "Popup" | "Response";
201
+ }
202
+
203
+ /**
204
+ * @license Apache-2.0
205
+ *
206
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
207
+ *
208
+ * You may not use this file except in compliance with the License
209
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
210
+ */
211
+
212
+ /**
213
+ * A structure that populates the properties for individual items in a TreeView control.
214
+ */
215
+ interface TreeNode<D = unknown> {
216
+ /** Unique identifier */
217
+ id?: string;
218
+ /** Identifies the string label associated with the item. */
219
+ label: string;
220
+ /** Specifies whether the item has children. */
221
+ hasChildren?: boolean;
222
+ /** Children items. */
223
+ children?: TreeNode<D>[];
224
+ /** Item short description */
225
+ microHelp?: string;
226
+ /** Indicates the level of the item in the TreeView control. */
227
+ level?: number;
228
+ /** Any user-defined data. */
229
+ data?: D;
230
+ /** Router link. */
231
+ routerLink?: string | string[];
232
+ /** Identifies the picture displayed to the left of the item label. */
233
+ icon?: string;
234
+ /** Icon color. */
235
+ iconColor?: string;
236
+ /** Icon CSS class(es). */
237
+ iconClass?: string | string[] | Record<string, boolean>;
238
+ /** Identifies the state picture associated with the item. */
239
+ stateIcon?: string;
240
+ /** The badge text associated with the item. */
241
+ badge?: string;
242
+ /** Badge theme color. */
243
+ badgeColor?: RichThemeColor$1;
244
+ /** Is node enabled? Default is _true_. */
245
+ enabled?: (() => boolean) | boolean;
246
+ /** Is node visible? Default is _true_. */
247
+ visible?: (() => boolean) | boolean;
248
+ status?: {
249
+ /** Specifies whether the node is expanded. */
250
+ expanded?: boolean;
251
+ /** Specifies whether the node has been populated with children. */
252
+ populated?: boolean;
253
+ /** Specifies whether the item has focus. */
254
+ hasFocus?: boolean;
255
+ /** Specifies whether the item is selected. */
256
+ selection?: 'checked' | 'indeterminate' | 'unchecked';
257
+ };
258
+ }
259
+
260
+ interface ToolbarItem {
261
+ /** Icon ligature */
262
+ icon?: string;
263
+ /** Icon color */
264
+ iconColor?: string;
265
+ /** Specifies the order of the item in the toolbar */
266
+ order?: number;
267
+ /** Specifies the amount of empty space before the item in the toolbar */
268
+ spaces?: number;
269
+ /** Specifies the text that displays in the toolbar item when the display text option is on for toolbars */
270
+ text?: string;
271
+ /** Specifies whether the toolbar item displays. Default is _false_ */
272
+ visible?: boolean;
273
+ }
274
+
275
+ /**
276
+ * @license Apache-2.0
277
+ *
278
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
279
+ *
280
+ * You may not use this file except in compliance with the License
281
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
282
+ */
283
+
284
+ /**
285
+ * Menu Item interface is used for items in a drop-down or cascading menu
286
+ */
287
+ interface MenuItem<D = unknown> extends TreeNode<D> {
288
+ /** An array of the submenu items. */
289
+ children?: MenuItem<D>[];
290
+ /** Whether an item is the default item. */
291
+ default?: (() => boolean) | boolean;
292
+ /** Is item checked? Default is _false_. */
293
+ checked?: (() => boolean) | boolean;
294
+ /** Item is clicked (selected or unselected). */
295
+ clicked?: () => void;
296
+ /** Toolbar's item definition. */
297
+ toolBarItem?: ToolbarItem;
298
+ }
299
+
300
+ interface MenuOwner extends Focusable {
301
+ menuItemClicked: (mi: MenuItem) => void;
302
+ }
303
+
304
+ /** A permissive type for a class constructor */
305
+ type Constructor<T = {}> = new (...args: any[]) => T;
306
+ /** A permissive type for abstract class constructors */
307
+ type AbstractConstructor<T = {}> = abstract new (...args: any[]) => T;
308
+
309
+ /** Alignment of flex items on the main axis of the flexbox container */
310
+ type ContentAlignment = "start" | "end" | "center" | "between" | "around" | "evenly";
311
+
312
+ type LayoutBreakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
313
+
314
+ type LayoutDirection = "column" | "row";
315
+
316
+ type LayoutOrientation = "horizontal" | "vertical";
317
+
318
+ /**
319
+ * @license Apache-2.0
320
+ *
321
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
322
+ *
323
+ * You may not use this file except in compliance with the License
324
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
325
+ */
326
+ type MouseGeneralCursor = "auto" | "default" | "none";
327
+ type MouseLinkAndStatusCursor = "context-menu" | "help" | "pointer" | "progress" | "wait";
328
+ type MouseSelectionCursor = "cell" | "crosshair" | "text" | "vertical-text";
329
+ type MouseDragAndDropCursor = "alias" | "copy" | "move" | "no-drop" | "not-allowed" | "grab" | "grabbing";
330
+ type MouseResizeAndScrollCursor = "all-scroll" | "col-resize" | "row-resize" | "n-resize" | "e-resize" | "s-resize" | "w-resize" | "ne-resize" | "nw-resize" | "se-resize" | "sw-resize" | "ew-resize" | "ns-resize" | "nesw-resize" | "nwse-resize";
331
+ type MouseZoomingCursor = "zoom-in" | "zoom-out";
332
+ type MouseCursor = MouseGeneralCursor | MouseLinkAndStatusCursor | MouseSelectionCursor | MouseDragAndDropCursor | MouseResizeAndScrollCursor | MouseZoomingCursor;
333
+
334
+ type MoveDirection = "up" | "down" | "left" | "right";
335
+
336
+ /**
337
+ * @license Apache-2.0
338
+ *
339
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
340
+ *
341
+ * You may not use this file except in compliance with the License
342
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
343
+ */
344
+ type RelativeSize3 = "middle" | "large" | "small";
345
+ type RelativeSize5 = RelativeSize3 | ("larger" | "smaller");
346
+ type RelativeSize7 = RelativeSize5 | ("largest" | "smallest");
347
+ type RelativeSize = RelativeSize3;
348
+
349
+ type HorizontalEdge = 'left' | 'right' | 'start' | 'end';
350
+
351
+ type VerticalEdge = 'top' | 'bottom';
352
+
353
+ /** Edge of the viewport */
354
+ type ViewportEdge = VerticalEdge | HorizontalEdge;
355
+
356
+ /**
357
+ * @license Apache-2.0
358
+ *
359
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
360
+ *
361
+ * You may not use this file except in compliance with the License
362
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
363
+ */
364
+ /**
365
+ * Gets transition duration total value
366
+ * @param element Source HTML element
367
+ * @returns Duration with delay time in milliseconds
368
+ */
369
+ declare function getOverallTransitionDuration(element: HTMLElement): number;
370
+ /**
371
+ * Gets transition duration value
372
+ * @param element Source HTML element
373
+ * @returns Duration time in milliseconds
374
+ */
375
+ declare function getTransitionDuration(element: HTMLElement): number;
376
+ /**
377
+ * Gets duration to wait before starting transition
378
+ * @param element Source HTML element
379
+ * @returns Delay time in milliseconds
380
+ */
381
+ declare function getTransitionDelay(element: HTMLElement): number;
382
+
383
+ /**
384
+ * @license Apache-2.0
385
+ *
386
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
387
+ *
388
+ * You may not use this file except in compliance with the License
389
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
390
+ */
391
+
392
+ declare function createValueToken<T>(value: T): InjectionToken<T>;
393
+ declare function createFactoryToken<T>(factory: () => T): InjectionToken<T>;
394
+
395
+ /**
396
+ * @license Apache-2.0
397
+ *
398
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
399
+ *
400
+ * You may not use this file except in compliance with the License
401
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
402
+ */
403
+
404
+ type ExportOptions = {
405
+ filename?: string;
406
+ delimiter?: string;
407
+ columns?: string[];
408
+ };
409
+ /**
410
+ * Forcibly starts the process of downloading and saving the file.
411
+ * @param blobData Data to save
412
+ * @param filename File name to save. Default is `download`.
413
+ */
414
+ declare function saveAs(blobData: Blob, filename?: string): void;
415
+ /**
416
+ * Exports data from HTML table to MS Excel format text
417
+ * @param tableIdOrElem HTML table's `id` value or `ElementRef` object
418
+ * @param options Export options
419
+ */
420
+ declare function exportToExcel(tableIdOrElem: string | ElementRef, options?: ExportOptions): void;
421
+ /**
422
+ * Exports data from HTML table to CSV format text
423
+ * @param tableIdOrElem HTML table's `id` value or `ElementRef` object
424
+ * @param options Export options
425
+ */
426
+ declare function exportToCSV(tableIdOrElem: string | ElementRef, options?: ExportOptions): void;
427
+
428
+ /** Service that generates unique IDs for DOM nodes. */
429
+ declare class IdGenerator {
430
+ private _appId;
431
+ /**
432
+ * Generates a unique ID with a specific prefix.
433
+ * @param prefix Prefix to add to the ID.
434
+ */
435
+ getId(prefix: string): string;
436
+ /**
437
+ * Generates UUID (ver.4) string using simple algorithm based on random value only
438
+ */
439
+ getUUID(): string;
440
+ static ɵfac: i0.ɵɵFactoryDeclaration<IdGenerator, never>;
441
+ static ɵprov: i0.ɵɵInjectableDeclaration<IdGenerator>;
442
+ }
443
+
444
+ /**
445
+ * @license Apache-2.0
446
+ *
447
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
448
+ *
449
+ * You may not use this file except in compliance with the License
450
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
451
+ */
452
+ type TaskPriority = "user-blocking" | "user-visible" | "background";
453
+ /**
454
+ * A class with static methods specifically designed for scheduling tasks in the browser.
455
+ */
456
+ declare class Scheduler {
457
+ /** Yielding to the main thread in the browser. */
458
+ static yield(): Promise<void>;
459
+ /**
460
+ * Resolves a promise after the delay time in milliseconds
461
+ * @param ms Number of milliseconds to wait
462
+ *
463
+ * @see {@link delay}
464
+ */
465
+ static wait(ms: number): Promise<void>;
466
+ /**
467
+ * Adding a task to be scheduled according to their priority.
468
+ * @param callback Function to run
469
+ * @param options Scheduler options
470
+ *
471
+ * @see {@link async.post}
472
+ */
473
+ static postTask(callback: Function, options?: {
474
+ priority?: TaskPriority;
475
+ signal?: any;
476
+ delay?: number;
477
+ }): Promise<void>;
478
+ }
479
+
480
+ /**
481
+ * @license Apache-2.0
482
+ *
483
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
484
+ *
485
+ * You may not use this file except in compliance with the License
486
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
487
+ *
488
+ * This code is a modification of the `@angular/material` original
489
+ * code licensed under MIT-style License (https://angular.dev/license).
490
+ */
491
+
492
+ /** InjectionToken for datepicker that can be used to override default locale code. */
493
+ declare const CUTE_DATE_LOCALE: InjectionToken<{}>;
494
+ /**
495
+ * @docs-private
496
+ * @deprecated No longer used, will be removed.
497
+ * @breaking-change 21.0.0
498
+ */
499
+ declare function CUTE_DATE_LOCALE_FACTORY(): {};
500
+ /** Adapts type `D` to be usable as a date by cdk-based components that work with dates. */
501
+ declare abstract class DateAdapter<D, L = any> {
502
+ /** The locale to use for all dates. */
503
+ protected locale: L | undefined;
504
+ protected readonly _localeChanges: Subject<void>;
505
+ /** A stream that emits when the locale changes. */
506
+ readonly localeChanges: Observable<void>;
507
+ /**
508
+ * Gets the year component of the given date.
509
+ * @param date The date to extract the year from.
510
+ * @returns The year component.
511
+ */
512
+ abstract getYear(date: D): number;
513
+ /**
514
+ * Gets the month component of the given date.
515
+ * @param date The date to extract the month from.
516
+ * @returns The month component (0-indexed, 0 = January).
517
+ */
518
+ abstract getMonth(date: D): number;
519
+ /**
520
+ * Gets the date of the month component of the given date.
521
+ * @param date The date to extract the date of the month from.
522
+ * @returns The month component (1-indexed, 1 = first of month).
523
+ */
524
+ abstract getDate(date: D): number;
525
+ /**
526
+ * Gets the day of the week component of the given date.
527
+ * @param date The date to extract the day of the week from.
528
+ * @returns The month component (0-indexed, 0 = Sunday).
529
+ */
530
+ abstract getDayOfWeek(date: D): number;
531
+ /**
532
+ * Gets a list of names for the months.
533
+ * @param style The naming style (e.g. long = 'January', short = 'Jan', narrow = 'J').
534
+ * @returns An ordered list of all month names, starting with January.
535
+ */
536
+ abstract getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
537
+ /**
538
+ * Gets a list of names for the dates of the month.
539
+ * @returns An ordered list of all date of the month names, starting with '1'.
540
+ */
541
+ abstract getDateNames(): string[];
542
+ /**
543
+ * Gets a list of names for the days of the week.
544
+ * @param style The naming style (e.g., long = 'Sunday', short = 'Sun', narrow = 'S').
545
+ * @returns An ordered list of all weekday names, starting with Sunday.
546
+ */
547
+ abstract getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
548
+ /**
549
+ * Gets the name for the year of the given date.
550
+ * @param date The date to get the year name for.
551
+ * @returns The name of the given year (e.g. '2017').
552
+ */
553
+ abstract getYearName(date: D): string;
554
+ /**
555
+ * Gets the first day of the week.
556
+ * @returns The first day of the week (0-indexed, 0 = Sunday).
557
+ */
558
+ abstract getFirstDayOfWeek(): number;
559
+ /**
560
+ * Gets the number of days in the month of the given date.
561
+ * @param date The date whose month should be checked.
562
+ * @returns The number of days in the month of the given date.
563
+ */
564
+ abstract getNumDaysInMonth(date: D): number;
565
+ /**
566
+ * Clones the given date.
567
+ * @param date The date to clone
568
+ * @returns A new date equal to the given date.
569
+ */
570
+ abstract clone(date: D): D;
571
+ /**
572
+ * Creates a date with the given year, month, and date. Does not allow over/under-flow of the
573
+ * month and date.
574
+ * @param year The full year of the date. (e.g. 89 means the year 89, not the year 1989).
575
+ * @param month The month of the date (0-indexed, 0 = January). Must be an integer 0 - 11.
576
+ * @param date The date of month of the date. Must be an integer 1 - length of the given month.
577
+ * @returns The new date, or null if invalid.
578
+ */
579
+ abstract createDate(year: number, month: number, date: number): D;
580
+ /**
581
+ * Gets today's date.
582
+ * @returns Today's date.
583
+ */
584
+ abstract today(): D;
585
+ /**
586
+ * Parses a date from a user-provided value.
587
+ * @param value The value to parse.
588
+ * @param parseFormat The expected format of the value being parsed
589
+ * (type is implementation-dependent).
590
+ * @returns The parsed date.
591
+ */
592
+ abstract parse(value: any, parseFormat: any): D | null;
593
+ /**
594
+ * Formats a date as a string according to the given format.
595
+ * @param date The value to format.
596
+ * @param displayFormat The format to use to display the date as a string.
597
+ * @returns The formatted date string.
598
+ */
599
+ abstract format(date: D, displayFormat: any): string;
600
+ /**
601
+ * Adds the given number of years to the date. Years are counted as if flipping 12 pages on the
602
+ * calendar for each year and then finding the closest date in the new month. For example when
603
+ * adding 1 year to Feb 29, 2016, the resulting date will be Feb 28, 2017.
604
+ * @param date The date to add years to.
605
+ * @param years The number of years to add (maybe negative).
606
+ * @returns A new date equal to the given one with the specified number of years added.
607
+ */
608
+ abstract addCalendarYears(date: D, years: number): D;
609
+ /**
610
+ * Adds the given number of months to the date. Months are counted as if flipping a page on the
611
+ * calendar for each month and then finding the closest date in the new month. For example when
612
+ * adding 1 month to Jan 31, 2017, the resulting date will be Feb 28, 2017.
613
+ * @param date The date to add months to.
614
+ * @param months The number of months to add (maybe negative).
615
+ * @returns A new date equal to the given one with the specified number of months added.
616
+ */
617
+ abstract addCalendarMonths(date: D, months: number): D;
618
+ /**
619
+ * Adds the given number of days to the date. Days are counted as if moving one cell on the
620
+ * calendar for each day.
621
+ * @param date The date to add days to.
622
+ * @param days The number of days to add (maybe negative).
623
+ * @returns A new date equal to the given one with the specified number of days added.
624
+ */
625
+ abstract addCalendarDays(date: D, days: number): D;
626
+ /**
627
+ * Gets the RFC 3339 compatible string (https://tools.ietf.org/html/rfc3339) for the given date.
628
+ * This method is used to generate date strings that are compatible with native HTML attributes
629
+ * such as the `min` or `max` attribute of an `<input>`.
630
+ * @param date The date to get the ISO date string for.
631
+ * @returns The ISO date string date string.
632
+ */
633
+ abstract toIso8601(date: D): string;
634
+ /**
635
+ * Checks whether the given object is considered a date instance by this DateAdapter.
636
+ * @param obj The object to check
637
+ * @returns Whether the object is a date instance.
638
+ */
639
+ abstract isDateInstance(obj: any): boolean;
640
+ /**
641
+ * Checks whether the given date is valid.
642
+ * @param date The date to check.
643
+ * @returns Whether the date is valid.
644
+ */
645
+ abstract isValid(date: D): boolean;
646
+ /**
647
+ * Gets date instance that is not valid.
648
+ * @returns An invalid date.
649
+ */
650
+ abstract invalid(): D;
651
+ /**
652
+ * Sets the time of one date to the time of another.
653
+ * @param target Date whose time will be set.
654
+ * @param hours New hours to set on the date object.
655
+ * @param minutes New minutes to set on the date object.
656
+ * @param seconds New seconds to set on the date object.
657
+ */
658
+ setTime(target: D, hours: number, minutes: number, seconds: number): D;
659
+ /**
660
+ * Gets the hours component of the given date.
661
+ * @param date The date to extract the hours from.
662
+ */
663
+ getHours(date: D): number;
664
+ /**
665
+ * Gets the minutes component of the given date.
666
+ * @param date The date to extract the minutes from.
667
+ */
668
+ getMinutes(date: D): number;
669
+ /**
670
+ * Gets the seconds component of the given date.
671
+ * @param date The date to extract the seconds from.
672
+ */
673
+ getSeconds(date: D): number;
674
+ /**
675
+ * Parses a date with a specific time from a user-provided value.
676
+ * @param value The value to parse.
677
+ * @param parseFormat The expected format of the value being parsed
678
+ * (type is implementation-dependent).
679
+ */
680
+ parseTime(value: any, parseFormat: any): D | null;
681
+ /**
682
+ * Adds an amount of seconds to the specified date.
683
+ * @param date Date to which to add the seconds.
684
+ * @param amount Amount of seconds to add to the date.
685
+ */
686
+ addSeconds(date: D, amount: number): D;
687
+ /**
688
+ * Given a potential date object, returns that same date object if it is
689
+ * a valid date, or `null` if it's not a valid date.
690
+ * @param obj The object to check.
691
+ * @returns A date or `null`.
692
+ */
693
+ getValidDateOrNull(obj: unknown): D | null;
694
+ /**
695
+ * Attempts to deserialize a value to a valid date object. This is different from parsing in that
696
+ * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
697
+ * string). The default implementation does not allow any deserialization, it simply checks that
698
+ * the given value is already a valid date object or null. The `<mat-datepicker>` will call this
699
+ * method on all of its `@Input()` properties that accept dates. It is therefore possible to
700
+ * support passing values from your backend directly to these properties by overriding this method
701
+ * to also deserialize the format used by your backend.
702
+ * @param value The value to be deserialized into a date object.
703
+ * @returns The deserialized date object, either a valid date, null if the value can be
704
+ * deserialized into a null date (e.g. the empty string), or an invalid date.
705
+ */
706
+ deserialize(value: any): D | null;
707
+ /**
708
+ * Sets the locale used for all dates.
709
+ * @param locale The new locale.
710
+ */
711
+ setLocale(locale: L): void;
712
+ /**
713
+ * Compares two dates.
714
+ * @param first The first date to compare.
715
+ * @param second The second date to compare.
716
+ * @returns 0 if the dates are equal, a number less than 0 if the first date is earlier,
717
+ * a number greater than 0 if the first date is later.
718
+ */
719
+ compareDate(first: D, second: D): number;
720
+ /**
721
+ * Compares the time values of two dates.
722
+ * @param first First date to compare.
723
+ * @param second Second date to compare.
724
+ * @returns 0 if the times are equal, a number less than 0 if the first time is earlier,
725
+ * a number greater than 0 if the first time is later.
726
+ */
727
+ compareTime(first: D, second: D): number;
728
+ /**
729
+ * Checks if two dates are equal.
730
+ * @param first The first date to check.
731
+ * @param second The second date to check.
732
+ * @returns Whether the two dates are equal.
733
+ * Null dates are considered equal to other null dates.
734
+ */
735
+ sameDate(first: D | null, second: D | null): boolean;
736
+ /**
737
+ * Checks if the times of two dates are equal.
738
+ * @param first The first date to check.
739
+ * @param second The second date to check.
740
+ * @returns Whether the times of the two dates are equal.
741
+ * Null dates are considered equal to other null dates.
742
+ */
743
+ sameTime(first: D | null, second: D | null): boolean;
744
+ /**
745
+ * Clamp the given date between min and max dates.
746
+ * @param date The date to clamp.
747
+ * @param min The minimum value to allow. If null or omitted, no min is enforced.
748
+ * @param max The maximum value to allow. If null or omitted, no max is enforced.
749
+ * @returns `min` if `date` is less than `min`, `max` if date is greater than `max`,
750
+ * otherwise `date`.
751
+ */
752
+ clampDate(date: D, min?: D | null, max?: D | null): D;
753
+ }
754
+
755
+ /**
756
+ * @license Apache-2.0
757
+ *
758
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
759
+ *
760
+ * You may not use this file except in compliance with the License
761
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
762
+ *
763
+ * This code is a modification of the `@angular/material` original
764
+ * code licensed under MIT-style License (https://angular.dev/license).
765
+ */
766
+
767
+ type CuteDateFormats = {
768
+ parse: {
769
+ dateInput: any;
770
+ timeInput?: any;
771
+ };
772
+ display: {
773
+ dateInput: any;
774
+ monthLabel?: any;
775
+ monthYearLabel: any;
776
+ dateA11yLabel: any;
777
+ monthYearA11yLabel: any;
778
+ timeInput?: any;
779
+ timeOptionLabel?: any;
780
+ };
781
+ };
782
+ declare const CUTE_DATE_FORMATS: InjectionToken<CuteDateFormats>;
783
+
784
+ /** Adapts the native JS Date for use with cdk-based components that work with dates. */
785
+ declare class NativeDateAdapter extends DateAdapter<Date> {
786
+ /** The injected locale. */
787
+ private readonly _cuteDateLocale;
788
+ constructor(...args: unknown[]);
789
+ getYear(date: Date): number;
790
+ getMonth(date: Date): number;
791
+ getDate(date: Date): number;
792
+ getDayOfWeek(date: Date): number;
793
+ getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
794
+ getDateNames(): string[];
795
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
796
+ getYearName(date: Date): string;
797
+ getFirstDayOfWeek(): number;
798
+ getNumDaysInMonth(date: Date): number;
799
+ clone(date: Date): Date;
800
+ createDate(year: number, month: number, date: number): Date;
801
+ today(): Date;
802
+ parse(value: any, parseFormat?: any): Date | null;
803
+ format(date: Date, displayFormat: Object): string;
804
+ addCalendarYears(date: Date, years: number): Date;
805
+ addCalendarMonths(date: Date, months: number): Date;
806
+ addCalendarDays(date: Date, days: number): Date;
807
+ toIso8601(date: Date): string;
808
+ /**
809
+ * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
810
+ * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
811
+ * invalid date for all other values.
812
+ */
813
+ deserialize(value: any): Date | null;
814
+ isDateInstance(obj: any): obj is Date;
815
+ isValid(date: Date): boolean;
816
+ invalid(): Date;
817
+ setTime(target: Date, hours: number, minutes: number, seconds: number): Date;
818
+ getHours(date: Date): number;
819
+ getMinutes(date: Date): number;
820
+ getSeconds(date: Date): number;
821
+ parseTime(userValue: any, parseFormat?: any): Date | null;
822
+ addSeconds(date: Date, amount: number): Date;
823
+ /** Creates a date but allows the month and date to overflow. */
824
+ private _createDateWithOverflow;
825
+ /**
826
+ * Pads a number to make it two digits.
827
+ * @param n The number to pad.
828
+ * @returns The padded number.
829
+ */
830
+ private _2digit;
831
+ /**
832
+ * When converting a Date object to string, javascript built-in functions may return wrong
833
+ * results because it applies its internal DST rules. The DST rules around the world change
834
+ * very frequently, and the current valid rule is not always valid in previous years though.
835
+ * We work around this problem building a new Date object which has its internal UTC
836
+ * representation with the local date and time.
837
+ * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have
838
+ * timeZone set to 'utc' to work fine.
839
+ * @param date Date from which we want to get the string representation according to dtf
840
+ * @returns A Date object with its UTC representation based on the passed in date info
841
+ */
842
+ private _format;
843
+ /**
844
+ * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.
845
+ * @param value Time string to parse.
846
+ */
847
+ private _parseTimeString;
848
+ static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateAdapter, never>;
849
+ static ɵprov: i0.ɵɵInjectableDeclaration<NativeDateAdapter>;
850
+ }
851
+
852
+ /**
853
+ * @license Apache-2.0
854
+ *
855
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
856
+ *
857
+ * You may not use this file except in compliance with the License
858
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
859
+ *
860
+ * This code is a modification of the `@angular/material` original
861
+ * code licensed under MIT-style License (https://angular.dev/license).
862
+ */
863
+
864
+ declare const CUTE_NATIVE_DATE_FORMATS: CuteDateFormats;
865
+
866
+ declare class NativeDateModule {
867
+ static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateModule, never>;
868
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NativeDateModule, never, never, never>;
869
+ static ɵinj: i0.ɵɵInjectorDeclaration<NativeDateModule>;
870
+ }
871
+ declare class CuteNativeDateModule {
872
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteNativeDateModule, never>;
873
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteNativeDateModule, never, never, never>;
874
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuteNativeDateModule>;
875
+ }
876
+ declare function provideNativeDateAdapter(formats?: CuteDateFormats): Provider[];
877
+
878
+ /**
879
+ * @license Apache-2.0
880
+ *
881
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
882
+ *
883
+ * You may not use this file except in compliance with the License
884
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
885
+ */
886
+
887
+ /**
888
+ * Bypass security and trust the given value to be a safe resource.
889
+ * > WARNING: calling this method with untrusted user data exposes your application to XSS security risks!
890
+ * @example
891
+ * ```html
892
+ * <img [src]="item.source | safe:'url'" alt="Item image"/>
893
+ * ```
894
+ */
895
+ declare class CuteSafePipe implements PipeTransform {
896
+ protected sanitizer: DomSanitizer;
897
+ transform(value: any, type?: 'html' | 'style' | 'script' | 'url' | 'resourceUrl'): SafeValue;
898
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteSafePipe, never>;
899
+ static ɵpipe: i0.ɵɵPipeDeclaration<CuteSafePipe, "safe", true>;
900
+ }
901
+
902
+ /**
903
+ * @license Apache-2.0
904
+ *
905
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
906
+ *
907
+ * You may not use this file except in compliance with the License
908
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
909
+ */
910
+
911
+ /**
912
+ * Gets a safe value from either a known safe value or a value with unknown safety.
913
+ *
914
+ * @example
915
+ * ```html
916
+ * <div [innerHTML]="item.htmlContent | sanitize:'html'"></div>
917
+ * ```
918
+ */
919
+ declare class CuteSanitizePipe implements PipeTransform {
920
+ protected sanitizer: DomSanitizer;
921
+ transform(value: any, context?: 'html' | 'style' | 'script' | 'url' | 'resourceUrl' | 'none'): SafeValue | null;
922
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteSanitizePipe, never>;
923
+ static ɵpipe: i0.ɵɵPipeDeclaration<CuteSanitizePipe, "sanitize", true>;
924
+ }
925
+
926
+ /**
927
+ * @license Apache-2.0
928
+ *
929
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
930
+ *
931
+ * You may not use this file except in compliance with the License
932
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
933
+ */
934
+ /**
935
+ * `CuteWidgets` supports standard Bootstrap 5 theme colors - `ThemeColor` type. But to account
936
+ * miscellaneous use cases of usage this colors in components CuteWidgets add extended definition of
937
+ * latter - `RichThemeColor`. Rich color is the standard color name plus "-emphasis" or "-contrast" suffix at the end.
938
+ * Depending on the context of applying color, the result CSS-class can be `.text-*`, `.text-bg-*` or ended with
939
+ * `-emphasis` or `-subtle` suffixes.
940
+ */
941
+
942
+ /** Bootstrap theme colors */
943
+ declare const Palette: readonly ["primary", "secondary", "success", "danger", "warning", "info", "light", "dark", "link", "tertiary"];
944
+ /** Bootstrap’s base color palette. */
945
+ type ThemeColor = typeof Palette[number];
946
+ /** Rich color palette is based on the standard Bootstrap palette but has additional shades. */
947
+ type RichThemeColor = ThemeColor | `${ThemeColor}-emphasis` | `${ThemeColor}-contrast`;
948
+ /** Alias for `ThemeColor` type. */
949
+ type ThemePalette = ThemeColor;
950
+ /** Alias for `ThemeColor` type. */
951
+ type RichThemePalette = RichThemeColor;
952
+ /**
953
+ * Whether a string is a valid theme color name
954
+ * @param str Text case-sensitive value
955
+ * @returns _true_ if `str` is a valid color name, otherwise _false_
956
+ */
957
+ declare function isThemeColor(str: string | undefined | null): str is ThemeColor;
958
+ /**
959
+ * Whether a string is a valid rich or base theme color name.
960
+ * @param str Case-sensitive text value of the color name.
961
+ * @returns _true_ if `str` is a valid rich color name, otherwise _false_.
962
+ */
963
+ declare function isRichThemeColor(str: string | undefined | null): str is RichThemeColor;
964
+ /**
965
+ * Transforms a string to `ThemeColor` type.
966
+ * @param color Color value to transform
967
+ * @returns _ThemeColor_'s value or _undefined_, if the `color` has an invalid value.
968
+ */
969
+ declare function toThemeColor(color: string | undefined | null): ThemeColor | undefined;
970
+ /**
971
+ * To `_RichThemeColor_` transformer function.
972
+ * @param color Color value to transform into rich color type.
973
+ * @returns _RichThemeColor_ value or _undefined_ if `color` is invalid.
974
+ */
975
+ declare function toRichThemeColor(color: string | undefined | null): RichThemeColor | undefined;
976
+ /**
977
+ * Returns a valid Bootstrap's `.text-*` CSS class.
978
+ * @param color Color palette to transform into CSS-class.
979
+ */
980
+ declare function toTextCssClass(color: string | undefined | null): string;
981
+ /**
982
+ * Returns a valid Bootstrap's `.bg-*` or `.text-bg-*` CSS class name.
983
+ * @param color Value to transform into CSS-class.
984
+ */
985
+ declare function toBgCssClass(color: string | undefined | null): string;
986
+ /**
987
+ * Set a background color with contrasting foreground color.
988
+ * @param color Color palette to transform into CSS-class.
989
+ * @returns A valid Bootstrap's `.text-bg-*` CSS-class
990
+ */
991
+ declare function toTextBgCssClass(color: string | undefined | null): string;
992
+ /**
993
+ * Returns a valid Bootstrap's `.text-*` or `.text-bg-*` CSS class.
994
+ * @param color Color value to transform into CSS-class.
995
+ */
996
+ declare function toColorCssClass(color: string | undefined | null): string;
997
+ declare const CUTE_THEME_COLOR: InjectionToken<CuteThemeColor>;
998
+ declare class CuteThemeColor {
999
+ color: RichThemeColor | undefined;
1000
+ colorClass(): string;
1001
+ bgClass(): string;
1002
+ textBgClass(): string;
1003
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteThemeColor, never>;
1004
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteThemeColor, "[cuteThemeColor]", ["cuteThemeColor"], { "color": { "alias": "cuteThemeColor"; "required": false; }; }, {}, never, never, true, never>;
1005
+ }
1006
+
1007
+ type CuteTheme = "light" | "dark" | "auto";
1008
+ declare class CuteThemeService implements OnDestroy {
1009
+ private _document;
1010
+ private _mediaQueryList;
1011
+ private _mediaChange;
1012
+ /** Observable that can be used to receive `MediaMatcher`'s _change_ event. */
1013
+ readonly change: rxjs.Observable<MediaQueryListEvent>;
1014
+ constructor();
1015
+ private getStoredTheme;
1016
+ private setStoredTheme;
1017
+ /** Returns the user's preferred color mode. */
1018
+ getPreferredTheme(): CuteTheme;
1019
+ /** Returns the browser's color theme. */
1020
+ getCurrentTheme(): CuteTheme;
1021
+ /** Whether is the dark theme currently selected. */
1022
+ isDarkTheme(): boolean;
1023
+ /** Whether is the light theme currently selected. */
1024
+ isLightTheme(): boolean;
1025
+ /** Returns the Bootstrap's color theme. */
1026
+ getTheme(): Omit<CuteTheme, "auto">;
1027
+ /**
1028
+ * Changes the default color mode (theme) of all pages in the website with the opportunity of auto-detection.
1029
+ * @param theme Desired color theme.
1030
+ * @param emitEvent Emulate event emitting. Default is _true_.
1031
+ */
1032
+ setTheme(theme: CuteTheme, emitEvent?: boolean): void;
1033
+ ngOnDestroy(): void;
1034
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteThemeService, never>;
1035
+ static ɵprov: i0.ɵɵInjectableDeclaration<CuteThemeService>;
1036
+ }
1037
+
1038
+ export { AnimationCurves, AnimationDurations, CUTE_DATE_FORMATS, CUTE_DATE_LOCALE, CUTE_DATE_LOCALE_FACTORY, CUTE_NATIVE_DATE_FORMATS, CUTE_THEME_COLOR, CUTE_WIDGETS_ANIMATIONS, CuteLine, CuteLineModule, CuteNativeDateModule, CuteRipple, CuteSafePipe, CuteSanitizePipe, CuteThemeColor, CuteThemeService, DateAdapter, IdGenerator, NativeDateAdapter, NativeDateModule, Ripple, RippleManager, Scheduler, _animationsDisabled, _getAnimationsState, bsBreakpoints, createFactoryToken, createValueToken, exportToCSV, exportToExcel, getOverallTransitionDuration, getTransitionDelay, getTransitionDuration, isRichThemeColor, isThemeColor, provideNativeDateAdapter, saveAs, setLines, toBgCssClass, toColorCssClass, toRichThemeColor, toTextBgCssClass, toTextCssClass, toThemeColor };
1039
+ export type { AbstractConstructor, AnimationsConfig, Constructor, ContentAlignment, CuteDateFormats, CuteTheme, ExportOptions, Focusable, HorizontalEdge, LayoutBreakpoint, LayoutDirection, LayoutOrientation, MenuAction, MenuItem, MenuOwner, MouseCursor, MouseDragAndDropCursor, MouseGeneralCursor, MouseLinkAndStatusCursor, MouseResizeAndScrollCursor, MouseSelectionCursor, MouseZoomingCursor, MoveDirection, RelativeSize, RelativeSize3, RelativeSize5, RelativeSize7, RichThemeColor, RichThemePalette, RippleOptions, TaskPriority, ThemeColor, ThemePalette, ToolbarItem, TreeNode, VerticalEdge, ViewportEdge };