@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
- <span class="font-display text-body font-semibold tracking-tight">{brandTitle}</span>
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
- "name": "@poodle64/ui",
3
- "version": "2026.8.8",
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"
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
  {
2
2
  "meta": {
3
3
  "package": "@poodle64/ui",
4
- "version": "2026.8.8",
4
+ "version": "2026.8.9",
5
5
  "generatedBy": "scripts/generate-registry.mjs",
6
6
  "source": "scripts/situations.json + package source (DO NOT EDIT the outputs by hand)",
7
7
  "componentCount": 49,
@@ -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.8`. 49 components, 12 situations.
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