@evitcastudio/kit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +0 -0
- package/LICENSE +21 -0
- package/README.md +40 -0
- package/bin/cli.ts +71 -0
- package/bin/index.ts +11 -0
- package/bin/resource-builder.ts +196 -0
- package/bin/types/shared-types.ts +10 -0
- package/bun-build.ts +56 -0
- package/bun.lockb +0 -0
- package/bunfig.toml +4 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +78 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1610 -0
- package/docs/classes/index.Kit.html +23 -0
- package/docs/index.html +15 -0
- package/docs/modules/index.html +1 -0
- package/docs/modules/types_shared-types.html +1 -0
- package/docs/modules.html +1 -0
- package/docs/types/types_shared-types.EmitterEvent.html +4 -0
- package/docs/types/types_shared-types.Listener.html +1 -0
- package/lib/bundle/cli/cli.js +2659 -0
- package/lib/event-system.d.ts +12 -0
- package/lib/event-system.d.ts.map +1 -0
- package/lib/event-system.js +25 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -0
- package/lib/kit.d.ts +54 -0
- package/lib/kit.d.ts.map +1 -0
- package/lib/kit.js +91 -0
- package/lib/types/shared-types.d.ts +18 -0
- package/lib/types/shared-types.d.ts.map +1 -0
- package/lib/types/shared-types.js +1 -0
- package/package.json +53 -0
- package/src/event-system.ts +29 -0
- package/src/index.ts +1 -0
- package/src/kit.ts +106 -0
- package/src/types/shared-types.ts +19 -0
- package/tests/kit-cli.test.ts +75 -0
- package/tests/kit.test.ts +33 -0
- package/tsconfig.json +37 -0
package/CONTRIBUTING.md
ADDED
|
File without changes
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Jared Bates, Evitca Studio, "doubleactii"
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Kit
|
|
2
|
+
|
|
3
|
+
**Kit** is a lightweight, extensible 2D framework for game development in TypeScript. Designed to be simple and modular, Kit lets you build powerful projects through a plugin-driven architecture.
|
|
4
|
+
|
|
5
|
+
**Lightweight and modular**: Core functionality is minimal; plugins add power.
|
|
6
|
+
**Plugin support**: Easily extend Kit with official or third-party plugins.
|
|
7
|
+
**Event system**: Decouple functionality with a robust event-driven API.
|
|
8
|
+
**TypeScript-first**: Full TypeScript support for strong typing and modern workflows.
|
|
9
|
+
|
|
10
|
+
# Install
|
|
11
|
+
```bash
|
|
12
|
+
npm i @evitcastudio/kit
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
# Using Kit with plugins
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import { Plugin } from 'custom-plugin';
|
|
19
|
+
|
|
20
|
+
// Initialize an array of plugins.
|
|
21
|
+
Kit.init([Plugin]);
|
|
22
|
+
|
|
23
|
+
// or you can just register one plugin
|
|
24
|
+
Kit.registerPlugin(Plugin);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
# Listening for plugin events
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
const listener = (pEvent) => {
|
|
31
|
+
const { data, timestamp } = pEvent;
|
|
32
|
+
// Here you can use the data that the event sent down.
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Here you listen for an event from the plugin: `Plugin`, under the event name of `eventName`
|
|
36
|
+
Kit.on('Plugin', 'eventName', listener);
|
|
37
|
+
|
|
38
|
+
// You can also stop listening for an event
|
|
39
|
+
Kit.off('Plugin', 'eventName', listener);
|
|
40
|
+
```
|
package/bin/cli.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import { KitCLI } from '.';
|
|
4
|
+
import type { ProcessOptions } from './types/shared-types';
|
|
5
|
+
import packageJSON from '../package.json';
|
|
6
|
+
|
|
7
|
+
const program = new Command();
|
|
8
|
+
|
|
9
|
+
program
|
|
10
|
+
.version(`${packageJSON.version}`)
|
|
11
|
+
.description(`Kit - ${packageJSON['cli-description']}`);
|
|
12
|
+
|
|
13
|
+
program
|
|
14
|
+
.option('-i, --in <path>', 'Input directory')
|
|
15
|
+
.option('-o, --out <path>', 'Output directory')
|
|
16
|
+
.option('-is, --ignore-sound', 'Ignore sound files', false)
|
|
17
|
+
.option('-v, --verbose', 'Enable verbose mode', false);
|
|
18
|
+
|
|
19
|
+
program.helpInformation = () => {
|
|
20
|
+
return `
|
|
21
|
+
Kit CLI - ${packageJSON['cli-description']}
|
|
22
|
+
Version: ${packageJSON.version}
|
|
23
|
+
|
|
24
|
+
Usage: kit <command> [options]
|
|
25
|
+
|
|
26
|
+
Commands:
|
|
27
|
+
build Build resources from the specified directory
|
|
28
|
+
--help Display this help message
|
|
29
|
+
|
|
30
|
+
Options:
|
|
31
|
+
-i, --in <path> Input directory (required)
|
|
32
|
+
-o, --out <path> Output directory (required)
|
|
33
|
+
-is, --ignore-sound Ignore sound files (optional)
|
|
34
|
+
-v, --verbose Enable verbose mode for debugging
|
|
35
|
+
|
|
36
|
+
Examples:
|
|
37
|
+
kit build --in ./src --out ./dist --verbose
|
|
38
|
+
kit build --in ./resources --out ./dist --ignore-sound
|
|
39
|
+
`;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Display help if no command is provided
|
|
43
|
+
if (!process.argv.slice(2).length) {
|
|
44
|
+
program.help();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Build Command
|
|
48
|
+
program
|
|
49
|
+
.command('build')
|
|
50
|
+
.description('Build resources from the specified directory')
|
|
51
|
+
.action(() => {
|
|
52
|
+
const flags = program.opts();
|
|
53
|
+
|
|
54
|
+
if (!flags.in || !flags.out) {
|
|
55
|
+
console.error('Error: --in and --out are required flags for the build command.');
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const ProcessOptions: ProcessOptions = {
|
|
60
|
+
inDirectory: flags.in,
|
|
61
|
+
outDirectory: flags.out,
|
|
62
|
+
ignoreSound: flags.ignoreSound || false,
|
|
63
|
+
verbose: flags.verbose || false,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
KitCLI.processResources(ProcessOptions);
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
program.parse(process.argv);
|
|
70
|
+
|
|
71
|
+
|
package/bin/index.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { processResources } from './resource-builder';
|
|
2
|
+
import type { ProcessOptions } from './types/shared-types';
|
|
3
|
+
|
|
4
|
+
export class KitCLI {
|
|
5
|
+
/**
|
|
6
|
+
* Start resource builder.
|
|
7
|
+
*/
|
|
8
|
+
static async processResources(pProcessOptions: ProcessOptions): Promise<void> {
|
|
9
|
+
await processResources(pProcessOptions);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { promises as fs } from 'fs';
|
|
2
|
+
import { join, extname, basename } from 'path';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
5
|
+
import type { ProcessOptions } from './types/shared-types';
|
|
6
|
+
|
|
7
|
+
// Logging helpers
|
|
8
|
+
const log = console.log;
|
|
9
|
+
const info = chalk.hex('#ffa552');
|
|
10
|
+
const error = chalk.hex('#c42847');
|
|
11
|
+
const alert = chalk.hex('#EFF2C0');
|
|
12
|
+
|
|
13
|
+
// Resource types and valid file extensions
|
|
14
|
+
const RESOURCE_TYPES = ['interface', 'icon', 'map', 'sound', 'macros'] as const;
|
|
15
|
+
const VALID_EXTENSIONS = ['vyint', 'vyi', 'vym', 'vymac', 'mp3', 'aac', 'wav', 'm4a', 'ogg', 'flac'] as const;
|
|
16
|
+
|
|
17
|
+
type ResourceJSON = Record<typeof RESOURCE_TYPES[number], { resourceIdentifier: string; fileName: string }[]>;
|
|
18
|
+
|
|
19
|
+
// State variables
|
|
20
|
+
let resourceJSON: ResourceJSON = initializeResourceJSON();
|
|
21
|
+
let isVerbose: boolean | undefined = false;
|
|
22
|
+
let ignoringSound: boolean | undefined = false;
|
|
23
|
+
let resourceInDirectory = '';
|
|
24
|
+
let resourceOutDirectory = '';
|
|
25
|
+
const resourcesToProcess: { filePath: string; type: typeof RESOURCE_TYPES[number] }[] = [];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Initializes the resource JSON structure.
|
|
29
|
+
*/
|
|
30
|
+
function initializeResourceJSON(): ResourceJSON {
|
|
31
|
+
return RESOURCE_TYPES.reduce((acc, type) => {
|
|
32
|
+
acc[type] = [];
|
|
33
|
+
return acc;
|
|
34
|
+
}, {} as ResourceJSON);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Processes a single file and updates the resource JSON.
|
|
39
|
+
*/
|
|
40
|
+
function prepareFileForProcessing(filePath: string): void {
|
|
41
|
+
const extension = extname(filePath).slice(1);
|
|
42
|
+
const fileName = filePath.replace(/^.*[\\\/]/, '');
|
|
43
|
+
const resourceIdentifier = `${uuidv4()}.${extension}`;
|
|
44
|
+
|
|
45
|
+
const type = getResourceType(extension);
|
|
46
|
+
if (!type) return;
|
|
47
|
+
|
|
48
|
+
if (type === 'sound' && ignoringSound) {
|
|
49
|
+
logVerbose(`[Ignored File] ${filePath} (ignoreSound flag enabled)`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
resourcesToProcess.push({ filePath, type });
|
|
54
|
+
resourceJSON[type].push({ resourceIdentifier, fileName });
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Determines the resource type based on the file extension.
|
|
59
|
+
*/
|
|
60
|
+
function getResourceType(pExtension: string): typeof RESOURCE_TYPES[number] | null {
|
|
61
|
+
switch (pExtension) {
|
|
62
|
+
case 'vyint': return 'interface';
|
|
63
|
+
case 'vyi': return 'icon';
|
|
64
|
+
case 'vym': return 'map';
|
|
65
|
+
case 'vymac': return 'macros';
|
|
66
|
+
case 'mp3':
|
|
67
|
+
case 'aac':
|
|
68
|
+
case 'wav':
|
|
69
|
+
case 'm4a':
|
|
70
|
+
case 'ogg':
|
|
71
|
+
case 'flac': return 'sound';
|
|
72
|
+
default: return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Processes a directory and its contents recursively.
|
|
78
|
+
*/
|
|
79
|
+
async function processDirectory(pDirectoryPath: string): Promise<void> {
|
|
80
|
+
try {
|
|
81
|
+
const contents = await fs.readdir(pDirectoryPath);
|
|
82
|
+
|
|
83
|
+
for (const item of contents) {
|
|
84
|
+
const itemPath = join(pDirectoryPath, item);
|
|
85
|
+
const stats = await fs.stat(itemPath);
|
|
86
|
+
|
|
87
|
+
if (stats.isDirectory()) {
|
|
88
|
+
await processDirectory(itemPath);
|
|
89
|
+
} else if (isValidExtension(extname(itemPath).slice(1))) {
|
|
90
|
+
prepareFileForProcessing(itemPath);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
} catch (pError) {
|
|
94
|
+
logError(`[Error] Processing directory: ${pError}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Checks if a file extension is valid.
|
|
100
|
+
*/
|
|
101
|
+
function isValidExtension(pExtension: string): boolean {
|
|
102
|
+
return VALID_EXTENSIONS.includes(pExtension as typeof VALID_EXTENSIONS[number]);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Executes all file copy operations in parallel after preparation.
|
|
107
|
+
*/
|
|
108
|
+
async function processAllFiles(): Promise<void> {
|
|
109
|
+
try {
|
|
110
|
+
// Create copy operations for all files
|
|
111
|
+
const copyOperations = resourcesToProcess.map(({ filePath, type }) => {
|
|
112
|
+
const fileName = basename(filePath); // Use path.basename for cleaner code
|
|
113
|
+
const resource = resourceJSON[type].find(res => res.fileName === fileName);
|
|
114
|
+
|
|
115
|
+
if (!resource) {
|
|
116
|
+
throw new Error(`Resource not found for file: ${fileName}`);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const destination = join(resourceOutDirectory, 'resources', type);
|
|
120
|
+
return copyFile(filePath, destination, resource.resourceIdentifier);
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
// Execute all copy operations concurrently
|
|
124
|
+
await Promise.all(copyOperations);
|
|
125
|
+
|
|
126
|
+
logVerbose(`[Kit CLI] All resources have been processed.`);
|
|
127
|
+
await saveResourceJSON();
|
|
128
|
+
} catch (pError: any) {
|
|
129
|
+
logError(`[Error] Processing files in batch: ${pError.message}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Copies a file to the specified directory.
|
|
136
|
+
*/
|
|
137
|
+
async function copyFile(pSource: string, pDestinationDir: string, pNewName: string): Promise<void> {
|
|
138
|
+
try {
|
|
139
|
+
await fs.mkdir(pDestinationDir, { recursive: true });
|
|
140
|
+
await fs.copyFile(pSource, join(pDestinationDir, pNewName));
|
|
141
|
+
} catch (pError) {
|
|
142
|
+
logError(`[Error] Copying file ${pSource}: ${pError}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Saves the resource JSON to a file.
|
|
148
|
+
*/
|
|
149
|
+
async function saveResourceJSON(): Promise<void> {
|
|
150
|
+
const filePath = join(resourceOutDirectory, 'resource.json');
|
|
151
|
+
try {
|
|
152
|
+
await fs.writeFile(filePath, JSON.stringify(resourceJSON, null, 2));
|
|
153
|
+
} catch (pError) {
|
|
154
|
+
logError(`[Error] Saving resource JSON: ${pError}`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Main entry point for building resources.
|
|
160
|
+
*/
|
|
161
|
+
export async function processResources({ inDirectory, outDirectory, verbose, ignoreSound }: ProcessOptions): Promise<void> {
|
|
162
|
+
// Initialize state
|
|
163
|
+
resourceInDirectory = inDirectory;
|
|
164
|
+
resourceOutDirectory = outDirectory;
|
|
165
|
+
isVerbose = verbose;
|
|
166
|
+
ignoringSound = ignoreSound;
|
|
167
|
+
resourceJSON = initializeResourceJSON();
|
|
168
|
+
|
|
169
|
+
// Validate inputs
|
|
170
|
+
if (!resourceInDirectory || !resourceOutDirectory) {
|
|
171
|
+
logError('[Error] Input and output directories must be specified');
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Process resources
|
|
176
|
+
await processDirectory(resourceInDirectory);
|
|
177
|
+
|
|
178
|
+
if (resourcesToProcess.length > 0) {
|
|
179
|
+
await processAllFiles();
|
|
180
|
+
} else {
|
|
181
|
+
logAlert('No resources found!');
|
|
182
|
+
await saveResourceJSON();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function logVerbose(pMessage: string): void {
|
|
187
|
+
if (isVerbose) log(info(pMessage));
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function logError(pMessage: string): void {
|
|
191
|
+
log(error(pMessage));
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function logAlert(pMessage: string): void {
|
|
195
|
+
log(alert(pMessage));
|
|
196
|
+
}
|
package/bun-build.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import Bun from 'bun';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import packageJson from './package.json';
|
|
4
|
+
|
|
5
|
+
const banner = [
|
|
6
|
+
`/*!`,
|
|
7
|
+
` * ${packageJson.name}@${packageJson.version} ${packageJson.repository.url}`,
|
|
8
|
+
` * Compiled ${new Date().toUTCString().replace(/GMT/g, 'UTC')}`,
|
|
9
|
+
` * Copyright (c) ${new Date().getFullYear()} Jared Bates, Evitca Studio, "doubleactii"`,
|
|
10
|
+
` *`,
|
|
11
|
+
` * ${packageJson.name} is licensed under the MIT License.`,
|
|
12
|
+
` * http://www.opensource.org/licenses/mit-license`,
|
|
13
|
+
` */`,
|
|
14
|
+
].join('\n');
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
function logMessage(pLevel: string, pMessage: string): void {
|
|
18
|
+
const colors = { error: '#c42847', info: '#ffa552' };
|
|
19
|
+
const levelFormatted = pLevel.charAt(0).toUpperCase() + pLevel.slice(1);
|
|
20
|
+
const color = colors[pLevel] || '#ffa552';
|
|
21
|
+
console.log(chalk.hex(color)(`[${levelFormatted}]`), `${pMessage}`);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const oldNow = Date.now();
|
|
25
|
+
|
|
26
|
+
await Promise.all([
|
|
27
|
+
// Natural version
|
|
28
|
+
Bun.build({
|
|
29
|
+
entrypoints: ['./src/index.ts'],
|
|
30
|
+
outdir: './dist/bundle',
|
|
31
|
+
naming: 'kit.js',
|
|
32
|
+
banner: banner,
|
|
33
|
+
target: 'browser'
|
|
34
|
+
}),
|
|
35
|
+
// Minified version
|
|
36
|
+
Bun.build({
|
|
37
|
+
entrypoints: ['./src/index.ts'],
|
|
38
|
+
outdir: './dist/bundle/min',
|
|
39
|
+
naming: 'kit.min.js',
|
|
40
|
+
minify: true,
|
|
41
|
+
banner: banner,
|
|
42
|
+
target: 'browser'
|
|
43
|
+
}),
|
|
44
|
+
// CLI version
|
|
45
|
+
Bun.build({
|
|
46
|
+
entrypoints: ['./bin/cli.ts'],
|
|
47
|
+
outdir: './lib/bundle/cli',
|
|
48
|
+
naming: 'cli.js',
|
|
49
|
+
banner: banner,
|
|
50
|
+
target: 'node'
|
|
51
|
+
})
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
const elapsed = Date.now() - oldNow;
|
|
55
|
+
|
|
56
|
+
logMessage('info', `Client Build took: ${elapsed}ms`);
|
package/bun.lockb
ADDED
|
Binary file
|
package/bunfig.toml
ADDED
package/docs/.nojekyll
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
window.hierarchyData = "eJyrVirKzy8pVrKKjtVRKkpNy0lNLsnMzytWsqqurQUAmx4Kpg=="
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--light-hl-0: #795E26;
|
|
3
|
+
--dark-hl-0: #DCDCAA;
|
|
4
|
+
--light-hl-1: #000000;
|
|
5
|
+
--dark-hl-1: #D4D4D4;
|
|
6
|
+
--light-hl-2: #A31515;
|
|
7
|
+
--dark-hl-2: #CE9178;
|
|
8
|
+
--light-hl-3: #AF00DB;
|
|
9
|
+
--dark-hl-3: #C586C0;
|
|
10
|
+
--light-hl-4: #001080;
|
|
11
|
+
--dark-hl-4: #9CDCFE;
|
|
12
|
+
--light-hl-5: #008000;
|
|
13
|
+
--dark-hl-5: #6A9955;
|
|
14
|
+
--light-hl-6: #0000FF;
|
|
15
|
+
--dark-hl-6: #569CD6;
|
|
16
|
+
--light-hl-7: #0070C1;
|
|
17
|
+
--dark-hl-7: #4FC1FF;
|
|
18
|
+
--light-code-background: #FFFFFF;
|
|
19
|
+
--dark-code-background: #1E1E1E;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@media (prefers-color-scheme: light) { :root {
|
|
23
|
+
--hl-0: var(--light-hl-0);
|
|
24
|
+
--hl-1: var(--light-hl-1);
|
|
25
|
+
--hl-2: var(--light-hl-2);
|
|
26
|
+
--hl-3: var(--light-hl-3);
|
|
27
|
+
--hl-4: var(--light-hl-4);
|
|
28
|
+
--hl-5: var(--light-hl-5);
|
|
29
|
+
--hl-6: var(--light-hl-6);
|
|
30
|
+
--hl-7: var(--light-hl-7);
|
|
31
|
+
--code-background: var(--light-code-background);
|
|
32
|
+
} }
|
|
33
|
+
|
|
34
|
+
@media (prefers-color-scheme: dark) { :root {
|
|
35
|
+
--hl-0: var(--dark-hl-0);
|
|
36
|
+
--hl-1: var(--dark-hl-1);
|
|
37
|
+
--hl-2: var(--dark-hl-2);
|
|
38
|
+
--hl-3: var(--dark-hl-3);
|
|
39
|
+
--hl-4: var(--dark-hl-4);
|
|
40
|
+
--hl-5: var(--dark-hl-5);
|
|
41
|
+
--hl-6: var(--dark-hl-6);
|
|
42
|
+
--hl-7: var(--dark-hl-7);
|
|
43
|
+
--code-background: var(--dark-code-background);
|
|
44
|
+
} }
|
|
45
|
+
|
|
46
|
+
:root[data-theme='light'] {
|
|
47
|
+
--hl-0: var(--light-hl-0);
|
|
48
|
+
--hl-1: var(--light-hl-1);
|
|
49
|
+
--hl-2: var(--light-hl-2);
|
|
50
|
+
--hl-3: var(--light-hl-3);
|
|
51
|
+
--hl-4: var(--light-hl-4);
|
|
52
|
+
--hl-5: var(--light-hl-5);
|
|
53
|
+
--hl-6: var(--light-hl-6);
|
|
54
|
+
--hl-7: var(--light-hl-7);
|
|
55
|
+
--code-background: var(--light-code-background);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
:root[data-theme='dark'] {
|
|
59
|
+
--hl-0: var(--dark-hl-0);
|
|
60
|
+
--hl-1: var(--dark-hl-1);
|
|
61
|
+
--hl-2: var(--dark-hl-2);
|
|
62
|
+
--hl-3: var(--dark-hl-3);
|
|
63
|
+
--hl-4: var(--dark-hl-4);
|
|
64
|
+
--hl-5: var(--dark-hl-5);
|
|
65
|
+
--hl-6: var(--dark-hl-6);
|
|
66
|
+
--hl-7: var(--dark-hl-7);
|
|
67
|
+
--code-background: var(--dark-code-background);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.hl-0 { color: var(--hl-0); }
|
|
71
|
+
.hl-1 { color: var(--hl-1); }
|
|
72
|
+
.hl-2 { color: var(--hl-2); }
|
|
73
|
+
.hl-3 { color: var(--hl-3); }
|
|
74
|
+
.hl-4 { color: var(--hl-4); }
|
|
75
|
+
.hl-5 { color: var(--hl-5); }
|
|
76
|
+
.hl-6 { color: var(--hl-6); }
|
|
77
|
+
.hl-7 { color: var(--hl-7); }
|
|
78
|
+
pre, code { background: var(--code-background); }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
addIcons();
|
|
3
|
+
function addIcons() {
|
|
4
|
+
if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons);
|
|
5
|
+
const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg"));
|
|
6
|
+
svg.innerHTML = `<g id="icon-1" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-2" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">N</text></g><g id="icon-8" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">E</text></g><g id="icon-16" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-32" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">V</text></g><g id="icon-64" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-128" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-256" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">I</text></g><g id="icon-512" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-1024" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-2048" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4096" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-8192" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-16384" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-32768" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-65536" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-131072" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-262144" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-524288" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-1048576" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-2097152" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-4194304" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">R</text></g><g id="icon-8388608" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></g><g id="icon-folder" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></g><g id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></g><g id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></g><g id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></g><g id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></g><g id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></g><g id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g><g id="icon-alertNote" class="tsd-no-select"><path fill="var(--color-alert-note)" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></g><g id="icon-alertTip" class="tsd-no-select"><path fill="var(--color-alert-tip)" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></g><g id="icon-alertImportant" class="tsd-no-select"><path fill="var(--color-alert-important)" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></g><g id="icon-alertWarning" class="tsd-no-select"><path fill="var(--color-alert-warning)" d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></g><g id="icon-alertCaution" class="tsd-no-select"><path fill="var(--color-alert-caution)" d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></g>`;
|
|
7
|
+
svg.style.display = "none";
|
|
8
|
+
if (location.protocol === "file:") updateUseElements();
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function updateUseElements() {
|
|
12
|
+
document.querySelectorAll("use").forEach(el => {
|
|
13
|
+
if (el.getAttribute("href").includes("#icon-")) {
|
|
14
|
+
el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#"));
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
})()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg"><g id="icon-1" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-2" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-module)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">N</text></g><g id="icon-8" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">E</text></g><g id="icon-16" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-32" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">V</text></g><g id="icon-64" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-128" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-256" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">I</text></g><g id="icon-512" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-1024" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-2048" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-method)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">M</text></g><g id="icon-4096" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-function)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">F</text></g><g id="icon-8192" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-16384" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-constructor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">C</text></g><g id="icon-32768" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-property)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">P</text></g><g id="icon-65536" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-131072" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-262144" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-524288" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-1048576" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-accessor)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">A</text></g><g id="icon-2097152" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">T</text></g><g id="icon-4194304" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-reference)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></rect><text fill="var(--color-icon-text)" x="50%" y="50%" dominant-baseline="central" text-anchor="middle">R</text></g><g id="icon-8388608" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="6,5 6,19 18,19, 18,10 13,5"></polygon><line x1="9" y1="9" x2="13" y2="9"></line><line x1="9" y1="12" x2="15" y2="12"></line><line x1="9" y1="15" x2="15" y2="15"></line></g></g><g id="icon-folder" class="tsd-no-select"><rect fill="var(--color-icon-background)" stroke="var(--color-document)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6"></rect><g stroke="var(--color-icon-text)" fill="none" stroke-width="1.5"><polygon points="5,5 10,5 12,8 19,8 19,18 5,18"></polygon></g></g><g id="icon-chevronDown" class="tsd-no-select"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-icon-text)"></path></g><g id="icon-chevronSmall" class="tsd-no-select"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-icon-text)"></path></g><g id="icon-checkbox" class="tsd-no-select"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></g><g id="icon-menu" class="tsd-no-select"><rect x="1" y="3" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-icon-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-icon-text)"></rect></g><g id="icon-search" class="tsd-no-select"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-icon-text)"></path></g><g id="icon-anchor" class="tsd-no-select"><g stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></g></g><g id="icon-alertNote" class="tsd-no-select"><path fill="var(--color-alert-note)" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></g><g id="icon-alertTip" class="tsd-no-select"><path fill="var(--color-alert-tip)" d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></g><g id="icon-alertImportant" class="tsd-no-select"><path fill="var(--color-alert-important)" d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v9.5A1.75 1.75 0 0 1 14.25 13H8.06l-2.573 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25Zm7 2.25v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></g><g id="icon-alertWarning" class="tsd-no-select"><path fill="var(--color-alert-warning)" d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></g><g id="icon-alertCaution" class="tsd-no-select"><path fill="var(--color-alert-caution)" d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></g></svg>
|