@agents-inc/cli 0.76.0 → 0.78.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/CHANGELOG.md +23 -0
- package/dist/{chunk-Q4PJSAMP.js → chunk-32HX6UYI.js} +2 -1
- package/dist/chunk-32HX6UYI.js.map +1 -0
- package/dist/{chunk-CKU7FJNV.js → chunk-7HGMFJ4Y.js} +3 -3
- package/dist/{chunk-UBNHVBSV.js → chunk-7JQIMEUX.js} +3 -3
- package/dist/{chunk-XYZ7B5BY.js → chunk-7LBYURQR.js} +2 -2
- package/dist/{chunk-NWW3OJH5.js → chunk-A5JSBU65.js} +2 -2
- package/dist/{chunk-ODVQXXEO.js → chunk-B4C2S5LP.js} +17 -43
- package/dist/{chunk-ODVQXXEO.js.map → chunk-B4C2S5LP.js.map} +1 -1
- package/dist/{chunk-IDN2OZJY.js → chunk-C22ACAL2.js} +2 -2
- package/dist/{chunk-I2SUTL7S.js → chunk-D4T3HHE7.js} +5 -5
- package/dist/chunk-D4T3HHE7.js.map +1 -0
- package/dist/{chunk-7XUKTYVD.js → chunk-EO6KJI5D.js} +1038 -270
- package/dist/chunk-EO6KJI5D.js.map +1 -0
- package/dist/{chunk-WZ5S4LGX.js → chunk-F4IZ3UAS.js} +16 -22
- package/dist/chunk-F4IZ3UAS.js.map +1 -0
- package/dist/{chunk-JWMYAJHD.js → chunk-FSK4TQX7.js} +1236 -354
- package/dist/chunk-FSK4TQX7.js.map +1 -0
- package/dist/{chunk-WMMU5FOO.js → chunk-FUWUCKES.js} +2 -2
- package/dist/{chunk-WMMU5FOO.js.map → chunk-FUWUCKES.js.map} +1 -1
- package/dist/{chunk-S6DKM6MJ.js → chunk-HANGA633.js} +4 -8
- package/dist/{chunk-S6DKM6MJ.js.map → chunk-HANGA633.js.map} +1 -1
- package/dist/{chunk-CBYRFAUN.js → chunk-HK53FRMU.js} +3 -1
- package/dist/chunk-HK53FRMU.js.map +1 -0
- package/dist/{chunk-I534EWJQ.js → chunk-IFCASC6R.js} +2 -2
- package/dist/{chunk-2I5SXGXR.js → chunk-KQDGLEBF.js} +80 -5
- package/dist/chunk-KQDGLEBF.js.map +1 -0
- package/dist/{chunk-AE2QHAFO.js → chunk-KVRR4PEJ.js} +81 -73
- package/dist/chunk-KVRR4PEJ.js.map +1 -0
- package/dist/{chunk-R7F5YQMI.js → chunk-LVBRC2CP.js} +2 -6
- package/dist/chunk-LVBRC2CP.js.map +1 -0
- package/dist/{chunk-CCSU4R65.js → chunk-MG55NDVG.js} +2 -2
- package/dist/{chunk-M4ZDKHJV.js → chunk-MUCQ27HV.js} +2 -2
- package/dist/chunk-N2XGUAJU.js +34 -0
- package/dist/{chunk-7PZFDI46.js.map → chunk-N2XGUAJU.js.map} +1 -1
- package/dist/{chunk-PRG7PKZM.js → chunk-N34D3ROY.js} +14 -13
- package/dist/chunk-N34D3ROY.js.map +1 -0
- package/dist/{chunk-7PMFIL5L.js → chunk-NKLNT7N7.js} +4 -21
- package/dist/chunk-NKLNT7N7.js.map +1 -0
- package/dist/{chunk-WS3TL2AO.js → chunk-OIHZ2YH3.js} +172 -102
- package/dist/chunk-OIHZ2YH3.js.map +1 -0
- package/dist/chunk-OOWNDQCG.js +192 -0
- package/dist/chunk-OOWNDQCG.js.map +1 -0
- package/dist/{chunk-EEZSCHS2.js → chunk-OTMIGYBB.js} +52 -10
- package/dist/chunk-OTMIGYBB.js.map +1 -0
- package/dist/chunk-PZERKWE2.js +114 -0
- package/dist/chunk-PZERKWE2.js.map +1 -0
- package/dist/{chunk-O5CPXIC4.js → chunk-Q755X6QF.js} +4 -4
- package/dist/{chunk-36YW5E7G.js → chunk-QD3GQ2CH.js} +5 -5
- package/dist/{chunk-ERHTXNIF.js → chunk-RU5XLS5Q.js} +1 -5
- package/dist/{chunk-ERHTXNIF.js.map → chunk-RU5XLS5Q.js.map} +1 -1
- package/dist/{chunk-VQV3DSHD.js → chunk-SJNUTUSJ.js} +5 -5
- package/dist/{chunk-KPRCP3MZ.js → chunk-U2KFFRRX.js} +2 -2
- package/dist/{chunk-CBJTSEI2.js → chunk-VDVLM3KB.js} +54 -6
- package/dist/chunk-VDVLM3KB.js.map +1 -0
- package/dist/{chunk-7NACNRFG.js → chunk-W46L2PXK.js} +32 -23
- package/dist/chunk-W46L2PXK.js.map +1 -0
- package/dist/{chunk-6F3CZLD6.js → chunk-XA7WF3BI.js} +3 -3
- package/dist/{chunk-WN2TUP4M.js → chunk-XYPAOBBV.js} +2 -2
- package/dist/{chunk-LO5QGAP2.js → chunk-YFHVP3VA.js} +5 -12
- package/dist/chunk-YFHVP3VA.js.map +1 -0
- package/dist/commands/build/marketplace.js +4 -4
- package/dist/commands/build/plugins.js +8 -8
- package/dist/commands/build/stack.js +8 -8
- package/dist/commands/compile.js +38 -22
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/config/index.js +8 -8
- package/dist/commands/config/path.js +7 -7
- package/dist/commands/config/show.js +8 -8
- package/dist/commands/diff.js +35 -15
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/doctor.js +24 -12
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +47 -37
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +7 -7
- package/dist/commands/import/skill.js +7 -7
- package/dist/commands/info.js +7 -7
- package/dist/commands/init.js +28 -28
- package/dist/commands/list.js +7 -7
- package/dist/commands/new/agent.js +8 -8
- package/dist/commands/new/marketplace.js +9 -9
- package/dist/commands/new/skill.js +8 -8
- package/dist/commands/outdated.js +18 -10
- package/dist/commands/outdated.js.map +1 -1
- package/dist/commands/search.js +9 -9
- package/dist/commands/uninstall.js +15 -27
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +26 -16
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.js +7 -7
- package/dist/components/skill-search/skill-search.js +2 -2
- package/dist/components/wizard/category-grid.js +3 -3
- package/dist/components/wizard/category-grid.test.js +18 -19
- package/dist/components/wizard/category-grid.test.js.map +1 -1
- package/dist/components/wizard/checkbox-grid.js +1 -2
- package/dist/components/wizard/checkbox-grid.test.js +2 -4
- package/dist/components/wizard/checkbox-grid.test.js.map +1 -1
- package/dist/components/wizard/domain-selection.js +10 -11
- package/dist/components/wizard/help-modal.js +2 -2
- package/dist/components/wizard/search-modal.js +2 -2
- package/dist/components/wizard/search-modal.test.js +2 -2
- package/dist/components/wizard/source-grid.js +4 -4
- package/dist/components/wizard/source-grid.test.js +13 -13
- package/dist/components/wizard/stack-selection.js +10 -9
- package/dist/components/wizard/stats-panel.js +12 -0
- package/dist/components/wizard/step-agents.js +9 -10
- package/dist/components/wizard/step-agents.test.js +16 -15
- package/dist/components/wizard/step-agents.test.js.map +1 -1
- package/dist/components/wizard/step-build.js +11 -12
- package/dist/components/wizard/step-build.test.js +34 -32
- package/dist/components/wizard/step-build.test.js.map +1 -1
- package/dist/components/wizard/step-confirm.js +4 -6
- package/dist/components/wizard/step-confirm.test.js +24 -23
- package/dist/components/wizard/step-confirm.test.js.map +1 -1
- package/dist/components/wizard/step-refine.js +2 -3
- package/dist/components/wizard/step-refine.test.js +2 -3
- package/dist/components/wizard/step-refine.test.js.map +1 -1
- package/dist/components/wizard/step-settings.js +8 -9
- package/dist/components/wizard/step-settings.test.js +14 -15
- package/dist/components/wizard/step-settings.test.js.map +1 -1
- package/dist/components/wizard/step-sources.js +11 -12
- package/dist/components/wizard/step-sources.test.js +17 -19
- package/dist/components/wizard/step-sources.test.js.map +1 -1
- package/dist/components/wizard/step-stack.js +12 -14
- package/dist/components/wizard/step-stack.test.js +26 -25
- package/dist/components/wizard/step-stack.test.js.map +1 -1
- package/dist/components/wizard/view-title.js +21 -3
- package/dist/components/wizard/view-title.js.map +1 -1
- package/dist/components/wizard/wizard-layout.js +12 -11
- package/dist/components/wizard/wizard-tabs.js +1 -1
- package/dist/components/wizard/wizard-tabs.test.js +1 -1
- package/dist/components/wizard/wizard.js +26 -26
- package/dist/config-exports.js +1 -1
- package/dist/hooks/init.js +28 -28
- package/dist/{loader-7RQ4G4TH.js → loader-JMOO2A7C.js} +4 -4
- package/dist/{source-loader-CXCIDGWV.js → source-loader-D3VIG3GM.js} +7 -7
- package/dist/source-manager-FPYFJRR7.js +19 -0
- package/dist/source-manager-FPYFJRR7.js.map +1 -0
- package/dist/stores/wizard-store.js +7 -7
- package/dist/stores/wizard-store.test.js +12 -12
- package/dist/stores/wizard-store.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-2I5SXGXR.js.map +0 -1
- package/dist/chunk-7NACNRFG.js.map +0 -1
- package/dist/chunk-7PMFIL5L.js.map +0 -1
- package/dist/chunk-7PZFDI46.js +0 -40
- package/dist/chunk-7XUKTYVD.js.map +0 -1
- package/dist/chunk-AE2QHAFO.js.map +0 -1
- package/dist/chunk-CBJTSEI2.js.map +0 -1
- package/dist/chunk-CBYRFAUN.js.map +0 -1
- package/dist/chunk-EEZSCHS2.js.map +0 -1
- package/dist/chunk-EWBNSS5Y.js +0 -113
- package/dist/chunk-EWBNSS5Y.js.map +0 -1
- package/dist/chunk-I2SUTL7S.js.map +0 -1
- package/dist/chunk-JNQKCZA3.js +0 -28
- package/dist/chunk-JNQKCZA3.js.map +0 -1
- package/dist/chunk-JWMYAJHD.js.map +0 -1
- package/dist/chunk-LO5QGAP2.js.map +0 -1
- package/dist/chunk-PRG7PKZM.js.map +0 -1
- package/dist/chunk-Q4PJSAMP.js.map +0 -1
- package/dist/chunk-R7F5YQMI.js.map +0 -1
- package/dist/chunk-WS3TL2AO.js.map +0 -1
- package/dist/chunk-WZ5S4LGX.js.map +0 -1
- package/dist/source-manager-TPLO2DVS.js +0 -19
- /package/dist/{chunk-CKU7FJNV.js.map → chunk-7HGMFJ4Y.js.map} +0 -0
- /package/dist/{chunk-UBNHVBSV.js.map → chunk-7JQIMEUX.js.map} +0 -0
- /package/dist/{chunk-XYZ7B5BY.js.map → chunk-7LBYURQR.js.map} +0 -0
- /package/dist/{chunk-NWW3OJH5.js.map → chunk-A5JSBU65.js.map} +0 -0
- /package/dist/{chunk-IDN2OZJY.js.map → chunk-C22ACAL2.js.map} +0 -0
- /package/dist/{chunk-I534EWJQ.js.map → chunk-IFCASC6R.js.map} +0 -0
- /package/dist/{chunk-CCSU4R65.js.map → chunk-MG55NDVG.js.map} +0 -0
- /package/dist/{chunk-M4ZDKHJV.js.map → chunk-MUCQ27HV.js.map} +0 -0
- /package/dist/{chunk-O5CPXIC4.js.map → chunk-Q755X6QF.js.map} +0 -0
- /package/dist/{chunk-36YW5E7G.js.map → chunk-QD3GQ2CH.js.map} +0 -0
- /package/dist/{chunk-VQV3DSHD.js.map → chunk-SJNUTUSJ.js.map} +0 -0
- /package/dist/{chunk-KPRCP3MZ.js.map → chunk-U2KFFRRX.js.map} +0 -0
- /package/dist/{chunk-6F3CZLD6.js.map → chunk-XA7WF3BI.js.map} +0 -0
- /package/dist/{chunk-WN2TUP4M.js.map → chunk-XYPAOBBV.js.map} +0 -0
- /package/dist/{loader-7RQ4G4TH.js.map → components/wizard/stats-panel.js.map} +0 -0
- /package/dist/{source-loader-CXCIDGWV.js.map → loader-JMOO2A7C.js.map} +0 -0
- /package/dist/{source-manager-TPLO2DVS.js.map → source-loader-D3VIG3GM.js.map} +0 -0
package/dist/chunk-EWBNSS5Y.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
SelectionCard
|
|
4
|
-
} from "./chunk-K63OEZW7.js";
|
|
5
|
-
import {
|
|
6
|
-
useSectionScroll
|
|
7
|
-
} from "./chunk-FFMWFEUH.js";
|
|
8
|
-
import {
|
|
9
|
-
useWizardStore
|
|
10
|
-
} from "./chunk-PRG7PKZM.js";
|
|
11
|
-
import {
|
|
12
|
-
matrix
|
|
13
|
-
} from "./chunk-JWMYAJHD.js";
|
|
14
|
-
import {
|
|
15
|
-
DEFAULT_SCRATCH_DOMAINS
|
|
16
|
-
} from "./chunk-FMYAYX6W.js";
|
|
17
|
-
import {
|
|
18
|
-
init_esm_shims
|
|
19
|
-
} from "./chunk-DHET7RCE.js";
|
|
20
|
-
|
|
21
|
-
// src/cli/components/wizard/stack-selection.tsx
|
|
22
|
-
init_esm_shims();
|
|
23
|
-
import { Box, useInput } from "ink";
|
|
24
|
-
import { useState } from "react";
|
|
25
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
26
|
-
var INITIAL_FOCUSED_INDEX = 0;
|
|
27
|
-
var SCRATCH_LABEL = "Start from scratch";
|
|
28
|
-
var SCRATCH_DESCRIPTION = "Select domains and skills manually";
|
|
29
|
-
var EXTRA_ITEMS_COUNT = 1;
|
|
30
|
-
var StackSelection = ({
|
|
31
|
-
availableHeight = 0,
|
|
32
|
-
onCancel
|
|
33
|
-
}) => {
|
|
34
|
-
const { selectStack, setApproach, setStackAction, populateFromSkillIds, toggleDomain } = useWizardStore();
|
|
35
|
-
const [focusedIndex, setFocusedIndex] = useState(INITIAL_FOCUSED_INDEX);
|
|
36
|
-
const stacks = matrix.suggestedStacks;
|
|
37
|
-
const stackCount = stacks.length;
|
|
38
|
-
const scratchIndex = stackCount;
|
|
39
|
-
const totalItems = stackCount + EXTRA_ITEMS_COUNT;
|
|
40
|
-
const { setSectionRef, scrollEnabled, scrollTopPx } = useSectionScroll({
|
|
41
|
-
sectionCount: totalItems,
|
|
42
|
-
focusedIndex,
|
|
43
|
-
availableHeight
|
|
44
|
-
});
|
|
45
|
-
useInput((input, key) => {
|
|
46
|
-
if (key.escape) {
|
|
47
|
-
if (onCancel) {
|
|
48
|
-
onCancel();
|
|
49
|
-
}
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
if (key.return) {
|
|
53
|
-
if (focusedIndex === scratchIndex) {
|
|
54
|
-
selectStack(null);
|
|
55
|
-
setApproach("scratch");
|
|
56
|
-
for (const domain of DEFAULT_SCRATCH_DOMAINS) {
|
|
57
|
-
toggleDomain(domain);
|
|
58
|
-
}
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const focusedStack = stacks[focusedIndex];
|
|
62
|
-
if (focusedStack) {
|
|
63
|
-
selectStack(focusedStack.id);
|
|
64
|
-
setStackAction("customize");
|
|
65
|
-
populateFromSkillIds(focusedStack.allSkillIds);
|
|
66
|
-
setApproach("stack");
|
|
67
|
-
}
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
if (key.upArrow || input === "k") {
|
|
71
|
-
setFocusedIndex((prev) => prev <= 0 ? totalItems - 1 : prev - 1);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
if (key.downArrow || input === "j") {
|
|
75
|
-
setFocusedIndex((prev) => prev >= totalItems - 1 ? 0 : prev + 1);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
const noShrink = scrollEnabled ? { flexShrink: 0 } : {};
|
|
79
|
-
const sectionElements = stacks.map((stack, index) => /* @__PURE__ */ jsx(Box, { ref: (el) => setSectionRef(index, el), width: "100%", ...noShrink, children: /* @__PURE__ */ jsx(
|
|
80
|
-
SelectionCard,
|
|
81
|
-
{
|
|
82
|
-
label: stack.name,
|
|
83
|
-
description: stack.description,
|
|
84
|
-
isFocused: index === focusedIndex,
|
|
85
|
-
marginBottom: 1
|
|
86
|
-
}
|
|
87
|
-
) }, stack.id));
|
|
88
|
-
const scratchElement = /* @__PURE__ */ jsx(Box, { ref: (el) => setSectionRef(scratchIndex, el), width: "100%", ...noShrink, children: /* @__PURE__ */ jsx(
|
|
89
|
-
SelectionCard,
|
|
90
|
-
{
|
|
91
|
-
label: SCRATCH_LABEL,
|
|
92
|
-
description: SCRATCH_DESCRIPTION,
|
|
93
|
-
isFocused: focusedIndex === scratchIndex
|
|
94
|
-
}
|
|
95
|
-
) });
|
|
96
|
-
return /* @__PURE__ */ jsx(
|
|
97
|
-
Box,
|
|
98
|
-
{
|
|
99
|
-
flexDirection: "column",
|
|
100
|
-
width: "100%",
|
|
101
|
-
...scrollEnabled ? { height: availableHeight, overflow: "hidden" } : { flexGrow: 1 },
|
|
102
|
-
children: /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: scrollTopPx > 0 ? -scrollTopPx : 0, ...noShrink, children: [
|
|
103
|
-
sectionElements,
|
|
104
|
-
scratchElement
|
|
105
|
-
] })
|
|
106
|
-
}
|
|
107
|
-
);
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export {
|
|
111
|
-
StackSelection
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=chunk-EWBNSS5Y.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/components/wizard/stack-selection.tsx"],"sourcesContent":["import { Box, useInput } from \"ink\";\nimport React, { useState } from \"react\";\nimport { DEFAULT_SCRATCH_DOMAINS } from \"../../consts.js\";\nimport { useWizardStore } from \"../../stores/wizard-store.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport { useSectionScroll } from \"../hooks/use-section-scroll.js\";\nimport { SelectionCard } from \"./selection-card.js\";\n\nconst INITIAL_FOCUSED_INDEX = 0;\nconst SCRATCH_LABEL = \"Start from scratch\";\nconst SCRATCH_DESCRIPTION = \"Select domains and skills manually\";\n\n/** Number of extra items after the stack list (scratch option) */\nconst EXTRA_ITEMS_COUNT = 1;\n\nexport type StackSelectionProps = {\n /** Available height in terminal lines for the scrollable viewport. 0 = no constraint. */\n availableHeight?: number;\n onCancel?: () => void;\n};\n\nexport const StackSelection: React.FC<StackSelectionProps> = ({\n availableHeight = 0,\n onCancel,\n}) => {\n const { selectStack, setApproach, setStackAction, populateFromSkillIds, toggleDomain } =\n useWizardStore();\n\n const [focusedIndex, setFocusedIndex] = useState(INITIAL_FOCUSED_INDEX);\n\n const stacks = matrix.suggestedStacks;\n const stackCount = stacks.length;\n const scratchIndex = stackCount;\n const totalItems = stackCount + EXTRA_ITEMS_COUNT;\n\n const { setSectionRef, scrollEnabled, scrollTopPx } = useSectionScroll({\n sectionCount: totalItems,\n focusedIndex,\n availableHeight,\n });\n\n useInput((input, key) => {\n if (key.escape) {\n if (onCancel) {\n onCancel();\n }\n return;\n }\n\n if (key.return) {\n if (focusedIndex === scratchIndex) {\n selectStack(null);\n setApproach(\"scratch\");\n\n for (const domain of DEFAULT_SCRATCH_DOMAINS) {\n toggleDomain(domain);\n }\n return;\n }\n\n const focusedStack = stacks[focusedIndex];\n if (focusedStack) {\n selectStack(focusedStack.id);\n setStackAction(\"customize\");\n populateFromSkillIds(focusedStack.allSkillIds);\n setApproach(\"stack\");\n }\n return;\n }\n\n if (key.upArrow || input === \"k\") {\n setFocusedIndex((prev) => (prev <= 0 ? totalItems - 1 : prev - 1));\n return;\n }\n if (key.downArrow || input === \"j\") {\n setFocusedIndex((prev) => (prev >= totalItems - 1 ? 0 : prev + 1));\n }\n });\n\n const noShrink = scrollEnabled ? { flexShrink: 0 } : {};\n\n const sectionElements = stacks.map((stack, index) => (\n <Box key={stack.id} ref={(el) => setSectionRef(index, el)} width=\"100%\" {...noShrink}>\n <SelectionCard\n label={stack.name}\n description={stack.description}\n isFocused={index === focusedIndex}\n marginBottom={1}\n />\n </Box>\n ));\n\n const scratchElement = (\n <Box ref={(el) => setSectionRef(scratchIndex, el)} width=\"100%\" {...noShrink}>\n <SelectionCard\n label={SCRATCH_LABEL}\n description={SCRATCH_DESCRIPTION}\n isFocused={focusedIndex === scratchIndex}\n />\n </Box>\n );\n\n return (\n <Box\n flexDirection=\"column\"\n width=\"100%\"\n {...(scrollEnabled\n ? { height: availableHeight, overflow: \"hidden\" as const }\n : { flexGrow: 1 })}\n >\n <Box flexDirection=\"column\" marginTop={scrollTopPx > 0 ? -scrollTopPx : 0} {...noShrink}>\n {sectionElements}\n {scratchElement}\n </Box>\n </Box>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAS,KAAK,gBAAgB;AAC9B,SAAgB,gBAAgB;AAkF1B,cA2BA,YA3BA;AA3EN,IAAM,wBAAwB;AAC9B,IAAM,gBAAgB;AACtB,IAAM,sBAAsB;AAG5B,IAAM,oBAAoB;AAQnB,IAAM,iBAAgD,CAAC;AAAA,EAC5D,kBAAkB;AAAA,EAClB;AACF,MAAM;AACJ,QAAM,EAAE,aAAa,aAAa,gBAAgB,sBAAsB,aAAa,IACnF,eAAe;AAEjB,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,qBAAqB;AAEtE,QAAM,SAAS,OAAO;AACtB,QAAM,aAAa,OAAO;AAC1B,QAAM,eAAe;AACrB,QAAM,aAAa,aAAa;AAEhC,QAAM,EAAE,eAAe,eAAe,YAAY,IAAI,iBAAiB;AAAA,IACrE,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EACF,CAAC;AAED,WAAS,CAAC,OAAO,QAAQ;AACvB,QAAI,IAAI,QAAQ;AACd,UAAI,UAAU;AACZ,iBAAS;AAAA,MACX;AACA;AAAA,IACF;AAEA,QAAI,IAAI,QAAQ;AACd,UAAI,iBAAiB,cAAc;AACjC,oBAAY,IAAI;AAChB,oBAAY,SAAS;AAErB,mBAAW,UAAU,yBAAyB;AAC5C,uBAAa,MAAM;AAAA,QACrB;AACA;AAAA,MACF;AAEA,YAAM,eAAe,OAAO,YAAY;AACxC,UAAI,cAAc;AAChB,oBAAY,aAAa,EAAE;AAC3B,uBAAe,WAAW;AAC1B,6BAAqB,aAAa,WAAW;AAC7C,oBAAY,OAAO;AAAA,MACrB;AACA;AAAA,IACF;AAEA,QAAI,IAAI,WAAW,UAAU,KAAK;AAChC,sBAAgB,CAAC,SAAU,QAAQ,IAAI,aAAa,IAAI,OAAO,CAAE;AACjE;AAAA,IACF;AACA,QAAI,IAAI,aAAa,UAAU,KAAK;AAClC,sBAAgB,CAAC,SAAU,QAAQ,aAAa,IAAI,IAAI,OAAO,CAAE;AAAA,IACnE;AAAA,EACF,CAAC;AAED,QAAM,WAAW,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC;AAEtD,QAAM,kBAAkB,OAAO,IAAI,CAAC,OAAO,UACzC,oBAAC,OAAmB,KAAK,CAAC,OAAO,cAAc,OAAO,EAAE,GAAG,OAAM,QAAQ,GAAG,UAC1E;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,MAAM;AAAA,MACb,aAAa,MAAM;AAAA,MACnB,WAAW,UAAU;AAAA,MACrB,cAAc;AAAA;AAAA,EAChB,KANQ,MAAM,EAOhB,CACD;AAED,QAAM,iBACJ,oBAAC,OAAI,KAAK,CAAC,OAAO,cAAc,cAAc,EAAE,GAAG,OAAM,QAAQ,GAAG,UAClE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,WAAW,iBAAiB;AAAA;AAAA,EAC9B,GACF;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,OAAM;AAAA,MACL,GAAI,gBACD,EAAE,QAAQ,iBAAiB,UAAU,SAAkB,IACvD,EAAE,UAAU,EAAE;AAAA,MAElB,+BAAC,OAAI,eAAc,UAAS,WAAW,cAAc,IAAI,CAAC,cAAc,GAAI,GAAG,UAC5E;AAAA;AAAA,QACA;AAAA,SACH;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/components/wizard/source-grid.tsx","../src/cli/components/hooks/use-source-grid-search-modal.ts"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { Box, Text, useInput } from \"ink\";\nimport type { BoundSkillCandidate, SkillAlias, SkillId } from \"../../types/index.js\";\nimport { CLI_COLORS, SOURCE_DISPLAY_NAMES } from \"../../consts.js\";\nimport { getSkillById } from \"../../lib/matrix/matrix-provider.js\";\nimport { useFocusedListItem } from \"../hooks/use-focused-list-item.js\";\nimport { useSectionScroll } from \"../hooks/use-section-scroll.js\";\nimport { useSourceGridSearchModal } from \"../hooks/use-source-grid-search-modal.js\";\nimport { SearchModal } from \"./search-modal.js\";\n\nconst SEARCH_PILL_LABEL = \"\\u2315 Search\";\n\nexport type SourceOption = {\n id: string;\n selected: boolean;\n installed: boolean;\n};\n\nexport type SourceRow = {\n skillId: SkillId;\n options: SourceOption[];\n};\n\nexport type SourceGridProps = {\n rows: SourceRow[];\n /** Available height in terminal lines for the scrollable viewport. 0 = no constraint. */\n availableHeight?: number;\n onSelect: (skillId: SkillId, sourceId: string) => void;\n onSearch?: (alias: SkillAlias) => Promise<BoundSkillCandidate[]>;\n onBind?: (candidate: BoundSkillCandidate) => void;\n onSearchStateChange?: (active: boolean) => void;\n /** Optional initial focus row (default: 0). Use with React `key` to reset. */\n defaultFocusedRow?: number;\n /** Optional initial focus col (default: 0). Use with React `key` to reset. */\n defaultFocusedCol?: number;\n /** Optional callback fired whenever the focused position changes */\n onFocusChange?: (row: number, col: number) => void;\n};\n\ntype SearchPillProps = {\n isFocused: boolean;\n};\n\nconst SearchPill: React.FC<SearchPillProps> = ({ isFocused }) => {\n const borderColor = isFocused ? CLI_COLORS.UNFOCUSED : CLI_COLORS.NEUTRAL;\n\n return (\n <Box marginRight={1} borderColor={borderColor} borderStyle=\"single\" borderDimColor={!isFocused}>\n <Text dimColor={!isFocused} bold={isFocused}>\n {\" \"}\n {SEARCH_PILL_LABEL}{\" \"}\n </Text>\n </Box>\n );\n};\n\ntype SourceSectionProps = {\n row: SourceRow;\n isFocused: boolean;\n focusedOptionIndex: number;\n showSearchPill: boolean;\n};\n\nfunction formatSourceLabel(option: SourceOption): string {\n const displayName = SOURCE_DISPLAY_NAMES[option.id] ?? option.id;\n const prefix = option.installed ? \"\\u2713 \" : \"\";\n return `${prefix}${displayName}`;\n}\n\nconst SourceTag: React.FC<{ option: SourceOption; isFocused: boolean }> = ({\n option,\n isFocused,\n}) => {\n const getBorderColor = (): string => {\n if (isFocused) {\n return option.selected ? CLI_COLORS.PRIMARY : CLI_COLORS.UNFOCUSED;\n }\n return CLI_COLORS.NEUTRAL;\n };\n\n const textColor = option.selected ? CLI_COLORS.PRIMARY : CLI_COLORS.NEUTRAL;\n const isBold = isFocused || option.selected;\n\n return (\n <Box\n marginRight={1}\n borderColor={getBorderColor()}\n borderStyle=\"single\"\n borderDimColor={!isFocused && !option.selected}\n >\n <Text color={textColor} bold={isBold} dimColor={false}>\n {\" \"}\n {formatSourceLabel(option)}{\" \"}\n </Text>\n </Box>\n );\n};\n\nconst SourceSection: React.FC<SourceSectionProps> = ({\n row,\n isFocused,\n focusedOptionIndex,\n showSearchPill,\n}) => {\n const searchPillIndex = row.options.length;\n\n return (\n <Box flexDirection=\"column\" marginTop={1}>\n <Box flexDirection=\"row\">\n <Text>{getSkillById(row.skillId).displayName}</Text>\n </Box>\n\n <Box flexDirection=\"row\" flexWrap=\"wrap\" marginTop={0}>\n {row.options.map((option, index) => (\n <SourceTag\n key={option.id}\n option={option}\n isFocused={isFocused && index === focusedOptionIndex}\n />\n ))}\n {showSearchPill && (\n <SearchPill isFocused={isFocused && focusedOptionIndex === searchPillIndex} />\n )}\n </Box>\n </Box>\n );\n};\n\n/** Total navigable columns for a row (options + search pill if applicable) */\nconst getNavigableCount = (row: SourceRow, showSearchPill: boolean): number => {\n return row.options.length + (showSearchPill ? 1 : 0);\n};\n\nexport const SourceGrid: React.FC<SourceGridProps> = ({\n rows,\n availableHeight = 0,\n onSelect,\n onSearch,\n onBind,\n onSearchStateChange,\n defaultFocusedRow = 0,\n defaultFocusedCol = 0,\n onFocusChange,\n}) => {\n const {\n searchModal,\n searchResults,\n searchAlias,\n handleSearchTrigger,\n handleBind,\n handleCloseSearch,\n } = useSourceGridSearchModal({ rows, onSearch, onBind, onSearchStateChange });\n\n const showSearchPill = !!onSearch;\n\n const getColCount = useCallback(\n (row: number): number => {\n const rowData = rows[row];\n return rowData ? getNavigableCount(rowData, showSearchPill) : 0;\n },\n [rows, showSearchPill],\n );\n\n const { focusedRow, focusedCol, moveFocus } = useFocusedListItem(rows.length, getColCount, {\n wrap: true,\n onChange: onFocusChange,\n initialRow: defaultFocusedRow,\n initialCol: defaultFocusedCol,\n });\n\n const { setSectionRef, scrollEnabled, scrollTopPx } = useSectionScroll({\n sectionCount: rows.length,\n focusedIndex: focusedRow,\n availableHeight,\n });\n\n useInput(\n useCallback(\n (\n input: string,\n key: {\n leftArrow: boolean;\n rightArrow: boolean;\n upArrow: boolean;\n downArrow: boolean;\n return: boolean;\n },\n ) => {\n if (input === \" \") {\n const currentRow = rows[focusedRow];\n if (!currentRow) return;\n if (showSearchPill && focusedCol === currentRow.options.length) {\n void handleSearchTrigger(focusedRow);\n return;\n }\n if (focusedCol < currentRow.options.length) {\n const currentOption = currentRow.options[focusedCol];\n if (currentOption) {\n onSelect(currentRow.skillId, currentOption.id);\n }\n }\n return;\n }\n\n const isLeft = key.leftArrow;\n const isRight = key.rightArrow;\n const isUp = key.upArrow;\n const isDown = key.downArrow;\n\n if (isLeft) {\n moveFocus(\"left\");\n } else if (isRight) {\n moveFocus(\"right\");\n } else if (isUp) {\n moveFocus(\"up\");\n } else if (isDown) {\n moveFocus(\"down\");\n }\n },\n [rows, focusedRow, focusedCol, onSelect, showSearchPill, handleSearchTrigger, moveFocus],\n ),\n { isActive: !searchModal.isOpen },\n );\n\n if (rows.length === 0) {\n return (\n <Box flexDirection=\"column\">\n <Text dimColor>No skills to display.</Text>\n </Box>\n );\n }\n\n const noShrink = scrollEnabled ? { flexShrink: 0 } : {};\n\n const sectionElements = rows.map((row, rowIndex) => (\n <Box key={row.skillId} ref={(el) => setSectionRef(rowIndex, el)} {...noShrink}>\n <SourceSection\n row={row}\n isFocused={rowIndex === focusedRow}\n focusedOptionIndex={focusedCol}\n showSearchPill={showSearchPill}\n />\n </Box>\n ));\n\n const searchModalElement = searchModal.isOpen && (\n <SearchModal\n results={searchResults}\n alias={searchAlias}\n onBind={handleBind}\n onClose={handleCloseSearch}\n />\n );\n\n return (\n <Box\n flexDirection=\"column\"\n {...(scrollEnabled ? { height: availableHeight } : { flexGrow: 1 })}\n >\n <Box flexDirection=\"column\" overflow=\"hidden\" flexGrow={1}>\n <Box flexDirection=\"column\" marginTop={scrollTopPx > 0 ? -scrollTopPx : 0} {...noShrink}>\n {sectionElements}\n </Box>\n </Box>\n {searchModalElement}\n </Box>\n );\n};\n","import { useCallback, useState } from \"react\";\nimport type { BoundSkillCandidate, SkillAlias } from \"../../types/index.js\";\nimport { matrix } from \"../../lib/matrix/matrix-provider.js\";\nimport { useModalState } from \"./use-modal-state.js\";\nimport type { SourceRow } from \"../wizard/source-grid.js\";\n\ntype UseSourceGridSearchModalOptions = {\n rows: SourceRow[];\n onSearch?: (alias: SkillAlias) => Promise<BoundSkillCandidate[]>;\n onBind?: (candidate: BoundSkillCandidate) => void;\n onSearchStateChange?: (active: boolean) => void;\n};\n\ntype UseSourceGridSearchModalResult = {\n searchModal: { isOpen: boolean };\n searchResults: BoundSkillCandidate[];\n searchAlias: string;\n handleSearchTrigger: (rowIndex: number) => Promise<void>;\n handleBind: (candidate: BoundSkillCandidate) => void;\n handleCloseSearch: () => void;\n};\n\nexport function useSourceGridSearchModal({\n rows,\n onSearch,\n onBind,\n onSearchStateChange,\n}: UseSourceGridSearchModalOptions): UseSourceGridSearchModalResult {\n const searchModal = useModalState<number>();\n const [searchResults, setSearchResults] = useState<BoundSkillCandidate[]>([]);\n const [searchAlias, setSearchAlias] = useState(\"\");\n\n const resetSearch = useCallback(() => {\n searchModal.close();\n setSearchResults([]);\n setSearchAlias(\"\");\n onSearchStateChange?.(false);\n }, [onSearchStateChange, searchModal]);\n\n const handleSearchTrigger = useCallback(\n async (rowIndex: number) => {\n const row = rows[rowIndex];\n if (!row || !onSearch) return;\n\n const alias = matrix.slugMap.idToSlug[row.skillId];\n if (!alias) return;\n setSearchAlias(alias);\n searchModal.open(rowIndex);\n onSearchStateChange?.(true);\n\n const results = await onSearch(alias);\n setSearchResults(results);\n },\n [rows, onSearch, onSearchStateChange, searchModal],\n );\n\n const handleBind = useCallback(\n (candidate: BoundSkillCandidate) => {\n onBind?.(candidate);\n resetSearch();\n },\n [onBind, resetSearch],\n );\n\n const handleCloseSearch = useCallback(() => {\n resetSearch();\n }, [resetSearch]);\n\n return {\n searchModal: { isOpen: searchModal.isOpen },\n searchResults,\n searchAlias,\n handleSearchTrigger,\n handleBind,\n handleCloseSearch,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,SAAgB,eAAAA,oBAAmB;AACnC,SAAS,KAAK,MAAM,gBAAgB;;;ACDpC;AAAA,SAAS,aAAa,gBAAgB;AAsB/B,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAoE;AAClE,QAAM,cAAc,cAAsB;AAC1C,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAgC,CAAC,CAAC;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AAEjD,QAAM,cAAc,YAAY,MAAM;AACpC,gBAAY,MAAM;AAClB,qBAAiB,CAAC,CAAC;AACnB,mBAAe,EAAE;AACjB,0BAAsB,KAAK;AAAA,EAC7B,GAAG,CAAC,qBAAqB,WAAW,CAAC;AAErC,QAAM,sBAAsB;AAAA,IAC1B,OAAO,aAAqB;AAC1B,YAAM,MAAM,KAAK,QAAQ;AACzB,UAAI,CAAC,OAAO,CAAC,SAAU;AAEvB,YAAM,QAAQ,OAAO,QAAQ,SAAS,IAAI,OAAO;AACjD,UAAI,CAAC,MAAO;AACZ,qBAAe,KAAK;AACpB,kBAAY,KAAK,QAAQ;AACzB,4BAAsB,IAAI;AAE1B,YAAM,UAAU,MAAM,SAAS,KAAK;AACpC,uBAAiB,OAAO;AAAA,IAC1B;AAAA,IACA,CAAC,MAAM,UAAU,qBAAqB,WAAW;AAAA,EACnD;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,cAAmC;AAClC,eAAS,SAAS;AAClB,kBAAY;AAAA,IACd;AAAA,IACA,CAAC,QAAQ,WAAW;AAAA,EACtB;AAEA,QAAM,oBAAoB,YAAY,MAAM;AAC1C,gBAAY;AAAA,EACd,GAAG,CAAC,WAAW,CAAC;AAEhB,SAAO;AAAA,IACL,aAAa,EAAE,QAAQ,YAAY,OAAO;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AD7BI,cACE,YADF;AArCJ,IAAM,oBAAoB;AAiC1B,IAAM,aAAwC,CAAC,EAAE,UAAU,MAAM;AAC/D,QAAM,cAAc,YAAY,WAAW,YAAY,WAAW;AAElE,SACE,oBAAC,OAAI,aAAa,GAAG,aAA0B,aAAY,UAAS,gBAAgB,CAAC,WACnF,+BAAC,QAAK,UAAU,CAAC,WAAW,MAAM,WAC/B;AAAA;AAAA,IACA;AAAA,IAAmB;AAAA,KACtB,GACF;AAEJ;AASA,SAAS,kBAAkB,QAA8B;AACvD,QAAM,cAAc,qBAAqB,OAAO,EAAE,KAAK,OAAO;AAC9D,QAAM,SAAS,OAAO,YAAY,YAAY;AAC9C,SAAO,GAAG,MAAM,GAAG,WAAW;AAChC;AAEA,IAAM,YAAoE,CAAC;AAAA,EACzE;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAiB,MAAc;AACnC,QAAI,WAAW;AACb,aAAO,OAAO,WAAW,WAAW,UAAU,WAAW;AAAA,IAC3D;AACA,WAAO,WAAW;AAAA,EACpB;AAEA,QAAM,YAAY,OAAO,WAAW,WAAW,UAAU,WAAW;AACpE,QAAM,SAAS,aAAa,OAAO;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAa;AAAA,MACb,aAAa,eAAe;AAAA,MAC5B,aAAY;AAAA,MACZ,gBAAgB,CAAC,aAAa,CAAC,OAAO;AAAA,MAEtC,+BAAC,QAAK,OAAO,WAAW,MAAM,QAAQ,UAAU,OAC7C;AAAA;AAAA,QACA,kBAAkB,MAAM;AAAA,QAAG;AAAA,SAC9B;AAAA;AAAA,EACF;AAEJ;AAEA,IAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,kBAAkB,IAAI,QAAQ;AAEpC,SACE,qBAAC,OAAI,eAAc,UAAS,WAAW,GACrC;AAAA,wBAAC,OAAI,eAAc,OACjB,8BAAC,QAAM,uBAAa,IAAI,OAAO,EAAE,aAAY,GAC/C;AAAA,IAEA,qBAAC,OAAI,eAAc,OAAM,UAAS,QAAO,WAAW,GACjD;AAAA,UAAI,QAAQ,IAAI,CAAC,QAAQ,UACxB;AAAA,QAAC;AAAA;AAAA,UAEC;AAAA,UACA,WAAW,aAAa,UAAU;AAAA;AAAA,QAF7B,OAAO;AAAA,MAGd,CACD;AAAA,MACA,kBACC,oBAAC,cAAW,WAAW,aAAa,uBAAuB,iBAAiB;AAAA,OAEhF;AAAA,KACF;AAEJ;AAGA,IAAM,oBAAoB,CAAC,KAAgB,mBAAoC;AAC7E,SAAO,IAAI,QAAQ,UAAU,iBAAiB,IAAI;AACpD;AAEO,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA,kBAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB;AACF,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,yBAAyB,EAAE,MAAM,UAAU,QAAQ,oBAAoB,CAAC;AAE5E,QAAM,iBAAiB,CAAC,CAAC;AAEzB,QAAM,cAAcC;AAAA,IAClB,CAAC,QAAwB;AACvB,YAAM,UAAU,KAAK,GAAG;AACxB,aAAO,UAAU,kBAAkB,SAAS,cAAc,IAAI;AAAA,IAChE;AAAA,IACA,CAAC,MAAM,cAAc;AAAA,EACvB;AAEA,QAAM,EAAE,YAAY,YAAY,UAAU,IAAI,mBAAmB,KAAK,QAAQ,aAAa;AAAA,IACzF,MAAM;AAAA,IACN,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,EACd,CAAC;AAED,QAAM,EAAE,eAAe,eAAe,YAAY,IAAI,iBAAiB;AAAA,IACrE,cAAc,KAAK;AAAA,IACnB,cAAc;AAAA,IACd;AAAA,EACF,CAAC;AAED;AAAA,IACEA;AAAA,MACE,CACE,OACA,QAOG;AACH,YAAI,UAAU,KAAK;AACjB,gBAAM,aAAa,KAAK,UAAU;AAClC,cAAI,CAAC,WAAY;AACjB,cAAI,kBAAkB,eAAe,WAAW,QAAQ,QAAQ;AAC9D,iBAAK,oBAAoB,UAAU;AACnC;AAAA,UACF;AACA,cAAI,aAAa,WAAW,QAAQ,QAAQ;AAC1C,kBAAM,gBAAgB,WAAW,QAAQ,UAAU;AACnD,gBAAI,eAAe;AACjB,uBAAS,WAAW,SAAS,cAAc,EAAE;AAAA,YAC/C;AAAA,UACF;AACA;AAAA,QACF;AAEA,cAAM,SAAS,IAAI;AACnB,cAAM,UAAU,IAAI;AACpB,cAAM,OAAO,IAAI;AACjB,cAAM,SAAS,IAAI;AAEnB,YAAI,QAAQ;AACV,oBAAU,MAAM;AAAA,QAClB,WAAW,SAAS;AAClB,oBAAU,OAAO;AAAA,QACnB,WAAW,MAAM;AACf,oBAAU,IAAI;AAAA,QAChB,WAAW,QAAQ;AACjB,oBAAU,MAAM;AAAA,QAClB;AAAA,MACF;AAAA,MACA,CAAC,MAAM,YAAY,YAAY,UAAU,gBAAgB,qBAAqB,SAAS;AAAA,IACzF;AAAA,IACA,EAAE,UAAU,CAAC,YAAY,OAAO;AAAA,EAClC;AAEA,MAAI,KAAK,WAAW,GAAG;AACrB,WACE,oBAAC,OAAI,eAAc,UACjB,8BAAC,QAAK,UAAQ,MAAC,mCAAqB,GACtC;AAAA,EAEJ;AAEA,QAAM,WAAW,gBAAgB,EAAE,YAAY,EAAE,IAAI,CAAC;AAEtD,QAAM,kBAAkB,KAAK,IAAI,CAAC,KAAK,aACrC,oBAAC,OAAsB,KAAK,CAAC,OAAO,cAAc,UAAU,EAAE,GAAI,GAAG,UACnE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,aAAa;AAAA,MACxB,oBAAoB;AAAA,MACpB;AAAA;AAAA,EACF,KANQ,IAAI,OAOd,CACD;AAED,QAAM,qBAAqB,YAAY,UACrC;AAAA,IAAC;AAAA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,SAAS;AAAA;AAAA,EACX;AAGF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACb,GAAI,gBAAgB,EAAE,QAAQ,gBAAgB,IAAI,EAAE,UAAU,EAAE;AAAA,MAEjE;AAAA,4BAAC,OAAI,eAAc,UAAS,UAAS,UAAS,UAAU,GACtD,8BAAC,OAAI,eAAc,UAAS,WAAW,cAAc,IAAI,CAAC,cAAc,GAAI,GAAG,UAC5E,2BACH,GACF;AAAA,QACC;AAAA;AAAA;AAAA,EACH;AAEJ;","names":["useCallback","useCallback"]}
|
package/dist/chunk-JNQKCZA3.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
init_esm_shims
|
|
4
|
-
} from "./chunk-DHET7RCE.js";
|
|
5
|
-
|
|
6
|
-
// src/cli/components/wizard/view-title.tsx
|
|
7
|
-
init_esm_shims();
|
|
8
|
-
import { Box, Text } from "ink";
|
|
9
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
var TITLE_HORIZONTAL_PADDING = 6;
|
|
11
|
-
var ViewTitle = ({ children }) => {
|
|
12
|
-
const padding = " ".repeat(children.length + TITLE_HORIZONTAL_PADDING);
|
|
13
|
-
const paddingHalf = " ".repeat(TITLE_HORIZONTAL_PADDING / 2);
|
|
14
|
-
return /* @__PURE__ */ jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [
|
|
15
|
-
/* @__PURE__ */ jsx(Text, { backgroundColor: "#eee", children: padding }),
|
|
16
|
-
/* @__PURE__ */ jsxs(Text, { bold: true, backgroundColor: "#eee", color: "#000", children: [
|
|
17
|
-
paddingHalf,
|
|
18
|
-
children,
|
|
19
|
-
paddingHalf
|
|
20
|
-
] }),
|
|
21
|
-
/* @__PURE__ */ jsx(Text, { backgroundColor: "#eee", children: padding })
|
|
22
|
-
] });
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
ViewTitle
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=chunk-JNQKCZA3.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli/components/wizard/view-title.tsx"],"sourcesContent":["import { Box, Text } from \"ink\";\nimport React from \"react\";\n\nconst TITLE_HORIZONTAL_PADDING = 6;\n\ntype ViewTitleProps = {\n children: string;\n};\n\nexport const ViewTitle: React.FC<ViewTitleProps> = ({ children }) => {\n const padding = \" \".repeat(children.length + TITLE_HORIZONTAL_PADDING);\n const paddingHalf = \" \".repeat(TITLE_HORIZONTAL_PADDING / 2);\n\n return (\n <Box marginBottom={1} flexDirection=\"column\">\n <Text backgroundColor={\"#eee\"}>{padding}</Text>\n <Text bold backgroundColor={\"#eee\"} color={\"#000\"}>\n {paddingHalf}\n {children}\n {paddingHalf}\n </Text>\n <Text backgroundColor={\"#eee\"}>{padding}</Text>\n </Box>\n );\n};\n"],"mappings":";;;;;;AAAA;AAAA,SAAS,KAAK,YAAY;AAepB,cACA,YADA;AAZN,IAAM,2BAA2B;AAM1B,IAAM,YAAsC,CAAC,EAAE,SAAS,MAAM;AACnE,QAAM,UAAU,IAAI,OAAO,SAAS,SAAS,wBAAwB;AACrE,QAAM,cAAc,IAAI,OAAO,2BAA2B,CAAC;AAE3D,SACE,qBAAC,OAAI,cAAc,GAAG,eAAc,UAClC;AAAA,wBAAC,QAAK,iBAAiB,QAAS,mBAAQ;AAAA,IACxC,qBAAC,QAAK,MAAI,MAAC,iBAAiB,QAAQ,OAAO,QACxC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,OACH;AAAA,IACA,oBAAC,QAAK,iBAAiB,QAAS,mBAAQ;AAAA,KAC1C;AAEJ;","names":[]}
|