@duckduckgo/autoconsent 9.4.0 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/addon-firefox/background.bundle.js +1 -0
  3. package/dist/addon-firefox/content.bundle.js +6 -2
  4. package/dist/addon-firefox/rules.json +246 -27
  5. package/dist/addon-mv3/background.bundle.js +1 -0
  6. package/dist/addon-mv3/content.bundle.js +6 -2
  7. package/dist/addon-mv3/rules.json +246 -27
  8. package/dist/autoconsent.cjs.js +6 -2
  9. package/dist/autoconsent.esm.js +6 -2
  10. package/dist/autoconsent.playwright.js +1 -1
  11. package/dist/autoconsent.unit.js +252 -29
  12. package/lib/cmps/base.ts +3 -1
  13. package/lib/cmps/consentmanager.ts +2 -0
  14. package/lib/cmps/uniconsent.ts +2 -2
  15. package/lib/eval-snippets.ts +1 -0
  16. package/package.json +3 -3
  17. package/rules/autoconsent/cookie-law-info.json +4 -1
  18. package/rules/autoconsent/ecosia.json +28 -0
  19. package/rules/autoconsent/eu-cookie-compliance.json +10 -3
  20. package/rules/autoconsent/europa-eu.json +29 -0
  21. package/rules/autoconsent/fides.json +25 -0
  22. package/rules/autoconsent/instagram.json +31 -0
  23. package/rules/autoconsent/ketch.json +23 -20
  24. package/rules/autoconsent/paypal-us.json +3 -3
  25. package/rules/autoconsent/temu.json +28 -0
  26. package/rules/autoconsent/transcend.json +26 -0
  27. package/rules/autoconsent/xvideos.json +28 -0
  28. package/rules/rules.json +246 -27
  29. package/tests/ecosia.spec.ts +5 -0
  30. package/tests/eu-cookie-compliance-banner.spec.ts +1 -1
  31. package/tests/europa-eu.spec.ts +6 -0
  32. package/tests/fides.spec.ts +5 -0
  33. package/tests/instagram.spec.ts +5 -0
  34. package/tests/ketch.spec.ts +1 -1
  35. package/tests/temu.spec.ts +5 -0
  36. package/tests/transcend.spec.ts +5 -0
  37. package/tests/xvideos.spec.ts +5 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v9.5.0 (Wed Jan 31 2024)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - Fix Ketch and eu-cookie-compliance [#351](https://github.com/duckduckgo/autoconsent/pull/351) ([@muodov](https://github.com/muodov))
6
+ - Bump the dev-dependencies group with 7 updates [#360](https://github.com/duckduckgo/autoconsent/pull/360) ([@dependabot[bot]](https://github.com/dependabot[bot]))
7
+ - Add rule for fides CMP [#359](https://github.com/duckduckgo/autoconsent/pull/359) ([@muodov](https://github.com/muodov))
8
+ - More site-specific rules [#358](https://github.com/duckduckgo/autoconsent/pull/358) ([@muodov](https://github.com/muodov))
9
+ - Support another version of uniconsent [#355](https://github.com/duckduckgo/autoconsent/pull/355) ([@muodov](https://github.com/muodov))
10
+ - Improve Consentmanager.net [#353](https://github.com/duckduckgo/autoconsent/pull/353) ([@muodov](https://github.com/muodov))
11
+ - Improve cookie-law-info rule [#352](https://github.com/duckduckgo/autoconsent/pull/352) ([@muodov](https://github.com/muodov))
12
+
13
+ #### 🐛 Bug Fix
14
+
15
+ - fix: paypal-us [#361](https://github.com/duckduckgo/autoconsent/pull/361) ([@seia-soto](https://github.com/seia-soto))
16
+
17
+ #### Authors: 3
18
+
19
+ - [@dependabot[bot]](https://github.com/dependabot[bot])
20
+ - HoJeong Go ([@seia-soto](https://github.com/seia-soto))
21
+ - Maxim Tsoy ([@muodov](https://github.com/muodov))
22
+
23
+ ---
24
+
1
25
  # v9.4.0 (Fri Jan 26 2024)
2
26
 
3
27
  #### 🚀 Enhancement
@@ -48,6 +48,7 @@
48
48
  EVAL_COMPLIANZ_BANNER_0: () => document.cookie.includes("cmplz_banner-status=dismissed"),
49
49
  EVAL_COOKIE_LAW_INFO_0: () => CLI.disableAllCookies() || CLI.reject_close() || true,
50
50
  EVAL_COOKIE_LAW_INFO_1: () => document.cookie.indexOf("cookielawinfo-checkbox-non-necessary=yes") === -1,
51
+ EVAL_COOKIE_LAW_INFO_DETECT: () => !!window.CLI,
51
52
  EVAL_COOKIE_MANAGER_POPUP_0: () => JSON.parse(document.cookie.split(";").find((c) => c.trim().startsWith("CookieLevel")).split("=")[1]).social === false,
52
53
  EVAL_COOKIEALERT_0: () => document.querySelector("body").removeAttribute("style") || true,
53
54
  EVAL_COOKIEALERT_1: () => document.querySelector("body").removeAttribute("style") || true,
@@ -495,6 +495,7 @@
495
495
  EVAL_COMPLIANZ_BANNER_0: () => document.cookie.includes("cmplz_banner-status=dismissed"),
496
496
  EVAL_COOKIE_LAW_INFO_0: () => CLI.disableAllCookies() || CLI.reject_close() || true,
497
497
  EVAL_COOKIE_LAW_INFO_1: () => document.cookie.indexOf("cookielawinfo-checkbox-non-necessary=yes") === -1,
498
+ EVAL_COOKIE_LAW_INFO_DETECT: () => !!window.CLI,
498
499
  EVAL_COOKIE_MANAGER_POPUP_0: () => JSON.parse(document.cookie.split(";").find((c) => c.trim().startsWith("CookieLevel")).split("=")[1]).social === false,
499
500
  EVAL_COOKIEALERT_0: () => document.querySelector("body").removeAttribute("style") || true,
500
501
  EVAL_COOKIEALERT_1: () => document.querySelector("body").removeAttribute("style") || true,
@@ -801,6 +802,8 @@
801
802
  results.push(this._runRulesSequentially(rule.then));
802
803
  } else if (rule.else) {
803
804
  results.push(this._runRulesSequentially(rule.else));
805
+ } else {
806
+ results.push(true);
804
807
  }
805
808
  }
806
809
  if (rule.any) {
@@ -1348,6 +1351,7 @@
1348
1351
  await this.waitForElement(".cmptblbox", 2e3);
1349
1352
  this.click(".cmptdchoice > a[aria-checked=true]", true);
1350
1353
  this.click(".cmpboxbtnyescustomchoices");
1354
+ this.hide("#cmpwrapper,#cmpbox", "display");
1351
1355
  return true;
1352
1356
  }
1353
1357
  async optIn() {
@@ -1530,10 +1534,10 @@
1530
1534
  return false;
1531
1535
  }
1532
1536
  async detectCmp() {
1533
- return this.elementExists(".unic .unic-box,.unic .unic-bar");
1537
+ return this.elementExists(".unic .unic-box,.unic .unic-bar,.unic .unic-modal");
1534
1538
  }
1535
1539
  async detectPopup() {
1536
- return this.elementVisible(".unic .unic-box,.unic .unic-bar", "any");
1540
+ return this.elementVisible(".unic .unic-box,.unic .unic-bar,.unic .unic-modal", "any");
1537
1541
  }
1538
1542
  async optOut() {
1539
1543
  await this.waitForElement(".unic button", 1e3);
@@ -1426,6 +1426,9 @@
1426
1426
  "detectCmp": [
1427
1427
  {
1428
1428
  "exists": "#cookie-law-info-bar"
1429
+ },
1430
+ {
1431
+ "eval": "EVAL_COOKIE_LAW_INFO_DETECT"
1429
1432
  }
1430
1433
  ],
1431
1434
  "detectPopup": [
@@ -2136,6 +2139,36 @@
2136
2139
  }
2137
2140
  ]
2138
2141
  },
2142
+ {
2143
+ "name": "ecosia",
2144
+ "vendorUrl": "https://www.ecosia.org/",
2145
+ "runContext": {
2146
+ "urlPattern": "^https://www\\.ecosia\\.org/"
2147
+ },
2148
+ "prehideSelectors": [
2149
+ ".cookie-wrapper"
2150
+ ],
2151
+ "detectCmp": [
2152
+ {
2153
+ "exists": ".cookie-wrapper > .cookie-notice"
2154
+ }
2155
+ ],
2156
+ "detectPopup": [
2157
+ {
2158
+ "visible": ".cookie-wrapper > .cookie-notice"
2159
+ }
2160
+ ],
2161
+ "optIn": [
2162
+ {
2163
+ "waitForThenClick": "[data-test-id=cookie-notice-accept]"
2164
+ }
2165
+ ],
2166
+ "optOut": [
2167
+ {
2168
+ "waitForThenClick": "[data-test-id=cookie-notice-reject]"
2169
+ }
2170
+ ]
2171
+ },
2139
2172
  {
2140
2173
  "name": "etsy",
2141
2174
  "prehideSelectors": [
@@ -2180,12 +2213,12 @@
2180
2213
  "name": "eu-cookie-compliance-banner",
2181
2214
  "detectCmp": [
2182
2215
  {
2183
- "exists": ".eu-cookie-compliance-banner-info"
2216
+ "exists": "body.eu-cookie-compliance-popup-open"
2184
2217
  }
2185
2218
  ],
2186
2219
  "detectPopup": [
2187
2220
  {
2188
- "exists": ".eu-cookie-compliance-popup-open"
2221
+ "exists": "body.eu-cookie-compliance-popup-open"
2189
2222
  }
2190
2223
  ],
2191
2224
  "optIn": [
@@ -2195,8 +2228,14 @@
2195
2228
  ],
2196
2229
  "optOut": [
2197
2230
  {
2198
- "click": ".decline-button,.eu-cookie-compliance-save-preferences-button",
2199
- "optional": true
2231
+ "if": {
2232
+ "visible": ".decline-button,.eu-cookie-compliance-save-preferences-button"
2233
+ },
2234
+ "then": [
2235
+ {
2236
+ "click": ".decline-button,.eu-cookie-compliance-save-preferences-button"
2237
+ }
2238
+ ]
2200
2239
  },
2201
2240
  {
2202
2241
  "hide": ".eu-cookie-compliance-banner-info, #sliding-popup"
@@ -2243,6 +2282,37 @@
2243
2282
  }
2244
2283
  ]
2245
2284
  },
2285
+ {
2286
+ "name": "europa-eu",
2287
+ "vendorUrl": "https://ec.europa.eu/",
2288
+ "runContext": {
2289
+ "urlPattern": "^https://[^/]*europa\\.eu/"
2290
+ },
2291
+ "prehideSelectors": [
2292
+ "#cookie-consent-banner"
2293
+ ],
2294
+ "detectCmp": [
2295
+ {
2296
+ "exists": ".cck-container"
2297
+ }
2298
+ ],
2299
+ "detectPopup": [
2300
+ {
2301
+ "visible": ".cck-container"
2302
+ }
2303
+ ],
2304
+ "optIn": [
2305
+ {
2306
+ "waitForThenClick": ".cck-actions-button[href=\"#accept\"]"
2307
+ }
2308
+ ],
2309
+ "optOut": [
2310
+ {
2311
+ "waitForThenClick": ".cck-actions-button[href=\"#refuse\"]",
2312
+ "hide": ".cck-container"
2313
+ }
2314
+ ]
2315
+ },
2246
2316
  {
2247
2317
  "name": "EZoic",
2248
2318
  "prehideSelectors": [
@@ -2329,6 +2399,33 @@
2329
2399
  }
2330
2400
  ]
2331
2401
  },
2402
+ {
2403
+ "name": "fides",
2404
+ "vendorUrl": "https://github.com/ethyca/fides",
2405
+ "prehideSelectors": [
2406
+ "#fides-overlay"
2407
+ ],
2408
+ "detectCmp": [
2409
+ {
2410
+ "exists": "#fides-overlay #fides-banner"
2411
+ }
2412
+ ],
2413
+ "detectPopup": [
2414
+ {
2415
+ "visible": "#fides-overlay #fides-banner"
2416
+ }
2417
+ ],
2418
+ "optIn": [
2419
+ {
2420
+ "waitForThenClick": "#fides-banner [data-testid=\"Accept all-btn\"]"
2421
+ }
2422
+ ],
2423
+ "optOut": [
2424
+ {
2425
+ "waitForThenClick": "#fides-banner [data-testid=\"Reject all-btn\"]"
2426
+ }
2427
+ ]
2428
+ },
2332
2429
  {
2333
2430
  "name": "funding-choices",
2334
2431
  "prehideSelectors": [
@@ -2738,6 +2835,39 @@
2738
2835
  }
2739
2836
  ]
2740
2837
  },
2838
+ {
2839
+ "name": "instagram",
2840
+ "vendorUrl": "https://instagram.com",
2841
+ "runContext": {
2842
+ "urlPattern": "^https://www\\.instagram\\.com/"
2843
+ },
2844
+ "prehideSelectors": [
2845
+ ".x78zum5.xdt5ytf.xg6iff7.x1n2onr6"
2846
+ ],
2847
+ "detectCmp": [
2848
+ {
2849
+ "exists": ".x1qjc9v5.x9f619.x78zum5.xdt5ytf.x1iyjqo2.xl56j7k"
2850
+ }
2851
+ ],
2852
+ "detectPopup": [
2853
+ {
2854
+ "visible": ".x1qjc9v5.x9f619.x78zum5.xdt5ytf.x1iyjqo2.xl56j7k"
2855
+ }
2856
+ ],
2857
+ "optIn": [
2858
+ {
2859
+ "waitForThenClick": "._a9--._a9_0"
2860
+ }
2861
+ ],
2862
+ "optOut": [
2863
+ {
2864
+ "waitForThenClick": "._a9--._a9_1"
2865
+ },
2866
+ {
2867
+ "wait": 2000
2868
+ }
2869
+ ]
2870
+ },
2741
2871
  {
2742
2872
  "name": "ionos.de",
2743
2873
  "prehideSelectors": [
@@ -2983,6 +3113,7 @@
2983
3113
  },
2984
3114
  {
2985
3115
  "name": "ketch",
3116
+ "vendorUrl": "https://www.ketch.com",
2986
3117
  "runContext": {
2987
3118
  "frame": false,
2988
3119
  "main": true
@@ -3008,7 +3139,7 @@
3008
3139
  },
3009
3140
  "then": [
3010
3141
  {
3011
- "waitForThenClick": "#lanyard_root div[class^='buttons'] > :nth-child(2)"
3142
+ "waitForThenClick": "#lanyard_root div[class*=buttons] > :nth-child(2)"
3012
3143
  },
3013
3144
  {
3014
3145
  "click": "#lanyard_root button[class='confirmButton']"
@@ -3016,43 +3147,42 @@
3016
3147
  ],
3017
3148
  "else": [
3018
3149
  {
3019
- "waitForThenClick": "#lanyard_root div[class^='buttons'] > :nth-child(2)"
3150
+ "waitForThenClick": "#lanyard_root div[class*=buttons] > :nth-child(2)"
3020
3151
  }
3021
3152
  ]
3022
3153
  }
3023
3154
  ],
3024
3155
  "optOut": [
3025
3156
  {
3026
- "click": "#lanyard_root button[class^='link']",
3157
+ "if": {
3158
+ "exists": "#lanyard_root [aria-describedby=banner-description]"
3159
+ },
3160
+ "then": [
3161
+ {
3162
+ "waitForThenClick": "#lanyard_root div[class*=buttons] > button[class*=secondaryButton]",
3163
+ "comment": "can be either settings or reject button"
3164
+ }
3165
+ ]
3166
+ },
3167
+ {
3168
+ "waitFor": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description]",
3169
+ "timeout": 1000,
3027
3170
  "optional": true
3028
3171
  },
3029
3172
  {
3030
3173
  "if": {
3031
- "exists": "#lanyard_root button[class*='confirmButton']"
3174
+ "exists": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description]"
3032
3175
  },
3033
3176
  "then": [
3034
3177
  {
3035
- "waitForThenClick": "#lanyard_root button[class*='rejectButton']"
3178
+ "waitForThenClick": "#lanyard_root button[class*=rejectButton]"
3036
3179
  },
3037
3180
  {
3038
- "click": "#lanyard_root button[class*='confirmButton']"
3039
- }
3040
- ],
3041
- "else": [
3042
- {
3043
- "click": "#lanyard_root div[class^='buttons'] > :nth-child(1)",
3044
- "optional": true
3045
- },
3046
- {
3047
- "waitForThenClick": "#lanyard_root input:checked"
3048
- },
3049
- {
3050
- "click": "#consentsTab > div:nth-child(2) > div > div[class^='actions'] > button:nth-child(1)"
3181
+ "click": "#lanyard_root button[class*=confirmButton],#lanyard_root div[class*=actions_] > button:nth-child(1)"
3051
3182
  }
3052
3183
  ]
3053
3184
  }
3054
- ],
3055
- "test": []
3185
+ ]
3056
3186
  },
3057
3187
  {
3058
3188
  "name": "kleinanzeigen-de",
@@ -3807,12 +3937,12 @@
3807
3937
  ],
3808
3938
  "detectCmp": [
3809
3939
  {
3810
- "exists": "#ccpaCookieBanner, .privacy-modal-content"
3940
+ "exists": "#ccpaCookieBanner, .privacy-sheet-content"
3811
3941
  }
3812
3942
  ],
3813
3943
  "detectPopup": [
3814
3944
  {
3815
- "exists": "#ccpaCookieBanner, .privacy-modal-content"
3945
+ "exists": "#ccpaCookieBanner, .privacy-sheet-content"
3816
3946
  }
3817
3947
  ],
3818
3948
  "optIn": [
@@ -3832,7 +3962,7 @@
3832
3962
  ],
3833
3963
  "else": [
3834
3964
  {
3835
- "waitForVisible": ".privacy-modal-content #formContent"
3965
+ "waitForVisible": ".privacy-sheet-content #formContent"
3836
3966
  },
3837
3967
  {
3838
3968
  "click": "#formContent .cookiepref-11m2iee-checkbox_base input:checked",
@@ -4644,6 +4774,36 @@
4644
4774
  }
4645
4775
  ]
4646
4776
  },
4777
+ {
4778
+ "name": "temu",
4779
+ "vendorUrl": "https://temu.com",
4780
+ "runContext": {
4781
+ "urlPattern": "^https://[^/]*temu\\.com/"
4782
+ },
4783
+ "prehideSelectors": [
4784
+ "._2d-8vq-W,._1UdBUwni"
4785
+ ],
4786
+ "detectCmp": [
4787
+ {
4788
+ "exists": "._3YCsmIaS"
4789
+ }
4790
+ ],
4791
+ "detectPopup": [
4792
+ {
4793
+ "visible": "._3YCsmIaS"
4794
+ }
4795
+ ],
4796
+ "optIn": [
4797
+ {
4798
+ "waitForThenClick": "._3fKiu5wx._3zN5SumS._3tAK973O.IYOfhWEs.VGNGF1pA"
4799
+ }
4800
+ ],
4801
+ "optOut": [
4802
+ {
4803
+ "waitForThenClick": "._3fKiu5wx._1_XToJBF._3tAK973O.IYOfhWEs.VGNGF1pA"
4804
+ }
4805
+ ]
4806
+ },
4647
4807
  {
4648
4808
  "name": "Termly",
4649
4809
  "prehideSelectors": [
@@ -4953,6 +5113,37 @@
4953
5113
  }
4954
5114
  ]
4955
5115
  },
5116
+ {
5117
+ "name": "transcend",
5118
+ "vendorUrl": "https://unknown",
5119
+ "cosmetic": true,
5120
+ "prehideSelectors": [
5121
+ "#transcend-consent-manager"
5122
+ ],
5123
+ "detectCmp": [
5124
+ {
5125
+ "exists": "#transcend-consent-manager"
5126
+ }
5127
+ ],
5128
+ "detectPopup": [
5129
+ {
5130
+ "visible": "#transcend-consent-manager"
5131
+ }
5132
+ ],
5133
+ "optIn": [
5134
+ {
5135
+ "waitForThenClick": [
5136
+ "#transcend-consent-manager",
5137
+ "#consentManagerMainDialog .inner-container button"
5138
+ ]
5139
+ }
5140
+ ],
5141
+ "optOut": [
5142
+ {
5143
+ "hide": "#transcend-consent-manager"
5144
+ }
5145
+ ]
5146
+ },
4956
5147
  {
4957
5148
  "name": "transip-nl",
4958
5149
  "runContext": {
@@ -5777,6 +5968,34 @@
5777
5968
  }
5778
5969
  ]
5779
5970
  },
5971
+ {
5972
+ "name": "xvideos",
5973
+ "vendorUrl": "https://xvideos.com",
5974
+ "runContext": {
5975
+ "urlPattern": "^https://[^/]*xvideos\\.com/"
5976
+ },
5977
+ "prehideSelectors": [],
5978
+ "detectCmp": [
5979
+ {
5980
+ "exists": ".disclaimer-opened #disclaimer-cookies"
5981
+ }
5982
+ ],
5983
+ "detectPopup": [
5984
+ {
5985
+ "visible": ".disclaimer-opened #disclaimer-cookies"
5986
+ }
5987
+ ],
5988
+ "optIn": [
5989
+ {
5990
+ "waitForThenClick": "#disclaimer-accept_cookies"
5991
+ }
5992
+ ],
5993
+ "optOut": [
5994
+ {
5995
+ "waitForThenClick": "#disclaimer-reject_cookies"
5996
+ }
5997
+ ]
5998
+ },
5780
5999
  {
5781
6000
  "name": "Yahoo",
5782
6001
  "runContext": {
@@ -48,6 +48,7 @@
48
48
  EVAL_COMPLIANZ_BANNER_0: () => document.cookie.includes("cmplz_banner-status=dismissed"),
49
49
  EVAL_COOKIE_LAW_INFO_0: () => CLI.disableAllCookies() || CLI.reject_close() || true,
50
50
  EVAL_COOKIE_LAW_INFO_1: () => document.cookie.indexOf("cookielawinfo-checkbox-non-necessary=yes") === -1,
51
+ EVAL_COOKIE_LAW_INFO_DETECT: () => !!window.CLI,
51
52
  EVAL_COOKIE_MANAGER_POPUP_0: () => JSON.parse(document.cookie.split(";").find((c) => c.trim().startsWith("CookieLevel")).split("=")[1]).social === false,
52
53
  EVAL_COOKIEALERT_0: () => document.querySelector("body").removeAttribute("style") || true,
53
54
  EVAL_COOKIEALERT_1: () => document.querySelector("body").removeAttribute("style") || true,
@@ -495,6 +495,7 @@
495
495
  EVAL_COMPLIANZ_BANNER_0: () => document.cookie.includes("cmplz_banner-status=dismissed"),
496
496
  EVAL_COOKIE_LAW_INFO_0: () => CLI.disableAllCookies() || CLI.reject_close() || true,
497
497
  EVAL_COOKIE_LAW_INFO_1: () => document.cookie.indexOf("cookielawinfo-checkbox-non-necessary=yes") === -1,
498
+ EVAL_COOKIE_LAW_INFO_DETECT: () => !!window.CLI,
498
499
  EVAL_COOKIE_MANAGER_POPUP_0: () => JSON.parse(document.cookie.split(";").find((c) => c.trim().startsWith("CookieLevel")).split("=")[1]).social === false,
499
500
  EVAL_COOKIEALERT_0: () => document.querySelector("body").removeAttribute("style") || true,
500
501
  EVAL_COOKIEALERT_1: () => document.querySelector("body").removeAttribute("style") || true,
@@ -801,6 +802,8 @@
801
802
  results.push(this._runRulesSequentially(rule.then));
802
803
  } else if (rule.else) {
803
804
  results.push(this._runRulesSequentially(rule.else));
805
+ } else {
806
+ results.push(true);
804
807
  }
805
808
  }
806
809
  if (rule.any) {
@@ -1348,6 +1351,7 @@
1348
1351
  await this.waitForElement(".cmptblbox", 2e3);
1349
1352
  this.click(".cmptdchoice > a[aria-checked=true]", true);
1350
1353
  this.click(".cmpboxbtnyescustomchoices");
1354
+ this.hide("#cmpwrapper,#cmpbox", "display");
1351
1355
  return true;
1352
1356
  }
1353
1357
  async optIn() {
@@ -1530,10 +1534,10 @@
1530
1534
  return false;
1531
1535
  }
1532
1536
  async detectCmp() {
1533
- return this.elementExists(".unic .unic-box,.unic .unic-bar");
1537
+ return this.elementExists(".unic .unic-box,.unic .unic-bar,.unic .unic-modal");
1534
1538
  }
1535
1539
  async detectPopup() {
1536
- return this.elementVisible(".unic .unic-box,.unic .unic-bar", "any");
1540
+ return this.elementVisible(".unic .unic-box,.unic .unic-bar,.unic .unic-modal", "any");
1537
1541
  }
1538
1542
  async optOut() {
1539
1543
  await this.waitForElement(".unic button", 1e3);