@duckduckgo/autoconsent 17.0.0 → 17.1.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 (115) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/addon-firefox/compact-rules.json +1 -1
  3. package/dist/addon-firefox/content.bundle.js +15 -3
  4. package/dist/addon-firefox/manifest.json +1 -1
  5. package/dist/addon-firefox/rule-index.json +1 -1
  6. package/dist/addon-firefox/rules.json +1 -1
  7. package/dist/addon-mv3/compact-rules.json +1 -1
  8. package/dist/addon-mv3/content.bundle.js +15 -3
  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.cjs.js +15 -3
  13. package/dist/autoconsent.esm.js +15 -3
  14. package/dist/autoconsent.playwright.js +15 -3
  15. package/dist/autoconsent.standalone.js +16 -4
  16. package/dist/heuristics.cjs.js +15 -3
  17. package/dist/heuristics.mjs +15 -3
  18. package/lib/heuristic-patterns.ts +18 -2
  19. package/package.json +1 -1
  20. package/rules/autoconsent/1pmobile.json +44 -0
  21. package/rules/autoconsent/amasty-gdpr-hyva.json +131 -0
  22. package/rules/autoconsent/amazonforum.json +86 -0
  23. package/rules/autoconsent/babylist.json +23 -0
  24. package/rules/autoconsent/babylonbee.json +36 -0
  25. package/rules/autoconsent/bathnes-cookie-banner.json +31 -0
  26. package/rules/autoconsent/chairish.json +17 -0
  27. package/rules/autoconsent/chemicalbook.json +13 -0
  28. package/rules/autoconsent/chimnie-co-uk.json +21 -0
  29. package/rules/autoconsent/complianz-optin.json +5 -3
  30. package/rules/autoconsent/cookie-pref-form.json +48 -0
  31. package/rules/autoconsent/endeavorhealth.json +31 -0
  32. package/rules/autoconsent/ensighten.json +3 -3
  33. package/rules/autoconsent/fepblue-org.json +13 -0
  34. package/rules/autoconsent/fpl-com.json +34 -0
  35. package/rules/autoconsent/fuqer.json +11 -0
  36. package/rules/autoconsent/greatschools.json +13 -0
  37. package/rules/autoconsent/hamradio-com.json +13 -0
  38. package/rules/autoconsent/hubspot.json +7 -1
  39. package/rules/autoconsent/ibkr.json +16 -0
  40. package/rules/autoconsent/jetpens.json +44 -0
  41. package/rules/autoconsent/kanopy.json +88 -0
  42. package/rules/autoconsent/mainlinemenswear.json +39 -0
  43. package/rules/autoconsent/money-co-uk.json +21 -0
  44. package/rules/autoconsent/myjobquote.json +19 -0
  45. package/rules/autoconsent/northwell-edu.json +29 -0
  46. package/rules/autoconsent/nts-org-uk.json +20 -0
  47. package/rules/autoconsent/nyu-langone.json +30 -0
  48. package/rules/autoconsent/ofsted-reports-cosmetic.json +13 -0
  49. package/rules/autoconsent/optum-legal-banner.json +10 -0
  50. package/rules/autoconsent/optum.json +35 -0
  51. package/rules/autoconsent/planned-parenthood.json +17 -0
  52. package/rules/autoconsent/pornhub-compact-cookie-banner.json +1 -1
  53. package/rules/autoconsent/pornhub.json +1 -1
  54. package/rules/autoconsent/reviewsolicitors.json +41 -0
  55. package/rules/autoconsent/ring.json +1 -1
  56. package/rules/autoconsent/sankei-digital.json +37 -0
  57. package/rules/autoconsent/texas-gov.json +22 -0
  58. package/rules/autoconsent/tiresize.com.json +17 -0
  59. package/rules/autoconsent/trillian.json +10 -0
  60. package/rules/autoconsent/tyreseeker.json +44 -0
  61. package/rules/autoconsent/uhcprovider.json +13 -0
  62. package/rules/autoconsent/united-online.json +66 -0
  63. package/rules/autoconsent/unitedutilities.json +52 -0
  64. package/rules/autoconsent/uttings.co.uk.json +22 -0
  65. package/rules/autoconsent/watchfinder.json +16 -0
  66. package/rules/compact-rules.json +1 -1
  67. package/rules/rule-index.json +1 -1
  68. package/rules/rules.json +1 -1
  69. package/tests/1pmobile.spec.ts +5 -0
  70. package/tests/amasty-gdpr-hyva.spec.ts +17 -0
  71. package/tests/amazonforum.spec.ts +9 -0
  72. package/tests/babylist.spec.ts +3 -0
  73. package/tests/babylonbee.spec.ts +6 -0
  74. package/tests/bathnes-cookie-banner.spec.ts +3 -0
  75. package/tests/chairish.spec.ts +3 -0
  76. package/tests/chemicalbook.spec.ts +5 -0
  77. package/tests/chimnie-co-uk.spec.ts +3 -0
  78. package/tests/complianz-optin.spec.ts +2 -0
  79. package/tests/cookie-pref-form.spec.ts +8 -0
  80. package/tests/endeavorhealth.spec.ts +3 -0
  81. package/tests/ensighten.spec.ts +7 -1
  82. package/tests/fepblue-org.spec.ts +3 -0
  83. package/tests/fpl-com.spec.ts +3 -0
  84. package/tests/fuqer.spec.ts +3 -0
  85. package/tests/greatschools.spec.ts +3 -0
  86. package/tests/hamradio-com.spec.ts +3 -0
  87. package/tests/hubspot.spec.ts +6 -1
  88. package/tests/ibkr.spec.ts +18 -0
  89. package/tests/jetpens.spec.ts +5 -0
  90. package/tests/kanopy.spec.ts +5 -0
  91. package/tests/mainlinemenswear.spec.ts +3 -0
  92. package/tests/money-co-uk.spec.ts +3 -0
  93. package/tests/myjobquote.spec.ts +5 -0
  94. package/tests/northwell-edu.spec.ts +3 -0
  95. package/tests/nts-org-uk.spec.ts +3 -0
  96. package/tests/nyu-langone.spec.ts +3 -0
  97. package/tests/ofsted-reports-cosmetic.spec.ts +3 -0
  98. package/tests/optum-legal-banner.spec.ts +9 -0
  99. package/tests/optum.spec.ts +6 -0
  100. package/tests/planned-parenthood.spec.ts +3 -0
  101. package/tests/pornhub.spec.ts +1 -1
  102. package/tests/reviewsolicitors.spec.ts +3 -0
  103. package/tests/sankei-digital.spec.ts +9 -0
  104. package/tests/texas-gov.spec.ts +3 -0
  105. package/tests/tiresize.com.spec.ts +3 -0
  106. package/tests/trillian.spec.ts +15 -0
  107. package/tests/tyreseeker.spec.ts +3 -0
  108. package/tests/uhcprovider.spec.ts +3 -0
  109. package/tests/united-online.spec.ts +4 -0
  110. package/tests/unitedutilities.spec.ts +11 -0
  111. package/tests/uttings.co.uk.spec.ts +3 -0
  112. package/tests/watchfinder.spec.ts +3 -0
  113. package/tests-wtr/heuristics/heuristics-utils.test.ts +34 -4
  114. package/rules/generated/auto_US_interactivebrokers.com_0.json +0 -28
  115. package/tests/generated/auto_US_interactivebrokers.com_0.spec.ts +0 -3
@@ -46,8 +46,8 @@ var DETECT_PATTERNS = [
46
46
  // "only necessary" is probably too broad
47
47
  /(?:by continuing.{0,100}cookie)|(?:cookie.{0,100}by continuing)/gi,
48
48
  /(?:by continuing.{0,100}privacy)|(?:privacy.{0,100}by continuing)/gi,
49
- // a single qualifier is common: "optional", "essential", "necessary", "analytics", ...
50
- /we (?:use|serve)(?: \w+)? cookies/gi,
49
+ // up to two qualifiers are common: "optional", "essential", "analytics", "google analytics", "third party", ...
50
+ /we (?:use|serve)(?: \w+){0,2} cookies/gi,
51
51
  /we are using cookies/gi,
52
52
  /use of cookies/gi,
53
53
  /website uses cookies to enhance your browsing experience/gi,
@@ -204,7 +204,10 @@ var DETECT_PATTERNS = [
204
204
  /(?:cookie|クッキー).{0,10}を(?:使用|利用)/gi,
205
205
  // Danish (DA)
206
206
  // e.g. "vi bruger cookies", "hjemmesiden bruger cookies til at ..."
207
- /bruger cookies/gi
207
+ /bruger cookies/gi,
208
+ // Norwegian (NO)
209
+ // e.g. "vi bruker informasjonskapsler", "kan vi bruke valgfrie informasjonskapsler", "nettstedet bruker cookies"
210
+ /\b(?:vi|nettstedet|nettsiden|siden)\s+bruker?\s.{0,60}?(?:informasjonskapsler|cookies)/gi
208
211
  ];
209
212
  var REJECT_PATTERNS_ENGLISH = [
210
213
  // e.g. "reject", "reject all", "reject all cookies", "deny all", "refuse cookies", "decline",
@@ -346,6 +349,14 @@ var REJECT_PATTERNS_DANISH = [
346
349
  // "nej tak" (no thanks)
347
350
  /^nej(,?\s+tak)?$/is
348
351
  ];
352
+ var REJECT_PATTERNS_NORWEGIAN = [
353
+ // avvis / avslå (reject verbs)
354
+ /(^|\s)(avvis|avslå)/is,
355
+ // (accept/allow/use) only necessary cookies
356
+ /^(godta\s+|tillat\s+|aksepter\s+|bruk\s+)?(kun|bare)\s+(strengt\s+)?nødvendige( (informasjonskapsler|cookies))?$/is,
357
+ // "nei" / "nei takk" (no thanks)
358
+ /^nei(,?\s+takk)?$/is
359
+ ];
349
360
  var REJECT_PATTERNS_CATALAN = [
350
361
  /(^|\s)rebutj/is,
351
362
  "no accepto",
@@ -401,6 +412,7 @@ var REJECT_PATTERNS = [
401
412
  ...REJECT_PATTERNS_SPANISH,
402
413
  ...REJECT_PATTERNS_SWEDISH,
403
414
  ...REJECT_PATTERNS_DANISH,
415
+ ...REJECT_PATTERNS_NORWEGIAN,
404
416
  ...REJECT_PATTERNS_CATALAN,
405
417
  ...REJECT_PATTERNS_GALICIAN,
406
418
  ...REJECT_PATTERNS_BASQUE,
@@ -7,8 +7,8 @@ var DETECT_PATTERNS = [
7
7
  // "only necessary" is probably too broad
8
8
  /(?:by continuing.{0,100}cookie)|(?:cookie.{0,100}by continuing)/gi,
9
9
  /(?:by continuing.{0,100}privacy)|(?:privacy.{0,100}by continuing)/gi,
10
- // a single qualifier is common: "optional", "essential", "necessary", "analytics", ...
11
- /we (?:use|serve)(?: \w+)? cookies/gi,
10
+ // up to two qualifiers are common: "optional", "essential", "analytics", "google analytics", "third party", ...
11
+ /we (?:use|serve)(?: \w+){0,2} cookies/gi,
12
12
  /we are using cookies/gi,
13
13
  /use of cookies/gi,
14
14
  /website uses cookies to enhance your browsing experience/gi,
@@ -165,7 +165,10 @@ var DETECT_PATTERNS = [
165
165
  /(?:cookie|クッキー).{0,10}を(?:使用|利用)/gi,
166
166
  // Danish (DA)
167
167
  // e.g. "vi bruger cookies", "hjemmesiden bruger cookies til at ..."
168
- /bruger cookies/gi
168
+ /bruger cookies/gi,
169
+ // Norwegian (NO)
170
+ // e.g. "vi bruker informasjonskapsler", "kan vi bruke valgfrie informasjonskapsler", "nettstedet bruker cookies"
171
+ /\b(?:vi|nettstedet|nettsiden|siden)\s+bruker?\s.{0,60}?(?:informasjonskapsler|cookies)/gi
169
172
  ];
170
173
  var REJECT_PATTERNS_ENGLISH = [
171
174
  // e.g. "reject", "reject all", "reject all cookies", "deny all", "refuse cookies", "decline",
@@ -307,6 +310,14 @@ var REJECT_PATTERNS_DANISH = [
307
310
  // "nej tak" (no thanks)
308
311
  /^nej(,?\s+tak)?$/is
309
312
  ];
313
+ var REJECT_PATTERNS_NORWEGIAN = [
314
+ // avvis / avslå (reject verbs)
315
+ /(^|\s)(avvis|avslå)/is,
316
+ // (accept/allow/use) only necessary cookies
317
+ /^(godta\s+|tillat\s+|aksepter\s+|bruk\s+)?(kun|bare)\s+(strengt\s+)?nødvendige( (informasjonskapsler|cookies))?$/is,
318
+ // "nei" / "nei takk" (no thanks)
319
+ /^nei(,?\s+takk)?$/is
320
+ ];
310
321
  var REJECT_PATTERNS_CATALAN = [
311
322
  /(^|\s)rebutj/is,
312
323
  "no accepto",
@@ -362,6 +373,7 @@ var REJECT_PATTERNS = [
362
373
  ...REJECT_PATTERNS_SPANISH,
363
374
  ...REJECT_PATTERNS_SWEDISH,
364
375
  ...REJECT_PATTERNS_DANISH,
376
+ ...REJECT_PATTERNS_NORWEGIAN,
365
377
  ...REJECT_PATTERNS_CATALAN,
366
378
  ...REJECT_PATTERNS_GALICIAN,
367
379
  ...REJECT_PATTERNS_BASQUE,
@@ -7,8 +7,8 @@ export const DETECT_PATTERNS = [
7
7
  /only necessary cookies/gi, // "only necessary" is probably too broad
8
8
  /(?:by continuing.{0,100}cookie)|(?:cookie.{0,100}by continuing)/gi,
9
9
  /(?:by continuing.{0,100}privacy)|(?:privacy.{0,100}by continuing)/gi,
10
- // a single qualifier is common: "optional", "essential", "necessary", "analytics", ...
11
- /we (?:use|serve)(?: \w+)? cookies/gi,
10
+ // up to two qualifiers are common: "optional", "essential", "analytics", "google analytics", "third party", ...
11
+ /we (?:use|serve)(?: \w+){0,2} cookies/gi,
12
12
  /we are using cookies/gi,
13
13
  /use of cookies/gi,
14
14
  /website uses cookies to enhance your browsing experience/gi,
@@ -182,6 +182,10 @@ export const DETECT_PATTERNS = [
182
182
  // Danish (DA)
183
183
  // e.g. "vi bruger cookies", "hjemmesiden bruger cookies til at ..."
184
184
  /bruger cookies/gi,
185
+
186
+ // Norwegian (NO)
187
+ // e.g. "vi bruker informasjonskapsler", "kan vi bruke valgfrie informasjonskapsler", "nettstedet bruker cookies"
188
+ /\b(?:vi|nettstedet|nettsiden|siden)\s+bruker?\s.{0,60}?(?:informasjonskapsler|cookies)/gi,
185
189
  ];
186
190
 
187
191
  const REJECT_PATTERNS_ENGLISH = [
@@ -373,6 +377,17 @@ const REJECT_PATTERNS_DANISH = [
373
377
  /^nej(,?\s+tak)?$/is,
374
378
  ];
375
379
 
380
+ const REJECT_PATTERNS_NORWEGIAN = [
381
+ // avvis / avslå (reject verbs)
382
+ /(^|\s)(avvis|avslå)/is,
383
+
384
+ // (accept/allow/use) only necessary cookies
385
+ /^(godta\s+|tillat\s+|aksepter\s+|bruk\s+)?(kun|bare)\s+(strengt\s+)?nødvendige( (informasjonskapsler|cookies))?$/is,
386
+
387
+ // "nei" / "nei takk" (no thanks)
388
+ /^nei(,?\s+takk)?$/is,
389
+ ];
390
+
376
391
  const REJECT_PATTERNS_CATALAN = [
377
392
  /(^|\s)rebutj/is,
378
393
  'no accepto',
@@ -449,6 +464,7 @@ export const REJECT_PATTERNS = [
449
464
  ...REJECT_PATTERNS_SPANISH,
450
465
  ...REJECT_PATTERNS_SWEDISH,
451
466
  ...REJECT_PATTERNS_DANISH,
467
+ ...REJECT_PATTERNS_NORWEGIAN,
452
468
  ...REJECT_PATTERNS_CATALAN,
453
469
  ...REJECT_PATTERNS_GALICIAN,
454
470
  ...REJECT_PATTERNS_BASQUE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "17.0.0",
3
+ "version": "17.1.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "1pmobile.com",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(\\w+\\.)?1pmobile\\.com/"
5
+ },
6
+ "prehideSelectors": [".cookie-disclaimer"],
7
+ "detectCmp": [
8
+ {
9
+ "exists": ".cookie-disclaimer a[href*='cprefs=change'], #myModal #cookieprefs"
10
+ }
11
+ ],
12
+ "detectPopup": [
13
+ {
14
+ "visible": ".cookie-disclaimer, #myModal #cookieprefs"
15
+ }
16
+ ],
17
+ "optIn": [
18
+ {
19
+ "waitForThenClick": ".cookie-disclaimer a[href*='cprefs=agree'], #myModal #cookieprefs a[href*='cprefs=agree']"
20
+ }
21
+ ],
22
+ "optOut": [
23
+ {
24
+ "if": {
25
+ "exists": "#myModal #cookieprefs"
26
+ },
27
+ "then": [
28
+ {
29
+ "click": "#cookieprefs input[type=checkbox]:checked",
30
+ "all": true,
31
+ "optional": true
32
+ },
33
+ {
34
+ "waitForThenClick": "#cookieprefs input[type=submit]"
35
+ }
36
+ ],
37
+ "else": [
38
+ {
39
+ "waitForThenClick": ".cookie-disclaimer a[href*='cprefs=change']"
40
+ }
41
+ ]
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,131 @@
1
+ {
2
+ "name": "amasty-gdpr-hyva",
3
+ "vendorUrl": "https://amasty.com/gdpr-for-magento-2.html",
4
+ "cosmetic": false,
5
+ "prehideSelectors": [],
6
+ "detectCmp": [
7
+ {
8
+ "exists": "#am-cookie-bar [x-ref=\"am-cookie-bar\"]"
9
+ }
10
+ ],
11
+ "detectPopup": [
12
+ {
13
+ "visible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])"
14
+ },
15
+ {
16
+ "exists": "#am-cookie-bar[style*=\"translateY(100%)\"]",
17
+ "negated": true
18
+ }
19
+ ],
20
+ "optIn": [
21
+ {
22
+ "waitForThenClick": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-allow\"], .ambar-btn-accept)"
23
+ }
24
+ ],
25
+ "optOut": [
26
+ {
27
+ "waitForVisible": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])",
28
+ "check": "none",
29
+ "timeout": 5000
30
+ },
31
+ {
32
+ "if": {
33
+ "exists": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-accept\"], .ambar-btn-decline)"
34
+ },
35
+ "then": [
36
+ {
37
+ "waitForThenClick": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-accept\"], .ambar-btn-decline)"
38
+ },
39
+ {
40
+ "waitForVisible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])",
41
+ "check": "none",
42
+ "timeout": 3000,
43
+ "optional": true
44
+ },
45
+ {
46
+ "if": {
47
+ "visible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])"
48
+ },
49
+ "then": [
50
+ {
51
+ "click": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-accept\"], .ambar-btn-decline)"
52
+ }
53
+ ]
54
+ }
55
+ ],
56
+ "else": [
57
+ {
58
+ "waitForThenClick": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-settings\"], .ambar-btn-settings)"
59
+ },
60
+ {
61
+ "waitForVisible": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])",
62
+ "timeout": 2000,
63
+ "optional": true
64
+ },
65
+ {
66
+ "if": {
67
+ "visible": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])"
68
+ },
69
+ "then": [],
70
+ "else": [
71
+ {
72
+ "click": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is([data-dispatch-action=\"cookiebar-action-settings\"], .ambar-btn-settings)"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "waitForVisible": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])"
78
+ },
79
+ {
80
+ "waitForVisible": "[x-ref=\"am-cookie-bar-settings\"] input[type=\"checkbox\"]",
81
+ "timeout": 5000
82
+ },
83
+ {
84
+ "click": "[x-ref=\"am-cookie-bar-settings\"] input[type=\"checkbox\"]:checked:not([disabled])",
85
+ "all": true,
86
+ "optional": true
87
+ },
88
+ {
89
+ "waitForThenClick": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])"
90
+ },
91
+ {
92
+ "waitForVisible": "[x-ref=\"am-cookie-bar-settings\"] :is([x-ref=\"ambar-settings-done\"], button[\\@click*=\"cookiebar-action-accept\"])",
93
+ "check": "none",
94
+ "timeout": 10000,
95
+ "optional": true
96
+ },
97
+ {
98
+ "waitForVisible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])",
99
+ "check": "none",
100
+ "timeout": 1000,
101
+ "optional": true
102
+ },
103
+ {
104
+ "if": {
105
+ "visible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])"
106
+ },
107
+ "then": [
108
+ {
109
+ "click": "#am-cookie-bar [x-ref=\"am-cookie-bar\"] :is(button[\\@click=\"closeCookieBarHandler\"], button[\\@click*=\"close-cookie-bar\"])",
110
+ "optional": true
111
+ }
112
+ ]
113
+ }
114
+ ]
115
+ }
116
+ ],
117
+ "test": [
118
+ {
119
+ "any": [
120
+ {
121
+ "exists": "#am-cookie-bar[style*=\"translateY(100%)\"]"
122
+ },
123
+ {
124
+ "waitForVisible": "#am-cookie-bar > :is([data-dialog-ref-name=\"am-cookie-bar\"], [x-bind^=\"overlay\"])",
125
+ "check": "none",
126
+ "timeout": 5000
127
+ }
128
+ ]
129
+ }
130
+ ]
131
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "name": "amazonforum",
3
+ "vendorUrl": "https://www.amazonforum.com/",
4
+ "comment": "Custom Salesforce LWC banner with only Accept all / Customise; opt-out unticks the pre-checked toggles and saves (the save button is mislabelled \"Alle akzeptieren\" on the German site, but it only saves the toggle state).",
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": false,
8
+ "urlPattern": "^https?://(\\w+\\.)?amazonforum\\.com/"
9
+ },
10
+ "prehideSelectors": [],
11
+ "detectCmp": [{ "exists": ["c-cookie-consent", ".cookiecon-footer-container-fixed button.cookie_reject_btn"] }],
12
+ "detectPopup": [{ "visible": ["c-cookie-consent", ".cookiecon-footer-container-fixed"] }],
13
+ "optIn": [{ "waitForThenClick": ["c-cookie-consent", ".cookiecon-footer-container-fixed button.cookie_accept_btn"] }],
14
+ "optOut": [
15
+ { "waitForThenClick": ["c-cookie-consent", ".cookiecon-footer-container-fixed button.cookie_reject_btn"] },
16
+ { "waitFor": ["c-cookie-consent", "section.azCookieCustomise li lightning-input", "lightning-primitive-input-toggle", "input"] },
17
+ {
18
+ "if": {
19
+ "exists": [
20
+ "c-cookie-consent",
21
+ "section.azCookieCustomise li:nth-child(1) lightning-input",
22
+ "lightning-primitive-input-toggle",
23
+ "input:checked"
24
+ ]
25
+ },
26
+ "then": [
27
+ {
28
+ "click": [
29
+ "c-cookie-consent",
30
+ "section.azCookieCustomise li:nth-child(1) lightning-input",
31
+ "lightning-primitive-input-toggle",
32
+ "input:checked"
33
+ ]
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ "if": {
39
+ "exists": [
40
+ "c-cookie-consent",
41
+ "section.azCookieCustomise li:nth-child(2) lightning-input",
42
+ "lightning-primitive-input-toggle",
43
+ "input:checked"
44
+ ]
45
+ },
46
+ "then": [
47
+ {
48
+ "click": [
49
+ "c-cookie-consent",
50
+ "section.azCookieCustomise li:nth-child(2) lightning-input",
51
+ "lightning-primitive-input-toggle",
52
+ "input:checked"
53
+ ]
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "if": {
59
+ "exists": [
60
+ "c-cookie-consent",
61
+ "section.azCookieCustomise li:nth-child(3) lightning-input",
62
+ "lightning-primitive-input-toggle",
63
+ "input:checked"
64
+ ]
65
+ },
66
+ "then": [
67
+ {
68
+ "click": [
69
+ "c-cookie-consent",
70
+ "section.azCookieCustomise li:nth-child(3) lightning-input",
71
+ "lightning-primitive-input-toggle",
72
+ "input:checked"
73
+ ]
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "click": [
79
+ "c-cookie-consent",
80
+ "section.azCookieCustomise footer .cookiecon-desktop-section lightning-button.focusStyleButton",
81
+ "button"
82
+ ]
83
+ }
84
+ ],
85
+ "test": [{ "waitForVisible": ["c-cookie-consent", ".cookiecon-footer-container-fixed"], "timeout": 2000, "check": "none" }]
86
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "babylist",
3
+ "vendorUrl": "https://www.babylist.com/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?babylist\\.com/"
6
+ },
7
+ "prehideSelectors": ["[data-react-class=\"CookieNotice\"]", ".cc-window[aria-describedby=\"cookieconsent:desc\"]"],
8
+ "detectCmp": [{ "exists": "[data-react-class=\"CookieNotice\"]" }],
9
+ "detectPopup": [{ "visible": "[data-react-class=\"CookieNotice\"] button" }],
10
+ "optIn": [
11
+ { "waitForThenClick": "[data-react-class=\"CookieNotice\"] button" },
12
+ { "waitForThenClick": ".cc-window[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss", "timeout": 2000, "optional": true }
13
+ ],
14
+ "optOut": [
15
+ { "waitForThenClick": "[data-react-class=\"CookieNotice\"] button" },
16
+ {
17
+ "comment": "notice-only cookieconsent bar shown on top in some regions, initialised on window load",
18
+ "waitForThenClick": ".cc-window[aria-describedby=\"cookieconsent:desc\"] .cc-dismiss",
19
+ "timeout": 2000,
20
+ "optional": true
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "babylonbee",
3
+ "vendorUrl": "https://babylonbee.com/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?babylonbee\\.com/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [
9
+ {
10
+ "exists": ".cookie-notice-layout .cookie-notice-dismiss"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": ".cookie-notice-layout .cookie-notice-dismiss"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": ".cookie-notice-layout .cookie-notice-dismiss",
21
+ "retry": 3
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "waitForThenClick": ".cookie-notice-layout .cookie-notice-dismiss",
27
+ "retry": 3
28
+ }
29
+ ],
30
+ "test": [
31
+ {
32
+ "visible": ".cookie-notice-layout .cookie-notice-dismiss",
33
+ "check": "none"
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "bathnes-cookie-banner",
3
+ "prehideSelectors": ["[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner"],
4
+ "detectCmp": [
5
+ {
6
+ "exists": "[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner"
7
+ }
8
+ ],
9
+ "detectPopup": [
10
+ {
11
+ "visible": "[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner button[onclick^=\"rejectCookies\"]"
12
+ }
13
+ ],
14
+ "optIn": [
15
+ {
16
+ "waitForThenClick": "[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner button[onclick^=\"acceptCookies\"]"
17
+ }
18
+ ],
19
+ "optOut": [
20
+ {
21
+ "waitForThenClick": "[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner button[onclick^=\"rejectCookies\"]"
22
+ }
23
+ ],
24
+ "test": [
25
+ {
26
+ "waitForVisible": "[id$=\"bathnes-cookie-consent-banner\"] #cookie-banner",
27
+ "check": "none",
28
+ "timeout": 1000
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "chairish",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(www\\.)?chairish\\.com/"
5
+ },
6
+ "prehideSelectors": ["#js-cookie-banner"],
7
+ "detectCmp": [{ "exists": "#js-cookie-banner .js-cookie-settings-btn" }],
8
+ "detectPopup": [{ "visible": "#js-cookie-banner .cookie-banner-content" }],
9
+ "optIn": [{ "waitForThenClick": "#js-cookie-banner .js-ok-btn" }],
10
+ "optOut": [
11
+ { "waitForThenClick": "#js-cookie-banner .js-cookie-settings-btn" },
12
+ { "waitForVisible": "#js-cookie-banner-modal .cookie-settings" },
13
+ { "click": "#js-cookie-banner-modal .js-cookie-setting-switch.btn-toggle-on", "all": true, "optional": true },
14
+ { "waitForThenClick": "#js-cookie-banner-modal .js-done-btn" }
15
+ ],
16
+ "test": [{ "cookieContains": "rac=1" }]
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "chemicalbook",
3
+ "vendorUrl": "https://www.chemicalbook.com/",
4
+ "cosmetic": true,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(\\w+\\.)?chemicalbook\\.com/"
7
+ },
8
+ "prehideSelectors": ["#usecookie"],
9
+ "detectCmp": [{ "exists": "#usecookie #usercookie_close" }],
10
+ "detectPopup": [{ "visible": "#usecookie" }],
11
+ "optIn": [{ "waitForThenClick": "#usecookie #continue" }],
12
+ "optOut": [{ "hide": "#usecookie" }]
13
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "chimnie-co-uk",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(\\w+\\.)?chimnie\\.co\\.uk/"
5
+ },
6
+ "prehideSelectors": ["div[role=\"dialog\"][aria-label=\"Cookie settings\"]"],
7
+ "detectCmp": [{ "exists": "div[role=\"dialog\"][aria-label=\"Cookie settings\"]" }],
8
+ "detectPopup": [{ "visible": "div[role=\"dialog\"][aria-label=\"Cookie settings\"]" }],
9
+ "optIn": [
10
+ { "waitForThenClick": "xpath///div[@role=\"dialog\"][@aria-label=\"Cookie settings\"]//button[normalize-space()=\"Accept\"]" }
11
+ ],
12
+ "optOut": [
13
+ {
14
+ "waitForThenClick": "xpath///div[@role=\"dialog\"][@aria-label=\"Cookie settings\"]//button[normalize-space()=\"Cookie settings\"]"
15
+ },
16
+ {
17
+ "waitForThenClick": "xpath///div[@role=\"dialog\"][@aria-label=\"Cookie settings\"]//button[normalize-space()=\"Do not accept\"]"
18
+ }
19
+ ],
20
+ "test": [{ "waitForVisible": "div[role=\"dialog\"][aria-label=\"Cookie settings\"]", "check": "none", "timeout": 2000 }]
21
+ }
@@ -2,11 +2,12 @@
2
2
  "name": "Complianz optin",
3
3
  "prehideSelectors": [".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]"],
4
4
  "detectCmp": [{ "exists": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]" }],
5
- "detectPopup": [{ "visible": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]" }],
5
+ "detectPopup": [{ "visible": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]:not(.cc-invisible)" }],
6
6
  "optIn": [
7
7
  {
8
8
  "any": [{ "click": ".cc-accept-all" }, { "click": ".cc-allow" }, { "click": ".cc-dismiss" }]
9
- }
9
+ },
10
+ { "hide": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"].cc-invisible", "optional": true }
10
11
  ],
11
12
  "optOut": [
12
13
  {
@@ -34,6 +35,7 @@
34
35
  ]
35
36
  }
36
37
  ]
37
- }
38
+ },
39
+ { "hide": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"].cc-invisible", "optional": true }
38
40
  ]
39
41
  }
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "cookie-pref-form",
3
+ "prehideSelectors": ["form.cookie-pref-form .cookie-bar"],
4
+ "detectCmp": [
5
+ {
6
+ "exists": "form.cookie-pref-form .cookie-bar .cookie-bar--action"
7
+ }
8
+ ],
9
+ "detectPopup": [
10
+ {
11
+ "visible": "form.cookie-pref-form .cookie-bar"
12
+ }
13
+ ],
14
+ "optIn": [
15
+ {
16
+ "waitForThenClick": "form.cookie-pref-form .cookie-bar .cookie-bar--submit"
17
+ }
18
+ ],
19
+ "optOut": [
20
+ {
21
+ "if": {
22
+ "exists": "form.cookie-pref-form .cookie-bar .cookie-bar--reject"
23
+ },
24
+ "then": [
25
+ {
26
+ "waitForThenClick": "form.cookie-pref-form .cookie-bar .cookie-bar--reject"
27
+ }
28
+ ],
29
+ "else": [
30
+ {
31
+ "waitForThenClick": "form.cookie-pref-form .show-cookie-pref"
32
+ },
33
+ {
34
+ "waitForVisible": "form.cookie-pref-form .cookie-pref-save"
35
+ },
36
+ {
37
+ "click": "form.cookie-pref-form .cookie-pref-overlay input[type=checkbox]:checked:not(:disabled)",
38
+ "all": true,
39
+ "optional": true
40
+ },
41
+ {
42
+ "waitForThenClick": "form.cookie-pref-form .cookie-pref-save"
43
+ }
44
+ ]
45
+ }
46
+ ],
47
+ "test": []
48
+ }