@tilli-pro/cookieconsent-plugin 0.7.84 → 0.7.91

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 (63) hide show
  1. package/.cache/tsbuildinfo.json +1 -1
  2. package/demos/demo.html +2 -2
  3. package/demos/demo.min.html +1 -1
  4. package/demos/demo.styles.dark.html +2 -2
  5. package/demos/demo.styles.dark.min.html +1 -1
  6. package/demos/demo.styles.nudge-website.dark.html +2 -2
  7. package/demos/demo.styles.nudge-website.dark.min.html +1 -1
  8. package/demos/demo.styles.nudge-website.light.html +2 -2
  9. package/demos/demo.styles.nudge-website.light.min.html +1 -1
  10. package/demos/demo.styles.nudge.dark.html +2 -2
  11. package/demos/demo.styles.nudge.dark.min.html +1 -1
  12. package/demos/demo.styles.nudge.light.html +2 -2
  13. package/demos/demo.styles.nudge.light.min.html +1 -1
  14. package/demos/demo.styles.tenant_con-edison.dark.html +2 -2
  15. package/demos/demo.styles.tenant_con-edison.dark.min.html +1 -1
  16. package/demos/demo.styles.tenant_con-edison.light.html +2 -2
  17. package/demos/demo.styles.tenant_con-edison.light.min.html +1 -1
  18. package/demos/demo.styles.tenant_freeman.dark.html +2 -2
  19. package/demos/demo.styles.tenant_freeman.dark.min.html +1 -1
  20. package/demos/demo.styles.tenant_freeman.light.html +2 -2
  21. package/demos/demo.styles.tenant_freeman.light.min.html +1 -1
  22. package/demos/demo.styles.tenant_frontier.dark.html +2 -2
  23. package/demos/demo.styles.tenant_frontier.dark.min.html +1 -1
  24. package/demos/demo.styles.tenant_frontier.light.html +2 -2
  25. package/demos/demo.styles.tenant_frontier.light.min.html +1 -1
  26. package/demos/demo.styles.tenant_oru.dark.html +2 -2
  27. package/demos/demo.styles.tenant_oru.dark.min.html +1 -1
  28. package/demos/demo.styles.tenant_oru.light.html +2 -2
  29. package/demos/demo.styles.tenant_oru.light.min.html +1 -1
  30. package/demos/demo.styles.tilli-pay.dark.html +2 -2
  31. package/demos/demo.styles.tilli-pay.dark.min.html +1 -1
  32. package/demos/demo.styles.tilli-pay.light.html +2 -2
  33. package/demos/demo.styles.tilli-pay.light.min.html +1 -1
  34. package/demos/demo.styles.tilli-website.dark.html +2 -2
  35. package/demos/demo.styles.tilli-website.dark.min.html +1 -1
  36. package/demos/demo.styles.tilli-website.light.html +2 -2
  37. package/demos/demo.styles.tilli-website.light.min.html +1 -1
  38. package/dist/config/gui-options/html-components/TilliXCallout.js +1 -1
  39. package/dist/config/gui-options/scripts/cookiePrefsButtonDragObserver.d.ts.map +1 -1
  40. package/dist/config/gui-options/scripts/cookiePrefsButtonDragObserver.js +14 -6
  41. package/dist/config/gui-options/scripts/injectUTM.d.ts +38 -0
  42. package/dist/config/gui-options/scripts/injectUTM.d.ts.map +1 -0
  43. package/dist/config/gui-options/scripts/injectUTM.js +61 -0
  44. package/dist/config/translations/de/index.js +5 -5
  45. package/dist/config/translations/en/index.js +5 -5
  46. package/dist/config/translations/es/index.js +5 -5
  47. package/dist/config/translations/fr/index.js +5 -5
  48. package/dist/config/translations/it/index.js +5 -5
  49. package/dist/init/utils.d.ts.map +1 -1
  50. package/dist/init/utils.js +3 -0
  51. package/dist/init.d.ts +1 -1
  52. package/dist/init.js +2 -2
  53. package/package.json +1 -1
  54. package/src/config/gui-options/html-components/TilliXCallout.ts +1 -1
  55. package/src/config/gui-options/scripts/cookiePrefsButtonDragObserver.ts +16 -7
  56. package/src/config/gui-options/scripts/injectUTM.ts +112 -0
  57. package/src/config/translations/de/index.ts +5 -5
  58. package/src/config/translations/en/index.ts +5 -5
  59. package/src/config/translations/es/index.ts +5 -5
  60. package/src/config/translations/fr/index.ts +5 -5
  61. package/src/config/translations/it/index.ts +5 -5
  62. package/src/init/utils.ts +6 -1
  63. package/src/init.ts +2 -2
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ const DEFAULT_UTM_PARAMETERS = {
3
+ id: "tilli-cc",
4
+ source: "unknown",
5
+ medium: "unknown",
6
+ campaign: "unknown",
7
+ term: "unknown",
8
+ content: "tilli-cc-banner",
9
+ };
10
+ const A_TAG_IDS_TO_INJECT_UTM_PARAMETERS = [
11
+ /** powered by tilliX (callout) */
12
+ "tilli-cc-powered-by-tillix-link",
13
+ "tilli-cc-powered-by-tillix-link-preferences",
14
+ /** footer */
15
+ "tilli-cc-privacy-policy-link-footer",
16
+ "tilli-cc-terms-and-conditions-link-footer",
17
+ /** consent modal */
18
+ "tilli-cc-privacy-policy-link-consent",
19
+ "tilli-cc-privacy-policy-link-revision",
20
+ /** preferences modal */
21
+ "tilli-cc-privacy-policy-link-preferences",
22
+ ];
23
+ export const injectUTMParametersIntoATags = (maxAttempts = 30, attempt = 1) => {
24
+ const _preferences = {
25
+ ...DEFAULT_UTM_PARAMETERS,
26
+ source: new URL(window.location.href).hostname, // use the hostname of the current page as the source
27
+ };
28
+ const aTags = document.querySelectorAll("a");
29
+ aTags.forEach((aTag) => {
30
+ if (A_TAG_IDS_TO_INJECT_UTM_PARAMETERS.includes(aTag.id)) {
31
+ const parameters = aTag.id.endsWith("-preferences")
32
+ ? {
33
+ // handle the case where the a tag is via the preferences modal instead of the banner
34
+ ..._preferences,
35
+ content: _preferences.content.replace("-banner", "-preferences"),
36
+ }
37
+ : _preferences;
38
+ aTag.href = addUTMParameters(new URL(aTag.href), parameters).toString();
39
+ aTag.setAttribute("data-tilli-cc-utm-injected", "true");
40
+ }
41
+ });
42
+ if (attempt <= maxAttempts)
43
+ setTimeout(() => injectUTMParametersIntoATags(maxAttempts, attempt + 1), 1_000); // retry up to 3 times, handles edge case where the a tags are not yet loaded (e.g., for the preferences modal)
44
+ };
45
+ /**
46
+ * adds UTM parameters to a URL.
47
+ *
48
+ * - ⚠️ note: overrides existing UTM parameters (1. strips out all existing UTM parameters, 2. injects the new ones)
49
+ * - if "unknown" is provided for any parameter, it will just be stripped out from the resultant URL.
50
+ *
51
+ * @param {UTMParameters} parameters - The parameters for the UTM parameter.
52
+ */
53
+ export const addUTMParameters = (url, parameters = {}) => {
54
+ // strip out existing UTM parameters
55
+ url.searchParams.forEach((_, key) => key.startsWith("utm_") && url.searchParams.delete(key));
56
+ // add new parameters
57
+ Object.entries(parameters).forEach(([key, value]) => !!value &&
58
+ value !== "unknown" &&
59
+ url.searchParams.set(`utm_${key}`, value));
60
+ return url;
61
+ };
@@ -11,15 +11,15 @@ const COOKIE_TABLE_HEADERS = {
11
11
  export default {
12
12
  consentModal: {
13
13
  title: `${CookieIcon()} Cookie-Hinweis`,
14
- description: `{{revisionMessage}}Wir verwenden Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Unbedingt erforderliche Cookies sind für die Funktionalität dieser Website unerlässlich und können nicht deaktiviert werden. Andere Cookies erfordern Ihre Zustimmung. Durch Klicken auf "Alle akzeptieren" stimmen Sie der Verwendung von Cookies zu. Alternativ können Sie Ihre Cookie-Einstellungen verwalten, indem Sie unten auf die Schaltfläche "Einstellungen verwalten" klicken. Sie können Ihre Cookie-Einstellungen jederzeit über das Symbol ${CookieIcon(1, 0.5, 0, -0.3333)} in der unteren rechten Ecke überprüfen und aktualisieren. Weitere Informationen finden Sie in unserer <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.`,
14
+ description: `{{revisionMessage}}Wir verwenden Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Unbedingt erforderliche Cookies sind für die Funktionalität dieser Website unerlässlich und können nicht deaktiviert werden. Andere Cookies erfordern Ihre Zustimmung. Durch Klicken auf "Alle akzeptieren" stimmen Sie der Verwendung von Cookies zu. Alternativ können Sie Ihre Cookie-Einstellungen verwalten, indem Sie unten auf die Schaltfläche "Einstellungen verwalten" klicken. Sie können Ihre Cookie-Einstellungen jederzeit über das Symbol ${CookieIcon(1, 0.5, 0, -0.3333)} in der unteren rechten Ecke überprüfen und aktualisieren. Weitere Informationen finden Sie in unserer <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.`,
15
15
  acceptAllBtn: "Alle akzeptieren",
16
16
  acceptNecessaryBtn: "Nur unbedingt erforderliche",
17
17
  showPreferencesBtn: "Einstellungen verwalten",
18
18
  // closeIconLabel: "Schließen", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
19
- revisionMessage: `Unsere <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a> wurde kürzlich aktualisiert. <br><br> `,
19
+ revisionMessage: `Unsere <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a> wurde kürzlich aktualisiert. <br><br> `,
20
20
  footer: `
21
- <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>
22
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Allgemeine Geschäftsbedingungen</a>
21
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>
22
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Allgemeine Geschäftsbedingungen</a>
23
23
 
24
24
  ${TilliXCallout(__LANGUAGE__)}
25
25
  `,
@@ -33,7 +33,7 @@ export default {
33
33
  sections: [
34
34
  {
35
35
  title: "Verwendung von Cookies",
36
- description: 'Wir verwenden Cookies, um die grundlegende Funktionalität der Website zu gewährleisten und Ihre Online-Erfahrung zu verbessern. Sie können für jede Kategorie auswählen, ob Sie zustimmen oder ablehnen möchten. Weitere Informationen zu Cookies und anderen sensiblen Daten finden Sie in der vollständigen <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.',
36
+ description: 'Wir verwenden Cookies, um die grundlegende Funktionalität der Website zu gewährleisten und Ihre Online-Erfahrung zu verbessern. Sie können für jede Kategorie auswählen, ob Sie zustimmen oder ablehnen möchten. Weitere Informationen zu Cookies und anderen sensiblen Daten finden Sie in der vollständigen <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.',
37
37
  },
38
38
  {
39
39
  title: "Unbedingt erforderliche Cookies",
@@ -11,15 +11,15 @@ const COOKIE_TABLE_HEADERS = {
11
11
  export default {
12
12
  consentModal: {
13
13
  title: `${CookieIcon()} Cookie Notice`,
14
- description: `{{revisionMessage}}We use cookies to improve your experience on our website. Strictly necessary cookies are essential for this site's functionality and cannot be turned off. Other cookies require your consent. By clicking "Accept all," you consent to our use of cookies. Alternatively, you can manage your cookie preferences by selecting the "Manage preferences" button below. You can review and update your cookie preferences anytime via the ${CookieIcon(1, 0.5, 0, -0.3333)} icon in the bottom-right corner. Please read our <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> for more information.`,
14
+ description: `{{revisionMessage}}We use cookies to improve your experience on our website. Strictly necessary cookies are essential for this site's functionality and cannot be turned off. Other cookies require your consent. By clicking "Accept all," you consent to our use of cookies. Alternatively, you can manage your cookie preferences by selecting the "Manage preferences" button below. You can review and update your cookie preferences anytime via the ${CookieIcon(1, 0.5, 0, -0.3333)} icon in the bottom-right corner. Please read our <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> for more information.`,
15
15
  acceptAllBtn: "Accept all",
16
16
  acceptNecessaryBtn: "Strictly necessary only",
17
17
  showPreferencesBtn: "Manage preferences",
18
18
  // closeIconLabel: "Close", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
19
- revisionMessage: `Our <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> was recently updated. <br><br> `,
19
+ revisionMessage: `Our <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> was recently updated. <br><br> `,
20
20
  footer: `
21
- <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>
22
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Terms & Conditions</a>
21
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>
22
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Terms & Conditions</a>
23
23
 
24
24
  ${TilliXCallout(__LANGUAGE__)}
25
25
  `,
@@ -33,7 +33,7 @@ export default {
33
33
  sections: [
34
34
  {
35
35
  title: "Cookie Usage",
36
- description: 'We use cookies to ensure basic website functionality and to enhance your online experience. You can choose for each category to opt-in/out whenever you want. For more details relative to cookies and other sensitive data, please read the full <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>.',
36
+ description: 'We use cookies to ensure basic website functionality and to enhance your online experience. You can choose for each category to opt-in/out whenever you want. For more details relative to cookies and other sensitive data, please read the full <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>.',
37
37
  },
38
38
  {
39
39
  title: "Strictly necessary cookies",
@@ -11,15 +11,15 @@ const COOKIE_TABLE_HEADERS = {
11
11
  export default {
12
12
  consentModal: {
13
13
  title: `${CookieIcon()} Aviso de Cookies`,
14
- description: `{{revisionMessage}}Utilizamos cookies para mejorar tu experiencia en nuestro sitio web. Las cookies estrictamente necesarias son esenciales para el funcionamiento de este sitio y no se pueden desactivar. Otras cookies requieren tu consentimiento. Al hacer clic en "Aceptar todas", consientes el uso de nuestras cookies. Alternativamente, puedes gestionar tus preferencias de cookies seleccionando el botón "Gestionar preferencias" a continuación. Puedes revisar y actualizar tus preferencias de cookies en cualquier momento mediante el icono ${CookieIcon(1, 0.5, 0, -0.3333)} en la esquina inferior derecha. Por favor, lee nuestra <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> para más información.`,
14
+ description: `{{revisionMessage}}Utilizamos cookies para mejorar tu experiencia en nuestro sitio web. Las cookies estrictamente necesarias son esenciales para el funcionamiento de este sitio y no se pueden desactivar. Otras cookies requieren tu consentimiento. Al hacer clic en "Aceptar todas", consientes el uso de nuestras cookies. Alternativamente, puedes gestionar tus preferencias de cookies seleccionando el botón "Gestionar preferencias" a continuación. Puedes revisar y actualizar tus preferencias de cookies en cualquier momento mediante el icono ${CookieIcon(1, 0.5, 0, -0.3333)} en la esquina inferior derecha. Por favor, lee nuestra <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> para más información.`,
15
15
  acceptAllBtn: "Aceptar todas",
16
16
  acceptNecessaryBtn: "Solo estrictamente necesarias",
17
17
  showPreferencesBtn: "Gestionar preferencias",
18
18
  // closeIconLabel: "Cerrar", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
19
- revisionMessage: `Nuestra <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> se actualizó recientemente. <br><br> `,
19
+ revisionMessage: `Nuestra <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> se actualizó recientemente. <br><br> `,
20
20
  footer: `
21
- <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a>
22
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Términos y Condiciones</a>
21
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a>
22
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Términos y Condiciones</a>
23
23
 
24
24
  ${TilliXCallout(__LANGUAGE__)}
25
25
  `,
@@ -33,7 +33,7 @@ export default {
33
33
  sections: [
34
34
  {
35
35
  title: "Uso de cookies",
36
- description: 'Utilizamos cookies para garantizar la funcionalidad básica del sitio web y para mejorar tu experiencia en línea. Puedes elegir, para cada categoría, habilitarlas o deshabilitarlas cuando lo desees. Para más detalles relacionados con cookies y otros datos sensibles, por favor lee la <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> completa.',
36
+ description: 'Utilizamos cookies para garantizar la funcionalidad básica del sitio web y para mejorar tu experiencia en línea. Puedes elegir, para cada categoría, habilitarlas o deshabilitarlas cuando lo desees. Para más detalles relacionados con cookies y otros datos sensibles, por favor lee la <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> completa.',
37
37
  },
38
38
  {
39
39
  title: "Cookies estrictamente necesarias",
@@ -11,15 +11,15 @@ const COOKIE_TABLE_HEADERS = {
11
11
  export default {
12
12
  consentModal: {
13
13
  title: `${CookieIcon()} Notification sur les cookies`,
14
- description: `{{revisionMessage}}Nous utilisons des cookies pour améliorer votre expérience sur notre site. Les cookies strictement nécessaires sont essentiels au fonctionnement de ce site et ne peuvent pas être désactivés. Les autres cookies nécessitent votre consentement. En cliquant sur "Tout accepter", vous consentez à l'utilisation de nos cookies. Vous pouvez également gérer vos préférences en matière de cookies en sélectionnant le bouton "Gérer les préférences" ci-dessous. Vous pouvez consulter et mettre à jour vos préférences relatives aux cookies à tout moment via l'icône ${CookieIcon(1, 0.5, 0, -0.3333)} en bas à droite. Veuillez lire notre <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> pour plus d'informations.`,
14
+ description: `{{revisionMessage}}Nous utilisons des cookies pour améliorer votre expérience sur notre site. Les cookies strictement nécessaires sont essentiels au fonctionnement de ce site et ne peuvent pas être désactivés. Les autres cookies nécessitent votre consentement. En cliquant sur "Tout accepter", vous consentez à l'utilisation de nos cookies. Vous pouvez également gérer vos préférences en matière de cookies en sélectionnant le bouton "Gérer les préférences" ci-dessous. Vous pouvez consulter et mettre à jour vos préférences relatives aux cookies à tout moment via l'icône ${CookieIcon(1, 0.5, 0, -0.3333)} en bas à droite. Veuillez lire notre <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> pour plus d'informations.`,
15
15
  acceptAllBtn: "Tout accepter",
16
16
  acceptNecessaryBtn: "Strictement nécessaires uniquement",
17
17
  showPreferencesBtn: "Gérer les préférences",
18
18
  // closeIconLabel: "Fermer", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
19
- revisionMessage: `Notre <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> a récemment été mise à jour. <br><br> `,
19
+ revisionMessage: `Notre <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> a récemment été mise à jour. <br><br> `,
20
20
  footer: `
21
- <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>
22
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Conditions générales</a>
21
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>
22
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Conditions générales</a>
23
23
 
24
24
  ${TilliXCallout(__LANGUAGE__)}
25
25
  `,
@@ -33,7 +33,7 @@ export default {
33
33
  sections: [
34
34
  {
35
35
  title: "Utilisation des cookies",
36
- description: 'Nous utilisons des cookies pour garantir les fonctionnalités de base du site et améliorer votre expérience en ligne. Vous pouvez choisir d’activer/désactiver chaque catégorie à tout moment. Pour plus de détails sur les cookies et autres données sensibles, veuillez consulter la <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>.',
36
+ description: 'Nous utilisons des cookies pour garantir les fonctionnalités de base du site et améliorer votre expérience en ligne. Vous pouvez choisir d’activer/désactiver chaque catégorie à tout moment. Pour plus de détails sur les cookies et autres données sensibles, veuillez consulter la <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>.',
37
37
  },
38
38
  {
39
39
  title: "Cookies strictement nécessaires",
@@ -11,15 +11,15 @@ const COOKIE_TABLE_HEADERS = {
11
11
  export default {
12
12
  consentModal: {
13
13
  title: `${CookieIcon()} Informativa sui Cookie`,
14
- description: `{{revisionMessage}}Utilizziamo i cookie per migliorare la tua esperienza sul nostro sito web. I cookie strettamente necessari sono essenziali per il funzionamento di questo sito e non possono essere disattivati. Gli altri cookie richiedono il tuo consenso. Cliccando su "Accetta tutto", acconsenti all'uso dei cookie. In alternativa, puoi gestire le tue preferenze sui cookie selezionando il pulsante "Gestisci preferenze" qui sotto. Puoi rivedere e aggiornare le tue preferenze sui cookie in qualsiasi momento tramite l'icona ${CookieIcon(1, 0.5, 0, -0.3333)} nell'angolo in basso a destra. Ti invitiamo a leggere la nostra <a href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a> per ulteriori informazioni.`,
14
+ description: `{{revisionMessage}}Utilizziamo i cookie per migliorare la tua esperienza sul nostro sito web. I cookie strettamente necessari sono essenziali per il funzionamento di questo sito e non possono essere disattivati. Gli altri cookie richiedono il tuo consenso. Cliccando su "Accetta tutto", acconsenti all'uso dei cookie. In alternativa, puoi gestire le tue preferenze sui cookie selezionando il pulsante "Gestisci preferenze" qui sotto. Puoi rivedere e aggiornare le tue preferenze sui cookie in qualsiasi momento tramite l'icona ${CookieIcon(1, 0.5, 0, -0.3333)} nell'angolo in basso a destra. Ti invitiamo a leggere la nostra <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a> per ulteriori informazioni.`,
15
15
  acceptAllBtn: "Accetta tutto",
16
16
  acceptNecessaryBtn: "Solo strettamente necessari",
17
17
  showPreferencesBtn: "Gestisci preferenze",
18
18
  // closeIconLabel: "Chiudi", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
19
- revisionMessage: `La nostra <a href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a> è stata recentemente aggiornata. <br><br> `,
19
+ revisionMessage: `La nostra <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a> è stata recentemente aggiornata. <br><br> `,
20
20
  footer: `
21
- <a href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a>
22
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Termini e Condizioni</a>
21
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a>
22
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Termini e Condizioni</a>
23
23
 
24
24
  ${TilliXCallout(__LANGUAGE__)}
25
25
  `,
@@ -33,7 +33,7 @@ export default {
33
33
  sections: [
34
34
  {
35
35
  title: "Uso dei cookie",
36
- description: 'Utilizziamo i cookie per garantire la funzionalità di base del sito web e per migliorare la tua esperienza online. Puoi scegliere, per ogni categoria, se acconsentire o meno in qualsiasi momento. Per maggiori dettagli sui cookie e altri dati sensibili, consulta l\'intera <a href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a>.',
36
+ description: 'Utilizziamo i cookie per garantire la funzionalità di base del sito web e per migliorare la tua esperienza online. Puoi scegliere, per ogni categoria, se acconsentire o meno in qualsiasi momento. Per maggiori dettagli sui cookie e altri dati sensibili, consulta l\'intera <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Informativa sulla Privacy</a>.',
37
37
  },
38
38
  {
39
39
  title: "Cookie strettamente necessari",
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/init/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAI/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,eAAO,MAAM,UAAU,WACb,OAAO,aAAa,CAAC,GAAG,UACxB,mBAAmB,mBACV,iBAAiB,wBAiBnC,CAAC;AAEF,eAAO,MAAM,4CAA4C,iBACzC,mBAAmB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,cACjD,mBAAmB,CAAC,YAAY,CAAC,0BACtB,OAAO,KAC7B,mBAAmB,CAAC,UAAU,CAAC,CAAC,cAAc,CAkC9C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/init/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAK/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEzF,eAAO,MAAM,UAAU,WACb,OAAO,aAAa,CAAC,GAAG,UACxB,mBAAmB,mBACV,iBAAiB,wBAoBnC,CAAC;AAEF,eAAO,MAAM,4CAA4C,iBACzC,mBAAmB,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,cACjD,mBAAmB,CAAC,YAAY,CAAC,0BACtB,OAAO,KAC7B,mBAAmB,CAAC,UAAU,CAAC,CAAC,cAAc,CAmC9C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { injectReactRemoveScrollToggle } from "../config/gui-options/scripts/forceDisableReactRemoveScroll";
2
2
  import { injectManageCookiePrefsButton } from "../config/gui-options/scripts/injectManageCookiePrefsButton";
3
+ import { injectUTMParametersIntoATags } from "../config/gui-options/scripts/injectUTM";
3
4
  export const makeInitFn = (initFn, config, showPreferences) => {
4
5
  return async () => {
5
6
  /** inject the cookie-consent banner (pop-up) */
@@ -13,6 +14,8 @@ export const makeInitFn = (initFn, config, showPreferences) => {
13
14
  * the user from scrolling within the manage prefs dialog
14
15
  */
15
16
  injectReactRemoveScrollToggle();
17
+ /** finally, inject UTM parameters into the DOM (a tags) */
18
+ injectUTMParametersIntoATags();
16
19
  };
17
20
  };
18
21
  export const stripInvalidLinkedCategoriesFromTranslations = (translations, categories, alsoClearCookieTables = false) => Object.fromEntries(Object.entries(translations).map(([lang, translation]) => {
package/dist/init.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import "https://cdn.jsdelivr.net/gh/tilli-pro/cookieconsent@22be7e04499da9286d9d29e1fbe8c0ada57f9ff8/dist/cookieconsent.umd.js";
1
+ import "https://cdn.jsdelivr.net/gh/tilli-pro/cookieconsent@709b2aa2f29196fec1e1e4576d12dc78f56e1088/dist/cookieconsent.umd.js";
2
2
  import type * as _CookieConsent from "@tilli-pro/cookieconsent";
3
3
  import type { CookieConsentConfig } from "@tilli-pro/cookieconsent";
4
4
  import { cookieConsentTheme } from "./_utils";
package/dist/init.js CHANGED
@@ -1,9 +1,9 @@
1
- import "https://cdn.jsdelivr.net/gh/tilli-pro/cookieconsent@22be7e04499da9286d9d29e1fbe8c0ada57f9ff8/dist/cookieconsent.umd.js";
1
+ import "https://cdn.jsdelivr.net/gh/tilli-pro/cookieconsent@709b2aa2f29196fec1e1e4576d12dc78f56e1088/dist/cookieconsent.umd.js";
2
2
  import { cookieConsentTheme } from "./_utils";
3
3
  import _config from "./config";
4
4
  import styles from "./styles";
5
5
  import { initTheme } from "./init/utils.script";
6
- const GIT_SHA = "22be7e04499da9286d9d29e1fbe8c0ada57f9ff8";
6
+ const GIT_SHA = "709b2aa2f29196fec1e1e4576d12dc78f56e1088";
7
7
  const GIT_REPO = "tilli-pro/cookieconsent";
8
8
  const GIT_CDN_BASE_URL = "https://cdn.jsdelivr.net/gh";
9
9
  const GIT_CDN_URL = `${GIT_CDN_BASE_URL}/${GIT_REPO}@${GIT_SHA}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tilli-pro/cookieconsent-plugin",
3
- "version": "0.7.84",
3
+ "version": "0.7.91",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -27,7 +27,7 @@ export default (
27
27
  <!-- "powered by tilliX" callout -->
28
28
  <div style="${!inPrefs ? "margin-left: auto; " : ""}margin-top: auto; margin-bottom: auto">
29
29
  <abbr title="${translations[lang].poweredByTilliX}" style="${inPrefs ? "margin-right: 1em" : "margin-left: 1.3rem"}; display: flex; align-items: center">
30
- <a href="https://tilli.pro" target="_blank" style="display: inline-block; background-image: none">
30
+ <a id="tilli-cc-powered-by-tillix-link${inPrefs ? "-preferences" : ""}" href="https://tilli.pro" target="_blank" style="display: inline-block; background-image: none">
31
31
  <img src="data:image/svg+xml;charset=utf8,${encodeURIComponent(assets.logo)}" alt="tilli" style="height: 1em; width: auto; min-height: 1em; min-width: 1em; vertical-align: middle" />
32
32
  </a>
33
33
  </abbr>
@@ -35,7 +35,7 @@ export default (function <IsTouch extends boolean = false>(
35
35
  // DRAG LOGIC
36
36
  function onMouseDown(this: HTMLElement, e: MouseEvent) {
37
37
  if (e.button !== 0) return; // only drag on left-click
38
- e.preventDefault();
38
+ // e.preventDefault(); // disabled since we're using passive event listeners - causes an error now
39
39
 
40
40
  isDragging = true;
41
41
  startY = e.clientY;
@@ -68,7 +68,8 @@ export default (function <IsTouch extends boolean = false>(
68
68
  // - we're using the same logic as mouse dragging, but with touch events
69
69
  function onTouchStart(this: HTMLElement, e: TouchEvent) {
70
70
  if (e.touches?.length !== 1) return; // only drag with one finger
71
- e.preventDefault();
71
+ // e.preventDefault(); // disabled since we're using passive event listeners - causes an error now
72
+
72
73
  isDragging = true;
73
74
  startY = e.touches[0]?.clientY ?? startY;
74
75
 
@@ -108,12 +109,20 @@ export default (function <IsTouch extends boolean = false>(
108
109
  highestBottomPx = originalBottomPx + maxDragPx;
109
110
 
110
111
  /** attach the mouse events for dragging */
111
- buttonEl.addEventListener("mousedown", onMouseDown.bind(buttonEl), { passive: true });
112
- document.addEventListener("mousemove", onMouseMove.bind(buttonEl), { passive: true });
112
+ buttonEl.addEventListener("mousedown", onMouseDown.bind(buttonEl), {
113
+ passive: true,
114
+ });
115
+ document.addEventListener("mousemove", onMouseMove.bind(buttonEl), {
116
+ passive: true,
117
+ });
113
118
  document.addEventListener("mouseup", onMouseUp, { passive: true });
114
119
  // [mobile (touch) support]
115
- buttonEl.addEventListener("touchstart", onTouchStart.bind(buttonEl), { passive: true });
116
- document.addEventListener("touchmove", onTouchMove.bind(buttonEl), { passive: true });
120
+ buttonEl.addEventListener("touchstart", onTouchStart.bind(buttonEl), {
121
+ passive: true,
122
+ });
123
+ document.addEventListener("touchmove", onTouchMove.bind(buttonEl), {
124
+ passive: true,
125
+ });
117
126
  document.addEventListener("touchend", onTouchEnd, { passive: true });
118
127
  }
119
128
 
@@ -169,7 +178,7 @@ export const ontouchend = function ontouchend(
169
178
  /** reset coordinates to avoid future issues */
170
179
  this._startX = null;
171
180
  this._startY = null;
172
- } // as HTMLDivElementWithDragObserver["ontouchend"]; // disabled since we added `showPreferences` as a param
181
+ }; // as HTMLDivElementWithDragObserver["ontouchend"]; // disabled since we added `showPreferences` as a param
173
182
 
174
183
  /** store the touch start coordinates */
175
184
  export const ontouchstart = function ontouchstart(
@@ -0,0 +1,112 @@
1
+ "use client";
2
+
3
+ /**
4
+ *
5
+ * UTM Parameters -- @see https://en.wikipedia.org/wiki/UTM_parameters#Parameters
6
+ *
7
+ * There are six different UTM parameters, which may be used in any order:
8
+ *
9
+ * _____________________________________________________________________________________________________________________________________________________________
10
+ * | Parameter | Purpose | Example |
11
+ * |--------------|---------------------------------------------------------------------------------------------|----------------------------------------------|
12
+ * | utm_id | Identifies which ads campaign this referral references. | utm_id=abc.123 |
13
+ * | utm_source | Identifies which site sent the traffic, and is a required parameter. | utm_source=google |
14
+ * | utm_medium | Identifies what type of link was used, such as email or pay-per-click advertising. | utm_medium=ppc |
15
+ * | utm_campaign | Identifies a specific product promotion or strategic campaign. | utm_campaign=spring_sale |
16
+ * | utm_term | Identifies search terms. | utm_term=running+shoes |
17
+ * | utm_content | Identifies what specifically was clicked to bring the user to the site, such as a banner ad | utm_content=logolink or utm_content=textlink |
18
+ * | | or a text link. It is often used for A/B testing and content-targeted ads. | |
19
+ * -------------------------------------------------------------------------------------------------------------------------------------------------------------
20
+ */
21
+
22
+ interface UTMParameters {
23
+ id: string;
24
+ source: string;
25
+ medium: string;
26
+ campaign: string;
27
+ term: string;
28
+ content: string;
29
+ }
30
+
31
+ const DEFAULT_UTM_PARAMETERS: UTMParameters = {
32
+ id: "tilli-cc",
33
+ source: "unknown",
34
+ medium: "unknown",
35
+ campaign: "unknown",
36
+ term: "unknown",
37
+ content: "tilli-cc-banner",
38
+ };
39
+
40
+ const A_TAG_IDS_TO_INJECT_UTM_PARAMETERS = [
41
+ /** powered by tilliX (callout) */
42
+ "tilli-cc-powered-by-tillix-link",
43
+ "tilli-cc-powered-by-tillix-link-preferences",
44
+
45
+ /** footer */
46
+ "tilli-cc-privacy-policy-link-footer",
47
+ "tilli-cc-terms-and-conditions-link-footer",
48
+
49
+ /** consent modal */
50
+ "tilli-cc-privacy-policy-link-consent",
51
+ "tilli-cc-privacy-policy-link-revision",
52
+
53
+ /** preferences modal */
54
+ "tilli-cc-privacy-policy-link-preferences",
55
+ ];
56
+
57
+ export const injectUTMParametersIntoATags = (maxAttempts = 30, attempt = 1) => {
58
+ const _preferences = {
59
+ ...DEFAULT_UTM_PARAMETERS,
60
+ source: new URL(window.location.href).hostname, // use the hostname of the current page as the source
61
+ };
62
+
63
+ const aTags = document.querySelectorAll("a");
64
+ aTags.forEach((aTag) => {
65
+ if (A_TAG_IDS_TO_INJECT_UTM_PARAMETERS.includes(aTag.id)) {
66
+ const parameters = aTag.id.endsWith("-preferences")
67
+ ? {
68
+ // handle the case where the a tag is via the preferences modal instead of the banner
69
+ ..._preferences,
70
+ content: _preferences.content.replace("-banner", "-preferences"),
71
+ }
72
+ : _preferences;
73
+
74
+ aTag.href = addUTMParameters(new URL(aTag.href), parameters).toString();
75
+ aTag.setAttribute("data-tilli-cc-utm-injected", "true");
76
+ }
77
+ });
78
+
79
+ if (attempt <= maxAttempts)
80
+ setTimeout(
81
+ () => injectUTMParametersIntoATags(maxAttempts, attempt + 1),
82
+ 1_000,
83
+ ); // retry up to 3 times, handles edge case where the a tags are not yet loaded (e.g., for the preferences modal)
84
+ };
85
+
86
+ /**
87
+ * adds UTM parameters to a URL.
88
+ *
89
+ * - ⚠️ note: overrides existing UTM parameters (1. strips out all existing UTM parameters, 2. injects the new ones)
90
+ * - if "unknown" is provided for any parameter, it will just be stripped out from the resultant URL.
91
+ *
92
+ * @param {UTMParameters} parameters - The parameters for the UTM parameter.
93
+ */
94
+ export const addUTMParameters = (
95
+ url: URL,
96
+ parameters: Partial<UTMParameters> = {},
97
+ ): URL => {
98
+ // strip out existing UTM parameters
99
+ url.searchParams.forEach(
100
+ (_, key) => key.startsWith("utm_") && url.searchParams.delete(key),
101
+ );
102
+
103
+ // add new parameters
104
+ Object.entries(parameters).forEach(
105
+ ([key, value]) =>
106
+ !!value &&
107
+ value !== "unknown" &&
108
+ url.searchParams.set(`utm_${key}`, value),
109
+ );
110
+
111
+ return url;
112
+ };
@@ -17,15 +17,15 @@ const COOKIE_TABLE_HEADERS: CookieTableHeaders = {
17
17
  export default {
18
18
  consentModal: {
19
19
  title: `${CookieIcon()} Cookie-Hinweis`,
20
- description: `{{revisionMessage}}Wir verwenden Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Unbedingt erforderliche Cookies sind für die Funktionalität dieser Website unerlässlich und können nicht deaktiviert werden. Andere Cookies erfordern Ihre Zustimmung. Durch Klicken auf "Alle akzeptieren" stimmen Sie der Verwendung von Cookies zu. Alternativ können Sie Ihre Cookie-Einstellungen verwalten, indem Sie unten auf die Schaltfläche "Einstellungen verwalten" klicken. Sie können Ihre Cookie-Einstellungen jederzeit über das Symbol ${CookieIcon(1, 0.5, 0, -0.3333)} in der unteren rechten Ecke überprüfen und aktualisieren. Weitere Informationen finden Sie in unserer <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.`,
20
+ description: `{{revisionMessage}}Wir verwenden Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Unbedingt erforderliche Cookies sind für die Funktionalität dieser Website unerlässlich und können nicht deaktiviert werden. Andere Cookies erfordern Ihre Zustimmung. Durch Klicken auf "Alle akzeptieren" stimmen Sie der Verwendung von Cookies zu. Alternativ können Sie Ihre Cookie-Einstellungen verwalten, indem Sie unten auf die Schaltfläche "Einstellungen verwalten" klicken. Sie können Ihre Cookie-Einstellungen jederzeit über das Symbol ${CookieIcon(1, 0.5, 0, -0.3333)} in der unteren rechten Ecke überprüfen und aktualisieren. Weitere Informationen finden Sie in unserer <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.`,
21
21
  acceptAllBtn: "Alle akzeptieren",
22
22
  acceptNecessaryBtn: "Nur unbedingt erforderliche",
23
23
  showPreferencesBtn: "Einstellungen verwalten",
24
24
  // closeIconLabel: "Schließen", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
25
- revisionMessage: `Unsere <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a> wurde kürzlich aktualisiert. <br><br> `,
25
+ revisionMessage: `Unsere <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a> wurde kürzlich aktualisiert. <br><br> `,
26
26
  footer: `
27
- <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>
28
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Allgemeine Geschäftsbedingungen</a>
27
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>
28
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Allgemeine Geschäftsbedingungen</a>
29
29
 
30
30
  ${TilliXCallout(__LANGUAGE__)}
31
31
  `,
@@ -41,7 +41,7 @@ export default {
41
41
  {
42
42
  title: "Verwendung von Cookies",
43
43
  description:
44
- 'Wir verwenden Cookies, um die grundlegende Funktionalität der Website zu gewährleisten und Ihre Online-Erfahrung zu verbessern. Sie können für jede Kategorie auswählen, ob Sie zustimmen oder ablehnen möchten. Weitere Informationen zu Cookies und anderen sensiblen Daten finden Sie in der vollständigen <a href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.',
44
+ 'Wir verwenden Cookies, um die grundlegende Funktionalität der Website zu gewährleisten und Ihre Online-Erfahrung zu verbessern. Sie können für jede Kategorie auswählen, ob Sie zustimmen oder ablehnen möchten. Weitere Informationen zu Cookies und anderen sensiblen Daten finden Sie in der vollständigen <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Datenschutzerklärung</a>.',
45
45
  },
46
46
 
47
47
  {
@@ -17,15 +17,15 @@ const COOKIE_TABLE_HEADERS: CookieTableHeaders = {
17
17
  export default {
18
18
  consentModal: {
19
19
  title: `${CookieIcon()} Cookie Notice`,
20
- description: `{{revisionMessage}}We use cookies to improve your experience on our website. Strictly necessary cookies are essential for this site's functionality and cannot be turned off. Other cookies require your consent. By clicking "Accept all," you consent to our use of cookies. Alternatively, you can manage your cookie preferences by selecting the "Manage preferences" button below. You can review and update your cookie preferences anytime via the ${CookieIcon(1, 0.5, 0, -0.3333)} icon in the bottom-right corner. Please read our <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> for more information.`,
20
+ description: `{{revisionMessage}}We use cookies to improve your experience on our website. Strictly necessary cookies are essential for this site's functionality and cannot be turned off. Other cookies require your consent. By clicking "Accept all," you consent to our use of cookies. Alternatively, you can manage your cookie preferences by selecting the "Manage preferences" button below. You can review and update your cookie preferences anytime via the ${CookieIcon(1, 0.5, 0, -0.3333)} icon in the bottom-right corner. Please read our <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> for more information.`,
21
21
  acceptAllBtn: "Accept all",
22
22
  acceptNecessaryBtn: "Strictly necessary only",
23
23
  showPreferencesBtn: "Manage preferences",
24
24
  // closeIconLabel: "Close", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
25
- revisionMessage: `Our <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> was recently updated. <br><br> `,
25
+ revisionMessage: `Our <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a> was recently updated. <br><br> `,
26
26
  footer: `
27
- <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>
28
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Terms & Conditions</a>
27
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>
28
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Terms & Conditions</a>
29
29
 
30
30
  ${TilliXCallout(__LANGUAGE__)}
31
31
  `,
@@ -41,7 +41,7 @@ export default {
41
41
  {
42
42
  title: "Cookie Usage",
43
43
  description:
44
- 'We use cookies to ensure basic website functionality and to enhance your online experience. You can choose for each category to opt-in/out whenever you want. For more details relative to cookies and other sensitive data, please read the full <a href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>.',
44
+ 'We use cookies to ensure basic website functionality and to enhance your online experience. You can choose for each category to opt-in/out whenever you want. For more details relative to cookies and other sensitive data, please read the full <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Privacy Policy</a>.',
45
45
  },
46
46
 
47
47
  {
@@ -17,15 +17,15 @@ const COOKIE_TABLE_HEADERS: CookieTableHeaders = {
17
17
  export default {
18
18
  consentModal: {
19
19
  title: `${CookieIcon()} Aviso de Cookies`,
20
- description: `{{revisionMessage}}Utilizamos cookies para mejorar tu experiencia en nuestro sitio web. Las cookies estrictamente necesarias son esenciales para el funcionamiento de este sitio y no se pueden desactivar. Otras cookies requieren tu consentimiento. Al hacer clic en "Aceptar todas", consientes el uso de nuestras cookies. Alternativamente, puedes gestionar tus preferencias de cookies seleccionando el botón "Gestionar preferencias" a continuación. Puedes revisar y actualizar tus preferencias de cookies en cualquier momento mediante el icono ${CookieIcon(1, 0.5, 0, -0.3333)} en la esquina inferior derecha. Por favor, lee nuestra <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> para más información.`,
20
+ description: `{{revisionMessage}}Utilizamos cookies para mejorar tu experiencia en nuestro sitio web. Las cookies estrictamente necesarias son esenciales para el funcionamiento de este sitio y no se pueden desactivar. Otras cookies requieren tu consentimiento. Al hacer clic en "Aceptar todas", consientes el uso de nuestras cookies. Alternativamente, puedes gestionar tus preferencias de cookies seleccionando el botón "Gestionar preferencias" a continuación. Puedes revisar y actualizar tus preferencias de cookies en cualquier momento mediante el icono ${CookieIcon(1, 0.5, 0, -0.3333)} en la esquina inferior derecha. Por favor, lee nuestra <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> para más información.`,
21
21
  acceptAllBtn: "Aceptar todas",
22
22
  acceptNecessaryBtn: "Solo estrictamente necesarias",
23
23
  showPreferencesBtn: "Gestionar preferencias",
24
24
  // closeIconLabel: "Cerrar", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
25
- revisionMessage: `Nuestra <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> se actualizó recientemente. <br><br> `,
25
+ revisionMessage: `Nuestra <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> se actualizó recientemente. <br><br> `,
26
26
  footer: `
27
- <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a>
28
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Términos y Condiciones</a>
27
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a>
28
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Términos y Condiciones</a>
29
29
 
30
30
  ${TilliXCallout(__LANGUAGE__)}
31
31
  `,
@@ -41,7 +41,7 @@ export default {
41
41
  {
42
42
  title: "Uso de cookies",
43
43
  description:
44
- 'Utilizamos cookies para garantizar la funcionalidad básica del sitio web y para mejorar tu experiencia en línea. Puedes elegir, para cada categoría, habilitarlas o deshabilitarlas cuando lo desees. Para más detalles relacionados con cookies y otros datos sensibles, por favor lee la <a href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> completa.',
44
+ 'Utilizamos cookies para garantizar la funcionalidad básica del sitio web y para mejorar tu experiencia en línea. Puedes elegir, para cada categoría, habilitarlas o deshabilitarlas cuando lo desees. Para más detalles relacionados con cookies y otros datos sensibles, por favor lee la <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Política de Privacidad</a> completa.',
45
45
  },
46
46
 
47
47
  {
@@ -17,15 +17,15 @@ const COOKIE_TABLE_HEADERS: CookieTableHeaders = {
17
17
  export default {
18
18
  consentModal: {
19
19
  title: `${CookieIcon()} Notification sur les cookies`,
20
- description: `{{revisionMessage}}Nous utilisons des cookies pour améliorer votre expérience sur notre site. Les cookies strictement nécessaires sont essentiels au fonctionnement de ce site et ne peuvent pas être désactivés. Les autres cookies nécessitent votre consentement. En cliquant sur "Tout accepter", vous consentez à l'utilisation de nos cookies. Vous pouvez également gérer vos préférences en matière de cookies en sélectionnant le bouton "Gérer les préférences" ci-dessous. Vous pouvez consulter et mettre à jour vos préférences relatives aux cookies à tout moment via l'icône ${CookieIcon(1, 0.5, 0, -0.3333)} en bas à droite. Veuillez lire notre <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> pour plus d'informations.`,
20
+ description: `{{revisionMessage}}Nous utilisons des cookies pour améliorer votre expérience sur notre site. Les cookies strictement nécessaires sont essentiels au fonctionnement de ce site et ne peuvent pas être désactivés. Les autres cookies nécessitent votre consentement. En cliquant sur "Tout accepter", vous consentez à l'utilisation de nos cookies. Vous pouvez également gérer vos préférences en matière de cookies en sélectionnant le bouton "Gérer les préférences" ci-dessous. Vous pouvez consulter et mettre à jour vos préférences relatives aux cookies à tout moment via l'icône ${CookieIcon(1, 0.5, 0, -0.3333)} en bas à droite. Veuillez lire notre <a id="tilli-cc-privacy-policy-link-consent" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> pour plus d'informations.`,
21
21
  acceptAllBtn: "Tout accepter",
22
22
  acceptNecessaryBtn: "Strictement nécessaires uniquement",
23
23
  showPreferencesBtn: "Gérer les préférences",
24
24
  // closeIconLabel: "Fermer", // generates a big "X" ("accept necessary") button – let's disable it for now (to force a choice)
25
- revisionMessage: `Notre <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> a récemment été mise à jour. <br><br> `,
25
+ revisionMessage: `Notre <a id="tilli-cc-privacy-policy-link-revision" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a> a récemment été mise à jour. <br><br> `,
26
26
  footer: `
27
- <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>
28
- <a href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Conditions générales</a>
27
+ <a id="tilli-cc-privacy-policy-link-footer" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>
28
+ <a id="tilli-cc-terms-and-conditions-link-footer" href="https://tilli.pro/industries/terms-and-conditions" target="_blank">Conditions générales</a>
29
29
 
30
30
  ${TilliXCallout(__LANGUAGE__)}
31
31
  `,
@@ -41,7 +41,7 @@ export default {
41
41
  {
42
42
  title: "Utilisation des cookies",
43
43
  description:
44
- 'Nous utilisons des cookies pour garantir les fonctionnalités de base du site et améliorer votre expérience en ligne. Vous pouvez choisir d’activer/désactiver chaque catégorie à tout moment. Pour plus de détails sur les cookies et autres données sensibles, veuillez consulter la <a href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>.',
44
+ 'Nous utilisons des cookies pour garantir les fonctionnalités de base du site et améliorer votre expérience en ligne. Vous pouvez choisir d’activer/désactiver chaque catégorie à tout moment. Pour plus de détails sur les cookies et autres données sensibles, veuillez consulter la <a id="tilli-cc-privacy-policy-link-preferences" href="https://tilli.pro/privacy-policy" target="_blank">Politique de confidentialité</a>.',
45
45
  },
46
46
 
47
47
  {