@wallarm-org/design-system 0.69.0 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SimpleCharts/HorizontalBar/HorizontalBar.d.ts +30 -0
- package/dist/components/SimpleCharts/HorizontalBar/HorizontalBar.figma.d.ts +1 -0
- package/dist/components/SimpleCharts/HorizontalBar/HorizontalBar.figma.js +46 -0
- package/dist/components/SimpleCharts/HorizontalBar/HorizontalBar.js +132 -0
- package/dist/components/SimpleCharts/HorizontalBar/classes.d.ts +11 -0
- package/dist/components/SimpleCharts/HorizontalBar/classes.js +12 -0
- package/dist/components/SimpleCharts/HorizontalBar/constants.d.ts +8 -0
- package/dist/components/SimpleCharts/HorizontalBar/constants.js +16 -0
- package/dist/components/SimpleCharts/HorizontalBar/index.d.ts +1 -0
- package/dist/components/SimpleCharts/HorizontalBar/index.js +2 -0
- package/dist/components/SimpleCharts/HorizontalBar/lib/resolveSegments.d.ts +10 -0
- package/dist/components/SimpleCharts/HorizontalBar/lib/resolveSegments.js +21 -0
- package/dist/components/SimpleCharts/index.d.ts +1 -0
- package/dist/components/SimpleCharts/index.js +2 -1
- package/dist/metadata/components.json +307 -2
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FC, HTMLAttributes, Ref } from 'react';
|
|
2
|
+
import type { TestableProps } from '../../../utils/testId';
|
|
3
|
+
import type { ChartColor } from '../types';
|
|
4
|
+
export interface HorizontalBarDatum {
|
|
5
|
+
/** Legend label, React key, and `data-name` hook. */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Segment size; proportional to the bar total. */
|
|
8
|
+
value: number;
|
|
9
|
+
/** Built-in palette; resolves via `resolveChartColor`. Omitted → auto-assigned by index. */
|
|
10
|
+
color?: ChartColor;
|
|
11
|
+
/** Tailwind `bg-*` escape hatch; wins over `color` (inline fill is skipped). */
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HorizontalBarProps extends HTMLAttributes<HTMLDivElement>, TestableProps {
|
|
15
|
+
ref?: Ref<HTMLDivElement>;
|
|
16
|
+
/** Segments + legend. One array drives both, so colors stay in sync. */
|
|
17
|
+
data: HorizontalBarDatum[];
|
|
18
|
+
/** Headline number, rendered as `value.toLocaleString('en-US')`. Omitted → header hidden. */
|
|
19
|
+
value?: number;
|
|
20
|
+
/** Delta chip. Rendered as an internal Badge (arrow + number). Omitted → no chip. */
|
|
21
|
+
delta?: {
|
|
22
|
+
value: number;
|
|
23
|
+
trend?: 'up' | 'down';
|
|
24
|
+
};
|
|
25
|
+
/** Bar denominator. `> sum(data.value)` → grey remainder tail. Default: `sum(data.value)`. */
|
|
26
|
+
total?: number;
|
|
27
|
+
/** Show/hide the legend. Default: true. */
|
|
28
|
+
legend?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare const HorizontalBar: FC<HorizontalBarProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import code_connect from "@figma/code-connect";
|
|
3
|
+
import { Chart } from "../Chart/Chart.js";
|
|
4
|
+
import { ChartHeader } from "../Chart/ChartHeader.js";
|
|
5
|
+
import { ChartTitle } from "../Chart/ChartTitle.js";
|
|
6
|
+
import { HorizontalBar } from "./HorizontalBar.js";
|
|
7
|
+
const figmaNodeUrl = 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/WADS-Components?node-id=9667-10883';
|
|
8
|
+
const sampleData = [
|
|
9
|
+
{
|
|
10
|
+
name: 'Critical',
|
|
11
|
+
value: 42,
|
|
12
|
+
color: 'red'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'High',
|
|
16
|
+
value: 31,
|
|
17
|
+
color: 'brand'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'Medium',
|
|
21
|
+
value: 18,
|
|
22
|
+
color: 'amber'
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
code_connect.connect(HorizontalBar, figmaNodeUrl, {
|
|
26
|
+
props: {
|
|
27
|
+
title: code_connect.string('Title')
|
|
28
|
+
},
|
|
29
|
+
example: ({ title })=>/*#__PURE__*/ jsxs(Chart, {
|
|
30
|
+
children: [
|
|
31
|
+
/*#__PURE__*/ jsx(ChartHeader, {
|
|
32
|
+
children: /*#__PURE__*/ jsx(ChartTitle, {
|
|
33
|
+
children: title
|
|
34
|
+
})
|
|
35
|
+
}),
|
|
36
|
+
/*#__PURE__*/ jsx(HorizontalBar, {
|
|
37
|
+
data: sampleData,
|
|
38
|
+
value: 91,
|
|
39
|
+
delta: {
|
|
40
|
+
value: 10,
|
|
41
|
+
trend: 'up'
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
]
|
|
45
|
+
})
|
|
46
|
+
});
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo } from "react";
|
|
3
|
+
import { ArrowDown, ArrowUp } from "../../../icons/index.js";
|
|
4
|
+
import { cn } from "../../../utils/cn.js";
|
|
5
|
+
import { Badge } from "../../Badge/index.js";
|
|
6
|
+
import { resolveChartColor } from "../lib/chartPalette.js";
|
|
7
|
+
import { horizontalBarBarClasses, horizontalBarBarWrapperClasses, horizontalBarHeaderClasses, horizontalBarLegendClasses, horizontalBarLegendDotClasses, horizontalBarLegendItemClasses, horizontalBarLegendLabelClasses, horizontalBarRemainderClasses, horizontalBarRootClasses, horizontalBarSegmentClasses, horizontalBarValueClasses } from "./classes.js";
|
|
8
|
+
import { resolveSegments } from "./lib/resolveSegments.js";
|
|
9
|
+
const formatNumber = (n)=>n.toLocaleString('en-US');
|
|
10
|
+
const HorizontalBar = ({ data, value, delta, total, legend = true, className, ref, 'data-testid': testId, ...props })=>{
|
|
11
|
+
const segments = useMemo(()=>resolveSegments(data, total), [
|
|
12
|
+
data,
|
|
13
|
+
total
|
|
14
|
+
]);
|
|
15
|
+
const slotTestId = (slot)=>testId ? `${testId}--${slot}` : void 0;
|
|
16
|
+
const legendSegments = useMemo(()=>segments.filter((s)=>!s.isRemainder), [
|
|
17
|
+
segments
|
|
18
|
+
]);
|
|
19
|
+
const barAriaLabel = useMemo(()=>legend ? void 0 : legendSegments.length ? legendSegments.map((s)=>`${s.key} ${formatNumber(s.value)}`).join(', ') : void 0, [
|
|
20
|
+
legend,
|
|
21
|
+
legendSegments
|
|
22
|
+
]);
|
|
23
|
+
const hasDuplicateNames = useMemo(()=>{
|
|
24
|
+
const seen = new Set();
|
|
25
|
+
for (const d of data){
|
|
26
|
+
if (seen.has(d.name)) return true;
|
|
27
|
+
seen.add(d.name);
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}, [
|
|
31
|
+
data
|
|
32
|
+
]);
|
|
33
|
+
useEffect(()=>{
|
|
34
|
+
if (hasDuplicateNames && 'production' !== process.env.NODE_ENV) console.warn("[HorizontalBar] `data` contains duplicate `name` values. Names are used as the React key and the `data-name` hook — duplicates cause key collisions and ambiguous selectors. Provide unique names.");
|
|
35
|
+
}, [
|
|
36
|
+
hasDuplicateNames
|
|
37
|
+
]);
|
|
38
|
+
const hasBar = data.length > 0;
|
|
39
|
+
const hasValue = 'number' == typeof value;
|
|
40
|
+
const hasDelta = !!delta;
|
|
41
|
+
const deltaDirection = delta ? delta.trend ?? (delta.value >= 0 ? 'up' : 'down') : null;
|
|
42
|
+
const deltaAbs = delta ? Math.abs(delta.value) : 0;
|
|
43
|
+
return /*#__PURE__*/ jsxs("div", {
|
|
44
|
+
...props,
|
|
45
|
+
ref: ref,
|
|
46
|
+
"data-slot": "horizontal-bar",
|
|
47
|
+
"data-testid": testId,
|
|
48
|
+
className: cn(horizontalBarRootClasses, className),
|
|
49
|
+
children: [
|
|
50
|
+
(hasValue || hasDelta) && /*#__PURE__*/ jsxs("div", {
|
|
51
|
+
"data-slot": "horizontal-bar-header",
|
|
52
|
+
"data-testid": slotTestId('header'),
|
|
53
|
+
className: horizontalBarHeaderClasses,
|
|
54
|
+
children: [
|
|
55
|
+
hasValue && /*#__PURE__*/ jsx("span", {
|
|
56
|
+
"data-slot": "horizontal-bar-value",
|
|
57
|
+
"data-testid": slotTestId('value'),
|
|
58
|
+
className: horizontalBarValueClasses,
|
|
59
|
+
children: formatNumber(value)
|
|
60
|
+
}),
|
|
61
|
+
delta && /*#__PURE__*/ jsxs(Badge, {
|
|
62
|
+
type: "secondary",
|
|
63
|
+
color: "w-orange",
|
|
64
|
+
size: "medium",
|
|
65
|
+
role: "img",
|
|
66
|
+
"aria-label": `${deltaDirection} ${formatNumber(deltaAbs)}`,
|
|
67
|
+
children: [
|
|
68
|
+
'up' === deltaDirection ? /*#__PURE__*/ jsx(ArrowUp, {
|
|
69
|
+
"aria-hidden": true
|
|
70
|
+
}) : /*#__PURE__*/ jsx(ArrowDown, {
|
|
71
|
+
"aria-hidden": true
|
|
72
|
+
}),
|
|
73
|
+
formatNumber(deltaAbs)
|
|
74
|
+
]
|
|
75
|
+
})
|
|
76
|
+
]
|
|
77
|
+
}),
|
|
78
|
+
hasBar && /*#__PURE__*/ jsx("div", {
|
|
79
|
+
"data-slot": "horizontal-bar-bar-wrapper",
|
|
80
|
+
className: horizontalBarBarWrapperClasses,
|
|
81
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
82
|
+
"data-slot": "horizontal-bar-bar",
|
|
83
|
+
"data-testid": slotTestId('bar'),
|
|
84
|
+
"aria-hidden": legend ? 'true' : void 0,
|
|
85
|
+
role: barAriaLabel ? 'img' : void 0,
|
|
86
|
+
"aria-label": barAriaLabel,
|
|
87
|
+
className: horizontalBarBarClasses,
|
|
88
|
+
children: segments.map((seg)=>/*#__PURE__*/ jsx("div", {
|
|
89
|
+
"data-slot": "horizontal-bar-segment",
|
|
90
|
+
"data-testid": slotTestId('segment'),
|
|
91
|
+
"data-name": seg.isRemainder ? void 0 : seg.key,
|
|
92
|
+
"data-remainder": seg.isRemainder ? 'true' : void 0,
|
|
93
|
+
className: cn(horizontalBarSegmentClasses, seg.isRemainder && horizontalBarRemainderClasses, seg.className),
|
|
94
|
+
style: {
|
|
95
|
+
flexGrow: seg.value,
|
|
96
|
+
flexBasis: 0,
|
|
97
|
+
backgroundColor: seg.isRemainder || seg.className ? void 0 : resolveChartColor(seg.color)
|
|
98
|
+
}
|
|
99
|
+
}, seg.key))
|
|
100
|
+
})
|
|
101
|
+
}),
|
|
102
|
+
legend && legendSegments.length > 0 && /*#__PURE__*/ jsx("div", {
|
|
103
|
+
"data-slot": "horizontal-bar-legend",
|
|
104
|
+
"data-testid": slotTestId('legend'),
|
|
105
|
+
className: horizontalBarLegendClasses,
|
|
106
|
+
children: legendSegments.map((seg)=>/*#__PURE__*/ jsxs("span", {
|
|
107
|
+
"data-slot": "horizontal-bar-legend-item",
|
|
108
|
+
"data-testid": slotTestId('legend-item'),
|
|
109
|
+
"data-name": seg.key,
|
|
110
|
+
className: horizontalBarLegendItemClasses,
|
|
111
|
+
children: [
|
|
112
|
+
/*#__PURE__*/ jsx("span", {
|
|
113
|
+
"data-slot": "horizontal-bar-legend-dot",
|
|
114
|
+
"data-testid": slotTestId('legend-dot'),
|
|
115
|
+
"aria-hidden": "true",
|
|
116
|
+
className: cn(horizontalBarLegendDotClasses, seg.className),
|
|
117
|
+
style: {
|
|
118
|
+
backgroundColor: seg.className ? void 0 : resolveChartColor(seg.color)
|
|
119
|
+
}
|
|
120
|
+
}),
|
|
121
|
+
/*#__PURE__*/ jsx("span", {
|
|
122
|
+
className: horizontalBarLegendLabelClasses,
|
|
123
|
+
children: seg.key
|
|
124
|
+
})
|
|
125
|
+
]
|
|
126
|
+
}, seg.key))
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
HorizontalBar.displayName = 'HorizontalBar';
|
|
132
|
+
export { HorizontalBar };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const horizontalBarRootClasses: string;
|
|
2
|
+
export declare const horizontalBarBarWrapperClasses: string;
|
|
3
|
+
export declare const horizontalBarBarClasses: string;
|
|
4
|
+
export declare const horizontalBarSegmentClasses: string;
|
|
5
|
+
export declare const horizontalBarRemainderClasses: string;
|
|
6
|
+
export declare const horizontalBarHeaderClasses: string;
|
|
7
|
+
export declare const horizontalBarValueClasses: string;
|
|
8
|
+
export declare const horizontalBarLegendClasses: string;
|
|
9
|
+
export declare const horizontalBarLegendItemClasses: string;
|
|
10
|
+
export declare const horizontalBarLegendDotClasses: string;
|
|
11
|
+
export declare const horizontalBarLegendLabelClasses: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const horizontalBarRootClasses = "flex flex-col w-full";
|
|
2
|
+
const horizontalBarBarWrapperClasses = "px-16 py-8 w-full";
|
|
3
|
+
const horizontalBarBarClasses = "flex h-8 w-full overflow-hidden rounded-4";
|
|
4
|
+
const horizontalBarSegmentClasses = "h-full min-w-px";
|
|
5
|
+
const horizontalBarRemainderClasses = "bg-bg-strong-primary";
|
|
6
|
+
const horizontalBarHeaderClasses = "flex items-baseline gap-8 px-16 pt-8";
|
|
7
|
+
const horizontalBarValueClasses = "text-3xl font-medium leading-3xl text-text-primary";
|
|
8
|
+
const horizontalBarLegendClasses = "flex flex-row flex-wrap items-center gap-6 px-12 py-2";
|
|
9
|
+
const horizontalBarLegendItemClasses = "inline-flex items-center gap-4 px-4 py-2";
|
|
10
|
+
const horizontalBarLegendDotClasses = "inline-block size-8 rounded-2 shrink-0";
|
|
11
|
+
const horizontalBarLegendLabelClasses = "text-xs font-mono text-text-primary";
|
|
12
|
+
export { horizontalBarBarClasses, horizontalBarBarWrapperClasses, horizontalBarHeaderClasses, horizontalBarLegendClasses, horizontalBarLegendDotClasses, horizontalBarLegendItemClasses, horizontalBarLegendLabelClasses, horizontalBarRemainderClasses, horizontalBarRootClasses, horizontalBarSegmentClasses, horizontalBarValueClasses };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChartColor } from '../types';
|
|
2
|
+
/** Reserved key for the auto-generated remainder tail (must not collide with a datum name). */
|
|
3
|
+
export declare const REMAINDER_KEY = "__horizontal-bar-remainder__";
|
|
4
|
+
/**
|
|
5
|
+
* Auto-cycle order for data without an explicit `color`. Leads with the
|
|
6
|
+
* warm hues used in the Figma reference (red → brand/w-orange → amber).
|
|
7
|
+
*/
|
|
8
|
+
export declare const HORIZONTAL_BAR_PALETTE: ChartColor[];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const REMAINDER_KEY = '__horizontal-bar-remainder__';
|
|
2
|
+
const HORIZONTAL_BAR_PALETTE = [
|
|
3
|
+
'red',
|
|
4
|
+
'brand',
|
|
5
|
+
'amber',
|
|
6
|
+
'blue',
|
|
7
|
+
'green',
|
|
8
|
+
'purple',
|
|
9
|
+
'teal',
|
|
10
|
+
'cyan',
|
|
11
|
+
'indigo',
|
|
12
|
+
'pink',
|
|
13
|
+
'rose',
|
|
14
|
+
'slate'
|
|
15
|
+
];
|
|
16
|
+
export { HORIZONTAL_BAR_PALETTE, REMAINDER_KEY };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HorizontalBar, type HorizontalBarDatum, type HorizontalBarProps, } from './HorizontalBar';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChartColor } from '../../types';
|
|
2
|
+
import type { HorizontalBarDatum } from '../HorizontalBar';
|
|
3
|
+
export interface ResolvedSegment {
|
|
4
|
+
key: string;
|
|
5
|
+
value: number;
|
|
6
|
+
color?: ChartColor;
|
|
7
|
+
className?: string;
|
|
8
|
+
isRemainder: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function resolveSegments(data: HorizontalBarDatum[], total?: number): ResolvedSegment[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { HORIZONTAL_BAR_PALETTE, REMAINDER_KEY } from "../constants.js";
|
|
2
|
+
const sanitize = (n)=>'number' == typeof n && Number.isFinite(n) && n > 0 ? n : 0;
|
|
3
|
+
function resolveSegments(data, total) {
|
|
4
|
+
const segments = data.map((d, i)=>({
|
|
5
|
+
key: d.name,
|
|
6
|
+
value: sanitize(d.value),
|
|
7
|
+
color: d.color ?? HORIZONTAL_BAR_PALETTE[i % HORIZONTAL_BAR_PALETTE.length],
|
|
8
|
+
className: d.className,
|
|
9
|
+
isRemainder: false
|
|
10
|
+
}));
|
|
11
|
+
const sum = segments.reduce((s, seg)=>s + seg.value, 0);
|
|
12
|
+
const hasTotal = 'number' == typeof total && Number.isFinite(total) && total > sum;
|
|
13
|
+
const remainder = hasTotal ? total - sum : 0;
|
|
14
|
+
if (remainder > 0) segments.push({
|
|
15
|
+
key: REMAINDER_KEY,
|
|
16
|
+
value: remainder,
|
|
17
|
+
isRemainder: true
|
|
18
|
+
});
|
|
19
|
+
return segments;
|
|
20
|
+
}
|
|
21
|
+
export { resolveSegments };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { BarList, BarListBar, type BarListBarProps, BarListItem, type BarListItemProps, BarListLabel, type BarListLabelProps, BarListPercent, type BarListPercentProps, type BarListProps, BarListSkeleton, type BarListSkeletonProps, BarListValue, type BarListValueProps, } from './BarList';
|
|
2
2
|
export { Chart, ChartActions, type ChartActionsProps, ChartEmpty, type ChartEmptyProps, ChartHeader, type ChartHeaderProps, type ChartProps, ChartTitle, type ChartTitleProps, } from './Chart';
|
|
3
|
+
export { HorizontalBar, type HorizontalBarDatum, type HorizontalBarProps, } from './HorizontalBar';
|
|
3
4
|
export { type ChartTimeFormatters, useChartTimeFormatters } from './hooks';
|
|
4
5
|
export { LineChart, LineChartBody, type LineChartBodyProps, type LineChartDatum, LineChartEmpty, type LineChartEmptyProps, LineChartGrid, type LineChartGridProps, LineChartHoverPopover, LineChartHoverPopoverDot, type LineChartHoverPopoverDotProps, type LineChartHoverPopoverProps, LineChartHoverPopoverRow, type LineChartHoverPopoverRowProps, LineChartHoverPopoverTimestamp, type LineChartHoverPopoverTimestampProps, LineChartLegend, LineChartLegendItem, type LineChartLegendItemProps, type LineChartLegendOrientation, type LineChartLegendProps, LineChartLine, type LineChartLineProps, type LineChartProps, type LineChartSeries, LineChartTooltip, type LineChartTooltipProps, type LineChartTooltipRenderArgs, LineChartXAxis, type LineChartXAxisProps, LineChartYAxis, type LineChartYAxisProps, LineChartZoomBrush, type LineChartZoomBrushProps, LineChartZoomPopover, LineChartZoomPopoverConfirm, type LineChartZoomPopoverConfirmProps, type LineChartZoomPopoverProps, LineChartZoomPopoverRange, type LineChartZoomPopoverRangeProps, type LineChartZoomRange, } from './LineChart';
|
|
5
6
|
export { type ChartHourCycle, type ChartTimeFormatterOptions, type ChartTimeOrder, formatChartDate, formatChartDateTime, formatChartHour, formatChartTimezone, withTimezoneChip, } from './lib';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BarList, BarListBar, BarListItem, BarListLabel, BarListPercent, BarListSkeleton, BarListValue } from "./BarList/index.js";
|
|
2
2
|
import { Chart, ChartActions, ChartEmpty, ChartHeader, ChartTitle } from "./Chart/index.js";
|
|
3
|
+
import { HorizontalBar } from "./HorizontalBar/index.js";
|
|
3
4
|
import { useChartTimeFormatters } from "./hooks/index.js";
|
|
4
5
|
import { LineChart, LineChartBody, LineChartEmpty, LineChartGrid, LineChartHoverPopover, LineChartHoverPopoverDot, LineChartHoverPopoverRow, LineChartHoverPopoverTimestamp, LineChartLegend, LineChartLegendItem, LineChartLine, LineChartTooltip, LineChartXAxis, LineChartYAxis, LineChartZoomBrush, LineChartZoomPopover, LineChartZoomPopoverConfirm, LineChartZoomPopoverRange } from "./LineChart/index.js";
|
|
5
6
|
import { formatChartDate, formatChartDateTime, formatChartHour, formatChartTimezone, withTimezoneChip } from "./lib/index.js";
|
|
6
7
|
import { LegendDot, PieChart, PieChartCenter, PieChartCenterLabel, PieChartCenterValue, PieChartDonut, PieChartLegend, PieChartLegendItem, PieChartLegendPercent, PieChartLegendValue, PieChartSkeleton } from "./PieChart/index.js";
|
|
7
|
-
export { BarList, BarListBar, BarListItem, BarListLabel, BarListPercent, BarListSkeleton, BarListValue, Chart, ChartActions, ChartEmpty, ChartHeader, ChartTitle, LegendDot, LineChart, LineChartBody, LineChartEmpty, LineChartGrid, LineChartHoverPopover, LineChartHoverPopoverDot, LineChartHoverPopoverRow, LineChartHoverPopoverTimestamp, LineChartLegend, LineChartLegendItem, LineChartLine, LineChartTooltip, LineChartXAxis, LineChartYAxis, LineChartZoomBrush, LineChartZoomPopover, LineChartZoomPopoverConfirm, LineChartZoomPopoverRange, PieChart, PieChartCenter, PieChartCenterLabel, PieChartCenterValue, PieChartDonut, PieChartLegend, PieChartLegendItem, PieChartLegendPercent, PieChartLegendValue, PieChartSkeleton, formatChartDate, formatChartDateTime, formatChartHour, formatChartTimezone, useChartTimeFormatters, withTimezoneChip };
|
|
8
|
+
export { BarList, BarListBar, BarListItem, BarListLabel, BarListPercent, BarListSkeleton, BarListValue, Chart, ChartActions, ChartEmpty, ChartHeader, ChartTitle, HorizontalBar, LegendDot, LineChart, LineChartBody, LineChartEmpty, LineChartGrid, LineChartHoverPopover, LineChartHoverPopoverDot, LineChartHoverPopoverRow, LineChartHoverPopoverTimestamp, LineChartLegend, LineChartLegendItem, LineChartLine, LineChartTooltip, LineChartXAxis, LineChartYAxis, LineChartZoomBrush, LineChartZoomPopover, LineChartZoomPopoverConfirm, LineChartZoomPopoverRange, PieChart, PieChartCenter, PieChartCenterLabel, PieChartCenterValue, PieChartDonut, PieChartLegend, PieChartLegendItem, PieChartLegendPercent, PieChartLegendValue, PieChartSkeleton, formatChartDate, formatChartDateTime, formatChartHour, formatChartTimezone, useChartTimeFormatters, withTimezoneChip };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
3
|
-
"generatedAt": "2026-07-
|
|
2
|
+
"version": "0.69.0",
|
|
3
|
+
"generatedAt": "2026-07-02T05:34:16.725Z",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"name": "Accordion",
|
|
@@ -55563,6 +55563,311 @@
|
|
|
55563
55563
|
}
|
|
55564
55564
|
]
|
|
55565
55565
|
},
|
|
55566
|
+
{
|
|
55567
|
+
"name": "HorizontalBar",
|
|
55568
|
+
"props": [
|
|
55569
|
+
{
|
|
55570
|
+
"name": "data",
|
|
55571
|
+
"type": "HorizontalBarDatum[]",
|
|
55572
|
+
"required": true,
|
|
55573
|
+
"description": "Segments + legend. One array drives both, so colors stay in sync."
|
|
55574
|
+
},
|
|
55575
|
+
{
|
|
55576
|
+
"name": "value",
|
|
55577
|
+
"type": "number | undefined",
|
|
55578
|
+
"required": false,
|
|
55579
|
+
"description": "Headline number, rendered as `value.toLocaleString('en-US')`. Omitted → header hidden."
|
|
55580
|
+
},
|
|
55581
|
+
{
|
|
55582
|
+
"name": "delta",
|
|
55583
|
+
"type": "{ value: number; trend?: \"up\" | \"down\" | undefined; } | undefined",
|
|
55584
|
+
"required": false,
|
|
55585
|
+
"description": "Delta chip. Rendered as an internal Badge (arrow + number). Omitted → no chip."
|
|
55586
|
+
},
|
|
55587
|
+
{
|
|
55588
|
+
"name": "total",
|
|
55589
|
+
"type": "number | undefined",
|
|
55590
|
+
"required": false,
|
|
55591
|
+
"description": "Bar denominator. `> sum(data.value)` → grey remainder tail. Default: `sum(data.value)`."
|
|
55592
|
+
},
|
|
55593
|
+
{
|
|
55594
|
+
"name": "legend",
|
|
55595
|
+
"type": "boolean | undefined",
|
|
55596
|
+
"required": false,
|
|
55597
|
+
"description": "Show/hide the legend. Default: true."
|
|
55598
|
+
},
|
|
55599
|
+
{
|
|
55600
|
+
"name": "defaultChecked",
|
|
55601
|
+
"type": "boolean | undefined",
|
|
55602
|
+
"required": false
|
|
55603
|
+
},
|
|
55604
|
+
{
|
|
55605
|
+
"name": "defaultValue",
|
|
55606
|
+
"type": "string | number | readonly string[] | undefined",
|
|
55607
|
+
"required": false
|
|
55608
|
+
},
|
|
55609
|
+
{
|
|
55610
|
+
"name": "suppressContentEditableWarning",
|
|
55611
|
+
"type": "boolean | undefined",
|
|
55612
|
+
"required": false
|
|
55613
|
+
},
|
|
55614
|
+
{
|
|
55615
|
+
"name": "suppressHydrationWarning",
|
|
55616
|
+
"type": "boolean | undefined",
|
|
55617
|
+
"required": false
|
|
55618
|
+
},
|
|
55619
|
+
{
|
|
55620
|
+
"name": "accessKey",
|
|
55621
|
+
"type": "string | undefined",
|
|
55622
|
+
"required": false
|
|
55623
|
+
},
|
|
55624
|
+
{
|
|
55625
|
+
"name": "autoCapitalize",
|
|
55626
|
+
"type": "\"off\" | \"none\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | (string & {}) | undefined",
|
|
55627
|
+
"required": false
|
|
55628
|
+
},
|
|
55629
|
+
{
|
|
55630
|
+
"name": "autoFocus",
|
|
55631
|
+
"type": "boolean | undefined",
|
|
55632
|
+
"required": false
|
|
55633
|
+
},
|
|
55634
|
+
{
|
|
55635
|
+
"name": "contentEditable",
|
|
55636
|
+
"type": "Booleanish | \"inherit\" | \"plaintext-only\" | undefined",
|
|
55637
|
+
"required": false
|
|
55638
|
+
},
|
|
55639
|
+
{
|
|
55640
|
+
"name": "contextMenu",
|
|
55641
|
+
"type": "string | undefined",
|
|
55642
|
+
"required": false
|
|
55643
|
+
},
|
|
55644
|
+
{
|
|
55645
|
+
"name": "dir",
|
|
55646
|
+
"type": "string | undefined",
|
|
55647
|
+
"required": false
|
|
55648
|
+
},
|
|
55649
|
+
{
|
|
55650
|
+
"name": "draggable",
|
|
55651
|
+
"type": "Booleanish | undefined",
|
|
55652
|
+
"required": false
|
|
55653
|
+
},
|
|
55654
|
+
{
|
|
55655
|
+
"name": "enterKeyHint",
|
|
55656
|
+
"type": "\"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
|
|
55657
|
+
"required": false
|
|
55658
|
+
},
|
|
55659
|
+
{
|
|
55660
|
+
"name": "hidden",
|
|
55661
|
+
"type": "boolean | undefined",
|
|
55662
|
+
"required": false
|
|
55663
|
+
},
|
|
55664
|
+
{
|
|
55665
|
+
"name": "id",
|
|
55666
|
+
"type": "string | undefined",
|
|
55667
|
+
"required": false
|
|
55668
|
+
},
|
|
55669
|
+
{
|
|
55670
|
+
"name": "lang",
|
|
55671
|
+
"type": "string | undefined",
|
|
55672
|
+
"required": false
|
|
55673
|
+
},
|
|
55674
|
+
{
|
|
55675
|
+
"name": "nonce",
|
|
55676
|
+
"type": "string | undefined",
|
|
55677
|
+
"required": false
|
|
55678
|
+
},
|
|
55679
|
+
{
|
|
55680
|
+
"name": "slot",
|
|
55681
|
+
"type": "string | undefined",
|
|
55682
|
+
"required": false
|
|
55683
|
+
},
|
|
55684
|
+
{
|
|
55685
|
+
"name": "spellCheck",
|
|
55686
|
+
"type": "Booleanish | undefined",
|
|
55687
|
+
"required": false
|
|
55688
|
+
},
|
|
55689
|
+
{
|
|
55690
|
+
"name": "tabIndex",
|
|
55691
|
+
"type": "number | undefined",
|
|
55692
|
+
"required": false
|
|
55693
|
+
},
|
|
55694
|
+
{
|
|
55695
|
+
"name": "title",
|
|
55696
|
+
"type": "string | undefined",
|
|
55697
|
+
"required": false
|
|
55698
|
+
},
|
|
55699
|
+
{
|
|
55700
|
+
"name": "translate",
|
|
55701
|
+
"type": "\"yes\" | \"no\" | undefined",
|
|
55702
|
+
"required": false
|
|
55703
|
+
},
|
|
55704
|
+
{
|
|
55705
|
+
"name": "radioGroup",
|
|
55706
|
+
"type": "string | undefined",
|
|
55707
|
+
"required": false
|
|
55708
|
+
},
|
|
55709
|
+
{
|
|
55710
|
+
"name": "role",
|
|
55711
|
+
"type": "AriaRole | undefined",
|
|
55712
|
+
"required": false
|
|
55713
|
+
},
|
|
55714
|
+
{
|
|
55715
|
+
"name": "about",
|
|
55716
|
+
"type": "string | undefined",
|
|
55717
|
+
"required": false
|
|
55718
|
+
},
|
|
55719
|
+
{
|
|
55720
|
+
"name": "content",
|
|
55721
|
+
"type": "string | undefined",
|
|
55722
|
+
"required": false
|
|
55723
|
+
},
|
|
55724
|
+
{
|
|
55725
|
+
"name": "datatype",
|
|
55726
|
+
"type": "string | undefined",
|
|
55727
|
+
"required": false
|
|
55728
|
+
},
|
|
55729
|
+
{
|
|
55730
|
+
"name": "inlist",
|
|
55731
|
+
"type": "any",
|
|
55732
|
+
"required": false
|
|
55733
|
+
},
|
|
55734
|
+
{
|
|
55735
|
+
"name": "prefix",
|
|
55736
|
+
"type": "string | undefined",
|
|
55737
|
+
"required": false
|
|
55738
|
+
},
|
|
55739
|
+
{
|
|
55740
|
+
"name": "property",
|
|
55741
|
+
"type": "string | undefined",
|
|
55742
|
+
"required": false
|
|
55743
|
+
},
|
|
55744
|
+
{
|
|
55745
|
+
"name": "rel",
|
|
55746
|
+
"type": "string | undefined",
|
|
55747
|
+
"required": false
|
|
55748
|
+
},
|
|
55749
|
+
{
|
|
55750
|
+
"name": "resource",
|
|
55751
|
+
"type": "string | undefined",
|
|
55752
|
+
"required": false
|
|
55753
|
+
},
|
|
55754
|
+
{
|
|
55755
|
+
"name": "rev",
|
|
55756
|
+
"type": "string | undefined",
|
|
55757
|
+
"required": false
|
|
55758
|
+
},
|
|
55759
|
+
{
|
|
55760
|
+
"name": "typeof",
|
|
55761
|
+
"type": "string | undefined",
|
|
55762
|
+
"required": false
|
|
55763
|
+
},
|
|
55764
|
+
{
|
|
55765
|
+
"name": "vocab",
|
|
55766
|
+
"type": "string | undefined",
|
|
55767
|
+
"required": false
|
|
55768
|
+
},
|
|
55769
|
+
{
|
|
55770
|
+
"name": "autoCorrect",
|
|
55771
|
+
"type": "string | undefined",
|
|
55772
|
+
"required": false
|
|
55773
|
+
},
|
|
55774
|
+
{
|
|
55775
|
+
"name": "autoSave",
|
|
55776
|
+
"type": "string | undefined",
|
|
55777
|
+
"required": false
|
|
55778
|
+
},
|
|
55779
|
+
{
|
|
55780
|
+
"name": "color",
|
|
55781
|
+
"type": "string | undefined",
|
|
55782
|
+
"required": false
|
|
55783
|
+
},
|
|
55784
|
+
{
|
|
55785
|
+
"name": "itemProp",
|
|
55786
|
+
"type": "string | undefined",
|
|
55787
|
+
"required": false
|
|
55788
|
+
},
|
|
55789
|
+
{
|
|
55790
|
+
"name": "itemScope",
|
|
55791
|
+
"type": "boolean | undefined",
|
|
55792
|
+
"required": false
|
|
55793
|
+
},
|
|
55794
|
+
{
|
|
55795
|
+
"name": "itemType",
|
|
55796
|
+
"type": "string | undefined",
|
|
55797
|
+
"required": false
|
|
55798
|
+
},
|
|
55799
|
+
{
|
|
55800
|
+
"name": "itemID",
|
|
55801
|
+
"type": "string | undefined",
|
|
55802
|
+
"required": false
|
|
55803
|
+
},
|
|
55804
|
+
{
|
|
55805
|
+
"name": "itemRef",
|
|
55806
|
+
"type": "string | undefined",
|
|
55807
|
+
"required": false
|
|
55808
|
+
},
|
|
55809
|
+
{
|
|
55810
|
+
"name": "results",
|
|
55811
|
+
"type": "number | undefined",
|
|
55812
|
+
"required": false
|
|
55813
|
+
},
|
|
55814
|
+
{
|
|
55815
|
+
"name": "security",
|
|
55816
|
+
"type": "string | undefined",
|
|
55817
|
+
"required": false
|
|
55818
|
+
},
|
|
55819
|
+
{
|
|
55820
|
+
"name": "unselectable",
|
|
55821
|
+
"type": "\"off\" | \"on\" | undefined",
|
|
55822
|
+
"required": false
|
|
55823
|
+
},
|
|
55824
|
+
{
|
|
55825
|
+
"name": "popover",
|
|
55826
|
+
"type": "\"\" | \"auto\" | \"manual\" | \"hint\" | undefined",
|
|
55827
|
+
"required": false
|
|
55828
|
+
},
|
|
55829
|
+
{
|
|
55830
|
+
"name": "popoverTargetAction",
|
|
55831
|
+
"type": "\"toggle\" | \"show\" | \"hide\" | undefined",
|
|
55832
|
+
"required": false
|
|
55833
|
+
},
|
|
55834
|
+
{
|
|
55835
|
+
"name": "popoverTarget",
|
|
55836
|
+
"type": "string | undefined",
|
|
55837
|
+
"required": false
|
|
55838
|
+
},
|
|
55839
|
+
{
|
|
55840
|
+
"name": "inert",
|
|
55841
|
+
"type": "boolean | undefined",
|
|
55842
|
+
"required": false,
|
|
55843
|
+
"description": "@see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert"
|
|
55844
|
+
},
|
|
55845
|
+
{
|
|
55846
|
+
"name": "inputMode",
|
|
55847
|
+
"type": "\"none\" | \"search\" | \"text\" | \"tel\" | \"url\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
|
|
55848
|
+
"required": false,
|
|
55849
|
+
"description": "Hints at the type of data that might be entered by the user while editing the element or its contents"
|
|
55850
|
+
},
|
|
55851
|
+
{
|
|
55852
|
+
"name": "is",
|
|
55853
|
+
"type": "string | undefined",
|
|
55854
|
+
"required": false,
|
|
55855
|
+
"description": "Specify that a standard HTML element should behave like a defined custom built-in element"
|
|
55856
|
+
},
|
|
55857
|
+
{
|
|
55858
|
+
"name": "exportparts",
|
|
55859
|
+
"type": "string | undefined",
|
|
55860
|
+
"required": false,
|
|
55861
|
+
"description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts}"
|
|
55862
|
+
},
|
|
55863
|
+
{
|
|
55864
|
+
"name": "part",
|
|
55865
|
+
"type": "string | undefined",
|
|
55866
|
+
"required": false,
|
|
55867
|
+
"description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part}"
|
|
55868
|
+
}
|
|
55869
|
+
]
|
|
55870
|
+
},
|
|
55566
55871
|
{
|
|
55567
55872
|
"name": "LineChartBody",
|
|
55568
55873
|
"props": [
|