@duckduckgo/autoconsent 16.61.0 → 16.62.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 (129) hide show
  1. package/.node-version +1 -1
  2. package/CHANGELOG.md +75 -0
  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/acos-cms.json +14 -0
  14. package/rules/autoconsent/adnuntius.json +31 -0
  15. package/rules/autoconsent/adstate.json +32 -0
  16. package/rules/autoconsent/aslroma1-it.json +36 -0
  17. package/rules/autoconsent/bancaditalia.json +29 -0
  18. package/rules/autoconsent/banknorwegian.json +19 -0
  19. package/rules/autoconsent/batteriexperten-com.json +34 -0
  20. package/rules/autoconsent/bold-cookie-consent.json +64 -0
  21. package/rules/autoconsent/bosch-dock-privacy-settings.json +10 -0
  22. package/rules/autoconsent/bullionbypost.json +113 -0
  23. package/rules/autoconsent/buonmedico.json +32 -0
  24. package/rules/autoconsent/coki61.json +29 -0
  25. package/rules/autoconsent/compricer.json +19 -0
  26. package/rules/autoconsent/concordia-ch.json +13 -0
  27. package/rules/autoconsent/consentaur.json +30 -0
  28. package/rules/autoconsent/consentmagic.json +62 -0
  29. package/rules/autoconsent/cookie-notice-checkboxes.json +28 -0
  30. package/rules/autoconsent/cookie-script.json +8 -6
  31. package/rules/autoconsent/ecoprivacy.json +42 -0
  32. package/rules/autoconsent/emr-ch.json +16 -0
  33. package/rules/autoconsent/evozen.fr.json +27 -0
  34. package/rules/autoconsent/fideuram.json +13 -0
  35. package/rules/autoconsent/finsweet.json +15 -4
  36. package/rules/autoconsent/fondoest.it.json +16 -0
  37. package/rules/autoconsent/fonts-google-com.json +24 -0
  38. package/rules/autoconsent/giustizia-it.json +40 -0
  39. package/rules/autoconsent/gnoccaforum.json +12 -0
  40. package/rules/autoconsent/idoctors.it.json +21 -0
  41. package/rules/autoconsent/ihavecookies.json +20 -0
  42. package/rules/autoconsent/iisvaldagno.json +35 -0
  43. package/rules/autoconsent/incomit.json +30 -0
  44. package/rules/autoconsent/ing-de.json +1 -1
  45. package/rules/autoconsent/io.no.json +36 -0
  46. package/rules/autoconsent/jollyroom.json +47 -0
  47. package/rules/autoconsent/klp-cookie-banner.json +32 -0
  48. package/rules/autoconsent/krieger-consent-form.json +12 -0
  49. package/rules/autoconsent/kulturit-ccm.json +11 -0
  50. package/rules/autoconsent/lexbase-se.json +35 -0
  51. package/rules/autoconsent/massaggiamilano.json +15 -0
  52. package/rules/autoconsent/mercedes-benz-cmm.json +55 -0
  53. package/rules/autoconsent/nojazz.json +25 -0
  54. package/rules/autoconsent/octopusenergy-it.json +24 -0
  55. package/rules/autoconsent/opencmp.json +70 -0
  56. package/rules/autoconsent/pharmasave.json +13 -0
  57. package/rules/autoconsent/praktikertjanst.json +16 -0
  58. package/rules/autoconsent/qtip-jgrowl-cookies.json +31 -0
  59. package/rules/autoconsent/refurbed.json +40 -0
  60. package/rules/autoconsent/rinkabyror-se.json +29 -0
  61. package/rules/autoconsent/sfanytime.json +47 -0
  62. package/rules/autoconsent/smartweb.json +18 -0
  63. package/rules/autoconsent/sourcepoint-top.json +6 -6
  64. package/rules/autoconsent/trustarc-newcm.json +4 -4
  65. package/rules/autoconsent/umcg.json +16 -0
  66. package/rules/autoconsent/unive.it.json +62 -0
  67. package/rules/autoconsent/vergelijkgroep.json +37 -0
  68. package/rules/autoconsent/widiba.json +16 -0
  69. package/rules/autoconsent/wimc-gtm-consent.json +31 -0
  70. package/rules/autoconsent/xlbygg.se.json +44 -0
  71. package/rules/compact-rules.json +1 -1
  72. package/rules/rule-index.json +1 -1
  73. package/rules/rules.json +1 -1
  74. package/tests/acos-cms.spec.ts +9 -0
  75. package/tests/adnuntius.spec.ts +8 -0
  76. package/tests/adstate.spec.ts +7 -0
  77. package/tests/aslroma1-it.spec.ts +3 -0
  78. package/tests/bancaditalia.spec.ts +15 -0
  79. package/tests/banknorwegian.spec.ts +13 -0
  80. package/tests/batteriexperten-com.spec.ts +10 -0
  81. package/tests/bold-cookie-consent.spec.ts +14 -0
  82. package/tests/bosch-dock-privacy-settings.spec.ts +8 -0
  83. package/tests/bullionbypost.spec.ts +17 -0
  84. package/tests/buonmedico.spec.ts +3 -0
  85. package/tests/coki61.spec.ts +3 -0
  86. package/tests/compricer.spec.ts +3 -0
  87. package/tests/concordia-ch.spec.ts +3 -0
  88. package/tests/consentaur.spec.ts +6 -0
  89. package/tests/consentmagic.spec.ts +10 -0
  90. package/tests/cookie-notice-checkboxes.spec.ts +13 -0
  91. package/tests/cookie-script.spec.ts +4 -0
  92. package/tests/ecoprivacy.spec.ts +8 -0
  93. package/tests/emr-ch.spec.ts +3 -0
  94. package/tests/evozen.fr.spec.ts +3 -0
  95. package/tests/fideuram.spec.ts +3 -0
  96. package/tests/finsweet.spec.ts +5 -1
  97. package/tests/fondoest.it.spec.ts +6 -0
  98. package/tests/fonts-google-com.spec.ts +5 -0
  99. package/tests/giustizia-it.spec.ts +15 -0
  100. package/tests/gnoccaforum.spec.ts +3 -0
  101. package/tests/idoctors.it.spec.ts +3 -0
  102. package/tests/ihavecookies.spec.ts +3 -0
  103. package/tests/iisvaldagno.spec.ts +3 -0
  104. package/tests/incomit.spec.ts +8 -0
  105. package/tests/io.no.spec.ts +3 -0
  106. package/tests/jollyroom.spec.ts +9 -0
  107. package/tests/klp-cookie-banner.spec.ts +5 -0
  108. package/tests/krieger-consent-form.spec.ts +3 -0
  109. package/tests/kulturit-ccm.spec.ts +3 -0
  110. package/tests/lexbase-se.spec.ts +5 -0
  111. package/tests/massaggiamilano.spec.ts +3 -0
  112. package/tests/mercedes-benz-cmm.spec.ts +12 -0
  113. package/tests/nojazz.spec.ts +7 -0
  114. package/tests/octopusenergy-it.spec.ts +3 -0
  115. package/tests/opencmp.spec.ts +22 -0
  116. package/tests/pharmasave.spec.ts +3 -0
  117. package/tests/praktikertjanst.spec.ts +3 -0
  118. package/tests/qtip-jgrowl-cookies.spec.ts +9 -0
  119. package/tests/refurbed.spec.ts +10 -0
  120. package/tests/rinkabyror-se.spec.ts +3 -0
  121. package/tests/sfanytime.spec.ts +3 -0
  122. package/tests/smartweb.spec.ts +17 -0
  123. package/tests/trustarc-newcm.spec.ts +9 -5
  124. package/tests/umcg.spec.ts +3 -0
  125. package/tests/unive.it.spec.ts +3 -0
  126. package/tests/vergelijkgroep.spec.ts +3 -0
  127. package/tests/widiba.spec.ts +3 -0
  128. package/tests/wimc-gtm-consent.spec.ts +3 -0
  129. package/tests/xlbygg.se.spec.ts +3 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "octopusenergy-it",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(www\\.)?octopusenergy\\.it/"
5
+ },
6
+ "prehideSelectors": [],
7
+ "detectCmp": [{ "exists": "xpath///button[contains(., 'Imposta le tue preferenze')]" }],
8
+ "detectPopup": [{ "visible": "xpath///button[contains(., 'Imposta le tue preferenze')]" }],
9
+ "optIn": [{ "waitForThenClick": "xpath///button[contains(., 'Accetta tutto')]" }],
10
+ "optOut": [
11
+ { "waitForThenClick": "xpath///button[contains(., 'Imposta le tue preferenze')]" },
12
+ { "waitFor": "input[data-part='checkbox-input'][name='analytics']" },
13
+ {
14
+ "if": { "exists": "input[data-part='checkbox-input'][name='analytics']:checked" },
15
+ "then": [{ "click": "input[data-part='checkbox-input'][name='analytics']" }]
16
+ },
17
+ {
18
+ "if": { "exists": "input[data-part='checkbox-input'][name='marketing']:checked" },
19
+ "then": [{ "click": "input[data-part='checkbox-input'][name='marketing']" }]
20
+ },
21
+ { "waitForThenClick": "xpath///button[contains(., 'Salva le mie impostazioni')]" }
22
+ ],
23
+ "test": [{ "cookieContains": "cookie_consent=a%3D0%26m%3D0" }]
24
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "opencmp",
3
+ "vendorUrl": "https://opencmp.net/",
4
+ "prehideSelectors": [],
5
+ "detectCmp": [
6
+ {
7
+ "exists": [".cmp-root-container", "#cmp_consentDialog .cmp_ui .cmp_mainButtons"]
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": [".cmp-root-container", "#cmp_consentDialog .cmp_ui"]
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp-button-accept-all"]
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "if": {
23
+ "exists": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_button:not(.cmp-button-accept-all)"]
24
+ },
25
+ "then": [
26
+ {
27
+ "click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_button:not(.cmp-button-accept-all)"]
28
+ }
29
+ ],
30
+ "else": [
31
+ {
32
+ "click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_saveLink a"]
33
+ },
34
+ {
35
+ "waitFor": [".cmp-root-container", ".cmp_ui .cmp_level1Container"],
36
+ "timeout": 3000
37
+ },
38
+ {
39
+ "click": [".cmp-root-container", ".cmp_ui .cmp_activateAll button:nth-child(2)"],
40
+ "all": true,
41
+ "optional": true
42
+ },
43
+ {
44
+ "click": [".cmp-root-container", ".cmp_ui .cmp_level1Container .cmp_levelItem:nth-child(2) > div"],
45
+ "optional": true
46
+ },
47
+ {
48
+ "waitFor": [".cmp-root-container", ".cmp_ui .cmp_level1Container .cmp_levelItem.cmp_active:nth-child(2)"],
49
+ "timeout": 2000,
50
+ "optional": true
51
+ },
52
+ {
53
+ "click": [".cmp-root-container", ".cmp_ui .cmp_activateAll button:nth-child(2)"],
54
+ "all": true,
55
+ "optional": true
56
+ },
57
+ {
58
+ "click": [".cmp-root-container", ".cmp_ui .cmp_mainButtons .cmp_saveLink a"]
59
+ }
60
+ ]
61
+ }
62
+ ],
63
+ "test": [
64
+ {
65
+ "waitForVisible": [".cmp-root-container", "#cmp_consentDialog .cmp_ui"],
66
+ "timeout": 2000,
67
+ "check": "none"
68
+ }
69
+ ]
70
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "pharmasave",
3
+ "runContext": { "urlPattern": "^https?://(www\\.)?pharmasave\\.com/" },
4
+ "prehideSelectors": [".cookie-consent-popup"],
5
+ "detectCmp": [{ "exists": ".cookie-consent-popup .cookie-consent-accept" }],
6
+ "detectPopup": [{ "visible": ".cookie-consent-popup .cookie-consent-accept" }],
7
+ "optIn": [{ "waitForThenClick": ".cookie-consent-popup .cookie-consent-accept .elementor-button", "retry": 10, "retryInterval": 500 }],
8
+ "optOut": [
9
+ { "waitForThenClick": ".cookie-consent-popup .cookie-consent-accept .elementor-button", "retry": 10, "retryInterval": 500 },
10
+ { "waitForVisible": ".cookie-consent-popup", "check": "none" }
11
+ ],
12
+ "test": [{ "cookieContains": "cookie_consent=accepted" }]
13
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "praktikertjanst",
3
+ "vendorUrl": "https://www.praktikertjanst.se/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?praktikertjanst\\.se/"
6
+ },
7
+ "prehideSelectors": ["#tc-banner"],
8
+ "detectCmp": [{ "exists": "#tc-consent #tc-banner" }],
9
+ "detectPopup": [{ "visible": "#tc-banner .tc-accept-btn" }],
10
+ "optIn": [{ "waitForThenClick": "#tc-banner .tc-accept-all-btn" }],
11
+ "optOut": [
12
+ { "click": ".tc-checkbox:checked:not([disabled])", "all": true, "optional": true },
13
+ { "waitForThenClick": "#tc-banner .tc-accept-btn" }
14
+ ],
15
+ "test": [{ "cookieContains": "UserConsentedToTastyCookies=[\"nodvandiga\"]" }]
16
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "qtip-jgrowl-cookies",
3
+ "prehideSelectors": [],
4
+ "detectCmp": [
5
+ {
6
+ "exists": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]"
7
+ }
8
+ ],
9
+ "detectPopup": [
10
+ {
11
+ "visible": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]"
12
+ }
13
+ ],
14
+ "optIn": [
15
+ {
16
+ "waitForThenClick": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]//a[contains(@class,'qtip-close')]"
17
+ }
18
+ ],
19
+ "optOut": [
20
+ {
21
+ "waitForThenClick": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]//a[contains(@class,'qtip-close')]"
22
+ }
23
+ ],
24
+ "test": [
25
+ {
26
+ "waitForVisible": "xpath///div[@id='qtip-growl-container']/div[contains(@class,'qtip-jgrowl')][.//div[contains(@class,'qtip-title')][contains(., 'ookie')]]",
27
+ "check": "none",
28
+ "timeout": 2000
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "refurbed",
3
+ "runContext": {
4
+ "urlPattern": "^https?://(www\\.)?refurbed\\.(com|co\\.uk|[a-z]{2})/"
5
+ },
6
+ "prehideSelectors": ["#cookiebanner"],
7
+ "detectCmp": [
8
+ {
9
+ "exists": "#cookiebanner #acceptNecessaryCookiesBtn"
10
+ }
11
+ ],
12
+ "detectPopup": [
13
+ {
14
+ "visible": "#cookiebanner"
15
+ }
16
+ ],
17
+ "optIn": [
18
+ {
19
+ "waitForThenClick": "#cookiebanner #acceptAllCookiesBtn"
20
+ }
21
+ ],
22
+ "optOut": [
23
+ {
24
+ "waitForThenClick": "#cookiebanner #acceptNecessaryCookiesBtn"
25
+ },
26
+ {
27
+ "waitForVisible": "#cookiebanner",
28
+ "check": "none",
29
+ "timeout": 2000
30
+ }
31
+ ],
32
+ "test": [
33
+ {
34
+ "cookieContains": "refbConsent={%22categories%22:[%22necessary%22]%2C"
35
+ },
36
+ {
37
+ "cookieContains": "%22consent_date%22:1"
38
+ }
39
+ ]
40
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "rinkabyror-se",
3
+ "vendorUrl": "https://www.rinkabyror.se/",
4
+ "cosmetic": true,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(www\\.)?rinkabyror\\.se/"
7
+ },
8
+ "prehideSelectors": ["#cookie_container"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "#cookie_container #accept_cookies_btn"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "#cookie_container"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": "#accept_cookies_btn"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "hide": "#cookie_container"
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "sfanytime",
3
+ "_metadata": {
4
+ "vendorUrl": "https://www.sfanytime.com/"
5
+ },
6
+ "runContext": {
7
+ "urlPattern": "^https?://(www\\.)?sfanytime\\.com/"
8
+ },
9
+ "prehideSelectors": ["[data-testid=\"cookie-banner\"]"],
10
+ "detectCmp": [
11
+ {
12
+ "exists": "[data-testid=\"cookie-banner\"]"
13
+ }
14
+ ],
15
+ "detectPopup": [
16
+ {
17
+ "visible": "[data-testid=\"cookie-banner\"]"
18
+ }
19
+ ],
20
+ "optIn": [
21
+ {
22
+ "waitForThenClick": "[data-testid=\"cookie-banner\"] button + button"
23
+ }
24
+ ],
25
+ "optOut": [
26
+ {
27
+ "waitForThenClick": "[data-testid=\"cookie-banner\"] button:has(+ button)"
28
+ },
29
+ {
30
+ "waitForVisible": "dialog[open]:has(input[name^=\"cookiesetting.\"])"
31
+ },
32
+ {
33
+ "click": "dialog[open] input[name^=\"cookiesetting.\"]:checked:not([disabled])",
34
+ "all": true,
35
+ "optional": true
36
+ },
37
+ {
38
+ "waitForThenClick": "dialog[open]:has(input[name^=\"cookiesetting.\"]) > div > div.p-4 > button"
39
+ }
40
+ ],
41
+ "test": [
42
+ {
43
+ "visible": "[data-testid=\"cookie-banner\"]",
44
+ "check": "none"
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "smartweb",
3
+ "vendorUrl": "https://www.smartweb.dk/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": false
8
+ },
9
+ "prehideSelectors": [".w-cookie"],
10
+ "detectCmp": [{ "exists": ".w-cookie-modal .w-cookie-actions button[name=accept]" }],
11
+ "detectPopup": [{ "visible": ".w-cookie-modal .w-cookie-form" }],
12
+ "optIn": [{ "waitForThenClick": ".w-cookie-modal .w-cookie-actions button[name=accept_all]" }],
13
+ "optOut": [
14
+ { "click": ".w-cookie-modal .w-cookie-option input[type=checkbox]:checked:not([disabled])", "all": true, "optional": true },
15
+ { "waitForThenClick": ".w-cookie-modal .w-cookie-actions button[name=accept]" }
16
+ ],
17
+ "test": [{ "cookieContains": "cookie_consent=REQUIRED" }]
18
+ }
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "sourcepoint-top",
3
3
  "vendorUrl": "https://www.sourcepoint.com/",
4
- "comment": "Top-frame companion to Sourcepoint-frame. The message UI lives in a cross-origin iframe, so the top frame cannot tell an ordinary notice from a 'consent or pay' wall that Sourcepoint-frame has to bail on; hide it either way and undo the scroll lock. Hiding uses visibility rather than display so the iframe keeps its layout and the frame rule can still complete a real rejection underneath, with z-index and pointer-events mirroring the built-in hide step. The scroll lock is undone twice over: removeClass restores each site's own layout in the normal case, and the stylesheet neutralises the lock declarations if Sourcepoint re-adds the class later (it does so on pageshow after a back/forward restore, which autoconsent does not re-run for). Sourcepoint also saves the scroll position before locking and scrolls back to it when it unlocks: the eval step restores that position (the lock can clamp it to the top when a back navigation reloads the page) and clears it, so Sourcepoint does not later scroll to a stale value such as the top after a back/forward restore.",
4
+ "comment": "Top-frame companion to Sourcepoint-frame. The message UI lives in a cross-origin iframe, so the top frame cannot tell an ordinary notice from a 'consent or pay' wall that Sourcepoint-frame has to bail on; hide it either way and undo the scroll lock. Only overlay messages, which Sourcepoint appends to body, are matched: an embedded message rendered inside the page's own consent wall is left alone, since hiding it would remove the wall's only consent control. Hiding uses visibility rather than display so the iframe keeps its layout and the frame rule can still complete a real rejection underneath, with z-index and pointer-events mirroring the built-in hide step. The scroll lock is undone twice over: removeClass restores each site's own layout in the normal case, and the stylesheet neutralises the lock declarations if Sourcepoint re-adds the class later (it does so on pageshow after a back/forward restore, which autoconsent does not re-run for). Sourcepoint also saves the scroll position before locking and scrolls back to it when it unlocks: the eval step restores that position (the lock can clamp it to the top when a back navigation reloads the page) and clears it, so Sourcepoint does not later scroll to a stale value such as the top after a back/forward restore.",
5
5
  "minimumRuleStepVersion": 3,
6
6
  "runContext": {
7
7
  "main": true,
8
8
  "frame": false
9
9
  },
10
- "prehideSelectors": ["div[id^='sp_message_container_']"],
11
- "detectCmp": [{ "exists": "div[id^='sp_message_container_']" }],
12
- "detectPopup": [{ "visible": "div[id^='sp_message_container_']" }],
13
- "optIn": [{ "visible": "div[id^='sp_message_container_']", "check": "none" }],
10
+ "prehideSelectors": ["body > div[id^='sp_message_container_']"],
11
+ "detectCmp": [{ "exists": "body > div[id^='sp_message_container_']" }],
12
+ "detectPopup": [{ "visible": "body > div[id^='sp_message_container_']" }],
13
+ "optIn": [{ "visible": "body > div[id^='sp_message_container_']", "check": "none" }],
14
14
  "optOut": [
15
15
  {
16
- "stylesheet": "div[id^='sp_message_container_'] { visibility: hidden !important; z-index: -1 !important; pointer-events: none !important; }",
16
+ "stylesheet": "body > div[id^='sp_message_container_'] { visibility: hidden !important; z-index: -1 !important; pointer-events: none !important; }",
17
17
  "stylesheetId": "sourcepoint-top-hide"
18
18
  },
19
19
  {
@@ -4,23 +4,23 @@
4
4
  "prehideSelectors": [".truste_popframe.trustarc_newcm_container"],
5
5
  "detectCmp": [
6
6
  {
7
- "exists": [".truste_popframe.trustarc_newcm_container", "a.required, a.call"]
7
+ "exists": [".truste_popframe.trustarc_newcm_container", "a.required, a.call, button.required, button.call"]
8
8
  }
9
9
  ],
10
10
  "detectPopup": [
11
11
  {
12
- "visible": [".truste_popframe.trustarc_newcm_container", "a.required, a.call"],
12
+ "visible": [".truste_popframe.trustarc_newcm_container", "a.required, a.call, button.required, button.call"],
13
13
  "check": "any"
14
14
  }
15
15
  ],
16
16
  "optIn": [
17
17
  {
18
- "waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.call"]
18
+ "waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.call, button.call"]
19
19
  }
20
20
  ],
21
21
  "optOut": [
22
22
  {
23
- "waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.required"]
23
+ "waitForThenClick": [".truste_popframe.trustarc_newcm_container", "a.required, button.required"]
24
24
  }
25
25
  ],
26
26
  "test": [
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "umcg",
3
+ "vendorUrl": "https://www.umcg.nl/",
4
+ "prehideSelectors": [".cookie-notice-advanced"],
5
+ "detectCmp": [{ "exists": ".cookie-notice-advanced .cookie-bar #cookie-save" }],
6
+ "detectPopup": [{ "visible": ".cookie-notice-advanced .cookie-bar" }],
7
+ "optIn": [{ "waitForThenClick": ".cookie-notice-advanced #cookie-accept-all" }],
8
+ "optOut": [
9
+ {
10
+ "click": ".cookie-notice-advanced input:is(#social-cookies, #advertisement-cookies):checked",
11
+ "all": true,
12
+ "optional": true
13
+ },
14
+ { "waitForThenClick": ".cookie-notice-advanced #cookie-save" }
15
+ ]
16
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "unive.it",
3
+ "vendorUrl": "https://www.unive.it/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?unive\\.it/"
6
+ },
7
+ "cosmetic": false,
8
+ "prehideSelectors": ["#cookieModal"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "#cookieModal [onclick*=\"cookiesPolicy.selDefAndloadScript\"]"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "any": [
17
+ {
18
+ "visible": "#cookieModal [onclick*=\"cookiesPolicy.selDefAndloadScript\"]"
19
+ },
20
+ {
21
+ "cookieContains": "unive.it=1",
22
+ "negated": true
23
+ }
24
+ ]
25
+ }
26
+ ],
27
+ "optIn": [
28
+ {
29
+ "waitForVisible": "#cookieModal [onclick*=\"cookiesPolicy.selAllAndloadScript\"]",
30
+ "timeout": 15000
31
+ },
32
+ {
33
+ "waitForThenClick": "#cookieModal [onclick*=\"cookiesPolicy.selAllAndloadScript\"]",
34
+ "retry": 3,
35
+ "retryInterval": 500
36
+ }
37
+ ],
38
+ "optOut": [
39
+ {
40
+ "waitForVisible": "#cookieModal [onclick*=\"cookiesPolicy.selDefAndloadScript\"]",
41
+ "timeout": 15000
42
+ },
43
+ {
44
+ "waitForThenClick": "#cookieModal [onclick*=\"cookiesPolicy.selDefAndloadScript\"]",
45
+ "retry": 3,
46
+ "retryInterval": 500
47
+ }
48
+ ],
49
+ "test": [
50
+ {
51
+ "cookieContains": "unive.it=1"
52
+ },
53
+ {
54
+ "cookieContains": "noiframe=checked",
55
+ "negated": true
56
+ },
57
+ {
58
+ "cookieContains": "socialpix=checked",
59
+ "negated": true
60
+ }
61
+ ]
62
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "vergelijkgroep",
3
+ "_metadata": {
4
+ "vendorUrl": "https://vergelijkgroep.nl/"
5
+ },
6
+ "cosmetic": false,
7
+ "runContext": {
8
+ "main": true,
9
+ "frame": false
10
+ },
11
+ "prehideSelectors": ["#cookie_consent:has(#cookie_consent_details)"],
12
+ "detectCmp": [
13
+ {
14
+ "exists": "#cookie_consent #cookie_consent_details :is(#functional-cookie-accept, .functional-button)"
15
+ }
16
+ ],
17
+ "detectPopup": [
18
+ {
19
+ "visible": "#cookie_consent #cookie_consent_summary"
20
+ }
21
+ ],
22
+ "optIn": [
23
+ {
24
+ "waitForThenClick": "#cookie_consent_summary :is(#default-accept-button, #cookie-accept-button)"
25
+ }
26
+ ],
27
+ "optOut": [
28
+ {
29
+ "waitForThenClick": "#cookie_consent_details :is(#functional-cookie-accept, .functional-button)"
30
+ }
31
+ ],
32
+ "test": [
33
+ {
34
+ "cookieContains": "cookieconsent_status=accept_functional"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "widiba",
3
+ "vendorUrl": "https://www.widiba.it/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": true,
8
+ "urlPattern": "^https?://(www\\.)?widiba\\.it/"
9
+ },
10
+ "prehideSelectors": [".wd-cookie-banner.x-cookie-open"],
11
+ "detectCmp": [{ "exists": ".wd-cookie-banner" }],
12
+ "detectPopup": [{ "visible": ".wd-cookie-banner.x-cookie-open" }],
13
+ "optIn": [{ "waitForThenClick": ".wd-cookie-banner.x-cookie-open .wd-cookie-banner__buttons > a.wd-button:first-child" }],
14
+ "optOut": [{ "waitForThenClick": ".wd-cookie-banner.x-cookie-open .wd-cookie-banner__header__close" }],
15
+ "test": [{ "waitForVisible": ".wd-cookie-banner.x-cookie-open", "check": "none", "timeout": 2000 }]
16
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "wimc-gtm-consent",
3
+ "prehideSelectors": ["[data-gtm-consent-modal]"],
4
+ "detectCmp": [{ "exists": "[data-gtm-consent-modal]" }],
5
+ "detectPopup": [{ "visible": "[data-gtm-consent-modal].gtm-consent__modal--show" }],
6
+ "optIn": [
7
+ {
8
+ "if": { "exists": "[data-gtm-consent-modal] [data-gtm-consent-close]" },
9
+ "then": [{ "waitForThenClick": "[data-gtm-consent-modal] [data-gtm-consent-close]" }],
10
+ "else": [{ "waitForThenClick": "[data-gtm-consent-modal] [data-gtm-consent-submit]" }]
11
+ }
12
+ ],
13
+ "optOut": [
14
+ {
15
+ "if": { "exists": "[data-gtm-consent-modal] [data-gtm-consent-close]" },
16
+ "then": [{ "waitForThenClick": "[data-gtm-consent-modal] [data-gtm-consent-close]" }],
17
+ "else": [
18
+ { "waitForThenClick": "[data-gtm-consent-modal] [data-gtm-consent-toggle]" },
19
+ { "waitForVisible": "[data-gtm-consent-modal] [data-gtm-consent-details-section]", "timeout": 2000 },
20
+ {
21
+ "click": "[data-gtm-consent-modal] [data-gtm-consent-types-form] input[type=checkbox]:checked:not(:disabled)",
22
+ "all": true,
23
+ "optional": true
24
+ },
25
+ { "waitForThenClick": "[data-gtm-consent-modal] [data-gtm-consent-submit]" }
26
+ ]
27
+ },
28
+ { "waitForVisible": "[data-gtm-consent-modal].gtm-consent__modal--show", "check": "none", "timeout": 2000 }
29
+ ],
30
+ "test": [{ "cookieContains": "\"analytics_storage\":false" }, { "cookieContains": "\"ad_storage\":false" }]
31
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "xlbygg.se",
3
+ "vendorUrl": "https://www.xlbygg.se/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(\\w+\\.)?xlbygg\\.se/"
6
+ },
7
+ "prehideSelectors": [],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "form#consent-dialog button[data-testid=give-consent-button]"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "form#consent-dialog"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "form#consent-dialog button[data-testid=give-consent-button]"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "form#consent-dialog button[name=read-more]"
26
+ },
27
+ {
28
+ "waitForVisible": "form#consent-dialog fieldset"
29
+ },
30
+ {
31
+ "click": "form#consent-dialog fieldset input[type=checkbox]:checked:not([disabled])",
32
+ "all": true,
33
+ "optional": true
34
+ },
35
+ {
36
+ "click": "form#consent-dialog button[data-testid=give-consent-button]"
37
+ }
38
+ ],
39
+ "test": [
40
+ {
41
+ "cookieContains": "cookies_marketing_ok=false"
42
+ }
43
+ ]
44
+ }