@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,361 @@
1
+ import * as i0 from '@angular/core';
2
+ import { AfterContentInit, QueryList, OnInit, AfterContentChecked } from '@angular/core';
3
+ import * as i2 from '@cute-widgets/base/core';
4
+ import { CuteLine } from '@cute-widgets/base/core';
5
+ import { NumberInput } from '@angular/cdk/coercion';
6
+ import * as i1 from '@angular/common';
7
+
8
+ /**
9
+ * @license Apache-2.0
10
+ *
11
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
12
+ *
13
+ * You may not use this file except in compliance with the License
14
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * This code is a modification of the `@angular/material` original
17
+ * code licensed under MIT-style License (https://angular.dev/license).
18
+ */
19
+
20
+ /**
21
+ * Base interface for a `CuteGridList`.
22
+ */
23
+ interface CuteGridListBase {
24
+ cols: number;
25
+ gutterSize: string;
26
+ rowHeight: number | string;
27
+ }
28
+
29
+ /**
30
+ * @license Apache-2.0
31
+ *
32
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
33
+ *
34
+ * You may not use this file except in compliance with the License
35
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
36
+ *
37
+ * This code is a modification of the `@angular/material` original
38
+ * code licensed under MIT-style License (https://angular.dev/license).
39
+ */
40
+
41
+ declare class CuteGridTile {
42
+ private _element;
43
+ _gridList?: CuteGridListBase | null | undefined;
44
+ _rowspan: number;
45
+ _colspan: number;
46
+ constructor(...args: unknown[]);
47
+ /** Number of rows that the grid tile takes up. */
48
+ get rowspan(): number;
49
+ set rowspan(value: NumberInput);
50
+ /** Number of columns that the grid tile takes up. */
51
+ get colspan(): number;
52
+ set colspan(value: NumberInput);
53
+ /**
54
+ * Sets the style of the grid-tile element. Needs to be set manually to avoid
55
+ * "Changed after checked" errors that would occur with HostBinding.
56
+ */
57
+ _setStyle(property: string, value: any): void;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridTile, never>;
59
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteGridTile, "cute-grid-tile", ["cuteGridTile"], { "rowspan": { "alias": "rowspan"; "required": false; }; "colspan": { "alias": "colspan"; "required": false; }; }, {}, never, ["*"], true, never>;
60
+ }
61
+ declare class CuteGridTileText implements AfterContentInit {
62
+ private _element;
63
+ _lines: QueryList<CuteLine> | undefined;
64
+ constructor(...args: unknown[]);
65
+ ngAfterContentInit(): void;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridTileText, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteGridTileText, "cute-grid-tile-header, cute-grid-tile-footer", never, {}, {}, ["_lines"], ["[cute-grid-avatar], [cuteGridAvatar]", "[cute-line], [cuteLine]", "*"], true, never>;
68
+ }
69
+ /**
70
+ * Directive whose purpose is to add the `cute-` CSS styling to this selector.
71
+ */
72
+ declare class CuteGridAvatarCssCuteStyler {
73
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridAvatarCssCuteStyler, never>;
74
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteGridAvatarCssCuteStyler, "[cute-grid-avatar], [cuteGridAvatar]", never, {}, {}, never, never, true, never>;
75
+ }
76
+ /**
77
+ * Directive whose purpose is to add the `cute-` CSS styling to this selector.
78
+ */
79
+ declare class CuteGridTileHeaderCssCuteStyler {
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridTileHeaderCssCuteStyler, never>;
81
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteGridTileHeaderCssCuteStyler, "cute-grid-tile-header", never, {}, {}, never, never, true, never>;
82
+ }
83
+ /**
84
+ * Directive whose purpose is to add the `cute-` CSS styling to this selector.
85
+ */
86
+ declare class CuteGridTileFooterCssCuteStyler {
87
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridTileFooterCssCuteStyler, never>;
88
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteGridTileFooterCssCuteStyler, "cute-grid-tile-footer", never, {}, {}, never, never, true, never>;
89
+ }
90
+
91
+ /**
92
+ * Interface describing a tile.
93
+ */
94
+ interface Tile {
95
+ /** Number of rows that the tile takes up. */
96
+ rowspan: number;
97
+ /** Number of columns that the tile takes up. */
98
+ colspan: number;
99
+ }
100
+ /**
101
+ * Class for determining, from a list of tiles, the (row, col) position of each of those tiles
102
+ * in the grid. This is necessary (rather than just rendering the tiles in normal document flow)
103
+ * because the tiles can have a rowspan.
104
+ *
105
+ * The positioning algorithm greedily places each tile as soon as it encounters a gap in the grid
106
+ * large enough to accommodate it so that the tiles still render in the same order in which they
107
+ * are given.
108
+ *
109
+ * The basis of the algorithm is the use of an array to track the already placed tiles. Each
110
+ * element of the array corresponds to a column, and the value indicates how many cells in that
111
+ * column are already occupied; zero indicates an empty cell. Moving "down" to the next row
112
+ * decrements each value in the tracking array (indicating that the column is one cell closer to
113
+ * being free).
114
+ */
115
+ declare class TileCoordinator {
116
+ /** Tracking array (see class description). */
117
+ tracker: number[];
118
+ /** Index at which the search for the next gap will start. */
119
+ columnIndex: number;
120
+ /** The current row index. */
121
+ rowIndex: number;
122
+ /** Gets the total number of rows occupied by tiles */
123
+ get rowCount(): number;
124
+ /**
125
+ * Gets the total span of rows occupied by tiles.
126
+ * Ex: A list with 1 row that contains a tile with rowspan 2 will have a total rowspan of 2.
127
+ */
128
+ get rowspan(): number;
129
+ /** The computed (row, col) position of each tile (the output). */
130
+ positions: TilePosition[];
131
+ /**
132
+ * Updates the tile positions.
133
+ * @param numColumns Amount of columns in the grid.
134
+ * @param tiles Tiles to be positioned.
135
+ */
136
+ update(numColumns: number, tiles: Tile[]): void;
137
+ /** Calculates the row and col position of a tile. */
138
+ private _trackTile;
139
+ /** Finds the next available space large enough to fit the tile. */
140
+ private _findMatchingGap;
141
+ /** Move "down" to the next row. */
142
+ private _nextRow;
143
+ /**
144
+ * Finds the end index (exclusive) of a gap given the index from which to start looking.
145
+ * The gap ends when a non-zero value is found.
146
+ */
147
+ private _findGapEndIndex;
148
+ /** Update the tile tracker to account for the given tile in the given space. */
149
+ private _markTilePosition;
150
+ }
151
+ /**
152
+ * Simple data structure for tile position (row, col).
153
+ */
154
+ declare class TilePosition {
155
+ row: number;
156
+ col: number;
157
+ constructor(row: number, col: number);
158
+ }
159
+
160
+ /**
161
+ * @license Apache-2.0
162
+ *
163
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
164
+ *
165
+ * You may not use this file except in compliance with the License
166
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
167
+ *
168
+ * This code is a modification of the `@angular/material` original
169
+ * code licensed under MIT-style License (https://angular.dev/license).
170
+ */
171
+
172
+ /** Object that can be styled by the `TileStyler`. */
173
+ interface TileStyleTarget {
174
+ _setListStyle(style: [string, string | null] | null): void;
175
+ _tiles: QueryList<CuteGridTile>;
176
+ }
177
+ /**
178
+ * Sets the style properties for an individual tile, given the position calculated by the
179
+ * Tile Coordinator.
180
+ */
181
+ declare abstract class TileStyler {
182
+ _gutterSize: string | undefined;
183
+ _rows: number;
184
+ _rowspan: number;
185
+ _cols: number;
186
+ _direction: string | undefined;
187
+ /**
188
+ * Adds grid-list layout info once it is available. Cannot be processed in the constructor
189
+ * because these properties haven't been calculated by that point.
190
+ *
191
+ * @param gutterSize Size of the grid's gutter.
192
+ * @param tracker Instance of the TileCoordinator.
193
+ * @param cols Amount of columns in the grid.
194
+ * @param direction Layout direction of the grid.
195
+ */
196
+ init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string): void;
197
+ /**
198
+ * Computes the amount of space a single 1x1 tile would take up (width or height).
199
+ * Used as a basis for other calculations.
200
+ * @param sizePercent Percent of the total grid-list space that one 1x1 tile would take up.
201
+ * @param gutterFraction Fraction of the gutter size taken up by one 1x1 tile.
202
+ * @return The size of a 1x1 tile as an expression that can be evaluated via CSS calc().
203
+ */
204
+ getBaseTileSize(sizePercent: number, gutterFraction: number): string;
205
+ /**
206
+ * Gets the horizontal or vertical position of a tile, e.g., the 'top' or 'left' property value.
207
+ * @param offset Number of tiles that have already been rendered in the row/column.
208
+ * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
209
+ * @return Position of the tile as a CSS calc() expression.
210
+ */
211
+ getTilePosition(baseSize: string, offset: number): string;
212
+ /**
213
+ * Gets the actual size of a tile, e.g., width or height, taking rowspan or colspan into account.
214
+ * @param baseSize Base size of a 1x1 tile (as computed in getBaseTileSize).
215
+ * @param span The tile's rowspan or colspan.
216
+ * @return Size of the tile as a CSS calc() expression.
217
+ */
218
+ getTileSize(baseSize: string, span: number): string;
219
+ /**
220
+ * Sets the style properties to be applied to a tile for the given row and column index.
221
+ * @param tile Tile to which to apply the styling.
222
+ * @param rowIndex Index of the tile's row.
223
+ * @param colIndex Index of the tile's column.
224
+ */
225
+ setStyle(tile: CuteGridTile, rowIndex: number, colIndex: number): void;
226
+ /** Sets the horizontal placement of the tile in the list. */
227
+ setColStyles(tile: CuteGridTile, colIndex: number, percentWidth: number, gutterWidth: number): void;
228
+ /**
229
+ * Calculates the total size taken up by gutters across one axis of a list.
230
+ */
231
+ getGutterSpan(): string;
232
+ /**
233
+ * Calculates the total size taken up by tiles across one axis of a list.
234
+ * @param tileHeight Height of the tile.
235
+ */
236
+ getTileSpan(tileHeight: string): string;
237
+ /**
238
+ * Sets the vertical placement of the tile in the list.
239
+ * This method will be implemented by each type of TileStyler.
240
+ * @docs-private
241
+ */
242
+ abstract setRowStyles(tile: CuteGridTile, rowIndex: number, percentWidth: number, gutterWidth: number): void;
243
+ /**
244
+ * Calculates the computed height and returns the correct style property to set.
245
+ * This method can be implemented by each type of TileStyler.
246
+ * @docs-private
247
+ */
248
+ getComputedHeight(): [string, string] | null;
249
+ /**
250
+ * Called when the tile styler is swapped out with a different one. To be used for cleanup.
251
+ * @param list Grid list that the styler was attached to.
252
+ * @docs-private
253
+ */
254
+ abstract reset(list: TileStyleTarget): void;
255
+ }
256
+ /**
257
+ * This type of styler is instantiated when the user passes in a fixed row height.
258
+ * Example `<cute-grid-list cols="3" rowHeight="100px">`
259
+ */
260
+ declare class FixedTileStyler extends TileStyler {
261
+ fixedRowHeight: string;
262
+ constructor(fixedRowHeight: string);
263
+ init(gutterSize: string, tracker: TileCoordinator, cols: number, direction: string): void;
264
+ setRowStyles(tile: CuteGridTile, rowIndex: number): void;
265
+ getComputedHeight(): [string, string];
266
+ reset(list: TileStyleTarget): void;
267
+ }
268
+ /**
269
+ * This type of styler is instantiated when the user passes in a width:height ratio
270
+ * for the row height. Example `<cute-grid-list cols="3" rowHeight="3:1">`
271
+ */
272
+ declare class RatioTileStyler extends TileStyler {
273
+ /** Ratio width:height given by user to determine row height. */
274
+ rowHeightRatio: number;
275
+ baseTileHeight: string;
276
+ constructor(value: string);
277
+ setRowStyles(tile: CuteGridTile, rowIndex: number, percentWidth: number, gutterWidth: number): void;
278
+ getComputedHeight(): [string, string];
279
+ reset(list: TileStyleTarget): void;
280
+ private _parseRatio;
281
+ }
282
+ /**
283
+ * This type of styler is instantiated when the user selects a "fit" row height mode.
284
+ * In other words, the row height will reflect the total height of the container divided
285
+ * by the number of rows. Example `<cute-grid-list cols="3" rowHeight="fit">`
286
+ */
287
+ declare class FitTileStyler extends TileStyler {
288
+ setRowStyles(tile: CuteGridTile, rowIndex: number): void;
289
+ reset(list: TileStyleTarget): void;
290
+ }
291
+
292
+ /**
293
+ * @license Apache-2.0
294
+ *
295
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
296
+ *
297
+ * You may not use this file except in compliance with the License
298
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
299
+ *
300
+ * This code is a modification of the `@angular/material` original
301
+ * code licensed under MIT-style License (https://angular.dev/license).
302
+ */
303
+
304
+ declare class CuteGridList implements CuteGridListBase, OnInit, AfterContentChecked, TileStyleTarget {
305
+ private _element;
306
+ private _dir;
307
+ /** Number of columns being rendered. */
308
+ private _cols;
309
+ /** Used for determining the position of each tile in the grid. */
310
+ private _tileCoordinator;
311
+ /**
312
+ * Row height value passed in by user. This can be one of three types:
313
+ * - Number value (ex: "100px"): sets a fixed row height to that value
314
+ * - Ratio value (ex: "4:3"): sets the row height based on width:height ratio
315
+ * - "Fit" mode (ex: "fit"): sets the row height to total height divided by number of rows
316
+ */
317
+ private _rowHeight;
318
+ /** The amount of space between tiles. This will be something like '5px' or '2em'. */
319
+ private _gutter;
320
+ /** Sets position and size styles for a tile */
321
+ private _tileStyler;
322
+ /** Query list of tiles that are being rendered. */
323
+ _tiles: QueryList<CuteGridTile>;
324
+ constructor(...args: unknown[]);
325
+ /** Amount of columns in the grid list. */
326
+ get cols(): number;
327
+ set cols(value: NumberInput);
328
+ /** Size of the grid list's gutter in pixels. */
329
+ get gutterSize(): string;
330
+ set gutterSize(value: string);
331
+ /** Set an internal representation of row height from the user-provided value. */
332
+ get rowHeight(): string | number;
333
+ set rowHeight(value: string | number);
334
+ ngOnInit(): void;
335
+ /**
336
+ * The layout calculation is fairly cheap if nothing changes, so there's little cost
337
+ * to run it frequently.
338
+ */
339
+ ngAfterContentChecked(): void;
340
+ /** Throw a friendly error if cols property is missing */
341
+ private _checkCols;
342
+ /** Default to equal width:height if rowHeight property is missing */
343
+ private _checkRowHeight;
344
+ /** Creates correct Tile Styler subtype based on rowHeight passed in by user */
345
+ private _setTileStyler;
346
+ /** Computes and applies the size and position for all children grid tiles. */
347
+ private _layoutTiles;
348
+ /** Sets style on the main grid-list element, given the style name and value. */
349
+ _setListStyle(style: [string, string | null] | null): void;
350
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridList, never>;
351
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteGridList, "cute-grid-list", ["cuteGridList"], { "cols": { "alias": "cols"; "required": false; }; "gutterSize": { "alias": "gutterSize"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; }, {}, ["_tiles"], ["*"], true, never>;
352
+ }
353
+
354
+ declare class CuteGridListModule {
355
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteGridListModule, never>;
356
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteGridListModule, never, [typeof i1.CommonModule, typeof i2.CuteLineModule, typeof CuteGridList, typeof CuteGridTile, typeof CuteGridTileText, typeof CuteGridTileHeaderCssCuteStyler, typeof CuteGridTileFooterCssCuteStyler, typeof CuteGridAvatarCssCuteStyler], [typeof i2.CuteLineModule, typeof CuteGridList, typeof CuteGridTile, typeof CuteGridTileText, typeof CuteGridTileHeaderCssCuteStyler, typeof CuteGridTileFooterCssCuteStyler, typeof CuteGridAvatarCssCuteStyler]>;
357
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuteGridListModule>;
358
+ }
359
+
360
+ export { CuteGridAvatarCssCuteStyler, CuteGridList, CuteGridListModule, CuteGridTile, CuteGridTileFooterCssCuteStyler, CuteGridTileHeaderCssCuteStyler, CuteGridTileText, FitTileStyler, FixedTileStyler, RatioTileStyler, TileStyler };
361
+ export type { TileStyleTarget };