@duckduckgo/autoconsent 16.52.0 → 16.54.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 (164) hide show
  1. package/AGENTS.md +1 -1
  2. package/CHANGELOG.md +111 -0
  3. package/data/coverage.json +3302 -2383
  4. package/dist/addon-firefox/compact-rules.json +1 -1
  5. package/dist/addon-firefox/manifest.json +1 -1
  6. package/dist/addon-firefox/rule-index.json +1 -1
  7. package/dist/addon-firefox/rules.json +1 -1
  8. package/dist/addon-mv3/compact-rules.json +1 -1
  9. package/dist/addon-mv3/manifest.json +1 -1
  10. package/dist/addon-mv3/rule-index.json +1 -1
  11. package/dist/addon-mv3/rules.json +1 -1
  12. package/dist/autoconsent.standalone.js +1 -1
  13. package/package.json +2 -2
  14. package/rules/autoconsent/accurx.json +26 -0
  15. package/rules/autoconsent/admetricspro.json +53 -0
  16. package/rules/autoconsent/aliexpress.json +37 -13
  17. package/rules/autoconsent/bigid.json +29 -13
  18. package/rules/autoconsent/bnes-cc.json +27 -0
  19. package/rules/autoconsent/burpee-com.json +22 -10
  20. package/rules/autoconsent/c-banner-allow-cookies.json +17 -0
  21. package/rules/autoconsent/ccm19.json +31 -0
  22. package/rules/autoconsent/channel4.json +5 -5
  23. package/rules/autoconsent/citizensadvice.json +43 -0
  24. package/rules/autoconsent/civic-cookie-control.json +9 -9
  25. package/rules/autoconsent/clasohlson.com.json +13 -0
  26. package/rules/autoconsent/cm-cookie-manager.json +20 -0
  27. package/rules/autoconsent/complianz-optin.json +11 -1
  28. package/rules/autoconsent/concept3d.json +19 -0
  29. package/rules/autoconsent/conextra.json +18 -0
  30. package/rules/autoconsent/cookie-script.json +23 -2
  31. package/rules/autoconsent/cookiecuttr.json +3 -2
  32. package/rules/autoconsent/costco-travel.json +44 -0
  33. package/rules/autoconsent/craft-cookie-consent.json +65 -0
  34. package/rules/autoconsent/cz-eshop-cookies-consent.json +9 -0
  35. package/rules/autoconsent/depop.json +16 -14
  36. package/rules/autoconsent/dsgvo.json +8 -2
  37. package/rules/autoconsent/dwaalzin-nu.json +13 -0
  38. package/rules/autoconsent/eastlink.json +66 -0
  39. package/rules/autoconsent/elsevier.json +3 -3
  40. package/rules/autoconsent/eneba.json +66 -0
  41. package/rules/autoconsent/ensighten.json +2 -2
  42. package/rules/autoconsent/eset.json +57 -0
  43. package/rules/autoconsent/europa-eu.json +11 -7
  44. package/rules/autoconsent/figma.json +37 -0
  45. package/rules/autoconsent/finna.json +29 -0
  46. package/rules/autoconsent/gla.ac.uk.json +45 -0
  47. package/rules/autoconsent/head-fi.json +35 -0
  48. package/rules/autoconsent/istore-co-za.json +18 -0
  49. package/rules/autoconsent/kiwico.json +48 -0
  50. package/rules/autoconsent/klaxit-cookie-consent.json +9 -0
  51. package/rules/autoconsent/kwik-fit.json +16 -0
  52. package/rules/autoconsent/malaysiaairlines.com.json +42 -0
  53. package/rules/autoconsent/meridiancu.json +15 -0
  54. package/rules/autoconsent/meteored.json +40 -0
  55. package/rules/autoconsent/mobirise-cookies-alert-cosmetic.json +30 -0
  56. package/rules/autoconsent/mobirise-cookies-alert.json +34 -0
  57. package/rules/autoconsent/msg-cookie.json +9 -0
  58. package/rules/autoconsent/nestpensions.json +14 -0
  59. package/rules/autoconsent/nhs-jobs.json +11 -0
  60. package/rules/autoconsent/occ-gdpr.json +17 -0
  61. package/rules/autoconsent/piwik-pro.json +83 -0
  62. package/rules/autoconsent/plentyshop.json +27 -0
  63. package/rules/autoconsent/posthog.json +35 -0
  64. package/rules/autoconsent/quantcast.json +11 -0
  65. package/rules/autoconsent/quick-cookie-consent.json +70 -0
  66. package/rules/autoconsent/savills.json +44 -0
  67. package/rules/autoconsent/schadefonds.json +15 -0
  68. package/rules/autoconsent/scottish-government-design-system.json +14 -0
  69. package/rules/autoconsent/service2school.json +45 -0
  70. package/rules/autoconsent/smallpdf.json +44 -0
  71. package/rules/autoconsent/somerset-council.json +16 -0
  72. package/rules/autoconsent/sportmedizin-rheuma.json +17 -0
  73. package/rules/autoconsent/stepstone-ccm.json +19 -0
  74. package/rules/autoconsent/teacherspensions.co.uk.json +46 -0
  75. package/rules/autoconsent/thenude.json +108 -0
  76. package/rules/autoconsent/tna-cookie-banner.json +43 -0
  77. package/rules/autoconsent/toyota.json +14 -0
  78. package/rules/autoconsent/tracsis-delay-repay.json +13 -0
  79. package/rules/autoconsent/truendo.json +28 -0
  80. package/rules/autoconsent/truevault-polaris.json +8 -0
  81. package/rules/autoconsent/tti-cookie-popup.json +72 -0
  82. package/rules/autoconsent/u-cookie-consent.json +9 -0
  83. package/rules/autoconsent/ubisoft-com.json +64 -0
  84. package/rules/autoconsent/volvocars-com.json +1 -1
  85. package/rules/autoconsent/wbd-legal-terms.json +28 -10
  86. package/rules/autoconsent/what3words.json +53 -0
  87. package/rules/autoconsent/whitepages-gpc-banner.json +14 -0
  88. package/rules/autoconsent/wp-cookie-notice.json +1 -1
  89. package/rules/compact-rules.json +1 -1
  90. package/rules/rule-index.json +1 -1
  91. package/rules/rules.json +1 -1
  92. package/tests/accurx.spec.ts +3 -0
  93. package/tests/admetricspro.spec.ts +21 -0
  94. package/tests/aliexpress.spec.ts +5 -1
  95. package/tests/bigid.spec.ts +6 -0
  96. package/tests/bnes-cc.spec.ts +3 -0
  97. package/tests/burpee-com.spec.ts +3 -0
  98. package/tests/c-banner-allow-cookies.spec.ts +3 -0
  99. package/tests/ccm19.spec.ts +11 -0
  100. package/tests/channel4.spec.ts +7 -3
  101. package/tests/citizensadvice.spec.ts +3 -0
  102. package/tests/civic-cookie-control.spec.ts +9 -1
  103. package/tests/clasohlson.com.spec.ts +3 -0
  104. package/tests/cm-cookie-manager.spec.ts +11 -0
  105. package/tests/complianz-optin.spec.ts +5 -1
  106. package/tests/concept3d.spec.ts +8 -0
  107. package/tests/conextra.spec.ts +8 -0
  108. package/tests/cookie-script.spec.ts +8 -3
  109. package/tests/cookiecuttr.spec.ts +8 -1
  110. package/tests/costco-travel.spec.ts +5 -0
  111. package/tests/craft-cookie-consent.spec.ts +9 -0
  112. package/tests/cz-eshop-cookies-consent.spec.ts +10 -0
  113. package/tests/depop.spec.ts +3 -1
  114. package/tests/dsgvo.spec.ts +8 -10
  115. package/tests/dwaalzin-nu.spec.ts +6 -0
  116. package/tests/eastlink.spec.ts +3 -0
  117. package/tests/elsevier.spec.ts +5 -1
  118. package/tests/eneba.spec.ts +3 -0
  119. package/tests/eset.spec.ts +9 -0
  120. package/tests/europa-eu.spec.ts +6 -1
  121. package/tests/figma.spec.ts +5 -0
  122. package/tests/finna.spec.ts +3 -0
  123. package/tests/gla.ac.uk.spec.ts +6 -0
  124. package/tests/head-fi.spec.ts +3 -0
  125. package/tests/istore-co-za.spec.ts +3 -0
  126. package/tests/kiwico.spec.ts +5 -0
  127. package/tests/klaxit-cookie-consent.spec.ts +7 -0
  128. package/tests/kwik-fit.spec.ts +3 -0
  129. package/tests/malaysiaairlines.com.spec.ts +3 -0
  130. package/tests/meridiancu.spec.ts +3 -0
  131. package/tests/meteored.spec.ts +9 -0
  132. package/tests/mobirise-cookies-alert-cosmetic.spec.ts +8 -0
  133. package/tests/mobirise-cookies-alert.spec.ts +3 -0
  134. package/tests/msg-cookie.spec.ts +10 -0
  135. package/tests/nestpensions.spec.ts +3 -0
  136. package/tests/nhs-jobs.spec.ts +5 -0
  137. package/tests/occ-gdpr.spec.ts +3 -0
  138. package/tests/piwik-pro.spec.ts +10 -0
  139. package/tests/plentyshop.spec.ts +7 -0
  140. package/tests/posthog.spec.ts +3 -0
  141. package/tests/quantcast.spec.ts +2 -2
  142. package/tests/quick-cookie-consent.spec.ts +8 -0
  143. package/tests/savills.spec.ts +3 -0
  144. package/tests/schadefonds.spec.ts +3 -0
  145. package/tests/scottish-government-design-system.spec.ts +8 -0
  146. package/tests/service2school.spec.ts +3 -0
  147. package/tests/smallpdf.spec.ts +5 -0
  148. package/tests/somerset-council.spec.ts +8 -0
  149. package/tests/sportmedizin-rheuma.spec.ts +3 -0
  150. package/tests/stepstone-ccm.spec.ts +8 -0
  151. package/tests/teacherspensions.co.uk.spec.ts +3 -0
  152. package/tests/thenude.spec.ts +3 -0
  153. package/tests/tna-cookie-banner.spec.ts +8 -0
  154. package/tests/tracsis-delay-repay.spec.ts +6 -0
  155. package/tests/truendo.spec.ts +9 -0
  156. package/tests/tti-cookie-popup.spec.ts +8 -0
  157. package/tests/u-cookie-consent.spec.ts +9 -0
  158. package/tests/ubisoft-com.spec.ts +12 -0
  159. package/tests/wbd-legal-terms.spec.ts +2 -0
  160. package/tests/what3words.spec.ts +3 -0
  161. package/tests/whitepages-gpc-banner.spec.ts +4 -0
  162. package/tests/wp-cookie-notice.spec.ts +4 -1
  163. package/rules/autoconsent/sandhills.json +0 -26
  164. package/tests/sandhills.spec.ts +0 -8
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "costco-travel",
3
+ "vendorUrl": "https://www.costcotravel.com/",
4
+ "prehideSelectors": [],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#gdprMessage button.gdpr-review"
8
+ },
9
+ {
10
+ "exists": "[id^=div-transcend-cookie]"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "#gdprMessage"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "#gdprMessage button.gdpr-accept"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "#gdprMessage button.gdpr-review"
26
+ },
27
+ {
28
+ "waitForVisible": "#btn-transcend-cookie-confirm, #btn-transcend-save"
29
+ },
30
+ {
31
+ "click": "#analyticsNo:not(:checked), #functionalNo:not(:checked), #targetingNo:not(:checked)",
32
+ "all": true,
33
+ "optional": true
34
+ },
35
+ {
36
+ "click": "#analyticsCookieCheckbox:checked, #preferenceCookieCheckbox:checked",
37
+ "all": true,
38
+ "optional": true
39
+ },
40
+ {
41
+ "click": "#btn-transcend-cookie-confirm, #btn-transcend-save"
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "craft-cookie-consent",
3
+ "vendorUrl": "https://plugins.craftcms.com/cookie-consent",
4
+ "prehideSelectors": ["#elc-cookie-consent"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#elc-cookie-consent #elc-cookie-consent-form"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#elc-cookie-consent:not(.elc-hidden) #elc-cookie-consent-form"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "#elc-accept-all-link"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "click": "#elc-cookie-consent-form input[type=checkbox][name^=\"group-\"]:checked:not([disabled]):not([name$=\"-necessary\"])",
23
+ "all": true,
24
+ "optional": true
25
+ },
26
+ {
27
+ "if": {
28
+ "visible": "#elc-accept-link"
29
+ },
30
+ "then": [
31
+ {
32
+ "click": "#elc-accept-link"
33
+ }
34
+ ],
35
+ "else": [
36
+ {
37
+ "click": "#elc-detail-link"
38
+ },
39
+ {
40
+ "waitForVisible": "#elc-save-link, #elc-accept-link"
41
+ },
42
+ {
43
+ "if": {
44
+ "visible": "#elc-save-link"
45
+ },
46
+ "then": [
47
+ {
48
+ "click": "#elc-save-link"
49
+ }
50
+ ],
51
+ "else": [
52
+ {
53
+ "click": "#elc-accept-link"
54
+ }
55
+ ]
56
+ }
57
+ ]
58
+ }
59
+ ],
60
+ "test": [
61
+ {
62
+ "waitFor": "#elc-cookie-consent.elc-hidden"
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "cz-eshop-cookies-consent",
3
+ "prehideSelectors": [".cookies-consent:has(.cookies-consent-accept-needed)"],
4
+ "detectCmp": [{ "exists": ".cookies-consent .cookies-consent-accept-needed" }],
5
+ "detectPopup": [{ "visible": ".cookies-consent .cookies-inner" }],
6
+ "optIn": [{ "waitForThenClick": ".cookies-consent .cookies-consent-accept-all" }],
7
+ "optOut": [{ "waitForThenClick": ".cookies-consent .cookies-consent-accept-needed", "retry": 10, "retryInterval": 500 }],
8
+ "test": [{ "cookieContains": "cookiesConsentAllowedServices=" }, { "cookieContains": "]},{\"type\":", "negated": true }]
9
+ }
@@ -1,42 +1,44 @@
1
1
  {
2
2
  "name": "depop",
3
3
  "vendorUrl": "https://www.depop.com/",
4
- "cosmetic": false,
4
+ "cosmetic": true,
5
+ "minimumRuleStepVersion": 2,
6
+ "comment": "Transcend airgap ignores untrusted clicks, so the banner is hidden together with the site's own backdrop and body scroll lock.",
5
7
  "runContext": {
6
8
  "urlPattern": "^https://(www\\.)?depop\\.com/"
7
9
  },
8
- "prehideSelectors": ["[data-testid=cookieBanner]"],
10
+ "prehideSelectors": ["#transcend-consent-manager", "#cookies-modal"],
9
11
  "detectCmp": [
10
12
  {
11
- "exists": "[data-testid=cookieBanner] button"
13
+ "exists": "#transcend-consent-manager"
12
14
  }
13
15
  ],
14
16
  "detectPopup": [
15
17
  {
16
- "visible": "[data-testid=cookieBanner] button"
18
+ "visible": ["#transcend-consent-manager", "#consentManagerMainDialog"]
17
19
  }
18
20
  ],
19
21
  "optIn": [
20
22
  {
21
- "waitForThenClick": "[data-testid=cookieBanner__acceptAllButton]"
23
+ "waitForThenClick": ["#transcend-consent-manager", "#consentManagerMainDialog .accept-or-reject-all-button-row button"]
22
24
  }
23
25
  ],
24
26
  "optOut": [
25
27
  {
26
- "waitForThenClick": "[data-testid=cookieBanner__manageCookiesButton]"
28
+ "hide": "#transcend-consent-manager"
27
29
  },
28
30
  {
29
- "click": "[data-testid=cookieModal] input[type=radio][value=false]:not(:checked):not(:disabled)",
30
- "all": true,
31
- "optional": true
31
+ "hide": "#cookies-modal"
32
32
  },
33
33
  {
34
- "waitForThenClick": "[data-testid=cookieModal__acceptButton]"
35
- }
36
- ],
37
- "test": [
34
+ "waitFor": "#cookies-modal",
35
+ "timeout": 3000,
36
+ "optional": true
37
+ },
38
38
  {
39
- "cookieContains": "gdpr__"
39
+ "addStyle": "overflow: auto !important",
40
+ "selector": "body",
41
+ "optional": true
40
42
  }
41
43
  ]
42
44
  }
@@ -5,6 +5,12 @@
5
5
  "detectCmp": [{ "exists": ".sp-dsgvo.sp-dsgvo-popup-overlay" }],
6
6
  "detectPopup": [{ "visible": ".sp-dsgvo.sp-dsgvo-popup-overlay", "check": "any" }],
7
7
  "optIn": [{ "waitForThenClick": ".sp-dsgvo-privacy-btn-accept-all", "all": true }],
8
- "optOut": [{ "waitForThenClick": ".sp-dsgvo-privacy-btn-accept-nothing" }],
9
- "test": [{ "cookieContains": "sp_dsgvo_cookie_settings", "negated": true }]
8
+ "optOut": [
9
+ {
10
+ "if": { "exists": ".sp-dsgvo-popup-overlay .sp-dsgvo-privacy-btn-accept-nothing" },
11
+ "then": [{ "waitForThenClick": ".sp-dsgvo-popup-overlay .sp-dsgvo-privacy-btn-accept-nothing" }],
12
+ "else": [{ "waitForThenClick": ".sp-dsgvo-popup-overlay .sp-dsgvo-popup-close" }]
13
+ }
14
+ ],
15
+ "test": [{ "cookieContains": "integrations%22%3A%5B%5D" }]
10
16
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "dwaalzin.nu",
3
+ "vendorUrl": "https://dwaalzin.nu/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?dwaalzin\\.nu/"
6
+ },
7
+ "prehideSelectors": [".cc-type-info[aria-describedby=\"cookieconsent:desc\"]"],
8
+ "detectCmp": [{ "exists": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss" }],
9
+ "detectPopup": [{ "visible": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss" }],
10
+ "optIn": [{ "waitForThenClick": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss" }],
11
+ "optOut": [{ "waitForThenClick": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss" }],
12
+ "test": [{ "cookieContains": "cookieconsent_status=dismiss" }]
13
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "eastlink",
3
+ "vendorUrl": "https://www.eastlink.ca/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?eastlink\\.ca/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "#cookiePopup [data-trigger=launchCookieDetails]"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "exists": "#cookiesModal [data-trigger=saveCookiePrefs]"
16
+ },
17
+ {
18
+ "cookieContains": "cookiePrefs=",
19
+ "negated": true
20
+ }
21
+ ],
22
+ "optIn": [
23
+ {
24
+ "waitForVisible": "#cookiePopup",
25
+ "timeout": 10000
26
+ },
27
+ {
28
+ "waitForThenClick": "#cookiePopup [data-trigger=acceptAllCookiePrefs]"
29
+ }
30
+ ],
31
+ "optOut": [
32
+ {
33
+ "waitForVisible": "#cookiePopup",
34
+ "timeout": 10000
35
+ },
36
+ {
37
+ "click": "#cookiePopup [data-trigger=launchCookieDetails]"
38
+ },
39
+ {
40
+ "waitForVisible": "#cookiesModal"
41
+ },
42
+ {
43
+ "if": {
44
+ "exists": "#cookiesModal #functionalCookies:checked"
45
+ },
46
+ "then": [
47
+ {
48
+ "click": "#cookiesModal #functionalCookies"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "if": {
54
+ "exists": "#cookiesModal #advertisingCookies:checked"
55
+ },
56
+ "then": [
57
+ {
58
+ "click": "#cookiesModal #advertisingCookies"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "click": "#cookiesModal [data-trigger=saveCookiePrefs]"
64
+ }
65
+ ]
66
+ }
@@ -7,12 +7,12 @@
7
7
  "prehideSelectors": ["[data-testid=\"cookie-banner\"]"],
8
8
  "detectCmp": [
9
9
  {
10
- "exists": "[data-testid=\"cookie-banner\"] [data-testid=\"cookie-settings-button\"]"
10
+ "exists": "[data-testid=\"accept-all-cookies-button\"] ~ [data-testid=\"cookie-settings-button\"]"
11
11
  }
12
12
  ],
13
13
  "detectPopup": [
14
14
  {
15
- "visible": "[data-testid=\"cookie-banner\"] [data-testid=\"cookie-settings-button\"]"
15
+ "visible": "[data-testid=\"accept-all-cookies-button\"] ~ [data-testid=\"cookie-settings-button\"]"
16
16
  }
17
17
  ],
18
18
  "optIn": [
@@ -56,7 +56,7 @@
56
56
  ]
57
57
  },
58
58
  {
59
- "waitForVisible": "[data-testid=\"cookie-banner\"]",
59
+ "waitForVisible": "[data-testid=\"accept-all-cookies-button\"]",
60
60
  "check": "none",
61
61
  "timeout": 10000
62
62
  }
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "eneba",
3
+ "vendorUrl": "https://www.eneba.com/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": false,
8
+ "urlPattern": "^https?://(www\\.)?eneba\\.com/"
9
+ },
10
+ "prehideSelectors": ["#app > div:has(a[href*=\"business.safety.google\"])"],
11
+ "detectCmp": [
12
+ {
13
+ "exists": "#app > div:has(a[href*=\"business.safety.google\"]) p + div > button"
14
+ }
15
+ ],
16
+ "detectPopup": [
17
+ {
18
+ "visible": "#app > div:has(a[href*=\"business.safety.google\"]) p + div > button"
19
+ }
20
+ ],
21
+ "optIn": [
22
+ {
23
+ "waitForThenClick": "#app > div:has(a[href*=\"business.safety.google\"]) p + div > button:first-child"
24
+ }
25
+ ],
26
+ "optOut": [
27
+ {
28
+ "waitForThenClick": "#app > div:has(a[href*=\"business.safety.google\"]) p + div > button:last-child"
29
+ },
30
+ {
31
+ "waitForVisible": "[role=dialog] form input#MARKETING",
32
+ "timeout": 2000,
33
+ "optional": true
34
+ },
35
+ {
36
+ "if": {
37
+ "visible": "[role=dialog] form input#MARKETING",
38
+ "check": "none"
39
+ },
40
+ "then": [
41
+ {
42
+ "click": "#app > div:has(a[href*=\"business.safety.google\"]) p + div > button:last-child"
43
+ }
44
+ ]
45
+ },
46
+ {
47
+ "waitForVisible": "[role=dialog] form input#MARKETING"
48
+ },
49
+ {
50
+ "click": "[role=dialog] form input[type=checkbox]:checked",
51
+ "all": true,
52
+ "optional": true
53
+ },
54
+ {
55
+ "waitForThenClick": "[role=dialog] form button[type=submit]"
56
+ }
57
+ ],
58
+ "test": [
59
+ {
60
+ "wait": 500
61
+ },
62
+ {
63
+ "cookieContains": "cconsent=1000"
64
+ }
65
+ ]
66
+ }
@@ -19,12 +19,12 @@
19
19
  "then": [
20
20
  {
21
21
  "if": {
22
- "visible": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds",
22
+ "visible": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds,#ensNotifyBanner #btn-accept-essential-cookies",
23
23
  "check": "any"
24
24
  },
25
25
  "then": [
26
26
  {
27
- "waitForThenClick": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds"
27
+ "waitForThenClick": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds,#ensNotifyBanner #btn-accept-essential-cookies"
28
28
  }
29
29
  ],
30
30
  "else": [
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "eset",
3
+ "vendorUrl": "https://www.eset.com/",
4
+ "cosmetic": false,
5
+ "prehideSelectors": ["#cookiebar[data-cookie-name=\"eset_cookie-bar\"]"],
6
+ "detectCmp": [
7
+ {
8
+ "exists": "#cookiebar[data-cookie-name=\"eset_cookie-bar\"] #cc-accept"
9
+ }
10
+ ],
11
+ "detectPopup": [
12
+ {
13
+ "visible": "#cookiebar[data-cookie-name=\"eset_cookie-bar\"] #cc-accept"
14
+ }
15
+ ],
16
+ "optIn": [
17
+ {
18
+ "waitForThenClick": "#cookiebar #cc-accept"
19
+ }
20
+ ],
21
+ "optOut": [
22
+ {
23
+ "if": {
24
+ "visible": "#cookiebar #cc-decline"
25
+ },
26
+ "then": [
27
+ {
28
+ "click": "#cookiebar #cc-decline"
29
+ }
30
+ ],
31
+ "else": [
32
+ {
33
+ "click": "#cookiebar #cc-manage"
34
+ },
35
+ {
36
+ "waitForVisible": "#cookiebar #cc-accept2"
37
+ },
38
+ {
39
+ "click": "#cookiebar .cc-category input[type=checkbox]:checked:not(:disabled)",
40
+ "all": true,
41
+ "optional": true
42
+ },
43
+ {
44
+ "click": "#cookiebar #cc-accept2"
45
+ }
46
+ ]
47
+ }
48
+ ],
49
+ "test": [
50
+ {
51
+ "wait": 2000
52
+ },
53
+ {
54
+ "cookieContains": "\"marketing\":0"
55
+ }
56
+ ]
57
+ }
@@ -2,28 +2,32 @@
2
2
  "name": "europa-eu",
3
3
  "vendorUrl": "https://ec.europa.eu/",
4
4
  "runContext": {
5
- "urlPattern": "^https://([a-z\\.]*\\.)?europa\\.eu/"
5
+ "urlPattern": "^https://([a-z0-9.-]*\\.)?europa\\.eu/"
6
6
  },
7
- "prehideSelectors": ["#cookie-consent-banner"],
7
+ "prehideSelectors": ["#cookie-consent-banner .wt-cck--container"],
8
8
  "detectCmp": [
9
9
  {
10
- "exists": ".cck-container"
10
+ "exists": "#cookie-consent-banner .wt-cck--container"
11
11
  }
12
12
  ],
13
13
  "detectPopup": [
14
14
  {
15
- "visible": ".cck-container"
15
+ "visible": "#cookie-consent-banner .wt-cck--container"
16
16
  }
17
17
  ],
18
18
  "optIn": [
19
19
  {
20
- "waitForThenClick": ".cck-actions-button[href=\"#accept\"]"
20
+ "waitForThenClick": ".wt-cck--actions-button[href=\"#accept\"]"
21
21
  }
22
22
  ],
23
23
  "optOut": [
24
24
  {
25
- "waitForThenClick": ".cck-actions-button[href=\"#refuse\"]",
26
- "hide": ".cck-container"
25
+ "waitForThenClick": ".wt-cck--actions-button[href=\"#refuse\"]"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "cookieContains": "%22cm%22%3Atrue%2C%22all1st%22%3Afalse"
27
31
  }
28
32
  ]
29
33
  }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "figma",
3
+ "runContext": {
4
+ "main": true,
5
+ "frame": true,
6
+ "urlPattern": "^https://([a-z0-9-]+\\.)*figma\\.com/"
7
+ },
8
+ "prehideSelectors": ["#app > div[role=alertdialog]", "#react-root div[role=alertdialog]"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "#app > div[role=alertdialog] button .btn-text, #react-root div[role=alertdialog] button .btn-text"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "#app > div[role=alertdialog], #react-root div[role=alertdialog]"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": "div[role=alertdialog] button:has(.btn-text):has(+ button .btn-text)"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "waitForThenClick": "div[role=alertdialog] button:has(.btn-text) + button:has(.btn-text), div[role=alertdialog] > button:has(.btn-text)"
27
+ }
28
+ ],
29
+ "test": [
30
+ {
31
+ "cookieContains": "pref=%7B%22t%22%3A%22"
32
+ },
33
+ {
34
+ "cookieContains": "%22m%22%3Afalse%7D"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "finna",
3
+ "vendorUrl": "https://finna.fi/",
4
+ "prehideSelectors": [".js-cookie-consent:has(.cookie-consent__accept-essential)"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": ".js-cookie-consent .cookie-consent__accept-essential"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": ".js-cookie-consent .cookie-consent__accept-essential"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": ".js-cookie-consent .cookie-consent__accept-all",
18
+ "retry": 10,
19
+ "retryInterval": 500
20
+ }
21
+ ],
22
+ "optOut": [
23
+ {
24
+ "waitForThenClick": ".js-cookie-consent .cookie-consent__accept-essential",
25
+ "retry": 10,
26
+ "retryInterval": 500
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "gla.ac.uk",
3
+ "vendorUrl": "https://www.gla.ac.uk/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?gla\\.ac\\.uk/"
6
+ },
7
+ "prehideSelectors": ["#editconsent"],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "#gu-cookie-control"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "#gu-cookie-control"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "#gu-consent-accept-recommended"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "#gu_analytics_switch_off"
26
+ },
27
+ {
28
+ "click": "#gu_ads_switch_off"
29
+ },
30
+ {
31
+ "click": "#gu-consent-confirm"
32
+ }
33
+ ],
34
+ "test": [
35
+ {
36
+ "cookieContains": "gu_consent_set=true"
37
+ },
38
+ {
39
+ "cookieContains": "gu_analytics=false"
40
+ },
41
+ {
42
+ "cookieContains": "gu_remarketing=false"
43
+ }
44
+ ]
45
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "head-fi",
3
+ "vendorUrl": "https://www.head-fi.org/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?head-fi\\.org/"
6
+ },
7
+ "prehideSelectors": [".notices--bottom_fixer .js-notice[data-notice-id=\"1\"]"],
8
+ "detectCmp": [
9
+ {
10
+ "exists": ".notices--bottom_fixer .js-notice[data-notice-id=\"1\"] .js-noticeDismiss"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": ".notices--bottom_fixer .js-notice[data-notice-id=\"1\"]"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": ".notices--bottom_fixer .js-notice[data-notice-id=\"1\"] .js-noticeDismiss"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": ".notices--bottom_fixer .js-notice[data-notice-id=\"1\"] .js-noticeDismiss"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "waitForVisible": ".notices--bottom_fixer .js-notice[data-notice-id=\"1\"]",
31
+ "timeout": 1000,
32
+ "check": "none"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "istore.co.za",
3
+ "vendorUrl": "https://www.istore.co.za/",
4
+ "cosmetic": true,
5
+ "minimumRuleStepVersion": 2,
6
+ "runContext": {
7
+ "urlPattern": "^https?://(www\\.)?istore(preowned)?\\.co\\.za/"
8
+ },
9
+ "prehideSelectors": ["#notice-cookie-block"],
10
+ "detectCmp": [{ "exists": "#notice-cookie-block" }],
11
+ "detectPopup": [{ "visible": "#notice-cookie-block" }],
12
+ "optIn": [{ "waitForThenClick": "#btn-cookie-allow" }],
13
+ "optOut": [
14
+ { "hide": "#notice-cookie-block" },
15
+ { "hide": ".header-slideout-overlay-cookie", "optional": true },
16
+ { "removeClass": "no-scroll", "selector": "body", "optional": true }
17
+ ]
18
+ }