dcntui 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +73 -19
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/config.d.ts +2 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +68 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +348 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +10 -153
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts +6 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +104 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/remove.d.ts +2 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +87 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/search.d.ts +2 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +124 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/update.d.ts +6 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +247 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/banner.d.ts.map +1 -1
- package/dist/utils/banner.js.map +1 -1
- package/dist/utils/config.d.ts +2 -2
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/detect-css.d.ts +6 -6
- package/dist/utils/detect-css.d.ts.map +1 -1
- package/dist/utils/detect-css.js +16 -12
- package/dist/utils/detect-css.js.map +1 -1
- package/dist/utils/detect-framework.d.ts +1 -1
- package/dist/utils/detect-framework.d.ts.map +1 -1
- package/dist/utils/detect-package-manager.d.ts +1 -0
- package/dist/utils/detect-package-manager.d.ts.map +1 -1
- package/dist/utils/detect-package-manager.js +12 -0
- package/dist/utils/detect-package-manager.js.map +1 -1
- package/dist/utils/detect-typescript.d.ts.map +1 -1
- package/dist/utils/detect-typescript.js.map +1 -1
- package/dist/utils/helpers.d.ts +1 -1
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +4 -5
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/lock.d.ts +6 -0
- package/dist/utils/lock.d.ts.map +1 -0
- package/dist/utils/lock.js +30 -0
- package/dist/utils/lock.js.map +1 -0
- package/dist/utils/registry.d.ts +27 -0
- package/dist/utils/registry.d.ts.map +1 -1
- package/dist/utils/registry.js +86 -2
- package/dist/utils/registry.js.map +1 -1
- package/dist/utils/search.d.ts +21 -0
- package/dist/utils/search.d.ts.map +1 -0
- package/dist/utils/search.js +104 -0
- package/dist/utils/search.js.map +1 -0
- package/dist/utils/wizard.d.ts +12 -0
- package/dist/utils/wizard.d.ts.map +1 -0
- package/dist/utils/wizard.js +168 -0
- package/dist/utils/wizard.js.map +1 -0
- package/dist/utils/write-component.d.ts +8 -0
- package/dist/utils/write-component.d.ts.map +1 -1
- package/dist/utils/write-component.js +83 -2
- package/dist/utils/write-component.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAUA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAkEjD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -3,21 +3,17 @@ import chalk from 'chalk';
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { renderBanner } from '../utils/banner.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { CONFIG_FILE, REGISTRY_BASE } from '../constants.js';
|
|
10
|
-
import { detectPackageManager } from '../utils/detect-package-manager.js';
|
|
6
|
+
import { runConfigWizard } from '../utils/wizard.js';
|
|
7
|
+
import { CONFIG_FILE } from '../constants.js';
|
|
8
|
+
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
11
9
|
export async function initCommand() {
|
|
12
10
|
console.clear();
|
|
13
|
-
// Banner
|
|
14
11
|
renderBanner();
|
|
15
|
-
|
|
16
|
-
clack.intro(chalk.bgCyan.black(' DCNTUI INIT '));
|
|
17
|
-
// Verify project root
|
|
12
|
+
clack.intro(chalk.bgCyan.black(' DCNT UI INIT '));
|
|
18
13
|
const cwd = process.cwd();
|
|
19
|
-
const
|
|
20
|
-
|
|
14
|
+
const pm = detectPackageManager(cwd);
|
|
15
|
+
const packageRunner = getPackageRunner(pm);
|
|
16
|
+
if (!fs.existsSync(path.join(cwd, 'package.json'))) {
|
|
21
17
|
clack.log.error(chalk.red('No package.json found in the current directory.\n\n' +
|
|
22
18
|
'dcntui init must be run from the root of your project — ' +
|
|
23
19
|
'the same folder that contains your package.json.'));
|
|
@@ -25,7 +21,6 @@ export async function initCommand() {
|
|
|
25
21
|
process.exit(1);
|
|
26
22
|
}
|
|
27
23
|
clack.log.success(chalk.green("package.json found — you're in the right place."));
|
|
28
|
-
// Detect existing config
|
|
29
24
|
clack.log.info('Checking existing configuration…\n');
|
|
30
25
|
const configPath = path.join(cwd, CONFIG_FILE);
|
|
31
26
|
if (fs.existsSync(configPath)) {
|
|
@@ -44,151 +39,13 @@ export async function initCommand() {
|
|
|
44
39
|
process.exit(0);
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
|
-
|
|
48
|
-
const detectedFramework = detectFramework(cwd);
|
|
49
|
-
if (detectedFramework) {
|
|
50
|
-
const detected = FRAMEWORK_OPTIONS.find((f) => f.value === detectedFramework);
|
|
51
|
-
clack.log.info(`Detected framework: ${chalk.cyan(detected.label)}`);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
clack.log.warn('No supported framework detected.\n\n' +
|
|
55
|
-
' Supported: Next.js, React, Svelte, SvelteKit.\n' +
|
|
56
|
-
' Select your framework manually, or choose None to exit.');
|
|
57
|
-
}
|
|
58
|
-
const framework = await clack.select({
|
|
59
|
-
message: 'Framework:',
|
|
60
|
-
options: FRAMEWORK_OPTIONS,
|
|
61
|
-
initialValue: detectedFramework
|
|
62
|
-
});
|
|
63
|
-
if (clack.isCancel(framework)) {
|
|
64
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
65
|
-
process.exit(0);
|
|
66
|
-
}
|
|
67
|
-
if (framework === null) {
|
|
68
|
-
clack.log.error(chalk.red('DCNT UI requires a supported framework to function correctly.\n\n' +
|
|
69
|
-
' Supported frameworks: Next.js (App Router & Pages Router), React, Svelte, SvelteKit.\n'));
|
|
70
|
-
clack.outro(chalk.red('Initialization aborted. Please set up a supported framework first.'));
|
|
71
|
-
process.exit(1);
|
|
72
|
-
}
|
|
73
|
-
// Write / patch dcntui.config.json
|
|
74
|
-
let config = {};
|
|
75
|
-
if (fs.existsSync(configPath)) {
|
|
76
|
-
try {
|
|
77
|
-
config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
78
|
-
}
|
|
79
|
-
catch {
|
|
80
|
-
config = {};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
config['version'] ?? (config['version'] = 1);
|
|
84
|
-
config['registry'] ?? (config['registry'] = REGISTRY_BASE);
|
|
85
|
-
config['framework'] = framework;
|
|
86
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
87
|
-
const frameworkLabel = FRAMEWORK_OPTIONS.find((f) => f.value === framework).label;
|
|
88
|
-
clack.log.success(chalk.green(`Framework set to ${chalk.bold(frameworkLabel)}.`));
|
|
89
|
-
// CSS strategy detection
|
|
90
|
-
const detectedCss = detectCss(cwd);
|
|
91
|
-
if (detectedCss) {
|
|
92
|
-
const detected = CSS_OPTIONS.find((c) => c.value === detectedCss);
|
|
93
|
-
clack.log.info(`Detected CSS strategy: ${chalk.cyan(detected.label)}`);
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
clack.log.warn('Could not auto-detect a CSS strategy. Please select one manually.');
|
|
97
|
-
}
|
|
98
|
-
const css = await clack.select({
|
|
99
|
-
message: 'CSS strategy:',
|
|
100
|
-
options: CSS_OPTIONS,
|
|
101
|
-
initialValue: detectedCss ?? 'css'
|
|
102
|
-
});
|
|
103
|
-
if (clack.isCancel(css)) {
|
|
104
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
105
|
-
process.exit(0);
|
|
106
|
-
}
|
|
107
|
-
config['css'] = css;
|
|
108
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
109
|
-
const cssLabel = CSS_OPTIONS.find((c) => c.value === css).label;
|
|
110
|
-
clack.log.success(chalk.green(`CSS strategy set to ${chalk.bold(cssLabel)}.`));
|
|
111
|
-
// Base styles file
|
|
112
|
-
const detectedStylesFile = detectBaseStylesFile(cwd, css);
|
|
113
|
-
if (detectedStylesFile) {
|
|
114
|
-
clack.log.info(`Detected base styles file: ${chalk.cyan(detectedStylesFile)}`);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
clack.log.warn('Could not find a base styles file. Please enter the path manually.');
|
|
118
|
-
}
|
|
119
|
-
const defaultStylesExt = css === 'scss' ? '.scss' : '.css';
|
|
120
|
-
const defaultStylesFile = detectedStylesFile ?? `src/index${defaultStylesExt}`;
|
|
121
|
-
const stylesFile = await clack.text({
|
|
122
|
-
message: 'Base styles file:',
|
|
123
|
-
placeholder: defaultStylesFile,
|
|
124
|
-
defaultValue: defaultStylesFile,
|
|
125
|
-
validate(value) {
|
|
126
|
-
const trimmed = value.trim();
|
|
127
|
-
if (trimmed.length === 0)
|
|
128
|
-
return 'Styles file path cannot be empty.';
|
|
129
|
-
if (path.isAbsolute(trimmed))
|
|
130
|
-
return 'Please use a relative path (e.g. src/index.css).';
|
|
131
|
-
if (trimmed.includes('..'))
|
|
132
|
-
return 'Path must not traverse outside the project root.';
|
|
133
|
-
const ext = path.extname(trimmed).toLowerCase();
|
|
134
|
-
if (!['.css', '.scss'].includes(ext))
|
|
135
|
-
return 'File must have a .css or .scss extension.';
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
if (clack.isCancel(stylesFile)) {
|
|
139
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
140
|
-
process.exit(0);
|
|
141
|
-
}
|
|
142
|
-
config['stylesFile'] = stylesFile.trim();
|
|
143
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
144
|
-
clack.log.success(chalk.green(`Base styles file set to ${chalk.bold(stylesFile.trim())}.`));
|
|
145
|
-
// TypeScript detection
|
|
146
|
-
const detectedTypeScript = detectTypeScript(cwd);
|
|
147
|
-
clack.log.info(`Detected language: ${chalk.cyan(detectedTypeScript ? 'TypeScript' : 'JavaScript')}`);
|
|
148
|
-
const typescript = await clack.confirm({
|
|
149
|
-
message: 'Use TypeScript?',
|
|
150
|
-
initialValue: detectedTypeScript
|
|
151
|
-
});
|
|
152
|
-
if (clack.isCancel(typescript)) {
|
|
153
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
154
|
-
process.exit(0);
|
|
155
|
-
}
|
|
156
|
-
config['typescript'] = typescript;
|
|
157
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
158
|
-
clack.log.success(chalk.green(`Language set to ${chalk.bold(typescript ? 'TypeScript' : 'JavaScript')}.`));
|
|
159
|
-
// Components directory
|
|
160
|
-
const defaultComponentsDir = fs.existsSync(path.join(cwd, 'src')) ? 'src/components/ui' : 'components/ui';
|
|
161
|
-
const componentsDir = await clack.text({
|
|
162
|
-
message: 'Components directory:',
|
|
163
|
-
placeholder: defaultComponentsDir,
|
|
164
|
-
defaultValue: defaultComponentsDir,
|
|
165
|
-
validate(value) {
|
|
166
|
-
const trimmed = value.trim();
|
|
167
|
-
if (trimmed.length === 0)
|
|
168
|
-
return 'Directory path cannot be empty.';
|
|
169
|
-
if (path.isAbsolute(trimmed))
|
|
170
|
-
return 'Please use a relative path (e.g. src/components/ui).';
|
|
171
|
-
if (trimmed.includes('..'))
|
|
172
|
-
return 'Path must not traverse outside the project root.';
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
if (clack.isCancel(componentsDir)) {
|
|
176
|
-
clack.outro(chalk.yellow('Initialization cancelled.'));
|
|
177
|
-
process.exit(0);
|
|
178
|
-
}
|
|
179
|
-
config['componentsDir'] = componentsDir.trim();
|
|
180
|
-
config['premiumToken'] ?? (config['premiumToken'] = '');
|
|
181
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
182
|
-
clack.log.success(chalk.green(`Components directory set to ${chalk.bold(componentsDir.trim())}.`));
|
|
183
|
-
// Outro
|
|
184
|
-
const pm = detectPackageManager(cwd);
|
|
185
|
-
const pmCommand = pm === 'bun' ? 'bunx' : pm === 'pnpm' ? 'pnpm dlx' : pm === 'yarn' ? 'yarn dlx' : 'npx';
|
|
42
|
+
await runConfigWizard(cwd);
|
|
186
43
|
clack.outro(chalk.cyan('DCNT UI initialized successfully!') +
|
|
187
44
|
'\n\n ' +
|
|
188
45
|
chalk.gray('Next steps:') +
|
|
189
46
|
'\n ' +
|
|
190
|
-
chalk.white(` Run ${chalk.cyan(
|
|
47
|
+
chalk.white(` Run ${chalk.cyan(`${packageRunner} dcntui add <component>`)} to install your first component.`) +
|
|
191
48
|
'\n ' +
|
|
192
|
-
chalk.white(` Run ${chalk.cyan(
|
|
49
|
+
chalk.white(` Run ${chalk.cyan(`${packageRunner} dcntui list`)} to browse available components.`));
|
|
193
50
|
}
|
|
194
51
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAQA,UAAU,WAAW;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HrE"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as clack from '@clack/prompts';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { readConfig, ConfigError } from '../utils/config.js';
|
|
4
|
+
import { fetchCatalog, RegistryError } from '../utils/registry.js';
|
|
5
|
+
import { readLock } from '../utils/lock.js';
|
|
6
|
+
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
7
|
+
export async function listCommand(options) {
|
|
8
|
+
console.clear();
|
|
9
|
+
clack.intro(chalk.bgCyan.black(' DCNT UI LIST '));
|
|
10
|
+
const cwd = process.cwd();
|
|
11
|
+
const pm = detectPackageManager(cwd);
|
|
12
|
+
const packageRunner = getPackageRunner(pm);
|
|
13
|
+
let config;
|
|
14
|
+
try {
|
|
15
|
+
config = readConfig(cwd);
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
if (err instanceof ConfigError) {
|
|
19
|
+
clack.log.error(chalk.red(err.message));
|
|
20
|
+
clack.outro(chalk.red('Aborted.'));
|
|
21
|
+
process.exit(1);
|
|
22
|
+
}
|
|
23
|
+
throw err;
|
|
24
|
+
}
|
|
25
|
+
const lock = readLock(cwd);
|
|
26
|
+
const installedNames = new Set(Object.keys(lock));
|
|
27
|
+
if (options.installed) {
|
|
28
|
+
if (installedNames.size === 0) {
|
|
29
|
+
clack.log.info('No components installed yet.\n\n Run ' +
|
|
30
|
+
chalk.cyan(`${packageRunner} dcntui add <component>`) +
|
|
31
|
+
' to get started.');
|
|
32
|
+
clack.outro('');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
clack.log.info(chalk.bold(`Installed components (${installedNames.size}):\n`));
|
|
36
|
+
const entries = Object.entries(lock).sort(([a], [b]) => a.localeCompare(b));
|
|
37
|
+
for (const [name, version] of entries) {
|
|
38
|
+
console.log(` ${chalk.green('✓')} ${chalk.bold(name.padEnd(28))} ${chalk.gray('v' + version)}`);
|
|
39
|
+
}
|
|
40
|
+
console.log();
|
|
41
|
+
clack.outro(chalk.cyan(`${installedNames.size} component${installedNames.size === 1 ? '' : 's'} installed.`));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const spinner = clack.spinner();
|
|
45
|
+
spinner.start('Fetching catalog from registry…');
|
|
46
|
+
let catalog;
|
|
47
|
+
try {
|
|
48
|
+
catalog = await fetchCatalog(config.registry);
|
|
49
|
+
spinner.stop(`Catalog loaded.`);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
if (err instanceof RegistryError) {
|
|
53
|
+
spinner.stop(chalk.red('Failed to fetch catalog.'));
|
|
54
|
+
clack.log.error(chalk.red(err.message));
|
|
55
|
+
clack.outro(chalk.red('Aborted.'));
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
const hasToken = !!(process.env['DCNTUI_TOKEN'] || config.premiumToken);
|
|
61
|
+
let totalFree = 0;
|
|
62
|
+
let totalPremium = 0;
|
|
63
|
+
for (const category of catalog.categories) {
|
|
64
|
+
if (category.components.length === 0)
|
|
65
|
+
continue;
|
|
66
|
+
console.log('\n ' + chalk.bold.underline(category.name));
|
|
67
|
+
for (const component of category.components) {
|
|
68
|
+
console.log(' ' + formatComponentRow(component, installedNames, hasToken));
|
|
69
|
+
if (component.premium)
|
|
70
|
+
totalPremium++;
|
|
71
|
+
else
|
|
72
|
+
totalFree++;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(' ' + [chalk.green('✓') + ' installed', chalk.cyan('◆') + ' free', chalk.yellow('★') + ' premium'].join(' '));
|
|
77
|
+
console.log();
|
|
78
|
+
const totalComponents = totalFree + totalPremium;
|
|
79
|
+
const summaryParts = [
|
|
80
|
+
chalk.bold(String(totalComponents)) + ' component' + (totalComponents === 1 ? '' : 's'),
|
|
81
|
+
chalk.cyan(String(totalFree) + ' free'),
|
|
82
|
+
chalk.yellow(String(totalPremium) + ' premium'),
|
|
83
|
+
installedNames.size > 0 ? chalk.green(String(installedNames.size) + ' installed') : chalk.gray('0 installed')
|
|
84
|
+
];
|
|
85
|
+
if (!hasToken && totalPremium > 0) {
|
|
86
|
+
clack.outro(summaryParts.join(' · ') +
|
|
87
|
+
'\n\n' +
|
|
88
|
+
chalk.gray(' Unlock premium components at ') +
|
|
89
|
+
chalk.underline.cyan('https://dcntui.com'));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
clack.outro(summaryParts.join(' · '));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function formatComponentRow(component, installedNames, hasToken) {
|
|
96
|
+
const isInstalled = installedNames.has(component.name);
|
|
97
|
+
const badge = isInstalled ? chalk.green('✓') : component.premium ? chalk.yellow('★') : chalk.cyan('◆');
|
|
98
|
+
const name = component.premium && !hasToken && !isInstalled
|
|
99
|
+
? chalk.gray(component.name.padEnd(28))
|
|
100
|
+
: chalk.bold(component.name.padEnd(28));
|
|
101
|
+
const desc = chalk.gray(component.description);
|
|
102
|
+
return `${badge} ${name} ${desc}`;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAUA,wBAAsB,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6H3E"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import * as clack from '@clack/prompts';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import fs from 'node:fs';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { readConfig, ConfigError } from '../utils/config.js';
|
|
6
|
+
import { readLock, recordRemoved } from '../utils/lock.js';
|
|
7
|
+
import { revertStylesPatch } from '../utils/write-component.js';
|
|
8
|
+
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
9
|
+
export async function removeCommand(componentNames) {
|
|
10
|
+
console.clear();
|
|
11
|
+
clack.intro(chalk.bgCyan.black(' DCNT UI REMOVE '));
|
|
12
|
+
const cwd = process.cwd();
|
|
13
|
+
const pm = detectPackageManager(cwd);
|
|
14
|
+
const packageRunner = getPackageRunner(pm);
|
|
15
|
+
let config;
|
|
16
|
+
try {
|
|
17
|
+
config = readConfig(cwd);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
if (err instanceof ConfigError) {
|
|
21
|
+
clack.log.error(chalk.red(err.message));
|
|
22
|
+
clack.outro(chalk.red('Aborted.'));
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
throw err;
|
|
26
|
+
}
|
|
27
|
+
const lock = readLock(cwd);
|
|
28
|
+
const notInstalled = componentNames.filter((name) => !(name in lock));
|
|
29
|
+
if (notInstalled.length > 0) {
|
|
30
|
+
clack.log.error(chalk.red(`The following ${notInstalled.length === 1 ? 'component is' : 'components are'} not installed:\n\n` +
|
|
31
|
+
notInstalled.map((n) => ` ${chalk.bold(n)}`).join('\n') +
|
|
32
|
+
'\n\n' +
|
|
33
|
+
`Run ${chalk.cyan(`${packageRunner} dcntui list --installed`)} to see what's installed.`));
|
|
34
|
+
clack.outro(chalk.red('Aborted.'));
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
clack.log.warn(chalk.yellow(`The following ${componentNames.length === 1 ? 'component' : 'components'} will be permanently removed:\n`));
|
|
38
|
+
for (const name of componentNames) {
|
|
39
|
+
const version = lock[name];
|
|
40
|
+
const componentDir = path.join(config.componentsDir, name);
|
|
41
|
+
console.log(` ${chalk.bold(name)} ${chalk.gray('v' + version)}`);
|
|
42
|
+
console.log(` ${chalk.gray(' ' + componentDir + '/')}`);
|
|
43
|
+
}
|
|
44
|
+
const stylesPath = path.join(cwd, config.stylesFile);
|
|
45
|
+
const hasStylesBlock = fs.existsSync(stylesPath) && fs.readFileSync(stylesPath, 'utf-8').includes('/* dcntui:start */');
|
|
46
|
+
if (hasStylesBlock) {
|
|
47
|
+
console.log(`\n ${chalk.gray('~')} ${chalk.gray(config.stylesFile)} ${chalk.gray('(dcntui CSS block will be removed)')}`);
|
|
48
|
+
}
|
|
49
|
+
console.log();
|
|
50
|
+
const confirmed = await clack.confirm({
|
|
51
|
+
message: chalk.red(`Remove ${componentNames.length === 1 ? 'this component' : 'these components'}? This cannot be undone.`),
|
|
52
|
+
initialValue: false
|
|
53
|
+
});
|
|
54
|
+
if (clack.isCancel(confirmed) || !confirmed) {
|
|
55
|
+
clack.outro(chalk.cyan('Removal cancelled. No changes made.'));
|
|
56
|
+
process.exit(0);
|
|
57
|
+
}
|
|
58
|
+
const results = [];
|
|
59
|
+
for (const name of componentNames) {
|
|
60
|
+
const componentDir = path.join(cwd, config.componentsDir, name);
|
|
61
|
+
if (fs.existsSync(componentDir)) {
|
|
62
|
+
fs.rmSync(componentDir, { recursive: true, force: true });
|
|
63
|
+
clack.log.success(chalk.green(` ${chalk.gray('-')} ${path.join(config.componentsDir, name)}/`));
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
clack.log.warn(chalk.yellow(` Component directory not found: ${componentDir}\n Continuing with lock file cleanup.`));
|
|
67
|
+
}
|
|
68
|
+
const metaPath = path.join(cwd, '.dcntui', `${name}.json`);
|
|
69
|
+
if (fs.existsSync(metaPath)) {
|
|
70
|
+
fs.rmSync(metaPath);
|
|
71
|
+
}
|
|
72
|
+
const remainingAfterThis = componentNames
|
|
73
|
+
.filter((n) => n !== name)
|
|
74
|
+
.concat(Object.keys(lock).filter((n) => !componentNames.includes(n)));
|
|
75
|
+
if (remainingAfterThis.length === 0 && hasStylesBlock) {
|
|
76
|
+
const reverted = revertStylesPatch(cwd, config);
|
|
77
|
+
if (reverted) {
|
|
78
|
+
clack.log.success(chalk.green(` ${chalk.gray('~')} ${config.stylesFile} ${chalk.gray('(dcntui CSS block removed)')}`));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
recordRemoved(cwd, name);
|
|
82
|
+
results.push({ name, success: true });
|
|
83
|
+
}
|
|
84
|
+
const count = results.length;
|
|
85
|
+
clack.outro(chalk.cyan(`Removed ${count} component${count === 1 ? '' : 's'} successfully.`));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AASA,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyJvE"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import * as clack from '@clack/prompts';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import { readConfig, ConfigError } from '../utils/config.js';
|
|
4
|
+
import { fetchCatalog, RegistryError } from '../utils/registry.js';
|
|
5
|
+
import { aiSearch, keywordSearch, SearchError } from '../utils/search.js';
|
|
6
|
+
import { readLock } from '../utils/lock.js';
|
|
7
|
+
import { detectPackageManager, getPackageRunner } from '../utils/detect-package-manager.js';
|
|
8
|
+
export async function searchCommand(queryWords) {
|
|
9
|
+
console.clear();
|
|
10
|
+
clack.intro(chalk.bgCyan.black(' DCNT UI SEARCH '));
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
const pm = detectPackageManager(cwd);
|
|
13
|
+
const packageRunner = getPackageRunner(pm);
|
|
14
|
+
if (queryWords.length === 0) {
|
|
15
|
+
clack.log.error(chalk.red('Please provide a search query.\n\n' +
|
|
16
|
+
` Example: ${chalk.cyan(`${packageRunner} dcntui search animated pricing cards`)}`));
|
|
17
|
+
clack.outro(chalk.red('Aborted.'));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
const query = queryWords.join(' ');
|
|
21
|
+
let registryUrl = 'https://registry.dcntui.com';
|
|
22
|
+
let hasToken = false;
|
|
23
|
+
try {
|
|
24
|
+
const config = readConfig(cwd);
|
|
25
|
+
registryUrl = config.registry;
|
|
26
|
+
hasToken = !!(process.env['DCNTUI_TOKEN'] || config.premiumToken);
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
if (!(err instanceof ConfigError))
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
const lock = readLock(cwd);
|
|
33
|
+
const installedNames = new Set(Object.keys(lock));
|
|
34
|
+
const spinner = clack.spinner();
|
|
35
|
+
spinner.start('Fetching component catalog…');
|
|
36
|
+
let flatCatalog;
|
|
37
|
+
try {
|
|
38
|
+
const catalog = await fetchCatalog(registryUrl);
|
|
39
|
+
flatCatalog = catalog.categories.flatMap(({ name: category, components }) => components.map((entry) => ({ entry, category })));
|
|
40
|
+
spinner.stop(`Catalog loaded — ${flatCatalog.length} components.`);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
if (err instanceof RegistryError) {
|
|
44
|
+
spinner.stop(chalk.red('Failed to fetch catalog.'));
|
|
45
|
+
clack.log.error(chalk.red(err.message));
|
|
46
|
+
clack.outro(chalk.red('Aborted.'));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
throw err;
|
|
50
|
+
}
|
|
51
|
+
const apiKey = process.env['ANTHROPIC_API_KEY'];
|
|
52
|
+
let results;
|
|
53
|
+
let searchMode;
|
|
54
|
+
if (apiKey) {
|
|
55
|
+
spinner.start('Running AI search…');
|
|
56
|
+
try {
|
|
57
|
+
results = await aiSearch(query, flatCatalog, apiKey);
|
|
58
|
+
searchMode = 'ai';
|
|
59
|
+
spinner.stop(`AI search complete — ${results.length} result${results.length === 1 ? '' : 's'}.`);
|
|
60
|
+
}
|
|
61
|
+
catch (err) {
|
|
62
|
+
if (err instanceof SearchError) {
|
|
63
|
+
spinner.stop(chalk.yellow(err.message));
|
|
64
|
+
results = keywordSearch(query, flatCatalog);
|
|
65
|
+
searchMode = 'keyword';
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
throw err;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
results = keywordSearch(query, flatCatalog);
|
|
74
|
+
searchMode = 'keyword';
|
|
75
|
+
clack.log.info(chalk.gray('Set ANTHROPIC_API_KEY for AI-powered search. Using keyword search.\n'));
|
|
76
|
+
}
|
|
77
|
+
if (results.length === 0) {
|
|
78
|
+
clack.log.warn(`No components found for ${chalk.bold(`"${query}"`)}\n\n` +
|
|
79
|
+
` Try broader terms, or run ${chalk.cyan(`${packageRunner} dcntui list`)} to browse all components.`);
|
|
80
|
+
clack.outro('');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const modeLabel = searchMode === 'ai' ? chalk.cyan('AI') + chalk.gray(' · ') : chalk.gray('keyword · ');
|
|
84
|
+
console.log(`\n ${modeLabel}${chalk.bold(results.length)} result${results.length === 1 ? '' : 's'} for ${chalk.bold(`"${query}"`)}\n`);
|
|
85
|
+
for (const result of results) {
|
|
86
|
+
renderResult(result, installedNames, hasToken);
|
|
87
|
+
}
|
|
88
|
+
console.log();
|
|
89
|
+
console.log(' ' + [chalk.green('✓') + ' installed', chalk.cyan('◆') + ' free', chalk.yellow('★') + ' premium'].join(' '));
|
|
90
|
+
console.log();
|
|
91
|
+
const installable = results.filter((r) => !installedNames.has(r.name));
|
|
92
|
+
if (installable.length === 0) {
|
|
93
|
+
clack.outro(chalk.cyan('All results are already installed.'));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const toInstall = await clack.multiselect({
|
|
97
|
+
message: 'Add any of these components?',
|
|
98
|
+
options: results.map((r) => ({
|
|
99
|
+
value: r.name,
|
|
100
|
+
label: r.name,
|
|
101
|
+
hint: installedNames.has(r.name) ? 'already installed' : r.description
|
|
102
|
+
})),
|
|
103
|
+
required: false
|
|
104
|
+
});
|
|
105
|
+
if (clack.isCancel(toInstall) || toInstall.length === 0) {
|
|
106
|
+
clack.outro(chalk.cyan('No components added.'));
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const { addCommand } = await import('./add.js');
|
|
110
|
+
await addCommand(toInstall);
|
|
111
|
+
}
|
|
112
|
+
function renderResult(result, installedNames, hasToken) {
|
|
113
|
+
const isInstalled = installedNames.has(result.name);
|
|
114
|
+
const badge = isInstalled ? chalk.green('✓') : result.premium ? chalk.yellow('★') : chalk.cyan('◆');
|
|
115
|
+
const name = result.premium && !hasToken && !isInstalled
|
|
116
|
+
? chalk.gray(result.name.padEnd(26))
|
|
117
|
+
: chalk.bold(result.name.padEnd(26));
|
|
118
|
+
const category = chalk.gray(`[${result.category}]`.padEnd(16));
|
|
119
|
+
const score = chalk.gray(`${result.score}%`);
|
|
120
|
+
console.log(` ${badge} ${name} ${category} ${score}`);
|
|
121
|
+
console.log(` ${chalk.gray(result.reason)}`);
|
|
122
|
+
console.log();
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAqB,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAqB,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE5F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAoB;IACtD,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,aAAa,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAE3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,GAAG,CAAC,KAAK,CACb,KAAK,CAAC,GAAG,CACP,oCAAoC;YAClC,cAAc,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,uCAAuC,CAAC,EAAE,CACtF,CACF,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAEnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,IAAI,WAAW,GAAG,6BAA6B,CAAC;IAEhD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAE/B,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;QAE9B,QAAQ,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,GAAG,YAAY,WAAW,CAAC;YAAE,MAAM,GAAG,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAE7C,IAAI,WAA6D,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAEhD,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAC1E,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CACjD,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAEpD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAEnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAChD,IAAI,OAAuB,CAAC;IAC5B,IAAI,UAA4B,CAAC;IAEjC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YAErD,UAAU,GAAG,IAAI,CAAC;YAElB,OAAO,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,MAAM,UAAU,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAExC,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC5C,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE5C,UAAU,GAAG,SAAS,CAAC;QAEvB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CACZ,2BAA2B,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM;YACvD,+BAA+B,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,cAAc,CAAC,4BAA4B,CACxG,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAExG,OAAO,CAAC,GAAG,CACT,OAAO,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAC3H,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CACT,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAChH,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;QACxC,OAAO,EAAE,8BAA8B;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,KAAK,EAAE,CAAC,CAAC,IAAI;YACb,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SACvE,CAAC,CAAC;QACH,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAK,SAAsB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAEhD,OAAO;IACT,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,UAAU,CAAC,SAAqB,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,MAAoB,EAAE,cAA2B,EAAE,QAAiB;IACxF,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpG,MAAM,IAAI,GACR,MAAM,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW;QACzC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC"}
|