generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 480
Closed
Description
Goal
- Make NanoDSL authoring support: HStack(wrap=true or wrap="wrap") and child flex= end-to-end.
Scope
- Spec: declare wrap on HStack and flex on common layout/container nodes (at minimum Card/VStack/SplitView/Form/Component).
- Parser (IndentParser): parse wrap for HStack and flex for supported nodes from args and indented props.
- IRConverter: emit props.wrap and props.flex into NanoIR.
- Renderers:
- Compose: use existing wrap/flex logic (already implemented) but ensure it is reachable from DSL.
- HTML: implement wrap via CSS (flex-wrap) and flex via style="flex: 1 0%" or equivalent.
- Tests: add/extend cross-platform IR conversion tests to cover wrap/flex output.
Acceptance
-
Given NanoDSL:
component FlexWrapDemo:
HStack(wrap=true):
Card(flex=1):
Text("A")
Card(flex=2):
Text("B")IR contains HStack.props.wrap=true and child Card.props.flex=1/2.
Compose renderer wraps when wrap=true and allocates weights accordingly.
HTML renderer wraps and respects flex ratio.
Notes
- Keep behavior minimal; avoid new UX features beyond wrap/flex.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels