components-differ 1.0.17 → 1.2.1

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/git.js DELETED
@@ -1,120 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { execSync } from "node:child_process";
4
- import ignore from "ignore";
5
- const INITIAL_DIR = "_initial";
6
- const EXCLUDE_DIRS = new Set([
7
- "node_modules",
8
- "dist",
9
- "fonts",
10
- "build",
11
- "public",
12
- "static",
13
- ".next",
14
- ".git",
15
- INITIAL_DIR,
16
- ]);
17
- const EXCLUDE_FILES = new Set([
18
- ".DS_Store",
19
- "next-env.d.ts",
20
- "package-lock.json",
21
- "yarn.lock",
22
- "pnpm-lock.yaml",
23
- "bun.lockb",
24
- "package.json",
25
- "tailwind.config.ts",
26
- "tailwind.config.js",
27
- "components.json",
28
- "favicon.ico",
29
- ]);
30
- function cloneInitialCommit() {
31
- deleteInitialDir();
32
- try {
33
- const initialCommit = execSync("git rev-list --max-parents=0 HEAD").toString().trim();
34
- execSync(`git worktree add -f ${INITIAL_DIR} ${initialCommit}`, { stdio: "ignore" });
35
- }
36
- catch (error) {
37
- const message = error instanceof Error ? error.message : String(error);
38
- console.error("Error cloning initial commit:", message);
39
- process.exit(1);
40
- }
41
- }
42
- function deleteInitialDir() {
43
- if (!fs.existsSync(INITIAL_DIR)) {
44
- return;
45
- }
46
- fs.rmSync(INITIAL_DIR, { recursive: true, force: true });
47
- try {
48
- execSync("git worktree prune", { stdio: "ignore" });
49
- }
50
- catch (error) {
51
- const message = error instanceof Error ? error.message : String(error);
52
- console.error("Error pruning git worktree:", message);
53
- }
54
- }
55
- function checkIfFileIsChanged(relativeFilePath) {
56
- const initialFilePath = path.join(INITIAL_DIR, relativeFilePath);
57
- const fullPath = path.join(process.cwd(), relativeFilePath);
58
- if (!fs.existsSync(initialFilePath)) {
59
- return true;
60
- }
61
- const currentContent = fs.readFileSync(fullPath, "utf-8");
62
- const initialContent = fs.readFileSync(initialFilePath, "utf-8");
63
- return currentContent !== initialContent;
64
- }
65
- export function scanForFiles(startDir, checkFile = false) {
66
- const foundFiles = [];
67
- let ignorer;
68
- const gitignorePath = path.join(startDir, ".gitignore");
69
- if (fs.existsSync(gitignorePath)) {
70
- const gitIgnore = ignore().add(fs.readFileSync(gitignorePath).toString());
71
- ignorer = (relativeFilePath) => gitIgnore.ignores(relativeFilePath);
72
- }
73
- function scanDirectory(dir, relativePath = "") {
74
- const entries = fs.readdirSync(dir, { withFileTypes: true });
75
- for (const entry of entries) {
76
- const fullPath = path.join(dir, entry.name);
77
- const relativeFilePath = path.join(relativePath, entry.name);
78
- if (entry.isDirectory()) {
79
- if (!EXCLUDE_DIRS.has(entry.name)) {
80
- scanDirectory(fullPath, relativeFilePath);
81
- }
82
- continue;
83
- }
84
- if (EXCLUDE_FILES.has(entry.name)) {
85
- continue;
86
- }
87
- if (ignorer?.(relativeFilePath)) {
88
- continue;
89
- }
90
- if (!checkFile || checkIfFileIsChanged(relativeFilePath)) {
91
- foundFiles.push({
92
- path: relativeFilePath,
93
- content: fs.readFileSync(fullPath, "utf-8"),
94
- });
95
- }
96
- }
97
- }
98
- scanDirectory(startDir);
99
- return foundFiles;
100
- }
101
- export function scanForAlteredFiles(specificFilesToReturn = []) {
102
- cloneInitialCommit();
103
- const alteredFiles = scanForFiles(process.cwd(), true);
104
- const specificFiles = specificFilesToReturn.reduce((acc, file) => {
105
- const fullPath = path.join(process.cwd(), INITIAL_DIR, file);
106
- if (fs.existsSync(fullPath)) {
107
- acc[file] = fs.readFileSync(fullPath, "utf-8");
108
- }
109
- return acc;
110
- }, {});
111
- deleteInitialDir();
112
- return {
113
- alteredFiles,
114
- specificFiles,
115
- };
116
- }
117
- export function hasSrcDir(dir) {
118
- return fs.existsSync(path.join(dir, "src"));
119
- }
120
- //# sourceMappingURL=git.js.map
package/dist/git.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js DELETED
@@ -1,166 +0,0 @@
1
- #!/usr/bin/env node
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import { execSync } from "node:child_process";
5
- import { program } from "commander";
6
- import { scanForAlteredFiles, scanForFiles, hasSrcDir } from "./git.js";
7
- import { readComponentsManifest } from "./components.js";
8
- import { createDiff } from "./create-diff.js";
9
- import { writeRegistryFile } from "./registry.js";
10
- import { initShadcnProject } from "./shadcn-init.js";
11
- program.option("-n, --name <name>", "Name of the component set to diff");
12
- program.option("--init", "Initialise a git repository for the current directory");
13
- program.option("--registry [path]", "Create or update a registry.json file. Defaults to ./registry.json when no path is provided.");
14
- program.option("--initshadcn [type]", "Initialise shadcn/ui configuration (supports Next.js and Vite). Detects project type automatically when omitted.");
15
- program.option("--pushTo <url>", "POST the generated diff JSON to the provided URL.");
16
- program.parse();
17
- const options = program.opts();
18
- function runCommand(command) {
19
- try {
20
- execSync(command, { stdio: "inherit" });
21
- }
22
- catch (error) {
23
- console.error(`Failed to execute command: ${command}`);
24
- process.exit(1);
25
- }
26
- }
27
- function ensureGitignore() {
28
- const gitignorePath = path.join(process.cwd(), ".gitignore");
29
- if (fs.existsSync(gitignorePath)) {
30
- console.log(".gitignore file already exists.");
31
- return;
32
- }
33
- console.log(".gitignore file is missing. Creating one...");
34
- const content = `
35
- /node_modules
36
- /.pnp
37
- .pnp.*
38
- .yarn/*
39
- !.yarn/patches
40
- !.yarn/plugins
41
- !.yarn/releases
42
- !.yarn/versions
43
-
44
- # testing
45
- /coverage
46
-
47
- # next.js
48
- /.next/
49
- /out/
50
-
51
- # production
52
- /build
53
-
54
- # misc
55
- .DS_Store
56
- *.pem
57
-
58
- # debug
59
- npm-debug.log*
60
- yarn-debug.log*
61
- yarn-error.log*
62
-
63
- # env files (can opt-in for committing if needed)
64
- .env*
65
-
66
- # vercel
67
- .vercel
68
-
69
- # typescript
70
- *.tsbuildinfo
71
- next-env.d.ts
72
- `.trimStart();
73
- fs.writeFileSync(gitignorePath, content, "utf8");
74
- console.log(".gitignore file created with default rules.");
75
- }
76
- function initRepository() {
77
- console.log("Initializing git repository for new component");
78
- if (process.platform === "win32") {
79
- runCommand('rmdir /s /q .git && git init && git add . && git commit -m "Initial commit"');
80
- }
81
- else {
82
- runCommand('rm -fr .git && git init && git add . && git commit -m "Initial commit"');
83
- }
84
- ensureGitignore();
85
- }
86
- async function postResult(url, payload) {
87
- console.log("posting result to ", url);
88
- console.log("payload: ", payload);
89
- try {
90
- const response = await fetch(url, {
91
- method: "POST",
92
- headers: {
93
- "Content-Type": "application/json",
94
- },
95
- body: JSON.stringify(payload),
96
- });
97
- if (!response.ok) {
98
- const body = await response.text().catch(() => "");
99
- throw new Error(`Received ${response.status} ${response.statusText}${body ? `: ${body}` : ""}`);
100
- }
101
- console.log(`Successfully pushed diff to ${url}`);
102
- }
103
- catch (error) {
104
- const message = error instanceof Error ? error.message : String(error);
105
- console.error(`Failed to push diff to ${url}: ${message}`);
106
- process.exit(1);
107
- }
108
- }
109
- async function main() {
110
- if (options.init) {
111
- initRepository();
112
- return;
113
- }
114
- if (options.initshadcn !== undefined) {
115
- const specifiedType = typeof options.initshadcn === "string" && options.initshadcn.length > 0
116
- ? options.initshadcn
117
- : undefined;
118
- try {
119
- initShadcnProject({
120
- cwd: process.cwd(),
121
- projectType: specifiedType,
122
- execCommand: runCommand,
123
- });
124
- }
125
- catch (error) {
126
- console.error(error.message);
127
- process.exit(1);
128
- }
129
- return;
130
- }
131
- const name = options.name ?? path.basename(process.cwd());
132
- const { alteredFiles, specificFiles } = scanForAlteredFiles(["./package.json"]);
133
- const currentFiles = scanForFiles(process.cwd());
134
- const currentPackageJson = fs.readFileSync("./package.json", "utf-8");
135
- const config = readComponentsManifest(process.cwd());
136
- config.isSrcDir = hasSrcDir(process.cwd());
137
- const output = createDiff({
138
- name,
139
- config: config,
140
- alteredFiles,
141
- specificFiles,
142
- currentFiles,
143
- currentPackageJson,
144
- });
145
- const pushUrl = options.pushTo;
146
- if (options.registry !== undefined) {
147
- const registryPath = typeof options.registry === "string" && options.registry.length > 0
148
- ? options.registry
149
- : "./registry.json";
150
- const resolvedPath = writeRegistryFile(process.cwd(), registryPath, output);
151
- console.log(`Registry file updated at ${resolvedPath}`);
152
- if (pushUrl) {
153
- await postResult(pushUrl, output);
154
- }
155
- return;
156
- }
157
- if (pushUrl) {
158
- await postResult(pushUrl, output);
159
- }
160
- console.log(JSON.stringify(output, null, 2));
161
- }
162
- main().catch((error) => {
163
- console.error(error.message);
164
- process.exit(1);
165
- });
166
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { ComponentsConfig, DiffFile } from "./types.js";
2
- export declare function parseFilePath(wasInSrcDir: boolean, config: ComponentsConfig, filePath: string, content?: string): DiffFile;
3
- //# sourceMappingURL=parse-file-path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-file-path.d.ts","sourceRoot":"","sources":["../src/parse-file-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAsB7D,wBAAgB,aAAa,CAC3B,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,QAAQ,CA0CV"}
@@ -1,53 +0,0 @@
1
- function fixAlias(alias) {
2
- return alias.replace("@", ".");
3
- }
4
- function isWithinAlias(config, filePath, aliasKey) {
5
- const alias = config[aliasKey];
6
- if (typeof alias !== "string") {
7
- return false;
8
- }
9
- return filePath.startsWith(fixAlias(alias));
10
- }
11
- function normalizeTargetPath(filePath) {
12
- return filePath.replace(/^\.\//, "");
13
- }
14
- function isAppRoutePath(targetPath) {
15
- return targetPath.startsWith("app/") || targetPath.startsWith("src/app/");
16
- }
17
- export function parseFilePath(wasInSrcDir, config, filePath, content) {
18
- const normalizedTarget = normalizeTargetPath(filePath);
19
- const defaultTarget = wasInSrcDir ? normalizedTarget : `~/${normalizedTarget}`;
20
- const output = {
21
- path: filePath,
22
- content: content ?? "",
23
- type: "registry:file",
24
- target: defaultTarget,
25
- };
26
- if (isWithinAlias(config, filePath, "ui")) {
27
- output.type = "registry:ui";
28
- output.target = undefined;
29
- return output;
30
- }
31
- if (isWithinAlias(config, filePath, "components")) {
32
- output.type = "registry:block";
33
- output.target = undefined;
34
- return output;
35
- }
36
- if (isWithinAlias(config, filePath, "hooks")) {
37
- output.type = "registry:hook";
38
- output.target = undefined;
39
- return output;
40
- }
41
- if (isWithinAlias(config, filePath, "lib")) {
42
- output.type = "registry:lib";
43
- output.target = undefined;
44
- return output;
45
- }
46
- if (isAppRoutePath(normalizedTarget)) {
47
- output.type = "registry:page";
48
- output.target = defaultTarget;
49
- return output;
50
- }
51
- return output;
52
- }
53
- //# sourceMappingURL=parse-file-path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-file-path.js","sourceRoot":"","sources":["../src/parse-file-path.ts"],"names":[],"mappings":"AAEA,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,MAAwB,EAAE,QAAgB,EAAE,QAAgC;IACjG,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAAoB,EACpB,MAAwB,EACxB,QAAgB,EAChB,OAAgB;IAEhB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;IAE/E,MAAM,MAAM,GAAa;QACvB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,aAAa;KACtB,CAAC;IAEF,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;QAC5B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC/B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,GAAG,cAAc,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { DiffResult } from "./types.js";
2
- export declare function writeRegistryFile(rootDir: string, relativePath: string, diff: DiffResult): string;
3
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AA6G3D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CA4BjG"}
package/dist/registry.js DELETED
@@ -1,112 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- const REGISTRY_SCHEMA_URL = "https://ui.shadcn.com/schema/registry.json";
4
- function parseEnvFile(fileContents) {
5
- const envValues = {};
6
- const lines = fileContents.split(/\r?\n/);
7
- for (const line of lines) {
8
- const trimmed = line.trim();
9
- if (!trimmed || trimmed.startsWith("#")) {
10
- continue;
11
- }
12
- const separatorIndex = trimmed.indexOf("=");
13
- if (separatorIndex === -1) {
14
- continue;
15
- }
16
- const key = trimmed.slice(0, separatorIndex).trim();
17
- const value = trimmed.slice(separatorIndex + 1).trim();
18
- if (!key) {
19
- continue;
20
- }
21
- envValues[key] = value.replace(/^['"]|['"]$/g, "");
22
- }
23
- return envValues;
24
- }
25
- function readDotEnv(rootDir) {
26
- const dotenvPath = path.join(rootDir, ".env");
27
- if (!fs.existsSync(dotenvPath)) {
28
- return {};
29
- }
30
- const contents = fs.readFileSync(dotenvPath, "utf8");
31
- return parseEnvFile(contents);
32
- }
33
- function resolveRegistryMetadata(rootDir) {
34
- const defaults = {
35
- name: "shadcn",
36
- homepage: "https://ui.shadcn.com",
37
- };
38
- const envFromProcess = {
39
- name: process.env.REGISTRY_NAME ?? "",
40
- homepage: process.env.REGISTRY_HOMEPAGE ?? "",
41
- };
42
- let metadata = {
43
- name: envFromProcess.name || defaults.name,
44
- homepage: envFromProcess.homepage || defaults.homepage,
45
- };
46
- if (!envFromProcess.name || !envFromProcess.homepage) {
47
- const envFileValues = readDotEnv(rootDir);
48
- metadata = {
49
- name: envFromProcess.name || envFileValues.REGISTRY_NAME || defaults.name,
50
- homepage: envFromProcess.homepage || envFileValues.REGISTRY_HOMEPAGE || defaults.homepage,
51
- };
52
- }
53
- return metadata;
54
- }
55
- function ensureDirectoryExists(filePath) {
56
- const dir = path.dirname(filePath);
57
- if (fs.existsSync(dir)) {
58
- return;
59
- }
60
- fs.mkdirSync(dir, { recursive: true });
61
- }
62
- function loadExistingRegistry(registryPath) {
63
- if (!fs.existsSync(registryPath)) {
64
- return null;
65
- }
66
- const contents = fs.readFileSync(registryPath, "utf8");
67
- try {
68
- const file = JSON.parse(contents);
69
- if (!Array.isArray(file.items)) {
70
- throw new Error("Invalid registry.json: missing items array");
71
- }
72
- return file;
73
- }
74
- catch (error) {
75
- throw new Error(`Failed to parse existing registry.json at ${registryPath}: ${error.message}`);
76
- }
77
- }
78
- function upsertRegistryItem(registry, diff) {
79
- const existingIndex = registry.items.findIndex((item) => item.name === diff.name);
80
- if (existingIndex >= 0) {
81
- registry.items[existingIndex] = diff;
82
- }
83
- else {
84
- registry.items.push(diff);
85
- }
86
- return registry;
87
- }
88
- export function writeRegistryFile(rootDir, relativePath, diff) {
89
- const registryPath = path.isAbsolute(relativePath) ? relativePath : path.join(rootDir, relativePath);
90
- const existingRegistry = loadExistingRegistry(registryPath);
91
- const metadata = resolveRegistryMetadata(rootDir);
92
- const registry = existingRegistry ?? {
93
- $schema: REGISTRY_SCHEMA_URL,
94
- name: metadata.name,
95
- homepage: metadata.homepage,
96
- items: [],
97
- };
98
- if (!existingRegistry) {
99
- registry.name = metadata.name;
100
- registry.homepage = metadata.homepage;
101
- }
102
- else {
103
- registry.name = existingRegistry.name || metadata.name;
104
- registry.homepage = existingRegistry.homepage || metadata.homepage;
105
- }
106
- registry.$schema = existingRegistry?.$schema ?? REGISTRY_SCHEMA_URL;
107
- upsertRegistryItem(registry, diff);
108
- ensureDirectoryExists(registryPath);
109
- fs.writeFileSync(registryPath, `${JSON.stringify(registry, null, 2)}\n`, "utf8");
110
- return registryPath;
111
- }
112
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { ProjectType } from "./types.js";
2
- type ExecCommand = (command: string) => void;
3
- interface InitShadcnOptions {
4
- cwd: string;
5
- projectType?: string | ProjectType;
6
- execCommand: ExecCommand;
7
- }
8
- export declare function initShadcnProject({ cwd, projectType, execCommand }: InitShadcnOptions): void;
9
- export declare function determineProjectTypeFromPackageJson(packageJson: Record<string, unknown>): ProjectType | null;
10
- export {};
11
- //# sourceMappingURL=shadcn-init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shadcn-init.d.ts","sourceRoot":"","sources":["../src/shadcn-init.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE7C,UAAU,iBAAiB;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;CAC1B;AA8OD,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAyB5F;AAED,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,GAAG,IAAI,CAE5G"}