@poodle64/ui 2026.8.8 → 2026.8.9
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.
|
@@ -384,7 +384,22 @@
|
|
|
384
384
|
</span>
|
|
385
385
|
{/if}
|
|
386
386
|
{#if brandTitle && !railCollapsed}
|
|
387
|
-
|
|
387
|
+
<!--
|
|
388
|
+
The wordmark stands down below sm, leaving the mark alone. On a phone
|
|
389
|
+
the rail is gone, so this same lockup is what the top bar carries — and
|
|
390
|
+
that bar also holds the menu button, the search affordance, the theme
|
|
391
|
+
toggle and the identity surface. With the wordmark beside them, search
|
|
392
|
+
truncated to a word (and in one app to a single letter) at 390px.
|
|
393
|
+
|
|
394
|
+
This is a package default because three apps each discovered it
|
|
395
|
+
independently and each wrote its own `brand` override to get it, with
|
|
396
|
+
three near-identical comments. An app that overrides the whole brand
|
|
397
|
+
slot to re-earn a behaviour the shell could give everyone is the shell
|
|
398
|
+
failing to ship something good.
|
|
399
|
+
-->
|
|
400
|
+
<span class="font-display text-body hidden font-semibold tracking-tight sm:inline"
|
|
401
|
+
>{brandTitle}</span
|
|
402
|
+
>
|
|
388
403
|
{/if}
|
|
389
404
|
{/if}
|
|
390
405
|
</a>
|
package/package.json
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
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
|
-
|
|
2
|
+
"name": "@poodle64/ui",
|
|
3
|
+
"version": "2026.8.9",
|
|
4
|
+
"description": "Household shared component layer: shadcn-svelte primitives (bits-ui) plus the composed page chrome every app builds its routes from, restyled by each app's @poodle64/design-tokens alias layer. One fix reaches every app.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": "github:poodle64/design-system",
|
|
8
|
+
"publishConfig": {
|
|
9
|
+
"registry": "https://registry.npmjs.org",
|
|
10
|
+
"access": "public"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"registry"
|
|
15
|
+
],
|
|
16
|
+
"exports": {
|
|
17
|
+
"./package.json": "./package.json",
|
|
18
|
+
"./styles.css": "./dist/styles.css",
|
|
19
|
+
"./utils": {
|
|
20
|
+
"types": "./dist/utils.d.ts",
|
|
21
|
+
"svelte": "./dist/utils.js"
|
|
22
|
+
},
|
|
23
|
+
"./*": {
|
|
24
|
+
"types": "./dist/components/ui/*/index.d.ts",
|
|
25
|
+
"svelte": "./dist/components/ui/*/index.js"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"bits-ui": "^2.18.1",
|
|
30
|
+
"mode-watcher": "^1.1.0",
|
|
31
|
+
"svelte": "^5.33.0",
|
|
32
|
+
"svelte-sonner": "^1.1.1"
|
|
33
|
+
},
|
|
34
|
+
"peerDependenciesMeta": {
|
|
35
|
+
"mode-watcher": {
|
|
36
|
+
"optional": true
|
|
37
|
+
},
|
|
38
|
+
"svelte-sonner": {
|
|
39
|
+
"optional": true
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@lucide/svelte": "^1.25.0",
|
|
44
|
+
"@tanstack/table-core": "^8.21.3",
|
|
45
|
+
"clsx": "^2.1.1",
|
|
46
|
+
"tailwind-merge": "^3.6.0",
|
|
47
|
+
"tailwind-variants": "^3.2.2",
|
|
48
|
+
"tw-animate-css": "^1.4.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@poodle64/design-tokens": "workspace:*",
|
|
52
|
+
"@sveltejs/kit": "^2.63.0",
|
|
53
|
+
"@sveltejs/package": "^2.5.8",
|
|
54
|
+
"@sveltejs/vite-plugin-svelte": "^7.1.2",
|
|
55
|
+
"@tailwindcss/cli": "^4.3.2",
|
|
56
|
+
"@testing-library/jest-dom": "^7.0.0",
|
|
57
|
+
"@testing-library/svelte": "^5.4.2",
|
|
58
|
+
"@types/node": "^22.20.1",
|
|
59
|
+
"bits-ui": "^2.18.1",
|
|
60
|
+
"jsdom": "^29.1.1",
|
|
61
|
+
"mode-watcher": "^1.1.0",
|
|
62
|
+
"playwright": "^1.62.0",
|
|
63
|
+
"publint": "^0.3.15",
|
|
64
|
+
"svelte": "^5.56.2",
|
|
65
|
+
"svelte-check": "^4.6.0",
|
|
66
|
+
"svelte-sonner": "^1.1.1",
|
|
67
|
+
"tailwindcss": "^4.3.2",
|
|
68
|
+
"typescript": "^6.0.3",
|
|
69
|
+
"vite": "^8.0.16",
|
|
70
|
+
"vitest": "^4.1.10"
|
|
71
|
+
},
|
|
72
|
+
"scripts": {
|
|
73
|
+
"build": "node scripts/generate-registry.mjs && svelte-kit sync && svelte-package && publint",
|
|
74
|
+
"registry": "node scripts/generate-registry.mjs",
|
|
75
|
+
"registry:check": "node scripts/generate-registry.mjs --check",
|
|
76
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
77
|
+
"test": "pnpm run build && vitest run",
|
|
78
|
+
"test:browser": "pnpm run harness:build && node harness/drive.mjs",
|
|
79
|
+
"prepublishOnly": "pnpm run build",
|
|
80
|
+
"harness:build": "vite build --config harness/vite.config.ts && tailwindcss -i harness/harness.css -o harness/dist/app.css --minify",
|
|
81
|
+
"harness:serve": "python3 -m http.server 4180 --directory harness/dist"
|
|
82
|
+
},
|
|
83
|
+
"packageManager": "pnpm@10.28.0"
|
|
84
84
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @poodle64/ui — situation → component map
|
|
2
2
|
|
|
3
3
|
<!-- GENERATED by scripts/generate-registry.mjs from scripts/situations.json + package source. DO NOT EDIT. -->
|
|
4
|
-
Generated from `@poodle64/ui@2026.8.
|
|
4
|
+
Generated from `@poodle64/ui@2026.8.9`. 49 components, 12 situations.
|
|
5
5
|
|
|
6
6
|
**Read this before writing a `<div>`.** Find the SITUATION you are in below, then compose the component named for it — do not hand-build it from raw `Card` or utility classes. Import is `import { Name } from '<import path>'`. Props marked `?` are optional. This map is the retrieval step the [`frontend-design` skill] makes mandatory; the [CHI 2026 study] measured composing-from-a-registry at 95% design-system compliance against 71% for writing the CSS from a prose style guide.
|
|
7
7
|
|