1.1.3 • Published 3 months ago

quanti-cookie-bar v1.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

Dokumentace - Quanti Cookie Bar

Instalace

npm install quanti-cookie-bar

Vložení na web

<script setup>
    import { QuantiCookieBar } from 'quanti-cookie-bar';
    import "quanti-cookie-bar/style.css";
</script>

<template>
    <div>
        <QuantiCookieBar />
    </div>
</template>

Požadavky na Node.js

Node.js 18.x.x

nebo

Node.js 20.x.x

Upozornění

Pro správné fungování cookie lišty je třeba mít ve svém projektu implementováno GTM (Google Tag Manager) a všechny scripty, které chcete spouštět na základě cookies musíte mít vložené přes GTM. Pokud ve vašem projektu GTM nemáte, tak cookie lišta nebude posílat do GTM souhlasy/ nesouhlasy uživatelů.

Obecné fungování cookie lišty

Cookie lišta funguje v kooperácií s Google Tag Managerom (GTM). Je připravena na Consent Mode 2.0. Pozri sekci "Upozornění". Užívateľov výber sa ukladá do localStorage. Keď sa prvotne načíta stránka, tak cookie lišta automaticky pošle zamietnuté súhlasy (consent_default). Následne sa pozrie do localStoragu či už užívateľ v minulosti nejaké súhlasy potvrdzoval, ak áno, tak pošle do GTM aktualizáciu consentov (event: consent_update) a cookie lišta sa nezobrazí. Ak cookie lišta v localStorage nenájde žiadne súhlasy, tak sa užívateľovi zobrazí.

Detailní fungování naleznete v článku na ForDevs. https://fordevs.cz/clanky/jak-na-cookies-a-cookie-listu-pro-web

Nastavení v GTM

V GTM je třeba container přepnout do režimu "Povolit přehled souhlasu". správce -> Nastavení kontejneru -> Povolit přehled souhlasu. Následně u každé značky v GTM můžeme specifikovat při jakých souhlasech se má spustit. Značky -> Konfigurace značky -> Nastavení souhlasu. Můžeme si specifikovat vlastní událost ve spouštěčích -> consent_update. Tento event vystřeluje cookie lišta v momentě, kdy uživatel zvolí souhlas/nesouhlas.

Možnosti nastavení a eventy

CSS

Cookie lištu lze nastavovat pomocí změny v css proměnných. K dispozici jsou tyto proměnné a výchozí hodnoty:

--cookie-bar-padding: 2.5rem 0; /* 40px */

--cookie-bar-color-primary: #df2686;
--cookie-bar-color-primary-hover: #cb1573;
--cookie-bar-color-light: #fff;
--cookie-bar-color-dark: #000;
--cookie-bar-color-gray-light: #d3d3d3;
--cookie-bar-color-icons: #000;

--cookie-bar-button-radius: 0;
--cookie-bar-button-height: 2.5rem; /* 40px */

--cookie-bar-max-width: 71.25rem; /* 1140px */

--cookie-bar-overlay-z-index: 100;
--cookie-bar-z-index: 1000;

Propsy

Povolené propsy a jejich výchozí hodnoty:

title: {
    type: String,
    default: 'Dám si cookies 🍪',
},
description: {
    type: String,
    default: `Chtěli bychom Vám poskytnout ty nejlepší zážitky z našeho webu. K tomu používáme soubory cookies, abyste zde našli vše, s čím jste za námi přišli. Díky nim můžeme analyzovat provoz webu a neustále jej zlepšovat. <a href="/cookies" class="cookie-bar__link">Více o cookies.</a>`,
},
buttonTexts: {
    type: Object,
    default: {
        acceptAll: 'Přijmout vše',
        rejectAll: 'Odmítnout',
        customSelect: 'Vyberu podle sebe',
        acceptSelect: 'Povolit výběr',
    }
},
cookiesLogo: {
    type: String,
    default: null,
},
functionalTexts: {
    type: Object,
    default: {
        title: 'Nezbytné',
        perex: 'pro správnou funkci webu',
        alwaysActive: 'vždy aktivní',
        description: 'Nezbytné cookies pomáhají našemu webu k tomu, abychom vám mohli poskytnout pohodlný zážitek z návštěvy. Tyto cookies jsou potřebné,aby web fungoval správně.',
    }
},
analyticsTexts: {
    type: Object,
    default: {
        title: 'Analytické',
        perex: 'k měření a analýze dat',
        description: 'Analytické cookies nám pomáhají porozumět, jak návštěvníci používají náš web. Díky nim můžeme zlepšovat výkon stránky.',
    }
},
adTexts: {
    type: Object,
    default: {
        title: 'Marketingové',
        perex: 'pro zobrazení relevantní nabídky',
        description: 'Marketingové cookies nám pomáhají zobrazovat relevantní obsah a reklamy, které pro vás mohou být zajímavé a užitečné.',
    }
},
forceCookieOpen: {
    type: Boolean,
    default: false,
},

Emity

Emity, které vystřeluje komponenta a na které je možné se odchytit:

backdropClick -> klik uživatele na overlay, nemá ve výchozím stavu žádnou funkčnost

backdropClick

acceptAll -> uživatel udělí souhlas se všemi cookies

acceptAll

rejectAll -> uživatel zamítne všechny cookies

rejectAll

customSelect -> uživatel si otevře možnosti vlastního nastavení cookies

customSelect

acceptSelect -> uživatel potvrdí své vlastní nastavení cookies

acceptSelect

closeCookieBar -> uživatel zavře cookie lištu nebo se cookie lišta zavře vybráním jedné z možností

closeCookieBar

Znovuotevření cookie lišty

Znovuotevření cookie lišty je možné vyvolat pomocí propsy forceCookieOpen: boolean:

:forceCookieOpen="true"
1.1.3

3 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago