@taiga-ui/testing 3.491.1-canary.a08581f → 4.0.0-rc.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.
- package/LICENSE +190 -0
- package/core/accordion.harness.d.ts +0 -1
- package/core/avatar.harness.d.ts +1 -1
- package/core/badge.harness.d.ts +3 -3
- package/core/{primitive-calender.harness.d.ts → calendar-sheet.harness.d.ts} +1 -1
- package/core/{primitive-year-month-pagination.harness.d.ts → calendar-spin.harness.d.ts} +1 -1
- package/core/{primitive-year-picker.harness.d.ts → calendar-year.harness.d.ts} +1 -1
- package/core/calendar.harness.d.ts +3 -3
- package/core/card.harness.d.ts +0 -6
- package/core/dialog.harness.d.ts +6 -0
- package/core/{hosted-dropdown.harness.d.ts → dropdown-open.harness.d.ts} +1 -1
- package/core/index.d.ts +6 -6
- package/core/island.harness.d.ts +1 -1
- package/core/select.harness.d.ts +1 -1
- package/core/{primitive-spin-button.harness.d.ts → spin-button.harness.d.ts} +1 -1
- package/core/tag.harness.d.ts +2 -3
- package/esm2022/core/accordion-item.harness.mjs +32 -0
- package/esm2022/core/accordion.harness.mjs +6 -0
- package/esm2022/core/avatar.harness.mjs +9 -0
- package/esm2022/core/badge.harness.mjs +15 -0
- package/esm2022/core/button.harness.mjs +17 -0
- package/esm2022/core/calendar-sheet.harness.mjs +30 -0
- package/esm2022/core/calendar-spin.harness.mjs +33 -0
- package/esm2022/core/calendar-year.harness.mjs +23 -0
- package/esm2022/core/calendar.harness.mjs +51 -0
- package/esm2022/core/card.harness.mjs +15 -0
- package/esm2022/core/dialog.harness.mjs +12 -0
- package/esm2022/core/dropdown-open.harness.mjs +13 -0
- package/esm2022/core/index.mjs +21 -0
- package/esm2022/core/island.harness.mjs +39 -0
- package/esm2022/core/loader.harness.mjs +20 -0
- package/esm2022/core/primitive-textfield.harness.mjs +12 -0
- package/esm2022/core/select.harness.mjs +17 -0
- package/esm2022/core/spin-button.harness.mjs +13 -0
- package/esm2022/core/svg.harness.mjs +18 -0
- package/esm2022/core/tag.harness.mjs +26 -0
- package/esm2022/core/textfield.harness.mjs +9 -0
- package/esm2022/mocks/event.mjs +14 -0
- package/esm2022/mocks/sanitizer.mjs +13 -0
- package/esm2022/setup-jest/index.mjs +119 -0
- package/esm2022/utils/active-element.mjs +12 -0
- package/esm2022/utils/configure-test-suite.mjs +32 -0
- package/esm2022/utils/date.mjs +18 -0
- package/esm2022/utils/helpers.mjs +34 -0
- package/esm2022/utils/input/cleaner.unit-common.mjs +79 -0
- package/esm2022/utils/input/filler.unit-common.mjs +48 -0
- package/esm2022/utils/input/form-control-state.unit-common.mjs +36 -0
- package/{esm2015/utils/input/placeholder.unit-common.js → esm2022/utils/input/placeholder.unit-common.mjs} +17 -17
- package/esm2022/utils/input/tooltip.unit-common.mjs +46 -0
- package/esm2022/utils/keyboard-event.mjs +9 -0
- package/esm2022/utils/native-input.page-object.mjs +53 -0
- package/esm2022/utils/page-object.mjs +25 -0
- package/esm2022/utils/replace-nbsp.mjs +5 -0
- package/{esm2015/utils/viewport.js → esm2022/utils/viewport.mjs} +5 -5
- package/fesm2022/taiga-ui-testing-core.mjs +365 -0
- package/fesm2022/taiga-ui-testing-core.mjs.map +1 -0
- package/{fesm2015/taiga-ui-testing-exceptions.js → fesm2022/taiga-ui-testing-exceptions.mjs} +1 -1
- package/fesm2022/taiga-ui-testing-exceptions.mjs.map +1 -0
- package/{fesm2015/taiga-ui-testing-mocks.js → fesm2022/taiga-ui-testing-mocks.mjs} +5 -3
- package/fesm2022/taiga-ui-testing-mocks.mjs.map +1 -0
- package/{fesm2015/taiga-ui-testing-setup-jest.js → fesm2022/taiga-ui-testing-setup-jest.mjs} +21 -21
- package/fesm2022/taiga-ui-testing-setup-jest.mjs.map +1 -0
- package/{fesm2015/taiga-ui-testing-utils.js → fesm2022/taiga-ui-testing-utils.mjs} +94 -104
- package/fesm2022/taiga-ui-testing-utils.mjs.map +1 -0
- package/{fesm2015/taiga-ui-testing.js → fesm2022/taiga-ui-testing.mjs} +1 -1
- package/fesm2022/taiga-ui-testing.mjs.map +1 -0
- package/mocks/sanitizer.d.ts +1 -1
- package/package.json +49 -13
- package/utils/active-element.d.ts +1 -1
- package/utils/configure-test-suite.d.ts +2 -1
- package/utils/helpers.d.ts +2 -1
- package/utils/input/cleaner.unit-common.d.ts +6 -6
- package/utils/input/filler.unit-common.d.ts +6 -6
- package/utils/input/form-control-state.unit-common.d.ts +5 -5
- package/utils/input/placeholder.unit-common.d.ts +5 -5
- package/utils/input/tooltip.unit-common.d.ts +5 -5
- package/utils/native-input.page-object.d.ts +4 -5
- package/utils/page-object.d.ts +2 -2
- package/bundles/taiga-ui-testing-core.umd.js +0 -1388
- package/bundles/taiga-ui-testing-core.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-cypress.umd.js +0 -484
- package/bundles/taiga-ui-testing-cypress.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-exceptions.umd.js +0 -351
- package/bundles/taiga-ui-testing-exceptions.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-mocks.umd.js +0 -369
- package/bundles/taiga-ui-testing-mocks.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-setup-jest.umd.js +0 -135
- package/bundles/taiga-ui-testing-setup-jest.umd.js.map +0 -1
- package/bundles/taiga-ui-testing-utils.umd.js +0 -933
- package/bundles/taiga-ui-testing-utils.umd.js.map +0 -1
- package/bundles/taiga-ui-testing.umd.js +0 -46
- package/bundles/taiga-ui-testing.umd.js.map +0 -1
- package/core/action.harness.d.ts +0 -7
- package/core/marker-icon.harness.d.ts +0 -4
- package/core/package.json +0 -10
- package/core/taiga-ui-testing-core.d.ts +0 -5
- package/core/toggle.harness.d.ts +0 -8
- package/cypress/assertions/be-in-viewport.d.ts +0 -14
- package/cypress/assertions/index.d.ts +0 -1
- package/cypress/commands/wait-all-img-inside.command.d.ts +0 -2
- package/cypress/index.d.ts +0 -4
- package/cypress/package.json +0 -10
- package/cypress/snapshot/command.d.ts +0 -16
- package/cypress/snapshot/plugin.d.ts +0 -9
- package/cypress/taiga-ui-testing-cypress.d.ts +0 -5
- package/esm2015/core/accordion-item.harness.js +0 -49
- package/esm2015/core/accordion.harness.js +0 -11
- package/esm2015/core/action.harness.js +0 -16
- package/esm2015/core/avatar.harness.js +0 -11
- package/esm2015/core/badge.harness.js +0 -21
- package/esm2015/core/button.harness.js +0 -21
- package/esm2015/core/calendar.harness.js +0 -84
- package/esm2015/core/card.harness.js +0 -25
- package/esm2015/core/hosted-dropdown.harness.js +0 -17
- package/esm2015/core/index.js +0 -21
- package/esm2015/core/island.harness.js +0 -53
- package/esm2015/core/loader.harness.js +0 -25
- package/esm2015/core/marker-icon.harness.js +0 -5
- package/esm2015/core/primitive-calender.harness.js +0 -40
- package/esm2015/core/primitive-spin-button.harness.js +0 -17
- package/esm2015/core/primitive-textfield.harness.js +0 -16
- package/esm2015/core/primitive-year-month-pagination.harness.js +0 -49
- package/esm2015/core/primitive-year-picker.harness.js +0 -29
- package/esm2015/core/select.harness.js +0 -21
- package/esm2015/core/svg.harness.js +0 -27
- package/esm2015/core/tag.harness.js +0 -39
- package/esm2015/core/textfield.harness.js +0 -11
- package/esm2015/core/toggle.harness.js +0 -21
- package/esm2015/cypress/assertions/be-in-viewport.js +0 -28
- package/esm2015/cypress/assertions/index.js +0 -2
- package/esm2015/cypress/commands/wait-all-img-inside.command.js +0 -62
- package/esm2015/cypress/index.js +0 -5
- package/esm2015/cypress/snapshot/command.js +0 -25
- package/esm2015/cypress/snapshot/plugin.js +0 -26
- package/esm2015/cypress/taiga-ui-testing-cypress.js +0 -5
- package/esm2015/mocks/event.js +0 -12
- package/esm2015/mocks/sanitizer.js +0 -13
- package/esm2015/setup-jest/index.js +0 -119
- package/esm2015/utils/active-element.js +0 -14
- package/esm2015/utils/configure-test-suite.js +0 -32
- package/esm2015/utils/date.js +0 -18
- package/esm2015/utils/helpers.js +0 -36
- package/esm2015/utils/input/cleaner.unit-common.js +0 -79
- package/esm2015/utils/input/filler.unit-common.js +0 -50
- package/esm2015/utils/input/form-control-state.unit-common.js +0 -37
- package/esm2015/utils/input/tooltip.unit-common.js +0 -46
- package/esm2015/utils/keyboard-event.js +0 -9
- package/esm2015/utils/native-input.page-object.js +0 -58
- package/esm2015/utils/page-object.js +0 -25
- package/esm2015/utils/replace-nbsp.js +0 -6
- package/exceptions/package.json +0 -10
- package/exceptions/taiga-ui-testing-exceptions.d.ts +0 -5
- package/fesm2015/taiga-ui-testing-core.js +0 -557
- package/fesm2015/taiga-ui-testing-core.js.map +0 -1
- package/fesm2015/taiga-ui-testing-cypress.js +0 -145
- package/fesm2015/taiga-ui-testing-cypress.js.map +0 -1
- package/fesm2015/taiga-ui-testing-exceptions.js.map +0 -1
- package/fesm2015/taiga-ui-testing-mocks.js.map +0 -1
- package/fesm2015/taiga-ui-testing-setup-jest.js.map +0 -1
- package/fesm2015/taiga-ui-testing-utils.js.map +0 -1
- package/fesm2015/taiga-ui-testing.js.map +0 -1
- package/mocks/package.json +0 -10
- package/mocks/taiga-ui-testing-mocks.d.ts +0 -5
- package/setup-jest/package.json +0 -10
- package/setup-jest/taiga-ui-testing-setup-jest.d.ts +0 -5
- package/taiga-ui-testing.d.ts +0 -5
- package/utils/package.json +0 -10
- package/utils/taiga-ui-testing-utils.d.ts +0 -5
- /package/{esm2015/core/taiga-ui-testing-core.js → esm2022/core/taiga-ui-testing-core.mjs} +0 -0
- /package/{esm2015/exceptions/element-is-not-input.exception.js → esm2022/exceptions/element-is-not-input.exception.mjs} +0 -0
- /package/{esm2015/exceptions/field-not-found.exception.js → esm2022/exceptions/field-not-found.exception.mjs} +0 -0
- /package/{esm2015/exceptions/index.js → esm2022/exceptions/index.mjs} +0 -0
- /package/{esm2015/exceptions/taiga-ui-testing-exceptions.js → esm2022/exceptions/taiga-ui-testing-exceptions.mjs} +0 -0
- /package/{esm2015/index.js → esm2022/index.mjs} +0 -0
- /package/{esm2015/mocks/index.js → esm2022/mocks/index.mjs} +0 -0
- /package/{esm2015/mocks/switch-ng-dev-mode.js → esm2022/mocks/switch-ng-dev-mode.mjs} +0 -0
- /package/{esm2015/mocks/taiga-ui-testing-mocks.js → esm2022/mocks/taiga-ui-testing-mocks.mjs} +0 -0
- /package/{esm2015/setup-jest/taiga-ui-testing-setup-jest.js → esm2022/setup-jest/taiga-ui-testing-setup-jest.mjs} +0 -0
- /package/{esm2015/taiga-ui-testing.js → esm2022/taiga-ui-testing.mjs} +0 -0
- /package/{esm2015/utils/index.js → esm2022/utils/index.mjs} +0 -0
- /package/{esm2015/utils/taiga-ui-testing-utils.js → esm2022/utils/taiga-ui-testing-utils.mjs} +0 -0
@@ -0,0 +1,365 @@
|
|
1
|
+
import { TuiContentContainerComponentHarness, TuiComponentHarness, tuiHarnessWith, tuiWithPredicate } from '@taiga-ui/testing/utils';
|
2
|
+
import { TestKey, ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
|
3
|
+
import { __decorate } from 'tslib';
|
4
|
+
|
5
|
+
class TuiAccordionHarness extends TuiContentContainerComponentHarness {
|
6
|
+
static { this.hostSelector = 'tui-accordion'; }
|
7
|
+
}
|
8
|
+
|
9
|
+
class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {
|
10
|
+
constructor() {
|
11
|
+
super(...arguments);
|
12
|
+
this.header = this.locatorFor('.t-header');
|
13
|
+
}
|
14
|
+
static { this.hostSelector = 'tui-accordion-item'; }
|
15
|
+
async getTitle() {
|
16
|
+
return (await this.locatorFor('.t-title')()).text();
|
17
|
+
}
|
18
|
+
async getContent() {
|
19
|
+
return (await this.locatorForOptional('.t-content')())?.text() ?? null;
|
20
|
+
}
|
21
|
+
async clickHeader() {
|
22
|
+
return (await this.locatorFor('.t-header')()).click();
|
23
|
+
}
|
24
|
+
async getBorders() {
|
25
|
+
return (await this.host()).getAttribute('data-borders');
|
26
|
+
}
|
27
|
+
async hasArrow() {
|
28
|
+
return !!(await this.locatorForOptional('.t-icon')()) ?? false;
|
29
|
+
}
|
30
|
+
async focus() {
|
31
|
+
return (await this.header()).focus();
|
32
|
+
}
|
33
|
+
async sendEscKey() {
|
34
|
+
return (await this.header()).sendKeys(TestKey.ESCAPE);
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
class TuiAvatarHarness extends TuiComponentHarness {
|
39
|
+
static { this.hostSelector = 'tui-avatar'; }
|
40
|
+
async text() {
|
41
|
+
return (await this.host()).text();
|
42
|
+
}
|
43
|
+
}
|
44
|
+
|
45
|
+
class TuiBadgeHarness extends TuiComponentHarness {
|
46
|
+
static { this.hostSelector = 'tui-badge'; }
|
47
|
+
async text() {
|
48
|
+
return (await this.host()).text();
|
49
|
+
}
|
50
|
+
async padding() {
|
51
|
+
return (await this.host()).getAttribute('data-padding');
|
52
|
+
}
|
53
|
+
async hasClass(cls) {
|
54
|
+
return (await this.host()).hasClass(cls);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
let TuiLoaderHarness = class TuiLoaderHarness extends tuiHarnessWith('tui-loader') {
|
59
|
+
constructor() {
|
60
|
+
super(...arguments);
|
61
|
+
this.loader = this.locatorForOptional('fieldset.t-content + .t-loader');
|
62
|
+
}
|
63
|
+
async isLoading() {
|
64
|
+
return !!(await this.loader());
|
65
|
+
}
|
66
|
+
async getText() {
|
67
|
+
const loader = await this.loader();
|
68
|
+
return loader?.text() ?? '';
|
69
|
+
}
|
70
|
+
};
|
71
|
+
TuiLoaderHarness = __decorate([
|
72
|
+
tuiWithPredicate
|
73
|
+
], TuiLoaderHarness);
|
74
|
+
|
75
|
+
class TuiButtonHarness extends TuiComponentHarness {
|
76
|
+
constructor() {
|
77
|
+
super(...arguments);
|
78
|
+
this.loader = this.locatorForOptional(TuiLoaderHarness);
|
79
|
+
}
|
80
|
+
static { this.hostSelector = 'button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]'; }
|
81
|
+
async isLoading() {
|
82
|
+
return !!(await this.loader());
|
83
|
+
}
|
84
|
+
async hasClass(input) {
|
85
|
+
return (await this.host()).hasClass(input);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
class TuiDayCellHarness extends ComponentHarness {
|
90
|
+
static { this.hostSelector = '.t-cell:not(.t-cell_unavailable)'; }
|
91
|
+
static with(options) {
|
92
|
+
return new HarnessPredicate(TuiDayCellHarness, options).addOption('day', options.day, async (harness, text) => HarnessPredicate.stringMatches(harness.getText(), `${text}`));
|
93
|
+
}
|
94
|
+
async getText() {
|
95
|
+
return (await this.locatorFor('.t-item')()).text();
|
96
|
+
}
|
97
|
+
async click() {
|
98
|
+
return (await this.host()).click();
|
99
|
+
}
|
100
|
+
async hover() {
|
101
|
+
return (await this.host()).hover();
|
102
|
+
}
|
103
|
+
}
|
104
|
+
class TuiCalendarSheetHarness extends TuiComponentHarness {
|
105
|
+
static { this.hostSelector = 'tui-calendar-sheet'; }
|
106
|
+
async clickDay(day) {
|
107
|
+
const dayCell = await this.locatorFor(TuiDayCellHarness.with({ day, ancestor: '.t-row:not(.t-row_weekday)' }))();
|
108
|
+
return dayCell.click();
|
109
|
+
}
|
110
|
+
async hoverDay(day) {
|
111
|
+
const dayCell = await this.locatorFor(TuiDayCellHarness.with({ day, ancestor: '.t-row:not(.t-row_weekday)' }))();
|
112
|
+
return dayCell.hover();
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
class TuiSpinButtonHarness extends TuiComponentHarness {
|
117
|
+
static { this.hostSelector = 'tui-spin-button'; }
|
118
|
+
async isLeftDisabled() {
|
119
|
+
return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass('t-hidden');
|
120
|
+
}
|
121
|
+
async isRightDisabled() {
|
122
|
+
return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass('t-hidden');
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
class TuiCalendarSpinHarness extends TuiComponentHarness {
|
127
|
+
constructor() {
|
128
|
+
super(...arguments);
|
129
|
+
this.buttonLeft = this.locatorForOptional('button[tuiIconButton]:first-child');
|
130
|
+
this.content = this.locatorForOptional('.t-calendar-title');
|
131
|
+
this.buttonRight = this.locatorForOptional('button[tuiIconButton]:last-child');
|
132
|
+
this.button = this.locatorForOptional('#year-btn');
|
133
|
+
this.primitiveSpinButton = this.locatorFor(TuiSpinButtonHarness);
|
134
|
+
}
|
135
|
+
static { this.hostSelector = 'tui-calendar-spin'; }
|
136
|
+
async clickLeft() {
|
137
|
+
return (await this.buttonLeft())?.click();
|
138
|
+
}
|
139
|
+
async getContentText() {
|
140
|
+
return (await this.content())?.text() ?? '';
|
141
|
+
}
|
142
|
+
async clickRight() {
|
143
|
+
return (await this.buttonRight())?.click();
|
144
|
+
}
|
145
|
+
async clickYear() {
|
146
|
+
return (await this.button())?.click();
|
147
|
+
}
|
148
|
+
async isLeftDisabled() {
|
149
|
+
return (await this.primitiveSpinButton()).isLeftDisabled();
|
150
|
+
}
|
151
|
+
async isRightDisabled() {
|
152
|
+
return (await this.primitiveSpinButton()).isRightDisabled();
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
class TuiYearCellHarness extends ComponentHarness {
|
157
|
+
static { this.hostSelector = '.t-cell'; }
|
158
|
+
static with(options) {
|
159
|
+
return new HarnessPredicate(TuiYearCellHarness, options).addOption('year', options.year, async (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text));
|
160
|
+
}
|
161
|
+
async getText() {
|
162
|
+
return (await this.locatorFor('.t-item')()).text();
|
163
|
+
}
|
164
|
+
async click() {
|
165
|
+
return (await this.host()).click();
|
166
|
+
}
|
167
|
+
}
|
168
|
+
class TuiCalendarYearHarness extends TuiComponentHarness {
|
169
|
+
static { this.hostSelector = 'tui-calendar-year'; }
|
170
|
+
async clickYear(year) {
|
171
|
+
const yearCell = await this.locatorFor(TuiYearCellHarness.with({ year }))();
|
172
|
+
return yearCell.click();
|
173
|
+
}
|
174
|
+
}
|
175
|
+
|
176
|
+
class TuiCalendarHarness extends TuiComponentHarness {
|
177
|
+
constructor() {
|
178
|
+
super(...arguments);
|
179
|
+
this.getCalendarYearHarness = this.locatorForOptional(TuiCalendarYearHarness);
|
180
|
+
this.getCalendarSpinHarness = this.locatorForOptional(TuiCalendarSpinHarness);
|
181
|
+
this.getCalendarSheetHarness = this.locatorForOptional(TuiCalendarSheetHarness);
|
182
|
+
}
|
183
|
+
static { this.hostSelector = 'tui-calendar'; }
|
184
|
+
async yearPickerShown() {
|
185
|
+
return !!(await this.getCalendarYearHarness());
|
186
|
+
}
|
187
|
+
async yearMonthPaginationShown() {
|
188
|
+
return !!(await this.getCalendarSpinHarness());
|
189
|
+
}
|
190
|
+
async primitiveCalendarShown() {
|
191
|
+
return !!(await this.getCalendarSheetHarness());
|
192
|
+
}
|
193
|
+
async isPaginationLeftDisabled() {
|
194
|
+
return (await this.getCalendarSpinHarness())?.isLeftDisabled() ?? false;
|
195
|
+
}
|
196
|
+
async isPaginationRightDisabled() {
|
197
|
+
return (await this.getCalendarSpinHarness())?.isRightDisabled() ?? false;
|
198
|
+
}
|
199
|
+
async clickMonthLeft() {
|
200
|
+
return (await this.getCalendarSpinHarness())?.clickLeft();
|
201
|
+
}
|
202
|
+
async getContentText() {
|
203
|
+
return (await this.getCalendarSpinHarness())?.getContentText() ?? '';
|
204
|
+
}
|
205
|
+
async clickMonthRight() {
|
206
|
+
return (await this.getCalendarSpinHarness())?.clickRight();
|
207
|
+
}
|
208
|
+
async clickPaginationYear() {
|
209
|
+
return (await this.getCalendarSpinHarness())?.clickYear();
|
210
|
+
}
|
211
|
+
async clickPickerYear(year) {
|
212
|
+
return (await this.getCalendarYearHarness())?.clickYear(year);
|
213
|
+
}
|
214
|
+
async clickDay(day) {
|
215
|
+
return (await this.getCalendarSheetHarness())?.clickDay(day);
|
216
|
+
}
|
217
|
+
async hoverDay(day) {
|
218
|
+
return (await this.getCalendarSheetHarness())?.hoverDay(day);
|
219
|
+
}
|
220
|
+
}
|
221
|
+
|
222
|
+
class TuiSvgHarness extends TuiComponentHarness {
|
223
|
+
static { this.hostSelector = 'tui-svg'; }
|
224
|
+
async click() {
|
225
|
+
return (await this.host()).click();
|
226
|
+
}
|
227
|
+
async text() {
|
228
|
+
return (await this.host()).text();
|
229
|
+
}
|
230
|
+
async isInnerHTML() {
|
231
|
+
return !!(await this.locatorForOptional('div')());
|
232
|
+
}
|
233
|
+
async getUse() {
|
234
|
+
return ((await this.locatorForOptional('use')())?.getAttribute('xlink:href') ?? null);
|
235
|
+
}
|
236
|
+
}
|
237
|
+
|
238
|
+
class TuiThumbnailCardHarness extends TuiComponentHarness {
|
239
|
+
static { this.hostSelector = 'tui-thumbnail-card'; }
|
240
|
+
async hasPaymentSystemLogo() {
|
241
|
+
const tuiSvg = await this.locatorForOptional(TuiSvgHarness.with({ selector: '.t-payment-system-logo' }))();
|
242
|
+
return !!tuiSvg;
|
243
|
+
}
|
244
|
+
async hasBrandLogo() {
|
245
|
+
const tuiSvg = await this.locatorForOptional(TuiSvgHarness.with({ selector: '.t-brand-logo' }))();
|
246
|
+
return !!tuiSvg;
|
247
|
+
}
|
248
|
+
}
|
249
|
+
|
250
|
+
class TuiDialogHarness extends TuiContentContainerComponentHarness {
|
251
|
+
static { this.hostSelector = 'tui-dialog'; }
|
252
|
+
async getCloseButton() {
|
253
|
+
return this.locatorForOptional(TuiButtonHarness.with({
|
254
|
+
selector: '[automation-id=tui-dialog__close]',
|
255
|
+
}))();
|
256
|
+
}
|
257
|
+
}
|
258
|
+
|
259
|
+
class TuiDropdownOpenHarness extends TuiContentContainerComponentHarness {
|
260
|
+
static { this.hostSelector = '[tuiDropdownOpen]'; }
|
261
|
+
async sendSpaceKey() {
|
262
|
+
return (await this.host()).sendKeys(' ');
|
263
|
+
}
|
264
|
+
async sendEscKey() {
|
265
|
+
return (await this.host()).sendKeys(TestKey.ESCAPE);
|
266
|
+
}
|
267
|
+
}
|
268
|
+
|
269
|
+
class TuiIslandHarness extends TuiComponentHarness {
|
270
|
+
static { this.hostSelector = 'tui-island'; }
|
271
|
+
async getSize() {
|
272
|
+
if (await this.isSizeL()) {
|
273
|
+
return 'l';
|
274
|
+
}
|
275
|
+
if (await this.isSizeM()) {
|
276
|
+
return 'm';
|
277
|
+
}
|
278
|
+
return 's';
|
279
|
+
}
|
280
|
+
async getTextAlign() {
|
281
|
+
if (await this.isTextAlignLeft()) {
|
282
|
+
return 'left';
|
283
|
+
}
|
284
|
+
if (await this.isTextAlignCenter()) {
|
285
|
+
return 'center';
|
286
|
+
}
|
287
|
+
return 'right';
|
288
|
+
}
|
289
|
+
async isHoverable() {
|
290
|
+
return (await this.host()).hasClass('tui-island_hoverable');
|
291
|
+
}
|
292
|
+
async isTextAlignLeft() {
|
293
|
+
return (await this.host()).hasClass('tui-island_text-align_left');
|
294
|
+
}
|
295
|
+
async isTextAlignCenter() {
|
296
|
+
return (await this.host()).hasClass('tui-island_text-align_center');
|
297
|
+
}
|
298
|
+
async isSizeM() {
|
299
|
+
return (await this.host()).hasClass('tui-island_size_m');
|
300
|
+
}
|
301
|
+
async isSizeL() {
|
302
|
+
return (await this.host()).hasClass('tui-island_size_l');
|
303
|
+
}
|
304
|
+
}
|
305
|
+
|
306
|
+
class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {
|
307
|
+
static { this.hostSelector = 'tui-primitive-textfield'; }
|
308
|
+
async valueDecorationText() {
|
309
|
+
return (await this.locatorFor('tui-value-decoration')()).text();
|
310
|
+
}
|
311
|
+
async inputPlaceholder() {
|
312
|
+
return (await this.locatorFor('input')()).getProperty('placeholder');
|
313
|
+
}
|
314
|
+
}
|
315
|
+
|
316
|
+
class TuiSelectHarness extends TuiComponentHarness {
|
317
|
+
constructor() {
|
318
|
+
super(...arguments);
|
319
|
+
this.dropdown = this.locatorFor(TuiDropdownOpenHarness);
|
320
|
+
}
|
321
|
+
static { this.hostSelector = 'tui-select'; }
|
322
|
+
async sendSpaceKey() {
|
323
|
+
return (await this.dropdown()).sendSpaceKey();
|
324
|
+
}
|
325
|
+
async sendEscKey() {
|
326
|
+
return (await this.dropdown()).sendEscKey();
|
327
|
+
}
|
328
|
+
}
|
329
|
+
|
330
|
+
class TuiTagHarness extends TuiComponentHarness {
|
331
|
+
static { this.hostSelector = 'tui-tag'; }
|
332
|
+
async getCrossIcon() {
|
333
|
+
return this.locatorForOptional('.t-icon')();
|
334
|
+
}
|
335
|
+
async getBackgroundColor() {
|
336
|
+
const div = await this.locatorFor(':first-child')();
|
337
|
+
return div.getCssValue('background-color');
|
338
|
+
}
|
339
|
+
async getInput() {
|
340
|
+
return this.locatorForOptional('input.t-edit')();
|
341
|
+
}
|
342
|
+
async sendEnter() {
|
343
|
+
return (await this.host()).sendKeys(TestKey.ENTER);
|
344
|
+
}
|
345
|
+
async sendBackspace() {
|
346
|
+
return (await this.host()).sendKeys(TestKey.BACKSPACE);
|
347
|
+
}
|
348
|
+
async sendDelete() {
|
349
|
+
return (await this.host()).sendKeys(TestKey.DELETE);
|
350
|
+
}
|
351
|
+
}
|
352
|
+
|
353
|
+
class TuiTextfieldHarness extends TuiComponentHarness {
|
354
|
+
static { this.hostSelector = 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]'; }
|
355
|
+
async sendSpaceKey() {
|
356
|
+
return (await this.host()).sendKeys(' ');
|
357
|
+
}
|
358
|
+
}
|
359
|
+
|
360
|
+
/**
|
361
|
+
* Generated bundle index. Do not edit.
|
362
|
+
*/
|
363
|
+
|
364
|
+
export { TuiAccordionHarness, TuiAccordionItemHarness, TuiAvatarHarness, TuiBadgeHarness, TuiButtonHarness, TuiCalendarHarness, TuiCalendarSheetHarness, TuiCalendarSpinHarness, TuiCalendarYearHarness, TuiDialogHarness, TuiDropdownOpenHarness, TuiIslandHarness, TuiLoaderHarness, TuiPrimitiveTextfieldHarness, TuiSelectHarness, TuiSpinButtonHarness, TuiSvgHarness, TuiTagHarness, TuiTextfieldHarness, TuiThumbnailCardHarness };
|
365
|
+
//# sourceMappingURL=taiga-ui-testing-core.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-core.mjs","sources":["../../../projects/testing/core/accordion.harness.ts","../../../projects/testing/core/accordion-item.harness.ts","../../../projects/testing/core/avatar.harness.ts","../../../projects/testing/core/badge.harness.ts","../../../projects/testing/core/loader.harness.ts","../../../projects/testing/core/button.harness.ts","../../../projects/testing/core/calendar-sheet.harness.ts","../../../projects/testing/core/spin-button.harness.ts","../../../projects/testing/core/calendar-spin.harness.ts","../../../projects/testing/core/calendar-year.harness.ts","../../../projects/testing/core/calendar.harness.ts","../../../projects/testing/core/svg.harness.ts","../../../projects/testing/core/card.harness.ts","../../../projects/testing/core/dialog.harness.ts","../../../projects/testing/core/dropdown-open.harness.ts","../../../projects/testing/core/island.harness.ts","../../../projects/testing/core/primitive-textfield.harness.ts","../../../projects/testing/core/select.harness.ts","../../../projects/testing/core/tag.harness.ts","../../../projects/testing/core/textfield.harness.ts","../../../projects/testing/core/taiga-ui-testing-core.ts"],"sourcesContent":["import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAccordionHarness extends TuiContentContainerComponentHarness {\n public static hostSelector = 'tui-accordion';\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAccordionItemHarness extends TuiContentContainerComponentHarness {\n public static hostSelector = 'tui-accordion-item';\n\n private readonly header = this.locatorFor('.t-header');\n\n public async getTitle(): Promise<string> {\n return (await this.locatorFor('.t-title')()).text();\n }\n\n public async getContent(): Promise<string | null> {\n return (await this.locatorForOptional('.t-content')())?.text() ?? null;\n }\n\n public async clickHeader(): Promise<void> {\n return (await this.locatorFor('.t-header')()).click();\n }\n\n public async getBorders(): Promise<string | null> {\n return (await this.host()).getAttribute('data-borders');\n }\n\n public async hasArrow(): Promise<boolean> {\n return !!(await this.locatorForOptional('.t-icon')()) ?? false;\n }\n\n public async focus(): Promise<void> {\n return (await this.header()).focus();\n }\n\n public async sendEscKey(): Promise<void> {\n return (await this.header()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiAvatarHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-avatar';\n\n protected async text(): Promise<string> {\n return (await this.host()).text();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiBadgeHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-badge';\n\n protected async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n protected async padding(): Promise<string | null> {\n return (await this.host()).getAttribute('data-padding');\n }\n\n protected async hasClass(cls: string): Promise<boolean> {\n return (await this.host()).hasClass(cls);\n }\n}\n","import {tuiHarnessWith, tuiWithPredicate} from '@taiga-ui/testing/utils';\n\n@tuiWithPredicate\nexport class TuiLoaderHarness extends tuiHarnessWith<TuiLoaderHarness>('tui-loader') {\n private readonly loader = this.locatorForOptional('fieldset.t-content + .t-loader');\n\n public async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n public async getText(): Promise<string> {\n const loader = await this.loader();\n\n return loader?.text() ?? '';\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiLoaderHarness} from './loader.harness';\n\nexport class TuiButtonHarness extends TuiComponentHarness {\n public static hostSelector =\n 'button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]';\n\n private readonly loader = this.locatorForOptional(TuiLoaderHarness);\n\n public async isLoading(): Promise<boolean> {\n return !!(await this.loader());\n }\n\n public async hasClass(input: string): Promise<boolean> {\n return (await this.host()).hasClass(input);\n }\n}\n","import type {BaseHarnessFilters} from '@angular/cdk/testing';\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\ninterface TuiDayCellHarnessFilters extends BaseHarnessFilters {\n day: number;\n}\n\nclass TuiDayCellHarness extends ComponentHarness {\n public static hostSelector = '.t-cell:not(.t-cell_unavailable)';\n\n public static with(\n options: TuiDayCellHarnessFilters,\n ): HarnessPredicate<TuiDayCellHarness> {\n return new HarnessPredicate(TuiDayCellHarness, options).addOption(\n 'day',\n options.day,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), `${text}`),\n );\n }\n\n public async getText(): Promise<string> {\n return (await this.locatorFor('.t-item')()).text();\n }\n\n public async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n public async hover(): Promise<void> {\n return (await this.host()).hover();\n }\n}\n\nexport class TuiCalendarSheetHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-calendar-sheet';\n\n public async clickDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: '.t-row:not(.t-row_weekday)'}),\n )();\n\n return dayCell.click();\n }\n\n public async hoverDay(day: number): Promise<void> {\n const dayCell = await this.locatorFor(\n TuiDayCellHarness.with({day, ancestor: '.t-row:not(.t-row_weekday)'}),\n )();\n\n return dayCell.hover();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiSpinButtonHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-spin-button';\n\n public async isLeftDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[0].hasClass('t-hidden');\n }\n\n public async isRightDisabled(): Promise<boolean> {\n return (await this.locatorForAll(TuiButtonHarness)())[1].hasClass('t-hidden');\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSpinButtonHarness} from './spin-button.harness';\n\nexport class TuiCalendarSpinHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-calendar-spin';\n\n private readonly buttonLeft = this.locatorForOptional(\n 'button[tuiIconButton]:first-child',\n );\n\n private readonly content = this.locatorForOptional('.t-calendar-title');\n\n private readonly buttonRight = this.locatorForOptional(\n 'button[tuiIconButton]:last-child',\n );\n\n private readonly button = this.locatorForOptional('#year-btn');\n private readonly primitiveSpinButton = this.locatorFor(TuiSpinButtonHarness);\n\n public async clickLeft(): Promise<void> {\n return (await this.buttonLeft())?.click();\n }\n\n public async getContentText(): Promise<string> {\n return (await this.content())?.text() ?? '';\n }\n\n public async clickRight(): Promise<void> {\n return (await this.buttonRight())?.click();\n }\n\n public async clickYear(): Promise<void> {\n return (await this.button())?.click();\n }\n\n public async isLeftDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isLeftDisabled();\n }\n\n public async isRightDisabled(): Promise<boolean> {\n return (await this.primitiveSpinButton()).isRightDisabled();\n }\n}\n","import type {BaseHarnessFilters} from '@angular/cdk/testing';\nimport {ComponentHarness, HarnessPredicate} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\ninterface TuiYearCellHarnessFilters extends BaseHarnessFilters {\n year: string;\n}\n\nclass TuiYearCellHarness extends ComponentHarness {\n public static hostSelector = '.t-cell';\n\n public static with(\n options: TuiYearCellHarnessFilters,\n ): HarnessPredicate<TuiYearCellHarness> {\n return new HarnessPredicate(TuiYearCellHarness, options).addOption(\n 'year',\n options.year,\n async (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n );\n }\n\n public async getText(): Promise<string> {\n return (await this.locatorFor('.t-item')()).text();\n }\n\n public async click(): Promise<void> {\n return (await this.host()).click();\n }\n}\n\nexport class TuiCalendarYearHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-calendar-year';\n\n public async clickYear(year: string): Promise<void> {\n const yearCell = await this.locatorFor(TuiYearCellHarness.with({year}))();\n\n return yearCell.click();\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiCalendarSheetHarness} from './calendar-sheet.harness';\nimport {TuiCalendarSpinHarness} from './calendar-spin.harness';\nimport {TuiCalendarYearHarness} from './calendar-year.harness';\n\nexport class TuiCalendarHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-calendar';\n\n private readonly getCalendarYearHarness =\n this.locatorForOptional(TuiCalendarYearHarness);\n\n private readonly getCalendarSpinHarness =\n this.locatorForOptional(TuiCalendarSpinHarness);\n\n private readonly getCalendarSheetHarness = this.locatorForOptional(\n TuiCalendarSheetHarness,\n );\n\n public async yearPickerShown(): Promise<boolean> {\n return !!(await this.getCalendarYearHarness());\n }\n\n public async yearMonthPaginationShown(): Promise<boolean> {\n return !!(await this.getCalendarSpinHarness());\n }\n\n public async primitiveCalendarShown(): Promise<boolean> {\n return !!(await this.getCalendarSheetHarness());\n }\n\n public async isPaginationLeftDisabled(): Promise<boolean> {\n return (await this.getCalendarSpinHarness())?.isLeftDisabled() ?? false;\n }\n\n public async isPaginationRightDisabled(): Promise<boolean> {\n return (await this.getCalendarSpinHarness())?.isRightDisabled() ?? false;\n }\n\n public async clickMonthLeft(): Promise<void> {\n return (await this.getCalendarSpinHarness())?.clickLeft();\n }\n\n public async getContentText(): Promise<string> {\n return (await this.getCalendarSpinHarness())?.getContentText() ?? '';\n }\n\n public async clickMonthRight(): Promise<void> {\n return (await this.getCalendarSpinHarness())?.clickRight();\n }\n\n public async clickPaginationYear(): Promise<void> {\n return (await this.getCalendarSpinHarness())?.clickYear();\n }\n\n public async clickPickerYear(year: string): Promise<void> {\n return (await this.getCalendarYearHarness())?.clickYear(year);\n }\n\n public async clickDay(day: number): Promise<void> {\n return (await this.getCalendarSheetHarness())?.clickDay(day);\n }\n\n public async hoverDay(day: number): Promise<void> {\n return (await this.getCalendarSheetHarness())?.hoverDay(day);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiSvgHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-svg';\n\n public async click(): Promise<void> {\n return (await this.host()).click();\n }\n\n public async text(): Promise<string> {\n return (await this.host()).text();\n }\n\n public async isInnerHTML(): Promise<boolean> {\n return !!(await this.locatorForOptional('div')());\n }\n\n public async getUse(): Promise<string | null> {\n return (\n (await this.locatorForOptional('use')())?.getAttribute('xlink:href') ?? null\n );\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiSvgHarness} from './svg.harness';\n\nexport class TuiThumbnailCardHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-thumbnail-card';\n\n public async hasPaymentSystemLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: '.t-payment-system-logo'}),\n )();\n\n return !!tuiSvg;\n }\n\n public async hasBrandLogo(): Promise<boolean> {\n const tuiSvg = await this.locatorForOptional(\n TuiSvgHarness.with({selector: '.t-brand-logo'}),\n )();\n\n return !!tuiSvg;\n }\n}\n","import {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiButtonHarness} from './button.harness';\n\nexport class TuiDialogHarness extends TuiContentContainerComponentHarness {\n public static hostSelector = 'tui-dialog';\n\n public async getCloseButton(): Promise<TuiButtonHarness | null> {\n return this.locatorForOptional(\n TuiButtonHarness.with({\n selector: '[automation-id=tui-dialog__close]',\n }),\n )();\n }\n}\n","import {TestKey} from '@angular/cdk/testing';\nimport {TuiContentContainerComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiDropdownOpenHarness extends TuiContentContainerComponentHarness {\n public static hostSelector = '[tuiDropdownOpen]';\n\n public async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(' ');\n }\n\n public async sendEscKey(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n","import type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiIslandHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-island';\n\n public async getSize(): Promise<TuiSizeL | TuiSizeS> {\n if (await this.isSizeL()) {\n return 'l';\n }\n\n if (await this.isSizeM()) {\n return 'm';\n }\n\n return 's';\n }\n\n public async getTextAlign(): Promise<'center' | 'left' | 'right'> {\n if (await this.isTextAlignLeft()) {\n return 'left';\n }\n\n if (await this.isTextAlignCenter()) {\n return 'center';\n }\n\n return 'right';\n }\n\n public async isHoverable(): Promise<boolean> {\n return (await this.host()).hasClass('tui-island_hoverable');\n }\n\n private async isTextAlignLeft(): Promise<boolean> {\n return (await this.host()).hasClass('tui-island_text-align_left');\n }\n\n private async isTextAlignCenter(): Promise<boolean> {\n return (await this.host()).hasClass('tui-island_text-align_center');\n }\n\n private async isSizeM(): Promise<boolean> {\n return (await this.host()).hasClass('tui-island_size_m');\n }\n\n private async isSizeL(): Promise<boolean> {\n return (await this.host()).hasClass('tui-island_size_l');\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiPrimitiveTextfieldHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-primitive-textfield';\n\n public async valueDecorationText(): Promise<string> {\n return (await this.locatorFor('tui-value-decoration')()).text();\n }\n\n public async inputPlaceholder(): Promise<string> {\n return (await this.locatorFor('input')()).getProperty('placeholder');\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nimport {TuiDropdownOpenHarness} from './dropdown-open.harness';\n\nexport class TuiSelectHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-select';\n private readonly dropdown = this.locatorFor(TuiDropdownOpenHarness);\n\n public async sendSpaceKey(): Promise<void> {\n return (await this.dropdown()).sendSpaceKey();\n }\n\n public async sendEscKey(): Promise<void> {\n return (await this.dropdown()).sendEscKey();\n }\n}\n","import type {TestElement} from '@angular/cdk/testing';\nimport {TestKey} from '@angular/cdk/testing';\nimport {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiTagHarness extends TuiComponentHarness {\n public static hostSelector = 'tui-tag';\n\n public async getCrossIcon(): Promise<TestElement | null> {\n return this.locatorForOptional('.t-icon')();\n }\n\n public async getBackgroundColor(): Promise<string> {\n const div = await this.locatorFor(':first-child')();\n\n return div.getCssValue('background-color');\n }\n\n public async getInput(): Promise<TestElement | null> {\n return this.locatorForOptional('input.t-edit')();\n }\n\n public async sendEnter(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.ENTER);\n }\n\n public async sendBackspace(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.BACKSPACE);\n }\n\n public async sendDelete(): Promise<void> {\n return (await this.host()).sendKeys(TestKey.DELETE);\n }\n}\n","import {TuiComponentHarness} from '@taiga-ui/testing/utils';\n\nexport class TuiTextfieldHarness extends TuiComponentHarness {\n public static hostSelector =\n 'input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]';\n\n public async sendSpaceKey(): Promise<void> {\n return (await this.host()).sendKeys(' ');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAEA,MAAa,mBAAoB,SAAQ,mCAAmC,CAAA;aAC1D,IAAY,CAAA,YAAA,GAAG,eAAe,CAAC,EAAA;;;ACAjD,MAAa,uBAAwB,SAAQ,mCAAmC,CAAA;AAAhF,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KA6B1D;aA/BiB,IAAY,CAAA,YAAA,GAAG,oBAAH,CAAwB,EAAA;AAI3C,IAAA,MAAM,QAAQ,GAAA;AACjB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;KACvD;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC;KAC1E;AAEM,IAAA,MAAM,WAAW,GAAA;AACpB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;KACzD;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;KAC3D;AAEM,IAAA,MAAM,QAAQ,GAAA;AACjB,QAAA,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;KAClE;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC;KACxC;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACzD;;;AChCL,MAAa,gBAAiB,SAAQ,mBAAmB,CAAA;aACvC,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC,EAAA;AAEhC,IAAA,MAAM,IAAI,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACrC;;;ACLL,MAAa,eAAgB,SAAQ,mBAAmB,CAAA;aACtC,IAAY,CAAA,YAAA,GAAG,WAAW,CAAC,EAAA;AAE/B,IAAA,MAAM,IAAI,GAAA;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACrC;AAES,IAAA,MAAM,OAAO,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;KAC3D;IAES,MAAM,QAAQ,CAAC,GAAW,EAAA;AAChC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC5C;;;ACZQ,IAAA,gBAAgB,GAA7B,MAAa,gBAAiB,SAAQ,cAAc,CAAmB,YAAY,CAAC,CAAA;AAApF,IAAA,WAAA,GAAA;;AACqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,CAAC,CAAC;KAWvF;AATU,IAAA,MAAM,SAAS,GAAA;QAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAClC;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AAEnC,QAAA,OAAO,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KAC/B;EACJ;AAZY,gBAAgB,GAAA,UAAA,CAAA;IAD5B,gBAAgB;AACJ,CAAA,EAAA,gBAAgB,CAY5B;;ACXD,MAAa,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAIqB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;KASvE;aAZiB,IAAY,CAAA,YAAA,GACtB,0EADsB,CACqD,EAAA;AAIxE,IAAA,MAAM,SAAS,GAAA;QAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAClC;IAEM,MAAM,QAAQ,CAAC,KAAa,EAAA;AAC/B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC9C;;;ACRL,MAAM,iBAAkB,SAAQ,gBAAgB,CAAA;aAC9B,IAAY,CAAA,YAAA,GAAG,kCAAkC,CAAC,EAAA;IAEzD,OAAO,IAAI,CACd,OAAiC,EAAA;AAEjC,QAAA,OAAO,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC7D,KAAK,EACL,OAAO,CAAC,GAAG,EACX,OAAO,OAAO,EAAE,IAAI,KAChB,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAA,EAAG,IAAI,CAAE,CAAA,CAAC,CACnE,CAAC;KACL;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;KACtD;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACtC;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACtC;;AAGL,MAAa,uBAAwB,SAAQ,mBAAmB,CAAA;aAC9C,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC,EAAA;IAE3C,MAAM,QAAQ,CAAC,GAAW,EAAA;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CACjC,iBAAiB,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,4BAA4B,EAAC,CAAC,CACxE,EAAE,CAAC;AAEJ,QAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;KAC1B;IAEM,MAAM,QAAQ,CAAC,GAAW,EAAA;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CACjC,iBAAiB,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,4BAA4B,EAAC,CAAC,CACxE,EAAE,CAAC;AAEJ,QAAA,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;KAC1B;;;AChDL,MAAa,oBAAqB,SAAQ,mBAAmB,CAAA;aAC3C,IAAY,CAAA,YAAA,GAAG,iBAAiB,CAAC,EAAA;AAExC,IAAA,MAAM,cAAc,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACjF;AAEM,IAAA,MAAM,eAAe,GAAA;AACxB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACjF;;;ACTL,MAAa,sBAAuB,SAAQ,mBAAmB,CAAA;AAA/D,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,kBAAkB,CACjD,mCAAmC,CACtC,CAAC;AAEe,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAEvD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAClD,kCAAkC,CACrC,CAAC;AAEe,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;KAyBhF;aAtCiB,IAAY,CAAA,YAAA,GAAG,mBAAH,CAAuB,EAAA;AAe1C,IAAA,MAAM,SAAS,GAAA;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,EAAE,CAAC;KAC7C;AAEM,IAAA,MAAM,cAAc,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;KAC/C;AAEM,IAAA,MAAM,UAAU,GAAA;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC;KAC9C;AAEM,IAAA,MAAM,SAAS,GAAA;QAClB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;KACzC;AAEM,IAAA,MAAM,cAAc,GAAA;QACvB,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,cAAc,EAAE,CAAC;KAC9D;AAEM,IAAA,MAAM,eAAe,GAAA;QACxB,OAAO,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,EAAE,eAAe,EAAE,CAAC;KAC/D;;;AClCL,MAAM,kBAAmB,SAAQ,gBAAgB,CAAA;aAC/B,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC,EAAA;IAEhC,OAAO,IAAI,CACd,OAAkC,EAAA;AAElC,QAAA,OAAO,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,CAC9D,MAAM,EACN,OAAO,CAAC,IAAI,EACZ,OAAO,OAAO,EAAE,IAAI,KAChB,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAC9D,CAAC;KACL;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;KACtD;AAEM,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACtC;;AAGL,MAAa,sBAAuB,SAAQ,mBAAmB,CAAA;aAC7C,IAAY,CAAA,YAAA,GAAG,mBAAmB,CAAC,EAAA;IAE1C,MAAM,SAAS,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC;AAE1E,QAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC;KAC3B;;;AChCL,MAAa,kBAAmB,SAAQ,mBAAmB,CAAA;AAA3D,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,sBAAsB,GACnC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;AAEnC,QAAA,IAAA,CAAA,sBAAsB,GACnC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;AAEnC,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAC9D,uBAAuB,CAC1B,CAAC;KAiDL;aA3DiB,IAAY,CAAA,YAAA,GAAG,cAAH,CAAkB,EAAA;AAYrC,IAAA,MAAM,eAAe,GAAA;QACxB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;KAClD;AAEM,IAAA,MAAM,wBAAwB,GAAA;QACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;KAClD;AAEM,IAAA,MAAM,sBAAsB,GAAA;QAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;KACnD;AAEM,IAAA,MAAM,wBAAwB,GAAA;AACjC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,cAAc,EAAE,IAAI,KAAK,CAAC;KAC3E;AAEM,IAAA,MAAM,yBAAyB,GAAA;AAClC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,eAAe,EAAE,IAAI,KAAK,CAAC;KAC5E;AAEM,IAAA,MAAM,cAAc,GAAA;QACvB,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;KAC7D;AAEM,IAAA,MAAM,cAAc,GAAA;AACvB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,CAAC;KACxE;AAEM,IAAA,MAAM,eAAe,GAAA;QACxB,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,UAAU,EAAE,CAAC;KAC9D;AAEM,IAAA,MAAM,mBAAmB,GAAA;QAC5B,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,SAAS,EAAE,CAAC;KAC7D;IAEM,MAAM,eAAe,CAAC,IAAY,EAAA;AACrC,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;KACjE;IAEM,MAAM,QAAQ,CAAC,GAAW,EAAA;AAC7B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;KAChE;IAEM,MAAM,QAAQ,CAAC,GAAW,EAAA;AAC7B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,uBAAuB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;KAChE;;;AC/DL,MAAa,aAAc,SAAQ,mBAAmB,CAAA;aACpC,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC,EAAA;AAEhC,IAAA,MAAM,KAAK,GAAA;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;KACtC;AAEM,IAAA,MAAM,IAAI,GAAA;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;KACrC;AAEM,IAAA,MAAM,WAAW,GAAA;AACpB,QAAA,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACrD;AAEM,IAAA,MAAM,MAAM,GAAA;AACf,QAAA,QACI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,EAC9E;KACL;;;ACjBL,MAAa,uBAAwB,SAAQ,mBAAmB,CAAA;aAC9C,IAAY,CAAA,YAAA,GAAG,oBAAoB,CAAC,EAAA;AAE3C,IAAA,MAAM,oBAAoB,GAAA;AAC7B,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxC,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,wBAAwB,EAAC,CAAC,CAC3D,EAAE,CAAC;QAEJ,OAAO,CAAC,CAAC,MAAM,CAAC;KACnB;AAEM,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CACxC,aAAa,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,eAAe,EAAC,CAAC,CAClD,EAAE,CAAC;QAEJ,OAAO,CAAC,CAAC,MAAM,CAAC;KACnB;;;ACjBL,MAAa,gBAAiB,SAAQ,mCAAmC,CAAA;aACvD,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC,EAAA;AAEnC,IAAA,MAAM,cAAc,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAC1B,gBAAgB,CAAC,IAAI,CAAC;AAClB,YAAA,QAAQ,EAAE,mCAAmC;SAChD,CAAC,CACL,EAAE,CAAC;KACP;;;ACVL,MAAa,sBAAuB,SAAQ,mCAAmC,CAAA;aAC7D,IAAY,CAAA,YAAA,GAAG,mBAAmB,CAAC,EAAA;AAE1C,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC5C;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACvD;;;ACTL,MAAa,gBAAiB,SAAQ,mBAAmB,CAAA;aACvC,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC,EAAA;AAEnC,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE;AACtB,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;AAED,QAAA,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE;AACtB,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;AAED,QAAA,OAAO,GAAG,CAAC;KACd;AAEM,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,IAAI,MAAM,IAAI,CAAC,eAAe,EAAE,EAAE;AAC9B,YAAA,OAAO,MAAM,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,MAAM,IAAI,CAAC,iBAAiB,EAAE,EAAE;AAChC,YAAA,OAAO,QAAQ,CAAC;AACnB,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAClB;AAEM,IAAA,MAAM,WAAW,GAAA;AACpB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;KAC/D;AAEO,IAAA,MAAM,eAAe,GAAA;AACzB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC;KACrE;AAEO,IAAA,MAAM,iBAAiB,GAAA;AAC3B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,8BAA8B,CAAC,CAAC;KACvE;AAEO,IAAA,MAAM,OAAO,GAAA;AACjB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;KAC5D;AAEO,IAAA,MAAM,OAAO,GAAA;AACjB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC;KAC5D;;;AC9CL,MAAa,4BAA6B,SAAQ,mBAAmB,CAAA;aACnD,IAAY,CAAA,YAAA,GAAG,yBAAyB,CAAC,EAAA;AAEhD,IAAA,MAAM,mBAAmB,GAAA;AAC5B,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;KACnE;AAEM,IAAA,MAAM,gBAAgB,GAAA;AACzB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;KACxE;;;ACPL,MAAa,gBAAiB,SAAQ,mBAAmB,CAAA;AAAzD,IAAA,WAAA,GAAA;;AAEqB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;KASvE;aAViB,IAAY,CAAA,YAAA,GAAG,YAAH,CAAgB,EAAA;AAGnC,IAAA,MAAM,YAAY,GAAA;QACrB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,CAAC;KACjD;AAEM,IAAA,MAAM,UAAU,GAAA;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC;KAC/C;;;ACVL,MAAa,aAAc,SAAQ,mBAAmB,CAAA;aACpC,IAAY,CAAA,YAAA,GAAG,SAAS,CAAC,EAAA;AAEhC,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;KAC/C;AAEM,IAAA,MAAM,kBAAkB,GAAA;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;AAEpD,QAAA,OAAO,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;KAC9C;AAEM,IAAA,MAAM,QAAQ,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;KACpD;AAEM,IAAA,MAAM,SAAS,GAAA;AAClB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACtD;AAEM,IAAA,MAAM,aAAa,GAAA;AACtB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC1D;AAEM,IAAA,MAAM,UAAU,GAAA;AACnB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACvD;;;AC7BL,MAAa,mBAAoB,SAAQ,mBAAmB,CAAA;aAC1C,IAAY,CAAA,YAAA,GACtB,yDAAyD,CAAC,EAAA;AAEvD,IAAA,MAAM,YAAY,GAAA;AACrB,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC5C;;;ACRL;;AAEG;;;;"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-exceptions.mjs","sources":["../../../projects/testing/exceptions/element-is-not-input.exception.ts","../../../projects/testing/exceptions/field-not-found.exception.ts","../../../projects/testing/exceptions/taiga-ui-testing-exceptions.ts"],"sourcesContent":["export class TuiElementIsNotInputException extends Error {\n constructor(automationId: string) {\n super(`Element ${automationId} is not <input />`);\n }\n}\n","export class TuiFieldNotFoundException extends Error {\n constructor(automationId: string) {\n super(`Field ${automationId} not found`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAM,MAAO,6BAA8B,SAAQ,KAAK,CAAA;AACpD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,QAAA,EAAW,YAAY,CAAA,iBAAA,CAAmB,CAAC,CAAC;KACrD;AACJ;;ACJK,MAAO,yBAA0B,SAAQ,KAAK,CAAA;AAChD,IAAA,WAAA,CAAY,YAAoB,EAAA;AAC5B,QAAA,KAAK,CAAC,CAAA,MAAA,EAAS,YAAY,CAAA,UAAA,CAAY,CAAC,CAAC;KAC5C;AACJ;;ACJD;;AAEG;;;;"}
|
@@ -1,11 +1,13 @@
|
|
1
|
-
import { TUI_SANITIZER } from '@taiga-ui/
|
1
|
+
import { TUI_SANITIZER } from '@taiga-ui/legacy/tokens';
|
2
2
|
|
3
3
|
class TuiMockEvent extends Event {
|
4
4
|
constructor(type, options = {}) {
|
5
5
|
super(type, options);
|
6
6
|
const event = new Event(type);
|
7
7
|
for (const key in options) {
|
8
|
-
|
8
|
+
if (options.hasOwnProperty(key)) {
|
9
|
+
Object.defineProperty(event, key, { value: options[key] });
|
10
|
+
}
|
9
11
|
}
|
10
12
|
// @ts-ignore
|
11
13
|
return event;
|
@@ -35,4 +37,4 @@ function tuiSwitchNgDevMode(enable) {
|
|
35
37
|
*/
|
36
38
|
|
37
39
|
export { TUI_SANITIZER_MOCK, TuiMockEvent, tuiSwitchNgDevMode };
|
38
|
-
//# sourceMappingURL=taiga-ui-testing-mocks.
|
40
|
+
//# sourceMappingURL=taiga-ui-testing-mocks.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-mocks.mjs","sources":["../../../projects/testing/mocks/event.ts","../../../projects/testing/mocks/sanitizer.ts","../../../projects/testing/mocks/switch-ng-dev-mode.ts","../../../projects/testing/mocks/taiga-ui-testing-mocks.ts"],"sourcesContent":["export class TuiMockEvent<T> extends Event {\n constructor(type: string, options: CustomEventInit<T> & Record<string, any> = {}) {\n super(type, options);\n\n const event = new Event(type);\n\n for (const key in options) {\n if (options.hasOwnProperty(key)) {\n Object.defineProperty(event, key, {value: options[key]});\n }\n }\n\n // @ts-ignore\n return event;\n }\n}\n","import type {SecurityContext} from '@angular/core';\nimport {TUI_SANITIZER} from '@taiga-ui/legacy/tokens';\n\nexport const TUI_SANITIZER_MOCK = {\n provide: TUI_SANITIZER,\n useValue: {\n sanitize(_context: SecurityContext, src: string) {\n // Skip error\n // WARNING: sanitizing HTML stripped some content, see\n // https://g.co/ng/security#xss\n return src;\n },\n },\n};\n","declare const global: Record<any, any> & Window;\n\nexport function tuiSwitchNgDevMode(enable: boolean): void {\n if (global) {\n global.ngDevMode = enable;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAM,MAAO,YAAgB,SAAQ,KAAK,CAAA;IACtC,WAAY,CAAA,IAAY,EAAE,OAAA,GAAoD,EAAE,EAAA;AAC5E,QAAA,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAErB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAE9B,QAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;AACvB,YAAA,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC7B,gBAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;AAC5D,aAAA;AACJ,SAAA;;AAGD,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ;;ACZY,MAAA,kBAAkB,GAAG;AAC9B,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE;QACN,QAAQ,CAAC,QAAyB,EAAE,GAAW,EAAA;;;;AAI3C,YAAA,OAAO,GAAG,CAAC;SACd;AACJ,KAAA;;;ACVC,SAAU,kBAAkB,CAAC,MAAe,EAAA;AAC9C,IAAA,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC;AAC7B,KAAA;AACL;;ACNA;;AAEG;;;;"}
|
package/{fesm2015/taiga-ui-testing-setup-jest.js → fesm2022/taiga-ui-testing-setup-jest.mjs}
RENAMED
@@ -1,9 +1,9 @@
|
|
1
1
|
/// <reference types="jest" />
|
2
|
-
const { TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock } = require(
|
2
|
+
const { TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock } = require('node:util');
|
3
3
|
global.TextEncoder = TextEncoderMock;
|
4
4
|
global.TextDecoder = TextDecoderMock;
|
5
5
|
// @ts-ignore
|
6
|
-
global.document.execCommand =
|
6
|
+
global.document.execCommand = () => { };
|
7
7
|
// you can also pass the mock implementation
|
8
8
|
// to jest.fn as an argument
|
9
9
|
global.window.IntersectionObserver = jest.fn(() => ({
|
@@ -12,8 +12,8 @@ global.window.IntersectionObserver = jest.fn(() => ({
|
|
12
12
|
disconnect: jest.fn(),
|
13
13
|
}));
|
14
14
|
// Simulate window resize events
|
15
|
-
const resizeEvent = document.createEvent(
|
16
|
-
resizeEvent.initEvent(
|
15
|
+
const resizeEvent = document.createEvent('Event');
|
16
|
+
resizeEvent.initEvent('resize', true, true);
|
17
17
|
global.window.resizeTo = width => {
|
18
18
|
global.window.innerWidth = width || global.window.innerWidth;
|
19
19
|
global.window.innerHeight = width || global.window.innerHeight;
|
@@ -21,23 +21,23 @@ global.window.resizeTo = width => {
|
|
21
21
|
};
|
22
22
|
global.URL.createObjectURL = jest.fn(blob => `${blob}`);
|
23
23
|
global.URL.revokeObjectURL = jest.fn();
|
24
|
-
Object.defineProperty(global.window,
|
25
|
-
Object.defineProperty(global.window,
|
24
|
+
Object.defineProperty(global.window, 'CSS', { value: null });
|
25
|
+
Object.defineProperty(global.window, 'getComputedStyle', {
|
26
26
|
value: () => ({
|
27
|
-
display:
|
28
|
-
appearance: [
|
27
|
+
display: 'none',
|
28
|
+
appearance: ['-webkit-appearance'],
|
29
29
|
}),
|
30
30
|
});
|
31
|
-
Object.defineProperty(global.document,
|
32
|
-
value:
|
31
|
+
Object.defineProperty(global.document, 'doctype', {
|
32
|
+
value: '<!DOCTYPE html>',
|
33
33
|
});
|
34
|
-
Object.defineProperty(global.document.body.style,
|
34
|
+
Object.defineProperty(global.document.body.style, 'transform', {
|
35
35
|
value: () => ({
|
36
36
|
enumerable: true,
|
37
37
|
configurable: true,
|
38
38
|
}),
|
39
39
|
});
|
40
|
-
Object.defineProperty(global.window,
|
40
|
+
Object.defineProperty(global.window, 'matchMedia', {
|
41
41
|
writable: true,
|
42
42
|
value: jest.fn().mockImplementation(query => ({
|
43
43
|
matches: false,
|
@@ -50,11 +50,11 @@ Object.defineProperty(global.window, `matchMedia`, {
|
|
50
50
|
dispatchEvent: jest.fn(),
|
51
51
|
})),
|
52
52
|
});
|
53
|
-
Object.defineProperty(global.document,
|
53
|
+
Object.defineProperty(global.document, 'elementFromPoint', {
|
54
54
|
writable: true,
|
55
55
|
value: jest.fn().mockImplementation(() => null),
|
56
56
|
});
|
57
|
-
Object.defineProperty(global.document,
|
57
|
+
Object.defineProperty(global.document, 'createRange', {
|
58
58
|
writable: true,
|
59
59
|
value: () => {
|
60
60
|
const range = new Range();
|
@@ -77,10 +77,10 @@ Object.defineProperty(global.document, `createRange`, {
|
|
77
77
|
return range;
|
78
78
|
},
|
79
79
|
});
|
80
|
-
Object.defineProperty(window,
|
81
|
-
Object.defineProperty(global.window,
|
80
|
+
Object.defineProperty(window, 'scrollTo', jest.fn());
|
81
|
+
Object.defineProperty(global.window, 'getComputedStyle', {
|
82
82
|
value: () => ({
|
83
|
-
getPropertyValue: (_prop) =>
|
83
|
+
getPropertyValue: (_prop) => '',
|
84
84
|
}),
|
85
85
|
});
|
86
86
|
global.DataTransfer = class {
|
@@ -111,12 +111,12 @@ global.ClipboardEvent = TransferMockEvent;
|
|
111
111
|
* resulting in duplicate imports
|
112
112
|
* and conflicts resulting in the above error
|
113
113
|
*/
|
114
|
-
if (!(
|
115
|
-
require(
|
116
|
-
require(
|
114
|
+
if (!('Zone' in global)) {
|
115
|
+
require('zone.js');
|
116
|
+
require('zone.js/testing');
|
117
117
|
}
|
118
118
|
|
119
119
|
/**
|
120
120
|
* Generated bundle index. Do not edit.
|
121
121
|
*/
|
122
|
-
//# sourceMappingURL=taiga-ui-testing-setup-jest.
|
122
|
+
//# sourceMappingURL=taiga-ui-testing-setup-jest.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"taiga-ui-testing-setup-jest.mjs","sources":["../../../projects/testing/setup-jest/index.ts","../../../projects/testing/setup-jest/taiga-ui-testing-setup-jest.ts"],"sourcesContent":["/// <reference types=\"jest\" />\n\nconst {TextEncoder: TextEncoderMock, TextDecoder: TextDecoderMock} = require('node:util');\n\nglobal.TextEncoder = TextEncoderMock;\nglobal.TextDecoder = TextDecoderMock;\n\n// @ts-ignore\nglobal.document.execCommand = () => {};\n\n// you can also pass the mock implementation\n// to jest.fn as an argument\n(global.window as any).IntersectionObserver = jest.fn(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\n// Simulate window resize events\nconst resizeEvent = document.createEvent('Event');\n\nresizeEvent.initEvent('resize', true, true);\n\nglobal.window.resizeTo = width => {\n (global.window as any).innerWidth = width || global.window.innerWidth;\n (global.window as any).innerHeight = width || global.window.innerHeight;\n global.window.dispatchEvent(resizeEvent);\n};\n\nglobal.URL.createObjectURL = jest.fn(blob => `${blob}`);\nglobal.URL.revokeObjectURL = jest.fn();\n\nObject.defineProperty(global.window, 'CSS', {value: null});\n\nObject.defineProperty(global.window, 'getComputedStyle', {\n value: () => ({\n display: 'none',\n appearance: ['-webkit-appearance'],\n }),\n});\n\nObject.defineProperty(global.document, 'doctype', {\n value: '<!DOCTYPE html>',\n});\n\nObject.defineProperty(global.document.body.style, 'transform', {\n value: () => ({\n enumerable: true,\n configurable: true,\n }),\n});\n\nObject.defineProperty(global.window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation(query => ({\n matches: false,\n media: query,\n onchange: null,\n addListener: jest.fn(),\n removeListener: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n});\n\nObject.defineProperty(global.document, 'elementFromPoint', {\n writable: true,\n value: jest.fn().mockImplementation(() => null),\n});\n\nObject.defineProperty(global.document, 'createRange', {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = () => ({\n x: 0,\n y: 0,\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n toJSON: () => {},\n });\n\n range.getClientRects = () => ({\n item: () => null,\n length: 0,\n [Symbol.iterator]: jest.fn(),\n });\n\n return range;\n },\n});\n\nObject.defineProperty(window, 'scrollTo', jest.fn());\n\nObject.defineProperty(global.window, 'getComputedStyle', {\n value: () => ({\n getPropertyValue: (_prop: string) => '',\n }),\n});\n\nglobal.DataTransfer = class {\n private readonly data = new Map();\n\n public setData(format: string, data: string): void {\n this.data.set(format, data);\n }\n\n public getData(format: string): string {\n return this.data.get(format);\n }\n} as unknown as typeof DataTransfer;\n\nclass TransferMockEvent {\n protected dataTransfer: DataTransfer;\n protected relatedTarget: EventTarget;\n\n constructor(\n protected readonly type: string,\n protected readonly options: {\n clipboardData: DataTransfer;\n relatedTarget: EventTarget;\n },\n ) {\n this.dataTransfer = options.clipboardData;\n this.relatedTarget = options.relatedTarget;\n }\n}\n\nglobal.DragEvent = TransferMockEvent as unknown as typeof DragEvent;\nglobal.ClipboardEvent = TransferMockEvent as unknown as typeof ClipboardEvent;\n\n/**\n * in our jest setupFilesAfterEnv file,\n * however when running with ng test those\n * imports are already done by angular\n * resulting in duplicate imports\n * and conflicts resulting in the above error\n */\nif (!('Zone' in global)) {\n require('zone.js');\n require('zone.js/testing');\n}\n\n// @note: build empty entry point\nexport {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,EAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1F,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;AACrC,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;AAErC;AACA,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,MAAO,GAAC,CAAC;AAEvC;AACA;AACC,MAAM,CAAC,MAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO;AACzD,IAAA,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;AAClB,IAAA,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;AACpB,IAAA,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;AACxB,CAAA,CAAC,CAAC,CAAC;AAEJ;AACA,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAElD,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,IAAG;AAC5B,IAAA,MAAM,CAAC,MAAc,CAAC,UAAU,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;AACrE,IAAA,MAAM,CAAC,MAAc,CAAC,WAAW,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;AACxE,IAAA,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,IAAI,CAAA,CAAE,CAAC,CAAC;AACxD,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEvC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AAE3D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrD,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,CAAC,oBAAoB,CAAC;KACrC,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE;AAC9C,IAAA,KAAK,EAAE,iBAAiB;AAC3B,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE;AAC3D,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,YAAY,EAAE,IAAI;KACrB,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE;AAC/C,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,KAAK;AAC1C,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;AACtB,QAAA,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;AACzB,QAAA,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;AAC3B,QAAA,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;AAC9B,QAAA,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;AAC3B,KAAA,CAAC,CAAC;AACN,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,EAAE;AACvD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;AAClD,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE;AAClD,IAAA,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,MAAK;AACR,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAE1B,QAAA,KAAK,CAAC,qBAAqB,GAAG,OAAO;AACjC,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,CAAC,EAAE,CAAC;AACJ,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,MAAM,EAAE,MAAK,GAAG;AACnB,SAAA,CAAC,CAAC;AAEH,QAAA,KAAK,CAAC,cAAc,GAAG,OAAO;AAC1B,YAAA,IAAI,EAAE,MAAM,IAAI;AAChB,YAAA,MAAM,EAAE,CAAC;YACT,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE;AAC/B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KAChB;AACJ,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAErD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE;AACrD,IAAA,KAAK,EAAE,OAAO;AACV,QAAA,gBAAgB,EAAE,CAAC,KAAa,KAAK,EAAE;KAC1C,CAAC;AACL,CAAA,CAAC,CAAC;AAEH,MAAM,CAAC,YAAY,GAAG,MAAA;AAAA,IAAA,WAAA,GAAA;AACD,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;KASrC;IAPU,OAAO,CAAC,MAAc,EAAE,IAAY,EAAA;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KAC/B;AAEM,IAAA,OAAO,CAAC,MAAc,EAAA;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;KAChC;CAC8B,CAAC;AAEpC,MAAM,iBAAiB,CAAA;IAInB,WACuB,CAAA,IAAY,EACZ,OAGlB,EAAA;QAJkB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAO,CAAA,OAAA,GAAP,OAAO,CAGzB;AAED,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;KAC9C;AACJ,CAAA;AAED,MAAM,CAAC,SAAS,GAAG,iBAAgD,CAAC;AACpE,MAAM,CAAC,cAAc,GAAG,iBAAqD,CAAC;AAE9E;;;;;;AAMG;AACH,IAAI,EAAE,MAAM,IAAI,MAAM,CAAC,EAAE;IACrB,OAAO,CAAC,SAAS,CAAC,CAAC;IACnB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC9B;;ACnJD;;AAEG"}
|