Compare commits
No commits in common. "a1578a770a307340452307d45937af5412f241a3" and "860ceba320ed703216814fe13255904f0ffff7d5" have entirely different histories.
a1578a770a
...
860ceba320
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@because/forge",
|
"name": "@because/forge",
|
||||||
"version": "0.0.3",
|
"version": "0.0.2",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "src/index.tsx",
|
"main": "src/index.tsx",
|
||||||
"module": "src/index.tsx",
|
"module": "src/index.tsx",
|
||||||
|
|
|
||||||
|
|
@ -286,18 +286,14 @@ export function define(nameOrDef: string | TagDef, defIfNamed?: TagDef) {
|
||||||
if (styles[`.${name}`]) throw `${name} is already defined! Must use unique names.`
|
if (styles[`.${name}`]) throw `${name} is already defined! Must use unique names.`
|
||||||
registerStyles(name, def)
|
registerStyles(name, def)
|
||||||
|
|
||||||
const currentProps: Record<string, any> = {}
|
|
||||||
const Root = makeComponent(name, def, currentProps)
|
|
||||||
|
|
||||||
return (props: Record<string, any>) => {
|
return (props: Record<string, any>) => {
|
||||||
for (const key in currentProps) delete currentProps[key]
|
const parts: Record<string, Function> = {}
|
||||||
Object.assign(currentProps, props)
|
|
||||||
const parts: Record<string, Function> = { Root }
|
|
||||||
|
|
||||||
for (const [part] of Object.entries(def.parts ?? {}))
|
for (const [part] of Object.entries(def.parts ?? {}))
|
||||||
parts[part] = makeComponent(name, def, props, part)
|
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>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user