@duckduckgo/autoconsent 16.53.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 (76) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/data/coverage.json +3302 -2383
  3. package/dist/addon-firefox/compact-rules.json +1 -1
  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/manifest.json +1 -1
  9. package/dist/addon-mv3/rule-index.json +1 -1
  10. package/dist/addon-mv3/rules.json +1 -1
  11. package/dist/autoconsent.standalone.js +1 -1
  12. package/package.json +1 -1
  13. package/rules/autoconsent/admetricspro.json +53 -0
  14. package/rules/autoconsent/bigid.json +29 -13
  15. package/rules/autoconsent/bnes-cc.json +27 -0
  16. package/rules/autoconsent/c-banner-allow-cookies.json +17 -0
  17. package/rules/autoconsent/costco-travel.json +44 -0
  18. package/rules/autoconsent/eastlink.json +66 -0
  19. package/rules/autoconsent/eset.json +57 -0
  20. package/rules/autoconsent/figma.json +37 -0
  21. package/rules/autoconsent/gla.ac.uk.json +45 -0
  22. package/rules/autoconsent/klaxit-cookie-consent.json +9 -0
  23. package/rules/autoconsent/kwik-fit.json +16 -0
  24. package/rules/autoconsent/malaysiaairlines.com.json +42 -0
  25. package/rules/autoconsent/meridiancu.json +15 -0
  26. package/rules/autoconsent/nestpensions.json +14 -0
  27. package/rules/autoconsent/nhs-jobs.json +11 -0
  28. package/rules/autoconsent/occ-gdpr.json +17 -0
  29. package/rules/autoconsent/piwik-pro.json +83 -0
  30. package/rules/autoconsent/savills.json +44 -0
  31. package/rules/autoconsent/scottish-government-design-system.json +14 -0
  32. package/rules/autoconsent/smallpdf.json +44 -0
  33. package/rules/autoconsent/somerset-council.json +16 -0
  34. package/rules/autoconsent/stepstone-ccm.json +19 -0
  35. package/rules/autoconsent/teacherspensions.co.uk.json +46 -0
  36. package/rules/autoconsent/thenude.json +108 -0
  37. package/rules/autoconsent/tna-cookie-banner.json +43 -0
  38. package/rules/autoconsent/toyota.json +14 -0
  39. package/rules/autoconsent/tti-cookie-popup.json +72 -0
  40. package/rules/autoconsent/u-cookie-consent.json +9 -0
  41. package/rules/autoconsent/what3words.json +53 -0
  42. package/rules/autoconsent/whitepages-gpc-banner.json +14 -0
  43. package/rules/autoconsent/wp-cookie-notice.json +1 -1
  44. package/rules/compact-rules.json +1 -1
  45. package/rules/rule-index.json +1 -1
  46. package/rules/rules.json +1 -1
  47. package/tests/admetricspro.spec.ts +21 -0
  48. package/tests/bigid.spec.ts +6 -0
  49. package/tests/bnes-cc.spec.ts +3 -0
  50. package/tests/c-banner-allow-cookies.spec.ts +3 -0
  51. package/tests/costco-travel.spec.ts +5 -0
  52. package/tests/eastlink.spec.ts +3 -0
  53. package/tests/eset.spec.ts +9 -0
  54. package/tests/figma.spec.ts +5 -0
  55. package/tests/gla.ac.uk.spec.ts +6 -0
  56. package/tests/klaxit-cookie-consent.spec.ts +7 -0
  57. package/tests/kwik-fit.spec.ts +3 -0
  58. package/tests/malaysiaairlines.com.spec.ts +3 -0
  59. package/tests/meridiancu.spec.ts +3 -0
  60. package/tests/nestpensions.spec.ts +3 -0
  61. package/tests/nhs-jobs.spec.ts +5 -0
  62. package/tests/occ-gdpr.spec.ts +3 -0
  63. package/tests/piwik-pro.spec.ts +10 -0
  64. package/tests/savills.spec.ts +3 -0
  65. package/tests/scottish-government-design-system.spec.ts +8 -0
  66. package/tests/smallpdf.spec.ts +5 -0
  67. package/tests/somerset-council.spec.ts +8 -0
  68. package/tests/stepstone-ccm.spec.ts +8 -0
  69. package/tests/teacherspensions.co.uk.spec.ts +3 -0
  70. package/tests/thenude.spec.ts +3 -0
  71. package/tests/tna-cookie-banner.spec.ts +8 -0
  72. package/tests/tti-cookie-popup.spec.ts +8 -0
  73. package/tests/u-cookie-consent.spec.ts +9 -0
  74. package/tests/what3words.spec.ts +3 -0
  75. package/tests/whitepages-gpc-banner.spec.ts +4 -0
  76. package/tests/wp-cookie-notice.spec.ts +4 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "16.53.0",
3
+ "version": "16.54.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "admetricspro",
3
+ "vendorUrl": "https://admetricspro.com/",
4
+ "cosmetic": false,
5
+ "prehideSelectors": ["#__cmp_overlay", "#__cmp_body"],
6
+ "detectCmp": [
7
+ {
8
+ "exists": "#__cmp_body .cmpButtonLink"
9
+ }
10
+ ],
11
+ "detectPopup": [
12
+ {
13
+ "visible": "#__cmp_body .cmpLayer"
14
+ }
15
+ ],
16
+ "optIn": [
17
+ {
18
+ "waitForThenClick": "#__cmp_body .cmpLayer .acceptLink"
19
+ }
20
+ ],
21
+ "optOut": [
22
+ {
23
+ "if": {
24
+ "exists": "#__cmp_body .cmpLayer .vue-js-switch"
25
+ },
26
+ "then": [
27
+ {
28
+ "click": "#__cmp_body .vue-js-switch.toggled .v-switch-input",
29
+ "all": true,
30
+ "optional": true
31
+ },
32
+ {
33
+ "waitForThenClick": "#__cmp_body .manageLink:not(.buttonDisabled)"
34
+ }
35
+ ],
36
+ "else": [
37
+ {
38
+ "waitForThenClick": "#__cmp_body .manageLink"
39
+ },
40
+ {
41
+ "waitForThenClick": "#__cmp_body .rejectLink"
42
+ }
43
+ ]
44
+ }
45
+ ],
46
+ "test": [
47
+ {
48
+ "waitForVisible": "#__cmp_body .cmpLayer",
49
+ "check": "none",
50
+ "timeout": 3000
51
+ }
52
+ ]
53
+ }
@@ -31,19 +31,35 @@
31
31
  ],
32
32
  "else": [
33
33
  {
34
- "waitForThenClick": ["#bigidcmp-banner-widget", "#cmp-custom-permissions"]
35
- },
36
- {
37
- "waitForVisible": ["#bigidcmp-banner-widget", "#cmp-submit"]
38
- },
39
- {
40
- "comment": "aria-checked is always false; the knob position marks enabled toggles",
41
- "click": ["#bigidcmp-banner-widget", "button[role=\"switch\"]:not([disabled]) > span[class*=\"translate-x-[1.1rem]\"]"],
42
- "all": true,
43
- "optional": true
44
- },
45
- {
46
- "waitForThenClick": ["#bigidcmp-banner-widget", "#cmp-submit"]
34
+ "if": {
35
+ "exists": ["#bigidcmp-banner-widget", "#cmp-custom-permissions"]
36
+ },
37
+ "then": [
38
+ {
39
+ "waitForThenClick": ["#bigidcmp-banner-widget", "#cmp-custom-permissions"]
40
+ },
41
+ {
42
+ "waitForVisible": ["#bigidcmp-banner-widget", "#cmp-submit"]
43
+ },
44
+ {
45
+ "comment": "aria-checked is always false; the knob position marks enabled toggles",
46
+ "click": [
47
+ "#bigidcmp-banner-widget",
48
+ "button[role=\"switch\"]:not([disabled]) > span[class*=\"translate-x-[1.1rem]\"]"
49
+ ],
50
+ "all": true,
51
+ "optional": true
52
+ },
53
+ {
54
+ "waitForThenClick": ["#bigidcmp-banner-widget", "#cmp-submit"]
55
+ }
56
+ ],
57
+ "else": [
58
+ {
59
+ "comment": "notice-only layout: dismiss with the close icon",
60
+ "waitForThenClick": ["#bigidcmp-banner-widget", "div[tabindex=\"0\"]:has(> svg #times-solid)"]
61
+ }
62
+ ]
47
63
  }
48
64
  ]
49
65
  }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "bnes-cc",
3
+ "prehideSelectors": ["#CookieConsentContainer:has(#BtnCCPrefs) > .container"],
4
+ "detectCmp": [{ "exists": "#CookieConsentContainer #BtnCCPrefs" }],
5
+ "detectPopup": [{ "visible": "#CookieConsentContainer #BtnCCAll" }],
6
+ "optIn": [{ "waitForThenClick": "#CookieConsentContainer #BtnCCAll" }],
7
+ "optOut": [
8
+ {
9
+ "if": { "exists": "#CookieConsentContainer #BtnCCNone" },
10
+ "then": [{ "waitForThenClick": "#CookieConsentContainer #BtnCCNone" }],
11
+ "else": [
12
+ { "waitForThenClick": "#CookieConsentContainer #BtnCCPrefs" },
13
+ { "waitForVisible": "#CookieConsentPanel #BtnCCSave" },
14
+ {
15
+ "if": { "exists": "#ConsentAnalytics:checked" },
16
+ "then": [{ "click": "#ConsentAnalytics" }]
17
+ },
18
+ {
19
+ "if": { "exists": "#ConsentThirdParty:checked" },
20
+ "then": [{ "click": "#ConsentThirdParty" }]
21
+ },
22
+ { "click": "#CookieConsentPanel #BtnCCSave" }
23
+ ]
24
+ }
25
+ ],
26
+ "test": [{ "cookieContains": "-saved=true" }, { "cookieContains": "-analytics=true", "negated": true }]
27
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "c-banner-allow-cookies",
3
+ "cosmetic": false,
4
+ "runContext": {
5
+ "main": true,
6
+ "frame": false
7
+ },
8
+ "prehideSelectors": ["#cookieBanner.c-banner"],
9
+ "detectCmp": [{ "exists": "#cookieBanner.c-banner button[data-allow-cookies=false]" }],
10
+ "detectPopup": [{ "visible": "#cookieBanner.c-banner" }],
11
+ "optIn": [{ "waitForThenClick": "#cookieBanner.c-banner button[data-allow-cookies=true]" }],
12
+ "optOut": [
13
+ { "waitForThenClick": "#cookieBanner.c-banner button[data-allow-cookies=false]" },
14
+ { "waitForVisible": "#cookieBanner.c-banner", "check": "none" }
15
+ ],
16
+ "test": [{ "cookieContains": "cookies_allow=false" }]
17
+ }
@@ -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,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
+ }
@@ -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
+ }
@@ -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,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,9 @@
1
+ {
2
+ "name": "klaxit-cookie-consent",
3
+ "prehideSelectors": [".cc-container.cc-noselect"],
4
+ "detectCmp": [{ "exists": ".cc-container .cc-box .cc-section-landing .cc-btn-reject" }],
5
+ "detectPopup": [{ "visible": ".cc-container.displayed .cc-section-landing" }],
6
+ "optIn": [{ "waitForThenClick": ".cc-container .cc-section-landing .cc-btn-accept-all" }],
7
+ "optOut": [{ "waitForThenClick": ".cc-container .cc-section-landing .cc-btn-reject" }],
8
+ "test": [{ "cookieContains": "cookie_consent={\"status\":\"rejected\"" }]
9
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "kwik-fit",
3
+ "vendorUrl": "https://www.kwik-fit.com/",
4
+ "cosmetic": false,
5
+ "prehideSelectors": [".cookie-settings-message", ".cookie-settings-background"],
6
+ "detectCmp": [{ "exists": ".cookie-settings-message #frmCookiesBanner" }],
7
+ "detectPopup": [{ "visible": ".cookie-settings-message .cookie-settings-message-close-link" }],
8
+ "optIn": [{ "waitForThenClick": ".cookie-settings-message .cookie-settings-message-close-link" }],
9
+ "optOut": [
10
+ { "waitForThenClick": ".cookie-settings-message .cookie-settings-manage" },
11
+ { "waitForVisible": "#frmCookiesBanner" },
12
+ { "click": "#frmCookiesBanner input[type=checkbox]:checked", "all": true, "optional": true },
13
+ { "waitForThenClick": ".cookie-settings-message .cookie-settings-message-save-link" },
14
+ { "waitForVisible": ".cookie-settings-message", "check": "none" }
15
+ ]
16
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "malaysiaairlines.com",
3
+ "_metadata": {
4
+ "vendorUrl": "https://www.malaysiaairlines.com/"
5
+ },
6
+ "runContext": {
7
+ "urlPattern": "^https?://(\\w+\\.)?malaysiaairlines\\.com/"
8
+ },
9
+ "cosmetic": false,
10
+ "prehideSelectors": [],
11
+ "detectCmp": [
12
+ {
13
+ "exists": ".cookies-notification-wrapper .cookie-accept-all-cta"
14
+ }
15
+ ],
16
+ "detectPopup": [
17
+ {
18
+ "visible": ".cookies-notification-wrapper .cookie-accept-all-cta"
19
+ }
20
+ ],
21
+ "optIn": [
22
+ {
23
+ "waitForThenClick": ".cookies-notification-wrapper .cookie-accept-all-cta button"
24
+ }
25
+ ],
26
+ "optOut": [
27
+ {
28
+ "waitForThenClick": ".cookies-notification-wrapper .customise-cookies-cta button"
29
+ },
30
+ {
31
+ "waitForVisible": ".cookies-notification-wrapper .cookie-details-section"
32
+ },
33
+ {
34
+ "click": ".cookies-notification-wrapper .cookie-details-section input[type=checkbox]:checked:not(:disabled)",
35
+ "all": true,
36
+ "optional": true
37
+ },
38
+ {
39
+ "waitForThenClick": ".cookies-notification-wrapper .cookies-notification-bottom div:not(.hideCookiesPreferenceBtn) > button"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "meridiancu",
3
+ "vendorUrl": "https://www.meridiancu.ca/",
4
+ "prehideSelectors": ["#cookies-disclaimer-modal"],
5
+ "detectCmp": [{ "exists": "#cookies-disclaimer-modal #cookies-disclaimer-modal-settings" }],
6
+ "detectPopup": [{ "visible": "#cookies-disclaimer-modal #cookies-disclaimer-modal-accept" }],
7
+ "optIn": [{ "waitForThenClick": "#cookies-disclaimer-modal-accept" }],
8
+ "optOut": [
9
+ { "waitForThenClick": "#cookies-disclaimer-modal-settings" },
10
+ { "waitForVisible": "#cookies-settings-modal-header" },
11
+ { "click": "#cookies-settings-modal-statistics-switch:checked", "optional": true },
12
+ { "waitForThenClick": "#cookies-settings-modal-confirm" }
13
+ ],
14
+ "test": [{ "cookieContains": "\"googleAnalytics\":false" }]
15
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "nestpensions",
3
+ "vendorUrl": "https://www.nestpensions.org.uk/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(www\\.)?nestpensions\\.org\\.uk/"
7
+ },
8
+ "prehideSelectors": [".cookie-policy-wrapper .cookie-policy-content"],
9
+ "detectCmp": [{ "exists": ".cookie-policy-wrapper #declineCookies" }],
10
+ "detectPopup": [{ "visible": ".cookie-policy-wrapper .cookie-policy-content" }],
11
+ "optIn": [{ "waitForThenClick": ".cookie-policy-wrapper #acceptCookies" }],
12
+ "optOut": [{ "waitForThenClick": ".cookie-policy-wrapper #declineCookies" }],
13
+ "test": [{ "cookieContains": "cookies_policy=analyticsCookies%3Doff%26functionalityCookies%3Doff" }]
14
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "nhs-jobs",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(\\w+\\.)?jobs\\.nhs\\.uk/"
5
+ },
6
+ "prehideSelectors": ["#cookie-banner"],
7
+ "detectCmp": [{ "exists": "#cookie-banner #reject-cookies" }],
8
+ "detectPopup": [{ "visible": "#cookie-banner #reject-cookies" }],
9
+ "optIn": [{ "waitForThenClick": "#cookie-banner #accept-cookies" }],
10
+ "optOut": [{ "waitForThenClick": "#cookie-banner #reject-cookies" }]
11
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "occ-gdpr",
3
+ "prehideSelectors": [".js-occ-gdrp-modal"],
4
+ "detectCmp": [{ "exists": ".js-occ-gdrp-modal .js-occ-gdrp-modal__btn-modal-gdpr-settings" }],
5
+ "detectPopup": [{ "visible": ".js-occ-gdrp-modal.is-visible .js-occ-gdrp-modal__btn-modal-gdpr-settings" }],
6
+ "optIn": [{ "waitForThenClick": ".js-occ-gdrp-modal .js-occ-gdrp-modal__btn-modal-gdpr" }],
7
+ "optOut": [
8
+ { "waitForThenClick": ".js-occ-gdrp-modal .js-occ-gdrp-modal__btn-modal-gdpr-settings:not(.settings-active)" },
9
+ { "waitForVisible": ".js-occ-gdrp-modal .js-occ-gdrp-modal__btn-modal-gdpr-settings.settings-active" },
10
+ {
11
+ "if": { "exists": ".js-occ-gdrp-modal .js-cookie-category:checked" },
12
+ "then": [{ "click": ".js-occ-gdrp-modal .js-cookie-category:checked", "all": true }]
13
+ },
14
+ { "click": ".js-occ-gdrp-modal .js-occ-gdrp-modal__btn-modal-gdpr-settings.settings-active" }
15
+ ],
16
+ "test": [{ "cookieContains": "occ_gdpr_settings" }]
17
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "piwik-pro",
3
+ "vendorUrl": "https://piwik.pro/consent-manager/",
4
+ "prehideSelectors": ["#PiwikPROConsentForm-container", ".PiwikPROConsentForm-overlay"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#PiwikPROConsentForm-container"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#PiwikPROConsentForm-container"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "#PiwikPROConsentForm-agree-to-all, #PiwikPROConsentForm-agree"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "if": {
23
+ "visible": "#PiwikPROConsentForm-reject-all"
24
+ },
25
+ "then": [
26
+ {
27
+ "click": "#PiwikPROConsentForm-reject-all"
28
+ }
29
+ ],
30
+ "else": [
31
+ {
32
+ "waitForThenClick": "#PiwikPROConsentForm-toggle-details"
33
+ },
34
+ {
35
+ "waitForVisible": "#PiwikPROConsentForm-consents",
36
+ "timeout": 2000
37
+ },
38
+ {
39
+ "if": {
40
+ "visible": "#PiwikPROConsentForm-reject-all"
41
+ },
42
+ "then": [
43
+ {
44
+ "click": "#PiwikPROConsentForm-reject-all"
45
+ }
46
+ ],
47
+ "else": [
48
+ {
49
+ "comment": "untick any pre-selected optional purposes",
50
+ "click": "button.PiwikPROConsentForm-consent-checkbox[aria-checked=true]:not([aria-required=true]), input.PiwikPROConsentForm-consent-checkbox:checked:not(:disabled)",
51
+ "all": true,
52
+ "optional": true
53
+ },
54
+ {
55
+ "if": {
56
+ "visible": "#PiwikPROConsentForm-save"
57
+ },
58
+ "then": [
59
+ {
60
+ "click": "#PiwikPROConsentForm-save"
61
+ }
62
+ ],
63
+ "else": [
64
+ {
65
+ "comment": "the details toggle turns into the save button once expanded",
66
+ "click": "#PiwikPROConsentForm-toggle-details"
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
72
+ ]
73
+ }
74
+ ],
75
+ "test": [
76
+ {
77
+ "cookieContains": "ppms_privacy_"
78
+ },
79
+ {
80
+ "cookieContains": "%22status%22:0"
81
+ }
82
+ ]
83
+ }