@duckduckgo/autoconsent 16.36.0 → 16.38.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 (54) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/addon-firefox/compact-rules.json +1 -1
  3. package/dist/addon-firefox/manifest.json +1 -1
  4. package/dist/addon-firefox/rule-index.json +1 -1
  5. package/dist/addon-firefox/rules.json +1 -1
  6. package/dist/addon-mv3/compact-rules.json +1 -1
  7. package/dist/addon-mv3/manifest.json +1 -1
  8. package/dist/addon-mv3/rule-index.json +1 -1
  9. package/dist/addon-mv3/rules.json +1 -1
  10. package/dist/autoconsent.standalone.js +1 -1
  11. package/package.json +1 -1
  12. package/rules/autoconsent/aquasana-com.json +2 -2
  13. package/rules/autoconsent/as-adventure.json +42 -0
  14. package/rules/autoconsent/bbc.com.json +44 -6
  15. package/rules/autoconsent/bcferries.com.json +37 -0
  16. package/rules/autoconsent/consent-flo.json +24 -0
  17. package/rules/autoconsent/cookiebot-be.json +9 -0
  18. package/rules/autoconsent/cookieyes.json +36 -8
  19. package/rules/autoconsent/drouot-rgpd.json +9 -0
  20. package/rules/autoconsent/fever-cookie-advice.json +51 -0
  21. package/rules/autoconsent/idxrcookies.json +8 -0
  22. package/rules/autoconsent/infomaniak-rgpd.json +9 -0
  23. package/rules/autoconsent/mco-consent.json +14 -0
  24. package/rules/autoconsent/mipro.com.tw.json +10 -0
  25. package/rules/autoconsent/mirasvit-gdpr.json +58 -0
  26. package/rules/autoconsent/mkdocs-material.json +30 -0
  27. package/rules/autoconsent/setupad.json +57 -0
  28. package/rules/autoconsent/socialfunders.json +8 -0
  29. package/rules/autoconsent/tlc-direct.json +18 -0
  30. package/rules/autoconsent/workday.json +30 -0
  31. package/rules/autoconsent/xe.com.json +11 -9
  32. package/rules/compact-rules.json +1 -1
  33. package/rules/rule-index.json +1 -1
  34. package/rules/rules.json +1 -1
  35. package/tests/aquasana-com.spec.ts +1 -1
  36. package/tests/as-adventure.spec.ts +10 -0
  37. package/tests/bbc.com.spec.ts +9 -1
  38. package/tests/bcferries.com.spec.ts +3 -0
  39. package/tests/consent-flo.spec.ts +5 -0
  40. package/tests/cookiebot-be.spec.ts +6 -0
  41. package/tests/cookieyes.spec.ts +3 -0
  42. package/tests/drouot-rgpd.spec.ts +8 -0
  43. package/tests/fever-cookie-advice.spec.ts +3 -0
  44. package/tests/idxrcookies.spec.ts +3 -0
  45. package/tests/infomaniak-rgpd.spec.ts +3 -0
  46. package/tests/mco-consent.spec.ts +12 -0
  47. package/tests/mipro.com.tw.spec.ts +3 -0
  48. package/tests/mirasvit-gdpr.spec.ts +18 -0
  49. package/tests/mkdocs-material.spec.ts +7 -0
  50. package/tests/setupad.spec.ts +10 -0
  51. package/tests/socialfunders.spec.ts +3 -0
  52. package/tests/tlc-direct.spec.ts +5 -0
  53. package/tests/workday.spec.ts +9 -0
  54. package/tests/xe.com.spec.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "16.36.0",
3
+ "version": "16.38.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "aquasana.com",
3
3
  "prehideSelectors": ["#consent-tracking"],
4
- "detectCmp": [{ "exists": "#consent-tracking" }],
5
- "detectPopup": [{ "exists": "#consent-tracking" }],
4
+ "detectCmp": [{ "visible": "#consent-tracking" }],
5
+ "detectPopup": [{ "visible": "#consent-tracking" }],
6
6
  "optIn": [
7
7
  {
8
8
  "waitForThenClick": "#consent-tracking .affirm.btn"
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "as-adventure",
3
+ "prehideSelectors": [
4
+ "dialog[data-testid=\"cookie-message-modal\"]",
5
+ "[data-testid=\"cookie-message-bottom-sheet\"]",
6
+ "[data-testid=\"cookie-message-bottom-sheet-overlay\"]"
7
+ ],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "dialog[data-testid=\"cookie-message-modal\"] button[data-testid=\"decline-all-cookies\"], [data-testid=\"cookie-message-bottom-sheet\"] button[data-testid=\"decline-all-cookies\"]"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "dialog[data-testid=\"cookie-message-modal\"], [data-testid=\"cookie-message-bottom-sheet\"]",
16
+ "check": "any"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": "dialog[data-testid=\"cookie-message-modal\"] button[data-testid=\"accept-all-cookies\"], [data-testid=\"cookie-message-bottom-sheet\"] button[data-testid=\"accept-all-cookies\"]",
22
+ "all": true,
23
+ "retry": 10,
24
+ "retryInterval": 500
25
+ }
26
+ ],
27
+ "optOut": [
28
+ {
29
+ "waitForThenClick": "dialog[data-testid=\"cookie-message-modal\"] button[data-testid=\"decline-all-cookies\"], [data-testid=\"cookie-message-bottom-sheet\"] button[data-testid=\"decline-all-cookies\"]",
30
+ "all": true,
31
+ "retry": 10,
32
+ "retryInterval": 500
33
+ }
34
+ ],
35
+ "test": [
36
+ {
37
+ "waitForVisible": "dialog[data-testid=\"cookie-message-modal\"], [data-testid=\"cookie-message-bottom-sheet\"]",
38
+ "timeout": 2000,
39
+ "check": "none"
40
+ }
41
+ ]
42
+ }
@@ -1,27 +1,65 @@
1
1
  {
2
2
  "name": "bbc.com",
3
3
  "runContext": {
4
- "urlPattern": "^https://(www\\.)?bbc\\.(com|co\\.uk)"
4
+ "urlPattern": "^https://(www\\.)?bbc\\.(com|co\\.uk)/"
5
5
  },
6
- "prehideSelectors": ["*[aria-labelledby=\"consent-banner-title\"]"],
6
+ "prehideSelectors": ["*[aria-labelledby=\"consent-banner-title\"]", "#bbccookies-prompt"],
7
7
  "detectCmp": [
8
8
  {
9
- "exists": "#consent-banner-title"
9
+ "any": [
10
+ {
11
+ "exists": "#consent-banner-title"
12
+ },
13
+ {
14
+ "exists": "#bbccookies-prompt"
15
+ }
16
+ ]
10
17
  }
11
18
  ],
12
19
  "detectPopup": [
13
20
  {
14
- "visible": "#consent-banner-title"
21
+ "any": [
22
+ {
23
+ "visible": "#consent-banner-title"
24
+ },
25
+ {
26
+ "visible": "#bbccookies-prompt"
27
+ }
28
+ ]
15
29
  }
16
30
  ],
17
31
  "optIn": [
18
32
  {
19
- "waitForThenClick": "button[data-testid=\"accept-button\"]"
33
+ "if": {
34
+ "exists": "#bbccookies-prompt"
35
+ },
36
+ "then": [
37
+ {
38
+ "waitForThenClick": "#bbccookies-accept-button"
39
+ }
40
+ ],
41
+ "else": [
42
+ {
43
+ "waitForThenClick": "button[data-testid=\"accept-button\"]"
44
+ }
45
+ ]
20
46
  }
21
47
  ],
22
48
  "optOut": [
23
49
  {
24
- "waitForThenClick": "button[data-testid=\"reject-button\"]"
50
+ "if": {
51
+ "exists": "#bbccookies-prompt"
52
+ },
53
+ "then": [
54
+ {
55
+ "waitForThenClick": "#bbccookies-reject-button"
56
+ }
57
+ ],
58
+ "else": [
59
+ {
60
+ "waitForThenClick": "button[data-testid=\"reject-button\"]"
61
+ }
62
+ ]
25
63
  }
26
64
  ],
27
65
  "test": [
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "bcferries.com",
3
+ "_metadata": {
4
+ "vendorUrl": "https://www.bcferries.com/"
5
+ },
6
+ "runContext": {
7
+ "urlPattern": "^https?://(\\w+\\.)?bcferries\\.com/"
8
+ },
9
+ "prehideSelectors": ["#note .cpref"],
10
+ "detectCmp": [
11
+ {
12
+ "exists": "#note .cpref #cPrefToggle"
13
+ }
14
+ ],
15
+ "detectPopup": [
16
+ {
17
+ "visible": "#note .cpref"
18
+ }
19
+ ],
20
+ "optIn": [
21
+ {
22
+ "waitForThenClick": "#cAccept"
23
+ }
24
+ ],
25
+ "optOut": [
26
+ {
27
+ "waitForThenClick": "#cPrefToggle"
28
+ },
29
+ {
30
+ "waitForThenClick": "#cPrefModal label[for=\"tab-4r\"]"
31
+ },
32
+ {
33
+ "waitForThenClick": "#cPrefSave"
34
+ }
35
+ ],
36
+ "comment": "Saving preferences triggers the site's own location.reload(), so a cookieContains self-test races with the navigation and is omitted."
37
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "consent-flo",
3
+ "prehideSelectors": ["._flo-consent-root"],
4
+ "detectCmp": [{ "exists": "._flo-consent-root ._flo-consent-modal-contextual ._flo-consent-button--accept-selected" }],
5
+ "detectPopup": [{ "visible": "._flo-consent-root ._flo-consent-modal:not(._flo-consent-modal-contextual)" }],
6
+ "optIn": [{ "waitForThenClick": "._flo-consent-modal:not(._flo-consent-modal-contextual) ._flo-consent-button--accept" }],
7
+ "optOut": [
8
+ {
9
+ "if": { "exists": "._flo-consent-modal:not(._flo-consent-modal-contextual) ._flo-consent-button--reject" },
10
+ "then": [{ "waitForThenClick": "._flo-consent-modal:not(._flo-consent-modal-contextual) ._flo-consent-button--reject" }],
11
+ "else": [
12
+ { "waitForThenClick": "._flo-consent-button--settings" },
13
+ { "waitForVisible": "._flo-consent-modal-contextual ._flo-consent-button--accept-selected" },
14
+ {
15
+ "click": "._flo-consent-modal-contextual ._flo-consent-checkbox:checked:not(._flo-consent-checkbox--necessary)",
16
+ "all": true,
17
+ "optional": true
18
+ },
19
+ { "waitForThenClick": "._flo-consent-modal-contextual ._flo-consent-button--accept-selected" }
20
+ ]
21
+ }
22
+ ],
23
+ "test": [{ "exists": "._flo-consent-root._flo-consent-hide" }]
24
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "cookiebot.be",
3
+ "prehideSelectors": ["#cbPopupWrap.cb-popup--open"],
4
+ "detectCmp": [{ "exists": "#cbPopupWrap #cbRefuseTrigger" }],
5
+ "detectPopup": [{ "visible": "#cbPopupWrap.cb-popup--open" }],
6
+ "optIn": [{ "waitForThenClick": "#cbPopupWrap #cbAcceptTrigger" }],
7
+ "optOut": [{ "waitForThenClick": "#cbPopupWrap #cbRefuseTrigger" }],
8
+ "test": [{ "cookieContains": "cbDataAccepted=1" }]
9
+ }
@@ -3,27 +3,55 @@
3
3
  "prehideSelectors": [".cky-overlay,.cky-consent-container"],
4
4
  "detectCmp": [{ "exists": ".cky-consent-container" }],
5
5
  "detectPopup": [{ "visible": ".cky-consent-container" }],
6
- "optIn": [{ "waitForThenClick": ".cky-consent-container [data-cky-tag=accept-button]" }],
6
+ "optIn": [
7
+ {
8
+ "if": { "exists": ".cky-consent-container [data-cky-tag=accept-button]" },
9
+ "then": [{ "waitForThenClick": ".cky-consent-container [data-cky-tag=accept-button]" }],
10
+ "else": [
11
+ {
12
+ "if": { "exists": ".cky-consent-container [data-cky-tag=donotsell-button]" },
13
+ "then": [{ "waitForThenClick": ".cky-consent-container [data-cky-tag=close-button]" }]
14
+ }
15
+ ]
16
+ }
17
+ ],
7
18
  "optOut": [
8
19
  {
9
20
  "if": { "exists": ".cky-consent-container [data-cky-tag=reject-button]" },
10
21
  "then": [{ "waitForThenClick": ".cky-consent-container [data-cky-tag=reject-button]" }],
11
22
  "else": [
12
23
  {
13
- "if": { "exists": ".cky-consent-container [data-cky-tag=settings-button]" },
24
+ "if": { "exists": ".cky-consent-container [data-cky-tag=donotsell-button]" },
14
25
  "then": [
15
- { "click": ".cky-consent-container [data-cky-tag=settings-button]" },
16
- { "waitFor": ".cky-modal-open input[type=checkbox],.cky-consent-bar-expand input[type=checkbox]" },
26
+ { "waitForThenClick": ".cky-consent-container [data-cky-tag=donotsell-button]" },
27
+ { "waitFor": ".cky-modal [data-cky-tag=optout-option-toggle]" },
17
28
  {
18
- "click": ".cky-modal-open input[type=checkbox]:checked,.cky-consent-bar-expand input[type=checkbox]:checked",
29
+ "click": ".cky-modal [data-cky-tag=optout-option-toggle]:not(:checked)",
19
30
  "all": true,
20
31
  "optional": true
21
32
  },
33
+ { "waitForThenClick": ".cky-modal [data-cky-tag=optout-confirm-button]" },
34
+ { "waitForVisible": ".cky-modal [data-cky-tag=optout-success]", "optional": true },
35
+ { "waitForThenClick": ".cky-modal [data-cky-tag=optout-close]", "optional": true }
36
+ ],
37
+ "else": [
22
38
  {
23
- "waitForThenClick": ".cky-modal [data-cky-tag=detail-save-button],.cky-consent-bar-expand [data-cky-tag=detail-save-button]"
39
+ "if": { "exists": ".cky-consent-container [data-cky-tag=settings-button]" },
40
+ "then": [
41
+ { "click": ".cky-consent-container [data-cky-tag=settings-button]" },
42
+ { "waitFor": ".cky-modal-open input[type=checkbox],.cky-consent-bar-expand input[type=checkbox]" },
43
+ {
44
+ "click": ".cky-modal-open input[type=checkbox]:checked,.cky-consent-bar-expand input[type=checkbox]:checked",
45
+ "all": true,
46
+ "optional": true
47
+ },
48
+ {
49
+ "waitForThenClick": ".cky-modal [data-cky-tag=detail-save-button],.cky-consent-bar-expand [data-cky-tag=detail-save-button]"
50
+ }
51
+ ],
52
+ "else": [{ "hide": ".cky-consent-container,.cky-overlay,.cky-consent-bar-expand" }]
24
53
  }
25
- ],
26
- "else": [{ "hide": ".cky-consent-container,.cky-overlay,.cky-consent-bar-expand" }]
54
+ ]
27
55
  }
28
56
  ]
29
57
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "drouot-rgpd",
3
+ "prehideSelectors": ["#rgpd-popup", "#rgpd-custom-popup"],
4
+ "detectCmp": [{ "exists": "#rgpd-popup #rgpd-continue-without-accepting" }],
5
+ "detectPopup": [{ "visible": "#rgpd-popup" }],
6
+ "optIn": [{ "waitForThenClick": "#rgpd-popup .rgpd-buttons button:last-child" }],
7
+ "optOut": [{ "waitForThenClick": "#rgpd-continue-without-accepting" }],
8
+ "test": [{ "cookieContains": "consentLevel=none" }]
9
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "fever-cookie-advice",
3
+ "vendorUrl": "https://feverup.com/",
4
+ "prehideSelectors": ["#cookie-advice.fv-cookie-advice"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#cookie-advice.fv-cookie-advice"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#cookie-advice.fv-cookie-advice"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "if": {
18
+ "exists": "#cookie-advice [data-testid=\"accept-cookies-button\"]"
19
+ },
20
+ "then": [
21
+ {
22
+ "waitForThenClick": "#cookie-advice [data-testid=\"accept-cookies-button\"]"
23
+ }
24
+ ],
25
+ "else": [
26
+ {
27
+ "waitForThenClick": "#cookie-advice .fv-cookie-advice__close"
28
+ }
29
+ ]
30
+ }
31
+ ],
32
+ "optOut": [
33
+ {
34
+ "waitForThenClick": "#cookie-advice .fv-cookie-advice__message a:not([href]), #cookie-advice .fv-cookie-advice__message button"
35
+ },
36
+ {
37
+ "waitForVisible": ".fv-cookies-management"
38
+ },
39
+ {
40
+ "waitForThenClick": ":is(fv-cookies-management-sheet, .modal-content):has(.fv-cookies-management) button[class*=\"--primary\"]"
41
+ }
42
+ ],
43
+ "test": [
44
+ {
45
+ "wait": 500
46
+ },
47
+ {
48
+ "cookieContains": "fever_cookies_configuration"
49
+ }
50
+ ]
51
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "idxrcookies",
3
+ "prehideSelectors": ["body > #idxrcookies"],
4
+ "detectCmp": [{ "exists": "body > #idxrcookies #idxrcookiesKO" }],
5
+ "detectPopup": [{ "visible": "body > #idxrcookies #idxrcookiesKO" }],
6
+ "optIn": [{ "waitForThenClick": "body > #idxrcookies #idxrcookiesOK" }],
7
+ "optOut": [{ "waitForThenClick": "body > #idxrcookies #idxrcookiesKO" }]
8
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "infomaniak-rgpd",
3
+ "prehideSelectors": ["module-rgpd-component"],
4
+ "detectCmp": [{ "exists": "module-rgpd-component" }],
5
+ "detectPopup": [{ "visible": ["module-rgpd-component", ".modal"] }],
6
+ "optIn": [{ "waitForThenClick": ["module-rgpd-component", ".buttons > button:nth-of-type(1)"] }],
7
+ "optOut": [{ "waitForThenClick": ["module-rgpd-component", ".buttons > button:nth-of-type(2)"], "retry": 3 }],
8
+ "test": [{ "cookieContains": "cookieConsent=consent_1" }]
9
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "mco-consent",
3
+ "prehideSelectors": [
4
+ ".mco-consent-pop-up",
5
+ ".mco-consent-slide-up",
6
+ ".mco-consent-slide-up__backdrop",
7
+ ".mco-overlay:has(.mco-consent)"
8
+ ],
9
+ "detectCmp": [{ "exists": "#mco-consent" }],
10
+ "detectPopup": [{ "visible": "[class*=\"mco-consent-\"][class*=\"__button-decline\"]" }],
11
+ "optIn": [{ "waitForThenClick": "[class*=\"mco-consent-\"][class*=\"__button-confirm\"]" }],
12
+ "optOut": [{ "waitForThenClick": "[class*=\"mco-consent-\"][class*=\"__button-decline\"]" }],
13
+ "test": [{ "cookieContains": "\"acceptedAll\":false" }]
14
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "mipro.com.tw",
3
+ "runContext": { "urlPattern": "^https?://(\\w+\\.)?mipro\\.com\\.tw/" },
4
+ "prehideSelectors": [".cookie-modal.open"],
5
+ "detectCmp": [{ "exists": ".cookie-modal.open .cookie-box" }],
6
+ "detectPopup": [{ "visible": ".cookie-modal.open .btn-box .simple-btn.cancel" }],
7
+ "optIn": [{ "waitForThenClick": ".cookie-modal.open .btn-box .simple-btn.agree" }],
8
+ "optOut": [{ "waitForThenClick": ".cookie-modal.open .btn-box .simple-btn.cancel" }],
9
+ "test": [{ "exists": ".cookie-modal.open", "negated": true }]
10
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "mirasvit-gdpr",
3
+ "prehideSelectors": ["#gdprCookieBar", "#gdprCookieBarOverlay", ".mst-gdpr__cookie-bar-wrapper", ".mst-gdpr__cookie-bar-overlay"],
4
+ "detectCmp": [{ "exists": ".mst-gdpr__cookie-bar .mst-gdpr__buttons" }],
5
+ "detectPopup": [{ "visible": ".mst-gdpr__cookie-bar .mst-gdpr__buttons", "check": "any" }],
6
+ "optIn": [
7
+ {
8
+ "any": [
9
+ { "click": ".mst-gdpr__buttons [data-trigger-settings=agree]" },
10
+ { "click": ".mst-gdpr__buttons button[\\@click^=handleAllow]" }
11
+ ]
12
+ }
13
+ ],
14
+ "optOut": [
15
+ {
16
+ "if": {
17
+ "visible": ".mst-gdpr__buttons [data-trigger-settings=decline],.mst-gdpr__buttons button[\\@click=handleDecline]",
18
+ "check": "any"
19
+ },
20
+ "then": [
21
+ {
22
+ "any": [
23
+ { "click": ".mst-gdpr__buttons [data-trigger-settings=decline]" },
24
+ { "click": ".mst-gdpr__buttons button[\\@click=handleDecline]" }
25
+ ]
26
+ }
27
+ ],
28
+ "else": [
29
+ {
30
+ "any": [
31
+ { "click": ".mst-gdpr__buttons [data-trigger-settings=trigger]" },
32
+ { "click": ".mst-gdpr__buttons button[\\@click=openSettings]" }
33
+ ]
34
+ },
35
+ {
36
+ "waitForVisible": "[data-mst-gdpr-settings-apply],.mst-gdpr__cookie-settings--success-btn,[x-on\\:click=save]",
37
+ "check": "any",
38
+ "timeout": 5000
39
+ },
40
+ {
41
+ "waitForThenClick": "input.checkbox[data-group-id]:not([disabled]):checked",
42
+ "all": true,
43
+ "timeout": 2000,
44
+ "optional": true
45
+ },
46
+ {
47
+ "any": [
48
+ { "click": "[data-mst-gdpr-settings-apply]" },
49
+ { "click": ".mst-gdpr__cookie-settings--success-btn" },
50
+ { "click": "[x-on\\:click=save]" }
51
+ ]
52
+ }
53
+ ]
54
+ },
55
+ { "waitForVisible": ".mst-gdpr__cookie-bar .mst-gdpr__buttons", "check": "none", "timeout": 10000 }
56
+ ],
57
+ "test": [{ "cookieContains": "gdpr_cookie_consent=" }, { "visible": ".mst-gdpr__cookie-bar .mst-gdpr__buttons", "check": "none" }]
58
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "mkdocs-material",
3
+ "vendorUrl": "https://squidfunk.github.io/mkdocs-material/setup/ensuring-data-privacy/",
4
+ "prehideSelectors": ["#__consent .md-consent__inner", "#__consent .md-consent__overlay"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#__consent form[name='consent'] .md-consent__settings input[type='checkbox']"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#__consent:not([hidden]) .md-consent__inner"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "#__consent .md-consent__controls button.md-button--primary"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "click": "#__consent .md-consent__settings input[type='checkbox']:checked",
23
+ "all": true,
24
+ "optional": true
25
+ },
26
+ {
27
+ "waitForThenClick": "#__consent .md-consent__controls button.md-button--primary"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "setupad",
3
+ "vendorUrl": "https://setupad.com/cmp/",
4
+ "prehideSelectors": [".stpd_cmp_wrapper"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": ".stpd_cmp_wrapper .stpd_cmp_form"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": ".stpd_cmp_wrapper .stpd_cmp_form"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": ".stpd_cmp_wrapper .stpd_cta_btn"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "if": {
23
+ "exists": ".stpd_cmp_wrapper .stpd_flexed_btns button[type=\"submit\"]"
24
+ },
25
+ "then": [
26
+ {
27
+ "waitForThenClick": ".stpd_cmp_wrapper .stpd_flexed_btns button[type=\"submit\"]"
28
+ }
29
+ ],
30
+ "else": [
31
+ {
32
+ "waitForThenClick": ".stpd_cmp_wrapper .stpd_flexed_btns button[type=\"button\"]:not(.withdraw_consent)"
33
+ },
34
+ {
35
+ "waitForVisible": ".stpd_cmp_wrapper .stpd_purposes_list"
36
+ },
37
+ {
38
+ "click": ".stpd_cmp_wrapper input[type=\"checkbox\"]:checked",
39
+ "all": true,
40
+ "optional": true
41
+ },
42
+ {
43
+ "waitForThenClick": ".stpd_cmp_wrapper .stpd_flexed_btns button[type=\"submit\"]"
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "waitForVisible": ".stpd_cmp_wrapper",
49
+ "check": "none"
50
+ }
51
+ ],
52
+ "test": [
53
+ {
54
+ "cookieContains": "euconsent-v2="
55
+ }
56
+ ]
57
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "socialfunders",
3
+ "prehideSelectors": ["#cookie_modal"],
4
+ "detectCmp": [{ "exists": "#cookie_modal #id_cookies_necessary" }, { "exists": "#cookie_modal #id_cookies_all" }],
5
+ "detectPopup": [{ "visible": "#cookie_modal" }],
6
+ "optIn": [{ "waitForThenClick": "#cookie_modal #id_cookies_all" }],
7
+ "optOut": [{ "waitForThenClick": "#cookie_modal #id_cookies_necessary" }]
8
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "tlc-direct",
3
+ "runContext": { "urlPattern": "^https?://(\\w+\\.)?tlc-direct\\.co\\.uk/" },
4
+ "prehideSelectors": ["#cookie-consent"],
5
+ "detectCmp": [
6
+ { "exists": "#cookie-consent #cookie-consent-btn-customise" },
7
+ { "exists": "#cookie-consent #cookie-consent-btn-accept-some" }
8
+ ],
9
+ "detectPopup": [{ "visible": "#cookie-consent" }],
10
+ "optIn": [{ "waitForThenClick": "#cookie-consent-btn-accept-all" }],
11
+ "optOut": [
12
+ { "waitForThenClick": "#cookie-consent-btn-customise" },
13
+ { "if": { "exists": "#consent-marketing:checked" }, "then": [{ "click": "#consent-marketing" }] },
14
+ { "if": { "exists": "#consent-analytics:checked" }, "then": [{ "click": "#consent-analytics" }] },
15
+ { "waitForThenClick": "#cookie-consent-btn-accept-some" }
16
+ ],
17
+ "test": [{ "cookieContains": "%22analytics%22%3Afalse%2C%22marketing%22%3Afalse" }]
18
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "workday",
3
+ "vendorUrl": "https://www.workday.com/",
4
+ "prehideSelectors": ["[data-automation-id=\"legalNotice\"]"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "[data-automation-id=\"legalNoticeDeclineButton\"]"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "[data-automation-id=\"legalNotice\"]"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "[data-automation-id=\"legalNoticeAcceptButton\"]"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "waitForThenClick": "[data-automation-id=\"legalNoticeDeclineButton\"]"
23
+ }
24
+ ],
25
+ "test": [
26
+ {
27
+ "cookieContains": "enablePrivacyTracking=false"
28
+ }
29
+ ]
30
+ }
@@ -2,38 +2,40 @@
2
2
  "name": "xe.com",
3
3
  "vendorUrl": "https://www.xe.com/",
4
4
  "runContext": {
5
- "urlPattern": "^https://www\\.xe\\.com/"
5
+ "urlPattern": "^https?://(www\\.)?xe\\.com/"
6
6
  },
7
- "prehideSelectors": ["[class*=ConsentBanner]"],
7
+ "prehideSelectors": ["dialog[aria-labelledby=\"consent-title\"]", "div.animate-slideFromLeft.fixed.bottom-0.z-50"],
8
8
  "detectCmp": [
9
9
  {
10
- "exists": "[class*=ConsentBanner]"
10
+ "exists": "dialog[aria-labelledby=\"consent-title\"], div.animate-slideFromLeft.fixed.bottom-0.z-50"
11
11
  }
12
12
  ],
13
13
  "detectPopup": [
14
14
  {
15
- "visible": "[class*=ConsentBanner]"
15
+ "visible": "dialog[aria-labelledby=\"consent-title\"], div.animate-slideFromLeft.fixed.bottom-0.z-50"
16
16
  }
17
17
  ],
18
18
  "optIn": [
19
19
  {
20
- "waitForThenClick": "[class*=ConsentBanner] .egnScw"
20
+ "waitForThenClick": "dialog[aria-labelledby=\"consent-title\"] button.bg-xe-primary-500, div.animate-slideFromLeft button.bg-xe-primary-500"
21
21
  }
22
22
  ],
23
23
  "optOut": [
24
24
  {
25
- "wait": 1000
25
+ "waitForThenClick": "dialog[aria-labelledby=\"consent-title\"] button.border-xe-primary-500, div.animate-slideFromLeft button.border-xe-primary-500",
26
+ "retry": 3,
27
+ "retryInterval": 500
26
28
  },
27
29
  {
28
- "waitForThenClick": "[class*=ConsentBanner] .frDWEu"
30
+ "waitForVisible": "[data-testid=\"performance-toggle\"]"
29
31
  },
30
32
  {
31
- "waitForThenClick": "[class*=ConsentBanner] .hXIpFU"
33
+ "waitForThenClick": "dialog[aria-labelledby=\"consent-title\"] button.bg-xe-primary-500, div.animate-slideFromLeft button.bg-xe-primary-500"
32
34
  }
33
35
  ],
34
36
  "test": [
35
37
  {
36
- "cookieContains": "xeConsentState={%22performance%22:false%2C%22marketing%22:false%2C%22compliance%22:false}"
38
+ "cookieContains": "xeConsentState={%22performance%22:false%2C%22marketing%22:false"
37
39
  }
38
40
  ]
39
41
  }