@freshjuice/zest 0.1.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.
- package/LICENSE +21 -0
- package/README.md +312 -0
- package/dist/zest.de.js +2621 -0
- package/dist/zest.de.js.map +1 -0
- package/dist/zest.de.min.js +1 -0
- package/dist/zest.en.js +2621 -0
- package/dist/zest.en.js.map +1 -0
- package/dist/zest.en.min.js +1 -0
- package/dist/zest.es.js +2621 -0
- package/dist/zest.es.js.map +1 -0
- package/dist/zest.es.min.js +1 -0
- package/dist/zest.esm.js +3104 -0
- package/dist/zest.esm.js.map +1 -0
- package/dist/zest.esm.min.js +1 -0
- package/dist/zest.fr.js +2621 -0
- package/dist/zest.fr.js.map +1 -0
- package/dist/zest.fr.min.js +1 -0
- package/dist/zest.it.js +2621 -0
- package/dist/zest.it.js.map +1 -0
- package/dist/zest.it.min.js +1 -0
- package/dist/zest.ja.js +2621 -0
- package/dist/zest.ja.js.map +1 -0
- package/dist/zest.ja.min.js +1 -0
- package/dist/zest.js +3109 -0
- package/dist/zest.js.map +1 -0
- package/dist/zest.min.js +1 -0
- package/dist/zest.nl.js +2621 -0
- package/dist/zest.nl.js.map +1 -0
- package/dist/zest.nl.min.js +1 -0
- package/dist/zest.pl.js +2621 -0
- package/dist/zest.pl.js.map +1 -0
- package/dist/zest.pl.min.js +1 -0
- package/dist/zest.pt.js +2621 -0
- package/dist/zest.pt.js.map +1 -0
- package/dist/zest.pt.min.js +1 -0
- package/dist/zest.ru.js +2621 -0
- package/dist/zest.ru.js.map +1 -0
- package/dist/zest.ru.min.js +1 -0
- package/dist/zest.uk.js +2621 -0
- package/dist/zest.uk.js.map +1 -0
- package/dist/zest.uk.min.js +1 -0
- package/dist/zest.zh.js +2621 -0
- package/dist/zest.zh.js.map +1 -0
- package/dist/zest.zh.min.js +1 -0
- package/locales/de.json +40 -0
- package/locales/en.json +40 -0
- package/locales/es.json +40 -0
- package/locales/fr.json +40 -0
- package/locales/it.json +40 -0
- package/locales/ja.json +40 -0
- package/locales/nl.json +40 -0
- package/locales/pl.json +40 -0
- package/locales/pt.json +40 -0
- package/locales/ru.json +40 -0
- package/locales/uk.json +40 -0
- package/locales/zh.json +40 -0
- package/package.json +63 -0
- package/zest.config.schema.json +256 -0
package/locales/nl.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "Wij respecteren uw privacy",
|
|
6
|
+
"description": "Wij gebruiken cookies om uw browse-ervaring te verbeteren, gepersonaliseerde inhoud aan te bieden en ons verkeer te analyseren. Door op \"Alles accepteren\" te klikken, stemt u in met het gebruik van cookies.",
|
|
7
|
+
"acceptAll": "Alles accepteren",
|
|
8
|
+
"rejectAll": "Alles weigeren",
|
|
9
|
+
"settings": "Instellingen"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "Privacy-instellingen",
|
|
13
|
+
"description": "Beheer uw cookievoorkeuren. U kunt hieronder verschillende soorten cookies in- of uitschakelen.",
|
|
14
|
+
"save": "Voorkeuren opslaan",
|
|
15
|
+
"acceptAll": "Alles accepteren",
|
|
16
|
+
"rejectAll": "Alles weigeren"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Cookie-instellingen"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "Essentieel",
|
|
25
|
+
"description": "Noodzakelijk voor de goede werking van de website. Kunnen niet worden uitgeschakeld."
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "Functioneel",
|
|
29
|
+
"description": "Maken gepersonaliseerde functies mogelijk zoals taal- en themavoorkeuren."
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "Analytisch",
|
|
33
|
+
"description": "Helpen ons te begrijpen hoe bezoekers onze website gebruiken."
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "Marketing",
|
|
37
|
+
"description": "Worden gebruikt om relevante advertenties te tonen en campagneprestaties te meten."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/locales/pl.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "Szanujemy Twoją prywatność",
|
|
6
|
+
"description": "Używamy plików cookie, aby poprawić Twoje wrażenia z przeglądania, dostarczać spersonalizowane treści i analizować nasz ruch. Klikając „Zaakceptuj wszystko\", wyrażasz zgodę na używanie plików cookie.",
|
|
7
|
+
"acceptAll": "Zaakceptuj wszystko",
|
|
8
|
+
"rejectAll": "Odrzuć wszystko",
|
|
9
|
+
"settings": "Ustawienia"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "Ustawienia prywatności",
|
|
13
|
+
"description": "Zarządzaj swoimi preferencjami dotyczącymi plików cookie. Możesz włączyć lub wyłączyć różne typy plików cookie poniżej.",
|
|
14
|
+
"save": "Zapisz preferencje",
|
|
15
|
+
"acceptAll": "Zaakceptuj wszystko",
|
|
16
|
+
"rejectAll": "Odrzuć wszystko"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Ustawienia plików cookie"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "Niezbędne",
|
|
25
|
+
"description": "Wymagane do prawidłowego działania strony. Nie można ich wyłączyć."
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "Funkcjonalne",
|
|
29
|
+
"description": "Umożliwiają spersonalizowane funkcje, takie jak preferencje językowe i motywy."
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "Analityczne",
|
|
33
|
+
"description": "Pomagają nam zrozumieć, jak odwiedzający korzystają z naszej strony."
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "Marketingowe",
|
|
37
|
+
"description": "Służą do wyświetlania odpowiednich reklam i mierzenia skuteczności kampanii."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/locales/pt.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "Valorizamos sua privacidade",
|
|
6
|
+
"description": "Usamos cookies para melhorar sua experiência de navegação, fornecer conteúdo personalizado e analisar nosso tráfego. Ao clicar em \"Aceitar tudo\", você consente com o uso de cookies.",
|
|
7
|
+
"acceptAll": "Aceitar tudo",
|
|
8
|
+
"rejectAll": "Rejeitar tudo",
|
|
9
|
+
"settings": "Configurações"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "Configurações de privacidade",
|
|
13
|
+
"description": "Gerencie suas preferências de cookies. Você pode ativar ou desativar diferentes tipos de cookies abaixo.",
|
|
14
|
+
"save": "Salvar preferências",
|
|
15
|
+
"acceptAll": "Aceitar tudo",
|
|
16
|
+
"rejectAll": "Rejeitar tudo"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Configurações de cookies"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "Essenciais",
|
|
25
|
+
"description": "Necessários para o funcionamento do site. Não podem ser desativados."
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "Funcionais",
|
|
29
|
+
"description": "Permitem recursos personalizados como preferências de idioma e tema."
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "Analíticos",
|
|
33
|
+
"description": "Nos ajudam a entender como os visitantes interagem com nosso site."
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "Marketing",
|
|
37
|
+
"description": "Usados para exibir anúncios relevantes e medir o desempenho de campanhas."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/locales/ru.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "Мы ценим вашу конфиденциальность",
|
|
6
|
+
"description": "Мы используем файлы cookie для улучшения вашего опыта просмотра, предоставления персонализированного контента и анализа нашего трафика. Нажимая «Принять все», вы соглашаетесь на использование файлов cookie.",
|
|
7
|
+
"acceptAll": "Принять все",
|
|
8
|
+
"rejectAll": "Отклонить все",
|
|
9
|
+
"settings": "Настройки"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "Настройки конфиденциальности",
|
|
13
|
+
"description": "Управляйте своими настройками файлов cookie. Вы можете включить или отключить различные типы файлов cookie ниже.",
|
|
14
|
+
"save": "Сохранить настройки",
|
|
15
|
+
"acceptAll": "Принять все",
|
|
16
|
+
"rejectAll": "Отклонить все"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Настройки cookie"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "Необходимые",
|
|
25
|
+
"description": "Требуются для правильной работы сайта. Не могут быть отключены."
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "Функциональные",
|
|
29
|
+
"description": "Позволяют использовать персонализированные функции, такие как языковые настройки и темы."
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "Аналитические",
|
|
33
|
+
"description": "Помогают нам понять, как посетители взаимодействуют с нашим сайтом."
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "Маркетинговые",
|
|
37
|
+
"description": "Используются для показа релевантной рекламы и измерения эффективности кампаний."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/locales/uk.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "Ми цінуємо вашу конфіденційність",
|
|
6
|
+
"description": "Ми використовуємо файли cookie для покращення вашого досвіду перегляду, надання персоналізованого контенту та аналізу нашого трафіку. Натискаючи «Прийняти все», ви погоджуєтесь на використання файлів cookie.",
|
|
7
|
+
"acceptAll": "Прийняти все",
|
|
8
|
+
"rejectAll": "Відхилити все",
|
|
9
|
+
"settings": "Налаштування"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "Налаштування конфіденційності",
|
|
13
|
+
"description": "Керуйте своїми налаштуваннями файлів cookie. Ви можете ввімкнути або вимкнути різні типи файлів cookie нижче.",
|
|
14
|
+
"save": "Зберегти налаштування",
|
|
15
|
+
"acceptAll": "Прийняти все",
|
|
16
|
+
"rejectAll": "Відхилити все"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Налаштування cookie"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "Необхідні",
|
|
25
|
+
"description": "Потрібні для правильної роботи сайту. Не можуть бути вимкнені."
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "Функціональні",
|
|
29
|
+
"description": "Дозволяють персоналізовані функції, такі як мовні налаштування та теми."
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "Аналітичні",
|
|
33
|
+
"description": "Допомагають нам зрозуміти, як відвідувачі взаємодіють з нашим сайтом."
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "Маркетингові",
|
|
37
|
+
"description": "Використовуються для показу релевантної реклами та вимірювання ефективності кампаній."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/locales/zh.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../zest.config.schema.json",
|
|
3
|
+
"labels": {
|
|
4
|
+
"banner": {
|
|
5
|
+
"title": "我们重视您的隐私",
|
|
6
|
+
"description": "我们使用Cookie来改善您的浏览体验、提供个性化内容并分析我们的流量。点击\"全部接受\"即表示您同意我们使用Cookie。",
|
|
7
|
+
"acceptAll": "全部接受",
|
|
8
|
+
"rejectAll": "全部拒绝",
|
|
9
|
+
"settings": "设置"
|
|
10
|
+
},
|
|
11
|
+
"modal": {
|
|
12
|
+
"title": "隐私设置",
|
|
13
|
+
"description": "管理您的Cookie偏好设置。您可以在下方启用或禁用不同类型的Cookie。",
|
|
14
|
+
"save": "保存设置",
|
|
15
|
+
"acceptAll": "全部接受",
|
|
16
|
+
"rejectAll": "全部拒绝"
|
|
17
|
+
},
|
|
18
|
+
"widget": {
|
|
19
|
+
"label": "Cookie设置"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"categories": {
|
|
23
|
+
"essential": {
|
|
24
|
+
"label": "必要",
|
|
25
|
+
"description": "网站正常运行所必需的。无法禁用。"
|
|
26
|
+
},
|
|
27
|
+
"functional": {
|
|
28
|
+
"label": "功能性",
|
|
29
|
+
"description": "启用个性化功能,如语言偏好和主题设置。"
|
|
30
|
+
},
|
|
31
|
+
"analytics": {
|
|
32
|
+
"label": "分析",
|
|
33
|
+
"description": "帮助我们了解访问者如何与网站互动。"
|
|
34
|
+
},
|
|
35
|
+
"marketing": {
|
|
36
|
+
"label": "营销",
|
|
37
|
+
"description": "用于展示相关广告并衡量营销活动效果。"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@freshjuice/zest",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Lightweight cookie consent toolkit for GDPR/CCPA compliance",
|
|
6
|
+
"main": "dist/zest.min.js",
|
|
7
|
+
"module": "dist/zest.esm.min.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"locales",
|
|
11
|
+
"zest.config.schema.json"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"prebuild": "node scripts/build-langs.js",
|
|
15
|
+
"build": "rollup -c",
|
|
16
|
+
"build:watch": "rollup -c -w",
|
|
17
|
+
"dev": "rollup -c -w",
|
|
18
|
+
"test": "vitest",
|
|
19
|
+
"test:run": "vitest run",
|
|
20
|
+
"lint": "eslint src/",
|
|
21
|
+
"size": "gzip-size dist/zest.min.js"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"cookie",
|
|
25
|
+
"consent",
|
|
26
|
+
"gdpr",
|
|
27
|
+
"ccpa",
|
|
28
|
+
"privacy",
|
|
29
|
+
"cookie-consent",
|
|
30
|
+
"cookie-banner"
|
|
31
|
+
],
|
|
32
|
+
"author": {
|
|
33
|
+
"name": "FreshJuice",
|
|
34
|
+
"email": "contact@freshjuice.dev",
|
|
35
|
+
"url": "https://freshjuice.dev/"
|
|
36
|
+
},
|
|
37
|
+
"contributors": [
|
|
38
|
+
{
|
|
39
|
+
"name": "Alex Zappa",
|
|
40
|
+
"email": "alex@zappa.dev",
|
|
41
|
+
"url": "https://alex.zappa.dev/"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
},
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "git+ssh://git@github.com/freshjuice-dev/zest.git"
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://zest.freshjuice.dev/",
|
|
53
|
+
"bugs": {
|
|
54
|
+
"url": "https://github.com/freshjuice-dev/zest/issues"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@rollup/plugin-alias": "^6.0.0",
|
|
58
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
59
|
+
"eslint": "^9.39.2",
|
|
60
|
+
"rollup": "^4.55.1",
|
|
61
|
+
"vitest": "^4.0.17"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Zest Cookie Consent Configuration",
|
|
4
|
+
"description": "Configuration schema for @freshjuice/zest cookie consent toolkit",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"lang": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["auto", "en", "de", "es", "fr", "it", "pt", "nl", "pl", "uk", "ru", "ja", "zh"],
|
|
10
|
+
"default": "auto",
|
|
11
|
+
"description": "Language for UI labels. 'auto' detects from <html lang> or browser."
|
|
12
|
+
},
|
|
13
|
+
"position": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"enum": ["bottom", "bottom-left", "bottom-right", "top"],
|
|
16
|
+
"default": "bottom",
|
|
17
|
+
"description": "Position of the consent banner"
|
|
18
|
+
},
|
|
19
|
+
"theme": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"enum": ["light", "dark", "auto"],
|
|
22
|
+
"default": "auto",
|
|
23
|
+
"description": "Color theme for the UI. 'auto' follows system preference (prefers-color-scheme)"
|
|
24
|
+
},
|
|
25
|
+
"accentColor": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"pattern": "^#[0-9A-Fa-f]{6}$",
|
|
28
|
+
"default": "#0071e3",
|
|
29
|
+
"description": "Accent color for buttons (hex format)"
|
|
30
|
+
},
|
|
31
|
+
"mode": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"enum": ["manual", "safe", "strict", "doomsday"],
|
|
34
|
+
"default": "safe",
|
|
35
|
+
"description": "Script blocking mode"
|
|
36
|
+
},
|
|
37
|
+
"autoInit": {
|
|
38
|
+
"type": "boolean",
|
|
39
|
+
"default": true,
|
|
40
|
+
"description": "Automatically initialize on page load"
|
|
41
|
+
},
|
|
42
|
+
"respectDNT": {
|
|
43
|
+
"type": "boolean",
|
|
44
|
+
"default": true,
|
|
45
|
+
"description": "Respect Do Not Track (DNT) and Global Privacy Control (GPC) browser signals"
|
|
46
|
+
},
|
|
47
|
+
"dntBehavior": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"enum": ["reject", "preselect", "ignore"],
|
|
50
|
+
"default": "reject",
|
|
51
|
+
"description": "Behavior when DNT/GPC is enabled: 'reject' auto-rejects non-essential without showing banner, 'preselect' shows banner with non-essential unchecked, 'ignore' ignores DNT signal"
|
|
52
|
+
},
|
|
53
|
+
"showWidget": {
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"default": true,
|
|
56
|
+
"description": "Show floating widget after consent is given"
|
|
57
|
+
},
|
|
58
|
+
"expiration": {
|
|
59
|
+
"type": "integer",
|
|
60
|
+
"minimum": 1,
|
|
61
|
+
"maximum": 365,
|
|
62
|
+
"default": 365,
|
|
63
|
+
"description": "Consent cookie expiration in days"
|
|
64
|
+
},
|
|
65
|
+
"policyUrl": {
|
|
66
|
+
"type": ["string", "null"],
|
|
67
|
+
"format": "uri-reference",
|
|
68
|
+
"default": null,
|
|
69
|
+
"description": "URL to privacy policy page"
|
|
70
|
+
},
|
|
71
|
+
"imprintUrl": {
|
|
72
|
+
"type": ["string", "null"],
|
|
73
|
+
"format": "uri-reference",
|
|
74
|
+
"default": null,
|
|
75
|
+
"description": "URL to imprint/legal page"
|
|
76
|
+
},
|
|
77
|
+
"customStyles": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"default": "",
|
|
80
|
+
"description": "Custom CSS to inject into Shadow DOM"
|
|
81
|
+
},
|
|
82
|
+
"blockedDomains": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"items": {
|
|
85
|
+
"oneOf": [
|
|
86
|
+
{
|
|
87
|
+
"type": "string",
|
|
88
|
+
"description": "Domain to block (defaults to marketing category)"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"type": "object",
|
|
92
|
+
"properties": {
|
|
93
|
+
"domain": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "Domain to block"
|
|
96
|
+
},
|
|
97
|
+
"category": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"enum": ["functional", "analytics", "marketing"],
|
|
100
|
+
"description": "Category for the blocked domain"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"required": ["domain"]
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"default": [],
|
|
108
|
+
"description": "Custom domains to block in addition to mode-based blocking"
|
|
109
|
+
},
|
|
110
|
+
"labels": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"description": "UI text labels for localization",
|
|
113
|
+
"properties": {
|
|
114
|
+
"banner": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"title": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"default": "We value your privacy"
|
|
120
|
+
},
|
|
121
|
+
"description": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"default": "We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic."
|
|
124
|
+
},
|
|
125
|
+
"acceptAll": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"default": "Accept All"
|
|
128
|
+
},
|
|
129
|
+
"rejectAll": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"default": "Reject All"
|
|
132
|
+
},
|
|
133
|
+
"settings": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"default": "Settings"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"modal": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"properties": {
|
|
142
|
+
"title": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"default": "Privacy Settings"
|
|
145
|
+
},
|
|
146
|
+
"description": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"default": "Manage your cookie preferences."
|
|
149
|
+
},
|
|
150
|
+
"save": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"default": "Save Preferences"
|
|
153
|
+
},
|
|
154
|
+
"acceptAll": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"default": "Accept All"
|
|
157
|
+
},
|
|
158
|
+
"rejectAll": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"default": "Reject All"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"widget": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"properties": {
|
|
167
|
+
"label": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"default": "Cookie Settings"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"categories": {
|
|
176
|
+
"type": "object",
|
|
177
|
+
"description": "Category definitions and labels",
|
|
178
|
+
"properties": {
|
|
179
|
+
"essential": {
|
|
180
|
+
"$ref": "#/definitions/category"
|
|
181
|
+
},
|
|
182
|
+
"functional": {
|
|
183
|
+
"$ref": "#/definitions/category"
|
|
184
|
+
},
|
|
185
|
+
"analytics": {
|
|
186
|
+
"$ref": "#/definitions/category"
|
|
187
|
+
},
|
|
188
|
+
"marketing": {
|
|
189
|
+
"$ref": "#/definitions/category"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"patterns": {
|
|
194
|
+
"type": "object",
|
|
195
|
+
"description": "Custom regex patterns for categorizing cookies/storage keys",
|
|
196
|
+
"properties": {
|
|
197
|
+
"essential": {
|
|
198
|
+
"type": "array",
|
|
199
|
+
"items": { "type": "string" }
|
|
200
|
+
},
|
|
201
|
+
"functional": {
|
|
202
|
+
"type": "array",
|
|
203
|
+
"items": { "type": "string" }
|
|
204
|
+
},
|
|
205
|
+
"analytics": {
|
|
206
|
+
"type": "array",
|
|
207
|
+
"items": { "type": "string" }
|
|
208
|
+
},
|
|
209
|
+
"marketing": {
|
|
210
|
+
"type": "array",
|
|
211
|
+
"items": { "type": "string" }
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"callbacks": {
|
|
216
|
+
"type": "object",
|
|
217
|
+
"description": "Callback functions for consent events",
|
|
218
|
+
"properties": {
|
|
219
|
+
"onAccept": {
|
|
220
|
+
"description": "Called when user accepts cookies"
|
|
221
|
+
},
|
|
222
|
+
"onReject": {
|
|
223
|
+
"description": "Called when user rejects all non-essential cookies"
|
|
224
|
+
},
|
|
225
|
+
"onChange": {
|
|
226
|
+
"description": "Called when consent state changes"
|
|
227
|
+
},
|
|
228
|
+
"onReady": {
|
|
229
|
+
"description": "Called when Zest is initialized"
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"definitions": {
|
|
235
|
+
"category": {
|
|
236
|
+
"type": "object",
|
|
237
|
+
"properties": {
|
|
238
|
+
"id": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
},
|
|
241
|
+
"label": {
|
|
242
|
+
"type": "string"
|
|
243
|
+
},
|
|
244
|
+
"description": {
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
247
|
+
"required": {
|
|
248
|
+
"type": "boolean"
|
|
249
|
+
},
|
|
250
|
+
"default": {
|
|
251
|
+
"type": "boolean"
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|