@c15t/react 1.1.2 → 1.1.4
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/README.md +1 -1
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.cjs +15 -1
- package/dist/components/consent-manager-dialog/__tests__/styles.spec.js +15 -1
- package/dist/components/consent-manager-dialog/consent-manager-dialog_module.css +1 -1
- package/dist/components/consent-manager-widget/__tests__/styles.spec.cjs +15 -1
- package/dist/components/consent-manager-widget/__tests__/styles.spec.js +15 -1
- package/dist/components/consent-manager-widget/consent-manager-widget_module.css +1 -1
- package/dist/components/cookie-banner/__tests__/styles.spec.cjs +15 -1
- package/dist/components/cookie-banner/__tests__/styles.spec.js +15 -1
- package/dist/components/cookie-banner/cookie-banner_module.css +1 -1
- package/dist/components/shared/ui/accordion/accordion_module.css +1 -1
- package/dist/components/shared/ui/button/button_module.css +1 -1
- package/dist/components/shared/ui/switch/switch_module.css +1 -1
- package/dist/headless.cjs +1 -1
- package/dist/headless.d.ts +1 -2
- package/dist/headless.d.ts.map +1 -1
- package/dist/headless.js +1 -1
- package/dist/hooks/__tests__/use-color-scheme.test.cjs +1 -0
- package/dist/hooks/__tests__/use-color-scheme.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-color-scheme.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-color-scheme.test.js +1 -0
- package/dist/hooks/__tests__/use-translations.test.cjs +1 -0
- package/dist/hooks/__tests__/use-translations.test.d.ts +2 -0
- package/dist/hooks/__tests__/use-translations.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/use-translations.test.js +1 -0
- package/dist/hooks/use-color-scheme.cjs +1 -1
- package/dist/hooks/use-color-scheme.d.ts +2 -2
- package/dist/hooks/use-color-scheme.d.ts.map +1 -1
- package/dist/hooks/use-color-scheme.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/providers/__tests__/provider-basic.test.cjs +1 -1
- package/dist/providers/__tests__/provider-basic.test.js +1 -1
- package/dist/providers/__tests__/provider-context.test.cjs +1 -1
- package/dist/providers/__tests__/provider-context.test.js +1 -1
- package/dist/providers/consent-manager-provider.cjs +1 -1
- package/dist/providers/consent-manager-provider.d.ts.map +1 -1
- package/dist/providers/consent-manager-provider.js +1 -1
- package/dist/types/consent-manager.d.ts +6 -2
- package/dist/types/consent-manager.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/utils/translations.cjs +0 -2
- package/dist/utils/translations.d.ts +0 -14
- package/dist/utils/translations.d.ts.map +0 -1
- package/dist/utils/translations.js +0 -2
package/README.md
CHANGED
|
@@ -46,7 +46,7 @@ import { c15tConfig } from "./c15t.client";
|
|
|
46
46
|
|
|
47
47
|
export default function App() {
|
|
48
48
|
return (
|
|
49
|
-
<ConsentManagerProvider
|
|
49
|
+
<ConsentManagerProvider options={c15tConfig}>
|
|
50
50
|
<CookieBanner />
|
|
51
51
|
<ConsentManagerDialog/>
|
|
52
52
|
{/* Your app content */}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_consent_manager_dialog_cjs_namespaceObject=require("../consent-manager-dialog.cjs"),test_helpers_cjs_namespaceObject=require("../../../utils/test-helpers.cjs");var test_helpers_cjs_default=__webpack_require__.n(test_helpers_cjs_namespaceObject);let ALL_COMPONENTS=[{testId:"consent-manager-dialog-root",themeKey:"dialog.root",styles:"custom-dialog-root"},{testId:"consent-manager-dialog-overlay",themeKey:"dialog.overlay",styles:"custom-dialog-overlay"},{testId:"consent-manager-dialog-header",themeKey:"dialog.header",styles:"custom-dialog-header"},{testId:"consent-manager-dialog-title",themeKey:"dialog.title",styles:"custom-dialog-title"},{testId:"consent-manager-dialog-description",themeKey:"dialog.description",styles:"custom-dialog-description"},{testId:"consent-manager-dialog-content",themeKey:"dialog.content",styles:"custom-dialog-content"},{testId:"consent-manager-dialog-footer",themeKey:"dialog.footer",styles:"custom-dialog-footer"}];for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({isPrivacyDialogOpen:!0,getDisplayedConsents:external_vitest_namespaceObject.vi.fn(()=>[]),saveConsents:external_vitest_namespaceObject.vi.fn(),setShowPopup:external_vitest_namespaceObject.vi.fn(),setIsPrivacyDialogOpen:external_vitest_namespaceObject.vi.fn()})})),external_vitest_namespaceObject.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerDialog:{title:"Dialog Title",description:"Dialog Description",saveButton:"Save",rejectAllButton:"Reject All",acceptAllButton:"Accept All"},consentManagerWidget:{},cookieBanner:{},general:{}})})),(0,external_vitest_namespaceObject.test)("Theme prop applies string classnames to all components",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,external_vitest_namespaceObject.test)("Theme prop supports object format with className and style for all components",async()=>{let e={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},t=ALL_COMPONENTS.map(({testId:t,themeKey:a,styles:s})=>({testId:t,themeKey:a,className:s,style:e})),a=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:t.reduce((e,{themeKey:t,className:a,style:s})=>(e[t]={className:a,style:s},e),{})});await test_helpers_cjs_default()({component:a,testCases:t.map(({testId:e,className:t,style:a})=>({testId:e,styles:{className:t,style:a}}))})}),(0,external_vitest_namespaceObject.test)("No style prop removes default styles but keeps custom classNames",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,noStyle:!0,open:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,external_vitest_namespaceObject.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,theme:{"dialog.root":{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"dialog.overlay":"custom-dialog-overlay"},open:!0});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-dialog-root",styles:{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-dialog-overlay",styles:"custom-dialog-overlay"}]})}),(0,external_vitest_namespaceObject.test)("Theme prop handles edge cases gracefully",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,open:!0,theme:{"dialog.root":"","dialog.overlay":"","dialog.content":{className:"",style:{margin:"0",padding:"0"}}}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-dialog-root",styles:""},{testId:"consent-manager-dialog-overlay",styles:""},{testId:"consent-manager-dialog-content",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),
|
|
1
|
+
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_consent_manager_dialog_cjs_namespaceObject=require("../consent-manager-dialog.cjs"),test_helpers_cjs_namespaceObject=require("../../../utils/test-helpers.cjs");var test_helpers_cjs_default=__webpack_require__.n(test_helpers_cjs_namespaceObject);let ALL_COMPONENTS=[{testId:"consent-manager-dialog-root",themeKey:"dialog.root",styles:"custom-dialog-root"},{testId:"consent-manager-dialog-overlay",themeKey:"dialog.overlay",styles:"custom-dialog-overlay"},{testId:"consent-manager-dialog-header",themeKey:"dialog.header",styles:"custom-dialog-header"},{testId:"consent-manager-dialog-title",themeKey:"dialog.title",styles:"custom-dialog-title"},{testId:"consent-manager-dialog-description",themeKey:"dialog.description",styles:"custom-dialog-description"},{testId:"consent-manager-dialog-content",themeKey:"dialog.content",styles:"custom-dialog-content"},{testId:"consent-manager-dialog-footer",themeKey:"dialog.footer",styles:"custom-dialog-footer"}];for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({isPrivacyDialogOpen:!0,getDisplayedConsents:external_vitest_namespaceObject.vi.fn(()=>[]),saveConsents:external_vitest_namespaceObject.vi.fn(),setShowPopup:external_vitest_namespaceObject.vi.fn(),setIsPrivacyDialogOpen:external_vitest_namespaceObject.vi.fn()})})),external_vitest_namespaceObject.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerDialog:{title:"Dialog Title",description:"Dialog Description",saveButton:"Save",rejectAllButton:"Reject All",acceptAllButton:"Accept All"},consentManagerWidget:{},cookieBanner:{},general:{}})})),(0,external_vitest_namespaceObject.test)("Theme prop applies string classnames to all components",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,external_vitest_namespaceObject.test)("Theme prop supports object format with className and style for all components",async()=>{let e={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},t=ALL_COMPONENTS.map(({testId:t,themeKey:a,styles:s})=>({testId:t,themeKey:a,className:s,style:e})),a=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:t.reduce((e,{themeKey:t,className:a,style:s})=>(e[t]={className:a,style:s},e),{})});await test_helpers_cjs_default()({component:a,testCases:t.map(({testId:e,className:t,style:a})=>({testId:e,styles:{className:t,style:a}}))})}),(0,external_vitest_namespaceObject.test)("No style prop removes default styles but keeps custom classNames",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,noStyle:!0,open:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,external_vitest_namespaceObject.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,theme:{"dialog.root":{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"dialog.overlay":"custom-dialog-overlay"},open:!0});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-dialog-root",styles:{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-dialog-overlay",styles:"custom-dialog-overlay"}]})}),(0,external_vitest_namespaceObject.test)("Theme prop handles edge cases gracefully",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{scrollLock:!0,open:!0,theme:{"dialog.root":"","dialog.overlay":"","dialog.content":{className:"",style:{margin:"0",padding:"0"}}}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-dialog-root",styles:""},{testId:"consent-manager-dialog-overlay",styles:""},{testId:"consent-manager-dialog-content",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,external_vitest_namespaceObject.test)("Custom classes override base layer styles",async()=>{let e=document.createElement("style");e.textContent=`
|
|
2
|
+
.custom-dialog-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-dialog-text {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{theme:{"dialog.root":"custom-dialog-background","dialog.title":"custom-dialog-text"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:"custom-dialog-background"},{testId:"consent-manager-dialog-title",styles:"custom-dialog-text"}]});let a=document.querySelector('[data-testid="consent-manager-dialog-root"]'),s=document.querySelector('[data-testid="consent-manager-dialog-title"]');if(!a||!s)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).backgroundColor).toBe("rgb(255, 0, 0)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(s).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(e)}),(0,external_vitest_namespaceObject.test)("Base layer styles are applied when no custom classes are provided",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{});await test_helpers_cjs_default()({component:e,testCases:[]});let t=document.querySelector('[data-testid="consent-manager-dialog-root"]'),a=document.querySelector('[data-testid="consent-manager-dialog-title"]');if(!t||!a)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(t).backgroundColor).toBe("rgb(255, 255, 255)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).color).toBe("rgb(23, 23, 23)")}),(0,external_vitest_namespaceObject.test)("Multiple custom classes can be applied and override base layer",async()=>{let e=document.createElement("style");e.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog,{theme:{"dialog.root":"custom-padding custom-border"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:"custom-padding custom-border"}]});let a=document.querySelector('[data-testid="consent-manager-dialog-root"]');if(!a)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).padding).toBe("32px"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(e)}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as o from"../consent-manager-dialog.js";import*as a from"../../../utils/test-helpers.js";let s=[{testId:"consent-manager-dialog-root",themeKey:"dialog.root",styles:"custom-dialog-root"},{testId:"consent-manager-dialog-overlay",themeKey:"dialog.overlay",styles:"custom-dialog-overlay"},{testId:"consent-manager-dialog-header",themeKey:"dialog.header",styles:"custom-dialog-header"},{testId:"consent-manager-dialog-title",themeKey:"dialog.title",styles:"custom-dialog-title"},{testId:"consent-manager-dialog-description",themeKey:"dialog.description",styles:"custom-dialog-description"},{testId:"consent-manager-dialog-content",themeKey:"dialog.content",styles:"custom-dialog-content"},{testId:"consent-manager-dialog-footer",themeKey:"dialog.footer",styles:"custom-dialog-footer"}];t.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({isPrivacyDialogOpen:!0,getDisplayedConsents:t.vi.fn(()=>[]),saveConsents:t.vi.fn(),setShowPopup:t.vi.fn(),setIsPrivacyDialogOpen:t.vi.fn()})})),t.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerDialog:{title:"Dialog Title",description:"Dialog Description",saveButton:"Save",rejectAllButton:"Reject All",acceptAllButton:"Accept All"},consentManagerWidget:{},cookieBanner:{},general:{}})})),(0,t.test)("Theme prop applies string classnames to all components",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,a.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,t.test)("Theme prop supports object format with className and style for all components",async()=>{let t={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},n=s.map(({testId:e,themeKey:o,styles:a})=>({testId:e,themeKey:o,className:a,style:t})),l=(0,e.jsx)(o.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:n.reduce((e,{themeKey:t,className:o,style:a})=>(e[t]={className:o,style:a},e),{})});await (0,a.default)({component:l,testCases:n.map(({testId:e,className:t,style:o})=>({testId:e,styles:{className:t,style:o}}))})}),(0,t.test)("No style prop removes default styles but keeps custom classNames",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,noStyle:!0,open:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,a.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,t.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,theme:{"dialog.root":{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"dialog.overlay":"custom-dialog-overlay"},open:!0});await (0,a.default)({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-dialog-overlay",styles:"custom-dialog-overlay"}]})}),(0,t.test)("Theme prop handles edge cases gracefully",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,open:!0,theme:{"dialog.root":"","dialog.overlay":"","dialog.content":{className:"",style:{margin:"0",padding:"0"}}}});await (0,a.default)({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:""},{testId:"consent-manager-dialog-overlay",styles:""},{testId:"consent-manager-dialog-content",styles:{className:"",style:{margin:"0",padding:"0"}}}]})});
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as o from"../consent-manager-dialog.js";import*as a from"../../../utils/test-helpers.js";let s=[{testId:"consent-manager-dialog-root",themeKey:"dialog.root",styles:"custom-dialog-root"},{testId:"consent-manager-dialog-overlay",themeKey:"dialog.overlay",styles:"custom-dialog-overlay"},{testId:"consent-manager-dialog-header",themeKey:"dialog.header",styles:"custom-dialog-header"},{testId:"consent-manager-dialog-title",themeKey:"dialog.title",styles:"custom-dialog-title"},{testId:"consent-manager-dialog-description",themeKey:"dialog.description",styles:"custom-dialog-description"},{testId:"consent-manager-dialog-content",themeKey:"dialog.content",styles:"custom-dialog-content"},{testId:"consent-manager-dialog-footer",themeKey:"dialog.footer",styles:"custom-dialog-footer"}];t.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({isPrivacyDialogOpen:!0,getDisplayedConsents:t.vi.fn(()=>[]),saveConsents:t.vi.fn(),setShowPopup:t.vi.fn(),setIsPrivacyDialogOpen:t.vi.fn()})})),t.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerDialog:{title:"Dialog Title",description:"Dialog Description",saveButton:"Save",rejectAllButton:"Reject All",acceptAllButton:"Accept All"},consentManagerWidget:{},cookieBanner:{},general:{}})})),(0,t.test)("Theme prop applies string classnames to all components",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,a.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,t.test)("Theme prop supports object format with className and style for all components",async()=>{let t={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},n=s.map(({testId:e,themeKey:o,styles:a})=>({testId:e,themeKey:o,className:a,style:t})),l=(0,e.jsx)(o.ConsentManagerDialog,{open:!0,scrollLock:!0,theme:n.reduce((e,{themeKey:t,className:o,style:a})=>(e[t]={className:o,style:a},e),{})});await (0,a.default)({component:l,testCases:n.map(({testId:e,className:t,style:o})=>({testId:e,styles:{className:t,style:o}}))})}),(0,t.test)("No style prop removes default styles but keeps custom classNames",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,noStyle:!0,open:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,a.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,t.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,theme:{"dialog.root":{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"dialog.overlay":"custom-dialog-overlay"},open:!0});await (0,a.default)({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:{className:"custom-dialog-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-dialog-overlay",styles:"custom-dialog-overlay"}]})}),(0,t.test)("Theme prop handles edge cases gracefully",async()=>{let t=(0,e.jsx)(o.ConsentManagerDialog,{scrollLock:!0,open:!0,theme:{"dialog.root":"","dialog.overlay":"","dialog.content":{className:"",style:{margin:"0",padding:"0"}}}});await (0,a.default)({component:t,testCases:[{testId:"consent-manager-dialog-root",styles:""},{testId:"consent-manager-dialog-overlay",styles:""},{testId:"consent-manager-dialog-content",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,t.test)("Custom classes override base layer styles",async()=>{let s=document.createElement("style");s.textContent=`
|
|
2
|
+
.custom-dialog-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-dialog-text {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(s);let n=(0,e.jsx)(o.ConsentManagerDialog,{theme:{"dialog.root":"custom-dialog-background","dialog.title":"custom-dialog-text"}});await (0,a.default)({component:n,testCases:[{testId:"consent-manager-dialog-root",styles:"custom-dialog-background"},{testId:"consent-manager-dialog-title",styles:"custom-dialog-text"}]});let l=document.querySelector('[data-testid="consent-manager-dialog-root"]'),r=document.querySelector('[data-testid="consent-manager-dialog-title"]');if(!l||!r)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(l).backgroundColor).toBe("rgb(255, 0, 0)"),(0,t.expect)(getComputedStyle(r).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(s)}),(0,t.test)("Base layer styles are applied when no custom classes are provided",async()=>{let s=(0,e.jsx)(o.ConsentManagerDialog,{});await (0,a.default)({component:s,testCases:[]});let n=document.querySelector('[data-testid="consent-manager-dialog-root"]'),l=document.querySelector('[data-testid="consent-manager-dialog-title"]');if(!n||!l)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(n).backgroundColor).toBe("rgb(255, 255, 255)"),(0,t.expect)(getComputedStyle(l).color).toBe("rgb(23, 23, 23)")}),(0,t.test)("Multiple custom classes can be applied and override base layer",async()=>{let s=document.createElement("style");s.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(s);let n=(0,e.jsx)(o.ConsentManagerDialog,{theme:{"dialog.root":"custom-padding custom-border"}});await (0,a.default)({component:n,testCases:[{testId:"consent-manager-dialog-root",styles:"custom-padding custom-border"}]});let l=document.querySelector('[data-testid="consent-manager-dialog-root"]');if(!l)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(l).padding).toBe("32px"),(0,t.expect)(getComputedStyle(l).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(s)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--dialog-font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--dialog-line-height:1.15;--dialog-title-font-size:.875rem;--dialog-title-font-weight:600;--dialog-title-letter-spacing:-.025em;--dialog-description-font-size:1rem;--dialog-description-font-weight:400;--dialog-description-line-height:1.15;--dialog-footer-font-size:14px;--dialog-branding-font-size:1rem;--dialog-branding-font-weight:500;--dialog-branding-line-height:1.5;--dialog-branding-letter-spacing:-.01em;--dialog-stroke-color:#ebebeb;--dialog-stroke-color-dark:#333;--dialog-branding-focus-color:#476cff;--dialog-branding-focus-color-dark:#2547d0;--dialog-link-text-color:#171717;--dialog-link-text-color-dark:#e6e6e6;--dialog-border-color:#ebebeb;--dialog-border-color-dark:#333;--dialog-background-color:white;--dialog-background-color-dark:#1a1a1a;--dialog-foreground-color:#171717;--dialog-foreground-color-dark:#e6e6e6;--dialog-muted-color:#737373;--dialog-muted-color-dark:#a3a3a3;--dialog-overlay-background-color:#00000080;--dialog-overlay-background-color-dark:#00000080;--dialog-card-padding:1.5rem;--dialog-card-padding-mobile:1rem;--dialog-card-gap:.375rem;--dialog-header-gap:.375rem;--dialog-content-gap:1rem;--dialog-footer-padding-y:1rem;--dialog-card-radius:1.25rem;--dialog-max-width:28rem;--dialog-height:80%;--dialog-z-index:1000000000;--dialog-overlay-z-index:1000000000;--dialog-card-shadow:0 1px 2px 0 #0000000d;--dialog-border-width:1px;--dialog-border-style:solid;--dialog-animation-duration:.2s;--dialog-animation-timing:ease-out;--dialog-branding-gap:.5rem;--dialog-branding-icon-height:1.25rem;--dialog-branding-icon-width:auto}.c15t-root-QhMZC{isolation:isolate;font-family:var(--dialog-font-family);line-height:var(--dialog-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--dialog-card-padding-mobile);z-index:var(--dialog-z-index);border-radius:var(--dialog-card-radius);width:100%;height:var(--dialog-height);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-dialogVisible-fwyvr{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-dialogHidden-WwOAw{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-contentVisible-A_pT0{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing),transform var(--dialog-animation-duration)cubic-bezier(.34,1.56,.64,1);transform:scale(1)}.c15t-contentHidden-GCC7t{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing),transform var(--dialog-animation-duration)var(--dialog-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-root-QhMZC{padding:var(--dialog-card-padding);width:auto}}.c15t-container-bOKMN{width:100%;max-width:var(--dialog-max-width);margin:auto}.c15t-branding-p1rXd{justify-content:center;align-items:center;gap:var(--dialog-branding-gap);font-size:var(--dialog-branding-font-size);font-weight:var(--dialog-branding-font-weight);line-height:var(--dialog-branding-line-height);letter-spacing:var(--dialog-branding-letter-spacing);color:var(--dialog-foreground-color);border-radius:.25rem;margin:auto 0;padding:0 .5rem;text-decoration:none;display:flex}.c15t-branding-p1rXd:focus-visible{box-shadow:0 0 0 2px var(--dialog-branding-focus-color);outline:none}.c15t-dark .c15t-branding-p1rXd:focus-visible{box-shadow:0 0 0 2px var(--dialog-branding-focus-color-dark)}.c15t-dark .c15t-branding-p1rXd{color:var(--dialog-foreground-color-dark)}.c15t-brandingC15T-gskQ7{width:var(--dialog-branding-icon-width);height:var(--dialog-branding-icon-height)}.c15t-brandingConsent-yGJd8{width:var(--dialog-branding-icon-width);height:1rem}.c15t-headerWrapper-GSp8u{position:relative}.c15t-closeButton-PxEni{position:absolute;top:22px;right:22px}.c15t-footer-oOtr_{border-top:solid 1px var(--dialog-stroke-color);justify-content:center;padding-top:1rem;padding-bottom:1rem;font-size:14px}.c15t-overlay-jJ4Q1{color:var(--dialog-link-text-color);background-color:var(--dialog-overlay-background-color);z-index:var(--dialog-overlay-z-index);position:fixed;inset:0}.c15t-overlayVisible-qy2bF{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-overlayHidden-IC_C7{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-dark .c15t-overlay-jJ4Q1{background-color:var(--dialog-overlay-background-color-dark);color:var(--dialog-link-text-color-dark)}.c15t-card-d2uUf{border-radius:var(--dialog-card-radius);border:var(--dialog-border-width)var(--dialog-border-style)var(--dialog-border-color);background-color:var(--dialog-background-color);color:var(--dialog-foreground-color);box-shadow:var(--dialog-card-shadow);overflow:hidden}.c15t-dark .c15t-card-d2uUf{background-color:var(--dialog-background-color-dark);color:var(--dialog-foreground-color-dark);border-color:var(--dialog-border-color-dark)}.c15t-header-qF2QY{padding:var(--dialog-card-padding);gap:var(--dialog-header-gap);flex-direction:column;display:flex}.c15t-header-qF2QY>*+*{margin-top:var(--dialog-card-gap)}.c15t-title-B_498{font-weight:var(--dialog-title-font-weight);font-size:var(--dialog-title-font-size);letter-spacing:var(--dialog-title-letter-spacing);line-height:1}.c15t-description-Nct_b{color:var(--dialog-muted-color);font-size:var(--dialog-description-font-size);font-weight:var(--dialog-description-font-weight);line-height:var(--dialog-description-line-height)}.c15t-dark .c15t-description-Nct_b{color:var(--dialog-muted-color-dark)}.c15t-content-_6tun{padding:var(--dialog-card-padding);gap:var(--dialog-content-gap);padding-top:0}.c15t-footer-oOtr_{font-size:var(--dialog-footer-font-size);padding-top:var(--dialog-footer-padding-y);padding-bottom:var(--dialog-footer-padding-y);border-top:var(--dialog-border-width)var(--dialog-border-style)var(--dialog-stroke-color);justify-content:center;align-items:center;display:flex}.c15t-dark .c15t-footer-oOtr_{border-color:var(--dialog-stroke-color-dark)}
|
|
1
|
+
@layer base{:root{--dialog-font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--dialog-line-height:1.15;--dialog-title-font-size:.875rem;--dialog-title-font-weight:600;--dialog-title-letter-spacing:-.025em;--dialog-description-font-size:1rem;--dialog-description-font-weight:400;--dialog-description-line-height:1.15;--dialog-footer-font-size:14px;--dialog-branding-font-size:1rem;--dialog-branding-font-weight:500;--dialog-branding-line-height:1.5;--dialog-branding-letter-spacing:-.01em;--dialog-stroke-color:#ebebeb;--dialog-stroke-color-dark:#333;--dialog-branding-focus-color:#476cff;--dialog-branding-focus-color-dark:#2547d0;--dialog-link-text-color:#171717;--dialog-link-text-color-dark:#e6e6e6;--dialog-border-color:#ebebeb;--dialog-border-color-dark:#333;--dialog-background-color:white;--dialog-background-color-dark:#1a1a1a;--dialog-foreground-color:#171717;--dialog-foreground-color-dark:#e6e6e6;--dialog-muted-color:#737373;--dialog-muted-color-dark:#a3a3a3;--dialog-overlay-background-color:#00000080;--dialog-overlay-background-color-dark:#00000080;--dialog-card-padding:1.5rem;--dialog-card-padding-mobile:1rem;--dialog-card-gap:.375rem;--dialog-header-gap:.375rem;--dialog-content-gap:1rem;--dialog-footer-padding-y:1rem;--dialog-card-radius:1.25rem;--dialog-max-width:28rem;--dialog-height:80%;--dialog-z-index:1000000000;--dialog-overlay-z-index:1000000000;--dialog-card-shadow:0 1px 2px 0 #0000000d;--dialog-border-width:1px;--dialog-border-style:solid;--dialog-animation-duration:.2s;--dialog-animation-timing:ease-out;--dialog-branding-gap:.5rem;--dialog-branding-icon-height:1.25rem;--dialog-branding-icon-width:auto}.c15t-root-QhMZC{isolation:isolate;font-family:var(--dialog-font-family);line-height:var(--dialog-line-height);-webkit-text-size-adjust:100%;tab-size:4;padding:var(--dialog-card-padding-mobile);z-index:var(--dialog-z-index);border-radius:var(--dialog-card-radius);width:100%;height:var(--dialog-height);background:0 0;border:0;justify-content:center;align-items:center;margin:0;display:flex;position:fixed;inset:0}.c15t-dialogVisible-fwyvr{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-dialogHidden-WwOAw{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-contentVisible-A_pT0{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing),transform var(--dialog-animation-duration)cubic-bezier(.34,1.56,.64,1);transform:scale(1)}.c15t-contentHidden-GCC7t{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing),transform var(--dialog-animation-duration)var(--dialog-animation-timing);transform:scale(.95)}@media (width>=640px){.c15t-root-QhMZC{padding:var(--dialog-card-padding);width:auto}}.c15t-container-bOKMN{width:100%;max-width:var(--dialog-max-width);margin:auto}.c15t-branding-p1rXd{justify-content:center;align-items:center;gap:var(--dialog-branding-gap);font-size:var(--dialog-branding-font-size);font-weight:var(--dialog-branding-font-weight);line-height:var(--dialog-branding-line-height);letter-spacing:var(--dialog-branding-letter-spacing);color:var(--dialog-foreground-color);border-radius:.25rem;margin:auto 0;padding:0 .5rem;text-decoration:none;display:flex}.c15t-branding-p1rXd:focus-visible{box-shadow:0 0 0 2px var(--dialog-branding-focus-color);outline:none}.c15t-dark .c15t-branding-p1rXd:focus-visible{box-shadow:0 0 0 2px var(--dialog-branding-focus-color-dark)}.c15t-dark .c15t-branding-p1rXd{color:var(--dialog-foreground-color-dark)}.c15t-brandingC15T-gskQ7{width:var(--dialog-branding-icon-width);height:var(--dialog-branding-icon-height)}.c15t-brandingConsent-yGJd8{width:var(--dialog-branding-icon-width);height:1rem}.c15t-headerWrapper-GSp8u{position:relative}.c15t-closeButton-PxEni{position:absolute;top:22px;right:22px}.c15t-footer-oOtr_{border-top:solid 1px var(--dialog-stroke-color);justify-content:center;padding-top:1rem;padding-bottom:1rem;font-size:14px}.c15t-overlay-jJ4Q1{color:var(--dialog-link-text-color);background-color:var(--dialog-overlay-background-color);z-index:var(--dialog-overlay-z-index);position:fixed;inset:0}.c15t-overlayVisible-qy2bF{opacity:1;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-overlayHidden-IC_C7{opacity:0;transition:opacity var(--dialog-animation-duration)var(--dialog-animation-timing)}.c15t-dark .c15t-overlay-jJ4Q1{background-color:var(--dialog-overlay-background-color-dark);color:var(--dialog-link-text-color-dark)}.c15t-card-d2uUf{border-radius:var(--dialog-card-radius);border:var(--dialog-border-width)var(--dialog-border-style)var(--dialog-border-color);background-color:var(--dialog-background-color);color:var(--dialog-foreground-color);box-shadow:var(--dialog-card-shadow);overflow:hidden}.c15t-dark .c15t-card-d2uUf{background-color:var(--dialog-background-color-dark);color:var(--dialog-foreground-color-dark);border-color:var(--dialog-border-color-dark)}.c15t-header-qF2QY{padding:var(--dialog-card-padding);gap:var(--dialog-header-gap);flex-direction:column;display:flex}.c15t-header-qF2QY>*+*{margin-top:var(--dialog-card-gap)}.c15t-title-B_498{font-weight:var(--dialog-title-font-weight);font-size:var(--dialog-title-font-size);letter-spacing:var(--dialog-title-letter-spacing);line-height:1}.c15t-description-Nct_b{color:var(--dialog-muted-color);font-size:var(--dialog-description-font-size);font-weight:var(--dialog-description-font-weight);line-height:var(--dialog-description-line-height)}.c15t-dark .c15t-description-Nct_b{color:var(--dialog-muted-color-dark)}.c15t-content-_6tun{padding:var(--dialog-card-padding);gap:var(--dialog-content-gap);padding-top:0}.c15t-footer-oOtr_{font-size:var(--dialog-footer-font-size);padding-top:var(--dialog-footer-padding-y);padding-bottom:var(--dialog-footer-padding-y);border-top:var(--dialog-border-width)var(--dialog-border-style)var(--dialog-stroke-color);justify-content:center;align-items:center;display:flex}.c15t-dark .c15t-footer-oOtr_{border-color:var(--dialog-stroke-color-dark)}}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_consent_manager_widget_cjs_namespaceObject=require("../consent-manager-widget.cjs"),test_helpers_cjs_namespaceObject=require("../../../utils/test-helpers.cjs");var test_helpers_cjs_default=__webpack_require__.n(test_helpers_cjs_namespaceObject);external_vitest_namespaceObject.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({getConsentCategory:external_vitest_namespaceObject.vi.fn(()=>({isEnabled:!0})),updateConsentCategory:external_vitest_namespaceObject.vi.fn(),saveConsents:external_vitest_namespaceObject.vi.fn(),getDisplayedConsents:external_vitest_namespaceObject.vi.fn(()=>[])})})),external_vitest_namespaceObject.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerWidget:{necessaryCookies:"Necessary",marketingCookies:"Marketing",analyticsCookies:"Analytics",preferencesCookies:"Preferences",unknownIntegration:"Unknown",alwaysActive:"Always Active",rejectAllButton:"Reject All",acceptAllButton:"Accept All",saveButton:"Save Settings"},consentManagerDialog:{},cookieBanner:{},general:{}})}));let ALL_COMPONENTS=[{testId:"consent-manager-widget-root",themeKey:"widget.root",styles:"custom-root"},{testId:"consent-manager-widget-footer",themeKey:"widget.footer",styles:"custom-footer"},{testId:"consent-manager-widget-footer-sub-group",themeKey:"widget.footer.sub-group",styles:"custom-footer-sub-group"},{testId:"consent-manager-widget-reject-button",themeKey:"widget.footer.reject-button",styles:"custom-reject-button"},{testId:"consent-manager-widget-footer-accept-button",themeKey:"widget.footer.accept-button",styles:"custom-accept-button"},{testId:"consent-manager-widget-footer-save-button",themeKey:"widget.footer.save-button",styles:"custom-save-button"},{testId:"consent-manager-widget-accordion-trigger-marketing",themeKey:"widget.accordion.trigger",styles:"custom-accordion-trigger"},{testId:"consent-manager-widget-accordion-trigger-inner-marketing",themeKey:"widget.accordion.trigger-inner",styles:"custom-accordion-trigger-inner"},{testId:"consent-manager-widget-accordion-content-marketing",themeKey:"widget.accordion.content",styles:"custom-accordion-content"},{testId:"consent-manager-widget-switch-marketing",themeKey:"widget.switch",styles:"custom-switch"}];for(var __webpack_i__ in(0,external_vitest_namespaceObject.test)("Theme prop applies string classnames to all components",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:s})=>(e[t]=s,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,external_vitest_namespaceObject.test)("Theme prop supports object format with className and style for all components",async()=>{let e={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},t=ALL_COMPONENTS.map(({testId:t,themeKey:s,styles:a})=>({testId:t,themeKey:s,className:a,style:e})),s=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:t.reduce((e,{themeKey:t,className:s,style:a})=>(e[t]={className:s,style:a},e),{})});await test_helpers_cjs_default()({component:s,testCases:t.map(({testId:e,className:t,style:s})=>({testId:e,styles:{className:t,style:s}}))})}),(0,external_vitest_namespaceObject.test)("No style prop removes default styles but keeps custom classNames",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{noStyle:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:s})=>(e[t]=s,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,external_vitest_namespaceObject.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"widget.accordion.trigger":"custom-accordion-trigger"}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-widget-root",styles:{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-widget-accordion-trigger-marketing",styles:"custom-accordion-trigger"}]})}),(0,external_vitest_namespaceObject.test)("Theme prop handles edge cases gracefully",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":"","widget.accordion":"","widget.footer":{className:"",style:{margin:"0",padding:"0"}}}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-widget-root",styles:""},{testId:"consent-manager-widget-accordion",styles:""},{testId:"consent-manager-widget-footer",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),
|
|
1
|
+
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_consent_manager_widget_cjs_namespaceObject=require("../consent-manager-widget.cjs"),test_helpers_cjs_namespaceObject=require("../../../utils/test-helpers.cjs");var test_helpers_cjs_default=__webpack_require__.n(test_helpers_cjs_namespaceObject);external_vitest_namespaceObject.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({getConsentCategory:external_vitest_namespaceObject.vi.fn(()=>({isEnabled:!0})),updateConsentCategory:external_vitest_namespaceObject.vi.fn(),saveConsents:external_vitest_namespaceObject.vi.fn(),getDisplayedConsents:external_vitest_namespaceObject.vi.fn(()=>[])})})),external_vitest_namespaceObject.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerWidget:{necessaryCookies:"Necessary",marketingCookies:"Marketing",analyticsCookies:"Analytics",preferencesCookies:"Preferences",unknownIntegration:"Unknown",alwaysActive:"Always Active",rejectAllButton:"Reject All",acceptAllButton:"Accept All",saveButton:"Save Settings"},consentManagerDialog:{},cookieBanner:{},general:{}})}));let ALL_COMPONENTS=[{testId:"consent-manager-widget-root",themeKey:"widget.root",styles:"custom-root"},{testId:"consent-manager-widget-footer",themeKey:"widget.footer",styles:"custom-footer"},{testId:"consent-manager-widget-footer-sub-group",themeKey:"widget.footer.sub-group",styles:"custom-footer-sub-group"},{testId:"consent-manager-widget-reject-button",themeKey:"widget.footer.reject-button",styles:"custom-reject-button"},{testId:"consent-manager-widget-footer-accept-button",themeKey:"widget.footer.accept-button",styles:"custom-accept-button"},{testId:"consent-manager-widget-footer-save-button",themeKey:"widget.footer.save-button",styles:"custom-save-button"},{testId:"consent-manager-widget-accordion-trigger-marketing",themeKey:"widget.accordion.trigger",styles:"custom-accordion-trigger"},{testId:"consent-manager-widget-accordion-trigger-inner-marketing",themeKey:"widget.accordion.trigger-inner",styles:"custom-accordion-trigger-inner"},{testId:"consent-manager-widget-accordion-content-marketing",themeKey:"widget.accordion.content",styles:"custom-accordion-content"},{testId:"consent-manager-widget-switch-marketing",themeKey:"widget.switch",styles:"custom-switch"}];for(var __webpack_i__ in(0,external_vitest_namespaceObject.test)("Theme prop applies string classnames to all components",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:s})=>(e[t]=s,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,external_vitest_namespaceObject.test)("Theme prop supports object format with className and style for all components",async()=>{let e={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},t=ALL_COMPONENTS.map(({testId:t,themeKey:s,styles:a})=>({testId:t,themeKey:s,className:a,style:e})),s=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:t.reduce((e,{themeKey:t,className:s,style:a})=>(e[t]={className:s,style:a},e),{})});await test_helpers_cjs_default()({component:s,testCases:t.map(({testId:e,className:t,style:s})=>({testId:e,styles:{className:t,style:s}}))})}),(0,external_vitest_namespaceObject.test)("No style prop removes default styles but keeps custom classNames",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{noStyle:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:s})=>(e[t]=s,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,external_vitest_namespaceObject.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"widget.accordion.trigger":"custom-accordion-trigger"}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-widget-root",styles:{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-widget-accordion-trigger-marketing",styles:"custom-accordion-trigger"}]})}),(0,external_vitest_namespaceObject.test)("Theme prop handles edge cases gracefully",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":"","widget.accordion":"","widget.footer":{className:"",style:{margin:"0",padding:"0"}}}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"consent-manager-widget-root",styles:""},{testId:"consent-manager-widget-accordion",styles:""},{testId:"consent-manager-widget-footer",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,external_vitest_namespaceObject.test)("Custom classes override base layer styles",async()=>{let e=document.createElement("style");e.textContent=`
|
|
2
|
+
.custom-widget-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-widget-foooter {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":"custom-widget-background","widget.footer":"custom-widget-foooter"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"consent-manager-widget-root",styles:"custom-widget-background"},{testId:"consent-manager-widget-footer",styles:"custom-widget-foooter"}]});let s=document.querySelector('[data-testid="consent-manager-widget-root"]'),a=document.querySelector('[data-testid="consent-manager-widget-footer"]');if(!s||!a)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(s).backgroundColor).toBe("rgb(255, 0, 0)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(e)}),(0,external_vitest_namespaceObject.test)("Base layer styles are applied when no custom classes are provided",async()=>{await test_helpers_cjs_default()({component:(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{}),testCases:[]});let e=document.querySelector('[data-testid="consent-manager-widget-root"]'),t=document.querySelector('[data-testid="consent-manager-widget-footer"]');if(!e||!t)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(e).backgroundColor).toBe("rgba(0, 0, 0, 0)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(t).color).toBe("rgb(0, 0, 0)")}),(0,external_vitest_namespaceObject.test)("Multiple custom classes can be applied and override base layer",async()=>{let e=document.createElement("style");e.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,{theme:{"widget.root":"custom-padding custom-border"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"consent-manager-widget-root",styles:"custom-padding custom-border"}]});let s=document.querySelector('[data-testid="consent-manager-widget-root"]');if(!s)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(s).padding).toBe("32px"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(s).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(e)}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as o from"../consent-manager-widget.js";import*as s from"../../../utils/test-helpers.js";t.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({getConsentCategory:t.vi.fn(()=>({isEnabled:!0})),updateConsentCategory:t.vi.fn(),saveConsents:t.vi.fn(),getDisplayedConsents:t.vi.fn(()=>[])})})),t.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({consentManagerWidget:{necessaryCookies:"Necessary",marketingCookies:"Marketing",analyticsCookies:"Analytics",preferencesCookies:"Preferences",unknownIntegration:"Unknown",alwaysActive:"Always Active",rejectAllButton:"Reject All",acceptAllButton:"Accept All",saveButton:"Save Settings"},consentManagerDialog:{},cookieBanner:{},general:{}})}));let n=[{testId:"consent-manager-widget-root",themeKey:"widget.root",styles:"custom-root"},{testId:"consent-manager-widget-footer",themeKey:"widget.footer",styles:"custom-footer"},{testId:"consent-manager-widget-footer-sub-group",themeKey:"widget.footer.sub-group",styles:"custom-footer-sub-group"},{testId:"consent-manager-widget-reject-button",themeKey:"widget.footer.reject-button",styles:"custom-reject-button"},{testId:"consent-manager-widget-footer-accept-button",themeKey:"widget.footer.accept-button",styles:"custom-accept-button"},{testId:"consent-manager-widget-footer-save-button",themeKey:"widget.footer.save-button",styles:"custom-save-button"},{testId:"consent-manager-widget-accordion-trigger-marketing",themeKey:"widget.accordion.trigger",styles:"custom-accordion-trigger"},{testId:"consent-manager-widget-accordion-trigger-inner-marketing",themeKey:"widget.accordion.trigger-inner",styles:"custom-accordion-trigger-inner"},{testId:"consent-manager-widget-accordion-content-marketing",themeKey:"widget.accordion.content",styles:"custom-accordion-content"},{testId:"consent-manager-widget-switch-marketing",themeKey:"widget.switch",styles:"custom-switch"}];(0,t.test)("Theme prop applies string classnames to all components",async()=>{let t=(0,e.jsx)(o.ConsentManagerWidget,{theme:n.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,s.default)({component:t,testCases:n.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,t.test)("Theme prop supports object format with className and style for all components",async()=>{let t={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},a=n.map(({testId:e,themeKey:o,styles:s})=>({testId:e,themeKey:o,className:s,style:t})),r=(0,e.jsx)(o.ConsentManagerWidget,{theme:a.reduce((e,{themeKey:t,className:o,style:s})=>(e[t]={className:o,style:s},e),{})});await (0,s.default)({component:r,testCases:a.map(({testId:e,className:t,style:o})=>({testId:e,styles:{className:t,style:o}}))})}),(0,t.test)("No style prop removes default styles but keeps custom classNames",async()=>{let t=(0,e.jsx)(o.ConsentManagerWidget,{noStyle:!0,theme:n.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,s.default)({component:t,testCases:n.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,t.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let t=(0,e.jsx)(o.ConsentManagerWidget,{theme:{"widget.root":{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"widget.accordion.trigger":"custom-accordion-trigger"}});await (0,s.default)({component:t,testCases:[{testId:"consent-manager-widget-root",styles:{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"consent-manager-widget-accordion-trigger-marketing",styles:"custom-accordion-trigger"}]})}),(0,t.test)("Theme prop handles edge cases gracefully",async()=>{let t=(0,e.jsx)(o.ConsentManagerWidget,{theme:{"widget.root":"","widget.accordion":"","widget.footer":{className:"",style:{margin:"0",padding:"0"}}}});await (0,s.default)({component:t,testCases:[{testId:"consent-manager-widget-root",styles:""},{testId:"consent-manager-widget-accordion",styles:""},{testId:"consent-manager-widget-footer",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,t.test)("Custom classes override base layer styles",async()=>{let n=document.createElement("style");n.textContent=`
|
|
2
|
+
.custom-widget-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-widget-foooter {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(n);let a=(0,e.jsx)(o.ConsentManagerWidget,{theme:{"widget.root":"custom-widget-background","widget.footer":"custom-widget-foooter"}});await (0,s.default)({component:a,testCases:[{testId:"consent-manager-widget-root",styles:"custom-widget-background"},{testId:"consent-manager-widget-footer",styles:"custom-widget-foooter"}]});let r=document.querySelector('[data-testid="consent-manager-widget-root"]'),d=document.querySelector('[data-testid="consent-manager-widget-footer"]');if(!r||!d)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(r).backgroundColor).toBe("rgb(255, 0, 0)"),(0,t.expect)(getComputedStyle(d).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(n)}),(0,t.test)("Base layer styles are applied when no custom classes are provided",async()=>{await (0,s.default)({component:(0,e.jsx)(o.ConsentManagerWidget,{}),testCases:[]});let n=document.querySelector('[data-testid="consent-manager-widget-root"]'),a=document.querySelector('[data-testid="consent-manager-widget-footer"]');if(!n||!a)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(n).backgroundColor).toBe("rgba(0, 0, 0, 0)"),(0,t.expect)(getComputedStyle(a).color).toBe("rgb(0, 0, 0)")}),(0,t.test)("Multiple custom classes can be applied and override base layer",async()=>{let n=document.createElement("style");n.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(n);let a=(0,e.jsx)(o.ConsentManagerWidget,{theme:{"widget.root":"custom-padding custom-border"}});await (0,s.default)({component:a,testCases:[{testId:"consent-manager-widget-root",styles:"custom-padding custom-border"}]});let r=document.querySelector('[data-testid="consent-manager-widget-root"]');if(!r)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(r).padding).toBe("32px"),(0,t.expect)(getComputedStyle(r).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(n)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--widget-background-color:#fff;--widget-background-color-dark:#1a1a1a;--widget-border-color:#ebebeb;--widget-border-color-dark:#333;--widget-text-color:#171717;--widget-text-color-dark:#e6e6e6;--widget-text-muted-color:#5c5c5c;--widget-text-muted-color-dark:#999;--widget-footer-background-color:transparent;--widget-footer-background-color-dark:transparent;--widget-link-text-color:#171717;--widget-link-text-color-dark:#e6e6e6;--widget-branding-link-color:#47c2ff;--widget-padding:0;--widget-radius:0;--widget-gap:.375rem;--widget-border-width:0;--widget-max-width:32rem;--widget-z-index:50;--widget-footer-padding:1.5rem 0 0 0;--widget-title-size:.875rem;--widget-title-line-height:1.25;--widget-title-tracking:-.006em;--widget-title-weight:600;--widget-entry-animation:c15t-enter-rkppV .15s ease-out;--widget-exit-animation:c15t-exit-pldK8 .15s ease-out;--widget-accordion-padding:.875rem;--widget-accordion-radius:.625rem;--widget-accordion-duration:.2s;--widget-accordion-ease:cubic-bezier(.4,0,.2,1);--widget-accordion-icon-size:1.25rem;--widget-accordion-background-color:#fff;--widget-accordion-background-color-dark:#171717;--widget-accordion-background-hover:#f7f7f7;--widget-accordion-background-hover-dark:#1c1c1c;--widget-accordion-border-color:#ebebeb;--widget-accordion-border-color-dark:#333;--widget-accordion-text-color:#171717;--widget-accordion-text-color-dark:#e6e6e6;--widget-accordion-icon-color:#5c5c5c;--widget-accordion-icon-color-dark:#999;--widget-accordion-arrow-color:#a3a3a3;--widget-accordion-arrow-color-dark:#ccc;--widget-accordion-content-color:#5c5c5c;--widget-accordion-content-color-dark:#999;--widget-accordion-focus-ring:#476cff;--widget-accordion-focus-ring-dark:#2547d0;--widget-accordion-focus-shadow:0 0 0 2px #476cff;--widget-accordion-focus-shadow-dark:0 0 0 2px #2547d0}.c15t-widget-mZfPK{isolation:isolate;-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}.c15t-widget-mZfPK>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.c15t-card-cpA5_{width:100%;max-width:var(--widget-max-width);border-radius:var(--widget-radius);border:var(--widget-border-width)solid var(--widget-border-color);background-color:var(--widget-background-color);position:relative}.c15t-dark .c15t-card-cpA5_{background-color:var(--widget-background-color-dark);border-color:var(--widget-border-color-dark)}.c15t-card-cpA5_[data-state=open]{animation:var(--widget-entry-animation)}.c15t-card-cpA5_[data-state=closed]{animation:var(--widget-exit-animation)}.c15t-header-ubIEO{gap:var(--widget-gap);padding:var(--widget-padding);flex-direction:column;display:flex}.c15t-title-LLWlk{font-size:var(--widget-title-size);line-height:var(--widget-title-line-height);letter-spacing:var(--widget-title-tracking);font-weight:var(--widget-title-weight);color:var(--widget-text-color)}.c15t-dark .c15t-title-LLWlk{color:var(--widget-text-color-dark)}.c15t-description-AdjjX{color:var(--widget-text-muted-color)}.c15t-dark .c15t-description-AdjjX{color:var(--widget-text-muted-color-dark)}.c15t-content-JJu4V{padding:0 var(--widget-padding);padding-bottom:var(--widget-padding)}.c15t-footer-ySewJ{padding:var(--widget-footer-padding);background-color:var(--widget-footer-background-color);justify-content:space-between;gap:1rem;display:flex}.c15t-dark .c15t-footer-ySewJ{background-color:var(--widget-footer-background-color-dark)}@media (width<=640px){.c15t-footer-ySewJ{flex-direction:column}}@media (width>=640px){.c15t-footer-ySewJ{flex-direction:row}}.c15t-footerGroup-PNx3e{flex-direction:row;justify-content:space-between;gap:1rem;display:flex}@media (width<=640px){.c15t-footerGroup-PNx3e,.c15t-footerGroup-PNx3e button{width:100%}}.c15t-branding-ayjMW{border-top:var(--widget-border-width)solid var(--widget-border-color);justify-content:center;width:100%;padding-top:1rem;display:flex}.c15t-dark .c15t-branding-ayjMW{border-color:var(--widget-border-color-dark)}.c15t-brandingLink-mwCeb{color:var(--widget-link-text-color);text-align:center;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:flex}.c15t-dark .c15t-brandingLink-mwCeb{color:var(--widget-link-text-color-dark)}.c15t-brandingLink-mwCeb svg{height:1.2rem}@keyframes c15t-enter-rkppV{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes c15t-exit-pldK8{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.c15t-bottomLeft-ZpTtt{bottom:0;left:0}.c15t-bottomRight-StkOw{bottom:0;right:0}.c15t-topLeft-_G3uz{top:0;left:0}.c15t-topRight-By5Hm{top:0;right:0}.c15t-accordionItem-fU3xo{border-radius:var(--widget-accordion-radius);border:1px solid var(--widget-accordion-border-color);background-color:var(--widget-accordion-background-color);position:relative;overflow:visible}.c15t-accordionItem-fU3xo:has(.c15t-accordionTriggerInner-bepZm:focus-visible){box-shadow:0 0 0 2px var(--widget-accordion-focus-ring)}.c15t-dark .c15t-accordionItem-fU3xo{border-color:var(--widget-accordion-border-color-dark);background-color:var(--widget-accordion-background-color-dark)}.c15t-accordionTrigger-SWny4{width:100%;color:var(--widget-accordion-text-color);transition:background-color var(--widget-accordion-duration)var(--widget-accordion-ease);background-color:#0000;justify-content:space-between;align-items:center;display:flex}.c15t-accordionTrigger-SWny4:hover{background-color:var(--widget-accordion-background-hover)}.c15t-dark .c15t-accordionTrigger-SWny4{color:var(--widget-accordion-text-color-dark)}.c15t-dark .c15t-accordionTrigger-SWny4:hover{background-color:var(--widget-accordion-background-hover-dark)}.c15t-accordionTriggerInner-bepZm{align-items:center;gap:var(--widget-gap);font-size:var(--widget-title-size);font-weight:var(--widget-title-weight);border-radius:var(--widget-accordion-radius);display:flex;position:relative}.c15t-accordionContent-qm_yt{padding:var(--widget-accordion-padding);color:var(--widget-accordion-content-color);font-size:.875rem;line-height:1.5}.c15t-dark .c15t-accordionContent-qm_yt{color:var(--widget-accordion-content-color-dark)}.c15t-accordionArrow-t0PT0{color:var(--widget-accordion-arrow-color);width:var(--widget-accordion-icon-size);height:var(--widget-accordion-icon-size);transition:transform var(--widget-accordion-duration)var(--widget-accordion-ease)}.c15t-dark .c15t-accordionArrow-t0PT0{color:var(--widget-accordion-arrow-color-dark)}.c15t-accordionItem-fU3xo[data-state=open] .c15t-accordionArrow-t0PT0{transform:rotate(180deg)}.c15t-switch-cBZCr{cursor:pointer;background-color:var(--widget-accordion-background-hover);width:2rem;height:1.25rem;transition:background-color var(--widget-accordion-duration)var(--widget-accordion-ease);border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.c15t-dark .c15t-switch-cBZCr{background-color:var(--widget-accordion-background-hover-dark)}.c15t-switch-cBZCr[data-state=checked]{background-color:var(--widget-accordion-focus-ring)}.c15t-dark .c15t-switch-cBZCr[data-state=checked]{background-color:var(--widget-accordion-focus-ring-dark)}
|
|
1
|
+
@layer base{:root{--widget-background-color:#fff;--widget-background-color-dark:#1a1a1a;--widget-border-color:#ebebeb;--widget-border-color-dark:#333;--widget-text-color:#171717;--widget-text-color-dark:#e6e6e6;--widget-text-muted-color:#5c5c5c;--widget-text-muted-color-dark:#999;--widget-footer-background-color:transparent;--widget-footer-background-color-dark:transparent;--widget-link-text-color:#171717;--widget-link-text-color-dark:#e6e6e6;--widget-branding-link-color:#47c2ff;--widget-padding:0;--widget-radius:0;--widget-gap:.375rem;--widget-border-width:0;--widget-max-width:32rem;--widget-z-index:50;--widget-footer-padding:1.5rem 0 0 0;--widget-title-size:.875rem;--widget-title-line-height:1.25;--widget-title-tracking:-.006em;--widget-title-weight:600;--widget-entry-animation:c15t-enter-rkppV .15s ease-out;--widget-exit-animation:c15t-exit-pldK8 .15s ease-out;--widget-accordion-padding:.875rem;--widget-accordion-radius:.625rem;--widget-accordion-duration:.2s;--widget-accordion-ease:cubic-bezier(.4,0,.2,1);--widget-accordion-icon-size:1.25rem;--widget-accordion-background-color:#fff;--widget-accordion-background-color-dark:#171717;--widget-accordion-background-hover:#f7f7f7;--widget-accordion-background-hover-dark:#1c1c1c;--widget-accordion-border-color:#ebebeb;--widget-accordion-border-color-dark:#333;--widget-accordion-text-color:#171717;--widget-accordion-text-color-dark:#e6e6e6;--widget-accordion-icon-color:#5c5c5c;--widget-accordion-icon-color-dark:#999;--widget-accordion-arrow-color:#a3a3a3;--widget-accordion-arrow-color-dark:#ccc;--widget-accordion-content-color:#5c5c5c;--widget-accordion-content-color-dark:#999;--widget-accordion-focus-ring:#476cff;--widget-accordion-focus-ring-dark:#2547d0;--widget-accordion-focus-shadow:0 0 0 2px #476cff;--widget-accordion-focus-shadow-dark:0 0 0 2px #2547d0}.c15t-widget-mZfPK{isolation:isolate;-webkit-text-size-adjust:100%;tab-size:4;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}.c15t-widget-mZfPK>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--space-y-reverse)));margin-bottom:calc(1.5rem*var(--space-y-reverse))}.c15t-card-cpA5_{width:100%;max-width:var(--widget-max-width);border-radius:var(--widget-radius);border:var(--widget-border-width)solid var(--widget-border-color);background-color:var(--widget-background-color);position:relative}.c15t-dark .c15t-card-cpA5_{background-color:var(--widget-background-color-dark);border-color:var(--widget-border-color-dark)}.c15t-card-cpA5_[data-state=open]{animation:var(--widget-entry-animation)}.c15t-card-cpA5_[data-state=closed]{animation:var(--widget-exit-animation)}.c15t-header-ubIEO{gap:var(--widget-gap);padding:var(--widget-padding);flex-direction:column;display:flex}.c15t-title-LLWlk{font-size:var(--widget-title-size);line-height:var(--widget-title-line-height);letter-spacing:var(--widget-title-tracking);font-weight:var(--widget-title-weight);color:var(--widget-text-color)}.c15t-dark .c15t-title-LLWlk{color:var(--widget-text-color-dark)}.c15t-description-AdjjX{color:var(--widget-text-muted-color)}.c15t-dark .c15t-description-AdjjX{color:var(--widget-text-muted-color-dark)}.c15t-content-JJu4V{padding:0 var(--widget-padding);padding-bottom:var(--widget-padding)}.c15t-footer-ySewJ{padding:var(--widget-footer-padding);background-color:var(--widget-footer-background-color);justify-content:space-between;gap:1rem;display:flex}.c15t-dark .c15t-footer-ySewJ{background-color:var(--widget-footer-background-color-dark)}@media (width<=640px){.c15t-footer-ySewJ{flex-direction:column}}@media (width>=640px){.c15t-footer-ySewJ{flex-direction:row}}.c15t-footerGroup-PNx3e{flex-direction:row;justify-content:space-between;gap:1rem;display:flex}@media (width<=640px){.c15t-footerGroup-PNx3e,.c15t-footerGroup-PNx3e button{width:100%}}.c15t-branding-ayjMW{border-top:var(--widget-border-width)solid var(--widget-border-color);justify-content:center;width:100%;padding-top:1rem;display:flex}.c15t-dark .c15t-branding-ayjMW{border-color:var(--widget-border-color-dark)}.c15t-brandingLink-mwCeb{color:var(--widget-link-text-color);text-align:center;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:flex}.c15t-dark .c15t-brandingLink-mwCeb{color:var(--widget-link-text-color-dark)}.c15t-brandingLink-mwCeb svg{height:1.2rem}@keyframes c15t-enter-rkppV{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes c15t-exit-pldK8{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.c15t-bottomLeft-ZpTtt{bottom:0;left:0}.c15t-bottomRight-StkOw{bottom:0;right:0}.c15t-topLeft-_G3uz{top:0;left:0}.c15t-topRight-By5Hm{top:0;right:0}.c15t-accordionItem-fU3xo{border-radius:var(--widget-accordion-radius);border:1px solid var(--widget-accordion-border-color);background-color:var(--widget-accordion-background-color);position:relative;overflow:visible}.c15t-accordionItem-fU3xo:has(.c15t-accordionTriggerInner-bepZm:focus-visible){box-shadow:0 0 0 2px var(--widget-accordion-focus-ring)}.c15t-dark .c15t-accordionItem-fU3xo{border-color:var(--widget-accordion-border-color-dark);background-color:var(--widget-accordion-background-color-dark)}.c15t-accordionTrigger-SWny4{width:100%;color:var(--widget-accordion-text-color);transition:background-color var(--widget-accordion-duration)var(--widget-accordion-ease);background-color:#0000;justify-content:space-between;align-items:center;display:flex}.c15t-accordionTrigger-SWny4:hover{background-color:var(--widget-accordion-background-hover)}.c15t-dark .c15t-accordionTrigger-SWny4{color:var(--widget-accordion-text-color-dark)}.c15t-dark .c15t-accordionTrigger-SWny4:hover{background-color:var(--widget-accordion-background-hover-dark)}.c15t-accordionTriggerInner-bepZm{align-items:center;gap:var(--widget-gap);font-size:var(--widget-title-size);font-weight:var(--widget-title-weight);border-radius:var(--widget-accordion-radius);display:flex;position:relative}.c15t-accordionContent-qm_yt{padding:var(--widget-accordion-padding);color:var(--widget-accordion-content-color);font-size:.875rem;line-height:1.5}.c15t-dark .c15t-accordionContent-qm_yt{color:var(--widget-accordion-content-color-dark)}.c15t-accordionArrow-t0PT0{color:var(--widget-accordion-arrow-color);width:var(--widget-accordion-icon-size);height:var(--widget-accordion-icon-size);transition:transform var(--widget-accordion-duration)var(--widget-accordion-ease)}.c15t-dark .c15t-accordionArrow-t0PT0{color:var(--widget-accordion-arrow-color-dark)}.c15t-accordionItem-fU3xo[data-state=open] .c15t-accordionArrow-t0PT0{transform:rotate(180deg)}.c15t-switch-cBZCr{cursor:pointer;background-color:var(--widget-accordion-background-hover);width:2rem;height:1.25rem;transition:background-color var(--widget-accordion-duration)var(--widget-accordion-ease);border-radius:9999px;justify-content:center;align-items:center;display:inline-flex}.c15t-dark .c15t-switch-cBZCr{background-color:var(--widget-accordion-background-hover-dark)}.c15t-switch-cBZCr[data-state=checked]{background-color:var(--widget-accordion-focus-ring)}.c15t-dark .c15t-switch-cBZCr[data-state=checked]{background-color:var(--widget-accordion-focus-ring-dark)}}
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var
|
|
1
|
+
"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_require__={};__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=(e,t)=>{for(var a in t)__webpack_require__.o(t,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_cookie_banner_cjs_namespaceObject=require("../cookie-banner.cjs"),test_helpers_cjs_namespaceObject=require("../../../utils/test-helpers.cjs");var test_helpers_cjs_default=__webpack_require__.n(test_helpers_cjs_namespaceObject);external_vitest_namespaceObject.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({showPopup:!0,...external_vitest_namespaceObject.vi.fn()})})),external_vitest_namespaceObject.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({cookieBanner:{title:"Cookie Settings",description:"We use cookies to enhance your experience",acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize"}})}));let ALL_COMPONENTS=[{testId:"cookie-banner-root",themeKey:"banner.root",styles:"custom-root"},{testId:"cookie-banner-card",themeKey:"banner.card",styles:"custom-card"},{testId:"cookie-banner-header",themeKey:"banner.header.root",styles:"custom-header"},{testId:"cookie-banner-title",themeKey:"banner.header.title",styles:"custom-title"},{testId:"cookie-banner-description",themeKey:"banner.header.description",styles:"custom-description"},{testId:"cookie-banner-footer",themeKey:"banner.footer",styles:"custom-footer"},{testId:"cookie-banner-footer-sub-group",themeKey:"banner.footer.sub-group",styles:"custom-footer-sub-group"},{testId:"cookie-banner-overlay",themeKey:"banner.overlay",styles:"custom-overlay"},{testId:"cookie-banner-reject-button",themeKey:"banner.footer.reject-button",styles:"custom-reject-button"},{testId:"cookie-banner-customize-button",themeKey:"banner.footer.customize-button",styles:"custom-customize-button"},{testId:"cookie-banner-accept-button",themeKey:"banner.footer.accept-button",styles:"custom-accept-button"}];for(var __webpack_i__ in(0,external_vitest_namespaceObject.test)("Theme prop applies string classnames to all components",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{scrollLock:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,external_vitest_namespaceObject.test)("Theme prop supports object format with className and style for all components",async()=>{let e={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},t=ALL_COMPONENTS.map(({testId:t,themeKey:a,styles:s})=>({testId:t,themeKey:a,className:s,style:e})),a=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{scrollLock:!0,theme:t.reduce((e,{themeKey:t,className:a,style:s})=>(e[t]={className:a,style:s},e),{})});await test_helpers_cjs_default()({component:a,testCases:t.map(({testId:e,className:t,style:a})=>({testId:e,styles:{className:t,style:a}}))})}),(0,external_vitest_namespaceObject.test)("No style prop removes default styles but keeps custom classNames",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{scrollLock:!0,noStyle:!0,theme:ALL_COMPONENTS.reduce((e,{themeKey:t,styles:a})=>(e[t]=a,e),{})});await test_helpers_cjs_default()({component:e,testCases:ALL_COMPONENTS.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,external_vitest_namespaceObject.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{scrollLock:!0,theme:{"banner.root":{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"banner.header.title":"custom-title"}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"cookie-banner-root",styles:{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"cookie-banner-title",styles:"custom-title"}]})}),(0,external_vitest_namespaceObject.test)("Theme prop handles edge cases gracefully",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{scrollLock:!0,theme:{"banner.root":"","banner.card":"","banner.header.root":"","banner.header.title":"","banner.header.description":"","banner.footer":{className:"",style:{margin:"0",padding:"0"}}}});await test_helpers_cjs_default()({component:e,testCases:[{testId:"cookie-banner-root",styles:""},{testId:"cookie-banner-title",styles:""},{testId:"cookie-banner-footer",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,external_vitest_namespaceObject.test)("Custom classes override base layer styles",async()=>{let e=document.createElement("style");e.textContent=`
|
|
2
|
+
.custom-banner-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-banner-text {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{theme:{"banner.card":"custom-banner-background","banner.header.title":"custom-banner-text"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"cookie-banner-card",styles:"custom-banner-background"},{testId:"cookie-banner-title",styles:"custom-banner-text"}]});let a=document.querySelector('[data-testid="cookie-banner-card"]'),s=document.querySelector('[data-testid="cookie-banner-title"]');if(!a||!s)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).backgroundColor).toBe("rgb(255, 0, 0)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(s).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(e)}),(0,external_vitest_namespaceObject.test)("Base layer styles are applied when no custom classes are provided",async()=>{let e=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{});await test_helpers_cjs_default()({component:e,testCases:[]});let t=document.querySelector('[data-testid="cookie-banner-card"]'),a=document.querySelector('[data-testid="cookie-banner-title"]');if(!t||!a)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(t).backgroundColor).toBe("rgb(255, 255, 255)"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).color).toBe("rgb(23, 23, 23)")}),(0,external_vitest_namespaceObject.test)("Multiple custom classes can be applied and override base layer",async()=>{let e=document.createElement("style");e.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(e);let t=(0,jsx_runtime_namespaceObject.jsx)(external_cookie_banner_cjs_namespaceObject.CookieBanner,{theme:{"banner.card":"custom-padding custom-border"}});await test_helpers_cjs_default()({component:t,testCases:[{testId:"cookie-banner-card",styles:"custom-padding custom-border"}]});let a=document.querySelector('[data-testid="cookie-banner-card"]');if(!a)throw Error("Required elements not found in the document");(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).padding).toBe("32px"),(0,external_vitest_namespaceObject.expect)(getComputedStyle(a).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(e)}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as o from"../cookie-banner.js";import*as
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as o from"../cookie-banner.js";import*as n from"../../../utils/test-helpers.js";t.vi.mock("~/hooks/use-consent-manager",()=>({useConsentManager:()=>({showPopup:!0,...t.vi.fn()})})),t.vi.mock("~/hooks/use-translations",()=>({useTranslations:()=>({cookieBanner:{title:"Cookie Settings",description:"We use cookies to enhance your experience",acceptAll:"Accept All",rejectAll:"Reject All",customize:"Customize"}})}));let s=[{testId:"cookie-banner-root",themeKey:"banner.root",styles:"custom-root"},{testId:"cookie-banner-card",themeKey:"banner.card",styles:"custom-card"},{testId:"cookie-banner-header",themeKey:"banner.header.root",styles:"custom-header"},{testId:"cookie-banner-title",themeKey:"banner.header.title",styles:"custom-title"},{testId:"cookie-banner-description",themeKey:"banner.header.description",styles:"custom-description"},{testId:"cookie-banner-footer",themeKey:"banner.footer",styles:"custom-footer"},{testId:"cookie-banner-footer-sub-group",themeKey:"banner.footer.sub-group",styles:"custom-footer-sub-group"},{testId:"cookie-banner-overlay",themeKey:"banner.overlay",styles:"custom-overlay"},{testId:"cookie-banner-reject-button",themeKey:"banner.footer.reject-button",styles:"custom-reject-button"},{testId:"cookie-banner-customize-button",themeKey:"banner.footer.customize-button",styles:"custom-customize-button"},{testId:"cookie-banner-accept-button",themeKey:"banner.footer.accept-button",styles:"custom-accept-button"}];(0,t.test)("Theme prop applies string classnames to all components",async()=>{let t=(0,e.jsx)(o.CookieBanner,{scrollLock:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,n.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t}))})}),(0,t.test)("Theme prop supports object format with className and style for all components",async()=>{let t={backgroundColor:"#ffffff",padding:"20px",border:"1px solid #000000"},r=s.map(({testId:e,themeKey:o,styles:n})=>({testId:e,themeKey:o,className:n,style:t})),a=(0,e.jsx)(o.CookieBanner,{scrollLock:!0,theme:r.reduce((e,{themeKey:t,className:o,style:n})=>(e[t]={className:o,style:n},e),{})});await (0,n.default)({component:a,testCases:r.map(({testId:e,className:t,style:o})=>({testId:e,styles:{className:t,style:o}}))})}),(0,t.test)("No style prop removes default styles but keeps custom classNames",async()=>{let t=(0,e.jsx)(o.CookieBanner,{scrollLock:!0,noStyle:!0,theme:s.reduce((e,{themeKey:t,styles:o})=>(e[t]=o,e),{})});await (0,n.default)({component:t,testCases:s.map(({testId:e,styles:t})=>({testId:e,styles:t})),noStyle:!0})}),(0,t.test)("Theme prop handles mixed format (string and object) correctly",async()=>{let t=(0,e.jsx)(o.CookieBanner,{scrollLock:!0,theme:{"banner.root":{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}},"banner.header.title":"custom-title"}});await (0,n.default)({component:t,testCases:[{testId:"cookie-banner-root",styles:{className:"custom-root",style:{backgroundColor:"rgb(255, 255, 255)",padding:"16px"}}},{testId:"cookie-banner-title",styles:"custom-title"}]})}),(0,t.test)("Theme prop handles edge cases gracefully",async()=>{let t=(0,e.jsx)(o.CookieBanner,{scrollLock:!0,theme:{"banner.root":"","banner.card":"","banner.header.root":"","banner.header.title":"","banner.header.description":"","banner.footer":{className:"",style:{margin:"0",padding:"0"}}}});await (0,n.default)({component:t,testCases:[{testId:"cookie-banner-root",styles:""},{testId:"cookie-banner-title",styles:""},{testId:"cookie-banner-footer",styles:{className:"",style:{margin:"0",padding:"0"}}}]})}),(0,t.test)("Custom classes override base layer styles",async()=>{let s=document.createElement("style");s.textContent=`
|
|
2
|
+
.custom-banner-background {
|
|
3
|
+
background-color: rgb(255, 0, 0) !important;
|
|
4
|
+
}
|
|
5
|
+
.custom-banner-text {
|
|
6
|
+
color: rgb(0, 255, 0) !important;
|
|
7
|
+
}
|
|
8
|
+
`,document.head.appendChild(s);let r=(0,e.jsx)(o.CookieBanner,{theme:{"banner.card":"custom-banner-background","banner.header.title":"custom-banner-text"}});await (0,n.default)({component:r,testCases:[{testId:"cookie-banner-card",styles:"custom-banner-background"},{testId:"cookie-banner-title",styles:"custom-banner-text"}]});let a=document.querySelector('[data-testid="cookie-banner-card"]'),c=document.querySelector('[data-testid="cookie-banner-title"]');if(!a||!c)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(a).backgroundColor).toBe("rgb(255, 0, 0)"),(0,t.expect)(getComputedStyle(c).color).toBe("rgb(0, 255, 0)"),document.head.removeChild(s)}),(0,t.test)("Base layer styles are applied when no custom classes are provided",async()=>{let s=(0,e.jsx)(o.CookieBanner,{});await (0,n.default)({component:s,testCases:[]});let r=document.querySelector('[data-testid="cookie-banner-card"]'),a=document.querySelector('[data-testid="cookie-banner-title"]');if(!r||!a)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(r).backgroundColor).toBe("rgb(255, 255, 255)"),(0,t.expect)(getComputedStyle(a).color).toBe("rgb(23, 23, 23)")}),(0,t.test)("Multiple custom classes can be applied and override base layer",async()=>{let s=document.createElement("style");s.textContent=`
|
|
9
|
+
.custom-padding {
|
|
10
|
+
padding: 32px !important;
|
|
11
|
+
}
|
|
12
|
+
.custom-border {
|
|
13
|
+
border: 2px solid rgb(0, 0, 255) !important;
|
|
14
|
+
}
|
|
15
|
+
`,document.head.appendChild(s);let r=(0,e.jsx)(o.CookieBanner,{theme:{"banner.card":"custom-padding custom-border"}});await (0,n.default)({component:r,testCases:[{testId:"cookie-banner-card",styles:"custom-padding custom-border"}]});let a=document.querySelector('[data-testid="cookie-banner-card"]');if(!a)throw Error("Required elements not found in the document");(0,t.expect)(getComputedStyle(a).padding).toBe("32px"),(0,t.expect)(getComputedStyle(a).border).toBe("2px solid rgb(0, 0, 255)"),document.head.removeChild(s)});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{isolation:isolate;-webkit-text-size-adjust:100%;tab-size:4;--banner-border-radius-sm:.3125rem;--banner-border-radius:1.25rem;--banner-max-width:440px;--banner-animation-duration:.2s;--banner-animation-timing:ease-out;--banner-entry-animation:c15t-enter-OSOPL .15s ease-out;--banner-exit-animation:c15t-exit-PbMtf .15s ease-out;--banner-border-width:1px;--banner-shadow:0 16px 32px -12px #0e121b1a;--banner-shadow-dark:0 16px 32px -12px #0e121b1a;--banner-background-color:#fff;--banner-background-color-dark:#171717;--banner-footer-background-color:#f7f7f7;--banner-footer-background-color-dark:#1c1c1c;--banner-text-color:#171717;--banner-text-color-dark:#e6e6e6;--banner-border-color:#ebebeb;--banner-border-color-dark:#333;--banner-title-color:#171717;--banner-title-color-dark:#e6e6e6;--banner-description-color:#5c5c5c;--banner-description-color-dark:#999;--banner-overlay-background-color:#00000080;--banner-overlay-background-color-dark:#00000080;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}.c15t-root-tnx7V{z-index:999999998;flex-direction:column;width:100%;padding:1rem;display:flex;position:fixed}.c15t-bannerVisible-bty7Y{opacity:1;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing),transform var(--banner-animation-duration)cubic-bezier(.34,1.56,.64,1);transform:translateY(0)}.c15t-bannerHidden-kfAtO{opacity:0;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing),transform var(--banner-animation-duration)var(--banner-animation-timing);transform:translateY(50px)}@media (width>=640px){.c15t-root-tnx7V{width:auto;padding:1.5rem}}.c15t-bottomLeft-wv7ez{bottom:0;left:0}.c15t-bottomRight-Oibp8{bottom:0;right:0}.c15t-topLeft-JJ9D6{top:0;left:0}.c15t-topRight-A6dOV{top:0;right:0}.c15t-card-MOqQY{width:100%;max-width:var(--banner-max-width);border-radius:var(--banner-border-radius);border-width:var(--banner-border-width);border-color:var(--banner-border-color);background-color:var(--banner-background-color);box-shadow:var(--banner-shadow);position:relative;overflow:hidden}.c15t-dark .c15t-card-MOqQY{background-color:var(--banner-background-color-dark);border-color:var(--banner-border-color-dark);box-shadow:var(--banner-shadow-dark)}.c15t-card-MOqQY[data-state=open]{animation:var(--banner-entry-animation)}.c15t-card-MOqQY[data-state=closed]{animation:var(--banner-exit-animation)}.c15t-card-MOqQY>:not([hidden])~:not([hidden]){border-top-width:var(--banner-border-width);border-color:var(--banner-border-color)}.c15t-dark .c15t-card-MOqQY>:not([hidden])~:not([hidden]){border-color:var(--banner-border-color-dark)}.c15t-card-MOqQY:focus{outline-offset:2px;outline:none}@keyframes c15t-enter-OSOPL{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes c15t-exit-PbMtf{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.c15t-rejectButton-qP3hZ,.c15t-acceptButton-zReyG,.c15t-customizeButton-ZjdG0{width:100%}@media (width>=640px){.c15t-rejectButton-qP3hZ,.c15t-acceptButton-zReyG,.c15t-customizeButton-ZjdG0{width:auto}}.c15t-header-X6bpE{color:var(--banner-text-color);flex-direction:column;padding:1rem;display:flex}.c15t-dark .c15t-header-X6bpE{color:var(--banner-text-color-dark)}@media (width>=640px){.c15t-header-X6bpE{padding:1.5rem}}.c15t-header-X6bpE>:not([hidden])~:not([hidden]){--banner-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--banner-space-y-reverse)));margin-bottom:calc(.5rem*var(--banner-space-y-reverse))}.c15t-footer-wS150{background-color:var(--banner-footer-background-color);flex-direction:column;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;display:flex}.c15t-dark .c15t-footer-wS150{background-color:var(--banner-footer-background-color-dark)}@media (width>=640px){.c15t-footer-wS150{flex-direction:row}}.c15t-footerSubGroup-HbTp3{flex-direction:row;justify-content:space-between;gap:1rem;display:flex}.c15t-description-jP5LU{letter-spacing:-.006em;color:var(--banner-description-color);font-size:.875rem;font-weight:400;line-height:1.25rem}.c15t-dark .c15t-description-jP5LU{color:var(--banner-description-color-dark)}.c15t-title-qr_tp{letter-spacing:-.011em;color:var(--banner-title-color);font-size:1rem;font-weight:500;line-height:1.5rem}.c15t-dark .c15t-title-qr_tp{color:var(--banner-title-color-dark)}.c15t-overlay-Y8QYV{background-color:var(--banner-overlay-background-color);z-index:999999997;position:fixed;inset:0}.c15t-overlayVisible-YTJZr{opacity:1;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing)}.c15t-overlayHidden-JeNTf{opacity:0;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing)}.c15t-dark .c15t-overlay-Y8QYV{background-color:var(--banner-overlay-background-color-dark)}
|
|
1
|
+
@layer base{:root{isolation:isolate;-webkit-text-size-adjust:100%;tab-size:4;--banner-border-radius-sm:.3125rem;--banner-border-radius:1.25rem;--banner-max-width:440px;--banner-animation-duration:.2s;--banner-animation-timing:ease-out;--banner-entry-animation:c15t-enter-OSOPL .15s ease-out;--banner-exit-animation:c15t-exit-PbMtf .15s ease-out;--banner-border-width:1px;--banner-shadow:0 16px 32px -12px #0e121b1a;--banner-shadow-dark:0 16px 32px -12px #0e121b1a;--banner-background-color:#fff;--banner-background-color-dark:#171717;--banner-footer-background-color:#f7f7f7;--banner-footer-background-color-dark:#1c1c1c;--banner-text-color:#171717;--banner-text-color-dark:#e6e6e6;--banner-border-color:#ebebeb;--banner-border-color-dark:#333;--banner-title-color:#171717;--banner-title-color-dark:#e6e6e6;--banner-description-color:#5c5c5c;--banner-description-color-dark:#999;--banner-overlay-background-color:#00000080;--banner-overlay-background-color-dark:#00000080;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;line-height:1.15}.c15t-root-tnx7V{z-index:999999998;flex-direction:column;width:100%;padding:1rem;display:flex;position:fixed}.c15t-bannerVisible-bty7Y{opacity:1;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing),transform var(--banner-animation-duration)cubic-bezier(.34,1.56,.64,1);transform:translateY(0)}.c15t-bannerHidden-kfAtO{opacity:0;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing),transform var(--banner-animation-duration)var(--banner-animation-timing);transform:translateY(50px)}@media (width>=640px){.c15t-root-tnx7V{width:auto;padding:1.5rem}}.c15t-bottomLeft-wv7ez{bottom:0;left:0}.c15t-bottomRight-Oibp8{bottom:0;right:0}.c15t-topLeft-JJ9D6{top:0;left:0}.c15t-topRight-A6dOV{top:0;right:0}.c15t-card-MOqQY{width:100%;max-width:var(--banner-max-width);border-radius:var(--banner-border-radius);border-width:var(--banner-border-width);border-color:var(--banner-border-color);background-color:var(--banner-background-color);box-shadow:var(--banner-shadow);position:relative;overflow:hidden}.c15t-dark .c15t-card-MOqQY{background-color:var(--banner-background-color-dark);border-color:var(--banner-border-color-dark);box-shadow:var(--banner-shadow-dark)}.c15t-card-MOqQY[data-state=open]{animation:var(--banner-entry-animation)}.c15t-card-MOqQY[data-state=closed]{animation:var(--banner-exit-animation)}.c15t-card-MOqQY>:not([hidden])~:not([hidden]){border-top-width:var(--banner-border-width);border-color:var(--banner-border-color)}.c15t-dark .c15t-card-MOqQY>:not([hidden])~:not([hidden]){border-color:var(--banner-border-color-dark)}.c15t-card-MOqQY:focus{outline-offset:2px;outline:none}@keyframes c15t-enter-OSOPL{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes c15t-exit-PbMtf{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.c15t-rejectButton-qP3hZ,.c15t-acceptButton-zReyG,.c15t-customizeButton-ZjdG0{width:100%}@media (width>=640px){.c15t-rejectButton-qP3hZ,.c15t-acceptButton-zReyG,.c15t-customizeButton-ZjdG0{width:auto}}.c15t-header-X6bpE{color:var(--banner-text-color);flex-direction:column;padding:1rem;display:flex}.c15t-dark .c15t-header-X6bpE{color:var(--banner-text-color-dark)}@media (width>=640px){.c15t-header-X6bpE{padding:1.5rem}}.c15t-header-X6bpE>:not([hidden])~:not([hidden]){--banner-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--banner-space-y-reverse)));margin-bottom:calc(.5rem*var(--banner-space-y-reverse))}.c15t-footer-wS150{background-color:var(--banner-footer-background-color);flex-direction:column;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;display:flex}.c15t-dark .c15t-footer-wS150{background-color:var(--banner-footer-background-color-dark)}@media (width>=640px){.c15t-footer-wS150{flex-direction:row}}.c15t-footerSubGroup-HbTp3{flex-direction:row;justify-content:space-between;gap:1rem;display:flex}.c15t-description-jP5LU{letter-spacing:-.006em;color:var(--banner-description-color);font-size:.875rem;font-weight:400;line-height:1.25rem}.c15t-dark .c15t-description-jP5LU{color:var(--banner-description-color-dark)}.c15t-title-qr_tp{letter-spacing:-.011em;color:var(--banner-title-color);font-size:1rem;font-weight:500;line-height:1.5rem}.c15t-dark .c15t-title-qr_tp{color:var(--banner-title-color-dark)}.c15t-overlay-Y8QYV{background-color:var(--banner-overlay-background-color);z-index:999999997;position:fixed;inset:0}.c15t-overlayVisible-YTJZr{opacity:1;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing)}.c15t-overlayHidden-JeNTf{opacity:0;transition:opacity var(--banner-animation-duration)var(--banner-animation-timing)}.c15t-dark .c15t-overlay-Y8QYV{background-color:var(--banner-overlay-background-color-dark)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--accordion-padding:.875rem;--accordion-radius:.625rem;--accordion-duration:.2s;--accordion-ease:cubic-bezier(.4,0,.2,1);--accordion-icon-size:1.25rem;--accordion-background-color:#fff;--accordion-background-color-dark:#171717;--accordion-background-hover:#f7f7f7;--accordion-background-hover-dark:#1c1c1c;--accordion-border-color:#ebebeb;--accordion-border-color-dark:#333;--accordion-text-color:#171717;--accordion-text-color-dark:#e6e6e6;--accordion-icon-color:#5c5c5c;--accordion-icon-color-dark:#999;--accordion-arrow-color:#a3a3a3;--accordion-arrow-color-dark:#ccc;--accordion-content-color:#5c5c5c;--accordion-content-color-dark:#999;--accordion-focus-ring:#476cff;--accordion-focus-ring-dark:#2547d0;--accordion-focus-shadow:0 0 0 2px var(--accordion-focus-ring);--accordion-focus-shadow-dark:0 0 0 2px var(--accordion-focus-ring-dark)}.c15t-root-mn3Kc{&>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}}.c15t-item-wEBHW{padding:var(--accordion-padding);background-color:var(--accordion-background-color);box-shadow:inset 0 0 0 1px var(--accordion-border-color);transition:all var(--accordion-duration)var(--accordion-ease);border-radius:var(--accordion-radius);position:relative;overflow:visible}.c15t-dark .c15t-item-wEBHW{background-color:var(--accordion-background-color-dark);box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark)}.c15t-item-wEBHW:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px #0000}.c15t-dark .c15t-item-wEBHW:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px #0000}.c15t-item-wEBHW:focus-within:not(:has(.c15t-triggerInner-P7q0J:focus-visible)){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px #0000}.c15t-dark .c15t-item-wEBHW:focus-within:not(:has(.c15t-triggerInner-P7q0J:focus-visible)){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px #0000}.c15t-item-wEBHW:has(.c15t-triggerInner-P7q0J:focus-visible){box-shadow:var(--accordion-focus-shadow)}.c15t-dark .c15t-item-wEBHW:has(.c15t-triggerInner-P7q0J:focus-visible){box-shadow:var(--accordion-focus-shadow-dark)}.c15t-trigger-YptQf{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative;overflow:visible}.c15t-triggerInner-P7q0J{width:90%;margin:calc(-1*var(--accordion-padding));padding:var(--accordion-padding);letter-spacing:-.006em;text-align:left;color:var(--accordion-text-color);cursor:pointer;border-radius:var(--accordion-radius);z-index:1;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:center;gap:.625rem;padding-right:0;font-size:.875rem;font-weight:500;line-height:1.25rem;display:grid;position:relative}.c15t-dark .c15t-triggerInner-P7q0J{color:var(--accordion-text-color-dark)}.c15t-triggerInner-P7q0J:focus-visible{outline:none}.c15t-icon-CWXG_{width:var(--accordion-icon-size);height:var(--accordion-icon-size);color:var(--accordion-icon-color);flex-shrink:0}.c15t-dark .c15t-icon-CWXG_{color:var(--accordion-icon-color-dark)}.c15t-arrowOpen-BtPT6,.c15t-arrowClose-Rc1mA{width:var(--accordion-icon-size);height:var(--accordion-icon-size);transition:color var(--accordion-duration)var(--accordion-ease);flex-shrink:0}.c15t-arrowOpen-BtPT6{color:var(--accordion-arrow-color)}.c15t-dark .c15t-arrowOpen-BtPT6{color:var(--accordion-arrow-color-dark)}.c15t-item-wEBHW:hover .c15t-arrowOpen-BtPT6{color:var(--accordion-icon-color)}.c15t-dark .c15t-item-wEBHW:hover .c15t-arrowOpen-BtPT6{color:var(--accordion-icon-color-dark)}.c15t-arrowClose-Rc1mA{color:var(--accordion-icon-color);display:none}.c15t-dark .c15t-arrowClose-Rc1mA{color:var(--accordion-icon-color-dark)}.c15t-item-wEBHW[data-state=open] .c15t-arrowOpen-BtPT6{display:none}.c15t-item-wEBHW[data-state=open] .c15t-arrowClose-Rc1mA{display:block}.c15t-content-F0Oyv{overflow:hidden}@keyframes c15t-accordionDown-BXyWj{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes c15t-accordionUp-JM5v8{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}.c15t-content-F0Oyv[data-state=open]{animation:c15t-accordionDown-BXyWj var(--accordion-duration)var(--accordion-ease)}.c15t-content-F0Oyv[data-state=closed]{animation:c15t-accordionUp-JM5v8 var(--accordion-duration)var(--accordion-ease)}.c15t-contentInner-seFon{letter-spacing:-.006em;color:var(--accordion-content-color);padding-top:.375rem;font-size:.875rem;line-height:1.25rem}.c15t-dark .c15t-contentInner-seFon{color:var(--accordion-content-color-dark)}
|
|
1
|
+
@layer base{:root{--accordion-padding:.875rem;--accordion-radius:.625rem;--accordion-duration:.2s;--accordion-ease:cubic-bezier(.4,0,.2,1);--accordion-icon-size:1.25rem;--accordion-background-color:#fff;--accordion-background-color-dark:#171717;--accordion-background-hover:#f7f7f7;--accordion-background-hover-dark:#1c1c1c;--accordion-border-color:#ebebeb;--accordion-border-color-dark:#333;--accordion-text-color:#171717;--accordion-text-color-dark:#e6e6e6;--accordion-icon-color:#5c5c5c;--accordion-icon-color-dark:#999;--accordion-arrow-color:#a3a3a3;--accordion-arrow-color-dark:#ccc;--accordion-content-color:#5c5c5c;--accordion-content-color-dark:#999;--accordion-focus-ring:#476cff;--accordion-focus-ring-dark:#2547d0;--accordion-focus-shadow:0 0 0 2px var(--accordion-focus-ring);--accordion-focus-shadow-dark:0 0 0 2px var(--accordion-focus-ring-dark)}.c15t-root-mn3Kc{&>:not([hidden])~:not([hidden]){--space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--space-y-reverse)));margin-bottom:calc(1rem*var(--space-y-reverse))}}.c15t-item-wEBHW{padding:var(--accordion-padding);background-color:var(--accordion-background-color);box-shadow:inset 0 0 0 1px var(--accordion-border-color);transition:all var(--accordion-duration)var(--accordion-ease);border-radius:var(--accordion-radius);position:relative;overflow:visible}.c15t-dark .c15t-item-wEBHW{background-color:var(--accordion-background-color-dark);box-shadow:inset 0 0 0 1px var(--accordion-border-color-dark)}.c15t-item-wEBHW:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px #0000}.c15t-dark .c15t-item-wEBHW:is(:hover,[data-state=open]){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px #0000}.c15t-item-wEBHW:focus-within:not(:has(.c15t-triggerInner-P7q0J:focus-visible)){background-color:var(--accordion-background-hover);box-shadow:inset 0 0 0 1px #0000}.c15t-dark .c15t-item-wEBHW:focus-within:not(:has(.c15t-triggerInner-P7q0J:focus-visible)){background-color:var(--accordion-background-hover-dark);box-shadow:inset 0 0 0 1px #0000}.c15t-item-wEBHW:has(.c15t-triggerInner-P7q0J:focus-visible){box-shadow:var(--accordion-focus-shadow)}.c15t-dark .c15t-item-wEBHW:has(.c15t-triggerInner-P7q0J:focus-visible){box-shadow:var(--accordion-focus-shadow-dark)}.c15t-trigger-YptQf{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative;overflow:visible}.c15t-triggerInner-P7q0J{width:90%;margin:calc(-1*var(--accordion-padding));padding:var(--accordion-padding);letter-spacing:-.006em;text-align:left;color:var(--accordion-text-color);cursor:pointer;border-radius:var(--accordion-radius);z-index:1;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:center;gap:.625rem;padding-right:0;font-size:.875rem;font-weight:500;line-height:1.25rem;display:grid;position:relative}.c15t-dark .c15t-triggerInner-P7q0J{color:var(--accordion-text-color-dark)}.c15t-triggerInner-P7q0J:focus-visible{outline:none}.c15t-icon-CWXG_{width:var(--accordion-icon-size);height:var(--accordion-icon-size);color:var(--accordion-icon-color);flex-shrink:0}.c15t-dark .c15t-icon-CWXG_{color:var(--accordion-icon-color-dark)}.c15t-arrowOpen-BtPT6,.c15t-arrowClose-Rc1mA{width:var(--accordion-icon-size);height:var(--accordion-icon-size);transition:color var(--accordion-duration)var(--accordion-ease);flex-shrink:0}.c15t-arrowOpen-BtPT6{color:var(--accordion-arrow-color)}.c15t-dark .c15t-arrowOpen-BtPT6{color:var(--accordion-arrow-color-dark)}.c15t-item-wEBHW:hover .c15t-arrowOpen-BtPT6{color:var(--accordion-icon-color)}.c15t-dark .c15t-item-wEBHW:hover .c15t-arrowOpen-BtPT6{color:var(--accordion-icon-color-dark)}.c15t-arrowClose-Rc1mA{color:var(--accordion-icon-color);display:none}.c15t-dark .c15t-arrowClose-Rc1mA{color:var(--accordion-icon-color-dark)}.c15t-item-wEBHW[data-state=open] .c15t-arrowOpen-BtPT6{display:none}.c15t-item-wEBHW[data-state=open] .c15t-arrowClose-Rc1mA{display:block}.c15t-content-F0Oyv{overflow:hidden}@keyframes c15t-accordionDown-BXyWj{0%{opacity:0;height:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes c15t-accordionUp-JM5v8{0%{height:var(--radix-accordion-content-height);opacity:1}to{opacity:0;height:0}}.c15t-content-F0Oyv[data-state=open]{animation:c15t-accordionDown-BXyWj var(--accordion-duration)var(--accordion-ease)}.c15t-content-F0Oyv[data-state=closed]{animation:c15t-accordionUp-JM5v8 var(--accordion-duration)var(--accordion-ease)}.c15t-contentInner-seFon{letter-spacing:-.006em;color:var(--accordion-content-color);padding-top:.375rem;font-size:.875rem;line-height:1.25rem}.c15t-dark .c15t-contentInner-seFon{color:var(--accordion-content-color-dark)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--button-primary:#335cff;--button-primary-dark:#2547d0;--button-primary-hover:#476fff1a;--button-primary-hover-dark:#476cff1a;--button-neutral:#5c5c5c;--button-neutral-dark:#414958;--button-neutral-hover:#626d84;--button-neutral-hover-dark:#363d49;--button-neutral-soft:#ebebeb;--button-neutral-soft-dark:#414958;--button-focus-ring:#476cff;--button-focus-ring-dark:#2547d0;--button-text:#5c5c5c;--button-text-dark:#b3b3b3;--button-text-hover:#171717;--button-text-hover-dark:#e6e6e6;--button-background-color:#fff;--button-background-color-dark:#1a1a1a;--button-border:#5c5c5c;--button-border-dark:#414958;--button-hover-overlay:#2b303b0d;--button-hover-overlay-dark:#e2e4e91a;--button-font:inherit;--button-border-width:0px;--button-border-style:solid;--button-border-color:transparent;--button-border-radius:.375rem;--button-font-weight:500;--button-font-size:.875rem;--button-line-height:1.25rem;--button-transition:all .15s ease-in-out;--button-cursor:pointer;--button-shadow:0px 1px 2px 0px #0e121b0f;--button-shadow-dark:0px 1px 2px 0px #8080800f;--button-shadow-primary-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-neutral-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-primary-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-neutral-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-primary:var(--button-shadow),inset 0 0 0 1px var(--button-primary);--button-shadow-primary-dark:var(--button-shadow-dark),inset 0 0 0 1px var(--button-primary-dark);--button-shadow-primary-hover:none;--button-shadow-primary-hover-dark:none;--button-shadow-neutral:var(--button-shadow),inset 0 0 0 1px var(--button-neutral-soft);--button-shadow-neutral-dark:var(--button-shadow-dark),inset 0 0 0 1px var(--button-neutral-soft-dark);--button-shadow-neutral-hover:none;--button-shadow-neutral-hover-dark:none}.c15t-button-YKOgW{border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);transition:var(--button-transition);cursor:var(--button-cursor);border:var(--button-border-width)var(--button-border-style)var(--button-border-color);font-size:var(--button-font-size);line-height:var(--button-line-height);color:var(--button-text);font-family:var(--button-font);justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.c15t-button-YKOgW:focus-visible{box-shadow:var(--button-shadow-primary-focus);outline:none}.c15t-dark .c15t-button-YKOgW:focus-visible{box-shadow:var(--button-shadow-primary-focus-dark)}.c15t-dark .c15t-button-YKOgW{color:var(--button-text-dark)}.c15t-button-YKOgW:disabled{opacity:.5;cursor:not-allowed}.c15t-button-medium-1Mfpj{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.625rem 1rem}.c15t-button-small-n5LJg{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.5rem .75rem}.c15t-button-xsmall-ygCjx{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.375rem .625rem}.c15t-button-xxsmall-r7ZLO{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.25rem .5rem}.c15t-button-primary-filled-YzeKk{background-color:var(--button-primary);color:var(--button-background-color)}.c15t-button-primary-filled-YzeKk:focus-visible{box-shadow:var(--button-shadow-primary-focus)}.c15t-dark .c15t-button-primary-filled-YzeKk{background-color:var(--button-primary-dark);color:var(--button-background-color-dark)}.c15t-button-primary-filled-YzeKk:hover:not(:disabled){background-color:var(--button-primary-hover)}.c15t-dark .c15t-button-primary-filled-YzeKk:hover:not(:disabled){background-color:var(--button-primary-hover-dark)}.c15t-button-primary-stroke-TWzjH{background-color:var(--button-background-color);color:var(--button-primary);box-shadow:var(--button-shadow-primary)}.c15t-dark .c15t-button-primary-stroke-TWzjH{background-color:var(--button-background-color-dark);color:var(--button-primary-dark);box-shadow:var(--button-shadow-primary-dark)}.c15t-button-primary-stroke-TWzjH:hover:not(:disabled){background-color:var(--button-primary-hover);box-shadow:var(--button-shadow-primary-hover)}.c15t-dark .c15t-button-primary-stroke-TWzjH:hover:not(:disabled){background-color:var(--button-primary-hover-dark);box-shadow:var(--button-shadow-primary-hover-dark)}.c15t-button-primary-lighter-kAHLT{background-color:color-mix(in srgb,var(--button-primary)10%,transparent);color:var(--button-primary)}.c15t-dark .c15t-button-primary-lighter-kAHLT{background-color:color-mix(in srgb,var(--button-primary-dark)10%,transparent);color:var(--button-primary-dark)}.c15t-button-primary-lighter-kAHLT:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-primary)20%,transparent)}.c15t-dark .c15t-button-primary-lighter-kAHLT:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-primary-dark)20%,transparent)}.c15t-button-primary-ghost-j0CcU{color:var(--button-primary)}.c15t-dark .c15t-button-primary-ghost-j0CcU{color:var(--button-primary-dark)}.c15t-button-primary-ghost-j0CcU:hover:not(:disabled){background-color:var(--button-hover-overlay)}.c15t-dark .c15t-button-primary-ghost-j0CcU:hover:not(:disabled){background-color:var(--button-hover-overlay-dark)}.c15t-button-neutral-filled-uvvkN{background-color:var(--button-neutral);color:var(--button-background-color)}.c15t-button-neutral-filled-uvvkN:focus-visible{box-shadow:var(--button-shadow-neutral-focus)}.c15t-dark .c15t-button-neutral-filled-uvvkN{background-color:var(--button-neutral-dark);color:var(--button-background-color-dark)}.c15t-button-neutral-filled-uvvkN:hover:not(:disabled){background-color:var(--button-neutral-hover)}.c15t-dark .c15t-button-neutral-filled-uvvkN:hover:not(:disabled){background-color:var(--button-neutral-hover-dark)}.c15t-button-neutral-stroke-EAzCC{background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-dark .c15t-button-neutral-stroke-EAzCC{background-color:var(--button-background-color-dark);box-shadow:var(--button-shadow-neutral-dark)}.c15t-button-neutral-stroke-EAzCC:hover:not(:disabled){box-shadow:var(--button-shadow-neutral-hover);color:var(--button-text-hover);background-color:#0000}.c15t-dark .c15t-button-neutral-stroke-EAzCC:hover:not(:disabled){box-shadow:var(--button-shadow-neutral-hover-dark);color:var(--button-text-hover-dark)}.c15t-button-neutral-lighter-ANBJI{background-color:color-mix(in srgb,var(--button-neutral)10%,transparent);color:var(--button-neutral)}.c15t-dark .c15t-button-neutral-lighter-ANBJI{background-color:color-mix(in srgb,var(--button-neutral-dark)10%,transparent);color:var(--button-neutral-dark)}.c15t-button-neutral-lighter-ANBJI:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-neutral)20%,transparent)}.c15t-dark .c15t-button-neutral-lighter-ANBJI:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-neutral-dark)20%,transparent)}.c15t-button-neutral-ghost-x4zTl{color:var(--button-neutral)}.c15t-dark .c15t-button-neutral-ghost-x4zTl{color:var(--button-neutral-dark)}.c15t-button-neutral-ghost-x4zTl:hover:not(:disabled){background-color:var(--button-hover-overlay)}.c15t-dark .c15t-button-neutral-ghost-x4zTl:hover:not(:disabled){background-color:var(--button-hover-overlay-dark)}.c15t-button-icon-ps6Fy{justify-content:center;align-items:center;display:inline-flex}
|
|
1
|
+
@layer base{:root{--button-primary:#335cff;--button-primary-dark:#2547d0;--button-primary-hover:#476fff1a;--button-primary-hover-dark:#476cff1a;--button-neutral:#5c5c5c;--button-neutral-dark:#414958;--button-neutral-hover:#626d84;--button-neutral-hover-dark:#363d49;--button-neutral-soft:#ebebeb;--button-neutral-soft-dark:#414958;--button-focus-ring:#476cff;--button-focus-ring-dark:#2547d0;--button-text:#5c5c5c;--button-text-dark:#b3b3b3;--button-text-hover:#171717;--button-text-hover-dark:#e6e6e6;--button-background-color:#fff;--button-background-color-dark:#1a1a1a;--button-border:#5c5c5c;--button-border-dark:#414958;--button-hover-overlay:#2b303b0d;--button-hover-overlay-dark:#e2e4e91a;--button-font:inherit;--button-border-width:0px;--button-border-style:solid;--button-border-color:transparent;--button-border-radius:.375rem;--button-font-weight:500;--button-font-size:.875rem;--button-line-height:1.25rem;--button-transition:all .15s ease-in-out;--button-cursor:pointer;--button-shadow:0px 1px 2px 0px #0e121b0f;--button-shadow-dark:0px 1px 2px 0px #8080800f;--button-shadow-primary-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-neutral-focus:0 0 0 2px var(--button-focus-ring);--button-shadow-primary-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-neutral-focus-dark:0 0 0 2px var(--button-focus-ring-dark);--button-shadow-primary:var(--button-shadow),inset 0 0 0 1px var(--button-primary);--button-shadow-primary-dark:var(--button-shadow-dark),inset 0 0 0 1px var(--button-primary-dark);--button-shadow-primary-hover:none;--button-shadow-primary-hover-dark:none;--button-shadow-neutral:var(--button-shadow),inset 0 0 0 1px var(--button-neutral-soft);--button-shadow-neutral-dark:var(--button-shadow-dark),inset 0 0 0 1px var(--button-neutral-soft-dark);--button-shadow-neutral-hover:none;--button-shadow-neutral-hover-dark:none}.c15t-button-YKOgW{border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);transition:var(--button-transition);cursor:var(--button-cursor);border:var(--button-border-width)var(--button-border-style)var(--button-border-color);font-size:var(--button-font-size);line-height:var(--button-line-height);color:var(--button-text);font-family:var(--button-font);justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.c15t-button-YKOgW:focus-visible{box-shadow:var(--button-shadow-primary-focus);outline:none}.c15t-dark .c15t-button-YKOgW:focus-visible{box-shadow:var(--button-shadow-primary-focus-dark)}.c15t-dark .c15t-button-YKOgW{color:var(--button-text-dark)}.c15t-button-YKOgW:disabled{opacity:.5;cursor:not-allowed}.c15t-button-medium-1Mfpj{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.625rem 1rem}.c15t-button-small-n5LJg{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.5rem .75rem}.c15t-button-xsmall-ygCjx{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.375rem .625rem}.c15t-button-xxsmall-r7ZLO{font-size:var(--button-font-size);line-height:var(--button-line-height);padding:.25rem .5rem}.c15t-button-primary-filled-YzeKk{background-color:var(--button-primary);color:var(--button-background-color)}.c15t-button-primary-filled-YzeKk:focus-visible{box-shadow:var(--button-shadow-primary-focus)}.c15t-dark .c15t-button-primary-filled-YzeKk{background-color:var(--button-primary-dark);color:var(--button-background-color-dark)}.c15t-button-primary-filled-YzeKk:hover:not(:disabled){background-color:var(--button-primary-hover)}.c15t-dark .c15t-button-primary-filled-YzeKk:hover:not(:disabled){background-color:var(--button-primary-hover-dark)}.c15t-button-primary-stroke-TWzjH{background-color:var(--button-background-color);color:var(--button-primary);box-shadow:var(--button-shadow-primary)}.c15t-dark .c15t-button-primary-stroke-TWzjH{background-color:var(--button-background-color-dark);color:var(--button-primary-dark);box-shadow:var(--button-shadow-primary-dark)}.c15t-button-primary-stroke-TWzjH:hover:not(:disabled){background-color:var(--button-primary-hover);box-shadow:var(--button-shadow-primary-hover)}.c15t-dark .c15t-button-primary-stroke-TWzjH:hover:not(:disabled){background-color:var(--button-primary-hover-dark);box-shadow:var(--button-shadow-primary-hover-dark)}.c15t-button-primary-lighter-kAHLT{background-color:color-mix(in srgb,var(--button-primary)10%,transparent);color:var(--button-primary)}.c15t-dark .c15t-button-primary-lighter-kAHLT{background-color:color-mix(in srgb,var(--button-primary-dark)10%,transparent);color:var(--button-primary-dark)}.c15t-button-primary-lighter-kAHLT:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-primary)20%,transparent)}.c15t-dark .c15t-button-primary-lighter-kAHLT:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-primary-dark)20%,transparent)}.c15t-button-primary-ghost-j0CcU{color:var(--button-primary)}.c15t-dark .c15t-button-primary-ghost-j0CcU{color:var(--button-primary-dark)}.c15t-button-primary-ghost-j0CcU:hover:not(:disabled){background-color:var(--button-hover-overlay)}.c15t-dark .c15t-button-primary-ghost-j0CcU:hover:not(:disabled){background-color:var(--button-hover-overlay-dark)}.c15t-button-neutral-filled-uvvkN{background-color:var(--button-neutral);color:var(--button-background-color)}.c15t-button-neutral-filled-uvvkN:focus-visible{box-shadow:var(--button-shadow-neutral-focus)}.c15t-dark .c15t-button-neutral-filled-uvvkN{background-color:var(--button-neutral-dark);color:var(--button-background-color-dark)}.c15t-button-neutral-filled-uvvkN:hover:not(:disabled){background-color:var(--button-neutral-hover)}.c15t-dark .c15t-button-neutral-filled-uvvkN:hover:not(:disabled){background-color:var(--button-neutral-hover-dark)}.c15t-button-neutral-stroke-EAzCC{background-color:var(--button-background-color);box-shadow:var(--button-shadow-neutral)}.c15t-dark .c15t-button-neutral-stroke-EAzCC{background-color:var(--button-background-color-dark);box-shadow:var(--button-shadow-neutral-dark)}.c15t-button-neutral-stroke-EAzCC:hover:not(:disabled){box-shadow:var(--button-shadow-neutral-hover);color:var(--button-text-hover);background-color:#0000}.c15t-dark .c15t-button-neutral-stroke-EAzCC:hover:not(:disabled){box-shadow:var(--button-shadow-neutral-hover-dark);color:var(--button-text-hover-dark)}.c15t-button-neutral-lighter-ANBJI{background-color:color-mix(in srgb,var(--button-neutral)10%,transparent);color:var(--button-neutral)}.c15t-dark .c15t-button-neutral-lighter-ANBJI{background-color:color-mix(in srgb,var(--button-neutral-dark)10%,transparent);color:var(--button-neutral-dark)}.c15t-button-neutral-lighter-ANBJI:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-neutral)20%,transparent)}.c15t-dark .c15t-button-neutral-lighter-ANBJI:hover:not(:disabled){background-color:color-mix(in srgb,var(--button-neutral-dark)20%,transparent)}.c15t-button-neutral-ghost-x4zTl{color:var(--button-neutral)}.c15t-dark .c15t-button-neutral-ghost-x4zTl{color:var(--button-neutral-dark)}.c15t-button-neutral-ghost-x4zTl:hover:not(:disabled){background-color:var(--button-hover-overlay)}.c15t-dark .c15t-button-neutral-ghost-x4zTl:hover:not(:disabled){background-color:var(--button-hover-overlay-dark)}.c15t-button-icon-ps6Fy{justify-content:center;align-items:center;display:inline-flex}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--switch-height:1.25rem;--switch-width:2rem;--switch-padding:.125rem;--switch-duration:.2s;--switch-ease:cubic-bezier(.4,0,.2,1);--switch-thumb-size:.75rem;--switch-thumb-size-disabled:.625rem;--switch-thumb-translate:.75rem;--switch-background-color:#ebebeb;--switch-background-color-dark:#333;--switch-background-color-hover:#d1d1d1;--switch-background-color-hover-dark:#292929;--switch-background-color-checked:#335cff;--switch-background-color-checked-dark:#2547d0;--switch-background-color-disabled:#fff;--switch-background-color-disabled-dark:#171717;--switch-thumb-background-color:#fff;--switch-thumb-background-color-dark:#f7f7f7;--switch-thumb-background-color-disabled:#f7f7f7;--switch-thumb-background-color-disabled-dark:#333;--switch-shadow-thumb:0 0 0 1px #ebebeb;--switch-shadow-thumb-dark:0 0 0 1px #333;--switch-focus-ring:#335cff;--switch-focus-ring-dark:#2547d0;--switch-focus-shadow:0 0 0 2px var(--switch-focus-ring);--switch-focus-shadow-dark:0 0 0 2px var(--switch-focus-ring-dark)}.c15t-root-qh0zR{height:var(--switch-height);width:var(--switch-width);padding:var(--switch-padding);white-space:nowrap;background:0 0;border:0;border-radius:9999px;outline:none;flex-shrink:0;margin:0;font-family:inherit;font-size:100%;line-height:1.15;display:block}.c15t-track-OlfR7{height:calc(var(--switch-height) - 2*var(--switch-padding));width:calc(var(--switch-width) - 2*var(--switch-padding));padding:var(--switch-padding);background-color:var(--switch-background-color);transition:all var(--switch-duration)var(--switch-ease);border-radius:9999px;outline:none;position:relative}.c15t-dark .c15t-track-OlfR7{background-color:var(--switch-background-color-dark)}.c15t-track-OlfR7:hover{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-track-OlfR7:hover{background-color:var(--switch-background-color-hover-dark)}.c15t-track-OlfR7:focus-visible{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-track-OlfR7:focus-visible{background-color:var(--switch-background-color-hover-dark)}.c15t-track-OlfR7:active{background-color:var(--switch-background-color)}.c15t-dark .c15t-track-OlfR7:active{background-color:var(--switch-background-color-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-track-OlfR7{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-root-qh0zR[data-state=checked] .c15t-track-OlfR7{background-color:var(--switch-background-color-checked-dark)}.c15t-root-qh0zR[data-state=checked]:hover .c15t-track-OlfR7{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-root-qh0zR[data-state=checked]:hover .c15t-track-OlfR7{background-color:var(--switch-background-color-checked-dark)}.c15t-root-qh0zR[data-disabled]{cursor:not-allowed}.c15t-root-qh0zR:focus,.c15t-dark .c15t-root-qh0zR:focus{outline:none}.c15t-track-disabled-reR3p{background-color:var(--switch-background-color-disabled);opacity:.4;box-shadow:inset 0 0 0 1px #ebebeb}.c15t-dark .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-disabled-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-checked);opacity:.4;box-shadow:none}.c15t-dark .c15t-root-qh0zR[data-state=checked] .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-checked-dark)}.c15t-thumb-JukBu{pointer-events:none;width:var(--switch-thumb-size);height:var(--switch-thumb-size);transition:transform var(--switch-duration)var(--switch-ease);display:block;position:relative;transform:translate(0)}.c15t-thumb-JukBu:before{content:"";background-color:var(--switch-thumb-background-color);inset-block:0;border-radius:9999px;width:100%;position:absolute;left:0;mask:radial-gradient(circle farthest-side,#0000 1.95px,#000 2.05px 100%) 50%/100% 100% no-repeat}.c15t-dark .c15t-thumb-JukBu:before{background-color:var(--switch-thumb-background-color-dark)}.c15t-thumb-JukBu:after{content:"";width:100%;box-shadow:var(--switch-shadow-thumb);inset-block:0;border-radius:9999px;position:absolute;left:0}.c15t-dark .c15t-thumb-JukBu:after{box-shadow:var(--switch-shadow-thumb-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-thumb-JukBu{transform:translateX(var(--switch-thumb-translate))}.c15t-track-OlfR7:active .c15t-thumb-JukBu{transform:scale(.833)}.c15t-thumb-disabled-s9gXH{box-shadow:none}.c15t-root-qh0zR[data-state=checked] .c15t-thumb-disabled-s9gXH{transform:translateX(var(--switch-thumb-translate))}.c15t-root-qh0zR:focus-visible{box-shadow:var(--switch-focus-shadow);outline:none}.c15t-dark .c15t-root-qh0zR:focus-visible{box-shadow:var(--switch-focus-shadow-dark)}
|
|
1
|
+
@layer base{:root{--switch-height:1.25rem;--switch-width:2rem;--switch-padding:.125rem;--switch-duration:.2s;--switch-ease:cubic-bezier(.4,0,.2,1);--switch-thumb-size:.75rem;--switch-thumb-size-disabled:.625rem;--switch-thumb-translate:.75rem;--switch-background-color:#ebebeb;--switch-background-color-dark:#333;--switch-background-color-hover:#d1d1d1;--switch-background-color-hover-dark:#292929;--switch-background-color-checked:#335cff;--switch-background-color-checked-dark:#2547d0;--switch-background-color-disabled:#fff;--switch-background-color-disabled-dark:#171717;--switch-thumb-background-color:#fff;--switch-thumb-background-color-dark:#f7f7f7;--switch-thumb-background-color-disabled:#f7f7f7;--switch-thumb-background-color-disabled-dark:#333;--switch-shadow-thumb:0 0 0 1px #ebebeb;--switch-shadow-thumb-dark:0 0 0 1px #333;--switch-focus-ring:#335cff;--switch-focus-ring-dark:#2547d0;--switch-focus-shadow:0 0 0 2px var(--switch-focus-ring);--switch-focus-shadow-dark:0 0 0 2px var(--switch-focus-ring-dark)}.c15t-root-qh0zR{height:var(--switch-height);width:var(--switch-width);padding:var(--switch-padding);white-space:nowrap;background:0 0;border:0;border-radius:9999px;outline:none;flex-shrink:0;margin:0;font-family:inherit;font-size:100%;line-height:1.15;display:block}.c15t-track-OlfR7{height:calc(var(--switch-height) - 2*var(--switch-padding));width:calc(var(--switch-width) - 2*var(--switch-padding));padding:var(--switch-padding);background-color:var(--switch-background-color);transition:all var(--switch-duration)var(--switch-ease);border-radius:9999px;outline:none;position:relative}.c15t-dark .c15t-track-OlfR7{background-color:var(--switch-background-color-dark)}.c15t-track-OlfR7:hover{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-track-OlfR7:hover{background-color:var(--switch-background-color-hover-dark)}.c15t-track-OlfR7:focus-visible{background-color:var(--switch-background-color-hover)}.c15t-dark .c15t-track-OlfR7:focus-visible{background-color:var(--switch-background-color-hover-dark)}.c15t-track-OlfR7:active{background-color:var(--switch-background-color)}.c15t-dark .c15t-track-OlfR7:active{background-color:var(--switch-background-color-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-track-OlfR7{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-root-qh0zR[data-state=checked] .c15t-track-OlfR7{background-color:var(--switch-background-color-checked-dark)}.c15t-root-qh0zR[data-state=checked]:hover .c15t-track-OlfR7{background-color:var(--switch-background-color-checked)}.c15t-dark .c15t-root-qh0zR[data-state=checked]:hover .c15t-track-OlfR7{background-color:var(--switch-background-color-checked-dark)}.c15t-root-qh0zR[data-disabled]{cursor:not-allowed}.c15t-root-qh0zR:focus,.c15t-dark .c15t-root-qh0zR:focus{outline:none}.c15t-track-disabled-reR3p{background-color:var(--switch-background-color-disabled);opacity:.4;box-shadow:inset 0 0 0 1px #ebebeb}.c15t-dark .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-disabled-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-checked);opacity:.4;box-shadow:none}.c15t-dark .c15t-root-qh0zR[data-state=checked] .c15t-track-disabled-reR3p{background-color:var(--switch-background-color-checked-dark)}.c15t-thumb-JukBu{pointer-events:none;width:var(--switch-thumb-size);height:var(--switch-thumb-size);transition:transform var(--switch-duration)var(--switch-ease);display:block;position:relative;transform:translate(0)}.c15t-thumb-JukBu:before{content:"";background-color:var(--switch-thumb-background-color);inset-block:0;border-radius:9999px;width:100%;position:absolute;left:0;mask:radial-gradient(circle farthest-side,#0000 1.95px,#000 2.05px 100%) 50%/100% 100% no-repeat}.c15t-dark .c15t-thumb-JukBu:before{background-color:var(--switch-thumb-background-color-dark)}.c15t-thumb-JukBu:after{content:"";width:100%;box-shadow:var(--switch-shadow-thumb);inset-block:0;border-radius:9999px;position:absolute;left:0}.c15t-dark .c15t-thumb-JukBu:after{box-shadow:var(--switch-shadow-thumb-dark)}.c15t-root-qh0zR[data-state=checked] .c15t-thumb-JukBu{transform:translateX(var(--switch-thumb-translate))}.c15t-track-OlfR7:active .c15t-thumb-JukBu{transform:scale(.833)}.c15t-thumb-disabled-s9gXH{box-shadow:none}.c15t-root-qh0zR[data-state=checked] .c15t-thumb-disabled-s9gXH{transform:translateX(var(--switch-thumb-translate))}.c15t-root-qh0zR:focus-visible{box-shadow:var(--switch-focus-shadow);outline:none}.c15t-dark .c15t-root-qh0zR:focus-visible{box-shadow:var(--switch-focus-shadow-dark)}}
|
package/dist/headless.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"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
|
|
1
|
+
"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_require__={};__webpack_require__.d=(e,r)=>{for(var a in r)__webpack_require__.o(r,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>use_color_scheme_cjs_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>external_c15t_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>external_c15t_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>external_c15t_namespaceObject.prepareTranslationConfig,useFocusTrap:()=>use_focus_trap_cjs_namespaceObject.useFocusTrap,useTranslations:()=>use_translations_cjs_namespaceObject.useTranslations,detectBrowserLanguage:()=>external_c15t_namespaceObject.detectBrowserLanguage,configureConsentManager:()=>external_c15t_namespaceObject.configureConsentManager,useConsentManager:()=>use_consent_manager_cjs_namespaceObject.useConsentManager,ConsentManagerProvider:()=>consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider});let consent_manager_provider_cjs_namespaceObject=require("./providers/consent-manager-provider.cjs"),use_consent_manager_cjs_namespaceObject=require("./hooks/use-consent-manager.cjs"),use_translations_cjs_namespaceObject=require("./hooks/use-translations.cjs"),use_color_scheme_cjs_namespaceObject=require("./hooks/use-color-scheme.cjs"),use_focus_trap_cjs_namespaceObject=require("./hooks/use-focus-trap.cjs"),external_c15t_namespaceObject=require("c15t");for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useTranslations=__webpack_exports__.useTranslations,__webpack_exports__)-1===["ConsentManagerProvider","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useFocusTrap","useTranslations"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/headless.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ export { useConsentManager } from './hooks/use-consent-manager';
|
|
|
3
3
|
export { useTranslations } from './hooks/use-translations';
|
|
4
4
|
export { useColorScheme } from './hooks/use-color-scheme';
|
|
5
5
|
export { useFocusTrap } from './hooks/use-focus-trap';
|
|
6
|
-
export { configureConsentManager, type ConsentManagerInterface, } from 'c15t';
|
|
6
|
+
export { configureConsentManager, type ConsentManagerInterface, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from 'c15t';
|
|
7
7
|
export type { ConsentManagerProviderProps, ConsentManagerOptions, } from './types/consent-manager';
|
|
8
|
-
export * from './utils/translations';
|
|
9
8
|
//# sourceMappingURL=headless.d.ts.map
|
package/dist/headless.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../src/headless.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,EAE5B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,MAAM,CAAC;AAGd,YAAY,EACX,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,yBAAyB,CAAC"}
|
package/dist/headless.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as e from"./providers/consent-manager-provider.js";import*as a from"./hooks/use-consent-manager.js";import*as s from"./hooks/use-translations.js";import*as o from"./hooks/use-color-scheme.js";import*as r from"./hooks/use-focus-trap.js";import*as n from"c15t";var t=e.ConsentManagerProvider,_=n.configureConsentManager,p=n.defaultTranslationConfig,i=n.detectBrowserLanguage,g=n.mergeTranslationConfigs,u=n.prepareTranslationConfig,c=o.useColorScheme,f=a.useConsentManager,m=r.useFocusTrap,C=s.useTranslations;export{t as ConsentManagerProvider,_ as configureConsentManager,p as defaultTranslationConfig,i as detectBrowserLanguage,g as mergeTranslationConfigs,u as prepareTranslationConfig,c as useColorScheme,f as useConsentManager,m as useFocusTrap,C as useTranslations};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"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 external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),external_use_color_scheme_cjs_namespaceObject=require("../use-color-scheme.cjs");for(var __webpack_i__ in(0,external_vitest_namespaceObject.describe)("useColorScheme",()=>{let e,t,c;(0,external_vitest_namespaceObject.beforeEach)(()=>{document.documentElement.classList.remove("c15t-dark","dark"),e={matches:!1,addEventListener:external_vitest_namespaceObject.vi.fn(),removeEventListener:external_vitest_namespaceObject.vi.fn(),addListener:external_vitest_namespaceObject.vi.fn(),removeListener:external_vitest_namespaceObject.vi.fn(),dispatchEvent:external_vitest_namespaceObject.vi.fn(),onchange:null,media:"(prefers-color-scheme: dark)"},external_vitest_namespaceObject.vi.spyOn(window,"matchMedia").mockImplementation(()=>e),t=external_vitest_namespaceObject.vi.spyOn(e,"addEventListener"),c=external_vitest_namespaceObject.vi.spyOn(e,"removeEventListener")}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.restoreAllMocks()}),(0,external_vitest_namespaceObject.test)("sets light theme correctly",()=>{(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)("light")),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!1)}),(0,external_vitest_namespaceObject.test)("sets dark theme correctly",()=>{(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)("dark")),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,external_vitest_namespaceObject.test)("responds to system preference",()=>{e.matches=!0,(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)("system")),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0),(0,external_vitest_namespaceObject.expect)(t).toHaveBeenCalledWith("change",external_vitest_namespaceObject.expect.any(Function))}),(0,external_vitest_namespaceObject.test)("cleans up system preference listener on unmount",()=>{let{unmount:e}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)("system"));e(),(0,external_vitest_namespaceObject.expect)(c).toHaveBeenCalled()}),(0,external_vitest_namespaceObject.test)("updates theme when system preference changes",()=>{(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)("system"));let e=t.mock.calls,c=e[0]?.[1];if(!c)throw Error("Callback not found");c({matches:!0}),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,external_vitest_namespaceObject.test)("handles default theme based on document class",()=>{document.documentElement.classList.add("dark"),(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)(null)),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,external_vitest_namespaceObject.test)("updates theme when default theme changes",async()=>{(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_color_scheme_cjs_namespaceObject.useColorScheme)(null)),document.documentElement.classList.add("dark"),await new Promise(e=>setTimeout(e,0)),(0,external_vitest_namespaceObject.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-color-scheme.test.d.ts","sourceRoot":"","sources":["../../../src/hooks/__tests__/use-color-scheme.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"vitest";import*as t from"vitest-browser-react";import*as s from"../use-color-scheme.js";(0,e.describe)("useColorScheme",()=>{let o,n,c;(0,e.beforeEach)(()=>{document.documentElement.classList.remove("c15t-dark","dark"),o={matches:!1,addEventListener:e.vi.fn(),removeEventListener:e.vi.fn(),addListener:e.vi.fn(),removeListener:e.vi.fn(),dispatchEvent:e.vi.fn(),onchange:null,media:"(prefers-color-scheme: dark)"},e.vi.spyOn(window,"matchMedia").mockImplementation(()=>o),n=e.vi.spyOn(o,"addEventListener"),c=e.vi.spyOn(o,"removeEventListener")}),(0,e.afterEach)(()=>{e.vi.restoreAllMocks()}),(0,e.test)("sets light theme correctly",()=>{(0,t.renderHook)(()=>(0,s.useColorScheme)("light")),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!1)}),(0,e.test)("sets dark theme correctly",()=>{(0,t.renderHook)(()=>(0,s.useColorScheme)("dark")),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,e.test)("responds to system preference",()=>{o.matches=!0,(0,t.renderHook)(()=>(0,s.useColorScheme)("system")),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0),(0,e.expect)(n).toHaveBeenCalledWith("change",e.expect.any(Function))}),(0,e.test)("cleans up system preference listener on unmount",()=>{let{unmount:o}=(0,t.renderHook)(()=>(0,s.useColorScheme)("system"));o(),(0,e.expect)(c).toHaveBeenCalled()}),(0,e.test)("updates theme when system preference changes",()=>{(0,t.renderHook)(()=>(0,s.useColorScheme)("system"));let o=n.mock.calls,c=o[0]?.[1];if(!c)throw Error("Callback not found");c({matches:!0}),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,e.test)("handles default theme based on document class",()=>{document.documentElement.classList.add("dark"),(0,t.renderHook)(()=>(0,s.useColorScheme)(null)),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)}),(0,e.test)("updates theme when default theme changes",async()=>{(0,t.renderHook)(()=>(0,s.useColorScheme)(null)),document.documentElement.classList.add("dark"),await new Promise(e=>setTimeout(e,0)),(0,e.expect)(document.documentElement.classList.contains("c15t-dark")).toBe(!0)})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"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.test)("returns English translations by default",()=>{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})});(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.consentManagerWidget.title).toBe("Privacy Preferences"),(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",()=>{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:{cookieBanner:{title:"German Title",description:"German Description"},consentManagerDialog:{title:"German Dialog Title"},consentManagerWidget:{title:"German Widget Title"},consentTypes:{necessary:{title:"German Necessary",description:"German Necessary Description"}}}}}},children:e})});(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.consentManagerWidget.title).toBe("German Widget Title"),(0,external_vitest_namespaceObject.expect)(e.current.consentTypes?.necessary?.title).toBe("German Necessary")}),(0,external_vitest_namespaceObject.test)("merges custom translations with defaults",()=>{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})});(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.consentManagerWidget.title).toBe("Privacy Preferences")}),(0,external_vitest_namespaceObject.test)("falls back to English when selected language is not available",()=>{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})});(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.consentManagerWidget.title).toBe("Privacy Preferences")}),(0,external_vitest_namespaceObject.test)("Custom English instead of English when German is selected",()=>{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:{cookieBanner:{title:"Custom English Title",description:"Custom English Description"},consentManagerDialog:{title:"Custom English Dialog Title"},consentManagerWidget:{title:"Custom English Widget Title"},consentTypes:{necessary:{title:"Custom English Necessary",description:"Custom English Necessary Description"}}}}}},children:e})});(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.consentManagerWidget.title).toBe("Custom English Widget 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});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-translations.test.d.ts","sourceRoot":"","sources":["../../../src/hooks/__tests__/use-translations.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as n from"vitest-browser-react";import*as r from"../../providers/consent-manager-provider.js";import*as o from"../use-translations.js";(0,t.describe)("useTranslations",()=>{(0,t.test)("returns English translations by default",()=>{let{result:i}=(0,n.renderHook)(()=>(0,o.useTranslations)(),{wrapper:({children:t})=>(0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1}},children:t})});(0,t.expect)(i.current.cookieBanner.title).toBe("We value your privacy"),(0,t.expect)(i.current.cookieBanner.description).toBe("This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content."),(0,t.expect)(i.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,t.expect)(i.current.consentManagerWidget.title).toBe("Privacy Preferences"),(0,t.expect)(i.current.consentTypes?.necessary?.title).toBe("Strictly Necessary")}),(0,t.test)("returns German translations instead of English when German is selected",()=>{let{result:i}=(0,n.renderHook)(()=>(0,o.useTranslations)(),{wrapper:({children:t})=>(0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"de",disableAutoLanguageSwitch:!0,translations:{de:{cookieBanner:{title:"German Title",description:"German Description"},consentManagerDialog:{title:"German Dialog Title"},consentManagerWidget:{title:"German Widget Title"},consentTypes:{necessary:{title:"German Necessary",description:"German Necessary Description"}}}}}},children:t})});(0,t.expect)(i.current.cookieBanner.title).toBe("German Title"),(0,t.expect)(i.current.cookieBanner.description).toBe("German Description"),(0,t.expect)(i.current.consentManagerDialog.title).toBe("German Dialog Title"),(0,t.expect)(i.current.consentManagerWidget.title).toBe("German Widget Title"),(0,t.expect)(i.current.consentTypes?.necessary?.title).toBe("German Necessary")}),(0,t.test)("merges custom translations with defaults",()=>{let i={translations:{en:{cookieBanner:{title:"Custom Cookie Settings",description:"Custom Description"}}}},{result:s}=(0,n.renderHook)(()=>(0,o.useTranslations)(),{wrapper:({children:t})=>(0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:i},children:t})});(0,t.expect)(s.current.cookieBanner.title).toBe("Custom Cookie Settings"),(0,t.expect)(s.current.cookieBanner.description).toBe("Custom Description"),(0,t.expect)(s.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,t.expect)(s.current.consentManagerWidget.title).toBe("Privacy Preferences")}),(0,t.test)("falls back to English when selected language is not available",()=>{let{result:i}=(0,n.renderHook)(()=>(0,o.useTranslations)(),{wrapper:({children:t})=>(0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"fr"}},children:t})});(0,t.expect)(i.current.cookieBanner.title).toBe("We value your privacy"),(0,t.expect)(i.current.cookieBanner.description).toBe("This site uses cookies to improve your browsing experience, analyze site traffic, and show personalized content."),(0,t.expect)(i.current.consentManagerDialog.title).toBe("Privacy Settings"),(0,t.expect)(i.current.consentManagerWidget.title).toBe("Privacy Preferences")}),(0,t.test)("Custom English instead of English when German is selected",()=>{let{result:i}=(0,n.renderHook)(()=>(0,o.useTranslations)(),{wrapper:({children:t})=>(0,e.jsx)(r.ConsentManagerProvider,{options:{mode:"offline",react:{noStyle:!1},translations:{defaultLanguage:"en",disableAutoLanguageSwitch:!0,translations:{en:{cookieBanner:{title:"Custom English Title",description:"Custom English Description"},consentManagerDialog:{title:"Custom English Dialog Title"},consentManagerWidget:{title:"Custom English Widget Title"},consentTypes:{necessary:{title:"Custom English Necessary",description:"Custom English Necessary Description"}}}}}},children:t})});(0,t.expect)(i.current.cookieBanner.title).toBe("Custom English Title"),(0,t.expect)(i.current.cookieBanner.description).toBe("Custom English Description"),(0,t.expect)(i.current.consentManagerDialog.title).toBe("Custom English Dialog Title"),(0,t.expect)(i.current.consentManagerWidget.title).toBe("Custom English Widget Title"),(0,t.expect)(i.current.consentTypes?.necessary?.title).toBe("Custom English Necessary")})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"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_require__={};__webpack_require__.d=(e,
|
|
1
|
+
"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_require__={};__webpack_require__.d=(e,t)=>{for(var _ in t)__webpack_require__.o(t,_)&&!__webpack_require__.o(e,_)&&Object.defineProperty(e,_,{enumerable:!0,get:t[_]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>useColorScheme});let external_react_namespaceObject=require("react");function useColorScheme(e){(0,external_react_namespaceObject.useEffect)(()=>{let t=window.matchMedia("(prefers-color-scheme: dark)"),_=document.documentElement.classList.contains("dark"),r=e=>{document.documentElement.classList.toggle("c15t-dark",e.matches)},c=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"class"===t.attributeName){let e=document.documentElement.classList.contains("dark");document.documentElement.classList.toggle("c15t-dark",e)}});switch(e){case"light":document.documentElement.classList.remove("c15t-dark");break;case"dark":document.documentElement.classList.add("c15t-dark");break;case"system":document.documentElement.classList.toggle("c15t-dark",t.matches),t.addEventListener("change",r);break;default:document.documentElement.classList.toggle("c15t-dark",_),c.observe(document.documentElement,{attributes:!0})}return()=>{t.removeEventListener("change",r),c.disconnect()}},[e])}for(var __webpack_i__ in exports.useColorScheme=__webpack_exports__.useColorScheme,__webpack_exports__)-1===["useColorScheme"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ColorScheme = 'light' | 'dark' | 'system';
|
|
1
|
+
export type ColorScheme = 'light' | 'dark' | 'system' | null;
|
|
2
2
|
/**
|
|
3
3
|
* Manage color scheme preferences for components
|
|
4
4
|
*
|
|
@@ -12,5 +12,5 @@ export type ColorScheme = 'light' | 'dark' | 'system';
|
|
|
12
12
|
* }
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
export declare function useColorScheme(colorScheme
|
|
15
|
+
export declare function useColorScheme(colorScheme?: ColorScheme): void;
|
|
16
16
|
//# sourceMappingURL=use-color-scheme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-color-scheme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-color-scheme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"use-color-scheme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-color-scheme.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE7D;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,QAyDvD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";function t(t){(0,e.useEffect)(()=>{let e=
|
|
1
|
+
import*as e from"react";function t(t){(0,e.useEffect)(()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),c=document.documentElement.classList.contains("dark"),s=e=>{document.documentElement.classList.toggle("c15t-dark",e.matches)},n=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"class"===t.attributeName){let e=document.documentElement.classList.contains("dark");document.documentElement.classList.toggle("c15t-dark",e)}});switch(t){case"light":document.documentElement.classList.remove("c15t-dark");break;case"dark":document.documentElement.classList.add("c15t-dark");break;case"system":document.documentElement.classList.toggle("c15t-dark",e.matches),e.addEventListener("change",s);break;default:document.documentElement.classList.toggle("c15t-dark",c),n.observe(document.documentElement,{attributes:!0})}return()=>{e.removeEventListener("change",s),n.disconnect()}},[t])}export{t as useColorScheme};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"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
|
|
1
|
+
"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_require__={};__webpack_require__.d=(e,a)=>{for(var n in a)__webpack_require__.o(a,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:a[n]})},__webpack_require__.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useColorScheme:()=>use_color_scheme_cjs_namespaceObject.useColorScheme,mergeTranslationConfigs:()=>external_c15t_namespaceObject.mergeTranslationConfigs,defaultTranslationConfig:()=>external_c15t_namespaceObject.defaultTranslationConfig,prepareTranslationConfig:()=>external_c15t_namespaceObject.prepareTranslationConfig,ConsentManagerWidget:()=>consent_manager_widget_cjs_namespaceObject.ConsentManagerWidget,useFocusTrap:()=>use_focus_trap_cjs_namespaceObject.useFocusTrap,detectBrowserLanguage:()=>external_c15t_namespaceObject.detectBrowserLanguage,CookieBanner:()=>cookie_banner_cjs_namespaceObject.CookieBanner,configureConsentManager:()=>external_c15t_namespaceObject.configureConsentManager,useConsentManager:()=>use_consent_manager_cjs_namespaceObject.useConsentManager,useTranslations:()=>use_translations_cjs_namespaceObject.useTranslations,ConsentManagerProvider:()=>consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,ConsentManagerDialog:()=>consent_manager_dialog_cjs_namespaceObject.ConsentManagerDialog});let cookie_banner_cjs_namespaceObject=require("./components/cookie-banner/cookie-banner.cjs"),consent_manager_widget_cjs_namespaceObject=require("./components/consent-manager-widget/consent-manager-widget.cjs"),consent_manager_dialog_cjs_namespaceObject=require("./components/consent-manager-dialog/consent-manager-dialog.cjs"),consent_manager_provider_cjs_namespaceObject=require("./providers/consent-manager-provider.cjs"),use_consent_manager_cjs_namespaceObject=require("./hooks/use-consent-manager.cjs"),use_translations_cjs_namespaceObject=require("./hooks/use-translations.cjs"),use_color_scheme_cjs_namespaceObject=require("./hooks/use-color-scheme.cjs"),use_focus_trap_cjs_namespaceObject=require("./hooks/use-focus-trap.cjs"),external_c15t_namespaceObject=require("c15t");for(var __webpack_i__ in exports.ConsentManagerDialog=__webpack_exports__.ConsentManagerDialog,exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,exports.ConsentManagerWidget=__webpack_exports__.ConsentManagerWidget,exports.CookieBanner=__webpack_exports__.CookieBanner,exports.configureConsentManager=__webpack_exports__.configureConsentManager,exports.defaultTranslationConfig=__webpack_exports__.defaultTranslationConfig,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,exports.prepareTranslationConfig=__webpack_exports__.prepareTranslationConfig,exports.useColorScheme=__webpack_exports__.useColorScheme,exports.useConsentManager=__webpack_exports__.useConsentManager,exports.useFocusTrap=__webpack_exports__.useFocusTrap,exports.useTranslations=__webpack_exports__.useTranslations,__webpack_exports__)-1===["ConsentManagerDialog","ConsentManagerProvider","ConsentManagerWidget","CookieBanner","configureConsentManager","defaultTranslationConfig","detectBrowserLanguage","mergeTranslationConfigs","prepareTranslationConfig","useColorScheme","useConsentManager","useFocusTrap","useTranslations"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ export { useConsentManager } from './hooks/use-consent-manager';
|
|
|
9
9
|
export { useTranslations } from './hooks/use-translations';
|
|
10
10
|
export { useColorScheme } from './hooks/use-color-scheme';
|
|
11
11
|
export { useFocusTrap } from './hooks/use-focus-trap';
|
|
12
|
-
export { configureConsentManager, type ConsentManagerInterface, } from 'c15t';
|
|
12
|
+
export { configureConsentManager, type ConsentManagerInterface, prepareTranslationConfig, defaultTranslationConfig, mergeTranslationConfigs, detectBrowserLanguage, } from 'c15t';
|
|
13
13
|
export type { ConsentManagerProviderProps, ConsentManagerOptions, } from './types/consent-manager';
|
|
14
|
-
export * from './utils/translations';
|
|
15
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,YAAY,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EACN,uBAAuB,EACvB,KAAK,uBAAuB,EAE5B,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,MAAM,CAAC;AAGd,YAAY,EACX,2BAA2B,EAC3B,qBAAqB,GACrB,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"./components/cookie-banner/cookie-banner.js";import*as
|
|
1
|
+
import*as e from"./components/cookie-banner/cookie-banner.js";import*as a from"./components/consent-manager-widget/consent-manager-widget.js";import*as o from"./components/consent-manager-dialog/consent-manager-dialog.js";import*as n from"./providers/consent-manager-provider.js";import*as s from"./hooks/use-consent-manager.js";import*as r from"./hooks/use-translations.js";import*as t from"./hooks/use-color-scheme.js";import*as _ from"./hooks/use-focus-trap.js";import*as i from"c15t";var g=o.ConsentManagerDialog,p=n.ConsentManagerProvider,c=a.ConsentManagerWidget,m=e.CookieBanner,C=i.configureConsentManager,u=i.defaultTranslationConfig,f=i.detectBrowserLanguage,l=i.mergeTranslationConfigs,k=i.prepareTranslationConfig,d=t.useColorScheme,w=s.useConsentManager,b=_.useFocusTrap,M=r.useTranslations;export{g as ConsentManagerDialog,p as ConsentManagerProvider,c as ConsentManagerWidget,m as CookieBanner,C as configureConsentManager,u as defaultTranslationConfig,f as detectBrowserLanguage,l as mergeTranslationConfigs,k as prepareTranslationConfig,d as useColorScheme,w as useConsentManager,b as useFocusTrap,M as useTranslations};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"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"),external_index_cjs_namespaceObject=require("../../index.cjs"),mockFetch=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in window.fetch=mockFetch,(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Basic Request Behavior",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),mockFetch.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0}),{status:200,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should only make one initial request for consent banner status",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test Component"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should not make additional requests when props change but core options remain same",async()=>{mockFetch.mockClear();let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"light"}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Light theme"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"dark"}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Dark theme"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()}),(0,external_vitest_namespaceObject.it)("should make a new request when core options change",async()=>{let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"First URL"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-1/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object)),mockFetch.mockClear(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Second URL"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-2/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should handle rapid re-renders without making duplicate requests",async()=>{mockFetch.mockClear();let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Counter: 0"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();for(let t=1;t<=5;t++)e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsxs)("div",{children:["Counter: ",t]})})),await external_vitest_namespaceObject.vi.runAllTimersAsync();(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"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"),external_index_cjs_namespaceObject=require("../../index.cjs"),mockFetch=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in window.fetch=mockFetch,(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Basic Request Behavior",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers(),mockFetch.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0}),{status:200,headers:{"Content-Type":"application/json"}}))}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should only make one initial request for consent banner status",async()=>{(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test Component"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should not make additional requests when props change but core options remain same",async()=>{mockFetch.mockClear();let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"light"}}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Light theme"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Dark theme"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()}),(0,external_vitest_namespaceObject.it)("should make a new request when core options change",async()=>{let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"First URL"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledTimes(1),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-1/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object)),mockFetch.mockClear(),e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Second URL"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).toHaveBeenCalledWith(external_vitest_namespaceObject.expect.stringContaining("/api/c15t-2/show-consent-banner"),external_vitest_namespaceObject.expect.any(Object))}),(0,external_vitest_namespaceObject.it)("should handle rapid re-renders without making duplicate requests",async()=>{mockFetch.mockClear();let{rerender:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Counter: 0"})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled();for(let t=1;t<=5;t++)e((0,jsx_runtime_namespaceObject.jsx)(external_index_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline"},children:(0,jsx_runtime_namespaceObject.jsxs)("div",{children:["Counter: ",t]})})),await external_vitest_namespaceObject.vi.runAllTimersAsync();(0,external_vitest_namespaceObject.expect)(mockFetch).not.toHaveBeenCalled()})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as n from"vitest";import*as t from"vitest-browser-react";import*as i from"../../index.js";let r=n.vi.fn();window.fetch=r,(0,n.describe)("ConsentManagerProvider Basic Request Behavior",()=>{(0,n.beforeEach)(()=>{n.vi.resetAllMocks(),n.vi.useFakeTimers(),r.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0}),{status:200,headers:{"Content-Type":"application/json"}}))}),(0,n.afterEach)(()=>{n.vi.clearAllMocks(),n.vi.useRealTimers()}),(0,n.it)("should only make one initial request for consent banner status",async()=>{(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,e.jsx)("div",{children:"Test Component"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledTimes(1),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t/show-consent-banner"),n.expect.any(Object))}),(0,n.it)("should not make additional requests when props change but core options remain same",async()=>{r.mockClear();let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"light"}},children:(0,e.jsx)("div",{children:"Light theme"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled(),a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"dark"}},children:(0,e.jsx)("div",{children:"Dark theme"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled()}),(0,n.it)("should make a new request when core options change",async()=>{let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:(0,e.jsx)("div",{children:"First URL"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledTimes(1),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t-1/show-consent-banner"),n.expect.any(Object)),r.mockClear(),a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:(0,e.jsx)("div",{children:"Second URL"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t-2/show-consent-banner"),n.expect.any(Object))}),(0,n.it)("should handle rapid re-renders without making duplicate requests",async()=>{r.mockClear();let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline"},children:(0,e.jsx)("div",{children:"Counter: 0"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled();for(let t=1;t<=5;t++)a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline"},children:(0,e.jsxs)("div",{children:["Counter: ",t]})})),await n.vi.runAllTimersAsync();(0,n.expect)(r).not.toHaveBeenCalled()})});
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as n from"vitest";import*as t from"vitest-browser-react";import*as i from"../../index.js";let r=n.vi.fn();window.fetch=r,(0,n.describe)("ConsentManagerProvider Basic Request Behavior",()=>{(0,n.beforeEach)(()=>{n.vi.resetAllMocks(),n.vi.useFakeTimers(),r.mockResolvedValue(new Response(JSON.stringify({showConsentBanner:!0}),{status:200,headers:{"Content-Type":"application/json"}}))}),(0,n.afterEach)(()=>{n.vi.clearAllMocks(),n.vi.useRealTimers()}),(0,n.it)("should only make one initial request for consent banner status",async()=>{(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t"},children:(0,e.jsx)("div",{children:"Test Component"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledTimes(1),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t/show-consent-banner"),n.expect.any(Object))}),(0,n.it)("should not make additional requests when props change but core options remain same",async()=>{r.mockClear();let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"light"}}},children:(0,e.jsx)("div",{children:"Light theme"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled(),a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,e.jsx)("div",{children:"Dark theme"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled()}),(0,n.it)("should make a new request when core options change",async()=>{let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-1"},children:(0,e.jsx)("div",{children:"First URL"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledTimes(1),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t-1/show-consent-banner"),n.expect.any(Object)),r.mockClear(),a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"c15t",backendURL:"/api/c15t-2"},children:(0,e.jsx)("div",{children:"Second URL"})})),await n.vi.runAllTimersAsync(),(0,n.expect)(r).toHaveBeenCalledWith(n.expect.stringContaining("/api/c15t-2/show-consent-banner"),n.expect.any(Object))}),(0,n.it)("should handle rapid re-renders without making duplicate requests",async()=>{r.mockClear();let{rerender:a}=(0,t.render)((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline"},children:(0,e.jsx)("div",{children:"Counter: 0"})}));await n.vi.runAllTimersAsync(),(0,n.expect)(r).not.toHaveBeenCalled();for(let t=1;t<=5;t++)a((0,e.jsx)(i.ConsentManagerProvider,{options:{mode:"offline"},children:(0,e.jsxs)("div",{children:["Counter: ",t]})})),await n.vi.runAllTimersAsync();(0,n.expect)(r).not.toHaveBeenCalled()})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"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"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockConfigureConsentManager:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>(e(t),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let modifyContextShowPopup=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,modifyContextShowPopup(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:"dark"}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"show-popup",children:e.showPopup?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:e.showPopup})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,external_vitest_namespaceObject.it)("should execute callbacks when provided",async()=>{let t=external_vitest_namespaceObject.vi.fn();(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:t}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalled()},{timeout:3e3});let a=e.mock.calls[0];if((0,external_vitest_namespaceObject.expect)(a).toBeDefined(),a){let e=a[0];(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("callbacks"),(0,external_vitest_namespaceObject.expect)(e.callbacks).toHaveProperty("onConsentSet",t)}})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
1
|
+
"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"),use_consent_manager_cjs_namespaceObject=require("../../hooks/use-consent-manager.cjs"),external_consent_manager_provider_cjs_namespaceObject=require("../consent-manager-provider.cjs"),external_test_helpers_cjs_namespaceObject=require("./test-helpers.cjs"),{mockConfigureConsentManager:e}=(0,external_test_helpers_cjs_namespaceObject.setupMocks)();external_vitest_namespaceObject.vi.mock("c15t",async()=>({...await external_vitest_namespaceObject.vi.importActual("c15t"),configureConsentManager:t=>(e(t),{getCallbacks:()=>t.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let modifyContextShowPopup=external_vitest_namespaceObject.vi.fn();for(var __webpack_i__ in external_vitest_namespaceObject.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await external_vitest_namespaceObject.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,modifyContextShowPopup(),t}}}),(0,external_vitest_namespaceObject.describe)("ConsentManagerProvider Context Values",()=>{(0,external_vitest_namespaceObject.beforeEach)(()=>{external_vitest_namespaceObject.vi.resetAllMocks(),external_vitest_namespaceObject.vi.useFakeTimers()}),(0,external_vitest_namespaceObject.afterEach)(()=>{external_vitest_namespaceObject.vi.clearAllMocks(),external_vitest_namespaceObject.vi.useRealTimers()}),(0,external_vitest_namespaceObject.it)("should provide correct context values to children",async()=>{let{getByTestId:e}=(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,jsx_runtime_namespaceObject.jsx)(()=>{let e=(0,use_consent_manager_cjs_namespaceObject.useConsentManager)();return(0,jsx_runtime_namespaceObject.jsxs)("div",{children:[(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"has-manager",children:(!!e.manager).toString()}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"show-popup",children:e.showPopup?"true":"false"}),(0,jsx_runtime_namespaceObject.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:e.showPopup})})]})},{})}));await external_vitest_namespaceObject.vi.runAllTimersAsync(),(0,external_vitest_namespaceObject.expect)(modifyContextShowPopup).toHaveBeenCalled(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e("has-manager")).toHaveTextContent("true"),(0,external_vitest_namespaceObject.expect)(e("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,external_vitest_namespaceObject.it)("should execute callbacks when provided",async()=>{let t=external_vitest_namespaceObject.vi.fn();(0,external_vitest_browser_react_namespaceObject.render)((0,jsx_runtime_namespaceObject.jsx)(external_consent_manager_provider_cjs_namespaceObject.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:t}},children:(0,jsx_runtime_namespaceObject.jsx)("div",{children:"Test"})})),await external_vitest_namespaceObject.vi.runAllTimersAsync(),await external_vitest_namespaceObject.vi.waitFor(()=>{(0,external_vitest_namespaceObject.expect)(e).toHaveBeenCalled()},{timeout:3e3});let a=e.mock.calls[0];if((0,external_vitest_namespaceObject.expect)(a).toBeDefined(),a){let e=a[0];(0,external_vitest_namespaceObject.expect)(e).toHaveProperty("callbacks"),(0,external_vitest_namespaceObject.expect)(e.callbacks).toHaveProperty("onConsentSet",t)}})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as
|
|
1
|
+
import*as e from"react/jsx-runtime";import*as t from"vitest";import*as a from"vitest-browser-react";import*as s from"../../hooks/use-consent-manager.js";import*as o from"../consent-manager-provider.js";import*as n from"./test-helpers.js";let{mockConfigureConsentManager:r}=(0,n.setupMocks)();t.vi.mock("c15t",async()=>({...await t.vi.importActual("c15t"),configureConsentManager:e=>(r(e),{getCallbacks:()=>e.callbacks||{},showConsentBanner:async()=>({ok:!0,data:{showConsentBanner:!0},error:null,response:null}),setConsent:async()=>({ok:!0,data:{success:!0},error:null,response:null}),verifyConsent:async()=>({ok:!0,data:{valid:!0},error:null,response:null})})}));let i=t.vi.fn();t.vi.mock("../../hooks/use-consent-manager",async()=>{let e=await t.vi.importActual("../../hooks/use-consent-manager");return{...e,useConsentManager:()=>{let t=e.useConsentManager();return t.showPopup=!0,i(),t}}}),(0,t.describe)("ConsentManagerProvider Context Values",()=>{(0,t.beforeEach)(()=>{t.vi.resetAllMocks(),t.vi.useFakeTimers()}),(0,t.afterEach)(()=>{t.vi.clearAllMocks(),t.vi.useRealTimers()}),(0,t.it)("should provide correct context values to children",async()=>{let{getByTestId:n}=(0,a.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",react:{theme:{"banner.root":"dark"}}},children:(0,e.jsx)(()=>{let t=(0,s.useConsentManager)();return(0,e.jsxs)("div",{children:[(0,e.jsx)("div",{"data-testid":"has-manager",children:(!!t.manager).toString()}),(0,e.jsx)("div",{"data-testid":"show-popup",children:t.showPopup?"true":"false"}),(0,e.jsx)("div",{"data-testid":"debug-state",children:JSON.stringify({showPopup:t.showPopup})})]})},{})}));await t.vi.runAllTimersAsync(),(0,t.expect)(i).toHaveBeenCalled(),await t.vi.waitFor(()=>{(0,t.expect)(n("has-manager")).toHaveTextContent("true"),(0,t.expect)(n("show-popup")).toHaveTextContent("true")},{timeout:3e3})}),(0,t.it)("should execute callbacks when provided",async()=>{let s=t.vi.fn();(0,a.render)((0,e.jsx)(o.ConsentManagerProvider,{options:{mode:"offline",callbacks:{onConsentSet:s}},children:(0,e.jsx)("div",{children:"Test"})})),await t.vi.runAllTimersAsync(),await t.vi.waitFor(()=>{(0,t.expect)(r).toHaveBeenCalled()},{timeout:3e3});let n=r.mock.calls[0];if((0,t.expect)(n).toBeDefined(),n){let e=n[0];(0,t.expect)(e).toHaveProperty("callbacks"),(0,t.expect)(e.callbacks).toHaveProperty("onConsentSet",s)}})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
"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_require__={};__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>ConsentManagerProvider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_react_namespaceObject=require("react"),consent_manager_context_cjs_namespaceObject=require("../context/consent-manager-context.cjs"),theme_context_cjs_namespaceObject=require("../context/theme-context.cjs"),use_color_scheme_cjs_namespaceObject=require("../hooks/use-color-scheme.cjs")
|
|
2
|
+
"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_require__={};__webpack_require__.d=(e,t)=>{for(var r in t)__webpack_require__.o(t,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{ConsentManagerProvider:()=>ConsentManagerProvider});let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_c15t_namespaceObject=require("c15t"),external_react_namespaceObject=require("react"),consent_manager_context_cjs_namespaceObject=require("../context/consent-manager-context.cjs"),theme_context_cjs_namespaceObject=require("../context/theme-context.cjs"),use_color_scheme_cjs_namespaceObject=require("../hooks/use-color-scheme.cjs");function ConsentManagerProvider({children:e,options:t}){let{mode:r,backendURL:n,callbacks:a,store:c={},translations:_,react:o={}}=t,{initialGdprTypes:s,initialComplianceSettings:i}=c,{theme:u,disableAnimation:p=!1,scrollLock:l=!1,trapFocus:m=!0,colorScheme:b,noStyle:j=!1}=o,d=(0,external_react_namespaceObject.useMemo)(()=>(0,external_c15t_namespaceObject.prepareTranslationConfig)(external_c15t_namespaceObject.defaultTranslationConfig,_),[_]),x=(0,external_react_namespaceObject.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===r||"offline"===r)&&(n?.includes("c15t.dev")||window.location.hostname.includes("c15t.dev"))),[r,n]),f=(0,external_react_namespaceObject.useMemo)(()=>"offline"===r?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"offline",callbacks:a,store:c}):"custom"===r&&"endpointHandlers"in t?(0,external_c15t_namespaceObject.configureConsentManager)({mode:"custom",endpointHandlers:t.endpointHandlers,callbacks:a,store:c}):(0,external_c15t_namespaceObject.configureConsentManager)({mode:"c15t",backendURL:n||"/api/c15t",callbacks:a,store:c}),[r,n,a,c,t]),O=(0,external_react_namespaceObject.useRef)(null),g=(0,external_react_namespaceObject.useRef)(n),w=(0,external_react_namespaceObject.useRef)(r),k=(0,external_react_namespaceObject.useMemo)(()=>{let e={...c,translationConfig:d,isConsentDomain:x},t=!O.current||g.current!==n||w.current!==r;return g.current=n,w.current=r,t&&(O.current=(0,external_c15t_namespaceObject.createConsentManagerStore)(f,e)),O.current},[f,x,d,c,n,r]),[v,M]=(0,external_react_namespaceObject.useState)(()=>k?k.getState():{});(0,external_react_namespaceObject.useEffect)(()=>{if(!k)return;let{setGdprTypes:e,setComplianceSetting:t,setDetectedCountry:r}=k.getState();if(s&&e(s),i)for(let[e,r]of Object.entries(i))t(e,r);return r(document.querySelector('meta[name="user-country"]')?.getAttribute("content")||"US"),k.subscribe(M)},[k,s,i]);let C=(0,external_react_namespaceObject.useMemo)(()=>({theme:u,noStyle:j,disableAnimation:p,scrollLock:l,trapFocus:m,colorScheme:b}),[u,j,p,l,m,b]);(0,use_color_scheme_cjs_namespaceObject.useColorScheme)(b);let h=(0,external_react_namespaceObject.useMemo)(()=>{if(!k)throw Error("Consent store must be initialized before creating context value");return{state:v,store:k,manager:f}},[v,k,f]);return(0,jsx_runtime_namespaceObject.jsx)(consent_manager_context_cjs_namespaceObject.ConsentStateContext.Provider,{value:h,children:(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:C,children:e})})}for(var __webpack_i__ in exports.ConsentManagerProvider=__webpack_exports__.ConsentManagerProvider,__webpack_exports__)-1===["ConsentManagerProvider"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-manager-provider.d.ts","sourceRoot":"","sources":["../../src/providers/consent-manager-provider.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"consent-manager-provider.d.ts","sourceRoot":"","sources":["../../src/providers/consent-manager-provider.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,OAAO,GACP,EAAE,2BAA2B,2CAiM7B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import*as e from"react/jsx-runtime";import*as t from"c15t";import*as n from"react";import*as r from"../context/consent-manager-context.js";import*as o from"../context/theme-context.js";import*as s from"../hooks/use-color-scheme.js";
|
|
2
|
+
import*as e from"react/jsx-runtime";import*as t from"c15t";import*as n from"react";import*as r from"../context/consent-manager-context.js";import*as o from"../context/theme-context.js";import*as s from"../hooks/use-color-scheme.js";function a({children:a,options:i}){let{mode:u,backendURL:c,callbacks:m,store:f={},translations:l,react:d={}}=i,{initialGdprTypes:g,initialComplianceSettings:p}=f,{theme:C,disableAnimation:x=!1,scrollLock:M=!1,trapFocus:h=!0,colorScheme:b,noStyle:v=!1}=d,S=(0,n.useMemo)(()=>(0,t.prepareTranslationConfig)(t.defaultTranslationConfig,l),[l]),j=(0,n.useMemo)(()=>"undefined"!=typeof window&&!!(("c15t"===u||"offline"===u)&&(c?.includes("c15t.dev")||window.location.hostname.includes("c15t.dev"))),[u,c]),w=(0,n.useMemo)(()=>"offline"===u?(0,t.configureConsentManager)({mode:"offline",callbacks:m,store:f}):"custom"===u&&"endpointHandlers"in i?(0,t.configureConsentManager)({mode:"custom",endpointHandlers:i.endpointHandlers,callbacks:m,store:f}):(0,t.configureConsentManager)({mode:"c15t",backendURL:c||"/api/c15t",callbacks:m,store:f}),[u,c,m,f,i]),R=(0,n.useRef)(null),y=(0,n.useRef)(c),H=(0,n.useRef)(u),P=(0,n.useMemo)(()=>{let e={...f,translationConfig:S,isConsentDomain:j},n=!R.current||y.current!==c||H.current!==u;return y.current=c,H.current=u,n&&(R.current=(0,t.createConsentManagerStore)(w,e)),R.current},[w,j,S,f,c,u]),[T,k]=(0,n.useState)(()=>P?P.getState():{});(0,n.useEffect)(()=>{if(!P)return;let{setGdprTypes:e,setComplianceSetting:t,setDetectedCountry:n}=P.getState();if(g&&e(g),p)for(let[e,n]of Object.entries(p))t(e,n);return n(document.querySelector('meta[name="user-country"]')?.getAttribute("content")||"US"),P.subscribe(k)},[P,g,p]);let E=(0,n.useMemo)(()=>({theme:C,noStyle:v,disableAnimation:x,scrollLock:M,trapFocus:h,colorScheme:b}),[C,v,x,M,h,b]);(0,s.useColorScheme)(b);let U=(0,n.useMemo)(()=>{if(!P)throw Error("Consent store must be initialized before creating context value");return{state:T,store:P,manager:w}},[T,P,w]);return(0,e.jsx)(r.ConsentStateContext.Provider,{value:U,children:(0,e.jsx)(o.GlobalThemeContext.Provider,{value:E,children:a})})}export{a as ConsentManagerProvider};
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ConsentManagerOptions as CoreOptions, TranslationConfig } from 'c15t';
|
|
6
6
|
import type { ReactNode } from 'react';
|
|
7
|
+
import type { ConsentManagerDialogTheme } from '../components/consent-manager-dialog/theme';
|
|
8
|
+
import type { ConsentManagerWidgetTheme } from '../components/consent-manager-widget/theme';
|
|
9
|
+
import type { CookieBannerTheme } from '../components/cookie-banner/theme';
|
|
7
10
|
/**
|
|
8
11
|
* React-specific configuration options
|
|
9
12
|
*/
|
|
@@ -11,7 +14,7 @@ export interface ReactUIOptions {
|
|
|
11
14
|
/**
|
|
12
15
|
* Visual theme to apply.
|
|
13
16
|
*/
|
|
14
|
-
theme?:
|
|
17
|
+
theme?: CookieBannerTheme & ConsentManagerWidgetTheme & ConsentManagerDialogTheme;
|
|
15
18
|
/**
|
|
16
19
|
* Whether to disable animations.
|
|
17
20
|
* @default false
|
|
@@ -29,7 +32,8 @@ export interface ReactUIOptions {
|
|
|
29
32
|
trapFocus?: boolean;
|
|
30
33
|
/**
|
|
31
34
|
* Color scheme preference.
|
|
32
|
-
*
|
|
35
|
+
* With this option, you can force the theme to be light, dark or system.
|
|
36
|
+
* Otherwise, the theme will be detected if you have '.dark' classname in your document.
|
|
33
37
|
*/
|
|
34
38
|
colorScheme?: 'light' | 'dark' | 'system';
|
|
35
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consent-manager.d.ts","sourceRoot":"","sources":["../../src/types/consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,qBAAqB,IAAI,WAAW,EACpC,iBAAiB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"consent-manager.d.ts","sourceRoot":"","sources":["../../src/types/consent-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,qBAAqB,IAAI,WAAW,EACpC,iBAAiB,EACjB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,iBAAiB,GACxB,yBAAyB,GACzB,yBAAyB,CAAC;IAC3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IAE1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG;IACjD;;OAEG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC3C;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;OAGG;IACH,OAAO,EAAE,qBAAqB,CAAC;CAC/B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c15t/react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -68,12 +68,12 @@
|
|
|
68
68
|
"@radix-ui/react-switch": "1.1.4",
|
|
69
69
|
"clsx": "2.1.1",
|
|
70
70
|
"zustand": "^5.0.3",
|
|
71
|
-
"c15t": "1.
|
|
71
|
+
"c15t": "1.1.4"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@c15t/
|
|
74
|
+
"@c15t/backend": "1.0.5",
|
|
75
75
|
"@c15t/typescript-config": "0.0.1-beta.1",
|
|
76
|
-
"@c15t/
|
|
76
|
+
"@c15t/vitest-config": "1.0.0"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
79
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
"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_require__={};__webpack_require__.d=(e,r)=>{for(var n in r)__webpack_require__.o(r,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};function deepMergeTranslations(e,r){return["cookieBanner","consentManagerDialog","consentManagerWidget","consentTypes"].reduce((n,t)=>(n[t]={...e[t],...r[t]||{}},n),{})}function mergeTranslationConfigs(e,r){let n={...e.translations};if(r?.translations){for(let[t,_]of(r.translations.en&&(n.en=deepMergeTranslations(e.translations.en,r.translations.en)),Object.entries(r.translations)))if("en"!==t&&_){let e=n.en;n[t]=deepMergeTranslations(e,_)}}return{...e,...r,translations:n}}function detectBrowserLanguage(e,r,n=!1){if(n)return r||"en";let t=Object.keys(e).map(e=>e.toLowerCase());for(let e of"undefined"!=typeof window?navigator?.languages||[navigator?.language||"en"]:["en"]){let r=e.toLowerCase();if(t.includes(r))return r;let n=r.split("-")[0];if(n&&t.includes(n))return n}return"en"}for(var __webpack_i__ in __webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{deepMergeTranslations:()=>deepMergeTranslations,detectBrowserLanguage:()=>detectBrowserLanguage,mergeTranslationConfigs:()=>mergeTranslationConfigs}),exports.deepMergeTranslations=__webpack_exports__.deepMergeTranslations,exports.detectBrowserLanguage=__webpack_exports__.detectBrowserLanguage,exports.mergeTranslationConfigs=__webpack_exports__.mergeTranslationConfigs,__webpack_exports__)-1===["deepMergeTranslations","detectBrowserLanguage","mergeTranslationConfigs"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { TranslationConfig, Translations } from 'c15t';
|
|
2
|
-
/**
|
|
3
|
-
* Deep merges translation objects
|
|
4
|
-
*/
|
|
5
|
-
export declare function deepMergeTranslations(base: Translations, override: Partial<Translations>): Translations;
|
|
6
|
-
/**
|
|
7
|
-
* Merges custom translations with defaults
|
|
8
|
-
*/
|
|
9
|
-
export declare function mergeTranslationConfigs(defaultConfig: TranslationConfig, customConfig?: Partial<TranslationConfig>): TranslationConfig;
|
|
10
|
-
/**
|
|
11
|
-
* Detects browser language and returns appropriate default language
|
|
12
|
-
*/
|
|
13
|
-
export declare function detectBrowserLanguage(translations: Record<string, unknown>, defaultLanguage: string | undefined, disableAutoSwitch?: boolean): string;
|
|
14
|
-
//# sourceMappingURL=translations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../src/utils/translations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAQ5D;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,YAAY,CAed;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACtC,aAAa,EAAE,iBAAiB,EAChC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACvC,iBAAiB,CA+BnB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACpC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,iBAAiB,UAAQ,GACvB,MAAM,CAgCR"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
function n(n,e){return["cookieBanner","consentManagerDialog","consentManagerWidget","consentTypes"].reduce((t,a)=>(t[a]={...n[a],...e[a]||{}},t),{})}function e(e,t){let a={...e.translations};if(t?.translations){for(let[r,o]of(t.translations.en&&(a.en=n(e.translations.en,t.translations.en)),Object.entries(t.translations)))if("en"!==r&&o){let e=a.en;a[r]=n(e,o)}}return{...e,...t,translations:a}}function t(n,e,a=!1){if(a)return e||"en";let r=Object.keys(n).map(n=>n.toLowerCase());for(let n of"undefined"!=typeof window?navigator?.languages||[navigator?.language||"en"]:["en"]){let e=n.toLowerCase();if(r.includes(e))return e;let t=e.split("-")[0];if(t&&r.includes(t))return t}return"en"}export{n as deepMergeTranslations,t as detectBrowserLanguage,e as mergeTranslationConfigs};
|