@duckduckgo/autoconsent 16.57.0 → 16.58.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 (50) hide show
  1. package/CHANGELOG.md +30 -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/aemet.json +35 -0
  13. package/rules/autoconsent/bakeca.json +13 -0
  14. package/rules/autoconsent/bleau-cookiecontrol.json +10 -0
  15. package/rules/autoconsent/chomikuj.json +13 -0
  16. package/rules/autoconsent/cookieconsent2.json +1 -1
  17. package/rules/autoconsent/costco.json +5 -2
  18. package/rules/autoconsent/daikin.json +10 -0
  19. package/rules/autoconsent/educamadrid.json +37 -0
  20. package/rules/autoconsent/gobiernodecanarias.json +46 -0
  21. package/rules/autoconsent/librus.json +21 -0
  22. package/rules/autoconsent/mega-io.json +24 -0
  23. package/rules/autoconsent/pubtech.json +13 -1
  24. package/rules/autoconsent/rabobank.json +62 -0
  25. package/rules/autoconsent/sc-cookie-banner.json +29 -0
  26. package/rules/autoconsent/soteshop.json +29 -0
  27. package/rules/autoconsent/tealium.json +6 -4
  28. package/rules/autoconsent/tinder.json +23 -0
  29. package/rules/autoconsent/vd-ch.json +34 -0
  30. package/rules/compact-rules.json +1 -1
  31. package/rules/rule-index.json +1 -1
  32. package/rules/rules.json +1 -1
  33. package/tests/aemet.spec.ts +3 -0
  34. package/tests/bakeca.spec.ts +3 -0
  35. package/tests/bleau-cookiecontrol.spec.ts +3 -0
  36. package/tests/chomikuj.spec.ts +3 -0
  37. package/tests/cookieconsent2.spec.ts +2 -2
  38. package/tests/costco.spec.ts +1 -1
  39. package/tests/daikin.spec.ts +3 -0
  40. package/tests/educamadrid.spec.ts +7 -0
  41. package/tests/gobiernodecanarias.spec.ts +10 -0
  42. package/tests/librus.spec.ts +6 -0
  43. package/tests/mega-io.spec.ts +3 -0
  44. package/tests/pubtech.spec.ts +6 -4
  45. package/tests/rabobank.spec.ts +17 -0
  46. package/tests/sc-cookie-banner.spec.ts +12 -0
  47. package/tests/soteshop.spec.ts +3 -0
  48. package/tests/tealium.spec.ts +6 -0
  49. package/tests/tinder.spec.ts +3 -0
  50. package/tests/vd-ch.spec.ts +3 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "16.57.0",
3
+ "version": "16.58.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "aemet",
3
+ "vendorUrl": "https://www.aemet.es/",
4
+ "cosmetic": true,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(www\\.)?aemet\\.es/"
7
+ },
8
+ "prehideSelectors": ["#popup_cookies"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "#popup_cookies .boton_cookies"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "#popup_cookies"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": "#popup_cookies .boton_cookies"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "hide": "#popup_cookies"
27
+ }
28
+ ],
29
+ "test": [
30
+ {
31
+ "visible": "#popup_cookies",
32
+ "check": "none"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "bakeca",
3
+ "vendorUrl": "https://www.bakecaincontrii.com/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://([\\w-]+\\.)?bakecaincontrii\\.com/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [{ "exists": ".ui-alert.bottom-fixed a[data-href*='cookie-policy']" }],
9
+ "detectPopup": [{ "visible": ".ui-alert.bottom-fixed" }],
10
+ "optIn": [{ "waitForThenClick": ".ui-alert.bottom-fixed .text-center button" }],
11
+ "optOut": [{ "waitForThenClick": ".ui-alert.bottom-fixed button.close" }],
12
+ "test": [{ "waitForVisible": ".ui-alert.bottom-fixed", "check": "none", "timeout": 2000 }]
13
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "bleau-cookiecontrol",
3
+ "vendorUrl": "https://bleau.dk/",
4
+ "prehideSelectors": ["#cconsent-modal"],
5
+ "detectCmp": [{ "exists": "#cconsent-modal .ccm__footer .consent-givenone" }],
6
+ "detectPopup": [{ "visible": "#cconsent-modal.ccm--visible .ccm__footer .consent-givenone" }],
7
+ "optIn": [{ "waitForThenClick": "#cconsent-modal .ccm__footer .consent-give" }],
8
+ "optOut": [{ "waitForThenClick": "#cconsent-modal .ccm__footer .consent-givenone" }],
9
+ "test": [{ "waitForVisible": "#cconsent-modal", "check": "none" }, { "cookieContains": "\"wanted\":false" }]
10
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "chomikuj",
3
+ "vendorUrl": "https://chomikuj.pl/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?chomikuj\\.pl/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [{ "exists": ".cookiesInfo .closeCookiesInfo" }],
9
+ "detectPopup": [{ "visible": ".cookiesInfo .closeCookiesInfo" }],
10
+ "optIn": [{ "waitForThenClick": ".cookiesInfo .closeCookiesInfo" }],
11
+ "optOut": [{ "waitForThenClick": ".cookiesInfo .closeCookiesInfo" }],
12
+ "test": [{ "waitForVisible": ".cookiesInfo", "check": "none", "timeout": 2000 }]
13
+ }
@@ -10,7 +10,7 @@
10
10
  ],
11
11
  "detectPopup": [
12
12
  {
13
- "exists": "html.show--consent #cm"
13
+ "exists": "html.show--consent #cm, html.show--settings #s-cnt"
14
14
  },
15
15
  {
16
16
  "exists": "#s-all-bn"
@@ -2,11 +2,14 @@
2
2
  "name": "costco",
3
3
  "vendorUrl": "https://www.costco.ca/",
4
4
  "cosmetic": true,
5
- "comment": "The banner runs on Transcend airgap, whose setConsent() rejects consent changes unless the click event is trusted (isTrusted), so scripted clicks can't save an opt-out.",
5
+ "comment": "The banner runs on Transcend airgap, whose setConsent() rejects consent changes unless the click event is trusted (isTrusted), so scripted clicks can't save an opt-out. Scoped by urlPattern so it takes priority over the generic transcend rule, which matches the empty #transcend-consent-manager host airgap adds on some Costco subdomains.",
6
+ "runContext": {
7
+ "urlPattern": "^https?://([\\w-]+\\.)*costco(businesscentre|businessdelivery)?\\.(ca|com)/"
8
+ },
6
9
  "prehideSelectors": ["#costco-consent-manager [data-testid=\"Popup\"]"],
7
10
  "detectCmp": [
8
11
  {
9
- "exists": "#costco-consent-manager [data-testid=\"Popup\"]"
12
+ "exists": "#costco-consent-manager [data-testid=\"Popup\"], script[src*=\"/consent-ui/costco-consent-manager\"]"
10
13
  }
11
14
  ],
12
15
  "detectPopup": [
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "daikin",
3
+ "vendorUrl": "https://www.daikin.eu/",
4
+ "prehideSelectors": [".cookie-notice.js-cookie-modal"],
5
+ "detectCmp": [{ "exists": ".cookie-notice.js-cookie-modal .js-accept-minimal-cookies" }],
6
+ "detectPopup": [{ "visible": ".cookie-notice.js-cookie-modal" }],
7
+ "optIn": [{ "waitForThenClick": ".cookie-notice.js-cookie-modal .js-accept-all-cookies" }],
8
+ "optOut": [{ "waitForThenClick": ".cookie-notice.js-cookie-modal .js-accept-minimal-cookies" }],
9
+ "test": [{ "cookieContains": "acceptCookiePolicy-marketing=false" }]
10
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "educamadrid",
3
+ "vendorUrl": "https://www.educa2.madrid.org/",
4
+ "prehideSelectors": ["#emCookieWrapper"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#emCookieWrapper #emCookieBanner"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#emCookieBanner"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "#emCookieBtnAccept"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "waitForThenClick": "#emCookieBtnConfigure"
23
+ },
24
+ {
25
+ "waitForThenClick": "#emCookieTool #emCookieBtnRejectAll"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "waitFor": "#emCookieFrame",
31
+ "timeout": 3000
32
+ },
33
+ {
34
+ "cookieContains": "EducaMadrid_LSSI_Cookies=0"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "gobiernodecanarias",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(\\w+\\.)?(gobiernodecanarias\\.org|gobcan\\.net)/"
5
+ },
6
+ "prehideSelectors": [".cookie-consent-modal.active"],
7
+ "detectCmp": [
8
+ {
9
+ "exists": ".cookie-consent-modal #checkbox_analiticas"
10
+ }
11
+ ],
12
+ "detectPopup": [
13
+ {
14
+ "visible": ".cookie-consent-modal.active"
15
+ }
16
+ ],
17
+ "optIn": [
18
+ {
19
+ "click": ".cookie-consent-modal #checkbox_analiticas:not(:checked)",
20
+ "optional": true
21
+ },
22
+ {
23
+ "waitForThenClick": ".cookie-consent-modal .btn.accept"
24
+ }
25
+ ],
26
+ "optOut": [
27
+ {
28
+ "waitForThenClick": ".cookie-consent-modal button.config"
29
+ },
30
+ {
31
+ "waitForVisible": ".cookie-consent-modal #checkbox_analiticas"
32
+ },
33
+ {
34
+ "click": ".cookie-consent-modal #checkbox_analiticas:checked",
35
+ "optional": true
36
+ },
37
+ {
38
+ "waitForThenClick": ".cookie-consent-modal .btn.accept"
39
+ }
40
+ ],
41
+ "test": [
42
+ {
43
+ "cookieContains": "cookies_allowed=true"
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "librus",
3
+ "vendorUrl": "https://portal.librus.pl/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://([a-z0-9-]+\\.)?librus\\.pl/"
6
+ },
7
+ "prehideSelectors": [".consent-categories-modal-wrapper"],
8
+ "detectCmp": [{ "exists": "#consent-categories-modal [data-modal-consent-open-settings]" }],
9
+ "detectPopup": [{ "visible": "#consent-categories-modal [data-modal-consent-open-settings]" }],
10
+ "optIn": [{ "waitForThenClick": "#consent-categories-description [data-modal-submit-all]" }],
11
+ "optOut": [
12
+ { "waitForThenClick": "#consent-categories-modal [data-modal-consent-open-settings]" },
13
+ { "waitFor": "#edit-consent-app input[name=consent-category][value=nc]:checked" },
14
+ {
15
+ "if": { "exists": "#edit-consent-app input[name=consent-category]:checked:not(:disabled)" },
16
+ "then": [{ "click": "#edit-consent-app input[name=consent-category]:checked:not(:disabled)", "all": true }]
17
+ },
18
+ { "waitForThenClick": "#consent-categories-settings [data-modal-submit]" }
19
+ ],
20
+ "test": [{ "waitForVisible": "#consent-categories-modal", "check": "none", "timeout": 2000 }]
21
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "mega.io",
3
+ "vendorUrl": "https://mega.io/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?mega\\.(io|nz)/"
6
+ },
7
+ "prehideSelectors": ["dialog.cookie-banner"],
8
+ "detectCmp": [{ "exists": "dialog.cookie-banner .customise-cookie" }],
9
+ "detectPopup": [{ "visible": "dialog.cookie-banner" }],
10
+ "optIn": [{ "waitForThenClick": "dialog.cookie-banner button.accept-all" }],
11
+ "optOut": [
12
+ {
13
+ "if": { "visible": "dialog.cookie-banner button.reject" },
14
+ "then": [{ "click": "dialog.cookie-banner button.reject" }],
15
+ "else": [
16
+ { "click": "dialog.cookie-banner .customise-cookie" },
17
+ { "waitForVisible": "dialog.cookie-dialog button.save" },
18
+ { "click": "dialog.cookie-dialog .toggle-control.on:not(.disabled)", "all": true, "optional": true },
19
+ { "click": "dialog.cookie-dialog button.save" }
20
+ ]
21
+ }
22
+ ],
23
+ "test": [{ "cookieContains": "\"marketing\":false" }]
24
+ }
@@ -30,7 +30,19 @@
30
30
  ],
31
31
  "optOut": [
32
32
  {
33
- "click": "#pubtech-cmp #pt-close"
33
+ "if": {
34
+ "exists": "#pubtech-cmp #pt-close"
35
+ },
36
+ "then": [
37
+ {
38
+ "click": "#pubtech-cmp #pt-close"
39
+ }
40
+ ],
41
+ "else": [
42
+ {
43
+ "click": "#pubtech-cmp a[href*=\"pubtech_action_reject_all\"]"
44
+ }
45
+ ]
34
46
  }
35
47
  ],
36
48
  "test": [
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "rabobank",
3
+ "vendorUrl": "https://www.rabobank.com/",
4
+ "prehideSelectors": ["feature-modular-cookiebanner-variant-one .cookiebanner-container"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "feature-modular-cookiebanner-variant-one .cookiebanner-container"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "feature-modular-cookiebanner-variant-one .cookiebanner-container"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "if": {
18
+ "exists": "#modular-cookiebanner-variant-one-consent-level-button-3"
19
+ },
20
+ "then": [
21
+ {
22
+ "waitForThenClick": "#modular-cookiebanner-variant-one-consent-level-button-3",
23
+ "retry": 10,
24
+ "retryInterval": 500
25
+ }
26
+ ],
27
+ "else": [
28
+ {
29
+ "waitForThenClick": "feature-modular-cookiebanner-variant-one .cookiebanner-default-consent-button",
30
+ "retry": 10,
31
+ "retryInterval": 500
32
+ }
33
+ ]
34
+ }
35
+ ],
36
+ "optOut": [
37
+ {
38
+ "if": {
39
+ "exists": "#modular-cookiebanner-variant-one-consent-level-button-1"
40
+ },
41
+ "then": [
42
+ {
43
+ "waitForThenClick": "#modular-cookiebanner-variant-one-consent-level-button-1",
44
+ "retry": 10,
45
+ "retryInterval": 500
46
+ }
47
+ ],
48
+ "else": [
49
+ {
50
+ "waitForThenClick": "feature-modular-cookiebanner-variant-one .cookiebanner-default-consent-button",
51
+ "retry": 10,
52
+ "retryInterval": 500
53
+ }
54
+ ]
55
+ }
56
+ ],
57
+ "test": [
58
+ {
59
+ "cookieContains": "RABO_PSL=1"
60
+ }
61
+ ]
62
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "sc-cookie-banner",
3
+ "prehideSelectors": ["#scCookieBanner:has(.sc-cookie-reject)"],
4
+ "detectCmp": [
5
+ {
6
+ "exists": "#scCookieBanner .sc-cookie-reject"
7
+ }
8
+ ],
9
+ "detectPopup": [
10
+ {
11
+ "visible": "#scCookieBanner"
12
+ }
13
+ ],
14
+ "optIn": [
15
+ {
16
+ "waitForThenClick": "#scCookieBanner .sc-cookie-accept"
17
+ }
18
+ ],
19
+ "optOut": [
20
+ {
21
+ "waitForThenClick": "#scCookieBanner .sc-cookie-reject"
22
+ }
23
+ ],
24
+ "test": [
25
+ {
26
+ "cookieContains": "_consent=denied"
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "soteshop",
3
+ "vendorUrl": "https://www.soteshop.com/",
4
+ "prehideSelectors": ["#cookies_message", "#cookies-message-modal"],
5
+ "detectCmp": [{ "exists": "#cookies-close-deny, #cookies_frame > #cookies_close" }],
6
+ "detectPopup": [{ "visible": "#cookies-close-deny, #cookies_frame > #cookies_close", "check": "any" }],
7
+ "optIn": [
8
+ {
9
+ "if": { "exists": "#cookies-close-accept" },
10
+ "then": [{ "waitForThenClick": "#cookies-close-accept" }],
11
+ "else": [{ "click": "#cookies_frame > #cookies_close" }]
12
+ }
13
+ ],
14
+ "optOut": [
15
+ {
16
+ "if": { "exists": "#cookies-close-deny" },
17
+ "then": [{ "waitForThenClick": "#cookies-close-deny" }],
18
+ "else": [{ "click": "#cookies_frame > #cookies_close" }]
19
+ },
20
+ { "waitForVisible": "#cookies-close-deny, #cookies_frame > #cookies_close", "check": "none" }
21
+ ],
22
+ "test": [
23
+ {
24
+ "if": { "exists": "#cookies-close-deny" },
25
+ "then": [{ "cookieContains": "cookies_message_bar_hidden=true" }, { "cookieContains": "cookies_google_targeting=false" }],
26
+ "else": [{ "cookieContains": "cookies_message_hidden=true" }]
27
+ }
28
+ ]
29
+ }
@@ -7,12 +7,14 @@
7
7
  { "eval": "EVAL_TEALIUM_1" },
8
8
  { "eval": "EVAL_TEALIUM_DONOTSELL" },
9
9
  {
10
- "if": { "exists": "#__tealiumGDPRecModal #rejectAll" },
11
- "then": [{ "waitForThenClick": "#__tealiumGDPRecModal #rejectAll" }],
10
+ "if": { "exists": "#__tealiumGDPRecModal #rejectAll,#__tealiumGDPRcpPrefs #preferences_prompt_reject_all_submit" },
11
+ "then": [
12
+ { "waitForThenClick": "#__tealiumGDPRecModal #rejectAll,#__tealiumGDPRcpPrefs #preferences_prompt_reject_all_submit" }
13
+ ],
12
14
  "else": [
13
15
  { "hide": "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs,#__tealiumImplicitmodal" },
14
16
  {
15
- "waitForThenClick": "#cm-acceptNone,.js-accept-essential-cookies,#continueWithoutAccepting,#no_consent,#consent_prompt_decline,#teal-decline-consent",
17
+ "waitForThenClick": "#cm-acceptNone,.js-accept-essential-cookies,#continueWithoutAccepting,#no_consent,#consent_prompt_decline,#teal-decline-consent,#deny_full_submit_1",
16
18
  "timeout": 1000,
17
19
  "optional": true
18
20
  }
@@ -23,6 +25,6 @@
23
25
  "test": [
24
26
  { "eval": "EVAL_TEALIUM_3" },
25
27
  { "eval": "EVAL_TEALIUM_DONOTSELL_CHECK" },
26
- { "visible": "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs", "check": "none" }
28
+ { "visible": "#__tealiumGDPRecModal,#__tealiumGDPRcpPrefs > *", "check": "none" }
27
29
  ]
28
30
  }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "tinder",
3
+ "vendorUrl": "https://tinder.com/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?tinder\\.com/"
6
+ },
7
+ "prehideSelectors": ["div[role=alertdialog][data-nosnippet][aria-describedby]"],
8
+ "detectCmp": [{ "exists": "div[role=alertdialog][data-nosnippet][aria-describedby]" }],
9
+ "detectPopup": [{ "visible": "div[role=alertdialog][data-nosnippet][aria-describedby]" }],
10
+ "optIn": [
11
+ { "waitForThenClick": "div[role=alertdialog][data-nosnippet][aria-describedby] > div > div:last-child > div:last-child > button" },
12
+ {
13
+ "waitForThenClick": "div[role=dialog][data-nosnippet][aria-labelledby] > div > div:last-of-type > div > div:nth-child(1) > button"
14
+ }
15
+ ],
16
+ "optOut": [
17
+ { "waitForThenClick": "div[role=alertdialog][data-nosnippet][aria-describedby] > div > div:last-child > div:last-child > button" },
18
+ {
19
+ "waitForThenClick": "div[role=dialog][data-nosnippet][aria-labelledby] > div > div:last-of-type > div > div:nth-child(2) > button"
20
+ }
21
+ ],
22
+ "test": [{ "waitForVisible": "div[role=alertdialog][data-nosnippet][aria-describedby]", "check": "none", "timeout": 2000 }]
23
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "vd-ch",
3
+ "vendorUrl": "https://www.vd.ch/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(\\w+\\.)?vd\\.ch/"
7
+ },
8
+ "prehideSelectors": [],
9
+ "detectCmp": [
10
+ {
11
+ "exists": ".alert-cookie #dismiss-cookie-banner-button"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": ".alert-cookie #dismiss-cookie-banner-button"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": ".alert-cookie #dismiss-cookie-banner-button"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "waitForThenClick": ".alert-cookie #dismiss-cookie-banner-button"
27
+ }
28
+ ],
29
+ "test": [
30
+ {
31
+ "cookieContains": "vd_cookie_warning=1"
32
+ }
33
+ ]
34
+ }