Parser:
- column/row/stack now parse trailing { props } after ]
- Enables: column [...] { variant: "card" }
Codegen:
- Container props dispatch: variant, class, click, style, layout
- variant_to_css() maps (tag, variant) → CSS class
- variant_map_js() for dynamic variants via inline JS map
- 230+ lines design system CSS (button/badge/card/dialog/toast/
progress/alert/separator/toggle/avatar/stat)
Registry (11 components):
- button, input, card, badge, dialog, toast
- NEW: progress, alert, separator, toggle, avatar
- All embedded via include_str! for offline use
Examples:
- showcase.ds: component gallery with variant prop
- dashboard.ds: admin dashboard with glassmorphism cards
10 lines
283 B
Text
10 lines
283 B
Text
-- DreamStack Dialog Component
|
|
-- Modal with overlay, title, and close button
|
|
|
|
import { Button } from "./button"
|
|
|
|
export component Dialog(title, open, onClose) =
|
|
column [
|
|
text title { variant: "title" }
|
|
Button { label: "Close", onClick: onClose }
|
|
] { variant: "dialog" }
|