Skip to content

feat(playground): design system blocks with multi-file TSX samples and file tree#272

Merged
alexgrozav merged 4 commits into
mainfrom
alexgrozav/styleframe-design-system-blocks
Jun 19, 2026
Merged

feat(playground): design system blocks with multi-file TSX samples and file tree#272
alexgrozav merged 4 commits into
mainfrom
alexgrozav/styleframe-design-system-blocks

Conversation

@alexgrozav

Copy link
Copy Markdown
Contributor

Description

Overhauls the playground app to support multi-file editing with a new FileTree component and sidebar, replacing the single-file Vue SFC model. Samples are rewritten as paired .tsx + .styleframe.ts files covering eight design system blocks (Avatar, Badge, Button, Callout, Card, Checkbox, Input, Spinner). The compileVueSfc pipeline step is replaced by bundlePreview which handles TSX via esbuild, and playground state management is updated to track the active multi-file set. Also adds new playground UI recipes (file tab, file tree, brand mark, editor shell) and simplifies the field-group recipe's flex-grow selector.

Related issue

Type of change

  • 🐞 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that changes existing behavior)
  • 📖 Documentation
  • ♻️ Refactor / internal (no functional change)
  • 🔧 Build / tooling / CI

Checklist

  • My commits follow Conventional Commits with a package scope (e.g. feat(theme): …)
  • I ran pnpm build:nodocs && pnpm lint && pnpm typecheck && pnpm test and everything passes
  • I added a changeset (pnpm changeset) for changes to publishable packages, or this change only touches docs/storybook/app/playground/tests
  • I added or updated tests where relevant
  • I updated documentation where relevant
  • I did not edit generated files (dist/, .styleframe/)
  • My PR targets main and stays focused in scope

Notes / screenshots

…s and file tree

Overhaul the playground app to support multi-file editing with a new
FileTree component. Replace Vue SFC samples with TSX + Styleframe config
pairs covering Avatar, Badge, Button, Callout, Card, Checkbox, Input, and
Spinner. Introduce bundlePreview pipeline (replaces compileVueSfc), new
playground UI recipes (file tab, file tree, brand mark, editor shell), and
update state management and build config accordingly.

Also simplifies the field-group recipe to consolidate .input/.select/.textarea
flex-grow selectors into a single joined CSS selector.
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
storybook-styleframe-dev Ready Ready Preview, Comment Jun 19, 2026 5:31am
styleframe-dev Ready Ready Preview, Comment Jun 19, 2026 5:31am

Request Review

@changeset-bot

changeset-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5bfefad

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@styleframe/theme Patch
@styleframe/playground Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Resolve conflicts:
- apps/playground/package.json: keep React/TSX sample deps, drop Vue-specific
  deps (lang-vue, @vue/compiler-sfc), take origin's version bumps
- apps/playground/test/pipeline.test.ts: keep new TSX pipeline mocks
- apps/playground/src/samples/{App,Card}.sample.vue: keep deletion (replaced
  by .tsx + .styleframe.sample.ts multi-file samples)
- pnpm-lock.yaml: regenerated via pnpm install
- Format apps/playground/test/pipeline.test.ts with oxfmt
- Replace combined CSS selector key with individual selectors in
  useFieldGroupRecipe so the seam-selector test can find each child rule
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.98990% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
apps/playground/src/pipeline/bundlePreview.ts 98.63% 1 Missing ⚠️
apps/playground/src/state/playground.ts 98.85% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@alexgrozav alexgrozav merged commit 414e2fe into main Jun 19, 2026
15 checks passed
@alexgrozav alexgrozav deleted the alexgrozav/styleframe-design-system-blocks branch June 19, 2026 05:40
@github-actions github-actions Bot mentioned this pull request Jun 23, 2026
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