UNPKG

@c15t/react

Version:

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

1 lines 3.76 kB
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_exports__={};let jsx_runtime_namespaceObject=require("react/jsx-runtime"),external_vitest_namespaceObject=require("vitest"),external_vitest_browser_react_namespaceObject=require("vitest-browser-react"),theme_context_cjs_namespaceObject=require("../../context/theme-context.cjs"),external_use_styles_cjs_namespaceObject=require("../use-styles.cjs");for(var __webpack_i__ in(0,external_vitest_namespaceObject.describe)("useStyles",()=>{let e={noStyle:!1,theme:{"dialog.root":{className:"theme-class",style:{color:"blue"}}}};(0,external_vitest_namespaceObject.test)("returns component styles when no theme is provided",()=>{let e={className:"component-class",style:{backgroundColor:"red"}},{result:t}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_styles_cjs_namespaceObject.useStyles)("dialog.root",e),{wrapper:({children:e})=>(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:{noStyle:!1,theme:{}},children:e})});(0,external_vitest_namespaceObject.expect)(t.current.className).toContain("component-class"),(0,external_vitest_namespaceObject.expect)(t.current.style).toEqual({backgroundColor:"red"})}),(0,external_vitest_namespaceObject.test)("merges theme and component styles correctly",()=>{let t={className:"component-class",style:{backgroundColor:"red"}},{result:s}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_styles_cjs_namespaceObject.useStyles)("dialog.root",t),{wrapper:({children:t})=>(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:e,children:t})});(0,external_vitest_namespaceObject.expect)(s.current.className).toContain("theme-class"),(0,external_vitest_namespaceObject.expect)(s.current.className).toContain("component-class"),(0,external_vitest_namespaceObject.expect)(s.current.style).toEqual({color:"blue",backgroundColor:"red"})}),(0,external_vitest_namespaceObject.test)("handles string className correctly",()=>{let{result:t}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_styles_cjs_namespaceObject.useStyles)("dialog.root","component-class"),{wrapper:({children:t})=>(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:e,children:t})});(0,external_vitest_namespaceObject.expect)(t.current.className).toContain("theme-class"),(0,external_vitest_namespaceObject.expect)(t.current.className).toContain("component-class")}),(0,external_vitest_namespaceObject.test)("should remove default styles but keep custom classNames when theme object provides noStyle: true",()=>{let e={theme:{"dialog.root":{className:"theme-class",style:{color:"blue"},noStyle:!0}}},t={className:"component-class",style:{backgroundColor:"red"},noStyle:!0},{result:s}=(0,external_vitest_browser_react_namespaceObject.renderHook)(()=>(0,external_use_styles_cjs_namespaceObject.useStyles)("dialog.root",t),{wrapper:({children:t})=>(0,jsx_runtime_namespaceObject.jsx)(theme_context_cjs_namespaceObject.GlobalThemeContext.Provider,{value:e,children:t})});(0,external_vitest_namespaceObject.expect)(s.current.className).toContain("theme-class"),(0,external_vitest_namespaceObject.expect)(s.current.className).not.toContain("component-class"),(0,external_vitest_namespaceObject.expect)(s.current.style).toEqual({color:"blue"})})}),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});