@cli-use/tui 0.1.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.
@@ -0,0 +1,549 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @license MIT
4
+ * cli-use - React-based Terminal UI Framework
5
+ * Inspired by Ratatui (https://ratatui.rs)
6
+ */
7
+ "use strict";
8
+ var __create = Object.create;
9
+ var __defProp = Object.defineProperty;
10
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11
+ var __getOwnPropNames = Object.getOwnPropertyNames;
12
+ var __getProtoOf = Object.getPrototypeOf;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __esm = (fn, res) => function __init() {
15
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") {
19
+ for (let key of __getOwnPropNames(from))
20
+ if (!__hasOwnProp.call(to, key) && key !== except)
21
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
26
+ // If the importer is in node compatibility mode or this is not an ESM
27
+ // file that has been converted to a CommonJS file using a Babel-
28
+ // compatible transform (i.e. "__esModule" has not been set), then set
29
+ // "default" to the CommonJS "module.exports" for node compatibility.
30
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
31
+ mod
32
+ ));
33
+
34
+ // node_modules/tsup/assets/cjs_shims.js
35
+ var getImportMetaUrl, importMetaUrl;
36
+ var init_cjs_shims = __esm({
37
+ "node_modules/tsup/assets/cjs_shims.js"() {
38
+ "use strict";
39
+ getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
40
+ importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
41
+ }
42
+ });
43
+
44
+ // src/examples/ink-demo.tsx
45
+ var ink_demo_exports = {};
46
+ var import_react, import_ink, import_jsx_runtime, Counter;
47
+ var init_ink_demo = __esm({
48
+ "src/examples/ink-demo.tsx"() {
49
+ "use strict";
50
+ init_cjs_shims();
51
+ import_react = require("react");
52
+ import_ink = require("ink");
53
+ import_jsx_runtime = require("react/jsx-runtime");
54
+ Counter = () => {
55
+ const [count, setCount] = (0, import_react.useState)(0);
56
+ (0, import_ink.useInput)((input, key) => {
57
+ if (key.escape || key.ctrl("c")) {
58
+ process.exit(0);
59
+ }
60
+ if (key.return) {
61
+ setCount((c) => c + 1);
62
+ }
63
+ });
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Box, { flexDirection: "column", padding: 1, children: [
65
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { borderStyle: "double", borderColor: "cyan", padding: 1, marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: true, color: "magenta", children: "\u2728 cli-use Demo - Beautiful Terminal UIs (Ink)" }) }),
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { borderStyle: "single", borderColor: "blue", padding: 1, marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Box, { flexDirection: "column", gap: 1, children: [
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: true, children: "Features:" }),
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { children: "\u2022 Cross-platform (macOS, Linux, Windows)" }),
69
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { children: "\u2022 React-based components" }),
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { children: "\u2022 Beautiful styling out of the box" }),
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { children: "\u2022 TypeScript support" })
72
+ ] }) }),
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { borderStyle: "round", borderColor: "green", padding: 1, marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Box, { flexDirection: "column", alignItems: "center", gap: 1, children: [
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: true, color: "green", children: "\u{1F522} Interactive Counter" }),
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Text, { children: [
76
+ "Count: ",
77
+ count
78
+ ] }),
79
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { dim: true, children: "Press Enter to increment, ESC to exit" })
80
+ ] }) }),
81
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { dim: true, color: "gray", children: "Built with \u2764\uFE0F for beautiful terminal interfaces" }) })
82
+ ] });
83
+ };
84
+ (0, import_ink.render)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Counter, {}));
85
+ }
86
+ });
87
+
88
+ // src/cli/index.ts
89
+ init_cjs_shims();
90
+ var import_commander = require("commander");
91
+ var import_chalk = __toESM(require("chalk"), 1);
92
+ var import_module = require("module");
93
+ var import_child_process = require("child_process");
94
+ var import_url = require("url");
95
+ var import_path = __toESM(require("path"), 1);
96
+ var require2 = (0, import_module.createRequire)(importMetaUrl);
97
+ var __filename2 = (0, import_url.fileURLToPath)(importMetaUrl);
98
+ var __dirname = import_path.default.dirname(__filename2);
99
+ var program = new import_commander.Command();
100
+ program.name("cli-use").description("React-based Terminal UI Framework").version("0.1.0");
101
+ program.command("dev").description("Start development mode").action(() => {
102
+ showDevTUI();
103
+ });
104
+ program.command("build").description("Build project").action(() => {
105
+ showBuildTUI();
106
+ });
107
+ program.command("init [project-name]").description("Create a new cli-use project").action((projectName) => {
108
+ showInitTUI(projectName || "my-tui-app");
109
+ });
110
+ program.command("run <example>").description("Run an example application").action((exampleName) => {
111
+ if (exampleName === "ratatui") {
112
+ showRustDemo();
113
+ } else {
114
+ showRunTUI(exampleName);
115
+ }
116
+ });
117
+ program.command("examples").description("List available examples").action(() => {
118
+ showExamplesTUI();
119
+ });
120
+ program.option("-d, --demo", "Run the ink demo").action(() => {
121
+ });
122
+ var options = program.parse(process.argv);
123
+ if (options.opts().demo) {
124
+ Promise.resolve().then(() => (init_ink_demo(), ink_demo_exports)).catch((err) => {
125
+ console.error("Failed to run demo:", err);
126
+ process.exit(1);
127
+ });
128
+ }
129
+ function showRustDemo() {
130
+ const isWindows = process.platform === "win32";
131
+ const extension = isWindows ? ".exe" : "";
132
+ const binaryPath = import_path.default.resolve(
133
+ __dirname,
134
+ `../../native/target/release/ratatui-demo${extension}`
135
+ );
136
+ console.log(import_chalk.default.cyan("Starting Ratatui Demo..."));
137
+ const child = (0, import_child_process.spawn)(binaryPath, [], {
138
+ stdio: "inherit"
139
+ });
140
+ child.on("error", (err) => {
141
+ console.error(import_chalk.default.red("Failed to start demo:"), err.message);
142
+ console.log(
143
+ import_chalk.default.yellow(
144
+ "\nMake sure you have built the Rust binary first by running: npm run build:rust"
145
+ )
146
+ );
147
+ });
148
+ }
149
+ function showDevTUI() {
150
+ console.clear();
151
+ console.log("");
152
+ console.log(
153
+ import_chalk.default.cyan("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
154
+ );
155
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold.white("cli-use ") + import_chalk.default.cyan("\u2502"));
156
+ console.log(
157
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Development Mode") + " ".repeat(46) + import_chalk.default.cyan("\u2502")
158
+ );
159
+ console.log(
160
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
161
+ );
162
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
163
+ console.log(
164
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.yellow("\u25CF") + " " + import_chalk.default.white("Watching for changes...") + " ".repeat(36) + import_chalk.default.cyan("\u2502")
165
+ );
166
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
167
+ console.log(
168
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Build completed") + " ".repeat(39) + import_chalk.default.cyan("\u2502")
169
+ );
170
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
171
+ console.log(
172
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.yellow("\u25CF") + " " + import_chalk.default.white("Hot Reload: Active") + " ".repeat(37) + import_chalk.default.cyan("\u2502")
173
+ );
174
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
175
+ console.log(
176
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
177
+ );
178
+ console.log(
179
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Quick Actions") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
180
+ );
181
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
182
+ console.log(
183
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("[r]") + " " + import_chalk.default.white("Rebuild") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
184
+ );
185
+ console.log(
186
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("[t]") + " " + import_chalk.default.white("Run tests") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
187
+ );
188
+ console.log(
189
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("[e]") + " " + import_chalk.default.white("Run example") + " ".repeat(41) + import_chalk.default.cyan("\u2502")
190
+ );
191
+ console.log(
192
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("[q]") + " " + import_chalk.default.white("Quit") + " ".repeat(46) + import_chalk.default.cyan("\u2502")
193
+ );
194
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
195
+ console.log(
196
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
197
+ );
198
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Output") + " ".repeat(48) + import_chalk.default.cyan("\u2502"));
199
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
200
+ console.log(
201
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Starting dev server...") + " ".repeat(36) + import_chalk.default.cyan("\u2502")
202
+ );
203
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
204
+ console.log(
205
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("Waiting for file changes...") + " ".repeat(34) + import_chalk.default.cyan("\u2502")
206
+ );
207
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
208
+ console.log(
209
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
210
+ );
211
+ console.log(
212
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Project Status") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
213
+ );
214
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
215
+ console.log(
216
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Files: ") + import_chalk.default.cyan("142") + " ".repeat(4) + import_chalk.default.white("Lines: ") + import_chalk.default.cyan("8,547") + " ".repeat(35) + import_chalk.default.cyan("\u2502")
217
+ );
218
+ console.log(
219
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Components: ") + import_chalk.default.green("7") + " ".repeat(2) + import_chalk.default.white("Hooks: ") + import_chalk.default.green("8") + " ".repeat(40) + import_chalk.default.cyan("\u2502")
220
+ );
221
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
222
+ console.log(
223
+ import_chalk.default.cyan("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")
224
+ );
225
+ console.log("");
226
+ console.log(
227
+ import_chalk.default.dim("Press ") + import_chalk.default.cyan("Ctrl+C") + import_chalk.default.dim(" to exit") + " | " + import_chalk.default.dim("Version: ") + import_chalk.default.white("0.1.0")
228
+ );
229
+ console.log("");
230
+ }
231
+ function showBuildTUI() {
232
+ console.clear();
233
+ console.log("");
234
+ console.log(
235
+ import_chalk.default.cyan("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
236
+ );
237
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold.white("cli-use ") + import_chalk.default.cyan(" \u2502"));
238
+ console.log(
239
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Build Progress") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
240
+ );
241
+ console.log(
242
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
243
+ );
244
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
245
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Building...") + " ".repeat(43) + import_chalk.default.cyan("\u2502"));
246
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
247
+ console.log(
248
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("TypeScript compilation") + " ".repeat(35) + import_chalk.default.cyan("\u2502")
249
+ );
250
+ console.log(
251
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Bundle with tsup") + " ".repeat(38) + import_chalk.default.cyan("\u2502")
252
+ );
253
+ console.log(
254
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Generate declarations") + " ".repeat(33) + import_chalk.default.cyan("\u2502")
255
+ );
256
+ console.log(
257
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.yellow("\u25CB") + " " + import_chalk.default.white("Optimize") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
258
+ );
259
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
260
+ console.log(
261
+ import_chalk.default.cyan("\u2502") + " [" + import_chalk.default.green("\u2588".repeat(30)) + import_chalk.default.dim("\u2591".repeat(10)) + "] " + import_chalk.default.white("75%") + " ".repeat(4) + import_chalk.default.cyan("\u2502")
262
+ );
263
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
264
+ console.log(
265
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
266
+ );
267
+ console.log(
268
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Output Files") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
269
+ );
270
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
271
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("dist/") + " ".repeat(49) + import_chalk.default.cyan("\u2502"));
272
+ console.log(
273
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 index.js ") + import_chalk.default.dim("(") + import_chalk.default.white("21.2 KB") + import_chalk.default.dim(")") + " ".repeat(36) + import_chalk.default.cyan("\u2502")
274
+ );
275
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 cli/") + " ".repeat(47) + import_chalk.default.cyan("\u2502"));
276
+ console.log(
277
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u2514\u2500\u2500 index.js ") + import_chalk.default.dim("(") + import_chalk.default.white("3.0 KB") + import_chalk.default.dim(")") + " ".repeat(34) + import_chalk.default.cyan("\u2502")
278
+ );
279
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 hooks/") + " ".repeat(45) + import_chalk.default.cyan("\u2502"));
280
+ console.log(
281
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u2514\u2500\u2500 index.js ") + import_chalk.default.dim("(") + import_chalk.default.white("7.3 KB") + import_chalk.default.dim(")") + " ".repeat(34) + import_chalk.default.cyan("\u2502")
282
+ );
283
+ console.log(
284
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 *.d.ts ") + import_chalk.default.dim("(") + import_chalk.default.white("4.2 KB") + import_chalk.default.dim(")") + " ".repeat(39) + import_chalk.default.cyan("\u2502")
285
+ );
286
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
287
+ console.log(
288
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
289
+ );
290
+ console.log(
291
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Build Summary") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
292
+ );
293
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
294
+ console.log(
295
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Duration: ") + import_chalk.default.cyan("2.4s") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
296
+ );
297
+ console.log(
298
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Bundles: ") + import_chalk.default.green("3") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
299
+ );
300
+ console.log(
301
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Size: ") + import_chalk.default.cyan("31.5 KB") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
302
+ );
303
+ console.log(
304
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.white("Status: ") + import_chalk.default.green("\u2713 Success") + " ".repeat(42) + import_chalk.default.cyan("\u2502")
305
+ );
306
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
307
+ console.log(
308
+ import_chalk.default.cyan("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")
309
+ );
310
+ console.log("");
311
+ }
312
+ function showInitTUI(projectName) {
313
+ console.clear();
314
+ console.log("");
315
+ console.log(
316
+ import_chalk.default.cyan("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
317
+ );
318
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold.white("cli-use ") + import_chalk.default.cyan("\u2502"));
319
+ console.log(
320
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Project Setup") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
321
+ );
322
+ console.log(
323
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
324
+ );
325
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
326
+ console.log(
327
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Creating new project:") + " ".repeat(37) + import_chalk.default.cyan("\u2502")
328
+ );
329
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
330
+ console.log(
331
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("\u25CB") + " " + import_chalk.default.white("Project name: ") + import_chalk.default.green(projectName) + " ".repeat(34) + import_chalk.default.cyan("\u2502")
332
+ );
333
+ console.log(
334
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Package: ") + import_chalk.default.cyan("cli-use@0.1.0") + " ".repeat(32) + import_chalk.default.cyan("\u2502")
335
+ );
336
+ console.log(
337
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Template: ") + import_chalk.default.cyan("default") + " ".repeat(38) + import_chalk.default.cyan("\u2502")
338
+ );
339
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
340
+ console.log(
341
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Project Structure") + " ".repeat(39) + import_chalk.default.cyan("\u2502")
342
+ );
343
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
344
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("src/") + " ".repeat(49) + import_chalk.default.cyan("\u2502"));
345
+ console.log(
346
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 components/") + " ".repeat(45) + import_chalk.default.cyan("\u2502")
347
+ );
348
+ console.log(
349
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u251C\u2500\u2500 Box.tsx") + " ".repeat(42) + import_chalk.default.cyan("\u2502")
350
+ );
351
+ console.log(
352
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u251C\u2500\u2500 Text.tsx") + " ".repeat(42) + import_chalk.default.cyan("\u2502")
353
+ );
354
+ console.log(
355
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u251C\u2500\u2500 Button.tsx") + " ".repeat(40) + import_chalk.default.cyan("\u2502")
356
+ );
357
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2502 \u2514\u2500\u2500 ...") + " ".repeat(47) + import_chalk.default.cyan("\u2502"));
358
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 hooks/") + " ".repeat(47) + import_chalk.default.cyan("\u2502"));
359
+ console.log(
360
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 renderer/") + " ".repeat(44) + import_chalk.default.cyan("\u2502")
361
+ );
362
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 App.tsx") + " ".repeat(45) + import_chalk.default.cyan("\u2502"));
363
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u251C\u2500\u2500 index.ts") + " ".repeat(45) + import_chalk.default.cyan("\u2502"));
364
+ console.log(
365
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("\u2514\u2500\u2500 package.json") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
366
+ );
367
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
368
+ console.log(
369
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
370
+ );
371
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Next Steps") + " ".repeat(45) + import_chalk.default.cyan("\u2502"));
372
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
373
+ console.log(
374
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("1.") + " " + import_chalk.default.white("cd " + projectName) + " ".repeat(40) + import_chalk.default.cyan("\u2502")
375
+ );
376
+ console.log(
377
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("2.") + " " + import_chalk.default.white("npm install") + " ".repeat(44) + import_chalk.default.cyan("\u2502")
378
+ );
379
+ console.log(
380
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("3.") + " " + import_chalk.default.white("npm run dev") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
381
+ );
382
+ console.log(
383
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("4.") + " " + import_chalk.default.white("Start building!") + " ".repeat(42) + import_chalk.default.cyan("\u2502")
384
+ );
385
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
386
+ console.log(
387
+ import_chalk.default.cyan("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")
388
+ );
389
+ console.log("");
390
+ }
391
+ function showRunTUI(exampleName) {
392
+ console.clear();
393
+ console.log("");
394
+ console.log(
395
+ import_chalk.default.cyan("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
396
+ );
397
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold.white("cli-use ") + import_chalk.default.cyan(" \u2502"));
398
+ console.log(
399
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Example Runner") + " ".repeat(44) + import_chalk.default.cyan("\u2502")
400
+ );
401
+ console.log(
402
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
403
+ );
404
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
405
+ console.log(
406
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Running: ") + import_chalk.default.cyan(exampleName) + " ".repeat(39) + import_chalk.default.cyan("\u2502")
407
+ );
408
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
409
+ const examples = [
410
+ {
411
+ name: "counter",
412
+ title: "Counter",
413
+ desc: "Interactive counter with keyboard controls",
414
+ tags: ["beginner", "hooks"]
415
+ },
416
+ { name: "demo", title: "Demo", desc: "Feature demonstration showcase", tags: ["overview"] },
417
+ {
418
+ name: "todos",
419
+ title: "Todo List",
420
+ desc: "Todo list with navigation",
421
+ tags: ["interactive", "state"]
422
+ },
423
+ {
424
+ name: "ratatui",
425
+ title: "Rust Demo",
426
+ desc: "Native Rust TUI integration",
427
+ tags: ["rust", "advanced"]
428
+ }
429
+ ];
430
+ examples.forEach((ex, i) => {
431
+ const isCurrent = ex.name === exampleName;
432
+ const status = isCurrent ? import_chalk.default.green("\u25CF") : import_chalk.default.dim("\u25CB");
433
+ const marker = isCurrent ? import_chalk.default.cyan("\u25B6") : import_chalk.default.dim(" ");
434
+ console.log(
435
+ import_chalk.default.cyan("\u2502") + " " + marker + " " + status + " " + import_chalk.default.white(ex.name) + " ".repeat(39) + import_chalk.default.cyan("\u2502")
436
+ );
437
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim(ex.desc) + " ".repeat(47) + import_chalk.default.cyan("\u2502"));
438
+ if (i < examples.length - 1) {
439
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
440
+ }
441
+ });
442
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
443
+ console.log(
444
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
445
+ );
446
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Controls") + " ".repeat(46) + import_chalk.default.cyan("\u2502"));
447
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
448
+ console.log(
449
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("\u2191/\u2193") + " " + import_chalk.default.white("Navigate") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
450
+ );
451
+ console.log(
452
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("q") + " " + import_chalk.default.white("Quit") + " ".repeat(46) + import_chalk.default.cyan("\u2502")
453
+ );
454
+ console.log(
455
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("r") + " " + import_chalk.default.white("Restart") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
456
+ );
457
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
458
+ console.log(
459
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
460
+ );
461
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Output") + " ".repeat(47) + import_chalk.default.cyan("\u2502"));
462
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
463
+ console.log(
464
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.green("\u2713") + " " + import_chalk.default.white("Example started successfully") + " ".repeat(32) + import_chalk.default.cyan("\u2502")
465
+ );
466
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
467
+ console.log(
468
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim("Use arrow keys to interact with example") + " ".repeat(19) + import_chalk.default.cyan("\u2502")
469
+ );
470
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
471
+ console.log(
472
+ import_chalk.default.cyan("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")
473
+ );
474
+ console.log("");
475
+ }
476
+ function showExamplesTUI() {
477
+ console.clear();
478
+ console.log("");
479
+ console.log(
480
+ import_chalk.default.cyan("\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510")
481
+ );
482
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold.white("cli-use ") + import_chalk.default.cyan(" \u2502"));
483
+ console.log(
484
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Example Gallery") + " ".repeat(43) + import_chalk.default.cyan("\u2502")
485
+ );
486
+ console.log(
487
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
488
+ );
489
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
490
+ const examples = [
491
+ {
492
+ name: "counter",
493
+ title: "Counter",
494
+ desc: "Interactive counter with keyboard controls",
495
+ tags: ["beginner", "hooks"]
496
+ },
497
+ { name: "demo", title: "Demo", desc: "Feature demonstration showcase", tags: ["overview"] },
498
+ {
499
+ name: "todos",
500
+ title: "Todo List",
501
+ desc: "Todo list with navigation",
502
+ tags: ["interactive", "state"]
503
+ }
504
+ ];
505
+ examples.forEach((ex, i) => {
506
+ const status = i === 0 ? import_chalk.default.cyan("\u25B6") : import_chalk.default.dim("\u25CB");
507
+ const tags = ex.tags.map((t) => import_chalk.default.dim("[") + import_chalk.default.cyan(t) + import_chalk.default.dim("]")).join(" ");
508
+ console.log(
509
+ import_chalk.default.cyan("\u2502") + " " + status + " " + import_chalk.default.bold(ex.name) + " - " + import_chalk.default.white(ex.title) + " ".repeat(26) + import_chalk.default.cyan("\u2502")
510
+ );
511
+ console.log(
512
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.dim(ex.desc) + " ".repeat(33) + tags + " ".repeat(5) + import_chalk.default.cyan("\u2502")
513
+ );
514
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
515
+ });
516
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
517
+ console.log(
518
+ import_chalk.default.cyan("\u251C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524")
519
+ );
520
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Commands") + " ".repeat(46) + import_chalk.default.cyan("\u2502"));
521
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
522
+ console.log(
523
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("cli-use run counter") + " ".repeat(34) + import_chalk.default.cyan("\u2502")
524
+ );
525
+ console.log(
526
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("cli-use run demo") + " ".repeat(36) + import_chalk.default.cyan("\u2502")
527
+ );
528
+ console.log(
529
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("cli-use run todos") + " ".repeat(35) + import_chalk.default.cyan("\u2502")
530
+ );
531
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
532
+ console.log(import_chalk.default.cyan("\u2502") + " " + import_chalk.default.bold("Shortcuts") + " ".repeat(46) + import_chalk.default.cyan("\u2502"));
533
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
534
+ console.log(
535
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("n") + "/" + import_chalk.default.cyan("p") + " " + import_chalk.default.white("Next/Prev example") + " ".repeat(36) + import_chalk.default.cyan("\u2502")
536
+ );
537
+ console.log(
538
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("enter") + " " + import_chalk.default.white("Run selected") + " ".repeat(39) + import_chalk.default.cyan("\u2502")
539
+ );
540
+ console.log(
541
+ import_chalk.default.cyan("\u2502") + " " + import_chalk.default.cyan("q") + " " + import_chalk.default.white("Quit") + " ".repeat(44) + import_chalk.default.cyan("\u2502")
542
+ );
543
+ console.log(import_chalk.default.cyan("\u2502") + " " + " ".repeat(54) + import_chalk.default.cyan("\u2502"));
544
+ console.log(
545
+ import_chalk.default.cyan("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518")
546
+ );
547
+ console.log("");
548
+ }
549
+ //# sourceMappingURL=index.cjs.map