@skbkontur/playwright-react-ui-components 1.13.0

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 (165) hide show
  1. package/build/index.d.ts +1 -0
  2. package/build/index.js +17 -0
  3. package/build/src/assertions/AutocompleteAssertions.d.ts +19 -0
  4. package/build/src/assertions/AutocompleteAssertions.js +177 -0
  5. package/build/src/assertions/BaseComponentAssertions.d.ts +15 -0
  6. package/build/src/assertions/BaseComponentAssertions.js +158 -0
  7. package/build/src/assertions/ButtonAssertions.d.ts +15 -0
  8. package/build/src/assertions/ButtonAssertions.js +162 -0
  9. package/build/src/assertions/CheckboxAssertions.d.ts +19 -0
  10. package/build/src/assertions/CheckboxAssertions.js +210 -0
  11. package/build/src/assertions/ComboBoxAssertions.d.ts +19 -0
  12. package/build/src/assertions/ComboBoxAssertions.js +304 -0
  13. package/build/src/assertions/ComponentListAssertions.d.ts +13 -0
  14. package/build/src/assertions/ComponentListAssertions.js +126 -0
  15. package/build/src/assertions/CurrencyInputAssertions.d.ts +15 -0
  16. package/build/src/assertions/CurrencyInputAssertions.js +212 -0
  17. package/build/src/assertions/DateInputAssertions.d.ts +15 -0
  18. package/build/src/assertions/DateInputAssertions.js +162 -0
  19. package/build/src/assertions/DatePickerAssertions.d.ts +15 -0
  20. package/build/src/assertions/DatePickerAssertions.js +162 -0
  21. package/build/src/assertions/DateRangePickerAssertions.d.ts +11 -0
  22. package/build/src/assertions/DateRangePickerAssertions.js +111 -0
  23. package/build/src/assertions/DropdownAssertions.d.ts +19 -0
  24. package/build/src/assertions/DropdownAssertions.js +260 -0
  25. package/build/src/assertions/DropdownMenuAssertions.d.ts +17 -0
  26. package/build/src/assertions/DropdownMenuAssertions.js +236 -0
  27. package/build/src/assertions/FileUploaderAssertions.d.ts +14 -0
  28. package/build/src/assertions/FileUploaderAssertions.js +119 -0
  29. package/build/src/assertions/FxInputAssertions.d.ts +17 -0
  30. package/build/src/assertions/FxInputAssertions.js +189 -0
  31. package/build/src/assertions/InputAssertions.d.ts +19 -0
  32. package/build/src/assertions/InputAssertions.js +177 -0
  33. package/build/src/assertions/KebabAssertions.d.ts +13 -0
  34. package/build/src/assertions/KebabAssertions.js +189 -0
  35. package/build/src/assertions/LabelAssertions.d.ts +19 -0
  36. package/build/src/assertions/LabelAssertions.js +144 -0
  37. package/build/src/assertions/LinkAssertions.d.ts +17 -0
  38. package/build/src/assertions/LinkAssertions.js +187 -0
  39. package/build/src/assertions/LoaderAssertions.d.ts +8 -0
  40. package/build/src/assertions/LoaderAssertions.js +78 -0
  41. package/build/src/assertions/MenuItemAssertations.d.ts +11 -0
  42. package/build/src/assertions/MenuItemAssertations.js +114 -0
  43. package/build/src/assertions/PagingAssertions.d.ts +15 -0
  44. package/build/src/assertions/PagingAssertions.js +149 -0
  45. package/build/src/assertions/PortalAssertions.d.ts +9 -0
  46. package/build/src/assertions/PortalAssertions.js +90 -0
  47. package/build/src/assertions/RadioAssertions.d.ts +19 -0
  48. package/build/src/assertions/RadioAssertions.js +210 -0
  49. package/build/src/assertions/RadioGroupAssertions.d.ts +15 -0
  50. package/build/src/assertions/RadioGroupAssertions.js +233 -0
  51. package/build/src/assertions/SelectAssertions.d.ts +15 -0
  52. package/build/src/assertions/SelectAssertions.js +211 -0
  53. package/build/src/assertions/SpinnerAssertions.d.ts +8 -0
  54. package/build/src/assertions/SpinnerAssertions.js +78 -0
  55. package/build/src/assertions/TabAssertions.d.ts +17 -0
  56. package/build/src/assertions/TabAssertions.js +187 -0
  57. package/build/src/assertions/TabsAssertions.d.ts +11 -0
  58. package/build/src/assertions/TabsAssertions.js +130 -0
  59. package/build/src/assertions/TextareaAssertions.d.ts +15 -0
  60. package/build/src/assertions/TextareaAssertions.js +162 -0
  61. package/build/src/assertions/ToastAssertions.d.ts +8 -0
  62. package/build/src/assertions/ToastAssertions.js +78 -0
  63. package/build/src/assertions/ToggleAssertions.d.ts +17 -0
  64. package/build/src/assertions/ToggleAssertions.js +186 -0
  65. package/build/src/assertions/TokenAssertions.d.ts +17 -0
  66. package/build/src/assertions/TokenAssertions.js +159 -0
  67. package/build/src/assertions/TokenInputAssertions.d.ts +16 -0
  68. package/build/src/assertions/TokenInputAssertions.js +170 -0
  69. package/build/src/assertions/TooltipAssertions.d.ts +11 -0
  70. package/build/src/assertions/TooltipAssertions.js +114 -0
  71. package/build/src/assertions/index.d.ts +34 -0
  72. package/build/src/assertions/index.js +71 -0
  73. package/build/src/components/Autocomplete.d.ts +25 -0
  74. package/build/src/components/Autocomplete.js +256 -0
  75. package/build/src/components/BaseComponent.d.ts +18 -0
  76. package/build/src/components/BaseComponent.js +159 -0
  77. package/build/src/components/Button.d.ts +21 -0
  78. package/build/src/components/Button.js +146 -0
  79. package/build/src/components/Checkbox.d.ts +21 -0
  80. package/build/src/components/Checkbox.js +161 -0
  81. package/build/src/components/ComboBox.d.ts +41 -0
  82. package/build/src/components/ComboBox.js +292 -0
  83. package/build/src/components/ComponentList.d.ts +21 -0
  84. package/build/src/components/ComponentList.js +203 -0
  85. package/build/src/components/CurrencyInput.d.ts +21 -0
  86. package/build/src/components/CurrencyInput.js +201 -0
  87. package/build/src/components/DateInput.d.ts +18 -0
  88. package/build/src/components/DateInput.js +195 -0
  89. package/build/src/components/DatePicker.d.ts +20 -0
  90. package/build/src/components/DatePicker.js +205 -0
  91. package/build/src/components/DateRangePicker.d.ts +20 -0
  92. package/build/src/components/DateRangePicker.js +111 -0
  93. package/build/src/components/Dropdown.d.ts +35 -0
  94. package/build/src/components/Dropdown.js +322 -0
  95. package/build/src/components/DropdownMenu.d.ts +40 -0
  96. package/build/src/components/DropdownMenu.js +321 -0
  97. package/build/src/components/FileUploader.d.ts +54 -0
  98. package/build/src/components/FileUploader.js +213 -0
  99. package/build/src/components/FxInput.d.ts +23 -0
  100. package/build/src/components/FxInput.js +217 -0
  101. package/build/src/components/Input.d.ts +21 -0
  102. package/build/src/components/Input.js +192 -0
  103. package/build/src/components/Kebab.d.ts +27 -0
  104. package/build/src/components/Kebab.js +247 -0
  105. package/build/src/components/Label.d.ts +13 -0
  106. package/build/src/components/Label.js +94 -0
  107. package/build/src/components/Link.d.ts +16 -0
  108. package/build/src/components/Link.js +130 -0
  109. package/build/src/components/Loader.d.ts +11 -0
  110. package/build/src/components/Loader.js +103 -0
  111. package/build/src/components/MenuItem.d.ts +13 -0
  112. package/build/src/components/MenuItem.js +84 -0
  113. package/build/src/components/Paging.d.ts +25 -0
  114. package/build/src/components/Paging.js +249 -0
  115. package/build/src/components/Portal.d.ts +11 -0
  116. package/build/src/components/Portal.js +112 -0
  117. package/build/src/components/Radio.d.ts +19 -0
  118. package/build/src/components/Radio.js +156 -0
  119. package/build/src/components/RadioGroup.d.ts +21 -0
  120. package/build/src/components/RadioGroup.js +232 -0
  121. package/build/src/components/Select.d.ts +43 -0
  122. package/build/src/components/Select.js +384 -0
  123. package/build/src/components/Spinner.d.ts +12 -0
  124. package/build/src/components/Spinner.js +103 -0
  125. package/build/src/components/Tab.d.ts +16 -0
  126. package/build/src/components/Tab.js +126 -0
  127. package/build/src/components/Tabs.d.ts +18 -0
  128. package/build/src/components/Tabs.js +136 -0
  129. package/build/src/components/Textarea.d.ts +21 -0
  130. package/build/src/components/Textarea.js +186 -0
  131. package/build/src/components/Toast.d.ts +10 -0
  132. package/build/src/components/Toast.js +79 -0
  133. package/build/src/components/Toggle.d.ts +19 -0
  134. package/build/src/components/Toggle.js +151 -0
  135. package/build/src/components/Token.d.ts +13 -0
  136. package/build/src/components/Token.js +106 -0
  137. package/build/src/components/TokenInput.d.ts +44 -0
  138. package/build/src/components/TokenInput.js +319 -0
  139. package/build/src/components/Tooltip.d.ts +14 -0
  140. package/build/src/components/Tooltip.js +98 -0
  141. package/build/src/components/index.d.ts +34 -0
  142. package/build/src/components/index.js +71 -0
  143. package/build/src/index.d.ts +5 -0
  144. package/build/src/index.js +21 -0
  145. package/build/src/matchers/formattedMatchers.d.ts +37 -0
  146. package/build/src/matchers/formattedMatchers.js +125 -0
  147. package/build/src/matchers/index.d.ts +2 -0
  148. package/build/src/matchers/index.js +20 -0
  149. package/build/src/matchers/mergedExpects.d.ts +25 -0
  150. package/build/src/matchers/mergedExpects.js +6 -0
  151. package/build/src/options/AssertionOptions.d.ts +82 -0
  152. package/build/src/options/AssertionOptions.js +2 -0
  153. package/build/src/options/LocatorOptions.d.ts +342 -0
  154. package/build/src/options/LocatorOptions.js +2 -0
  155. package/build/src/options/index.d.ts +2 -0
  156. package/build/src/options/index.js +18 -0
  157. package/build/src/utils/constants.d.ts +10 -0
  158. package/build/src/utils/constants.js +15 -0
  159. package/build/src/utils/dataTidSelector.d.ts +1 -0
  160. package/build/src/utils/dataTidSelector.js +6 -0
  161. package/build/src/utils/index.d.ts +2 -0
  162. package/build/src/utils/index.js +20 -0
  163. package/build/src/utils/tooltipProvider.d.ts +4 -0
  164. package/build/src/utils/tooltipProvider.js +95 -0
  165. package/package.json +27 -0
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.MenuItem = void 0;
55
+ var react_ui_1 = require("@skbkontur/react-ui");
56
+ var BaseComponent_1 = require("./BaseComponent");
57
+ var assertions_1 = require("../assertions");
58
+ var Label_1 = require("./Label");
59
+ var dataTidSelector_1 = require("../utils/dataTidSelector");
60
+ var MenuItem = /** @class */ (function (_super) {
61
+ __extends(MenuItem, _super);
62
+ function MenuItem(rootLocator) {
63
+ var _this = _super.call(this, rootLocator) || this;
64
+ _this.rootLocator = rootLocator;
65
+ _this.contentLocator = rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.MenuItemDataTids.content));
66
+ _this.comment = new Label_1.Label(rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.MenuItemDataTids.comment)));
67
+ return _this;
68
+ }
69
+ MenuItem.prototype.getText = function (options) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0: return [4 /*yield*/, this.rootLocator.innerText(options)];
74
+ case 1: return [2 /*return*/, _a.sent()];
75
+ }
76
+ });
77
+ });
78
+ };
79
+ MenuItem.prototype.expect = function () {
80
+ return new assertions_1.MenuItemAssertations(this);
81
+ };
82
+ return MenuItem;
83
+ }(BaseComponent_1.BaseComponent));
84
+ exports.MenuItem = MenuItem;
@@ -0,0 +1,25 @@
1
+ import type { Locator } from '@playwright/test';
2
+ import { BaseComponent } from './BaseComponent';
3
+ import { Label } from './Label';
4
+ import { ComponentList } from './ComponentList';
5
+ import { PagingAssertions } from '../assertions';
6
+ import type { GetAttributeOptions } from '../options';
7
+ export declare class Paging extends BaseComponent {
8
+ private readonly nextPage;
9
+ readonly pages: ComponentList<Page>;
10
+ constructor(rootLocator: Locator);
11
+ isDisabled(options?: GetAttributeOptions): Promise<boolean>;
12
+ getPagesCount(): Promise<number>;
13
+ goToPage(pageNumber: number): Promise<void>;
14
+ goToLastPage(): Promise<void>;
15
+ getActivePageNumber(): Promise<number>;
16
+ goToNextPage(): Promise<void>;
17
+ expect(): PagingAssertions;
18
+ private checkPageConstraint;
19
+ }
20
+ declare class Page extends Label {
21
+ constructor(rootLocator: Locator);
22
+ isActive(): Promise<boolean>;
23
+ getNumber(): Promise<number>;
24
+ }
25
+ export {};
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Paging = void 0;
55
+ var react_ui_1 = require("@skbkontur/react-ui");
56
+ var BaseComponent_1 = require("./BaseComponent");
57
+ var Label_1 = require("./Label");
58
+ var ComponentList_1 = require("./ComponentList");
59
+ var utils_1 = require("../utils");
60
+ var assertions_1 = require("../assertions");
61
+ var dataTidSelector_1 = require("../utils/dataTidSelector");
62
+ var Paging = /** @class */ (function (_super) {
63
+ __extends(Paging, _super);
64
+ function Paging(rootLocator) {
65
+ var _this = _super.call(this, rootLocator) || this;
66
+ _this.pages = new ComponentList_1.ComponentList(rootLocator, function (locator) { return locator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.PagingDataTids.pageLinkWrapper)); }, function (locator) { return new Page(locator); });
67
+ _this.nextPage = new Label_1.Label(rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.PagingDataTids.forwardLink)));
68
+ return _this;
69
+ }
70
+ Paging.prototype.isDisabled = function (options) {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ return __generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0: return [4 /*yield*/, this.getAttribute(utils_1.DataVisualState.Disabled, options)];
75
+ case 1: return [2 /*return*/, (_a.sent()) !== null];
76
+ }
77
+ });
78
+ });
79
+ };
80
+ Paging.prototype.getPagesCount = function () {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var lastPage, _a;
83
+ return __generator(this, function (_b) {
84
+ switch (_b.label) {
85
+ case 0: return [4 /*yield*/, this.pages.getLastItem()];
86
+ case 1:
87
+ lastPage = _b.sent();
88
+ _b.label = 2;
89
+ case 2:
90
+ _b.trys.push([2, 4, , 5]);
91
+ return [4 /*yield*/, lastPage.getNumber()];
92
+ case 3: return [2 /*return*/, _b.sent()];
93
+ case 4:
94
+ _a = _b.sent();
95
+ throw new Error('Не удалось получить количество страниц');
96
+ case 5: return [2 /*return*/];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ Paging.prototype.goToPage = function (pageNumber) {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var page, _a;
104
+ var _this = this;
105
+ return __generator(this, function (_b) {
106
+ switch (_b.label) {
107
+ case 0: return [4 /*yield*/, this.checkPageConstraint(pageNumber)];
108
+ case 1:
109
+ _b.sent();
110
+ _b.label = 2;
111
+ case 2:
112
+ _b.trys.push([2, 5, , 6]);
113
+ return [4 /*yield*/, this.pages.getFirstItemByPredicate(function (x) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
114
+ switch (_a.label) {
115
+ case 0: return [4 /*yield*/, x.getText()];
116
+ case 1: return [2 /*return*/, (_a.sent()) === pageNumber.toString()];
117
+ }
118
+ }); }); })];
119
+ case 3:
120
+ page = _b.sent();
121
+ return [4 /*yield*/, page.click()];
122
+ case 4:
123
+ _b.sent();
124
+ return [3 /*break*/, 6];
125
+ case 5:
126
+ _a = _b.sent();
127
+ throw new Error("\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0441 \u043D\u043E\u043C\u0435\u0440\u043E\u043C ".concat(pageNumber, " \u043D\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442"));
128
+ case 6: return [2 /*return*/];
129
+ }
130
+ });
131
+ });
132
+ };
133
+ Paging.prototype.goToLastPage = function () {
134
+ return __awaiter(this, void 0, void 0, function () {
135
+ var lastPage, lastPageNumber, _a;
136
+ return __generator(this, function (_b) {
137
+ switch (_b.label) {
138
+ case 0: return [4 /*yield*/, this.pages.getLastItem()];
139
+ case 1:
140
+ lastPage = _b.sent();
141
+ _b.label = 2;
142
+ case 2:
143
+ _b.trys.push([2, 6, , 7]);
144
+ return [4 /*yield*/, lastPage.getNumber()];
145
+ case 3:
146
+ lastPageNumber = _b.sent();
147
+ return [4 /*yield*/, this.checkPageConstraint(lastPageNumber)];
148
+ case 4:
149
+ _b.sent();
150
+ return [4 /*yield*/, lastPage.click()];
151
+ case 5:
152
+ _b.sent();
153
+ return [3 /*break*/, 7];
154
+ case 6:
155
+ _a = _b.sent();
156
+ throw new Error('Не удалось получить номер последней страницы');
157
+ case 7: return [2 /*return*/];
158
+ }
159
+ });
160
+ });
161
+ };
162
+ Paging.prototype.getActivePageNumber = function () {
163
+ return __awaiter(this, void 0, void 0, function () {
164
+ var pageItem;
165
+ var _this = this;
166
+ return __generator(this, function (_a) {
167
+ switch (_a.label) {
168
+ case 0: return [4 /*yield*/, this.pages.getFirstItemByPredicate(function (x) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
169
+ return [2 /*return*/, x.hasAttribute(utils_1.DataVisualState.Active)];
170
+ }); }); })];
171
+ case 1:
172
+ pageItem = _a.sent();
173
+ return [4 /*yield*/, pageItem.getNumber()];
174
+ case 2: return [2 /*return*/, _a.sent()];
175
+ }
176
+ });
177
+ });
178
+ };
179
+ Paging.prototype.goToNextPage = function () {
180
+ return __awaiter(this, void 0, void 0, function () {
181
+ return __generator(this, function (_a) {
182
+ switch (_a.label) {
183
+ case 0: return [4 /*yield*/, this.nextPage.isDisabled()];
184
+ case 1:
185
+ if (_a.sent()) {
186
+ throw new Error('Нельзя перейти на следующую страницу. Текущая страница последняя');
187
+ }
188
+ return [4 /*yield*/, this.nextPage.click()];
189
+ case 2:
190
+ _a.sent();
191
+ return [2 /*return*/];
192
+ }
193
+ });
194
+ });
195
+ };
196
+ Paging.prototype.expect = function () {
197
+ return new assertions_1.PagingAssertions(this);
198
+ };
199
+ Paging.prototype.checkPageConstraint = function (pageNumber) {
200
+ return __awaiter(this, void 0, void 0, function () {
201
+ return __generator(this, function (_a) {
202
+ switch (_a.label) {
203
+ case 0: return [4 /*yield*/, this.getActivePageNumber()];
204
+ case 1:
205
+ if ((_a.sent()) === pageNumber) {
206
+ throw new Error('Нельзя перейти на страницу, на которой уже находишься');
207
+ }
208
+ return [2 /*return*/];
209
+ }
210
+ });
211
+ });
212
+ };
213
+ return Paging;
214
+ }(BaseComponent_1.BaseComponent));
215
+ exports.Paging = Paging;
216
+ var Page = /** @class */ (function (_super) {
217
+ __extends(Page, _super);
218
+ function Page(rootLocator) {
219
+ return _super.call(this, rootLocator) || this;
220
+ }
221
+ Page.prototype.isActive = function () {
222
+ return __awaiter(this, void 0, void 0, function () {
223
+ return __generator(this, function (_a) {
224
+ switch (_a.label) {
225
+ case 0: return [4 /*yield*/, this.getAttribute(utils_1.DataVisualState.Active)];
226
+ case 1: return [2 /*return*/, (_a.sent()) !== null];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ Page.prototype.getNumber = function () {
232
+ return __awaiter(this, void 0, void 0, function () {
233
+ var pageNumber, number;
234
+ return __generator(this, function (_a) {
235
+ switch (_a.label) {
236
+ case 0: return [4 /*yield*/, this.rootLocator.locator((0, dataTidSelector_1.getDataTidSelector)(react_ui_1.PagingDataTids.pageLink)).innerText()];
237
+ case 1:
238
+ pageNumber = _a.sent();
239
+ number = Number(pageNumber);
240
+ if (!isNaN(number)) {
241
+ return [2 /*return*/, number];
242
+ }
243
+ throw new Error('Не удалось получить номер текущей страницы');
244
+ }
245
+ });
246
+ });
247
+ };
248
+ return Page;
249
+ }(Label_1.Label));
@@ -0,0 +1,11 @@
1
+ import type { Locator } from '@playwright/test';
2
+ import { BaseComponent } from './BaseComponent';
3
+ import { PortalAssertions } from '../assertions';
4
+ export declare class Portal extends BaseComponent {
5
+ readonly rootLocator: Locator;
6
+ constructor(rootLocator: Locator);
7
+ isVisible(): Promise<boolean>;
8
+ getContainer(): Promise<Locator>;
9
+ private getContainerId;
10
+ expect(): PortalAssertions;
11
+ }
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Portal = void 0;
55
+ var test_1 = require("@playwright/test");
56
+ var BaseComponent_1 = require("./BaseComponent");
57
+ var assertions_1 = require("../assertions");
58
+ var Portal = /** @class */ (function (_super) {
59
+ __extends(Portal, _super);
60
+ function Portal(rootLocator) {
61
+ var _this = _super.call(this, rootLocator) || this;
62
+ _this.rootLocator = rootLocator;
63
+ return _this;
64
+ }
65
+ Portal.prototype.isVisible = function () {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0: return [4 /*yield*/, this.rootLocator.count()];
70
+ case 1: return [2 /*return*/, (_a.sent()) === 1];
71
+ }
72
+ });
73
+ });
74
+ };
75
+ Portal.prototype.getContainer = function () {
76
+ return __awaiter(this, void 0, void 0, function () {
77
+ var containerId;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0: return [4 /*yield*/, this.getContainerId()];
81
+ case 1:
82
+ containerId = _a.sent();
83
+ return [2 /*return*/, this.page.locator("[data-rendered-container-id='".concat(containerId, "']"))];
84
+ }
85
+ });
86
+ });
87
+ };
88
+ Portal.prototype.getContainerId = function () {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ var containerId;
91
+ return __generator(this, function (_a) {
92
+ switch (_a.label) {
93
+ case 0: return [4 /*yield*/, (0, test_1.expect)(this.rootLocator).toHaveCount(1)];
94
+ case 1:
95
+ _a.sent();
96
+ return [4 /*yield*/, this.getAttribute('data-render-container-id')];
97
+ case 2:
98
+ containerId = _a.sent();
99
+ if (containerId == null) {
100
+ throw Error("Can't get portal container id");
101
+ }
102
+ return [2 /*return*/, containerId];
103
+ }
104
+ });
105
+ });
106
+ };
107
+ Portal.prototype.expect = function () {
108
+ return new assertions_1.PortalAssertions(this);
109
+ };
110
+ return Portal;
111
+ }(BaseComponent_1.BaseComponent));
112
+ exports.Portal = Portal;
@@ -0,0 +1,19 @@
1
+ import { type Locator } from '@playwright/test';
2
+ import { BaseComponent } from './BaseComponent';
3
+ import { RadioAssertions } from '../assertions';
4
+ import type { TooltipType } from '../utils';
5
+ import type { BlurOptions, CheckOptions, FocusOptions, InnerTextOptions, InputValueOptions, IsCheckedOptions, IsDisabledOptions } from '../options';
6
+ export declare class Radio extends BaseComponent {
7
+ readonly rootLocator: Locator;
8
+ readonly inputLocator: Locator;
9
+ constructor(rootLocator: Locator);
10
+ isDisabled(options?: IsDisabledOptions): Promise<boolean>;
11
+ isChecked(options?: IsCheckedOptions): Promise<boolean>;
12
+ getText(options?: InnerTextOptions): Promise<string>;
13
+ getValue(options?: InputValueOptions): Promise<string>;
14
+ check(options?: CheckOptions): Promise<void>;
15
+ focus(options?: FocusOptions): Promise<void>;
16
+ blur(options?: BlurOptions): Promise<void>;
17
+ getTooltip(type: TooltipType): Promise<import("./Tooltip").Tooltip>;
18
+ expect(): RadioAssertions;
19
+ }
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.Radio = void 0;
55
+ var test_1 = require("@playwright/test");
56
+ var BaseComponent_1 = require("./BaseComponent");
57
+ var assertions_1 = require("../assertions");
58
+ var utils_1 = require("../utils");
59
+ var Radio = /** @class */ (function (_super) {
60
+ __extends(Radio, _super);
61
+ function Radio(rootLocator) {
62
+ var _this = _super.call(this, rootLocator) || this;
63
+ _this.rootLocator = rootLocator;
64
+ _this.inputLocator = rootLocator.locator('input');
65
+ return _this;
66
+ }
67
+ Radio.prototype.isDisabled = function (options) {
68
+ return __awaiter(this, void 0, void 0, function () {
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0: return [4 /*yield*/, this.inputLocator.isDisabled(options)];
72
+ case 1: return [2 /*return*/, _a.sent()];
73
+ }
74
+ });
75
+ });
76
+ };
77
+ Radio.prototype.isChecked = function (options) {
78
+ return __awaiter(this, void 0, void 0, function () {
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0: return [4 /*yield*/, this.inputLocator.isChecked(options)];
82
+ case 1: return [2 /*return*/, _a.sent()];
83
+ }
84
+ });
85
+ });
86
+ };
87
+ Radio.prototype.getText = function (options) {
88
+ return __awaiter(this, void 0, void 0, function () {
89
+ return __generator(this, function (_a) {
90
+ switch (_a.label) {
91
+ case 0: return [4 /*yield*/, this.rootLocator.innerText(options)];
92
+ case 1: return [2 /*return*/, _a.sent()];
93
+ }
94
+ });
95
+ });
96
+ };
97
+ Radio.prototype.getValue = function (options) {
98
+ return __awaiter(this, void 0, void 0, function () {
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0: return [4 /*yield*/, this.inputLocator.inputValue(options)];
102
+ case 1: return [2 /*return*/, _a.sent()];
103
+ }
104
+ });
105
+ });
106
+ };
107
+ Radio.prototype.check = function (options) {
108
+ return __awaiter(this, void 0, void 0, function () {
109
+ return __generator(this, function (_a) {
110
+ switch (_a.label) {
111
+ case 0: return [4 /*yield*/, this.rootLocator.check(options)];
112
+ case 1: return [2 /*return*/, _a.sent()];
113
+ }
114
+ });
115
+ });
116
+ };
117
+ Radio.prototype.focus = function (options) {
118
+ return __awaiter(this, void 0, void 0, function () {
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0: return [4 /*yield*/, (0, test_1.expect)(this.inputLocator).toBeEnabled()];
122
+ case 1:
123
+ _a.sent();
124
+ return [4 /*yield*/, this.inputLocator.focus(options)];
125
+ case 2:
126
+ _a.sent();
127
+ return [2 /*return*/];
128
+ }
129
+ });
130
+ });
131
+ };
132
+ Radio.prototype.blur = function (options) {
133
+ return __awaiter(this, void 0, void 0, function () {
134
+ return __generator(this, function (_a) {
135
+ switch (_a.label) {
136
+ case 0: return [4 /*yield*/, this.inputLocator.blur(options)];
137
+ case 1:
138
+ _a.sent();
139
+ return [2 /*return*/];
140
+ }
141
+ });
142
+ });
143
+ };
144
+ Radio.prototype.getTooltip = function (type) {
145
+ return __awaiter(this, void 0, void 0, function () {
146
+ return __generator(this, function (_a) {
147
+ return [2 /*return*/, (0, utils_1.getTooltip)(type, this)];
148
+ });
149
+ });
150
+ };
151
+ Radio.prototype.expect = function () {
152
+ return new assertions_1.RadioAssertions(this);
153
+ };
154
+ return Radio;
155
+ }(BaseComponent_1.BaseComponent));
156
+ exports.Radio = Radio;