@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,963 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ElementRef, OnInit, AfterViewInit, AfterContentInit, DoCheck, OnDestroy, ChangeDetectorRef, NgZone, QueryList, EventEmitter, OnChanges } from '@angular/core';
3
+ import { Subject, Observable } from 'rxjs';
4
+ import { CuteFocusableControl } from '@cute-widgets/base/abstract';
5
+ import { ControlValueAccessor, NgControl } from '@angular/forms';
6
+ import { ErrorStateMatcher } from '@cute-widgets/base/core/error';
7
+ import { CuteFormFieldControl } from '@cute-widgets/base/form-field';
8
+ import { FocusKeyManager } from '@angular/cdk/a11y';
9
+ import * as i1 from '@angular/common';
10
+
11
+ /**
12
+ * @license Apache-2.0
13
+ *
14
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
15
+ *
16
+ * You may not use this file except in compliance with the License
17
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * This code is a modification of the `@angular/material` original
20
+ * code licensed under MIT-style License (https://angular.dev/license).
21
+ */
22
+
23
+ /**
24
+ * Section within a chip.
25
+ * @docs-private
26
+ */
27
+ declare class CuteChipAction {
28
+ _elementRef: ElementRef<HTMLElement>;
29
+ protected _parentChip: {
30
+ _handlePrimaryActionInteraction(): void;
31
+ remove(): void;
32
+ disabled: boolean;
33
+ _edit(): void;
34
+ _isEditing?: boolean;
35
+ };
36
+ /** Whether the action is interactive. */
37
+ isInteractive: boolean;
38
+ /** Whether this is the primary action in the chip. */
39
+ _isPrimary: boolean;
40
+ /** Whether this is the leading action in the chip. */
41
+ _isLeading: boolean;
42
+ /** Whether the action is disabled. */
43
+ get disabled(): boolean;
44
+ set disabled(value: boolean);
45
+ private _disabled;
46
+ /** Tab index of the action. */
47
+ tabIndex: number;
48
+ /**
49
+ * Private API to allow focusing this chip when it is disabled.
50
+ */
51
+ _allowFocusWhenDisabled: boolean;
52
+ /**
53
+ * Determine the value of the disabled attribute for this chip action.
54
+ */
55
+ protected _getDisabledAttribute(): string | null;
56
+ /**
57
+ * Determine the value of the tabindex attribute for this chip action.
58
+ */
59
+ protected _getTabindex(): string | null;
60
+ constructor(...args: unknown[]);
61
+ focus(): void;
62
+ protected _handleClick(event: MouseEvent): void;
63
+ protected _handleKeydown(event: KeyboardEvent): void;
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipAction, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipAction, "[cuteChipAction]", never, { "isInteractive": { "alias": "isInteractive"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "_allowFocusWhenDisabled": { "alias": "_allowFocusWhenDisabled"; "required": false; }; }, {}, never, never, true, never>;
66
+ static ngAcceptInputType_disabled: unknown;
67
+ static ngAcceptInputType_tabIndex: unknown;
68
+ }
69
+
70
+ /** Avatar image within a chip. */
71
+ declare class CuteChipAvatar {
72
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipAvatar, never>;
73
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipAvatar, "cute-chip-avatar, [cuteChipAvatar]", never, {}, {}, never, never, true, never>;
74
+ }
75
+ /** Non-interactive trailing icon in a chip. */
76
+ declare class CuteChipTrailingIcon extends CuteChipAction {
77
+ /**
78
+ * MDC considers all trailing actions as a remove icon,
79
+ * but we support non-interactive trailing icons.
80
+ */
81
+ isInteractive: boolean;
82
+ _isPrimary: boolean;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipTrailingIcon, never>;
84
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipTrailingIcon, "cute-chip-trailing-icon, [cuteChipTrailingIcon]", never, {}, {}, never, never, true, never>;
85
+ }
86
+ /**
87
+ * Directive to edit the parent chip when the leading action icon is clicked or
88
+ * when the ENTER key is pressed on it.
89
+ *
90
+ * Recommended for use with the Material Design "edit" icon
91
+ * available at https://material.io/icons/#ic_edit.
92
+ *
93
+ * Example:
94
+ *
95
+ * ```
96
+ * <cute-chip>
97
+ * <button cuteChipEdit aria-label="Edit">
98
+ * <cute-icon>edit</cute-icon>
99
+ * </button>
100
+ * </cute-chip>
101
+ * ```
102
+ */
103
+ declare class CuteChipEdit extends CuteChipAction {
104
+ _isPrimary: boolean;
105
+ _isLeading: boolean;
106
+ _handleClick(event: MouseEvent): void;
107
+ _handleKeydown(event: KeyboardEvent): void;
108
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipEdit, never>;
109
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipEdit, "[cuteChipEdit]", never, {}, {}, never, never, true, never>;
110
+ }
111
+ /**
112
+ * Directive to remove the parent chip when the trailing icon is clicked or
113
+ * when the ENTER key is pressed on it.
114
+ *
115
+ * Recommended for use with the Material Design "cancel" icon
116
+ * available at https://material.io/icons/#ic_cancel.
117
+ *
118
+ * Example:
119
+ *
120
+ * ```
121
+ * <cute-chip>
122
+ * <cute-icon cuteChipRemove>cancel</cute-icon>
123
+ * </cute-chip>
124
+ * ```
125
+ */
126
+ declare class CuteChipRemove extends CuteChipAction {
127
+ _isPrimary: boolean;
128
+ _handleClick(event: MouseEvent): void;
129
+ _handleKeydown(event: KeyboardEvent): void;
130
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipRemove, never>;
131
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipRemove, "[cuteChipRemove]", never, {}, {}, never, never, true, never>;
132
+ }
133
+
134
+ /**
135
+ * @license Apache-2.0
136
+ *
137
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
138
+ *
139
+ * You may not use this file except in compliance with the License
140
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
141
+ *
142
+ * This code is a modification of the `@angular/material` original
143
+ * code licensed under MIT-style License (https://angular.dev/license).
144
+ */
145
+
146
+ /** Represents an event fired on an individual `mat-chip`. */
147
+ interface CuteChipEvent {
148
+ /** The chip the event was fired on. */
149
+ chip: CuteChip;
150
+ }
151
+ /**
152
+ * A Chip base component used inside the `CuteChipSet` component.
153
+ * Extended by `CuteChipOption` and `CuteChipRow` for different interaction patterns.
154
+ */
155
+ declare class CuteChip extends CuteFocusableControl implements OnInit, AfterViewInit, AfterContentInit, DoCheck, OnDestroy {
156
+ _changeDetectorRef: ChangeDetectorRef;
157
+ protected _ngZone: NgZone;
158
+ private readonly _tagName;
159
+ protected _document: Document;
160
+ /** Emits when the chip is focused. */
161
+ readonly _onFocus: Subject<CuteChipEvent>;
162
+ /** Emits when the chip is blurred. */
163
+ readonly _onBlur: Subject<CuteChipEvent>;
164
+ /** Whether this chip is a basic (unstyled) chip. */
165
+ protected _isBasicChip: boolean | undefined;
166
+ protected _isStandardStaticChip: boolean | undefined;
167
+ /** Whether the chip has focus. */
168
+ private _hasFocusInternal;
169
+ /** Whether moving focus into the chip is pending. */
170
+ private _pendingFocus;
171
+ /** Subscription to changes in the chip's actions. */
172
+ private _actionChanges;
173
+ /** Whether animations for the chip are enabled. */
174
+ protected _animationsDisabled: boolean;
175
+ /** All avatars present in the chip. */
176
+ protected _allLeadingIcons: QueryList<CuteChipAvatar>;
177
+ /** All trailing icons present in the chip. */
178
+ protected _allTrailingIcons: QueryList<CuteChipTrailingIcon>;
179
+ /** All edit icons present in the chip. */
180
+ protected _allEditIcons: QueryList<CuteChipEdit>;
181
+ /** All remove icons present in the chip. */
182
+ protected _allRemoveIcons: QueryList<CuteChipRemove>;
183
+ _hasFocus(): boolean;
184
+ /** A unique id for the chip. If none is supplied, it will be auto-generated. */
185
+ protected generateId(): string;
186
+ /** The `id` of a span that contains this chip's aria description. */
187
+ protected _ariaDescriptionId: string;
188
+ /** Whether the chip list is disabled. */
189
+ _chipListDisabled: boolean;
190
+ /** Whether the chip was focused when it was removed. */
191
+ _hadFocusOnRemove: boolean;
192
+ private _textElement;
193
+ /**
194
+ * The value of the chip. Defaults to the content inside
195
+ * the `cute-chip-action-label` element.
196
+ */
197
+ get value(): any;
198
+ set value(value: any);
199
+ protected _value: any;
200
+ /**
201
+ * Determines whether the chip displays the remove styling and emits (removed) events.
202
+ */
203
+ removable: boolean;
204
+ /**
205
+ * Colors the chip for emphasis as if it were selected.
206
+ */
207
+ highlighted: boolean;
208
+ /** Whether the ripple effect is disabled or not. */
209
+ disableRipple: boolean;
210
+ /** Emitted when a chip is to be removed. */
211
+ readonly removed: EventEmitter<CuteChipEvent>;
212
+ /** Emitted when the chip is destroyed. */
213
+ readonly destroyed: EventEmitter<CuteChipEvent>;
214
+ /** The unstyled chip selector for this component. */
215
+ protected basicChipAttrName: string;
216
+ /** The chip's leading icon. */
217
+ leadingIcon: CuteChipAvatar | undefined;
218
+ /** The chip's leading edit icon. */
219
+ editIcon: CuteChipEdit | undefined;
220
+ /** The chip's trailing icon. */
221
+ trailingIcon: CuteChipTrailingIcon | undefined;
222
+ /** The chip's trailing remove icon. */
223
+ removeIcon: CuteChipRemove | undefined;
224
+ /** Action receiving the primary set of user interactions. */
225
+ primaryAction: CuteChipAction | undefined;
226
+ /**
227
+ * Handles the lazy creation of the CuteChip ripple.
228
+ * Used to improve initial load time of large applications.
229
+ */
230
+ getDisabledState(): boolean;
231
+ private _injector;
232
+ constructor(...args: unknown[]);
233
+ ngOnInit(): void;
234
+ ngAfterViewInit(): void;
235
+ ngAfterContentInit(): void;
236
+ ngDoCheck(): void;
237
+ ngOnDestroy(): void;
238
+ /**
239
+ * Allows for programmatic removal of the chip.
240
+ *
241
+ * Informs any listeners of the removal request. Does not remove the chip from the DOM.
242
+ */
243
+ remove(): void;
244
+ /** Whether the ripple should be disabled. */
245
+ /** Returns whether the chip has a trailing icon. */
246
+ _hasTrailingIcon(): boolean;
247
+ /** Handles keyboard events on the chip. */
248
+ _handleKeydown(event: KeyboardEvent): void;
249
+ /** Allows for programmatic focusing of the chip. */
250
+ focus(): void;
251
+ /** Gets the action that contains a specific target node. */
252
+ _getSourceAction(target: Node): CuteChipAction | undefined;
253
+ /** Gets all the actions within the chip. */
254
+ _getActions(): CuteChipAction[];
255
+ /** Handles interactions with the primary action of the chip. */
256
+ protected _handlePrimaryActionInteraction(): void;
257
+ /** Handles interactions with the edit action of the chip. */
258
+ _edit(event: Event): void;
259
+ /** Gets the tabindex of the chip. */
260
+ protected _getTabIndex(): number | null | undefined;
261
+ /** Starts the focus monitoring process on the chip. */
262
+ private _monitorFocus;
263
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChip, never>;
264
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChip, "cute-basic-chip, [cute-basic-chip], cute-chip, [cute-chip]", ["cuteChip"], { "value": { "alias": "value"; "required": false; }; "removable": { "alias": "removable"; "required": false; }; "highlighted": { "alias": "highlighted"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; }, { "removed": "removed"; "destroyed": "destroyed"; }, ["leadingIcon", "editIcon", "trailingIcon", "removeIcon", "_allLeadingIcons", "_allTrailingIcons", "_allEditIcons", "_allRemoveIcons"], ["cute-avatar, cute-chip-avatar, [cuteChipAvatar]", "*", "cute-chip-trailing-icon,[cuteChipRemove],[cuteChipTrailingIcon]"], true, never>;
265
+ static ngAcceptInputType_removable: unknown;
266
+ static ngAcceptInputType_highlighted: unknown;
267
+ static ngAcceptInputType_disableRipple: unknown;
268
+ }
269
+
270
+ /**
271
+ * @license Apache-2.0
272
+ *
273
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
274
+ *
275
+ * You may not use this file except in compliance with the License
276
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
277
+ *
278
+ * This code is a modification of the `@angular/material` original
279
+ * code licensed under MIT-style License (https://angular.dev/license).
280
+ */
281
+ /** Interface for a text control that is used to drive interaction with a cute-chip-list. */
282
+ interface CuteChipTextControl {
283
+ /** Unique identifier for the text control. */
284
+ id: string;
285
+ /** The text control's placeholder text. */
286
+ placeholder: string;
287
+ /** Whether the text control has browser focus. */
288
+ focused: boolean;
289
+ /** Whether the text control is empty. */
290
+ empty: boolean;
291
+ /** Focuses the text control. */
292
+ focus(): void;
293
+ /** Sets the list of ids the input is described by. */
294
+ setDescribedByIds(ids: string[]): void;
295
+ }
296
+
297
+ /**
298
+ * A directive that makes a <span> editable and exposes functions to modify and retrieve the
299
+ * element's contents.
300
+ */
301
+ declare class CuteChipEditInput {
302
+ private readonly _elementRef;
303
+ private readonly _document;
304
+ constructor(...args: unknown[]);
305
+ initialize(initialValue: string): void;
306
+ getNativeElement(): HTMLElement;
307
+ setValue(value: string): void;
308
+ getValue(): string;
309
+ private _moveCursorToEndOfInput;
310
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipEditInput, never>;
311
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipEditInput, "span[cuteChipEditInput]", never, {}, {}, never, never, true, never>;
312
+ }
313
+
314
+ /** Represents an event fired on an individual `cute-chip` when it is edited. */
315
+ interface CuteChipEditedEvent extends CuteChipEvent {
316
+ /** The final edit value. */
317
+ value: string;
318
+ }
319
+ /**
320
+ * An extension of the CuteChip component used with CuteChipGrid and
321
+ * the cuteChipInputFor directive.
322
+ */
323
+ declare class CuteChipRow extends CuteChip implements AfterViewInit {
324
+ protected basicChipAttrName: string;
325
+ /**
326
+ * The editing action has to be triggered in a timeout. While we're waiting on it, a blur
327
+ * event might occur which will interrupt the editing. This flag is used to avoid interruptions
328
+ * while the editing action is being initialized.
329
+ */
330
+ private _editStartPending;
331
+ editable: boolean;
332
+ /** Emitted when the chip is edited. */
333
+ readonly edited: EventEmitter<CuteChipEditedEvent>;
334
+ /** The default chip edit input that is used if none is projected into this chip row. */
335
+ defaultEditInput?: CuteChipEditInput;
336
+ /** The projected chip edit input. */
337
+ contentEditInput?: CuteChipEditInput;
338
+ _isEditing: boolean;
339
+ constructor(...args: unknown[]);
340
+ _hasTrailingIcon(): boolean;
341
+ /** Sends focus to the first gridcell when the user clicks anywhere inside the chip. */
342
+ _handleFocus(): void;
343
+ _handleKeydown(event: KeyboardEvent): void;
344
+ _handleDoubleclick(event: MouseEvent): void;
345
+ private _startEditing;
346
+ private _onEditFinish;
347
+ /**
348
+ * Gets the projected chip edit input, or the default input if none is projected in. One of these
349
+ * two values is guaranteed to be defined.
350
+ */
351
+ private _getEditInput;
352
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipRow, never>;
353
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChipRow, "cute-chip-row, [cute-chip-row], cute-basic-chip-row, [cute-basic-chip-row]", never, { "editable": { "alias": "editable"; "required": false; }; }, { "edited": "edited"; }, ["contentEditInput"], ["cute-avatar, cute-chip-avatar, [cuteChipAvatar]", "[cuteChipEditInput]", "*", "cute-chip-trailing-icon,[cuteChipRemove],[cuteChipTrailingIcon]"], true, never>;
354
+ }
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
+ * This code is a modification of the `@angular/material` original
365
+ * code licensed under MIT-style License (https://angular.dev/license).
366
+ */
367
+
368
+ /**
369
+ * Basic container component for the `CuteChip` component.
370
+ * Extended by `CuteChipListbox` and `CuteChipGrid` for different interaction patterns.
371
+ */
372
+ declare class CuteChipSet implements AfterViewInit, OnDestroy {
373
+ protected _elementRef: ElementRef<HTMLElement>;
374
+ protected _changeDetectorRef: ChangeDetectorRef;
375
+ private _dir;
376
+ /** Index of the last destroyed chip that had focus. */
377
+ private _lastDestroyedFocusedChipIndex;
378
+ /** Used to manage focus within the chip list. */
379
+ protected _keyManager: FocusKeyManager<CuteChipAction> | undefined;
380
+ /** Subject that emits when the component has been destroyed. */
381
+ protected _destroyed: Subject<void>;
382
+ /** Role to use if it hasn't been overwritten by the user. */
383
+ protected _defaultRole: string;
384
+ /** Combined stream of all the child chips' focus events. */
385
+ get chipFocusChanges(): Observable<CuteChipEvent>;
386
+ /** Combined stream of all the child chips' destroy events. */
387
+ get chipDestroyedChanges(): Observable<CuteChipEvent>;
388
+ /** Combined stream of all the child chips' remove events. */
389
+ get chipRemovedChanges(): Observable<CuteChipEvent>;
390
+ /** Whether the chip set is disabled. */
391
+ get disabled(): boolean;
392
+ set disabled(value: boolean);
393
+ protected _disabled: boolean;
394
+ /** Whether the chip list contains chips or not. */
395
+ get empty(): boolean;
396
+ /** The ARIA role applied to the chip set. */
397
+ get role(): string | null;
398
+ set role(value: string | null);
399
+ private _explicitRole;
400
+ /** Tabindex of the chip set. */
401
+ tabIndex: number;
402
+ /** Whether any of the chips inside this chip-set has focus. */
403
+ get focused(): boolean;
404
+ /** The chips that are part of this chip set. */
405
+ _chips: QueryList<CuteChip> | undefined;
406
+ /** Flat list of all the actions contained within the chips. */
407
+ _chipActions: QueryList<CuteChipAction>;
408
+ constructor(...args: unknown[]);
409
+ ngAfterViewInit(): void;
410
+ ngOnDestroy(): void;
411
+ /** Checks whether any of the chips is focused. */
412
+ protected _hasFocusedChip(): boolean;
413
+ /** Syncs the chip-set's state with the individual chips. */
414
+ protected _syncChipsState(): void;
415
+ /** The dummy method for subclasses to override. Base chip set cannot be focused. */
416
+ focus(): void;
417
+ /** Handles keyboard events on the chip set. */
418
+ protected _handleKeydown(event: KeyboardEvent): void;
419
+ /**
420
+ * Utility to ensure all indexes are valid.
421
+ *
422
+ * @param index The index to be checked.
423
+ * @returns True if the index is valid for our list of chips.
424
+ */
425
+ protected _isValidIndex(index: number): boolean;
426
+ /**
427
+ * Removes the `tabindex` from the chip set and resets it back afterward, allowing the
428
+ * user to tab out of it. This prevents the set from capturing focus and redirecting
429
+ * it back to the first chip, creating a focus trap if its user tries to tab away.
430
+ */
431
+ protected _allowFocusEscape(): void;
432
+ /**
433
+ * Gets a stream of events from all the chips within the set.
434
+ * The stream will automatically incorporate any newly added chips.
435
+ */
436
+ protected _getChipStream<T, C extends CuteChip = CuteChip>(mappingFunction: (chip: C) => Observable<T>): Observable<T>;
437
+ /** Checks whether an event comes from inside a chip element. */
438
+ protected _originatesFromChip(event: Event): boolean;
439
+ /** Sets up the chip set's focus management logic. */
440
+ private _setUpFocusManagement;
441
+ /**
442
+ * Determines if key manager should avoid putting a given chip action in the tab index. Skip
443
+ * non-interactive and disabled actions since the user can't do anything with them.
444
+ */
445
+ protected _skipPredicate(action: CuteChipAction): boolean;
446
+ /** Listens to changes in the chip set and syncs up the state of the individual chips. */
447
+ private _trackChipSetChanges;
448
+ /** Starts tracking the destroyed chips to capture the focused one. */
449
+ private _trackDestroyedFocusedChip;
450
+ /**
451
+ * Finds the next appropriate chip to move focus to
452
+ * if the currently focused chip is destroyed.
453
+ */
454
+ private _redirectDestroyedChipFocus;
455
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipSet, never>;
456
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChipSet, "cute-chip-set", never, { "disabled": { "alias": "disabled"; "required": false; }; "role": { "alias": "role"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, ["_chips"], ["*"], true, never>;
457
+ static ngAcceptInputType_disabled: unknown;
458
+ static ngAcceptInputType_tabIndex: unknown;
459
+ }
460
+
461
+ /** Change event object that is emitted when the chip grid value has changed. */
462
+ declare class CuteChipGridChange {
463
+ /** Chip grid that emitted the event. */
464
+ source: CuteChipGrid;
465
+ /** Value of the chip grid when the event was emitted. */
466
+ value: any;
467
+ constructor(
468
+ /** Chip grid that emitted the event. */
469
+ source: CuteChipGrid,
470
+ /** Value of the chip grid when the event was emitted. */
471
+ value: any);
472
+ }
473
+ /**
474
+ * An extension of the CuteChipSet component used with CuteChipRow chips and
475
+ * the cuteChipInputFor directive.
476
+ */
477
+ declare class CuteChipGrid extends CuteChipSet implements AfterContentInit, AfterViewInit, ControlValueAccessor, DoCheck, CuteFormFieldControl<any>, OnDestroy {
478
+ ngControl: NgControl;
479
+ /**
480
+ * Implemented as part of CuteFormFieldControl.
481
+ * @docs-private
482
+ */
483
+ readonly controlType: string;
484
+ /** The chip input to add more chips */
485
+ protected _chipInput: CuteChipTextControl | undefined;
486
+ protected _defaultRole: string;
487
+ private _errorStateTracker;
488
+ /**
489
+ * List of element ids to propagate to the chipInput's `aria-describedby` attribute.
490
+ */
491
+ private _ariaDescribedbyIds;
492
+ /**
493
+ * Function when touched. Set as part of ControlValueAccessor implementation.
494
+ * @docs-private
495
+ */
496
+ _onTouched: () => void;
497
+ /**
498
+ * Function when changed. Set as part of ControlValueAccessor implementation.
499
+ * @docs-private
500
+ */
501
+ _onChange: (value: any) => void;
502
+ /**
503
+ * Implemented as part of CuteFormFieldControl.
504
+ * @docs-private
505
+ */
506
+ get disabled(): boolean;
507
+ set disabled(value: boolean);
508
+ /**
509
+ * Implemented as part of CuteFormFieldControl.
510
+ * @docs-private
511
+ */
512
+ get id(): string;
513
+ /**
514
+ * Implemented as part of CuteFormFieldControl.
515
+ * @docs-private
516
+ */
517
+ get empty(): boolean;
518
+ /**
519
+ * Implemented as part of CuteFormFieldControl.
520
+ * @docs-private
521
+ */
522
+ get placeholder(): string;
523
+ set placeholder(value: string);
524
+ protected _placeholder: string | undefined;
525
+ /** Whether any chips or the `cuteChipInput` inside this <chip-grid> has focus. */
526
+ get focused(): boolean;
527
+ /**
528
+ * Implemented as part of CuteFormFieldControl.
529
+ * @docs-private
530
+ */
531
+ get required(): boolean;
532
+ set required(value: boolean);
533
+ protected _required: boolean | undefined;
534
+ /**
535
+ * Implemented as part of CuteFormFieldControl.
536
+ * @docs-private
537
+ */
538
+ get shouldLabelFloat(): boolean;
539
+ /**
540
+ * Implemented as part of CuteFormFieldControl.
541
+ * @docs-private
542
+ */
543
+ get value(): any;
544
+ set value(value: any);
545
+ protected _value: any[];
546
+ /** An object used to control when error messages are shown. */
547
+ get errorStateMatcher(): ErrorStateMatcher;
548
+ set errorStateMatcher(value: ErrorStateMatcher);
549
+ /** Combined stream of all of the child chips' blur events. */
550
+ get chipBlurChanges(): Observable<CuteChipEvent>;
551
+ /** Emits when the user has changed the chip grid value. */
552
+ readonly change: EventEmitter<CuteChipGridChange>;
553
+ /**
554
+ * Emits whenever the raw value of the <chip-grid> changes. This is here primarily
555
+ * to facilitate the two-way binding for the `value` input.
556
+ */
557
+ readonly valueChange: EventEmitter<any>;
558
+ _chips: QueryList<CuteChipRow>;
559
+ /**
560
+ * Emits whenever the component state changes and should cause the parent
561
+ * form-field to update. Implemented as part of `CuteFormFieldControl`.
562
+ */
563
+ readonly stateChanges: Subject<void>;
564
+ /** Whether the chip grid is in an error state. */
565
+ get errorState(): boolean;
566
+ set errorState(value: boolean);
567
+ get controlElementRef(): ElementRef;
568
+ constructor(...args: unknown[]);
569
+ ngAfterContentInit(): void;
570
+ ngAfterViewInit(): void;
571
+ ngDoCheck(): void;
572
+ ngOnDestroy(): void;
573
+ /** Associates an HTML input element with this chip grid. */
574
+ registerInput(inputElement: CuteChipTextControl): void;
575
+ /**
576
+ * Implemented as part of CuteFormFieldControl.
577
+ */
578
+ onContainerClick(event: MouseEvent): void;
579
+ _toggleFocusedStyle(force?: boolean): void;
580
+ /**
581
+ * Focuses the first chip in this chip grid, or the associated input when there
582
+ * are no eligible chips.
583
+ */
584
+ focus(): void;
585
+ /**
586
+ * Implemented as part of CuteFormFieldControl.
587
+ */
588
+ setDescribedByIds(ids: string[]): void;
589
+ /**
590
+ * Implemented as part of ControlValueAccessor.
591
+ */
592
+ writeValue(value: any): void;
593
+ /**
594
+ * Implemented as part of ControlValueAccessor.
595
+ */
596
+ registerOnChange(fn: (value: any) => void): void;
597
+ /**
598
+ * Implemented as part of ControlValueAccessor.
599
+ */
600
+ registerOnTouched(fn: () => void): void;
601
+ /**
602
+ * Implemented as part of ControlValueAccessor.
603
+ */
604
+ setDisabledState(isDisabled: boolean): void;
605
+ /** Refreshes the error state of the chip grid. */
606
+ updateErrorState(): void;
607
+ /** When blurred, mark the field as touched when focus moved outside the chip grid. */
608
+ _blur(): void;
609
+ /**
610
+ * Removes the `tabindex` from the chip grid and resets it back afterward, allowing the
611
+ * user to tab out of it. This prevents the grid from capturing focus and redirecting
612
+ * it back to the first chip, creating a focus trap if its user tries to tab away.
613
+ */
614
+ protected _allowFocusEscape(): void;
615
+ /** Handles custom keyboard events. */
616
+ _handleKeydown(event: KeyboardEvent): void;
617
+ _focusLastChip(): void;
618
+ /** Emits change event to set the model value. */
619
+ private _propagateChanges;
620
+ /** Mark the field as touched */
621
+ private _markAsTouched;
622
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipGrid, never>;
623
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChipGrid, "cute-chip-grid", never, { "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; }, { "change": "change"; "valueChange": "valueChange"; }, ["_chips"], ["*"], true, never>;
624
+ static ngAcceptInputType_disabled: unknown;
625
+ static ngAcceptInputType_required: unknown;
626
+ }
627
+
628
+ /** Represents an input event on a `matChipInput`. */
629
+ interface CuteChipInputEvent {
630
+ /**
631
+ * The native `<input>` element that the event is being fired for.
632
+ * @deprecated Use `CuteChipInputEvent#chipInput.inputElement` instead.
633
+ * @breaking-change 13.0.0 This property will be removed.
634
+ */
635
+ input: HTMLInputElement;
636
+ /** The value of the input. */
637
+ value: string;
638
+ /** Reference to the chip input that emitted the event. */
639
+ chipInput: CuteChipInput;
640
+ }
641
+ /**
642
+ * Directive that adds chip-specific behaviors to an input element inside `<cute-form-field>`.
643
+ * May be placed inside or outside a `<cute-chip-grid>`.
644
+ */
645
+ declare class CuteChipInput implements CuteChipTextControl, OnChanges, OnDestroy {
646
+ protected _elementRef: ElementRef<HTMLInputElement>;
647
+ /** Used to prevent focus moving to chips while user is holding backspace */
648
+ private _focusLastChipOnBackspace;
649
+ /** Whether the control is focused. */
650
+ focused: boolean;
651
+ /** Register input for a chip list */
652
+ get chipGrid(): CuteChipGrid | undefined;
653
+ set chipGrid(value: CuteChipGrid);
654
+ private _chipGrid;
655
+ /**
656
+ * Whether the `chipEnd` event will be emitted when the input is blurred.
657
+ */
658
+ addOnBlur: boolean;
659
+ /**
660
+ * The list of key codes that will trigger a `chipEnd` event.
661
+ *
662
+ * Defaults to `[ENTER]`.
663
+ */
664
+ separatorKeyCodes: readonly number[] | ReadonlySet<number>;
665
+ /** Emitted when a chip is to be added. */
666
+ readonly chipEnd: EventEmitter<CuteChipInputEvent>;
667
+ /** The input's placeholder text. */
668
+ placeholder: string;
669
+ /** Unique id for the input. */
670
+ id: string;
671
+ /** Whether the input is disabled. */
672
+ get disabled(): boolean;
673
+ set disabled(value: boolean);
674
+ private _disabled;
675
+ /** Whether the input is readonly. */
676
+ readonly: boolean;
677
+ /** Whether the input should remain interactive when it is disabled. */
678
+ disabledInteractive: boolean;
679
+ /** Whether the input is empty. */
680
+ get empty(): boolean;
681
+ /** The native input element to which this directive is attached. */
682
+ readonly inputElement: HTMLInputElement;
683
+ constructor(...args: unknown[]);
684
+ ngOnChanges(): void;
685
+ ngOnDestroy(): void;
686
+ /** Utility method to make host definition/tests more clear. */
687
+ _keydown(event: KeyboardEvent): void;
688
+ /** Checks to see if the blur should emit the (chipEnd) event. */
689
+ _blur(): void;
690
+ _focus(): void;
691
+ /** Checks to see if the (chipEnd) event needs to be emitted. */
692
+ _emitChipEnd(event?: KeyboardEvent): void;
693
+ _onInput(): void;
694
+ /** Focuses the input. */
695
+ focus(): void;
696
+ /** Clears the input */
697
+ clear(): void;
698
+ setDescribedByIds(ids: string[]): void;
699
+ /** Checks whether a keycode is one of the configured separators. */
700
+ private _isSeparatorKey;
701
+ /** Gets the value to set on the `readonly` attribute. */
702
+ protected _getReadonlyAttribute(): string | null;
703
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipInput, never>;
704
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteChipInput, "input[cuteChipInputFor]", ["cuteChipInput", "cuteChipInputFor"], { "chipGrid": { "alias": "cuteChipInputFor"; "required": false; }; "addOnBlur": { "alias": "cuteChipInputAddOnBlur"; "required": false; }; "separatorKeyCodes": { "alias": "cuteChipInputSeparatorKeyCodes"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabledInteractive": { "alias": "cuteChipInputDisabledInteractive"; "required": false; }; }, { "chipEnd": "cuteChipInputTokenEnd"; }, never, never, true, never>;
705
+ static ngAcceptInputType_addOnBlur: unknown;
706
+ static ngAcceptInputType_disabled: unknown;
707
+ static ngAcceptInputType_readonly: unknown;
708
+ static ngAcceptInputType_disabledInteractive: unknown;
709
+ }
710
+
711
+ /**
712
+ * @license Apache-2.0
713
+ *
714
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
715
+ *
716
+ * You may not use this file except in compliance with the License
717
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
718
+ *
719
+ * This code is a modification of the `@angular/material` original
720
+ * code licensed under MIT-style License (https://angular.dev/license).
721
+ */
722
+
723
+ /** Event object emitted by CuteChipOption when selected or deselected. */
724
+ declare class CuteChipSelectionChange {
725
+ /** Reference to the chip that emitted the event. */
726
+ source: CuteChipOption;
727
+ /** Whether the chip that emitted the event is selected. */
728
+ selected: boolean;
729
+ /** Whether the selection change was a result of a user interaction. */
730
+ isUserInput: boolean;
731
+ constructor(
732
+ /** Reference to the chip that emitted the event. */
733
+ source: CuteChipOption,
734
+ /** Whether the chip that emitted the event is selected. */
735
+ selected: boolean,
736
+ /** Whether the selection change was a result of a user interaction. */
737
+ isUserInput?: boolean);
738
+ }
739
+ /**
740
+ * An extension of the CuteChip component that supports chip selection. Used with CuteChipListbox.
741
+ *
742
+ * Unlike other chips, the user can focus on disabled chip options inside a CuteChipListbox. The
743
+ * user cannot click disabled chips.
744
+ */
745
+ declare class CuteChipOption extends CuteChip implements OnInit {
746
+ /** Default chip options. */
747
+ private _defaultOptions;
748
+ /** Whether the chip list is selectable. */
749
+ chipListSelectable: boolean;
750
+ /** Whether the chip list is in multi-selection mode. */
751
+ _chipListMultiple: boolean;
752
+ /** Whether the chip list hides single-selection indicator. */
753
+ _chipListHideSingleSelectionIndicator: boolean;
754
+ /**
755
+ * Whether the chip is selectable.
756
+ *
757
+ * When a chip is not selectable, changes to its selected state are always
758
+ * ignored. By default, an option chip is selectable, and it becomes
759
+ * non-selectable if its parent chip list is not selectable.
760
+ */
761
+ get selectable(): boolean;
762
+ set selectable(value: boolean);
763
+ protected _selectable: boolean;
764
+ /** Whether the chip is selected. */
765
+ get selected(): boolean;
766
+ set selected(value: boolean);
767
+ private _selected;
768
+ /**
769
+ * The ARIA selected applied to the chip. Conforms to WAI ARIA best practices for listbox
770
+ * interaction patterns.
771
+ *
772
+ * From [WAI ARIA Listbox authoring practices guide](
773
+ * https://www.w3.org/WAI/ARIA/apg/patterns/listbox/):
774
+ * "If any options are selected, each selected option has either aria-selected or aria-checked
775
+ * set to true. All options that are selectable but not selected have either aria-selected or
776
+ * aria-checked set to false."
777
+ *
778
+ * Set `aria-selected="false"` on not-selected listbox options that are selectable to fix
779
+ * VoiceOver reading every option as "selected" (#25736).
780
+ */
781
+ get ariaSelected(): string | null;
782
+ /** The unstyled chip selector for this component. */
783
+ protected basicChipAttrName: string;
784
+ /** Emitted when the chip is selected or deselected. */
785
+ readonly selectionChange: EventEmitter<CuteChipSelectionChange>;
786
+ ngOnInit(): void;
787
+ /** Selects the chip. */
788
+ select(): void;
789
+ /** Deselects the chip. */
790
+ deselect(): void;
791
+ /** Selects this chip and emits userInputSelection event */
792
+ selectViaInteraction(): void;
793
+ /** Toggles the current selected state of this chip. */
794
+ toggleSelected(isUserInput?: boolean): boolean;
795
+ _handlePrimaryActionInteraction(): void;
796
+ protected _hasLeadingGraphic(): boolean;
797
+ _setSelectedState(isSelected: boolean, isUserInput: boolean, emitEvent: boolean): void;
798
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipOption, never>;
799
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChipOption, "cute-basic-chip-option, [cute-basic-chip-option], cute-chip-option, [cute-chip-option]", never, { "selectable": { "alias": "selectable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, ["cute-avatar, cute-chip-avatar, [cuteChipAvatar]", "*", "cute-chip-trailing-icon,[cuteChipRemove],[cuteChipTrailingIcon]"], true, never>;
800
+ static ngAcceptInputType_selectable: unknown;
801
+ static ngAcceptInputType_selected: unknown;
802
+ }
803
+
804
+ /**
805
+ * @license Apache-2.0
806
+ *
807
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
808
+ *
809
+ * You may not use this file except in compliance with the License
810
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
811
+ *
812
+ * This code is a modification of the `@angular/material` original
813
+ * code licensed under MIT-style License (https://angular.dev/license).
814
+ */
815
+
816
+ /** Change event object that is emitted when the chip listbox value has changed. */
817
+ declare class CuteChipListboxChange {
818
+ /** Chip listbox that emitted the event. */
819
+ source: CuteChipListbox;
820
+ /** Value of the chip listbox when the event was emitted. */
821
+ value: any;
822
+ constructor(
823
+ /** Chip listbox that emitted the event. */
824
+ source: CuteChipListbox,
825
+ /** Value of the chip listbox when the event was emitted. */
826
+ value: any);
827
+ }
828
+ /**
829
+ * Provider Expression that allows cute-chip-listbox to register as a ControlValueAccessor.
830
+ * This allows it to support [(ngModel)].
831
+ * @docs-private
832
+ */
833
+ declare const CUTE_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR: any;
834
+ /**
835
+ * An extension of the CuteChipSet component that supports chip selection.
836
+ * Used with CuteChipOption chips.
837
+ */
838
+ declare class CuteChipListbox extends CuteChipSet implements AfterContentInit, OnDestroy, ControlValueAccessor {
839
+ /**
840
+ * Function when touched. Set as part of ControlValueAccessor implementation.
841
+ * @docs-private
842
+ */
843
+ _onTouched: () => void;
844
+ /**
845
+ * Function when changed. Set as part of ControlValueAccessor implementation.
846
+ * @docs-private
847
+ */
848
+ _onChange: (value: any) => void;
849
+ protected _defaultRole: string;
850
+ /** Value that was assigned before the listbox was initialized. */
851
+ private _pendingInitialValue;
852
+ /** Default chip options. */
853
+ private _defaultOptions;
854
+ /** Whether the user should be allowed to select multiple chips. */
855
+ get multiple(): boolean;
856
+ set multiple(value: boolean);
857
+ private _multiple;
858
+ /** The array of selected chips inside the chip listbox. */
859
+ get selected(): CuteChipOption[] | CuteChipOption;
860
+ /** Orientation of the chip list. */
861
+ ariaOrientation: 'horizontal' | 'vertical';
862
+ /**
863
+ * Whether this chip listbox is selectable.
864
+ *
865
+ * When a chip listbox is not selectable, the selected states for all
866
+ * the chips inside the chip listbox are always ignored.
867
+ */
868
+ get selectable(): boolean;
869
+ set selectable(value: boolean);
870
+ protected _selectable: boolean;
871
+ /**
872
+ * A function to compare the option values with the selected values. The first argument
873
+ * is a value from an option. The second is a value from the selection. A boolean
874
+ * should be returned.
875
+ */
876
+ compareWith: (o1: any, o2: any) => boolean;
877
+ /** Whether this chip listbox is required. */
878
+ required: boolean;
879
+ /** Whether the checkmark indicator for single-selection options is hidden. */
880
+ get hideSingleSelectionIndicator(): boolean;
881
+ set hideSingleSelectionIndicator(value: boolean);
882
+ private _hideSingleSelectionIndicator;
883
+ /** The combined stream of all of the child chips' selection change events. */
884
+ get chipSelectionChanges(): Observable<CuteChipSelectionChange>;
885
+ /** Combined stream of all of the child chips' blur events. */
886
+ get chipBlurChanges(): Observable<CuteChipEvent>;
887
+ /** The value of the listbox, which is the combined value of the selected chips. */
888
+ get value(): any;
889
+ set value(value: any);
890
+ protected _value: any;
891
+ /** Event emitted when the user has changed the selected chip listbox value. */
892
+ readonly change: EventEmitter<CuteChipListboxChange>;
893
+ _chips: QueryList<CuteChipOption>;
894
+ ngAfterContentInit(): void;
895
+ /**
896
+ * Focuses the first selected chip in this chip listbox, or the first non-disabled chip when there
897
+ * are no selected chips.
898
+ */
899
+ focus(): void;
900
+ /**
901
+ * Implemented as part of ControlValueAccessor.
902
+ * @docs-private
903
+ */
904
+ writeValue(value: any): void;
905
+ /**
906
+ * Implemented as part of ControlValueAccessor.
907
+ * @docs-private
908
+ */
909
+ registerOnChange(fn: (value: any) => void): void;
910
+ /**
911
+ * Implemented as part of ControlValueAccessor.
912
+ * @docs-private
913
+ */
914
+ registerOnTouched(fn: () => void): void;
915
+ /**
916
+ * Implemented as part of ControlValueAccessor.
917
+ * @docs-private
918
+ */
919
+ setDisabledState(isDisabled: boolean): void;
920
+ /** Selects all chips with value. */
921
+ _setSelectionByValue(value: any, isUserInput?: boolean): void;
922
+ /** When blurred, marks the field as touched when focus moved outside the chip listbox. */
923
+ _blur(): void;
924
+ _keydown(event: KeyboardEvent): void;
925
+ /** Marks the field as touched */
926
+ private _markAsTouched;
927
+ /** Emits change event to set the model value. */
928
+ private _propagateChanges;
929
+ /**
930
+ * Deselects every chip in the listbox.
931
+ * @param skip Chip that should not be deselected.
932
+ */
933
+ private _clearSelection;
934
+ /**
935
+ * Finds and selects the chip based on its value.
936
+ * @returns Chip that has the corresponding value.
937
+ */
938
+ private _selectValue;
939
+ /** Syncs the chip-listbox selection state with the individual chips. */
940
+ private _syncListboxProperties;
941
+ /** Returns the first selected chip in this listbox, or undefined if no chips are selected. */
942
+ private _getFirstSelectedChip;
943
+ /**
944
+ * Determines if key manager should avoid putting a given chip action in the tab index. Skip
945
+ * non-interactive actions since the user can't do anything with them.
946
+ */
947
+ protected _skipPredicate(action: CuteChipAction): boolean;
948
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipListbox, never>;
949
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteChipListbox, "cute-chip-listbox", never, { "multiple": { "alias": "multiple"; "required": false; }; "ariaOrientation": { "alias": "aria-orientation"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hideSingleSelectionIndicator": { "alias": "hideSingleSelectionIndicator"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; }, ["_chips"], ["*"], true, never>;
950
+ static ngAcceptInputType_multiple: unknown;
951
+ static ngAcceptInputType_selectable: unknown;
952
+ static ngAcceptInputType_required: unknown;
953
+ static ngAcceptInputType_hideSingleSelectionIndicator: unknown;
954
+ }
955
+
956
+ declare class CuteChipsModule {
957
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteChipsModule, never>;
958
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteChipsModule, never, [typeof i1.CommonModule, typeof CuteChip, typeof CuteChipAvatar, typeof CuteChipEditInput, typeof CuteChipGrid, typeof CuteChipInput, typeof CuteChipListbox, typeof CuteChipOption, typeof CuteChipRemove, typeof CuteChipRow, typeof CuteChipSet, typeof CuteChipTrailingIcon], [typeof CuteChip, typeof CuteChipAvatar, typeof CuteChipEditInput, typeof CuteChipGrid, typeof CuteChipInput, typeof CuteChipListbox, typeof CuteChipOption, typeof CuteChipRemove, typeof CuteChipRow, typeof CuteChipSet, typeof CuteChipTrailingIcon]>;
959
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuteChipsModule>;
960
+ }
961
+
962
+ export { CUTE_CHIP_LISTBOX_CONTROL_VALUE_ACCESSOR, CuteChip, CuteChipAvatar, CuteChipEdit, CuteChipEditInput, CuteChipGrid, CuteChipGridChange, CuteChipInput, CuteChipListbox, CuteChipListboxChange, CuteChipOption, CuteChipRemove, CuteChipRow, CuteChipSelectionChange, CuteChipSet, CuteChipTrailingIcon, CuteChipsModule };
963
+ export type { CuteChipEditedEvent, CuteChipEvent, CuteChipInputEvent, CuteChipTextControl };