Partition Bar
A horizontal proportional bar chart for effectively visualizing part-to-whole distributed data relationships.
Installation
npx raya-ui@latest add partition-barFile Structure
your-project
components
ui
partition-bar
PartitionBar.vue
PartitionBarSegment.vue
PartitionBarSegmentTitle.vue
PartitionBarSegmentValue.vue
API Reference
PartitionBar Props
gapnumber1Space between segments (multiplied by 4px internally).
sizeenum"md"Height of the bar segments. Accepts 'sm', 'md', or 'lg'.
PartitionBarSegment Props
numnumber0The value of this segment relative to the sum of all segments in the bar.
variantstring"default"Theme color matching standard Shadcn variants (default, secondary, destructive, outline, muted).
alignmentenum"center"Horizontal alignment of the content under the bar segment. Accepts 'left', 'center', or 'right'.
Source content adapted from 8 Star labs.
- System50GB
- Apps30GB
- Free20GB
Settings
1 (4px)
source-code.vue
<script setup lang="ts">
import { PartitionBar, PartitionBarSegment, PartitionBarSegmentTitle, PartitionBarSegmentValue } from '@/components/ui/partition-bar'
</script>
<template>
<PartitionBar>
<PartitionBarSegment :num="50">
<PartitionBarSegmentTitle>System</PartitionBarSegmentTitle>
<PartitionBarSegmentValue>50GB</PartitionBarSegmentValue>
</PartitionBarSegment>
<PartitionBarSegment :num="30" variant="secondary">
<PartitionBarSegmentTitle>Apps</PartitionBarSegmentTitle>
<PartitionBarSegmentValue>30GB</PartitionBarSegmentValue>
</PartitionBarSegment>
<PartitionBarSegment :num="20" variant="muted">
<PartitionBarSegmentTitle>Free</PartitionBarSegmentTitle>
<PartitionBarSegmentValue>20GB</PartitionBarSegmentValue>
</PartitionBarSegment>
</PartitionBar>
</template>