Commit Graph
7 Commits
Author SHA1 Message Date
enricobuehlerandClaude Fable 5 b466cf1669 chore(release): bump @unom/ui to 0.9.1
0.9.1 rather than 0.9.0: the 0.9.0 tarball was published from a pre-relicense
tree; 0.9.1 is the canonical release including the MIT license metadata.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 18:34:40 +02:00
enricobuehlerandClaude Fable 5 67c4b2fd91 feat: add Badge, Spinner, Skeleton, Switch, Table, EmptyState, CodeBlock primitives
- badge: cva variants default/secondary/outline/success/warn/error as
  bg-<tone>/15 text-<tone> tints, sm|default sizes, dot/pulse props
- spinner: the lens spinner graduated from the punktfunk console,
  genericized to var(--brand)/var(--brand-light); reduced-motion honored
- skeleton: Skeleton + SkeletonText pulse placeholders
- form/switch: radix Switch with motion layout-spring thumb,
  useSound("toggle"), useControllableState, material-aware track
  (new switch key in MaterialTheme)
- table: Table/TableHeader/TableBody/TableRow/TableHead/TableCell
  graduated from the console (muted tokens mapped to
  neutral-accent/secondary, which exist in this theme)
- empty-state: dashed-border centered column, error variant, icon
  entrance via new emptyStateIcon animation token + 0.08 stagger
- code-block: mono pre with optional clipboard copy button (Copy→Check)
- theme.css/globals.css: new --warn and --brand-light tones
  (+ --color-warn/--color-brand-light Tailwind mappings)
- CSF3 stories for every new primitive; subpath exports for all of them

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 18:34:11 +02:00
enricobuehlerandClaude Fable 5 e50e747839 fix(sound): stop component imports from dragging audio assets into consumer bundles
Importing any sound-aware component (e.g. @unom/ui/button) statically
reached src/sound/defaults.ts via the provider, pulling ~6.7MB of wav/mp3
URL references into every consumer build even with no SoundProvider mounted.

- new src/sound/silent.ts: asset-free silentSoundTheme, now the context default
- SoundTheme.tokens is Partial<> so sparse themes typecheck; merge/resolve
  are null-safe over missing tokens
- SoundProvider: theme prop now optional; new loadTheme prop resolves a
  theme chunk lazily after mount and merges it over theme
- defaults.ts renamed to default-theme.ts, no longer re-exported from
  sound/index.ts; published as the @unom/ui/sound/default-theme subpath
  (the ONLY module referencing the audio assets)
- Storybook preview passes defaultSoundTheme explicitly via the new subpath

Verified: after build, grep -rl "assets/sounds" dist/ lists only
dist/sound/default-theme.js.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 18:34:11 +02:00
enricobuehlerandClaude Fable 5 84f66e9fae style: apply current biome formatting across untouched files
Pure formatting churn (tabs, import order, line wrapping) produced by
`bunx biome check --write` under the currently-pinned biome version.
No behavior changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 18:34:11 +02:00
enricobuehlerandClaude Opus 4.8 148618639d chore: relicense @unom/ui under MIT
Relicense from unspecified to MIT and add the LICENSE file. A dependency audit
confirmed no copyleft (GPL/LGPL/AGPL) deps and no vendored copyleft source, so
the relicense is valid. Patch version bumped for the registry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 22:37:21 +00:00
enricobuehlerandClaude Opus 4.8 72afe72813 chore: remove renovate.json
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 14:13:21 +02:00
enricobuehlerandClaude Opus 4.8 ccf93a85a0 chore: import @unom/ui from @played/ui
Copy of the played-ui component library, rebranded to the @unom scope
for publishing as @unom/ui.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 14:09:25 +02:00