Getting Started
Vertical stack
vertical + gap.
import { Card, Flex } from "@appboxo/ui-kit"
import { Pill } from "./_pill"
import { PreviewLayout } from "./_section"
export function FlexVerticalPreview() {
return (
<PreviewLayout>
<Card>
<Flex vertical gap={12}>
<Pill>One</Pill>
<Pill>Two</Pill>
<Pill>Three</Pill>
</Flex>
</Card>
</PreviewLayout>
)
}
Horizontal row
Default direction. wrap="wrap" for responsive overflow.
import { Card, Flex } from "@appboxo/ui-kit"
import { Pill } from "./_pill"
import { PreviewLayout } from "./_section"
export function FlexHorizontalPreview() {
return (
<PreviewLayout>
<Card>
{/* kit's Flex defaults to `vertical={true}` — pass vertical={false}
explicitly for horizontal rows. */}
<Flex vertical={false} gap={8} wrap="wrap">
<Pill>One</Pill>
<Pill>Two</Pill>
<Pill>Three</Pill>
<Pill>Four</Pill>
</Flex>
</Card>
</PreviewLayout>
)
}
Space between
justify="space-between" + align="center" for label/value rows.
import { Body1, Card, Flex } from "@appboxo/ui-kit"
import { Pill } from "./_pill"
import { PreviewLayout } from "./_section"
export function FlexBetweenPreview() {
return (
<PreviewLayout>
<Card>
<Flex vertical={false} justify="space-between" align="center">
<Body1 weight="semibold">Notifications</Body1>
<Pill>On</Pill>
</Flex>
</Card>
</PreviewLayout>
)
}
Centered
Combine align="center" + justify="center" for empty states.
import { Card, Flex } from "@appboxo/ui-kit"
import { Pill } from "./_pill"
import { PreviewLayout } from "./_section"
export function FlexCenteredPreview() {
return (
<PreviewLayout>
<Card style={{ minHeight: 120 }}>
<Flex vertical={false} align="center" justify="center" style={{ height: "100%" }}>
<Pill>Empty state</Pill>
</Flex>
</Card>
</PreviewLayout>
)
}
Installation
pnpm add @appboxo/ui-kitBuild mini-apps with Boxo
Freedom UI Kit is the design system behind partner mini-apps shipping on the Boxo platform.
Learn more about Boxo