d5-testing-library 1.9.0-alpha.21 → 1.9.0-alpha.22

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.
@@ -132,6 +132,9 @@ var init_AbstractElement = __esm({
132
132
  async getDataTestId() {
133
133
  return await this.getAttribute("data-testid");
134
134
  }
135
+ async getDataDateMode() {
136
+ return await this.getAttribute("data-datemode");
137
+ }
135
138
  };
136
139
  }
137
140
  });
@@ -781,7 +784,7 @@ var init_BooleanSelector = __esm({
781
784
  });
782
785
 
783
786
  // src/pageObjects/elements/Editors/Date/utils.ts
784
- var formatDMYDate, formatToDateTime;
787
+ var formatDMYDate, formatToDateTime, getYearMonthDay;
785
788
  var init_utils = __esm({
786
789
  "src/pageObjects/elements/Editors/Date/utils.ts"() {
787
790
  "use strict";
@@ -800,16 +803,38 @@ var init_utils = __esm({
800
803
  const [hours, minutes] = timePart.split(":").map(Number);
801
804
  return new Date(year, month - 1, day, hours, minutes, 0, 0);
802
805
  };
806
+ getYearMonthDay = (date) => {
807
+ const [year, month, day] = date.toISOString().split("T")[0].split("-");
808
+ return { year: +year, month: +month, day: +day };
809
+ };
803
810
  }
804
811
  });
805
812
 
806
- // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
807
- var import_selenium_webdriver12, BTN_CALENDAR_POPOVER_OPEN_SELECTOR, BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR, BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR, BTN_SAVE_SELECTOR, DATETIME_ALLOWED_SELECTOR, BaseDateEditor;
808
- var init_BaseDateEditor = __esm({
809
- "src/pageObjects/elements/Editors/Date/BaseDateEditor.ts"() {
813
+ // src/pageObjects/elements/Editors/Date/DateSelectMode.ts
814
+ var DateSelectMode;
815
+ var init_DateSelectMode = __esm({
816
+ "src/pageObjects/elements/Editors/Date/DateSelectMode.ts"() {
810
817
  "use strict";
811
- init_AbstractEditor();
812
- init_InputClearStrategy();
818
+ DateSelectMode = class {
819
+ static isWeek(t) {
820
+ return t === "week" /* Week */;
821
+ }
822
+ static isMonth(t) {
823
+ return t === "month" /* Month */;
824
+ }
825
+ static isWeekOrMonth(t) {
826
+ return this.isWeek(t) || this.isMonth(t);
827
+ }
828
+ };
829
+ }
830
+ });
831
+
832
+ // src/pageObjects/elements/Editors/Date/Calendar.ts
833
+ var import_selenium_webdriver12, BTN_CALENDAR_POPOVER_OPEN_SELECTOR, BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR, BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR, BTN_SAVE_SELECTOR, CALENDAR_CAPTION_SELECTOR, CALENDAR_CELL_SELECTOR, CALENDAR_PREVIOUS_SELECTOR, CALENDAR_NEXT_SELECTOR, TEXT_EDITOR_SELECTOR, movesToCalendarEndForWeek, movesToCalendarEndForMonth, Calendar;
834
+ var init_Calendar = __esm({
835
+ "src/pageObjects/elements/Editors/Date/Calendar.ts"() {
836
+ "use strict";
837
+ init_AbstractElementWithParent();
813
838
  import_selenium_webdriver12 = require("selenium-webdriver");
814
839
  init_locators();
815
840
  init_actions();
@@ -818,6 +843,191 @@ var init_BaseDateEditor = __esm({
818
843
  BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR = "DateRange__inputs-item--dateFrom";
819
844
  BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR = "DateRange__inputs-item--dateTo";
820
845
  BTN_SAVE_SELECTOR = "DateRange__button-save";
846
+ CALENDAR_CAPTION_SELECTOR = "dx-calendar-caption-button";
847
+ CALENDAR_CELL_SELECTOR = "dx-calendar-cell";
848
+ CALENDAR_PREVIOUS_SELECTOR = "dx-calendar-navigator-previous-month";
849
+ CALENDAR_NEXT_SELECTOR = "dx-calendar-navigator-next-month";
850
+ TEXT_EDITOR_SELECTOR = "dx-texteditor-input";
851
+ movesToCalendarEndForWeek = 3;
852
+ movesToCalendarEndForMonth = 1;
853
+ Calendar = class extends AbstractElementWithParent {
854
+ _parentCssSelector;
855
+ constructor({ parentCssSelector, dateFieldDataTestID, driver }) {
856
+ super("", byTestIdCssSelector(`${dateFieldDataTestID}-calendar-popover`), driver);
857
+ this._parentCssSelector = parentCssSelector;
858
+ }
859
+ async init() {
860
+ const dateField = await this.driver.findElement(import_selenium_webdriver12.By.css(this._parentCssSelector));
861
+ const button = await dateField.findElement(import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
862
+ await click(button, this.driver);
863
+ }
864
+ /**
865
+ * Переходимо на найвищий рівень календаря
866
+ */
867
+ async moveToCalendarEnd(count) {
868
+ while (count >= 0) {
869
+ const calendarElement = await this.getElement();
870
+ const button = await calendarElement.findElement(import_selenium_webdriver12.By.css(`.${CALENDAR_CAPTION_SELECTOR}`));
871
+ await click(button, this.driver);
872
+ count--;
873
+ }
874
+ }
875
+ /**
876
+ * Пошук та клік по правильному періоду (2010-2019, 2020-2029, і т.д.)
877
+ */
878
+ async choosePeriodForYear(targetYear) {
879
+ let found = false;
880
+ while (!found) {
881
+ const calendarElement = await this.getElement();
882
+ const periodCells = await calendarElement.findElements(import_selenium_webdriver12.By.css(`.${CALENDAR_CELL_SELECTOR} span`));
883
+ for (const cell of periodCells) {
884
+ const text = await cell.getText();
885
+ if (text) {
886
+ const [start, end] = text.split("-").map(Number);
887
+ if (targetYear >= start && targetYear <= end) {
888
+ await click(cell, this.driver);
889
+ found = true;
890
+ break;
891
+ }
892
+ }
893
+ }
894
+ if (!found) {
895
+ const firstPeriod = await periodCells[0].getText();
896
+ const [start] = firstPeriod.split("-").map(Number);
897
+ if (targetYear < start) {
898
+ const prevBtn = await calendarElement.findElement(import_selenium_webdriver12.By.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
899
+ await click(prevBtn, this.driver);
900
+ } else {
901
+ const nextBtn = await calendarElement.findElement(import_selenium_webdriver12.By.css(`.${CALENDAR_NEXT_SELECTOR}`));
902
+ await click(nextBtn, this.driver);
903
+ }
904
+ }
905
+ }
906
+ }
907
+ /**
908
+ * Пошук та клік по конкретному року з навігацією
909
+ */
910
+ async chooseYear(targetYear) {
911
+ let found = false;
912
+ while (!found) {
913
+ const calendarElement = await this.getElement();
914
+ const yearCells = await calendarElement.findElements(import_selenium_webdriver12.By.css(`.${CALENDAR_CELL_SELECTOR} span`));
915
+ for (const cell of yearCells) {
916
+ const text = await cell.getText();
917
+ const cellYear = Number(text);
918
+ if (!isNaN(cellYear) && cellYear === targetYear) {
919
+ await click(cell, this.driver);
920
+ found = true;
921
+ break;
922
+ }
923
+ }
924
+ if (!found) {
925
+ const firstYearText = await yearCells[0].getText();
926
+ const lastYearText = await yearCells[yearCells.length - 1].getText();
927
+ const firstYear = Number(firstYearText);
928
+ const lastYear = Number(lastYearText);
929
+ if (targetYear < firstYear) {
930
+ const prevBtn = await calendarElement.findElement(import_selenium_webdriver12.By.css(`.${CALENDAR_PREVIOUS_SELECTOR}`));
931
+ await click(prevBtn, this.driver);
932
+ } else if (targetYear > lastYear) {
933
+ const nextBtn = await calendarElement.findElement(import_selenium_webdriver12.By.css(`.${CALENDAR_NEXT_SELECTOR}`));
934
+ await click(nextBtn, this.driver);
935
+ } else {
936
+ throw new Error(`Year ${targetYear} is not in the visible range but navigation failed`);
937
+ }
938
+ }
939
+ }
940
+ }
941
+ /**
942
+ * Пошук та клік по конкретному місяцю
943
+ */
944
+ async chooseMonth(year, month) {
945
+ const calendarElement = await this.getElement();
946
+ const monthCells = await calendarElement.findElements(import_selenium_webdriver12.By.css(`.${CALENDAR_CELL_SELECTOR}`));
947
+ for (const cell of monthCells) {
948
+ const dataValue = await cell.getAttribute("data-value");
949
+ if (dataValue) {
950
+ const [cellYear, cellMonth] = dataValue.split("/").map(Number);
951
+ if (cellYear === year && cellMonth === month) {
952
+ await click(cell, this.driver);
953
+ return;
954
+ }
955
+ }
956
+ }
957
+ throw new Error(`Month ${month} for year ${year} not found`);
958
+ }
959
+ /**
960
+ * Пошук та клік по конкретному дню (ігноруємо дні з іншого місяця)
961
+ */
962
+ async chooseDay(year, month, day) {
963
+ const calendarElement = await this.getElement();
964
+ const dayCells = await calendarElement.findElements(import_selenium_webdriver12.By.css(`.${CALENDAR_CELL_SELECTOR}`));
965
+ for (const cell of dayCells) {
966
+ const dataValue = await cell.getAttribute("data-value");
967
+ if (dataValue) {
968
+ const [cellYear, cellMonth, cellDay] = dataValue.split("/").map(Number);
969
+ if (cellYear === year && cellMonth === month && cellDay === day) {
970
+ await click(cell, this.driver);
971
+ return;
972
+ }
973
+ }
974
+ }
975
+ throw new Error(`Day ${day}.${month}.${year} not found`);
976
+ }
977
+ /**
978
+ * Встановлення дати для тижня
979
+ */
980
+ async setValueForWeek(date) {
981
+ const { year, month, day } = getYearMonthDay(date);
982
+ await this.moveToCalendarEnd(movesToCalendarEndForWeek);
983
+ await this.choosePeriodForYear(year);
984
+ await this.chooseYear(year);
985
+ await this.chooseMonth(year, month);
986
+ await this.chooseDay(year, month, day);
987
+ await this.save();
988
+ }
989
+ /**
990
+ * Встановлення дати для місяця
991
+ */
992
+ async setValueForMonth(date) {
993
+ const { year, month } = getYearMonthDay(date);
994
+ await this.moveToCalendarEnd(movesToCalendarEndForMonth);
995
+ await this.chooseYear(year);
996
+ await this.chooseMonth(year, month);
997
+ await this.save();
998
+ }
999
+ async getDateFromInput() {
1000
+ const calendarPopoverElement = await this.getElement();
1001
+ return calendarPopoverElement.findElement(
1002
+ import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
1003
+ );
1004
+ }
1005
+ async getDateToInput() {
1006
+ const calendarPopoverElement = await this.getElement();
1007
+ return calendarPopoverElement.findElement(
1008
+ import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .${TEXT_EDITOR_SELECTOR}`)
1009
+ );
1010
+ }
1011
+ async save() {
1012
+ const btnOk = await this.driver.findElement(import_selenium_webdriver12.By.css(`.${BTN_SAVE_SELECTOR}`));
1013
+ await click(btnOk, this.driver);
1014
+ }
1015
+ };
1016
+ }
1017
+ });
1018
+
1019
+ // src/pageObjects/elements/Editors/Date/BaseDateEditor.ts
1020
+ var import_selenium_webdriver13, DATETIME_ALLOWED_SELECTOR, BaseDateEditor;
1021
+ var init_BaseDateEditor = __esm({
1022
+ "src/pageObjects/elements/Editors/Date/BaseDateEditor.ts"() {
1023
+ "use strict";
1024
+ init_AbstractEditor();
1025
+ init_InputClearStrategy();
1026
+ import_selenium_webdriver13 = require("selenium-webdriver");
1027
+ init_actions();
1028
+ init_utils();
1029
+ init_DateSelectMode();
1030
+ init_Calendar();
821
1031
  DATETIME_ALLOWED_SELECTOR = "dx-datebox-datetime";
822
1032
  BaseDateEditor = class extends AbstractDXEditorWithInput {
823
1033
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -825,34 +1035,52 @@ var init_BaseDateEditor = __esm({
825
1035
  this.setClearStrategy(new InputClearStrategy());
826
1036
  }
827
1037
  async getIsAllowedTime() {
828
- const dateField = await this.driver.findElement(import_selenium_webdriver12.By.css(`${this.getFullCssSelector()}`));
1038
+ const dateField = await this.driver.findElement(import_selenium_webdriver13.By.css(`${this.getFullCssSelector()}`));
829
1039
  const classString = await dateField.getAttribute("class");
830
1040
  return classString.includes(DATETIME_ALLOWED_SELECTOR);
831
1041
  }
832
- async setArrayValue(value) {
833
- const dateField = await this.driver.findElement(import_selenium_webdriver12.By.css(`${this.getFullCssSelector()}`));
1042
+ async initCalendar() {
834
1043
  const dateFieldDataTestID = await this.getDataTestId();
835
- const button = await dateField.findElement(import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_OPEN_SELECTOR}`));
836
- await click(button, this.driver);
837
- const calendarPopoverElement = await this.driver.findElement(import_selenium_webdriver12.By.css(byTestIdCssSelector(`${dateFieldDataTestID}-calendar-popover`)));
838
- const dateFromInput = await calendarPopoverElement.findElement(
839
- import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_FROM_INPUT_SELECTOR} .dx-texteditor-input`)
840
- );
841
- const dateToInput = await calendarPopoverElement.findElement(
842
- import_selenium_webdriver12.By.css(`.${BTN_CALENDAR_POPOVER_DATE_TO_INPUT_SELECTOR} .dx-texteditor-input`)
843
- );
1044
+ const calendar = new Calendar({
1045
+ parentCssSelector: this.getFullCssSelector(),
1046
+ dateFieldDataTestID,
1047
+ driver: this.driver
1048
+ });
1049
+ await calendar.init();
1050
+ return calendar;
1051
+ }
1052
+ async setValueForWeek(value) {
1053
+ const calendar = await this.initCalendar();
1054
+ await calendar.setValueForWeek(value);
1055
+ }
1056
+ async setValueForMonth(value) {
1057
+ const calendar = await this.initCalendar();
1058
+ await calendar.setValueForMonth(value);
1059
+ }
1060
+ async setArrayValue(value) {
1061
+ const calendar = await this.initCalendar();
1062
+ const dateFromInput = await calendar.getDateFromInput();
1063
+ const dateToInput = await calendar.getDateToInput();
844
1064
  await this.setSingleValue(value[0], dateFromInput);
845
1065
  await this.setSingleValue(value[1], dateToInput);
846
- const btnOk = await this.driver.findElement(import_selenium_webdriver12.By.css(`.${BTN_SAVE_SELECTOR}`));
847
- await click(btnOk, this.driver);
1066
+ await calendar.save();
848
1067
  }
849
1068
  async setSingleValue(value, inputEl) {
1069
+ const dateMode = await this.getDataDateMode();
1070
+ if (DateSelectMode.isWeek(dateMode)) {
1071
+ await this.setValueForWeek(value);
1072
+ return;
1073
+ }
1074
+ if (DateSelectMode.isMonth(dateMode)) {
1075
+ await this.setValueForMonth(value);
1076
+ return;
1077
+ }
850
1078
  const actions = this.driver.actions({ async: true });
851
1079
  const isTimeAllowed = await this.getIsAllowedTime();
852
1080
  const formattedDate = formatDMYDate(value, isTimeAllowed);
853
1081
  await click(inputEl, this.driver);
854
- await actions.move({ origin: inputEl }).sendKeys(import_selenium_webdriver12.Key.HOME).perform();
855
- await actions.move({ origin: inputEl }).sendKeys(formattedDate, import_selenium_webdriver12.Key.ENTER).perform();
1082
+ await actions.move({ origin: inputEl }).sendKeys(import_selenium_webdriver13.Key.HOME).perform();
1083
+ await actions.move({ origin: inputEl }).sendKeys(formattedDate, import_selenium_webdriver13.Key.ENTER).perform();
856
1084
  }
857
1085
  async setDateValue(value) {
858
1086
  if (Array.isArray(value)) {
@@ -866,11 +1094,11 @@ var init_BaseDateEditor = __esm({
866
1094
  });
867
1095
 
868
1096
  // src/pageObjects/elements/Editors/Date/SingleDateEditor.ts
869
- var import_selenium_webdriver13, SingleDateEditor;
1097
+ var import_selenium_webdriver14, SingleDateEditor;
870
1098
  var init_SingleDateEditor = __esm({
871
1099
  "src/pageObjects/elements/Editors/Date/SingleDateEditor.ts"() {
872
1100
  "use strict";
873
- import_selenium_webdriver13 = require("selenium-webdriver");
1101
+ import_selenium_webdriver14 = require("selenium-webdriver");
874
1102
  init_InputClearStrategy();
875
1103
  init_BaseDateEditor();
876
1104
  init_utils();
@@ -880,7 +1108,7 @@ var init_SingleDateEditor = __esm({
880
1108
  this.setClearStrategy(new InputClearStrategy());
881
1109
  }
882
1110
  async getDateElement() {
883
- return this.driver.findElement(import_selenium_webdriver13.By.css(this.getFullCssSelector() + " .dx-dropdowneditor-input-wrapper input[type=hidden]"));
1111
+ return this.driver.findElement(import_selenium_webdriver14.By.css(this.getFullCssSelector() + " .dx-dropdowneditor-input-wrapper input[type=hidden]"));
884
1112
  }
885
1113
  async getDateValue() {
886
1114
  const inputEl = await this.getDateElement();
@@ -905,11 +1133,11 @@ var init_SingleDateEditor = __esm({
905
1133
  });
906
1134
 
907
1135
  // src/pageObjects/elements/Editors/Date/DateRangeEditor.ts
908
- var import_selenium_webdriver14, DateRangeEditor;
1136
+ var import_selenium_webdriver15, DateRangeEditor;
909
1137
  var init_DateRangeEditor = __esm({
910
1138
  "src/pageObjects/elements/Editors/Date/DateRangeEditor.ts"() {
911
1139
  "use strict";
912
- import_selenium_webdriver14 = require("selenium-webdriver");
1140
+ import_selenium_webdriver15 = require("selenium-webdriver");
913
1141
  init_InputClearStrategy();
914
1142
  init_BaseDateEditor();
915
1143
  DateRangeEditor = class extends BaseDateEditor {
@@ -918,7 +1146,7 @@ var init_DateRangeEditor = __esm({
918
1146
  this.setClearStrategy(new InputClearStrategy());
919
1147
  }
920
1148
  async getDateElement() {
921
- return this.driver.findElement(import_selenium_webdriver14.By.css(this.getFullCssSelector() + " .dx-texteditor-input"));
1149
+ return this.driver.findElement(import_selenium_webdriver15.By.css(this.getFullCssSelector() + " .dx-texteditor-input"));
922
1150
  }
923
1151
  async getDateValue() {
924
1152
  const inputEl = await this.getDateElement();
@@ -989,12 +1217,12 @@ var init_DateEditor = __esm({
989
1217
  });
990
1218
 
991
1219
  // src/pageObjects/elements/Editors/HeaderFilterDictionary.ts
992
- var import_selenium_webdriver15, TAGS_SELECTOR2, DX_TAG_CONTAINER2, DX_TEXTEDITOR_EMPTY3, CUSTOM_OPTION_LIST_SELECTOR, SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2, TAG_BOX_LIST_ITEM_SELECTOR, combinedOptionHeaderFilterDictValueXpath, dropDownHeaderFilterDictionaryOptionClick, HeaderFilterDictionary;
1220
+ var import_selenium_webdriver16, TAGS_SELECTOR2, DX_TAG_CONTAINER2, DX_TEXTEDITOR_EMPTY3, CUSTOM_OPTION_LIST_SELECTOR, SELECT_BOX_OPTION_TEXT_CONTAINER_CLASS2, TAG_BOX_LIST_ITEM_SELECTOR, combinedOptionHeaderFilterDictValueXpath, dropDownHeaderFilterDictionaryOptionClick, HeaderFilterDictionary;
993
1221
  var init_HeaderFilterDictionary = __esm({
994
1222
  "src/pageObjects/elements/Editors/HeaderFilterDictionary.ts"() {
995
1223
  "use strict";
996
1224
  init_AbstractEditor();
997
- import_selenium_webdriver15 = require("selenium-webdriver");
1225
+ import_selenium_webdriver16 = require("selenium-webdriver");
998
1226
  init_actions();
999
1227
  init_locators();
1000
1228
  init_ClearButtonStrategy();
@@ -1015,9 +1243,9 @@ var init_HeaderFilterDictionary = __esm({
1015
1243
  driver,
1016
1244
  timeout: delay ? void 0 : 600,
1017
1245
  callback: async () => {
1018
- const calendarPopoverElement = await driver.findElement(import_selenium_webdriver15.By.css(calendarPopoverSelector));
1019
- const customOptionList = calendarPopoverElement.findElement(import_selenium_webdriver15.By.css(`.${CUSTOM_OPTION_LIST_SELECTOR}`));
1020
- const optElement = await customOptionList.findElement(import_selenium_webdriver15.By.xpath(combinedOptionHeaderFilterDictValueXpath(optionValue)));
1246
+ const calendarPopoverElement = await driver.findElement(import_selenium_webdriver16.By.css(calendarPopoverSelector));
1247
+ const customOptionList = calendarPopoverElement.findElement(import_selenium_webdriver16.By.css(`.${CUSTOM_OPTION_LIST_SELECTOR}`));
1248
+ const optElement = await customOptionList.findElement(import_selenium_webdriver16.By.xpath(combinedOptionHeaderFilterDictValueXpath(optionValue)));
1021
1249
  await click(optElement, driver);
1022
1250
  }
1023
1251
  });
@@ -1041,7 +1269,7 @@ var init_HeaderFilterDictionary = __esm({
1041
1269
  }
1042
1270
  }
1043
1271
  async waitOptionSelection() {
1044
- await fixElementStaleError(import_selenium_webdriver15.By.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
1272
+ await fixElementStaleError(import_selenium_webdriver16.By.css(TAG_BOX_LIST_ITEM_SELECTOR), this.driver);
1045
1273
  }
1046
1274
  async selectOption(inputEl, value, lastElement) {
1047
1275
  try {
@@ -1050,7 +1278,7 @@ var init_HeaderFilterDictionary = __esm({
1050
1278
  await dropDownHeaderFilterDictionaryOptionClick(value, this.driver, dataTEST);
1051
1279
  const textLength = await inputEl.getAttribute("value").then((value2) => value2.length);
1052
1280
  for (let i = 0; i < textLength; i++) {
1053
- await inputEl.sendKeys(import_selenium_webdriver15.Key.BACK_SPACE);
1281
+ await inputEl.sendKeys(import_selenium_webdriver16.Key.BACK_SPACE);
1054
1282
  }
1055
1283
  } catch (error) {
1056
1284
  throw error;
@@ -1065,7 +1293,7 @@ var init_HeaderFilterDictionary = __esm({
1065
1293
  return [];
1066
1294
  }
1067
1295
  const tags = await this.driver.findElements(
1068
- import_selenium_webdriver15.By.css(`${this.getFullCssSelector()} .${DX_TAG_CONTAINER2} ${TAGS_SELECTOR2}`)
1296
+ import_selenium_webdriver16.By.css(`${this.getFullCssSelector()} .${DX_TAG_CONTAINER2} ${TAGS_SELECTOR2}`)
1069
1297
  );
1070
1298
  const values = [];
1071
1299
  for (const tag of tags) {
@@ -1232,12 +1460,12 @@ var init_AbstractButton = __esm({
1232
1460
  });
1233
1461
 
1234
1462
  // src/pageObjects/elements/DXComponents/DXButton.ts
1235
- var import_selenium_webdriver17, DXButton;
1463
+ var import_selenium_webdriver18, DXButton;
1236
1464
  var init_DXButton = __esm({
1237
1465
  "src/pageObjects/elements/DXComponents/DXButton.ts"() {
1238
1466
  "use strict";
1239
1467
  init_AbstractButton();
1240
- import_selenium_webdriver17 = require("selenium-webdriver");
1468
+ import_selenium_webdriver18 = require("selenium-webdriver");
1241
1469
  DXButton = class extends AbstractButton {
1242
1470
  async getText() {
1243
1471
  const classes = await this.getClasses();
@@ -1245,7 +1473,7 @@ var init_DXButton = __esm({
1245
1473
  return null;
1246
1474
  }
1247
1475
  const el = await this.getElement();
1248
- const textEl = el.findElement(import_selenium_webdriver17.By.className("dx-button-text"));
1476
+ const textEl = el.findElement(import_selenium_webdriver18.By.className("dx-button-text"));
1249
1477
  return await textEl.getText();
1250
1478
  }
1251
1479
  };
@@ -1303,12 +1531,12 @@ var init_Panel = __esm({
1303
1531
  });
1304
1532
 
1305
1533
  // src/pageObjects/elements/Groups/TabPanel.ts
1306
- var import_selenium_webdriver18, TabPanelItem, TabPanel;
1534
+ var import_selenium_webdriver19, TabPanelItem, TabPanel;
1307
1535
  var init_TabPanel = __esm({
1308
1536
  "src/pageObjects/elements/Groups/TabPanel.ts"() {
1309
1537
  "use strict";
1310
1538
  init_AbstractGroup();
1311
- import_selenium_webdriver18 = require("selenium-webdriver");
1539
+ import_selenium_webdriver19 = require("selenium-webdriver");
1312
1540
  init_actions();
1313
1541
  TabPanelItem = class extends AbstractGroup {
1314
1542
  constructor(parentCssSelector, elementCssSelector, driver) {
@@ -1319,7 +1547,7 @@ var init_TabPanel = __esm({
1319
1547
  }
1320
1548
  async isActive() {
1321
1549
  const tabPanelItemElement = await this.getElement();
1322
- const grandparentTab = await tabPanelItemElement.findElement(import_selenium_webdriver18.By.xpath('ancestor::div[@role="tab"][1]'));
1550
+ const grandparentTab = await tabPanelItemElement.findElement(import_selenium_webdriver19.By.xpath('ancestor::div[@role="tab"][1]'));
1323
1551
  return await grandparentTab.getAttribute("aria-selected") === "true";
1324
1552
  }
1325
1553
  async getTitle() {
@@ -1338,12 +1566,12 @@ var init_TabPanel = __esm({
1338
1566
  });
1339
1567
 
1340
1568
  // src/pageObjects/elements/Groups/Accordion/AccordionItem.ts
1341
- var import_selenium_webdriver19, ACCORDION_TITLE_CONTAINER, AccordionItem;
1569
+ var import_selenium_webdriver20, ACCORDION_TITLE_CONTAINER, AccordionItem;
1342
1570
  var init_AccordionItem = __esm({
1343
1571
  "src/pageObjects/elements/Groups/Accordion/AccordionItem.ts"() {
1344
1572
  "use strict";
1345
1573
  init_AbstractGroup();
1346
- import_selenium_webdriver19 = require("selenium-webdriver");
1574
+ import_selenium_webdriver20 = require("selenium-webdriver");
1347
1575
  init_actions();
1348
1576
  ACCORDION_TITLE_CONTAINER = "accordion-title-container";
1349
1577
  AccordionItem = class extends AbstractGroup {
@@ -1356,7 +1584,7 @@ var init_AccordionItem = __esm({
1356
1584
  }
1357
1585
  async clickAccordionItemTitle() {
1358
1586
  const accordionElement = await this.getElement();
1359
- const accordTitleElement = await accordionElement.findElement(import_selenium_webdriver19.By.className(ACCORDION_TITLE_CONTAINER));
1587
+ const accordTitleElement = await accordionElement.findElement(import_selenium_webdriver20.By.className(ACCORDION_TITLE_CONTAINER));
1360
1588
  await accordTitleElement.click();
1361
1589
  }
1362
1590
  async click() {
@@ -1595,11 +1823,11 @@ function getCssRowByIndexSelector(index) {
1595
1823
  function getCssCellByIndexSelector(index) {
1596
1824
  return `td[role="gridcell"][aria-colindex="${transformInputIndex(index)}"]`;
1597
1825
  }
1598
- var import_selenium_webdriver20, getColumnByIndexCssSelector, getColumnByCaptionCssSelector, getColumnByNameCssSelector, transformInputIndex, transformOutputIndex;
1826
+ var import_selenium_webdriver21, getColumnByIndexCssSelector, getColumnByCaptionCssSelector, getColumnByNameCssSelector, transformInputIndex, transformOutputIndex;
1599
1827
  var init_utils2 = __esm({
1600
1828
  "src/pageObjects/elements/Table/utils.ts"() {
1601
1829
  "use strict";
1602
- import_selenium_webdriver20 = require("selenium-webdriver");
1830
+ import_selenium_webdriver21 = require("selenium-webdriver");
1603
1831
  getColumnByIndexCssSelector = (columnIndex) => `td[aria-colindex="${transformInputIndex(columnIndex)}"]`;
1604
1832
  getColumnByCaptionCssSelector = (caption) => `td[role="columnheader"][aria-label="Column ${caption}"]`;
1605
1833
  getColumnByNameCssSelector = (name) => `td[role="columnheader"][data-fieldname="${name}"]`;
@@ -1616,11 +1844,11 @@ var init_types3 = __esm({
1616
1844
  });
1617
1845
 
1618
1846
  // src/pageObjects/elements/Table/elements/Cell.ts
1619
- var import_selenium_webdriver21, Cell;
1847
+ var import_selenium_webdriver22, Cell;
1620
1848
  var init_Cell = __esm({
1621
1849
  "src/pageObjects/elements/Table/elements/Cell.ts"() {
1622
1850
  "use strict";
1623
- import_selenium_webdriver21 = require("selenium-webdriver");
1851
+ import_selenium_webdriver22 = require("selenium-webdriver");
1624
1852
  init_AbstractElementWithParent();
1625
1853
  init_utils2();
1626
1854
  init_types3();
@@ -1637,12 +1865,12 @@ var init_Cell = __esm({
1637
1865
  this.elementCssSelector = getCssCellByIndexSelector(index);
1638
1866
  }
1639
1867
  async getBooleanValue(cellEl) {
1640
- const booleanEl = await cellEl.findElement(import_selenium_webdriver21.By.className("boolean-widget"));
1868
+ const booleanEl = await cellEl.findElement(import_selenium_webdriver22.By.className("boolean-widget"));
1641
1869
  return await booleanEl.getAttribute("aria-checked") === "true" ? 1 : 0;
1642
1870
  }
1643
1871
  async getTagsValue(cellEl) {
1644
1872
  const tagsCssSelector = ".multiselect-container .multiselect-cell";
1645
- const tags = await cellEl.findElements(import_selenium_webdriver21.By.css(tagsCssSelector));
1873
+ const tags = await cellEl.findElements(import_selenium_webdriver22.By.css(tagsCssSelector));
1646
1874
  const values = [];
1647
1875
  for (const tag of tags) {
1648
1876
  values.push(await tag.getAttribute("textContent"));
@@ -1696,11 +1924,11 @@ var init_Cell = __esm({
1696
1924
  });
1697
1925
 
1698
1926
  // src/pageObjects/elements/Table/elements/Row.ts
1699
- var import_selenium_webdriver22, DX_SELECTION_CLASS, DX_ROW_EDIT_CLASS, DX_DATA_ROW_CLASS, Row;
1927
+ var import_selenium_webdriver23, DX_SELECTION_CLASS, DX_ROW_EDIT_CLASS, DX_DATA_ROW_CLASS, Row;
1700
1928
  var init_Row = __esm({
1701
1929
  "src/pageObjects/elements/Table/elements/Row.ts"() {
1702
1930
  "use strict";
1703
- import_selenium_webdriver22 = require("selenium-webdriver");
1931
+ import_selenium_webdriver23 = require("selenium-webdriver");
1704
1932
  init_Cell();
1705
1933
  init_utils2();
1706
1934
  init_AbstractElementWithParent();
@@ -1751,10 +1979,10 @@ var init_Row = __esm({
1751
1979
  const rowEl = await this.getElement();
1752
1980
  const isSelected = (await this.getClasses()).includes(DX_SELECTION_CLASS);
1753
1981
  if (isSelected && !preserve) {
1754
- await this.driver.actions({ async: true }).keyUp(import_selenium_webdriver22.Key.CONTROL).perform();
1982
+ await this.driver.actions({ async: true }).keyUp(import_selenium_webdriver23.Key.CONTROL).perform();
1755
1983
  }
1756
1984
  if (preserve && !isSelected) {
1757
- await this.driver.actions({ async: true }).keyDown(import_selenium_webdriver22.Key.CONTROL).perform();
1985
+ await this.driver.actions({ async: true }).keyDown(import_selenium_webdriver23.Key.CONTROL).perform();
1758
1986
  await click(rowEl, this.driver);
1759
1987
  return;
1760
1988
  }
@@ -1777,7 +2005,7 @@ var init_Row = __esm({
1777
2005
  return this.index;
1778
2006
  }
1779
2007
  async getCells() {
1780
- const cells = await this.driver.findElements(import_selenium_webdriver22.By.css(`${this.getFullCssSelector()} td[role="gridcell"]`));
2008
+ const cells = await this.driver.findElements(import_selenium_webdriver23.By.css(`${this.getFullCssSelector()} td[role="gridcell"]`));
1781
2009
  const result = [];
1782
2010
  cells.forEach((_, index) => {
1783
2011
  const newCell = this.getCellByIndex(index);
@@ -1789,7 +2017,7 @@ var init_Row = __esm({
1789
2017
  const buttonCssSelector = `.${DX_DATA_ROW_CLASS}[aria-rowindex="${transformInputIndex(
1790
2018
  this.index
1791
2019
  )}"] .${buttonClass}`;
1792
- const by = import_selenium_webdriver22.By.css(`${this.parentCssSelector} ${this.fixedTableContentCssSelector} ${buttonCssSelector}`);
2020
+ const by = import_selenium_webdriver23.By.css(`${this.parentCssSelector} ${this.fixedTableContentCssSelector} ${buttonCssSelector}`);
1793
2021
  await staleElementAction(async () => {
1794
2022
  const button = await fixElementStaleError(by, this.driver);
1795
2023
  await click(button, this.driver);
@@ -1821,11 +2049,11 @@ var init_Row = __esm({
1821
2049
  });
1822
2050
 
1823
2051
  // src/pageObjects/elements/Table/elements/Column.ts
1824
- var import_selenium_webdriver23, Column;
2052
+ var import_selenium_webdriver24, Column;
1825
2053
  var init_Column = __esm({
1826
2054
  "src/pageObjects/elements/Table/elements/Column.ts"() {
1827
2055
  "use strict";
1828
- import_selenium_webdriver23 = require("selenium-webdriver");
2056
+ import_selenium_webdriver24 = require("selenium-webdriver");
1829
2057
  init_utils2();
1830
2058
  init_AbstractElementWithParent();
1831
2059
  init_fixElementStaleError();
@@ -1853,7 +2081,7 @@ var init_Column = __esm({
1853
2081
  return super.getElement();
1854
2082
  }
1855
2083
  async getColumnHeaderIndexBy(cssSelector) {
1856
- const column = await fixElementStaleError(import_selenium_webdriver23.By.css(`${this.parentCssSelector} ${this.headerCssSelector} ${cssSelector}`), this.driver);
2084
+ const column = await fixElementStaleError(import_selenium_webdriver24.By.css(`${this.parentCssSelector} ${this.headerCssSelector} ${cssSelector}`), this.driver);
1857
2085
  return transformOutputIndex(await column.getAttribute("aria-colindex"));
1858
2086
  }
1859
2087
  async getIndexByCaption() {
@@ -2136,12 +2364,12 @@ var init_cssToXPath = __esm({
2136
2364
  });
2137
2365
 
2138
2366
  // src/pageObjects/elements/DXContextMenuList.ts
2139
- var import_selenium_webdriver24, CONTEXT_MENU_CLASS, CONTEXT_MENU_ITEM_TEXT_CLASS, DXContextMenuList;
2367
+ var import_selenium_webdriver25, CONTEXT_MENU_CLASS, CONTEXT_MENU_ITEM_TEXT_CLASS, DXContextMenuList;
2140
2368
  var init_DXContextMenuList = __esm({
2141
2369
  "src/pageObjects/elements/DXContextMenuList.ts"() {
2142
2370
  "use strict";
2143
2371
  init_AbstractDropDownMenuList();
2144
- import_selenium_webdriver24 = require("selenium-webdriver");
2372
+ import_selenium_webdriver25 = require("selenium-webdriver");
2145
2373
  init_cssToXPath();
2146
2374
  init_waitElementIsVisible();
2147
2375
  CONTEXT_MENU_CLASS = "dx-context-menu";
@@ -2158,12 +2386,12 @@ var init_DXContextMenuList = __esm({
2158
2386
  getButtonTitleBy(title) {
2159
2387
  const buttonByTextXpath2 = (text) => `//span[contains(@class, "${CONTEXT_MENU_ITEM_TEXT_CLASS}") and contains(text(), "${text}")]`;
2160
2388
  const xpath = "//div" + cssClassesToXPath(this.elementCssSelector) + buttonByTextXpath2(title);
2161
- return import_selenium_webdriver24.By.xpath(xpath);
2389
+ return import_selenium_webdriver25.By.xpath(xpath);
2162
2390
  }
2163
2391
  async isVisible() {
2164
2392
  try {
2165
2393
  await waitElementIsVisible_default({
2166
- element: await this.driver.findElement(import_selenium_webdriver24.By.css(`.dx-overlay-wrapper .dx-context-menu`)),
2394
+ element: await this.driver.findElement(import_selenium_webdriver25.By.css(`.dx-overlay-wrapper .dx-context-menu`)),
2167
2395
  driver: this.driver,
2168
2396
  errorMessage: "Cannot find dropdown element"
2169
2397
  });
@@ -2209,11 +2437,11 @@ var init_ContextMenu = __esm({
2209
2437
  });
2210
2438
 
2211
2439
  // src/pageObjects/elements/Table/Table.ts
2212
- var import_selenium_webdriver25, Table;
2440
+ var import_selenium_webdriver26, Table;
2213
2441
  var init_Table = __esm({
2214
2442
  "src/pageObjects/elements/Table/Table.ts"() {
2215
2443
  "use strict";
2216
- import_selenium_webdriver25 = require("selenium-webdriver");
2444
+ import_selenium_webdriver26 = require("selenium-webdriver");
2217
2445
  init_createDataTestId();
2218
2446
  init_AbstractElementWithParent();
2219
2447
  init_Row();
@@ -2308,7 +2536,7 @@ var init_Table = __esm({
2308
2536
  driver: this.driver,
2309
2537
  timeout,
2310
2538
  callback: () => {
2311
- return this.driver.findElements(import_selenium_webdriver25.By.css(rowsFullCssSelector));
2539
+ return this.driver.findElements(import_selenium_webdriver26.By.css(rowsFullCssSelector));
2312
2540
  }
2313
2541
  });
2314
2542
  }
@@ -2329,7 +2557,7 @@ var init_Table = __esm({
2329
2557
  }
2330
2558
  async getColumns() {
2331
2559
  const columns = await this.driver.findElements(
2332
- import_selenium_webdriver25.By.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"] .header-template-text`)
2560
+ import_selenium_webdriver26.By.css(`${this.getFullCssSelector()} ${this.headerCssSelector} td[role="columnheader"] .header-template-text`)
2333
2561
  );
2334
2562
  const result = [];
2335
2563
  columns.forEach((_, index) => {
@@ -2470,11 +2698,11 @@ var init_Table = __esm({
2470
2698
  });
2471
2699
 
2472
2700
  // src/pageObjects/elements/TableToolbar/ToolbarButton.ts
2473
- var import_selenium_webdriver26, TOOLBAR_BUTTON_CLASS, TOOLBAR_BUTTON_TEXT_CLASS, getToolbarButtonSelector, getToolbarButtonTextSelector, ToolbarButton;
2701
+ var import_selenium_webdriver27, TOOLBAR_BUTTON_CLASS, TOOLBAR_BUTTON_TEXT_CLASS, getToolbarButtonSelector, getToolbarButtonTextSelector, ToolbarButton;
2474
2702
  var init_ToolbarButton = __esm({
2475
2703
  "src/pageObjects/elements/TableToolbar/ToolbarButton.ts"() {
2476
2704
  "use strict";
2477
- import_selenium_webdriver26 = require("selenium-webdriver");
2705
+ import_selenium_webdriver27 = require("selenium-webdriver");
2478
2706
  init_AbstractButton();
2479
2707
  TOOLBAR_BUTTON_CLASS = "toolbar-button";
2480
2708
  TOOLBAR_BUTTON_TEXT_CLASS = "dx-button-text";
@@ -2491,7 +2719,7 @@ var init_ToolbarButton = __esm({
2491
2719
  }
2492
2720
  async getTitle() {
2493
2721
  try {
2494
- const buttonTextContainer = await this.driver.findElement(import_selenium_webdriver26.By.css(getToolbarButtonTextSelector(this.name)));
2722
+ const buttonTextContainer = await this.driver.findElement(import_selenium_webdriver27.By.css(getToolbarButtonTextSelector(this.name)));
2495
2723
  return await buttonTextContainer.getText();
2496
2724
  } catch (_) {
2497
2725
  return null;
@@ -2502,12 +2730,12 @@ var init_ToolbarButton = __esm({
2502
2730
  });
2503
2731
 
2504
2732
  // src/pageObjects/elements/TableToolbar/ToolbarGroupButton.ts
2505
- var import_selenium_webdriver27, ToolbarGroupButton;
2733
+ var import_selenium_webdriver28, ToolbarGroupButton;
2506
2734
  var init_ToolbarGroupButton = __esm({
2507
2735
  "src/pageObjects/elements/TableToolbar/ToolbarGroupButton.ts"() {
2508
2736
  "use strict";
2509
2737
  init_AbstractButton();
2510
- import_selenium_webdriver27 = require("selenium-webdriver");
2738
+ import_selenium_webdriver28 = require("selenium-webdriver");
2511
2739
  init_ToolbarButton();
2512
2740
  ToolbarGroupButton = class extends AbstractButton {
2513
2741
  name;
@@ -2520,7 +2748,7 @@ var init_ToolbarGroupButton = __esm({
2520
2748
  }
2521
2749
  async getTitle() {
2522
2750
  try {
2523
- const buttonTextContainer = await this.driver.findElement(import_selenium_webdriver27.By.css(getToolbarButtonTextSelector(this.name)));
2751
+ const buttonTextContainer = await this.driver.findElement(import_selenium_webdriver28.By.css(getToolbarButtonTextSelector(this.name)));
2524
2752
  return await buttonTextContainer.getText();
2525
2753
  } catch (_) {
2526
2754
  return null;
@@ -2772,11 +3000,11 @@ var init_FormToolbar = __esm({
2772
3000
  });
2773
3001
 
2774
3002
  // src/pageObjects/elements/Filters/FilterOperation.ts
2775
- var import_selenium_webdriver28, FILTER_OPERATIONS, BUTTON_OPERATION_WIDGET, OPERATIONS_WIDGET_POPUP, getWidgetInPopupSelector, FilterOperation;
3003
+ var import_selenium_webdriver29, FILTER_OPERATIONS, BUTTON_OPERATION_WIDGET, OPERATIONS_WIDGET_POPUP, getWidgetInPopupSelector, FilterOperation;
2776
3004
  var init_FilterOperation = __esm({
2777
3005
  "src/pageObjects/elements/Filters/FilterOperation.ts"() {
2778
3006
  "use strict";
2779
- import_selenium_webdriver28 = require("selenium-webdriver");
3007
+ import_selenium_webdriver29 = require("selenium-webdriver");
2780
3008
  init_fixElementStaleError();
2781
3009
  init_AbstractElementWithParent();
2782
3010
  init_locators();
@@ -2816,10 +3044,10 @@ var init_FilterOperation = __esm({
2816
3044
  errorMessage: "Widget operation is not clickable",
2817
3045
  driver: this.driver
2818
3046
  });
2819
- const clickableElement = await widgetButtonEl.findElement(import_selenium_webdriver28.By.className("dx-icon"));
3047
+ const clickableElement = await widgetButtonEl.findElement(import_selenium_webdriver29.By.className("dx-icon"));
2820
3048
  await click(clickableElement, this.driver);
2821
3049
  try {
2822
- const widgetPopupEl = await this.driver.findElement(import_selenium_webdriver28.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)}`));
3050
+ const widgetPopupEl = await this.driver.findElement(import_selenium_webdriver29.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)}`));
2823
3051
  await waitElementIsVisible_default({
2824
3052
  element: widgetPopupEl,
2825
3053
  errorMessage: `Operation widget popup is not visible`,
@@ -2834,7 +3062,7 @@ var init_FilterOperation = __esm({
2834
3062
  throw new Error(`Operation with name "${operationName}" is not correct.`);
2835
3063
  }
2836
3064
  await this.initOperationWidget();
2837
- const operationEl = await fixElementStaleError(import_selenium_webdriver28.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)} ${getWidgetInPopupSelector(operationName)}`), this.driver);
3065
+ const operationEl = await fixElementStaleError(import_selenium_webdriver29.By.css(`${byTestIdCssSelector(`${OPERATIONS_WIDGET_POPUP}-${this._testId}`)} ${getWidgetInPopupSelector(operationName)}`), this.driver);
2838
3066
  await click(operationEl, this.driver);
2839
3067
  await safeWait(
2840
3068
  async () => {
@@ -3090,11 +3318,11 @@ var init_PanelFilterField = __esm({
3090
3318
  });
3091
3319
 
3092
3320
  // src/pageObjects/elements/Filters/FilterPanel.ts
3093
- var import_selenium_webdriver29, drawerSelector, FILTER_PANEL_SELECTOR, CLOSE_SELECTOR, FilterPanel;
3321
+ var import_selenium_webdriver30, drawerSelector, FILTER_PANEL_SELECTOR, CLOSE_SELECTOR, FilterPanel;
3094
3322
  var init_FilterPanel = __esm({
3095
3323
  "src/pageObjects/elements/Filters/FilterPanel.ts"() {
3096
3324
  "use strict";
3097
- import_selenium_webdriver29 = require("selenium-webdriver");
3325
+ import_selenium_webdriver30 = require("selenium-webdriver");
3098
3326
  init_AbstractElement();
3099
3327
  init_PanelFilterField();
3100
3328
  init_actions();
@@ -3109,7 +3337,7 @@ var init_FilterPanel = __esm({
3109
3337
  async filterPanelButtons() {
3110
3338
  const selector = `${this.elementCssSelector} ${FILTER_PANEL_SELECTOR} .filter-panel__buttons-panel .dx-button-text`;
3111
3339
  const el = await this.getElement();
3112
- return el.findElements(import_selenium_webdriver29.By.css(selector));
3340
+ return el.findElements(import_selenium_webdriver30.By.css(selector));
3113
3341
  }
3114
3342
  constructor(formName, driver) {
3115
3343
  super(driver, drawerSelector(formName));
@@ -3142,7 +3370,7 @@ var init_FilterPanel = __esm({
3142
3370
  await this.driver.sleep(300);
3143
3371
  }
3144
3372
  async close() {
3145
- const btn = await this.driver.findElement(import_selenium_webdriver29.By.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
3373
+ const btn = await this.driver.findElement(import_selenium_webdriver30.By.css(`${this.elementCssSelector} ${CLOSE_SELECTOR}`));
3146
3374
  await click(btn, this.driver);
3147
3375
  }
3148
3376
  };
@@ -3178,12 +3406,12 @@ var init_HeaderFilterField = __esm({
3178
3406
  });
3179
3407
 
3180
3408
  // src/pageObjects/elements/Filters/ColumnFilter.ts
3181
- var import_selenium_webdriver30, APPLY_SELECTOR, CANCEL_SELECTOR, HEADER_FILTER_ICON, HEADER_FILTER_CONTAINER, HEADER_FILTER_BUTTONS, ColumnFilter;
3409
+ var import_selenium_webdriver31, APPLY_SELECTOR, CANCEL_SELECTOR, HEADER_FILTER_ICON, HEADER_FILTER_CONTAINER, HEADER_FILTER_BUTTONS, ColumnFilter;
3182
3410
  var init_ColumnFilter = __esm({
3183
3411
  "src/pageObjects/elements/Filters/ColumnFilter.ts"() {
3184
3412
  "use strict";
3185
3413
  init_actions();
3186
- import_selenium_webdriver30 = require("selenium-webdriver");
3414
+ import_selenium_webdriver31 = require("selenium-webdriver");
3187
3415
  init_HeaderFilterField();
3188
3416
  init_waitElementIsVisible();
3189
3417
  init_AbstractElement();
@@ -3208,11 +3436,11 @@ var init_ColumnFilter = __esm({
3208
3436
  }
3209
3437
  async getApplyButton() {
3210
3438
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${APPLY_SELECTOR}`;
3211
- return this.driver.findElement(import_selenium_webdriver30.By.css(selector));
3439
+ return this.driver.findElement(import_selenium_webdriver31.By.css(selector));
3212
3440
  }
3213
3441
  async getCancelButton() {
3214
3442
  const selector = `${HEADER_FILTER_CONTAINER} ${HEADER_FILTER_BUTTONS} ${CANCEL_SELECTOR}`;
3215
- return this.driver.findElement(import_selenium_webdriver30.By.css(selector));
3443
+ return this.driver.findElement(import_selenium_webdriver31.By.css(selector));
3216
3444
  }
3217
3445
  async apply() {
3218
3446
  const btn = await this.getApplyButton();
@@ -3226,7 +3454,7 @@ var init_ColumnFilter = __esm({
3226
3454
  const columnEl = await this._column.getElement();
3227
3455
  const actions = this.driver.actions({ async: true });
3228
3456
  await actions.move({ origin: columnEl }).perform();
3229
- const headerFilterIconBy = import_selenium_webdriver30.By.css(HEADER_FILTER_ICON);
3457
+ const headerFilterIconBy = import_selenium_webdriver31.By.css(HEADER_FILTER_ICON);
3230
3458
  let headerFilterIcon = await columnEl.findElement(headerFilterIconBy);
3231
3459
  await safeWait(
3232
3460
  () => {
@@ -3515,12 +3743,12 @@ var init_createSubFormInstance = __esm({
3515
3743
  });
3516
3744
 
3517
3745
  // src/pageObjects/elements/Forms/Form.ts
3518
- var import_selenium_webdriver31, formTestId, Form;
3746
+ var import_selenium_webdriver32, formTestId, Form;
3519
3747
  var init_Form = __esm({
3520
3748
  "src/pageObjects/elements/Forms/Form.ts"() {
3521
3749
  "use strict";
3522
3750
  init_locators();
3523
- import_selenium_webdriver31 = require("selenium-webdriver");
3751
+ import_selenium_webdriver32 = require("selenium-webdriver");
3524
3752
  init_AbstractForm();
3525
3753
  init_waitElementIsVisible();
3526
3754
  init_createSubFormInstance();
@@ -3545,7 +3773,7 @@ var init_Form = __esm({
3545
3773
  */
3546
3774
  async getTitleText() {
3547
3775
  if (await this.isModal()) {
3548
- const titleEl2 = await this.driver.findElement(import_selenium_webdriver31.By.css(`${this.popupContainerCssSelector} .popup-title`));
3776
+ const titleEl2 = await this.driver.findElement(import_selenium_webdriver32.By.css(`${this.popupContainerCssSelector} .popup-title`));
3549
3777
  await waitElementIsVisible_default({
3550
3778
  element: titleEl2,
3551
3779
  driver: this.driver,
@@ -3553,7 +3781,7 @@ var init_Form = __esm({
3553
3781
  });
3554
3782
  return titleEl2.getText();
3555
3783
  }
3556
- let titleEl = await this.driver.findElement(import_selenium_webdriver31.By.className("main-toolbar-form-title"));
3784
+ let titleEl = await this.driver.findElement(import_selenium_webdriver32.By.className("main-toolbar-form-title"));
3557
3785
  return titleEl.getText();
3558
3786
  }
3559
3787
  setSubFormMode() {
@@ -3572,7 +3800,7 @@ var init_Form = __esm({
3572
3800
  async subForm(name, options = {}) {
3573
3801
  const { isDockPanel = false } = options;
3574
3802
  const cssSelector = subformCssSelector(this.containerCssSelector, subFormTestId(name), isDockPanel);
3575
- const byCssSelector = import_selenium_webdriver31.By.css(cssSelector);
3803
+ const byCssSelector = import_selenium_webdriver32.By.css(cssSelector);
3576
3804
  const subFormEl = await this.driver.findElement(byCssSelector);
3577
3805
  await waitElementIsVisible_default({
3578
3806
  element: subFormEl,
@@ -3602,12 +3830,12 @@ var FormEdit_exports = {};
3602
3830
  __export(FormEdit_exports, {
3603
3831
  default: () => FormEdit
3604
3832
  });
3605
- var import_selenium_webdriver32, FormEdit;
3833
+ var import_selenium_webdriver33, FormEdit;
3606
3834
  var init_FormEdit = __esm({
3607
3835
  "src/pageObjects/elements/Forms/FormEdit.ts"() {
3608
3836
  "use strict";
3609
3837
  init_Form();
3610
- import_selenium_webdriver32 = require("selenium-webdriver");
3838
+ import_selenium_webdriver33 = require("selenium-webdriver");
3611
3839
  init_FormField();
3612
3840
  init_actions();
3613
3841
  init_wait();
@@ -3643,7 +3871,7 @@ var init_FormEdit = __esm({
3643
3871
  */
3644
3872
  async isSaveButtonDisabled() {
3645
3873
  const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
3646
- const saveButton = await this.driver.findElement(import_selenium_webdriver32.By.css(saveButtonCssSelector));
3874
+ const saveButton = await this.driver.findElement(import_selenium_webdriver33.By.css(saveButtonCssSelector));
3647
3875
  const result = await saveButton.getAttribute("aria-disabled");
3648
3876
  return result === "true";
3649
3877
  }
@@ -3656,7 +3884,7 @@ var init_FormEdit = __esm({
3656
3884
  */
3657
3885
  async saveButtonClick() {
3658
3886
  const saveButtonCssSelector = await this.getButtonCssSelector(this.saveButtonId);
3659
- const saveButton = await this.driver.findElement(import_selenium_webdriver32.By.css(saveButtonCssSelector));
3887
+ const saveButton = await this.driver.findElement(import_selenium_webdriver33.By.css(saveButtonCssSelector));
3660
3888
  await safeWait(async () => !await this.isSaveButtonDisabled(), this.driver, "Button is disabled");
3661
3889
  await click(saveButton, this.driver);
3662
3890
  }
@@ -3669,7 +3897,7 @@ var init_FormEdit = __esm({
3669
3897
  */
3670
3898
  async closeButtonClick() {
3671
3899
  const closeButtonCssSelector = await this.getButtonCssSelector(this.closeButtonId);
3672
- const closeButton = await this.driver.findElement(import_selenium_webdriver32.By.css(closeButtonCssSelector));
3900
+ const closeButton = await this.driver.findElement(import_selenium_webdriver33.By.css(closeButtonCssSelector));
3673
3901
  await click(closeButton, this.driver);
3674
3902
  }
3675
3903
  };
@@ -3855,7 +4083,7 @@ var SubsystemsPanelHeader = class extends AbstractElementWithParent {
3855
4083
  };
3856
4084
 
3857
4085
  // src/pageObjects/elements/SubsystemsPanel/SubsystemsPanel.ts
3858
- var import_selenium_webdriver16 = require("selenium-webdriver");
4086
+ var import_selenium_webdriver17 = require("selenium-webdriver");
3859
4087
  init_wait();
3860
4088
  init_locators();
3861
4089
  init_Editors();
@@ -3953,7 +4181,7 @@ var SubsystemsPanel = class extends AbstractElement {
3953
4181
  */
3954
4182
  async searchClear() {
3955
4183
  const clearBtnSelector = `#aside ${byTestIdCssSelector(SEARCH_INPUT_SELECTOR)} .${DX_CLEAR_BUTTON_AREA}`;
3956
- const clearBtn = await fixElementStaleError(import_selenium_webdriver16.By.css(clearBtnSelector), this.driver);
4184
+ const clearBtn = await fixElementStaleError(import_selenium_webdriver17.By.css(clearBtnSelector), this.driver);
3957
4185
  if (await clearBtn.isDisplayed()) {
3958
4186
  await click(clearBtn, this.driver);
3959
4187
  }
@@ -3967,7 +4195,7 @@ var SubsystemsPanel = class extends AbstractElement {
3967
4195
  */
3968
4196
  item(name) {
3969
4197
  const elementCSS = createSubSystemTestId(name);
3970
- return new SubsystemItem({ driver: this.driver, bySelector: import_selenium_webdriver16.By.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
4198
+ return new SubsystemItem({ driver: this.driver, bySelector: import_selenium_webdriver17.By.css(`${byTestIdCssSelector(elementCSS, "span")}`) });
3971
4199
  }
3972
4200
  /**
3973
4201
  * Возвращает сабсистему по заголовку
@@ -3977,7 +4205,7 @@ var SubsystemsPanel = class extends AbstractElement {
3977
4205
  * const subsystem = subsystemsPanel.itemByTitle('SubSystemTitle');
3978
4206
  */
3979
4207
  itemByTitle(title) {
3980
- return new SubsystemItem({ driver: this.driver, bySelector: import_selenium_webdriver16.By.css(byTitleCssSelector(title)) });
4208
+ return new SubsystemItem({ driver: this.driver, bySelector: import_selenium_webdriver17.By.css(byTitleCssSelector(title)) });
3981
4209
  }
3982
4210
  /**
3983
4211
  * Возвращается на уровень выше по сабсистемам
@@ -3987,7 +4215,7 @@ var SubsystemsPanel = class extends AbstractElement {
3987
4215
  * wait subsystemsPanel.back();
3988
4216
  */
3989
4217
  async back() {
3990
- const by = import_selenium_webdriver16.By.css(`#aside .${BACK_BUTTON_SELECTOR}`);
4218
+ const by = import_selenium_webdriver17.By.css(`#aside .${BACK_BUTTON_SELECTOR}`);
3991
4219
  await waitElementIsVisible_default(
3992
4220
  {
3993
4221
  by,
@@ -4032,7 +4260,7 @@ init_FilterPanel();
4032
4260
 
4033
4261
  // src/pageObjects/elements/Dialog.ts
4034
4262
  init_AbstractElement();
4035
- var import_selenium_webdriver33 = require("selenium-webdriver");
4263
+ var import_selenium_webdriver34 = require("selenium-webdriver");
4036
4264
  init_AbstractButton();
4037
4265
  var DIALOG_CLASS = ".d5-dialog";
4038
4266
  var DIALOG_TITLE_CLASS = ".dialog__title";
@@ -4047,7 +4275,7 @@ var DialogButton = class extends AbstractButton {
4047
4275
  }
4048
4276
  async getElement() {
4049
4277
  const panel = await super.getElement();
4050
- return panel.findElement(import_selenium_webdriver33.By.xpath(buttonByTextXpath(this.text)));
4278
+ return panel.findElement(import_selenium_webdriver34.By.xpath(buttonByTextXpath(this.text)));
4051
4279
  }
4052
4280
  buttonNotDisplayedError() {
4053
4281
  return `Dialog button ${this.text} cannot be clicked. It is not displayed or it is disabled`;
@@ -4070,11 +4298,11 @@ var Dialog = class extends AbstractElement {
4070
4298
  return this.joinRelativeCssSelectors([DIALOG_CLASS, DIALOG_BUTTONS_PANEL_CLASS]);
4071
4299
  }
4072
4300
  async title() {
4073
- const el = await this.driver.findElement(import_selenium_webdriver33.By.css(this.titleSelector));
4301
+ const el = await this.driver.findElement(import_selenium_webdriver34.By.css(this.titleSelector));
4074
4302
  return await el.getText();
4075
4303
  }
4076
4304
  async text() {
4077
- const el = await this.driver.findElement(import_selenium_webdriver33.By.css(this.textSelector));
4305
+ const el = await this.driver.findElement(import_selenium_webdriver34.By.css(this.textSelector));
4078
4306
  return await el.getText();
4079
4307
  }
4080
4308
  button(text) {