@applitools/eyes-browser 1.6.24 → 1.6.25

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,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.6.25](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.6.24...js/eyes-browser@1.6.25) (2026-07-08)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/nml-client bumped to 1.11.35
9
+
10
+ * @applitools/core-base bumped to 1.36.1
11
+ #### Bug Fixes
12
+
13
+ * forward Exact match-level tuning to the server across JS + Java | FLD-4685 ([#3974](https://github.com/Applitools-Dev/sdk/issues/3974)) ([fea351c](https://github.com/Applitools-Dev/sdk/commit/fea351c76c80f63bf658d9573b3d34e0537e0cce))
14
+ * @applitools/core bumped to 4.66.1
15
+ #### Bug Fixes
16
+
17
+ * stop UFG old-infra retry after a retry fails | AD-14675 ([#3970](https://github.com/Applitools-Dev/sdk/issues/3970)) ([1531893](https://github.com/Applitools-Dev/sdk/commit/1531893cc9c098f3ade329ceae7164600c184fa5))
18
+
19
+
20
+
21
+ * @applitools/ec-client bumped to 1.12.37
22
+
23
+ * @applitools/eyes bumped to 1.43.6
24
+ #### Bug Fixes
25
+
26
+ * forward Exact match-level tuning to the server across JS + Java | FLD-4685 ([#3974](https://github.com/Applitools-Dev/sdk/issues/3974)) ([fea351c](https://github.com/Applitools-Dev/sdk/commit/fea351c76c80f63bf658d9573b3d34e0537e0cce))
27
+
28
+
29
+
30
+
3
31
  ## [1.6.24](https://github.com/Applitools-Dev/sdk/compare/js/eyes-browser@1.6.23...js/eyes-browser@1.6.24) (2026-06-28)
4
32
 
5
33
 
package/dist/index.js CHANGED
@@ -13738,6 +13738,134 @@ var require_BatchInfo = __commonJS({
13738
13738
  }
13739
13739
  });
13740
13740
 
13741
+ // ../eyes/dist/input/ExactMatchSettings.js
13742
+ var require_ExactMatchSettings = __commonJS({
13743
+ "../eyes/dist/input/ExactMatchSettings.js"(exports) {
13744
+ "use strict";
13745
+ init_global();
13746
+ init_process();
13747
+ init_setImmediate();
13748
+ init_buffer();
13749
+ init_setInterval();
13750
+ var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
13751
+ if (k2 === void 0)
13752
+ k2 = k;
13753
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13754
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13755
+ desc = { enumerable: true, get: function() {
13756
+ return m[k];
13757
+ } };
13758
+ }
13759
+ Object.defineProperty(o, k2, desc);
13760
+ } : function(o, m, k, k2) {
13761
+ if (k2 === void 0)
13762
+ k2 = k;
13763
+ o[k2] = m[k];
13764
+ });
13765
+ var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
13766
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
13767
+ } : function(o, v) {
13768
+ o["default"] = v;
13769
+ });
13770
+ var __importStar = exports && exports.__importStar || function(mod) {
13771
+ if (mod && mod.__esModule)
13772
+ return mod;
13773
+ var result = {};
13774
+ if (mod != null) {
13775
+ for (var k in mod)
13776
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
13777
+ __createBinding(result, mod, k);
13778
+ }
13779
+ __setModuleDefault(result, mod);
13780
+ return result;
13781
+ };
13782
+ Object.defineProperty(exports, "__esModule", { value: true });
13783
+ exports.ExactMatchSettingsData = exports.validateExactMatchSettings = void 0;
13784
+ var utils2 = __importStar(require_browser3());
13785
+ function validateExactMatchSettings(exact) {
13786
+ utils2.guard.isInteger(exact.minDiffIntensity, { name: "minDiffIntensity", strict: false });
13787
+ utils2.guard.isInteger(exact.minDiffWidth, { name: "minDiffWidth", strict: false });
13788
+ utils2.guard.isInteger(exact.minDiffHeight, { name: "minDiffHeight", strict: false });
13789
+ utils2.guard.isNumber(exact.matchThreshold, { name: "matchThreshold", strict: false });
13790
+ }
13791
+ exports.validateExactMatchSettings = validateExactMatchSettings;
13792
+ var ExactMatchSettingsData = class {
13793
+ constructor(settings) {
13794
+ this._settings = {};
13795
+ this.minDiffIntensity = settings.minDiffIntensity;
13796
+ this.minDiffWidth = settings.minDiffWidth;
13797
+ this.minDiffHeight = settings.minDiffHeight;
13798
+ this.matchThreshold = settings.matchThreshold;
13799
+ }
13800
+ get minDiffIntensity() {
13801
+ return this._settings.minDiffIntensity;
13802
+ }
13803
+ set minDiffIntensity(minDiffIntensity) {
13804
+ validateExactMatchSettings({ minDiffIntensity });
13805
+ this._settings.minDiffIntensity = minDiffIntensity;
13806
+ }
13807
+ getMinDiffIntensity() {
13808
+ return this.minDiffIntensity;
13809
+ }
13810
+ setMinDiffIntensity(value) {
13811
+ this.minDiffIntensity = value;
13812
+ }
13813
+ get minDiffWidth() {
13814
+ return this._settings.minDiffWidth;
13815
+ }
13816
+ set minDiffWidth(minDiffWidth) {
13817
+ validateExactMatchSettings({ minDiffWidth });
13818
+ this._settings.minDiffWidth = minDiffWidth;
13819
+ }
13820
+ getMinDiffWidth() {
13821
+ return this.minDiffWidth;
13822
+ }
13823
+ setMinDiffWidth(value) {
13824
+ this.minDiffWidth = value;
13825
+ }
13826
+ get minDiffHeight() {
13827
+ return this._settings.minDiffHeight;
13828
+ }
13829
+ set minDiffHeight(minDiffHeight) {
13830
+ validateExactMatchSettings({ minDiffHeight });
13831
+ this._settings.minDiffHeight = minDiffHeight;
13832
+ }
13833
+ getMinDiffHeight() {
13834
+ return this.minDiffHeight;
13835
+ }
13836
+ setMinDiffHeight(value) {
13837
+ this.minDiffHeight = value;
13838
+ }
13839
+ get matchThreshold() {
13840
+ return this._settings.matchThreshold;
13841
+ }
13842
+ set matchThreshold(matchThreshold) {
13843
+ validateExactMatchSettings({ matchThreshold });
13844
+ this._settings.matchThreshold = matchThreshold;
13845
+ }
13846
+ getMatchThreshold() {
13847
+ return this.matchThreshold;
13848
+ }
13849
+ setMatchThreshold(value) {
13850
+ this.matchThreshold = value;
13851
+ }
13852
+ /** @internal */
13853
+ toObject() {
13854
+ return this._settings;
13855
+ }
13856
+ /** @internal */
13857
+ toJSON() {
13858
+ return utils2.general.toJSON(this._settings);
13859
+ }
13860
+ /** @internal */
13861
+ toString() {
13862
+ return utils2.general.toString(this);
13863
+ }
13864
+ };
13865
+ exports.ExactMatchSettingsData = ExactMatchSettingsData;
13866
+ }
13867
+ });
13868
+
13741
13869
  // ../eyes/dist/input/CheckSettings.js
13742
13870
  var require_CheckSettings = __commonJS({
13743
13871
  "../eyes/dist/input/CheckSettings.js"(exports) {
@@ -13783,6 +13911,7 @@ var require_CheckSettings = __commonJS({
13783
13911
  exports.Target = exports.TargetAutomation = exports.TargetImage = exports.CheckSettingsAutomationFluent = exports.CheckSettingsImageFluent = exports.CheckSettingsBaseFluent = void 0;
13784
13912
  var AccessibilityRegionType_1 = require_AccessibilityRegionType();
13785
13913
  var MatchLevel_1 = require_MatchLevel();
13914
+ var ExactMatchSettings_1 = require_ExactMatchSettings();
13786
13915
  var utils2 = __importStar(require_browser3());
13787
13916
  var CheckSettingsBaseFluent = class {
13788
13917
  constructor(settings, parent) {
@@ -13966,8 +14095,12 @@ var require_CheckSettings = __commonJS({
13966
14095
  this._settings.matchLevel = MatchLevel_1.MatchLevelEnum.Layout;
13967
14096
  return this;
13968
14097
  }
13969
- exact() {
14098
+ exact(exact) {
14099
+ if (exact)
14100
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(exact);
13970
14101
  this._settings.matchLevel = MatchLevel_1.MatchLevelEnum.Exact;
14102
+ if (exact)
14103
+ this._settings.exact = exact;
13971
14104
  return this;
13972
14105
  }
13973
14106
  strict() {
@@ -14138,12 +14271,16 @@ var require_CheckSettings = __commonJS({
14138
14271
  /** @internal */
14139
14272
  toJSON() {
14140
14273
  var _a, _b, _c, _d, _e, _f, _g;
14274
+ if (this._settings.exact && this._settings.matchLevel === MatchLevel_1.MatchLevelEnum.Exact) {
14275
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(this._settings.exact);
14276
+ }
14141
14277
  return {
14142
14278
  target: this._target,
14143
14279
  settings: utils2.general.removeUndefinedProps({
14144
14280
  name: this._settings.name,
14145
14281
  region: this._settings.region ? this.toCoreRegion(this._settings.region) : this._settings.region,
14146
14282
  matchLevel: this._settings.matchLevel,
14283
+ exact: this._settings.exact,
14147
14284
  useDom: this._settings.useDom,
14148
14285
  sendDom: this._settings.sendDom,
14149
14286
  enablePatterns: this._settings.enablePatterns,
@@ -14349,6 +14486,9 @@ var require_CheckSettings = __commonJS({
14349
14486
  /** @internal */
14350
14487
  toJSON() {
14351
14488
  var _a, _b, _c, _d, _e, _f, _g, _h;
14489
+ if (this._settings.exact && this._settings.matchLevel === MatchLevel_1.MatchLevelEnum.Exact) {
14490
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(this._settings.exact);
14491
+ }
14352
14492
  return {
14353
14493
  target: this._settings.page,
14354
14494
  settings: utils2.general.removeUndefinedProps({
@@ -14359,6 +14499,7 @@ var require_CheckSettings = __commonJS({
14359
14499
  scrollRootElement: this._settings.scrollRootElement,
14360
14500
  fully: this._settings.fully,
14361
14501
  matchLevel: this._settings.matchLevel,
14502
+ exact: this._settings.exact,
14362
14503
  useDom: this._settings.useDom,
14363
14504
  sendDom: this._settings.sendDom,
14364
14505
  enablePatterns: this._settings.enablePatterns,
@@ -14609,127 +14750,6 @@ var require_ProxySettings = __commonJS({
14609
14750
  }
14610
14751
  });
14611
14752
 
14612
- // ../eyes/dist/input/ExactMatchSettings.js
14613
- var require_ExactMatchSettings = __commonJS({
14614
- "../eyes/dist/input/ExactMatchSettings.js"(exports) {
14615
- "use strict";
14616
- init_global();
14617
- init_process();
14618
- init_setImmediate();
14619
- init_buffer();
14620
- init_setInterval();
14621
- var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
14622
- if (k2 === void 0)
14623
- k2 = k;
14624
- var desc = Object.getOwnPropertyDescriptor(m, k);
14625
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14626
- desc = { enumerable: true, get: function() {
14627
- return m[k];
14628
- } };
14629
- }
14630
- Object.defineProperty(o, k2, desc);
14631
- } : function(o, m, k, k2) {
14632
- if (k2 === void 0)
14633
- k2 = k;
14634
- o[k2] = m[k];
14635
- });
14636
- var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
14637
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14638
- } : function(o, v) {
14639
- o["default"] = v;
14640
- });
14641
- var __importStar = exports && exports.__importStar || function(mod) {
14642
- if (mod && mod.__esModule)
14643
- return mod;
14644
- var result = {};
14645
- if (mod != null) {
14646
- for (var k in mod)
14647
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
14648
- __createBinding(result, mod, k);
14649
- }
14650
- __setModuleDefault(result, mod);
14651
- return result;
14652
- };
14653
- Object.defineProperty(exports, "__esModule", { value: true });
14654
- exports.ExactMatchSettingsData = void 0;
14655
- var utils2 = __importStar(require_browser3());
14656
- var ExactMatchSettingsData = class {
14657
- constructor(settings) {
14658
- this._settings = {};
14659
- this.minDiffIntensity = settings.minDiffIntensity;
14660
- this.minDiffWidth = settings.minDiffWidth;
14661
- this.minDiffHeight = settings.minDiffHeight;
14662
- this.matchThreshold = settings.matchThreshold;
14663
- }
14664
- get minDiffIntensity() {
14665
- return this._settings.minDiffIntensity;
14666
- }
14667
- set minDiffIntensity(minDiffIntensity) {
14668
- utils2.guard.isNumber(minDiffIntensity, { name: "minDiffIntensity", strict: false });
14669
- this._settings.minDiffIntensity = minDiffIntensity;
14670
- }
14671
- getMinDiffIntensity() {
14672
- return this.minDiffIntensity;
14673
- }
14674
- setMinDiffIntensity(value) {
14675
- this.minDiffIntensity = value;
14676
- }
14677
- get minDiffWidth() {
14678
- return this._settings.minDiffWidth;
14679
- }
14680
- set minDiffWidth(minDiffWidth) {
14681
- utils2.guard.isNumber(minDiffWidth, { name: "minDiffWidth", strict: false });
14682
- this._settings.minDiffWidth = minDiffWidth;
14683
- }
14684
- getMinDiffWidth() {
14685
- return this.minDiffWidth;
14686
- }
14687
- setMinDiffWidth(value) {
14688
- this.minDiffWidth = value;
14689
- }
14690
- get minDiffHeight() {
14691
- return this._settings.minDiffHeight;
14692
- }
14693
- set minDiffHeight(minDiffHeight) {
14694
- utils2.guard.isNumber(minDiffHeight, { name: "minDiffHeight", strict: false });
14695
- this._settings.minDiffHeight = minDiffHeight;
14696
- }
14697
- getMinDiffHeight() {
14698
- return this.minDiffHeight;
14699
- }
14700
- setMinDiffHeight(value) {
14701
- this.minDiffHeight = value;
14702
- }
14703
- get matchThreshold() {
14704
- return this._settings.matchThreshold;
14705
- }
14706
- set matchThreshold(matchThreshold) {
14707
- utils2.guard.isNumber(matchThreshold, { name: "matchThreshold", strict: false });
14708
- this._settings.matchThreshold = matchThreshold;
14709
- }
14710
- getMatchThreshold() {
14711
- return this.matchThreshold;
14712
- }
14713
- setMatchThreshold(value) {
14714
- this.matchThreshold = value;
14715
- }
14716
- /** @internal */
14717
- toObject() {
14718
- return this._settings;
14719
- }
14720
- /** @internal */
14721
- toJSON() {
14722
- return utils2.general.toJSON(this._settings);
14723
- }
14724
- /** @internal */
14725
- toString() {
14726
- return utils2.general.toString(this);
14727
- }
14728
- };
14729
- exports.ExactMatchSettingsData = ExactMatchSettingsData;
14730
- }
14731
- });
14732
-
14733
14753
  // ../eyes/dist/input/FloatingMatchSettings.js
14734
14754
  var require_FloatingMatchSettings = __commonJS({
14735
14755
  "../eyes/dist/input/FloatingMatchSettings.js"(exports) {
@@ -14966,6 +14986,8 @@ var require_ImageMatchSettings = __commonJS({
14966
14986
  return this._settings.exact;
14967
14987
  }
14968
14988
  set exact(exact) {
14989
+ if (exact)
14990
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(exact);
14969
14991
  this._settings.exact = exact;
14970
14992
  }
14971
14993
  getExact() {
@@ -15246,6 +15268,7 @@ var require_Configuration = __commonJS({
15246
15268
  var BatchInfo_1 = require_BatchInfo();
15247
15269
  var PropertyData_1 = require_PropertyData();
15248
15270
  var ImageMatchSettings_1 = require_ImageMatchSettings();
15271
+ var ExactMatchSettings_1 = require_ExactMatchSettings();
15249
15272
  var utils2 = __importStar(require_browser3());
15250
15273
  var ConfigurationData = class {
15251
15274
  _isElementReference(value) {
@@ -15651,6 +15674,8 @@ var require_Configuration = __commonJS({
15651
15674
  }
15652
15675
  set defaultMatchSettings(defaultMatchSettings) {
15653
15676
  utils2.guard.notNull(defaultMatchSettings, { name: "defaultMatchSettings" });
15677
+ if (defaultMatchSettings.exact)
15678
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(defaultMatchSettings.exact);
15654
15679
  this._config.defaultMatchSettings = defaultMatchSettings;
15655
15680
  }
15656
15681
  getDefaultMatchSettings() {
@@ -16395,7 +16420,10 @@ var require_Configuration = __commonJS({
16395
16420
  }
16396
16421
  /** @internal */
16397
16422
  toJSON() {
16398
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
16423
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
16424
+ if (((_a = this.defaultMatchSettings) === null || _a === void 0 ? void 0 : _a.exact) && this.defaultMatchSettings.matchLevel === MatchLevel_1.MatchLevelEnum.Exact) {
16425
+ (0, ExactMatchSettings_1.validateExactMatchSettings)(this.defaultMatchSettings.exact);
16426
+ }
16399
16427
  return utils2.general.toJSON({
16400
16428
  open: utils2.general.removeUndefinedProps({
16401
16429
  eyesServerUrl: this.serverUrl,
@@ -16439,7 +16467,7 @@ var require_Configuration = __commonJS({
16439
16467
  bypassCSP: this.bypassCSP
16440
16468
  }),
16441
16469
  screenshot: utils2.general.removeUndefinedProps({
16442
- fully: (_a = this.fully) !== null && _a !== void 0 ? _a : this.forceFullPageScreenshot,
16470
+ fully: (_b = this.fully) !== null && _b !== void 0 ? _b : this.forceFullPageScreenshot,
16443
16471
  scrollRootElement: this.scrollRootElement,
16444
16472
  stitchMode: this.stitchMode,
16445
16473
  hideScrollbars: this.hideScrollbars,
@@ -16452,13 +16480,13 @@ var require_Configuration = __commonJS({
16452
16480
  rotation: this.rotation,
16453
16481
  scaleRatio: this.scaleRatio
16454
16482
  }),
16455
- debugImages: ((_b = this.debugScreenshots) === null || _b === void 0 ? void 0 : _b.save) && utils2.types.has(this.debugScreenshots, "path") ? this.debugScreenshots : void 0,
16483
+ debugImages: ((_c = this.debugScreenshots) === null || _c === void 0 ? void 0 : _c.save) && utils2.types.has(this.debugScreenshots, "path") ? this.debugScreenshots : void 0,
16456
16484
  captureStatusBar: this.captureStatusBar,
16457
16485
  mobileOptions: this.mobileOptions
16458
16486
  }),
16459
16487
  check: utils2.general.removeUndefinedProps({
16460
16488
  httpVersion: this.httpVersion,
16461
- environments: (_c = this.browsersInfo) === null || _c === void 0 ? void 0 : _c.map((browserInfo) => {
16489
+ environments: (_d = this.browsersInfo) === null || _d === void 0 ? void 0 : _d.map((browserInfo) => {
16462
16490
  if (utils2.types.has(browserInfo, "iosDeviceInfo") && utils2.types.has(browserInfo.iosDeviceInfo, "iosVersion")) {
16463
16491
  const { iosVersion, ...iosDeviceInfo } = browserInfo.iosDeviceInfo;
16464
16492
  return { iosDeviceInfo: { ...iosDeviceInfo, version: iosVersion } };
@@ -16466,26 +16494,27 @@ var require_Configuration = __commonJS({
16466
16494
  return browserInfo;
16467
16495
  }),
16468
16496
  ufgOptions: this.visualGridOptions,
16469
- layoutBreakpoints: utils2.types.isDefined(this.layoutBreakpoints) ? utils2.types.has(this.layoutBreakpoints, "breakpoints") ? this.layoutBreakpoints : { breakpoints: (_d = this.layoutBreakpoints) !== null && _d !== void 0 ? _d : false } : void 0,
16497
+ layoutBreakpoints: utils2.types.isDefined(this.layoutBreakpoints) ? utils2.types.has(this.layoutBreakpoints, "breakpoints") ? this.layoutBreakpoints : { breakpoints: (_e = this.layoutBreakpoints) !== null && _e !== void 0 ? _e : false } : void 0,
16470
16498
  disableBrowserFetching: this.disableBrowserFetching,
16471
16499
  autProxy: this.autProxy,
16472
16500
  sendDom: this.sendDom,
16473
16501
  matchTimeout: this.matchTimeout,
16474
- matchLevel: (_e = this.defaultMatchSettings) === null || _e === void 0 ? void 0 : _e.matchLevel,
16475
- ignoreCaret: (_f = this.defaultMatchSettings) === null || _f === void 0 ? void 0 : _f.ignoreCaret,
16476
- ignoreDisplacements: (_g = this.defaultMatchSettings) === null || _g === void 0 ? void 0 : _g.ignoreDisplacements,
16477
- enablePatterns: (_h = this.defaultMatchSettings) === null || _h === void 0 ? void 0 : _h.enablePatterns,
16478
- accessibilitySettings: ((_j = this.defaultMatchSettings) === null || _j === void 0 ? void 0 : _j.accessibilitySettings) && {
16502
+ matchLevel: (_f = this.defaultMatchSettings) === null || _f === void 0 ? void 0 : _f.matchLevel,
16503
+ exact: (_g = this.defaultMatchSettings) === null || _g === void 0 ? void 0 : _g.exact,
16504
+ ignoreCaret: (_h = this.defaultMatchSettings) === null || _h === void 0 ? void 0 : _h.ignoreCaret,
16505
+ ignoreDisplacements: (_j = this.defaultMatchSettings) === null || _j === void 0 ? void 0 : _j.ignoreDisplacements,
16506
+ enablePatterns: (_k = this.defaultMatchSettings) === null || _k === void 0 ? void 0 : _k.enablePatterns,
16507
+ accessibilitySettings: ((_l = this.defaultMatchSettings) === null || _l === void 0 ? void 0 : _l.accessibilitySettings) && {
16479
16508
  level: this.defaultMatchSettings.accessibilitySettings.level,
16480
16509
  version: this.defaultMatchSettings.accessibilitySettings.guidelinesVersion
16481
16510
  },
16482
- useDom: (_k = this.defaultMatchSettings) === null || _k === void 0 ? void 0 : _k.useDom,
16483
- ignoreRegions: (_l = this.defaultMatchSettings) === null || _l === void 0 ? void 0 : _l.ignoreRegions,
16484
- contentRegions: (_m = this.defaultMatchSettings) === null || _m === void 0 ? void 0 : _m.contentRegions,
16485
- layoutRegions: (_o = this.defaultMatchSettings) === null || _o === void 0 ? void 0 : _o.layoutRegions,
16486
- strictRegions: (_p = this.defaultMatchSettings) === null || _p === void 0 ? void 0 : _p.strictRegions,
16487
- floatingRegions: (_q = this.defaultMatchSettings) === null || _q === void 0 ? void 0 : _q.floatingRegions,
16488
- accessibilityRegions: (_r = this.defaultMatchSettings) === null || _r === void 0 ? void 0 : _r.accessibilityRegions,
16511
+ useDom: (_m = this.defaultMatchSettings) === null || _m === void 0 ? void 0 : _m.useDom,
16512
+ ignoreRegions: (_o = this.defaultMatchSettings) === null || _o === void 0 ? void 0 : _o.ignoreRegions,
16513
+ contentRegions: (_p = this.defaultMatchSettings) === null || _p === void 0 ? void 0 : _p.contentRegions,
16514
+ layoutRegions: (_q = this.defaultMatchSettings) === null || _q === void 0 ? void 0 : _q.layoutRegions,
16515
+ strictRegions: (_r = this.defaultMatchSettings) === null || _r === void 0 ? void 0 : _r.strictRegions,
16516
+ floatingRegions: (_s = this.defaultMatchSettings) === null || _s === void 0 ? void 0 : _s.floatingRegions,
16517
+ accessibilityRegions: (_t = this.defaultMatchSettings) === null || _t === void 0 ? void 0 : _t.accessibilityRegions,
16489
16518
  skipRootHtmlResource: this.skipRootHtmlResource
16490
16519
  }),
16491
16520
  close: utils2.general.removeUndefinedProps({
@@ -30177,6 +30206,7 @@ var require_requests = __commonJS({
30177
30206
  ignoreCaret: settings.ignoreCaret,
30178
30207
  enablePatterns: settings.enablePatterns,
30179
30208
  matchLevel: (_a = settings.matchLevel) !== null && _a !== void 0 ? _a : "Strict",
30209
+ exact: settings.matchLevel === "Exact" ? settings.exact : void 0,
30180
30210
  useDom: (_b = settings.useDom) !== null && _b !== void 0 ? _b : false,
30181
30211
  densityMetrics: settings.densityMetrics
30182
30212
  },
@@ -128096,6 +128126,7 @@ var require_check3 = __commonJS({
128096
128126
  var to_base_check_settings_1 = require_to_base_check_settings();
128097
128127
  var to_old_infra_environment_1 = require_to_old_infra_environment();
128098
128128
  function makeCheck({ eyes: eyes2, target: defaultTarget, environments: defaultEnvironments = [], spec: spec2, signal, logger: mainLogger }) {
128129
+ const oldInfraRetryDisabled = /* @__PURE__ */ new WeakSet();
128099
128130
  return async function check({ target = defaultTarget, settings = {}, logger = mainLogger } = {}) {
128100
128131
  var _a;
128101
128132
  logger = logger.extend(mainLogger);
@@ -128244,18 +128275,21 @@ var require_check3 = __commonJS({
128244
128275
  settings: baseSettings,
128245
128276
  logger: environmentLogger
128246
128277
  });
128247
- if (!checkResult.asExpected && baseEyes.test.shouldRetryWithOldInfra) {
128278
+ if (!checkResult.asExpected && baseEyes.test.shouldRetryWithOldInfra && !oldInfraRetryDisabled.has(baseEyes)) {
128248
128279
  const oldInfraEnvironment = (0, to_old_infra_environment_1.toOldInfraEnvironment)(environment);
128249
128280
  if (oldInfraEnvironment) {
128250
128281
  try {
128251
128282
  const { target: target3, settings: settings2 } = await renderForCheck(oldInfraEnvironment);
128252
128283
  settings2.oldInfraRetry = true;
128253
- await baseEyes.check({
128284
+ const retryResult = await baseEyes.check({
128254
128285
  target: { ...target3, isTransformed: true },
128255
128286
  settings: settings2,
128256
128287
  logger: environmentLogger
128257
128288
  });
128289
+ if (!retryResult.asExpected)
128290
+ oldInfraRetryDisabled.add(baseEyes);
128258
128291
  } catch (error) {
128292
+ oldInfraRetryDisabled.add(baseEyes);
128259
128293
  environmentLogger.warn("Old-infra retry failed; keeping the primary check result", error);
128260
128294
  }
128261
128295
  }
@@ -131994,7 +132028,7 @@ var require_package3 = __commonJS({
131994
132028
  "../core/package.json"(exports, module) {
131995
132029
  module.exports = {
131996
132030
  name: "@applitools/core",
131997
- version: "4.66.0",
132031
+ version: "4.66.1",
131998
132032
  homepage: "https://applitools.com",
131999
132033
  bugs: {
132000
132034
  url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -133548,7 +133582,7 @@ var require_package4 = __commonJS({
133548
133582
  "../eyes/package.json"(exports, module) {
133549
133583
  module.exports = {
133550
133584
  name: "@applitools/eyes",
133551
- version: "1.43.5",
133585
+ version: "1.43.6",
133552
133586
  keywords: [
133553
133587
  "applitools",
133554
133588
  "eyes",
@@ -135164,7 +135198,7 @@ var require_package5 = __commonJS({
135164
135198
  "package.json"(exports, module) {
135165
135199
  module.exports = {
135166
135200
  name: "@applitools/eyes-browser",
135167
- version: "1.6.24",
135201
+ version: "1.6.25",
135168
135202
  type: "module",
135169
135203
  keywords: [
135170
135204
  "applitools",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-browser",
3
- "version": "1.6.24",
3
+ "version": "1.6.25",
4
4
  "type": "module",
5
5
  "keywords": [
6
6
  "applitools",
@@ -51,7 +51,7 @@
51
51
  "test": "run playwright test"
52
52
  },
53
53
  "dependencies": {
54
- "@applitools/eyes": "1.43.5"
54
+ "@applitools/eyes": "1.43.6"
55
55
  },
56
56
  "devDependencies": {
57
57
  "@applitools/test-server": "1.4.6",
@@ -4,6 +4,7 @@ import { EyesSelector } from './EyesSelector';
4
4
  import { Image } from './Image';
5
5
  import { AccessibilityRegionType } from '../enums/AccessibilityRegionType';
6
6
  import { MatchLevel } from '../enums/MatchLevel';
7
+ import { type ExactMatchSettings } from './ExactMatchSettings';
7
8
  import { Region, LegacyRegion } from './Region';
8
9
  import { Location } from './Location';
9
10
  import { LazyLoadOptions } from './LazyLoadOptions';
@@ -55,6 +56,7 @@ export type CheckSettingsBase<TRegion = never> = {
55
56
  name?: string;
56
57
  region?: Region | LegacyRegion | TRegion;
57
58
  matchLevel?: MatchLevel;
59
+ exact?: ExactMatchSettings;
58
60
  useDom?: boolean;
59
61
  sendDom?: boolean;
60
62
  enablePatterns?: boolean;
@@ -173,7 +175,7 @@ export declare class CheckSettingsBaseFluent<TRegion = never> {
173
175
  dynamicRegions(...regions: (CodedDynamicRegion<TRegion> | Region | TRegion)[]): this;
174
176
  matchLevel(matchLevel: MatchLevel): typeof this;
175
177
  layout(): typeof this;
176
- exact(): typeof this;
178
+ exact(exact?: ExactMatchSettings): typeof this;
177
179
  strict(): typeof this;
178
180
  ignoreColors(): typeof this;
179
181
  dynamic(): typeof this;
@@ -1,30 +1,37 @@
1
1
  /** @undocumented */
2
2
  export type ExactMatchSettings = {
3
- minDiffIntensity: number;
4
- minDiffWidth: number;
5
- minDiffHeight: number;
6
- matchThreshold: number;
3
+ minDiffIntensity?: number;
4
+ minDiffWidth?: number;
5
+ minDiffHeight?: number;
6
+ matchThreshold?: number;
7
7
  };
8
+ /**
9
+ * Validates the tuning params supplied to the Exact match level. Only the fields
10
+ * present on `exact` are checked (all fields are optional): the three `minDiff*`
11
+ * fields must be integers, `matchThreshold` may be any number (int or float).
12
+ * @internal
13
+ */
14
+ export declare function validateExactMatchSettings(exact: ExactMatchSettings): void;
8
15
  /** @undocumented */
9
- export declare class ExactMatchSettingsData implements Required<ExactMatchSettings> {
16
+ export declare class ExactMatchSettingsData implements ExactMatchSettings {
10
17
  private _settings;
11
18
  constructor(settings: ExactMatchSettings);
12
- get minDiffIntensity(): number;
13
- set minDiffIntensity(minDiffIntensity: number);
14
- getMinDiffIntensity(): number;
15
- setMinDiffIntensity(value: number): void;
16
- get minDiffWidth(): number;
17
- set minDiffWidth(minDiffWidth: number);
18
- getMinDiffWidth(): number;
19
- setMinDiffWidth(value: number): void;
20
- get minDiffHeight(): number;
21
- set minDiffHeight(minDiffHeight: number);
22
- getMinDiffHeight(): number;
23
- setMinDiffHeight(value: number): void;
24
- get matchThreshold(): number;
25
- set matchThreshold(matchThreshold: number);
26
- getMatchThreshold(): number;
27
- setMatchThreshold(value: number): void;
19
+ get minDiffIntensity(): number | undefined;
20
+ set minDiffIntensity(minDiffIntensity: number | undefined);
21
+ getMinDiffIntensity(): number | undefined;
22
+ setMinDiffIntensity(value: number | undefined): void;
23
+ get minDiffWidth(): number | undefined;
24
+ set minDiffWidth(minDiffWidth: number | undefined);
25
+ getMinDiffWidth(): number | undefined;
26
+ setMinDiffWidth(value: number | undefined): void;
27
+ get minDiffHeight(): number | undefined;
28
+ set minDiffHeight(minDiffHeight: number | undefined);
29
+ getMinDiffHeight(): number | undefined;
30
+ setMinDiffHeight(value: number | undefined): void;
31
+ get matchThreshold(): number | undefined;
32
+ set matchThreshold(matchThreshold: number | undefined);
33
+ getMatchThreshold(): number | undefined;
34
+ setMatchThreshold(value: number | undefined): void;
28
35
  /** @internal */
29
36
  toObject(): ExactMatchSettings;
30
37
  /** @internal */