Skip to main content

ComponentNode

@lowcode/dsl


Interface: ComponentNode

Defined in: schema.ts:271

Узел компонента в дереве UI.

ComponentNode — фундаментальная единица DSL. Указывает тип компонента, его свойства, детей, layout и стилевое оформление. Реализация компонента берётся из runtime (React/HTML-компоненты, runtime-компонентная библиотека и т.д.).

Properties

children?

optional children: ComponentNode[]

Defined in: schema.ts:285

Дочерние компоненты.


id

id: string

Defined in: schema.ts:273

Уникальный ID компонента.


layout?

optional layout: LayoutProps

Defined in: schema.ts:296

Layout-свойства (расположение и размеры).


name?

optional name: string

Defined in: schema.ts:279

Опциональное удобочитаемое имя для отображения в builder-web.


order?

optional order: number

Defined in: schema.ts:293

Порядковый номер компонента среди братьев (0-based).

Используется для определения порядка отображения, если runtime сортирует детей по order.


props?

optional props: Record<string, PropValue>

Defined in: schema.ts:282

Пропы компонента (могут быть статическими и выражениями).


style?

optional style: StyleProps

Defined in: schema.ts:305

Стилевые свойства (цвета, шрифты, границы, классы и т.д.).

Этот блок описывает визуальное оформление компонента и может интерпретироваться runtime-слоем по-разному (CSS, Tailwind-классы, токены дизайн-системы и т.п.).


styleStates?

optional styleStates: StyleStates

Defined in: schema.ts:310

Стили интерактивных состояний (hover и т.п.).


type

type: string

Defined in: schema.ts:276

Тип компонента (например: "Button", "Text", "Form").