@duckduckgo/autoconsent 16.63.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 (180) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/addon-firefox/background.bundle.js +1 -0
  3. package/dist/addon-firefox/compact-rules.json +1 -1
  4. package/dist/addon-firefox/content.bundle.js +177 -38
  5. package/dist/addon-firefox/manifest.json +1 -1
  6. package/dist/addon-firefox/popup.bundle.js +1 -0
  7. package/dist/addon-firefox/rule-index.json +1 -1
  8. package/dist/addon-firefox/rules.json +1 -1
  9. package/dist/addon-mv3/background.bundle.js +1 -0
  10. package/dist/addon-mv3/compact-rules.json +1 -1
  11. package/dist/addon-mv3/content.bundle.js +177 -38
  12. package/dist/addon-mv3/manifest.json +1 -1
  13. package/dist/addon-mv3/popup.bundle.js +1 -0
  14. package/dist/addon-mv3/rule-index.json +1 -1
  15. package/dist/addon-mv3/rules.json +1 -1
  16. package/dist/autoconsent.cjs.js +177 -38
  17. package/dist/autoconsent.esm.js +177 -38
  18. package/dist/autoconsent.playwright.js +180 -38
  19. package/dist/autoconsent.standalone.js +178 -39
  20. package/dist/heuristics.cjs.js +15 -3
  21. package/dist/heuristics.mjs +15 -3
  22. package/dist/types/heuristics.d.ts +12 -3
  23. package/dist/types/types.d.ts +12 -1
  24. package/lib/cmps/base.ts +5 -1
  25. package/lib/heuristic-patterns.ts +18 -2
  26. package/lib/heuristics.ts +240 -45
  27. package/lib/types.ts +16 -1
  28. package/lib/utils.ts +1 -0
  29. package/package.json +1 -1
  30. package/readme.md +1 -1
  31. package/rules/autoconsent/1pmobile.json +44 -0
  32. package/rules/autoconsent/amasty-gdpr-hyva.json +131 -0
  33. package/rules/autoconsent/amazonforum.json +86 -0
  34. package/rules/autoconsent/asrock.json +44 -0
  35. package/rules/autoconsent/babylist.json +23 -0
  36. package/rules/autoconsent/babylonbee.json +36 -0
  37. package/rules/autoconsent/bathnes-cookie-banner.json +31 -0
  38. package/rules/autoconsent/chairish.json +17 -0
  39. package/rules/autoconsent/chemicalbook.json +13 -0
  40. package/rules/autoconsent/chimnie-co-uk.json +21 -0
  41. package/rules/autoconsent/complianz-optin.json +5 -3
  42. package/rules/autoconsent/consentmo.json +5 -2
  43. package/rules/autoconsent/cookie-pref-form.json +48 -0
  44. package/rules/autoconsent/cookie-script.json +34 -15
  45. package/rules/autoconsent/endeavorhealth.json +31 -0
  46. package/rules/autoconsent/ensighten.json +3 -3
  47. package/rules/autoconsent/epaas.json +18 -1
  48. package/rules/autoconsent/fepblue-org.json +13 -0
  49. package/rules/autoconsent/fnsp-cookieconsent.json +30 -0
  50. package/rules/autoconsent/fod-fujitv.json +13 -0
  51. package/rules/autoconsent/fpl-com.json +34 -0
  52. package/rules/autoconsent/fuqer.json +11 -0
  53. package/rules/autoconsent/greatschools.json +13 -0
  54. package/rules/autoconsent/hamradio-com.json +13 -0
  55. package/rules/autoconsent/hkdir.json +33 -0
  56. package/rules/autoconsent/hubspot.json +7 -1
  57. package/rules/autoconsent/ibkr.json +16 -0
  58. package/rules/autoconsent/jetpens.json +44 -0
  59. package/rules/autoconsent/jokul-cookie-consent.json +28 -0
  60. package/rules/autoconsent/kanopy.json +88 -0
  61. package/rules/autoconsent/lego.json +27 -5
  62. package/rules/autoconsent/mainlinemenswear.json +39 -0
  63. package/rules/autoconsent/mars-cookies-prompt.json +20 -0
  64. package/rules/autoconsent/money-co-uk.json +21 -0
  65. package/rules/autoconsent/myjobquote.json +19 -0
  66. package/rules/autoconsent/niedziela-pl.json +35 -0
  67. package/rules/autoconsent/nikkeibp.json +10 -0
  68. package/rules/autoconsent/northwell-edu.json +29 -0
  69. package/rules/autoconsent/nts-org-uk.json +20 -0
  70. package/rules/autoconsent/nyu-langone.json +30 -0
  71. package/rules/autoconsent/ofsted-reports-cosmetic.json +13 -0
  72. package/rules/autoconsent/onecom-cookie-banner.json +25 -0
  73. package/rules/autoconsent/optum-legal-banner.json +10 -0
  74. package/rules/autoconsent/optum.json +35 -0
  75. package/rules/autoconsent/oslosportslager.no.json +34 -0
  76. package/rules/autoconsent/planned-parenthood.json +17 -0
  77. package/rules/autoconsent/plex.tv.json +52 -0
  78. package/rules/autoconsent/pornhub-compact-cookie-banner.json +1 -1
  79. package/rules/autoconsent/pornhub.json +1 -1
  80. package/rules/autoconsent/radio-canada.json +28 -0
  81. package/rules/autoconsent/regjeringen.no.json +13 -0
  82. package/rules/autoconsent/reviewsolicitors.json +41 -0
  83. package/rules/autoconsent/ring.json +1 -1
  84. package/rules/autoconsent/roll20.json +50 -0
  85. package/rules/autoconsent/sankei-digital.json +37 -0
  86. package/rules/autoconsent/sirdata.json +8 -3
  87. package/rules/autoconsent/site-notifications-cookie-usage.json +25 -0
  88. package/rules/autoconsent/sparebank1-optin.json +10 -0
  89. package/rules/autoconsent/texas-gov.json +22 -0
  90. package/rules/autoconsent/tiresize.com.json +17 -0
  91. package/rules/autoconsent/tri-table.json +6 -2
  92. package/rules/autoconsent/trillian.json +10 -0
  93. package/rules/autoconsent/tyreseeker.json +44 -0
  94. package/rules/autoconsent/uhcprovider.json +13 -0
  95. package/rules/autoconsent/united-online.json +66 -0
  96. package/rules/autoconsent/unitedutilities.json +52 -0
  97. package/rules/autoconsent/uttings.co.uk.json +22 -0
  98. package/rules/autoconsent/vinnova-se.json +50 -0
  99. package/rules/autoconsent/vortex-consent.json +33 -0
  100. package/rules/autoconsent/watchfinder.json +16 -0
  101. package/rules/compact-rules.json +1 -1
  102. package/rules/rule-index.json +1 -1
  103. package/rules/rules.json +1 -1
  104. package/tests/1pmobile.spec.ts +5 -0
  105. package/tests/amasty-gdpr-hyva.spec.ts +17 -0
  106. package/tests/amazonforum.spec.ts +9 -0
  107. package/tests/asrock.spec.ts +3 -0
  108. package/tests/babylist.spec.ts +3 -0
  109. package/tests/babylonbee.spec.ts +6 -0
  110. package/tests/bathnes-cookie-banner.spec.ts +3 -0
  111. package/tests/chairish.spec.ts +3 -0
  112. package/tests/chemicalbook.spec.ts +5 -0
  113. package/tests/chimnie-co-uk.spec.ts +3 -0
  114. package/tests/complianz-optin.spec.ts +2 -0
  115. package/tests/consentmo.spec.ts +2 -0
  116. package/tests/cookie-pref-form.spec.ts +8 -0
  117. package/tests/cookie-script.spec.ts +5 -0
  118. package/tests/endeavorhealth.spec.ts +3 -0
  119. package/tests/ensighten.spec.ts +7 -1
  120. package/tests/epaas.spec.ts +3 -0
  121. package/tests/fepblue-org.spec.ts +3 -0
  122. package/tests/fnsp-cookieconsent.spec.ts +9 -0
  123. package/tests/fod-fujitv.spec.ts +3 -0
  124. package/tests/fpl-com.spec.ts +3 -0
  125. package/tests/fuqer.spec.ts +3 -0
  126. package/tests/greatschools.spec.ts +3 -0
  127. package/tests/hamradio-com.spec.ts +3 -0
  128. package/tests/hkdir.spec.ts +10 -0
  129. package/tests/hubspot.spec.ts +6 -1
  130. package/tests/ibkr.spec.ts +18 -0
  131. package/tests/jetpens.spec.ts +5 -0
  132. package/tests/jokul-cookie-consent.spec.ts +3 -0
  133. package/tests/kanopy.spec.ts +5 -0
  134. package/tests/mainlinemenswear.spec.ts +3 -0
  135. package/tests/mars-cookies-prompt.spec.ts +3 -0
  136. package/tests/money-co-uk.spec.ts +3 -0
  137. package/tests/myjobquote.spec.ts +5 -0
  138. package/tests/niedziela-pl.spec.ts +3 -0
  139. package/tests/nikkeibp.spec.ts +8 -0
  140. package/tests/northwell-edu.spec.ts +3 -0
  141. package/tests/nts-org-uk.spec.ts +3 -0
  142. package/tests/nyu-langone.spec.ts +3 -0
  143. package/tests/ofsted-reports-cosmetic.spec.ts +3 -0
  144. package/tests/onecom-cookie-banner.spec.ts +5 -0
  145. package/tests/optum-legal-banner.spec.ts +9 -0
  146. package/tests/optum.spec.ts +6 -0
  147. package/tests/oslosportslager.no.spec.ts +3 -0
  148. package/tests/planned-parenthood.spec.ts +3 -0
  149. package/tests/plex.tv.spec.ts +5 -0
  150. package/tests/pornhub.spec.ts +1 -1
  151. package/tests/radio-canada.spec.ts +15 -0
  152. package/tests/regjeringen.no.spec.ts +3 -0
  153. package/tests/reviewsolicitors.spec.ts +3 -0
  154. package/tests/roll20.spec.ts +3 -0
  155. package/tests/sankei-digital.spec.ts +9 -0
  156. package/tests/sirdata.spec.ts +13 -1
  157. package/tests/site-notifications-cookie-usage.spec.ts +3 -0
  158. package/tests/sparebank1-optin.spec.ts +8 -0
  159. package/tests/texas-gov.spec.ts +3 -0
  160. package/tests/tiresize.com.spec.ts +3 -0
  161. package/tests/tri-table.spec.ts +1 -1
  162. package/tests/trillian.spec.ts +15 -0
  163. package/tests/tyreseeker.spec.ts +3 -0
  164. package/tests/uhcprovider.spec.ts +3 -0
  165. package/tests/united-online.spec.ts +4 -0
  166. package/tests/unitedutilities.spec.ts +11 -0
  167. package/tests/uttings.co.uk.spec.ts +3 -0
  168. package/tests/vinnova-se.spec.ts +6 -0
  169. package/tests/vortex-consent.spec.ts +18 -0
  170. package/tests/watchfinder.spec.ts +3 -0
  171. package/tests-wtr/heuristics/get-actionable-popups.ts +41 -7
  172. package/tests-wtr/heuristics/get-potential-popups.test.ts +235 -4
  173. package/tests-wtr/heuristics/heuristic-cmp.ts +16 -1
  174. package/tests-wtr/heuristics/heuristics-utils.test.ts +34 -4
  175. package/rules/generated/auto_CA_plex.tv_ee4.json +0 -40
  176. package/rules/generated/auto_CA_support.plex.tv_gn3.json +0 -40
  177. package/rules/generated/auto_US_interactivebrokers.com_0.json +0 -28
  178. package/tests/generated/auto_CA_plex.tv_ee4.spec.ts +0 -2
  179. package/tests/generated/auto_CA_support.plex.tv_gn3.spec.ts +0 -6
  180. package/tests/generated/auto_US_interactivebrokers.com_0.spec.ts +0 -3
@@ -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,44 @@
1
+ {
2
+ "name": "asrock",
3
+ "vendorUrl": "https://www.asrock.com/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?asrock\\.com/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "#AcceptCookies2 #MrktConfirm"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "#AcceptCookies"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "#AcceptCookies input[onclick*=SetCookie]"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "#AcceptCookies input[onclick*=AcceptCookies2]"
26
+ },
27
+ {
28
+ "waitForVisible": "#AcceptCookies2"
29
+ },
30
+ {
31
+ "click": "#AcceptCookies2 input[type=checkbox]:checked",
32
+ "all": true,
33
+ "optional": true
34
+ },
35
+ {
36
+ "click": "#AcceptCookies2 input[onclick*=SetCookie]"
37
+ }
38
+ ],
39
+ "test": [
40
+ {
41
+ "cookieContains": "MrktConfirm=false"
42
+ }
43
+ ]
44
+ }
@@ -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
  }
@@ -55,7 +55,7 @@
55
55
  {
56
56
  "waitForVisible": [
57
57
  "csm-cookie-consent",
58
- ".csm-wrapper .cc-deny, .csm-wrapper [data-csm-button-type='accept_selected']"
58
+ ".csm-wrapper .cc-deny, .csm-wrapper [data-csm-button-type='accept_selected'], .csm-wrapper [data-preferences-csm-button-type='accept_selected']"
59
59
  ]
60
60
  },
61
61
  {
@@ -69,7 +69,10 @@
69
69
  ],
70
70
  "else": [
71
71
  {
72
- "click": ["csm-cookie-consent", ".csm-wrapper [data-csm-button-type='accept_selected']"]
72
+ "click": [
73
+ "csm-cookie-consent",
74
+ ".csm-wrapper [data-csm-button-type='accept_selected'], .csm-wrapper [data-preferences-csm-button-type='accept_selected']"
75
+ ]
73
76
  }
74
77
  ]
75
78
  }
@@ -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
+ }
@@ -9,27 +9,46 @@
9
9
  "if": { "exists": "#cookiescript_reject" },
10
10
  "then": [{ "wait": 100 }, { "click": "#cookiescript_reject" }],
11
11
  "else": [
12
- { "click": "#cookiescript_manage" },
13
- { "waitForVisible": ".cookiescript_fsd_main, #cookiescript_save", "timeout": 3000, "optional": true },
14
12
  {
15
- "if": { "exists": ".cookiescript_fsd_main" },
16
- "then": [{ "waitForThenClick": "#cookiescript_reject" }],
17
- "else": [
13
+ "if": { "exists": "#cookiescript_manage" },
14
+ "then": [
15
+ { "click": "#cookiescript_manage" },
16
+ { "waitForVisible": ".cookiescript_fsd_main, #cookiescript_save", "timeout": 3000, "optional": true },
18
17
  {
19
- "if": { "visible": "#cookiescript_save" },
20
- "then": [
18
+ "if": { "exists": ".cookiescript_fsd_main" },
19
+ "then": [{ "waitForThenClick": "#cookiescript_reject" }],
20
+ "else": [
21
21
  {
22
- "if": {
23
- "exists": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)"
24
- },
22
+ "if": { "visible": "#cookiescript_save" },
25
23
  "then": [
26
24
  {
27
- "click": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)",
28
- "all": true
29
- }
30
- ]
25
+ "if": {
26
+ "exists": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)"
27
+ },
28
+ "then": [
29
+ {
30
+ "click": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)",
31
+ "all": true
32
+ }
33
+ ]
34
+ },
35
+ { "waitForThenClick": "#cookiescript_save", "retry": 6, "retryInterval": 1000 }
36
+ ],
37
+ "else": [{ "click": "#cookiescript_close, .cookiescript_close_btn" }]
38
+ }
39
+ ]
40
+ }
41
+ ],
42
+ "else": [
43
+ {
44
+ "if": { "exists": "#cookiescript_save" },
45
+ "then": [
46
+ {
47
+ "click": "#cookiescript_injected input.cookiescript_checkbox_input:checked:not(:disabled), .cookiescript_banner_container input.cokiescript_checkbox:checked:not(:disabled)",
48
+ "all": true,
49
+ "optional": true
31
50
  },
32
- { "waitForThenClick": "#cookiescript_save", "retry": 6, "retryInterval": 1000 }
51
+ { "click": "#cookiescript_save" }
33
52
  ],
34
53
  "else": [{ "click": "#cookiescript_close, .cookiescript_close_btn" }]
35
54
  }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "endeavorhealth",
3
+ "vendorUrl": "https://www.endeavorhealth.org/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?endeavorhealth\\.org/"
6
+ },
7
+ "prehideSelectors": ["#block-eh-default-cookiebannerfixedblock"],
8
+ "detectCmp": [{ "exists": "#block-eh-default-cookiebannerfixedblock .js-cookie-alert" }],
9
+ "detectPopup": [{ "visible": "#block-eh-default-cookiebannerfixedblock .js-cookie-alert" }],
10
+ "optIn": [
11
+ {
12
+ "waitForThenClick": "#block-eh-default-cookiebannerfixedblock .js-cookie-alert .alert-close",
13
+ "retry": 2,
14
+ "retryInterval": 1000
15
+ }
16
+ ],
17
+ "optOut": [
18
+ {
19
+ "waitForThenClick": "#block-eh-default-cookiebannerfixedblock .js-cookie-alert .alert-close",
20
+ "retry": 2,
21
+ "retryInterval": 1000
22
+ }
23
+ ],
24
+ "test": [
25
+ {
26
+ "waitForVisible": "#block-eh-default-cookiebannerfixedblock .js-cookie-alert",
27
+ "check": "none",
28
+ "timeout": 2000
29
+ }
30
+ ]
31
+ }
@@ -11,7 +11,7 @@
11
11
  "any": [{ "visible": "#ensNotifyBanner[style*=block]" }, { "visible": "#ensModalWrapper[style*=block]" }]
12
12
  }
13
13
  ],
14
- "optIn": [{ "waitForThenClick": "#ensCloseBanner,#modalAcceptButton,#ensAcceptAll,#bannerAcceptButton" }],
14
+ "optIn": [{ "waitForThenClick": "#ensCloseBanner,#modalAcceptButton,#ensAcceptAll,#ensAcceptAllConsent,#bannerAcceptButton" }],
15
15
  "optOut": [
16
16
  { "wait": 500 },
17
17
  {
@@ -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,#ensNotifyBanner #btn-accept-essential-cookies",
22
+ "visible": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #ensRejectAllConsent,#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,#ensNotifyBanner #btn-accept-essential-cookies"
27
+ "waitForThenClick": "#ensNotifyBanner #ensRejectAll,#ensNotifyBanner #ensRejectAllConsent,#ensNotifyBanner #rejectAll,#ensNotifyBanner #ensRejectBanner,#ensNotifyBanner .rejectAll,#ensNotifyBanner #bannerRejectButton,#ensNotifyBanner #ensRejectAds,#ensNotifyBanner #btn-accept-essential-cookies"
28
28
  }
29
29
  ],
30
30
  "else": [
@@ -11,7 +11,24 @@
11
11
  "else": [
12
12
  { "waitForThenClick": ["epaas-consent-drawer-shell", "button.personalize-button"] },
13
13
  { "waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell"] },
14
- { "waitForThenClick": ["epaas-consent-drawer-shell", "button.save-button"] }
14
+ {
15
+ "waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label[class*='category-header__switch']"],
16
+ "optional": true
17
+ },
18
+ {
19
+ "click": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label.category-header__switch--on input"],
20
+ "all": true,
21
+ "optional": true
22
+ },
23
+ { "waitFor": ["epaas-consent-drawer-shell", "section.consentDrawer.layered button.accept-button"] },
24
+ {
25
+ "if": { "exists": ["epaas-consent-drawer-shell", "button.save-button"] },
26
+ "then": [{ "click": ["epaas-consent-drawer-shell", "button.save-button"] }],
27
+ "else": [
28
+ { "waitFor": ["epaas-consent-drawer-shell", "epaas-policy-page-shell", "label.category-header__switch--off"] },
29
+ { "click": ["epaas-consent-drawer-shell", "button.accept-button"] }
30
+ ]
31
+ }
15
32
  ]
16
33
  }
17
34
  ],