Lane
FluxFlowLane is the swimlane of a flow: a band with a titled gutter that says who owns the part of the canvas standing on it. Client and server, the two teams a handover runs between, the machine a stage runs on.
A lane is a backdrop and nothing more. It never positions its content: the nodes keep their own absolute x and y, and the lane is the strip they happen to stand on.
TIP
The pair of props you give picks the axis: y and height make a row, x and width make a column. The other axis is not yours to set, since a lane always spans the whole flow.
Props
y?: number
The top of the lane, in flow coordinates. Pair it with `height` for a lane that runs across the flow.
height?: number
The height of the lane. Giving it makes the lane a row.
x?: number
The left edge of the lane, in flow coordinates. Pair it with `width` for a lane that runs down the flow.
width?: number
The width of the lane. Giving it makes the lane a column.
title?: string
The label shown in the gutter at the head of the lane.
color?: FluxColor
The tint of the band. Without one it is drawn in gray.
padding?: number
The space, in pixels, the lane reaches past the nodes on the axis it spans.
Default: 21
Examples
Columns
x and width turn the band on its side, so a handover between two teams reads left to right with the title above each column. The steps inside a column are placed by a Chain, which lines up pills of different widths that a lane would not.
<template>
<FluxFlow :padding="21">
<FluxFlowLane title="Support" :x="-21" :width="210"/>
<FluxFlowLane title="Engineering" color="primary" :x="231" :width="210"/>
<FluxFlowNode id="ticket" :x="0" :y="0">
<FluxFlowPill icon="bell" label="Ticket raised" color="warning"/>
</FluxFlowNode>
<FluxFlowChain :x="252" :y="0" :gap="45">
<FluxFlowNode id="triage">
<FluxFlowPill icon="user-check" label="Triaged" color="info"/>
</FluxFlowNode>
<FluxFlowNode id="fix">
<FluxFlowPill icon="rocket" label="Fix shipped" color="success"/>
</FluxFlowNode>
</FluxFlowChain>
<FluxFlowConnection from="ticket" to="triage" from-side="right" to-side="left"/>
</FluxFlow>
</template>
<script
setup
lang="ts">
import { FluxFlow, FluxFlowChain, FluxFlowConnection, FluxFlowLane, FluxFlowNode, FluxFlowPill } from '@flux-ui/flow';
</script>