Compare commits
2 Commits
992bddc769
...
1e013287cf
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e013287cf | ||
|
|
e30f8c8a68 |
11
package.json
11
package.json
|
|
@ -1,7 +1,16 @@
|
||||||
{
|
{
|
||||||
"name": "forge",
|
"name": "forge",
|
||||||
"module": "src/index.ts",
|
"version": "0.1.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
"main": "src/index.tsx",
|
||||||
|
"module": "src/index.tsx",
|
||||||
|
"types": "src/index.tsx",
|
||||||
|
"exports": {
|
||||||
|
".": {
|
||||||
|
"import": "./src/index.tsx",
|
||||||
|
"types": "./src/index.tsx"
|
||||||
|
}
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "bun build:spa && bun run --hot server.tsx",
|
"dev": "bun build:spa && bun run --hot server.tsx",
|
||||||
"test": "bun test",
|
"test": "bun test",
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ let registeredThemeKeys: Set<string> = new Set()
|
||||||
// Clear all registered styles
|
// Clear all registered styles
|
||||||
export function clearStyles() {
|
export function clearStyles() {
|
||||||
for (const key in styles) delete styles[key]
|
for (const key in styles) delete styles[key]
|
||||||
|
for (const key in themes) delete themes[key]
|
||||||
|
registeredThemeKeys.clear()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Register a theme with CSS custom properties
|
// Register a theme with CSS custom properties
|
||||||
|
|
@ -286,7 +288,11 @@ export function define(nameOrDef: string | TagDef, defIfNamed?: TagDef) {
|
||||||
const def = defIfNamed ?? nameOrDef as TagDef
|
const def = defIfNamed ?? nameOrDef as TagDef
|
||||||
const name = defIfNamed ? (nameOrDef as string) : anonName(def)
|
const name = defIfNamed ? (nameOrDef as string) : anonName(def)
|
||||||
|
|
||||||
if (styles[name]) throw `${name} is already defined! Must use unique names.`
|
// Clear any existing styles for this component (supports HMR/hot reload)
|
||||||
|
for (const key in styles) {
|
||||||
|
if (key === name || key.startsWith(`${name}_`) || key.startsWith(`${name}.`) || key.startsWith(`${name}:`))
|
||||||
|
delete styles[key]
|
||||||
|
}
|
||||||
registerStyles(name, def)
|
registerStyles(name, def)
|
||||||
|
|
||||||
return (props: Record<string, any>) => {
|
return (props: Record<string, any>) => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user