ComponentNode
Interface: ComponentNode
Defined in: packages/dsl/src/schema.ts:271
Узел компонента в дереве UI.
ComponentNode — фундаментальная единица DSL. Указывает тип компонента, его свойства, детей, layout и стилевое оформление. Реализация компонента берётся из runtime (React/HTML-компоненты, runtime-компонентная библиотека и т.д.).
Properties
children?
optionalchildren:ComponentNode[]
Defined in: packages/dsl/src/schema.ts:285
Дочерние компоненты.
id
id:
string
Defined in: packages/dsl/src/schema.ts:273
Уникальный ID компонента.
layout?
optionallayout:LayoutProps
Defined in: packages/dsl/src/schema.ts:296
Layout-свойства (расположение и размеры).
name?
optionalname:string
Defined in: packages/dsl/src/schema.ts:279
Опциональное удобочитаемое имя для отображения в builder-web.
order?
optionalorder:number
Defined in: packages/dsl/src/schema.ts:293
Порядковый номер компонента среди братьев (0-based).
Используется для определения порядка отображения, если runtime
сортирует детей по order.
props?
optionalprops:Record<string,PropValue>
Defined in: packages/dsl/src/schema.ts:282
Пропы компонента (могут быть статическими и выражениями).
style?
optionalstyle:StyleProps
Defined in: packages/dsl/src/schema.ts:305
Стилевые свойства (цвета, шрифты, границы, классы и т.д.).
Этот блок описывает визуальное оформление компонента и может интерпретироваться runtime-слоем по-разному (CSS, Tailwind-классы, токены дизайн-системы и т.п.).
styleStates?
optionalstyleStates:StyleStates
Defined in: packages/dsl/src/schema.ts:310
Стили интерактивных состояний (hover и т.п.).
type
type:
string
Defined in: packages/dsl/src/schema.ts:276
Тип компонента (например: "Button", "Text", "Form").