UNPKG

@c15t/react

Version:

Developer-first CMP for React: cookie banner, consent manager, preferences centre. GDPR ready with minimal setup and rich customization

1 lines 8.44 kB
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),consent_manager_provider_cjs_namespaceObject=require("../../providers/consent-manager-provider.cjs"),external_use_translations_cjs_namespaceObject=require("../use-translations.cjs");for(var __webpack_i__ in(0,external_vitest_namespaceObject.describe)("useTranslations",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{(0,consent_manager_provider_cjs_namespaceObject.clearConsentManagerCache)()}),(0,external_vitest_namespaceObject.test)("returns English translations by default",async()=>{let{result:e}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_translations_cjs_namespaceObject.useTranslations)(),{wrapper:({children:e})=>(0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1}},children:e})});await new Promise(e=>setTimeout(e,10)),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.title).toBe("We value your privacy"),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.description).toBe("This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content."),(0,external_vitest_namespaceObject.expect)(e.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,external_vitest_namespaceObject.expect)(e.current.common.acceptAll).toBe("Accept All"),(0,external_vitest_namespaceObject.expect)(e.current.common.rejectAll).toBe("Reject All"),(0,external_vitest_namespaceObject.expect)(e.current.common.customize).toBe("Customize"),(0,external_vitest_namespaceObject.expect)(e.current.common.save).toBe("Save Settings"),(0,external_vitest_namespaceObject.expect)(e.current.consentTypes?.necessary?.title).toBe("Strictly Necessary")}),(0,external_vitest_namespaceObject.test)("returns German translations instead of English when German is selected",async()=>{let{result:e}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_translations_cjs_namespaceObject.useTranslations)(),{wrapper:({children:e})=>(0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"de",disableAutoLanguageSwitch:!0,translations:{de:{common:{acceptAll:"German Accept All",rejectAll:"German Reject All",customize:"German Customize",save:"German Save"},cookieBanner:{title:"German Title",description:"German Description"},consentManagerDialog:{title:"German Dialog Title"},consentTypes:{necessary:{title:"German Necessary",description:"German Necessary Description"}}}}}},children:e})});await new Promise(e=>setTimeout(e,10)),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.title).toBe("German Title"),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.description).toBe("German Description"),(0,external_vitest_namespaceObject.expect)(e.current.consentManagerDialog.title).toBe("German Dialog Title"),(0,external_vitest_namespaceObject.expect)(e.current.common.acceptAll).toBe("German Accept All"),(0,external_vitest_namespaceObject.expect)(e.current.common.rejectAll).toBe("German Reject All"),(0,external_vitest_namespaceObject.expect)(e.current.common.customize).toBe("German Customize"),(0,external_vitest_namespaceObject.expect)(e.current.common.save).toBe("German Save"),(0,external_vitest_namespaceObject.expect)(e.current.consentTypes?.necessary?.title).toBe("German Necessary")}),(0,external_vitest_namespaceObject.test)("merges custom translations with defaults",async()=>{let e={translations:{en:{cookieBanner:{title:"Custom Cookie Settings",description:"Custom Description"}}}},{result:t}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_translations_cjs_namespaceObject.useTranslations)(),{wrapper:({children:t})=>(0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:e},children:t})});await new Promise(e=>setTimeout(e,10)),(0,external_vitest_namespaceObject.expect)(t.current.cookieBanner.title).toBe("Custom Cookie Settings"),(0,external_vitest_namespaceObject.expect)(t.current.cookieBanner.description).toBe("Custom Description"),(0,external_vitest_namespaceObject.expect)(t.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,external_vitest_namespaceObject.expect)(t.current.common.acceptAll).toBe("Accept All"),(0,external_vitest_namespaceObject.expect)(t.current.common.rejectAll).toBe("Reject All"),(0,external_vitest_namespaceObject.expect)(t.current.common.customize).toBe("Customize"),(0,external_vitest_namespaceObject.expect)(t.current.common.save).toBe("Save Settings")}),(0,external_vitest_namespaceObject.test)("falls back to English when selected language is not available",async()=>{let{result:e}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_translations_cjs_namespaceObject.useTranslations)(),{wrapper:({children:e})=>(0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"fr"}},children:e})});await new Promise(e=>setTimeout(e,10)),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.title).toBe("We value your privacy"),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.description).toBe("This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content."),(0,external_vitest_namespaceObject.expect)(e.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,external_vitest_namespaceObject.expect)(e.current.common.acceptAll).toBe("Accept All"),(0,external_vitest_namespaceObject.expect)(e.current.common.rejectAll).toBe("Reject All"),(0,external_vitest_namespaceObject.expect)(e.current.common.customize).toBe("Customize"),(0,external_vitest_namespaceObject.expect)(e.current.common.save).toBe("Save Settings")}),(0,external_vitest_namespaceObject.test)("Custom English instead of English when German is selected",async()=>{let{result:e}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_translations_cjs_namespaceObject.useTranslations)(),{wrapper:({children:e})=>(0,jsx_runtime_namespaceObject.jsx)(consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"en",disableAutoLanguageSwitch:!0,translations:{en:{common:{acceptAll:"Custom English Accept All",rejectAll:"Custom English Reject All",customize:"Custom English Customize",save:"Custom English Save"},cookieBanner:{title:"Custom English Title",description:"Custom English Description"},consentManagerDialog:{title:"Custom English Dialog Title"},consentTypes:{necessary:{title:"Custom English Necessary",description:"Custom English Necessary Description"}}}}}},children:e})});await new Promise(e=>setTimeout(e,20)),(0,external_vitest_namespaceObject.expect)(e.current.common.acceptAll).toBe("Custom English Accept All"),(0,external_vitest_namespaceObject.expect)(e.current.common.rejectAll).toBe("Custom English Reject All"),(0,external_vitest_namespaceObject.expect)(e.current.common.customize).toBe("Custom English Customize"),(0,external_vitest_namespaceObject.expect)(e.current.common.save).toBe("Custom English Save"),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.title).toBe("Custom English Title"),(0,external_vitest_namespaceObject.expect)(e.current.cookieBanner.description).toBe("Custom English Description"),(0,external_vitest_namespaceObject.expect)(e.current.consentManagerDialog.title).toBe("Custom English Dialog Title"),(0,external_vitest_namespaceObject.expect)(e.current.consentTypes?.necessary?.title).toBe("Custom English Necessary")})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});