procedure-cli 0.1.9 → 0.1.10
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.
|
@@ -6,12 +6,14 @@ interface Option {
|
|
|
6
6
|
interface GutteredSelectProps {
|
|
7
7
|
options: Option[];
|
|
8
8
|
onChange: (value: string) => void;
|
|
9
|
+
maxVisible?: number;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* A custom Select component that renders each option with the vertical
|
|
12
13
|
* gutter prefix (│) so the timeline line stays continuous.
|
|
14
|
+
* Shows at most `maxVisible` options at a time with scroll indicators.
|
|
13
15
|
*/
|
|
14
|
-
export declare function GutteredSelect({ options, onChange }: GutteredSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function GutteredSelect({ options, onChange, maxVisible }: GutteredSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
15
17
|
interface GutteredMultiSelectProps {
|
|
16
18
|
options: Option[];
|
|
17
19
|
initialSelected?: string[];
|
|
@@ -6,8 +6,9 @@ import { C } from "../theme.js";
|
|
|
6
6
|
/**
|
|
7
7
|
* A custom Select component that renders each option with the vertical
|
|
8
8
|
* gutter prefix (│) so the timeline line stays continuous.
|
|
9
|
+
* Shows at most `maxVisible` options at a time with scroll indicators.
|
|
9
10
|
*/
|
|
10
|
-
export function GutteredSelect({ options, onChange }) {
|
|
11
|
+
export function GutteredSelect({ options, onChange, maxVisible = 5 }) {
|
|
11
12
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
12
13
|
useInput((input, key) => {
|
|
13
14
|
if (key.upArrow) {
|
|
@@ -23,10 +24,17 @@ export function GutteredSelect({ options, onChange }) {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
// Sliding window: keep active item visible
|
|
28
|
+
const windowSize = Math.min(maxVisible, options.length);
|
|
29
|
+
const scrollOffset = Math.min(Math.max(0, activeIndex - Math.floor(windowSize / 2)), Math.max(0, options.length - windowSize));
|
|
30
|
+
const visibleOptions = options.slice(scrollOffset, scrollOffset + windowSize);
|
|
31
|
+
const showScrollUp = scrollOffset > 0;
|
|
32
|
+
const showScrollDown = scrollOffset + windowSize < options.length;
|
|
33
|
+
return (_jsxs(Box, { flexDirection: "column", children: [showScrollUp && (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { color: C.overlay1, children: "↑ more" })] })), visibleOptions.map((option, visIndex) => {
|
|
34
|
+
const index = scrollOffset + visIndex;
|
|
35
|
+
const isActive = index === activeIndex;
|
|
36
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), isActive ? (_jsx(Text, { color: C.mauve, bold: true, children: "❯ " })) : (_jsx(Text, { children: " " })), _jsx(Text, { bold: isActive, children: option.label }), option.description && (_jsx(Text, { color: C.overlay1, children: " — " + option.description }))] }, option.value));
|
|
37
|
+
}), showScrollDown && (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { color: C.overlay1, children: "↓ more" })] })), _jsxs(Text, { color: C.overlay1, children: ["│ ", " ↑↓ move, enter select"] })] }));
|
|
30
38
|
}
|
|
31
39
|
const CUSTOM_SENTINEL = "__custom__";
|
|
32
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guttered-select.js","sourceRoot":"","sources":["../../src/components/guttered-select.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"guttered-select.js","sourceRoot":"","sources":["../../src/components/guttered-select.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -13,13 +13,15 @@ interface Option {
|
|
|
13
13
|
interface GutteredSelectProps {
|
|
14
14
|
options: Option[];
|
|
15
15
|
onChange: (value: string) => void;
|
|
16
|
+
maxVisible?: number;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* A custom Select component that renders each option with the vertical
|
|
20
21
|
* gutter prefix (│) so the timeline line stays continuous.
|
|
22
|
+
* Shows at most `maxVisible` options at a time with scroll indicators.
|
|
21
23
|
*/
|
|
22
|
-
export function GutteredSelect({ options, onChange }: GutteredSelectProps) {
|
|
24
|
+
export function GutteredSelect({ options, onChange, maxVisible = 5 }: GutteredSelectProps) {
|
|
23
25
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
24
26
|
|
|
25
27
|
useInput((input, key) => {
|
|
@@ -37,9 +39,26 @@ export function GutteredSelect({ options, onChange }: GutteredSelectProps) {
|
|
|
37
39
|
}
|
|
38
40
|
});
|
|
39
41
|
|
|
42
|
+
// Sliding window: keep active item visible
|
|
43
|
+
const windowSize = Math.min(maxVisible, options.length);
|
|
44
|
+
const scrollOffset = Math.min(
|
|
45
|
+
Math.max(0, activeIndex - Math.floor(windowSize / 2)),
|
|
46
|
+
Math.max(0, options.length - windowSize)
|
|
47
|
+
);
|
|
48
|
+
const visibleOptions = options.slice(scrollOffset, scrollOffset + windowSize);
|
|
49
|
+
const showScrollUp = scrollOffset > 0;
|
|
50
|
+
const showScrollDown = scrollOffset + windowSize < options.length;
|
|
51
|
+
|
|
40
52
|
return (
|
|
41
53
|
<Box flexDirection="column">
|
|
42
|
-
{
|
|
54
|
+
{showScrollUp && (
|
|
55
|
+
<Text>
|
|
56
|
+
<Text color={C.overlay1}>{"│ "}</Text>
|
|
57
|
+
<Text color={C.overlay1}>{"↑ more"}</Text>
|
|
58
|
+
</Text>
|
|
59
|
+
)}
|
|
60
|
+
{visibleOptions.map((option, visIndex) => {
|
|
61
|
+
const index = scrollOffset + visIndex;
|
|
43
62
|
const isActive = index === activeIndex;
|
|
44
63
|
return (
|
|
45
64
|
<Text key={option.value}>
|
|
@@ -51,11 +70,18 @@ export function GutteredSelect({ options, onChange }: GutteredSelectProps) {
|
|
|
51
70
|
)}
|
|
52
71
|
<Text bold={isActive}>{option.label}</Text>
|
|
53
72
|
{option.description && (
|
|
54
|
-
<Text color={C.overlay1}>{" " + option.description}</Text>
|
|
73
|
+
<Text color={C.overlay1}>{" — " + option.description}</Text>
|
|
55
74
|
)}
|
|
56
75
|
</Text>
|
|
57
76
|
);
|
|
58
77
|
})}
|
|
78
|
+
{showScrollDown && (
|
|
79
|
+
<Text>
|
|
80
|
+
<Text color={C.overlay1}>{"│ "}</Text>
|
|
81
|
+
<Text color={C.overlay1}>{"↓ more"}</Text>
|
|
82
|
+
</Text>
|
|
83
|
+
)}
|
|
84
|
+
<Text color={C.overlay1}>{"│ "}{" ↑↓ move, enter select"}</Text>
|
|
59
85
|
</Box>
|
|
60
86
|
);
|
|
61
87
|
}
|