desen 1.0.0-draft.6 → 1.0.0-draft.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of desen might be problematic. Click here for more details.
- package/.turbo/turbo-build.log +1 -1
- package/dist/DesenRenderer.js +12 -4
- package/package.json +3 -3
- package/src/DesenRenderer.tsx +11 -4
package/.turbo/turbo-build.log
CHANGED
package/dist/DesenRenderer.js
CHANGED
|
@@ -40,13 +40,21 @@ const ErrorBoundary_1 = require("./ErrorBoundary");
|
|
|
40
40
|
const parseDesenStyles_1 = require("./utils/parseDesenStyles");
|
|
41
41
|
const BaseRenderer = ({ node }) => {
|
|
42
42
|
const { registry, tokens } = (0, DesenProvider_1.useDesen)();
|
|
43
|
+
const resolvedType = (0, react_1.useMemo)(() => {
|
|
44
|
+
// Surface nodes don't have a `type` field — detect them by `root` presence
|
|
45
|
+
if (!node.type && node.root)
|
|
46
|
+
return 'surface';
|
|
47
|
+
return node.type;
|
|
48
|
+
}, [node]);
|
|
43
49
|
const RegistryComponent = (0, react_1.useMemo)(() => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
if (!resolvedType)
|
|
51
|
+
return null;
|
|
52
|
+
// Try exact match first, then lowercase fallback for case-insensitive lookup
|
|
53
|
+
return registry[resolvedType] || registry[resolvedType.toLowerCase()] || null;
|
|
54
|
+
}, [registry, resolvedType]);
|
|
47
55
|
if (!RegistryComponent) {
|
|
48
56
|
// Fail-Closed: Bileşen yoksa null dön. UI çökertecek belirsiz durumdan kaçın.
|
|
49
|
-
console.warn(`[DESEN] RegistryComponent not found for type: ${
|
|
57
|
+
console.warn(`[DESEN] RegistryComponent not found for type: ${resolvedType}`);
|
|
50
58
|
return null;
|
|
51
59
|
}
|
|
52
60
|
// Process DESEN styles securely with DTCG resolver
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "desen",
|
|
3
|
-
"version": "1.0.0-draft.
|
|
3
|
+
"version": "1.0.0-draft.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"picocolors": "^1.0.0",
|
|
17
17
|
"react": "^18.2.0",
|
|
18
18
|
"react-dom": "^18.2.0",
|
|
19
|
-
"desen-
|
|
20
|
-
"desen-
|
|
19
|
+
"desen-cli": "1.0.0-draft.7",
|
|
20
|
+
"desen-core": "1.0.0-draft.7"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"typescript": "^5.0.0",
|
package/src/DesenRenderer.tsx
CHANGED
|
@@ -12,14 +12,21 @@ export interface DesenRendererProps {
|
|
|
12
12
|
const BaseRenderer: React.FC<DesenRendererProps> = ({ node }) => {
|
|
13
13
|
const { registry, tokens } = useDesen();
|
|
14
14
|
|
|
15
|
+
const resolvedType = useMemo(() => {
|
|
16
|
+
// Surface nodes don't have a `type` field — detect them by `root` presence
|
|
17
|
+
if (!node.type && (node as any).root) return 'surface';
|
|
18
|
+
return node.type;
|
|
19
|
+
}, [node]);
|
|
20
|
+
|
|
15
21
|
const RegistryComponent = useMemo(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
22
|
+
if (!resolvedType) return null;
|
|
23
|
+
// Try exact match first, then lowercase fallback for case-insensitive lookup
|
|
24
|
+
return registry[resolvedType] || registry[resolvedType.toLowerCase()] || null;
|
|
25
|
+
}, [registry, resolvedType]);
|
|
19
26
|
|
|
20
27
|
if (!RegistryComponent) {
|
|
21
28
|
// Fail-Closed: Bileşen yoksa null dön. UI çökertecek belirsiz durumdan kaçın.
|
|
22
|
-
console.warn(`[DESEN] RegistryComponent not found for type: ${
|
|
29
|
+
console.warn(`[DESEN] RegistryComponent not found for type: ${resolvedType}`);
|
|
23
30
|
return null;
|
|
24
31
|
}
|
|
25
32
|
|