Inference Logoinference.sh

Row

Arranges children horizontally with configurable gap.

Preview

code
1[child1] [child2] [child3]

Usage

go
1node := models.WidgetNode{2    Type: models.WidgetNodeTypeRow,3    Gap:  2,4    Children: []models.WidgetNode{5        {Type: models.WidgetNodeTypeBadge, Label: "✓", Variant: "secondary"},6        {Type: models.WidgetNodeTypeText, Value: "Step completed"},7    },8}

Props

NameTypeDescriptionDefault
type"row"Node typerequired
gapnumberGap between children (Tailwind spacing scale)2
childrenWidgetNode[]Child nodes to arrange horizontally-

Gap Values

Gap uses Tailwind's spacing scale:

GapPixelsUse Case
00pxNo gap
14pxTight spacing
28pxDefault spacing
312pxMedium spacing
416pxLarge spacing

Examples

Status Row

go
1{2    Type: models.WidgetNodeTypeRow,3    Gap:  2,4    Children: []models.WidgetNode{5        {Type: models.WidgetNodeTypeBadge, Label: "●", Variant: "default"},6        {Type: models.WidgetNodeTypeCol, Gap: 1, Children: []models.WidgetNode{7            {Type: models.WidgetNodeTypeText, Value: "Processing", Variant: "title"},8            {Type: models.WidgetNodeTypeText, Value: "Analyzing your request", Variant: "muted"},9        }},10    },11}

Button Row

go
1{2    Type: models.WidgetNodeTypeRow,3    Gap:  2,4    Children: []models.WidgetNode{5        {Type: models.WidgetNodeTypeButton, Label: "Cancel", Variant: "outline"},6        {Type: models.WidgetNodeTypeButton, Label: "Confirm", Variant: "default"},7    },8}

Inline Badges

go
1{2    Type: models.WidgetNodeTypeRow,3    Gap:  1,4    Children: []models.WidgetNode{5        {Type: models.WidgetNodeTypeBadge, Label: "python", Variant: "outline"},6        {Type: models.WidgetNodeTypeBadge, Label: "async", Variant: "outline"},7        {Type: models.WidgetNodeTypeBadge, Label: "v2.0", Variant: "secondary"},8    },9}

CSS Output

css
1.row {2  display: flex;3  flex-direction: row;4  flex-wrap: wrap;5  align-items: center;6  gap: var(--gap);7}

TypeScript

typescript
1const node: WidgetNode = {2  type: "row",3  gap: 2,4  children: [5    { type: "badge", label: "✓", variant: "secondary" },6    { type: "text", value: "Done" },7  ],8}

Best Practices

  1. Use for inline content - Badges with text, icon + label combinations
  2. Wrap in Col for lists - Use Col to stack multiple Rows vertically
  3. Consistent gap - Use gap: 2 for most cases
  4. Align with items-center - Row automatically centers items vertically

we use cookies

we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.

by clicking "accept", you agree to our use of cookies.
learn more.