@applitools/eyes 1.23.2 → 1.25.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,116 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.25.0](https://github.com/Applitools-Dev/sdk/compare/js/eyes@1.24.0...js/eyes@1.25.0) (2024-10-28)
4
+
5
+
6
+ ### Features
7
+
8
+ * ios 18 devices enum ([#2584](https://github.com/Applitools-Dev/sdk/issues/2584)) ([8eab653](https://github.com/Applitools-Dev/sdk/commit/8eab653f99733839bdec43d86089edc35abcf8e8))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/dom-snapshot bumped to 4.11.4
14
+ #### Bug Fixes
15
+
16
+ * better handling of stale elements ([cab10ff](https://github.com/Applitools-Dev/sdk/commit/cab10ff1ae1e6f9560a7d278c710b3fa03f58c83))
17
+
18
+
19
+
20
+ * @applitools/snippets bumped to 2.5.2
21
+ #### Bug Fixes
22
+
23
+ * better handling of stale elements ([cab10ff](https://github.com/Applitools-Dev/sdk/commit/cab10ff1ae1e6f9560a7d278c710b3fa03f58c83))
24
+ * @applitools/driver bumped to 1.19.4
25
+ #### Bug Fixes
26
+
27
+ * better handling of stale elements ([cab10ff](https://github.com/Applitools-Dev/sdk/commit/cab10ff1ae1e6f9560a7d278c710b3fa03f58c83))
28
+
29
+
30
+
31
+ * @applitools/spec-driver-webdriver bumped to 1.1.16
32
+
33
+ * @applitools/spec-driver-selenium bumped to 1.5.87
34
+
35
+ * @applitools/spec-driver-puppeteer bumped to 1.4.16
36
+
37
+ * @applitools/screenshoter bumped to 3.9.1
38
+
39
+ * @applitools/nml-client bumped to 1.8.14
40
+
41
+ * @applitools/ec-client bumped to 1.9.10
42
+
43
+ * @applitools/core bumped to 4.21.1
44
+ #### Bug Fixes
45
+
46
+ * better handling of stale elements ([cab10ff](https://github.com/Applitools-Dev/sdk/commit/cab10ff1ae1e6f9560a7d278c710b3fa03f58c83))
47
+
48
+
49
+ #### Performance Improvements
50
+
51
+ * avoid logging entire dom snapshots ([#2573](https://github.com/Applitools-Dev/sdk/issues/2573)) ([e6dc792](https://github.com/Applitools-Dev/sdk/commit/e6dc792c75eb39bd4d3e53775b63ba49fad20740))
52
+
53
+
54
+
55
+
56
+ ## [1.24.0](https://github.com/Applitools-Dev/sdk/compare/js/eyes@1.23.2...js/eyes@1.24.0) (2024-10-21)
57
+
58
+
59
+ ### Features
60
+
61
+ * ability to download side by side with highlighted diffs (2419) ([#2530](https://github.com/Applitools-Dev/sdk/issues/2530)) ([e06ce69](https://github.com/Applitools-Dev/sdk/commit/e06ce699f30e9e444ac58dafdf5989ff1c96ca1c))
62
+ * add chrome emulation devices ([#2559](https://github.com/Applitools-Dev/sdk/issues/2559)) ([0499aaf](https://github.com/Applitools-Dev/sdk/commit/0499aaf3bb809d2ac0105b4493e6f6bb8730ea3f))
63
+ * capture status bar ([#2571](https://github.com/Applitools-Dev/sdk/issues/2571)) ([5e1c75e](https://github.com/Applitools-Dev/sdk/commit/5e1c75ef9cf34af80f08806a3bceaf06a94f2780))
64
+ * dynamic regions ([#2538](https://github.com/Applitools-Dev/sdk/issues/2538)) ([d8b5c48](https://github.com/Applitools-Dev/sdk/commit/d8b5c48fb35f9789c702447314dc72b4f415ade1))
65
+
66
+
67
+ ### Dependencies
68
+
69
+ * @applitools/snippets bumped to 2.5.1
70
+ #### Bug Fixes
71
+
72
+ * isStaleElement error ([#2567](https://github.com/Applitools-Dev/sdk/issues/2567)) ([2675086](https://github.com/Applitools-Dev/sdk/commit/2675086aa28589082249e2958942ee29a5f2ef12))
73
+ * @applitools/core-base bumped to 1.18.0
74
+ #### Features
75
+
76
+ * ability to download side by side with highlighted diffs (2419) ([#2530](https://github.com/Applitools-Dev/sdk/issues/2530)) ([e06ce69](https://github.com/Applitools-Dev/sdk/commit/e06ce699f30e9e444ac58dafdf5989ff1c96ca1c))
77
+ * dynamic regions ([#2538](https://github.com/Applitools-Dev/sdk/issues/2538)) ([d8b5c48](https://github.com/Applitools-Dev/sdk/commit/d8b5c48fb35f9789c702447314dc72b4f415ade1))
78
+ * setting up SCM information automatically ([#2542](https://github.com/Applitools-Dev/sdk/issues/2542)) ([696461a](https://github.com/Applitools-Dev/sdk/commit/696461af3f8e2e3ed94eb78fed5ead6233bd16b2))
79
+ * @applitools/driver bumped to 1.19.3
80
+
81
+ * @applitools/spec-driver-webdriver bumped to 1.1.15
82
+
83
+ * @applitools/spec-driver-selenium bumped to 1.5.86
84
+
85
+ * @applitools/spec-driver-puppeteer bumped to 1.4.15
86
+
87
+ * @applitools/screenshoter bumped to 3.9.0
88
+ #### Features
89
+
90
+ * capture status bar ([#2571](https://github.com/Applitools-Dev/sdk/issues/2571)) ([5e1c75e](https://github.com/Applitools-Dev/sdk/commit/5e1c75ef9cf34af80f08806a3bceaf06a94f2780))
91
+
92
+
93
+
94
+ * @applitools/nml-client bumped to 1.8.13
95
+
96
+ * @applitools/ec-client bumped to 1.9.9
97
+
98
+ * @applitools/core bumped to 4.21.0
99
+ #### Features
100
+
101
+ * add chrome emulation devices ([#2559](https://github.com/Applitools-Dev/sdk/issues/2559)) ([0499aaf](https://github.com/Applitools-Dev/sdk/commit/0499aaf3bb809d2ac0105b4493e6f6bb8730ea3f))
102
+ * capture status bar ([#2571](https://github.com/Applitools-Dev/sdk/issues/2571)) ([5e1c75e](https://github.com/Applitools-Dev/sdk/commit/5e1c75ef9cf34af80f08806a3bceaf06a94f2780))
103
+ * dynamic regions ([#2538](https://github.com/Applitools-Dev/sdk/issues/2538)) ([d8b5c48](https://github.com/Applitools-Dev/sdk/commit/d8b5c48fb35f9789c702447314dc72b4f415ade1))
104
+ * setting up SCM information automatically ([#2542](https://github.com/Applitools-Dev/sdk/issues/2542)) ([696461a](https://github.com/Applitools-Dev/sdk/commit/696461af3f8e2e3ed94eb78fed5ead6233bd16b2))
105
+
106
+
107
+ #### Bug Fixes
108
+
109
+ * don't remove offline execution folder after running ([654e195](https://github.com/Applitools-Dev/sdk/commit/654e195dd50dc7dab93dd907ec26d788549c6e81))
110
+
111
+
112
+
113
+
3
114
  ## [1.23.2](https://github.com/Applitools-Dev/sdk/compare/js/eyes@1.23.1...js/eyes@1.23.2) (2024-10-03)
4
115
 
5
116
 
@@ -8,9 +8,14 @@ var DeviceNameEnum;
8
8
  DeviceNameEnum["iPhone_5SE"] = "iPhone 5/SE";
9
9
  /** @deprecated use {@link iPhone_5SE } instead */
10
10
  DeviceNameEnum["iPhone_5S_E"] = "iPhone 5/SE";
11
+ DeviceNameEnum["iPhone_SE_3rd_Gen"] = "iPhone SE 3rd Gen";
11
12
  DeviceNameEnum["iPhone_6_7_8"] = "iPhone 6/7/8";
12
13
  DeviceNameEnum["iPhone_6_7_8_Plus"] = "iPhone 6/7/8 Plus";
13
14
  DeviceNameEnum["iPhone_X"] = "iPhone X";
15
+ DeviceNameEnum["iPhone_13_Mini"] = "iPhone 13 Mini";
16
+ DeviceNameEnum["iPhone_14_Plus"] = "iPhone 14 Plus";
17
+ DeviceNameEnum["iPhone_14_Pro"] = "iPhone 14 Pro";
18
+ DeviceNameEnum["iPhone_15_Pro"] = "iPhone 15 Pro";
14
19
  DeviceNameEnum["BlackBerry_Z30"] = "BlackBerry Z30";
15
20
  DeviceNameEnum["Nexus_4"] = "Nexus 4";
16
21
  DeviceNameEnum["Nexus_5"] = "Nexus 5";
@@ -31,6 +36,10 @@ var DeviceNameEnum;
31
36
  DeviceNameEnum["iPad_Mini"] = "iPad Mini";
32
37
  DeviceNameEnum["iPad"] = "iPad";
33
38
  DeviceNameEnum["iPad_Pro"] = "iPad Pro";
39
+ DeviceNameEnum["iPad_8th_Gen"] = "iPad 8th Gen";
40
+ DeviceNameEnum["iPad_10th_Gen"] = "iPad 10th Gen";
41
+ DeviceNameEnum["iPad_Mini_4th_Gen"] = "iPad Mini 4th Gen";
42
+ DeviceNameEnum["iPad_Mini_6th_Gen"] = "iPad Mini 6th Gen";
34
43
  DeviceNameEnum["Blackberry_PlayBook"] = "Blackberry PlayBook";
35
44
  DeviceNameEnum["Nexus_10"] = "Nexus 10";
36
45
  DeviceNameEnum["Nexus_7"] = "Nexus 7";
@@ -68,6 +77,13 @@ var DeviceNameEnum;
68
77
  DeviceNameEnum["Galaxy_Note_9"] = "Galaxy Note 9";
69
78
  DeviceNameEnum["Galaxy_Note_8"] = "Galaxy Note 8";
70
79
  DeviceNameEnum["Galaxy_Note_4"] = "Galaxy Note 4";
80
+ DeviceNameEnum["Galaxy_Tab_A_SM_T510"] = "Galaxy Tab A SM-T510";
81
+ DeviceNameEnum["Galaxy_Tab_A7_SM_T500"] = "Galaxy Tab A7 SM-T500";
82
+ DeviceNameEnum["Galaxy_Tab_S8"] = "Galaxy Tab S8";
83
+ DeviceNameEnum["Galaxy_Tab_A8"] = "Galaxy Tab A8";
84
+ DeviceNameEnum["Galaxy_S23"] = "Galaxy S23";
85
+ DeviceNameEnum["Galaxy_S23_Ultra"] = "Galaxy S23 Ultra";
86
+ DeviceNameEnum["Galaxy_A52s"] = "Galaxy A52s";
71
87
  DeviceNameEnum["Pixel_3"] = "Pixel 3";
72
88
  DeviceNameEnum["Pixel_3_XL"] = "Pixel 3 XL";
73
89
  DeviceNameEnum["Pixel_4"] = "Pixel 4";
@@ -80,4 +96,10 @@ var DeviceNameEnum;
80
96
  DeviceNameEnum["Sony_Xperia_10_II"] = "Sony Xperia 10 II";
81
97
  DeviceNameEnum["Huawei_Mate_50_Pro"] = "Huawei Mate 50 Pro";
82
98
  DeviceNameEnum["Huawei_Matepad_11"] = "Huawei Matepad 11";
99
+ DeviceNameEnum["Huawei_P30"] = "Huawei P30";
100
+ DeviceNameEnum["Xiaomi_Mi_A3"] = "Xiaomi Mi A3";
101
+ DeviceNameEnum["Huawei_P40"] = "Huawei P40";
102
+ DeviceNameEnum["Xiaomi_Redmi_Note_8"] = "Xiaomi Redmi Note 8";
103
+ DeviceNameEnum["Xiaomi_Mi_Poco_X3_Pro"] = "Xiaomi Mi Poco X3 Pro";
104
+ DeviceNameEnum["Xiaomi_Poco_X3"] = "Xiaomi Poco X3";
83
105
  })(DeviceNameEnum || (exports.DeviceNameEnum = DeviceNameEnum = {}));
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ /* GENERATED FILE */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DynamicTextTypeEnum = void 0;
5
+ var DynamicTextTypeEnum;
6
+ (function (DynamicTextTypeEnum) {
7
+ DynamicTextTypeEnum["TextField"] = "TextField";
8
+ DynamicTextTypeEnum["Number"] = "Number";
9
+ DynamicTextTypeEnum["Date"] = "Date";
10
+ DynamicTextTypeEnum["Link"] = "Link";
11
+ DynamicTextTypeEnum["Email"] = "Email";
12
+ DynamicTextTypeEnum["Currency"] = "Currency";
13
+ })(DynamicTextTypeEnum || (exports.DynamicTextTypeEnum = DynamicTextTypeEnum = {}));
@@ -6,6 +6,8 @@ var IosDeviceNameEnum;
6
6
  (function (IosDeviceNameEnum) {
7
7
  IosDeviceNameEnum["iPad_7"] = "iPad (7th generation)";
8
8
  IosDeviceNameEnum["iPad_9"] = "iPad (9th generation)";
9
+ IosDeviceNameEnum["iPad_10"] = "iPad (10th generation)";
10
+ IosDeviceNameEnum["iPad_mini_6"] = "iPad mini (6th generation)";
9
11
  IosDeviceNameEnum["iPad_Air_4"] = "iPad Air (4th generation)";
10
12
  /** @deprecated use {@link iPad_Pro_12_9_inch_3 } instead */
11
13
  IosDeviceNameEnum["iPad_Pro_3"] = "iPad Pro (12.9-inch) (3rd generation)";
@@ -13,8 +15,8 @@ var IosDeviceNameEnum;
13
15
  /** @deprecated use {@link iPad_Pro_11_inch_4 } instead */
14
16
  IosDeviceNameEnum["iPad_Pro_4"] = "iPad Pro (11-inch) (4th generation)";
15
17
  IosDeviceNameEnum["iPad_Pro_11_inch_4"] = "iPad Pro (11-inch) (4th generation)";
16
- IosDeviceNameEnum["iPhone_8"] = "iPhone 8";
17
- IosDeviceNameEnum["iPhone_8_Plus"] = "iPhone 8 Plus";
18
+ IosDeviceNameEnum["iPhone_SE_2"] = "iPhone SE (2nd generation)";
19
+ IosDeviceNameEnum["iPhone_SE_3"] = "iPhone SE (3rd generation)";
18
20
  IosDeviceNameEnum["iPhone_X"] = "iPhone X";
19
21
  IosDeviceNameEnum["iPhone_XR"] = "iPhone XR";
20
22
  /** @deprecated use {@link iPhone_Xs } instead */
@@ -28,10 +30,19 @@ var IosDeviceNameEnum;
28
30
  IosDeviceNameEnum["iPhone_12_Pro_Max"] = "iPhone 12 Pro Max";
29
31
  IosDeviceNameEnum["iPhone_12_Pro"] = "iPhone 12 Pro";
30
32
  IosDeviceNameEnum["iPhone_13"] = "iPhone 13";
33
+ IosDeviceNameEnum["iPhone_13_mini"] = "iPhone 13 mini";
31
34
  IosDeviceNameEnum["iPhone_13_Pro_Max"] = "iPhone 13 Pro Max";
32
35
  IosDeviceNameEnum["iPhone_13_Pro"] = "iPhone 13 Pro";
33
36
  IosDeviceNameEnum["iPhone_14"] = "iPhone 14";
34
37
  IosDeviceNameEnum["iPhone_14_Pro_Max"] = "iPhone 14 Pro Max";
38
+ IosDeviceNameEnum["iPhone_14_Pro"] = "iPhone 14 Pro";
39
+ IosDeviceNameEnum["iPhone_14_Plus"] = "iPhone 14 Plus";
35
40
  IosDeviceNameEnum["iPhone_15"] = "iPhone 15";
36
41
  IosDeviceNameEnum["iPhone_15_Pro_Max"] = "iPhone 15 Pro Max";
42
+ IosDeviceNameEnum["iPhone_15_Pro"] = "iPhone 15 Pro";
43
+ IosDeviceNameEnum["iPhone_15_Plus"] = "iPhone 15 Plus";
44
+ IosDeviceNameEnum["iPhone_16"] = "iPhone 16";
45
+ IosDeviceNameEnum["iPhone_16_Pro_Max"] = "iPhone 16 Pro Max";
46
+ IosDeviceNameEnum["iPhone_16_Pro"] = "iPhone 16 Pro";
47
+ IosDeviceNameEnum["iPhone_16_Plus"] = "iPhone 16 Plus";
37
48
  })(IosDeviceNameEnum || (exports.IosDeviceNameEnum = IosDeviceNameEnum = {}));
@@ -10,5 +10,6 @@ var MatchLevelEnum;
10
10
  MatchLevelEnum["Content"] = "Content";
11
11
  MatchLevelEnum["IgnoreColors"] = "IgnoreColors";
12
12
  MatchLevelEnum["Strict"] = "Strict";
13
+ MatchLevelEnum["Dynamic"] = "Dynamic";
13
14
  MatchLevelEnum["Exact"] = "Exact";
14
15
  })(MatchLevelEnum || (exports.MatchLevelEnum = MatchLevelEnum = {}));
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MatchResult = exports.AppUrls = exports.ApiUrls = exports.RunnerOptions = exports.RunnerOptionsFluent = exports.Region = exports.RectangleSize = exports.ProxySettings = exports.PropertyData = exports.NullLogHandler = exports.ConsoleLogHandler = exports.FileLogHandler = exports.LogHandler = exports.Location = exports.ImageRotation = exports.ImageMatchSettings = exports.FloatingMatchSettings = exports.ExactMatchSettings = exports.UnscaledFixedCutProvider = exports.FixedCutProvider = exports.CutProvider = exports.Configuration = exports.Target = exports.TargetAutomation = exports.TargetImage = exports.CheckSettingsAutomation = exports.CheckSettingsImage = exports.BatchInfo = exports.AccessibilityMatchSettings = exports.NewTestError = exports.DiffsFoundError = exports.TestFailedError = exports.EyesError = exports.AccessibilityStatus = exports.AccessibilityRegionType = exports.AccessibilityLevel = exports.AccessibilityGuidelinesVersion = exports.TestResultsStatus = exports.StitchMode = exports.SessionType = exports.ScreenOrientation = exports.MatchLevel = exports.AndroidVersion = exports.AndroidDeviceName = exports.IosVersion = exports.IosDeviceName = exports.FailureReport = exports.DeviceName = exports.CorsIframeHandle = exports.BrowserType = void 0;
4
- exports.RemoteSessionEventHandler = exports.SessionEventHandlers = exports.SessionEventHandler = exports.VisualGridRunner = exports.ClassicRunner = exports.EyesRunner = exports.closeBatch = exports.BatchClose = exports.Eyes = exports.Logger = exports.ValidationResult = exports.ValidationInfo = exports.TestResultsSummary = exports.TestResultContainer = exports.TestResults = exports.StepInfo = exports.SessionUrls = void 0;
3
+ exports.AppUrls = exports.ApiUrls = exports.RunnerOptions = exports.RunnerOptionsFluent = exports.Region = exports.RectangleSize = exports.ProxySettings = exports.PropertyData = exports.NullLogHandler = exports.ConsoleLogHandler = exports.FileLogHandler = exports.LogHandler = exports.Location = exports.ImageRotation = exports.ImageMatchSettings = exports.FloatingMatchSettings = exports.ExactMatchSettings = exports.UnscaledFixedCutProvider = exports.FixedCutProvider = exports.CutProvider = exports.Configuration = exports.Target = exports.TargetAutomation = exports.TargetImage = exports.CheckSettingsAutomation = exports.CheckSettingsImage = exports.BatchInfo = exports.AccessibilityMatchSettings = exports.NewTestError = exports.DiffsFoundError = exports.TestFailedError = exports.EyesError = exports.DynamicTextType = exports.AccessibilityStatus = exports.AccessibilityRegionType = exports.AccessibilityLevel = exports.AccessibilityGuidelinesVersion = exports.TestResultsStatus = exports.StitchMode = exports.SessionType = exports.ScreenOrientation = exports.MatchLevel = exports.AndroidVersion = exports.AndroidDeviceName = exports.IosVersion = exports.IosDeviceName = exports.FailureReport = exports.DeviceName = exports.CorsIframeHandle = exports.BrowserType = void 0;
4
+ exports.RemoteSessionEventHandler = exports.SessionEventHandlers = exports.SessionEventHandler = exports.VisualGridRunner = exports.ClassicRunner = exports.EyesRunner = exports.closeBatch = exports.BatchClose = exports.Eyes = exports.Logger = exports.ValidationResult = exports.ValidationInfo = exports.TestResultsSummary = exports.TestResultContainer = exports.TestResults = exports.StepInfo = exports.SessionUrls = exports.MatchResult = void 0;
5
5
  // #region ENUM
6
6
  var BrowserType_1 = require("./enums/BrowserType");
7
7
  Object.defineProperty(exports, "BrowserType", { enumerable: true, get: function () { return BrowserType_1.BrowserTypeEnum; } });
@@ -37,6 +37,8 @@ var AccessibilityRegionType_1 = require("./enums/AccessibilityRegionType");
37
37
  Object.defineProperty(exports, "AccessibilityRegionType", { enumerable: true, get: function () { return AccessibilityRegionType_1.AccessibilityRegionTypeEnum; } });
38
38
  var AccessibilityStatus_1 = require("./enums/AccessibilityStatus");
39
39
  Object.defineProperty(exports, "AccessibilityStatus", { enumerable: true, get: function () { return AccessibilityStatus_1.AccessibilityStatusEnum; } });
40
+ var DynamicTextType_1 = require("./enums/DynamicTextType");
41
+ Object.defineProperty(exports, "DynamicTextType", { enumerable: true, get: function () { return DynamicTextType_1.DynamicTextTypeEnum; } });
40
42
  // #endregion
41
43
  // #region ERROR
42
44
  var EyesError_1 = require("./errors/EyesError");
@@ -190,6 +190,32 @@ class CheckSettingsBaseFluent {
190
190
  });
191
191
  return this;
192
192
  }
193
+ dynamicRegion(region, type) {
194
+ if (utils.types.has(region, ['left', 'top', 'width', 'height'])) {
195
+ region = { x: region.left, y: region.top, width: region.width, height: region.height };
196
+ }
197
+ const dynamicRegion = utils.types.has(region, 'region') ? region : { region, type };
198
+ if (!this._settings.dynamicRegions)
199
+ this._settings.dynamicRegions = [];
200
+ this._settings.dynamicRegions.push(dynamicRegion);
201
+ return this;
202
+ }
203
+ dynamicRegions(regionOrTypes, ...regions) {
204
+ let types;
205
+ if (utils.types.isArray(regionOrTypes) || utils.types.isString(regionOrTypes)) {
206
+ types = regionOrTypes;
207
+ }
208
+ else {
209
+ this.dynamicRegions(regionOrTypes);
210
+ }
211
+ regions.forEach(region => {
212
+ if (utils.types.has(region, 'region'))
213
+ this.dynamicRegion(region);
214
+ else
215
+ this.dynamicRegion(region, types);
216
+ });
217
+ return this;
218
+ }
193
219
  matchLevel(matchLevel) {
194
220
  this._settings.matchLevel = matchLevel;
195
221
  return this;
@@ -210,6 +236,10 @@ class CheckSettingsBaseFluent {
210
236
  this._settings.matchLevel = MatchLevel_1.MatchLevelEnum.IgnoreColors;
211
237
  return this;
212
238
  }
239
+ dynamic() {
240
+ this._settings.matchLevel = MatchLevel_1.MatchLevelEnum.Dynamic;
241
+ return this;
242
+ }
213
243
  /** @deprecated */
214
244
  content() {
215
245
  this._settings.matchLevel = MatchLevel_1.MatchLevelEnum.Content;
@@ -343,7 +373,7 @@ class CheckSettingsImageFluent extends CheckSettingsBaseFluent {
343
373
  }
344
374
  /** @internal */
345
375
  toJSON() {
346
- var _a, _b, _c, _d, _e, _f;
376
+ var _a, _b, _c, _d, _e, _f, _g;
347
377
  return {
348
378
  target: this._target,
349
379
  settings: utils.general.removeUndefinedProps({
@@ -361,6 +391,7 @@ class CheckSettingsImageFluent extends CheckSettingsBaseFluent {
361
391
  contentRegions: (_d = this._settings.contentRegions) === null || _d === void 0 ? void 0 : _d.slice(),
362
392
  floatingRegions: (_e = this._settings.floatingRegions) === null || _e === void 0 ? void 0 : _e.slice(),
363
393
  accessibilityRegions: (_f = this._settings.accessibilityRegions) === null || _f === void 0 ? void 0 : _f.slice(),
394
+ dynamicRegions: (_g = this._settings.dynamicRegions) === null || _g === void 0 ? void 0 : _g.slice(),
364
395
  pageId: this._settings.pageId,
365
396
  userCommandId: this._settings.variationGroupId,
366
397
  assumesMutability: this.assumesMutability(),
@@ -570,6 +601,7 @@ class CheckSettingsAutomationFluent extends CheckSettingsBaseFluent {
570
601
  return floatingRegion;
571
602
  }),
572
603
  accessibilityRegions: this._settings.accessibilityRegions,
604
+ dynamicRegions: this._settings.dynamicRegions,
573
605
  disableBrowserFetching: this._settings.disableBrowserFetching,
574
606
  layoutBreakpoints: utils.types.isDefined(this._settings.layoutBreakpoints)
575
607
  ? utils.types.has(this._settings.layoutBreakpoints, 'breakpoints')
@@ -982,6 +982,19 @@ class ConfigurationData {
982
982
  this.disableNMLUrlCache = disableNMLUrlCache;
983
983
  return this;
984
984
  }
985
+ get captureStatusBar() {
986
+ return this._config.captureStatusBar;
987
+ }
988
+ set captureStatusBar(captureStatusBar) {
989
+ this._config.captureStatusBar = captureStatusBar;
990
+ }
991
+ getCaptureStatusBar() {
992
+ return this.disableNMLUrlCache;
993
+ }
994
+ setCaptureStatusBar(captureStatusBar) {
995
+ this.captureStatusBar = captureStatusBar;
996
+ return this;
997
+ }
985
998
  /** @internal */
986
999
  toObject() {
987
1000
  return this._config;
@@ -1041,6 +1054,7 @@ class ConfigurationData {
1041
1054
  debugImages: ((_a = this.debugScreenshots) === null || _a === void 0 ? void 0 : _a.save) && utils.types.has(this.debugScreenshots, 'path')
1042
1055
  ? this.debugScreenshots
1043
1056
  : undefined,
1057
+ captureStatusBar: this.captureStatusBar,
1044
1058
  }),
1045
1059
  check: utils.general.removeUndefinedProps({
1046
1060
  environments: (_b = this.browsersInfo) === null || _b === void 0 ? void 0 : _b.map(browserInfo => {
@@ -80,6 +80,12 @@ class ApiUrlsData {
80
80
  setDiffImage(diffImage) {
81
81
  this._urls.diffImage = diffImage;
82
82
  }
83
+ get sideBySideImage() {
84
+ return this._urls.sideBySideImage;
85
+ }
86
+ getSideBySideImage() {
87
+ return this.sideBySideImage;
88
+ }
83
89
  /** @internal */
84
90
  toObject() {
85
91
  return this._urls;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes",
3
- "version": "1.23.2",
3
+ "version": "1.25.0",
4
4
  "keywords": [
5
5
  "applitools",
6
6
  "eyes",
@@ -45,7 +45,7 @@
45
45
  "test": "run --top-level mocha './test/**/*.spec.ts'"
46
46
  },
47
47
  "dependencies": {
48
- "@applitools/core": "4.20.2",
48
+ "@applitools/core": "4.21.1",
49
49
  "@applitools/logger": "2.0.18",
50
50
  "@applitools/utils": "1.7.4"
51
51
  },
@@ -3,9 +3,14 @@ export declare enum DeviceNameEnum {
3
3
  iPhone_5SE = "iPhone 5/SE",
4
4
  /** @deprecated use {@link iPhone_5SE } instead */
5
5
  iPhone_5S_E = "iPhone 5/SE",
6
+ iPhone_SE_3rd_Gen = "iPhone SE 3rd Gen",
6
7
  iPhone_6_7_8 = "iPhone 6/7/8",
7
8
  iPhone_6_7_8_Plus = "iPhone 6/7/8 Plus",
8
9
  iPhone_X = "iPhone X",
10
+ iPhone_13_Mini = "iPhone 13 Mini",
11
+ iPhone_14_Plus = "iPhone 14 Plus",
12
+ iPhone_14_Pro = "iPhone 14 Pro",
13
+ iPhone_15_Pro = "iPhone 15 Pro",
9
14
  BlackBerry_Z30 = "BlackBerry Z30",
10
15
  Nexus_4 = "Nexus 4",
11
16
  Nexus_5 = "Nexus 5",
@@ -26,6 +31,10 @@ export declare enum DeviceNameEnum {
26
31
  iPad_Mini = "iPad Mini",
27
32
  iPad = "iPad",
28
33
  iPad_Pro = "iPad Pro",
34
+ iPad_8th_Gen = "iPad 8th Gen",
35
+ iPad_10th_Gen = "iPad 10th Gen",
36
+ iPad_Mini_4th_Gen = "iPad Mini 4th Gen",
37
+ iPad_Mini_6th_Gen = "iPad Mini 6th Gen",
29
38
  Blackberry_PlayBook = "Blackberry PlayBook",
30
39
  Nexus_10 = "Nexus 10",
31
40
  Nexus_7 = "Nexus 7",
@@ -63,6 +72,13 @@ export declare enum DeviceNameEnum {
63
72
  Galaxy_Note_9 = "Galaxy Note 9",
64
73
  Galaxy_Note_8 = "Galaxy Note 8",
65
74
  Galaxy_Note_4 = "Galaxy Note 4",
75
+ Galaxy_Tab_A_SM_T510 = "Galaxy Tab A SM-T510",
76
+ Galaxy_Tab_A7_SM_T500 = "Galaxy Tab A7 SM-T500",
77
+ Galaxy_Tab_S8 = "Galaxy Tab S8",
78
+ Galaxy_Tab_A8 = "Galaxy Tab A8",
79
+ Galaxy_S23 = "Galaxy S23",
80
+ Galaxy_S23_Ultra = "Galaxy S23 Ultra",
81
+ Galaxy_A52s = "Galaxy A52s",
66
82
  Pixel_3 = "Pixel 3",
67
83
  Pixel_3_XL = "Pixel 3 XL",
68
84
  Pixel_4 = "Pixel 4",
@@ -74,6 +90,12 @@ export declare enum DeviceNameEnum {
74
90
  Galaxy_Tab_S7 = "Galaxy Tab S7",
75
91
  Sony_Xperia_10_II = "Sony Xperia 10 II",
76
92
  Huawei_Mate_50_Pro = "Huawei Mate 50 Pro",
77
- Huawei_Matepad_11 = "Huawei Matepad 11"
93
+ Huawei_Matepad_11 = "Huawei Matepad 11",
94
+ Huawei_P30 = "Huawei P30",
95
+ Xiaomi_Mi_A3 = "Xiaomi Mi A3",
96
+ Huawei_P40 = "Huawei P40",
97
+ Xiaomi_Redmi_Note_8 = "Xiaomi Redmi Note 8",
98
+ Xiaomi_Mi_Poco_X3_Pro = "Xiaomi Mi Poco X3 Pro",
99
+ Xiaomi_Poco_X3 = "Xiaomi Poco X3"
78
100
  }
79
101
  export type DeviceName = `${DeviceNameEnum}`;
@@ -0,0 +1,9 @@
1
+ export declare enum DynamicTextTypeEnum {
2
+ TextField = "TextField",
3
+ Number = "Number",
4
+ Date = "Date",
5
+ Link = "Link",
6
+ Email = "Email",
7
+ Currency = "Currency"
8
+ }
9
+ export type DynamicTextType = `${DynamicTextTypeEnum}`;
@@ -1,6 +1,8 @@
1
1
  export declare enum IosDeviceNameEnum {
2
2
  iPad_7 = "iPad (7th generation)",
3
3
  iPad_9 = "iPad (9th generation)",
4
+ iPad_10 = "iPad (10th generation)",
5
+ iPad_mini_6 = "iPad mini (6th generation)",
4
6
  iPad_Air_4 = "iPad Air (4th generation)",
5
7
  /** @deprecated use {@link iPad_Pro_12_9_inch_3 } instead */
6
8
  iPad_Pro_3 = "iPad Pro (12.9-inch) (3rd generation)",
@@ -8,8 +10,8 @@ export declare enum IosDeviceNameEnum {
8
10
  /** @deprecated use {@link iPad_Pro_11_inch_4 } instead */
9
11
  iPad_Pro_4 = "iPad Pro (11-inch) (4th generation)",
10
12
  iPad_Pro_11_inch_4 = "iPad Pro (11-inch) (4th generation)",
11
- iPhone_8 = "iPhone 8",
12
- iPhone_8_Plus = "iPhone 8 Plus",
13
+ iPhone_SE_2 = "iPhone SE (2nd generation)",
14
+ iPhone_SE_3 = "iPhone SE (3rd generation)",
13
15
  iPhone_X = "iPhone X",
14
16
  iPhone_XR = "iPhone XR",
15
17
  /** @deprecated use {@link iPhone_Xs } instead */
@@ -23,11 +25,20 @@ export declare enum IosDeviceNameEnum {
23
25
  iPhone_12_Pro_Max = "iPhone 12 Pro Max",
24
26
  iPhone_12_Pro = "iPhone 12 Pro",
25
27
  iPhone_13 = "iPhone 13",
28
+ iPhone_13_mini = "iPhone 13 mini",
26
29
  iPhone_13_Pro_Max = "iPhone 13 Pro Max",
27
30
  iPhone_13_Pro = "iPhone 13 Pro",
28
31
  iPhone_14 = "iPhone 14",
29
32
  iPhone_14_Pro_Max = "iPhone 14 Pro Max",
33
+ iPhone_14_Pro = "iPhone 14 Pro",
34
+ iPhone_14_Plus = "iPhone 14 Plus",
30
35
  iPhone_15 = "iPhone 15",
31
- iPhone_15_Pro_Max = "iPhone 15 Pro Max"
36
+ iPhone_15_Pro_Max = "iPhone 15 Pro Max",
37
+ iPhone_15_Pro = "iPhone 15 Pro",
38
+ iPhone_15_Plus = "iPhone 15 Plus",
39
+ iPhone_16 = "iPhone 16",
40
+ iPhone_16_Pro_Max = "iPhone 16 Pro Max",
41
+ iPhone_16_Pro = "iPhone 16 Pro",
42
+ iPhone_16_Plus = "iPhone 16 Plus"
32
43
  }
33
44
  export type IosDeviceName = `${IosDeviceNameEnum}`;
@@ -6,6 +6,7 @@ export declare enum MatchLevelEnum {
6
6
  Content = "Content",
7
7
  IgnoreColors = "IgnoreColors",
8
8
  Strict = "Strict",
9
+ Dynamic = "Dynamic",
9
10
  Exact = "Exact"
10
11
  }
11
12
  export type MatchLevel = `${MatchLevelEnum}`;
package/types/index.d.ts CHANGED
@@ -15,6 +15,7 @@ export { AccessibilityGuidelinesVersion as AccessibilityGuidelinesVersionPlain,
15
15
  export { AccessibilityLevel as AccessibilityLevelPlain, AccessibilityLevelEnum as AccessibilityLevel, } from './enums/AccessibilityLevel';
16
16
  export { AccessibilityRegionType as AccessibilityRegionTypePlain, AccessibilityRegionTypeEnum as AccessibilityRegionType, } from './enums/AccessibilityRegionType';
17
17
  export { AccessibilityStatus as AccessibilityStatusPlain, AccessibilityStatusEnum as AccessibilityStatus, } from './enums/AccessibilityStatus';
18
+ export { DynamicTextType as DynamicTextTypePlain, DynamicTextTypeEnum as DynamicTextType } from './enums/DynamicTextType';
18
19
  export { EyesError } from './errors/EyesError';
19
20
  export { TestFailedError } from './errors/TestFailedError';
20
21
  export { DiffsFoundError } from './errors/DiffsFoundError';
@@ -8,6 +8,7 @@ import { Region, LegacyRegion } from './Region';
8
8
  import { Location } from './Location';
9
9
  import { LazyLoadOptions } from './LazyLoadOptions';
10
10
  import { DensityMetrics } from './DensityMetrics';
11
+ import { DynamicTextType } from '../enums/DynamicTextType';
11
12
  type RegionReference<TSpec extends Core.SpecType> = Region | ElementReference<TSpec>;
12
13
  type ElementReference<TSpec extends Core.SpecType> = TSpec['element'] | SelectorReference<TSpec>;
13
14
  type SelectorReference<TSpec extends Core.SpecType> = EyesSelector<TSpec['selector']>;
@@ -44,6 +45,10 @@ type LegacyCodedFloatingRegion<TRegion = never> = CodedRegion<TRegion> & {
44
45
  type CodedAccessibilityRegion<TRegion = never> = CodedRegion<TRegion> & {
45
46
  type?: AccessibilityRegionType;
46
47
  };
48
+ type DynamicTextTypeOrPattern = DynamicTextType | string;
49
+ type CodedDynamicRegion<TRegion = never> = CodedRegion<TRegion> & {
50
+ type?: DynamicTextTypeOrPattern | DynamicTextTypeOrPattern[];
51
+ };
47
52
  export type CheckSettingsBase<TRegion = never> = {
48
53
  name?: string;
49
54
  region?: Region | TRegion;
@@ -60,6 +65,7 @@ export type CheckSettingsBase<TRegion = never> = {
60
65
  contentRegions?: (CodedRegion<TRegion> | Region | TRegion)[];
61
66
  floatingRegions?: (CodedFloatingRegion<TRegion> | LegacyCodedFloatingRegion<TRegion> | Region | TRegion)[];
62
67
  accessibilityRegions?: (CodedAccessibilityRegion<TRegion> | Region | TRegion)[];
68
+ dynamicRegions?: (CodedDynamicRegion<TRegion> | Region | TRegion)[];
63
69
  pageId?: string;
64
70
  variationGroupId?: string;
65
71
  densityMetrics?: DensityMetrics;
@@ -127,11 +133,16 @@ export declare class CheckSettingsBaseFluent<TRegion = never> {
127
133
  accessibilityRegion(region: Region | LegacyRegion | TRegion, type?: AccessibilityRegionType): this;
128
134
  accessibilityRegions(...regions: (CodedAccessibilityRegion<TRegion> | Region | LegacyRegion | TRegion)[]): this;
129
135
  accessibilityRegions(type: AccessibilityRegionType, ...regions: (Region | LegacyRegion | TRegion)[]): this;
136
+ dynamicRegion(region: CodedDynamicRegion<TRegion>): this;
137
+ dynamicRegion(region: Region | TRegion): this;
138
+ dynamicRegion(region: Region | TRegion, type?: DynamicTextTypeOrPattern | DynamicTextTypeOrPattern[]): this;
139
+ dynamicRegions(...regions: (CodedDynamicRegion<TRegion> | Region | TRegion)[]): this;
130
140
  matchLevel(matchLevel: MatchLevel): typeof this;
131
141
  layout(): typeof this;
132
142
  exact(): typeof this;
133
143
  strict(): typeof this;
134
144
  ignoreColors(): typeof this;
145
+ dynamic(): typeof this;
135
146
  /** @deprecated */
136
147
  content(): typeof this;
137
148
  enablePatterns(enablePatterns?: boolean): typeof this;
@@ -85,6 +85,7 @@ export type Configuration<TSpec extends Core.SpecType = Core.SpecType> = {
85
85
  disableBrowserFetching?: boolean;
86
86
  waitBeforeCapture?: number;
87
87
  disableNMLUrlCache?: boolean;
88
+ captureStatusBar?: boolean;
88
89
  };
89
90
  export declare class ConfigurationData<TSpec extends Core.SpecType = Core.SpecType> implements Required<Configuration<TSpec>> {
90
91
  protected static readonly _spec: Core.SpecDriver<Core.SpecType>;
@@ -384,6 +385,10 @@ export declare class ConfigurationData<TSpec extends Core.SpecType = Core.SpecTy
384
385
  set disableNMLUrlCache(disableNMLUrlCache: boolean);
385
386
  getDisableNMLUrlCache(): boolean;
386
387
  setDisableNMLUrlCache(disableNMLUrlCache: boolean): this;
388
+ get captureStatusBar(): boolean;
389
+ set captureStatusBar(captureStatusBar: boolean);
390
+ getCaptureStatusBar(): boolean;
391
+ setCaptureStatusBar(captureStatusBar: boolean): this;
387
392
  /** @internal */
388
393
  toObject(): Configuration<TSpec>;
389
394
  /** @internal */
@@ -4,6 +4,7 @@ export type ApiUrls = {
4
4
  readonly checkpointImage: string;
5
5
  readonly checkpointImageThumbnail: string;
6
6
  readonly diffImage: string;
7
+ readonly sideBySideImage: string;
7
8
  };
8
9
  export declare class ApiUrlsData implements Required<ApiUrls> {
9
10
  private _urls;
@@ -29,6 +30,8 @@ export declare class ApiUrlsData implements Required<ApiUrls> {
29
30
  getDiffImage(): string;
30
31
  /** @deprecated */
31
32
  setDiffImage(diffImage: string): void;
33
+ get sideBySideImage(): string;
34
+ getSideBySideImage(): string;
32
35
  /** @internal */
33
36
  toObject(): ApiUrls;
34
37
  /** @internal */