termcast 1.4.1 → 1.5.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/build.d.ts.map +1 -1
- package/dist/build.js +8 -7
- package/dist/build.js.map +1 -1
- package/dist/cli.js +0 -40
- package/dist/cli.js.map +1 -1
- package/dist/components/bar-graph.d.ts +23 -8
- package/dist/components/bar-graph.d.ts.map +1 -1
- package/dist/components/bar-graph.js +84 -40
- package/dist/components/bar-graph.js.map +1 -1
- package/dist/components/dotted-line-graph.d.ts +86 -0
- package/dist/components/dotted-line-graph.d.ts.map +1 -0
- package/dist/components/dotted-line-graph.js +260 -0
- package/dist/components/dotted-line-graph.js.map +1 -0
- package/dist/components/extension-preferences.d.ts.map +1 -1
- package/dist/components/extension-preferences.js +1 -10
- package/dist/components/extension-preferences.js.map +1 -1
- package/dist/components/graph.d.ts.map +1 -1
- package/dist/components/graph.js +7 -1
- package/dist/components/graph.js.map +1 -1
- package/dist/components/histogram.d.ts +42 -0
- package/dist/components/histogram.d.ts.map +1 -0
- package/dist/components/histogram.js +115 -0
- package/dist/components/histogram.js.map +1 -0
- package/dist/components/horizontal-bar-graph.d.ts +47 -0
- package/dist/components/horizontal-bar-graph.d.ts.map +1 -0
- package/dist/components/horizontal-bar-graph.js +137 -0
- package/dist/components/horizontal-bar-graph.js.map +1 -0
- package/dist/components/list.d.ts +2 -0
- package/dist/components/list.d.ts.map +1 -1
- package/dist/components/list.js +10 -10
- package/dist/components/list.js.map +1 -1
- package/dist/examples/bar-graph-weekly.js +2 -2
- package/dist/examples/bar-graph-weekly.js.map +1 -1
- package/dist/examples/charts-showcase-barchart.d.ts +2 -0
- package/dist/examples/charts-showcase-barchart.d.ts.map +1 -0
- package/dist/examples/charts-showcase-barchart.js +10 -0
- package/dist/examples/charts-showcase-barchart.js.map +1 -0
- package/dist/examples/charts-showcase-bargraph.d.ts +2 -0
- package/dist/examples/charts-showcase-bargraph.d.ts.map +1 -0
- package/dist/examples/charts-showcase-bargraph.js +60 -0
- package/dist/examples/charts-showcase-bargraph.js.map +1 -0
- package/dist/examples/charts-showcase-candle.d.ts +2 -0
- package/dist/examples/charts-showcase-candle.d.ts.map +1 -0
- package/dist/examples/charts-showcase-candle.js +30 -0
- package/dist/examples/charts-showcase-candle.js.map +1 -0
- package/dist/examples/charts-showcase-graph.d.ts +2 -0
- package/dist/examples/charts-showcase-graph.d.ts.map +1 -0
- package/dist/examples/charts-showcase-graph.js +33 -0
- package/dist/examples/charts-showcase-graph.js.map +1 -0
- package/dist/examples/charts-showcase-heatmap.d.ts +2 -0
- package/dist/examples/charts-showcase-heatmap.d.ts.map +1 -0
- package/dist/examples/charts-showcase-heatmap.js +36 -0
- package/dist/examples/charts-showcase-heatmap.js.map +1 -0
- package/dist/examples/charts-showcase-mixed.d.ts +2 -0
- package/dist/examples/charts-showcase-mixed.d.ts.map +1 -0
- package/dist/examples/charts-showcase-mixed.js +30 -0
- package/dist/examples/charts-showcase-mixed.js.map +1 -0
- package/dist/examples/charts-showcase-progress.d.ts +2 -0
- package/dist/examples/charts-showcase-progress.d.ts.map +1 -0
- package/dist/examples/charts-showcase-progress.js +10 -0
- package/dist/examples/charts-showcase-progress.js.map +1 -0
- package/dist/examples/graph-multi-series.js +1 -1
- package/dist/examples/graph-multi-series.js.map +1 -1
- package/dist/examples/horizontal-bar-graph-weekly.d.ts +2 -0
- package/dist/examples/horizontal-bar-graph-weekly.d.ts.map +1 -0
- package/dist/examples/horizontal-bar-graph-weekly.js +67 -0
- package/dist/examples/horizontal-bar-graph-weekly.js.map +1 -0
- package/dist/examples/simple-dotted-line-graph.d.ts +2 -0
- package/dist/examples/simple-dotted-line-graph.d.ts.map +1 -0
- package/dist/examples/simple-dotted-line-graph.js +39 -0
- package/dist/examples/simple-dotted-line-graph.js.map +1 -0
- package/dist/examples/simple-histogram.d.ts +2 -0
- package/dist/examples/simple-histogram.d.ts.map +1 -0
- package/dist/examples/simple-histogram.js +47 -0
- package/dist/examples/simple-histogram.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/platform/node/sqlite.d.ts +6 -5
- package/dist/platform/node/sqlite.d.ts.map +1 -1
- package/dist/platform/node/sqlite.js +30 -14
- package/dist/platform/node/sqlite.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +11 -9
- package/dist/theme.js.map +1 -1
- package/dist/utils/run-command.d.ts.map +1 -1
- package/dist/utils/run-command.js +8 -19
- package/dist/utils/run-command.js.map +1 -1
- package/dist/utils.d.ts +1 -19
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -100
- package/dist/utils.js.map +1 -1
- package/package.json +6 -8
- package/src/build.tsx +11 -10
- package/src/cli.tsx +3 -40
- package/src/compile.vitest.tsx +3 -3
- package/src/components/bar-graph.tsx +217 -111
- package/src/components/dotted-line-graph.tsx +407 -0
- package/src/components/extension-preferences.tsx +2 -12
- package/src/components/graph.tsx +5 -1
- package/src/components/histogram.tsx +228 -0
- package/src/components/horizontal-bar-graph.tsx +279 -0
- package/src/components/list.tsx +20 -15
- package/src/examples/action-shortcut.vitest.tsx +17 -17
- package/src/examples/bar-graph-weekly.tsx +2 -2
- package/src/examples/bar-graph-weekly.vitest.tsx +63 -62
- package/src/examples/charts-showcase-bargraph.tsx +103 -0
- package/src/examples/detail-metadata-showcase.vitest.tsx +12 -12
- package/src/examples/form-basic.vitest.tsx +11 -11
- package/src/examples/form-dropdown.vitest.tsx +11 -11
- package/src/examples/form-scroll.vitest.tsx +1 -1
- package/src/examples/form-tagpicker.vitest.tsx +11 -11
- package/src/examples/github.vitest.tsx +22 -22
- package/src/examples/graph-bar-chart.vitest.tsx +8 -8
- package/src/examples/graph-multi-series.tsx +1 -1
- package/src/examples/graph-row.vitest.tsx +14 -14
- package/src/examples/graph-styles.vitest.tsx +77 -77
- package/src/examples/horizontal-bar-graph-weekly.tsx +138 -0
- package/src/examples/horizontal-bar-graph-weekly.vitest.tsx +164 -0
- package/src/examples/list-detail-metadata.vitest.tsx +4 -4
- package/src/examples/list-with-detail.vitest.tsx +46 -46
- package/src/examples/simple-candle-chart.vitest.tsx +8 -8
- package/src/examples/simple-dotted-line-graph.tsx +53 -0
- package/src/examples/simple-dotted-line-graph.vitest.tsx +62 -0
- package/src/examples/simple-grid.vitest.tsx +4 -4
- package/src/examples/simple-heatmap.vitest.tsx +9 -9
- package/src/examples/simple-histogram.tsx +90 -0
- package/src/examples/simple-navigation.vitest.tsx +4 -4
- package/src/examples/swift-extension.vitest.tsx +3 -3
- package/src/extensions/dev.vitest.tsx +8 -8
- package/src/index.tsx +21 -0
- package/src/platform/node/sqlite.ts +29 -13
- package/src/theme.tsx +11 -10
- package/src/utils/run-command.tsx +10 -19
- package/src/utils.tsx +0 -163
- package/src/examples/store.tsx +0 -4
- package/src/examples/store.vitest.tsx +0 -78
- package/src/extensions/home.tsx +0 -227
- package/src/extensions/store.tsx +0 -375
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Histogram component for rendering horizontal distribution tables in the terminal.
|
|
4
|
+
*
|
|
5
|
+
* Each row displays a colored dot, label, count, percentage, and a horizontal
|
|
6
|
+
* bar made of repeated characters. Includes optional header and totals footer.
|
|
7
|
+
*
|
|
8
|
+
* Colors can be set per-item via props, or auto-assigned from the theme palette
|
|
9
|
+
* in row order (cycling when there are more items than palette colors).
|
|
10
|
+
*/
|
|
11
|
+
import React, { useMemo } from 'react';
|
|
12
|
+
import { useTheme, getThemePalette } from 'termcast/src/theme';
|
|
13
|
+
import { resolveColor } from 'termcast/src/colors';
|
|
14
|
+
// ── Collect children recursively (handles fragments) ─────────────────
|
|
15
|
+
function collectItems(children, maxLabelWidth) {
|
|
16
|
+
const result = [];
|
|
17
|
+
const flatten = (node) => {
|
|
18
|
+
React.Children.forEach(node, (child) => {
|
|
19
|
+
if (!React.isValidElement(child))
|
|
20
|
+
return;
|
|
21
|
+
// Traverse fragments
|
|
22
|
+
if (child.type === React.Fragment) {
|
|
23
|
+
const fragmentProps = child.props;
|
|
24
|
+
flatten(fragmentProps.children);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const p = child.props;
|
|
28
|
+
if (p.label === undefined || p.value === undefined)
|
|
29
|
+
return;
|
|
30
|
+
const displayLabel = p.label.length > maxLabelWidth
|
|
31
|
+
? p.label.slice(0, maxLabelWidth - 1) + '…'
|
|
32
|
+
: p.label;
|
|
33
|
+
result.push({
|
|
34
|
+
label: p.label,
|
|
35
|
+
displayLabel,
|
|
36
|
+
value: p.value,
|
|
37
|
+
color: resolveColor(p.color),
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
flatten(children);
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
// ── Histogram.Item (data-only, renders null like BarChart.Segment) ───
|
|
45
|
+
const HistogramItem = (_props) => {
|
|
46
|
+
return null;
|
|
47
|
+
};
|
|
48
|
+
// ── Main Histogram component ─────────────────────────────────────────
|
|
49
|
+
const Histogram = (props) => {
|
|
50
|
+
const theme = useTheme();
|
|
51
|
+
const { maxBarWidth = 30, barCharacter = '╻', showHeader = true, showTotal = true, showPercentage = true, maxLabelWidth = 24, children, } = props;
|
|
52
|
+
const palette = getThemePalette(theme);
|
|
53
|
+
// Collect item data from children (traverses fragments)
|
|
54
|
+
const items = useMemo(() => {
|
|
55
|
+
return collectItems(children, maxLabelWidth);
|
|
56
|
+
}, [children, maxLabelWidth]);
|
|
57
|
+
// Resolve colors: explicit prop > row-order palette assignment
|
|
58
|
+
const coloredItems = useMemo(() => {
|
|
59
|
+
return items.map((item, index) => ({
|
|
60
|
+
...item,
|
|
61
|
+
resolvedColor: item.color || palette[index % palette.length],
|
|
62
|
+
}));
|
|
63
|
+
}, [items, palette]);
|
|
64
|
+
const total = useMemo(() => {
|
|
65
|
+
return coloredItems.reduce((sum, item) => sum + item.value, 0);
|
|
66
|
+
}, [coloredItems]);
|
|
67
|
+
const maxValue = useMemo(() => {
|
|
68
|
+
return Math.max(...coloredItems.map((item) => item.value));
|
|
69
|
+
}, [coloredItems]);
|
|
70
|
+
if (coloredItems.length === 0 || total === 0)
|
|
71
|
+
return null;
|
|
72
|
+
// Compute column widths from data
|
|
73
|
+
const labelWidth = Math.max(...coloredItems.map((item) => item.displayLabel.length), 5);
|
|
74
|
+
const countWidth = Math.max(...coloredItems.map((item) => String(item.value).length), String(total).length, 5);
|
|
75
|
+
const pctWidth = 4; // "100%" = 4 chars
|
|
76
|
+
// ── Formatting helpers ───────────────────────────────────────────
|
|
77
|
+
function padLeft(str, width) {
|
|
78
|
+
return str.length >= width ? str : ' '.repeat(width - str.length) + str;
|
|
79
|
+
}
|
|
80
|
+
function padRight(str, width) {
|
|
81
|
+
return str.length >= width ? str : str + ' '.repeat(width - str.length);
|
|
82
|
+
}
|
|
83
|
+
function formatPct(value) {
|
|
84
|
+
const pct = Math.round((value / total) * 100);
|
|
85
|
+
return `${pct}%`;
|
|
86
|
+
}
|
|
87
|
+
function makeBar(value) {
|
|
88
|
+
if (value <= 0 || maxValue <= 0)
|
|
89
|
+
return '';
|
|
90
|
+
const barLen = Math.max(1, Math.round((value / maxValue) * maxBarWidth));
|
|
91
|
+
return barCharacter.repeat(barLen);
|
|
92
|
+
}
|
|
93
|
+
// ── Separator line ───────────────────────────────────────────────
|
|
94
|
+
const percentageWidth = showPercentage ? 2 + pctWidth : 0;
|
|
95
|
+
const separatorWidth = 2 + labelWidth + 2 + countWidth + percentageWidth + 2 + maxBarWidth;
|
|
96
|
+
const separator = '─'.repeat(separatorWidth);
|
|
97
|
+
// Build header text as a single string
|
|
98
|
+
const headerText = ` ${padRight('category', labelWidth)} ${padLeft('count', countWidth)}${showPercentage ? ` ${padLeft('%', pctWidth)}` : ''} distribution`;
|
|
99
|
+
// Build total text as a single string
|
|
100
|
+
const totalText = ` ${padRight('total', labelWidth)} ${padLeft(String(total), countWidth)}${showPercentage ? ` ${padLeft('100%', pctWidth)}` : ''}`;
|
|
101
|
+
// Build each data row as a single line string (without dot and bar)
|
|
102
|
+
function buildRowMiddle(item) {
|
|
103
|
+
return `${padRight(item.displayLabel, labelWidth)} ${padLeft(String(item.value), countWidth)}${showPercentage ? ` ${padLeft(formatPct(item.value), pctWidth)}` : ''} `;
|
|
104
|
+
}
|
|
105
|
+
return (_jsxs("box", { flexDirection: "column", flexShrink: 0, children: [showHeader && (_jsxs(_Fragment, { children: [_jsx("box", { height: 1, flexShrink: 0, children: _jsx("text", { fg: theme.textMuted, wrapMode: "none", children: headerText }) }), _jsx("box", { height: 1, flexShrink: 0, children: _jsx("text", { fg: theme.borderSubtle, wrapMode: "none", children: separator }) })] })), coloredItems.map((item, i) => {
|
|
106
|
+
const middle = buildRowMiddle(item);
|
|
107
|
+
const bar = makeBar(item.value);
|
|
108
|
+
// Prefix width: dot(2) + middle text length
|
|
109
|
+
const prefixWidth = 2 + middle.length;
|
|
110
|
+
return (_jsxs("box", { flexDirection: "row", height: 1, flexShrink: 0, children: [_jsxs("box", { width: prefixWidth, flexShrink: 0, flexDirection: "row", children: [_jsx("text", { fg: item.resolvedColor, wrapMode: "none", children: '● ' }), _jsx("text", { fg: theme.text, wrapMode: "none", children: middle })] }), bar && _jsx("text", { fg: item.resolvedColor, wrapMode: "none", children: bar })] }, i));
|
|
111
|
+
}), showTotal && (_jsxs(_Fragment, { children: [_jsx("box", { height: 1, flexShrink: 0, children: _jsx("text", { fg: theme.borderSubtle, wrapMode: "none", children: separator }) }), _jsx("box", { height: 1, flexShrink: 0, children: _jsx("text", { fg: theme.textMuted, wrapMode: "none", children: totalText }) })] }))] }));
|
|
112
|
+
};
|
|
113
|
+
Histogram.Item = HistogramItem;
|
|
114
|
+
export { Histogram };
|
|
115
|
+
//# sourceMappingURL=histogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"histogram.js","sourceRoot":"","sources":["../../src/components/histogram.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HorizontalBarGraph renders multi-series horizontal stacked bars.
|
|
3
|
+
*
|
|
4
|
+
* Each row is one category, usually a time bucket. The left chart area grows to
|
|
5
|
+
* fill available space while the right legend uses only the width needed for
|
|
6
|
+
* colored series rows and percentages.
|
|
7
|
+
*/
|
|
8
|
+
import { ReactNode } from 'react';
|
|
9
|
+
import { BoxProps } from '@opentui/react';
|
|
10
|
+
import { Color } from 'termcast/src/colors';
|
|
11
|
+
export interface HorizontalBarGraphSeriesProps {
|
|
12
|
+
/** One value per row/category position. */
|
|
13
|
+
data: number[];
|
|
14
|
+
/** Series label shown in the legend. */
|
|
15
|
+
title?: string;
|
|
16
|
+
/** Override the auto-assigned color. */
|
|
17
|
+
color?: Color.ColorLike;
|
|
18
|
+
}
|
|
19
|
+
export interface HorizontalBarGraphProps extends BoxProps {
|
|
20
|
+
/** Row labels, one per bar position. Usually time buckets. */
|
|
21
|
+
labels?: string[];
|
|
22
|
+
/** Maximum chart rows to render. Defaults to all rows. */
|
|
23
|
+
height?: number;
|
|
24
|
+
/** Character used for bar cells. Matches Histogram by default. */
|
|
25
|
+
barCharacter?: string;
|
|
26
|
+
/** Show header row. Default true. */
|
|
27
|
+
showHeader?: boolean;
|
|
28
|
+
/** Show right-side legend. Default true when any series has a title. */
|
|
29
|
+
showLegend?: boolean;
|
|
30
|
+
/** Max display width for labels; longer labels are truncated. Default 16. */
|
|
31
|
+
maxLabelWidth?: number;
|
|
32
|
+
/** Header text for the category column. Default "category". */
|
|
33
|
+
categoryTitle?: string;
|
|
34
|
+
/** Header text for the bar column. Default "distribution". */
|
|
35
|
+
distributionTitle?: string;
|
|
36
|
+
/** Header text for the legend column. Default "legend". */
|
|
37
|
+
legendTitle?: string;
|
|
38
|
+
/** HorizontalBarGraph.Series children. */
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
}
|
|
41
|
+
interface HorizontalBarGraphType {
|
|
42
|
+
(props: HorizontalBarGraphProps): any;
|
|
43
|
+
Series: (props: HorizontalBarGraphSeriesProps) => any;
|
|
44
|
+
}
|
|
45
|
+
declare const HorizontalBarGraph: HorizontalBarGraphType;
|
|
46
|
+
export { HorizontalBarGraph };
|
|
47
|
+
//# sourceMappingURL=horizontal-bar-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontal-bar-graph.d.ts","sourceRoot":"","sources":["../../src/components/horizontal-bar-graph.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,SAAS,EAAW,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAgB,MAAM,qBAAqB,CAAA;AAGzD,MAAM,WAAW,6BAA6B;IAC5C,2CAA2C;IAC3C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACxB;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0CAA0C;IAC1C,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,UAAU,sBAAsB;IAC9B,CAAC,KAAK,EAAE,uBAAuB,GAAG,GAAG,CAAA;IACrC,MAAM,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,GAAG,CAAA;CACtD;AAkCD,QAAA,MAAM,kBAAkB,EAAE,sBAgMzB,CAAA;AAID,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* HorizontalBarGraph renders multi-series horizontal stacked bars.
|
|
4
|
+
*
|
|
5
|
+
* Each row is one category, usually a time bucket. The left chart area grows to
|
|
6
|
+
* fill available space while the right legend uses only the width needed for
|
|
7
|
+
* colored series rows and percentages.
|
|
8
|
+
*/
|
|
9
|
+
import React, { useMemo } from 'react';
|
|
10
|
+
import { resolveColor } from 'termcast/src/colors';
|
|
11
|
+
import { getThemePalette, useTheme } from 'termcast/src/theme';
|
|
12
|
+
function truncateLabel(label, maxLabelWidth) {
|
|
13
|
+
if (label.length <= maxLabelWidth) {
|
|
14
|
+
return label;
|
|
15
|
+
}
|
|
16
|
+
return label.slice(0, maxLabelWidth - 1) + '…';
|
|
17
|
+
}
|
|
18
|
+
function padRight(value, width) {
|
|
19
|
+
if (value.length >= width) {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
return value + ' '.repeat(width - value.length);
|
|
23
|
+
}
|
|
24
|
+
function padLeft(value, width) {
|
|
25
|
+
if (value.length >= width) {
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
return ' '.repeat(width - value.length) + value;
|
|
29
|
+
}
|
|
30
|
+
function formatPercentage(value, total) {
|
|
31
|
+
if (total <= 0) {
|
|
32
|
+
return '0%';
|
|
33
|
+
}
|
|
34
|
+
return `${Math.round((value / total) * 100)}%`;
|
|
35
|
+
}
|
|
36
|
+
const HorizontalBarGraphSeries = (_props) => {
|
|
37
|
+
return null;
|
|
38
|
+
};
|
|
39
|
+
const HorizontalBarGraph = (props) => {
|
|
40
|
+
const theme = useTheme();
|
|
41
|
+
const { labels = [], height, barCharacter = '╻', showHeader = true, showLegend, maxLabelWidth = 16, categoryTitle = 'category', distributionTitle = 'distribution', legendTitle = 'legend', children, ...rest } = props;
|
|
42
|
+
const palette = getThemePalette(theme);
|
|
43
|
+
const seriesList = useMemo(() => {
|
|
44
|
+
const childArray = React.Children.toArray(children);
|
|
45
|
+
return childArray
|
|
46
|
+
.filter(React.isValidElement)
|
|
47
|
+
.map((child, index) => {
|
|
48
|
+
const childProps = child.props;
|
|
49
|
+
return {
|
|
50
|
+
data: childProps.data,
|
|
51
|
+
title: childProps.title,
|
|
52
|
+
color: resolveColor(childProps.color) || palette[index % palette.length],
|
|
53
|
+
};
|
|
54
|
+
})
|
|
55
|
+
.filter((series) => {
|
|
56
|
+
return Array.isArray(series.data);
|
|
57
|
+
});
|
|
58
|
+
}, [children, palette]);
|
|
59
|
+
const rowCount = useMemo(() => {
|
|
60
|
+
return Math.max(labels.length, ...seriesList.map((series) => series.data.length), 0);
|
|
61
|
+
}, [labels, seriesList]);
|
|
62
|
+
const rows = useMemo(() => {
|
|
63
|
+
return Array.from({ length: rowCount }, (_, rowIndex) => {
|
|
64
|
+
const values = seriesList.map((series) => {
|
|
65
|
+
return series.data[rowIndex] || 0;
|
|
66
|
+
});
|
|
67
|
+
const total = values.reduce((sum, value) => {
|
|
68
|
+
return sum + value;
|
|
69
|
+
}, 0);
|
|
70
|
+
return {
|
|
71
|
+
label: labels[rowIndex] ?? String(rowIndex + 1),
|
|
72
|
+
total,
|
|
73
|
+
values,
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}, [labels, rowCount, seriesList]);
|
|
77
|
+
const visibleRows = useMemo(() => {
|
|
78
|
+
return rows.slice(0, height ?? rows.length);
|
|
79
|
+
}, [height, rows]);
|
|
80
|
+
const maxTotal = useMemo(() => {
|
|
81
|
+
return Math.max(0, ...rows.map((row) => row.total));
|
|
82
|
+
}, [rows]);
|
|
83
|
+
const legendRows = useMemo(() => {
|
|
84
|
+
const grandTotal = rows.reduce((sum, row) => {
|
|
85
|
+
return sum + row.total;
|
|
86
|
+
}, 0);
|
|
87
|
+
return seriesList
|
|
88
|
+
.map((series, seriesIndex) => {
|
|
89
|
+
const seriesTotal = series.data.reduce((sum, value) => {
|
|
90
|
+
return sum + value;
|
|
91
|
+
}, 0);
|
|
92
|
+
return {
|
|
93
|
+
title: series.title ?? `Series ${seriesIndex + 1}`,
|
|
94
|
+
color: series.color,
|
|
95
|
+
percentage: formatPercentage(seriesTotal, grandTotal),
|
|
96
|
+
total: seriesTotal,
|
|
97
|
+
};
|
|
98
|
+
})
|
|
99
|
+
.filter((row) => {
|
|
100
|
+
return row.title.length > 0;
|
|
101
|
+
})
|
|
102
|
+
.sort((a, b) => {
|
|
103
|
+
return b.total - a.total;
|
|
104
|
+
});
|
|
105
|
+
}, [rows, seriesList]);
|
|
106
|
+
const legendVisible = showLegend ?? seriesList.some((series) => {
|
|
107
|
+
return Boolean(series.title);
|
|
108
|
+
});
|
|
109
|
+
if (seriesList.length === 0 || visibleRows.length === 0 || maxTotal === 0) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const displayLabels = visibleRows.map((row) => {
|
|
113
|
+
return truncateLabel(row.label, maxLabelWidth);
|
|
114
|
+
});
|
|
115
|
+
const displayCategoryTitle = truncateLabel(categoryTitle, maxLabelWidth);
|
|
116
|
+
const labelWidth = Math.max(5, displayCategoryTitle.length, ...displayLabels.map((label) => label.length));
|
|
117
|
+
const legendGap = 2;
|
|
118
|
+
const legendTitleWidth = Math.max(6, ...legendRows.map((row) => row.title.length));
|
|
119
|
+
const legendPercentageWidth = Math.max(3, ...legendRows.map((row) => row.percentage.length));
|
|
120
|
+
const legendWidth = legendVisible ? legendGap + 2 + legendTitleWidth + 2 + legendPercentageWidth : 0;
|
|
121
|
+
const headerHeight = showHeader ? 2 : 0;
|
|
122
|
+
const chartHeight = headerHeight + visibleRows.length;
|
|
123
|
+
return (_jsxs("box", { flexDirection: "column", width: "100%", flexShrink: 0, ...rest, children: [showHeader && (_jsxs(_Fragment, { children: [_jsxs("box", { flexDirection: "row", height: 1, flexShrink: 0, children: [_jsx("box", { width: labelWidth + 2, flexShrink: 0, overflow: "hidden", children: _jsxs("text", { fg: theme.textMuted, wrapMode: "none", children: [padRight(displayCategoryTitle, labelWidth), " "] }) }), _jsx("box", { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx("text", { fg: theme.textMuted, wrapMode: "none", children: distributionTitle }) }), legendVisible && (_jsx("box", { width: legendWidth, flexShrink: 0, overflow: "hidden", children: _jsxs("text", { fg: theme.textMuted, wrapMode: "none", children: [' '.repeat(legendGap), legendTitle] }) }))] }), _jsxs("box", { flexDirection: "row", height: 1, flexShrink: 0, children: [_jsx("box", { width: labelWidth + 2, flexShrink: 0, overflow: "hidden", children: _jsxs("text", { fg: theme.borderSubtle, wrapMode: "none", children: ['─'.repeat(labelWidth), " "] }) }), _jsx("box", { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx("text", { fg: theme.borderSubtle, wrapMode: "none", children: '─'.repeat(200) }) }), legendVisible && (_jsx("box", { width: legendWidth, flexShrink: 0, overflow: "hidden", children: _jsxs("text", { fg: theme.borderSubtle, wrapMode: "none", children: [' '.repeat(legendGap), '─'.repeat(legendWidth - legendGap)] }) }))] })] })), _jsxs("box", { flexDirection: "row", height: chartHeight - headerHeight, flexShrink: 0, children: [_jsx("box", { flexDirection: "column", flexGrow: 1, flexShrink: 1, overflow: "hidden", children: visibleRows.map((row, rowIndex) => {
|
|
124
|
+
return (_jsxs("box", { flexDirection: "row", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx("box", { width: labelWidth + 2, flexShrink: 0, overflow: "hidden", children: _jsx("text", { fg: theme.text, wrapMode: "none", children: padRight(displayLabels[rowIndex], labelWidth) }) }), _jsxs("box", { flexDirection: "row", flexGrow: 1, flexShrink: 1, overflow: "hidden", children: [row.values.map((value, seriesIndex) => {
|
|
125
|
+
if (value <= 0) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const series = seriesList[seriesIndex];
|
|
129
|
+
return (_jsx("box", { flexGrow: value, flexBasis: 0, flexShrink: 1, overflow: "hidden", children: _jsx("box", { position: "absolute", width: "100%", height: "100%", overflow: "hidden", children: _jsx("text", { fg: series.color, wrapMode: "none", children: barCharacter.repeat(200) }) }) }, seriesIndex));
|
|
130
|
+
}), maxTotal > row.total && (_jsx("box", { flexGrow: maxTotal - row.total, flexBasis: 0, flexShrink: 1 }))] })] }, row.label));
|
|
131
|
+
}) }), legendVisible && (_jsx("box", { flexDirection: "column", width: legendWidth, flexShrink: 0, overflow: "hidden", children: legendRows.map((row) => {
|
|
132
|
+
return (_jsxs("box", { height: 1, flexShrink: 0, flexDirection: "row", overflow: "hidden", children: [_jsx("box", { width: legendGap, flexShrink: 0 }), _jsx("text", { fg: row.color, wrapMode: "none", children: "\u25CF " }), _jsxs("text", { fg: theme.textMuted, wrapMode: "none", children: [padRight(row.title, legendTitleWidth), " ", padLeft(row.percentage, legendPercentageWidth)] })] }, row.title));
|
|
133
|
+
}) }))] })] }));
|
|
134
|
+
};
|
|
135
|
+
HorizontalBarGraph.Series = HorizontalBarGraphSeries;
|
|
136
|
+
export { HorizontalBarGraph };
|
|
137
|
+
//# sourceMappingURL=horizontal-bar-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontal-bar-graph.js","sourceRoot":"","sources":["../../src/components/horizontal-bar-graph.tsx"],"names":[],"mappings":"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"}
|
|
@@ -103,6 +103,8 @@ export interface DropdownProps extends SearchBarInterface, CommonProps {
|
|
|
103
103
|
storeValue?: boolean;
|
|
104
104
|
value?: string;
|
|
105
105
|
defaultValue?: string;
|
|
106
|
+
/** Override the text shown in the search bar for the active selection. When set, this is displayed instead of the selected item's title. Useful for managed state where the display label doesn't match any dropdown item. */
|
|
107
|
+
displayValue?: string;
|
|
106
108
|
onChange?: (newValue: string) => void;
|
|
107
109
|
children?: ReactNode;
|
|
108
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/list.js
CHANGED
|
@@ -348,7 +348,7 @@ function ListItemRow(props) {
|
|
|
348
348
|
paddingLeft: 0,
|
|
349
349
|
paddingRight: 1,
|
|
350
350
|
marginBottom: 1,
|
|
351
|
-
}, border: false, onMouseMove: handleMouseMove, onMouseOut: handleMouseOut, onMouseDown: handleMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row', justifyContent: 'space-between', gap: 1 }, children: [_jsxs("box", { style: { flexDirection: 'row', flexGrow: 1, flexShrink: 1, overflow: 'hidden' }, children: [_jsx("text", { flexShrink: 0, fg: active ? theme.background : theme.text, attributes: active ? TextAttributes.BOLD : undefined, selectable: false, wrapMode: "none", children: active ? '›' : ' ' }), icon && _jsxs("text", { flexShrink: 0, fg: active ? theme.background : iconColor || theme.text, selectable: false, wrapMode: "none", children: [getIconEmoji(icon), " "] }), _jsx("text", { flexShrink:
|
|
351
|
+
}, border: false, onMouseMove: handleMouseMove, onMouseOut: handleMouseOut, onMouseDown: handleMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row', justifyContent: 'space-between', gap: 1 }, children: [_jsxs("box", { style: { flexDirection: 'row', flexGrow: 1, flexShrink: 1, overflow: 'hidden' }, children: [_jsx("text", { flexShrink: 0, fg: active ? theme.background : theme.text, attributes: active ? TextAttributes.BOLD : undefined, selectable: false, wrapMode: "none", children: active ? '›' : ' ' }), icon && _jsxs("text", { flexShrink: 0, fg: active ? theme.background : iconColor || theme.text, selectable: false, wrapMode: "none", children: [getIconEmoji(icon), " "] }), _jsx("text", { flexShrink: 1, truncate: true, fg: active ? theme.background : theme.text, attributes: TextAttributes.BOLD, selectable: false, wrapMode: "none", children: title })] }), accessoryElements.length > 0 && (_jsx("box", { style: { flexDirection: 'row', flexShrink: 0 }, children: accessoryElements.map((elem, i) => (_jsxs("box", { style: { flexDirection: 'row' }, children: [i > 0 && _jsx("text", { flexShrink: 0, children: " " }), elem] }, i))) }))] }), subtitle && (_jsx("box", { style: { paddingLeft: subtitleIndent, overflow: 'hidden' }, children: _jsx("text", { flexShrink: 1, truncate: true, fg: active ? theme.background : theme.text, selectable: false, wrapMode: "none", children: subtitle }) }))] }));
|
|
352
352
|
}
|
|
353
353
|
// Default mode: single-line layout
|
|
354
354
|
return (_jsxs("box", { ref: ref, style: {
|
|
@@ -362,7 +362,7 @@ function ListItemRow(props) {
|
|
|
362
362
|
paddingLeft: 0,
|
|
363
363
|
paddingRight: 1,
|
|
364
364
|
gap: 1,
|
|
365
|
-
}, border: false, onMouseMove: handleMouseMove, onMouseOut: handleMouseOut, onMouseDown: handleMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row', flexGrow: 1, flexShrink: 1, overflow: 'hidden', gap: 1 }, children: [_jsxs("box", { style: { flexDirection: 'row', flexShrink:
|
|
365
|
+
}, border: false, onMouseMove: handleMouseMove, onMouseOut: handleMouseOut, onMouseDown: handleMouseDown, children: [_jsxs("box", { style: { flexDirection: 'row', flexGrow: 1, flexShrink: 1, overflow: 'hidden', gap: 1 }, children: [_jsxs("box", { style: { flexDirection: 'row', flexShrink: 1, overflow: 'hidden' }, children: [_jsx("text", { flexShrink: 0, fg: active ? theme.background : theme.text, attributes: active ? TextAttributes.BOLD : undefined, selectable: false, wrapMode: "none", children: active ? '›' : ' ' }), icon && _jsxs("text", { flexShrink: 0, fg: active ? theme.background : iconColor || theme.text, selectable: false, wrapMode: "none", children: [getIconEmoji(icon), " "] }), _jsx("text", { flexShrink: 1, truncate: true, fg: active ? theme.background : theme.text, attributes: active ? TextAttributes.BOLD : undefined, selectable: false, wrapMode: "none", children: title })] }), subtitle && (_jsx("text", { flexShrink: 3, truncate: true, fg: active ? theme.background : theme.textMuted, selectable: false, wrapMode: "none", children: subtitle }))] }), accessoryElements.length > 0 && (_jsx("box", { style: { flexDirection: 'row', flexShrink: 0 }, children: accessoryElements.map((elem, i) => (_jsxs("box", { style: { flexDirection: 'row' }, children: [i > 0 && _jsx("text", { flexShrink: 0, children: " " }), elem] }, i))) }))] }));
|
|
366
366
|
}
|
|
367
367
|
export const List = (props) => {
|
|
368
368
|
const { children, onSelectionChange, filtering, searchText: controlledSearchText, onSearchTextChange, searchBarPlaceholder = 'Search...', isLoading, navigationTitle, isShowingDetail, selectedItemId, searchBarAccessory, logo, spacingMode = 'default', accessoryTagsLayout, throttle, ...otherProps } = props;
|
|
@@ -1158,9 +1158,9 @@ const ListDropdown = (props) => {
|
|
|
1158
1158
|
return null;
|
|
1159
1159
|
}
|
|
1160
1160
|
const { isDropdownOpen, setIsDropdownOpen } = listContext;
|
|
1161
|
-
const setDropdownSelection = (
|
|
1162
|
-
setDropdownState({ value:
|
|
1163
|
-
useStore.setState({ dropdownFooterLabel: props.title || 'dropdown' });
|
|
1161
|
+
const setDropdownSelection = (selectionProps) => {
|
|
1162
|
+
setDropdownState({ value: selectionProps.value, title: selectionProps.title });
|
|
1163
|
+
useStore.setState({ dropdownFooterLabel: props.displayValue ?? (selectionProps.title || 'dropdown') });
|
|
1164
1164
|
};
|
|
1165
1165
|
// Store both value and title together
|
|
1166
1166
|
const [dropdownState, setDropdownState] = useState(() => {
|
|
@@ -1190,7 +1190,7 @@ const ListDropdown = (props) => {
|
|
|
1190
1190
|
}
|
|
1191
1191
|
if (!valueToUse) {
|
|
1192
1192
|
useStore.setState({
|
|
1193
|
-
dropdownFooterLabel: dropdownState.title || 'dropdown',
|
|
1193
|
+
dropdownFooterLabel: props.displayValue ?? (dropdownState.title || 'dropdown'),
|
|
1194
1194
|
});
|
|
1195
1195
|
return;
|
|
1196
1196
|
}
|
|
@@ -1208,8 +1208,8 @@ const ListDropdown = (props) => {
|
|
|
1208
1208
|
setDropdownSelection({ value: valueToUse, title });
|
|
1209
1209
|
return;
|
|
1210
1210
|
}
|
|
1211
|
-
useStore.setState({ dropdownFooterLabel: title || 'dropdown' });
|
|
1212
|
-
}, [props.value]); // Run when props.value changes and on mount
|
|
1211
|
+
useStore.setState({ dropdownFooterLabel: props.displayValue ?? (title || 'dropdown') });
|
|
1212
|
+
}, [props.value, props.displayValue]); // Run when props.value or displayValue changes and on mount
|
|
1213
1213
|
const dropdownContextValue = useMemo(() => ({
|
|
1214
1214
|
currentSection: undefined,
|
|
1215
1215
|
}), []);
|
|
@@ -1246,8 +1246,8 @@ const ListDropdown = (props) => {
|
|
|
1246
1246
|
});
|
|
1247
1247
|
}
|
|
1248
1248
|
}, [isDropdownOpen, props.children]);
|
|
1249
|
-
// Display the title from our state
|
|
1250
|
-
const displayValue = dropdownState.title || 'All';
|
|
1249
|
+
// Display the title from our state, or use the caller's override
|
|
1250
|
+
const displayValue = props.displayValue ?? (dropdownState.title || 'All');
|
|
1251
1251
|
const openDropdownIfClosed = () => {
|
|
1252
1252
|
if (!isDropdownOpen) {
|
|
1253
1253
|
listContext.openDropdown();
|