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.

@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > desen@1.0.0-draft.6 build /Users/selmanay/Desktop/desen/packages/react
3
+ > desen@1.0.0-draft.7 build /Users/selmanay/Desktop/desen/packages/react
4
4
  > tsc
5
5
 
@@ -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
- // node.type üzerinden eşleşmeyi arıyoruz
45
- return registry[node.type];
46
- }, [registry, node.type]);
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: ${node.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.6",
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-core": "1.0.0-draft.6",
20
- "desen-cli": "1.0.0-draft.6"
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",
@@ -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
- // node.type üzerinden eşleşmeyi arıyoruz
17
- return registry[node.type];
18
- }, [registry, node.type]);
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: ${node.type}`);
29
+ console.warn(`[DESEN] RegistryComponent not found for type: ${resolvedType}`);
23
30
  return null;
24
31
  }
25
32