Layout

Row

A flex row with a 12-column grid inside. `spacing` is unbounded, so it ships as an inline custom property rather than a data attribute — see the CSP note below.

data-scope="row"

Usage

import { Row, Col } from "@crosskit-ui/react";

<Row spacing={4}>
  <Col span={8}>main</Col>
  <Col span={4}>aside</Col>
</Row>
<script setup lang="ts">
import { Row, Col } from "@crosskit-ui/vue";
</script>

<template>
  <Row :spacing="4">
    <Col :span="8">main</Col>
    <Col :span="4">aside</Col>
  </Row>
</template>
<script lang="ts">
  import { Row, Col } from "@crosskit-ui/svelte";
</script>

<Row spacing={4}>
  <Col span={8}>main</Col>
  <Col span={4}>aside</Col>
</Row>
import { CkRow, CkCol } from "@crosskit-ui/angular";

@Component({
  imports: [CkRow, CkCol],
  template: `
    <ck-row [spacing]="4">
      <ck-col [span]="8">main</ck-col>
      <ck-col [span]="4">aside</ck-col>
    </ck-row>
  `,
})
export class Demo {}

Props

PropTypeDefaultNotes
justify"start" | "center" | "end" | "between" | "around" | "evenly""start"Main-axis distribution.
align"start" | "center" | "end" | "stretch" | "baseline""stretch"Cross-axis alignment.
spacingnumber0Gutter in 0.25rem steps. Written as --ck-row-spacing inline; a strict CSP needs style-src-attr 'unsafe-inline'.
wrapbooleantrueAllow wrapping.
reversebooleanfalseReverse the order.

Prop names are identical in all four frameworks. Only two-way binding differs, and each framework uses its own idiom over the same underlying prop.

Migrating from react-ui-toolkit

v0v1Notes
gap-${spacing} class--ck-row-spacing custom propertyThe old dynamic class name only ever worked inside this repo's own Tailwind build.