DistributionBar

Horizontal stacked bar and optional legend from named items with color and percentage share.

Barra horizontal segmentada para partilhas (por exemplo categorias de vendas, quotas, etc.): recebe uma lista com name, color e percentage. Valores positivos são normalizados para a barra somar 100% da largura; a legenda mostra a percentagem já normalizada. Por defeito ordena por maior partilha primeiro.

Importação

import {
	DistributionBar,
	type DistributionItem,
} from "@zexon/ui/blocks/distribution-bar";

Uso

Exemplo

Itens com percentage ≤ 0 são ignorados. maxLabels limita quantas entradas aparecem na legenda; a barra continua a usar todos os itens válidos.

Props

PropTipoPredefiniçãoNotas
itemsDistributionItem[]name, percentage, color
showLabelsbooleantrueLegenda com bolinha de cor e %
maxLabelsnumber6Limite de linhas na legenda
sortByPercentagebooleantrueOrdem decrescente por partilha
fractionDigitsnumber1Casas decimais na legenda e title
emptyMessagestring"Nenhum dado para mostrar"Sem dados ou soma zero

Demais props repassam-se ao div raiz (className, id, etc.).

Anterior:

Próximo: