@duckduckgo/autoconsent 16.60.0 → 16.61.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 (46) hide show
  1. package/CHANGELOG.md +24 -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/airbnb.json +32 -0
  13. package/rules/autoconsent/appconsent.json +6 -1
  14. package/rules/autoconsent/com-consent-layer.json +10 -0
  15. package/rules/autoconsent/fastweb-cookie-center.json +13 -0
  16. package/rules/autoconsent/futurabolzano-it.json +35 -0
  17. package/rules/autoconsent/gobasic.json +10 -0
  18. package/rules/autoconsent/livsmedelsverket.json +18 -0
  19. package/rules/autoconsent/newsbreak.json +16 -0
  20. package/rules/autoconsent/nhsapp.json +10 -0
  21. package/rules/autoconsent/sas.json +6 -6
  22. package/rules/autoconsent/scb.se.json +13 -0
  23. package/rules/autoconsent/studentapan.json +16 -0
  24. package/rules/autoconsent/tv2reg-cookie-notice.json +39 -0
  25. package/rules/compact-rules.json +1 -1
  26. package/rules/rule-index.json +1 -1
  27. package/rules/rules.json +1 -1
  28. package/tests/airbnb.spec.ts +3 -0
  29. package/tests/appconsent.spec.ts +6 -0
  30. package/tests/com-consent-layer.spec.ts +6 -0
  31. package/tests/fastweb-cookie-center.spec.ts +3 -0
  32. package/tests/futurabolzano-it.spec.ts +3 -0
  33. package/tests/gobasic.spec.ts +3 -0
  34. package/tests/livsmedelsverket.spec.ts +5 -0
  35. package/tests/newsbreak.spec.ts +3 -0
  36. package/tests/nhsapp.spec.ts +3 -0
  37. package/tests/sas.spec.ts +1 -1
  38. package/tests/scb.se.spec.ts +4 -0
  39. package/tests/studentapan.spec.ts +3 -0
  40. package/tests/tv2reg-cookie-notice.spec.ts +16 -0
  41. package/rules/generated/auto_AU_flysas.com_r1s.json +0 -40
  42. package/rules/generated/auto_CH_airbnb.de_83z.json +0 -40
  43. package/rules/generated/auto_US_newsbreak.com_0.json +0 -28
  44. package/tests/generated/auto_AU_flysas.com_r1s.spec.ts +0 -2
  45. package/tests/generated/auto_CH_airbnb.de_83z.spec.ts +0 -2
  46. package/tests/generated/auto_US_newsbreak.com_0.spec.ts +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckduckgo/autoconsent",
3
- "version": "16.60.0",
3
+ "version": "16.61.0",
4
4
  "description": "",
5
5
  "types": "./dist/types/web.d.ts",
6
6
  "exports": {
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "airbnb",
3
+ "vendorUrl": "https://www.airbnb.com/",
4
+ "runContext": { "urlPattern": "^https?://(www\\.)?airbnb\\.[a-z.]+/" },
5
+ "prehideSelectors": ["[data-testid=\"main-cookies-banner-container\"]"],
6
+ "detectCmp": [
7
+ { "exists": "[data-testid=\"main-cookies-banner-container\"] section > div > div:nth-child(2) > div:nth-child(2) > button" }
8
+ ],
9
+ "detectPopup": [
10
+ { "visible": "[data-testid=\"main-cookies-banner-container\"] section > div > div:nth-child(2) > div:nth-child(2) > button" }
11
+ ],
12
+ "optIn": [
13
+ {
14
+ "waitForThenClick": "[data-testid=\"main-cookies-banner-container\"] section > div > div:nth-child(2) > div:nth-child(1) > button"
15
+ }
16
+ ],
17
+ "optOut": [
18
+ {
19
+ "waitForThenClick": "[data-testid=\"main-cookies-banner-container\"] section > div > div:nth-child(2) > div:nth-child(2) > button",
20
+ "retry": 5,
21
+ "retryInterval": 500,
22
+ "comment": "Only necessary; retry in case handlers are not attached yet"
23
+ }
24
+ ],
25
+ "test": [
26
+ {
27
+ "waitForVisible": "[data-testid=\"main-cookies-banner-container\"] section > div > div:nth-child(2) > div:nth-child(2) > button",
28
+ "timeout": 1000,
29
+ "check": "none"
30
+ }
31
+ ]
32
+ }
@@ -18,7 +18,12 @@
18
18
  ],
19
19
  "optOut": [
20
20
  {
21
- "waitForThenClick": ["iframe[title='Consent window']", ".button__refuseAll"]
21
+ "waitFor": ["iframe[title='Consent window']", ".button__refuseAll, .button__skip"]
22
+ },
23
+ {
24
+ "if": { "exists": ["iframe[title='Consent window']", ".button__refuseAll"] },
25
+ "then": [{ "click": ["iframe[title='Consent window']", ".button__refuseAll"] }],
26
+ "else": [{ "click": ["iframe[title='Consent window']", ".button__skip"] }]
22
27
  }
23
28
  ],
24
29
  "test": [
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "com-consent-layer",
3
+ "vendorUrl": "https://www.comdirect.de/",
4
+ "prehideSelectors": ["com-consent-layer"],
5
+ "detectCmp": [{ "exists": ["com-consent-layer", "dialog"] }],
6
+ "detectPopup": [{ "visible": ["com-consent-layer", "dialog[open]"] }],
7
+ "optIn": [{ "waitForThenClick": ["com-consent-layer", "#cmpAcceptAll"] }],
8
+ "optOut": [{ "waitForThenClick": ["com-consent-layer", "#cmpDenyAll"] }],
9
+ "test": [{ "waitForVisible": ["com-consent-layer", "dialog[open]"], "timeout": 1000, "check": "none" }]
10
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "fastweb-cookie-center",
3
+ "vendorUrl": "https://www.fastweb.it/",
4
+ "prehideSelectors": ["iframe.ck_if"],
5
+ "detectCmp": [{ "exists": "iframe.ck_if[title='Cookie center']" }],
6
+ "detectPopup": [{ "visible": "html.ck_panel iframe.ck_if[style*='visibility: visible']" }],
7
+ "optIn": [{ "waitForThenClick": ["iframe.ck_if", ".info .btn_accetta"] }],
8
+ "optOut": [
9
+ { "waitForThenClick": ["iframe.ck_if", "#Main > .close img"] },
10
+ { "waitForVisible": "iframe.ck_if", "check": "none", "timeout": 5000 }
11
+ ],
12
+ "test": [{ "visible": "html.ck_panel iframe.ck_if", "check": "none" }]
13
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "futurabolzano.it",
3
+ "vendorUrl": "https://futurabolzano.it/",
4
+ "cosmetic": true,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(www\\.)?futurabolzano\\.it/"
7
+ },
8
+ "prehideSelectors": ["#privacy_modal"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "#privacy_modal"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "#privacy_modal"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "click": "body"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "hide": "#privacy_modal"
27
+ }
28
+ ],
29
+ "test": [
30
+ {
31
+ "visible": "#privacy_modal",
32
+ "check": "none"
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "gobasic",
3
+ "vendorUrl": "https://www.gopublic.dk/",
4
+ "prehideSelectors": [".cookie-banner[data-available-cookies]"],
5
+ "detectCmp": [{ "exists": ".cookie-banner[data-available-cookies] .reject-cookies" }],
6
+ "detectPopup": [{ "visible": ".cookie-banner[data-available-cookies] .reject-cookies" }],
7
+ "optIn": [{ "waitForThenClick": ".cookie-banner[data-available-cookies] .accept-cookies" }],
8
+ "optOut": [{ "waitForThenClick": ".cookie-banner[data-available-cookies] .reject-cookies" }],
9
+ "test": [{ "cookieContains": "CookieConsent=[]" }]
10
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "livsmedelsverket",
3
+ "vendorUrl": "https://www.livsmedelsverket.se/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?livsmedelsverket\\.se/"
6
+ },
7
+ "prehideSelectors": ["#cookie-banner"],
8
+ "detectCmp": [{ "exists": "#cookie-banner #cookie-consent-settings" }],
9
+ "detectPopup": [{ "visible": "#cookie-banner #cookie-consent-view" }],
10
+ "optIn": [{ "waitForThenClick": "#cookie-banner #cookie-consent-accept" }],
11
+ "optOut": [
12
+ { "waitForThenClick": "#cookie-banner #cookie-consent-settings" },
13
+ { "waitForVisible": "#cookie-banner #cookie-settings-view" },
14
+ { "click": "#cookie-form input[type=checkbox]:checked:not(:disabled)", "all": true, "optional": true },
15
+ { "click": "#cookie-banner #cookie-settings-save" }
16
+ ],
17
+ "test": [{ "cookieContains": "analytic%3A0" }]
18
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "newsbreak",
3
+ "vendorUrl": "https://www.newsbreak.com/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": false,
8
+ "urlPattern": "^https?://(www\\.)?newsbreak\\.com/"
9
+ },
10
+ "prehideSelectors": [],
11
+ "detectCmp": [{ "exists": "button[aria-label='Close cookie banner']" }],
12
+ "detectPopup": [{ "visible": "button[aria-label='Close cookie banner']" }],
13
+ "optIn": [{ "waitForThenClick": "button[aria-label='Close cookie banner']" }],
14
+ "optOut": [{ "waitForThenClick": "button[aria-label='Close cookie banner']", "comment": "notice only offers a close (X) button" }],
15
+ "test": [{ "waitForVisible": "button[aria-label='Close cookie banner']", "check": "none", "timeout": 2000 }]
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "nhsapp",
3
+ "runContext": { "urlPattern": "^https?://(\\w+\\.)?nhsapp\\.service\\.nhs\\.uk/" },
4
+ "prehideSelectors": ["#cookie-banner.nhsuk-cookie-banner"],
5
+ "detectCmp": [{ "exists": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
6
+ "detectPopup": [{ "visible": "#cookie-banner [data-qa=\"cookie-banner\"]" }],
7
+ "optIn": [{ "waitForThenClick": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
8
+ "optOut": [{ "waitForThenClick": "#cookie-banner [data-qa=\"cookie-banner-close\"]" }],
9
+ "test": [{ "waitForVisible": "#cookie-banner [data-qa=\"cookie-banner\"]", "timeout": 1000, "check": "none" }]
10
+ }
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "name": "sas",
3
3
  "vendorUrl": "https://www.flysas.com/",
4
- "prehideSelectors": ["s4s-privacy-module"],
4
+ "prehideSelectors": ["dialog[aria-labelledby='cookie-dialog-title']:has(#deny-consent-button)"],
5
5
  "detectCmp": [
6
6
  {
7
- "exists": "s4s-privacy-module"
7
+ "exists": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button"
8
8
  }
9
9
  ],
10
10
  "detectPopup": [
11
11
  {
12
- "visible": "s4s-privacy-module"
12
+ "visible": "dialog[aria-labelledby='cookie-dialog-title'][open]"
13
13
  }
14
14
  ],
15
15
  "optIn": [
16
16
  {
17
- "waitForThenClick": "s4s-privacy-module button.accept"
17
+ "waitForThenClick": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button ~ button:last-child"
18
18
  }
19
19
  ],
20
20
  "optOut": [
21
21
  {
22
- "waitForThenClick": "s4s-privacy-module button.decline"
22
+ "waitForThenClick": "dialog[aria-labelledby='cookie-dialog-title'] #deny-consent-button"
23
23
  }
24
24
  ],
25
25
  "test": [
26
26
  {
27
- "cookieContains": "_cookieanalytics"
27
+ "cookieContains": "%22marketing%22%3Afalse"
28
28
  }
29
29
  ]
30
30
  }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "scb.se",
3
+ "vendorUrl": "https://www.scb.se/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?scb\\.se/"
6
+ },
7
+ "prehideSelectors": ["#kakrutan"],
8
+ "detectCmp": [{ "exists": "#kakrutan scb-button[value='inget']" }],
9
+ "detectPopup": [{ "visible": "#kakrutan" }],
10
+ "optIn": [{ "waitForThenClick": ["#kakrutan scb-button[value='allt']", "button"] }],
11
+ "optOut": [{ "waitForThenClick": ["#kakrutan scb-button[value='inget']", "button"] }],
12
+ "test": [{ "visible": "#kakrutan", "check": "none" }]
13
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "studentapan",
3
+ "_metadata": { "vendorUrl": "https://www.studentapan.se/" },
4
+ "runContext": { "urlPattern": "^https?://(www\\.)?studentapan\\.se/" },
5
+ "prehideSelectors": ["dialog[class*=\"CookieModal-module\"]"],
6
+ "detectCmp": [{ "exists": "dialog[class*=\"CookieModal-module\"]" }],
7
+ "detectPopup": [{ "visible": "dialog[class*=\"CookieModal-module\"]" }],
8
+ "optIn": [{ "waitForThenClick": "dialog[class*=\"CookieModal-module\"] button[class*=\"__primaryButton\"]" }],
9
+ "optOut": [
10
+ { "waitForThenClick": "dialog[class*=\"CookieModal-module\"] button[class*=\"__secondaryButton\"]" },
11
+ { "waitForVisible": "[role=\"dialog\"] [class*=\"SettingsModal-module\"]" },
12
+ { "click": "[role=\"dialog\"] [class*=\"SettingsModal-module\"] input[type=\"checkbox\"]:checked", "all": true, "optional": true },
13
+ { "waitForThenClick": "[role=\"dialog\"]:has([class*=\"SettingsModal-module\"]) [class*=\"__footer\"] button" }
14
+ ],
15
+ "test": [{ "cookieContains": "targTK=false" }]
16
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "tv2reg-cookie-notice",
3
+ "prehideSelectors": ["[x-data^='cookieNotice('] > .fixed"],
4
+ "detectCmp": [
5
+ {
6
+ "exists": "[x-data^='cookieNotice('][x-data*='tv2reg_cookie_consent']"
7
+ },
8
+ {
9
+ "exists": "[x-data^='cookieNotice('] button[\\@click='acceptNecessary'], [x-data^='cookieNotice('] button[x-on\\:click='acceptNecessary']"
10
+ }
11
+ ],
12
+ "detectPopup": [
13
+ {
14
+ "visible": "[x-data^='cookieNotice('] button[\\@click='acceptNecessary'], [x-data^='cookieNotice('] button[x-on\\:click='acceptNecessary']",
15
+ "check": "any"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "[x-data^='cookieNotice('] button[x-on\\:click='acceptAll'], [x-data^='cookieNotice('] button[\\@click='acceptAll']"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "[x-data^='cookieNotice('] button[\\@click='acceptNecessary'], [x-data^='cookieNotice('] button[x-on\\:click='acceptNecessary']"
26
+ },
27
+ {
28
+ "waitForVisible": "[x-data^='cookieNotice('] button[\\@click='acceptNecessary'], [x-data^='cookieNotice('] button[x-on\\:click='acceptNecessary']",
29
+ "check": "none",
30
+ "timeout": 2000,
31
+ "optional": true
32
+ }
33
+ ],
34
+ "test": [
35
+ {
36
+ "cookieContains": "\"handle\":\"marketing\",\"value\":false"
37
+ }
38
+ ]
39
+ }