Compare commits

..

No commits in common. "a1578a770a307340452307d45937af5412f241a3" and "860ceba320ed703216814fe13255904f0ffff7d5" have entirely different histories.

2 changed files with 4 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@because/forge",
"version": "0.0.3",
"version": "0.0.2",
"type": "module",
"main": "src/index.tsx",
"module": "src/index.tsx",

View File

@ -286,18 +286,14 @@ export function define(nameOrDef: string | TagDef, defIfNamed?: TagDef) {
if (styles[`.${name}`]) throw `${name} is already defined! Must use unique names.`
registerStyles(name, def)
const currentProps: Record<string, any> = {}
const Root = makeComponent(name, def, currentProps)
return (props: Record<string, any>) => {
for (const key in currentProps) delete currentProps[key]
Object.assign(currentProps, props)
const parts: Record<string, Function> = { Root }
const parts: Record<string, Function> = {}
for (const [part] of Object.entries(def.parts ?? {}))
parts[part] = makeComponent(name, def, props, part)
return def.render?.({ props, parts }) ?? <Root {...props}>{props.children}</Root>
parts.Root = makeComponent(name, def, props)
return def.render?.({ props, parts }) ?? <parts.Root {...props}>{props.children}</parts.Root>
}
}