@selvajs/ui 0.9.0 → 0.9.1
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.
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
{@render treeNodes(fileTree, '')}
|
|
221
221
|
{:else}
|
|
222
222
|
<div class="gap-1 flex flex-col">
|
|
223
|
-
{#each filesArray as file (file.fileName)}
|
|
223
|
+
{#each filesArray as file (file.fileName + file.fileType)}
|
|
224
224
|
<div
|
|
225
225
|
class="gap-2 text-xs flex items-center justify-between text-muted-foreground"
|
|
226
226
|
>
|
package/package.json
CHANGED
|
@@ -1,100 +1,102 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
2
|
+
"name": "@selvajs/ui",
|
|
3
|
+
"version": "0.9.1",
|
|
4
|
+
"description": "Shared UI components and utilities for Selva applications",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"type": "module",
|
|
10
|
+
"svelte": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"svelte": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./primitives": {
|
|
18
|
+
"types": "./dist/components/primitives/index.d.ts",
|
|
19
|
+
"svelte": "./dist/components/primitives/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./layout": {
|
|
22
|
+
"types": "./dist/components/layout/index.d.ts",
|
|
23
|
+
"svelte": "./dist/components/layout/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./compute": {
|
|
26
|
+
"types": "./dist/components/compute/index.d.ts",
|
|
27
|
+
"svelte": "./dist/components/compute/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./viewer": {
|
|
30
|
+
"types": "./dist/components/viewer/index.d.ts",
|
|
31
|
+
"svelte": "./dist/components/viewer/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./footer": {
|
|
34
|
+
"types": "./dist/contexts/footerContext.svelte.d.ts",
|
|
35
|
+
"svelte": "./dist/contexts/footerContext.svelte.js"
|
|
36
|
+
},
|
|
37
|
+
"./utils": {
|
|
38
|
+
"types": "./dist/utils.d.ts",
|
|
39
|
+
"import": "./dist/utils.js"
|
|
40
|
+
},
|
|
41
|
+
"./styles/base.css": "./src/lib/styles/base.css",
|
|
42
|
+
"./styles/themes/*": "./src/lib/styles/themes/*"
|
|
43
|
+
},
|
|
44
|
+
"files": [
|
|
45
|
+
"dist",
|
|
46
|
+
"src/lib",
|
|
47
|
+
"!dist/**/*.test.*",
|
|
48
|
+
"!dist/**/*.spec.*",
|
|
49
|
+
"!src/lib/**/*.test.*",
|
|
50
|
+
"!src/lib/**/*.spec.*"
|
|
51
|
+
],
|
|
52
|
+
"sideEffects": [
|
|
53
|
+
"**/*.css"
|
|
54
|
+
],
|
|
55
|
+
"scripts": {
|
|
56
|
+
"dev": "vite dev",
|
|
57
|
+
"build": "rm -rf dist && vite build && pnpm prepack",
|
|
58
|
+
"build:fast": "svelte-kit sync && svelte-package",
|
|
59
|
+
"build:watch": "svelte-kit sync && svelte-package --watch",
|
|
60
|
+
"preview": "vite preview",
|
|
61
|
+
"prepack": "svelte-kit sync && svelte-package && publint",
|
|
62
|
+
"prepare": "svelte-kit sync || echo ''",
|
|
63
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
64
|
+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
65
|
+
"format": "prettier --write .",
|
|
66
|
+
"lint": "prettier --check . && eslint ."
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"@selvajs/compute": "catalog:",
|
|
70
|
+
"@sveltejs/kit": "^2",
|
|
71
|
+
"bits-ui": "^2.15.4",
|
|
72
|
+
"svelte": "^5",
|
|
73
|
+
"tailwind-variants": "^3.2.2",
|
|
74
|
+
"three": "catalog:"
|
|
75
|
+
},
|
|
76
|
+
"peerDependenciesMeta": {
|
|
77
|
+
"three": {
|
|
78
|
+
"optional": true
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"dependencies": {
|
|
82
|
+
"@floating-ui/dom": "catalog:",
|
|
83
|
+
"@iconify/svelte": "catalog:",
|
|
84
|
+
"@lucide/svelte": "catalog:",
|
|
85
|
+
"@selvajs/schemas": "workspace:*",
|
|
86
|
+
"clsx": "catalog:",
|
|
87
|
+
"mode-watcher": "catalog:",
|
|
88
|
+
"paneforge": "^1.0.2",
|
|
89
|
+
"svelte-sonner": "catalog:",
|
|
90
|
+
"tailwind-merge": "catalog:",
|
|
91
|
+
"tw-animate-css": "catalog:"
|
|
92
|
+
},
|
|
93
|
+
"devDependencies": {
|
|
94
|
+
"@internationalized/date": "^3.12.1",
|
|
95
|
+
"@selvajs/config": "workspace:*",
|
|
96
|
+
"@sveltejs/kit": "catalog:",
|
|
97
|
+
"@types/three": "catalog:",
|
|
98
|
+
"bits-ui": "^2.18.0",
|
|
99
|
+
"svelte": "catalog:",
|
|
100
|
+
"tailwind-variants": "^3.2.2"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -93,6 +93,24 @@
|
|
|
93
93
|
const hasSubFolders = $derived(filesArray.some((f) => f.subFolder && f.subFolder.length > 0));
|
|
94
94
|
const fileTree = $derived(hasSubFolders ? buildTree(filesArray) : null);
|
|
95
95
|
|
|
96
|
+
function fullPath(f: FileData): string {
|
|
97
|
+
const folder = (f.subFolder || '').replace(/^\/+|\/+$/g, '');
|
|
98
|
+
const name = `${f.fileName}${f.fileType ?? ''}`;
|
|
99
|
+
return folder ? `${folder}/${name}` : name;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const duplicatePaths = $derived.by(() => {
|
|
103
|
+
const seen = new Map<string, number>();
|
|
104
|
+
for (const f of filesArray) {
|
|
105
|
+
const key = fullPath(f);
|
|
106
|
+
seen.set(key, (seen.get(key) ?? 0) + 1);
|
|
107
|
+
}
|
|
108
|
+
return Array.from(seen.entries())
|
|
109
|
+
.filter(([, n]) => n > 1)
|
|
110
|
+
.map(([path]) => path);
|
|
111
|
+
});
|
|
112
|
+
const hasDuplicates = $derived(duplicatePaths.length > 0);
|
|
113
|
+
|
|
96
114
|
// All folders expanded by default
|
|
97
115
|
let expandedFolders = new SvelteSet<string>();
|
|
98
116
|
|
|
@@ -220,7 +238,7 @@
|
|
|
220
238
|
{@render treeNodes(fileTree, '')}
|
|
221
239
|
{:else}
|
|
222
240
|
<div class="gap-1 flex flex-col">
|
|
223
|
-
{#each filesArray as file (file.fileName)}
|
|
241
|
+
{#each filesArray as file (file.fileName + file.fileType)}
|
|
224
242
|
<div
|
|
225
243
|
class="gap-2 text-xs flex items-center justify-between text-muted-foreground"
|
|
226
244
|
>
|