@swift-rust/ui 0.2.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.
Files changed (53) hide show
  1. package/dist/cli.d.ts +17 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +437 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/components.d.ts +8 -0
  6. package/dist/components.d.ts.map +1 -0
  7. package/dist/components.js +39 -0
  8. package/dist/components.js.map +1 -0
  9. package/dist/index.d.ts +29 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +34 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/smoke.test.d.ts +2 -0
  14. package/dist/smoke.test.d.ts.map +1 -0
  15. package/dist/smoke.test.js +18 -0
  16. package/dist/smoke.test.js.map +1 -0
  17. package/package.json +54 -0
  18. package/registry/components/accordion.tsx +106 -0
  19. package/registry/components/alert.tsx +34 -0
  20. package/registry/components/avatar.tsx +37 -0
  21. package/registry/components/badge.tsx +30 -0
  22. package/registry/components/breadcrumb.tsx +56 -0
  23. package/registry/components/button.tsx +48 -0
  24. package/registry/components/callout.tsx +20 -0
  25. package/registry/components/card.tsx +49 -0
  26. package/registry/components/checkbox.tsx +21 -0
  27. package/registry/components/code.tsx +27 -0
  28. package/registry/components/command.tsx +93 -0
  29. package/registry/components/dialog.tsx +118 -0
  30. package/registry/components/dropdown-menu.tsx +96 -0
  31. package/registry/components/form.tsx +28 -0
  32. package/registry/components/input.tsx +23 -0
  33. package/registry/components/kbd.tsx +17 -0
  34. package/registry/components/label.tsx +19 -0
  35. package/registry/components/navigation-menu.tsx +74 -0
  36. package/registry/components/pagination.tsx +56 -0
  37. package/registry/components/popover.tsx +58 -0
  38. package/registry/components/progress.tsx +22 -0
  39. package/registry/components/radio-group.tsx +78 -0
  40. package/registry/components/select.tsx +21 -0
  41. package/registry/components/separator.tsx +23 -0
  42. package/registry/components/sheet.tsx +68 -0
  43. package/registry/components/skeleton.tsx +14 -0
  44. package/registry/components/slider.tsx +18 -0
  45. package/registry/components/spinner.tsx +17 -0
  46. package/registry/components/switch.tsx +23 -0
  47. package/registry/components/table.tsx +65 -0
  48. package/registry/components/tabs.tsx +86 -0
  49. package/registry/components/textarea.tsx +22 -0
  50. package/registry/components/toast.tsx +58 -0
  51. package/registry/components/toggle.tsx +46 -0
  52. package/registry/components/tooltip.tsx +70 -0
  53. package/registry/lib/utils.ts +6 -0
package/dist/cli.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ export declare function init(options?: {
3
+ cwd?: string;
4
+ dir?: string;
5
+ yes?: boolean;
6
+ overwrite?: boolean;
7
+ }): Promise<void>;
8
+ export declare function add(options: {
9
+ cwd?: string;
10
+ names?: string[];
11
+ all?: boolean;
12
+ targetDir?: string;
13
+ yes?: boolean;
14
+ overwrite?: boolean;
15
+ }): Promise<void>;
16
+ export declare function list(): Promise<void>;
17
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAmPA,wBAAsB,IAAI,CACxB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/E,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,GAAG,CAAC,OAAO,EAAE;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhB;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C"}
package/dist/cli.js ADDED
@@ -0,0 +1,437 @@
1
+ #!/usr/bin/env node
2
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import * as p from "@clack/prompts";
6
+ import pc from "picocolors";
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = dirname(__filename);
9
+ const PACKAGE_ROOT = join(__dirname, "..");
10
+ const REGISTRY_DIR = join(PACKAGE_ROOT, "registry");
11
+ const COMPONENTS = {
12
+ accordion: { files: ["accordion.tsx"] },
13
+ alert: { files: ["alert.tsx"] },
14
+ avatar: { files: ["avatar.tsx"] },
15
+ badge: { files: ["badge.tsx"] },
16
+ breadcrumb: { files: ["breadcrumb.tsx"] },
17
+ button: { files: ["button.tsx"] },
18
+ callout: { files: ["callout.tsx"] },
19
+ card: { files: ["card.tsx"] },
20
+ checkbox: { files: ["checkbox.tsx"] },
21
+ code: { files: ["code.tsx"] },
22
+ command: { files: ["command.tsx"] },
23
+ dialog: { files: ["dialog.tsx"] },
24
+ "dropdown-menu": { files: ["dropdown-menu.tsx"] },
25
+ form: { files: ["form.tsx"] },
26
+ input: { files: ["input.tsx"] },
27
+ kbd: { files: ["kbd.tsx"] },
28
+ label: { files: ["label.tsx"] },
29
+ "navigation-menu": { files: ["navigation-menu.tsx"] },
30
+ pagination: { files: ["pagination.tsx"] },
31
+ popover: { files: ["popover.tsx"] },
32
+ progress: { files: ["progress.tsx"] },
33
+ "radio-group": { files: ["radio-group.tsx"] },
34
+ select: { files: ["select.tsx"] },
35
+ separator: { files: ["separator.tsx"] },
36
+ sheet: { files: ["sheet.tsx"] },
37
+ skeleton: { files: ["skeleton.tsx"] },
38
+ slider: { files: ["slider.tsx"] },
39
+ spinner: { files: ["spinner.tsx"] },
40
+ switch: { files: ["switch.tsx"] },
41
+ table: { files: ["table.tsx"] },
42
+ tabs: { files: ["tabs.tsx"] },
43
+ textarea: { files: ["textarea.tsx"] },
44
+ toast: { files: ["toast.tsx"] },
45
+ toggle: { files: ["toggle.tsx"] },
46
+ tooltip: { files: ["tooltip.tsx"] },
47
+ };
48
+ const UTILS_FILE = join(REGISTRY_DIR, "lib", "utils.ts");
49
+ const HELP = `
50
+ ${pc.bold("swift-rust")} ${pc.dim("— add UI components to your project")}
51
+
52
+ ${pc.bold("Usage")}
53
+ ${pc.cyan("swift-rust add [components...] [options]")}
54
+ ${pc.cyan("swift-rust init [options]")}
55
+ ${pc.cyan("swift-rust list")}
56
+
57
+ ${pc.bold("Commands")}
58
+ ${pc.yellow("add")} Add one or more components to your project
59
+ ${pc.yellow("init")} Initialize the UI registry in your project
60
+ ${pc.yellow("list")} List all available components
61
+ ${pc.yellow("help")} Show this help
62
+
63
+ ${pc.bold("Options for add")}
64
+ ${pc.yellow("--all")} Add all components
65
+ ${pc.yellow("--dir <path>")} Target directory (default: "components/ui")
66
+ ${pc.yellow("--yes, -y")} Skip confirmation prompts
67
+ ${pc.yellow("--overwrite")} Overwrite existing files
68
+
69
+ ${pc.bold("Options for init")}
70
+ ${pc.yellow("--dir <path>")} Target directory (default: "lib")
71
+ ${pc.yellow("--yes, -y")} Skip confirmation prompts
72
+
73
+ ${pc.bold("Examples")}
74
+ ${pc.cyan("swift-rust init")}
75
+ ${pc.cyan("swift-rust add button card input")}
76
+ ${pc.cyan("swift-rust add --all")}
77
+ ${pc.cyan("swift-rust add dialog --dir src/components/ui")}
78
+ `;
79
+ async function pathExists(path) {
80
+ try {
81
+ await readFile(path);
82
+ return true;
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ }
88
+ async function findProjectRoot(cwd) {
89
+ let current = cwd;
90
+ const root = resolve("/");
91
+ while (current !== root) {
92
+ const pkgPath = join(current, "package.json");
93
+ if (await pathExists(pkgPath)) {
94
+ try {
95
+ const pkgRaw = await readFile(pkgPath, "utf8");
96
+ const pkg = JSON.parse(pkgRaw);
97
+ if (pkg.dependencies?.["swift-rust"] || pkg.dependencies?.["@swift-rust/ui"]) {
98
+ return current;
99
+ }
100
+ }
101
+ catch {
102
+ // ignore
103
+ }
104
+ }
105
+ const parent = dirname(current);
106
+ if (parent === current)
107
+ break;
108
+ current = parent;
109
+ }
110
+ return cwd;
111
+ }
112
+ async function readPackageJson(dir) {
113
+ const path = join(dir, "package.json");
114
+ const raw = await readFile(path, "utf8");
115
+ return JSON.parse(raw);
116
+ }
117
+ async function writePackageJson(dir, pkg) {
118
+ const path = join(dir, "package.json");
119
+ await writeFile(path, `${JSON.stringify(pkg, null, 2)}\n`);
120
+ }
121
+ async function ensureDependencies(projectRoot, deps) {
122
+ const pkg = await readPackageJson(projectRoot);
123
+ const existing = new Set([
124
+ ...Object.keys(pkg.dependencies ?? {}),
125
+ ...Object.keys(pkg.devDependencies ?? {}),
126
+ ]);
127
+ const toAdd = deps.filter((d) => !existing.has(d));
128
+ if (toAdd.length === 0) {
129
+ return { added: [], alreadyPresent: deps };
130
+ }
131
+ pkg.dependencies = pkg.dependencies ?? {};
132
+ for (const dep of toAdd) {
133
+ pkg.dependencies[dep] = "latest";
134
+ }
135
+ await writePackageJson(projectRoot, pkg);
136
+ return { added: toAdd, alreadyPresent: deps.filter((d) => existing.has(d)) };
137
+ }
138
+ async function detectImportAlias(projectRoot) {
139
+ const tsconfigPath = join(projectRoot, "tsconfig.json");
140
+ if (!(await pathExists(tsconfigPath)))
141
+ return "@/*";
142
+ try {
143
+ const raw = await readFile(tsconfigPath, "utf8");
144
+ const json = JSON.parse(raw);
145
+ const paths = json.compilerOptions?.paths ?? {};
146
+ for (const key of Object.keys(paths)) {
147
+ if (key.endsWith("/*") &&
148
+ paths[key]?.some((p) => p.endsWith("/*") || p.endsWith("/src/*") || p.endsWith("*"))) {
149
+ return key;
150
+ }
151
+ }
152
+ }
153
+ catch {
154
+ // ignore
155
+ }
156
+ return "@/*";
157
+ }
158
+ async function ensureTsconfigPath(projectRoot, alias, srcDir) {
159
+ const tsconfigPath = join(projectRoot, "tsconfig.json");
160
+ if (!(await pathExists(tsconfigPath)))
161
+ return;
162
+ const raw = await readFile(tsconfigPath, "utf8");
163
+ const json = JSON.parse(raw);
164
+ const aliasKey = alias.replace("/*", "");
165
+ const current = json.compilerOptions ?? {};
166
+ const paths = current.paths ?? {};
167
+ if (!Object.keys(paths).some((k) => k === alias.replace("/*", ""))) {
168
+ paths[aliasKey] = srcDir ? ["./src/*"] : ["./*"];
169
+ current.paths = paths;
170
+ if (!current.baseUrl)
171
+ current.baseUrl = ".";
172
+ json.compilerOptions = current;
173
+ await writeFile(tsconfigPath, `${JSON.stringify(json, null, 2)}\n`);
174
+ }
175
+ }
176
+ async function copyFile(src, dest, overwrite) {
177
+ if (await pathExists(dest)) {
178
+ if (!overwrite)
179
+ return "skipped";
180
+ }
181
+ await mkdir(dirname(dest), { recursive: true });
182
+ const content = await readFile(src, "utf8");
183
+ await writeFile(dest, content);
184
+ return overwrite ? "overwritten" : "created";
185
+ }
186
+ async function installComponent(projectRoot, name, targetDir, overwrite) {
187
+ const entry = COMPONENTS[name];
188
+ if (!entry)
189
+ throw new Error(`Unknown component: ${name}`);
190
+ const files = [];
191
+ for (const file of entry.files) {
192
+ const src = join(REGISTRY_DIR, "components", file);
193
+ const dest = join(projectRoot, targetDir, file);
194
+ const result = await copyFile(src, dest, overwrite);
195
+ files.push(`${result === "skipped" ? pc.yellow("~") : pc.green("+")} ${file}`);
196
+ }
197
+ return { status: "added", files };
198
+ }
199
+ async function installUtils(projectRoot, targetDir, overwrite) {
200
+ const dest = join(projectRoot, targetDir, "utils.ts");
201
+ const result = await copyFile(UTILS_FILE, dest, overwrite);
202
+ return `${result === "skipped" ? pc.yellow("~") : pc.green("+")} ${join(targetDir, "utils.ts")}`;
203
+ }
204
+ export async function init(options = {}) {
205
+ return runInit(options.cwd ?? process.cwd(), {
206
+ dir: options.dir,
207
+ yes: options.yes,
208
+ overwrite: options.overwrite,
209
+ });
210
+ }
211
+ export async function add(options) {
212
+ return runAddInternal(options.cwd ?? process.cwd(), options.names ?? [], {
213
+ all: options.all,
214
+ dir: options.targetDir,
215
+ yes: options.yes,
216
+ overwrite: options.overwrite,
217
+ });
218
+ }
219
+ export async function list() {
220
+ return runList();
221
+ }
222
+ async function runInit(cwd, options) {
223
+ const projectRoot = await findProjectRoot(cwd);
224
+ p.log.info(`Project root: ${pc.cyan(projectRoot)}`);
225
+ const targetDir = options.dir ?? "lib";
226
+ const alias = await detectImportAlias(projectRoot);
227
+ const srcDir = alias.includes("src");
228
+ const utilsDest = join(targetDir, "utils.ts");
229
+ const overwrite = options.overwrite === true;
230
+ const yes = options.yes === true;
231
+ if (!yes) {
232
+ const proceed = await p.confirm({
233
+ message: `Install ${pc.cyan("lib/utils.ts")} to ${pc.cyan(join(projectRoot, utilsDest))}?`,
234
+ initialValue: true,
235
+ });
236
+ if (p.isCancel(proceed) || !proceed) {
237
+ p.cancel("Aborted.");
238
+ process.exit(1);
239
+ }
240
+ }
241
+ const spinner = p.spinner();
242
+ spinner.start("Installing utilities");
243
+ const result = await installUtils(projectRoot, targetDir, overwrite);
244
+ await ensureDependencies(projectRoot, ["clsx", "tailwind-merge"]);
245
+ await ensureTsconfigPath(projectRoot, alias, srcDir);
246
+ spinner.stop("Installed utilities");
247
+ p.log.success(result);
248
+ p.log.info(pc.dim("Dependencies added: clsx, tailwind-merge"));
249
+ p.outro(`${pc.green("Done!")} Now run ${pc.cyan("swift-rust add <component>")} to add components.`);
250
+ }
251
+ async function runAddInternal(cwd, names, options) {
252
+ const projectRoot = await findProjectRoot(cwd);
253
+ p.log.info(`Project root: ${pc.cyan(projectRoot)}`);
254
+ const targetDir = options.dir ?? "components/ui";
255
+ const overwrite = options.overwrite === true;
256
+ const yes = options.yes === true;
257
+ let namesToAdd = names;
258
+ if (options.all) {
259
+ namesToAdd = Object.keys(COMPONENTS);
260
+ }
261
+ if (names.length === 0) {
262
+ if (yes) {
263
+ p.log.error("No components specified. Use --all or pass component names.");
264
+ process.exit(1);
265
+ }
266
+ const selected = await p.multiselect({
267
+ message: "Which components would you like to add?",
268
+ options: Object.keys(COMPONENTS).map((name) => ({
269
+ value: name,
270
+ label: name,
271
+ })),
272
+ required: true,
273
+ });
274
+ if (p.isCancel(selected) || !Array.isArray(selected) || selected.length === 0) {
275
+ p.cancel("Aborted.");
276
+ process.exit(1);
277
+ }
278
+ namesToAdd = selected;
279
+ }
280
+ const invalid = namesToAdd.filter((n) => !COMPONENTS[n]);
281
+ if (invalid.length > 0) {
282
+ p.log.error(`Unknown component${invalid.length > 1 ? "s" : ""}: ${invalid.join(", ")}`);
283
+ p.log.info(`Run ${pc.cyan("swift-rust list")} to see all available components.`);
284
+ process.exit(1);
285
+ }
286
+ if (!yes) {
287
+ const proceed = await p.confirm({
288
+ message: `Add ${pc.cyan(namesToAdd.join(", "))} to ${pc.cyan(join(projectRoot, targetDir))}?`,
289
+ initialValue: true,
290
+ });
291
+ if (p.isCancel(proceed) || !proceed) {
292
+ p.cancel("Aborted.");
293
+ process.exit(1);
294
+ }
295
+ }
296
+ const hasUtils = await pathExists(join(projectRoot, "lib", "utils.ts"));
297
+ if (!hasUtils && !yes) {
298
+ const runInitPrompt = await p.confirm({
299
+ message: `${pc.yellow("lib/utils.ts")} is missing. Run ${pc.cyan("swift-rust init")} first?`,
300
+ initialValue: true,
301
+ });
302
+ if (!p.isCancel(runInitPrompt) && runInitPrompt) {
303
+ await runInit(cwd, { dir: "lib", yes: true });
304
+ }
305
+ }
306
+ else if (!hasUtils) {
307
+ await runInit(cwd, { dir: "lib", yes: true });
308
+ }
309
+ const spinner = p.spinner();
310
+ spinner.start(`Adding ${namesToAdd.length} component${namesToAdd.length > 1 ? "s" : ""}`);
311
+ const results = [];
312
+ for (const name of namesToAdd) {
313
+ try {
314
+ const { files } = await installComponent(projectRoot, name, targetDir, overwrite);
315
+ results.push(...files);
316
+ }
317
+ catch (err) {
318
+ p.log.error(`Failed to add ${name}: ${err.message}`);
319
+ }
320
+ }
321
+ spinner.stop(`Added ${namesToAdd.length} component${namesToAdd.length > 1 ? "s" : ""}`);
322
+ p.log.message(results.join("\n"));
323
+ p.outro(`${pc.green("Done!")} Components are ready in ${pc.cyan(targetDir)}.`);
324
+ }
325
+ async function runList() {
326
+ const names = Object.keys(COMPONENTS).sort();
327
+ p.log.message(`${pc.bold(pc.cyan(`${names.length} components available:`))}\n`);
328
+ const groups = {
329
+ Forms: [
330
+ "button",
331
+ "input",
332
+ "textarea",
333
+ "checkbox",
334
+ "radio-group",
335
+ "select",
336
+ "switch",
337
+ "slider",
338
+ "label",
339
+ "form",
340
+ ],
341
+ Layout: [
342
+ "card",
343
+ "separator",
344
+ "tabs",
345
+ "accordion",
346
+ "sheet",
347
+ "dialog",
348
+ "popover",
349
+ "dropdown-menu",
350
+ "navigation-menu",
351
+ "breadcrumb",
352
+ "pagination",
353
+ ],
354
+ Feedback: ["alert", "callout", "toast", "spinner", "skeleton", "progress"],
355
+ Display: ["avatar", "badge", "kbd", "code", "table", "command", "toggle"],
356
+ };
357
+ for (const [group, groupNames] of Object.entries(groups)) {
358
+ p.log.message(` ${pc.bold(group)}: ${groupNames.map((n) => pc.cyan(n)).join(", ")}`);
359
+ }
360
+ }
361
+ function parseArgs(args) {
362
+ const flags = { _: [] };
363
+ for (let i = 0; i < args.length; i++) {
364
+ const a = args[i];
365
+ if (a === undefined)
366
+ continue;
367
+ if (a === "--all")
368
+ flags.all = true;
369
+ else if (a === "--yes" || a === "-y")
370
+ flags.yes = true;
371
+ else if (a === "--overwrite")
372
+ flags.overwrite = true;
373
+ else if (a === "--dir") {
374
+ const next = args[++i];
375
+ if (next !== undefined)
376
+ flags.dir = next;
377
+ }
378
+ else if (a === "--help" || a === "-h")
379
+ flags.help = true;
380
+ else if (!a.startsWith("-")) {
381
+ const arr = flags._ ?? [];
382
+ arr.push(a);
383
+ flags._ = arr;
384
+ }
385
+ }
386
+ return flags;
387
+ }
388
+ async function main() {
389
+ const args = process.argv.slice(2);
390
+ if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
391
+ console.log(HELP);
392
+ process.exit(args.length === 0 ? 1 : 0);
393
+ }
394
+ const command = args[0];
395
+ const flags = parseArgs(args.slice(1));
396
+ p.intro(pc.bgCyan(pc.black(" swift-rust ui ")));
397
+ try {
398
+ if (command === "add") {
399
+ const names = flags._ ?? [];
400
+ await runAddInternal(process.cwd(), names, {
401
+ all: flags.all === true,
402
+ dir: typeof flags.dir === "string" ? flags.dir : undefined,
403
+ yes: flags.yes === true,
404
+ overwrite: flags.overwrite === true,
405
+ });
406
+ }
407
+ else if (command === "init") {
408
+ await runInit(process.cwd(), {
409
+ dir: typeof flags.dir === "string" ? flags.dir : undefined,
410
+ yes: flags.yes === true,
411
+ overwrite: flags.overwrite === true,
412
+ });
413
+ }
414
+ else if (command === "list") {
415
+ await runList();
416
+ }
417
+ else if (command === "help") {
418
+ console.log(HELP);
419
+ }
420
+ else {
421
+ p.log.error(`Unknown command: ${command}`);
422
+ console.log(HELP);
423
+ process.exit(1);
424
+ }
425
+ }
426
+ catch (err) {
427
+ p.log.error(err.message);
428
+ process.exit(1);
429
+ }
430
+ }
431
+ if (import.meta.main) {
432
+ main().catch((err) => {
433
+ console.error(err);
434
+ process.exit(1);
435
+ });
436
+ }
437
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAW,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAIpD,MAAM,UAAU,GAAiB;IAC/B,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE;IACvC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACzC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;IACnC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;IAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE;IACrC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;IAC7B,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;IACnC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC,EAAE;IACjD,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;IAC7B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;IAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,qBAAqB,CAAC,EAAE;IACrD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE;IACzC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;IACnC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE;IACrC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,iBAAiB,CAAC,EAAE;IAC7C,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE;IACvC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE;IACrC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;IACnC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE;IAC7B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,cAAc,CAAC,EAAE;IACrC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE;IAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,EAAE;IACjC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE;CACpC,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAEzD,MAAM,IAAI,GAAG;EACX,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC;;EAEtE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IACd,EAAE,CAAC,IAAI,CAAC,0CAA0C,CAAC;IACnD,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;;EAE5B,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;IACjB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAChB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACjB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACjB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;;EAEnB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACxB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IAClB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IACzB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;IACtB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;;EAE1B,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACzB,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;IACzB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;;EAExB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;IACjB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC1B,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC;IAC3C,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC/B,EAAE,CAAC,IAAI,CAAC,+CAA+C,CAAC;CAC3D,CAAC;AAEF,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC9C,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA8C,CAAC;gBAC5E,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAC7E,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,GAAgB;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvC,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAmB,EACnB,IAAc;IAEd,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACvB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QACtC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACnC,CAAC;IACD,MAAM,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAE1B,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IACE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClB,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACpF,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAmB,EACnB,KAAa,EACb,MAAe;IAEf,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC;QAAE,OAAO;IAC9C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAE1B,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,MAAM,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAW,EACX,IAAY,EACZ,SAAkB;IAElB,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;IACnC,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAmB,EACnB,IAAY,EACZ,SAAiB,EACjB,SAAkB;IAElB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,WAAmB,EACnB,SAAiB,EACjB,SAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3D,OAAO,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,UAA8E,EAAE;IAEhF,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE;QAC3C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAOzB;IACC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE;QACvE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,SAAS;QACtB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,OAAO,OAAO,EAAE,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,GAAW,EACX,OAA6D;IAE7D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC;IAEjC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG;YAC1F,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClE,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEpC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,KAAK,CACL,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,qBAAqB,CAC3F,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,KAAe,EACf,OAA4E;IAE5E,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,IAAI,eAAe,CAAC;IACjD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC;IAEjC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,CAAC;YACR,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;YACnC,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC9C,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,UAAU,GAAG,QAAoB,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,GAAG;YAC7F,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YACpC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS;YAC5F,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;YAChD,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,UAAU,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1F,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,aAAa,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,MAAM,GAA6B;QACvC,KAAK,EAAE;YACL,QAAQ;YACR,OAAO;YACP,UAAU;YACV,UAAU;YACV,aAAa;YACb,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,MAAM;SACP;QACD,MAAM,EAAE;YACN,MAAM;YACN,WAAW;YACX,MAAM;YACN,WAAW;YACX,OAAO;YACP,QAAQ;YACR,SAAS;YACT,eAAe;YACf,iBAAiB;YACjB,YAAY;YACZ,YAAY;SACb;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QAC1E,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;KAC1E,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,KAAK,GAAgD,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,KAAK,OAAO;YAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;aAC/B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI;YAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;aAClD,IAAI,CAAC,KAAK,aAAa;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;aAChD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;QAC3C,CAAC;aAAM,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;aACtD,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAI,KAAK,CAAC,CAAc,IAAI,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAI,KAAK,CAAC,CAAc,IAAI,EAAE,CAAC;YAC1C,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE;gBACzC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,IAAI;gBACvB,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1D,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,IAAI;gBACvB,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;gBAC3B,GAAG,EAAE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;gBAC1D,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,IAAI;gBACvB,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,CAAC,CAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface ComponentInfo {
2
+ name: string;
3
+ files: string[];
4
+ dependencies?: string[];
5
+ }
6
+ declare const COMPONENTS: Record<string, ComponentInfo>;
7
+ export default COMPONENTS;
8
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAoC7C,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ const COMPONENTS = {
2
+ accordion: { name: "accordion", files: ["accordion.tsx"] },
3
+ alert: { name: "alert", files: ["alert.tsx"] },
4
+ avatar: { name: "avatar", files: ["avatar.tsx"] },
5
+ badge: { name: "badge", files: ["badge.tsx"] },
6
+ breadcrumb: { name: "breadcrumb", files: ["breadcrumb.tsx"] },
7
+ button: { name: "button", files: ["button.tsx"] },
8
+ callout: { name: "callout", files: ["callout.tsx"] },
9
+ card: { name: "card", files: ["card.tsx"] },
10
+ checkbox: { name: "checkbox", files: ["checkbox.tsx"] },
11
+ code: { name: "code", files: ["code.tsx"] },
12
+ command: { name: "command", files: ["command.tsx"] },
13
+ dialog: { name: "dialog", files: ["dialog.tsx"] },
14
+ "dropdown-menu": { name: "dropdown-menu", files: ["dropdown-menu.tsx"] },
15
+ form: { name: "form", files: ["form.tsx"] },
16
+ input: { name: "input", files: ["input.tsx"] },
17
+ kbd: { name: "kbd", files: ["kbd.tsx"] },
18
+ label: { name: "label", files: ["label.tsx"] },
19
+ "navigation-menu": { name: "navigation-menu", files: ["navigation-menu.tsx"] },
20
+ pagination: { name: "pagination", files: ["pagination.tsx"] },
21
+ popover: { name: "popover", files: ["popover.tsx"] },
22
+ progress: { name: "progress", files: ["progress.tsx"] },
23
+ "radio-group": { name: "radio-group", files: ["radio-group.tsx"] },
24
+ select: { name: "select", files: ["select.tsx"] },
25
+ separator: { name: "separator", files: ["separator.tsx"] },
26
+ sheet: { name: "sheet", files: ["sheet.tsx"] },
27
+ skeleton: { name: "skeleton", files: ["skeleton.tsx"] },
28
+ slider: { name: "slider", files: ["slider.tsx"] },
29
+ spinner: { name: "spinner", files: ["spinner.tsx"] },
30
+ switch: { name: "switch", files: ["switch.tsx"] },
31
+ table: { name: "table", files: ["table.tsx"] },
32
+ tabs: { name: "tabs", files: ["tabs.tsx"] },
33
+ textarea: { name: "textarea", files: ["textarea.tsx"] },
34
+ toast: { name: "toast", files: ["toast.tsx"] },
35
+ toggle: { name: "toggle", files: ["toggle.tsx"] },
36
+ tooltip: { name: "tooltip", files: ["tooltip.tsx"] },
37
+ };
38
+ export default COMPONENTS;
39
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export { default as COMPONENTS } from "./components.js";
2
+ export type { ComponentInfo } from "./components.js";
3
+ export interface InitOptions {
4
+ cwd?: string;
5
+ targetDir?: string;
6
+ yes?: boolean;
7
+ overwrite?: boolean;
8
+ }
9
+ export interface AddOptions {
10
+ cwd?: string;
11
+ names?: string[];
12
+ all?: boolean;
13
+ targetDir?: string;
14
+ yes?: boolean;
15
+ overwrite?: boolean;
16
+ }
17
+ export interface AddResult {
18
+ added: string[];
19
+ skipped: string[];
20
+ overwritten: string[];
21
+ }
22
+ export declare function init(options?: InitOptions): Promise<void>;
23
+ export declare function add(options?: AddOptions): Promise<void>;
24
+ export declare function list(): Promise<void>;
25
+ export declare function prompt(message: string, options: {
26
+ choices: string[];
27
+ multiple?: boolean;
28
+ }): Promise<string | string[]>;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AAED,wBAAsB,GAAG,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;AAED,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1C;AAED,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACjD,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAgB5B"}
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ export { default as COMPONENTS } from "./components.js";
2
+ import * as p from "@clack/prompts";
3
+ export async function init(options = {}) {
4
+ const { init } = await import("./cli.js");
5
+ return init(options);
6
+ }
7
+ export async function add(options = {}) {
8
+ const { add } = await import("./cli.js");
9
+ return add(options);
10
+ }
11
+ export async function list() {
12
+ const { list } = await import("./cli.js");
13
+ return list();
14
+ }
15
+ export async function prompt(message, options) {
16
+ if (options.multiple) {
17
+ const result = await p.multiselect({
18
+ message,
19
+ options: options.choices.map((value) => ({ value, label: value })),
20
+ required: true,
21
+ });
22
+ if (p.isCancel(result))
23
+ return [];
24
+ return result;
25
+ }
26
+ const result = await p.select({
27
+ message,
28
+ options: options.choices.map((value) => ({ value, label: value })),
29
+ });
30
+ if (p.isCancel(result))
31
+ return "";
32
+ return result;
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAwBpC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAuB,EAAE;IAClD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,UAAsB,EAAE;IAChD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,OAAe,EACf,OAAkD;IAElD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC;YACjC,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,MAAkB,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;QAC5B,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACnE,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,MAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=smoke.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.test.d.ts","sourceRoot":"","sources":["../src/smoke.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { expect, test } from "bun:test";
2
+ import * as mod from "./index";
3
+ test("package exports core API", () => {
4
+ expect(mod).toBeDefined();
5
+ expect(typeof mod.init).toBe("function");
6
+ expect(typeof mod.add).toBe("function");
7
+ expect(typeof mod.list).toBe("function");
8
+ });
9
+ test("COMPONENTS map lists all 35 components", () => {
10
+ const components = mod.COMPONENTS;
11
+ expect(Object.keys(components).length).toBe(35);
12
+ const button = components.button;
13
+ expect(button).toBeDefined();
14
+ expect(button?.files).toContain("button.tsx");
15
+ expect(components["dropdown-menu"]).toBeDefined();
16
+ expect(components["navigation-menu"]).toBeDefined();
17
+ });
18
+ //# sourceMappingURL=smoke.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.test.js","sourceRoot":"","sources":["../src/smoke.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAE/B,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACpC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IAClD,MAAM,UAAU,GAAG,GAAG,CAAC,UAAiD,CAAC;IACzE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACtD,CAAC,CAAC,CAAC"}