@tilli-pro/cookieconsent-plugin 0.2.0 → 0.2.42
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/.cache/tsbuildinfo.json +1 -1
- package/dist/_types.d.ts +3 -0
- package/dist/_types.d.ts.map +1 -0
- package/dist/_types.js +1 -0
- package/dist/_utils.d.ts +10 -0
- package/dist/_utils.d.ts.map +1 -0
- package/dist/_utils.js +31 -0
- package/dist/config/gui-options/scripts/cookiePrefsButtonDragObserver.d.ts.map +1 -1
- package/dist/config/gui-options/scripts/cookiePrefsButtonDragObserver.js +1 -1
- package/dist/config/gui-options/scripts/injectManageCookiePrefsButton.d.ts +2 -0
- package/dist/config/gui-options/scripts/injectManageCookiePrefsButton.d.ts.map +1 -1
- package/dist/config/gui-options/scripts/injectManageCookiePrefsButton.js +4 -1
- package/dist/config/index.d.ts +26 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -1
- package/dist/config/translations/de/index.d.ts +5 -0
- package/dist/config/translations/de/index.d.ts.map +1 -1
- package/dist/config/translations/de/index.js +5 -0
- package/dist/config/translations/en/index.d.ts +5 -0
- package/dist/config/translations/en/index.d.ts.map +1 -1
- package/dist/config/translations/en/index.js +5 -0
- package/dist/config/translations/es/index.d.ts +5 -0
- package/dist/config/translations/es/index.d.ts.map +1 -1
- package/dist/config/translations/es/index.js +5 -0
- package/dist/config/translations/fr/index.d.ts +5 -0
- package/dist/config/translations/fr/index.d.ts.map +1 -1
- package/dist/config/translations/fr/index.js +5 -0
- package/dist/config/translations/index.d.ts +25 -0
- package/dist/config/translations/index.d.ts.map +1 -1
- package/dist/config/translations/it/index.d.ts +5 -0
- package/dist/config/translations/it/index.d.ts.map +1 -1
- package/dist/config/translations/it/index.js +5 -0
- package/dist/init/brf.d.ts +2 -0
- package/dist/init/brf.d.ts.map +1 -0
- package/dist/init/brf.js +65 -0
- package/dist/init/tilli-website.d.ts +2 -0
- package/dist/init/tilli-website.d.ts.map +1 -0
- package/dist/init/tilli-website.js +24 -0
- package/dist/init/utils.d.ts +5 -0
- package/dist/init/utils.d.ts.map +1 -0
- package/dist/init/utils.js +39 -0
- package/dist/init/website.d.ts +2 -0
- package/dist/init/website.d.ts.map +1 -0
- package/dist/init/website.js +73 -0
- package/dist/init.d.ts +15 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +76 -3
- package/dist/react-components/CookieConsentInit.client.d.ts.map +1 -1
- package/dist/react-components/CookieConsentInit.client.js +2 -23
- package/dist/react-components/CookieConsentInit.server.d.ts +2 -2
- package/dist/react-components/CookieConsentInit.server.d.ts.map +1 -1
- package/dist/react-components/CookieConsentInit.server.js +2 -2
- package/dist/react-components/hooks/useCookieConsent.d.ts +4 -0
- package/dist/react-components/hooks/useCookieConsent.d.ts.map +1 -0
- package/dist/react-components/hooks/useCookieConsent.js +17 -0
- package/dist/styles/index.d.ts +8 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +6 -0
- package/package.json +11 -11
- package/scripts/postbuild/inject-plugin.ts +127 -9
- package/src/{react-components/_utils.ts → _utils.ts} +2 -2
- package/src/config/gui-options/scripts/cookiePrefsButtonDragObserver.ts +2 -1
- package/src/config/gui-options/scripts/injectManageCookiePrefsButton.ts +13 -1
- package/src/config/index.ts +14 -1
- package/src/config/translations/de/index.ts +7 -0
- package/src/config/translations/en/index.ts +7 -0
- package/src/config/translations/es/index.ts +7 -0
- package/src/config/translations/fr/index.ts +7 -0
- package/src/config/translations/it/index.ts +7 -0
- package/src/init/brf.ts +78 -0
- package/src/init/tilli-website.ts +37 -0
- package/src/init/utils.ts +66 -0
- package/src/init.ts +102 -3
- package/src/react-components/CookieConsentInit.client.tsx +2 -27
- package/src/react-components/CookieConsentInit.server.tsx +2 -2
- package/src/react-components/hooks/useCookieConsent.ts +30 -0
- package/src/styles/index.ts +6 -0
- package/src/styles/tenants/freeman.css +63 -0
- package/src/styles/tenants/frontier.css +71 -0
- /package/{src/react-components → dist}/styles/tenants/freeman.css +0 -0
- /package/{src/react-components → dist}/styles/tenants/frontier.css +0 -0
- /package/src/{react-components/_types.ts → _types.ts} +0 -0
@@ -0,0 +1,37 @@
|
|
1
|
+
import type { CookieConsentConfig } from "@tilli-pro/cookieconsent";
|
2
|
+
|
3
|
+
import _config from "../config";
|
4
|
+
import { run } from "../init";
|
5
|
+
import {
|
6
|
+
makeInitFn,
|
7
|
+
stripInvalidLinkedCategoriesFromTranslations,
|
8
|
+
} from "./utils";
|
9
|
+
|
10
|
+
const categories: CookieConsentConfig["categories"] = {
|
11
|
+
necessary: {
|
12
|
+
enabled: true, // "necessary" category is always enabled.
|
13
|
+
readOnly: true,
|
14
|
+
},
|
15
|
+
analytics: {},
|
16
|
+
marketing: {},
|
17
|
+
};
|
18
|
+
|
19
|
+
// TODO: DRY further w/ `./brf.ts`
|
20
|
+
const language: CookieConsentConfig["language"] = {
|
21
|
+
..._config.language,
|
22
|
+
translations: stripInvalidLinkedCategoriesFromTranslations(
|
23
|
+
_config.language.translations,
|
24
|
+
categories,
|
25
|
+
true, // clear cookie tables // FIXME: refactor this to actually just use the proper cookie table accoring to the categories var
|
26
|
+
),
|
27
|
+
};
|
28
|
+
|
29
|
+
const config: CookieConsentConfig = {
|
30
|
+
..._config,
|
31
|
+
categories,
|
32
|
+
language,
|
33
|
+
};
|
34
|
+
|
35
|
+
// console.debug({ config }, "Initializing Cookie Consent (tilli Website)...");
|
36
|
+
const init = makeInitFn(run, config);
|
37
|
+
void init();
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import type { CookieConsentConfig } from "@tilli-pro/cookieconsent";
|
2
|
+
import type * as CookieConsent from "@tilli-pro/cookieconsent";
|
3
|
+
|
4
|
+
import { injectReactRemoveScrollToggle } from "../config/gui-options/scripts/forceDisableReactRemoveScroll";
|
5
|
+
import injectManageCookiePrefsButton from "../config/gui-options/scripts/injectManageCookiePrefsButton";
|
6
|
+
|
7
|
+
export const makeInitFn = (
|
8
|
+
initFn: typeof CookieConsent.run,
|
9
|
+
config: CookieConsentConfig,
|
10
|
+
) => {
|
11
|
+
return async () => {
|
12
|
+
/** inject the cookie-consent banner (pop-up) */
|
13
|
+
await initFn(config);
|
14
|
+
|
15
|
+
/** ...then, inject the floating cookie consent "manage preferences" icon button into the DOM (floats @ the bottom right) */
|
16
|
+
injectManageCookiePrefsButton();
|
17
|
+
|
18
|
+
/** ...and, force-disable "react-remove-scroll" -- only upon opening up the "manage preferences" dialog
|
19
|
+
*
|
20
|
+
* > this handles the edge case where there's a shadcn (radix-ui) dialog open
|
21
|
+
* underneath the cookie banner's "manage preferences" dialog, which prevents
|
22
|
+
* the user from scrolling within the manage prefs dialog
|
23
|
+
*/
|
24
|
+
injectReactRemoveScrollToggle();
|
25
|
+
};
|
26
|
+
};
|
27
|
+
|
28
|
+
export const stripInvalidLinkedCategoriesFromTranslations = (
|
29
|
+
translations: CookieConsentConfig["language"]["translations"],
|
30
|
+
categories: CookieConsentConfig["categories"],
|
31
|
+
alsoClearCookieTables: boolean = false, // FIXME: refactor this to actually just use the proper cookie table accoring to the categories var
|
32
|
+
): CookieConsentConfig["language"]["translations"] =>
|
33
|
+
Object.fromEntries(
|
34
|
+
Object.entries(translations).map(([lang, translation]) => {
|
35
|
+
if (
|
36
|
+
translation &&
|
37
|
+
typeof translation === "object" &&
|
38
|
+
translation.preferencesModal &&
|
39
|
+
Array.isArray(translation.preferencesModal.sections)
|
40
|
+
) {
|
41
|
+
/** filter out irrelevant sections */
|
42
|
+
const filteredSections = translation.preferencesModal.sections.filter(
|
43
|
+
(section: CookieConsent.Section) =>
|
44
|
+
!section.linkedCategory || categories[section.linkedCategory],
|
45
|
+
);
|
46
|
+
|
47
|
+
if (alsoClearCookieTables)
|
48
|
+
filteredSections.forEach(
|
49
|
+
(section: CookieConsent.Section) => (section.cookieTable = undefined),
|
50
|
+
);
|
51
|
+
|
52
|
+
return [
|
53
|
+
lang,
|
54
|
+
{
|
55
|
+
...translation,
|
56
|
+
preferencesModal: {
|
57
|
+
...translation.preferencesModal,
|
58
|
+
sections: filteredSections,
|
59
|
+
},
|
60
|
+
},
|
61
|
+
];
|
62
|
+
}
|
63
|
+
|
64
|
+
return [lang, translation];
|
65
|
+
}),
|
66
|
+
);
|
package/src/init.ts
CHANGED
@@ -1,10 +1,109 @@
|
|
1
|
-
import "https://
|
1
|
+
import "https://cdn.jsdelivr.net/gh/tilli-pro/cookieconsent@0f888b603ba1077d94776af62d2bfb7247e5ffe4/dist/cookieconsent.umd.js";
|
2
2
|
|
3
3
|
import type * as _CookieConsent from "@tilli-pro/cookieconsent";
|
4
|
-
import
|
4
|
+
import type { CookieConsentConfig } from "@tilli-pro/cookieconsent";
|
5
|
+
|
6
|
+
import { cookieConsentTheme } from "./_utils";
|
7
|
+
import _config from "./config";
|
8
|
+
import { makeInitFn } from "./init/utils";
|
9
|
+
import styles from "./styles";
|
5
10
|
|
6
11
|
declare module CookieConsent {
|
7
12
|
const run: typeof _CookieConsent.run;
|
8
13
|
}
|
9
14
|
|
10
|
-
|
15
|
+
declare global {
|
16
|
+
interface Window {
|
17
|
+
cookieConsentTheme: typeof cookieConsentTheme;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
const GIT_SHA = "5d10d218837ca7ecd0362b35a3333eaf07efe92d";
|
22
|
+
const GIT_REPO = "tilli-pro/cookieconsent";
|
23
|
+
const GIT_CDN_BASE_URL = "https://cdn.jsdelivr.net/gh";
|
24
|
+
const GIT_CDN_URL = `${GIT_CDN_BASE_URL}/${GIT_REPO}@${GIT_SHA}`;
|
25
|
+
const GIT_DIST_URL = `${GIT_CDN_URL}/dist`;
|
26
|
+
const makeRemoteURL = (path: string) => `${GIT_DIST_URL}/${path}`;
|
27
|
+
export const makeRemotePluginURL = (path: string) =>
|
28
|
+
makeRemoteURL(`plugin/${path}`);
|
29
|
+
|
30
|
+
const CC_CSS_URL = makeRemoteURL("cookieconsent.css");
|
31
|
+
|
32
|
+
const getFilenameWithPathFromRemoteURL = (url: string) => {
|
33
|
+
const urlObj = new URL(url);
|
34
|
+
const path = urlObj.pathname;
|
35
|
+
const file = path.split("/").pop();
|
36
|
+
return file;
|
37
|
+
};
|
38
|
+
|
39
|
+
function loadCSS(url: string) {
|
40
|
+
if (
|
41
|
+
document.querySelector(
|
42
|
+
`link[href*="${getFilenameWithPathFromRemoteURL(url)}"]`,
|
43
|
+
)
|
44
|
+
) {
|
45
|
+
// console.debug(`CSS already loaded: ${url}`);
|
46
|
+
return; // prevent duplication
|
47
|
+
}
|
48
|
+
|
49
|
+
const link = document.createElement("link");
|
50
|
+
Object.assign(link, {
|
51
|
+
rel: "stylesheet",
|
52
|
+
type: "text/css",
|
53
|
+
href: url,
|
54
|
+
});
|
55
|
+
document.head.appendChild(link);
|
56
|
+
}
|
57
|
+
|
58
|
+
function loadNestedPluginCSS(basePath: string, obj: any): void {
|
59
|
+
for (const [key, value] of Object.entries(obj))
|
60
|
+
if (typeof value === "string") {
|
61
|
+
const url = makeRemotePluginURL(`${basePath}/${value}`);
|
62
|
+
// console.debug(`Loading plugin CSS from ${url}`);
|
63
|
+
loadCSS(url);
|
64
|
+
} else if (value && typeof value === "object") {
|
65
|
+
// console.debug(`Loading nested plugin CSS from ${basePath}/${key}`);
|
66
|
+
loadNestedPluginCSS(`${basePath}/${key}`, value);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
async function always() {
|
71
|
+
loadCSS(CC_CSS_URL);
|
72
|
+
loadNestedPluginCSS("styles", styles); // TODO: make dynamic (only import dependent styles - aka if a certain `init` config is specified)
|
73
|
+
window.cookieConsentTheme = cookieConsentTheme; // used to fetch the correct classname to apply a specified theme | THIS SHOULD BE INJECTED INTO THE <HTML> TAG!!! // TODO: auto-inject (?)
|
74
|
+
}
|
75
|
+
|
76
|
+
void always();
|
77
|
+
|
78
|
+
export const run = async (
|
79
|
+
config: CookieConsentConfig = _config,
|
80
|
+
): ReturnType<typeof CookieConsent.run> => await CookieConsent.run(config);
|
81
|
+
|
82
|
+
// ⚠️ NOTE: DISABLED THIS ENTRY MODULE SINCE ALL INITS SHOULD BE USING A SPECIFICALLY-CONFIGURED ENTRY MODULE INSTEAD (e.g. `init/brf.ts`, `init/tilli-website.ts`) !!!
|
83
|
+
|
84
|
+
// function isEntryModule(): boolean {
|
85
|
+
// if (typeof document === "undefined") return false;
|
86
|
+
// try {
|
87
|
+
// const currentModuleUrl = new URL(import.meta.url, document.baseURI).href;
|
88
|
+
// const scripts = Array.from(
|
89
|
+
// document.querySelectorAll('script[type="module"]'),
|
90
|
+
// );
|
91
|
+
// return scripts.some((script) => {
|
92
|
+
// const src = script.getAttribute("src");
|
93
|
+
// if (!src) return false;
|
94
|
+
// return new URL(src, document.baseURI).href === currentModuleUrl;
|
95
|
+
// });
|
96
|
+
// } catch (err) {
|
97
|
+
// console.error("Error checking module entry:", err);
|
98
|
+
// return false;
|
99
|
+
// }
|
100
|
+
// }
|
101
|
+
|
102
|
+
// if (isEntryModule()) {
|
103
|
+
// // console.debug(
|
104
|
+
// // { config: _config },
|
105
|
+
// // "Initializing Cookie Consent (entry module)...",
|
106
|
+
// // );
|
107
|
+
// const init = makeInitFn(run, _config);
|
108
|
+
// void init();
|
109
|
+
// }
|
@@ -1,34 +1,9 @@
|
|
1
1
|
"use client";
|
2
2
|
|
3
|
-
import
|
4
|
-
|
5
|
-
import { run } from "@tilli-pro/cookieconsent";
|
6
|
-
|
7
|
-
import { COOKIE_CONSENT_ENABLED } from "../_consts";
|
8
|
-
import config from "../config";
|
9
|
-
import { injectReactRemoveScrollToggle } from "../config/gui-options/scripts/forceDisableReactRemoveScroll";
|
10
|
-
import injectManageCookiePrefsButton from "../config/gui-options/scripts/injectManageCookiePrefsButton";
|
3
|
+
import useCookieConsent from "./hooks/useCookieConsent";
|
11
4
|
|
12
5
|
export default function CookieConsentInit() {
|
13
|
-
|
14
|
-
if (!COOKIE_CONSENT_ENABLED) return;
|
15
|
-
|
16
|
-
void (async () => {
|
17
|
-
/** inject the cookie-consent banner (pop-up) */
|
18
|
-
await run(config);
|
19
|
-
|
20
|
-
/** ...then, inject the floating cookie consent "manage preferences" icon button into the DOM (floats @ the bottom right) */
|
21
|
-
injectManageCookiePrefsButton();
|
22
|
-
|
23
|
-
/** ...and, force-disable "react-remove-scroll" -- only upon opening up the "manage preferences" dialog
|
24
|
-
*
|
25
|
-
* > this handles the edge case where there's a shadcn (radix-ui) dialog open
|
26
|
-
* underneath the cookie banner's "manage preferences" dialog, which prevents
|
27
|
-
* the user from scrolling within the manage prefs dialog
|
28
|
-
*/
|
29
|
-
injectReactRemoveScrollToggle();
|
30
|
-
})();
|
31
|
-
}, []);
|
6
|
+
useCookieConsent();
|
32
7
|
|
33
8
|
return null;
|
34
9
|
}
|
@@ -4,8 +4,8 @@ import { COOKIE_CONSENT_ENABLED } from "../_consts";
|
|
4
4
|
import CookieConsentInitClient from "./CookieConsentInit.client";
|
5
5
|
|
6
6
|
import "@tilli-pro/cookieconsent/dist/cookieconsent.css";
|
7
|
-
import "
|
8
|
-
import "
|
7
|
+
import "../styles/tenants/freeman.css";
|
8
|
+
import "../styles/tenants/frontier.css";
|
9
9
|
|
10
10
|
/** we use a server component to handle dynamic injection of the script all together
|
11
11
|
* > basically, there's no need to inject the client-side cookie-consent script if it's not in scope */
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use client";
|
2
|
+
|
3
|
+
import { useEffect } from "react";
|
4
|
+
|
5
|
+
import type * as _CookieConsent from "@tilli-pro/cookieconsent";
|
6
|
+
|
7
|
+
import { COOKIE_CONSENT_ENABLED } from "../../_consts";
|
8
|
+
import config from "../../config";
|
9
|
+
import { makeInitFn } from "../../init/utils";
|
10
|
+
|
11
|
+
declare const CookieConsent:
|
12
|
+
| {
|
13
|
+
run?: typeof _CookieConsent.run;
|
14
|
+
}
|
15
|
+
| undefined;
|
16
|
+
|
17
|
+
export const run =
|
18
|
+
typeof CookieConsent !== "undefined" &&
|
19
|
+
typeof CookieConsent.run === "function"
|
20
|
+
? CookieConsent.run
|
21
|
+
: (await import("@tilli-pro/cookieconsent")).run;
|
22
|
+
|
23
|
+
export default function useCookieConsent() {
|
24
|
+
useEffect(() => {
|
25
|
+
if (!COOKIE_CONSENT_ENABLED) return;
|
26
|
+
|
27
|
+
const init = makeInitFn(run, config);
|
28
|
+
void init();
|
29
|
+
}, []);
|
30
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/** NOTE: to auto-add `!important` suffixes, simply use this RegEx w/ Find + Replace:
|
2
|
+
* > Find: (:)(?![^;]*!important)([^;]+)(;)(?!.*\^)
|
3
|
+
* > Replace: :$2 !important;
|
4
|
+
*/
|
5
|
+
|
6
|
+
/** `tenant:freeman` color-scheme **/
|
7
|
+
.cc--tenant\:freeman-light {
|
8
|
+
--cc-bg: #ffffff !important;
|
9
|
+
--cc-primary-color: #2c2f31 !important;
|
10
|
+
--cc-secondary-color: #5e6266 !important;
|
11
|
+
|
12
|
+
--cc-btn-primary-bg: #00bdf6 !important;
|
13
|
+
--cc-btn-primary-color: #ffffff !important;
|
14
|
+
--cc-btn-primary-border-color: var(--cc-btn-primary-bg) !important;
|
15
|
+
--cc-btn-primary-hover-bg: #5ed6ff !important;
|
16
|
+
--cc-btn-primary-hover-color: #ffffff !important;
|
17
|
+
--cc-btn-primary-hover-border-color: var(
|
18
|
+
--cc-btn-primary-hover-bg
|
19
|
+
) !important;
|
20
|
+
|
21
|
+
--cc-btn-secondary-bg: #e2e8f0 !important;
|
22
|
+
--cc-btn-secondary-color: #334155 !important;
|
23
|
+
--cc-btn-secondary-border-color: var(--cc-btn-secondary-bg) !important;
|
24
|
+
--cc-btn-secondary-hover-bg: #f1f5f9 !important;
|
25
|
+
--cc-btn-secondary-hover-color: #000000 !important;
|
26
|
+
--cc-btn-secondary-hover-border-color: #d4dae0 !important;
|
27
|
+
|
28
|
+
--cc-separator-border-color: #f3f8fc !important;
|
29
|
+
|
30
|
+
--cc-toggle-on-bg: var(--cc-btn-primary-bg) !important;
|
31
|
+
--cc-toggle-off-bg: #667481 !important;
|
32
|
+
--cc-toggle-on-knob-bg: #ffffff !important;
|
33
|
+
--cc-toggle-off-knob-bg: var(--cc-toggle-on-knob-bg) !important;
|
34
|
+
|
35
|
+
--cc-toggle-enabled-icon-color: var(--cc-bg) !important; /* yes (v tick) */
|
36
|
+
--cc-toggle-disabled-icon-color: var(--cc-bg) !important; /* no (x tick) */
|
37
|
+
|
38
|
+
--cc-toggle-readonly-bg: #d5dee2 !important;
|
39
|
+
--cc-toggle-readonly-knob-bg: #fff !important;
|
40
|
+
--cc-toggle-readonly-knob-icon-color: var(--cc-toggle-readonly-bg) !important;
|
41
|
+
|
42
|
+
--cc-section-category-border: var(--cc-cookie-category-block-bg) !important;
|
43
|
+
|
44
|
+
--cc-cookie-category-block-bg: #f3f8fc !important;
|
45
|
+
--cc-cookie-category-block-border: #f3f8fc !important;
|
46
|
+
--cc-cookie-category-block-hover-bg: #f0f4f7 !important;
|
47
|
+
--cc-cookie-category-block-hover-border: #f0f4f7 !important;
|
48
|
+
--cc-cookie-category-expanded-block-bg: transparent !important;
|
49
|
+
--cc-cookie-category-expanded-block-hover-bg: #dee4e9 !important;
|
50
|
+
|
51
|
+
--cc-overlay-bg: rgba(0, 0, 0, 0.65) !important;
|
52
|
+
--cc-webkit-scrollbar-bg: var(--cc-section-category-border) !important;
|
53
|
+
--cc-webkit-scrollbar-hover-bg: var(--cc-btn-primary-hover-bg) !important;
|
54
|
+
|
55
|
+
--cc-footer-bg: #f3f8fc !important;
|
56
|
+
--cc-footer-color: var(--cc-secondary-color) !important;
|
57
|
+
--cc-footer-border-color: #e4eaed !important;
|
58
|
+
}
|
59
|
+
|
60
|
+
/** font */
|
61
|
+
.cc--tenant\:freeman-light #cc-main {
|
62
|
+
font-family: var(--font-inter), var(--cc-font-family) !important;
|
63
|
+
}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/** NOTE: to auto-add `!important` suffixes, simply use this RegEx w/ Find + Replace:
|
2
|
+
* > Find: (:)(?![^;]*!important)([^;]+)(;)(?!.*\^)
|
3
|
+
* > Replace: :$2 !important;
|
4
|
+
*/
|
5
|
+
|
6
|
+
/** `tenant:frontier` color-scheme **/
|
7
|
+
.cc--tenant\:frontier-light {
|
8
|
+
--cc-bg: #ffffff !important;
|
9
|
+
--cc-primary-color: #2c2f31 !important;
|
10
|
+
--cc-secondary-color: #5e6266 !important;
|
11
|
+
|
12
|
+
--cc-btn-primary-bg: #ff0037 !important;
|
13
|
+
--cc-btn-primary-color: #ffffff !important;
|
14
|
+
--cc-btn-primary-border-color: var(--cc-btn-primary-bg) !important;
|
15
|
+
--cc-btn-primary-hover-bg: #141928 !important;
|
16
|
+
--cc-btn-primary-hover-color: #ffffff !important;
|
17
|
+
--cc-btn-primary-hover-border-color: var(
|
18
|
+
--cc-btn-primary-hover-bg
|
19
|
+
) !important;
|
20
|
+
|
21
|
+
--cc-btn-secondary-bg: #eaeff2 !important;
|
22
|
+
--cc-btn-secondary-color: var(--cc-primary-color) !important;
|
23
|
+
--cc-btn-secondary-border-color: var(--cc-btn-secondary-bg) !important;
|
24
|
+
--cc-btn-secondary-hover-bg: #d4dae0 !important;
|
25
|
+
--cc-btn-secondary-hover-color: #000000 !important;
|
26
|
+
--cc-btn-secondary-hover-border-color: #d4dae0 !important;
|
27
|
+
|
28
|
+
--cc-separator-border-color: #f0f4f7 !important;
|
29
|
+
|
30
|
+
--cc-toggle-on-bg: var(--cc-btn-primary-bg) !important;
|
31
|
+
--cc-toggle-off-bg: #667481 !important;
|
32
|
+
--cc-toggle-on-knob-bg: #ffffff !important;
|
33
|
+
--cc-toggle-off-knob-bg: var(--cc-toggle-on-knob-bg) !important;
|
34
|
+
|
35
|
+
--cc-toggle-enabled-icon-color: var(--cc-bg) !important; /* yes (v tick) */
|
36
|
+
--cc-toggle-disabled-icon-color: var(--cc-bg) !important; /* no (x tick) */
|
37
|
+
|
38
|
+
--cc-toggle-readonly-bg: #d5dee2 !important;
|
39
|
+
--cc-toggle-readonly-knob-bg: #fff !important;
|
40
|
+
--cc-toggle-readonly-knob-icon-color: var(--cc-toggle-readonly-bg) !important;
|
41
|
+
|
42
|
+
--cc-section-category-border: var(--cc-cookie-category-block-bg) !important;
|
43
|
+
|
44
|
+
--cc-cookie-category-block-bg: #f0f4f7 !important;
|
45
|
+
--cc-cookie-category-block-border: #f0f4f7 !important;
|
46
|
+
--cc-cookie-category-block-hover-bg: #e9eff4 !important;
|
47
|
+
--cc-cookie-category-block-hover-border: #e9eff4 !important;
|
48
|
+
--cc-cookie-category-expanded-block-bg: transparent !important;
|
49
|
+
--cc-cookie-category-expanded-block-hover-bg: #dee4e9 !important;
|
50
|
+
|
51
|
+
--cc-overlay-bg: rgba(0, 0, 0, 0.65) !important;
|
52
|
+
--cc-webkit-scrollbar-bg: var(--cc-section-category-border) !important;
|
53
|
+
--cc-webkit-scrollbar-hover-bg: var(--cc-btn-primary-hover-bg) !important;
|
54
|
+
|
55
|
+
--cc-footer-bg: var(--cc-btn-secondary-bg) !important;
|
56
|
+
--cc-footer-color: var(--cc-secondary-color) !important;
|
57
|
+
--cc-footer-border-color: #e4eaed !important;
|
58
|
+
}
|
59
|
+
|
60
|
+
.cc--tenant\:frontier-light button.cm__btn,
|
61
|
+
.cc--tenant\:frontier-light button.pm__btn {
|
62
|
+
border-radius: 9999px !important;
|
63
|
+
text-transform: uppercase !important;
|
64
|
+
font-weight: 700 !important;
|
65
|
+
letter-spacing: 0.025em !important;
|
66
|
+
}
|
67
|
+
|
68
|
+
/** font */
|
69
|
+
.cc--tenant\:frontier-light #cc-main {
|
70
|
+
font-family: var(--font-frontier-pp-object-sans), var(--cc-font-family) !important;
|
71
|
+
}
|
File without changes
|
File without changes
|
File without changes
|