Compare commits

..

2 Commits

Author SHA1 Message Date
67b2eef7ae Merge pull request 'fix config merging' (#11) from shadow-option into master
Reviewed-on: #11
2023-10-31 09:46:29 -04:00
1a1d7c4fd8 fix config merging 2023-10-31 09:45:26 -04:00

View File

@ -10,17 +10,15 @@ const Configure =
hash: false hash: false
} as TW.TwindUserConfig; } as TW.TwindUserConfig;
export const Shadow =(inElement:HTMLElement, inConfig?:TW.TwindUserConfig)=> export const Shadow =(inElement:HTMLElement, inConfig:TW.TwindUserConfig)=>
{ {
const merge = inConfig ? {...Configure, ...inConfig} : Configure;
const ShadowDOM = inElement.attachShadow({ mode: "open" }); const ShadowDOM = inElement.attachShadow({ mode: "open" });
const ShadowDiv = document.createElement("div"); const ShadowDiv = document.createElement("div");
const ShadowCSS = document.createElement("style"); const ShadowCSS = document.createElement("style");
ShadowDOM.append(ShadowCSS); ShadowDOM.append(ShadowCSS);
ShadowDOM.append(ShadowDiv); ShadowDOM.append(ShadowDiv);
TW.observe(TW.twind(merge, TW.cssom(ShadowCSS)), ShadowDiv); TW.observe(TW.twind(inConfig, TW.cssom(ShadowCSS)), ShadowDiv);
return ShadowDiv; return ShadowDiv;
}; };
@ -40,13 +38,15 @@ export default async(inSelector:string, inModulePath:string, inMemberApp="defaul
const module = await import(inModulePath); const module = await import(inModulePath);
const merge = inMemberCSS ? {...Configure, ...module[inMemberCSS]} : Configure;
if(inShadow) if(inShadow)
{ {
dom = Shadow(dom as HTMLElement, module[inMemberCSS]); dom = Shadow(dom as HTMLElement, merge);
} }
else else
{ {
TW.install(Configure); TW.install(merge);
} }
const app = React.createElement(()=> React.createElement(module[inMemberApp], null), null); const app = React.createElement(()=> React.createElement(module[inMemberApp], null), null);