Skip to content

feat: core component library + React showcase - #5

Merged
neithhogg merged 7 commits into
mainfrom
claude/component-library-and-showcase
Mar 30, 2026
Merged

feat: core component library + React showcase#5
neithhogg merged 7 commits into
mainfrom
claude/component-library-and-showcase

Conversation

@neithhogg

Copy link
Copy Markdown
Owner

Summary

  • Adds 7 production-ready React components: Button, Input, Card, Badge, Skeleton, Dialog, BottomTabBar + Sidebar — all using CSS variable tokens, TypeScript strict mode, 160 Vitest tests passing
  • Replaces the static 2,278-line showcase/index.html with a live Vite + React app (pnpm dev) that renders the actual components with all variants and interactive demos
  • Installs Tailwind CSS v4 + @tailwindcss/vite for the showcase; updates PROJECT.md to reflect v4
  • Syncs 7 new component specs to openspec/specs/ and archives the completed core-component-library OpenSpec change

Test plan

  • pnpm test — 160 tests pass (8 test files)
  • pnpm typecheck — no TypeScript errors
  • pnpm lint — no lint errors
  • pnpm dev — showcase runs at http://localhost:5173, all 7 component sections render correctly with tokens resolving
  • pnpm build:showcase — produces dist/showcase/ without errors

🤖 Generated with Claude Code

neithhogg and others added 7 commits March 30, 2026 19:55
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7 production-ready React components: Button (4 variants, 3 sizes, loading),
Input (label/error/helper), Card (3 variants), Badge (6 colour variants),
Skeleton (shimmer), Dialog (native <dialog>, confirm/destructive/loading),
BottomTabBar + Sidebar navigation. All components use CSS variable tokens,
pass strict TypeScript, and are covered by 160 Vitest tests.

Includes archived core-component-library OpenSpec change and 7 synced
component specs in openspec/specs/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Converts showcase/index.html from a 2,278-line hardcoded mockup into a
live Vite + React app that renders the actual component library. Each of
the 7 components is shown with all variants and interactive states.
Dialog section includes both inline panel previews and live trigger buttons.
BottomTabBar demo overrides fixed positioning for inline display.

Adds Tailwind CSS v4 (@tailwindcss/vite), Vite 8, and @vitejs/plugin-react v6.
Uses pnpm.overrides to deduplicate vite across vitest and the new dev server.
Adds pnpm dev and build:showcase scripts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mark component library and showcase as complete. Add Empty States and
Toast to the backlog. Update Tailwind CSS version to v4.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
pnpm/action-setup@v4 errors when both version: and packageManager in
package.json are set. Dropping version: lets the action read pnpm@10.7.0
from the packageManager field directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… error

ESLint and Prettier were scanning dist/showcase/ build output causing
hundreds of spurious errors. Adding dist/ to both ignore files fixes it.
Also corrects @typescript-eslint/array-type violation in BadgeSection
(Array<T> → T[]) and applies Prettier to all showcase source files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@neithhogg
neithhogg merged commit 38a517b into main Mar 30, 2026
4 checks passed
@neithhogg
neithhogg deleted the claude/component-library-and-showcase branch March 30, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant