@rokkit/ui 1.1.4 → 1.1.6
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.
- package/package.json +5 -5
- package/src/components/CodeGroup.svelte +3 -3
- package/src/types/tree.ts +14 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rokkit/ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Data driven UI components for Rokkit applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"dropdown"
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@rokkit/core": "1.1.
|
|
48
|
-
"@rokkit/data": "1.1.
|
|
49
|
-
"@rokkit/states": "1.1.
|
|
50
|
-
"@rokkit/actions": "1.1.
|
|
47
|
+
"@rokkit/core": "1.1.6",
|
|
48
|
+
"@rokkit/data": "1.1.6",
|
|
49
|
+
"@rokkit/states": "1.1.6",
|
|
50
|
+
"@rokkit/actions": "1.1.6",
|
|
51
51
|
"marked": "^15.0.0",
|
|
52
52
|
"dompurify": "^3.0.0"
|
|
53
53
|
},
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
// own icons prop); file leaves get the per-extension semantic icon.
|
|
95
95
|
const tree = $derived.by(() => {
|
|
96
96
|
const root: unknown[] = []
|
|
97
|
-
const lookup
|
|
97
|
+
const lookup: Record<string, Record<string, unknown>> = {}
|
|
98
98
|
for (const f of files) {
|
|
99
99
|
const parts = f.path.split('/').filter(Boolean)
|
|
100
100
|
let parentChildren = root
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
const part = parts[i]
|
|
104
104
|
const isLeaf = i === parts.length - 1
|
|
105
105
|
acc = acc ? `${acc}/${part}` : part
|
|
106
|
-
let node = lookup
|
|
106
|
+
let node = lookup[acc]
|
|
107
107
|
if (!node) {
|
|
108
108
|
node = {
|
|
109
109
|
id: acc,
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
icon: isLeaf ? iconForFile(f) : undefined,
|
|
112
112
|
children: isLeaf ? undefined : []
|
|
113
113
|
}
|
|
114
|
-
lookup
|
|
114
|
+
lookup[acc] = node
|
|
115
115
|
parentChildren.push(node)
|
|
116
116
|
}
|
|
117
117
|
if (!isLeaf) parentChildren = node.children as unknown[]
|
package/src/types/tree.ts
CHANGED
|
@@ -63,20 +63,6 @@ export interface TreeFields {
|
|
|
63
63
|
*/
|
|
64
64
|
export type ResolvedTreeFields = Required<TreeFields>
|
|
65
65
|
|
|
66
|
-
/**
|
|
67
|
-
* Merge consumer-provided field overrides with the default field
|
|
68
|
-
* mapping so every key resolves to a string. Tree calls this once on
|
|
69
|
-
* its `fields` prop before passing the result to ProxyTree / line
|
|
70
|
-
* builders.
|
|
71
|
-
*/
|
|
72
|
-
export function resolveTreeFields(fields: TreeFields = {}): ResolvedTreeFields {
|
|
73
|
-
// `Required<TreeFields>` cannot strip `undefined` from the index
|
|
74
|
-
// signature on its own, so spread-inference fails the contract even
|
|
75
|
-
// though `defaultTreeFields` provides every key. Cast through unknown
|
|
76
|
-
// to assert the post-merge shape.
|
|
77
|
-
return { ...defaultTreeFields, ...fields } as unknown as ResolvedTreeFields
|
|
78
|
-
}
|
|
79
|
-
|
|
80
66
|
/**
|
|
81
67
|
* Default field mapping values for tree
|
|
82
68
|
*/
|
|
@@ -98,6 +84,20 @@ export const defaultTreeFields: Required<Omit<TreeFields, 'fields'>> = {
|
|
|
98
84
|
level: 'level'
|
|
99
85
|
}
|
|
100
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Merge consumer-provided field overrides with the default field
|
|
89
|
+
* mapping so every key resolves to a string. Tree calls this once on
|
|
90
|
+
* its `fields` prop before passing the result to ProxyTree / line
|
|
91
|
+
* builders.
|
|
92
|
+
*/
|
|
93
|
+
export function resolveTreeFields(fields: TreeFields = {}): ResolvedTreeFields {
|
|
94
|
+
// `Required<TreeFields>` cannot strip `undefined` from the index
|
|
95
|
+
// signature on its own, so spread-inference fails the contract even
|
|
96
|
+
// though `defaultTreeFields` provides every key. Cast through unknown
|
|
97
|
+
// to assert the post-merge shape.
|
|
98
|
+
return { ...defaultTreeFields, ...fields } as unknown as ResolvedTreeFields
|
|
99
|
+
}
|
|
100
|
+
|
|
101
101
|
// =============================================================================
|
|
102
102
|
// Tree Item Types
|
|
103
103
|
// =============================================================================
|