Skip to content

feat: Destyler vs Destyler UI layer switch - #6

Merged
elonehoo merged 3 commits into
nextfrom
feat/destyler-ui-layer
Sep 14, 2026
Merged

elonehoo merged 3 commits into
nextfrom
feat/destyler-ui-layer

Conversation

@elonehoo

@elonehoo elonehoo commented Sep 3, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Add a header layer control (next to Version / Framework) to switch Destyler (headless primitives) and Destyler UI (@destyler-ui/{vue,react,solid,svelte} compound components).
  • Default remains Destyler. Layer changes replace editor files and fully reload the iframe while keeping the current framework; framework changes keep the current layer. Reset returns to Vue + Destyler + the checkbox demo.
  • Destyler UI checkbox demos follow Vue anatomy (Control before Label, SVG check indicator). Import maps scan @destyler-ui/ like destyler packages and pin destyler-ui to latest so headless version pins stay intact.

Test plan

  • Open playground on next preview: default Vue headless checkbox still works.
  • Switch to Destyler UI: editor loads UI templates, iframe reloads, checkbox is visible with check SVG (not lucide / not “x”).
  • Switch framework while on Destyler UI: UI templates load for that framework; Control still precedes Label.
  • Switch back to Destyler: original headless templates restore.
  • Pin a destyler version on headless mode, then switch to Destyler UI: UI still loads from esm.sh/@destyler-ui/... (unpinned latest).
  • Share URL on Destyler UI includes layer: destyler-ui; old hashes without layer stay headless.
  • Reset returns Vue + Destyler (headless) checkbox demo.
  • Confirm there is no component-name dropdown from closed PR feat: add destyler component switcher #5.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Let the playground swap headless destyler primitives and Destyler UI compound components without reviving the component picker.
@github-actions

github-actions Bot commented Sep 3, 2026 •

Copy link
Copy Markdown

🧹 PR Preview has been removed

The Zeabur preview service for this PR has been deleted.

Version select now follows Destyler vs Destyler UI package family, and import maps pin the matching layer's version.
Lazy esm.sh resolution now follows Layer → Version the same way import maps do, so UI pins stay on @destyler-ui/* and headless pins stay on @destyler/*.
@elonehoo
elonehoo merged commit 08dcd13 into next Sep 14, 2026
2 checks passed
@elonehoo
elonehoo deleted the feat/destyler-ui-layer branch September 14, 2026 10:40
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