@applitools/eyes-cypress 3.29.1 → 3.30.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
@@ -12,6 +12,14 @@
12
12
 
13
13
 
14
14
 
15
+ ## 3.30.0 - 2023/3/19
16
+
17
+ ### Features
18
+ - Crop screenshot image base on account info
19
+ ### Bug fixes
20
+ - Fixed slowness during ufg tests
21
+ - Upgrade to core@v2
22
+
15
23
  ## 3.29.1 - 2023/2/2
16
24
 
17
25
  ### Features
package/README.md CHANGED
@@ -108,17 +108,23 @@ For `typescript` use you must add the following code to your `tsconfig.json`:
108
108
 
109
109
  Eyes-Cypress ships with official type declarations for TypeScript. This allows you to add eyes commands to your TypeScript tests.
110
110
 
111
- Add this file to your project with either:
111
+ Add this file to your project using one of the following two options:
112
112
  1. Adding the path to your [tsconfig](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) file:
113
+
114
+ ```json
115
+ {
116
+ ...
117
+ "compilerOptions": {
118
+ ...
119
+ "types": ["@applitools/eyes-cypress", "cypress", "node"]
120
+ ...
121
+ }
122
+ }
123
+ ```
124
+
125
+ 2. Create `index.d.ts` file under `cypress/support` folder that contains:
113
126
  ```
114
- {
115
- "files": ["./node_modules/@applitools/eyes-cypress/index.d.ts"],
116
- ...
117
- }
118
- ```
119
- 2. Copying the file to to your [cypress/support/](https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests.html#Folder-Structure) dir:
120
- ```
121
- cp node_modules/@applitools/eyes-cypress/index.d.ts ./cypress/support/
127
+ import "@applitools/eyes-cypress"
122
128
  ```
123
129
  ### Applitools API key
124
130
 
@@ -269,6 +275,7 @@ Applitools will take screenshots and perform the visual comparisons in the backg
269
275
  - [`visualGridOptions`](#visualgridoptions)
270
276
  - [`coded regions-regionId`](#regionId)
271
277
  - [`lazy loading`](#lazy-loading)
278
+ - [Density metrics](#density-metrics-densitymetrics)
272
279
  - [Close](#close)
273
280
  - [GetAllTestResults](#getalltestresults)
274
281
  - [deleteTestResults](#deletetestresults)
@@ -751,7 +758,7 @@ It's possible to have the SDK scroll the entire page (or a specific length of th
751
758
 
752
759
  ```js
753
760
  // lazy loads with sensible defaults
754
- cy.eyesCheckWindow(lazyload:{})
761
+ cy.eyesCheckWindow({lazyload:{}})
755
762
 
756
763
  // lazy loads with options specified
757
764
  cy.eyesCheckWindow({lazyLoad: {
@@ -761,6 +768,23 @@ cy.eyesCheckWindow({lazyLoad: {
761
768
  }})
762
769
  ```
763
770
 
771
+ ##### Density metrics (`densityMetrics`)
772
+
773
+ In order to set the density metrics for the screenshot, use the `densityMetrics` method. This method accepts a object value with the following properties:
774
+
775
+ - `xdpi` - The exact physical pixels per inch of the screen in the X dimension.
776
+ - `ydpi` - The exact physical pixels per inch of the screen in the Y dimension.
777
+ - `scaleRatio` - The scale ratio.
778
+
779
+ ```js
780
+ // set density metrics
781
+ cy.eyesCheckWindow({
782
+ densityMetrics:
783
+ xdpi: 100,
784
+ ydpi: 100,
785
+ scaleRatio: 1
786
+ })
787
+ ```
764
788
 
765
789
  #### Close
766
790
 
@@ -17,7 +17,7 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer }
17
17
  const summaries = await closeManager();
18
18
  let testResults;
19
19
  for (const summary of summaries) {
20
- testResults = summary.results.map(({ testResults }) => testResults);
20
+ testResults = summary.results.map(({ result }) => result);
21
21
  }
22
22
  if (!config.appliConfFile.dontCloseBatches) {
23
23
  await closeBatches({
@@ -28,7 +28,7 @@ function makeGlobalRunHooks({ closeManager, closeBatches, closeUniversalServer }
28
28
  });
29
29
  }
30
30
  if (config.appliConfFile.tapDirPath) {
31
- await handleTestResults_1.default.handleBatchResultsFile(testResults, {
31
+ handleTestResults_1.default.handleBatchResultsFile(testResults, {
32
32
  tapDirPath: config.appliConfFile.tapDirPath,
33
33
  tapFileName: config.appliConfFile.tapFileName,
34
34
  });
@@ -55,7 +55,7 @@ function makePluginExport({ startServer, eyesConfig }) {
55
55
  return pluginInitArgs;
56
56
  }
57
57
  return function getCloseServer() {
58
- return eyesServer.close();
58
+ return new Promise(res => eyesServer.close(() => res()));
59
59
  };
60
60
  async function setupNodeEvents(origOn, cypressConfig) {
61
61
  const { server, port, closeManager, closeBatches, closeUniversalServer } = await startServer();
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const webSocket_1 = __importDefault(require("./webSocket"));
7
- const eyes_universal_1 = require("@applitools/eyes-universal");
7
+ const core_1 = require("@applitools/core");
8
8
  const handleTestResults_1 = __importDefault(require("./handleTestResults"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const fs_1 = __importDefault(require("fs"));
@@ -32,7 +32,7 @@ function makeStartServer({ logger }) {
32
32
  if ((0, semver_1.lt)(cypressVersion, '7.0.0')) {
33
33
  forkOptions.execPath = await (0, which_1.default)('node');
34
34
  }
35
- const { port: universalPort, close: closeUniversalServer } = await (0, eyes_universal_1.makeServerProcess)({
35
+ const { port: universalPort, close: closeUniversalServer } = await (0, core_1.makeCoreServerProcess)({
36
36
  idleTimeout: 0,
37
37
  shutdownMode: 'stdin',
38
38
  forkOptions,
@@ -101,14 +101,11 @@ function makeStartServer({ logger }) {
101
101
  closeUniversalServer,
102
102
  };
103
103
  function closeManager() {
104
- return Promise.all(managers.map(({ manager, socketWithUniversal }) => socketWithUniversal.request('EyesManager.closeManager', {
105
- manager,
106
- throwErr: false,
107
- })));
104
+ return Promise.all(managers.map(({ manager, socketWithUniversal }) => socketWithUniversal.request('EyesManager.getResults', { manager, settings: { throwErr: false } })));
108
105
  }
109
106
  function closeBatches(settings) {
110
107
  if (socketWithUniversal)
111
- return socketWithUniversal.request('Core.closeBatches', { settings }).catch((err) => {
108
+ return socketWithUniversal.request('Core.closeBatch', { settings }).catch((err) => {
112
109
  logger.log('@@@', err);
113
110
  });
114
111
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-cypress",
3
- "version": "3.29.1",
3
+ "version": "3.30.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git://github.com/applitools/eyes.sdk.javascript1.git",
@@ -45,7 +45,7 @@
45
45
  "cypress12": "./node_modules/cypress12/bin/cypress",
46
46
  "test:ts:run:12": "yarn cypress12 run --project ./test/e2e/ts --config-file ./cypress-12.config.ts",
47
47
  "test:ts:run": "yarn test:ts:run:legacy && yarn test:ts:run:9",
48
- "test:coverage": "yarn generate:tests && cd test/coverage/generic && yarn && unset APPLITOOLS_API_KEY && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-cypress' APPLITOOLS_BATCH_ID=$(uuidgen) npx cypress run",
48
+ "test:coverage": "yarn generate:tests && cd test/coverage/generic && yarn && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-cypress' APPLITOOLS_BATCH_ID=$(uuidgen) npx cypress run",
49
49
  "test:e2e": "mkdir -p test/fixtures/testAppCopies && mocha --no-timeouts 'test/e2e/**/*.test.js'",
50
50
  "test:components": "cd test/components && yarn && npx cypress run --component",
51
51
  "cypress": "cypress open --config-file test/fixtures/cypress-play.json",
@@ -58,7 +58,7 @@
58
58
  "deps": "bongo deps",
59
59
  "preversion": "yarn build && bongo preversion --skip-deps --verifyPendingChanges --skipVerifyInstalledVersions",
60
60
  "version": "bongo version --withPendingChanges",
61
- "postversion": "bongo postversion --skip-release-notification"
61
+ "postversion": "bongo postversion"
62
62
  },
63
63
  "husky": {
64
64
  "hooks": {
@@ -66,12 +66,11 @@
66
66
  }
67
67
  },
68
68
  "dependencies": {
69
- "@applitools/core": "1.4.6",
70
- "@applitools/eyes-api": "1.13.1",
71
- "@applitools/eyes-universal": "2.18.0",
69
+ "@applitools/core": "2.4.2",
70
+ "@applitools/eyes-api": "1.13.12",
72
71
  "@applitools/functional-commons": "1.6.0",
73
- "@applitools/logger": "1.1.43",
74
- "@applitools/utils": "1.3.28",
72
+ "@applitools/logger": "1.1.48",
73
+ "@applitools/utils": "1.3.32",
75
74
  "boxen": "5.1.2",
76
75
  "chalk": "3.0.0",
77
76
  "semver": "7.3.8",
@@ -80,20 +79,17 @@
80
79
  "ws": "8.5.0"
81
80
  },
82
81
  "devDependencies": {
83
- "@applitools/api-extractor": "^1.2.11",
84
- "@applitools/bongo": "^2.2.2",
85
- "@applitools/scripts": "1.2.0",
86
- "@applitools/sdk-coverage-tests": "^2.7.8",
82
+ "@applitools/api-extractor": "^1.2.12",
83
+ "@applitools/bongo": "^3.0.1",
84
+ "@applitools/sdk-coverage-tests": "^3.0.0",
87
85
  "@applitools/snaptdout": "1.0.1",
88
- "@applitools/test-server": "1.1.22",
89
- "@applitools/test-utils": "1.5.11",
86
+ "@applitools/test-server": "1.1.28",
87
+ "@applitools/test-utils": "1.5.14",
90
88
  "@types/node": "12",
91
89
  "@types/semver": "^7.3.13",
92
90
  "@types/uuid": "^9.0.0",
93
91
  "@types/which": "^2.0.1",
94
92
  "@types/ws": "^8.2.2",
95
- "@typescript-eslint/eslint-plugin": "^5.47.1",
96
- "@typescript-eslint/parser": "^5.47.1",
97
93
  "chai": "4.2.0",
98
94
  "chai-spies": "1.0.0",
99
95
  "cookie-parser": "1.4.4",
@@ -103,11 +99,7 @@
103
99
  "cypress12": "npm:cypress@^12.0.0",
104
100
  "cypress9": "npm:cypress@^9.0.0",
105
101
  "eslint": "8.10.0",
106
- "eslint-config-prettier": "^8.5.0",
107
- "eslint-plugin-mocha-no-only": "1.1.0",
108
- "eslint-plugin-no-only-tests": "^3.1.0",
109
- "eslint-plugin-node": "^11.1.0",
110
- "eslint-plugin-prettier": "^4.0.0",
102
+ "eslint-plugin-mocha-no-only": "1.1.1",
111
103
  "husky": "4.3.8",
112
104
  "lodash.omit": "4.5.0",
113
105
  "mocha": "8.0.1",
@@ -4,18 +4,31 @@ const spec = require('../../dist/browser/spec-driver')
4
4
  const Refer = require('./refer')
5
5
  const Socket = require('./socket')
6
6
  const {socketCommands} = require('./socketCommands')
7
- const {eyesOpenMapValues} = require('./eyesOpenMapping')
7
+ const {eyesOpenMapValues, eyesOpenToCheckMapValues} = require('./eyesOpenMapping')
8
8
  const {eyesCheckMapValues} = require('./eyesCheckMapping')
9
9
  const {TestResultsSummary} = require('@applitools/eyes-api')
10
10
  const refer = new Refer()
11
11
  const socket = new Socket()
12
12
  const throwErr = Cypress.config('failCypressOnDiff')
13
13
  socketCommands(socket, refer)
14
- let connectedToUniversal = false
15
14
 
16
15
  let manager,
17
16
  eyes,
18
- closePromiseArr = []
17
+ closePromiseArr = [],
18
+ _summary,
19
+ connectedToUniversal,
20
+ openToCheckSettingsArgs
21
+
22
+ async function getSummary() {
23
+ if (_summary) return _summary
24
+ await Promise.all(closePromiseArr)
25
+ _summary = socket.request('EyesManager.getResults', {manager, settings: {throwErr}}).catch(err => {
26
+ return {results: [{result: err.info.result}]}
27
+ })
28
+ _summary = await _summary
29
+
30
+ return _summary
31
+ }
19
32
 
20
33
  function getGlobalConfigProperty(prop) {
21
34
  const property = Cypress.config(prop)
@@ -34,8 +47,6 @@ Cypress.Commands.add('eyesGetAllTestResults', () => {
34
47
  isCurrentTestDisabled = false
35
48
  return
36
49
  }
37
- await Promise.all(closePromiseArr)
38
- const summary = await socket.request('EyesManager.closeManager', {manager, throwErr})
39
50
 
40
51
  const deleteTest = ({settings: {testId, batchId, secretToken}}) => {
41
52
  const {serverUrl, proxy, apiKey} = Cypress.config('appliConfFile')
@@ -50,9 +61,7 @@ Cypress.Commands.add('eyesGetAllTestResults', () => {
50
61
  },
51
62
  })
52
63
  }
53
- summary.results = summary.results.map(res => {
54
- return {...res, result: res.testResults, error: res.exception, renderer: res.browserInfo}
55
- })
64
+ const summary = await getSummary()
56
65
  return new TestResultsSummary({summary, deleteTest})
57
66
  })
58
67
  })
@@ -73,9 +82,9 @@ if (shouldUseBrowserHooks || Cypress.config('eyesFailCypressOnDiff')) {
73
82
  tapFileName: Cypress.config('appliConfFile').tapFileName,
74
83
  shouldCreateTapFile: shouldUseBrowserHooks,
75
84
  }
76
- await Promise.all(closePromiseArr)
77
- const summary = await socket.request('EyesManager.closeManager', {manager, throwErr})
78
- const testResults = summary.results.map(({testResults}) => testResults)
85
+
86
+ const summary = await getSummary()
87
+ const testResults = summary.results.map(({result}) => result)
79
88
  const message = await socket.request('Test.printTestResults', {testResults, resultConfig})
80
89
  if (
81
90
  !!getGlobalConfigProperty('eyesFailCypressOnDiff') &&
@@ -105,38 +114,37 @@ Cypress.Commands.add('eyesOpen', function (args = {}) {
105
114
 
106
115
  return cy.then({timeout: 86400000}, async () => {
107
116
  setRootContext()
108
- const driver = refer.ref(cy.state('window').document)
117
+ const target = refer.ref(cy.state('window').document)
109
118
 
110
119
  if (!connectedToUniversal) {
111
120
  socket.connect(`wss://localhost:${Cypress.config('eyesPort')}/eyes`)
112
121
  connectedToUniversal = true
113
- socket.emit('Core.makeSDK', {
114
- name: 'eyes.cypress',
115
- version: require('../../package.json').version,
116
- commands: Object.keys(spec).concat(['isSelector', 'isDriver', 'isElement']), // TODO fix spec.isSelector and spec.isDriver and spec.isElement in driver utils
122
+ socket.emit('Core.makeCore', {
123
+ agentId: `eyes.cypress/${require('../../package.json').version}`,
124
+ cwd: Cypress.config('projectRoot'),
125
+ spec: Object.keys(spec).concat(['isSelector', 'isDriver', 'isElement']), // TODO fix spec.isSelector and spec.isDriver and spec.isElement in driver
117
126
  })
118
127
 
119
128
  manager =
120
129
  manager ||
121
130
  (await socket.request(
122
131
  'Core.makeManager',
123
- Object.assign({}, {concurrency: Cypress.config('eyesTestConcurrency')}, {legacy: false, type: 'vg'}),
132
+ Object.assign({}, {concurrency: Cypress.config('eyesTestConcurrency')}, {type: 'ufg'}),
124
133
  ))
125
134
  }
126
135
 
127
136
  const appliConfFile = Cypress.config('appliConfFile')
128
- const config = eyesOpenMapValues({
137
+
138
+ openToCheckSettingsArgs = eyesOpenToCheckMapValues(args)
139
+
140
+ const settings = eyesOpenMapValues({
129
141
  args,
130
142
  appliConfFile,
131
143
  testName,
132
144
  shouldUseBrowserHooks,
133
- defaultBrowser: {
134
- width: Cypress.config('viewportWidth'),
135
- height: Cypress.config('viewportHeight'),
136
- name: 'chrome',
137
- },
138
145
  })
139
- eyes = await socket.request('EyesManager.openEyes', {manager, driver, config})
146
+
147
+ eyes = await socket.request('EyesManager.openEyes', {manager, target, settings})
140
148
  })
141
149
  })
142
150
 
@@ -145,16 +153,20 @@ Cypress.Commands.add('eyesCheckWindow', (args = {}) =>
145
153
  if (isCurrentTestDisabled) return
146
154
 
147
155
  setRootContext()
148
- const driver = refer.ref(cy.state('window').document)
156
+ const target = refer.ref(cy.state('window').document)
149
157
 
150
158
  Cypress.log({name: 'Eyes: check window'})
151
159
 
152
- const checkSettings = eyesCheckMapValues({args, refer})
160
+ const settings = eyesCheckMapValues({
161
+ args: {...openToCheckSettingsArgs, ...args},
162
+ refer,
163
+ appliConfFile: Cypress.config('appliConfFile'),
164
+ })
153
165
 
154
166
  return socket.request('Eyes.check', {
155
167
  eyes,
156
- settings: checkSettings,
157
- driver,
168
+ settings,
169
+ target,
158
170
  })
159
171
  }),
160
172
  )
@@ -169,11 +181,12 @@ Cypress.Commands.add('eyesClose', () => {
169
181
  return
170
182
  }
171
183
 
172
- // intentionally not returning the result in order to not wait on the close promise
173
- const p = socket.request('Eyes.close', {eyes, throwErr: false}).catch(err => {
184
+ // Eyes.close in core is not waiting on results anymore. So we should return it in order to await it
185
+ const p = socket.request('Eyes.close', {eyes}).catch(err => {
174
186
  console.log('Error in cy.eyesClose', err)
175
187
  })
176
188
  closePromiseArr.push(p)
189
+ return p
177
190
  })
178
191
  })
179
192
 
@@ -1,9 +1,12 @@
1
1
  /* global Node */
2
- function eyesCheckMapValues({args, refer}) {
2
+ function eyesCheckMapValues({openToCheckSettingsArgs, args, refer, appliConfFile}) {
3
3
  if (typeof args === `string`) {
4
4
  args = {tag: args}
5
5
  }
6
- const config = args // just did it for having less git changes at this moment
6
+ args = {...openToCheckSettingsArgs, ...args}
7
+ if (typeof args.waitBeforeCapture !== 'number') args.waitBeforeCapture = appliConfFile.waitBeforeCapture
8
+ let accessibilitySettings = args.accessibilitySettings || appliConfFile.accessibilityValidation
9
+
7
10
  const mappedValues = [
8
11
  'tag',
9
12
  'scriptHooks',
@@ -20,56 +23,75 @@ function eyesCheckMapValues({args, refer}) {
20
23
 
21
24
  let regionSettings = {}
22
25
  let shadowDomSettings = {}
26
+
27
+ let renderers = args.renderers || args.browser || appliConfFile.browser
28
+ if (renderers) {
29
+ if (Array.isArray(renderers)) {
30
+ for (const [index, value] of renderers.entries()) {
31
+ renderers[index] = fillDefaultBrowserName(value)
32
+ }
33
+ } else {
34
+ renderers = [fillDefaultBrowserName(renderers)]
35
+ }
36
+ }
37
+
23
38
  const checkSettings = {
24
- name: config.tag,
25
- hooks: config.scriptHooks,
26
- ignoreRegions: convertPaddedRegion(config.ignore),
27
- floatingRegions: convertFloatingRegion(config.floating),
28
- strictRegions: convertPaddedRegion(config.strict),
29
- layoutRegions: convertPaddedRegion(config.layout),
30
- contentRegions: convertPaddedRegion(config.content),
31
- accessibilityRegions: convertAccessabilityRegions(config.accessibility),
39
+ name: args.tag,
40
+ hooks: args.scriptHooks,
41
+ ignoreRegions: convertPaddedRegion(args.ignore),
42
+ floatingRegions: convertFloatingRegion(args.floating),
43
+ strictRegions: convertPaddedRegion(args.strict),
44
+ layoutRegions: convertPaddedRegion(args.layout),
45
+ contentRegions: convertPaddedRegion(args.content),
46
+ accessibilityRegions: convertAccessabilityRegions(args.accessibility),
47
+ renderers,
48
+ }
49
+ if (args.variationGroupId) {
50
+ checkSettings.userCommandId = args.variationGroupId
51
+ }
52
+ if (args.accessibilitySettings) {
53
+ checkSettings.accessibilitySettings = accessibilitySettings
32
54
  }
33
55
 
34
- if (config.target === 'region') {
35
- if (!Array.isArray(config.selector)) {
36
- if (config.element) {
37
- if (isHTMLElement(config.element)) {
56
+ if (args.target === 'region') {
57
+ if (!Array.isArray(args.selector)) {
58
+ if (args.element) {
59
+ if (isHTMLElement(args.element)) {
38
60
  regionSettings = {
39
- region: Object.assign(refer.ref(config.element), {type: 'element'}),
61
+ region: Object.assign(refer.ref(args.element), {type: 'element'}),
40
62
  }
41
63
  } else {
42
64
  // JQuery element
43
65
  regionSettings = {
44
- region: Object.assign(refer.ref(config.element[0]), {type: 'element'}),
66
+ region: Object.assign(refer.ref(args.element[0]), {type: 'element'}),
45
67
  }
46
68
  }
47
69
  } else if (
48
- config.region &&
49
- config.region.hasOwnProperty('top') &&
50
- config.region.hasOwnProperty('left') &&
51
- config.region.hasOwnProperty('width') &&
52
- config.region.hasOwnProperty('height')
70
+ args.region &&
71
+ args.region.hasOwnProperty('top') &&
72
+ args.region.hasOwnProperty('left') &&
73
+ args.region.hasOwnProperty('width') &&
74
+ args.region.hasOwnProperty('height')
53
75
  ) {
54
76
  regionSettings = {
55
77
  region: {
56
- y: config.region.top,
57
- x: config.region.left,
58
- width: config.region.width,
59
- height: config.region.height,
78
+ y: args.region.top,
79
+ x: args.region.left,
80
+ width: args.region.width,
81
+ height: args.region.height,
60
82
  },
61
83
  }
62
- } else if (!config.hasOwnProperty('selector')) {
84
+ } else if (!args.hasOwnProperty('selector')) {
63
85
  regionSettings = {
64
- region: config.region,
86
+ region: args.region,
65
87
  }
66
88
  } else {
67
89
  regionSettings = {
68
- region: config.selector,
90
+ region: args.selector,
69
91
  }
70
92
  }
71
93
  } else {
72
- const selectors = config.selector
94
+ const selectors = args.selector
73
95
  for (let i = selectors.length - 1; i > -1; i--) {
74
96
  if (i === selectors.length - 1) {
75
97
  shadowDomSettings['shadow'] = selectors[i].selector
@@ -88,12 +110,12 @@ function eyesCheckMapValues({args, refer}) {
88
110
  }
89
111
 
90
112
  for (const val of mappedValues) {
91
- if (config.hasOwnProperty(val)) {
92
- delete config[val]
113
+ if (args.hasOwnProperty(val)) {
114
+ delete args[val]
93
115
  }
94
116
  }
95
117
 
96
- return Object.assign({}, checkSettings, regionSettings, config)
118
+ return Object.assign({}, checkSettings, regionSettings, args)
97
119
 
98
120
  // #region helper functions
99
121
 
@@ -176,10 +198,12 @@ function eyesCheckMapValues({args, refer}) {
176
198
 
177
199
  for (const region of floatingRegions) {
178
200
  const floatingRegion = {
179
- maxDownOffset: region.maxDownOffset || 0,
180
- maxLeftOffset: region.maxLeftOffset || 0,
181
- maxUpOffset: region.maxUpOffset || 0,
182
- maxRightOffset: region.maxRightOffset || 0,
201
+ offset: {
202
+ bottom: region.maxDownOffset || 0,
203
+ left: region.maxLeftOffset || 0,
204
+ top: region.maxUpOffset || 0,
205
+ right: region.maxRightOffset || 0,
206
+ },
183
207
  }
184
208
  if (region.hasOwnProperty('selector')) {
185
209
  floatingRegion.region = region.selector
@@ -191,7 +215,7 @@ function eyesCheckMapValues({args, refer}) {
191
215
  floating.push(Object.assign({}, region, floatingRegion, {region: element}))
192
216
  }
193
217
  } else if (region.hasOwnProperty('region')) {
194
- floating.push(region)
218
+ floating.push({offset: floatingRegion.offset, ...region})
195
219
  } else {
196
220
  floatingRegion.region = {
197
221
  y: region.top,
@@ -233,4 +257,18 @@ function isHTMLElement(element) {
233
257
  return element.nodeType && element.nodeType === Node.ELEMENT_NODE
234
258
  }
235
259
 
260
+ function fillDefaultBrowserName(browser) {
261
+ if (!browser.iosDeviceInfo && !browser.chromeEmulationInfo) {
262
+ if (!browser.name) {
263
+ browser.name = 'chrome'
264
+ }
265
+ if (browser.deviceName) {
266
+ browser = {chromeEmulationInfo: browser}
267
+ }
268
+ return browser
269
+ } else {
270
+ return browser
271
+ }
272
+ }
273
+
236
274
  module.exports = {eyesCheckMapValues}
@@ -14,8 +14,6 @@ const batchPropertiesRetriever = (args, appliConfFile) => {
14
14
  }
15
15
  }
16
16
  function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks}) {
17
- let browsersInfo = args.browser || appliConfFile.browser
18
- let accessibilitySettings = args.accessibilityValidation || appliConfFile.accessibilityValidation
19
17
  const batchProperties = batchPropertiesRetriever(args, appliConfFile)
20
18
  const batch = {
21
19
  id: batchProperties('batchId', 'id'),
@@ -45,18 +43,7 @@ function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks
45
43
  'batchSequenceName',
46
44
  ]
47
45
 
48
- if (browsersInfo) {
49
- if (Array.isArray(browsersInfo)) {
50
- for (const [index, value] of browsersInfo.entries()) {
51
- browsersInfo[index] = fillDefaultBrowserName(value)
52
- }
53
- } else {
54
- browsersInfo = [fillDefaultBrowserName(browsersInfo)]
55
- }
56
- }
57
-
58
46
  const defaultMatchSettings = {
59
- accessibilitySettings,
60
47
  matchLevel: args.matchLevel || appliConfFile.matchLevel,
61
48
  ignoreCaret: args.ignoreCaret || appliConfFile.ignoreCaret,
62
49
  useDom: args.useDom || appliConfFile.useDom,
@@ -75,27 +62,34 @@ function eyesOpenMapValues({args, appliConfFile, testName, shouldUseBrowserHooks
75
62
  }
76
63
 
77
64
  const mappedArgs = {
65
+ ...defaultMatchSettings,
78
66
  ...args,
79
- browsersInfo,
80
- defaultMatchSettings,
81
67
  batch,
82
68
  }
69
+ if (typeof args.viewportSize !== 'undefined' || typeof args.environment !== 'undefined') {
70
+ mappedArgs.environment = {viewportSize: args.viewportSize, ...args.environment}
71
+ }
83
72
 
84
- return Object.assign({testName, dontCloseBatches: !shouldUseBrowserHooks}, appliConfFileCopy, mappedArgs)
73
+ return Object.assign({testName, keepBatchOpen: !shouldUseBrowserHooks}, appliConfFileCopy, mappedArgs)
85
74
  }
86
75
 
87
- function fillDefaultBrowserName(browser) {
88
- if (!browser.iosDeviceInfo && !browser.chromeEmulationInfo) {
89
- if (!browser.name) {
90
- browser.name = 'chrome'
91
- }
92
- if (browser.deviceName) {
93
- browser = {chromeEmulationInfo: browser}
76
+ function eyesOpenToCheckMapValues(args) {
77
+ const {browser, waitBeforeCapture, layoutBreakpoints, accessibilityValidation} = args
78
+
79
+ const openToCheckSettingsArgs = {
80
+ browser,
81
+ waitBeforeCapture,
82
+ layoutBreakpoints,
83
+ }
84
+
85
+ if (accessibilityValidation) {
86
+ const {level, guidelinesVersion} = accessibilityValidation
87
+ openToCheckSettingsArgs.accessibilitySettings = {
88
+ level,
89
+ version: guidelinesVersion,
94
90
  }
95
- return browser
96
- } else {
97
- return browser
98
91
  }
92
+ return openToCheckSettingsArgs
99
93
  }
100
94
 
101
- module.exports = {eyesOpenMapValues}
95
+ module.exports = {eyesOpenMapValues, eyesOpenToCheckMapValues}
package/src/expose.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  **/
9
9
  /// <reference types="cypress" />
10
10
  import type * as api from '@applitools/eyes-api'
11
+ import type * as core from '@applitools/core'
11
12
  import {type EyesSelector, type TestResultsStatus} from '@applitools/eyes-api'
12
13
 
13
14
  export type {EyesSelector, TestResultsStatus}
@@ -15,11 +16,12 @@ export type {EyesSelector, TestResultsStatus}
15
16
  type MaybeArray<T> = T | T[]
16
17
 
17
18
  type LegacyRegion = {left: number; top: number; width: number; height: number}
18
- type Selector = {selector: string; type?: 'css' | 'xpath'; nodeType?: 'element' | 'shadow-root'} | 'string'
19
+ type Selector = {selector: string; type?: 'css' | 'xpath'; nodeType?: 'element' | 'shadow-root'} | string
19
20
  type Element = HTMLElement | JQuery<HTMLElement>
20
21
  type ElementWithOptions = {element: Element; regionId?: string; padding?: any}
22
+ type SpecType = core.SpecType<unknown, unknown, Element, Selector>
21
23
 
22
- export type CypressCheckSettings = api.CheckSettingsAutomationPlain<Element, Selector> & {
24
+ export type CypressCheckSettings = api.CheckSettingsAutomationPlain<SpecType> & {
23
25
  tag?: CypressCheckSettings['name']
24
26
 
25
27
  target?: 'window' | 'region'
@@ -47,7 +49,7 @@ export type CypressCheckSettings = api.CheckSettingsAutomationPlain<Element, Sel
47
49
  ignoreCaret?: boolean
48
50
  ignoreDisplacements?: boolean
49
51
  }
50
- export type CypressEyesConfig = api.ConfigurationPlain<Element, Selector> & {
52
+ export type CypressEyesConfig = api.ConfigurationPlain<SpecType> & {
51
53
  browser?: MaybeArray<
52
54
  | NonNullable<CypressEyesConfig['browsersInfo']>[number]
53
55
  | {deviceName: string; screenOrientation?: api.ScreenOrientationPlain; name?: string}
@@ -35,7 +35,7 @@ export default function makeGlobalRunHooks({closeManager, closeBatches, closeUni
35
35
 
36
36
  let testResults
37
37
  for (const summary of summaries) {
38
- testResults = summary.results.map(({testResults}: any) => testResults)
38
+ testResults = summary.results.map(({result}: any) => result)
39
39
  }
40
40
  if (!config.appliConfFile.dontCloseBatches) {
41
41
  await closeBatches({
@@ -47,7 +47,7 @@ export default function makeGlobalRunHooks({closeManager, closeBatches, closeUni
47
47
  }
48
48
 
49
49
  if (config.appliConfFile.tapDirPath) {
50
- await handleTestResults.handleBatchResultsFile(testResults, {
50
+ handleTestResults.handleBatchResultsFile(testResults, {
51
51
  tapDirPath: config.appliConfFile.tapDirPath,
52
52
  tapFileName: config.appliConfFile.tapFileName,
53
53
  })
@@ -55,7 +55,7 @@ export default function makePluginExport({startServer, eyesConfig}: any) {
55
55
  return pluginInitArgs
56
56
  }
57
57
  return function getCloseServer() {
58
- return eyesServer.close()
58
+ return new Promise<void>(res => eyesServer.close(() => res()))
59
59
  }
60
60
 
61
61
  async function setupNodeEvents(
@@ -1,7 +1,5 @@
1
1
  import connectSocket, {type SocketWithUniversal} from './webSocket'
2
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
- // @ts-ignore
4
- import {makeServerProcess} from '@applitools/eyes-universal'
2
+ import {makeCoreServerProcess} from '@applitools/core'
5
3
  import handleTestResults from './handleTestResults'
6
4
  import path from 'path'
7
5
  import fs from 'fs'
@@ -44,7 +42,7 @@ export default function makeStartServer({logger}: {logger: Logger}) {
44
42
  forkOptions.execPath = await which('node')
45
43
  }
46
44
 
47
- const {port: universalPort, close: closeUniversalServer} = await makeServerProcess({
45
+ const {port: universalPort, close: closeUniversalServer} = await makeCoreServerProcess({
48
46
  idleTimeout: 0,
49
47
  shutdownMode: 'stdin',
50
48
  forkOptions,
@@ -126,16 +124,13 @@ export default function makeStartServer({logger}: {logger: Logger}) {
126
124
  function closeManager() {
127
125
  return Promise.all(
128
126
  managers.map(({manager, socketWithUniversal}) =>
129
- socketWithUniversal.request('EyesManager.closeManager', {
130
- manager,
131
- throwErr: false,
132
- }),
127
+ socketWithUniversal.request('EyesManager.getResults', {manager, settings: {throwErr: false}}),
133
128
  ),
134
129
  )
135
130
  }
136
131
  function closeBatches(settings: any) {
137
132
  if (socketWithUniversal)
138
- return socketWithUniversal.request('Core.closeBatches', {settings}).catch((err: Error) => {
133
+ return socketWithUniversal.request('Core.closeBatch', {settings}).catch((err: Error) => {
139
134
  logger.log('@@@', err)
140
135
  })
141
136
  }
@@ -25,7 +25,7 @@ export default ${chalk.green.bold('eyesPlugin(')}definedConfig({
25
25
  //...
26
26
  })${chalk.green.bold(')')}
27
27
 
28
- For more information, visit Eyes-Cypress documentation https://www.npmjs.com/package/@applitools/eyes-cypress (manual configuration section)
28
+ For more information, visit Eyes-Cypress documentation https://applitools.com/docs/api-ref/sdk-api/cypress/typescript
29
29
  `,
30
30
  {padding: 1, borderColor: 'cyan'},
31
31
  ),
package/types/expose.d.ts CHANGED
@@ -11,7 +11,7 @@ export type CypressCheckSettings = {
11
11
  y: number;
12
12
  width: number;
13
13
  height: number;
14
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
14
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
15
15
  matchLevel?: "None" | "Layout1" | "Layout" | "Layout2" | "Content" | "IgnoreColors" | "Strict" | "Exact";
16
16
  useDom?: boolean;
17
17
  sendDom?: boolean;
@@ -24,57 +24,57 @@ export type CypressCheckSettings = {
24
24
  y: number;
25
25
  width: number;
26
26
  height: number;
27
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
27
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
28
28
  x: number;
29
29
  y: number;
30
30
  width: number;
31
31
  height: number;
32
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
32
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
33
33
  layoutRegions?: Array<({
34
34
  x: number;
35
35
  y: number;
36
36
  width: number;
37
37
  height: number;
38
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
38
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
39
39
  x: number;
40
40
  y: number;
41
41
  width: number;
42
42
  height: number;
43
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
43
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
44
44
  strictRegions?: Array<({
45
45
  x: number;
46
46
  y: number;
47
47
  width: number;
48
48
  height: number;
49
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
49
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
50
50
  x: number;
51
51
  y: number;
52
52
  width: number;
53
53
  height: number;
54
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
54
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
55
55
  contentRegions?: Array<({
56
56
  x: number;
57
57
  y: number;
58
58
  width: number;
59
59
  height: number;
60
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
60
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
61
61
  x: number;
62
62
  y: number;
63
63
  width: number;
64
64
  height: number;
65
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
65
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
66
66
  floatingRegions?: Array<({
67
67
  x: number;
68
68
  y: number;
69
69
  width: number;
70
70
  height: number;
71
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
71
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
72
72
  region: {
73
73
  x: number;
74
74
  y: number;
75
75
  width: number;
76
76
  height: number;
77
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
77
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
78
78
  padding?: number | { top: number; bottom: number; left: number; right: number; };
79
79
  regionId?: string;
80
80
  offset?: { top?: number; bottom?: number; left?: number; right?: number; };
@@ -84,7 +84,7 @@ export type CypressCheckSettings = {
84
84
  y: number;
85
85
  width: number;
86
86
  height: number;
87
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
87
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
88
88
  padding?: number | { top: number; bottom: number; left: number; right: number; };
89
89
  regionId?: string;
90
90
  maxUpOffset?: number;
@@ -97,22 +97,23 @@ export type CypressCheckSettings = {
97
97
  y: number;
98
98
  width: number;
99
99
  height: number;
100
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
100
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
101
101
  region: {
102
102
  x: number;
103
103
  y: number;
104
104
  width: number;
105
105
  height: number;
106
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
106
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
107
107
  padding?: number | { top: number; bottom: number; left: number; right: number; };
108
108
  regionId?: string;
109
109
  type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
110
110
  }>;
111
111
  pageId?: string;
112
112
  variationGroupId?: string;
113
- frames?: Array<{ frame: number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }); } | (number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })))>;
113
+ densityMetrics?: { scaleRatio?: number; xdpi?: number; ydpi?: number; };
114
+ frames?: Array<{ frame: number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }); } | (number | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })))>;
114
115
  webview?: string | boolean;
115
- scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; });
116
+ scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; });
116
117
  fully?: boolean;
117
118
  disableBrowserFetching?: boolean;
118
119
  layoutBreakpoints?: boolean | Array<number>;
@@ -125,104 +126,104 @@ export type CypressCheckSettings = {
125
126
  lazyLoad?: boolean | { scrollLength?: number; waitingTime?: number; maxAmountToScroll?: number; };
126
127
  tag?: string;
127
128
  target?: "window" | "region";
128
- selector?: "string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; };
129
+ selector?: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; };
129
130
  element?: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; };
130
131
  ignore?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
131
132
  x: number;
132
133
  y: number;
133
134
  width: number;
134
135
  height: number;
135
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
136
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
136
137
  x: number;
137
138
  y: number;
138
139
  width: number;
139
140
  height: number;
140
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
141
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
141
142
  x: number;
142
143
  y: number;
143
144
  width: number;
144
145
  height: number;
145
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
146
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
146
147
  x: number;
147
148
  y: number;
148
149
  width: number;
149
150
  height: number;
150
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
151
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
151
152
  layout?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
152
153
  x: number;
153
154
  y: number;
154
155
  width: number;
155
156
  height: number;
156
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
157
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
157
158
  x: number;
158
159
  y: number;
159
160
  width: number;
160
161
  height: number;
161
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
162
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
162
163
  x: number;
163
164
  y: number;
164
165
  width: number;
165
166
  height: number;
166
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
167
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
167
168
  x: number;
168
169
  y: number;
169
170
  width: number;
170
171
  height: number;
171
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
172
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
172
173
  content?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
173
174
  x: number;
174
175
  y: number;
175
176
  width: number;
176
177
  height: number;
177
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
178
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
178
179
  x: number;
179
180
  y: number;
180
181
  width: number;
181
182
  height: number;
182
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
183
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
183
184
  x: number;
184
185
  y: number;
185
186
  width: number;
186
187
  height: number;
187
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
188
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
188
189
  x: number;
189
190
  y: number;
190
191
  width: number;
191
192
  height: number;
192
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
193
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
193
194
  strict?: { left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
194
195
  x: number;
195
196
  y: number;
196
197
  width: number;
197
198
  height: number;
198
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
199
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
199
200
  x: number;
200
201
  y: number;
201
202
  width: number;
202
203
  height: number;
203
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
204
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; } | Array<{ left: number; top: number; width: number; height: number; } | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; } | ({
204
205
  x: number;
205
206
  y: number;
206
207
  width: number;
207
208
  height: number;
208
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
209
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | { region: {
209
210
  x: number;
210
211
  y: number;
211
212
  width: number;
212
213
  height: number;
213
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
214
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; })); padding?: number | { top: number; bottom: number; left: number; right: number; }; regionId?: string; }>;
214
215
  floating?: ({
215
216
  x: number;
216
217
  y: number;
217
218
  width: number;
218
219
  height: number;
219
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
220
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
220
221
  region: {
221
222
  x: number;
222
223
  y: number;
223
224
  width: number;
224
225
  height: number;
225
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
226
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
226
227
  padding?: number | { top: number; bottom: number; left: number; right: number; };
227
228
  regionId?: string;
228
229
  offset?: { top?: number; bottom?: number; left?: number; right?: number; };
@@ -232,25 +233,25 @@ export type CypressCheckSettings = {
232
233
  y: number;
233
234
  width: number;
234
235
  height: number;
235
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
236
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
236
237
  padding?: number | { top: number; bottom: number; left: number; right: number; };
237
238
  regionId?: string;
238
239
  maxUpOffset?: number;
239
240
  maxDownOffset?: number;
240
241
  maxLeftOffset?: number;
241
242
  maxRightOffset?: number;
242
- } | (({ left: number; top: number; width: number; height: number; } | ("string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; }) | Array<({
243
+ } | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; }) | Array<({
243
244
  x: number;
244
245
  y: number;
245
246
  width: number;
246
247
  height: number;
247
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
248
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
248
249
  region: {
249
250
  x: number;
250
251
  y: number;
251
252
  width: number;
252
253
  height: number;
253
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
254
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
254
255
  padding?: number | { top: number; bottom: number; left: number; right: number; };
255
256
  regionId?: string;
256
257
  offset?: { top?: number; bottom?: number; left?: number; right?: number; };
@@ -260,57 +261,56 @@ export type CypressCheckSettings = {
260
261
  y: number;
261
262
  width: number;
262
263
  height: number;
263
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
264
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
264
265
  padding?: number | { top: number; bottom: number; left: number; right: number; };
265
266
  regionId?: string;
266
267
  maxUpOffset?: number;
267
268
  maxDownOffset?: number;
268
269
  maxLeftOffset?: number;
269
270
  maxRightOffset?: number;
270
- } | (({ left: number; top: number; width: number; height: number; } | ("string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; })>;
271
+ } | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { maxUpOffset?: number; maxDownOffset?: number; maxLeftOffset?: number; maxRightOffset?: number; })>;
271
272
  accessibility?: ({
272
273
  x: number;
273
274
  y: number;
274
275
  width: number;
275
276
  height: number;
276
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
277
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
277
278
  region: {
278
279
  x: number;
279
280
  y: number;
280
281
  width: number;
281
282
  height: number;
282
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
283
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
283
284
  padding?: number | { top: number; bottom: number; left: number; right: number; };
284
285
  regionId?: string;
285
286
  type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
286
- } | (({ left: number; top: number; width: number; height: number; } | ("string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }) | Array<({
287
+ } | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; }) | Array<({
287
288
  x: number;
288
289
  y: number;
289
290
  width: number;
290
291
  height: number;
291
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
292
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }))) | {
292
293
  region: {
293
294
  x: number;
294
295
  y: number;
295
296
  width: number;
296
297
  height: number;
297
- } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; } | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
298
+ } | ((HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | ((string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { selector: string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }; type?: string; shadow?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; frame?: EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>; }));
298
299
  padding?: number | { top: number; bottom: number; left: number; right: number; };
299
300
  regionId?: string;
300
301
  type?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject";
301
- } | (({ left: number; top: number; width: number; height: number; } | ("string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; })>;
302
+ } | (({ left: number; top: number; width: number; height: number; } | (string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }) | { element: HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }; regionId?: string; padding?: any; }) & { accessibilityType?: "IgnoreContrast" | "RegularText" | "LargeText" | "BoldText" | "GraphicalObject"; })>;
302
303
  scriptHooks?: { beforeCaptureScreenshot: string; };
303
304
  };
304
305
  export type CypressEyesConfig = {
305
306
  agentId?: string;
306
307
  apiKey?: string;
307
308
  serverUrl?: string;
308
- proxy?: { url: string; username?: string; password?: string; isHttpOnly?: boolean; };
309
+ proxy?: { url: string; username?: string; password?: string; };
309
310
  autProxy?: {
310
311
  url: string;
311
312
  username?: string;
312
313
  password?: string;
313
- isHttpOnly?: boolean;
314
314
  mode?: "Allow" | "Block";
315
315
  domains?: Array<string>;
316
316
  };
@@ -410,11 +410,11 @@ export type CypressEyesConfig = {
410
410
  matchTimeout?: number;
411
411
  forceFullPageScreenshot?: boolean;
412
412
  waitBeforeScreenshots?: number;
413
- stitchMode?: "Scroll" | "CSS";
413
+ stitchMode?: "Scroll" | "CSS" | "Resize";
414
414
  hideScrollbars?: boolean;
415
415
  hideCaret?: boolean;
416
416
  stitchOverlap?: number;
417
- scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | EyesSelector<"string" | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>;
417
+ scrollRootElement?: (HTMLElement | { [n: number]: HTMLElement; [Symbol.iterator](): Iterator<HTMLElement, any, undefined>; }) | EyesSelector<string | { selector: string; type?: "css" | "xpath"; nodeType?: "element" | "shadow-root"; }>;
418
418
  cut?: { top: number; right: number; bottom: number; left: number; } | { x: number; y: number; width: number; height: number; };
419
419
  rotation?: 0 | 270 | -270 | 180 | -180 | 90 | -90;
420
420
  scaleRatio?: number;
@@ -538,5 +538,5 @@ export type EyesPluginConfig = {
538
538
  eyesWaitBeforeCapture: number;
539
539
  eyesPort?: number;
540
540
  };
541
- declare const _default: (pluginInitArgs: Cypress.ConfigOptions | NodeJS.Module) => Cypress.ConfigOptions | NodeJS.Module | (() => any);
541
+ declare const _default: (pluginInitArgs: Cypress.ConfigOptions | NodeJS.Module) => Cypress.ConfigOptions | NodeJS.Module | (() => Promise<void>);
542
542
  export default _default;