ngx-com 0.1.16 → 0.1.17

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 (76) hide show
  1. package/fesm2022/ngx-com-components-alert-testing.mjs +80 -0
  2. package/fesm2022/ngx-com-components-alert-testing.mjs.map +1 -0
  3. package/fesm2022/ngx-com-components-calendar-testing.mjs +157 -0
  4. package/fesm2022/ngx-com-components-calendar-testing.mjs.map +1 -0
  5. package/fesm2022/ngx-com-components-carousel-testing.mjs +121 -0
  6. package/fesm2022/ngx-com-components-carousel-testing.mjs.map +1 -0
  7. package/fesm2022/ngx-com-components-checkbox-testing.mjs +113 -0
  8. package/fesm2022/ngx-com-components-checkbox-testing.mjs.map +1 -0
  9. package/fesm2022/ngx-com-components-code-block-testing.mjs +88 -0
  10. package/fesm2022/ngx-com-components-code-block-testing.mjs.map +1 -0
  11. package/fesm2022/ngx-com-components-collapsible-testing.mjs +104 -0
  12. package/fesm2022/ngx-com-components-collapsible-testing.mjs.map +1 -0
  13. package/fesm2022/ngx-com-components-confirm-testing.mjs +150 -0
  14. package/fesm2022/ngx-com-components-confirm-testing.mjs.map +1 -0
  15. package/fesm2022/ngx-com-components-datepicker-testing.mjs +137 -0
  16. package/fesm2022/ngx-com-components-datepicker-testing.mjs.map +1 -0
  17. package/fesm2022/ngx-com-components-dialog-testing.mjs +109 -0
  18. package/fesm2022/ngx-com-components-dialog-testing.mjs.map +1 -0
  19. package/fesm2022/ngx-com-components-dialog.mjs +18 -18
  20. package/fesm2022/ngx-com-components-dialog.mjs.map +1 -1
  21. package/fesm2022/ngx-com-components-dropdown.mjs +39 -0
  22. package/fesm2022/ngx-com-components-dropdown.mjs.map +1 -1
  23. package/fesm2022/ngx-com-components-form-field-testing.mjs +140 -0
  24. package/fesm2022/ngx-com-components-form-field-testing.mjs.map +1 -0
  25. package/fesm2022/ngx-com-components-form-field.mjs +5 -1
  26. package/fesm2022/ngx-com-components-form-field.mjs.map +1 -1
  27. package/fesm2022/ngx-com-components-menu-testing.mjs +298 -0
  28. package/fesm2022/ngx-com-components-menu-testing.mjs.map +1 -0
  29. package/fesm2022/ngx-com-components-paginator-testing.mjs +128 -0
  30. package/fesm2022/ngx-com-components-paginator-testing.mjs.map +1 -0
  31. package/fesm2022/ngx-com-components-popover-testing.mjs +115 -0
  32. package/fesm2022/ngx-com-components-popover-testing.mjs.map +1 -0
  33. package/fesm2022/ngx-com-components-radio-testing.mjs +157 -0
  34. package/fesm2022/ngx-com-components-radio-testing.mjs.map +1 -0
  35. package/fesm2022/ngx-com-components-segmented-control-testing.mjs +122 -0
  36. package/fesm2022/ngx-com-components-segmented-control-testing.mjs.map +1 -0
  37. package/fesm2022/ngx-com-components-sort-testing.mjs +108 -0
  38. package/fesm2022/ngx-com-components-sort-testing.mjs.map +1 -0
  39. package/fesm2022/ngx-com-components-switch-testing.mjs +103 -0
  40. package/fesm2022/ngx-com-components-switch-testing.mjs.map +1 -0
  41. package/fesm2022/ngx-com-components-table-testing.mjs +198 -0
  42. package/fesm2022/ngx-com-components-table-testing.mjs.map +1 -0
  43. package/fesm2022/ngx-com-components-tabs-testing.mjs +126 -0
  44. package/fesm2022/ngx-com-components-tabs-testing.mjs.map +1 -0
  45. package/fesm2022/ngx-com-components-timepicker-testing.mjs +117 -0
  46. package/fesm2022/ngx-com-components-timepicker-testing.mjs.map +1 -0
  47. package/fesm2022/ngx-com-components-toast-testing.mjs +172 -0
  48. package/fesm2022/ngx-com-components-toast-testing.mjs.map +1 -0
  49. package/fesm2022/ngx-com-components-toast.mjs +4 -4
  50. package/fesm2022/ngx-com-components-toast.mjs.map +1 -1
  51. package/fesm2022/ngx-com-components-tooltip-testing.mjs +117 -0
  52. package/fesm2022/ngx-com-components-tooltip-testing.mjs.map +1 -0
  53. package/package.json +89 -1
  54. package/types/ngx-com-components-alert-testing.d.ts +41 -0
  55. package/types/ngx-com-components-calendar-testing.d.ts +80 -0
  56. package/types/ngx-com-components-carousel-testing.d.ts +51 -0
  57. package/types/ngx-com-components-checkbox-testing.d.ts +56 -0
  58. package/types/ngx-com-components-code-block-testing.d.ts +45 -0
  59. package/types/ngx-com-components-collapsible-testing.d.ts +53 -0
  60. package/types/ngx-com-components-confirm-testing.d.ts +78 -0
  61. package/types/ngx-com-components-datepicker-testing.d.ts +61 -0
  62. package/types/ngx-com-components-dialog-testing.d.ts +57 -0
  63. package/types/ngx-com-components-dropdown.d.ts +12 -0
  64. package/types/ngx-com-components-form-field-testing.d.ts +61 -0
  65. package/types/ngx-com-components-menu-testing.d.ts +167 -0
  66. package/types/ngx-com-components-paginator-testing.d.ts +58 -0
  67. package/types/ngx-com-components-popover-testing.d.ts +63 -0
  68. package/types/ngx-com-components-radio-testing.d.ts +86 -0
  69. package/types/ngx-com-components-segmented-control-testing.d.ts +66 -0
  70. package/types/ngx-com-components-sort-testing.d.ts +62 -0
  71. package/types/ngx-com-components-switch-testing.d.ts +52 -0
  72. package/types/ngx-com-components-table-testing.d.ts +124 -0
  73. package/types/ngx-com-components-tabs-testing.d.ts +67 -0
  74. package/types/ngx-com-components-timepicker-testing.d.ts +53 -0
  75. package/types/ngx-com-components-toast-testing.d.ts +93 -0
  76. package/types/ngx-com-components-tooltip-testing.d.ts +57 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-com",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "license": "MIT",
5
5
  "description": "A modern Angular component library built with signals, Tailwind CSS, and semantic design tokens",
6
6
  "keywords": [
@@ -96,6 +96,10 @@
96
96
  "types": "./types/ngx-com-components-alert.d.ts",
97
97
  "default": "./fesm2022/ngx-com-components-alert.mjs"
98
98
  },
99
+ "./components/alert/testing": {
100
+ "types": "./types/ngx-com-components-alert-testing.d.ts",
101
+ "default": "./fesm2022/ngx-com-components-alert-testing.mjs"
102
+ },
99
103
  "./components/avatar": {
100
104
  "types": "./types/ngx-com-components-avatar.d.ts",
101
105
  "default": "./fesm2022/ngx-com-components-avatar.mjs"
@@ -112,6 +116,10 @@
112
116
  "types": "./types/ngx-com-components-calendar.d.ts",
113
117
  "default": "./fesm2022/ngx-com-components-calendar.mjs"
114
118
  },
119
+ "./components/calendar/testing": {
120
+ "types": "./types/ngx-com-components-calendar-testing.d.ts",
121
+ "default": "./fesm2022/ngx-com-components-calendar-testing.mjs"
122
+ },
115
123
  "./components/card": {
116
124
  "types": "./types/ngx-com-components-card.d.ts",
117
125
  "default": "./fesm2022/ngx-com-components-card.mjs"
@@ -120,30 +128,58 @@
120
128
  "types": "./types/ngx-com-components-carousel.d.ts",
121
129
  "default": "./fesm2022/ngx-com-components-carousel.mjs"
122
130
  },
131
+ "./components/carousel/testing": {
132
+ "types": "./types/ngx-com-components-carousel-testing.d.ts",
133
+ "default": "./fesm2022/ngx-com-components-carousel-testing.mjs"
134
+ },
123
135
  "./components/checkbox": {
124
136
  "types": "./types/ngx-com-components-checkbox.d.ts",
125
137
  "default": "./fesm2022/ngx-com-components-checkbox.mjs"
126
138
  },
139
+ "./components/checkbox/testing": {
140
+ "types": "./types/ngx-com-components-checkbox-testing.d.ts",
141
+ "default": "./fesm2022/ngx-com-components-checkbox-testing.mjs"
142
+ },
127
143
  "./components/code-block": {
128
144
  "types": "./types/ngx-com-components-code-block.d.ts",
129
145
  "default": "./fesm2022/ngx-com-components-code-block.mjs"
130
146
  },
147
+ "./components/code-block/testing": {
148
+ "types": "./types/ngx-com-components-code-block-testing.d.ts",
149
+ "default": "./fesm2022/ngx-com-components-code-block-testing.mjs"
150
+ },
131
151
  "./components/collapsible": {
132
152
  "types": "./types/ngx-com-components-collapsible.d.ts",
133
153
  "default": "./fesm2022/ngx-com-components-collapsible.mjs"
134
154
  },
155
+ "./components/collapsible/testing": {
156
+ "types": "./types/ngx-com-components-collapsible-testing.d.ts",
157
+ "default": "./fesm2022/ngx-com-components-collapsible-testing.mjs"
158
+ },
135
159
  "./components/confirm": {
136
160
  "types": "./types/ngx-com-components-confirm.d.ts",
137
161
  "default": "./fesm2022/ngx-com-components-confirm.mjs"
138
162
  },
163
+ "./components/confirm/testing": {
164
+ "types": "./types/ngx-com-components-confirm-testing.d.ts",
165
+ "default": "./fesm2022/ngx-com-components-confirm-testing.mjs"
166
+ },
139
167
  "./components/datepicker": {
140
168
  "types": "./types/ngx-com-components-datepicker.d.ts",
141
169
  "default": "./fesm2022/ngx-com-components-datepicker.mjs"
142
170
  },
171
+ "./components/datepicker/testing": {
172
+ "types": "./types/ngx-com-components-datepicker-testing.d.ts",
173
+ "default": "./fesm2022/ngx-com-components-datepicker-testing.mjs"
174
+ },
143
175
  "./components/dialog": {
144
176
  "types": "./types/ngx-com-components-dialog.d.ts",
145
177
  "default": "./fesm2022/ngx-com-components-dialog.mjs"
146
178
  },
179
+ "./components/dialog/testing": {
180
+ "types": "./types/ngx-com-components-dialog-testing.d.ts",
181
+ "default": "./fesm2022/ngx-com-components-dialog-testing.mjs"
182
+ },
147
183
  "./components/dropdown": {
148
184
  "types": "./types/ngx-com-components-dropdown.d.ts",
149
185
  "default": "./fesm2022/ngx-com-components-dropdown.mjs"
@@ -160,6 +196,10 @@
160
196
  "types": "./types/ngx-com-components-form-field.d.ts",
161
197
  "default": "./fesm2022/ngx-com-components-form-field.mjs"
162
198
  },
199
+ "./components/form-field/testing": {
200
+ "types": "./types/ngx-com-components-form-field-testing.d.ts",
201
+ "default": "./fesm2022/ngx-com-components-form-field-testing.mjs"
202
+ },
163
203
  "./components/icon": {
164
204
  "types": "./types/ngx-com-components-icon.d.ts",
165
205
  "default": "./fesm2022/ngx-com-components-icon.mjs"
@@ -176,6 +216,10 @@
176
216
  "types": "./types/ngx-com-components-menu.d.ts",
177
217
  "default": "./fesm2022/ngx-com-components-menu.mjs"
178
218
  },
219
+ "./components/menu/testing": {
220
+ "types": "./types/ngx-com-components-menu-testing.d.ts",
221
+ "default": "./fesm2022/ngx-com-components-menu-testing.mjs"
222
+ },
179
223
  "./components/native-control": {
180
224
  "types": "./types/ngx-com-components-native-control.d.ts",
181
225
  "default": "./fesm2022/ngx-com-components-native-control.mjs"
@@ -184,18 +228,34 @@
184
228
  "types": "./types/ngx-com-components-paginator.d.ts",
185
229
  "default": "./fesm2022/ngx-com-components-paginator.mjs"
186
230
  },
231
+ "./components/paginator/testing": {
232
+ "types": "./types/ngx-com-components-paginator-testing.d.ts",
233
+ "default": "./fesm2022/ngx-com-components-paginator-testing.mjs"
234
+ },
187
235
  "./components/popover": {
188
236
  "types": "./types/ngx-com-components-popover.d.ts",
189
237
  "default": "./fesm2022/ngx-com-components-popover.mjs"
190
238
  },
239
+ "./components/popover/testing": {
240
+ "types": "./types/ngx-com-components-popover-testing.d.ts",
241
+ "default": "./fesm2022/ngx-com-components-popover-testing.mjs"
242
+ },
191
243
  "./components/radio": {
192
244
  "types": "./types/ngx-com-components-radio.d.ts",
193
245
  "default": "./fesm2022/ngx-com-components-radio.mjs"
194
246
  },
247
+ "./components/radio/testing": {
248
+ "types": "./types/ngx-com-components-radio-testing.d.ts",
249
+ "default": "./fesm2022/ngx-com-components-radio-testing.mjs"
250
+ },
195
251
  "./components/segmented-control": {
196
252
  "types": "./types/ngx-com-components-segmented-control.d.ts",
197
253
  "default": "./fesm2022/ngx-com-components-segmented-control.mjs"
198
254
  },
255
+ "./components/segmented-control/testing": {
256
+ "types": "./types/ngx-com-components-segmented-control-testing.d.ts",
257
+ "default": "./fesm2022/ngx-com-components-segmented-control-testing.mjs"
258
+ },
199
259
  "./components/separator": {
200
260
  "types": "./types/ngx-com-components-separator.d.ts",
201
261
  "default": "./fesm2022/ngx-com-components-separator.mjs"
@@ -204,6 +264,10 @@
204
264
  "types": "./types/ngx-com-components-sort.d.ts",
205
265
  "default": "./fesm2022/ngx-com-components-sort.mjs"
206
266
  },
267
+ "./components/sort/testing": {
268
+ "types": "./types/ngx-com-components-sort-testing.d.ts",
269
+ "default": "./fesm2022/ngx-com-components-sort-testing.mjs"
270
+ },
207
271
  "./components/spinner": {
208
272
  "types": "./types/ngx-com-components-spinner.d.ts",
209
273
  "default": "./fesm2022/ngx-com-components-spinner.mjs"
@@ -212,26 +276,50 @@
212
276
  "types": "./types/ngx-com-components-switch.d.ts",
213
277
  "default": "./fesm2022/ngx-com-components-switch.mjs"
214
278
  },
279
+ "./components/switch/testing": {
280
+ "types": "./types/ngx-com-components-switch-testing.d.ts",
281
+ "default": "./fesm2022/ngx-com-components-switch-testing.mjs"
282
+ },
215
283
  "./components/table": {
216
284
  "types": "./types/ngx-com-components-table.d.ts",
217
285
  "default": "./fesm2022/ngx-com-components-table.mjs"
218
286
  },
287
+ "./components/table/testing": {
288
+ "types": "./types/ngx-com-components-table-testing.d.ts",
289
+ "default": "./fesm2022/ngx-com-components-table-testing.mjs"
290
+ },
219
291
  "./components/tabs": {
220
292
  "types": "./types/ngx-com-components-tabs.d.ts",
221
293
  "default": "./fesm2022/ngx-com-components-tabs.mjs"
222
294
  },
295
+ "./components/tabs/testing": {
296
+ "types": "./types/ngx-com-components-tabs-testing.d.ts",
297
+ "default": "./fesm2022/ngx-com-components-tabs-testing.mjs"
298
+ },
223
299
  "./components/timepicker": {
224
300
  "types": "./types/ngx-com-components-timepicker.d.ts",
225
301
  "default": "./fesm2022/ngx-com-components-timepicker.mjs"
226
302
  },
303
+ "./components/timepicker/testing": {
304
+ "types": "./types/ngx-com-components-timepicker-testing.d.ts",
305
+ "default": "./fesm2022/ngx-com-components-timepicker-testing.mjs"
306
+ },
227
307
  "./components/toast": {
228
308
  "types": "./types/ngx-com-components-toast.d.ts",
229
309
  "default": "./fesm2022/ngx-com-components-toast.mjs"
230
310
  },
311
+ "./components/toast/testing": {
312
+ "types": "./types/ngx-com-components-toast-testing.d.ts",
313
+ "default": "./fesm2022/ngx-com-components-toast-testing.mjs"
314
+ },
231
315
  "./components/tooltip": {
232
316
  "types": "./types/ngx-com-components-tooltip.d.ts",
233
317
  "default": "./fesm2022/ngx-com-components-tooltip.mjs"
234
318
  },
319
+ "./components/tooltip/testing": {
320
+ "types": "./types/ngx-com-components-tooltip-testing.d.ts",
321
+ "default": "./fesm2022/ngx-com-components-tooltip-testing.mjs"
322
+ },
235
323
  "./theme": {
236
324
  "types": "./types/ngx-com-theme.d.ts",
237
325
  "default": "./fesm2022/ngx-com-theme.mjs"
@@ -0,0 +1,41 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComAlertHarness. */
4
+ interface ComAlertHarnessFilters extends BaseHarnessFilters {
5
+ /** Filter by the alert's title text. */
6
+ title?: string | RegExp;
7
+ }
8
+ /**
9
+ * Harness for interacting with a ComAlert in tests.
10
+ */
11
+ declare class ComAlertHarness extends ComponentHarness {
12
+ static hostSelector: string;
13
+ private readonly alertEl;
14
+ private readonly titleEl;
15
+ private readonly descriptionEl;
16
+ private readonly dismissButton;
17
+ /**
18
+ * Gets a HarnessPredicate for matching alerts.
19
+ * @param options Filter options.
20
+ */
21
+ static with(options?: ComAlertHarnessFilters): HarnessPredicate<ComAlertHarness>;
22
+ /** Gets the alert's title text, or null if no title is projected. */
23
+ getTitle(): Promise<string | null>;
24
+ /** Gets the alert's description text, or null if no description is projected. */
25
+ getDescription(): Promise<string | null>;
26
+ /** Gets the full text content of the alert element. */
27
+ getText(): Promise<string>;
28
+ /** Gets the role attribute of the alert element. */
29
+ getRole(): Promise<string | null>;
30
+ /** Gets the aria-live attribute of the alert element. */
31
+ getAriaLive(): Promise<string | null>;
32
+ /** Whether the alert has a dismiss button. */
33
+ isDismissible(): Promise<boolean>;
34
+ /** Clicks the dismiss button. Throws if the alert is not dismissible. */
35
+ dismiss(): Promise<void>;
36
+ /** Whether the alert is currently visible (not dismissed). */
37
+ isVisible(): Promise<boolean>;
38
+ }
39
+
40
+ export { ComAlertHarness };
41
+ export type { ComAlertHarnessFilters };
@@ -0,0 +1,80 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComCalendarCellHarness. */
4
+ interface ComCalendarCellHarnessFilters extends BaseHarnessFilters {
5
+ /** Filter by the cell's display text. */
6
+ text?: string | RegExp;
7
+ /** Filter by whether the cell is selected. */
8
+ selected?: boolean;
9
+ /** Filter by whether the cell is disabled. */
10
+ disabled?: boolean;
11
+ }
12
+ /** Harness filters for ComCalendarHarness. */
13
+ type ComCalendarHarnessFilters = BaseHarnessFilters;
14
+ /**
15
+ * Harness for interacting with an individual calendar cell in tests.
16
+ */
17
+ declare class ComCalendarCellHarness extends ComponentHarness {
18
+ static hostSelector: string;
19
+ private readonly button;
20
+ /**
21
+ * Gets a HarnessPredicate for matching calendar cells.
22
+ * @param options Filter options.
23
+ */
24
+ static with(options?: ComCalendarCellHarnessFilters): HarnessPredicate<ComCalendarCellHarness>;
25
+ /** Gets the cell's display text. */
26
+ getText(): Promise<string>;
27
+ /** Gets the cell button's aria-label. */
28
+ getAriaLabel(): Promise<string | null>;
29
+ /** Whether the cell is currently selected. */
30
+ isSelected(): Promise<boolean>;
31
+ /** Whether the cell is disabled. */
32
+ isDisabled(): Promise<boolean>;
33
+ /** Whether the cell represents today's date. */
34
+ isToday(): Promise<boolean>;
35
+ /** Clicks the cell to select it. */
36
+ select(): Promise<void>;
37
+ /** Focuses the cell button. */
38
+ focus(): Promise<void>;
39
+ /** Whether the cell button is focused. */
40
+ isFocused(): Promise<boolean>;
41
+ }
42
+ /**
43
+ * Harness for interacting with a ComCalendar in tests.
44
+ */
45
+ declare class ComCalendarHarness extends ComponentHarness {
46
+ static hostSelector: string;
47
+ private readonly prevButton;
48
+ private readonly periodButton;
49
+ private readonly nextButton;
50
+ /**
51
+ * Gets a HarnessPredicate for matching calendars.
52
+ * @param options Filter options.
53
+ */
54
+ static with(options?: ComCalendarHarnessFilters): HarnessPredicate<ComCalendarHarness>;
55
+ /** Gets the period label text (e.g., "January 2024", "2024", "2000 – 2023"). */
56
+ getPeriodLabel(): Promise<string>;
57
+ /** Navigates to the previous period (month, year, or multi-year page). */
58
+ goToPreviousPage(): Promise<void>;
59
+ /** Navigates to the next period (month, year, or multi-year page). */
60
+ goToNextPage(): Promise<void>;
61
+ /** Whether the previous page button is disabled. */
62
+ isPreviousDisabled(): Promise<boolean>;
63
+ /** Whether the next page button is disabled. */
64
+ isNextDisabled(): Promise<boolean>;
65
+ /** Clicks the period button to switch to the next higher view (month → year → multi-year). */
66
+ switchView(): Promise<void>;
67
+ /** Gets the current calendar view. */
68
+ getCurrentView(): Promise<'month' | 'year' | 'multi-year'>;
69
+ /** Gets all calendar cells, optionally filtered. */
70
+ getCells(filters?: ComCalendarCellHarnessFilters): Promise<ComCalendarCellHarness[]>;
71
+ /** Selects a cell by its display text. Throws if no matching cell is found. */
72
+ selectCell(text: string): Promise<void>;
73
+ /** Gets all currently selected cells. */
74
+ getSelectedCells(): Promise<ComCalendarCellHarness[]>;
75
+ /** Gets the cell representing today, or null if not visible. */
76
+ getTodayCell(): Promise<ComCalendarCellHarness | null>;
77
+ }
78
+
79
+ export { ComCalendarCellHarness, ComCalendarHarness };
80
+ export type { ComCalendarCellHarnessFilters, ComCalendarHarnessFilters };
@@ -0,0 +1,51 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComCarouselHarness. */
4
+ type ComCarouselHarnessFilters = BaseHarnessFilters;
5
+ /**
6
+ * Harness for interacting with a ComCarousel in tests.
7
+ */
8
+ declare class ComCarouselHarness extends ComponentHarness {
9
+ static hostSelector: string;
10
+ private readonly prevButton;
11
+ private readonly nextButton;
12
+ private readonly paginationTablist;
13
+ private readonly paginationDots;
14
+ private readonly slides;
15
+ /**
16
+ * Gets a HarnessPredicate for matching carousels.
17
+ * @param options Filter options.
18
+ */
19
+ static with(options?: ComCarouselHarnessFilters): HarnessPredicate<ComCarouselHarness>;
20
+ /** Navigates to the next slide. Throws if the next button is not present. */
21
+ goToNext(): Promise<void>;
22
+ /** Navigates to the previous slide. Throws if the previous button is not present. */
23
+ goToPrevious(): Promise<void>;
24
+ /** Navigates to a specific slide by clicking its pagination dot. Throws if not found. */
25
+ goToSlide(index: number): Promise<void>;
26
+ /** Gets the index of the currently active slide based on the selected pagination dot. */
27
+ getCurrentIndex(): Promise<number>;
28
+ /** Gets the total number of slide items. */
29
+ getSlideCount(): Promise<number>;
30
+ /** Whether the next slide button is disabled. */
31
+ isNextDisabled(): Promise<boolean>;
32
+ /** Whether the previous slide button is disabled. */
33
+ isPreviousDisabled(): Promise<boolean>;
34
+ /** Whether navigation buttons (next/previous) are present. */
35
+ hasNavigation(): Promise<boolean>;
36
+ /** Whether the pagination tablist is present. */
37
+ hasPagination(): Promise<boolean>;
38
+ /** Gets the number of pagination dots. */
39
+ getPaginationCount(): Promise<number>;
40
+ /** Whether the carousel is disabled (both navigation buttons disabled). */
41
+ isDisabled(): Promise<boolean>;
42
+ /** Whether the carousel host is focused. */
43
+ isFocused(): Promise<boolean>;
44
+ /** Focuses the carousel host element. */
45
+ focus(): Promise<void>;
46
+ /** Blurs the carousel host element. */
47
+ blur(): Promise<void>;
48
+ }
49
+
50
+ export { ComCarouselHarness };
51
+ export type { ComCarouselHarnessFilters };
@@ -0,0 +1,56 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComCheckboxHarness. */
4
+ interface ComCheckboxHarnessFilters extends BaseHarnessFilters {
5
+ /** Filter by the checkbox's projected label text. */
6
+ label?: string | RegExp;
7
+ /** Filter by whether the checkbox is disabled. */
8
+ disabled?: boolean;
9
+ /** Filter by whether the checkbox is checked. */
10
+ checked?: boolean;
11
+ }
12
+ /**
13
+ * Harness for interacting with a ComCheckbox in tests.
14
+ */
15
+ declare class ComCheckboxHarness extends ComponentHarness {
16
+ static hostSelector: string;
17
+ private readonly label;
18
+ private readonly input;
19
+ private readonly labelText;
20
+ /**
21
+ * Gets a HarnessPredicate for matching checkboxes.
22
+ * @param options Filter options.
23
+ */
24
+ static with(options?: ComCheckboxHarnessFilters): HarnessPredicate<ComCheckboxHarness>;
25
+ /** Whether the checkbox is currently checked. */
26
+ isChecked(): Promise<boolean>;
27
+ /** Whether the checkbox is disabled. */
28
+ isDisabled(): Promise<boolean>;
29
+ /** Whether the checkbox is in the indeterminate state. */
30
+ isIndeterminate(): Promise<boolean>;
31
+ /** Whether the checkbox is required. */
32
+ isRequired(): Promise<boolean>;
33
+ /** Gets the checkbox's projected label text. */
34
+ getLabelText(): Promise<string>;
35
+ /** Gets the checkbox's name attribute. */
36
+ getName(): Promise<string | null>;
37
+ /** Gets the checkbox's aria-label attribute. */
38
+ getAriaLabel(): Promise<string | null>;
39
+ /** Gets the checkbox's aria-labelledby attribute. */
40
+ getAriaLabelledby(): Promise<string | null>;
41
+ /** Toggles the checkbox by clicking the label element. */
42
+ toggle(): Promise<void>;
43
+ /** Checks the checkbox if it is currently unchecked. */
44
+ check(): Promise<void>;
45
+ /** Unchecks the checkbox if it is currently checked. */
46
+ uncheck(): Promise<void>;
47
+ /** Focuses the checkbox's input element. */
48
+ focus(): Promise<void>;
49
+ /** Blurs the checkbox's input element. */
50
+ blur(): Promise<void>;
51
+ /** Whether the checkbox's input element is focused. */
52
+ isFocused(): Promise<boolean>;
53
+ }
54
+
55
+ export { ComCheckboxHarness };
56
+ export type { ComCheckboxHarnessFilters };
@@ -0,0 +1,45 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComCodeBlockHarness. */
4
+ interface ComCodeBlockHarnessFilters extends BaseHarnessFilters {
5
+ /** Filter by the code block's language label. */
6
+ language?: string | RegExp;
7
+ }
8
+ /**
9
+ * Harness for interacting with a ComCodeBlock in tests.
10
+ */
11
+ declare class ComCodeBlockHarness extends ComponentHarness {
12
+ static hostSelector: string;
13
+ private readonly codeElement;
14
+ private readonly preElement;
15
+ private readonly copyButton;
16
+ /**
17
+ * Gets a HarnessPredicate for matching code blocks.
18
+ * @param options Filter options.
19
+ */
20
+ static with(options?: ComCodeBlockHarnessFilters): HarnessPredicate<ComCodeBlockHarness>;
21
+ /** Gets the code text content. */
22
+ getCode(): Promise<string>;
23
+ /**
24
+ * Gets the language label.
25
+ * Returns `null` if no language is set.
26
+ */
27
+ getLanguage(): Promise<string | null>;
28
+ /** Clicks the copy button to copy code to clipboard. */
29
+ copyToClipboard(): Promise<void>;
30
+ /** Whether the copy button is currently showing the "Copied" state. */
31
+ isCopied(): Promise<boolean>;
32
+ /** Gets the copy button's aria-label. */
33
+ getCopyButtonLabel(): Promise<string>;
34
+ /** Whether the code block is disabled (copy button is disabled). */
35
+ isDisabled(): Promise<boolean>;
36
+ /** Whether the code block host is focused. */
37
+ isFocused(): Promise<boolean>;
38
+ /** Focuses the code block host element. */
39
+ focus(): Promise<void>;
40
+ /** Blurs the code block host element. */
41
+ blur(): Promise<void>;
42
+ }
43
+
44
+ export { ComCodeBlockHarness };
45
+ export type { ComCodeBlockHarnessFilters };
@@ -0,0 +1,53 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComCollapsibleHarness. */
4
+ interface ComCollapsibleHarnessFilters extends BaseHarnessFilters {
5
+ /** Filter by whether the collapsible is expanded. */
6
+ expanded?: boolean;
7
+ /** Filter by whether the collapsible is disabled. */
8
+ disabled?: boolean;
9
+ }
10
+ /**
11
+ * Harness for interacting with a ComCollapsible in tests.
12
+ */
13
+ declare class ComCollapsibleHarness extends ComponentHarness {
14
+ static hostSelector: string;
15
+ private readonly trigger;
16
+ private readonly content;
17
+ /**
18
+ * Gets a HarnessPredicate for matching collapsibles.
19
+ * @param options Filter options.
20
+ */
21
+ static with(options?: ComCollapsibleHarnessFilters): HarnessPredicate<ComCollapsibleHarness>;
22
+ /** Whether the collapsible is currently expanded. */
23
+ isExpanded(): Promise<boolean>;
24
+ /** Whether the collapsible is disabled. */
25
+ isDisabled(): Promise<boolean>;
26
+ /** Toggles the collapsible by clicking the trigger. */
27
+ toggle(): Promise<void>;
28
+ /** Expands the collapsible if it is currently collapsed. */
29
+ expand(): Promise<void>;
30
+ /** Collapses the collapsible if it is currently expanded. */
31
+ collapse(): Promise<void>;
32
+ /** Gets the text content of the trigger element. */
33
+ getTriggerText(): Promise<string>;
34
+ /** Gets the text content of the content element. */
35
+ getContentText(): Promise<string>;
36
+ /** Gets the role attribute of the content element. */
37
+ getContentRole(): Promise<string | null>;
38
+ /** Gets the aria-controls attribute from the trigger. */
39
+ getAriaControls(): Promise<string | null>;
40
+ /** Gets the aria-labelledby attribute from the content. */
41
+ getAriaLabelledby(): Promise<string | null>;
42
+ /** Whether the content element has the inert attribute. */
43
+ isContentInert(): Promise<boolean>;
44
+ /** Focuses the trigger element. */
45
+ focus(): Promise<void>;
46
+ /** Blurs the trigger element. */
47
+ blur(): Promise<void>;
48
+ /** Whether the trigger element is focused. */
49
+ isFocused(): Promise<boolean>;
50
+ }
51
+
52
+ export { ComCollapsibleHarness };
53
+ export type { ComCollapsibleHarnessFilters };
@@ -0,0 +1,78 @@
1
+ import { ComponentHarness, BaseHarnessFilters, HarnessPredicate } from '@angular/cdk/testing';
2
+
3
+ /** Harness filters for ComConfirmPanelHarness. */
4
+ type ComConfirmPanelHarnessFilters = BaseHarnessFilters;
5
+ /** Harness filters for ComConfirmTriggerHarness. */
6
+ interface ComConfirmTriggerHarnessFilters extends BaseHarnessFilters {
7
+ /** Filter by the trigger element's text. */
8
+ text?: string | RegExp;
9
+ }
10
+ /**
11
+ * Harness for interacting with a confirm panel in tests.
12
+ *
13
+ * The panel renders inside a CDK overlay with `role="alertdialog"`.
14
+ * Obtain via `TestbedHarnessEnvironment.documentRootLoader(fixture)` or
15
+ * through `ComConfirmTriggerHarness.getPanel()`.
16
+ */
17
+ declare class ComConfirmPanelHarness extends ComponentHarness {
18
+ static hostSelector: string;
19
+ private readonly alertdialog;
20
+ private readonly title;
21
+ private readonly message;
22
+ private readonly cancelButton;
23
+ private readonly confirmButton;
24
+ /**
25
+ * Gets a HarnessPredicate for matching confirm panels.
26
+ * @param options Filter options.
27
+ */
28
+ static with(options?: ComConfirmPanelHarnessFilters): HarnessPredicate<ComConfirmPanelHarness>;
29
+ /** Gets the title text, or null if no title is present. */
30
+ getTitleText(): Promise<string | null>;
31
+ /** Gets the message text. */
32
+ getMessageText(): Promise<string>;
33
+ /** Gets the confirm button text. */
34
+ getConfirmButtonText(): Promise<string>;
35
+ /** Gets the cancel button text. */
36
+ getCancelButtonText(): Promise<string>;
37
+ /** Clicks the confirm button. */
38
+ confirm(): Promise<void>;
39
+ /** Clicks the cancel button. */
40
+ cancel(): Promise<void>;
41
+ /** Gets the `data-state` attribute on the alertdialog element. */
42
+ getState(): Promise<string | null>;
43
+ }
44
+ /**
45
+ * Harness for interacting with a confirm trigger in tests.
46
+ */
47
+ declare class ComConfirmTriggerHarness extends ComponentHarness {
48
+ static hostSelector: string;
49
+ private readonly documentRootLocator;
50
+ /**
51
+ * Gets a HarnessPredicate for matching confirm triggers.
52
+ * @param options Filter options.
53
+ */
54
+ static with(options?: ComConfirmTriggerHarnessFilters): HarnessPredicate<ComConfirmTriggerHarness>;
55
+ /** Gets the trigger element's text. */
56
+ getText(): Promise<string>;
57
+ /** Whether the confirm panel is currently open. */
58
+ isOpen(): Promise<boolean>;
59
+ /** Opens the confirm panel if it's closed. */
60
+ open(): Promise<void>;
61
+ /** Closes the confirm panel if it's open. */
62
+ close(): Promise<void>;
63
+ /** Gets the confirm panel harness, or null if the panel is closed. */
64
+ getPanel(): Promise<ComConfirmPanelHarness | null>;
65
+ /** Opens the panel and clicks the confirm button. */
66
+ confirm(): Promise<void>;
67
+ /** Opens the panel and clicks the cancel button. */
68
+ cancel(): Promise<void>;
69
+ /** Focuses the trigger element. */
70
+ focus(): Promise<void>;
71
+ /** Blurs the trigger element. */
72
+ blur(): Promise<void>;
73
+ /** Whether the trigger element is focused. */
74
+ isFocused(): Promise<boolean>;
75
+ }
76
+
77
+ export { ComConfirmPanelHarness, ComConfirmTriggerHarness };
78
+ export type { ComConfirmPanelHarnessFilters, ComConfirmTriggerHarnessFilters };