Compare commits
276 Commits
main
...
feat/route
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cf7801f8ec | ||
|
|
9d6a8f9225 | ||
|
|
0f8136705e | ||
|
|
9583c7c3d2 | ||
|
|
4348c8c4dc | ||
|
|
aae39e3365 | ||
|
|
0045bf6c9c | ||
|
|
cf7b4dd07b | ||
|
|
fe88cfe106 | ||
|
|
e3bf63d7a0 | ||
|
|
9a356cb27d | ||
|
|
53883a27be | ||
|
|
24c9c157f9 | ||
|
|
55727e2adf | ||
|
|
1e4239d189 | ||
|
|
5ccb16a0be | ||
|
|
34c9a6b350 | ||
|
|
ab99366a0a | ||
|
|
7419cadd80 | ||
|
|
46f2726a63 | ||
|
|
7bd3e047d2 | ||
|
|
1ea19adfec | ||
|
|
1685590a07 | ||
|
|
db10bdd539 | ||
|
|
d79602325d | ||
|
|
a19419e597 | ||
|
|
a7686f61c7 | ||
|
|
e694ae68e3 | ||
|
|
02a65daa27 | ||
|
|
1a9fd77599 | ||
|
|
7fa97f8a2b | ||
|
|
838bb385fd | ||
|
|
583e4e9db7 | ||
|
|
5fdfa5a594 | ||
|
|
ad939f4b77 | ||
|
|
6abe5ab8c3 | ||
|
|
1156b12ac6 | ||
|
|
4410599dfa | ||
|
|
bce8e5cc7f | ||
|
|
9d75b0972e | ||
|
|
a3062d6e38 | ||
|
|
43fb232cca | ||
|
|
d610943f0f | ||
|
|
680fcb4b9d | ||
|
|
d82e004f57 | ||
|
|
aa13ad4fac | ||
|
|
02d79f47b3 | ||
|
|
75c0923636 | ||
|
|
7dd1ecd4a5 | ||
|
|
a2299fa2ab | ||
|
|
a830d05790 | ||
|
|
8429e678bc | ||
|
|
91215c899d | ||
|
|
1309b194e9 | ||
|
|
1b1f85b35f | ||
|
|
4407c0f675 | ||
|
|
30947c6bc1 | ||
|
|
0b3cefb125 | ||
|
|
b382b06c57 | ||
|
|
8246f46e7d | ||
|
|
f32fa08c41 | ||
|
|
56df52d850 | ||
|
|
846a7f5ecf | ||
|
|
f2c2a27622 | ||
|
|
348e0dfc80 | ||
|
|
77c848035d | ||
|
|
cd6a38ebeb | ||
|
|
b57ed07d00 | ||
|
|
f7c8fb8d56 | ||
|
|
dae10cf673 | ||
|
|
a50da9fc80 | ||
|
|
7d5d9964d7 | ||
|
|
059f821584 | ||
|
|
1c38e31e9e | ||
|
|
12e3a22726 | ||
|
|
2b1269af92 | ||
|
|
c4fa975b89 | ||
|
|
1b67b851b7 | ||
|
|
811e702568 | ||
|
|
4ef4297391 | ||
|
|
292f7f7b75 | ||
|
|
e56edbaa4f | ||
|
|
e06142b89a | ||
|
|
fb6b326947 | ||
|
|
f9b7ff7d0e | ||
|
|
14706ec4d7 | ||
|
|
09f2fb6538 | ||
|
|
62aedcaa23 | ||
|
|
62ccb6105d | ||
|
|
5101488d65 | ||
|
|
7c0b03dbdc | ||
|
|
b3dc2d0422 | ||
|
|
1828ef8997 | ||
|
|
b3f88a7fc2 | ||
|
|
2c07ea0dd8 | ||
|
|
6042ee8ca8 | ||
|
|
d164d7c8bf | ||
|
|
23f7b39753 | ||
|
|
fe188ba8fb | ||
|
|
cf008ca22e | ||
|
|
851ff8992f | ||
|
|
91f9088436 | ||
|
|
c971daf23c | ||
|
|
0c7cee2700 | ||
|
|
3e9d9f16d6 | ||
|
|
f3a279d8de | ||
|
|
b9a947d2fd | ||
|
|
57b9ca111a | ||
|
|
709f264ac9 | ||
|
|
736aef22c4 | ||
|
|
d0ed4cc1f2 | ||
|
|
8c6a577cca | ||
|
|
27b6ad75df | ||
|
|
c617a0b51a | ||
|
|
75d7ed075b | ||
|
|
b5b577dc79 | ||
|
|
e754b5a863 | ||
|
|
82dd771110 | ||
|
|
8a4a34a946 | ||
|
|
fb62ae18b7 | ||
|
|
e59990d24e | ||
|
|
b08228bdb5 | ||
|
|
d2b6433609 | ||
|
|
3417acafe2 | ||
|
|
f42afe28d7 | ||
|
|
0da9252eb7 | ||
|
|
de5fa5e09c | ||
|
|
8d64bb0316 | ||
|
|
d7eb88f7e2 | ||
|
|
b41e1d712f | ||
|
|
c258035f6a | ||
|
|
569572bfdc | ||
|
|
b821ac5390 | ||
|
|
534c2ce485 | ||
|
|
bab1a5445c | ||
|
|
742f901052 | ||
|
|
cb12bb5137 | ||
|
|
06b6f2b9d8 | ||
|
|
2c102ed3b4 | ||
|
|
767e22c58d | ||
|
|
dee397f6ac | ||
|
|
a00aba23bd | ||
|
|
de5fb03efb | ||
|
|
a6e58776d2 | ||
|
|
bebe745e69 | ||
|
|
ec8c24a1c2 | ||
|
|
db4fcac768 | ||
|
|
6c71b92d1d | ||
|
|
d470fd8b88 | ||
|
|
99962b740c | ||
|
|
ef4bede062 | ||
|
|
e6e1fb0404 | ||
|
|
e6696def10 | ||
|
|
e5a3363021 | ||
|
|
f6ff436294 | ||
|
|
8a9b633af2 | ||
|
|
0a37146ba8 | ||
|
|
ac3dfcbfbe | ||
|
|
5ac09d5311 | ||
|
|
d4fd8ffdcc | ||
|
|
84274d9d85 | ||
|
|
a72feebead | ||
|
|
e930d3de43 | ||
|
|
ecc9923050 | ||
|
|
e469016775 | ||
|
|
15569387c7 | ||
|
|
4f746842a5 | ||
|
|
aab941d89c | ||
|
|
1b04fd065d | ||
|
|
76b3ba5d7e | ||
|
|
355e5b269d | ||
|
|
d4b0272fe7 | ||
|
|
59bf94b118 | ||
|
|
bd7cd22220 | ||
|
|
f48674b2c7 | ||
|
|
56af6f43c0 | ||
|
|
f83c3e171e | ||
|
|
d397a43806 | ||
|
|
8353f331f1 | ||
|
|
8cc6b08831 | ||
|
|
ffe897d58c | ||
|
|
182ac3bc98 | ||
|
|
c0cca4ae44 | ||
|
|
8981d0a09d | ||
|
|
de44938d9b | ||
|
|
75d5dcf275 | ||
|
|
d8f4825e5e | ||
|
|
c242abd81a | ||
|
|
79c9ed963f | ||
|
|
6079961f44 | ||
|
|
04ef5edea2 | ||
|
|
046ed3edef | ||
|
|
6eb9ab30b0 | ||
|
|
1c27481813 | ||
|
|
a6e19f7757 | ||
|
|
6d89f94335 | ||
|
|
2e07b4ea58 | ||
|
|
bf2f6ddd7f | ||
|
|
c936bddfe7 | ||
|
|
d3028f1dd1 | ||
|
|
0038280fba | ||
|
|
0a94609f78 | ||
|
|
f9f8390540 | ||
|
|
91dd6482ce | ||
|
|
016bbff79f | ||
|
|
32f41391c4 | ||
|
|
78a8ebc777 | ||
|
|
57fd73e51a | ||
|
|
bd448b5108 | ||
|
|
a7d12abd1f | ||
|
|
9e3618bc17 | ||
|
|
8cb270ca86 | ||
|
|
d321cd23ef | ||
|
|
9da3e82c47 | ||
|
|
2931e558b3 | ||
|
|
9a847dc5a3 | ||
|
|
c2a1178dff | ||
|
|
7f114ade4d | ||
|
|
7b633641d1 | ||
|
|
1dacdc3178 | ||
|
|
566dd14fed | ||
|
|
68cd87e069 | ||
|
|
1b57ffeb56 | ||
|
|
5d789ef394 | ||
|
|
820d6a6e96 | ||
|
|
0a67ab4103 | ||
|
|
5cc7390bb6 | ||
|
|
2ce4fabc7d | ||
|
|
7b2570974e | ||
|
|
0ef3852029 | ||
|
|
0dce1c57fc | ||
|
|
190ee76cf1 | ||
|
|
83fea49ed2 | ||
|
|
ccc50dbf2b | ||
|
|
6b503c4080 | ||
|
|
40fe381aa5 | ||
|
|
65c24a2f4b | ||
|
|
b15778b16b | ||
|
|
087e825086 | ||
|
|
3dd2bc1a40 | ||
|
|
9bde833419 | ||
|
|
e15005d1cf | ||
|
|
30e6883333 | ||
|
|
99be38c325 | ||
|
|
df876651b9 | ||
|
|
85bdcdc206 | ||
|
|
2860935e5b | ||
|
|
b219e96544 | ||
|
|
c02f93e6b9 | ||
|
|
72f32e4b8f | ||
|
|
a81f13848c | ||
|
|
81538d5709 | ||
|
|
54449e7130 | ||
|
|
c217a0bf02 | ||
|
|
39257f64b1 | ||
|
|
06dab978f7 | ||
|
|
c3f61533f7 | ||
|
|
8715eb1f41 | ||
|
|
92eb5aed7f | ||
|
|
ff965402cd | ||
|
|
973f26f9dd | ||
|
|
4e3f8a8f76 | ||
|
|
21e40db086 | ||
|
|
92cd012037 | ||
|
|
7cd937888e | ||
|
|
ec491f5f24 | ||
|
|
c0efb46c2b | ||
|
|
aa47fc3ed7 | ||
|
|
c3c9f9b3f2 | ||
|
|
d486b56595 | ||
|
|
4bb5ff8086 | ||
|
|
a748162e67 | ||
|
|
610e7481b3 | ||
|
|
9105e0f5c1 | ||
|
|
a248517520 | ||
|
|
d31f35b16d |
8
.github/CODEOWNERS
vendored
@@ -3,4 +3,12 @@
|
||||
/src/main/services/ConfigManager.ts @0xfullex
|
||||
/packages/shared/IpcChannel.ts @0xfullex
|
||||
/src/main/ipc.ts @0xfullex
|
||||
|
||||
/migrations/ @0xfullex
|
||||
/packages/shared/data/ @0xfullex
|
||||
/src/main/data/ @0xfullex
|
||||
/src/renderer/src/data/ @0xfullex
|
||||
|
||||
/packages/ui/ @MyPrototypeWhat
|
||||
|
||||
/app-upgrade-config.json @kangfenmao
|
||||
|
||||
2
.github/workflows/pr-ci.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
PRCI: true
|
||||
if: github.event.pull_request.draft == false
|
||||
if: github.event.pull_request.draft == false || github.head_ref == 'v2'
|
||||
|
||||
steps:
|
||||
- name: Check out Git repository
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"env": {
|
||||
"node": true
|
||||
},
|
||||
"files": ["src/main/**", "resources/scripts/**", "scripts/**", "playwright.config.ts", "electron.vite.config.ts"]
|
||||
"files": ["src/main/**", "resources/scripts/**", "scripts/**", "playwright.config.ts", "electron.vite.config.ts", "packages/ui/scripts/**"]
|
||||
},
|
||||
{
|
||||
"env": {
|
||||
@@ -35,7 +35,8 @@
|
||||
"files": [
|
||||
"src/renderer/**/*.{ts,tsx}",
|
||||
"packages/aiCore/**",
|
||||
"packages/extension-table-plus/**"
|
||||
"packages/extension-table-plus/**",
|
||||
"packages/ui/**"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
8
.vscode/settings.json
vendored
@@ -31,7 +31,8 @@
|
||||
},
|
||||
"editor.formatOnSave": true,
|
||||
"files.associations": {
|
||||
"*.css": "tailwindcss"
|
||||
"*.css": "tailwindcss",
|
||||
".oxlintrc.json": "jsonc"
|
||||
},
|
||||
"files.eol": "\n",
|
||||
// "i18n-ally.displayLanguage": "zh-cn", // 界面显示语言
|
||||
@@ -50,6 +51,9 @@
|
||||
},
|
||||
"tailwindCSS.classAttributes": [
|
||||
"className",
|
||||
"classNames",
|
||||
"classNames"
|
||||
],
|
||||
"tailwindCSS.experimental.classRegex": [
|
||||
["cva\\(([^;]*)[\\);]", "[`'\"`]([^'\"`;]*)[`'\"`]"]
|
||||
]
|
||||
}
|
||||
|
||||
113
CLAUDE.md
@@ -7,6 +7,7 @@ This file provides guidance to AI coding assistants when working with code in th
|
||||
- **Keep it clear**: Write code that is easy to read, maintain, and explain.
|
||||
- **Match the house style**: Reuse existing patterns, naming, and conventions.
|
||||
- **Search smart**: Prefer `ast-grep` for semantic queries; fall back to `rg`/`grep` when needed.
|
||||
- **Build with Tailwind CSS & Shadcn UI**: Use components from `@packages/ui` (Shadcn UI + Tailwind CSS) for every new UI component; never add `antd` or `styled-components`.
|
||||
- **Log centrally**: Route all logging through `loggerService` with the right context—no `console.log`.
|
||||
- **Research via subagent**: Lean on `subagent` for external docs, APIs, news, and references.
|
||||
- **Always propose before executing**: Before making any changes, clearly explain your planned approach and wait for explicit user approval to ensure alignment and prevent unwanted modifications.
|
||||
@@ -34,13 +35,113 @@ This file provides guidance to AI coding assistants when working with code in th
|
||||
- **Renderer Process** (`src/renderer/`): React UI with Redux state management
|
||||
- **Preload Scripts** (`src/preload/`): Secure IPC bridge
|
||||
|
||||
### Key Components
|
||||
- **AI Core** (`src/renderer/src/aiCore/`): Middleware pipeline for multiple AI providers.
|
||||
- **Services** (`src/main/services/`): MCPService, KnowledgeService, WindowService, etc.
|
||||
- **Build System**: Electron-Vite with experimental rolldown-vite, yarn workspaces.
|
||||
- **State Management**: Redux Toolkit (`src/renderer/src/store/`) for predictable state.
|
||||
### Key Architectural Components
|
||||
|
||||
#### Main Process Services (`src/main/services/`)
|
||||
|
||||
- **MCPService**: Model Context Protocol server management
|
||||
- **KnowledgeService**: Document processing and knowledge base management
|
||||
- **FileStorage/S3Storage/WebDav**: Multiple storage backends
|
||||
- **WindowService**: Multi-window management (main, mini, selection windows)
|
||||
- **ProxyManager**: Network proxy handling
|
||||
- **SearchService**: Full-text search capabilities
|
||||
|
||||
#### AI Core (`src/renderer/src/aiCore/`)
|
||||
|
||||
- **Middleware System**: Composable pipeline for AI request processing
|
||||
- **Client Factory**: Supports multiple AI providers (OpenAI, Anthropic, Gemini, etc.)
|
||||
- **Stream Processing**: Real-time response handling
|
||||
|
||||
#### Data Management
|
||||
|
||||
- **Cache System**: Three-layer caching (memory/shared/persist) with React hooks integration
|
||||
- **Preferences**: Type-safe configuration management with multi-window synchronization
|
||||
- **User Data**: SQLite-based storage with Drizzle ORM for business data
|
||||
|
||||
#### Knowledge Management
|
||||
|
||||
- **Embeddings**: Vector search with multiple providers (OpenAI, Voyage, etc.)
|
||||
- **OCR**: Document text extraction (system OCR, Doc2x, Mineru)
|
||||
- **Preprocessing**: Document preparation pipeline
|
||||
- **Loaders**: Support for various file formats (PDF, DOCX, EPUB, etc.)
|
||||
|
||||
### Build System
|
||||
|
||||
- **Electron-Vite**: Development and build tooling (v4.0.0)
|
||||
- **Rolldown-Vite**: Using experimental rolldown-vite instead of standard vite
|
||||
- **Workspaces**: Monorepo structure with `packages/` directory
|
||||
- **Multiple Entry Points**: Main app, mini window, selection toolbar
|
||||
- **Styled Components**: CSS-in-JS styling with SWC optimization
|
||||
|
||||
### Testing Strategy
|
||||
|
||||
- **Vitest**: Unit and integration testing
|
||||
- **Playwright**: End-to-end testing
|
||||
- **Component Testing**: React Testing Library
|
||||
- **Coverage**: Available via `yarn test:coverage`
|
||||
|
||||
### Key Patterns
|
||||
|
||||
- **IPC Communication**: Secure main-renderer communication via preload scripts
|
||||
- **Service Layer**: Clear separation between UI and business logic
|
||||
- **Plugin Architecture**: Extensible via MCP servers and middleware
|
||||
- **Multi-language Support**: i18n with dynamic loading
|
||||
- **Theme System**: Light/dark themes with custom CSS variables
|
||||
|
||||
### UI Design
|
||||
|
||||
The project is in the process of migrating from antd & styled-components to Tailwind CSS and Shadcn UI. Please use components from `@packages/ui` to build UI components. The use of antd and styled-components is prohibited.
|
||||
|
||||
UI Library: `@packages/ui`
|
||||
|
||||
### Database Architecture
|
||||
|
||||
- **Database**: SQLite (`cherrystudio.sqlite`) + libsql driver
|
||||
- **ORM**: Drizzle ORM with comprehensive migration system
|
||||
- **Schemas**: Located in `src/main/data/db/schemas/` directory
|
||||
|
||||
#### Database Standards
|
||||
|
||||
- **Table Naming**: Use singular form with snake_case (e.g., `topic`, `message`, `app_state`)
|
||||
- **Schema Exports**: Export using `xxxTable` pattern (e.g., `topicTable`, `appStateTable`)
|
||||
- **Field Definition**: Drizzle auto-infers field names, no need to add default field names
|
||||
- **JSON Fields**: For JSON support, add `{ mode: 'json' }`, refer to `preference.ts` table definition
|
||||
- **JSON Serialization**: For JSON fields, no need to manually serialize/deserialize when reading/writing to database, Drizzle handles this automatically
|
||||
- **Timestamps**: Use existing `crudTimestamps` utility
|
||||
- **Migrations**: Generate via `yarn run migrations:generate`
|
||||
|
||||
## Data Access Patterns
|
||||
|
||||
The application uses three distinct data management systems. Choose the appropriate system based on data characteristics:
|
||||
|
||||
### Cache System
|
||||
- **Purpose**: Temporary data that can be regenerated
|
||||
- **Lifecycle**: Component-level (memory), window-level (shared), or persistent (survives restart)
|
||||
- **Use Cases**: API response caching, computed results, temporary UI state
|
||||
- **APIs**: `useCache`, `useSharedCache`, `usePersistCache` hooks, or `cacheService`
|
||||
|
||||
### Preference System
|
||||
- **Purpose**: User configuration and application settings
|
||||
- **Lifecycle**: Permanent until user changes
|
||||
- **Use Cases**: Theme, language, editor settings, user preferences
|
||||
- **APIs**: `usePreference`, `usePreferences` hooks, or `preferenceService`
|
||||
|
||||
### User Data API
|
||||
- **Purpose**: Core business data (conversations, files, notes, etc.)
|
||||
- **Lifecycle**: Permanent business records
|
||||
- **Use Cases**: Topics, messages, files, knowledge base, user-generated content
|
||||
- **APIs**: `useDataApi` hook or `dataApiService` for direct calls
|
||||
|
||||
### Selection Guidelines
|
||||
|
||||
- **Use Cache** for data that can be lost without impact (computed values, API responses)
|
||||
- **Use Preferences** for user settings that affect app behavior (UI configuration, feature flags)
|
||||
- **Use User Data API** for irreplaceable business data (conversations, documents, user content)
|
||||
|
||||
## Logging Standards
|
||||
|
||||
### Usage
|
||||
|
||||
### Logging
|
||||
```typescript
|
||||
import { loggerService } from '@logger'
|
||||
const logger = loggerService.withContext('moduleName')
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
"!.github/**",
|
||||
"!.husky/**",
|
||||
"!.vscode/**",
|
||||
"!.claude/**",
|
||||
"!*.yaml",
|
||||
"!*.yml",
|
||||
"!*.mjs",
|
||||
|
||||
@@ -66,9 +66,10 @@ asarUnpack:
|
||||
- resources/**
|
||||
- "**/*.{metal,exp,lib}"
|
||||
- "node_modules/@img/sharp-libvips-*/**"
|
||||
|
||||
# copy from node_modules/claude-code-plugins/plugins to resources/data/claude-code-pluginso
|
||||
extraResources:
|
||||
- from: "migrations/sqlite-drizzle"
|
||||
to: "migrations/sqlite-drizzle"
|
||||
# copy from node_modules/claude-code-plugins/plugins to resources/data/claude-code-pluginso
|
||||
- from: "./node_modules/claude-code-plugins/plugins/"
|
||||
to: "claude-code-plugins"
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { tanstackRouter } from '@tanstack/router-plugin/vite'
|
||||
import react from '@vitejs/plugin-react-swc'
|
||||
import { CodeInspectorPlugin } from 'code-inspector-plugin'
|
||||
import { defineConfig, externalizeDepsPlugin } from 'electron-vite'
|
||||
@@ -22,6 +23,7 @@ export default defineConfig({
|
||||
alias: {
|
||||
'@main': resolve('src/main'),
|
||||
'@types': resolve('src/renderer/src/types'),
|
||||
'@data': resolve('src/main/data'),
|
||||
'@shared': resolve('packages/shared'),
|
||||
'@logger': resolve('src/main/services/LoggerService'),
|
||||
'@mcp-trace/trace-core': resolve('packages/mcp-trace/trace-core'),
|
||||
@@ -61,11 +63,30 @@ export default defineConfig({
|
||||
}
|
||||
},
|
||||
build: {
|
||||
sourcemap: isDev
|
||||
sourcemap: isDev,
|
||||
rollupOptions: {
|
||||
// Unlike renderer which auto-discovers entries from HTML files,
|
||||
// preload requires explicit entry point configuration for multiple scripts
|
||||
input: {
|
||||
index: resolve(__dirname, 'src/preload/index.ts'),
|
||||
simplest: resolve(__dirname, 'src/preload/simplest.ts') // Minimal preload
|
||||
},
|
||||
external: ['electron'],
|
||||
output: {
|
||||
entryFileNames: '[name].js',
|
||||
format: 'cjs'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
renderer: {
|
||||
plugins: [
|
||||
tanstackRouter({
|
||||
target: 'react',
|
||||
autoCodeSplitting: true,
|
||||
routesDirectory: './src/renderer/src/routes',
|
||||
generatedRouteTree: './src/renderer/src/routeTree.gen.ts'
|
||||
}),
|
||||
(async () => (await import('@tailwindcss/vite')).default())(),
|
||||
react({
|
||||
tsDecorators: true,
|
||||
@@ -90,13 +111,16 @@ export default defineConfig({
|
||||
'@shared': resolve('packages/shared'),
|
||||
'@types': resolve('src/renderer/src/types'),
|
||||
'@logger': resolve('src/renderer/src/services/LoggerService'),
|
||||
'@data': resolve('src/renderer/src/data'),
|
||||
'@mcp-trace/trace-core': resolve('packages/mcp-trace/trace-core'),
|
||||
'@mcp-trace/trace-web': resolve('packages/mcp-trace/trace-web'),
|
||||
'@cherrystudio/ai-core/provider': resolve('packages/aiCore/src/core/providers'),
|
||||
'@cherrystudio/ai-core/built-in/plugins': resolve('packages/aiCore/src/core/plugins/built-in'),
|
||||
'@cherrystudio/ai-core': resolve('packages/aiCore/src'),
|
||||
'@cherrystudio/extension-table-plus': resolve('packages/extension-table-plus/src'),
|
||||
'@cherrystudio/ai-sdk-provider': resolve('packages/ai-sdk-provider/src')
|
||||
'@cherrystudio/ai-sdk-provider': resolve('packages/ai-sdk-provider/src'),
|
||||
'@cherrystudio/ui/icons': resolve('packages/ui/src/components/icons'),
|
||||
'@cherrystudio/ui': resolve('packages/ui/src')
|
||||
}
|
||||
},
|
||||
optimizeDeps: {
|
||||
@@ -116,7 +140,8 @@ export default defineConfig({
|
||||
miniWindow: resolve(__dirname, 'src/renderer/miniWindow.html'),
|
||||
selectionToolbar: resolve(__dirname, 'src/renderer/selectionToolbar.html'),
|
||||
selectionAction: resolve(__dirname, 'src/renderer/selectionAction.html'),
|
||||
traceWindow: resolve(__dirname, 'src/renderer/traceWindow.html')
|
||||
traceWindow: resolve(__dirname, 'src/renderer/traceWindow.html'),
|
||||
migrationV2: resolve(__dirname, 'src/renderer/migrationV2.html')
|
||||
},
|
||||
onwarn(warning, warn) {
|
||||
if (warning.code === 'COMMONJS_VARIABLE_IN_ESM') return
|
||||
|
||||
@@ -72,8 +72,9 @@ export default defineConfig([
|
||||
...oxlint.configs['flat/eslint'],
|
||||
...oxlint.configs['flat/typescript'],
|
||||
...oxlint.configs['flat/unicorn'],
|
||||
// Custom rules should be after oxlint to overwrite
|
||||
// LoggerService Custom Rules - only apply to src directory
|
||||
{
|
||||
// LoggerService Custom Rules - only apply to src directory
|
||||
files: ['src/**/*.{ts,tsx,js,jsx}'],
|
||||
ignores: ['src/**/__tests__/**', 'src/**/__mocks__/**', 'src/**/*.test.*', 'src/preload/**'],
|
||||
rules: {
|
||||
@@ -87,6 +88,7 @@ export default defineConfig([
|
||||
]
|
||||
}
|
||||
},
|
||||
// i18n
|
||||
{
|
||||
files: ['**/*.{ts,tsx,js,jsx}'],
|
||||
languageOptions: {
|
||||
@@ -134,4 +136,81 @@ export default defineConfig([
|
||||
'i18n/no-template-in-t': 'warn'
|
||||
}
|
||||
},
|
||||
// ui migration
|
||||
{
|
||||
// Component Rules - prevent importing antd components when migration completed
|
||||
files: ['**/*.{ts,tsx,js,jsx}'],
|
||||
ignores: [],
|
||||
rules: {
|
||||
// 'no-restricted-imports': [
|
||||
// 'error',
|
||||
// {
|
||||
// paths: [
|
||||
// {
|
||||
// name: 'antd',
|
||||
// importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'],
|
||||
// message:
|
||||
// '❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"'
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// ]
|
||||
}
|
||||
},
|
||||
// Schema key naming convention (cache & preferences)
|
||||
{
|
||||
files: ['packages/shared/data/cache/cacheSchemas.ts', 'packages/shared/data/preference/preferenceSchemas.ts'],
|
||||
plugins: {
|
||||
'data-schema-key': {
|
||||
rules: {
|
||||
'valid-key': {
|
||||
meta: {
|
||||
type: 'problem',
|
||||
docs: {
|
||||
description: 'Enforce schema key naming convention: namespace.sub.key_name',
|
||||
recommended: true
|
||||
},
|
||||
messages: {
|
||||
invalidKey:
|
||||
'Schema key "{{key}}" must follow format: namespace.sub.key_name (e.g., app.user.avatar).'
|
||||
}
|
||||
},
|
||||
create(context) {
|
||||
const VALID_KEY_PATTERN = /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/
|
||||
|
||||
return {
|
||||
TSPropertySignature(node) {
|
||||
if (node.key.type === 'Literal' && typeof node.key.value === 'string') {
|
||||
const key = node.key.value
|
||||
if (!VALID_KEY_PATTERN.test(key)) {
|
||||
context.report({
|
||||
node: node.key,
|
||||
messageId: 'invalidKey',
|
||||
data: { key }
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
Property(node) {
|
||||
if (node.key.type === 'Literal' && typeof node.key.value === 'string') {
|
||||
const key = node.key.value
|
||||
if (!VALID_KEY_PATTERN.test(key)) {
|
||||
context.report({
|
||||
node: node.key,
|
||||
messageId: 'invalidKey',
|
||||
data: { key }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
rules: {
|
||||
'data-schema-key/valid-key': 'error'
|
||||
}
|
||||
}
|
||||
])
|
||||
|
||||
6
migrations/README.md
Normal file
@@ -0,0 +1,6 @@
|
||||
**THIS DIRECTORY IS NOT FOR RUNTIME USE**
|
||||
|
||||
- Using `libsql` as the `sqlite3` driver, and `drizzle` as the ORM and database migration tool
|
||||
- `migrations/sqlite-drizzle` contains auto-generated migration data. Please **DO NOT** modify it.
|
||||
- If table structure changes, we should run migrations.
|
||||
- To generate migrations, use the command `yarn run migrations:generate`
|
||||
7
migrations/sqlite-drizzle.config.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { defineConfig } from 'drizzle-kit'
|
||||
export default defineConfig({
|
||||
out: './migrations/sqlite-drizzle',
|
||||
schema: './src/main/data/db/schemas/*',
|
||||
dialect: 'sqlite',
|
||||
casing: 'snake_case'
|
||||
})
|
||||
17
migrations/sqlite-drizzle/0000_solid_lord_hawal.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
CREATE TABLE `app_state` (
|
||||
`key` text PRIMARY KEY NOT NULL,
|
||||
`value` text NOT NULL,
|
||||
`description` text,
|
||||
`created_at` integer,
|
||||
`updated_at` integer
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `preference` (
|
||||
`scope` text NOT NULL,
|
||||
`key` text NOT NULL,
|
||||
`value` text,
|
||||
`created_at` integer,
|
||||
`updated_at` integer
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE INDEX `scope_name_idx` ON `preference` (`scope`,`key`);
|
||||
114
migrations/sqlite-drizzle/meta/0000_snapshot.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"_meta": {
|
||||
"columns": {},
|
||||
"schemas": {},
|
||||
"tables": {}
|
||||
},
|
||||
"dialect": "sqlite",
|
||||
"enums": {},
|
||||
"id": "de8009d7-95b9-4f99-99fa-4b8795708f21",
|
||||
"internal": {
|
||||
"indexes": {}
|
||||
},
|
||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||
"tables": {
|
||||
"app_state": {
|
||||
"checkConstraints": {},
|
||||
"columns": {
|
||||
"created_at": {
|
||||
"autoincrement": false,
|
||||
"name": "created_at",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"description": {
|
||||
"autoincrement": false,
|
||||
"name": "description",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "text"
|
||||
},
|
||||
"key": {
|
||||
"autoincrement": false,
|
||||
"name": "key",
|
||||
"notNull": true,
|
||||
"primaryKey": true,
|
||||
"type": "text"
|
||||
},
|
||||
"updated_at": {
|
||||
"autoincrement": false,
|
||||
"name": "updated_at",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"value": {
|
||||
"autoincrement": false,
|
||||
"name": "value",
|
||||
"notNull": true,
|
||||
"primaryKey": false,
|
||||
"type": "text"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"foreignKeys": {},
|
||||
"indexes": {},
|
||||
"name": "app_state",
|
||||
"uniqueConstraints": {}
|
||||
},
|
||||
"preference": {
|
||||
"checkConstraints": {},
|
||||
"columns": {
|
||||
"created_at": {
|
||||
"autoincrement": false,
|
||||
"name": "created_at",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"key": {
|
||||
"autoincrement": false,
|
||||
"name": "key",
|
||||
"notNull": true,
|
||||
"primaryKey": false,
|
||||
"type": "text"
|
||||
},
|
||||
"scope": {
|
||||
"autoincrement": false,
|
||||
"name": "scope",
|
||||
"notNull": true,
|
||||
"primaryKey": false,
|
||||
"type": "text"
|
||||
},
|
||||
"updated_at": {
|
||||
"autoincrement": false,
|
||||
"name": "updated_at",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "integer"
|
||||
},
|
||||
"value": {
|
||||
"autoincrement": false,
|
||||
"name": "value",
|
||||
"notNull": false,
|
||||
"primaryKey": false,
|
||||
"type": "text"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"foreignKeys": {},
|
||||
"indexes": {
|
||||
"scope_name_idx": {
|
||||
"columns": ["scope", "key"],
|
||||
"isUnique": false,
|
||||
"name": "scope_name_idx"
|
||||
}
|
||||
},
|
||||
"name": "preference",
|
||||
"uniqueConstraints": {}
|
||||
}
|
||||
},
|
||||
"version": "6",
|
||||
"views": {}
|
||||
}
|
||||
13
migrations/sqlite-drizzle/meta/_journal.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"dialect": "sqlite",
|
||||
"entries": [
|
||||
{
|
||||
"breakpoints": true,
|
||||
"idx": 0,
|
||||
"tag": "0000_solid_lord_hawal",
|
||||
"version": "6",
|
||||
"when": 1754745234572
|
||||
}
|
||||
],
|
||||
"version": "7"
|
||||
}
|
||||
15
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "CherryStudio",
|
||||
"version": "1.7.0-rc.2",
|
||||
"version": "2.0.0-alpha",
|
||||
"private": true,
|
||||
"description": "A powerful AI assistant for producer.",
|
||||
"main": "./out/main/index.js",
|
||||
@@ -50,9 +50,10 @@
|
||||
"generate:icons": "electron-icon-builder --input=./build/logo.png --output=build",
|
||||
"analyze:renderer": "VISUALIZER_RENDERER=true yarn build",
|
||||
"analyze:main": "VISUALIZER_MAIN=true yarn build",
|
||||
"typecheck": "concurrently -n \"node,web\" -c \"cyan,magenta\" \"npm run typecheck:node\" \"npm run typecheck:web\"",
|
||||
"typecheck": "concurrently -n \"node,web,ui\" -c \"cyan,magenta,green\" \"npm run typecheck:node\" \"npm run typecheck:web\" \"npm run typecheck:ui\"",
|
||||
"typecheck:node": "tsgo --noEmit -p tsconfig.node.json --composite false",
|
||||
"typecheck:web": "tsgo --noEmit -p tsconfig.web.json --composite false",
|
||||
"typecheck:ui": "cd packages/ui && npm run type-check",
|
||||
"check:i18n": "dotenv -e .env -- tsx scripts/check-i18n.ts",
|
||||
"sync:i18n": "dotenv -e .env -- tsx scripts/sync-i18n.ts",
|
||||
"update:i18n": "dotenv -e .env -- tsx scripts/update-i18n.ts",
|
||||
@@ -69,11 +70,13 @@
|
||||
"test:e2e": "yarn playwright test",
|
||||
"test:lint": "oxlint --deny-warnings && eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --cache",
|
||||
"test:scripts": "vitest scripts",
|
||||
"lint": "oxlint --fix && eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --cache && yarn typecheck && yarn check:i18n && yarn format:check",
|
||||
"lint": "oxlint --fix && eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --cache && biome lint --write && biome format --write && yarn typecheck && yarn check:i18n && yarn format:check",
|
||||
"lint:ox": "oxlint --fix && biome lint --write && biome format --write",
|
||||
"format": "biome format --write && biome lint --write",
|
||||
"format:check": "biome format && biome lint",
|
||||
"prepare": "git config blame.ignoreRevsFile .git-blame-ignore-revs && husky",
|
||||
"claude": "dotenv -e .env -- claude",
|
||||
"migrations:generate": "drizzle-kit generate --config ./migrations/sqlite-drizzle.config.ts",
|
||||
"release:aicore:alpha": "yarn workspace @cherrystudio/ai-core version prerelease --preid alpha --immediate && yarn workspace @cherrystudio/ai-core build && yarn workspace @cherrystudio/ai-core npm publish --tag alpha --access public",
|
||||
"release:aicore:beta": "yarn workspace @cherrystudio/ai-core version prerelease --preid beta --immediate && yarn workspace @cherrystudio/ai-core build && yarn workspace @cherrystudio/ai-core npm publish --tag beta --access public",
|
||||
"release:aicore": "yarn workspace @cherrystudio/ai-core version patch --immediate && yarn workspace @cherrystudio/ai-core build && yarn workspace @cherrystudio/ai-core npm publish --access public",
|
||||
@@ -100,6 +103,7 @@
|
||||
"selection-hook": "^1.0.12",
|
||||
"sharp": "^0.34.3",
|
||||
"socket.io": "^4.8.1",
|
||||
"stream-json": "^1.9.1",
|
||||
"swagger-jsdoc": "^6.2.8",
|
||||
"swagger-ui-express": "^5.0.1",
|
||||
"tesseract.js": "patch:tesseract.js@npm%3A6.0.1#~/.yarn/patches/tesseract.js-npm-6.0.1-2562a7e46d.patch",
|
||||
@@ -142,6 +146,7 @@
|
||||
"@cherrystudio/embedjs-openai": "^0.1.31",
|
||||
"@cherrystudio/extension-table-plus": "workspace:^",
|
||||
"@cherrystudio/openai": "^6.9.0",
|
||||
"@cherrystudio/ui": "workspace:*",
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/modifiers": "^9.0.0",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
@@ -156,7 +161,6 @@
|
||||
"@eslint/js": "^9.22.0",
|
||||
"@google/genai": "patch:@google/genai@npm%3A1.0.1#~/.yarn/patches/@google-genai-npm-1.0.1-e26f0f9af7.patch",
|
||||
"@hello-pangea/dnd": "^18.0.1",
|
||||
"@kangfenmao/keyv-storage": "^0.1.0",
|
||||
"@langchain/community": "^1.0.0",
|
||||
"@langchain/core": "patch:@langchain/core@npm%3A1.0.2#~/.yarn/patches/@langchain-core-npm-1.0.2-183ef83fe4.patch",
|
||||
"@langchain/openai": "patch:@langchain/openai@npm%3A1.0.0#~/.yarn/patches/@langchain-openai-npm-1.0.0-474d0ad9d4.patch",
|
||||
@@ -179,7 +183,9 @@
|
||||
"@swc/plugin-styled-components": "^8.0.4",
|
||||
"@tailwindcss/vite": "^4.1.13",
|
||||
"@tanstack/react-query": "^5.85.5",
|
||||
"@tanstack/react-router": "^1.139.3",
|
||||
"@tanstack/react-virtual": "^3.13.12",
|
||||
"@tanstack/router-plugin": "^1.139.3",
|
||||
"@testing-library/dom": "^10.4.0",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/react": "^16.3.0",
|
||||
@@ -222,6 +228,7 @@
|
||||
"@types/react-infinite-scroll-component": "^5.0.0",
|
||||
"@types/react-transition-group": "^4.4.12",
|
||||
"@types/react-window": "^1",
|
||||
"@types/stream-json": "^1",
|
||||
"@types/swagger-jsdoc": "^6",
|
||||
"@types/swagger-ui-express": "^4.1.8",
|
||||
"@types/tinycolor2": "^1",
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { anthropic } from '@ai-sdk/anthropic'
|
||||
import { google } from '@ai-sdk/google'
|
||||
import { openai } from '@ai-sdk/openai'
|
||||
import type { InferToolInput, InferToolOutput } from 'ai'
|
||||
import { type Tool } from 'ai'
|
||||
import type { InferToolInput, InferToolOutput, Tool } from 'ai'
|
||||
|
||||
import { createOpenRouterOptions, createXaiOptions, mergeProviderOptions } from '../../../options'
|
||||
import type { ProviderOptionsMap } from '../../../options/types'
|
||||
|
||||
@@ -2,7 +2,7 @@ export enum IpcChannel {
|
||||
App_GetCacheSize = 'app:get-cache-size',
|
||||
App_ClearCache = 'app:clear-cache',
|
||||
App_SetLaunchOnBoot = 'app:set-launch-on-boot',
|
||||
App_SetLanguage = 'app:set-language',
|
||||
// App_SetLanguage = 'app:set-language',
|
||||
App_SetEnableSpellCheck = 'app:set-enable-spell-check',
|
||||
App_SetSpellCheckLanguages = 'app:set-spell-check-languages',
|
||||
App_CheckForUpdate = 'app:check-for-update',
|
||||
@@ -14,7 +14,7 @@ export enum IpcChannel {
|
||||
App_SetLaunchToTray = 'app:set-launch-to-tray',
|
||||
App_SetTray = 'app:set-tray',
|
||||
App_SetTrayOnClose = 'app:set-tray-on-close',
|
||||
App_SetTheme = 'app:set-theme',
|
||||
// App_SetTheme = 'app:set-theme',
|
||||
App_SetAutoUpdate = 'app:set-auto-update',
|
||||
App_SetTestPlan = 'app:set-test-plan',
|
||||
App_SetTestChannel = 'app:set-test-channel',
|
||||
@@ -47,7 +47,7 @@ export enum IpcChannel {
|
||||
App_MacRequestProcessTrust = 'app:mac-request-process-trust',
|
||||
|
||||
App_QuoteToMain = 'app:quote-to-main',
|
||||
App_SetDisableHardwareAcceleration = 'app:set-disable-hardware-acceleration',
|
||||
// App_SetDisableHardwareAcceleration = 'app:set-disable-hardware-acceleration',
|
||||
|
||||
Notification_Send = 'notification:send',
|
||||
Notification_OnClick = 'notification:on-click',
|
||||
@@ -227,6 +227,22 @@ export enum IpcChannel {
|
||||
Backup_DeleteS3File = 'backup:deleteS3File',
|
||||
Backup_CheckS3Connection = 'backup:checkS3Connection',
|
||||
|
||||
// data migration
|
||||
DataMigrate_CheckNeeded = 'data-migrate:check-needed',
|
||||
DataMigrate_GetProgress = 'data-migrate:get-progress',
|
||||
DataMigrate_Cancel = 'data-migrate:cancel',
|
||||
DataMigrate_RequireBackup = 'data-migrate:require-backup',
|
||||
DataMigrate_BackupCompleted = 'data-migrate:backup-completed',
|
||||
DataMigrate_ShowBackupDialog = 'data-migrate:show-backup-dialog',
|
||||
DataMigrate_StartFlow = 'data-migrate:start-flow',
|
||||
DataMigrate_ProceedToBackup = 'data-migrate:proceed-to-backup',
|
||||
DataMigrate_StartMigration = 'data-migrate:start-migration',
|
||||
DataMigrate_RetryMigration = 'data-migrate:retry-migration',
|
||||
DataMigrate_RestartApp = 'data-migrate:restart-app',
|
||||
DataMigrate_CloseWindow = 'data-migrate:close-window',
|
||||
DataMigrate_SendReduxData = 'data-migrate:send-redux-data',
|
||||
DataMigrate_GetReduxData = 'data-migrate:get-redux-data',
|
||||
|
||||
// zip
|
||||
Zip_Compress = 'zip:compress',
|
||||
Zip_Decompress = 'zip:decompress',
|
||||
@@ -242,7 +258,8 @@ export enum IpcChannel {
|
||||
|
||||
// events
|
||||
BackupProgress = 'backup-progress',
|
||||
ThemeUpdated = 'theme:updated',
|
||||
DataMigrateProgress = 'data-migrate-progress',
|
||||
NativeThemeUpdated = 'native-theme:updated',
|
||||
RestoreProgress = 'restore-progress',
|
||||
UpdateError = 'update-error',
|
||||
UpdateAvailable = 'update-available',
|
||||
@@ -281,12 +298,6 @@ export enum IpcChannel {
|
||||
Selection_ToolbarVisibilityChange = 'selection:toolbar-visibility-change',
|
||||
Selection_ToolbarDetermineSize = 'selection:toolbar-determine-size',
|
||||
Selection_WriteToClipboard = 'selection:write-to-clipboard',
|
||||
Selection_SetEnabled = 'selection:set-enabled',
|
||||
Selection_SetTriggerMode = 'selection:set-trigger-mode',
|
||||
Selection_SetFilterMode = 'selection:set-filter-mode',
|
||||
Selection_SetFilterList = 'selection:set-filter-list',
|
||||
Selection_SetFollowToolbar = 'selection:set-follow-toolbar',
|
||||
Selection_SetRemeberWinSize = 'selection:set-remeber-win-size',
|
||||
Selection_ActionWindowClose = 'selection:action-window-close',
|
||||
Selection_ActionWindowMinimize = 'selection:action-window-minimize',
|
||||
Selection_ActionWindowPin = 'selection:action-window-pin',
|
||||
@@ -305,6 +316,27 @@ export enum IpcChannel {
|
||||
Memory_DeleteAllMemoriesForUser = 'memory:delete-all-memories-for-user',
|
||||
Memory_GetUsersList = 'memory:get-users-list',
|
||||
|
||||
// Data: Preference
|
||||
Preference_Get = 'preference:get',
|
||||
Preference_Set = 'preference:set',
|
||||
Preference_GetMultiple = 'preference:get-multiple',
|
||||
Preference_SetMultiple = 'preference:set-multiple',
|
||||
Preference_GetAll = 'preference:get-all',
|
||||
Preference_Subscribe = 'preference:subscribe',
|
||||
Preference_Changed = 'preference:changed',
|
||||
|
||||
// Data: Cache
|
||||
Cache_Sync = 'cache:sync',
|
||||
Cache_SyncBatch = 'cache:sync-batch',
|
||||
|
||||
// Data: API Channels
|
||||
DataApi_Request = 'data-api:request',
|
||||
DataApi_Batch = 'data-api:batch',
|
||||
DataApi_Transaction = 'data-api:transaction',
|
||||
DataApi_Subscribe = 'data-api:subscribe',
|
||||
DataApi_Unsubscribe = 'data-api:unsubscribe',
|
||||
DataApi_Stream = 'data-api:stream',
|
||||
|
||||
// TRACE
|
||||
TRACE_SAVE_DATA = 'trace:saveData',
|
||||
TRACE_GET_DATA = 'trace:getData',
|
||||
|
||||
@@ -202,11 +202,11 @@ export enum UpdateConfigUrl {
|
||||
GITCODE = 'https://raw.gitcode.com/CherryHQ/cherry-studio/raw/x-files%2Fapp-upgrade-config/app-upgrade-config.json'
|
||||
}
|
||||
|
||||
export enum UpgradeChannel {
|
||||
LATEST = 'latest', // 最新稳定版本
|
||||
RC = 'rc', // 公测版本
|
||||
BETA = 'beta' // 预览版本
|
||||
}
|
||||
// export enum UpgradeChannel {
|
||||
// LATEST = 'latest', // 最新稳定版本
|
||||
// RC = 'rc', // 公测版本
|
||||
// BETA = 'beta' // 预览版本
|
||||
// }
|
||||
|
||||
export enum UpdateMirror {
|
||||
GITHUB = 'github',
|
||||
|
||||
106
packages/shared/data/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Cherry Studio Shared Data
|
||||
|
||||
This directory contains shared type definitions and schemas for the Cherry Studio data management systems. These files provide type safety and consistency across the entire application.
|
||||
|
||||
## 📁 Directory Structure
|
||||
|
||||
```
|
||||
packages/shared/data/
|
||||
├── api/ # Data API type system
|
||||
│ ├── index.ts # Barrel exports for clean imports
|
||||
│ ├── apiSchemas.ts # API endpoint definitions and mappings
|
||||
│ ├── apiTypes.ts # Core request/response infrastructure types
|
||||
│ ├── apiModels.ts # Business entity types and DTOs
|
||||
│ ├── apiPaths.ts # API path definitions and utilities
|
||||
│ └── errorCodes.ts # Standardized error handling
|
||||
├── cache/ # Cache system type definitions
|
||||
│ ├── cacheTypes.ts # Core cache infrastructure types
|
||||
│ ├── cacheSchemas.ts # Cache key schemas and type mappings
|
||||
│ └── cacheValueTypes.ts # Cache value type definitions
|
||||
├── preference/ # Preference system type definitions
|
||||
│ ├── preferenceTypes.ts # Core preference system types
|
||||
│ └── preferenceSchemas.ts # Preference schemas and default values
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## 🏗️ System Overview
|
||||
|
||||
This directory provides type definitions for three main data management systems:
|
||||
|
||||
### API System (`api/`)
|
||||
- **Purpose**: Type-safe IPC communication between Main and Renderer processes
|
||||
- **Features**: RESTful patterns, error handling, business entity definitions
|
||||
- **Usage**: Ensures type safety for all data API operations
|
||||
|
||||
### Cache System (`cache/`)
|
||||
- **Purpose**: Type definitions for three-layer caching architecture
|
||||
- **Features**: Memory/shared/persist cache schemas, TTL support, hook integration
|
||||
- **Usage**: Type-safe caching operations across the application
|
||||
|
||||
### Preference System (`preference/`)
|
||||
- **Purpose**: User configuration and settings management
|
||||
- **Features**: 158 configuration items, default values, nested key support
|
||||
- **Usage**: Type-safe preference access and synchronization
|
||||
|
||||
## 📋 File Categories
|
||||
|
||||
**Framework Infrastructure** - These are TypeScript type definitions that:
|
||||
- ✅ Exist only at compile time
|
||||
- ✅ Provide type safety and IntelliSense support
|
||||
- ✅ Define contracts between application layers
|
||||
- ✅ Enable static analysis and error detection
|
||||
|
||||
## 📖 Usage Examples
|
||||
|
||||
### API Types
|
||||
```typescript
|
||||
// Import API types
|
||||
import type { DataRequest, DataResponse, ApiSchemas } from '@shared/data/api'
|
||||
```
|
||||
|
||||
### Cache Types
|
||||
```typescript
|
||||
// Import cache types
|
||||
import type { UseCacheKey, UseSharedCacheKey } from '@shared/data/cache'
|
||||
```
|
||||
|
||||
### Preference Types
|
||||
```typescript
|
||||
// Import preference types
|
||||
import type { PreferenceKeyType, PreferenceDefaultScopeType } from '@shared/data/preference'
|
||||
```
|
||||
|
||||
## 🔧 Development Guidelines
|
||||
|
||||
### Adding Cache Types
|
||||
1. Add cache key to `cache/cacheSchemas.ts`
|
||||
2. Define value type in `cache/cacheValueTypes.ts`
|
||||
3. Update type mappings for type safety
|
||||
|
||||
### Adding Preference Types
|
||||
1. Add preference key to `preference/preferenceSchemas.ts`
|
||||
2. Define default value and type
|
||||
3. Preference system automatically picks up new keys
|
||||
|
||||
### Adding API Types
|
||||
1. Define business entities in `api/apiModels.ts`
|
||||
2. Add endpoint definitions to `api/apiSchemas.ts`
|
||||
3. Export types from `api/index.ts`
|
||||
|
||||
### Best Practices
|
||||
- Use `import type` for type-only imports
|
||||
- Follow existing naming conventions
|
||||
- Document complex types with JSDoc
|
||||
- Maintain type safety across all imports
|
||||
|
||||
## 🔗 Related Implementation
|
||||
|
||||
### Main Process Services
|
||||
- `src/main/data/CacheService.ts` - Main process cache management
|
||||
- `src/main/data/PreferenceService.ts` - Preference management service
|
||||
- `src/main/data/DataApiService.ts` - Data API coordination service
|
||||
|
||||
### Renderer Process Services
|
||||
- `src/renderer/src/data/CacheService.ts` - Renderer cache service
|
||||
- `src/renderer/src/data/PreferenceService.ts` - Renderer preference service
|
||||
- `src/renderer/src/data/DataApiService.ts` - Renderer API client
|
||||
107
packages/shared/data/api/apiModels.ts
Normal file
@@ -0,0 +1,107 @@
|
||||
/**
|
||||
* Generic test model definitions
|
||||
* Contains flexible types for comprehensive API testing
|
||||
*/
|
||||
|
||||
/**
|
||||
* Generic test item entity - flexible structure for testing various scenarios
|
||||
*/
|
||||
export interface TestItem {
|
||||
/** Unique identifier */
|
||||
id: string
|
||||
/** Item title */
|
||||
title: string
|
||||
/** Optional description */
|
||||
description?: string
|
||||
/** Type category */
|
||||
type: string
|
||||
/** Current status */
|
||||
status: string
|
||||
/** Priority level */
|
||||
priority: string
|
||||
/** Associated tags */
|
||||
tags: string[]
|
||||
/** Creation timestamp */
|
||||
createdAt: string
|
||||
/** Last update timestamp */
|
||||
updatedAt: string
|
||||
/** Additional metadata */
|
||||
metadata: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* Data Transfer Objects (DTOs) for test operations
|
||||
*/
|
||||
|
||||
/**
|
||||
* DTO for creating a new test item
|
||||
*/
|
||||
export interface CreateTestItemDto {
|
||||
/** Item title */
|
||||
title: string
|
||||
/** Optional description */
|
||||
description?: string
|
||||
/** Type category */
|
||||
type?: string
|
||||
/** Current status */
|
||||
status?: string
|
||||
/** Priority level */
|
||||
priority?: string
|
||||
/** Associated tags */
|
||||
tags?: string[]
|
||||
/** Additional metadata */
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* DTO for updating an existing test item
|
||||
*/
|
||||
export interface UpdateTestItemDto {
|
||||
/** Updated title */
|
||||
title?: string
|
||||
/** Updated description */
|
||||
description?: string
|
||||
/** Updated type */
|
||||
type?: string
|
||||
/** Updated status */
|
||||
status?: string
|
||||
/** Updated priority */
|
||||
priority?: string
|
||||
/** Updated tags */
|
||||
tags?: string[]
|
||||
/** Updated metadata */
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* Bulk operation types for batch processing
|
||||
*/
|
||||
|
||||
/**
|
||||
* Request for bulk operations on multiple items
|
||||
*/
|
||||
export interface BulkOperationRequest<TData = any> {
|
||||
/** Type of bulk operation to perform */
|
||||
operation: 'create' | 'update' | 'delete' | 'archive' | 'restore'
|
||||
/** Array of data items to process */
|
||||
data: TData[]
|
||||
}
|
||||
|
||||
/**
|
||||
* Response from a bulk operation
|
||||
*/
|
||||
export interface BulkOperationResponse {
|
||||
/** Number of successfully processed items */
|
||||
successful: number
|
||||
/** Number of items that failed processing */
|
||||
failed: number
|
||||
/** Array of errors that occurred during processing */
|
||||
errors: Array<{
|
||||
/** Index of the item that failed */
|
||||
index: number
|
||||
/** Error message */
|
||||
error: string
|
||||
/** Optional additional error data */
|
||||
data?: any
|
||||
}>
|
||||
}
|
||||
60
packages/shared/data/api/apiPaths.ts
Normal file
@@ -0,0 +1,60 @@
|
||||
import type { ApiSchemas } from './apiSchemas'
|
||||
|
||||
/**
|
||||
* Template literal type utilities for converting parameterized paths to concrete paths
|
||||
* This enables type-safe API calls with actual paths like '/test/items/123' instead of '/test/items/:id'
|
||||
*/
|
||||
|
||||
/**
|
||||
* Convert parameterized path templates to concrete path types
|
||||
* @example '/test/items/:id' -> '/test/items/${string}'
|
||||
* @example '/topics/:id/messages' -> '/topics/${string}/messages'
|
||||
*/
|
||||
export type ResolvedPath<T extends string> = T extends `${infer Prefix}/:${string}/${infer Suffix}`
|
||||
? `${Prefix}/${string}/${ResolvedPath<Suffix>}`
|
||||
: T extends `${infer Prefix}/:${string}`
|
||||
? `${Prefix}/${string}`
|
||||
: T
|
||||
|
||||
/**
|
||||
* Generate all possible concrete paths from ApiSchemas
|
||||
* This creates a union type of all valid API paths
|
||||
*/
|
||||
export type ConcreteApiPaths = {
|
||||
[K in keyof ApiSchemas]: ResolvedPath<K & string>
|
||||
}[keyof ApiSchemas]
|
||||
|
||||
/**
|
||||
* Reverse lookup: from concrete path back to original template path
|
||||
* Used to determine which ApiSchema entry matches a concrete path
|
||||
*/
|
||||
export type MatchApiPath<Path extends string> = {
|
||||
[K in keyof ApiSchemas]: Path extends ResolvedPath<K & string> ? K : never
|
||||
}[keyof ApiSchemas]
|
||||
|
||||
/**
|
||||
* Extract query parameters type for a given concrete path
|
||||
*/
|
||||
export type QueryParamsForPath<Path extends string> = MatchApiPath<Path> extends keyof ApiSchemas
|
||||
? ApiSchemas[MatchApiPath<Path>] extends { GET: { query?: infer Q } }
|
||||
? Q
|
||||
: Record<string, any>
|
||||
: Record<string, any>
|
||||
|
||||
/**
|
||||
* Extract request body type for a given concrete path and HTTP method
|
||||
*/
|
||||
export type BodyForPath<Path extends string, Method extends string> = MatchApiPath<Path> extends keyof ApiSchemas
|
||||
? ApiSchemas[MatchApiPath<Path>] extends { [M in Method]: { body: infer B } }
|
||||
? B
|
||||
: any
|
||||
: any
|
||||
|
||||
/**
|
||||
* Extract response type for a given concrete path and HTTP method
|
||||
*/
|
||||
export type ResponseForPath<Path extends string, Method extends string> = MatchApiPath<Path> extends keyof ApiSchemas
|
||||
? ApiSchemas[MatchApiPath<Path>] extends { [M in Method]: { response: infer R } }
|
||||
? R
|
||||
: any
|
||||
: any
|
||||
487
packages/shared/data/api/apiSchemas.ts
Normal file
@@ -0,0 +1,487 @@
|
||||
// NOTE: Types are defined inline in the schema for simplicity
|
||||
// If needed, specific types can be imported from './apiModels'
|
||||
import type { BodyForPath, ConcreteApiPaths, QueryParamsForPath, ResponseForPath } from './apiPaths'
|
||||
import type { HttpMethod, PaginatedResponse, PaginationParams } from './apiTypes'
|
||||
|
||||
// Re-export for external use
|
||||
export type { ConcreteApiPaths } from './apiPaths'
|
||||
|
||||
/**
|
||||
* Complete API Schema definitions for Test API
|
||||
*
|
||||
* Each path defines the supported HTTP methods with their:
|
||||
* - Request parameters (params, query, body)
|
||||
* - Response types
|
||||
* - Type safety guarantees
|
||||
*
|
||||
* This schema serves as the contract between renderer and main processes,
|
||||
* enabling full TypeScript type checking across IPC boundaries.
|
||||
*/
|
||||
export interface ApiSchemas {
|
||||
/**
|
||||
* Test items collection endpoint
|
||||
* @example GET /test/items?page=1&limit=10&search=hello
|
||||
* @example POST /test/items { "title": "New Test Item" }
|
||||
*/
|
||||
'/test/items': {
|
||||
/** List all test items with optional filtering and pagination */
|
||||
GET: {
|
||||
query?: PaginationParams & {
|
||||
/** Search items by title or description */
|
||||
search?: string
|
||||
/** Filter by item type */
|
||||
type?: string
|
||||
/** Filter by status */
|
||||
status?: string
|
||||
}
|
||||
response: PaginatedResponse<any>
|
||||
}
|
||||
/** Create a new test item */
|
||||
POST: {
|
||||
body: {
|
||||
title: string
|
||||
description?: string
|
||||
type?: string
|
||||
status?: string
|
||||
priority?: string
|
||||
tags?: string[]
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
response: any
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Individual test item endpoint
|
||||
* @example GET /test/items/123
|
||||
* @example PUT /test/items/123 { "title": "Updated Title" }
|
||||
* @example DELETE /test/items/123
|
||||
*/
|
||||
'/test/items/:id': {
|
||||
/** Get a specific test item by ID */
|
||||
GET: {
|
||||
params: { id: string }
|
||||
response: any
|
||||
}
|
||||
/** Update a specific test item */
|
||||
PUT: {
|
||||
params: { id: string }
|
||||
body: {
|
||||
title?: string
|
||||
description?: string
|
||||
type?: string
|
||||
status?: string
|
||||
priority?: string
|
||||
tags?: string[]
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
response: any
|
||||
}
|
||||
/** Delete a specific test item */
|
||||
DELETE: {
|
||||
params: { id: string }
|
||||
response: void
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test search endpoint
|
||||
* @example GET /test/search?query=hello&page=1&limit=20
|
||||
*/
|
||||
'/test/search': {
|
||||
/** Search test items */
|
||||
GET: {
|
||||
query: {
|
||||
/** Search query string */
|
||||
query: string
|
||||
/** Page number for pagination */
|
||||
page?: number
|
||||
/** Number of results per page */
|
||||
limit?: number
|
||||
/** Additional filters */
|
||||
type?: string
|
||||
status?: string
|
||||
}
|
||||
response: PaginatedResponse<any>
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test statistics endpoint
|
||||
* @example GET /test/stats
|
||||
*/
|
||||
'/test/stats': {
|
||||
/** Get comprehensive test statistics */
|
||||
GET: {
|
||||
response: {
|
||||
/** Total number of items */
|
||||
total: number
|
||||
/** Item count grouped by type */
|
||||
byType: Record<string, number>
|
||||
/** Item count grouped by status */
|
||||
byStatus: Record<string, number>
|
||||
/** Item count grouped by priority */
|
||||
byPriority: Record<string, number>
|
||||
/** Recent activity timeline */
|
||||
recentActivity: Array<{
|
||||
/** Date of activity */
|
||||
date: string
|
||||
/** Number of items on that date */
|
||||
count: number
|
||||
}>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test bulk operations endpoint
|
||||
* @example POST /test/bulk { "operation": "create", "data": [...] }
|
||||
*/
|
||||
'/test/bulk': {
|
||||
/** Perform bulk operations on test items */
|
||||
POST: {
|
||||
body: {
|
||||
/** Operation type */
|
||||
operation: 'create' | 'update' | 'delete'
|
||||
/** Array of data items to process */
|
||||
data: any[]
|
||||
}
|
||||
response: {
|
||||
successful: number
|
||||
failed: number
|
||||
errors: string[]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test error simulation endpoint
|
||||
* @example POST /test/error { "errorType": "timeout" }
|
||||
*/
|
||||
'/test/error': {
|
||||
/** Simulate various error scenarios for testing */
|
||||
POST: {
|
||||
body: {
|
||||
/** Type of error to simulate */
|
||||
errorType:
|
||||
| 'timeout'
|
||||
| 'network'
|
||||
| 'server'
|
||||
| 'notfound'
|
||||
| 'validation'
|
||||
| 'unauthorized'
|
||||
| 'ratelimit'
|
||||
| 'generic'
|
||||
}
|
||||
response: never
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test slow response endpoint
|
||||
* @example POST /test/slow { "delay": 2000 }
|
||||
*/
|
||||
'/test/slow': {
|
||||
/** Test slow response for performance testing */
|
||||
POST: {
|
||||
body: {
|
||||
/** Delay in milliseconds */
|
||||
delay: number
|
||||
}
|
||||
response: {
|
||||
message: string
|
||||
delay: number
|
||||
timestamp: string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test data reset endpoint
|
||||
* @example POST /test/reset
|
||||
*/
|
||||
'/test/reset': {
|
||||
/** Reset all test data to initial state */
|
||||
POST: {
|
||||
response: {
|
||||
message: string
|
||||
timestamp: string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test config endpoint
|
||||
* @example GET /test/config
|
||||
* @example PUT /test/config { "setting": "value" }
|
||||
*/
|
||||
'/test/config': {
|
||||
/** Get test configuration */
|
||||
GET: {
|
||||
response: Record<string, any>
|
||||
}
|
||||
/** Update test configuration */
|
||||
PUT: {
|
||||
body: Record<string, any>
|
||||
response: Record<string, any>
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test status endpoint
|
||||
* @example GET /test/status
|
||||
*/
|
||||
'/test/status': {
|
||||
/** Get system test status */
|
||||
GET: {
|
||||
response: {
|
||||
status: string
|
||||
timestamp: string
|
||||
version: string
|
||||
uptime: number
|
||||
environment: string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test performance endpoint
|
||||
* @example GET /test/performance
|
||||
*/
|
||||
'/test/performance': {
|
||||
/** Get performance metrics */
|
||||
GET: {
|
||||
response: {
|
||||
requestsPerSecond: number
|
||||
averageLatency: number
|
||||
memoryUsage: number
|
||||
cpuUsage: number
|
||||
uptime: number
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Batch execution of multiple requests
|
||||
* @example POST /batch { "requests": [...], "parallel": true }
|
||||
*/
|
||||
'/batch': {
|
||||
/** Execute multiple API requests in a single call */
|
||||
POST: {
|
||||
body: {
|
||||
/** Array of requests to execute */
|
||||
requests: Array<{
|
||||
/** HTTP method for the request */
|
||||
method: HttpMethod
|
||||
/** API path for the request */
|
||||
path: string
|
||||
/** URL parameters */
|
||||
params?: any
|
||||
/** Request body */
|
||||
body?: any
|
||||
}>
|
||||
/** Execute requests in parallel vs sequential */
|
||||
parallel?: boolean
|
||||
}
|
||||
response: {
|
||||
/** Results array matching input order */
|
||||
results: Array<{
|
||||
/** HTTP status code */
|
||||
status: number
|
||||
/** Response data if successful */
|
||||
data?: any
|
||||
/** Error information if failed */
|
||||
error?: any
|
||||
}>
|
||||
/** Batch execution metadata */
|
||||
metadata: {
|
||||
/** Total execution duration in ms */
|
||||
duration: number
|
||||
/** Number of successful requests */
|
||||
successCount: number
|
||||
/** Number of failed requests */
|
||||
errorCount: number
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Atomic transaction of multiple operations
|
||||
* @example POST /transaction { "operations": [...], "options": { "rollbackOnError": true } }
|
||||
*/
|
||||
'/transaction': {
|
||||
/** Execute multiple operations in a database transaction */
|
||||
POST: {
|
||||
body: {
|
||||
/** Array of operations to execute atomically */
|
||||
operations: Array<{
|
||||
/** HTTP method for the operation */
|
||||
method: HttpMethod
|
||||
/** API path for the operation */
|
||||
path: string
|
||||
/** URL parameters */
|
||||
params?: any
|
||||
/** Request body */
|
||||
body?: any
|
||||
}>
|
||||
/** Transaction configuration options */
|
||||
options?: {
|
||||
/** Database isolation level */
|
||||
isolation?: 'read-uncommitted' | 'read-committed' | 'repeatable-read' | 'serializable'
|
||||
/** Rollback all operations on any error */
|
||||
rollbackOnError?: boolean
|
||||
/** Transaction timeout in milliseconds */
|
||||
timeout?: number
|
||||
}
|
||||
}
|
||||
response: Array<{
|
||||
/** HTTP status code */
|
||||
status: number
|
||||
/** Response data if successful */
|
||||
data?: any
|
||||
/** Error information if failed */
|
||||
error?: any
|
||||
}>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Simplified type extraction helpers
|
||||
*/
|
||||
export type ApiPaths = keyof ApiSchemas
|
||||
export type ApiMethods<TPath extends ApiPaths> = keyof ApiSchemas[TPath] & HttpMethod
|
||||
export type ApiResponse<TPath extends ApiPaths, TMethod extends string> = TPath extends keyof ApiSchemas
|
||||
? TMethod extends keyof ApiSchemas[TPath]
|
||||
? ApiSchemas[TPath][TMethod] extends { response: infer R }
|
||||
? R
|
||||
: never
|
||||
: never
|
||||
: never
|
||||
|
||||
export type ApiParams<TPath extends ApiPaths, TMethod extends string> = TPath extends keyof ApiSchemas
|
||||
? TMethod extends keyof ApiSchemas[TPath]
|
||||
? ApiSchemas[TPath][TMethod] extends { params: infer P }
|
||||
? P
|
||||
: never
|
||||
: never
|
||||
: never
|
||||
|
||||
export type ApiQuery<TPath extends ApiPaths, TMethod extends string> = TPath extends keyof ApiSchemas
|
||||
? TMethod extends keyof ApiSchemas[TPath]
|
||||
? ApiSchemas[TPath][TMethod] extends { query: infer Q }
|
||||
? Q
|
||||
: never
|
||||
: never
|
||||
: never
|
||||
|
||||
export type ApiBody<TPath extends ApiPaths, TMethod extends string> = TPath extends keyof ApiSchemas
|
||||
? TMethod extends keyof ApiSchemas[TPath]
|
||||
? ApiSchemas[TPath][TMethod] extends { body: infer B }
|
||||
? B
|
||||
: never
|
||||
: never
|
||||
: never
|
||||
|
||||
/**
|
||||
* Type-safe API client interface using concrete paths
|
||||
* Accepts actual paths like '/test/items/123' instead of '/test/items/:id'
|
||||
* Automatically infers query, body, and response types from ApiSchemas
|
||||
*/
|
||||
export interface ApiClient {
|
||||
get<TPath extends ConcreteApiPaths>(
|
||||
path: TPath,
|
||||
options?: {
|
||||
query?: QueryParamsForPath<TPath>
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
): Promise<ResponseForPath<TPath, 'GET'>>
|
||||
|
||||
post<TPath extends ConcreteApiPaths>(
|
||||
path: TPath,
|
||||
options: {
|
||||
body?: BodyForPath<TPath, 'POST'>
|
||||
query?: Record<string, any>
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
): Promise<ResponseForPath<TPath, 'POST'>>
|
||||
|
||||
put<TPath extends ConcreteApiPaths>(
|
||||
path: TPath,
|
||||
options: {
|
||||
body: BodyForPath<TPath, 'PUT'>
|
||||
query?: Record<string, any>
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
): Promise<ResponseForPath<TPath, 'PUT'>>
|
||||
|
||||
delete<TPath extends ConcreteApiPaths>(
|
||||
path: TPath,
|
||||
options?: {
|
||||
query?: Record<string, any>
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
): Promise<ResponseForPath<TPath, 'DELETE'>>
|
||||
|
||||
patch<TPath extends ConcreteApiPaths>(
|
||||
path: TPath,
|
||||
options: {
|
||||
body?: BodyForPath<TPath, 'PATCH'>
|
||||
query?: Record<string, any>
|
||||
headers?: Record<string, string>
|
||||
}
|
||||
): Promise<ResponseForPath<TPath, 'PATCH'>>
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper types to determine if parameters are required based on schema
|
||||
*/
|
||||
type HasRequiredQuery<Path extends ApiPaths, Method extends ApiMethods<Path>> = Path extends keyof ApiSchemas
|
||||
? Method extends keyof ApiSchemas[Path]
|
||||
? ApiSchemas[Path][Method] extends { query: any }
|
||||
? true
|
||||
: false
|
||||
: false
|
||||
: false
|
||||
|
||||
type HasRequiredBody<Path extends ApiPaths, Method extends ApiMethods<Path>> = Path extends keyof ApiSchemas
|
||||
? Method extends keyof ApiSchemas[Path]
|
||||
? ApiSchemas[Path][Method] extends { body: any }
|
||||
? true
|
||||
: false
|
||||
: false
|
||||
: false
|
||||
|
||||
type HasRequiredParams<Path extends ApiPaths, Method extends ApiMethods<Path>> = Path extends keyof ApiSchemas
|
||||
? Method extends keyof ApiSchemas[Path]
|
||||
? ApiSchemas[Path][Method] extends { params: any }
|
||||
? true
|
||||
: false
|
||||
: false
|
||||
: false
|
||||
|
||||
/**
|
||||
* Handler function for a specific API endpoint
|
||||
* Provides type-safe parameter extraction based on ApiSchemas
|
||||
* Parameters are required or optional based on the schema definition
|
||||
*/
|
||||
export type ApiHandler<Path extends ApiPaths, Method extends ApiMethods<Path>> = (
|
||||
params: (HasRequiredParams<Path, Method> extends true
|
||||
? { params: ApiParams<Path, Method> }
|
||||
: { params?: ApiParams<Path, Method> }) &
|
||||
(HasRequiredQuery<Path, Method> extends true
|
||||
? { query: ApiQuery<Path, Method> }
|
||||
: { query?: ApiQuery<Path, Method> }) &
|
||||
(HasRequiredBody<Path, Method> extends true ? { body: ApiBody<Path, Method> } : { body?: ApiBody<Path, Method> })
|
||||
) => Promise<ApiResponse<Path, Method>>
|
||||
|
||||
/**
|
||||
* Complete API implementation that must match ApiSchemas structure
|
||||
* TypeScript will error if any endpoint is missing - this ensures exhaustive coverage
|
||||
*/
|
||||
export type ApiImplementation = {
|
||||
[Path in ApiPaths]: {
|
||||
[Method in ApiMethods<Path>]: ApiHandler<Path, Method>
|
||||
}
|
||||
}
|
||||
289
packages/shared/data/api/apiTypes.ts
Normal file
@@ -0,0 +1,289 @@
|
||||
/**
|
||||
* Core types for the Data API system
|
||||
* Provides type definitions for request/response handling across renderer-main IPC communication
|
||||
*/
|
||||
|
||||
/**
|
||||
* Standard HTTP methods supported by the Data API
|
||||
*/
|
||||
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
|
||||
|
||||
/**
|
||||
* Request object structure for Data API calls
|
||||
*/
|
||||
export interface DataRequest<T = any> {
|
||||
/** Unique request identifier for tracking and correlation */
|
||||
id: string
|
||||
/** HTTP method for the request */
|
||||
method: HttpMethod
|
||||
/** API path (e.g., '/topics', '/topics/123') */
|
||||
path: string
|
||||
/** URL parameters for the request */
|
||||
params?: Record<string, any>
|
||||
/** Request body data */
|
||||
body?: T
|
||||
/** Request headers */
|
||||
headers?: Record<string, string>
|
||||
/** Additional metadata for request processing */
|
||||
metadata?: {
|
||||
/** Request timestamp */
|
||||
timestamp: number
|
||||
/** OpenTelemetry span context for tracing */
|
||||
spanContext?: any
|
||||
/** Cache options for this specific request */
|
||||
cache?: CacheOptions
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Response object structure for Data API calls
|
||||
*/
|
||||
export interface DataResponse<T = any> {
|
||||
/** Request ID that this response corresponds to */
|
||||
id: string
|
||||
/** HTTP status code */
|
||||
status: number
|
||||
/** Response data if successful */
|
||||
data?: T
|
||||
/** Error information if request failed */
|
||||
error?: DataApiError
|
||||
/** Response metadata */
|
||||
metadata?: {
|
||||
/** Request processing duration in milliseconds */
|
||||
duration: number
|
||||
/** Whether response was served from cache */
|
||||
cached?: boolean
|
||||
/** Cache TTL if applicable */
|
||||
cacheTtl?: number
|
||||
/** Response timestamp */
|
||||
timestamp: number
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Standardized error structure for Data API
|
||||
*/
|
||||
export interface DataApiError {
|
||||
/** Error code for programmatic handling */
|
||||
code: string
|
||||
/** Human-readable error message */
|
||||
message: string
|
||||
/** HTTP status code */
|
||||
status: number
|
||||
/** Additional error details */
|
||||
details?: any
|
||||
/** Error stack trace (development mode only) */
|
||||
stack?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard error codes for Data API
|
||||
*/
|
||||
export enum ErrorCode {
|
||||
// Client errors (4xx)
|
||||
BAD_REQUEST = 'BAD_REQUEST',
|
||||
UNAUTHORIZED = 'UNAUTHORIZED',
|
||||
FORBIDDEN = 'FORBIDDEN',
|
||||
NOT_FOUND = 'NOT_FOUND',
|
||||
METHOD_NOT_ALLOWED = 'METHOD_NOT_ALLOWED',
|
||||
VALIDATION_ERROR = 'VALIDATION_ERROR',
|
||||
RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED',
|
||||
|
||||
// Server errors (5xx)
|
||||
INTERNAL_SERVER_ERROR = 'INTERNAL_SERVER_ERROR',
|
||||
DATABASE_ERROR = 'DATABASE_ERROR',
|
||||
SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE',
|
||||
|
||||
// Custom application errors
|
||||
MIGRATION_ERROR = 'MIGRATION_ERROR',
|
||||
PERMISSION_DENIED = 'PERMISSION_DENIED',
|
||||
RESOURCE_LOCKED = 'RESOURCE_LOCKED',
|
||||
CONCURRENT_MODIFICATION = 'CONCURRENT_MODIFICATION'
|
||||
}
|
||||
|
||||
/**
|
||||
* Cache configuration options
|
||||
*/
|
||||
export interface CacheOptions {
|
||||
/** Cache TTL in seconds */
|
||||
ttl?: number
|
||||
/** Return stale data while revalidating in background */
|
||||
staleWhileRevalidate?: boolean
|
||||
/** Custom cache key override */
|
||||
cacheKey?: string
|
||||
/** Operations that should invalidate this cache entry */
|
||||
invalidateOn?: string[]
|
||||
/** Whether to bypass cache entirely */
|
||||
noCache?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Transaction request wrapper for atomic operations
|
||||
*/
|
||||
export interface TransactionRequest {
|
||||
/** List of operations to execute in transaction */
|
||||
operations: DataRequest[]
|
||||
/** Transaction options */
|
||||
options?: {
|
||||
/** Database isolation level */
|
||||
isolation?: 'read-uncommitted' | 'read-committed' | 'repeatable-read' | 'serializable'
|
||||
/** Whether to rollback entire transaction on any error */
|
||||
rollbackOnError?: boolean
|
||||
/** Transaction timeout in milliseconds */
|
||||
timeout?: number
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Batch request for multiple operations
|
||||
*/
|
||||
export interface BatchRequest {
|
||||
/** List of requests to execute */
|
||||
requests: DataRequest[]
|
||||
/** Whether to execute requests in parallel */
|
||||
parallel?: boolean
|
||||
/** Stop on first error */
|
||||
stopOnError?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* Batch response containing results for all requests
|
||||
*/
|
||||
export interface BatchResponse {
|
||||
/** Individual response for each request */
|
||||
results: DataResponse[]
|
||||
/** Overall batch execution metadata */
|
||||
metadata: {
|
||||
/** Total execution time */
|
||||
duration: number
|
||||
/** Number of successful operations */
|
||||
successCount: number
|
||||
/** Number of failed operations */
|
||||
errorCount: number
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Pagination parameters for list operations
|
||||
*/
|
||||
export interface PaginationParams {
|
||||
/** Page number (1-based) */
|
||||
page?: number
|
||||
/** Items per page */
|
||||
limit?: number
|
||||
/** Cursor for cursor-based pagination */
|
||||
cursor?: string
|
||||
/** Sort field and direction */
|
||||
sort?: {
|
||||
field: string
|
||||
order: 'asc' | 'desc'
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Paginated response wrapper
|
||||
*/
|
||||
export interface PaginatedResponse<T> {
|
||||
/** Items for current page */
|
||||
items: T[]
|
||||
/** Total number of items */
|
||||
total: number
|
||||
/** Current page number */
|
||||
page: number
|
||||
/** Total number of pages */
|
||||
pageCount: number
|
||||
/** Whether there are more pages */
|
||||
hasNext: boolean
|
||||
/** Whether there are previous pages */
|
||||
hasPrev: boolean
|
||||
/** Next cursor for cursor-based pagination */
|
||||
nextCursor?: string
|
||||
/** Previous cursor for cursor-based pagination */
|
||||
prevCursor?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Subscription options for real-time data updates
|
||||
*/
|
||||
export interface SubscriptionOptions {
|
||||
/** Path pattern to subscribe to */
|
||||
path: string
|
||||
/** Filters to apply to subscription */
|
||||
filters?: Record<string, any>
|
||||
/** Whether to receive initial data */
|
||||
includeInitial?: boolean
|
||||
/** Custom subscription metadata */
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* Subscription callback function
|
||||
*/
|
||||
export type SubscriptionCallback<T = any> = (data: T, event: SubscriptionEvent) => void
|
||||
|
||||
/**
|
||||
* Subscription event types
|
||||
*/
|
||||
export enum SubscriptionEvent {
|
||||
CREATED = 'created',
|
||||
UPDATED = 'updated',
|
||||
DELETED = 'deleted',
|
||||
INITIAL = 'initial',
|
||||
ERROR = 'error'
|
||||
}
|
||||
|
||||
/**
|
||||
* Middleware interface
|
||||
*/
|
||||
export interface Middleware {
|
||||
/** Middleware name */
|
||||
name: string
|
||||
/** Execution priority (lower = earlier) */
|
||||
priority?: number
|
||||
/** Middleware execution function */
|
||||
execute(req: DataRequest, res: DataResponse, next: () => Promise<void>): Promise<void>
|
||||
}
|
||||
|
||||
/**
|
||||
* Request context passed through middleware chain
|
||||
*/
|
||||
export interface RequestContext {
|
||||
/** Original request */
|
||||
request: DataRequest
|
||||
/** Response being built */
|
||||
response: DataResponse
|
||||
/** Path that matched this request */
|
||||
path?: string
|
||||
/** HTTP method */
|
||||
method?: HttpMethod
|
||||
/** Authenticated user (if any) */
|
||||
user?: any
|
||||
/** Additional context data */
|
||||
data: Map<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* Base options for service operations
|
||||
*/
|
||||
export interface ServiceOptions {
|
||||
/** Database transaction to use */
|
||||
transaction?: any
|
||||
/** User context for authorization */
|
||||
user?: any
|
||||
/** Additional service-specific options */
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard service response wrapper
|
||||
*/
|
||||
export interface ServiceResult<T = any> {
|
||||
/** Whether operation was successful */
|
||||
success: boolean
|
||||
/** Result data if successful */
|
||||
data?: T
|
||||
/** Error information if failed */
|
||||
error?: DataApiError
|
||||
/** Additional metadata */
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
194
packages/shared/data/api/errorCodes.ts
Normal file
@@ -0,0 +1,194 @@
|
||||
/**
|
||||
* Centralized error code definitions for the Data API system
|
||||
* Provides consistent error handling across renderer and main processes
|
||||
*/
|
||||
|
||||
import type { DataApiError } from './apiTypes'
|
||||
import { ErrorCode } from './apiTypes'
|
||||
|
||||
// Re-export ErrorCode for convenience
|
||||
export { ErrorCode } from './apiTypes'
|
||||
|
||||
/**
|
||||
* Error code to HTTP status mapping
|
||||
*/
|
||||
export const ERROR_STATUS_MAP: Record<ErrorCode, number> = {
|
||||
// Client errors (4xx)
|
||||
[ErrorCode.BAD_REQUEST]: 400,
|
||||
[ErrorCode.UNAUTHORIZED]: 401,
|
||||
[ErrorCode.FORBIDDEN]: 403,
|
||||
[ErrorCode.NOT_FOUND]: 404,
|
||||
[ErrorCode.METHOD_NOT_ALLOWED]: 405,
|
||||
[ErrorCode.VALIDATION_ERROR]: 422,
|
||||
[ErrorCode.RATE_LIMIT_EXCEEDED]: 429,
|
||||
|
||||
// Server errors (5xx)
|
||||
[ErrorCode.INTERNAL_SERVER_ERROR]: 500,
|
||||
[ErrorCode.DATABASE_ERROR]: 500,
|
||||
[ErrorCode.SERVICE_UNAVAILABLE]: 503,
|
||||
|
||||
// Custom application errors (5xx)
|
||||
[ErrorCode.MIGRATION_ERROR]: 500,
|
||||
[ErrorCode.PERMISSION_DENIED]: 403,
|
||||
[ErrorCode.RESOURCE_LOCKED]: 423,
|
||||
[ErrorCode.CONCURRENT_MODIFICATION]: 409
|
||||
}
|
||||
|
||||
/**
|
||||
* Default error messages for each error code
|
||||
*/
|
||||
export const ERROR_MESSAGES: Record<ErrorCode, string> = {
|
||||
[ErrorCode.BAD_REQUEST]: 'Bad request: Invalid request format or parameters',
|
||||
[ErrorCode.UNAUTHORIZED]: 'Unauthorized: Authentication required',
|
||||
[ErrorCode.FORBIDDEN]: 'Forbidden: Insufficient permissions',
|
||||
[ErrorCode.NOT_FOUND]: 'Not found: Requested resource does not exist',
|
||||
[ErrorCode.METHOD_NOT_ALLOWED]: 'Method not allowed: HTTP method not supported for this endpoint',
|
||||
[ErrorCode.VALIDATION_ERROR]: 'Validation error: Request data does not meet requirements',
|
||||
[ErrorCode.RATE_LIMIT_EXCEEDED]: 'Rate limit exceeded: Too many requests',
|
||||
|
||||
[ErrorCode.INTERNAL_SERVER_ERROR]: 'Internal server error: An unexpected error occurred',
|
||||
[ErrorCode.DATABASE_ERROR]: 'Database error: Failed to access or modify data',
|
||||
[ErrorCode.SERVICE_UNAVAILABLE]: 'Service unavailable: The service is temporarily unavailable',
|
||||
|
||||
[ErrorCode.MIGRATION_ERROR]: 'Migration error: Failed to migrate data',
|
||||
[ErrorCode.PERMISSION_DENIED]: 'Permission denied: Operation not allowed for current user',
|
||||
[ErrorCode.RESOURCE_LOCKED]: 'Resource locked: Resource is currently locked by another operation',
|
||||
[ErrorCode.CONCURRENT_MODIFICATION]: 'Concurrent modification: Resource was modified by another user'
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility class for creating standardized Data API errors
|
||||
*/
|
||||
export class DataApiErrorFactory {
|
||||
/**
|
||||
* Create a DataApiError with standard properties
|
||||
*/
|
||||
static create(code: ErrorCode, customMessage?: string, details?: any, stack?: string): DataApiError {
|
||||
return {
|
||||
code,
|
||||
message: customMessage || ERROR_MESSAGES[code],
|
||||
status: ERROR_STATUS_MAP[code],
|
||||
details,
|
||||
stack: stack || undefined
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a validation error with field-specific details
|
||||
*/
|
||||
static validation(fieldErrors: Record<string, string[]>, message?: string): DataApiError {
|
||||
return this.create(ErrorCode.VALIDATION_ERROR, message || 'Request validation failed', { fieldErrors })
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a not found error for specific resource
|
||||
*/
|
||||
static notFound(resource: string, id?: string): DataApiError {
|
||||
const message = id ? `${resource} with id '${id}' not found` : `${resource} not found`
|
||||
|
||||
return this.create(ErrorCode.NOT_FOUND, message, { resource, id })
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a database error with query details
|
||||
*/
|
||||
static database(originalError: Error, operation?: string): DataApiError {
|
||||
return this.create(
|
||||
ErrorCode.DATABASE_ERROR,
|
||||
`Database operation failed${operation ? `: ${operation}` : ''}`,
|
||||
{
|
||||
originalError: originalError.message,
|
||||
operation
|
||||
},
|
||||
originalError.stack
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a permission denied error
|
||||
*/
|
||||
static permissionDenied(action: string, resource?: string): DataApiError {
|
||||
const message = resource ? `Permission denied: Cannot ${action} ${resource}` : `Permission denied: Cannot ${action}`
|
||||
|
||||
return this.create(ErrorCode.PERMISSION_DENIED, message, { action, resource })
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an internal server error from an unexpected error
|
||||
*/
|
||||
static internal(originalError: Error, context?: string): DataApiError {
|
||||
const message = context
|
||||
? `Internal error in ${context}: ${originalError.message}`
|
||||
: `Internal error: ${originalError.message}`
|
||||
|
||||
return this.create(
|
||||
ErrorCode.INTERNAL_SERVER_ERROR,
|
||||
message,
|
||||
{ originalError: originalError.message, context },
|
||||
originalError.stack
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a rate limit exceeded error
|
||||
*/
|
||||
static rateLimit(limit: number, windowMs: number): DataApiError {
|
||||
return this.create(ErrorCode.RATE_LIMIT_EXCEEDED, `Rate limit exceeded: ${limit} requests per ${windowMs}ms`, {
|
||||
limit,
|
||||
windowMs
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a resource locked error
|
||||
*/
|
||||
static resourceLocked(resource: string, id: string, lockedBy?: string): DataApiError {
|
||||
const message = lockedBy
|
||||
? `${resource} '${id}' is locked by ${lockedBy}`
|
||||
: `${resource} '${id}' is currently locked`
|
||||
|
||||
return this.create(ErrorCode.RESOURCE_LOCKED, message, { resource, id, lockedBy })
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a concurrent modification error
|
||||
*/
|
||||
static concurrentModification(resource: string, id: string): DataApiError {
|
||||
return this.create(ErrorCode.CONCURRENT_MODIFICATION, `${resource} '${id}' was modified by another user`, {
|
||||
resource,
|
||||
id
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an error is a Data API error
|
||||
*/
|
||||
export function isDataApiError(error: any): error is DataApiError {
|
||||
return (
|
||||
error &&
|
||||
typeof error === 'object' &&
|
||||
typeof error.code === 'string' &&
|
||||
typeof error.message === 'string' &&
|
||||
typeof error.status === 'number'
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert a generic error to a DataApiError
|
||||
*/
|
||||
export function toDataApiError(error: unknown, context?: string): DataApiError {
|
||||
if (isDataApiError(error)) {
|
||||
return error
|
||||
}
|
||||
|
||||
if (error instanceof Error) {
|
||||
return DataApiErrorFactory.internal(error, context)
|
||||
}
|
||||
|
||||
return DataApiErrorFactory.create(
|
||||
ErrorCode.INTERNAL_SERVER_ERROR,
|
||||
`Unknown error${context ? ` in ${context}` : ''}: ${String(error)}`,
|
||||
{ originalError: error, context }
|
||||
)
|
||||
}
|
||||
121
packages/shared/data/api/index.ts
Normal file
@@ -0,0 +1,121 @@
|
||||
/**
|
||||
* Cherry Studio Data API - Barrel Exports
|
||||
*
|
||||
* This file provides a centralized entry point for all data API types,
|
||||
* schemas, and utilities. Import everything you need from this single location.
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { Topic, CreateTopicDto, ApiSchemas, DataRequest, ErrorCode } from '@/shared/data'
|
||||
* ```
|
||||
*/
|
||||
|
||||
// Core data API types and infrastructure
|
||||
export type {
|
||||
BatchRequest,
|
||||
BatchResponse,
|
||||
CacheOptions,
|
||||
DataApiError,
|
||||
DataRequest,
|
||||
DataResponse,
|
||||
HttpMethod,
|
||||
Middleware,
|
||||
PaginatedResponse,
|
||||
PaginationParams,
|
||||
RequestContext,
|
||||
ServiceOptions,
|
||||
ServiceResult,
|
||||
SubscriptionCallback,
|
||||
SubscriptionOptions,
|
||||
TransactionRequest
|
||||
} from './apiTypes'
|
||||
export { ErrorCode, SubscriptionEvent } from './apiTypes'
|
||||
|
||||
// Domain models and DTOs
|
||||
export type {
|
||||
BulkOperationRequest,
|
||||
BulkOperationResponse,
|
||||
CreateTestItemDto,
|
||||
TestItem,
|
||||
UpdateTestItemDto
|
||||
} from './apiModels'
|
||||
|
||||
// API schema definitions and type helpers
|
||||
export type {
|
||||
ApiBody,
|
||||
ApiClient,
|
||||
ApiMethods,
|
||||
ApiParams,
|
||||
ApiPaths,
|
||||
ApiQuery,
|
||||
ApiResponse,
|
||||
ApiSchemas
|
||||
} from './apiSchemas'
|
||||
|
||||
// Path type utilities for template literal types
|
||||
export type {
|
||||
BodyForPath,
|
||||
ConcreteApiPaths,
|
||||
MatchApiPath,
|
||||
QueryParamsForPath,
|
||||
ResolvedPath,
|
||||
ResponseForPath
|
||||
} from './apiPaths'
|
||||
|
||||
// Error handling utilities
|
||||
export {
|
||||
ErrorCode as DataApiErrorCode,
|
||||
DataApiErrorFactory,
|
||||
ERROR_MESSAGES,
|
||||
ERROR_STATUS_MAP,
|
||||
isDataApiError,
|
||||
toDataApiError
|
||||
} from './errorCodes'
|
||||
|
||||
/**
|
||||
* Re-export commonly used type combinations for convenience
|
||||
*/
|
||||
|
||||
// Import types for re-export convenience types
|
||||
import type { CreateTestItemDto, TestItem, UpdateTestItemDto } from './apiModels'
|
||||
import type {
|
||||
BatchRequest,
|
||||
BatchResponse,
|
||||
DataApiError,
|
||||
DataRequest,
|
||||
DataResponse,
|
||||
ErrorCode,
|
||||
PaginatedResponse,
|
||||
PaginationParams,
|
||||
TransactionRequest
|
||||
} from './apiTypes'
|
||||
import type { DataApiErrorFactory } from './errorCodes'
|
||||
|
||||
/** All test item-related types */
|
||||
export type TestItemTypes = {
|
||||
TestItem: TestItem
|
||||
CreateTestItemDto: CreateTestItemDto
|
||||
UpdateTestItemDto: UpdateTestItemDto
|
||||
}
|
||||
|
||||
/** All error-related types and utilities */
|
||||
export type ErrorTypes = {
|
||||
DataApiError: DataApiError
|
||||
ErrorCode: ErrorCode
|
||||
ErrorFactory: typeof DataApiErrorFactory
|
||||
}
|
||||
|
||||
/** All request/response types */
|
||||
export type RequestTypes = {
|
||||
DataRequest: DataRequest
|
||||
DataResponse: DataResponse
|
||||
BatchRequest: BatchRequest
|
||||
BatchResponse: BatchResponse
|
||||
TransactionRequest: TransactionRequest
|
||||
}
|
||||
|
||||
/** All pagination-related types */
|
||||
export type PaginationTypes = {
|
||||
PaginationParams: PaginationParams
|
||||
PaginatedResponse: PaginatedResponse<any>
|
||||
}
|
||||
132
packages/shared/data/cache/cacheSchemas.ts
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
import type * as CacheValueTypes from './cacheValueTypes'
|
||||
|
||||
/**
|
||||
* Cache Schema Definitions
|
||||
*
|
||||
* ## Key Naming Convention
|
||||
*
|
||||
* All cache keys MUST follow the format: `namespace.sub.key_name`
|
||||
*
|
||||
* Rules:
|
||||
* - At least 2 segments separated by dots (.)
|
||||
* - Each segment uses lowercase letters, numbers, and underscores only
|
||||
* - Pattern: /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/
|
||||
*
|
||||
* Examples:
|
||||
* - 'app.user.avatar' (valid)
|
||||
* - 'chat.multi_select_mode' (valid)
|
||||
* - 'minapp.opened_keep_alive' (valid)
|
||||
* - 'userAvatar' (invalid - missing dot separator)
|
||||
* - 'App.user' (invalid - uppercase not allowed)
|
||||
*
|
||||
* This convention is enforced by ESLint rule: data-schema-key/valid-key
|
||||
*/
|
||||
|
||||
/**
|
||||
* Use cache schema for renderer hook
|
||||
*/
|
||||
|
||||
export type UseCacheSchema = {
|
||||
// App state
|
||||
'app.dist.update_state': CacheValueTypes.CacheAppUpdateState
|
||||
'app.user.avatar': string
|
||||
|
||||
// Chat context
|
||||
'chat.multi_select_mode': boolean
|
||||
'chat.selected_message_ids': string[]
|
||||
'chat.generating': boolean
|
||||
'chat.websearch.searching': boolean
|
||||
'chat.websearch.active_searches': CacheValueTypes.CacheActiveSearches
|
||||
|
||||
// Minapp management
|
||||
'minapp.opened_keep_alive': CacheValueTypes.CacheMinAppType[]
|
||||
'minapp.current_id': string
|
||||
'minapp.show': boolean
|
||||
'minapp.opened_oneoff': CacheValueTypes.CacheMinAppType | null
|
||||
|
||||
// Topic management
|
||||
'topic.active': CacheValueTypes.CacheTopic | null
|
||||
'topic.renaming': string[]
|
||||
'topic.newly_renamed': string[]
|
||||
}
|
||||
|
||||
export const DefaultUseCache: UseCacheSchema = {
|
||||
// App state
|
||||
'app.dist.update_state': {
|
||||
info: null,
|
||||
checking: false,
|
||||
downloading: false,
|
||||
downloaded: false,
|
||||
downloadProgress: 0,
|
||||
available: false
|
||||
},
|
||||
'app.user.avatar': '',
|
||||
|
||||
// Chat context
|
||||
'chat.multi_select_mode': false,
|
||||
'chat.selected_message_ids': [],
|
||||
'chat.generating': false,
|
||||
'chat.websearch.searching': false,
|
||||
'chat.websearch.active_searches': {},
|
||||
|
||||
// Minapp management
|
||||
'minapp.opened_keep_alive': [],
|
||||
'minapp.current_id': '',
|
||||
'minapp.show': false,
|
||||
'minapp.opened_oneoff': null,
|
||||
|
||||
// Topic management
|
||||
'topic.active': null,
|
||||
'topic.renaming': [],
|
||||
'topic.newly_renamed': []
|
||||
}
|
||||
|
||||
/**
|
||||
* Use shared cache schema for renderer hook
|
||||
*/
|
||||
export type UseSharedCacheSchema = {
|
||||
'example_scope.example_key': string
|
||||
}
|
||||
|
||||
export const DefaultUseSharedCache: UseSharedCacheSchema = {
|
||||
'example_scope.example_key': 'example default value'
|
||||
}
|
||||
|
||||
/**
|
||||
* Tab type for browser-like tabs
|
||||
*/
|
||||
export type TabType = 'webview' | 'url' | 'browser'
|
||||
|
||||
export interface Tab {
|
||||
id: string
|
||||
type: TabType
|
||||
url: string
|
||||
title: string
|
||||
icon?: string
|
||||
isKeepAlive?: boolean
|
||||
metadata?: Record<string, any>
|
||||
}
|
||||
|
||||
export interface TabsState {
|
||||
tabs: Tab[]
|
||||
activeTabId: string
|
||||
}
|
||||
|
||||
/**
|
||||
* Persist cache schema defining allowed keys and their value types
|
||||
* This ensures type safety and prevents key conflicts
|
||||
*/
|
||||
export type RendererPersistCacheSchema = {
|
||||
'ui.tab.state': TabsState
|
||||
}
|
||||
|
||||
export const DefaultRendererPersistCache: RendererPersistCacheSchema = {
|
||||
'ui.tab.state': { tabs: [], activeTabId: '' }
|
||||
}
|
||||
|
||||
/**
|
||||
* Type-safe cache key
|
||||
*/
|
||||
export type RendererPersistCacheKey = keyof RendererPersistCacheSchema
|
||||
export type UseCacheKey = keyof UseCacheSchema
|
||||
export type UseSharedCacheKey = keyof UseSharedCacheSchema
|
||||
43
packages/shared/data/cache/cacheTypes.ts
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
/**
|
||||
* Cache types and interfaces for CacheService
|
||||
*
|
||||
* Supports three-layer caching architecture:
|
||||
* 1. Memory cache (cross-component within renderer)
|
||||
* 2. Shared cache (cross-window via IPC)
|
||||
* 3. Persist cache (cross-window with localStorage persistence)
|
||||
*/
|
||||
|
||||
/**
|
||||
* Cache entry with optional TTL support
|
||||
*/
|
||||
export interface CacheEntry<T = any> {
|
||||
value: T
|
||||
expireAt?: number // Unix timestamp
|
||||
}
|
||||
|
||||
/**
|
||||
* Cache synchronization message for IPC communication
|
||||
*/
|
||||
export interface CacheSyncMessage {
|
||||
type: 'shared' | 'persist'
|
||||
key: string
|
||||
value: any
|
||||
ttl?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* Batch cache synchronization message
|
||||
*/
|
||||
export interface CacheSyncBatchMessage {
|
||||
type: 'shared' | 'persist'
|
||||
entries: Array<{
|
||||
key: string
|
||||
value: any
|
||||
ttl?: number
|
||||
}>
|
||||
}
|
||||
|
||||
/**
|
||||
* Cache subscription callback
|
||||
*/
|
||||
export type CacheSubscriber = () => void
|
||||
18
packages/shared/data/cache/cacheValueTypes.ts
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import type { MinAppType, Topic, WebSearchStatus } from '@types'
|
||||
import type { UpdateInfo } from 'builder-util-runtime'
|
||||
|
||||
export type CacheAppUpdateState = {
|
||||
info: UpdateInfo | null
|
||||
checking: boolean
|
||||
downloading: boolean
|
||||
downloaded: boolean
|
||||
downloadProgress: number
|
||||
available: boolean
|
||||
}
|
||||
|
||||
export type CacheActiveSearches = Record<string, WebSearchStatus>
|
||||
|
||||
// For cache schema, we use any for complex types to avoid circular dependencies
|
||||
// The actual type checking will be done at runtime by the cache system
|
||||
export type CacheMinAppType = MinAppType
|
||||
export type CacheTopic = Topic
|
||||
123
packages/shared/data/migration/v2/types.ts
Normal file
@@ -0,0 +1,123 @@
|
||||
/**
|
||||
* Shared type definitions for the migration system
|
||||
*/
|
||||
|
||||
// Migration stages for UI flow
|
||||
export type MigrationStage =
|
||||
| 'introduction'
|
||||
| 'backup_required'
|
||||
| 'backup_progress'
|
||||
| 'backup_confirmed'
|
||||
| 'migration'
|
||||
| 'migration_completed'
|
||||
| 'completed'
|
||||
| 'error'
|
||||
|
||||
// Individual migrator status
|
||||
export type MigratorStatus = 'pending' | 'running' | 'completed' | 'failed'
|
||||
|
||||
// Migrator progress info for UI display
|
||||
export interface MigratorProgress {
|
||||
id: string
|
||||
name: string
|
||||
status: MigratorStatus
|
||||
error?: string
|
||||
}
|
||||
|
||||
// Overall migration progress
|
||||
export interface MigrationProgress {
|
||||
stage: MigrationStage
|
||||
overallProgress: number // 0-100
|
||||
currentMessage: string
|
||||
migrators: MigratorProgress[]
|
||||
error?: string
|
||||
}
|
||||
|
||||
// Prepare phase result
|
||||
export interface PrepareResult {
|
||||
success: boolean
|
||||
itemCount: number
|
||||
warnings?: string[]
|
||||
}
|
||||
|
||||
// Execute phase result
|
||||
export interface ExecuteResult {
|
||||
success: boolean
|
||||
processedCount: number
|
||||
error?: string
|
||||
}
|
||||
|
||||
// Validation error detail
|
||||
export interface ValidationError {
|
||||
key: string
|
||||
expected?: unknown
|
||||
actual?: unknown
|
||||
message: string
|
||||
}
|
||||
|
||||
// Validate phase result with count validation support
|
||||
export interface ValidateResult {
|
||||
success: boolean
|
||||
errors: ValidationError[]
|
||||
stats: {
|
||||
sourceCount: number
|
||||
targetCount: number
|
||||
skippedCount: number
|
||||
mismatchReason?: string
|
||||
}
|
||||
}
|
||||
|
||||
// Individual migrator result
|
||||
export interface MigratorResult {
|
||||
migratorId: string
|
||||
migratorName: string
|
||||
success: boolean
|
||||
recordsProcessed: number
|
||||
duration: number
|
||||
error?: string
|
||||
}
|
||||
|
||||
// Overall migration result
|
||||
export interface MigrationResult {
|
||||
success: boolean
|
||||
migratorResults: MigratorResult[]
|
||||
totalDuration: number
|
||||
error?: string
|
||||
}
|
||||
|
||||
// Migration status stored in app_state table
|
||||
export interface MigrationStatusValue {
|
||||
status: 'completed' | 'failed' | 'in_progress'
|
||||
completedAt?: number
|
||||
failedAt?: number
|
||||
version: string
|
||||
error?: string | null
|
||||
}
|
||||
|
||||
// IPC channels for migration communication
|
||||
export const MigrationIpcChannels = {
|
||||
// Status queries
|
||||
CheckNeeded: 'migration:check-needed',
|
||||
GetProgress: 'migration:get-progress',
|
||||
GetLastError: 'migration:get-last-error',
|
||||
GetUserDataPath: 'migration:get-user-data-path',
|
||||
|
||||
// Flow control
|
||||
Start: 'migration:start',
|
||||
ProceedToBackup: 'migration:proceed-to-backup',
|
||||
ShowBackupDialog: 'migration:show-backup-dialog',
|
||||
BackupCompleted: 'migration:backup-completed',
|
||||
StartMigration: 'migration:start-migration',
|
||||
Retry: 'migration:retry',
|
||||
Cancel: 'migration:cancel',
|
||||
Restart: 'migration:restart',
|
||||
|
||||
// Data transfer (Renderer -> Main)
|
||||
SendReduxData: 'migration:send-redux-data',
|
||||
DexieExportCompleted: 'migration:dexie-export-completed',
|
||||
WriteExportFile: 'migration:write-export-file',
|
||||
|
||||
// Progress broadcast (Main -> Renderer)
|
||||
Progress: 'migration:progress',
|
||||
ExportProgress: 'migration:export-progress'
|
||||
} as const
|
||||
704
packages/shared/data/preference/preferenceSchemas.ts
Normal file
@@ -0,0 +1,704 @@
|
||||
/**
|
||||
* Auto-generated preferences configuration
|
||||
* Generated at: 2025-09-16T03:17:03.354Z
|
||||
*
|
||||
* This file is automatically generated from classification.json
|
||||
* To update this file, modify classification.json and run:
|
||||
* node .claude/data-classify/scripts/generate-preferences.js
|
||||
*
|
||||
* ## Key Naming Convention
|
||||
*
|
||||
* All preference keys MUST follow the format: `namespace.sub.key_name`
|
||||
*
|
||||
* Rules:
|
||||
* - At least 2 segments separated by dots (.)
|
||||
* - Each segment uses lowercase letters, numbers, and underscores only
|
||||
* - Pattern: /^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)+$/
|
||||
*
|
||||
* Examples:
|
||||
* - 'app.user.avatar' (valid)
|
||||
* - 'chat.multi_select_mode' (valid)
|
||||
* - 'userAvatar' (invalid - missing dot separator)
|
||||
* - 'App.user' (invalid - uppercase not allowed)
|
||||
*
|
||||
* This convention is enforced by ESLint rule: data-schema-key/valid-key
|
||||
*
|
||||
* === AUTO-GENERATED CONTENT START ===
|
||||
*/
|
||||
|
||||
import { TRANSLATE_PROMPT } from '@shared/config/prompts'
|
||||
import * as PreferenceTypes from '@shared/data/preference/preferenceTypes'
|
||||
|
||||
/* eslint @typescript-eslint/member-ordering: ["error", {
|
||||
"interfaces": { "order": "alphabetically" },
|
||||
"typeLiterals": { "order": "alphabetically" }
|
||||
}] */
|
||||
|
||||
export interface PreferenceSchemas {
|
||||
default: {
|
||||
// redux/settings/enableDeveloperMode
|
||||
'app.developer_mode.enabled': boolean
|
||||
// redux/settings/disableHardwareAcceleration
|
||||
'app.disable_hardware_acceleration': boolean
|
||||
// redux/settings/autoCheckUpdate
|
||||
'app.dist.auto_update.enabled': boolean
|
||||
// redux/settings/testChannel
|
||||
'app.dist.test_plan.channel': PreferenceTypes.UpgradeChannel
|
||||
// redux/settings/testPlan
|
||||
'app.dist.test_plan.enabled': boolean
|
||||
// redux/settings/language
|
||||
'app.language': PreferenceTypes.LanguageVarious | null
|
||||
// redux/settings/launchOnBoot
|
||||
'app.launch_on_boot': boolean
|
||||
// redux/settings/notification.assistant
|
||||
'app.notification.assistant.enabled': boolean
|
||||
// redux/settings/notification.backup
|
||||
'app.notification.backup.enabled': boolean
|
||||
// redux/settings/notification.knowledge
|
||||
'app.notification.knowledge.enabled': boolean
|
||||
// redux/settings/enableDataCollection
|
||||
'app.privacy.data_collection.enabled': boolean
|
||||
// redux/settings/proxyBypassRules
|
||||
'app.proxy.bypass_rules': string
|
||||
// redux/settings/proxyMode
|
||||
'app.proxy.mode': PreferenceTypes.ProxyMode
|
||||
// redux/settings/proxyUrl
|
||||
'app.proxy.url': string
|
||||
// redux/settings/enableSpellCheck
|
||||
'app.spell_check.enabled': boolean
|
||||
// redux/settings/spellCheckLanguages
|
||||
'app.spell_check.languages': string[]
|
||||
// redux/settings/tray
|
||||
'app.tray.enabled': boolean
|
||||
// redux/settings/trayOnClose
|
||||
'app.tray.on_close': boolean
|
||||
// redux/settings/launchToTray
|
||||
'app.tray.on_launch': boolean
|
||||
// redux/settings/userId
|
||||
'app.user.id': string
|
||||
// redux/settings/userName
|
||||
'app.user.name': string
|
||||
// electronStore/ZoomFactor/ZoomFactor
|
||||
'app.zoom_factor': number
|
||||
// redux/settings/clickAssistantToShowTopic
|
||||
'assistant.click_to_show_topic': boolean
|
||||
// redux/settings/assistantIconType
|
||||
'assistant.icon_type': PreferenceTypes.AssistantIconType
|
||||
// redux/settings/showAssistants
|
||||
'assistant.tab.show': boolean
|
||||
// redux/settings/assistantsTabSortType
|
||||
'assistant.tab.sort_type': PreferenceTypes.AssistantTabSortType
|
||||
// redux/settings/codeCollapsible
|
||||
'chat.code.collapsible': boolean
|
||||
// redux/settings/codeEditor.autocompletion
|
||||
'chat.code.editor.autocompletion': boolean
|
||||
// redux/settings/codeEditor.enabled
|
||||
'chat.code.editor.enabled': boolean
|
||||
// redux/settings/codeEditor.foldGutter
|
||||
'chat.code.editor.fold_gutter': boolean
|
||||
// redux/settings/codeEditor.highlightActiveLine
|
||||
'chat.code.editor.highlight_active_line': boolean
|
||||
// redux/settings/codeEditor.keymap
|
||||
'chat.code.editor.keymap': boolean
|
||||
// redux/settings/codeEditor.themeDark
|
||||
'chat.code.editor.theme_dark': string
|
||||
// redux/settings/codeEditor.themeLight
|
||||
'chat.code.editor.theme_light': string
|
||||
// redux/settings/codeExecution.enabled
|
||||
'chat.code.execution.enabled': boolean
|
||||
// redux/settings/codeExecution.timeoutMinutes
|
||||
'chat.code.execution.timeout_minutes': number
|
||||
// redux/settings/codeFancyBlock
|
||||
'chat.code.fancy_block': boolean
|
||||
// redux/settings/codeImageTools
|
||||
'chat.code.image_tools': boolean
|
||||
// redux/settings/codePreview.themeDark
|
||||
'chat.code.preview.theme_dark': string
|
||||
// redux/settings/codePreview.themeLight
|
||||
'chat.code.preview.theme_light': string
|
||||
// redux/settings/codeShowLineNumbers
|
||||
'chat.code.show_line_numbers': boolean
|
||||
// redux/settings/codeViewer.themeDark
|
||||
'chat.code.viewer.theme_dark': string
|
||||
// redux/settings/codeViewer.themeLight
|
||||
'chat.code.viewer.theme_light': string
|
||||
// redux/settings/codeWrappable
|
||||
'chat.code.wrappable': boolean
|
||||
// redux/settings/pasteLongTextAsFile
|
||||
'chat.input.paste_long_text_as_file': boolean
|
||||
// redux/settings/pasteLongTextThreshold
|
||||
'chat.input.paste_long_text_threshold': number
|
||||
// redux/settings/enableQuickPanelTriggers
|
||||
'chat.input.quick_panel.triggers_enabled': boolean
|
||||
// redux/settings/sendMessageShortcut
|
||||
'chat.input.send_message_shortcut': PreferenceTypes.SendMessageShortcut
|
||||
// redux/settings/showInputEstimatedTokens
|
||||
'chat.input.show_estimated_tokens': boolean
|
||||
// redux/settings/autoTranslateWithSpace
|
||||
'chat.input.translate.auto_translate_with_space': boolean
|
||||
// redux/settings/showTranslateConfirm
|
||||
'chat.input.translate.show_confirm': boolean
|
||||
// redux/settings/confirmDeleteMessage
|
||||
'chat.message.confirm_delete': boolean
|
||||
// redux/settings/confirmRegenerateMessage
|
||||
'chat.message.confirm_regenerate': boolean
|
||||
// redux/settings/messageFont
|
||||
'chat.message.font': string
|
||||
// redux/settings/fontSize
|
||||
'chat.message.font_size': number
|
||||
// redux/settings/mathEngine
|
||||
'chat.message.math.engine': PreferenceTypes.MathEngine
|
||||
// redux/settings/mathEnableSingleDollar
|
||||
'chat.message.math.single_dollar': boolean
|
||||
// redux/settings/foldDisplayMode
|
||||
'chat.message.multi_model.fold_display_mode': PreferenceTypes.MultiModelFoldDisplayMode
|
||||
// redux/settings/gridColumns
|
||||
'chat.message.multi_model.grid_columns': number
|
||||
// redux/settings/gridPopoverTrigger
|
||||
'chat.message.multi_model.grid_popover_trigger': PreferenceTypes.MultiModelGridPopoverTrigger
|
||||
// redux/settings/multiModelMessageStyle
|
||||
'chat.message.multi_model.style': PreferenceTypes.MultiModelMessageStyle
|
||||
// redux/settings/messageNavigation
|
||||
'chat.message.navigation_mode': PreferenceTypes.ChatMessageNavigationMode
|
||||
// redux/settings/renderInputMessageAsMarkdown
|
||||
'chat.message.render_as_markdown': boolean
|
||||
// redux/settings/showMessageDivider
|
||||
'chat.message.show_divider': boolean
|
||||
// redux/settings/showMessageOutline
|
||||
'chat.message.show_outline': boolean
|
||||
// redux/settings/showPrompt
|
||||
'chat.message.show_prompt': boolean
|
||||
// redux/settings/messageStyle
|
||||
'chat.message.style': PreferenceTypes.ChatMessageStyle
|
||||
// redux/settings/thoughtAutoCollapse
|
||||
'chat.message.thought.auto_collapse': boolean
|
||||
// redux/settings/narrowMode
|
||||
'chat.narrow_mode': boolean
|
||||
// redux/settings/skipBackupFile
|
||||
'data.backup.general.skip_backup_file': boolean
|
||||
// redux/settings/localBackupAutoSync
|
||||
'data.backup.local.auto_sync': boolean
|
||||
// redux/settings/localBackupDir
|
||||
'data.backup.local.dir': string
|
||||
// redux/settings/localBackupMaxBackups
|
||||
'data.backup.local.max_backups': number
|
||||
// redux/settings/localBackupSkipBackupFile
|
||||
'data.backup.local.skip_backup_file': boolean
|
||||
// redux/settings/localBackupSyncInterval
|
||||
'data.backup.local.sync_interval': number
|
||||
// redux/nutstore/nutstoreAutoSync
|
||||
'data.backup.nutstore.auto_sync': boolean
|
||||
// redux/nutstore/nutstoreMaxBackups
|
||||
'data.backup.nutstore.max_backups': number
|
||||
// redux/nutstore/nutstorePath
|
||||
'data.backup.nutstore.path': string
|
||||
// redux/nutstore/nutstoreSkipBackupFile
|
||||
'data.backup.nutstore.skip_backup_file': boolean
|
||||
// redux/nutstore/nutstoreSyncInterval
|
||||
'data.backup.nutstore.sync_interval': number
|
||||
// redux/nutstore/nutstoreToken
|
||||
'data.backup.nutstore.token': string
|
||||
// redux/settings/s3.accessKeyId
|
||||
'data.backup.s3.access_key_id': string
|
||||
// redux/settings/s3.autoSync
|
||||
'data.backup.s3.auto_sync': boolean
|
||||
// redux/settings/s3.bucket
|
||||
'data.backup.s3.bucket': string
|
||||
// redux/settings/s3.endpoint
|
||||
'data.backup.s3.endpoint': string
|
||||
// redux/settings/s3.maxBackups
|
||||
'data.backup.s3.max_backups': number
|
||||
// redux/settings/s3.region
|
||||
'data.backup.s3.region': string
|
||||
// redux/settings/s3.root
|
||||
'data.backup.s3.root': string
|
||||
// redux/settings/s3.secretAccessKey
|
||||
'data.backup.s3.secret_access_key': string
|
||||
// redux/settings/s3.skipBackupFile
|
||||
'data.backup.s3.skip_backup_file': boolean
|
||||
// redux/settings/s3.syncInterval
|
||||
'data.backup.s3.sync_interval': number
|
||||
// redux/settings/webdavAutoSync
|
||||
'data.backup.webdav.auto_sync': boolean
|
||||
// redux/settings/webdavDisableStream
|
||||
'data.backup.webdav.disable_stream': boolean
|
||||
// redux/settings/webdavHost
|
||||
'data.backup.webdav.host': string
|
||||
// redux/settings/webdavMaxBackups
|
||||
'data.backup.webdav.max_backups': number
|
||||
// redux/settings/webdavPass
|
||||
'data.backup.webdav.pass': string
|
||||
// redux/settings/webdavPath
|
||||
'data.backup.webdav.path': string
|
||||
// redux/settings/webdavSkipBackupFile
|
||||
'data.backup.webdav.skip_backup_file': boolean
|
||||
// redux/settings/webdavSyncInterval
|
||||
'data.backup.webdav.sync_interval': number
|
||||
// redux/settings/webdavUser
|
||||
'data.backup.webdav.user': string
|
||||
// redux/settings/excludeCitationsInExport
|
||||
'data.export.markdown.exclude_citations': boolean
|
||||
// redux/settings/forceDollarMathInMarkdown
|
||||
'data.export.markdown.force_dollar_math': boolean
|
||||
// redux/settings/markdownExportPath
|
||||
'data.export.markdown.path': string | null
|
||||
// redux/settings/showModelNameInMarkdown
|
||||
'data.export.markdown.show_model_name': boolean
|
||||
// redux/settings/showModelProviderInMarkdown
|
||||
'data.export.markdown.show_model_provider': boolean
|
||||
// redux/settings/standardizeCitationsInExport
|
||||
'data.export.markdown.standardize_citations': boolean
|
||||
// redux/settings/useTopicNamingForMessageTitle
|
||||
'data.export.markdown.use_topic_naming_for_message_title': boolean
|
||||
// redux/settings/exportMenuOptions.docx
|
||||
'data.export.menus.docx': boolean
|
||||
// redux/settings/exportMenuOptions.image
|
||||
'data.export.menus.image': boolean
|
||||
// redux/settings/exportMenuOptions.joplin
|
||||
'data.export.menus.joplin': boolean
|
||||
// redux/settings/exportMenuOptions.markdown
|
||||
'data.export.menus.markdown': boolean
|
||||
// redux/settings/exportMenuOptions.markdown_reason
|
||||
'data.export.menus.markdown_reason': boolean
|
||||
// redux/settings/exportMenuOptions.notes
|
||||
'data.export.menus.notes': boolean
|
||||
// redux/settings/exportMenuOptions.notion
|
||||
'data.export.menus.notion': boolean
|
||||
// redux/settings/exportMenuOptions.obsidian
|
||||
'data.export.menus.obsidian': boolean
|
||||
// redux/settings/exportMenuOptions.plain_text
|
||||
'data.export.menus.plain_text': boolean
|
||||
// redux/settings/exportMenuOptions.siyuan
|
||||
'data.export.menus.siyuan': boolean
|
||||
// redux/settings/exportMenuOptions.yuque
|
||||
'data.export.menus.yuque': boolean
|
||||
// redux/settings/joplinExportReasoning
|
||||
'data.integration.joplin.export_reasoning': boolean
|
||||
// redux/settings/joplinToken
|
||||
'data.integration.joplin.token': string
|
||||
// redux/settings/joplinUrl
|
||||
'data.integration.joplin.url': string
|
||||
// redux/settings/notionApiKey
|
||||
'data.integration.notion.api_key': string
|
||||
// redux/settings/notionDatabaseID
|
||||
'data.integration.notion.database_id': string
|
||||
// redux/settings/notionExportReasoning
|
||||
'data.integration.notion.export_reasoning': boolean
|
||||
// redux/settings/notionPageNameKey
|
||||
'data.integration.notion.page_name_key': string
|
||||
// redux/settings/defaultObsidianVault
|
||||
'data.integration.obsidian.default_vault': string
|
||||
// redux/settings/siyuanApiUrl
|
||||
'data.integration.siyuan.api_url': string | null
|
||||
// redux/settings/siyuanBoxId
|
||||
'data.integration.siyuan.box_id': string | null
|
||||
// redux/settings/siyuanRootPath
|
||||
'data.integration.siyuan.root_path': string | null
|
||||
// redux/settings/siyuanToken
|
||||
'data.integration.siyuan.token': string | null
|
||||
// redux/settings/yuqueRepoId
|
||||
'data.integration.yuque.repo_id': string
|
||||
// redux/settings/yuqueToken
|
||||
'data.integration.yuque.token': string
|
||||
// redux/settings/yuqueUrl
|
||||
'data.integration.yuque.url': string
|
||||
// redux/settings/apiServer.apiKey
|
||||
'feature.csaas.api_key': string
|
||||
// redux/settings/apiServer.enabled
|
||||
'feature.csaas.enabled': boolean
|
||||
// redux/settings/apiServer.host
|
||||
'feature.csaas.host': string
|
||||
// redux/settings/apiServer.port
|
||||
'feature.csaas.port': number
|
||||
// redux/settings/maxKeepAliveMinapps
|
||||
'feature.minapp.max_keep_alive': number
|
||||
// redux/settings/minappsOpenLinkExternal
|
||||
'feature.minapp.open_link_external': boolean
|
||||
// redux/settings/showOpenedMinappsInSidebar
|
||||
'feature.minapp.show_opened_in_sidebar': boolean
|
||||
// redux/note/settings.defaultEditMode
|
||||
'feature.notes.default_edit_mode': string
|
||||
// redux/note/settings.defaultViewMode
|
||||
'feature.notes.default_view_mode': string
|
||||
// redux/note/settings.fontFamily
|
||||
'feature.notes.font_family': string
|
||||
// redux/note/settings.fontSize
|
||||
'feature.notes.font_size': number
|
||||
// redux/note/settings.isFullWidth
|
||||
'feature.notes.full_width': boolean
|
||||
// redux/note/notesPath
|
||||
'feature.notes.path': string
|
||||
// redux/note/settings.showTabStatus
|
||||
'feature.notes.show_tab_status': boolean
|
||||
// redux/note/settings.showTableOfContents
|
||||
'feature.notes.show_table_of_contents': boolean
|
||||
// redux/note/settings.showWorkspace
|
||||
'feature.notes.show_workspace': boolean
|
||||
// redux/note/sortType
|
||||
'feature.notes.sort_type': string
|
||||
// redux/settings/clickTrayToShowQuickAssistant
|
||||
'feature.quick_assistant.click_tray_to_show': boolean
|
||||
// redux/settings/enableQuickAssistant
|
||||
'feature.quick_assistant.enabled': boolean
|
||||
// redux/settings/readClipboardAtStartup
|
||||
'feature.quick_assistant.read_clipboard_at_startup': boolean
|
||||
// redux/selectionStore/actionItems
|
||||
'feature.selection.action_items': PreferenceTypes.SelectionActionItem[]
|
||||
// redux/selectionStore/actionWindowOpacity
|
||||
'feature.selection.action_window_opacity': number
|
||||
// redux/selectionStore/isAutoClose
|
||||
'feature.selection.auto_close': boolean
|
||||
// redux/selectionStore/isAutoPin
|
||||
'feature.selection.auto_pin': boolean
|
||||
// redux/selectionStore/isCompact
|
||||
'feature.selection.compact': boolean
|
||||
// redux/selectionStore/selectionEnabled
|
||||
'feature.selection.enabled': boolean
|
||||
// redux/selectionStore/filterList
|
||||
'feature.selection.filter_list': string[]
|
||||
// redux/selectionStore/filterMode
|
||||
'feature.selection.filter_mode': PreferenceTypes.SelectionFilterMode
|
||||
// redux/selectionStore/isFollowToolbar
|
||||
'feature.selection.follow_toolbar': boolean
|
||||
// redux/selectionStore/isRemeberWinSize
|
||||
'feature.selection.remember_win_size': boolean
|
||||
// redux/selectionStore/triggerMode
|
||||
'feature.selection.trigger_mode': PreferenceTypes.SelectionTriggerMode
|
||||
// redux/settings/translateModelPrompt
|
||||
'feature.translate.model_prompt': string
|
||||
// redux/settings/targetLanguage
|
||||
'feature.translate.target_language': string
|
||||
// redux/shortcuts/shortcuts.exit_fullscreen
|
||||
'shortcut.app.exit_fullscreen': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.search_message
|
||||
'shortcut.app.search_message': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.show_app
|
||||
'shortcut.app.show_main_window': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.mini_window
|
||||
'shortcut.app.show_mini_window': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.show_settings
|
||||
'shortcut.app.show_settings': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.toggle_show_assistants
|
||||
'shortcut.app.toggle_show_assistants': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.zoom_in
|
||||
'shortcut.app.zoom_in': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.zoom_out
|
||||
'shortcut.app.zoom_out': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.zoom_reset
|
||||
'shortcut.app.zoom_reset': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.clear_topic
|
||||
'shortcut.chat.clear': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.copy_last_message
|
||||
'shortcut.chat.copy_last_message': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.search_message_in_chat
|
||||
'shortcut.chat.search_message': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.toggle_new_context
|
||||
'shortcut.chat.toggle_new_context': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.selection_assistant_select_text
|
||||
'shortcut.selection.get_text': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.selection_assistant_toggle
|
||||
'shortcut.selection.toggle_enabled': Record<string, unknown>
|
||||
// redux/shortcuts/shortcuts.new_topic
|
||||
'shortcut.topic.new': Record<string, unknown>
|
||||
// redux/settings/enableTopicNaming
|
||||
'topic.naming.enabled': boolean
|
||||
// redux/settings/topicNamingPrompt
|
||||
'topic.naming_prompt': string
|
||||
// redux/settings/topicPosition
|
||||
'topic.position': string
|
||||
// redux/settings/pinTopicsToTop
|
||||
'topic.tab.pin_to_top': boolean
|
||||
// redux/settings/showTopics
|
||||
'topic.tab.show': boolean
|
||||
// redux/settings/showTopicTime
|
||||
'topic.tab.show_time': boolean
|
||||
// redux/settings/customCss
|
||||
'ui.custom_css': string
|
||||
// redux/settings/navbarPosition
|
||||
'ui.navbar.position': 'left' | 'top'
|
||||
// redux/settings/sidebarIcons.disabled
|
||||
'ui.sidebar.icons.invisible': PreferenceTypes.SidebarIcon[]
|
||||
// redux/settings/sidebarIcons.visible
|
||||
'ui.sidebar.icons.visible': PreferenceTypes.SidebarIcon[]
|
||||
// redux/settings/theme
|
||||
'ui.theme_mode': PreferenceTypes.ThemeMode
|
||||
// redux/settings/userTheme.userCodeFontFamily
|
||||
'ui.theme_user.code_font_family': string
|
||||
// redux/settings/userTheme.colorPrimary
|
||||
'ui.theme_user.color_primary': string
|
||||
// redux/settings/userTheme.userFontFamily
|
||||
'ui.theme_user.font_family': string
|
||||
// redux/settings/windowStyle
|
||||
'ui.window_style': PreferenceTypes.WindowStyle
|
||||
}
|
||||
}
|
||||
|
||||
/* eslint sort-keys: ["error", "asc", {"caseSensitive": true, "natural": false}] */
|
||||
export const DefaultPreferences: PreferenceSchemas = {
|
||||
default: {
|
||||
'app.developer_mode.enabled': false,
|
||||
'app.disable_hardware_acceleration': false,
|
||||
'app.dist.auto_update.enabled': true,
|
||||
'app.dist.test_plan.channel': PreferenceTypes.UpgradeChannel.LATEST,
|
||||
'app.dist.test_plan.enabled': false,
|
||||
'app.language': null,
|
||||
'app.launch_on_boot': false,
|
||||
'app.notification.assistant.enabled': false,
|
||||
'app.notification.backup.enabled': false,
|
||||
'app.notification.knowledge.enabled': false,
|
||||
'app.privacy.data_collection.enabled': false,
|
||||
'app.proxy.bypass_rules': '',
|
||||
'app.proxy.mode': 'system',
|
||||
'app.proxy.url': '',
|
||||
'app.spell_check.enabled': false,
|
||||
'app.spell_check.languages': [],
|
||||
'app.tray.enabled': true,
|
||||
'app.tray.on_close': true,
|
||||
'app.tray.on_launch': false,
|
||||
'app.user.id': 'uuid()',
|
||||
'app.user.name': '',
|
||||
'app.zoom_factor': 1,
|
||||
'assistant.click_to_show_topic': true,
|
||||
'assistant.icon_type': 'emoji',
|
||||
'assistant.tab.show': true,
|
||||
'assistant.tab.sort_type': 'list',
|
||||
'chat.code.collapsible': false,
|
||||
'chat.code.editor.autocompletion': true,
|
||||
'chat.code.editor.enabled': false,
|
||||
'chat.code.editor.fold_gutter': false,
|
||||
'chat.code.editor.highlight_active_line': false,
|
||||
'chat.code.editor.keymap': false,
|
||||
'chat.code.editor.theme_dark': 'auto',
|
||||
'chat.code.editor.theme_light': 'auto',
|
||||
'chat.code.execution.enabled': false,
|
||||
'chat.code.execution.timeout_minutes': 1,
|
||||
'chat.code.fancy_block': true,
|
||||
'chat.code.image_tools': false,
|
||||
'chat.code.preview.theme_dark': 'auto',
|
||||
'chat.code.preview.theme_light': 'auto',
|
||||
'chat.code.show_line_numbers': false,
|
||||
'chat.code.viewer.theme_dark': 'auto',
|
||||
'chat.code.viewer.theme_light': 'auto',
|
||||
'chat.code.wrappable': false,
|
||||
'chat.input.paste_long_text_as_file': false,
|
||||
'chat.input.paste_long_text_threshold': 1500,
|
||||
'chat.input.quick_panel.triggers_enabled': false,
|
||||
'chat.input.send_message_shortcut': 'Enter',
|
||||
'chat.input.show_estimated_tokens': false,
|
||||
'chat.input.translate.auto_translate_with_space': false,
|
||||
'chat.input.translate.show_confirm': true,
|
||||
'chat.message.confirm_delete': true,
|
||||
'chat.message.confirm_regenerate': true,
|
||||
'chat.message.font': 'system',
|
||||
'chat.message.font_size': 14,
|
||||
'chat.message.math.engine': 'KaTeX',
|
||||
'chat.message.math.single_dollar': true,
|
||||
'chat.message.multi_model.fold_display_mode': 'expanded',
|
||||
'chat.message.multi_model.grid_columns': 2,
|
||||
'chat.message.multi_model.grid_popover_trigger': 'click',
|
||||
'chat.message.multi_model.style': 'horizontal',
|
||||
'chat.message.navigation_mode': 'none',
|
||||
'chat.message.render_as_markdown': false,
|
||||
'chat.message.show_divider': true,
|
||||
'chat.message.show_outline': false,
|
||||
'chat.message.show_prompt': true,
|
||||
'chat.message.style': 'plain',
|
||||
'chat.message.thought.auto_collapse': true,
|
||||
'chat.narrow_mode': false,
|
||||
'data.backup.general.skip_backup_file': false,
|
||||
'data.backup.local.auto_sync': false,
|
||||
'data.backup.local.dir': '',
|
||||
'data.backup.local.max_backups': 0,
|
||||
'data.backup.local.skip_backup_file': false,
|
||||
'data.backup.local.sync_interval': 0,
|
||||
'data.backup.nutstore.auto_sync': false,
|
||||
'data.backup.nutstore.max_backups': 0,
|
||||
'data.backup.nutstore.path': '/cherry-studio',
|
||||
'data.backup.nutstore.skip_backup_file': false,
|
||||
'data.backup.nutstore.sync_interval': 0,
|
||||
'data.backup.nutstore.token': '',
|
||||
'data.backup.s3.access_key_id': '',
|
||||
'data.backup.s3.auto_sync': false,
|
||||
'data.backup.s3.bucket': '',
|
||||
'data.backup.s3.endpoint': '',
|
||||
'data.backup.s3.max_backups': 0,
|
||||
'data.backup.s3.region': '',
|
||||
'data.backup.s3.root': '',
|
||||
'data.backup.s3.secret_access_key': '',
|
||||
'data.backup.s3.skip_backup_file': false,
|
||||
'data.backup.s3.sync_interval': 0,
|
||||
'data.backup.webdav.auto_sync': false,
|
||||
'data.backup.webdav.disable_stream': false,
|
||||
'data.backup.webdav.host': '',
|
||||
'data.backup.webdav.max_backups': 0,
|
||||
'data.backup.webdav.pass': '',
|
||||
'data.backup.webdav.path': '/cherry-studio',
|
||||
'data.backup.webdav.skip_backup_file': false,
|
||||
'data.backup.webdav.sync_interval': 0,
|
||||
'data.backup.webdav.user': '',
|
||||
'data.export.markdown.exclude_citations': false,
|
||||
'data.export.markdown.force_dollar_math': false,
|
||||
'data.export.markdown.path': null,
|
||||
'data.export.markdown.show_model_name': false,
|
||||
'data.export.markdown.show_model_provider': false,
|
||||
'data.export.markdown.standardize_citations': false,
|
||||
'data.export.markdown.use_topic_naming_for_message_title': false,
|
||||
'data.export.menus.docx': true,
|
||||
'data.export.menus.image': true,
|
||||
'data.export.menus.joplin': true,
|
||||
'data.export.menus.markdown': true,
|
||||
'data.export.menus.markdown_reason': true,
|
||||
'data.export.menus.notes': true,
|
||||
'data.export.menus.notion': true,
|
||||
'data.export.menus.obsidian': true,
|
||||
'data.export.menus.plain_text': true,
|
||||
'data.export.menus.siyuan': true,
|
||||
'data.export.menus.yuque': true,
|
||||
'data.integration.joplin.export_reasoning': false,
|
||||
'data.integration.joplin.token': '',
|
||||
'data.integration.joplin.url': '',
|
||||
'data.integration.notion.api_key': '',
|
||||
'data.integration.notion.database_id': '',
|
||||
'data.integration.notion.export_reasoning': false,
|
||||
'data.integration.notion.page_name_key': 'Name',
|
||||
'data.integration.obsidian.default_vault': '',
|
||||
'data.integration.siyuan.api_url': null,
|
||||
'data.integration.siyuan.box_id': null,
|
||||
'data.integration.siyuan.root_path': null,
|
||||
'data.integration.siyuan.token': null,
|
||||
'data.integration.yuque.repo_id': '',
|
||||
'data.integration.yuque.token': '',
|
||||
'data.integration.yuque.url': '',
|
||||
'feature.csaas.api_key': '`cs-sk-${uuid()}`',
|
||||
'feature.csaas.enabled': false,
|
||||
'feature.csaas.host': 'localhost',
|
||||
'feature.csaas.port': 23333,
|
||||
'feature.minapp.max_keep_alive': 3,
|
||||
'feature.minapp.open_link_external': false,
|
||||
'feature.minapp.show_opened_in_sidebar': true,
|
||||
'feature.notes.default_edit_mode': 'preview',
|
||||
'feature.notes.default_view_mode': 'edit',
|
||||
'feature.notes.font_family': 'default',
|
||||
'feature.notes.font_size': 16,
|
||||
'feature.notes.full_width': true,
|
||||
'feature.notes.path': '',
|
||||
'feature.notes.show_tab_status': true,
|
||||
'feature.notes.show_table_of_contents': true,
|
||||
'feature.notes.show_workspace': true,
|
||||
'feature.notes.sort_type': 'sort_a2z',
|
||||
'feature.quick_assistant.click_tray_to_show': false,
|
||||
'feature.quick_assistant.enabled': false,
|
||||
'feature.quick_assistant.read_clipboard_at_startup': true,
|
||||
'feature.selection.action_items': [
|
||||
{
|
||||
enabled: true,
|
||||
icon: 'languages',
|
||||
id: 'translate',
|
||||
isBuiltIn: true,
|
||||
name: 'selection.action.builtin.translate'
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
icon: 'file-question',
|
||||
id: 'explain',
|
||||
isBuiltIn: true,
|
||||
name: 'selection.action.builtin.explain'
|
||||
},
|
||||
{ enabled: true, icon: 'scan-text', id: 'summary', isBuiltIn: true, name: 'selection.action.builtin.summary' },
|
||||
{
|
||||
enabled: true,
|
||||
icon: 'search',
|
||||
id: 'search',
|
||||
isBuiltIn: true,
|
||||
name: 'selection.action.builtin.search',
|
||||
searchEngine: 'Google|https://www.google.com/search?q={{queryString}}'
|
||||
},
|
||||
{ enabled: true, icon: 'clipboard-copy', id: 'copy', isBuiltIn: true, name: 'selection.action.builtin.copy' },
|
||||
{ enabled: false, icon: 'wand-sparkles', id: 'refine', isBuiltIn: true, name: 'selection.action.builtin.refine' },
|
||||
{ enabled: false, icon: 'quote', id: 'quote', isBuiltIn: true, name: 'selection.action.builtin.quote' }
|
||||
],
|
||||
'feature.selection.action_window_opacity': 100,
|
||||
'feature.selection.auto_close': false,
|
||||
'feature.selection.auto_pin': false,
|
||||
'feature.selection.compact': false,
|
||||
'feature.selection.enabled': false,
|
||||
'feature.selection.filter_list': [],
|
||||
'feature.selection.filter_mode': PreferenceTypes.SelectionFilterMode.Default,
|
||||
'feature.selection.follow_toolbar': true,
|
||||
'feature.selection.remember_win_size': false,
|
||||
'feature.selection.trigger_mode': PreferenceTypes.SelectionTriggerMode.Selected,
|
||||
'feature.translate.model_prompt': TRANSLATE_PROMPT,
|
||||
'feature.translate.target_language': 'en-us',
|
||||
'shortcut.app.exit_fullscreen': { editable: false, enabled: true, key: ['Escape'], system: true },
|
||||
'shortcut.app.search_message': {
|
||||
editable: true,
|
||||
enabled: true,
|
||||
key: ['CommandOrControl', 'Shift', 'F'],
|
||||
system: false
|
||||
},
|
||||
'shortcut.app.show_main_window': { editable: true, enabled: true, key: [], system: true },
|
||||
'shortcut.app.show_mini_window': { editable: true, enabled: false, key: ['CommandOrControl', 'E'], system: true },
|
||||
'shortcut.app.show_settings': { editable: false, enabled: true, key: ['CommandOrControl', ','], system: true },
|
||||
'shortcut.app.toggle_show_assistants': {
|
||||
editable: true,
|
||||
enabled: true,
|
||||
key: ['CommandOrControl', '['],
|
||||
system: false
|
||||
},
|
||||
'shortcut.app.zoom_in': { editable: false, enabled: true, key: ['CommandOrControl', '='], system: true },
|
||||
'shortcut.app.zoom_out': { editable: false, enabled: true, key: ['CommandOrControl', '-'], system: true },
|
||||
'shortcut.app.zoom_reset': { editable: false, enabled: true, key: ['CommandOrControl', '0'], system: true },
|
||||
'shortcut.chat.clear': { editable: true, enabled: true, key: ['CommandOrControl', 'L'], system: false },
|
||||
'shortcut.chat.copy_last_message': {
|
||||
editable: true,
|
||||
enabled: false,
|
||||
key: ['CommandOrControl', 'Shift', 'C'],
|
||||
system: false
|
||||
},
|
||||
'shortcut.chat.search_message': { editable: true, enabled: true, key: ['CommandOrControl', 'F'], system: false },
|
||||
'shortcut.chat.toggle_new_context': {
|
||||
editable: true,
|
||||
enabled: true,
|
||||
key: ['CommandOrControl', 'K'],
|
||||
system: false
|
||||
},
|
||||
'shortcut.selection.get_text': { editable: true, enabled: false, key: [], system: true },
|
||||
'shortcut.selection.toggle_enabled': { editable: true, enabled: false, key: [], system: true },
|
||||
'shortcut.topic.new': { editable: true, enabled: true, key: ['CommandOrControl', 'N'], system: false },
|
||||
'topic.naming.enabled': true,
|
||||
'topic.naming_prompt': '',
|
||||
'topic.position': 'left',
|
||||
'topic.tab.pin_to_top': false,
|
||||
'topic.tab.show': true,
|
||||
'topic.tab.show_time': false,
|
||||
'ui.custom_css': '',
|
||||
'ui.navbar.position': 'top',
|
||||
'ui.sidebar.icons.invisible': [],
|
||||
'ui.sidebar.icons.visible': [
|
||||
'assistants',
|
||||
'store',
|
||||
'paintings',
|
||||
'translate',
|
||||
'minapp',
|
||||
'knowledge',
|
||||
'files',
|
||||
'code_tools',
|
||||
'notes'
|
||||
],
|
||||
'ui.theme_mode': PreferenceTypes.ThemeMode.system,
|
||||
'ui.theme_user.code_font_family': '',
|
||||
'ui.theme_user.color_primary': '#00b96b',
|
||||
'ui.theme_user.font_family': '',
|
||||
'ui.window_style': 'opaque'
|
||||
}
|
||||
}
|
||||
|
||||
// === AUTO-GENERATED CONTENT END ===
|
||||
|
||||
/**
|
||||
* 生成统计:
|
||||
* - 总配置项: 197
|
||||
* - electronStore项: 1
|
||||
* - redux项: 196
|
||||
* - localStorage项: 0
|
||||
*/
|
||||
97
packages/shared/data/preference/preferenceTypes.ts
Normal file
@@ -0,0 +1,97 @@
|
||||
import type { PreferenceSchemas } from './preferenceSchemas'
|
||||
|
||||
export type PreferenceDefaultScopeType = PreferenceSchemas['default']
|
||||
export type PreferenceKeyType = keyof PreferenceDefaultScopeType
|
||||
|
||||
export type PreferenceUpdateOptions = {
|
||||
optimistic: boolean
|
||||
}
|
||||
|
||||
export type PreferenceShortcutType = {
|
||||
key: string[]
|
||||
editable: boolean
|
||||
enabled: boolean
|
||||
system: boolean
|
||||
}
|
||||
|
||||
export enum SelectionTriggerMode {
|
||||
Selected = 'selected',
|
||||
Ctrlkey = 'ctrlkey',
|
||||
Shortcut = 'shortcut'
|
||||
}
|
||||
|
||||
export enum SelectionFilterMode {
|
||||
Default = 'default',
|
||||
Whitelist = 'whitelist',
|
||||
Blacklist = 'blacklist'
|
||||
}
|
||||
|
||||
export type SelectionActionItem = {
|
||||
id: string
|
||||
name: string
|
||||
enabled: boolean
|
||||
isBuiltIn: boolean
|
||||
icon?: string
|
||||
prompt?: string
|
||||
assistantId?: string
|
||||
selectedText?: string
|
||||
searchEngine?: string
|
||||
}
|
||||
|
||||
export enum ThemeMode {
|
||||
light = 'light',
|
||||
dark = 'dark',
|
||||
system = 'system'
|
||||
}
|
||||
|
||||
/** 有限的UI语言 */
|
||||
export type LanguageVarious =
|
||||
| 'zh-CN'
|
||||
| 'zh-TW'
|
||||
| 'el-GR'
|
||||
| 'en-US'
|
||||
| 'es-ES'
|
||||
| 'fr-FR'
|
||||
| 'ja-JP'
|
||||
| 'pt-PT'
|
||||
| 'ru-RU'
|
||||
| 'de-DE'
|
||||
|
||||
export type WindowStyle = 'transparent' | 'opaque'
|
||||
|
||||
export type SendMessageShortcut = 'Enter' | 'Shift+Enter' | 'Ctrl+Enter' | 'Command+Enter' | 'Alt+Enter'
|
||||
|
||||
export type AssistantTabSortType = 'tags' | 'list'
|
||||
|
||||
export type SidebarIcon =
|
||||
| 'assistants'
|
||||
| 'store'
|
||||
| 'paintings'
|
||||
| 'translate'
|
||||
| 'minapp'
|
||||
| 'knowledge'
|
||||
| 'files'
|
||||
| 'code_tools'
|
||||
| 'notes'
|
||||
|
||||
export type AssistantIconType = 'model' | 'emoji' | 'none'
|
||||
|
||||
export type ProxyMode = 'system' | 'custom' | 'none'
|
||||
|
||||
export type MultiModelFoldDisplayMode = 'expanded' | 'compact'
|
||||
|
||||
export type MathEngine = 'KaTeX' | 'MathJax' | 'none'
|
||||
|
||||
export enum UpgradeChannel {
|
||||
LATEST = 'latest', // 最新稳定版本
|
||||
RC = 'rc', // 公测版本
|
||||
BETA = 'beta' // 预览版本
|
||||
}
|
||||
|
||||
export type ChatMessageStyle = 'plain' | 'bubble'
|
||||
|
||||
export type ChatMessageNavigationMode = 'none' | 'buttons' | 'anchor'
|
||||
|
||||
export type MultiModelMessageStyle = 'horizontal' | 'vertical' | 'fold' | 'grid'
|
||||
|
||||
export type MultiModelGridPopoverTrigger = 'hover' | 'click'
|
||||
15
packages/ui/.gitignore
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
node_modules/
|
||||
dist/
|
||||
*.log
|
||||
.DS_Store
|
||||
|
||||
# Storybook build output
|
||||
storybook-static/
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
*.temp
|
||||
28
packages/ui/.storybook/main.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { fileURLToPath } from 'node:url'
|
||||
|
||||
import type { StorybookConfig } from '@storybook/react-vite'
|
||||
import { dirname, resolve } from 'path'
|
||||
|
||||
const config: StorybookConfig = {
|
||||
stories: ['../stories/components/**/*.stories.@(js|jsx|ts|tsx)'],
|
||||
addons: [getAbsolutePath('@storybook/addon-docs'), getAbsolutePath('@storybook/addon-themes')],
|
||||
framework: getAbsolutePath('@storybook/react-vite'),
|
||||
viteFinal: async (config) => {
|
||||
const { mergeConfig } = await import('vite')
|
||||
const tailwindPlugin = (await import('@tailwindcss/vite')).default
|
||||
return mergeConfig(config, {
|
||||
plugins: [tailwindPlugin()],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@cherrystudio/ui': resolve('src')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default config
|
||||
|
||||
function getAbsolutePath(value: string): any {
|
||||
return dirname(fileURLToPath(import.meta.resolve(`${value}/package.json`)))
|
||||
}
|
||||
26
packages/ui/.storybook/preview.tsx
Normal file
@@ -0,0 +1,26 @@
|
||||
import '../stories/tailwind.css'
|
||||
|
||||
import { withThemeByClassName } from '@storybook/addon-themes'
|
||||
import type { Preview } from '@storybook/react'
|
||||
|
||||
const preview: Preview = {
|
||||
parameters: {
|
||||
backgrounds: {
|
||||
options: {
|
||||
light: { name: 'Light', value: 'hsla(0, 0%, 97%, 1)' },
|
||||
dark: { name: 'Dark', value: 'hsla(240, 6%, 10%, 1)' }
|
||||
}
|
||||
}
|
||||
},
|
||||
decorators: [
|
||||
withThemeByClassName({
|
||||
themes: {
|
||||
light: '',
|
||||
dark: 'dark'
|
||||
},
|
||||
defaultTheme: 'light'
|
||||
})
|
||||
]
|
||||
}
|
||||
|
||||
export default preview
|
||||
150
packages/ui/MIGRATION_STATUS.md
Normal file
@@ -0,0 +1,150 @@
|
||||
# Cherry Studio UI Migration Plan
|
||||
|
||||
## Overview
|
||||
|
||||
This document outlines the detailed plan for migrating Cherry Studio from antd + styled-components to shadcn/ui + Tailwind CSS. We will adopt a progressive migration strategy to ensure system stability and development efficiency, while gradually implementing UI refactoring in collaboration with UI designers.
|
||||
|
||||
## Migration Strategy
|
||||
|
||||
### Target Tech Stack
|
||||
|
||||
- **UI Component Library**: shadcn/ui (replacing antd and previously migrated HeroUI)
|
||||
- **Styling Solution**: Tailwind CSS v4 (replacing styled-components)
|
||||
- **Design System**: Custom CSS variable system (`--cs-*` namespace)
|
||||
- **Theme System**: CSS variables + Tailwind CSS theme
|
||||
|
||||
### Migration Principles
|
||||
|
||||
1. **Backward Compatibility**: Old components continue working until new components are fully available
|
||||
2. **Progressive Migration**: Migrate components one by one to avoid large-scale rewrites
|
||||
3. **Feature Parity**: Ensure new components have all the functionality of old components
|
||||
4. **Design Consistency**: Follow new design system specifications (see [README.md](./README.md))
|
||||
5. **Performance Priority**: Optimize bundle size and rendering performance
|
||||
6. **Designer Collaboration**: Work with UI designers for gradual component encapsulation and UI optimization
|
||||
|
||||
## Usage Example
|
||||
|
||||
```typescript
|
||||
// Import components from @cherrystudio/ui
|
||||
import { Spinner, DividerWithText, InfoTooltip } from '@cherrystudio/ui'
|
||||
|
||||
// Use in components
|
||||
function MyComponent() {
|
||||
return (
|
||||
<div>
|
||||
<Spinner size={24} />
|
||||
<DividerWithText text="Divider Text" />
|
||||
<InfoTooltip content="Tooltip message" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## Directory Structure
|
||||
|
||||
```text
|
||||
@packages/ui/
|
||||
├── src/
|
||||
│ ├── components/ # Main components directory
|
||||
│ │ ├── primitives/ # Basic/primitive components (Avatar, ErrorBoundary, Selector, etc.)
|
||||
│ │ │ └── shadcn-io/ # shadcn/ui components (dropzone, etc.)
|
||||
│ │ ├── icons/ # Icon components (Icon, FileIcons, etc.)
|
||||
│ │ └── composites/ # Composite components (CodeEditor, ListItem, etc.)
|
||||
│ ├── hooks/ # Custom React Hooks
|
||||
│ ├── styles/ # Global styles and CSS variables
|
||||
│ ├── types/ # TypeScript type definitions
|
||||
│ ├── utils/ # Utility functions
|
||||
│ └── index.ts # Main export file
|
||||
```
|
||||
|
||||
### Component Classification Guide
|
||||
|
||||
When submitting PRs, please place components in the correct directory based on their function:
|
||||
|
||||
- **primitives**: Basic and primitive UI elements, shadcn/ui components
|
||||
- `Avatar`: Avatar components
|
||||
- `ErrorBoundary`: Error boundary components
|
||||
- `Selector`: Selection components
|
||||
- `shadcn-io/`: Direct shadcn/ui components or adaptations
|
||||
- **icons**: All icon-related components
|
||||
- `Icon`: Icon factory and basic icons
|
||||
- `FileIcons`: File-specific icons
|
||||
- Loading/spinner icons (SvgSpinners180Ring, ToolsCallingIcon, etc.)
|
||||
- **composites**: Complex components made from multiple primitives
|
||||
- `CodeEditor`: Code editing components
|
||||
- `ListItem`: List item components
|
||||
- `ThinkingEffect`: Animation components
|
||||
- Form and interaction components (DraggableList, EditableNumber, etc.)
|
||||
|
||||
## Component Extraction Criteria
|
||||
|
||||
### Extraction Standards
|
||||
|
||||
1. **Usage Frequency**: Component is used in ≥ 3 places in the codebase
|
||||
2. **Future Reusability**: Expected to be used in multiple scenarios in the future
|
||||
3. **Business Complexity**: Component contains complex interaction logic or state management
|
||||
4. **Maintenance Cost**: Centralized management can reduce maintenance overhead
|
||||
5. **Design Consistency**: Components that require unified visual and interaction experience
|
||||
6. **Test Coverage**: As common components, they facilitate unit test writing and maintenance
|
||||
|
||||
### Extraction Principles
|
||||
|
||||
- **Single Responsibility**: Each component should only handle one clear function
|
||||
- **Highly Configurable**: Provide flexible configuration options through props
|
||||
- **Backward Compatible**: New versions maintain API backward compatibility
|
||||
- **Complete Documentation**: Provide clear API documentation and usage examples
|
||||
- **Type Safety**: Use TypeScript to ensure type safety
|
||||
|
||||
### Cases Not Recommended for Extraction
|
||||
|
||||
- Simple display components used only on a single page
|
||||
- Overly customized business logic components
|
||||
- Components tightly coupled to specific data sources
|
||||
|
||||
## Migration Steps
|
||||
|
||||
| Phase | Status | Main Tasks | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| **Phase 1** | ✅ **Completed** | **Design System Integration** | • Converted design tokens from todocss.css to tokens.css with `--cs-*` namespace<br>• Created theme.css mapping all design tokens to standard Tailwind classes<br>• Extended Tailwind with semantic spacing (5xs~8xl) and radius (4xs~3xl) systems<br>• Established two usage modes: full override and selective override<br>• Cleaned up main package's conflicting Shadcn theme definitions |
|
||||
| **Phase 2** | ⏳ **To Start** | **Component Migration and Optimization** | • Filter components for migration based on extraction criteria<br>• Remove antd dependencies, replace with shadcn/ui<br>• Remove HeroUI dependencies, replace with shadcn/ui<br>• Remove styled-components, replace with Tailwind CSS + design system variables<br>• Optimize component APIs and type definitions |
|
||||
| **Phase 3** | ⏳ **To Start** | **UI Refactoring and Optimization** | • Gradually implement UI refactoring with UI designers<br>• Ensure visual consistency and user experience<br>• Performance optimization and code quality improvement |
|
||||
|
||||
## Notes
|
||||
|
||||
1. **Do NOT migrate** components with these dependencies (can be migrated after decoupling):
|
||||
- window.api calls
|
||||
- Redux (useSelector, useDispatch, etc.)
|
||||
- Other external data sources
|
||||
|
||||
2. **Can migrate** but need decoupling later:
|
||||
- Components using i18n (change i18n to props)
|
||||
- Components using antd (replace with shadcn/ui later)
|
||||
- Components using HeroUI (replace with shadcn/ui later)
|
||||
|
||||
3. **Submission Guidelines**:
|
||||
- Each PR should focus on one category of components
|
||||
- Ensure all migrated components are exported
|
||||
- Follow component extraction criteria, only migrate qualified components
|
||||
|
||||
## Design System Integration
|
||||
|
||||
### CSS Variable System
|
||||
|
||||
- All design tokens use `--cs-*` namespace (e.g., `--cs-primary`, `--cs-red-500`)
|
||||
- Complete color palette: 17 colors × 11 shades each
|
||||
- Semantic spacing system: `5xs` through `8xl` (16 levels)
|
||||
- Semantic radius system: `4xs` through `3xl` plus `round` (11 levels)
|
||||
- Full light/dark mode support
|
||||
- See [README.md](./README.md) for usage documentation
|
||||
|
||||
### Migration Priority Adjustment
|
||||
|
||||
1. **High Priority**: Basic components (buttons, inputs, tags, etc.)
|
||||
2. **Medium Priority**: Display components (cards, lists, tables, etc.)
|
||||
3. **Low Priority**: Composite components and business-coupled components
|
||||
|
||||
### UI Designer Collaboration
|
||||
|
||||
- All component designs need confirmation from UI designers
|
||||
- Gradually implement UI refactoring to maintain visual consistency
|
||||
- New components must comply with design system specifications
|
||||
263
packages/ui/README.md
Normal file
@@ -0,0 +1,263 @@
|
||||
# @cherrystudio/ui
|
||||
|
||||
Cherry Studio UI 组件库 - 为 Cherry Studio 设计的 React 组件集合
|
||||
|
||||
## ✨ 特性
|
||||
|
||||
- 🎨 **设计系统**: 完整的 CherryStudio 设计令牌(17种颜色 × 11个色阶 + 语义化主题)
|
||||
- 🌓 **Dark Mode**: 开箱即用的深色模式支持
|
||||
- 🚀 **Tailwind v4**: 基于最新 Tailwind CSS v4 构建
|
||||
- 📦 **灵活导入**: 2种样式导入方式,满足不同使用场景
|
||||
- 🔷 **TypeScript**: 完整的类型定义和智能提示
|
||||
- 🎯 **零冲突**: CSS 变量隔离,不覆盖用户主题
|
||||
|
||||
---
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 安装
|
||||
|
||||
```bash
|
||||
npm install @cherrystudio/ui
|
||||
# peer dependencies
|
||||
npm install framer-motion react react-dom tailwindcss
|
||||
```
|
||||
|
||||
### 两种使用方式
|
||||
|
||||
#### 方式 1:完整覆盖 ✨
|
||||
|
||||
使用完整的 CherryStudio 设计系统,所有 Tailwind 类名映射到设计系统。
|
||||
|
||||
```css
|
||||
/* app.css */
|
||||
@import '@cherrystudio/ui/styles/theme.css';
|
||||
```
|
||||
|
||||
**特点**:
|
||||
|
||||
- ✅ 直接使用标准 Tailwind 类名(`bg-primary`、`bg-red-500`、`p-md`、`rounded-lg`)
|
||||
- ✅ 所有颜色使用设计师定义的值
|
||||
- ✅ 扩展的 Spacing 系统(`p-5xs` ~ `p-8xl`,共 16 个语义化尺寸)
|
||||
- ✅ 扩展的 Radius 系统(`rounded-4xs` ~ `rounded-3xl`,共 11 个圆角)
|
||||
- ⚠️ 会完全覆盖 Tailwind 默认主题
|
||||
|
||||
**示例**:
|
||||
|
||||
```tsx
|
||||
<Button className="bg-primary text-red-500 p-md rounded-lg">
|
||||
{/* bg-primary → 品牌色(lime-500) */}
|
||||
{/* text-red-500 → 设计师定义的红色 */}
|
||||
{/* p-md → 2.5rem(spacing-md) */}
|
||||
{/* rounded-lg → 2.5rem(radius-lg) */}
|
||||
</Button>
|
||||
|
||||
{/* 扩展的工具类 */}
|
||||
<div className="p-5xs">最小间距 (0.5rem)</div>
|
||||
<div className="p-xs">超小间距 (1rem)</div>
|
||||
<div className="p-sm">小间距 (1.5rem)</div>
|
||||
<div className="p-md">中等间距 (2.5rem)</div>
|
||||
<div className="p-lg">大间距 (3.5rem)</div>
|
||||
<div className="p-xl">超大间距 (5rem)</div>
|
||||
<div className="p-8xl">最大间距 (15rem)</div>
|
||||
|
||||
<div className="rounded-4xs">最小圆角 (0.25rem)</div>
|
||||
<div className="rounded-xs">小圆角 (1rem)</div>
|
||||
<div className="rounded-md">中等圆角 (2rem)</div>
|
||||
<div className="rounded-xl">大圆角 (3rem)</div>
|
||||
<div className="rounded-round">完全圆角 (999px)</div>
|
||||
```
|
||||
|
||||
#### 方式 2:选择性覆盖 🎯
|
||||
|
||||
只导入设计令牌(CSS 变量),手动选择要覆盖的部分。
|
||||
|
||||
```css
|
||||
/* app.css */
|
||||
@import 'tailwindcss';
|
||||
@import '@cherrystudio/ui/styles/tokens.css';
|
||||
|
||||
/* 只使用部分设计系统 */
|
||||
@theme {
|
||||
--color-primary: var(--cs-primary); /* 使用 CS 的主色 */
|
||||
--color-red-500: oklch(...); /* 使用自己的红色 */
|
||||
--spacing-md: var(--cs-size-md); /* 使用 CS 的间距 */
|
||||
--radius-lg: 1rem; /* 使用自己的圆角 */
|
||||
}
|
||||
```
|
||||
|
||||
**特点**:
|
||||
|
||||
- ✅ 不覆盖任何 Tailwind 默认主题
|
||||
- ✅ 通过 CSS 变量访问所有设计令牌(`var(--cs-primary)`、`var(--cs-red-500)`)
|
||||
- ✅ 精细控制哪些使用 CS、哪些保持原样
|
||||
- ✅ 适合有自己设计系统但想借用部分 CS 设计令牌的场景
|
||||
|
||||
**示例**:
|
||||
|
||||
```tsx
|
||||
{/* 通过 CSS 变量使用 CS 设计令牌 */}
|
||||
<button style={{ backgroundColor: 'var(--cs-primary)' }}>
|
||||
使用 CherryStudio 品牌色
|
||||
</button>
|
||||
|
||||
{/* 保持原有的 Tailwind 类名不受影响 */}
|
||||
<div className="bg-red-500">
|
||||
使用 Tailwind 默认的红色
|
||||
</div>
|
||||
|
||||
{/* 可用的 CSS 变量 */}
|
||||
<div style={{
|
||||
color: 'var(--cs-primary)', // 品牌色
|
||||
backgroundColor: 'var(--cs-red-500)', // 红色-500
|
||||
padding: 'var(--cs-size-md)', // 间距
|
||||
borderRadius: 'var(--cs-radius-lg)' // 圆角
|
||||
}} />
|
||||
```
|
||||
|
||||
### Provider 配置
|
||||
|
||||
在你的 App 根组件中添加 HeroUI Provider:
|
||||
|
||||
```tsx
|
||||
import { HeroUIProvider } from '@heroui/react'
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<HeroUIProvider>
|
||||
{/* 你的应用内容 */}
|
||||
</HeroUIProvider>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## 使用
|
||||
|
||||
### 基础组件
|
||||
|
||||
```tsx
|
||||
import { Button, Input } from '@cherrystudio/ui'
|
||||
|
||||
function App() {
|
||||
return (
|
||||
<div>
|
||||
<Button variant="primary" size="md">
|
||||
点击我
|
||||
</Button>
|
||||
<Input
|
||||
type="text"
|
||||
placeholder="请输入内容"
|
||||
onChange={(value) => console.log(value)}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
### 分模块导入
|
||||
|
||||
```tsx
|
||||
// 只导入组件
|
||||
import { Button } from '@cherrystudio/ui/components'
|
||||
|
||||
// 只导入工具函数
|
||||
import { cn, formatFileSize } from '@cherrystudio/ui/utils'
|
||||
```
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
yarn install
|
||||
|
||||
# 开发模式(监听文件变化)
|
||||
yarn dev
|
||||
|
||||
# 构建
|
||||
yarn build
|
||||
|
||||
# 类型检查
|
||||
yarn type-check
|
||||
|
||||
# 运行测试
|
||||
yarn test
|
||||
```
|
||||
|
||||
## 目录结构
|
||||
|
||||
```text
|
||||
src/
|
||||
├── components/ # React 组件
|
||||
│ ├── Button/ # 按钮组件
|
||||
│ ├── Input/ # 输入框组件
|
||||
│ └── index.ts # 组件导出
|
||||
├── hooks/ # React Hooks
|
||||
├── utils/ # 工具函数
|
||||
├── types/ # 类型定义
|
||||
└── index.ts # 主入口文件
|
||||
```
|
||||
|
||||
## 组件列表
|
||||
|
||||
### Button 按钮
|
||||
|
||||
支持多种变体和尺寸的按钮组件。
|
||||
|
||||
**Props:**
|
||||
|
||||
- `variant`: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'
|
||||
- `size`: 'sm' | 'md' | 'lg'
|
||||
- `loading`: boolean
|
||||
- `fullWidth`: boolean
|
||||
- `leftIcon` / `rightIcon`: React.ReactNode
|
||||
|
||||
### Input 输入框
|
||||
|
||||
带有错误处理和密码显示切换的输入框组件。
|
||||
|
||||
**Props:**
|
||||
|
||||
- `type`: 'text' | 'password' | 'email' | 'number'
|
||||
- `error`: boolean
|
||||
- `errorMessage`: string
|
||||
- `onChange`: (value: string) => void
|
||||
|
||||
## Hooks
|
||||
|
||||
### useDebounce
|
||||
|
||||
防抖处理,延迟执行状态更新。
|
||||
|
||||
### useLocalStorage
|
||||
|
||||
本地存储的 React Hook 封装。
|
||||
|
||||
### useClickOutside
|
||||
|
||||
检测点击元素外部区域。
|
||||
|
||||
### useCopyToClipboard
|
||||
|
||||
复制文本到剪贴板。
|
||||
|
||||
## 工具函数
|
||||
|
||||
### cn(...inputs)
|
||||
|
||||
基于 clsx 的类名合并工具,支持条件类名。
|
||||
|
||||
### formatFileSize(bytes)
|
||||
|
||||
格式化文件大小显示。
|
||||
|
||||
### debounce(func, delay)
|
||||
|
||||
防抖函数。
|
||||
|
||||
### throttle(func, delay)
|
||||
|
||||
节流函数。
|
||||
|
||||
## 许可证
|
||||
|
||||
MIT
|
||||
21
packages/ui/components.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://ui.shadcn.com/schema.json",
|
||||
"aliases": {
|
||||
"components": "@cherrystudio/ui/components",
|
||||
"hooks": "@cherrystudio/ui/hooks",
|
||||
"lib": "@cherrystudio/ui/lib",
|
||||
"ui": "@cherrystudio/ui/components/primitives",
|
||||
"utils": "@cherrystudio/ui/utils"
|
||||
},
|
||||
"iconLibrary": "lucide",
|
||||
"rsc": false,
|
||||
"style": "new-york",
|
||||
"tailwind": {
|
||||
"baseColor": "zinc",
|
||||
"config": "",
|
||||
"css": "src/styles/theme.css",
|
||||
"cssVariables": true,
|
||||
"prefix": ""
|
||||
},
|
||||
"tsx": true
|
||||
}
|
||||
15
packages/ui/design-reference/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Design Reference
|
||||
|
||||
本文件夹包含设计师提供的原始设计令牌文件,仅作为参考使用。
|
||||
|
||||
## 文件说明
|
||||
|
||||
### *.hsla.css
|
||||
为hsla格式的色值
|
||||
|
||||
## 注意事项
|
||||
|
||||
⚠️ **请勿直接使用此文件夹中的文件**
|
||||
- 这些文件仅供参考
|
||||
- 实际使用请导入 `src/styles/` 中的文件
|
||||
|
||||
309
packages/ui/design-reference/primitive.hsla.css
Normal file
@@ -0,0 +1,309 @@
|
||||
/**
|
||||
* Primitive Colors - Light Mode
|
||||
* 基础色板 - 所有原始颜色定义
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Neutral */
|
||||
--cs-neutral-50: hsla(0, 0%, 98%, 1);
|
||||
--cs-neutral-100: hsla(0, 0%, 96%, 1);
|
||||
--cs-neutral-200: hsla(0, 0%, 90%, 1);
|
||||
--cs-neutral-300: hsla(0, 0%, 83%, 1);
|
||||
--cs-neutral-400: hsla(0, 0%, 64%, 1);
|
||||
--cs-neutral-500: hsla(0, 0%, 45%, 1);
|
||||
--cs-neutral-600: hsla(215, 14%, 34%, 1);
|
||||
--cs-neutral-700: hsla(0, 0%, 25%, 1);
|
||||
--cs-neutral-800: hsla(0, 0%, 15%, 1);
|
||||
--cs-neutral-900: hsla(0, 0%, 9%, 1);
|
||||
--cs-neutral-950: hsla(0, 0%, 4%, 1);
|
||||
|
||||
/* Stone */
|
||||
--cs-stone-50: hsla(60, 9%, 98%, 1);
|
||||
--cs-stone-100: hsla(60, 5%, 96%, 1);
|
||||
--cs-stone-200: hsla(20, 6%, 90%, 1);
|
||||
--cs-stone-300: hsla(24, 6%, 83%, 1);
|
||||
--cs-stone-400: hsla(24, 5%, 64%, 1);
|
||||
--cs-stone-500: hsla(25, 5%, 45%, 1);
|
||||
--cs-stone-600: hsla(33, 5%, 32%, 1);
|
||||
--cs-stone-700: hsla(30, 6%, 25%, 1);
|
||||
--cs-stone-800: hsla(12, 6%, 15%, 1);
|
||||
--cs-stone-900: hsla(24, 10%, 10%, 1);
|
||||
--cs-stone-950: hsla(20, 14%, 4%, 1);
|
||||
|
||||
/* Zinc */
|
||||
--cs-zinc-50: hsla(0, 0%, 98%, 1);
|
||||
--cs-zinc-100: hsla(240, 5%, 96%, 1);
|
||||
--cs-zinc-200: hsla(240, 6%, 90%, 1);
|
||||
--cs-zinc-300: hsla(240, 5%, 84%, 1);
|
||||
--cs-zinc-400: hsla(240, 5%, 65%, 1);
|
||||
--cs-zinc-500: hsla(240, 4%, 46%, 1);
|
||||
--cs-zinc-600: hsla(240, 5%, 34%, 1);
|
||||
--cs-zinc-700: hsla(240, 5%, 26%, 1);
|
||||
--cs-zinc-800: hsla(240, 4%, 16%, 1);
|
||||
--cs-zinc-900: hsla(240, 6%, 10%, 1);
|
||||
--cs-zinc-950: hsla(240, 10%, 4%, 1);
|
||||
|
||||
/* Slate */
|
||||
--cs-slate-50: hsla(210, 40%, 98%, 1);
|
||||
--cs-slate-100: hsla(210, 40%, 96%, 1);
|
||||
--cs-slate-200: hsla(214, 32%, 91%, 1);
|
||||
--cs-slate-300: hsla(213, 27%, 84%, 1);
|
||||
--cs-slate-400: hsla(215, 20%, 65%, 1);
|
||||
--cs-slate-500: hsla(215, 16%, 47%, 1);
|
||||
--cs-slate-600: hsla(215, 19%, 35%, 1);
|
||||
--cs-slate-700: hsla(215, 25%, 27%, 1);
|
||||
--cs-slate-800: hsla(217, 33%, 17%, 1);
|
||||
--cs-slate-900: hsla(222, 47%, 11%, 1);
|
||||
--cs-slate-950: hsla(229, 84%, 5%, 1);
|
||||
|
||||
/* Gray */
|
||||
--cs-gray-50: hsla(210, 20%, 98%, 1);
|
||||
--cs-gray-100: hsla(220, 14%, 96%, 1);
|
||||
--cs-gray-200: hsla(220, 13%, 91%, 1);
|
||||
--cs-gray-300: hsla(216, 12%, 84%, 1);
|
||||
--cs-gray-400: hsla(218, 11%, 65%, 1);
|
||||
--cs-gray-500: hsla(220, 9%, 46%, 1);
|
||||
--cs-gray-600: hsla(0, 0%, 32%, 1);
|
||||
--cs-gray-700: hsla(217, 19%, 27%, 1);
|
||||
--cs-gray-800: hsla(215, 28%, 17%, 1);
|
||||
--cs-gray-900: hsla(221, 39%, 11%, 1);
|
||||
--cs-gray-950: hsla(224, 71%, 4%, 1);
|
||||
|
||||
/* Red */
|
||||
--cs-red-50: hsla(0, 86%, 97%, 1);
|
||||
--cs-red-100: hsla(0, 93%, 94%, 1);
|
||||
--cs-red-200: hsla(0, 96%, 89%, 1);
|
||||
--cs-red-300: hsla(0, 94%, 82%, 1);
|
||||
--cs-red-400: hsla(0, 91%, 71%, 1);
|
||||
--cs-red-500: hsla(0, 84%, 60%, 1);
|
||||
--cs-red-600: hsla(0, 72%, 51%, 1);
|
||||
--cs-red-700: hsla(0, 74%, 42%, 1);
|
||||
--cs-red-800: hsla(0, 70%, 35%, 1);
|
||||
--cs-red-900: hsla(0, 63%, 31%, 1);
|
||||
--cs-red-950: hsla(0, 75%, 15%, 1);
|
||||
|
||||
/* Orange */
|
||||
--cs-orange-50: hsla(33, 100%, 96%, 1);
|
||||
--cs-orange-100: hsla(34, 100%, 92%, 1);
|
||||
--cs-orange-200: hsla(32, 98%, 83%, 1);
|
||||
--cs-orange-300: hsla(31, 97%, 72%, 1);
|
||||
--cs-orange-400: hsla(27, 96%, 61%, 1);
|
||||
--cs-orange-500: hsla(25, 95%, 53%, 1);
|
||||
--cs-orange-600: hsla(21, 90%, 48%, 1);
|
||||
--cs-orange-700: hsla(17, 88%, 40%, 1);
|
||||
--cs-orange-800: hsla(15, 79%, 34%, 1);
|
||||
--cs-orange-900: hsla(15, 75%, 28%, 1);
|
||||
--cs-orange-950: hsla(13, 81%, 15%, 1);
|
||||
|
||||
/* Amber */
|
||||
--cs-amber-50: hsla(48, 100%, 96%, 1);
|
||||
--cs-amber-100: hsla(48, 96%, 89%, 1);
|
||||
--cs-amber-200: hsla(48, 97%, 77%, 1);
|
||||
--cs-amber-300: hsla(46, 97%, 65%, 1);
|
||||
--cs-amber-400: hsla(43, 96%, 56%, 1);
|
||||
--cs-amber-500: hsla(38, 92%, 50%, 1);
|
||||
--cs-amber-600: hsla(32, 95%, 44%, 1);
|
||||
--cs-amber-700: hsla(26, 90%, 37%, 1);
|
||||
--cs-amber-800: hsla(23, 83%, 31%, 1);
|
||||
--cs-amber-900: hsla(22, 78%, 26%, 1);
|
||||
--cs-amber-950: hsla(21, 92%, 14%, 1);
|
||||
|
||||
/* Yellow */
|
||||
--cs-yellow-50: hsla(55, 92%, 95%, 1);
|
||||
--cs-yellow-100: hsla(55, 97%, 88%, 1);
|
||||
--cs-yellow-200: hsla(53, 98%, 77%, 1);
|
||||
--cs-yellow-300: hsla(50, 98%, 64%, 1);
|
||||
--cs-yellow-400: hsla(48, 96%, 53%, 1);
|
||||
--cs-yellow-500: hsla(45, 93%, 47%, 1);
|
||||
--cs-yellow-600: hsla(41, 96%, 40%, 1);
|
||||
--cs-yellow-700: hsla(35, 92%, 33%, 1);
|
||||
--cs-yellow-800: hsla(32, 81%, 29%, 1);
|
||||
--cs-yellow-900: hsla(28, 73%, 26%, 1);
|
||||
--cs-yellow-950: hsla(26, 83%, 14%, 1);
|
||||
|
||||
/* Lime (品牌主色) */
|
||||
--cs-lime-50: hsla(78, 92%, 95%, 1);
|
||||
--cs-lime-100: hsla(80, 89%, 89%, 1);
|
||||
--cs-lime-200: hsla(81, 88%, 80%, 1);
|
||||
--cs-lime-300: hsla(82, 85%, 67%, 1);
|
||||
--cs-lime-400: hsla(83, 78%, 55%, 1);
|
||||
--cs-lime-500: hsla(84, 81%, 44%, 1);
|
||||
--cs-lime-600: hsla(85, 85%, 35%, 1);
|
||||
--cs-lime-700: hsla(86, 78%, 27%, 1);
|
||||
--cs-lime-800: hsla(86, 69%, 23%, 1);
|
||||
--cs-lime-900: hsla(88, 61%, 20%, 1);
|
||||
--cs-lime-950: hsla(89, 80%, 10%, 1);
|
||||
|
||||
/* Green */
|
||||
--cs-green-50: hsla(138, 76%, 97%, 1);
|
||||
--cs-green-100: hsla(141, 84%, 93%, 1);
|
||||
--cs-green-200: hsla(141, 79%, 85%, 1);
|
||||
--cs-green-300: hsla(142, 77%, 73%, 1);
|
||||
--cs-green-400: hsla(142, 69%, 58%, 1);
|
||||
--cs-green-500: hsla(142, 71%, 45%, 1);
|
||||
--cs-green-600: hsla(142, 76%, 36%, 1);
|
||||
--cs-green-700: hsla(142, 72%, 29%, 1);
|
||||
--cs-green-800: hsla(143, 64%, 24%, 1);
|
||||
--cs-green-900: hsla(144, 61%, 20%, 1);
|
||||
--cs-green-950: hsla(145, 80%, 10%, 1);
|
||||
|
||||
/* Emerald */
|
||||
--cs-emerald-50: hsla(152, 81%, 96%, 1);
|
||||
--cs-emerald-100: hsla(149, 80%, 90%, 1);
|
||||
--cs-emerald-200: hsla(152, 76%, 80%, 1);
|
||||
--cs-emerald-300: hsla(156, 72%, 67%, 1);
|
||||
--cs-emerald-400: hsla(158, 64%, 52%, 1);
|
||||
--cs-emerald-500: hsla(160, 84%, 39%, 1);
|
||||
--cs-emerald-600: hsla(161, 94%, 30%, 1);
|
||||
--cs-emerald-700: hsla(163, 94%, 24%, 1);
|
||||
--cs-emerald-800: hsla(163, 88%, 20%, 1);
|
||||
--cs-emerald-900: hsla(164, 86%, 16%, 1);
|
||||
--cs-emerald-950: hsla(166, 91%, 9%, 1);
|
||||
|
||||
/* Teal */
|
||||
--cs-teal-50: hsla(166, 76%, 97%, 1);
|
||||
--cs-teal-100: hsla(167, 85%, 89%, 1);
|
||||
--cs-teal-200: hsla(168, 84%, 78%, 1);
|
||||
--cs-teal-300: hsla(171, 77%, 64%, 1);
|
||||
--cs-teal-400: hsla(172, 66%, 50%, 1);
|
||||
--cs-teal-500: hsla(173, 80%, 40%, 1);
|
||||
--cs-teal-600: hsla(175, 84%, 32%, 1);
|
||||
--cs-teal-700: hsla(175, 77%, 26%, 1);
|
||||
--cs-teal-800: hsla(176, 69%, 22%, 1);
|
||||
--cs-teal-900: hsla(176, 61%, 19%, 1);
|
||||
--cs-teal-950: hsla(179, 84%, 10%, 1);
|
||||
|
||||
/* Cyan */
|
||||
--cs-cyan-50: hsla(183, 100%, 96%, 1);
|
||||
--cs-cyan-100: hsla(185, 96%, 90%, 1);
|
||||
--cs-cyan-200: hsla(186, 94%, 82%, 1);
|
||||
--cs-cyan-300: hsla(187, 92%, 69%, 1);
|
||||
--cs-cyan-400: hsla(188, 86%, 53%, 1);
|
||||
--cs-cyan-500: hsla(189, 94%, 43%, 1);
|
||||
--cs-cyan-600: hsla(192, 91%, 36%, 1);
|
||||
--cs-cyan-700: hsla(193, 82%, 31%, 1);
|
||||
--cs-cyan-800: hsla(194, 70%, 27%, 1);
|
||||
--cs-cyan-900: hsla(196, 64%, 24%, 1);
|
||||
--cs-cyan-950: hsla(197, 79%, 15%, 1);
|
||||
|
||||
/* Sky */
|
||||
--cs-sky-50: hsla(204, 100%, 97%, 1);
|
||||
--cs-sky-100: hsla(204, 94%, 94%, 1);
|
||||
--cs-sky-200: hsla(201, 94%, 86%, 1);
|
||||
--cs-sky-300: hsla(199, 95%, 74%, 1);
|
||||
--cs-sky-400: hsla(198, 93%, 60%, 1);
|
||||
--cs-sky-500: hsla(199, 89%, 48%, 1);
|
||||
--cs-sky-600: hsla(200, 98%, 39%, 1);
|
||||
--cs-sky-700: hsla(201, 96%, 32%, 1);
|
||||
--cs-sky-800: hsla(201, 90%, 27%, 1);
|
||||
--cs-sky-900: hsla(202, 80%, 24%, 1);
|
||||
--cs-sky-950: hsla(204, 80%, 16%, 1);
|
||||
|
||||
/* Blue */
|
||||
--cs-blue-50: hsla(214, 100%, 97%, 1);
|
||||
--cs-blue-100: hsla(214, 95%, 93%, 1);
|
||||
--cs-blue-200: hsla(213, 97%, 87%, 1);
|
||||
--cs-blue-300: hsla(212, 96%, 78%, 1);
|
||||
--cs-blue-400: hsla(213, 94%, 68%, 1);
|
||||
--cs-blue-500: hsla(217, 91%, 60%, 1);
|
||||
--cs-blue-600: hsla(221, 83%, 53%, 1);
|
||||
--cs-blue-700: hsla(224, 76%, 48%, 1);
|
||||
--cs-blue-800: hsla(226, 71%, 40%, 1);
|
||||
--cs-blue-900: hsla(224, 64%, 33%, 1);
|
||||
--cs-blue-950: hsla(226, 57%, 21%, 1);
|
||||
|
||||
/* Indigo */
|
||||
--cs-indigo-50: hsla(226, 100%, 97%, 1);
|
||||
--cs-indigo-100: hsla(226, 100%, 94%, 1);
|
||||
--cs-indigo-200: hsla(228, 96%, 89%, 1);
|
||||
--cs-indigo-300: hsla(230, 94%, 82%, 1);
|
||||
--cs-indigo-400: hsla(234, 89%, 74%, 1);
|
||||
--cs-indigo-500: hsla(239, 84%, 67%, 1);
|
||||
--cs-indigo-600: hsla(243, 75%, 59%, 1);
|
||||
--cs-indigo-700: hsla(245, 58%, 51%, 1);
|
||||
--cs-indigo-800: hsla(244, 55%, 41%, 1);
|
||||
--cs-indigo-900: hsla(242, 47%, 34%, 1);
|
||||
--cs-indigo-950: hsla(244, 47%, 20%, 1);
|
||||
|
||||
/* Violet */
|
||||
--cs-violet-50: hsla(250, 100%, 98%, 1);
|
||||
--cs-violet-100: hsla(251, 91%, 95%, 1);
|
||||
--cs-violet-200: hsla(251, 95%, 92%, 1);
|
||||
--cs-violet-300: hsla(253, 95%, 85%, 1);
|
||||
--cs-violet-400: hsla(255, 92%, 76%, 1);
|
||||
--cs-violet-500: hsla(258, 90%, 66%, 1);
|
||||
--cs-violet-600: hsla(262, 83%, 58%, 1);
|
||||
--cs-violet-700: hsla(263, 70%, 50%, 1);
|
||||
--cs-violet-800: hsla(263, 69%, 42%, 1);
|
||||
--cs-violet-900: hsla(264, 67%, 35%, 1);
|
||||
--cs-violet-950: hsla(262, 78%, 23%, 1);
|
||||
|
||||
/* Purple */
|
||||
--cs-purple-50: hsla(270, 100%, 98%, 1);
|
||||
--cs-purple-100: hsla(269, 100%, 95%, 1);
|
||||
--cs-purple-200: hsla(269, 100%, 92%, 1);
|
||||
--cs-purple-300: hsla(269, 97%, 85%, 1);
|
||||
--cs-purple-400: hsla(270, 95%, 75%, 1);
|
||||
--cs-purple-500: hsla(271, 91%, 65%, 1);
|
||||
--cs-purple-600: hsla(271, 81%, 56%, 1);
|
||||
--cs-purple-700: hsla(272, 72%, 47%, 1);
|
||||
--cs-purple-800: hsla(273, 67%, 39%, 1);
|
||||
--cs-purple-900: hsla(274, 66%, 32%, 1);
|
||||
--cs-purple-950: hsla(274, 87%, 21%, 1);
|
||||
|
||||
/* Fuchsia */
|
||||
--cs-fuchsia-50: hsla(289, 100%, 98%, 1);
|
||||
--cs-fuchsia-100: hsla(287, 100%, 95%, 1);
|
||||
--cs-fuchsia-200: hsla(288, 96%, 91%, 1);
|
||||
--cs-fuchsia-300: hsla(291, 93%, 83%, 1);
|
||||
--cs-fuchsia-400: hsla(292, 91%, 73%, 1);
|
||||
--cs-fuchsia-500: hsla(292, 84%, 61%, 1);
|
||||
--cs-fuchsia-600: hsla(293, 69%, 49%, 1);
|
||||
--cs-fuchsia-700: hsla(295, 72%, 40%, 1);
|
||||
--cs-fuchsia-800: hsla(295, 70%, 33%, 1);
|
||||
--cs-fuchsia-900: hsla(297, 64%, 28%, 1);
|
||||
--cs-fuchsia-950: hsla(297, 90%, 16%, 1);
|
||||
|
||||
/* Pink */
|
||||
--cs-pink-50: hsla(327, 73%, 97%, 1);
|
||||
--cs-pink-100: hsla(326, 78%, 95%, 1);
|
||||
--cs-pink-200: hsla(326, 85%, 90%, 1);
|
||||
--cs-pink-300: hsla(327, 87%, 82%, 1);
|
||||
--cs-pink-400: hsla(329, 86%, 70%, 1);
|
||||
--cs-pink-500: hsla(330, 81%, 60%, 1);
|
||||
--cs-pink-600: hsla(333, 71%, 51%, 1);
|
||||
--cs-pink-700: hsla(335, 78%, 42%, 1);
|
||||
--cs-pink-800: hsla(336, 74%, 35%, 1);
|
||||
--cs-pink-900: hsla(336, 69%, 30%, 1);
|
||||
--cs-pink-950: hsla(336, 84%, 17%, 1);
|
||||
|
||||
/* Rose */
|
||||
--cs-rose-50: hsla(356, 100%, 97%, 1);
|
||||
--cs-rose-100: hsla(356, 100%, 95%, 1);
|
||||
--cs-rose-200: hsla(353, 96%, 90%, 1);
|
||||
--cs-rose-300: hsla(353, 96%, 82%, 1);
|
||||
--cs-rose-400: hsla(351, 95%, 71%, 1);
|
||||
--cs-rose-500: hsla(350, 89%, 60%, 1);
|
||||
--cs-rose-600: hsla(347, 77%, 50%, 1);
|
||||
--cs-rose-700: hsla(345, 83%, 41%, 1);
|
||||
--cs-rose-800: hsla(343, 80%, 35%, 1);
|
||||
--cs-rose-900: hsla(342, 75%, 30%, 1);
|
||||
--cs-rose-950: hsla(343, 88%, 16%, 1);
|
||||
|
||||
/* Black & White */
|
||||
--cs-black: hsla(0, 0%, 0%, 1);
|
||||
--cs-white: hsla(0, 0%, 100%, 1);
|
||||
|
||||
/* Brand (Cherry Studio 品牌专属色) */
|
||||
--cs-brand-50: hsla(132, 64%, 97%, 1);
|
||||
--cs-brand-100: hsla(132, 64%, 93%, 1);
|
||||
--cs-brand-200: hsla(132, 64%, 85%, 1);
|
||||
--cs-brand-300: hsla(132, 64%, 73%, 1);
|
||||
--cs-brand-400: hsla(132, 64%, 63%, 1);
|
||||
--cs-brand-500: hsla(132, 64%, 53%, 1);
|
||||
--cs-brand-600: hsla(132, 64%, 43%, 1);
|
||||
--cs-brand-700: hsla(132, 64%, 33%, 1);
|
||||
--cs-brand-800: hsla(132, 64%, 23%, 1);
|
||||
--cs-brand-900: hsla(132, 64%, 13%, 1);
|
||||
--cs-brand-950: hsla(132, 64%, 8%, 1);
|
||||
}
|
||||
81
packages/ui/design-reference/semantic.hsla.css
Normal file
@@ -0,0 +1,81 @@
|
||||
/**
|
||||
* Semantic Colors - Light Mode
|
||||
* 语义化颜色 - 基于 Primitive Colors 的语义化映射
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Brand Colors */
|
||||
--cs-primary: var(--cs-brand-500);
|
||||
--cs-primary-hover: var(--cs-brand-300);
|
||||
--cs-destructive: var(--cs-red-500);
|
||||
--cs-destructive-hover: var(--cs-red-400);
|
||||
--cs-success: var(--cs-green-500);
|
||||
--cs-warning: var(--cs-amber-500);
|
||||
|
||||
/* Background & Foreground */
|
||||
--cs-background: var(--cs-zinc-50);
|
||||
--cs-background-subtle: hsla(0, 0%, 0%, 0.02);
|
||||
--cs-foreground: hsla(0, 0%, 0%, 0.9);
|
||||
--cs-foreground-secondary: hsla(0, 0%, 0%, 0.6);
|
||||
--cs-foreground-muted: hsla(0, 0%, 0%, 0.4);
|
||||
|
||||
/* Card & Popover */
|
||||
--cs-card: var(--cs-white);
|
||||
--cs-popover: var(--cs-white);
|
||||
|
||||
/* Border */
|
||||
--cs-border: hsla(0, 0%, 0%, 0.1);
|
||||
--cs-border-hover: hsla(0, 0%, 0%, 0.2);
|
||||
--cs-border-active: hsla(0, 0%, 0%, 0.3);
|
||||
|
||||
/* Ring (Focus) */
|
||||
--cs-ring: color-mix(in srgb, var(--cs-primary) 40%, transparent);
|
||||
|
||||
/* UI Element Colors */
|
||||
--cs-secondary: hsla(0, 0%, 0%, 0.05); /* Secondary Button Background */
|
||||
--cs-secondary-hover: hsla(0, 0%, 0%, 0.85);
|
||||
--cs-secondary-active: hsla(0, 0%, 0%, 0.7);
|
||||
--cs-muted: hsla(0, 0%, 0%, 0.05); /* Muted/Subtle Background */
|
||||
--cs-accent: hsla(0, 0%, 0%, 0.05); /* Accent Background */
|
||||
--cs-ghost-hover: hsla(0, 0%, 0%, 0.05); /* Ghost Button Hover */
|
||||
--cs-ghost-active: hsla(0, 0%, 0%, 0.1); /* Ghost Button Active */
|
||||
|
||||
/* Sidebar */
|
||||
--cs-sidebar: var(--cs-white);
|
||||
--cs-sidebar-accent: hsla(0, 0%, 0%, 0.05);
|
||||
}
|
||||
|
||||
/* Dark Mode */
|
||||
.dark {
|
||||
/* Background & Foreground */
|
||||
--cs-background: var(--cs-zinc-900);
|
||||
--cs-background-subtle: hsla(0, 0%, 100%, 0.02);
|
||||
--cs-foreground: hsla(0, 0%, 100%, 0.9);
|
||||
--cs-foreground-secondary: hsla(0, 0%, 100%, 0.6);
|
||||
--cs-foreground-muted: hsla(0, 0%, 100%, 0.4);
|
||||
|
||||
/* Card & Popover */
|
||||
--cs-card: var(--cs-black);
|
||||
--cs-popover: var(--cs-black);
|
||||
|
||||
/* Border */
|
||||
--cs-border: hsla(0, 0%, 100%, 0.1);
|
||||
--cs-border-hover: hsla(0, 0%, 100%, 0.2);
|
||||
--cs-border-active: hsla(0, 0%, 100%, 0.3);
|
||||
|
||||
/* Ring (Focus) - 保持不变 */
|
||||
--cs-ring: hsla(84, 81%, 44%, 0.4);
|
||||
|
||||
/* UI Element Colors - Dark Mode */
|
||||
--cs-secondary: hsla(0, 0%, 100%, 0.1); /* Secondary Button Background */
|
||||
--cs-secondary-hover: hsla(0, 0%, 100%, 0.2);
|
||||
--cs-secondary-active: hsla(0, 0%, 100%, 0.25);
|
||||
--cs-muted: hsla(0, 0%, 100%, 0.1); /* Muted/Subtle Background */
|
||||
--cs-accent: hsla(0, 0%, 100%, 0.1); /* Accent Background */
|
||||
--cs-ghost-hover: hsla(0, 0%, 100%, 0.1); /* Ghost Button Hover */
|
||||
--cs-ghost-active: hsla(0, 0%, 100%, 0.15); /* Ghost Button Active */
|
||||
|
||||
/* Sidebar */
|
||||
--cs-sidebar: var(--cs-black);
|
||||
--cs-sidebar-accent: hsla(0, 0%, 100%, 0.1);
|
||||
}
|
||||
55
packages/ui/design-reference/status.hsla.css
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* Status Colors - Light Mode & Dark Mode
|
||||
* 状态颜色 - Error, Success, Warning
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Status Colors - Error */
|
||||
--cs-error-base: var(--cs-red-500); /* #ef4444 */
|
||||
--cs-error-text: var(--cs-red-800); /* #991b1b */
|
||||
--cs-error-bg: var(--cs-red-50); /* #fef2f2 */
|
||||
--cs-error-text-hover: var(--cs-red-700); /* #b91c1c */
|
||||
--cs-error-bg-hover: var(--cs-red-100); /* #fee2e2 */
|
||||
--cs-error-border: var(--cs-red-200); /* #fecaca */
|
||||
--cs-error-border-hover: var(--cs-red-300); /* #fca5a5 */
|
||||
--cs-error-active: var(--cs-red-600); /* #dc2626 */
|
||||
|
||||
/* Status Colors - Success */
|
||||
--cs-success-base: var(--cs-green-500); /* #22c55e */
|
||||
--cs-success-text-hover: var(--cs-green-700); /* #15803d */
|
||||
--cs-success-bg: var(--cs-green-50); /* #f0fdf4 */
|
||||
--cs-success-bg-hover: var(--cs-green-200); /* #bbf7d0 */
|
||||
|
||||
/* Status Colors - Warning */
|
||||
--cs-warning-base: var(--cs-amber-400); /* #fbbf24 */
|
||||
--cs-warning-text-hover: var(--cs-amber-700); /* #b45309 */
|
||||
--cs-warning-bg: var(--cs-amber-50); /* #fffbeb */
|
||||
--cs-warning-bg-hover: var(--cs-amber-100); /* #fef3c7 */
|
||||
--cs-warning-active: var(--cs-amber-600); /* #d97706 */
|
||||
}
|
||||
|
||||
/* Dark Mode */
|
||||
.dark {
|
||||
/* Status Colors - Error (Dark Mode) */
|
||||
--cs-error-base: var(--cs-red-400); /* #f87171 */
|
||||
--cs-error-text: var(--cs-red-100); /* #fee2e2 */
|
||||
--cs-error-bg: var(--cs-red-900); /* #7f1d1d */
|
||||
--cs-error-text-hover: var(--cs-red-200); /* #fecaca */
|
||||
--cs-error-bg-hover: var(--cs-red-800); /* #991b1b */
|
||||
--cs-error-border: var(--cs-red-700); /* #b91c1c */
|
||||
--cs-error-border-hover: var(--cs-red-600); /* #dc2626 */
|
||||
--cs-error-active: var(--cs-red-300); /* #fca5a5 */
|
||||
|
||||
/* Status Colors - Success (Dark Mode) */
|
||||
--cs-success-base: var(--cs-green-400); /* #4ade80 */
|
||||
--cs-success-text-hover: var(--cs-green-200); /* #bbf7d0 */
|
||||
--cs-success-bg: var(--cs-green-900); /* #14532d */
|
||||
--cs-success-bg-hover: var(--cs-green-800); /* #166534 */
|
||||
|
||||
/* Status Colors - Warning (Dark Mode) */
|
||||
--cs-warning-base: var(--cs-amber-400); /* #fbbf24 */
|
||||
--cs-warning-text-hover: var(--cs-amber-200); /* #fde68a */
|
||||
--cs-warning-bg: var(--cs-amber-900); /* #78350f */
|
||||
--cs-warning-bg-hover: var(--cs-amber-800); /* #92400e */
|
||||
--cs-warning-active: var(--cs-amber-600); /* #d97706 */
|
||||
}
|
||||
450
packages/ui/design-reference/theme.css
Normal file
@@ -0,0 +1,450 @@
|
||||
/**
|
||||
* Generated from Design Tokens
|
||||
*
|
||||
* ⚠️ DO NOT EDIT DIRECTLY!
|
||||
* This file is auto-generated from tokens/ directory.
|
||||
* To make changes, edit files in tokens/ and run: npm run tokens:build
|
||||
*
|
||||
* Generated on: 2025-11-07T08:56:09.444Z
|
||||
*/
|
||||
|
||||
@theme {
|
||||
/* ==================== */
|
||||
/* Primitive Colors */
|
||||
/* ==================== */
|
||||
--color-neutral-50: hsla(0, 0%, 98%, 1);
|
||||
--color-neutral-100: hsla(0, 0%, 96%, 1);
|
||||
--color-neutral-200: hsla(0, 0%, 90%, 1);
|
||||
--color-neutral-300: hsla(0, 0%, 83%, 1);
|
||||
--color-neutral-400: hsla(0, 0%, 64%, 1);
|
||||
--color-neutral-500: hsla(0, 0%, 45%, 1);
|
||||
--color-neutral-600: hsla(215, 14%, 34%, 1);
|
||||
--color-neutral-700: hsla(0, 0%, 25%, 1);
|
||||
--color-neutral-800: hsla(0, 0%, 15%, 1);
|
||||
--color-neutral-900: hsla(0, 0%, 9%, 1);
|
||||
--color-neutral-950: hsla(0, 0%, 4%, 1);
|
||||
--color-stone-50: hsla(60, 9%, 98%, 1);
|
||||
--color-stone-100: hsla(60, 5%, 96%, 1);
|
||||
--color-stone-200: hsla(20, 6%, 90%, 1);
|
||||
--color-stone-300: hsla(24, 6%, 83%, 1);
|
||||
--color-stone-400: hsla(24, 5%, 64%, 1);
|
||||
--color-stone-500: hsla(25, 5%, 45%, 1);
|
||||
--color-stone-600: hsla(33, 5%, 32%, 1);
|
||||
--color-stone-700: hsla(30, 6%, 25%, 1);
|
||||
--color-stone-800: hsla(12, 6%, 15%, 1);
|
||||
--color-stone-900: hsla(24, 10%, 10%, 1);
|
||||
--color-stone-950: hsla(20, 14%, 4%, 1);
|
||||
--color-zinc-50: hsla(0, 0%, 98%, 1);
|
||||
--color-zinc-100: hsla(240, 5%, 96%, 1);
|
||||
--color-zinc-200: hsla(240, 6%, 90%, 1);
|
||||
--color-zinc-300: hsla(240, 5%, 84%, 1);
|
||||
--color-zinc-400: hsla(240, 5%, 65%, 1);
|
||||
--color-zinc-500: hsla(240, 4%, 46%, 1);
|
||||
--color-zinc-600: hsla(240, 5%, 34%, 1);
|
||||
--color-zinc-700: hsla(240, 5%, 26%, 1);
|
||||
--color-zinc-800: hsla(240, 4%, 16%, 1);
|
||||
--color-zinc-900: hsla(240, 6%, 10%, 1);
|
||||
--color-zinc-950: hsla(240, 10%, 4%, 1);
|
||||
--color-slate-50: hsla(210, 40%, 98%, 1);
|
||||
--color-slate-100: hsla(210, 40%, 96%, 1);
|
||||
--color-slate-200: hsla(214, 32%, 91%, 1);
|
||||
--color-slate-300: hsla(213, 27%, 84%, 1);
|
||||
--color-slate-400: hsla(215, 20%, 65%, 1);
|
||||
--color-slate-500: hsla(215, 16%, 47%, 1);
|
||||
--color-slate-600: hsla(215, 19%, 35%, 1);
|
||||
--color-slate-700: hsla(215, 25%, 27%, 1);
|
||||
--color-slate-800: hsla(217, 33%, 17%, 1);
|
||||
--color-slate-900: hsla(222, 47%, 11%, 1);
|
||||
--color-slate-950: hsla(229, 84%, 5%, 1);
|
||||
--color-gray-50: hsla(210, 20%, 98%, 1);
|
||||
--color-gray-100: hsla(220, 14%, 96%, 1);
|
||||
--color-gray-200: hsla(220, 13%, 91%, 1);
|
||||
--color-gray-300: hsla(216, 12%, 84%, 1);
|
||||
--color-gray-400: hsla(218, 11%, 65%, 1);
|
||||
--color-gray-500: hsla(220, 9%, 46%, 1);
|
||||
--color-gray-600: hsla(0, 0%, 32%, 1);
|
||||
--color-gray-700: hsla(217, 19%, 27%, 1);
|
||||
--color-gray-800: hsla(215, 28%, 17%, 1);
|
||||
--color-gray-900: hsla(221, 39%, 11%, 1);
|
||||
--color-gray-950: hsla(224, 71%, 4%, 1);
|
||||
--color-red-50: hsla(0, 86%, 97%, 1);
|
||||
--color-red-100: hsla(0, 93%, 94%, 1);
|
||||
--color-red-200: hsla(0, 96%, 89%, 1);
|
||||
--color-red-300: hsla(0, 94%, 82%, 1);
|
||||
--color-red-400: hsla(0, 91%, 71%, 1);
|
||||
--color-red-500: hsla(0, 84%, 60%, 1);
|
||||
--color-red-600: hsla(0, 72%, 51%, 1);
|
||||
--color-red-700: hsla(0, 74%, 42%, 1);
|
||||
--color-red-800: hsla(0, 70%, 35%, 1);
|
||||
--color-red-900: hsla(0, 63%, 31%, 1);
|
||||
--color-red-950: hsla(0, 75%, 15%, 1);
|
||||
--color-orange-50: hsla(33, 100%, 96%, 1);
|
||||
--color-orange-100: hsla(34, 100%, 92%, 1);
|
||||
--color-orange-200: hsla(32, 98%, 83%, 1);
|
||||
--color-orange-300: hsla(31, 97%, 72%, 1);
|
||||
--color-orange-400: hsla(27, 96%, 61%, 1);
|
||||
--color-orange-500: hsla(25, 95%, 53%, 1);
|
||||
--color-orange-600: hsla(21, 90%, 48%, 1);
|
||||
--color-orange-700: hsla(17, 88%, 40%, 1);
|
||||
--color-orange-800: hsla(15, 79%, 34%, 1);
|
||||
--color-orange-900: hsla(15, 75%, 28%, 1);
|
||||
--color-orange-950: hsla(13, 81%, 15%, 1);
|
||||
--color-amber-50: hsla(48, 100%, 96%, 1);
|
||||
--color-amber-100: hsla(48, 96%, 89%, 1);
|
||||
--color-amber-200: hsla(48, 97%, 77%, 1);
|
||||
--color-amber-300: hsla(46, 97%, 65%, 1);
|
||||
--color-amber-400: hsla(43, 96%, 56%, 1);
|
||||
--color-amber-500: hsla(38, 92%, 50%, 1);
|
||||
--color-amber-600: hsla(32, 95%, 44%, 1);
|
||||
--color-amber-700: hsla(26, 90%, 37%, 1);
|
||||
--color-amber-800: hsla(23, 83%, 31%, 1);
|
||||
--color-amber-900: hsla(22, 78%, 26%, 1);
|
||||
--color-amber-950: hsla(21, 92%, 14%, 1);
|
||||
--color-yellow-50: hsla(55, 92%, 95%, 1);
|
||||
--color-yellow-100: hsla(55, 97%, 88%, 1);
|
||||
--color-yellow-200: hsla(53, 98%, 77%, 1);
|
||||
--color-yellow-300: hsla(50, 98%, 64%, 1);
|
||||
--color-yellow-400: hsla(48, 96%, 53%, 1);
|
||||
--color-yellow-500: hsla(45, 93%, 47%, 1);
|
||||
--color-yellow-600: hsla(41, 96%, 40%, 1);
|
||||
--color-yellow-700: hsla(35, 92%, 33%, 1);
|
||||
--color-yellow-800: hsla(32, 81%, 29%, 1);
|
||||
--color-yellow-900: hsla(28, 73%, 26%, 1);
|
||||
--color-yellow-950: hsla(26, 83%, 14%, 1);
|
||||
--color-lime-50: hsla(78, 92%, 95%, 1);
|
||||
--color-lime-100: hsla(80, 89%, 89%, 1);
|
||||
--color-lime-200: hsla(81, 88%, 80%, 1);
|
||||
--color-lime-300: hsla(82, 85%, 67%, 1);
|
||||
--color-lime-400: hsla(83, 78%, 55%, 1);
|
||||
--color-lime-500: hsla(84, 81%, 44%, 1);
|
||||
--color-lime-600: hsla(85, 85%, 35%, 1);
|
||||
--color-lime-700: hsla(86, 78%, 27%, 1);
|
||||
--color-lime-800: hsla(86, 69%, 23%, 1);
|
||||
--color-lime-900: hsla(88, 61%, 20%, 1);
|
||||
--color-lime-950: hsla(89, 80%, 10%, 1);
|
||||
--color-green-50: hsla(138, 76%, 97%, 1);
|
||||
--color-green-100: hsla(141, 84%, 93%, 1);
|
||||
--color-green-200: hsla(141, 79%, 85%, 1);
|
||||
--color-green-300: hsla(142, 77%, 73%, 1);
|
||||
--color-green-400: hsla(142, 69%, 58%, 1);
|
||||
--color-green-500: hsla(142, 71%, 45%, 1);
|
||||
--color-green-600: hsla(142, 76%, 36%, 1);
|
||||
--color-green-700: hsla(142, 72%, 29%, 1);
|
||||
--color-green-800: hsla(143, 64%, 24%, 1);
|
||||
--color-green-900: hsla(144, 61%, 20%, 1);
|
||||
--color-green-950: hsla(145, 80%, 10%, 1);
|
||||
--color-emerald-50: hsla(152, 81%, 96%, 1);
|
||||
--color-emerald-100: hsla(149, 80%, 90%, 1);
|
||||
--color-emerald-200: hsla(152, 76%, 80%, 1);
|
||||
--color-emerald-300: hsla(156, 72%, 67%, 1);
|
||||
--color-emerald-400: hsla(158, 64%, 52%, 1);
|
||||
--color-emerald-500: hsla(160, 84%, 39%, 1);
|
||||
--color-emerald-600: hsla(161, 94%, 30%, 1);
|
||||
--color-emerald-700: hsla(163, 94%, 24%, 1);
|
||||
--color-emerald-800: hsla(163, 88%, 20%, 1);
|
||||
--color-emerald-900: hsla(164, 86%, 16%, 1);
|
||||
--color-emerald-950: hsla(166, 91%, 9%, 1);
|
||||
--color-teal-50: hsla(166, 76%, 97%, 1);
|
||||
--color-teal-100: hsla(167, 85%, 89%, 1);
|
||||
--color-teal-200: hsla(168, 84%, 78%, 1);
|
||||
--color-teal-300: hsla(171, 77%, 64%, 1);
|
||||
--color-teal-400: hsla(172, 66%, 50%, 1);
|
||||
--color-teal-500: hsla(173, 80%, 40%, 1);
|
||||
--color-teal-600: hsla(175, 84%, 32%, 1);
|
||||
--color-teal-700: hsla(175, 77%, 26%, 1);
|
||||
--color-teal-800: hsla(176, 69%, 22%, 1);
|
||||
--color-teal-900: hsla(176, 61%, 19%, 1);
|
||||
--color-teal-950: hsla(179, 84%, 10%, 1);
|
||||
--color-cyan-50: hsla(183, 100%, 96%, 1);
|
||||
--color-cyan-100: hsla(185, 96%, 90%, 1);
|
||||
--color-cyan-200: hsla(186, 94%, 82%, 1);
|
||||
--color-cyan-300: hsla(187, 92%, 69%, 1);
|
||||
--color-cyan-400: hsla(188, 86%, 53%, 1);
|
||||
--color-cyan-500: hsla(189, 94%, 43%, 1);
|
||||
--color-cyan-600: hsla(192, 91%, 36%, 1);
|
||||
--color-cyan-700: hsla(193, 82%, 31%, 1);
|
||||
--color-cyan-800: hsla(194, 70%, 27%, 1);
|
||||
--color-cyan-900: hsla(196, 64%, 24%, 1);
|
||||
--color-cyan-950: hsla(197, 79%, 15%, 1);
|
||||
--color-sky-50: hsla(204, 100%, 97%, 1);
|
||||
--color-sky-100: hsla(204, 94%, 94%, 1);
|
||||
--color-sky-200: hsla(201, 94%, 86%, 1);
|
||||
--color-sky-300: hsla(199, 95%, 74%, 1);
|
||||
--color-sky-400: hsla(198, 93%, 60%, 1);
|
||||
--color-sky-500: hsla(199, 89%, 48%, 1);
|
||||
--color-sky-600: hsla(200, 98%, 39%, 1);
|
||||
--color-sky-700: hsla(201, 96%, 32%, 1);
|
||||
--color-sky-800: hsla(201, 90%, 27%, 1);
|
||||
--color-sky-900: hsla(202, 80%, 24%, 1);
|
||||
--color-sky-950: hsla(204, 80%, 16%, 1);
|
||||
--color-blue-50: hsla(214, 100%, 97%, 1);
|
||||
--color-blue-100: hsla(214, 95%, 93%, 1);
|
||||
--color-blue-200: hsla(213, 97%, 87%, 1);
|
||||
--color-blue-300: hsla(212, 96%, 78%, 1);
|
||||
--color-blue-400: hsla(213, 94%, 68%, 1);
|
||||
--color-blue-500: hsla(217, 91%, 60%, 1);
|
||||
--color-blue-600: hsla(221, 83%, 53%, 1);
|
||||
--color-blue-700: hsla(224, 76%, 48%, 1);
|
||||
--color-blue-800: hsla(226, 71%, 40%, 1);
|
||||
--color-blue-900: hsla(224, 64%, 33%, 1);
|
||||
--color-blue-950: hsla(226, 57%, 21%, 1);
|
||||
--color-indigo-50: hsla(226, 100%, 97%, 1);
|
||||
--color-indigo-100: hsla(226, 100%, 94%, 1);
|
||||
--color-indigo-200: hsla(228, 96%, 89%, 1);
|
||||
--color-indigo-300: hsla(230, 94%, 82%, 1);
|
||||
--color-indigo-400: hsla(234, 89%, 74%, 1);
|
||||
--color-indigo-500: hsla(239, 84%, 67%, 1);
|
||||
--color-indigo-600: hsla(243, 75%, 59%, 1);
|
||||
--color-indigo-700: hsla(245, 58%, 51%, 1);
|
||||
--color-indigo-800: hsla(244, 55%, 41%, 1);
|
||||
--color-indigo-900: hsla(242, 47%, 34%, 1);
|
||||
--color-indigo-950: hsla(244, 47%, 20%, 1);
|
||||
--color-violet-50: hsla(250, 100%, 98%, 1);
|
||||
--color-violet-100: hsla(251, 91%, 95%, 1);
|
||||
--color-violet-200: hsla(251, 95%, 92%, 1);
|
||||
--color-violet-300: hsla(253, 95%, 85%, 1);
|
||||
--color-violet-400: hsla(255, 92%, 76%, 1);
|
||||
--color-violet-500: hsla(258, 90%, 66%, 1);
|
||||
--color-violet-600: hsla(262, 83%, 58%, 1);
|
||||
--color-violet-700: hsla(263, 70%, 50%, 1);
|
||||
--color-violet-800: hsla(263, 69%, 42%, 1);
|
||||
--color-violet-900: hsla(264, 67%, 35%, 1);
|
||||
--color-violet-950: hsla(262, 78%, 23%, 1);
|
||||
--color-purple-50: hsla(270, 100%, 98%, 1);
|
||||
--color-purple-100: hsla(269, 100%, 95%, 1);
|
||||
--color-purple-200: hsla(269, 100%, 92%, 1);
|
||||
--color-purple-300: hsla(269, 97%, 85%, 1);
|
||||
--color-purple-400: hsla(270, 95%, 75%, 1);
|
||||
--color-purple-500: hsla(271, 91%, 65%, 1);
|
||||
--color-purple-600: hsla(271, 81%, 56%, 1);
|
||||
--color-purple-700: hsla(272, 72%, 47%, 1);
|
||||
--color-purple-800: hsla(273, 67%, 39%, 1);
|
||||
--color-purple-900: hsla(274, 66%, 32%, 1);
|
||||
--color-purple-950: hsla(274, 87%, 21%, 1);
|
||||
--color-fuchsia-50: hsla(289, 100%, 98%, 1);
|
||||
--color-fuchsia-100: hsla(287, 100%, 95%, 1);
|
||||
--color-fuchsia-200: hsla(288, 96%, 91%, 1);
|
||||
--color-fuchsia-300: hsla(291, 93%, 83%, 1);
|
||||
--color-fuchsia-400: hsla(292, 91%, 73%, 1);
|
||||
--color-fuchsia-500: hsla(292, 84%, 61%, 1);
|
||||
--color-fuchsia-600: hsla(293, 69%, 49%, 1);
|
||||
--color-fuchsia-700: hsla(295, 72%, 40%, 1);
|
||||
--color-fuchsia-800: hsla(295, 70%, 33%, 1);
|
||||
--color-fuchsia-900: hsla(297, 64%, 28%, 1);
|
||||
--color-fuchsia-950: hsla(297, 90%, 16%, 1);
|
||||
--color-pink-50: hsla(327, 73%, 97%, 1);
|
||||
--color-pink-100: hsla(326, 78%, 95%, 1);
|
||||
--color-pink-200: hsla(326, 85%, 90%, 1);
|
||||
--color-pink-300: hsla(327, 87%, 82%, 1);
|
||||
--color-pink-400: hsla(329, 86%, 70%, 1);
|
||||
--color-pink-500: hsla(330, 81%, 60%, 1);
|
||||
--color-pink-600: hsla(333, 71%, 51%, 1);
|
||||
--color-pink-700: hsla(335, 78%, 42%, 1);
|
||||
--color-pink-800: hsla(336, 74%, 35%, 1);
|
||||
--color-pink-900: hsla(336, 69%, 30%, 1);
|
||||
--color-pink-950: hsla(336, 84%, 17%, 1);
|
||||
--color-rose-50: hsla(356, 100%, 97%, 1);
|
||||
--color-rose-100: hsla(356, 100%, 95%, 1);
|
||||
--color-rose-200: hsla(353, 96%, 90%, 1);
|
||||
--color-rose-300: hsla(353, 96%, 82%, 1);
|
||||
--color-rose-400: hsla(351, 95%, 71%, 1);
|
||||
--color-rose-500: hsla(350, 89%, 60%, 1);
|
||||
--color-rose-600: hsla(347, 77%, 50%, 1);
|
||||
--color-rose-700: hsla(345, 83%, 41%, 1);
|
||||
--color-rose-800: hsla(343, 80%, 35%, 1);
|
||||
--color-rose-900: hsla(342, 75%, 30%, 1);
|
||||
--color-rose-950: hsla(343, 88%, 16%, 1);
|
||||
--color-brand-50: hsla(132, 64%, 97%, 1);
|
||||
--color-brand-100: hsla(132, 64%, 93%, 1);
|
||||
--color-brand-200: hsla(132, 64%, 85%, 1);
|
||||
--color-brand-300: hsla(132, 64%, 73%, 1);
|
||||
--color-brand-400: hsla(132, 64%, 63%, 1);
|
||||
--color-brand-500: hsla(132, 64%, 53%, 1);
|
||||
--color-brand-600: hsla(132, 64%, 43%, 1);
|
||||
--color-brand-700: hsla(132, 64%, 33%, 1);
|
||||
--color-brand-800: hsla(132, 64%, 23%, 1);
|
||||
--color-brand-900: hsla(132, 64%, 13%, 1);
|
||||
--color-brand-950: hsla(132, 64%, 8%, 1);
|
||||
|
||||
/* ==================== */
|
||||
/* Semantic Colors */
|
||||
/* ==================== */
|
||||
--color-primary: hsla(132, 64%, 53%, 1);
|
||||
--color-primary-hover: hsla(132, 64%, 73%, 1);
|
||||
--color-destructive: hsla(0, 84%, 60%, 1);
|
||||
--color-destructive-hover: hsla(0, 91%, 71%, 1);
|
||||
--color-background: hsla(0, 0%, 98%, 1);
|
||||
--color-background-subtle: hsla(0, 0%, 0%, 0.02);
|
||||
--color-foreground: hsla(0, 0%, 0%, 0.9);
|
||||
--color-foreground-secondary: hsla(0, 0%, 0%, 0.6);
|
||||
--color-foreground-muted: hsla(0, 0%, 0%, 0.4);
|
||||
--color-card: hsla(0, 0%, 100%, 1);
|
||||
--color-popover: hsla(0, 0%, 100%, 1);
|
||||
--color-border: hsla(0, 0%, 0%, 0.1);
|
||||
--color-border-hover: hsla(0, 0%, 0%, 0.2);
|
||||
--color-border-active: hsla(0, 0%, 0%, 0.3);
|
||||
--color-ring: color-mix(in srgb, hsla(132, 64%, 53%, 1) 40%, transparent);
|
||||
--color-secondary: hsla(0, 0%, 0%, 0.05);
|
||||
--color-secondary-hover: hsla(0, 0%, 0%, 0.85);
|
||||
--color-secondary-active: hsla(0, 0%, 0%, 0.7);
|
||||
--color-muted: hsla(0, 0%, 0%, 0.05);
|
||||
--color-accent: hsla(0, 0%, 0%, 0.05);
|
||||
--color-ghost-hover: hsla(0, 0%, 0%, 0.05);
|
||||
--color-ghost-active: hsla(0, 0%, 0%, 0.1);
|
||||
--color-sidebar: hsla(0, 0%, 100%, 1);
|
||||
--color-sidebar-accent: hsla(0, 0%, 0%, 0.05);
|
||||
--color-border-width-sm: 1px;
|
||||
--color-border-width-md: 2px;
|
||||
--color-border-width-lg: 3px;
|
||||
|
||||
/* ==================== */
|
||||
/* Status Colors */
|
||||
/* ==================== */
|
||||
--color-error-base: hsla(0, 84%, 60%, 1);
|
||||
--color-error-text: hsla(0, 70%, 35%, 1);
|
||||
--color-error-bg: hsla(0, 86%, 97%, 1);
|
||||
--color-error-text-hover: hsla(0, 74%, 42%, 1);
|
||||
--color-error-bg-hover: hsla(0, 93%, 94%, 1);
|
||||
--color-error-border: hsla(0, 96%, 89%, 1);
|
||||
--color-error-border-hover: hsla(0, 94%, 82%, 1);
|
||||
--color-error-active: hsla(0, 72%, 51%, 1);
|
||||
--color-success-base: hsla(142, 71%, 45%, 1);
|
||||
--color-success-text-hover: hsla(142, 72%, 29%, 1);
|
||||
--color-success-bg: hsla(138, 76%, 97%, 1);
|
||||
--color-success-bg-hover: hsla(141, 79%, 85%, 1);
|
||||
--color-warning-base: hsla(43, 96%, 56%, 1);
|
||||
--color-warning-text-hover: hsla(26, 90%, 37%, 1);
|
||||
--color-warning-bg: hsla(48, 100%, 96%, 1);
|
||||
--color-warning-bg-hover: hsla(48, 96%, 89%, 1);
|
||||
--color-warning-active: hsla(32, 95%, 44%, 1);
|
||||
|
||||
/* ==================== */
|
||||
/* Spacing */
|
||||
/* ==================== */
|
||||
--spacing-5xs: 0.25rem;
|
||||
--spacing-4xs: 0.5rem;
|
||||
--spacing-3xs: 0.75rem;
|
||||
--spacing-2xs: 1rem;
|
||||
--spacing-xs: 1.5rem;
|
||||
--spacing-sm: 2rem;
|
||||
--spacing-md: 2.5rem;
|
||||
--spacing-lg: 3rem;
|
||||
--spacing-xl: 3.5rem;
|
||||
--spacing-2xl: 4rem;
|
||||
--spacing-3xl: 4.5rem;
|
||||
--spacing-4xl: 5rem;
|
||||
--spacing-5xl: 5.5rem;
|
||||
--spacing-6xl: 6rem;
|
||||
--spacing-7xl: 6.5rem;
|
||||
--spacing-8xl: 7rem;
|
||||
|
||||
/* ==================== */
|
||||
/* Radius */
|
||||
/* ==================== */
|
||||
--radius-4xs: 0.25rem; /* 4px */
|
||||
--radius-3xs: 0.5rem; /* 8px */
|
||||
--radius-2xs: 0.75rem; /* 12px */
|
||||
--radius-xs: 1rem; /* 16px */
|
||||
--radius-sm: 1.5rem; /* 24px */
|
||||
--radius-md: 2rem; /* 32px */
|
||||
--radius-lg: 2.5rem; /* 40px */
|
||||
--radius-xl: 3rem; /* 48px */
|
||||
--radius-2xl: 3.5rem; /* 56px */
|
||||
--radius-3xl: 4rem; /* 64px */
|
||||
--radius-round: 999px; /* 完全圆角 */
|
||||
|
||||
/* ==================== */
|
||||
/* Typography */
|
||||
/* ==================== */
|
||||
--font-family-heading: Inter;
|
||||
--font-family-body: Inter;
|
||||
--font-weight-regular: 400;
|
||||
--font-weight-medium: 500;
|
||||
--font-weight-bold: 700;
|
||||
--font-size-body-xs: 0.75rem;
|
||||
--font-size-body-sm: 0.875rem;
|
||||
--font-size-body-md: 1rem;
|
||||
--font-size-body-lg: 1.125rem;
|
||||
--font-size-heading-xs: 1.25rem;
|
||||
--font-size-heading-sm: 1.5rem;
|
||||
--font-size-heading-md: 2rem;
|
||||
--font-size-heading-lg: 2.5rem;
|
||||
--font-size-heading-xl: 3rem;
|
||||
--font-size-heading-2xl: 3.75rem;
|
||||
--line-height-body-xs: 1.25rem;
|
||||
--line-height-body-sm: 1.5rem;
|
||||
--line-height-body-md: 1.5rem;
|
||||
--line-height-body-lg: 1.75rem;
|
||||
--line-height-heading-xs: 2rem;
|
||||
--line-height-heading-sm: 2.5rem;
|
||||
--line-height-heading-md: 3rem;
|
||||
--line-height-heading-lg: 3.75rem;
|
||||
--line-height-heading-xl: 5rem;
|
||||
--paragraph-spacing-body-xs: 0.75rem;
|
||||
--paragraph-spacing-body-sm: 0.875rem;
|
||||
--paragraph-spacing-body-md: 1rem;
|
||||
--paragraph-spacing-body-lg: 1.125rem;
|
||||
--paragraph-spacing-heading-xs: 1.25rem;
|
||||
--paragraph-spacing-heading-sm: 1.5rem;
|
||||
--paragraph-spacing-heading-md: 2rem;
|
||||
--paragraph-spacing-heading-lg: 2.5rem;
|
||||
--paragraph-spacing-heading-xl: 3rem;
|
||||
--paragraph-spacing-heading-2xl: 3.75rem;
|
||||
}
|
||||
|
||||
/* ==================== */
|
||||
/* Dark Mode */
|
||||
/* ==================== */
|
||||
@layer theme {
|
||||
.dark {
|
||||
--color-background: hsla(240, 6%, 10%, 1);
|
||||
--color-background-subtle: hsla(0, 0%, 100%, 0.02);
|
||||
--color-foreground: hsla(0, 0%, 100%, 0.9);
|
||||
--color-foreground-secondary: hsla(0, 0%, 100%, 0.6);
|
||||
--color-foreground-muted: hsla(0, 0%, 100%, 0.4);
|
||||
--color-card: hsla(0, 0%, 0%, 1);
|
||||
--color-popover: hsla(0, 0%, 0%, 1);
|
||||
--color-border: hsla(0, 0%, 100%, 0.1);
|
||||
--color-border-hover: hsla(0, 0%, 100%, 0.2);
|
||||
--color-border-active: hsla(0, 0%, 100%, 0.3);
|
||||
--color-ring: hsla(84, 81%, 44%, 0.4);
|
||||
--color-secondary: hsla(0, 0%, 100%, 0.1);
|
||||
--color-secondary-hover: hsla(0, 0%, 100%, 0.2);
|
||||
--color-secondary-active: hsla(0, 0%, 100%, 0.25);
|
||||
--color-muted: hsla(0, 0%, 100%, 0.1);
|
||||
--color-accent: hsla(0, 0%, 100%, 0.1);
|
||||
--color-ghost-hover: hsla(0, 0%, 100%, 0.1);
|
||||
--color-ghost-active: hsla(0, 0%, 100%, 0.15);
|
||||
--color-sidebar: hsla(0, 0%, 0%, 1);
|
||||
--color-sidebar-accent: hsla(0, 0%, 100%, 0.1);
|
||||
--color-error-base: hsla(0, 91%, 71%, 1);
|
||||
--color-error-text: hsla(0, 93%, 94%, 1);
|
||||
--color-error-bg: hsla(0, 63%, 31%, 1);
|
||||
--color-error-text-hover: hsla(0, 96%, 89%, 1);
|
||||
--color-error-bg-hover: hsla(0, 70%, 35%, 1);
|
||||
--color-error-border: hsla(0, 74%, 42%, 1);
|
||||
--color-error-border-hover: hsla(0, 72%, 51%, 1);
|
||||
--color-error-active: hsla(0, 94%, 82%, 1);
|
||||
--color-success-base: hsla(142, 69%, 58%, 1);
|
||||
--color-success-text-hover: hsla(141, 79%, 85%, 1);
|
||||
--color-success-bg: hsla(144, 61%, 20%, 1);
|
||||
--color-success-bg-hover: hsla(143, 64%, 24%, 1);
|
||||
--color-warning-base: hsla(43, 96%, 56%, 1);
|
||||
--color-warning-text-hover: hsla(48, 97%, 77%, 1);
|
||||
--color-warning-bg: hsla(22, 78%, 26%, 1);
|
||||
--color-warning-bg-hover: hsla(23, 83%, 31%, 1);
|
||||
--color-warning-active: hsla(32, 95%, 44%, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* ==================== */
|
||||
/* Base Styles */
|
||||
/* ==================== */
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border outline-ring/50;
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
870
packages/ui/design-reference/todocss.css
Normal file
@@ -0,0 +1,870 @@
|
||||
:root {
|
||||
/* Typography: Desktop mode */
|
||||
--Font_family--Heading: Inter;
|
||||
--Font_weight--Regular: 400px;
|
||||
--Font_size--Heading--2xl: 60px;
|
||||
--Font_size--Heading--xl: 48px;
|
||||
--Font_size--Heading--lg: 40px;
|
||||
--Font_size--Heading--md: 32px;
|
||||
--Font_size--Heading--sm: 24px;
|
||||
--Font_size--Heading--xs: 20px;
|
||||
--Line_height--Heading--xl: 80px;
|
||||
--Line_height--Body--lg: 28px;
|
||||
--Line_height--Body--md: 24px;
|
||||
--Line_height--Body--sm: 24px;
|
||||
--Line_height--Body--xs: 20px;
|
||||
--Paragraph_spacing--Body--lg: 18px;
|
||||
--Paragraph_spacing--Body--md: 16px;
|
||||
--Paragraph_spacing--Body--sm: 14px;
|
||||
--Paragraph_spacing--Body--xs: 12px;
|
||||
--Line_height--Heading--lg: 60px;
|
||||
--Line_height--Heading--md: 48px;
|
||||
--Line_height--Heading--sm: 40px;
|
||||
--Line_height--Heading--xs: 32px;
|
||||
--Font_size--Body--lg: 18px;
|
||||
--Font_size--Body--md: 16px;
|
||||
--Font_size--Body--sm: 14px;
|
||||
--Font_size--Body--xs: 12px;
|
||||
--Font_weight--Italic: 400px;
|
||||
--Font_weight--Medium: 500px;
|
||||
--Font_weight--Bold: 700px;
|
||||
--Font_family--Body: Inter;
|
||||
--Paragraph_spacing--Heading--2xl: 60px;
|
||||
--Paragraph_spacing--Heading--xl: 48px;
|
||||
--Paragraph_spacing--Heading--lg: 40px;
|
||||
--Paragraph_spacing--Heading--md: 32px;
|
||||
--Paragraph_spacing--Heading--sm: 24px;
|
||||
--Paragraph_spacing--Heading--xs: 20px;
|
||||
--typography_components--h1--font-family: Inter;
|
||||
--typography_components--h2--font-family: Inter;
|
||||
--typography_components--h2--font-size: 30px;
|
||||
--typography_components--h2--line-height: 36px;
|
||||
--typography_components--h2--font-weight: 600;
|
||||
--typography_components--h2--letter-spacing: -0.4000000059604645px;
|
||||
--typography_components--h1--font-size: 36px;
|
||||
--typography_components--h1--font-size-lg: 48px;
|
||||
--typography_components--h1--line-height: 40px;
|
||||
--typography_components--h1--font-weight: 800;
|
||||
--typography_components--h1--letter-spacing: -0.4000000059604645px;
|
||||
--typography_components--h3--font-family: Inter;
|
||||
--typography_components--h3--font-size: 24px;
|
||||
--typography_components--h3--line-height: 32px;
|
||||
--typography_components--h3--font-weight: 600;
|
||||
--typography_components--h3--letter-spacing: -0.4000000059604645px;
|
||||
--typography_components--h4--font-family: Inter;
|
||||
--typography_components--h4--font-size: 20px;
|
||||
--typography_components--h4--line-height: 28px;
|
||||
--typography_components--h4--font-weight: 600;
|
||||
--typography_components--h4--letter-spacing: -0.4000000059604645px;
|
||||
--typography_components--p--font-family: Inter;
|
||||
--typography_components--p--font-size: 16px;
|
||||
--typography_components--p--line-height: 28px;
|
||||
--typography_components--p--font-weight: 400;
|
||||
--typography_components--p--letter-spacing: 0px;
|
||||
--typography_components--blockquote--font-family: Inter;
|
||||
--typography_components--blockquote--font-size: 16px;
|
||||
--typography_components--blockquote--line-height: 24px;
|
||||
--typography_components--blockquote--letter-spacing: 0px;
|
||||
--typography_components--blockquote--font-style: italic;
|
||||
--typography_components--list--font-family: Inter;
|
||||
--typography_components--list--font-size: 16px;
|
||||
--typography_components--list--line-height: 28px;
|
||||
--typography_components--list--letter-spacing: 0px;
|
||||
--typography_components--inline_code--font-family: Menlo;
|
||||
--typography_components--inline_code--font-size: 14px;
|
||||
--typography_components--inline_code--line-height: 20px;
|
||||
--typography_components--inline_code--font-weight: 600;
|
||||
--typography_components--inline_code--letter-spacing: 0px;
|
||||
--typography_components--lead--font-family: Inter;
|
||||
--typography_components--lead--font-size: 20px;
|
||||
--typography_components--lead--line-height: 28px;
|
||||
--typography_components--lead--font-weight: 400;
|
||||
--typography_components--lead--letter-spacing: 0px;
|
||||
--typography_components--large--font-family: Inter;
|
||||
--typography_components--large--font-size: 18px;
|
||||
--typography_components--large--line-height: 28px;
|
||||
--typography_components--large--font-weight: 600;
|
||||
--typography_components--large--letter-spacing: 0px;
|
||||
--typography_components--small--font-family: Inter;
|
||||
--typography_components--small--font-size: 14px;
|
||||
--typography_components--small--line-height: 14px;
|
||||
--typography_components--small--font-weight: 500;
|
||||
--typography_components--table--font-family: Inter;
|
||||
--typography_components--table--font-size: 16px;
|
||||
--typography_components--table--font-weight: 400;
|
||||
--typography_components--table--font-weight-bold: 700;
|
||||
--typography_components--table--letter-spacing: 0px;
|
||||
|
||||
/* Spacing and sizing: Desktop */
|
||||
--Border_width--sm: 1px;
|
||||
--Border_width--md: 2px;
|
||||
--Border_width--lg: 3px;
|
||||
--Radius--4xs: 4px;
|
||||
--Radius--3xs: 8px;
|
||||
--Radius--2xs: 12px;
|
||||
--Radius--xs: 16px;
|
||||
--Radius--sm: 24px;
|
||||
--Radius--md: 32px;
|
||||
--Radius--lg: 40px;
|
||||
--Radius--xl: 48px;
|
||||
--Radius--2xl: 56px;
|
||||
--Radius--3xl: 64px;
|
||||
--Radius--round: 999px;
|
||||
--Spacing--5xs: 4px;
|
||||
--Spacing--4xs: 8px;
|
||||
--Spacing--3xs: 12px;
|
||||
--Spacing--2xs: 16px;
|
||||
--Spacing--xs: 24px;
|
||||
--Spacing--sm: 32px;
|
||||
--Spacing--md: 40px;
|
||||
--Spacing--lg: 48px;
|
||||
--Spacing--xl: 56px;
|
||||
--Spacing--2xl: 64px;
|
||||
--Spacing--3xl: 72px;
|
||||
--Spacing--4xl: 80px;
|
||||
--Spacing--5xl: 88px;
|
||||
--Spacing--6xl: 96px;
|
||||
--Spacing--7xl: 104px;
|
||||
--Spacing--8xl: 112px;
|
||||
--Sizing--5xs: 4px;
|
||||
--Sizing--4xs: 8px;
|
||||
--Sizing--3xs: 12px;
|
||||
--Sizing--2xs: 16px;
|
||||
--Sizing--xs: 24px;
|
||||
--Sizing--sm: 32px;
|
||||
--Sizing--md: 40px;
|
||||
--Sizing--lg: 48px;
|
||||
--Sizing--xl: 56px;
|
||||
--Sizing--2xl: 64px;
|
||||
--Sizing--3xl: 72px;
|
||||
--Sizing--4xl: 80px;
|
||||
--Sizing--5xl: 88px;
|
||||
|
||||
/* Color: Light mode */
|
||||
--Opacity--Red--Red-100: var(--Primitive--Red--600);
|
||||
--Opacity--Red--Red-80: hsla(0, 72%, 51%, 0.8);
|
||||
--Opacity--Red--Red-60: hsla(0, 72%, 51%, 0.6);
|
||||
--Opacity--Red--Red-40: hsla(0, 72%, 51%, 0.4);
|
||||
--Opacity--Red--Red-20: hsla(0, 72%, 51%, 0.2);
|
||||
--Opacity--Red--Red-10: hsla(0, 72%, 51%, 0.1);
|
||||
--Opacity--Green--Green-100: var(--Primitive--Green--600);
|
||||
--Opacity--Green--Green-80: hsla(142, 76%, 36%, 0.8);
|
||||
--Opacity--Green--Green-60: hsla(142, 76%, 36%, 0.6);
|
||||
--Opacity--Green--Green-40: hsla(142, 76%, 36%, 0.4);
|
||||
--Opacity--Green--Green-20: hsla(142, 76%, 36%, 0.2);
|
||||
--Opacity--Green--Green-10: hsla(142, 76%, 36%, 0.1);
|
||||
--Opacity--Yellow--Yellow-100: var(--Primitive--Amber--400);
|
||||
--Opacity--Yellow--Yellow-80: hsla(48, 96%, 53%, 0.8);
|
||||
--Opacity--Yellow--Yellow-60: hsla(48, 96%, 53%, 0.6);
|
||||
--Opacity--Yellow--Yellow-40: hsla(48, 96%, 53%, 0.4);
|
||||
--Opacity--Yellow--Yellow-20: hsla(48, 96%, 53%, 0.2);
|
||||
--Opacity--Yellow--Yellow-10: hsla(48, 96%, 53%, 0.1);
|
||||
--Opacity--Violet--Violet-100: var(--Primitive--Violet--500);
|
||||
--Opacity--Violet--Violet-80: hsla(258, 90%, 66%, 0.8);
|
||||
--Opacity--Violet--Violet-60: hsla(258, 90%, 66%, 0.6);
|
||||
--Opacity--Violet--Violet-40: hsla(258, 90%, 66%, 0.4);
|
||||
--Opacity--Violet--Violet-20: hsla(258, 90%, 66%, 0.2);
|
||||
--Opacity--Violet--Violet-10: hsla(258, 90%, 66%, 0.1);
|
||||
--Opacity--Indigo--Indigo-100: var(--Primitive--Indigo--500);
|
||||
--Opacity--Indigo--Indigo-80: hsla(239, 84%, 67%, 0.8);
|
||||
--Opacity--Indigo--Indigo-60: hsla(239, 84%, 67%, 0.6);
|
||||
--Opacity--Indigo--Indigo-40: hsla(239, 84%, 67%, 0.4);
|
||||
--Opacity--Indigo--Indigo-20: hsla(239, 84%, 67%, 0.2);
|
||||
--Opacity--Indigo--Indigo-10: hsla(239, 84%, 67%, 0.1);
|
||||
--Opacity--Blue--Blue-100: var(--Primitive--Blue--500);
|
||||
--Opacity--Blue--Blue-80: hsla(217, 91%, 60%, 0.8);
|
||||
--Opacity--Blue--Blue-60: hsla(217, 91%, 60%, 0.6);
|
||||
--Opacity--Blue--Blue-40: hsla(217, 91%, 60%, 0.4);
|
||||
--Opacity--Blue--Blue-20: hsla(217, 91%, 60%, 0.2);
|
||||
--Opacity--Blue--Blue-10: hsla(217, 91%, 60%, 0.1);
|
||||
--Opacity--Grey--Grey-100: var(--Primitive--Gray--500);
|
||||
--Opacity--Grey--Grey-80: hsla(220, 9%, 46%, 0.8);
|
||||
--Opacity--Grey--Grey-60: hsla(220, 9%, 46%, 0.6);
|
||||
--Opacity--Grey--Grey-40: hsla(220, 9%, 46%, 0.4);
|
||||
--Opacity--Grey--Grey-20: hsla(220, 9%, 46%, 0.2);
|
||||
--Opacity--Grey--Grey-10: hsla(220, 9%, 46%, 0.1);
|
||||
--Opacity--White--White-100: var(--Primitive--White);
|
||||
--Opacity--White--White-80: hsla(0, 0%, 100%, 0.8);
|
||||
--Opacity--White--White-60: hsla(0, 0%, 100%, 0.6);
|
||||
--Opacity--White--White-40: hsla(0, 0%, 100%, 0.4);
|
||||
--Opacity--White--White-20: hsla(0, 0%, 100%, 0.2);
|
||||
--Opacity--White--White-10: hsla(0, 0%, 100%, 0.1);
|
||||
--Opacity--White--White-0: hsla(0, 0%, 100%, 0);
|
||||
--Status--Error--colorErrorBg: var(--color--Red--50);
|
||||
--Status--Error--colorErrorBgHover: var(--color--Red--100);
|
||||
--Status--Error--colorErrorBorder: var(--color--Red--200);
|
||||
--Status--Error--colorErrorBorderHover: var(--color--Red--300);
|
||||
--Status--Error--colorErrorBase: var(--color--Red--500);
|
||||
--Status--Error--colorErrorActive: var(--color--Red--600);
|
||||
--Status--Error--colorErrorTextHover: var(--color--Red--700);
|
||||
--Status--Error--colorErrorText: var(--color--Red--800);
|
||||
--Status--Success--colorSuccessBg: var(--color--Green--50);
|
||||
--Status--Success--colorSuccessBgHover: var(--color--Green--100);
|
||||
--Status--Success--colorSuccessBase: var(--color--Green--500);
|
||||
--Status--Success--colorSuccessTextHover: var(--color--Green--700);
|
||||
--Status--Warning--colorWarningBg: var(--color--Yellow--50);
|
||||
--Status--Warning--colorWarningBgHover: var(--color--Yellow--100);
|
||||
--Status--Warning--colorWarningBase: var(--color--Yellow--500);
|
||||
--Status--Warning--colorWarningActive: var(--color--Yellow--600);
|
||||
--Status--Warning--colorWarningTextHover: var(--color--Yellow--700);
|
||||
--Primitive--Black: hsla(0, 0%, 0%, 1);
|
||||
--Primitive--White: hsla(0, 0%, 100%, 1);
|
||||
--Brand--Base_Colors--Primary: var(--Primitive--Lime--500);
|
||||
--Primitive--Neutral--50: hsla(0, 0%, 98%, 1);
|
||||
--Primitive--Neutral--100: hsla(0, 0%, 96%, 1);
|
||||
--Primitive--Neutral--200: hsla(0, 0%, 90%, 1);
|
||||
--Primitive--Neutral--300: hsla(0, 0%, 83%, 1);
|
||||
--Primitive--Neutral--400: hsla(0, 0%, 64%, 1);
|
||||
--Primitive--Neutral--500: hsla(0, 0%, 45%, 1);
|
||||
--Primitive--Neutral--600: hsla(215, 14%, 34%, 1);
|
||||
--Primitive--Neutral--700: hsla(0, 0%, 25%, 1);
|
||||
--Primitive--Neutral--800: hsla(0, 0%, 15%, 1);
|
||||
--Primitive--Neutral--900: hsla(0, 0%, 9%, 1);
|
||||
--Primitive--Neutral--950: hsla(0, 0%, 4%, 1);
|
||||
--Primitive--Stone--50: hsla(60, 9%, 98%, 1);
|
||||
--Primitive--Stone--100: hsla(60, 5%, 96%, 1);
|
||||
--Primitive--Stone--200: hsla(20, 6%, 90%, 1);
|
||||
--Primitive--Stone--300: hsla(24, 6%, 83%, 1);
|
||||
--Primitive--Stone--400: hsla(24, 5%, 64%, 1);
|
||||
--Primitive--Stone--500: hsla(25, 5%, 45%, 1);
|
||||
--Primitive--Stone--600: hsla(33, 5%, 32%, 1);
|
||||
--Primitive--Stone--700: hsla(30, 6%, 25%, 1);
|
||||
--Primitive--Stone--800: hsla(12, 6%, 15%, 1);
|
||||
--Primitive--Stone--900: hsla(24, 10%, 10%, 1);
|
||||
--Primitive--Stone--950: hsla(20, 14%, 4%, 1);
|
||||
--Primitive--Zinc--50: hsla(0, 0%, 98%, 1);
|
||||
--Primitive--Zinc--100: hsla(240, 5%, 96%, 1);
|
||||
--Primitive--Zinc--200: hsla(240, 6%, 90%, 1);
|
||||
--Primitive--Zinc--300: hsla(240, 5%, 84%, 1);
|
||||
--Primitive--Zinc--400: hsla(240, 5%, 65%, 1);
|
||||
--Primitive--Zinc--500: hsla(240, 4%, 46%, 1);
|
||||
--Primitive--Zinc--600: hsla(240, 5%, 34%, 1);
|
||||
--Primitive--Zinc--700: hsla(240, 5%, 26%, 1);
|
||||
--Primitive--Zinc--800: hsla(240, 4%, 16%, 1);
|
||||
--Primitive--Zinc--900: hsla(240, 6%, 10%, 1);
|
||||
--Primitive--Zinc--950: hsla(240, 10%, 4%, 1);
|
||||
--Primitive--Slate--50: hsla(210, 40%, 98%, 1);
|
||||
--Primitive--Slate--100: hsla(210, 40%, 96%, 1);
|
||||
--Primitive--Slate--200: hsla(214, 32%, 91%, 1);
|
||||
--Primitive--Slate--300: hsla(213, 27%, 84%, 1);
|
||||
--Primitive--Slate--400: hsla(215, 20%, 65%, 1);
|
||||
--Primitive--Slate--500: hsla(215, 16%, 47%, 1);
|
||||
--Primitive--Slate--600: hsla(215, 19%, 35%, 1);
|
||||
--Primitive--Slate--700: hsla(215, 25%, 27%, 1);
|
||||
--Primitive--Slate--800: hsla(217, 33%, 17%, 1);
|
||||
--Primitive--Slate--900: hsla(222, 47%, 11%, 1);
|
||||
--Primitive--Slate--950: hsla(229, 84%, 5%, 1);
|
||||
--Primitive--Gray--50: hsla(210, 20%, 98%, 1);
|
||||
--Primitive--Gray--100: hsla(220, 14%, 96%, 1);
|
||||
--Primitive--Gray--200: hsla(220, 13%, 91%, 1);
|
||||
--Primitive--Gray--300: hsla(216, 12%, 84%, 1);
|
||||
--Primitive--Gray--400: hsla(218, 11%, 65%, 1);
|
||||
--Primitive--Gray--500: hsla(220, 9%, 46%, 1);
|
||||
--Primitive--Gray--600: hsla(0, 0%, 32%, 1);
|
||||
--Primitive--Gray--700: hsla(217, 19%, 27%, 1);
|
||||
--Primitive--Gray--800: hsla(215, 28%, 17%, 1);
|
||||
--Primitive--Gray--900: hsla(221, 39%, 11%, 1);
|
||||
--Primitive--Gray--950: hsla(224, 71%, 4%, 1);
|
||||
--Primitive--Red--50: hsla(0, 86%, 97%, 1);
|
||||
--Primitive--Red--100: hsla(0, 93%, 94%, 1);
|
||||
--Primitive--Red--200: hsla(0, 96%, 89%, 1);
|
||||
--Primitive--Red--300: hsla(0, 94%, 82%, 1);
|
||||
--Primitive--Red--400: hsla(0, 91%, 71%, 1);
|
||||
--Primitive--Red--500: hsla(0, 84%, 60%, 1);
|
||||
--Primitive--Red--600: hsla(0, 72%, 51%, 1);
|
||||
--Primitive--Red--700: hsla(0, 74%, 42%, 1);
|
||||
--Primitive--Red--800: hsla(0, 70%, 35%, 1);
|
||||
--Primitive--Red--900: hsla(0, 63%, 31%, 1);
|
||||
--Primitive--Red--950: hsla(0, 75%, 15%, 1);
|
||||
--Primitive--Orange--50: hsla(33, 100%, 96%, 1);
|
||||
--Primitive--Orange--100: hsla(34, 100%, 92%, 1);
|
||||
--Primitive--Orange--200: hsla(32, 98%, 83%, 1);
|
||||
--Primitive--Orange--300: hsla(31, 97%, 72%, 1);
|
||||
--Primitive--Orange--400: hsla(27, 96%, 61%, 1);
|
||||
--Primitive--Orange--500: hsla(25, 95%, 53%, 1);
|
||||
--Primitive--Orange--600: hsla(21, 90%, 48%, 1);
|
||||
--Primitive--Orange--700: hsla(17, 88%, 40%, 1);
|
||||
--Primitive--Orange--800: hsla(15, 79%, 34%, 1);
|
||||
--Primitive--Orange--900: hsla(15, 75%, 28%, 1);
|
||||
--Primitive--Orange--950: hsla(13, 81%, 15%, 1);
|
||||
--Primitive--Amber--50: hsla(48, 100%, 96%, 1);
|
||||
--Primitive--Amber--100: hsla(48, 96%, 89%, 1);
|
||||
--Primitive--Amber--200: hsla(48, 97%, 77%, 1);
|
||||
--Primitive--Amber--300: hsla(46, 97%, 65%, 1);
|
||||
--Primitive--Amber--400: hsla(43, 96%, 56%, 1);
|
||||
--Primitive--Amber--500: hsla(38, 92%, 50%, 1);
|
||||
--Primitive--Amber--600: hsla(32, 95%, 44%, 1);
|
||||
--Primitive--Amber--700: hsla(26, 90%, 37%, 1);
|
||||
--Primitive--Amber--800: hsla(23, 83%, 31%, 1);
|
||||
--Primitive--Amber--900: hsla(22, 78%, 26%, 1);
|
||||
--Primitive--Amber--950: hsla(21, 92%, 14%, 1);
|
||||
--Primitive--Yellow--50: hsla(55, 92%, 95%, 1);
|
||||
--Primitive--Yellow--100: hsla(55, 97%, 88%, 1);
|
||||
--Primitive--Yellow--200: hsla(53, 98%, 77%, 1);
|
||||
--Primitive--Yellow--300: hsla(50, 98%, 64%, 1);
|
||||
--Primitive--Yellow--400: hsla(48, 96%, 53%, 1);
|
||||
--Primitive--Yellow--500: hsla(45, 93%, 47%, 1);
|
||||
--Primitive--Yellow--600: hsla(41, 96%, 40%, 1);
|
||||
--Primitive--Yellow--700: hsla(35, 92%, 33%, 1);
|
||||
--Primitive--Yellow--800: hsla(32, 81%, 29%, 1);
|
||||
--Primitive--Yellow--900: hsla(28, 73%, 26%, 1);
|
||||
--Primitive--Yellow--950: hsla(26, 83%, 14%, 1);
|
||||
--Primitive--Lime--50: hsla(78, 92%, 95%, 1);
|
||||
--Primitive--Lime--100: hsla(80, 89%, 89%, 1);
|
||||
--Primitive--Lime--200: hsla(81, 88%, 80%, 1);
|
||||
--Primitive--Lime--300: hsla(82, 85%, 67%, 1);
|
||||
--Primitive--Lime--400: hsla(83, 78%, 55%, 1);
|
||||
--Primitive--Lime--500: hsla(84, 81%, 44%, 1);
|
||||
--Primitive--Lime--600: hsla(85, 85%, 35%, 1);
|
||||
--Primitive--Lime--700: hsla(86, 78%, 27%, 1);
|
||||
--Primitive--Lime--800: hsla(86, 69%, 23%, 1);
|
||||
--Primitive--Lime--900: hsla(88, 61%, 20%, 1);
|
||||
--Primitive--Lime--950: hsla(89, 80%, 10%, 1);
|
||||
--Primitive--Green--50: hsla(138, 76%, 97%, 1);
|
||||
--Primitive--Green--100: hsla(141, 84%, 93%, 1);
|
||||
--Primitive--Green--200: hsla(141, 79%, 85%, 1);
|
||||
--Primitive--Green--300: hsla(142, 77%, 73%, 1);
|
||||
--Primitive--Green--400: hsla(142, 69%, 58%, 1);
|
||||
--Primitive--Green--500: hsla(142, 71%, 45%, 1);
|
||||
--Primitive--Green--600: hsla(142, 76%, 36%, 1);
|
||||
--Primitive--Green--700: hsla(142, 72%, 29%, 1);
|
||||
--Primitive--Green--800: hsla(143, 64%, 24%, 1);
|
||||
--Primitive--Green--900: hsla(144, 61%, 20%, 1);
|
||||
--Primitive--Green--950: hsla(145, 80%, 10%, 1);
|
||||
--Primitive--Emerald--50: hsla(152, 81%, 96%, 1);
|
||||
--Primitive--Emerald--100: hsla(149, 80%, 90%, 1);
|
||||
--Primitive--Emerald--200: hsla(152, 76%, 80%, 1);
|
||||
--Primitive--Emerald--300: hsla(156, 72%, 67%, 1);
|
||||
--Primitive--Emerald--400: hsla(158, 64%, 52%, 1);
|
||||
--Primitive--Emerald--500: hsla(160, 84%, 39%, 1);
|
||||
--Primitive--Emerald--600: hsla(161, 94%, 30%, 1);
|
||||
--Primitive--Emerald--700: hsla(163, 94%, 24%, 1);
|
||||
--Primitive--Emerald--800: hsla(163, 88%, 20%, 1);
|
||||
--Primitive--Emerald--900: hsla(164, 86%, 16%, 1);
|
||||
--Primitive--Emerald--950: hsla(166, 91%, 9%, 1);
|
||||
--Primitive--Teal--50: hsla(166, 76%, 97%, 1);
|
||||
--Primitive--Teal--100: hsla(167, 85%, 89%, 1);
|
||||
--Primitive--Teal--200: hsla(168, 84%, 78%, 1);
|
||||
--Primitive--Teal--300: hsla(171, 77%, 64%, 1);
|
||||
--Primitive--Teal--400: hsla(172, 66%, 50%, 1);
|
||||
--Primitive--Teal--500: hsla(173, 80%, 40%, 1);
|
||||
--Primitive--Teal--600: hsla(175, 84%, 32%, 1);
|
||||
--Primitive--Teal--700: hsla(175, 77%, 26%, 1);
|
||||
--Primitive--Teal--800: hsla(176, 69%, 22%, 1);
|
||||
--Primitive--Teal--900: hsla(176, 61%, 19%, 1);
|
||||
--Primitive--Teal--950: hsla(179, 84%, 10%, 1);
|
||||
--Primitive--Cyan--50: hsla(183, 100%, 96%, 1);
|
||||
--Primitive--Cyan--100: hsla(185, 96%, 90%, 1);
|
||||
--Primitive--Cyan--200: hsla(186, 94%, 82%, 1);
|
||||
--Primitive--Cyan--300: hsla(187, 92%, 69%, 1);
|
||||
--Primitive--Cyan--400: hsla(188, 86%, 53%, 1);
|
||||
--Primitive--Cyan--500: hsla(189, 94%, 43%, 1);
|
||||
--Primitive--Cyan--600: hsla(192, 91%, 36%, 1);
|
||||
--Primitive--Cyan--700: hsla(193, 82%, 31%, 1);
|
||||
--Primitive--Cyan--800: hsla(194, 70%, 27%, 1);
|
||||
--Primitive--Cyan--900: hsla(196, 64%, 24%, 1);
|
||||
--Primitive--Cyan--950: hsla(197, 79%, 15%, 1);
|
||||
--Primitive--Sky--50: hsla(204, 100%, 97%, 1);
|
||||
--Primitive--Sky--100: hsla(204, 94%, 94%, 1);
|
||||
--Primitive--Sky--200: hsla(201, 94%, 86%, 1);
|
||||
--Primitive--Sky--300: hsla(199, 95%, 74%, 1);
|
||||
--Primitive--Sky--400: hsla(198, 93%, 60%, 1);
|
||||
--Primitive--Sky--500: hsla(199, 89%, 48%, 1);
|
||||
--Primitive--Sky--600: hsla(200, 98%, 39%, 1);
|
||||
--Primitive--Sky--700: hsla(201, 96%, 32%, 1);
|
||||
--Primitive--Sky--800: hsla(201, 90%, 27%, 1);
|
||||
--Primitive--Sky--900: hsla(202, 80%, 24%, 1);
|
||||
--Primitive--Sky--950: hsla(204, 80%, 16%, 1);
|
||||
--Primitive--Blue--50: hsla(214, 100%, 97%, 1);
|
||||
--Primitive--Blue--100: hsla(214, 95%, 93%, 1);
|
||||
--Primitive--Blue--200: hsla(213, 97%, 87%, 1);
|
||||
--Primitive--Blue--300: hsla(212, 96%, 78%, 1);
|
||||
--Primitive--Blue--400: hsla(213, 94%, 68%, 1);
|
||||
--Primitive--Blue--500: hsla(217, 91%, 60%, 1);
|
||||
--Primitive--Blue--600: hsla(221, 83%, 53%, 1);
|
||||
--Primitive--Blue--700: hsla(224, 76%, 48%, 1);
|
||||
--Primitive--Blue--800: hsla(226, 71%, 40%, 1);
|
||||
--Primitive--Blue--900: hsla(224, 64%, 33%, 1);
|
||||
--Primitive--Blue--950: hsla(226, 57%, 21%, 1);
|
||||
--Primitive--Indigo--50: hsla(226, 100%, 97%, 1);
|
||||
--Primitive--Indigo--100: hsla(226, 100%, 94%, 1);
|
||||
--Primitive--Indigo--200: hsla(228, 96%, 89%, 1);
|
||||
--Primitive--Indigo--300: hsla(230, 94%, 82%, 1);
|
||||
--Primitive--Indigo--400: hsla(234, 89%, 74%, 1);
|
||||
--Primitive--Indigo--500: hsla(239, 84%, 67%, 1);
|
||||
--Primitive--Indigo--600: hsla(243, 75%, 59%, 1);
|
||||
--Primitive--Indigo--700: hsla(245, 58%, 51%, 1);
|
||||
--Primitive--Indigo--800: hsla(244, 55%, 41%, 1);
|
||||
--Primitive--Indigo--900: hsla(242, 47%, 34%, 1);
|
||||
--Primitive--Indigo--950: hsla(244, 47%, 20%, 1);
|
||||
--Primitive--Violet--50: hsla(250, 100%, 98%, 1);
|
||||
--Primitive--Violet--100: hsla(251, 91%, 95%, 1);
|
||||
--Primitive--Violet--200: hsla(251, 95%, 92%, 1);
|
||||
--Primitive--Violet--300: hsla(253, 95%, 85%, 1);
|
||||
--Primitive--Violet--400: hsla(255, 92%, 76%, 1);
|
||||
--Primitive--Violet--500: hsla(258, 90%, 66%, 1);
|
||||
--Primitive--Violet--600: hsla(262, 83%, 58%, 1);
|
||||
--Primitive--Violet--700: hsla(263, 70%, 50%, 1);
|
||||
--Primitive--Violet--800: hsla(263, 69%, 42%, 1);
|
||||
--Primitive--Violet--900: hsla(264, 67%, 35%, 1);
|
||||
--Primitive--Violet--950: hsla(262, 78%, 23%, 1);
|
||||
--Primitive--Purple--50: hsla(270, 100%, 98%, 1);
|
||||
--Primitive--Purple--100: hsla(269, 100%, 95%, 1);
|
||||
--Primitive--Purple--200: hsla(269, 100%, 92%, 1);
|
||||
--Primitive--Purple--300: hsla(269, 97%, 85%, 1);
|
||||
--Primitive--Purple--400: hsla(270, 95%, 75%, 1);
|
||||
--Primitive--Purple--500: hsla(271, 91%, 65%, 1);
|
||||
--Primitive--Purple--600: hsla(271, 81%, 56%, 1);
|
||||
--Primitive--Purple--700: hsla(272, 72%, 47%, 1);
|
||||
--Primitive--Purple--800: hsla(273, 67%, 39%, 1);
|
||||
--Primitive--Purple--900: hsla(274, 66%, 32%, 1);
|
||||
--Primitive--Purple--950: hsla(274, 87%, 21%, 1);
|
||||
--Primitive--Fuchsia--50: hsla(289, 100%, 98%, 1);
|
||||
--Primitive--Fuchsia--100: hsla(287, 100%, 95%, 1);
|
||||
--Primitive--Fuchsia--200: hsla(288, 96%, 91%, 1);
|
||||
--Primitive--Fuchsia--300: hsla(291, 93%, 83%, 1);
|
||||
--Primitive--Fuchsia--400: hsla(292, 91%, 73%, 1);
|
||||
--Primitive--Fuchsia--500: hsla(292, 84%, 61%, 1);
|
||||
--Primitive--Fuchsia--600: hsla(293, 69%, 49%, 1);
|
||||
--Primitive--Fuchsia--700: hsla(295, 72%, 40%, 1);
|
||||
--Primitive--Fuchsia--800: hsla(295, 70%, 33%, 1);
|
||||
--Primitive--Fuchsia--900: hsla(297, 64%, 28%, 1);
|
||||
--Primitive--Fuchsia--950: hsla(297, 90%, 16%, 1);
|
||||
--Primitive--Pink--50: hsla(327, 73%, 97%, 1);
|
||||
--Primitive--Pink--100: hsla(326, 78%, 95%, 1);
|
||||
--Primitive--Pink--200: hsla(326, 85%, 90%, 1);
|
||||
--Primitive--Pink--300: hsla(327, 87%, 82%, 1);
|
||||
--Primitive--Pink--400: hsla(329, 86%, 70%, 1);
|
||||
--Primitive--Pink--500: hsla(330, 81%, 60%, 1);
|
||||
--Primitive--Pink--600: hsla(333, 71%, 51%, 1);
|
||||
--Primitive--Pink--700: hsla(335, 78%, 42%, 1);
|
||||
--Primitive--Pink--800: hsla(336, 74%, 35%, 1);
|
||||
--Primitive--Pink--900: hsla(336, 69%, 30%, 1);
|
||||
--Primitive--Pink--950: hsla(336, 84%, 17%, 1);
|
||||
--Primitive--Rose--50: hsla(356, 100%, 97%, 1);
|
||||
--Primitive--Rose--100: hsla(356, 100%, 95%, 1);
|
||||
--Primitive--Rose--200: hsla(353, 96%, 90%, 1);
|
||||
--Primitive--Rose--300: hsla(353, 96%, 82%, 1);
|
||||
--Primitive--Rose--400: hsla(351, 95%, 71%, 1);
|
||||
--Primitive--Rose--500: hsla(350, 89%, 60%, 1);
|
||||
--Primitive--Rose--600: hsla(347, 77%, 50%, 1);
|
||||
--Primitive--Rose--700: hsla(345, 83%, 41%, 1);
|
||||
--Primitive--Rose--800: hsla(343, 80%, 35%, 1);
|
||||
--Primitive--Rose--900: hsla(342, 75%, 30%, 1);
|
||||
--Primitive--Rose--950: hsla(343, 88%, 16%, 1);
|
||||
--Brand--Base_Colors--Destructive: var(--Primitive--Red--500);
|
||||
--Brand--Base_Colors--Success: var(--Primitive--Green--500);
|
||||
--Brand--Base_Colors--Warning: var(--Primitive--Amber--500);
|
||||
--Brand--Base_Colors--White: var(--Primitive--White);
|
||||
--Brand--Base_Colors--Black: var(--Primitive--Black);
|
||||
--Brand--Semantic_Colors--Background: var(--Primitive--Zinc--50); /*页面背景色:应用在整个页面的最底层。*/
|
||||
--Brand--Semantic_Colors--Background-subtle: hsla(
|
||||
0,
|
||||
0%,
|
||||
0%,
|
||||
0.02
|
||||
); /*细微背景色:用于需要与主背景有微弱区分的区域,如代码块背景。*/
|
||||
--Brand--Semantic_Colors--Foreground: hsla(0, 0%, 0%, 0.9); /*主要前景/文字色:用于正文、标题等。*/
|
||||
--Brand--Semantic_Colors--Foreground-secondary: hsla(0, 0%, 0%, 0.6); /*次要前景/文字色:用于辅助性文本、描述。*/
|
||||
--Brand--Semantic_Colors--Foreground-muted: hsla(0, 0%, 0%, 0.4); /*静默前景/文字色:用于禁用状态的文字、占位符。*/
|
||||
--Brand--Semantic_Colors--Border: hsla(0, 0%, 0%, 0.1); /*默认边框色:用于卡片、输入框、分隔线。*/
|
||||
--Brand--Semantic_Colors--Border-hover: hsla(0, 0%, 0%, 0.2); /*激活边框色:用于元素被按下或激活时的边框。*/
|
||||
--Brand--Semantic_Colors--Border-active: hsla(0, 0%, 0%, 0.3); /*激活边框色:用于元素被按下或激活时的边框。*/
|
||||
--Brand--Semantic_Colors--Ring: hsla(
|
||||
84,
|
||||
81%,
|
||||
44%,
|
||||
0.4
|
||||
); /*聚焦环颜色:用于输入框等元素在聚焦 (Focus) 状态下的外发光。*/
|
||||
--Brand--UI_Element_Colors--Modal--Backdrop: hsla(0, 0%, 0%, 0.4);
|
||||
--Brand--UI_Element_Colors--Modal--Thumb: hsla(0, 0%, 0%, 0.2);
|
||||
--Brand--UI_Element_Colors--Modal--Thumb_Hover: hsla(0, 0%, 0%, 0.3);
|
||||
--Brand--UI_Element_Colors--Icon--Default: var(--Brand--Semantic_Colors--Foreground-secondary);
|
||||
--Brand--UI_Element_Colors--Icon--Hover: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Input_Select--Background: var(--Brand--Base_Colors--White);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border_Hover: var(--Brand--Semantic_Colors--Border-hover);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border_Focus: var(--Brand--Base_Colors--Primary);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background: var(--Brand--Base_Colors--Primary);
|
||||
--Brand--UI_Element_Colors--Card_Container--Background: var(--Brand--Base_Colors--White);
|
||||
--Brand--UI_Element_Colors--Card_Container--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background: hsla(0, 0%, 0%, 0);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Text: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background_Hover: hsla(0, 0%, 0%, 0.05);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background_Active: hsla(0, 0%, 0%, 0.1);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background: hsla(0, 0%, 0%, 0.05);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Text: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background_Hover: hsla(0, 0%, 0%, 0.85);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background_Active: hsla(0, 0%, 0%, 0.7);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Text: var(--Brand--Base_Colors--White);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background_Hover: hsla(84, 81%, 44%, 0.85);
|
||||
--Brand--UI_Element_Colors--Primary_Button--2nd_Background: hsla(84, 81%, 44%, 0.1);
|
||||
--Brand--UI_Element_Colors--Primary_Button--3rd_Background: hsla(84, 81%, 44%, 0.05);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background_Active: hsla(84, 81%, 44%, 0.7);
|
||||
--Boolean: false;
|
||||
|
||||
/* Color: Dark mode */
|
||||
--Opacity--Red--Red-100: var(--Primitive--Red--600);
|
||||
--Opacity--Red--Red-80: hsla(0, 72%, 51%, 0.8);
|
||||
--Opacity--Red--Red-60: hsla(0, 72%, 51%, 0.6);
|
||||
--Opacity--Red--Red-40: hsla(0, 72%, 51%, 0.4);
|
||||
--Opacity--Red--Red-20: hsla(0, 72%, 51%, 0.2);
|
||||
--Opacity--Red--Red-10: hsla(0, 72%, 51%, 0.1);
|
||||
--Opacity--Green--Green-100: var(--Primitive--Green--600);
|
||||
--Opacity--Green--Green-80: hsla(142, 76%, 36%, 0.8);
|
||||
--Opacity--Green--Green-60: hsla(142, 76%, 36%, 0.6);
|
||||
--Opacity--Green--Green-40: hsla(142, 76%, 36%, 0.4);
|
||||
--Opacity--Green--Green-20: hsla(142, 76%, 36%, 0.2);
|
||||
--Opacity--Green--Green-10: hsla(142, 76%, 36%, 0.1);
|
||||
--Opacity--Yellow--Yellow-100: var(--Primitive--Yellow--400);
|
||||
--Opacity--Yellow--Yellow-80: hsla(48, 96%, 53%, 0.8);
|
||||
--Opacity--Yellow--Yellow-60: hsla(48, 96%, 53%, 0.6);
|
||||
--Opacity--Yellow--Yellow-40: hsla(48, 96%, 53%, 0.4);
|
||||
--Opacity--Yellow--Yellow-20: hsla(48, 96%, 53%, 0.2);
|
||||
--Opacity--Yellow--Yellow-10: hsla(48, 96%, 53%, 0.1);
|
||||
--Opacity--Violet--Violet-100: var(--Primitive--Violet--500);
|
||||
--Opacity--Violet--Violet-80: hsla(258, 90%, 66%, 0.8);
|
||||
--Opacity--Violet--Violet-60: hsla(258, 90%, 66%, 0.6);
|
||||
--Opacity--Violet--Violet-40: hsla(258, 90%, 66%, 0.4);
|
||||
--Opacity--Violet--Violet-20: hsla(258, 90%, 66%, 0.2);
|
||||
--Opacity--Violet--Violet-10: hsla(258, 90%, 66%, 0.1);
|
||||
--Opacity--Indigo--Indigo-100: var(--Primitive--Indigo--500);
|
||||
--Opacity--Indigo--Indigo-80: hsla(239, 84%, 67%, 0.8);
|
||||
--Opacity--Indigo--Indigo-60: hsla(239, 84%, 67%, 0.6);
|
||||
--Opacity--Indigo--Indigo-40: hsla(239, 84%, 67%, 0.4);
|
||||
--Opacity--Indigo--Indigo-20: hsla(239, 84%, 67%, 0.2);
|
||||
--Opacity--Indigo--Indigo-10: hsla(239, 84%, 67%, 0.1);
|
||||
--Opacity--Blue--Blue-100: var(--Primitive--Blue--500);
|
||||
--Opacity--Blue--Blue-80: hsla(217, 91%, 60%, 0.8);
|
||||
--Opacity--Blue--Blue-60: hsla(217, 91%, 60%, 0.6);
|
||||
--Opacity--Blue--Blue-40: hsla(217, 91%, 60%, 0.4);
|
||||
--Opacity--Blue--Blue-20: hsla(217, 91%, 60%, 0.2);
|
||||
--Opacity--Blue--Blue-10: hsla(217, 91%, 60%, 0.1);
|
||||
--Opacity--Grey--Grey-100: var(--Primitive--Gray--500);
|
||||
--Opacity--Grey--Grey-80: hsla(220, 9%, 46%, 0.8);
|
||||
--Opacity--Grey--Grey-60: hsla(220, 9%, 46%, 0.6);
|
||||
--Opacity--Grey--Grey-40: hsla(220, 9%, 46%, 0.4);
|
||||
--Opacity--Grey--Grey-20: hsla(220, 9%, 46%, 0.2);
|
||||
--Opacity--Grey--Grey-10: hsla(220, 9%, 46%, 0.1);
|
||||
--Opacity--White--White-100: var(--Primitive--White);
|
||||
--Opacity--White--White-80: hsla(0, 0%, 100%, 0.8);
|
||||
--Opacity--White--White-60: hsla(0, 0%, 100%, 0.6);
|
||||
--Opacity--White--White-40: hsla(0, 0%, 100%, 0.4);
|
||||
--Opacity--White--White-20: hsla(0, 0%, 100%, 0.2);
|
||||
--Opacity--White--White-10: hsla(0, 0%, 100%, 0.1);
|
||||
--Opacity--White--White-0: hsla(0, 0%, 100%, 0);
|
||||
--Status--Error--colorErrorBg: var(--color--Red--900);
|
||||
--Status--Error--colorErrorBgHover: var(--color--Red--800);
|
||||
--Status--Error--colorErrorBorder: var(--color--Red--700);
|
||||
--Status--Error--colorErrorBorderHover: var(--color--Red--600);
|
||||
--Status--Error--colorErrorBase: var(--color--Red--400);
|
||||
--Status--Error--colorErrorActive: var(--color--Red--300);
|
||||
--Status--Error--colorErrorTextHover: var(--color--Red--200);
|
||||
--Status--Error--colorErrorText: var(--color--Red--100);
|
||||
--Status--Success--colorSuccessBg: var(--color--Green--900);
|
||||
--Status--Success--colorSuccessBgHover: var(--color--Green--800);
|
||||
--Status--Success--colorSuccessBase: var(--color--Green--400);
|
||||
--Status--Success--colorSuccessTextHover: var(--color--Green--200);
|
||||
--Status--Warning--colorWarningBg: var(--color--Yellow--900);
|
||||
--Status--Warning--colorWarningBgHover: var(--color--Yellow--800);
|
||||
--Status--Warning--colorWarningBase: var(--color--Yellow--400);
|
||||
--Status--Warning--colorWarningActive: var(--color--Yellow--300);
|
||||
--Status--Warning--colorWarningTextHover: var(--color--Yellow--200);
|
||||
--Primitive--Black: hsla(0, 0%, 0%, 1);
|
||||
--Primitive--White: hsla(0, 0%, 100%, 1);
|
||||
--Brand--Base_Colors--Primary: var(--Primitive--Lime--500);
|
||||
--Primitive--Neutral--50: hsla(0, 0%, 98%, 1);
|
||||
--Primitive--Neutral--100: hsla(0, 0%, 96%, 1);
|
||||
--Primitive--Neutral--200: hsla(0, 0%, 90%, 1);
|
||||
--Primitive--Neutral--300: hsla(0, 0%, 83%, 1);
|
||||
--Primitive--Neutral--400: hsla(0, 0%, 64%, 1);
|
||||
--Primitive--Neutral--500: hsla(0, 0%, 45%, 1);
|
||||
--Primitive--Neutral--600: hsla(215, 14%, 34%, 1);
|
||||
--Primitive--Neutral--700: hsla(0, 0%, 25%, 1);
|
||||
--Primitive--Neutral--800: hsla(0, 0%, 15%, 1);
|
||||
--Primitive--Neutral--900: hsla(0, 0%, 9%, 1);
|
||||
--Primitive--Neutral--950: hsla(0, 0%, 4%, 1);
|
||||
--Primitive--Stone--50: hsla(60, 9%, 98%, 1);
|
||||
--Primitive--Stone--100: hsla(60, 5%, 96%, 1);
|
||||
--Primitive--Stone--200: hsla(20, 6%, 90%, 1);
|
||||
--Primitive--Stone--300: hsla(24, 6%, 83%, 1);
|
||||
--Primitive--Stone--400: hsla(24, 5%, 64%, 1);
|
||||
--Primitive--Stone--500: hsla(25, 5%, 45%, 1);
|
||||
--Primitive--Stone--600: hsla(33, 5%, 32%, 1);
|
||||
--Primitive--Stone--700: hsla(30, 6%, 25%, 1);
|
||||
--Primitive--Stone--800: hsla(12, 6%, 15%, 1);
|
||||
--Primitive--Stone--900: hsla(24, 10%, 10%, 1);
|
||||
--Primitive--Stone--950: hsla(20, 14%, 4%, 1);
|
||||
--Primitive--Zinc--50: hsla(0, 0%, 98%, 1);
|
||||
--Primitive--Zinc--100: hsla(240, 5%, 96%, 1);
|
||||
--Primitive--Zinc--200: hsla(240, 6%, 90%, 1);
|
||||
--Primitive--Zinc--300: hsla(240, 5%, 84%, 1);
|
||||
--Primitive--Zinc--400: hsla(240, 5%, 65%, 1);
|
||||
--Primitive--Zinc--500: hsla(240, 4%, 46%, 1);
|
||||
--Primitive--Zinc--600: hsla(240, 5%, 34%, 1);
|
||||
--Primitive--Zinc--700: hsla(240, 5%, 26%, 1);
|
||||
--Primitive--Zinc--800: hsla(240, 4%, 16%, 1);
|
||||
--Primitive--Zinc--900: hsla(240, 6%, 10%, 1);
|
||||
--Primitive--Zinc--950: hsla(240, 10%, 4%, 1);
|
||||
--Primitive--Slate--50: hsla(210, 40%, 98%, 1);
|
||||
--Primitive--Slate--100: hsla(210, 40%, 96%, 1);
|
||||
--Primitive--Slate--200: hsla(214, 32%, 91%, 1);
|
||||
--Primitive--Slate--300: hsla(213, 27%, 84%, 1);
|
||||
--Primitive--Slate--400: hsla(215, 20%, 65%, 1);
|
||||
--Primitive--Slate--500: hsla(215, 16%, 47%, 1);
|
||||
--Primitive--Slate--600: hsla(215, 19%, 35%, 1);
|
||||
--Primitive--Slate--700: hsla(215, 25%, 27%, 1);
|
||||
--Primitive--Slate--800: hsla(217, 33%, 17%, 1);
|
||||
--Primitive--Slate--900: hsla(222, 47%, 11%, 1);
|
||||
--Primitive--Slate--950: hsla(229, 84%, 5%, 1);
|
||||
--Primitive--Gray--50: hsla(210, 20%, 98%, 1);
|
||||
--Primitive--Gray--100: hsla(220, 14%, 96%, 1);
|
||||
--Primitive--Gray--200: hsla(220, 13%, 91%, 1);
|
||||
--Primitive--Gray--300: hsla(216, 12%, 84%, 1);
|
||||
--Primitive--Gray--400: hsla(218, 11%, 65%, 1);
|
||||
--Primitive--Gray--500: hsla(220, 9%, 46%, 1);
|
||||
--Primitive--Gray--600: hsla(0, 0%, 32%, 1);
|
||||
--Primitive--Gray--700: hsla(217, 19%, 27%, 1);
|
||||
--Primitive--Gray--800: hsla(215, 28%, 17%, 1);
|
||||
--Primitive--Gray--900: hsla(221, 39%, 11%, 1);
|
||||
--Primitive--Gray--950: hsla(224, 71%, 4%, 1);
|
||||
--Primitive--Red--50: hsla(0, 86%, 97%, 1);
|
||||
--Primitive--Red--100: hsla(0, 93%, 94%, 1);
|
||||
--Primitive--Red--200: hsla(0, 96%, 89%, 1);
|
||||
--Primitive--Red--300: hsla(0, 94%, 82%, 1);
|
||||
--Primitive--Red--400: hsla(0, 91%, 71%, 1);
|
||||
--Primitive--Red--500: hsla(0, 84%, 60%, 1);
|
||||
--Primitive--Red--600: hsla(0, 72%, 51%, 1);
|
||||
--Primitive--Red--700: hsla(0, 74%, 42%, 1);
|
||||
--Primitive--Red--800: hsla(0, 70%, 35%, 1);
|
||||
--Primitive--Red--900: hsla(0, 63%, 31%, 1);
|
||||
--Primitive--Red--950: hsla(0, 75%, 15%, 1);
|
||||
--Primitive--Orange--50: hsla(33, 100%, 96%, 1);
|
||||
--Primitive--Orange--100: hsla(34, 100%, 92%, 1);
|
||||
--Primitive--Orange--200: hsla(32, 98%, 83%, 1);
|
||||
--Primitive--Orange--300: hsla(31, 97%, 72%, 1);
|
||||
--Primitive--Orange--400: hsla(27, 96%, 61%, 1);
|
||||
--Primitive--Orange--500: hsla(25, 95%, 53%, 1);
|
||||
--Primitive--Orange--600: hsla(21, 90%, 48%, 1);
|
||||
--Primitive--Orange--700: hsla(17, 88%, 40%, 1);
|
||||
--Primitive--Orange--800: hsla(15, 79%, 34%, 1);
|
||||
--Primitive--Orange--900: hsla(15, 75%, 28%, 1);
|
||||
--Primitive--Orange--950: hsla(13, 81%, 15%, 1);
|
||||
--Primitive--Amber--50: hsla(48, 100%, 96%, 1);
|
||||
--Primitive--Amber--100: hsla(48, 96%, 89%, 1);
|
||||
--Primitive--Amber--200: hsla(48, 97%, 77%, 1);
|
||||
--Primitive--Amber--300: hsla(46, 97%, 65%, 1);
|
||||
--Primitive--Amber--400: hsla(43, 96%, 56%, 1);
|
||||
--Primitive--Amber--500: hsla(38, 92%, 50%, 1);
|
||||
--Primitive--Amber--600: hsla(32, 95%, 44%, 1);
|
||||
--Primitive--Amber--700: hsla(26, 90%, 37%, 1);
|
||||
--Primitive--Amber--800: hsla(23, 83%, 31%, 1);
|
||||
--Primitive--Amber--900: hsla(22, 78%, 26%, 1);
|
||||
--Primitive--Amber--950: hsla(21, 92%, 14%, 1);
|
||||
--Primitive--Yellow--50: hsla(55, 92%, 95%, 1);
|
||||
--Primitive--Yellow--100: hsla(55, 97%, 88%, 1);
|
||||
--Primitive--Yellow--200: hsla(53, 98%, 77%, 1);
|
||||
--Primitive--Yellow--300: hsla(50, 98%, 64%, 1);
|
||||
--Primitive--Yellow--400: hsla(48, 96%, 53%, 1);
|
||||
--Primitive--Yellow--500: hsla(45, 93%, 47%, 1);
|
||||
--Primitive--Yellow--600: hsla(41, 96%, 40%, 1);
|
||||
--Primitive--Yellow--700: hsla(35, 92%, 33%, 1);
|
||||
--Primitive--Yellow--800: hsla(32, 81%, 29%, 1);
|
||||
--Primitive--Yellow--900: hsla(28, 73%, 26%, 1);
|
||||
--Primitive--Yellow--950: hsla(26, 83%, 14%, 1);
|
||||
--Primitive--Lime--50: hsla(78, 92%, 95%, 1);
|
||||
--Primitive--Lime--100: hsla(80, 89%, 89%, 1);
|
||||
--Primitive--Lime--200: hsla(81, 88%, 80%, 1);
|
||||
--Primitive--Lime--300: hsla(82, 85%, 67%, 1);
|
||||
--Primitive--Lime--400: hsla(83, 78%, 55%, 1);
|
||||
--Primitive--Lime--500: hsla(84, 81%, 44%, 1);
|
||||
--Primitive--Lime--600: hsla(85, 85%, 35%, 1);
|
||||
--Primitive--Lime--700: hsla(86, 78%, 27%, 1);
|
||||
--Primitive--Lime--800: hsla(86, 69%, 23%, 1);
|
||||
--Primitive--Lime--900: hsla(88, 61%, 20%, 1);
|
||||
--Primitive--Lime--950: hsla(89, 80%, 10%, 1);
|
||||
--Primitive--Green--50: hsla(138, 76%, 97%, 1);
|
||||
--Primitive--Green--100: hsla(141, 84%, 93%, 1);
|
||||
--Primitive--Green--200: hsla(141, 79%, 85%, 1);
|
||||
--Primitive--Green--300: hsla(142, 77%, 73%, 1);
|
||||
--Primitive--Green--400: hsla(142, 69%, 58%, 1);
|
||||
--Primitive--Green--500: hsla(142, 71%, 45%, 1);
|
||||
--Primitive--Green--600: hsla(142, 76%, 36%, 1);
|
||||
--Primitive--Green--700: hsla(142, 72%, 29%, 1);
|
||||
--Primitive--Green--800: hsla(143, 64%, 24%, 1);
|
||||
--Primitive--Green--900: hsla(144, 61%, 20%, 1);
|
||||
--Primitive--Green--950: hsla(145, 80%, 10%, 1);
|
||||
--Primitive--Emerald--50: hsla(152, 81%, 96%, 1);
|
||||
--Primitive--Emerald--100: hsla(149, 80%, 90%, 1);
|
||||
--Primitive--Emerald--200: hsla(152, 76%, 80%, 1);
|
||||
--Primitive--Emerald--300: hsla(156, 72%, 67%, 1);
|
||||
--Primitive--Emerald--400: hsla(158, 64%, 52%, 1);
|
||||
--Primitive--Emerald--500: hsla(160, 84%, 39%, 1);
|
||||
--Primitive--Emerald--600: hsla(161, 94%, 30%, 1);
|
||||
--Primitive--Emerald--700: hsla(163, 94%, 24%, 1);
|
||||
--Primitive--Emerald--800: hsla(163, 88%, 20%, 1);
|
||||
--Primitive--Emerald--900: hsla(164, 86%, 16%, 1);
|
||||
--Primitive--Emerald--950: hsla(166, 91%, 9%, 1);
|
||||
--Primitive--Teal--50: hsla(166, 76%, 97%, 1);
|
||||
--Primitive--Teal--100: hsla(167, 85%, 89%, 1);
|
||||
--Primitive--Teal--200: hsla(168, 84%, 78%, 1);
|
||||
--Primitive--Teal--300: hsla(171, 77%, 64%, 1);
|
||||
--Primitive--Teal--400: hsla(172, 66%, 50%, 1);
|
||||
--Primitive--Teal--500: hsla(173, 80%, 40%, 1);
|
||||
--Primitive--Teal--600: hsla(175, 84%, 32%, 1);
|
||||
--Primitive--Teal--700: hsla(175, 77%, 26%, 1);
|
||||
--Primitive--Teal--800: hsla(176, 69%, 22%, 1);
|
||||
--Primitive--Teal--900: hsla(176, 61%, 19%, 1);
|
||||
--Primitive--Teal--950: hsla(179, 84%, 10%, 1);
|
||||
--Primitive--Cyan--50: hsla(183, 100%, 96%, 1);
|
||||
--Primitive--Cyan--100: hsla(185, 96%, 90%, 1);
|
||||
--Primitive--Cyan--200: hsla(186, 94%, 82%, 1);
|
||||
--Primitive--Cyan--300: hsla(187, 92%, 69%, 1);
|
||||
--Primitive--Cyan--400: hsla(188, 86%, 53%, 1);
|
||||
--Primitive--Cyan--500: hsla(189, 94%, 43%, 1);
|
||||
--Primitive--Cyan--600: hsla(192, 91%, 36%, 1);
|
||||
--Primitive--Cyan--700: hsla(193, 82%, 31%, 1);
|
||||
--Primitive--Cyan--800: hsla(194, 70%, 27%, 1);
|
||||
--Primitive--Cyan--900: hsla(196, 64%, 24%, 1);
|
||||
--Primitive--Cyan--950: hsla(197, 79%, 15%, 1);
|
||||
--Primitive--Sky--50: hsla(204, 100%, 97%, 1);
|
||||
--Primitive--Sky--100: hsla(204, 94%, 94%, 1);
|
||||
--Primitive--Sky--200: hsla(201, 94%, 86%, 1);
|
||||
--Primitive--Sky--300: hsla(199, 95%, 74%, 1);
|
||||
--Primitive--Sky--400: hsla(198, 93%, 60%, 1);
|
||||
--Primitive--Sky--500: hsla(199, 89%, 48%, 1);
|
||||
--Primitive--Sky--600: hsla(200, 98%, 39%, 1);
|
||||
--Primitive--Sky--700: hsla(201, 96%, 32%, 1);
|
||||
--Primitive--Sky--800: hsla(201, 90%, 27%, 1);
|
||||
--Primitive--Sky--900: hsla(202, 80%, 24%, 1);
|
||||
--Primitive--Sky--950: hsla(204, 80%, 16%, 1);
|
||||
--Primitive--Blue--50: hsla(214, 100%, 97%, 1);
|
||||
--Primitive--Blue--100: hsla(214, 95%, 93%, 1);
|
||||
--Primitive--Blue--200: hsla(213, 97%, 87%, 1);
|
||||
--Primitive--Blue--300: hsla(212, 96%, 78%, 1);
|
||||
--Primitive--Blue--400: hsla(213, 94%, 68%, 1);
|
||||
--Primitive--Blue--500: hsla(217, 91%, 60%, 1);
|
||||
--Primitive--Blue--600: hsla(221, 83%, 53%, 1);
|
||||
--Primitive--Blue--700: hsla(224, 76%, 48%, 1);
|
||||
--Primitive--Blue--800: hsla(226, 71%, 40%, 1);
|
||||
--Primitive--Blue--900: hsla(224, 64%, 33%, 1);
|
||||
--Primitive--Blue--950: hsla(226, 57%, 21%, 1);
|
||||
--Primitive--Indigo--50: hsla(226, 100%, 97%, 1);
|
||||
--Primitive--Indigo--100: hsla(226, 100%, 94%, 1);
|
||||
--Primitive--Indigo--200: hsla(228, 96%, 89%, 1);
|
||||
--Primitive--Indigo--300: hsla(230, 94%, 82%, 1);
|
||||
--Primitive--Indigo--400: hsla(234, 89%, 74%, 1);
|
||||
--Primitive--Indigo--500: hsla(239, 84%, 67%, 1);
|
||||
--Primitive--Indigo--600: hsla(243, 75%, 59%, 1);
|
||||
--Primitive--Indigo--700: hsla(245, 58%, 51%, 1);
|
||||
--Primitive--Indigo--800: hsla(244, 55%, 41%, 1);
|
||||
--Primitive--Indigo--900: hsla(242, 47%, 34%, 1);
|
||||
--Primitive--Indigo--950: hsla(244, 47%, 20%, 1);
|
||||
--Primitive--Violet--50: hsla(250, 100%, 98%, 1);
|
||||
--Primitive--Violet--100: hsla(251, 91%, 95%, 1);
|
||||
--Primitive--Violet--200: hsla(251, 95%, 92%, 1);
|
||||
--Primitive--Violet--300: hsla(253, 95%, 85%, 1);
|
||||
--Primitive--Violet--400: hsla(255, 92%, 76%, 1);
|
||||
--Primitive--Violet--500: hsla(258, 90%, 66%, 1);
|
||||
--Primitive--Violet--600: hsla(262, 83%, 58%, 1);
|
||||
--Primitive--Violet--700: hsla(263, 70%, 50%, 1);
|
||||
--Primitive--Violet--800: hsla(263, 69%, 42%, 1);
|
||||
--Primitive--Violet--900: hsla(264, 67%, 35%, 1);
|
||||
--Primitive--Violet--950: hsla(262, 78%, 23%, 1);
|
||||
--Primitive--Purple--50: hsla(270, 100%, 98%, 1);
|
||||
--Primitive--Purple--100: hsla(269, 100%, 95%, 1);
|
||||
--Primitive--Purple--200: hsla(269, 100%, 92%, 1);
|
||||
--Primitive--Purple--300: hsla(269, 97%, 85%, 1);
|
||||
--Primitive--Purple--400: hsla(270, 95%, 75%, 1);
|
||||
--Primitive--Purple--500: hsla(271, 91%, 65%, 1);
|
||||
--Primitive--Purple--600: hsla(271, 81%, 56%, 1);
|
||||
--Primitive--Purple--700: hsla(272, 72%, 47%, 1);
|
||||
--Primitive--Purple--800: hsla(273, 67%, 39%, 1);
|
||||
--Primitive--Purple--900: hsla(274, 66%, 32%, 1);
|
||||
--Primitive--Purple--950: hsla(274, 87%, 21%, 1);
|
||||
--Primitive--Fuchsia--50: hsla(289, 100%, 98%, 1);
|
||||
--Primitive--Fuchsia--100: hsla(287, 100%, 95%, 1);
|
||||
--Primitive--Fuchsia--200: hsla(288, 96%, 91%, 1);
|
||||
--Primitive--Fuchsia--300: hsla(291, 93%, 83%, 1);
|
||||
--Primitive--Fuchsia--400: hsla(292, 91%, 73%, 1);
|
||||
--Primitive--Fuchsia--500: hsla(292, 84%, 61%, 1);
|
||||
--Primitive--Fuchsia--600: hsla(293, 69%, 49%, 1);
|
||||
--Primitive--Fuchsia--700: hsla(295, 72%, 40%, 1);
|
||||
--Primitive--Fuchsia--800: hsla(295, 70%, 33%, 1);
|
||||
--Primitive--Fuchsia--900: hsla(297, 64%, 28%, 1);
|
||||
--Primitive--Fuchsia--950: hsla(297, 90%, 16%, 1);
|
||||
--Primitive--Pink--50: hsla(327, 73%, 97%, 1);
|
||||
--Primitive--Pink--100: hsla(326, 78%, 95%, 1);
|
||||
--Primitive--Pink--200: hsla(326, 85%, 90%, 1);
|
||||
--Primitive--Pink--300: hsla(327, 87%, 82%, 1);
|
||||
--Primitive--Pink--400: hsla(329, 86%, 70%, 1);
|
||||
--Primitive--Pink--500: hsla(330, 81%, 60%, 1);
|
||||
--Primitive--Pink--600: hsla(333, 71%, 51%, 1);
|
||||
--Primitive--Pink--700: hsla(335, 78%, 42%, 1);
|
||||
--Primitive--Pink--800: hsla(336, 74%, 35%, 1);
|
||||
--Primitive--Pink--900: hsla(336, 69%, 30%, 1);
|
||||
--Primitive--Pink--950: hsla(336, 84%, 17%, 1);
|
||||
--Primitive--Rose--50: hsla(356, 100%, 97%, 1);
|
||||
--Primitive--Rose--100: hsla(356, 100%, 95%, 1);
|
||||
--Primitive--Rose--200: hsla(353, 96%, 90%, 1);
|
||||
--Primitive--Rose--300: hsla(353, 96%, 82%, 1);
|
||||
--Primitive--Rose--400: hsla(351, 95%, 71%, 1);
|
||||
--Primitive--Rose--500: hsla(350, 89%, 60%, 1);
|
||||
--Primitive--Rose--600: hsla(347, 77%, 50%, 1);
|
||||
--Primitive--Rose--700: hsla(345, 83%, 41%, 1);
|
||||
--Primitive--Rose--800: hsla(343, 80%, 35%, 1);
|
||||
--Primitive--Rose--900: hsla(342, 75%, 30%, 1);
|
||||
--Primitive--Rose--950: hsla(343, 88%, 16%, 1);
|
||||
--Brand--Base_Colors--Destructive: var(--Primitive--Red--500);
|
||||
--Brand--Base_Colors--Success: var(--Primitive--Green--500);
|
||||
--Brand--Base_Colors--Warning: var(--Primitive--Amber--500);
|
||||
--Brand--Base_Colors--White: var(--Primitive--White);
|
||||
--Brand--Base_Colors--Black: var(--Primitive--Black);
|
||||
--Brand--Semantic_Colors--Background: var(--Primitive--Zinc--900); /*页面背景色:应用在整个页面的最底层。*/
|
||||
--Brand--Semantic_Colors--Background-subtle: hsla(
|
||||
0,
|
||||
0%,
|
||||
100%,
|
||||
0.02
|
||||
); /*细微背景色:用于需要与主背景有微弱区分的区域,如代码块背景。*/
|
||||
--Brand--Semantic_Colors--Foreground: hsla(0, 0%, 100%, 0.9); /*主要前景/文字色:用于正文、标题等。*/
|
||||
--Brand--Semantic_Colors--Foreground-secondary: hsla(0, 0%, 100%, 0.6); /*次要前景/文字色:用于辅助性文本、描述。*/
|
||||
--Brand--Semantic_Colors--Foreground-muted: hsla(0, 0%, 100%, 0.4); /*静默前景/文字色:用于禁用状态的文字、占位符。*/
|
||||
--Brand--Semantic_Colors--Border: hsla(0, 0%, 100%, 0.1); /*默认边框色:用于卡片、输入框、分隔线。*/
|
||||
--Brand--Semantic_Colors--Border-hover: hsla(0, 0%, 100%, 0.2); /*激活边框色:用于元素被按下或激活时的边框。*/
|
||||
--Brand--Semantic_Colors--Border-active: hsla(0, 0%, 100%, 0.3); /*激活边框色:用于元素被按下或激活时的边框。*/
|
||||
--Brand--Semantic_Colors--Ring: hsla(
|
||||
84,
|
||||
81%,
|
||||
44%,
|
||||
0.4
|
||||
); /*聚焦环颜色:用于输入框等元素在聚焦 (Focus) 状态下的外发光。*/
|
||||
--Brand--UI_Element_Colors--Modal--Backdrop: hsla(0, 0%, 0%, 0.06);
|
||||
--Brand--UI_Element_Colors--Modal--Thumb: hsla(0, 0%, 100%, 0.2);
|
||||
--Brand--UI_Element_Colors--Modal--Thumb_Hover: hsla(0, 0%, 100%, 0.3);
|
||||
--Brand--UI_Element_Colors--Icon--Default: var(--Brand--Semantic_Colors--Foreground-secondary);
|
||||
--Brand--UI_Element_Colors--Icon--Hover: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Input_Select--Background: var(--Brand--Base_Colors--Black);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border_Hover: var(--Brand--Semantic_Colors--Border-hover);
|
||||
--Brand--UI_Element_Colors--Input_Select--Border_Focus: var(--Brand--Base_Colors--Primary);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background: var(--Brand--Base_Colors--Primary);
|
||||
--Brand--UI_Element_Colors--Card_Container--Background: var(--Brand--Base_Colors--Black);
|
||||
--Brand--UI_Element_Colors--Card_Container--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background: hsla(0, 0%, 100%, 0);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Text: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background_Hover: var(--Opacity--White--White-10);
|
||||
--Brand--UI_Element_Colors--Ghost_Button--Background_Active: hsla(0, 0%, 100%, 0.15);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background: var(--Opacity--White--White-10);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Text: var(--Brand--Semantic_Colors--Foreground);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background_Hover: var(--Opacity--White--White-20);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Background_Active: hsla(0, 0%, 100%, 0.25);
|
||||
--Brand--UI_Element_Colors--Secondary_Button--Border: var(--Brand--Semantic_Colors--Border);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Text: var(--Brand--Base_Colors--White);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background_Hover: hsla(84, 81%, 44%, 0.85);
|
||||
--Brand--UI_Element_Colors--Primary_Button--2nd_Background: hsla(84, 81%, 44%, 0.1);
|
||||
--Brand--UI_Element_Colors--Primary_Button--3rd_Background: hsla(84, 81%, 44%, 0.05);
|
||||
--Brand--UI_Element_Colors--Primary_Button--Background_Active: hsla(84, 81%, 44%, 0.7);
|
||||
--Boolean: false;
|
||||
}
|
||||
12
packages/ui/icons/302ai.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1002_325032)">
|
||||
<path d="M13.1591 23.9994C19.1463 23.9994 23.9999 19.1369 23.9999 13.1387C23.9999 7.14056 19.1463 2.27808 13.1591 2.27808C7.17194 2.27808 2.31836 7.14056 2.31836 13.1387C2.31836 19.1369 7.17194 23.9994 13.1591 23.9994Z" fill="#3F3FAA"/>
|
||||
<path d="M10.8408 21.7213C16.828 21.7213 21.6816 16.8589 21.6816 10.8607C21.6816 4.86249 16.828 0 10.8408 0C4.85358 0 0 4.86249 0 10.8607C0 16.8589 4.85358 21.7213 10.8408 21.7213Z" fill="#8E47F0"/>
|
||||
<path d="M10.674 18.0887C9.90386 18.0887 9.15988 17.8338 8.5431 17.3518C7.81081 16.7798 7.34412 15.9557 7.23049 15.0323C7.19589 14.7503 7.19449 14.4706 7.22628 14.1956C7.01212 14.2373 6.79047 14.2589 6.56461 14.2589C4.64737 14.2589 3.0874 12.696 3.0874 10.7753C3.0874 8.85455 4.64737 7.29172 6.56461 7.29172C6.83863 7.29172 7.10564 7.32357 7.36143 7.38401C7.34646 7.25283 7.33898 7.11979 7.33898 6.98627C7.33898 5.06552 8.89895 3.50269 10.8162 3.50269C12.7334 3.50269 14.2934 5.06552 14.2934 6.98627C14.2934 7.09777 14.2882 7.2088 14.2775 7.31936C14.559 7.27017 14.848 7.25517 15.1393 7.27719C17.0514 7.41914 18.4917 9.09347 18.35 11.0091C18.2812 11.9371 17.8557 12.7827 17.1524 13.3903C16.4486 13.9979 15.5503 14.295 14.6249 14.2256C14.4566 14.213 14.2911 14.1886 14.1293 14.153C14.1302 14.161 14.1311 14.1689 14.1325 14.1769C14.2466 15.1003 13.995 16.0129 13.4241 16.747C12.8531 17.4811 12.0306 17.9481 11.1089 18.0624C10.9635 18.0802 10.8185 18.0891 10.6745 18.0891L10.674 18.0887ZM8.74417 13.4878C8.50008 13.9113 8.40328 14.3915 8.4636 14.8796C8.53702 15.4732 8.83629 16.0025 9.30718 16.3698C9.77761 16.7376 10.3631 16.8997 10.9555 16.8261C11.548 16.7526 12.0764 16.4528 12.443 15.981C12.8101 15.5092 12.9719 14.9227 12.8985 14.3296C12.8503 13.938 12.7016 13.5702 12.4669 13.2587C12.3135 13.1102 12.1732 12.9472 12.0474 12.7696C11.8487 12.4895 11.9142 12.1006 12.1938 11.9015C12.4734 11.7019 12.8615 11.768 13.0603 12.0477C13.1066 12.1128 13.1557 12.1751 13.208 12.2341C13.2497 12.2636 13.2885 12.2988 13.3236 12.3391C13.3446 12.3639 13.3656 12.3887 13.3857 12.414C13.7505 12.7443 14.2162 12.9462 14.7166 12.9832C15.9483 13.0755 17.0191 12.1475 17.1103 10.9163C17.2015 9.68516 16.2761 8.60954 15.0472 8.51818C14.5763 8.48305 14.1166 8.59455 13.7159 8.8405C13.5256 8.99697 13.252 9.03117 13.0229 8.90515C12.7222 8.73977 12.6118 8.36125 12.7769 8.06002C12.956 7.73302 13.0505 7.36152 13.0505 6.9858C13.0505 5.75137 12.0479 4.74696 10.8157 4.74696C9.58354 4.74696 8.58097 5.75137 8.58097 6.9858C8.58097 7.42757 8.7091 7.85435 8.95133 8.2207C8.96302 8.2385 8.97377 8.25677 8.98359 8.27551C9.63545 8.90889 10.0409 9.79572 10.0409 10.7753C10.0409 11.8701 9.53444 12.8483 8.7437 13.4873L8.74417 13.4878ZM6.56414 8.53692C5.33197 8.53692 4.32939 9.54134 4.32939 10.7758C4.32939 12.0102 5.33197 13.0146 6.56414 13.0146C7.79631 13.0146 8.79888 12.0102 8.79888 10.7758C8.79888 9.54134 7.79631 8.53692 6.56414 8.53692Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1002_325032">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
9
packages/ui/icons/DMXAPI.svg
Normal file
|
After Width: | Height: | Size: 140 KiB |
11
packages/ui/icons/Voyage.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1010_212037)">
|
||||
<path d="M19.5 0H4.5C2.01472 0 0 2.01472 0 4.5V19.5C0 21.9853 2.01472 24 4.5 24H19.5C21.9853 24 24 21.9853 24 19.5V4.5C24 2.01472 21.9853 0 19.5 0Z" fill="#333333"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.5423 4.71087C5.21065 6.81312 11.4721 19.8057 11.8942 19.8746C12.246 19.9436 17.0652 10.156 19.4923 4.40071C19.5627 4.26285 19.1406 4.125 18.5426 4.125C17.7335 4.125 17.4521 4.29732 17.4521 4.71087C17.4521 5.26228 12.457 17.2899 12.3163 17.1176C12.0349 16.7385 7.2509 5.77923 7.07501 5.0555C6.86395 4.26285 6.65289 4.125 5.5976 4.125C4.57748 4.125 4.40159 4.22839 4.5423 4.71087Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1010_212037">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 866 B |
10
packages/ui/icons/aiOnly.svg
Normal file
|
After Width: | Height: | Size: 52 KiB |
15
packages/ui/icons/aihubmix.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1002_325038)">
|
||||
<path d="M21.8843 0H2.07031C0.965743 0 0.0703125 0.89543 0.0703125 2V22C0.0703125 23.1046 0.965742 24 2.07031 24H21.8843C22.9888 24 23.8843 23.1046 23.8843 22V2C23.8843 0.895431 22.9888 0 21.8843 0Z" fill="url(#paint0_linear_1002_325038)"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2237 8.39297C11.3167 7.74923 11.5229 6.92265 11.8423 5.91328C11.8846 5.78242 12.0698 5.78242 12.1121 5.91328C12.4315 6.92265 12.6377 7.74923 12.7307 8.39297C12.802 8.86485 12.802 9.46485 12.7307 10.193C12.6594 10.9242 12.6594 11.5289 12.7307 12.007C12.8361 12.707 13.154 13.2883 13.6842 13.7508C14.2237 14.2227 14.8485 14.4586 15.5586 14.4586C16.3462 14.4586 17.0191 14.1789 17.5772 13.6195C18.1322 13.0602 18.4129 12.3852 18.4191 11.5945C18.4222 10.8945 18.4935 10.1227 18.6331 9.27891C18.7012 8.85703 18.7709 8.50391 18.8424 8.21953C18.8731 8.09239 19.0472 8.07302 19.1028 8.19141C19.5834 9.21641 19.8346 10.2976 19.8563 11.4352V11.5945C19.8563 12.6727 19.65 13.7023 19.2377 14.6836C18.8377 15.6367 18.2749 16.4789 17.5493 17.2102C16.8206 17.9414 15.985 18.5086 15.0423 18.9118C14.0687 19.3273 13.047 19.5353 11.9772 19.5353C10.9074 19.5353 9.88574 19.3273 8.9121 18.9118C7.96946 18.5086 7.13381 17.9414 6.40512 17.2102C5.67954 16.4789 5.11675 15.6367 4.71675 14.6836C4.30434 13.7023 4.09814 12.6727 4.09814 11.5945V11.4352C4.11986 10.2976 4.37102 9.21641 4.85163 8.19141C4.90728 8.07302 5.08133 8.09239 5.1121 8.21953C5.18341 8.50391 5.25318 8.85703 5.3214 9.27891C5.46094 10.1227 5.53225 10.8945 5.53535 11.5945C5.54155 12.3852 5.82218 13.0602 6.37721 13.6195C6.93535 14.1789 7.60823 14.4586 8.39582 14.4586C9.1059 14.4586 9.7307 14.2227 10.2702 13.7508C10.8005 13.2883 11.1183 12.707 11.2237 12.007C11.295 11.5289 11.295 10.9242 11.2237 10.193C11.1524 9.46485 11.1524 8.86485 11.2237 8.39297ZM11.9772 18.0867C13.0656 18.0867 14.0857 17.8273 15.0377 17.3086C15.7123 16.9427 16.2981 16.4766 16.7952 15.9103C16.8573 15.8397 16.7842 15.7321 16.6938 15.7568C16.3276 15.857 15.9492 15.907 15.5586 15.907C14.7834 15.907 14.0625 15.7102 13.3958 15.3164C12.8571 15 12.4108 14.5891 12.0568 14.0839C12.0182 14.0289 11.9362 14.0289 11.8977 14.0839C11.5437 14.5891 11.0973 15 10.5586 15.3164C9.89195 15.7102 9.17102 15.907 8.39582 15.907C8.00523 15.907 7.62685 15.857 7.26064 15.7568C7.17029 15.7321 7.0972 15.8397 7.1592 15.9103C7.65628 16.4766 8.24213 16.9427 8.91675 17.3086C9.86869 17.8273 10.8888 18.0867 11.9772 18.0867Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1002_325038" x1="11.9773" y1="0" x2="11.9773" y2="24" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2563EB"/>
|
||||
<stop offset="1" stop-color="#0049DF"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_1002_325038">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
9
packages/ui/icons/alayanew.svg
Normal file
|
After Width: | Height: | Size: 28 KiB |
11
packages/ui/icons/anthropic.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1010_212036)">
|
||||
<path d="M18 0H6C2.68629 0 0 2.68629 0 6V18C0 21.3137 2.68629 24 6 24H18C21.3137 24 24 21.3137 24 18V6C24 2.68629 21.3137 0 18 0Z" fill="#CA9F7B"/>
|
||||
<path d="M15.3843 6.43481H12.9687L17.3739 17.5652H19.7896L15.3843 6.43481ZM8.40522 6.43481L4 17.5652H6.4633L7.36417 15.2279H11.9729L12.8737 17.5652H15.337L10.9318 6.43481H8.40522ZM8.16104 13.1607L9.66852 9.24907L11.176 13.1607H8.16104Z" fill="#191918"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1010_212036">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 655 B |
20
packages/ui/icons/aws-bedrock.svg
Normal file
@@ -0,0 +1,20 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1002_325036)">
|
||||
<mask id="mask0_1002_325036" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
|
||||
<path d="M24 0H0V24H24V0Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_1002_325036)">
|
||||
<path d="M19 0H4.99999C2.23857 0 0 2.23857 0 4.99999V19C0 21.7614 2.23857 24 4.99999 24H19C21.7614 24 24 21.7614 24 19V4.99999C24 2.23857 21.7614 0 19 0Z" fill="url(#paint0_linear_1002_325036)"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9995 18.1395L9.57351 18.9485L8.62752 18.3174L9.65751 17.9734L9.34152 17.0254L7.57352 17.6145L6.99951 17.2325V14.4995C6.99951 14.3105 6.89252 14.1375 6.72351 14.0525L4.99952 13.1905V10.8085L6.49952 10.0585L7.99952 10.8085V12.4995C7.99952 12.6895 8.10651 12.8625 8.27552 12.9475L10.2755 13.9475L10.7235 13.0525L8.99952 12.1905V10.8085L10.7235 9.94746C10.8925 9.86245 10.9995 9.68946 10.9995 9.49946V7.99946H9.99951V9.19045L8.49951 9.94045L6.99951 9.19045V6.76746L7.99952 6.10045V7.99946H8.99952V5.43445L9.57351 5.05146L11.9995 5.86045V18.1395ZM17.4995 16.9995C17.7745 16.9995 17.9995 17.2234 17.9995 17.4994C17.9995 17.7754 17.7745 17.9994 17.4995 17.9994C17.2246 17.9994 16.9996 17.7754 16.9996 17.4994C16.9996 17.2234 17.2246 16.9995 17.4995 16.9995ZM16.4995 5.99946C16.7746 5.99946 16.9996 6.22345 16.9996 6.49945C16.9996 6.77545 16.7746 6.99945 16.4995 6.99945C16.2245 6.99945 15.9995 6.77545 15.9995 6.49945C15.9995 6.22345 16.2245 5.99946 16.4995 5.99946ZM18.4996 11.9995C18.7745 11.9995 18.9995 12.2235 18.9995 12.4995C18.9995 12.7755 18.7745 12.9995 18.4996 12.9995C18.2245 12.9995 17.9995 12.7755 17.9995 12.4995C17.9995 12.2235 18.2245 11.9995 18.4996 11.9995ZM17.0915 12.9995C17.2985 13.5805 17.8486 13.9995 18.4996 13.9995C19.3265 13.9995 19.9996 13.3275 19.9996 12.4995C19.9996 11.6725 19.3265 10.9995 18.4996 10.9995C17.8486 10.9995 17.2985 11.4195 17.0915 11.9995H12.9995V9.99946H16.4995C16.7755 9.99946 16.9996 9.77646 16.9996 9.49946V7.90746C17.5805 7.70046 17.9995 7.15045 17.9995 6.49945C17.9995 5.67246 17.3266 4.99945 16.4995 4.99945C15.6725 4.99945 14.9995 5.67246 14.9995 6.49945C14.9995 7.15045 15.4186 7.70046 15.9995 7.90746V8.99946H12.9995V5.49945C12.9995 5.28445 12.8615 5.09346 12.6575 5.02545L9.65751 4.02546C9.51051 3.97645 9.35052 3.99846 9.22251 4.08345L6.22251 6.08346C6.08352 6.17646 5.99952 6.33246 5.99952 6.49945V9.19045L4.27551 10.0525C4.10652 10.1375 3.99951 10.3105 3.99951 10.4995V13.4995C3.99951 13.6895 4.10652 13.8625 4.27551 13.9475L5.99952 14.8085V17.4994C5.99952 17.6664 6.08352 17.8234 6.22251 17.9154L9.22251 19.9155C9.30552 19.9715 9.40152 19.9995 9.49952 19.9995C9.55251 19.9995 9.60552 19.9914 9.65751 19.9734L12.6575 18.9735C12.8615 18.9065 12.9995 18.7155 12.9995 18.4995V15.9994H15.2926L16.1455 16.8534L16.1585 16.8405C16.0606 17.0405 15.9995 17.2624 15.9995 17.4994C15.9995 18.3264 16.6726 18.9994 17.4995 18.9994C18.3265 18.9994 18.9995 18.3264 18.9995 17.4994C18.9995 16.6725 18.3265 15.9994 17.4995 15.9994C17.2615 15.9994 17.0395 16.0605 16.8406 16.1595L16.8535 16.1465L15.8536 15.1464C15.7595 15.0525 15.6325 14.9995 15.4996 14.9995H12.9995V12.9995H17.0915Z" fill="white"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1002_325036" x1="0" y1="2400" x2="2400" y2="0" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#055F4E"/>
|
||||
<stop offset="1" stop-color="#56C0A7"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_1002_325036">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
49
packages/ui/icons/azureai.svg
Normal file
@@ -0,0 +1,49 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1012_212067)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2329 0C16.9459 0 17.5779 0.551 17.8049 1.329C18.0319 2.107 19.3599 6.919 19.3599 6.919V16.481H14.5469L14.6449 0H16.2329Z" fill="url(#paint0_linear_1012_212067)"/>
|
||||
<path d="M23.298 7.47012C23.298 7.13012 23.023 6.87012 22.698 6.87012H19.863C18.9046 6.87091 17.9857 7.25206 17.3081 7.92986C16.6305 8.60767 16.2496 9.5267 16.249 10.4851V16.4811H19.685C20.6431 16.4801 21.5616 16.0989 22.239 15.4214C22.9164 14.7438 23.2972 13.8252 23.298 12.8671V7.47012Z" fill="url(#paint1_linear_1012_212067)"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.233 2.5131e-05C16.1028 -0.00090588 15.9738 0.0240397 15.8534 0.0734119C15.733 0.122784 15.6236 0.195598 15.5316 0.287621C15.4395 0.379644 15.3667 0.489041 15.3173 0.609452C15.268 0.729864 15.243 0.858888 15.244 0.989025L15.147 19.187C15.1467 20.4634 14.6395 21.6875 13.737 22.59C12.8344 23.4926 11.6104 23.9998 10.334 24H1.59996C1.50434 24.0006 1.40998 23.9782 1.32484 23.9346C1.23969 23.8911 1.16624 23.8278 1.11067 23.75C1.0551 23.6722 1.01904 23.5821 1.00551 23.4875C0.991989 23.3928 1.0014 23.2963 1.03296 23.206L8.03296 3.22502C8.36272 2.2842 8.97615 1.4688 9.78873 0.891207C10.6013 0.313611 11.573 0.00224754 12.57 2.5131e-05H16.249H16.233Z" fill="url(#paint2_linear_1012_212067)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1012_212067" x1="18.2419" y1="16.837" x2="14.1909" y2="0.616" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#712575"/>
|
||||
<stop offset="0.09" stop-color="#9A2884"/>
|
||||
<stop offset="0.18" stop-color="#BF2C92"/>
|
||||
<stop offset="0.27" stop-color="#DA2E9C"/>
|
||||
<stop offset="0.34" stop-color="#EB30A2"/>
|
||||
<stop offset="0.4" stop-color="#F131A5"/>
|
||||
<stop offset="0.5" stop-color="#EC30A3"/>
|
||||
<stop offset="0.61" stop-color="#DF2F9E"/>
|
||||
<stop offset="0.72" stop-color="#C92D96"/>
|
||||
<stop offset="0.83" stop-color="#AA2A8A"/>
|
||||
<stop offset="0.95" stop-color="#83267C"/>
|
||||
<stop offset="1" stop-color="#712575"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1012_212067" x1="19.782" y1="0.340117" x2="19.782" y2="23.2221" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#DA7ED0"/>
|
||||
<stop offset="0.08" stop-color="#B17BD5"/>
|
||||
<stop offset="0.19" stop-color="#8778DB"/>
|
||||
<stop offset="0.3" stop-color="#6276E1"/>
|
||||
<stop offset="0.41" stop-color="#4574E5"/>
|
||||
<stop offset="0.54" stop-color="#2E72E8"/>
|
||||
<stop offset="0.67" stop-color="#1D71EB"/>
|
||||
<stop offset="0.81" stop-color="#1471EC"/>
|
||||
<stop offset="1" stop-color="#1171ED"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_1012_212067" x1="18.404" y1="0.859025" x2="3.23596" y2="25.183" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#DA7ED0"/>
|
||||
<stop offset="0.05" stop-color="#B77BD4"/>
|
||||
<stop offset="0.11" stop-color="#9079DA"/>
|
||||
<stop offset="0.18" stop-color="#6E77DF"/>
|
||||
<stop offset="0.25" stop-color="#5175E3"/>
|
||||
<stop offset="0.33" stop-color="#3973E7"/>
|
||||
<stop offset="0.42" stop-color="#2772E9"/>
|
||||
<stop offset="0.54" stop-color="#1A71EB"/>
|
||||
<stop offset="0.68" stop-color="#1371EC"/>
|
||||
<stop offset="1" stop-color="#1171ED"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_1012_212067">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
9
packages/ui/icons/baichuan.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.58154 1.7793H5.52779L3.34655 6.20409V17.7335L0.916016 22.2206H6.21333L8.58154 17.7335V1.7793ZM10.5761 1.7793H15.8111V22.2206H10.5761V1.7793ZM22.9166 1.7793H17.6816V6.01712H22.9166V1.7793ZM22.9166 7.38818H17.6816V22.2206H22.9166V7.38818Z" fill="url(#paint0_radial_1002_325039)"/>
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_1002_325039" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(5.5 5.5) rotate(45) scale(20.5061 22.0704)">
|
||||
<stop stop-color="#FEBD3F"/>
|
||||
<stop offset="0.77608" stop-color="#FF6933"/>
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 714 B |
5
packages/ui/icons/baidu-cloud.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.7149 5.61L17.7319 7.92C17.5954 7.99796 17.441 8.03897 17.2839 8.03897C17.1267 8.03897 16.9723 7.99796 16.8359 7.92L12.4399 5.384C12.3033 5.30585 12.1487 5.26475 11.9914 5.26475C11.834 5.26475 11.6794 5.30585 11.5429 5.384L7.15588 7.92C7.01944 7.99796 6.86502 8.03897 6.70788 8.03897C6.55074 8.03897 6.39632 7.99796 6.25988 7.92L2.27588 5.617L12.0019 0L21.7149 5.61Z" fill="#5BCA87"/>
|
||||
<path d="M18.6408 9.46698C18.5069 9.54591 18.3961 9.65853 18.3192 9.79362C18.2424 9.92871 18.2022 10.0816 18.2028 10.237V15.309C18.2021 15.465 18.1606 15.618 18.0826 15.7531C18.0045 15.8881 17.8926 16.0005 17.7578 16.079L13.3298 18.589C13.1932 18.6671 13.0799 18.7804 13.0017 18.917C12.9234 19.0536 12.8831 19.2086 12.8848 19.366V23.973L17.3138 21.437L22.6238 18.39V7.15698L18.6408 9.46698Z" fill="#EC5D3E"/>
|
||||
<path d="M10.9799 18.941C10.9095 18.7998 10.8046 18.6787 10.6749 18.589L6.24588 16.073C6.11503 15.9927 6.00679 15.8805 5.93138 15.7468C5.85597 15.6131 5.81587 15.4624 5.81488 15.309V10.231C5.81178 10.0764 5.76847 9.92529 5.68921 9.79255C5.60995 9.65982 5.49748 9.55001 5.36288 9.47396L4.91188 9.21396L1.37988 7.15796V18.39L6.69088 21.437L11.1259 24V19.392C11.1192 19.2315 11.0687 19.0748 10.9799 18.941Z" fill="#2464F5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
9
packages/ui/icons/bailian.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.33594 8.91895V15.0809L11.6709 11.9979L6.33694 8.91995L6.33594 8.91895Z" fill="#1C54E3"/>
|
||||
<path d="M21.3939 5.28791C21.3939 5.28791 21.3879 5.28191 21.3839 5.28191L17.0099 2.75391L6.33594 8.91991L11.6709 12.0019L21.3719 6.40191L21.3879 6.39191C21.4848 6.33671 21.5654 6.25698 21.6217 6.16074C21.678 6.0645 21.708 5.95513 21.7086 5.84364C21.7092 5.73215 21.6804 5.62246 21.6252 5.52561C21.57 5.42876 21.4902 5.34815 21.3939 5.29191V5.28791Z" fill="#AA9AFF"/>
|
||||
<path d="M21.7098 12.4651C21.5987 12.4646 21.4896 12.494 21.3938 12.5501C21.3938 12.5501 21.3878 12.5501 21.3848 12.5531L17.0098 15.0811L22.0598 17.9961H22.0658C22.2497 17.6804 22.3463 17.3215 22.3458 16.9561V13.1011C22.3455 12.9325 22.2784 12.7709 22.1592 12.6517C22.04 12.5324 21.8784 12.4654 21.7098 12.4651Z" fill="#00EAD1"/>
|
||||
<path d="M22.0598 17.9961L17.0098 15.0811L6.33984 21.2421L10.6098 23.7071C10.6098 23.7071 10.6258 23.7131 10.6318 23.7191C10.9503 23.9019 11.3111 23.9981 11.6783 23.9981C12.0456 23.9981 12.4064 23.9019 12.7248 23.7191C12.7308 23.7161 12.7408 23.7131 12.7468 23.7071L21.2848 18.7771C21.2878 18.7771 21.2908 18.7741 21.2948 18.7711C21.6158 18.5881 21.8838 18.3211 22.0698 17.9991H22.0638L22.0598 17.9961Z" fill="#00CEC9"/>
|
||||
<path d="M11.6718 11.998L6.33578 15.081L4.89179 15.913L1.28679 17.996H1.27979C1.45279 18.299 1.69579 18.551 1.98879 18.734L2.06679 18.778L2.08279 18.788L2.10279 18.8L6.33479 21.242L17.0058 15.081L11.6708 11.999L11.6718 11.998Z" fill="#00EAD1"/>
|
||||
<path d="M12.7398 0.29C12.6398 0.23 12.5318 0.183 12.4248 0.142C12.4048 0.136 12.3868 0.126 12.3678 0.12C12.1428 0.0409411 11.9062 0.000372506 11.6678 0C11.4348 0 11.2108 0.038 10.9998 0.11L10.9688 0.12C10.8397 0.164971 10.7152 0.221884 10.5968 0.29L2.06776 5.222C2.06776 5.222 2.06476 5.222 2.06176 5.225C1.73776 5.408 1.46976 5.676 1.28076 5.998H1.28676L6.33576 8.916L17.0098 2.758L12.7398 0.29Z" fill="#7347FF"/>
|
||||
<path d="M1.287 6.00098H1.28C1.09609 6.31668 0.999456 6.67561 1 7.04098V16.956C1 17.334 1.1 17.691 1.28 17.999H1.287L6.336 15.081V8.91898L1.287 6.00098Z" fill="#0423DA"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
6
packages/ui/icons/bocha.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.03564 5.23655C4.98434 4.28649 7.33391 5.09586 8.28487 7.04481L10.3152 11.2059C10.7903 12.1795 10.3865 13.3541 9.41333 13.8293C9.41293 13.8295 9.41253 13.8297 9.41213 13.8299C8.43778 14.3049 7.26299 13.9003 6.78749 12.9258L3.03564 5.23655Z" fill="#A5CCFF"/>
|
||||
<path opacity="0.64774" fill-rule="evenodd" clip-rule="evenodd" d="M1 9.20141C2.53317 7.66887 5.0175 7.66887 6.55069 9.20141L9.94604 12.5954C10.7118 13.3607 10.7123 14.6023 9.94724 15.3683C9.94684 15.3687 9.94644 15.3691 9.94604 15.3695C9.17949 16.1358 7.93729 16.1358 7.17069 15.3695L1 9.20141Z" fill="#A5CCFF"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0666 5.92163C19.4481 5.92163 23 9.47209 23 13.8518C23 15.99 21.9007 18.1627 20.5242 19.589L19.9543 18.9058C18.9766 17.734 18.6294 16.1599 19.0233 14.6853C19.0946 14.418 19.1303 14.1725 19.1303 13.9487C19.1303 11.6897 17.2983 9.85839 15.0383 9.85839C12.7785 9.85839 10.9464 11.6897 10.9464 13.9487C10.9464 16.2076 12.7785 18.0389 15.0383 18.0389C15.4614 18.0389 15.8695 17.9747 16.2534 17.8556C17.4037 17.4985 18.6572 17.795 19.5259 18.6297L20.5242 19.589C19.1068 20.9118 17.1588 21.7818 15.0666 21.7818C10.6852 21.7818 7.1333 18.2314 7.1333 13.8518C7.1333 9.47209 10.6852 5.92163 15.0666 5.92163Z" fill="#006EFF"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.1333 3C9.30097 3 11.0582 4.75808 11.0582 6.9267V9.75804C11.0582 11.9267 9.30097 13.6847 7.1333 13.6847V3Z" fill="#006EFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
9
packages/ui/icons/burncloud.svg
Normal file
|
After Width: | Height: | Size: 16 KiB |
6
packages/ui/icons/bytedance.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.9442 18.587L13.2402 18.142V10.01L15.0642 9.54795C16.0642 9.29395 16.9042 9.08695 16.9442 9.09495C16.9762 9.09495 17.0002 11.33 17.0002 14.067V19.04L16.8242 19.0319C16.7202 19.0319 15.8722 18.826 14.9442 18.587Z" fill="#00C8D2"/>
|
||||
<path d="M7 16.542C7 13.806 7.024 11.562 7.064 11.562C7.096 11.554 7.936 11.762 8.944 12.016L10.76 12.477L10.744 16.527L10.72 20.576L9.088 20.998C8.192 21.228 7.352 21.443 7.232 21.467L7 21.523V16.542Z" fill="#3C8CFF"/>
|
||||
<path d="M19.2402 12.477C19.2402 3.44697 19.2482 2.96197 19.3842 3.00197C19.4562 3.02597 20.1682 3.20897 20.9602 3.40797C21.7522 3.61497 22.5362 3.81297 22.7042 3.85297L23.0002 3.93297L22.9842 12.493L22.9602 21.061L21.3362 21.475C20.4482 21.705 19.6082 21.912 19.4802 21.945L19.2402 22V12.477Z" fill="#78E6DC"/>
|
||||
<path d="M1 12.5089C1 7.83091 1.024 4.00391 1.064 4.00391C1.096 4.00391 1.936 4.21091 2.936 4.45791L4.76 4.91891V12.5009C4.76 16.6609 4.744 20.0749 4.728 20.0749C4.704 20.0749 3.856 20.2899 2.848 20.5449L1 21.0129V12.5089Z" fill="#325AB4"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
3
packages/ui/icons/cephalon.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.9681 5.37441C12.0144 5.46932 12.037 5.57421 12.0336 5.67911C12.0295 5.80735 12.0554 5.9348 12.1093 6.05175C12.1631 6.1687 12.2435 6.27206 12.3443 6.35396C12.4451 6.43585 12.5636 6.49413 12.6909 6.52433C12.8181 6.55454 12.9508 6.55588 13.0786 6.52826L19.6465 5.10635C19.9293 5.04511 20.2227 5.04687 20.5048 5.11149C20.7869 5.1761 21.0506 5.30193 21.2764 5.4797C21.5023 5.65746 21.6846 5.88263 21.8098 6.13859C21.935 6.39456 22 6.67481 22 6.95867V16.8576C22 17.4258 21.7696 17.9707 21.3596 18.3725C20.9495 18.7743 20.3933 19 19.8134 19H4.18658C3.60667 19 3.0505 18.7743 2.64044 18.3725C2.23037 17.9707 2 17.4258 2 16.8576V10.67C2.00009 10.2659 2.11675 9.87 2.33653 9.52805C2.55632 9.1861 2.87027 8.91198 3.24219 8.73731L11.0709 5.06472C11.1506 5.02731 11.237 5.00565 11.3252 5.00096C11.4134 4.99628 11.5017 5.00868 11.585 5.03743C11.6683 5.06619 11.745 5.11076 11.8108 5.16858C11.8765 5.2264 11.93 5.29634 11.9681 5.37441ZM7.2738 11.5016H4.87608V16.6569H8.23221V13.376H7.27295L7.2738 11.5016ZM14.2248 11.5016H12.0675V16.6569H15.4237L15.4233 13.376H14.2252L14.2248 11.5016Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
9
packages/ui/icons/cherryin.svg
Normal file
|
After Width: | Height: | Size: 11 KiB |
12
packages/ui/icons/cohere.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_177_2014)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.776 14.304C8.416 14.304 9.696 14.272 11.488 13.536C13.568 12.672 17.664 11.136 20.64 9.536C22.72 8.416 23.616 6.944 23.616 4.96C23.616 2.24 21.408 0 18.656 0H7.136C3.2 0 0 3.2 0 7.136C0 11.072 3.008 14.304 7.776 14.304Z" fill="#39594D"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.72803 19.2C9.72803 17.28 10.88 15.52 12.672 14.784L16.288 13.28C19.968 11.776 24 14.464 24 18.432C24 21.504 21.504 24 18.432 24H14.496C11.872 24 9.72803 21.856 9.72803 19.2Z" fill="#D18EE2"/>
|
||||
<path d="M4.128 15.2319C1.856 15.2319 0 17.0879 0 19.3599V19.9039C0 22.1439 1.856 23.9999 4.128 23.9999C6.4 23.9999 8.256 22.1439 8.256 19.8719V19.3279C8.224 17.0879 6.4 15.2319 4.128 15.2319Z" fill="#FF7759"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_177_2014">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 992 B |
71
packages/ui/icons/dashscope.svg
Normal file
@@ -0,0 +1,71 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.9473 6.02637L23 12.3937L22.7993 13.7166L11.9576 7.47034L11.9473 6.02637Z" fill="url(#paint0_linear_1003_325075)"/>
|
||||
<path d="M11.9507 8.45435L22.9999 14.8182L22.7993 16.0823L11.9524 9.90523L11.9507 8.45435Z" fill="url(#paint1_linear_1003_325075)"/>
|
||||
<path d="M11.9917 10.8616L22.9994 17.1632L22.7988 18.448L12.0125 12.3021L11.9917 10.8616Z" fill="url(#paint2_linear_1003_325075)"/>
|
||||
<path d="M1 5.95025L1.01211 18.6468L2.25768 18.882L2.21789 5.77905L1 5.95025Z" fill="url(#paint3_linear_1003_325075)"/>
|
||||
<path d="M3.10889 4.769L3.11062 19.8537L4.37176 19.7949L4.34927 4.58569L3.10889 4.769Z" fill="url(#paint4_linear_1003_325075)"/>
|
||||
<path d="M5.21729 3.58789V21.0677L6.4767 21.2493L6.48881 3.35962L5.21729 3.58789Z" fill="url(#paint5_linear_1003_325075)"/>
|
||||
<path d="M1 5.95017L12.0147 12.3019L11.9922 10.8614L2.61924 5.49709C2.37013 5.35529 2.06393 5.35356 1.81481 5.49363L1 5.95017Z" fill="url(#paint6_linear_1003_325075)"/>
|
||||
<path d="M3.94446 4.30219L3.10889 4.7691L11.9542 9.90514L11.9507 8.45425L4.75062 4.30737C4.5015 4.16384 4.1953 4.16038 3.94446 4.30219Z" fill="url(#paint7_linear_1003_325075)"/>
|
||||
<path d="M5.21729 3.58798L6.08399 3.10377C6.33484 2.9637 6.64104 2.96543 6.89016 3.10896L11.9468 6.02457L11.9572 7.46854L5.21729 3.58798Z" fill="url(#paint8_linear_1003_325075)"/>
|
||||
<path d="M12.0204 17.1628L12.017 15.1171L12.0222 14.6951L12.017 14.6986L12.0135 12.3018L1.0127 18.6466L1.84827 19.1291C2.10257 19.276 2.41569 19.2743 2.66827 19.1273L10.8527 14.3493V15.3747L3.11114 19.8536L3.96574 20.3448C4.21658 20.49 4.52624 20.49 4.77882 20.3465L10.8527 16.8758V17.8355L5.2165 21.0693L6.0711 21.5587C6.32194 21.7023 6.6316 21.7023 6.88418 21.5587L10.8544 19.283L12.0239 18.612L12.0204 17.1628Z" fill="url(#paint9_linear_1003_325075)"/>
|
||||
<path d="M22.9998 17.163L17.5798 20.3311L16.7114 19.8434L22.595 16.4038C22.8458 16.2568 22.9998 15.9888 22.9998 15.6983V14.8163L15.471 19.1448L14.4953 18.5966L22.5812 14.0779C22.8389 13.9344 22.9998 13.6612 22.9998 13.3654V12.3918L12.0215 18.6104L17.1076 21.5243C17.3601 21.6696 17.6698 21.6678 17.9206 21.5226L22.5898 18.8335C22.8424 18.6882 22.9981 18.4185 22.9981 18.1262L22.9998 17.163Z" fill="url(#paint10_linear_1003_325075)"/>
|
||||
<path d="M21.858 5.56447L17.7701 3.14345C17.5158 2.993 17.2009 2.99127 16.9449 3.13826L11.9453 6.0262L11.9557 7.47017L17.3203 4.35742L18.1628 4.86584L11.9488 8.45414L11.9522 9.90503L19.3945 5.60771L20.2232 6.10748L11.9903 10.8613L12.0128 12.3019L21.8528 6.62108C22.2576 6.38762 22.2611 5.80312 21.858 5.56447Z" fill="url(#paint11_linear_1003_325075)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1003_325075" x1="113.894" y1="360.911" x2="1179.98" y2="509.029" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#148FB4"/>
|
||||
<stop offset="1" stop-color="#14B4BE"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1003_325075" x1="71.8713" y1="363.078" x2="1147.45" y2="488.284" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#148FB4"/>
|
||||
<stop offset="1" stop-color="#14B4BE"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_1003_325075" x1="83.4027" y1="371.276" x2="1164.81" y2="463.045" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#148FB4"/>
|
||||
<stop offset="1" stop-color="#14B4BE"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear_1003_325075" x1="63.8806" y1="-12.5896" x2="63.8806" y2="1571.21" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#3311D4"/>
|
||||
<stop offset="0.2722" stop-color="#5314E0"/>
|
||||
<stop offset="0.5453" stop-color="#6C16E9"/>
|
||||
<stop offset="0.7957" stop-color="#7B18EE"/>
|
||||
<stop offset="1" stop-color="#8018F0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear_1003_325075" x1="66.2005" y1="111.305" x2="66.2005" y2="1483.1" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#3311D4"/>
|
||||
<stop offset="0.2034" stop-color="#4513DB"/>
|
||||
<stop offset="0.7305" stop-color="#7017EA"/>
|
||||
<stop offset="1" stop-color="#8018F0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear_1003_325075" x1="68.7154" y1="-253.954" x2="68.7154" y2="2533.3" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#3311D4"/>
|
||||
<stop offset="0.6282" stop-color="#8018F0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint6_linear_1003_325075" x1="-100.376" y1="178.272" x2="1175.01" y2="951.49" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.1495" stop-color="#645AFF"/>
|
||||
<stop offset="1" stop-color="#AA64FA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint7_linear_1003_325075" x1="-86.4321" y1="141.306" x2="831.625" y2="680.338" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.188" stop-color="#645AFF"/>
|
||||
<stop offset="1" stop-color="#AA64FA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint8_linear_1003_325075" x1="-105.936" y1="97.0607" x2="730.547" y2="568.776" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.2122" stop-color="#645AFF"/>
|
||||
<stop offset="0.4681" stop-color="#775DFE"/>
|
||||
<stop offset="0.9857" stop-color="#A964FA"/>
|
||||
<stop offset="1" stop-color="#AA64FA"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint9_linear_1003_325075" x1="404.896" y1="791.692" x2="823.67" y2="32.9467" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#AA64FA"/>
|
||||
<stop offset="1" stop-color="#645AFF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint10_linear_1003_325075" x1="12.1218" y1="474.502" x2="1109.91" y2="474.502" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2DF7F7"/>
|
||||
<stop offset="1" stop-color="#17C8D2"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint11_linear_1003_325075" x1="12.1027" y1="466.63" x2="1033.29" y2="466.63" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#17C8D2"/>
|
||||
<stop offset="1" stop-color="#2DF7F7"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
10
packages/ui/icons/deepseek.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_177_2019)">
|
||||
<path d="M23.7479 4.482C23.4939 4.358 23.384 4.595 23.236 4.716C23.1849 4.755 23.142 4.806 23.099 4.852C22.727 5.249 22.2929 5.509 21.726 5.478C20.8969 5.432 20.1889 5.692 19.563 6.326C19.43 5.544 18.988 5.078 18.316 4.778C17.964 4.622 17.608 4.467 17.361 4.128C17.1889 3.887 17.142 3.618 17.056 3.354C17.0009 3.194 16.946 3.031 16.763 3.004C16.563 2.973 16.4849 3.14 16.4069 3.28C16.094 3.852 15.9729 4.482 15.9849 5.12C16.0119 6.556 16.618 7.7 17.823 8.513C17.9599 8.606 17.9949 8.7 17.952 8.836C17.8699 9.116 17.772 9.388 17.686 9.669C17.631 9.848 17.549 9.886 17.357 9.809C16.7082 9.53019 16.1189 9.12963 15.6209 8.629C14.7639 7.801 13.9899 6.887 13.0239 6.171C12.8001 6.00562 12.5703 5.84851 12.3349 5.7C11.3499 4.743 12.4649 3.957 12.7229 3.864C12.9929 3.766 12.8159 3.432 11.9439 3.436C11.0719 3.44 10.2739 3.731 9.25695 4.12C9.10582 4.17791 8.95033 4.22372 8.79195 4.257C7.84158 4.07793 6.8696 4.04355 5.90895 4.155C4.02395 4.365 2.51895 5.257 1.41195 6.778C0.0819496 8.606 -0.23105 10.684 0.15195 12.85C0.55495 15.134 1.72095 17.025 3.51195 18.503C5.36995 20.036 7.50895 20.787 9.94995 20.643C11.4319 20.558 13.0829 20.359 14.9439 18.783C15.4139 19.017 15.906 19.11 16.724 19.18C17.354 19.239 17.96 19.15 18.429 19.052C19.164 18.896 19.1129 18.215 18.8479 18.091C16.6929 17.087 17.166 17.496 16.735 17.165C17.831 15.869 19.481 14.523 20.127 10.162C20.177 9.815 20.134 9.597 20.127 9.317C20.123 9.147 20.162 9.08 20.357 9.061C20.898 9.00487 21.4228 8.84351 21.902 8.586C23.298 7.823 23.862 6.571 23.995 5.069C24.015 4.839 23.9909 4.603 23.7479 4.482ZM11.5809 18C9.49195 16.358 8.47895 15.817 8.06095 15.84C7.66895 15.864 7.73995 16.311 7.82595 16.603C7.91595 16.891 8.03295 17.089 8.19695 17.342C8.31095 17.509 8.38895 17.758 8.08395 17.945C7.41095 18.361 6.24195 17.805 6.18695 17.778C4.82595 16.976 3.68695 15.918 2.88595 14.471C2.11195 13.078 1.66195 11.584 1.58795 9.989C1.56795 9.603 1.68095 9.467 2.06495 9.397C2.56906 9.30053 3.08558 9.28735 3.59395 9.358C5.72595 9.67 7.53995 10.623 9.06195 12.132C9.92995 12.992 10.5869 14.019 11.2639 15.023C11.9839 16.089 12.7579 17.105 13.7439 17.937C14.0919 18.229 14.3689 18.451 14.6349 18.614C13.8329 18.704 12.4949 18.724 11.5809 18ZM12.5809 11.56C12.5808 11.5103 12.5927 11.4614 12.6157 11.4173C12.6387 11.3733 12.672 11.3355 12.7129 11.3072C12.7538 11.279 12.8009 11.2611 12.8502 11.2551C12.8995 11.2492 12.9495 11.2553 12.9959 11.273C13.0551 11.2942 13.1062 11.3334 13.142 11.385C13.1779 11.4366 13.1967 11.4982 13.1959 11.561C13.1961 11.6016 13.1881 11.6418 13.1726 11.6793C13.157 11.7168 13.1341 11.7509 13.1053 11.7795C13.0764 11.808 13.0422 11.8306 13.0045 11.8458C12.9669 11.861 12.9266 11.8685 12.8859 11.868C12.8457 11.8681 12.8057 11.8602 12.7685 11.8448C12.7313 11.8293 12.6976 11.8065 12.6693 11.7779C12.641 11.7492 12.6186 11.7151 12.6037 11.6777C12.5887 11.6403 12.5803 11.6003 12.5809 11.56ZM15.6909 13.156C15.4909 13.237 15.2919 13.307 15.1009 13.316C14.8136 13.326 14.5316 13.2363 14.3029 13.062C14.0289 12.832 13.8329 12.704 13.7509 12.304C13.7227 12.1085 13.7281 11.9096 13.7669 11.716C13.8369 11.389 13.7589 11.179 13.5279 10.989C13.3409 10.833 13.1019 10.79 12.8399 10.79C12.7502 10.7848 12.6631 10.758 12.5859 10.712C12.5537 10.6974 12.5249 10.6761 12.5013 10.6497C12.4778 10.6232 12.4601 10.5921 12.4494 10.5583C12.4386 10.5246 12.4351 10.489 12.439 10.4538C12.4429 10.4186 12.4541 10.3846 12.4719 10.354C12.4999 10.3 12.6319 10.168 12.6639 10.144C13.0199 9.942 13.431 10.008 13.8099 10.16C14.162 10.304 14.4279 10.568 14.8109 10.942C15.2019 11.393 15.273 11.518 15.4959 11.856C15.6719 12.121 15.8319 12.393 15.9409 12.704C16.0079 12.899 15.9219 13.058 15.6909 13.156Z" fill="#4D6BFE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_177_2019">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
4
packages/ui/icons/doc2x.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.6601 7.01709C21.9761 6.71199 22.2283 6.34699 22.4017 5.9434C22.5752 5.53981 22.6666 5.10572 22.6705 4.66644C22.6744 4.22717 22.5907 3.79152 22.4244 3.38491C22.2581 2.97831 22.0125 2.6089 21.7019 2.29824C21.3914 1.98758 21.022 1.7419 20.6154 1.57552C20.2089 1.40915 19.7732 1.32542 19.334 1.32923C18.8947 1.33303 18.4606 1.42429 18.0569 1.59767C17.6533 1.77106 17.2883 2.0231 16.9831 2.33909L13.5251 5.79709C13.2091 6.10226 12.9571 6.46731 12.7837 6.87093C12.6103 7.27456 12.519 7.70868 12.5152 8.14795C12.5114 8.58723 12.5952 9.02286 12.7615 9.42943C12.9279 9.836 13.1736 10.2054 13.4842 10.5159C13.7949 10.8265 14.1643 11.0721 14.5709 11.2384C14.9775 11.4047 15.4132 11.4884 15.8524 11.4845C16.2917 11.4806 16.7258 11.3892 17.1294 11.2157C17.533 11.0423 17.898 10.7901 18.2031 10.4741L21.6601 7.01709ZM10.4751 18.2031C10.7871 17.897 11.0354 17.5321 11.2056 17.1295C11.3758 16.7269 11.4645 16.2946 11.4667 15.8575C11.4688 15.4204 11.3842 14.9872 11.2179 14.583C11.0516 14.1787 10.8069 13.8115 10.4978 13.5024C10.1887 13.1933 9.82146 12.9485 9.41722 12.7822C9.01299 12.6159 8.57981 12.5314 8.14271 12.5335C7.70561 12.5356 7.27327 12.6244 6.87066 12.7945C6.46805 12.9647 6.10317 13.213 5.79709 13.5251L2.33909 16.9831C2.0231 17.2883 1.77106 17.6533 1.59767 18.0569C1.42429 18.4606 1.33303 18.8947 1.32923 19.334C1.32542 19.7732 1.40915 20.2089 1.57552 20.6154C1.7419 21.022 1.98758 21.3914 2.29824 21.7019C2.6089 22.0125 2.97831 22.2581 3.38491 22.4244C3.79152 22.5907 4.22717 22.6744 4.66644 22.6705C5.10572 22.6666 5.53981 22.5752 5.9434 22.4017C6.34699 22.2283 6.71199 21.9761 7.01709 21.6601L10.4751 18.2031Z" fill="#7748F9"/>
|
||||
<path d="M18.2028 13.525C17.8967 13.213 17.5318 12.9647 17.1292 12.7945C16.7266 12.6243 16.2942 12.5356 15.8572 12.5335C15.4201 12.5313 14.9869 12.6159 14.5826 12.7822C14.1784 12.9485 13.8111 13.1932 13.5021 13.5023C13.193 13.8114 12.9482 14.1786 12.7819 14.5829C12.6156 14.9871 12.5311 15.4203 12.5332 15.8574C12.5353 16.2945 12.624 16.7268 12.7942 17.1294C12.9644 17.5321 13.2127 17.8969 13.5248 18.203L16.9828 21.661C17.6052 22.2715 18.4434 22.6116 19.3152 22.6074C20.1869 22.6032 21.0218 22.255 21.6383 21.6385C22.2547 21.0221 22.6029 20.1872 22.6071 19.3154C22.6113 18.4436 22.2712 17.6054 21.6608 16.983L18.2028 13.525ZM7.01677 2.33902C6.7107 2.02697 6.34581 1.77867 5.9432 1.60847C5.5406 1.43828 5.10825 1.34956 4.67115 1.34745C4.23405 1.34534 3.80087 1.42987 3.39664 1.59617C2.99241 1.76246 2.62514 2.00722 2.31606 2.3163C2.00698 2.62538 1.76222 2.99265 1.59592 3.39688C1.42963 3.80112 1.34509 4.2343 1.34721 4.6714C1.34932 5.10849 1.43804 5.54084 1.60823 5.94345C1.77842 6.34605 2.02672 6.71094 2.33877 7.01702L5.79677 10.474C6.42076 11.0764 7.25636 11.4096 8.12362 11.4019C8.99088 11.3942 9.82043 11.0462 10.4336 10.4329C11.0468 9.81955 11.3946 8.98993 11.4022 8.12266C11.4097 7.2554 11.0763 6.41988 10.4738 5.79602L7.01677 2.33902Z" fill="#BFABFB"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
13
packages/ui/icons/doubao.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325513)">
|
||||
<path d="M5.30998 15.7561C5.48198 12.0061 7.19298 9.75709 7.85898 9.01709C4.59898 11.0751 2.43398 14.6751 1.50098 17.3251V18.4451C1.50098 21.5131 4.22598 24.0001 7.58998 24.0001C8.3393 24.0011 9.0833 23.8743 9.78998 23.6251C10.143 23.5051 10.49 23.3771 10.829 23.2471C11.742 22.3481 12.479 21.3371 13.072 20.2551C8.19498 22.6861 5.09798 20.3271 5.30898 15.7551L5.30998 15.7561Z" fill="#1E37FC"/>
|
||||
<path d="M22.5701 10.2829C21.3581 9.38191 18.4611 7.87891 15.1731 7.48291C15.4681 11.2749 15.2661 16.2489 13.0731 20.2559C12.4758 21.3579 11.7198 22.366 10.8291 23.2479C14.5931 21.7999 17.5751 19.7909 19.4251 18.0289C22.2451 15.3459 22.7781 12.8509 22.7861 11.3689C22.7886 10.9966 22.7151 10.6278 22.5701 10.2849V10.2829Z" fill="#37E1BE"/>
|
||||
<path d="M14.303 1.867C12.955 0.7 11.248 0 9.39 0C7.532 0 5.883 0.677 4.545 1.807C2.791 3.29 1.627 5.557 1.5 8.125V17.326C2.432 14.676 4.597 11.076 7.857 9.019C8.357 8.701 8.882 8.424 9.426 8.19C11.309 7.389 13.304 7.258 15.172 7.484C14.95 4.654 14.454 2.482 14.302 1.867H14.303Z" fill="#A569FF"/>
|
||||
<path d="M17.3052 4.96094C16.9437 4.59767 16.5837 4.233 16.2252 3.86694C16.0232 3.65394 15.8272 3.44794 15.6392 3.24494L14.3062 1.86694C14.4572 2.48194 14.9542 4.65294 15.1752 7.48394C18.4632 7.87894 21.3602 9.38194 22.5712 10.2839C21.2652 9.00894 19.0962 6.79694 17.3052 4.96094Z" fill="#1E37FC"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1004_325513">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
3
packages/ui/icons/exa.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 1H21V2.64175L13.7455 12L21 21.3582V23H4V1ZM12.6074 10.4857L18.5028 2.64175H6.71105L12.6074 10.4857ZM5.91295 4.60708V11.1796H10.8519L5.91295 4.60708ZM10.8519 12.8204H5.91295V19.3929L10.8519 12.8204ZM6.71105 21.3592L12.6074 13.5153L18.5028 21.3592H6.71105Z" fill="#1F40ED"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 428 B |
3
packages/ui/icons/fireworks.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.8 5L11.999 11.795L9.195 5H7.397L10.469 12.428C10.5917 12.7301 10.8017 12.9888 11.0722 13.1709C11.3426 13.3531 11.6612 13.4505 11.9873 13.4507C12.3134 13.451 12.6322 13.354 12.9028 13.1721C13.1735 12.9903 13.3839 12.7319 13.507 12.43L16.598 5H14.8ZM15.996 15.352L21.12 10.108L20.421 8.439L14.825 14.178C14.5965 14.4121 14.4422 14.7084 14.3811 15.0298C14.3201 15.3512 14.3552 15.6834 14.482 15.985C14.6065 16.2846 14.8169 16.5406 15.0867 16.7207C15.3565 16.9008 15.6736 16.9969 15.998 16.997L16 17L24 16.98L23.301 15.311L15.998 15.352H15.996ZM2.88 10.104L3.579 8.435L9.175 14.174C9.643 14.653 9.778 15.363 9.518 15.981C9.39342 16.2805 9.18299 16.5364 8.9132 16.7165C8.64342 16.8966 8.32637 16.9928 8.002 16.993L0.002 16.975L0 16.977L0.699 15.308L8.002 15.35L2.88 10.104Z" fill="#5019C5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 943 B |
16
packages/ui/icons/gemini.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325515)">
|
||||
<path d="M18 0H6C2.68629 0 0 2.68629 0 6V18C0 21.3137 2.68629 24 6 24H18C21.3137 24 24 21.3137 24 18V6C24 2.68629 21.3137 0 18 0Z" fill="url(#paint0_linear_1004_325515)"/>
|
||||
<path d="M20 12.0116C15.7043 12.42 12.3692 15.757 11.9995 20C11.652 15.8183 8.20301 12.361 4 12.0181C8.21855 11.6991 11.6656 8.1853 12.006 4C12.2833 8.19653 15.8057 11.7005 20 12.0116Z" fill="white" fill-opacity="0.88"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1004_325515" x1="-9" y1="29.5" x2="19.4387" y2="1.43791" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.192878" stop-color="#1C7DFF"/>
|
||||
<stop offset="0.520213" stop-color="#1C69FF"/>
|
||||
<stop offset="1" stop-color="#F0DCD6"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_1004_325515">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 921 B |
10
packages/ui/icons/gitee-ai.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325516)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0792 14.6368C15.2982 15.4516 15.539 16.2847 15.8 17.15C16.0381 17.9395 15.3275 18.25 15.0451 17.5054C14.7426 16.7079 14.4531 15.9137 14.1808 15.1037C12.639 15.8792 11.1015 16.5254 9.35766 17.2524C10.0549 19.8153 10.6985 21.959 11.6971 23.996C11.6971 23.996 11.6972 23.9961 11.6971 23.996C11.7977 23.9985 11.8988 23.9999 12 23.9999C18.6274 23.9999 24 18.6274 24 11.9999C24 9.62004 23.3072 7.4019 22.1122 5.53632C18.9951 5.81715 16.2308 6.27366 13.6911 6.84354C13.7329 7.35114 13.7806 7.84428 13.8333 8.31294C14.0294 10.0562 14.3467 11.7168 14.7682 13.4301C16.2349 12.7708 17.4504 12.1934 18.409 11.7131C19.3292 11.252 20.2166 11.2237 18.7211 12.3956C17.4233 13.2961 16.2386 14.0139 15.0792 14.6368ZM21.6935 4.92502C19.8001 2.33505 16.8937 0.532419 13.5573 0.100071C13.4554 1.71735 13.4871 3.75801 13.6086 5.70262C16.0484 5.3331 18.7033 5.07613 21.6935 4.92502ZM11.9621 0C11.8556 1.75611 11.903 3.99392 12.114 5.9477C10.4249 6.24648 8.8335 6.60378 7.29552 7.02222C7.22916 6.25536 7.19562 5.55453 7.19562 4.94501C7.19562 4.50318 6.83742 4.14501 6.39558 4.14501C5.95378 4.14501 5.59561 4.50318 5.59561 4.94501C5.59561 5.68715 5.65724 6.53874 5.76841 7.46274C5.0014 7.69662 4.24438 7.94652 3.49151 8.21274C3.07496 8.3601 2.85671 8.81718 3.00402 9.2337C3.15134 9.65028 3.60844 9.8685 4.02498 9.7212C4.67586 9.49104 5.33089 9.26322 5.99356 9.03948C6.31332 11.0006 6.80064 13.1656 7.36218 15.2493C7.46016 15.613 7.56372 15.9757 7.67178 16.3357C5.60501 17.048 3.49567 17.6269 1.56677 17.9327C0.569644 16.1829 0 14.158 0 11.9999C0 5.38515 5.35214 0.0204081 11.9621 0ZM2.51491 19.3516C4.47041 21.8709 7.40748 23.5903 10.7522 23.9359C9.95496 22.4729 8.96028 20.2301 8.1243 17.754C6.26424 18.4657 4.3553 18.9616 2.51491 19.3516ZM13.7841 13.868C13.2887 12.2459 12.8677 10.5264 12.5535 8.56614C12.4476 8.1504 12.3551 7.68204 12.2756 7.1781C10.5905 7.5963 8.99952 8.06226 7.46136 8.55582C7.70874 10.4859 8.12688 12.68 8.70708 14.833C8.7972 15.1675 8.88486 15.4948 8.97084 15.8156L8.97144 15.818L8.9838 15.864C9.70998 15.5923 10.4248 15.3073 11.118 15.0155C12.0741 14.6131 12.9631 14.2298 13.7841 13.868Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1004_325516">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
10
packages/ui/icons/github.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325517)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0099 0.199951C5.36875 0.199951 0 5.60828 0 12.2991C0 17.6475 3.43994 22.1747 8.21205 23.7771C8.80869 23.8975 9.02724 23.5167 9.02724 23.1964C9.02724 22.9159 9.00757 21.9545 9.00757 20.9527C5.6667 21.674 4.97099 19.5104 4.97099 19.5104C4.43409 18.1082 3.63858 17.7478 3.63858 17.7478C2.54511 17.0066 3.71823 17.0066 3.71823 17.0066C4.93117 17.0867 5.56763 18.2485 5.56763 18.2485C6.64118 20.0913 8.37111 19.5706 9.06706 19.25C9.16638 18.4688 9.48473 17.928 9.82275 17.6275C7.15817 17.3471 4.35469 16.3055 4.35469 11.658C4.35469 10.3359 4.8316 9.25423 5.58729 8.41299C5.46807 8.11258 5.0504 6.87039 5.70677 5.20782C5.70677 5.20782 6.72083 4.88725 9.00732 6.44977C9.98625 6.18492 10.9958 6.05019 12.0099 6.04906C13.024 6.04906 14.0577 6.18943 15.0123 6.44977C17.299 4.88725 18.3131 5.20782 18.3131 5.20782C18.9695 6.87039 18.5515 8.11258 18.4323 8.41299C19.2079 9.25423 19.6652 10.3359 19.6652 11.658C19.6652 16.3055 16.8617 17.3269 14.1772 17.6275C14.6148 18.0081 14.9924 18.7291 14.9924 19.871C14.9924 21.4935 14.9727 22.7957 14.9727 23.1962C14.9727 23.5167 15.1915 23.8975 15.7879 23.7773C20.56 22.1745 23.9999 17.6475 23.9999 12.2991C24.0196 5.60828 18.6312 0.199951 12.0099 0.199951Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1004_325517">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
151
packages/ui/icons/google.svg
Normal file
@@ -0,0 +1,151 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_177_1962" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
|
||||
<path d="M23.5232 9.77372H12.2502V14.3873H18.7277C18.6236 15.0403 18.3897 15.6826 18.0474 16.2683C17.6551 16.9393 17.1701 17.4502 16.673 17.8392C15.1839 19.0046 13.4479 19.2429 12.2423 19.2429C9.19671 19.2429 6.59445 17.2325 5.58706 14.5006C5.5464 14.4014 5.51941 14.299 5.48654 14.1978C5.26392 13.5025 5.14229 12.7661 5.14229 12.0008C5.14229 11.2042 5.274 10.4417 5.51416 9.7216C6.46145 6.88141 9.12238 4.76006 12.2445 4.76006C12.8725 4.76006 13.4772 4.83641 14.0507 4.98869C15.3613 5.3367 16.2884 6.02212 16.8565 6.56428L20.2841 3.13576C18.1991 1.18317 15.481 2.95218e-09 12.2388 2.95218e-09C9.64684 -5.69793e-05 7.25382 0.824781 5.29283 2.21878C3.70253 3.34928 2.39825 4.86288 1.51802 6.62075C0.699287 8.25066 0.250977 10.0569 0.250977 11.999C0.250977 13.9411 0.699972 15.7661 1.51871 17.381V17.3918C2.3835 19.1062 3.64812 20.5823 5.18514 21.7076C6.52788 22.6907 8.93555 24 12.2388 24C14.1384 24 15.822 23.6502 17.3068 22.9946C18.3778 22.5217 19.3268 21.9049 20.186 21.1122C21.3213 20.0647 22.2104 18.7691 22.8173 17.2785C23.4242 15.7878 23.7488 14.1022 23.7488 12.2747C23.7488 11.4236 23.6651 10.5592 23.5232 9.77363V9.77372Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_177_1962)">
|
||||
<g filter="url(#filter0_f_177_1962)">
|
||||
<path d="M0.078125 12.0803C0.0905853 13.9918 0.623862 15.964 1.43107 17.5561V17.567C2.01431 18.7233 2.81143 19.6366 3.71935 20.5415L9.20291 18.4979C8.16545 17.9597 8.00714 17.6298 7.26346 17.028C6.50348 16.2453 5.93706 15.3467 5.58431 14.2931H5.5701L5.58431 14.2822C5.35224 13.5864 5.32935 12.8479 5.32079 12.0803H0.078125Z" fill="url(#paint0_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter1_f_177_1962)">
|
||||
<path d="M12.2502 -0.0874023C11.7083 1.85739 11.9155 3.74779 12.2502 4.84771C12.8761 4.84819 13.479 4.92439 14.0507 5.07619C15.3614 5.42421 16.2883 6.10964 16.8564 6.6518L20.3718 3.13569C18.2893 1.18543 15.7831 -0.0843296 12.2502 -0.0874023Z" fill="url(#paint1_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter2_f_177_1962)">
|
||||
<path d="M12.2384 -0.102783C9.5799 -0.102842 7.12547 0.743172 5.11414 2.17297C4.36733 2.70385 3.682 3.31711 3.07175 3.99906C2.91188 5.53093 4.26849 7.41374 6.95501 7.39816C8.25849 5.84951 10.1863 4.84754 12.332 4.84754C12.3339 4.84754 12.3358 4.8477 12.3378 4.84771L12.2502 -0.102433C12.2462 -0.102435 12.2424 -0.102783 12.2384 -0.102783Z" fill="url(#paint2_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter3_f_177_1962)">
|
||||
<path d="M21.013 12.6347L18.6401 14.2997C18.536 14.9526 18.302 15.595 17.9596 16.1806C17.5674 16.8517 17.0824 17.3626 16.5853 17.7516C15.0994 18.9146 13.368 19.1541 12.1626 19.1551C10.9168 21.3223 10.6984 22.4078 12.2503 24.1569C14.1705 24.1555 15.8729 23.8014 17.3745 23.1384C18.46 22.6592 19.4217 22.0341 20.2924 21.2307C21.4429 20.1692 22.3441 18.8561 22.9591 17.3455C23.5741 15.8349 23.903 14.1267 23.903 12.2747L21.013 12.6347Z" fill="url(#paint3_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter4_f_177_1962)">
|
||||
<path d="M12.0752 9.59839V14.5626H23.4918C23.5922 13.8827 23.9243 13.003 23.9243 12.2747C23.9243 11.4235 23.8406 10.384 23.6987 9.59839H12.0752Z" fill="#3086FF"/>
|
||||
</g>
|
||||
<g filter="url(#filter5_f_177_1962)">
|
||||
<path d="M3.12631 3.82397C2.42179 4.61129 1.81991 5.49252 1.3427 6.44555C0.523974 8.07546 0.0756836 10.057 0.0756836 11.999C0.0756836 12.0264 0.0779013 12.0532 0.0780801 12.0805C0.440668 12.7906 5.08657 12.6546 5.32075 12.0805C5.32045 12.0537 5.3175 12.0276 5.3175 12.0007C5.3175 11.2042 5.44925 10.6171 5.68941 9.89696C5.98567 9.00868 6.44956 8.1907 7.04274 7.48595C7.17721 7.3106 7.53588 6.93366 7.64052 6.70756C7.68038 6.62144 7.56815 6.5731 7.56188 6.54279C7.55486 6.50888 7.40438 6.53615 7.37067 6.51089C7.26364 6.4307 7.05169 6.38883 6.92298 6.35161C6.64789 6.27205 6.19198 6.09661 5.93875 5.91474C5.13831 5.33986 3.88915 4.65317 3.12631 3.82397Z" fill="url(#paint4_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter6_f_177_1962)">
|
||||
<path d="M5.95605 6.54615C7.81219 7.69454 8.34598 5.9665 9.58006 5.42575L7.43335 0.878906C6.64367 1.2179 5.89758 1.63907 5.20532 2.13117C4.1715 2.86608 3.25855 3.76289 2.50439 4.78347L5.95605 6.54615Z" fill="url(#paint5_radial_177_1962)"/>
|
||||
</g>
|
||||
<g filter="url(#filter7_f_177_1962)">
|
||||
<path d="M6.71164 18.1467C4.22002 19.0654 3.82994 19.0984 3.60059 20.6755C4.03887 21.1123 4.50977 21.5164 5.01018 21.8828C6.35293 22.8659 8.93579 24.1752 12.239 24.1752C12.2429 24.1752 12.2466 24.1748 12.2505 24.1748V19.0674C12.248 19.0674 12.2451 19.0676 12.2426 19.0676C11.0057 19.0676 10.0172 18.7357 9.00377 18.1587C8.75389 18.0164 8.30055 18.3984 8.07009 18.2276C7.75225 17.9921 6.98732 18.4306 6.71164 18.1467Z" fill="url(#paint6_radial_177_1962)"/>
|
||||
</g>
|
||||
<g opacity="0.5" filter="url(#filter8_f_177_1962)">
|
||||
<path d="M10.791 18.9065V24.0863C11.2532 24.1416 11.7342 24.1752 12.2388 24.1752C12.7446 24.1752 13.2339 24.1486 13.7095 24.0999V18.9414C13.1766 19.0345 12.6747 19.0675 12.2424 19.0675C11.7444 19.0675 11.2602 19.0083 10.791 18.9065Z" fill="url(#paint7_linear_177_1962)"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_f_177_1962" x="0.0369325" y="12.0391" width="9.20738" height="8.54357" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter1_f_177_1962" x="11.8758" y="-0.128595" width="8.53697" height="6.82164" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter2_f_177_1962" x="3.01789" y="-0.143976" width="9.36119" height="7.58336" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter3_f_177_1962" x="11.1155" y="12.2335" width="12.8285" height="11.9647" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter4_f_177_1962" x="12.034" y="9.5572" width="11.9315" height="5.0465" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter5_f_177_1962" x="0.0344911" y="3.78278" width="7.65563" height="8.82189" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter6_f_177_1962" x="2.21479" y="0.589306" width="7.65488" height="6.63242" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.1448" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter7_f_177_1962" x="3.55939" y="18.085" width="8.73229" height="6.13146" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<filter id="filter8_f_177_1962" x="10.7498" y="18.8653" width="3.00084" height="5.35094" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
||||
<feGaussianBlur stdDeviation="0.0205962" result="effect1_foregroundBlur_177_1962"/>
|
||||
</filter>
|
||||
<radialGradient id="paint0_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.09314 20.3614) rotate(-92.3395) scale(11.9619 17.5706)">
|
||||
<stop offset="0.141612" stop-color="#1ABD4D"/>
|
||||
<stop offset="0.247515" stop-color="#6EC30D"/>
|
||||
<stop offset="0.311547" stop-color="#8AC502"/>
|
||||
<stop offset="0.366013" stop-color="#A2C600"/>
|
||||
<stop offset="0.445673" stop-color="#C8C903"/>
|
||||
<stop offset="0.540305" stop-color="#EBCB03"/>
|
||||
<stop offset="0.615636" stop-color="#F7CD07"/>
|
||||
<stop offset="0.699345" stop-color="#FDCD04"/>
|
||||
<stop offset="0.771242" stop-color="#FDCE05"/>
|
||||
<stop offset="0.860566" stop-color="#FFCE0A"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint1_radial_177_1962" cx="0" cy="0" r="1" gradientTransform="matrix(8.29246 -2.03557e-05 -1.16554e-05 10.7093 20.043 6.3974)" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.408458" stop-color="#FB4E5A"/>
|
||||
<stop offset="1" stop-color="#FF4540"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint2_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(15.5143 -1.65299) rotate(151.02) scale(13.2813 18.0227)">
|
||||
<stop offset="0.231273" stop-color="#FF4541"/>
|
||||
<stop offset="0.311547" stop-color="#FF4540"/>
|
||||
<stop offset="0.457516" stop-color="#FF4640"/>
|
||||
<stop offset="0.540305" stop-color="#FF473F"/>
|
||||
<stop offset="0.699346" stop-color="#FF5138"/>
|
||||
<stop offset="0.771242" stop-color="#FF5B33"/>
|
||||
<stop offset="0.860566" stop-color="#FF6C29"/>
|
||||
<stop offset="1" stop-color="#FF8C18"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint3_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.423 22.6036) rotate(-127.454) scale(34.6477 12.7893)">
|
||||
<stop offset="0.131546" stop-color="#0CBA65"/>
|
||||
<stop offset="0.209784" stop-color="#0BB86D"/>
|
||||
<stop offset="0.297297" stop-color="#09B479"/>
|
||||
<stop offset="0.396257" stop-color="#08AD93"/>
|
||||
<stop offset="0.477124" stop-color="#0AA6A9"/>
|
||||
<stop offset="0.568425" stop-color="#0D9CC6"/>
|
||||
<stop offset="0.667385" stop-color="#1893DD"/>
|
||||
<stop offset="0.768727" stop-color="#258BF1"/>
|
||||
<stop offset="0.858506" stop-color="#3086FF"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint4_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(11.2206 2.16411) rotate(96.6178) scale(12.9384 17.8896)">
|
||||
<stop offset="0.366013" stop-color="#FF4E3A"/>
|
||||
<stop offset="0.457516" stop-color="#FF8A1B"/>
|
||||
<stop offset="0.540305" stop-color="#FFA312"/>
|
||||
<stop offset="0.615636" stop-color="#FFB60C"/>
|
||||
<stop offset="0.771242" stop-color="#FFCD0A"/>
|
||||
<stop offset="0.860566" stop-color="#FECF0A"/>
|
||||
<stop offset="0.915033" stop-color="#FECF08"/>
|
||||
<stop offset="1" stop-color="#FDCD01"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint5_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.12386 2.03076) rotate(132.119) scale(6.42638 18.1259)">
|
||||
<stop offset="0.315904" stop-color="#FF4C3C"/>
|
||||
<stop offset="0.603818" stop-color="#FF692C"/>
|
||||
<stop offset="0.726837" stop-color="#FF7825"/>
|
||||
<stop offset="0.884534" stop-color="#FF8D1B"/>
|
||||
<stop offset="1" stop-color="#FF9F13"/>
|
||||
</radialGradient>
|
||||
<radialGradient id="paint6_radial_177_1962" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(15.5147 25.6525) rotate(-151.02) scale(13.2813 18.0227)">
|
||||
<stop offset="0.231273" stop-color="#0FBC5F"/>
|
||||
<stop offset="0.311547" stop-color="#0FBC5F"/>
|
||||
<stop offset="0.366013" stop-color="#0FBC5E"/>
|
||||
<stop offset="0.457516" stop-color="#0FBC5D"/>
|
||||
<stop offset="0.540305" stop-color="#12BC58"/>
|
||||
<stop offset="0.699346" stop-color="#28BF3C"/>
|
||||
<stop offset="0.771242" stop-color="#38C02B"/>
|
||||
<stop offset="0.860566" stop-color="#52C218"/>
|
||||
<stop offset="0.915033" stop-color="#67C30F"/>
|
||||
<stop offset="1" stop-color="#86C504"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint7_linear_177_1962" x1="10.791" y1="21.5408" x2="13.7095" y2="21.5408" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0FBC5C"/>
|
||||
<stop offset="1" stop-color="#0CBA65"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
15
packages/ui/icons/gpustack.svg
Normal file
|
After Width: | Height: | Size: 15 KiB |
11
packages/ui/icons/graph-rag.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.77894 20.4654C2.51173 21.463 3.69316 22.1104 5.02582 22.1104L5.30822 22.1105C4.53634 22.1641 3.74075 21.9961 3.02028 21.5801C2.5196 21.2911 2.10449 20.9107 1.78385 20.4722L1.77894 20.4654ZM14.0131 2.54008C15.9387 3.65187 16.5985 6.11423 15.4867 8.03991L12.0121 14.0581L5.02582 14.0581C3.64432 14.0581 2.42534 14.7539 1.7002 15.8142L8.51321 4.01375C9.62501 2.08807 12.0874 1.42828 14.0131 2.54008Z" fill="#F8E71C"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.9872 14.0581L15.4793 20.1065C16.1751 21.3117 17.3999 22.021 18.6911 22.1106L5.04032 22.1104C2.81673 22.1104 1.01416 20.3079 1.01416 18.0843C1.01416 15.8607 2.81673 14.0581 5.04032 14.0581L11.9872 14.0581ZM22.9997 18.0843C22.9997 18.9754 22.7102 19.799 22.22 20.466C23.1286 19.2185 23.2741 17.5029 22.4528 16.0803L22.2993 15.8143C22.7412 16.4606 22.9997 17.2422 22.9997 18.0843Z" fill="#E3122B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.6388 4.3038L22.4378 16.0803C23.5496 18.006 22.8898 20.4683 20.9641 21.5801C19.0385 22.6919 16.5761 22.0321 15.4643 20.1064L11.992 14.0922L15.4863 8.03991C16.1727 6.85107 16.1838 5.45767 15.6388 4.3038ZM11.992 2.00002L11.9365 2.00055C10.5686 2.02328 9.24654 2.7428 8.51276 4.01375L8.34521 4.30377C8.68304 3.58862 9.23453 2.96548 9.97136 2.54008C10.6089 2.17199 11.3053 1.99809 11.992 2.00002Z" fill="#4A90E2"/>
|
||||
<path d="M11.9923 10.0394C14.2117 10.0394 16.0109 8.24024 16.0109 6.02082C16.0109 3.8014 14.2117 2.0022 11.9923 2.0022C9.77283 2.0022 7.97363 3.8014 7.97363 6.02082C7.97363 8.24024 9.77283 10.0394 11.9923 10.0394Z" fill="#7ED321" stroke="#7ED321"/>
|
||||
<path d="M5.01862 22.1178C7.23805 22.1178 9.03724 20.3186 9.03724 18.0992C9.03724 15.8798 7.23805 14.0806 5.01862 14.0806C2.7992 14.0806 1 15.8798 1 18.0992C1 20.3186 2.7992 22.1178 5.01862 22.1178Z" fill="#ED9A12" stroke="#ED9A12"/>
|
||||
<path d="M18.9654 22.1178C21.1848 22.1178 22.984 20.3186 22.984 18.0992C22.984 15.8798 21.1848 14.0806 18.9654 14.0806C16.746 14.0806 14.9468 15.8798 14.9468 18.0992C14.9468 20.3186 16.746 22.1178 18.9654 22.1178Z" fill="#6E29AA"/>
|
||||
<path d="M11.9846 7.37039C12.7258 7.37039 13.3267 6.76953 13.3267 6.02833C13.3267 5.28714 12.7258 4.68628 11.9846 4.68628C11.2434 4.68628 10.6426 5.28714 10.6426 6.02833C10.6426 6.76953 11.2434 7.37039 11.9846 7.37039Z" fill="#4A90E2"/>
|
||||
<path d="M18.9666 19.449C19.7078 19.449 20.3086 18.8481 20.3086 18.1069C20.3086 17.3658 19.7078 16.7649 18.9666 16.7649C18.2254 16.7649 17.6245 17.3658 17.6245 18.1069C17.6245 18.8481 18.2254 19.449 18.9666 19.449Z" fill="#E3122B"/>
|
||||
<path d="M5.01784 19.449C5.75903 19.449 6.35989 18.8481 6.35989 18.1069C6.35989 17.3658 5.75903 16.7649 5.01784 16.7649C4.27664 16.7649 3.67578 17.3658 3.67578 18.1069C3.67578 18.8481 4.27664 19.449 5.01784 19.449Z" fill="#F8E71C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
6
packages/ui/icons/grok.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.00558 8.48309L11.8706 23.9998H16.6996L5.83455 8.48309H1.00558Z" fill="black"/>
|
||||
<path d="M1 23.9998H5.83222L8.24647 20.5525L5.83036 17.1015L1 23.9998Z" fill="black"/>
|
||||
<path d="M22.6373 0.000244141H17.8051L9.45453 11.9257L11.8711 15.3763L22.6373 0.000244141Z" fill="black"/>
|
||||
<path d="M18.6788 23.9998H22.6373V1.7255L18.6788 7.37857V23.9998Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 470 B |
11
packages/ui/icons/groq.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_177_2053)">
|
||||
<path d="M0 0H24V24H0V0Z" fill="#F54F35"/>
|
||||
<path d="M15.2837 5.85076L15.51 6.03226C16.2791 6.72097 16.7884 7.70032 16.9554 8.71644C16.9669 8.93411 16.973 9.15202 16.9746 9.37005L16.9782 9.75775L16.9796 10.1735L16.9816 10.6049C16.9828 10.906 16.9835 11.2072 16.984 11.5082C16.9852 11.9667 16.9889 12.4252 16.9926 12.8838C16.9934 13.177 16.994 13.4701 16.9945 13.7631L16.9991 14.1759C16.9951 15.5749 16.5963 16.7825 15.6289 17.8233C15.0854 18.3284 14.5366 18.7035 13.8509 18.9851L13.5659 19.1111C12.4584 19.5117 11.142 19.3973 10.0579 18.9761C9.459 18.692 8.96467 18.3588 8.47774 17.9105C8.91691 17.37 9.36252 16.9082 9.91058 16.4776L10.2763 16.7612C10.9416 17.2338 11.6059 17.3834 12.418 17.3135C13.2491 17.1482 13.9052 16.7759 14.4479 16.1194C14.9463 15.3094 14.996 14.6601 14.9889 13.7201L14.9903 13.3055C14.9907 13.0172 14.9897 12.7291 14.9877 12.4409C14.9853 12.0015 14.9877 11.562 14.9908 11.1226C14.9905 10.8417 14.9899 10.5609 14.9889 10.2799L14.9919 9.88444C14.9802 8.92969 14.7851 8.30712 14.1942 7.55966C13.3839 6.90796 12.6294 6.57924 11.5776 6.62927C10.7027 6.77112 9.99213 7.19047 9.45494 7.89506C9.01171 8.59847 8.81923 9.32181 8.95535 10.1493C9.21697 11.0504 9.55464 11.8147 10.3882 12.2985C11.0865 12.664 11.6887 12.7192 12.4703 12.7389L12.804 12.7512C13.0733 12.761 13.3427 12.7687 13.6121 12.7761V14.6866C11.6202 14.7669 10.076 14.7647 8.49541 13.3913C7.50676 12.4007 6.90282 11.057 6.8584 9.65673C6.90544 8.47823 7.32765 7.52014 8.00013 6.56718L8.20168 6.26115C10.1133 4.24635 13.1404 4.11178 15.2837 5.85076Z" fill="#FEFBFB"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_177_2053">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
19
packages/ui/icons/huggingface.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M23.6951 18.7044C23.8846 19.2501 23.8391 19.8312 23.5865 20.3364C23.4046 20.7053 23.1443 20.9907 22.826 21.2459C22.442 21.5491 21.9646 21.8067 21.3886 22.0543C20.7014 22.3474 19.8627 22.6227 19.4787 22.7238C18.4959 22.9789 17.5511 23.1406 16.5936 23.1482C15.2243 23.1608 14.0446 22.8375 13.2058 22.0114C12.7713 22.0644 12.3317 22.0947 11.8896 22.0947C11.4702 22.0947 11.0559 22.0695 10.6441 22.0189C9.80287 22.84 8.62814 23.1608 7.26393 23.1482C6.30645 23.1406 5.36161 22.9789 4.37635 22.7238C3.99487 22.6227 3.15614 22.3474 2.46898 22.0543C1.89298 21.8067 1.4155 21.5491 1.03403 21.2459C0.713189 20.9907 0.452979 20.7053 0.271084 20.3364C0.0209786 19.8312 -0.0270214 19.2501 0.164979 18.7044C-0.0118635 18.2876 -0.0573372 17.8101 0.0816102 17.2821C0.144768 17.0421 0.248347 16.8198 0.379715 16.6227C0.351926 16.5192 0.329189 16.4131 0.314031 16.2968C0.218031 15.6046 0.458031 14.9731 0.910242 14.4829C1.13256 14.2379 1.37256 14.0686 1.62266 13.96C1.43824 13.1768 1.34224 12.3709 1.34224 11.5474C1.34224 5.72168 6.06393 1 11.8896 1C13.8905 1 15.7625 1.55579 17.3591 2.52589C17.6471 2.70274 17.93 2.89221 18.2003 3.09432C18.3342 3.19537 18.4681 3.29895 18.597 3.40758C18.7283 3.51368 18.8572 3.62484 18.981 3.73853C19.3549 4.07958 19.706 4.44589 20.0269 4.83747C20.1355 4.96632 20.2391 5.10021 20.3401 5.23663C20.5448 5.50695 20.7342 5.78737 20.9086 6.07789C21.1738 6.51242 21.4062 6.96716 21.6083 7.43958C21.7422 7.75537 21.8585 8.07874 21.962 8.40968C22.1161 8.90484 22.2349 9.41516 22.3157 9.94063C22.341 10.1149 22.3637 10.2918 22.3814 10.4686C22.4168 10.8223 22.437 11.1811 22.437 11.5474C22.437 12.3608 22.341 13.1592 22.1616 13.9297C22.4395 14.0383 22.7022 14.2152 22.9473 14.4829C23.3995 14.9731 23.6395 15.6072 23.5435 16.2994C23.5283 16.4131 23.5056 16.5192 23.4778 16.6227C23.6092 16.8198 23.7128 17.0421 23.7759 17.2821C23.9149 17.8101 23.8694 18.2876 23.6951 18.7044Z" fill="white"/>
|
||||
<path d="M11.8107 20.3262C16.6592 20.3262 20.5896 16.3957 20.5896 11.5473C20.5896 6.69878 16.6592 2.76831 11.8107 2.76831C6.96221 2.76831 3.03174 6.69878 3.03174 11.5473C3.03174 16.3957 6.96221 20.3262 11.8107 20.3262Z" fill="#FFD21E"/>
|
||||
<path d="M20.5894 11.5473C20.5894 6.69881 16.6589 2.76834 11.8105 2.76834C6.96199 2.76834 3.03152 6.69881 3.03152 11.5473C3.03152 16.3958 6.96199 20.3262 11.8105 20.3262C16.6589 20.3262 20.5894 16.3958 20.5894 11.5473ZM2.021 11.5473C2.021 6.14071 6.40389 1.75781 11.8105 1.75781C17.217 1.75781 21.5999 6.14071 21.5999 11.5473C21.5999 16.9539 17.217 21.3368 11.8105 21.3368C6.40389 21.3368 2.021 16.9539 2.021 11.5473Z" fill="#FFAC03"/>
|
||||
<path d="M14.6628 9.15775C14.9847 9.27144 15.1128 9.93332 15.4381 9.76039C16.054 9.43288 16.2879 8.66804 15.9603 8.05207C15.6328 7.43611 14.868 7.20227 14.252 7.52979C13.6361 7.8573 13.4022 8.62214 13.7297 9.2381C13.8843 9.52884 14.375 9.05612 14.6628 9.15775Z" fill="#3A3B45"/>
|
||||
<path d="M8.71175 9.15775C8.3898 9.27144 8.26169 9.93332 7.93646 9.76039C7.32049 9.43288 7.08666 8.66804 7.41417 8.05207C7.74169 7.43611 8.50653 7.20227 9.12249 7.52979C9.73846 7.8573 9.97229 8.62214 9.64478 9.2381C9.49019 9.52884 8.99955 9.05612 8.71175 9.15775Z" fill="#3A3B45"/>
|
||||
<path d="M11.7476 15.2203C14.2306 15.2203 15.0318 13.0065 15.0318 11.8697C15.0318 11.2789 14.6346 11.4648 13.9985 11.7798C13.4107 12.0708 12.6187 12.4719 11.7476 12.4719C9.93377 12.4719 8.46338 10.7329 8.46338 11.8697C8.46338 13.0065 9.26461 15.2203 11.7476 15.2203Z" fill="#3A3B45"/>
|
||||
<path d="M11.8107 17.8001C13.0208 17.8001 14.0017 16.8191 14.0017 15.6091C14.0017 14.6665 13.4066 13.863 12.5716 13.5537C12.5409 13.5424 12.5099 13.5316 12.4785 13.5216C12.2679 13.4543 12.0436 14.178 11.8107 14.178C11.5931 14.178 11.3829 13.4497 11.1845 13.5088C10.2795 13.7782 9.61963 14.6166 9.61963 15.6091C9.61963 16.8191 10.6006 17.8001 11.8107 17.8001Z" fill="#EF4E4E"/>
|
||||
<g style="mix-blend-mode:multiply">
|
||||
<path d="M17.7473 10.3472C18.2008 10.3472 18.5684 9.97959 18.5684 9.52613C18.5684 9.07268 18.2008 8.70508 17.7473 8.70508C17.2939 8.70508 16.9263 9.07268 16.9263 9.52613C16.9263 9.97959 17.2939 10.3472 17.7473 10.3472Z" fill="#FFD21E"/>
|
||||
</g>
|
||||
<g style="mix-blend-mode:multiply">
|
||||
<path d="M5.99976 10.3472C6.45322 10.3472 6.82082 9.97959 6.82082 9.52613C6.82082 9.07268 6.45322 8.70508 5.99976 8.70508C5.54631 8.70508 5.17871 9.07268 5.17871 9.52613C5.17871 9.97959 5.54631 10.3472 5.99976 10.3472Z" fill="#FFD21E"/>
|
||||
</g>
|
||||
<path d="M4.3103 13.1262C3.90129 13.1262 3.53574 13.2942 3.28083 13.5989C3.12319 13.7876 2.95847 14.0918 2.94508 14.5473C2.77355 14.498 2.60858 14.4705 2.45447 14.4705C2.06289 14.4705 1.70921 14.6205 1.4591 14.8931C1.13776 15.243 0.99502 15.673 1.05717 16.1032C1.08672 16.3081 1.15519 16.4918 1.2575 16.6618C1.04176 16.8364 0.882851 17.0794 0.806051 17.3717C0.745925 17.6008 0.684283 18.0781 1.00614 18.5697C0.985672 18.6018 0.966472 18.6351 0.948536 18.6692C0.75502 19.0365 0.742641 19.4516 0.91342 19.8381C1.17237 20.424 1.81582 20.8855 3.06534 21.381C3.84268 21.6892 4.55384 21.8862 4.56016 21.888C5.58786 22.1545 6.51729 22.2899 7.32192 22.2899C8.80083 22.2899 9.85961 21.837 10.469 20.9437C11.4497 19.5052 11.3095 18.1895 10.0405 16.9213C9.33818 16.2194 8.87131 15.1847 8.77405 14.9575C8.57801 14.285 8.05961 13.5375 7.19788 13.5375C7.12538 13.5375 7.05186 13.5433 6.97961 13.5547C6.60218 13.6141 6.27224 13.8313 6.03654 14.1582C5.78214 13.8419 5.53506 13.5903 5.31148 13.4483C4.97447 13.2346 4.63771 13.1262 4.3103 13.1262ZM4.3103 14.1367C4.43915 14.1367 4.59654 14.1916 4.77009 14.3017C5.30896 14.6435 6.34879 16.4309 6.7295 17.1261C6.85708 17.3591 7.0751 17.4576 7.2714 17.4576C7.66096 17.4576 7.96512 17.0703 7.30702 16.5782C6.31746 15.8377 6.66458 14.6274 7.137 14.5528C7.15771 14.5495 7.17818 14.548 7.19788 14.548C7.62736 14.548 7.81683 15.2882 7.81683 15.2882C7.81683 15.2882 8.37211 16.6828 9.32605 17.6359C10.28 18.5894 10.3293 19.3546 9.63401 20.3742C9.15982 21.0695 8.25211 21.2794 7.32192 21.2794C6.35712 21.2794 5.36807 21.0535 4.8138 20.9098C4.78651 20.9027 1.41565 19.9506 1.8426 19.1401C1.91435 19.0039 2.03258 18.9494 2.18138 18.9494C2.78264 18.9494 3.87628 19.8442 4.34643 19.8442C4.45152 19.8442 4.52555 19.7995 4.55586 19.6903C4.7562 18.9716 1.50988 18.6695 1.78348 17.6284C1.83174 17.4442 1.9626 17.3694 2.14651 17.3697C2.94104 17.3697 4.72361 18.767 5.09725 18.767C5.1258 18.767 5.14626 18.7586 5.15738 18.741C5.34458 18.4388 5.24201 18.2279 3.92251 17.4293C2.60302 16.6305 1.67687 16.15 2.20361 15.5765C2.26424 15.5103 2.35014 15.481 2.45447 15.481C3.25557 15.4813 5.14828 17.2037 5.14828 17.2037C5.14828 17.2037 5.6591 17.735 5.96807 17.735C6.03906 17.735 6.09944 17.7069 6.14037 17.6377C6.3594 17.2684 4.10593 15.5606 3.97885 14.856C3.8927 14.3785 4.03923 14.1367 4.3103 14.1367Z" fill="#FFAC03"/>
|
||||
<path d="M9.63397 20.3742C10.3292 19.3546 10.28 18.5894 9.32601 17.6359C8.37208 16.6827 7.81679 15.2882 7.81679 15.2882C7.81679 15.2882 7.60938 14.4783 7.13696 14.5528C6.66454 14.6273 6.31768 15.8377 7.30724 16.5782C8.29679 17.3184 7.11018 17.8214 6.72947 17.1261C6.34875 16.4309 5.30917 14.6435 4.77006 14.3017C4.23119 13.9599 3.85174 14.1514 3.97881 14.856C4.10589 15.5606 6.35961 17.2683 6.14033 17.6379C5.92105 18.0073 5.14825 17.2037 5.14825 17.2037C5.14825 17.2037 2.73006 15.003 2.20357 15.5765C1.67709 16.1499 2.60298 16.6305 3.92248 17.4293C5.24223 18.2278 5.34454 18.4388 5.15734 18.7409C4.96989 19.0431 2.05705 16.5873 1.78345 17.6283C1.5101 18.6694 4.75616 18.9716 4.55583 19.6903C4.35549 20.4093 2.26926 18.3299 1.84256 19.1401C1.41561 19.9505 4.78648 20.9027 4.81376 20.9098C5.9026 21.1922 8.66791 21.7907 9.63397 20.3742Z" fill="#FFD21E"/>
|
||||
<path d="M19.4368 13.1262C19.8458 13.1262 20.2113 13.2942 20.4662 13.5989C20.6239 13.7876 20.7886 14.0918 20.802 14.5473C20.9735 14.498 21.1385 14.4705 21.2926 14.4705C21.6842 14.4705 22.0379 14.6205 22.288 14.8931C22.6093 15.243 22.7521 15.673 22.6899 16.1032C22.6603 16.3081 22.5919 16.4918 22.4896 16.6618C22.7053 16.8364 22.8642 17.0794 22.941 17.3717C23.0011 17.6008 23.0628 18.0781 22.7409 18.5697C22.7614 18.6018 22.7806 18.6351 22.7985 18.6692C22.9921 19.0365 23.0044 19.4516 22.8337 19.8381C22.5747 20.424 21.9313 20.8855 20.6817 21.381C19.9044 21.6892 19.1932 21.8862 19.1869 21.888C18.1592 22.1545 17.2298 22.2899 16.4251 22.2899C14.9462 22.2899 13.8875 21.837 13.2781 20.9437C12.2974 19.5052 12.4376 18.1895 13.7066 16.9213C14.4089 16.2194 14.8758 15.1847 14.973 14.9575C15.1691 14.285 15.6875 13.5375 16.5492 13.5375C16.6217 13.5375 16.6952 13.5433 16.7675 13.5547C17.1449 13.6141 17.4748 13.8313 17.7105 14.1582C17.9649 13.8419 18.212 13.5903 18.4356 13.4483C18.7726 13.2346 19.1094 13.1262 19.4368 13.1262ZM19.4368 14.1367C19.3079 14.1367 19.1505 14.1916 18.977 14.3017C18.4381 14.6435 17.3983 16.4309 17.0176 17.1261C16.89 17.3591 16.672 17.4576 16.4757 17.4576C16.0861 17.4576 15.7819 17.0703 16.4401 16.5782C17.4296 15.8377 17.0825 14.6274 16.6101 14.5528C16.5894 14.5495 16.5689 14.548 16.5492 14.548C16.1197 14.548 15.9302 15.2882 15.9302 15.2882C15.9302 15.2882 15.375 16.6828 14.421 17.6359C13.4671 18.5894 13.4178 19.3546 14.1131 20.3742C14.5873 21.0695 15.495 21.2794 16.4251 21.2794C17.3899 21.2794 18.379 21.0535 18.9333 20.9098C18.9606 20.9027 22.3314 19.9506 21.9045 19.1401C21.8327 19.0039 21.7145 18.9494 21.5657 18.9494C20.9644 18.9494 19.8708 19.8442 19.4006 19.8442C19.2955 19.8442 19.2215 19.7995 19.1912 19.6903C18.9909 18.9716 22.2372 18.6695 21.9636 17.6284C21.9153 17.4442 21.7845 17.3694 21.6006 17.3697C20.806 17.3697 19.0235 18.767 18.6498 18.767C18.6213 18.767 18.6008 18.7586 18.5897 18.741C18.4025 18.4388 18.5051 18.2279 19.8246 17.4293C21.1441 16.6305 22.0702 16.15 21.5435 15.5765C21.4828 15.5103 21.3969 15.481 21.2926 15.481C20.4915 15.4813 18.5988 17.2037 18.5988 17.2037C18.5988 17.2037 18.088 17.735 17.779 17.735C17.708 17.735 17.6476 17.7069 17.6067 17.6377C17.3877 17.2684 19.6411 15.5606 19.7682 14.856C19.8544 14.3785 19.7078 14.1367 19.4368 14.1367Z" fill="#FFAC03"/>
|
||||
<path d="M14.1131 20.3742C13.4179 19.3546 13.4671 18.5894 14.4211 17.6359C15.375 16.6827 15.9303 15.2882 15.9303 15.2882C15.9303 15.2882 16.1377 14.4783 16.6101 14.5528C17.0825 14.6273 17.4294 15.8377 16.4398 16.5782C15.4503 17.3184 16.6369 17.8214 17.0176 17.1261C17.3983 16.4309 18.4379 14.6435 18.977 14.3017C19.5159 13.9599 19.8953 14.1514 19.7683 14.856C19.6412 15.5606 17.3875 17.2683 17.6067 17.6379C17.826 18.0073 18.5988 17.2037 18.5988 17.2037C18.5988 17.2037 21.017 15.003 21.5435 15.5765C22.07 16.1499 21.1441 16.6305 19.8246 17.4293C18.5048 18.2278 18.4025 18.4388 18.5897 18.7409C18.7772 19.0431 21.69 16.5873 21.9636 17.6283C22.237 18.6694 18.9909 18.9716 19.1912 19.6903C19.3916 20.4093 21.4778 18.3299 21.9045 19.1401C22.3315 19.9505 18.9606 20.9027 18.9333 20.9098C17.8445 21.1922 15.0792 21.7907 14.1131 20.3742Z" fill="#FFD21E"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
10
packages/ui/icons/hyperbolic.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1007_325549)">
|
||||
<path d="M0.193 19.5028C0.0707355 19.7959 0.00752741 20.1103 0.007 20.4278C0.007 21.7448 1.119 22.9458 2.957 23.8648C3.12479 23.9464 3.30778 23.9919 3.4942 23.9985C3.68063 24.005 3.86637 23.9725 4.03948 23.903C4.21259 23.8335 4.36924 23.7285 4.49936 23.5949C4.62948 23.4612 4.73018 23.3018 4.795 23.1269L6.844 18.1968C7.203 17.3398 7.486 16.4518 7.69 15.5448C3.895 16.1818 1.034 17.6368 0.242 19.4168L0.21 19.4928L0.193 19.5028ZM7.683 8.45585C7.47873 7.54859 7.19566 6.66088 6.837 5.80285L4.79 0.87285C4.72483 0.697958 4.62385 0.538609 4.49352 0.405012C4.36319 0.271415 4.20639 0.166517 4.03317 0.0970387C3.85994 0.0275607 3.67411 -0.00496469 3.48759 0.00154647C3.30107 0.00805764 3.11796 0.0534618 2.95 0.13485C1.112 1.05385 0 2.25585 0 3.57285C0 3.88985 0.064 4.20385 0.186 4.49685V4.50685L0.218 4.58385C1.028 6.36385 3.887 7.81785 7.683 8.45585ZM21.049 0.13585C22.887 1.05385 23.999 2.25585 23.999 3.57185C23.9942 3.88997 23.9277 4.20414 23.803 4.49685L23.776 4.55985C22.991 6.35185 20.123 7.81385 16.316 8.45585C16.52 7.54885 16.803 6.66085 17.162 5.80285L19.21 0.87285C19.2748 0.697798 19.3755 0.538256 19.5057 0.404491C19.6359 0.270727 19.7927 0.165705 19.9659 0.0961859C20.1391 0.0266671 20.325 -0.00580793 20.5115 0.000851118C20.6981 0.00751017 20.8812 0.0531558 21.049 0.13485V0.13585ZM16.327 15.5448C16.528 16.4508 16.807 17.3378 17.164 18.1948L19.212 23.1269C19.2769 23.3017 19.3777 23.461 19.5079 23.5946C19.638 23.7282 19.7946 23.8331 19.9677 23.9026C20.1408 23.972 20.3265 24.0046 20.5128 23.9981C20.6992 23.9916 20.8822 23.9462 21.05 23.8648C22.889 22.9448 24.001 21.7448 24.001 20.4278C23.9996 20.1104 23.9364 19.7962 23.815 19.5028L23.788 19.4408C23.006 17.6488 20.127 16.1848 16.327 15.5448ZM16.198 9.50485C18.893 9.08985 21.133 8.28185 22.678 7.22685L22.24 8.27985C21.258 10.6616 21.258 13.3351 22.24 15.7168L22.675 16.7648C21.128 15.7098 18.888 14.9098 16.196 14.4898L16.126 14.4798C14.7605 14.2726 13.3812 14.1696 12 14.1718C10.623 14.1698 9.248 14.2718 7.886 14.4788L7.815 14.4888C5.122 14.9018 2.882 15.7108 1.335 16.7659L1.772 15.7158C2.75404 13.3341 2.75404 10.6606 1.772 8.27885L1.335 7.22685C2.875 8.28685 5.115 9.08985 7.808 9.50485L7.879 9.51485C10.613 9.92185 13.392 9.92185 16.125 9.51485L16.196 9.50485H16.198Z" fill="#594CE9"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1007_325549">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
14
packages/ui/icons/infini.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4.65622 11.1831V12.3535L3.74694 11.1831H3.17432V13.3949H3.78156V12.1805L4.72544 13.3949H5.26344V11.1831H4.65622Z" fill="#7F1084"/>
|
||||
<path d="M7.42466 11.7211V11.1831H5.6596L5.65332 13.3949H6.26684V12.6052H7.3114V12.0955H6.26684V11.7211H7.42466Z" fill="#7F1084"/>
|
||||
<path d="M7.71729 11.1831V13.3949H8.33394V11.1831H7.71729Z" fill="#7F1084"/>
|
||||
<path d="M10.2216 11.1831V12.3535L9.31235 11.1831H8.73975V13.3949H9.34697V12.1805L10.2908 13.3949H10.8288V11.1831H10.2216Z" fill="#7F1084"/>
|
||||
<path d="M11.2349 11.1831V13.3949H11.8515V11.1831H11.2349Z" fill="#7F1084"/>
|
||||
<path d="M18.0937 11.1831V12.3535L17.1844 11.1831H16.6118V13.3949H17.219V12.1805L18.1629 13.3949H18.7009V11.1831H18.0937Z" fill="#7F1084"/>
|
||||
<path d="M2.2994 12.8129V10.5979H1V11.1831H1.59779V12.8129H1V13.3949H2.89719V12.8129H2.2994Z" fill="#7F1084"/>
|
||||
<path d="M14.1639 12.0861V13.3949H12.2573V11.1831H14.1734V11.6865H12.7607V12.8884H13.6574V12.4794H13.2924V12.0861H14.1639Z" fill="#7F1084"/>
|
||||
<path d="M20.9884 11.6865V11.1831H19.1636V13.3949H20.9853V12.8884H19.667V11.6865H20.9884Z" fill="#7F1084"/>
|
||||
<path d="M2.8971 10H2.29932V10.5978H2.8971V10Z" fill="#2EA7E0"/>
|
||||
<path d="M22.0079 12.8726V12.5234H23.0713V12.0389H22.0079V11.7054H23.1813V11.1831H21.3975V13.3949H23.1971V12.8726H22.0079Z" fill="#7F1084"/>
|
||||
<path d="M15.1045 12.8726V12.5234H16.168V12.0389H15.1045V11.7054H16.2781V11.1831H14.4941V13.3949H16.2938V12.8726H15.1045Z" fill="#7F1084"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
8
packages/ui/icons/intel.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="1" y="7" width="1.73937" height="1.73937" fill="#0068B5"/>
|
||||
<path d="M23 7.22925H21.2574V16.2527H23V7.22925Z" fill="black"/>
|
||||
<path d="M10.7294 7.69537H12.4719V10.0938H13.5611V11.4903H12.4719L12.4719 14.0147C12.4719 14.8025 13.1557 14.8443 13.5429 14.7667V16.2885C11.2342 16.2885 10.7295 15.5904 10.7294 13.6394V7.69537Z" fill="black"/>
|
||||
<path d="M5.39274 10.8251C5.76863 10.4128 6.43087 9.95059 7.35313 9.95059C8.91419 9.95059 9.83993 11.2755 9.83993 12.4034V16.2527H8.16997V12.7257C8.15787 12.2721 7.86502 11.365 6.79043 11.365C6.04814 11.365 5.61535 11.8491 5.39274 12.3157V16.2527H3.65017V10.0938H5.39274V10.8251Z" fill="black"/>
|
||||
<path d="M1 10.0938H2.74257V16.2527H1V10.0938Z" fill="black"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.5438 13.7461H20.5314V13.1732C20.5313 11.3934 19.0685 9.95059 17.264 9.95059C15.4595 9.95059 13.9967 11.3934 13.9967 13.1733C13.9967 14.9531 15.4595 16.3959 17.264 16.3959C18.3229 16.3959 19.2642 15.8983 19.8601 15.1303L18.7068 14.2599C18.3739 14.689 17.8516 14.9636 17.264 14.9636C16.4647 14.9636 15.786 14.454 15.5438 13.7461ZM18.9716 12.5645C18.719 11.8754 18.0498 11.3829 17.264 11.3829C16.4782 11.3829 15.809 11.8754 15.5565 12.5645H18.9716Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
70
packages/ui/icons/jimeng.svg
Normal file
@@ -0,0 +1,70 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_1004_325507" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="23" height="22">
|
||||
<path d="M5.25735 1.80765C8.76836 6.74075 14.4316 9.45056 20.0638 8.40323C20.4621 8.32917 20.8949 8.19661 21.3453 8.02311C22.2003 7.69374 23.3199 9.03389 22.6711 9.68084C22.2417 10.1091 21.8314 10.5013 21.4636 10.8278C18.9271 13.0793 16.1266 15.1096 13.0746 16.8717C10.0032 18.6449 6.82394 20.0618 3.58453 21.1352C3.13169 21.2853 2.6047 21.4391 2.03824 21.5917C1.15372 21.8301 0.55444 20.1919 1.26764 19.617C1.64664 19.3114 1.98095 19.0005 2.24624 18.6902C5.96932 14.3363 6.29912 8.17371 3.71756 2.69665C3.60584 2.45961 3.48186 2.17153 3.35311 1.85684C2.99489 0.981288 4.0418 0.335122 4.656 1.05462C4.89915 1.33945 5.10928 1.5996 5.25735 1.80765Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_1004_325507)">
|
||||
<path d="M3.05591 -0.57488L13.0474 18.229L27.378 9.23897L17.3865 -9.56491L3.05591 -0.57488Z" fill="url(#paint0_linear_1004_325507)"/>
|
||||
<path d="M3.05591 -0.57488L13.0474 18.229L-1.28325 27.219L-11.2747 8.41515L3.05591 -0.57488Z" fill="url(#paint1_linear_1004_325507)"/>
|
||||
<path d="M23.0388 37.0329L13.0474 18.229L27.378 9.23897L37.3694 28.0429L23.0388 37.0329Z" fill="url(#paint2_linear_1004_325507)"/>
|
||||
<path d="M23.0388 37.0329L13.0474 18.229L-1.28325 27.219L8.7082 46.0229L23.0388 37.0329Z" fill="url(#paint3_linear_1004_325507)"/>
|
||||
</g>
|
||||
<mask id="mask1_1004_325507" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="7" y="13" width="13" height="11">
|
||||
<path d="M19.5292 13.6948C17.2058 16.5579 16.714 19.6388 17.1516 22.2781C17.1596 22.3264 17.168 22.3799 17.1765 22.4375C17.2928 23.2284 16.3598 23.7154 15.7281 23.2254C15.6959 23.2004 15.6647 23.1765 15.6349 23.1538C13.5151 21.5401 11.0144 20.326 7.68652 20.7079C9.70102 20.1175 11.7607 19.243 13.773 18.0812C15.9824 16.8056 17.9203 15.3074 19.5292 13.6948Z" fill="white"/>
|
||||
</mask>
|
||||
<g mask="url(#mask1_1004_325507)">
|
||||
<path d="M2.9485 -0.407365L16.5913 23.2227L31.0296 14.8867L17.3868 -8.7433L2.9485 -0.407365Z" fill="url(#paint4_linear_1004_325507)"/>
|
||||
<path d="M2.9485 -0.407365L16.5913 23.2227L2.15305 31.5586L-11.4898 7.92857L2.9485 -0.407365Z" fill="url(#paint5_linear_1004_325507)"/>
|
||||
<path d="M30.2341 46.8527L16.5913 23.2227L31.0296 14.8867L44.6724 38.5167L30.2341 46.8527Z" fill="url(#paint6_linear_1004_325507)"/>
|
||||
<path d="M30.2341 46.8527L16.5913 23.2227L2.15305 31.5586L15.7959 55.1886L30.2341 46.8527Z" fill="url(#paint7_linear_1004_325507)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1004_325507" x1="13.0474" y1="18.229" x2="15.105" y2="2.23875" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#27B2F0"/>
|
||||
<stop offset="0.203234" stop-color="#26DFFB"/>
|
||||
<stop offset="0.406468" stop-color="#30F5FE"/>
|
||||
<stop offset="0.652506" stop-color="#F0FEFC"/>
|
||||
<stop offset="0.863327" stop-color="#FBC610"/>
|
||||
<stop offset="1" stop-color="#FD9C22"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1004_325507" x1="13.0474" y1="18.229" x2="-0.935969" y2="12.7009" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#27B2F0"/>
|
||||
<stop offset="0.203234" stop-color="#26DFFB"/>
|
||||
<stop offset="0.406468" stop-color="#30F5FE"/>
|
||||
<stop offset="0.652506" stop-color="#F0FEFC"/>
|
||||
<stop offset="0.863327" stop-color="#FBC610"/>
|
||||
<stop offset="1" stop-color="#FD9C22"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_1004_325507" x1="13.0474" y1="18.229" x2="27.0307" y2="23.7571" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#27B2F0"/>
|
||||
<stop offset="0.203234" stop-color="#26DFFB"/>
|
||||
<stop offset="0.406468" stop-color="#30F5FE"/>
|
||||
<stop offset="0.652506" stop-color="#F0FEFC"/>
|
||||
<stop offset="0.863327" stop-color="#FBC610"/>
|
||||
<stop offset="1" stop-color="#FD9C22"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear_1004_325507" x1="13.0474" y1="18.229" x2="10.9898" y2="34.2193" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#27B2F0"/>
|
||||
<stop offset="0.203234" stop-color="#26DFFB"/>
|
||||
<stop offset="0.406468" stop-color="#30F5FE"/>
|
||||
<stop offset="0.652506" stop-color="#F0FEFC"/>
|
||||
<stop offset="0.863327" stop-color="#FBC610"/>
|
||||
<stop offset="1" stop-color="#FD9C22"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear_1004_325507" x1="16.5913" y1="23.2227" x2="16.3034" y2="18.1833" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1C6FFF"/>
|
||||
<stop offset="1" stop-color="#24B5EF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear_1004_325507" x1="16.5913" y1="23.2227" x2="12.3711" y2="20.4536" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1C6FFF"/>
|
||||
<stop offset="1" stop-color="#24B5EF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint6_linear_1004_325507" x1="16.5913" y1="23.2227" x2="20.8115" y2="25.9917" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1C6FFF"/>
|
||||
<stop offset="1" stop-color="#24B5EF"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint7_linear_1004_325507" x1="16.5913" y1="23.2227" x2="16.8793" y2="28.262" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#1C6FFF"/>
|
||||
<stop offset="1" stop-color="#24B5EF"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
4
packages/ui/icons/jina.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.56053 21.4486C9.07925 21.4486 11.1211 19.4068 11.1211 16.8882C11.1211 14.3696 9.07925 12.3279 6.56053 12.3279C4.04182 12.3279 2 14.3696 2 16.8882C2 19.4068 4.04182 21.4486 6.56053 21.4486Z" fill="#EB6161"/>
|
||||
<path d="M22.0002 3.59473L21.9406 12.328C21.9406 17.3056 17.9464 21.3592 12.9685 21.4486L12.8789 12.3578L12.8791 3.62453C12.8791 3.02841 13.356 2.55151 13.9522 2.55151H20.9271C21.5233 2.55151 22.0002 2.9986 22.0002 3.59473Z" fill="#009191"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 564 B |
9
packages/ui/icons/lanyun.svg
Normal file
|
After Width: | Height: | Size: 22 KiB |
6
packages/ui/icons/lepton.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.7062 13.286V10.3666C20.7062 9.84532 20.7062 9.55859 20.6801 9.35006C20.6801 9.2458 20.6541 9.19366 20.6541 9.1676C20.628 9.0894 20.6019 9.03727 20.5498 8.98514C20.5237 8.98514 20.4977 8.933 20.3934 8.88087C20.211 8.75054 19.9764 8.62021 19.5332 8.35955L17.0048 6.89985C16.5617 6.63919 16.301 6.50886 16.1186 6.4046C16.0143 6.35246 15.9622 6.3264 15.9622 6.3264C15.884 6.30033 15.8058 6.30033 15.7276 6.3264C15.7015 6.3264 15.6494 6.35246 15.5712 6.4046C15.3887 6.50886 15.1281 6.63919 14.6849 6.89985L12.1565 8.35955C11.7134 8.62021 11.4528 8.75054 11.2964 8.88087C11.2182 8.933 11.166 8.98514 11.14 8.98514C11.0878 9.03727 11.0618 9.11547 11.0357 9.1676C11.0357 9.19366 11.0357 9.2458 11.0096 9.35006C11.0096 9.55859 10.9836 9.84532 10.9836 10.3666V13.286C10.9836 13.8074 10.9836 14.0941 11.0096 14.3026C11.0096 14.4069 11.0357 14.459 11.0357 14.4851C11.0618 14.5633 11.0878 14.6154 11.14 14.6675C11.166 14.6675 11.1921 14.7197 11.2964 14.7718C11.4788 14.9021 11.7134 15.0325 12.1565 15.2931L14.6849 16.7528C15.1281 17.0135 15.3887 17.1438 15.5712 17.2481C15.6755 17.3002 15.7276 17.3263 15.7276 17.3263C15.8058 17.3523 15.884 17.3523 15.9622 17.3263C15.9883 17.3263 16.0404 17.3002 16.1186 17.2481C16.301 17.1438 16.5617 17.0135 17.0048 16.7528L19.5332 15.2931C19.9764 15.0325 20.237 14.9021 20.3934 14.7718C20.4716 14.7197 20.5237 14.6675 20.5498 14.6675C20.6019 14.6154 20.628 14.5372 20.6541 14.4851C20.6541 14.459 20.6541 14.4069 20.6801 14.3026C20.7062 14.0941 20.7062 13.8074 20.7062 13.286ZM22.2702 7.42117C21.9574 7.08231 21.5403 6.82165 20.7062 6.35246L18.1778 4.89276C17.3437 4.39751 16.9006 4.13685 16.4574 4.05865C16.0665 3.98045 15.6494 3.98045 15.2584 4.05865C14.8153 4.16291 14.3982 4.39751 13.538 4.89276L11.0096 6.35246C10.1755 6.84772 9.7324 7.08231 9.44567 7.42117C9.18501 7.73396 8.97648 8.07282 8.84615 8.46381C8.71582 8.90694 8.71582 9.40219 8.71582 10.3666V13.286C8.71582 14.2765 8.71582 14.7457 8.84615 15.1889C8.97648 15.5799 9.18501 15.9448 9.44567 16.2315C9.75846 16.5704 10.1755 16.831 11.0096 17.3002L13.538 18.7599C14.3722 19.2552 14.8153 19.4898 15.2584 19.594C15.6494 19.6722 16.0665 19.6722 16.4574 19.594C16.9006 19.4898 17.3176 19.2552 18.1778 18.7599L20.7062 17.3002C21.5403 16.805 21.9834 16.5704 22.2702 16.2315C22.5308 15.9187 22.7394 15.5799 22.8697 15.1889C23 14.7457 23 14.2505 23 13.286V10.3666C23 9.37613 23 8.90694 22.8697 8.46381C22.7394 8.07282 22.5308 7.7079 22.2702 7.42117Z" fill="#2D9CDB"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.9904 13.286V10.3666C12.9904 9.84532 12.9904 9.55859 12.9643 9.35006C12.9643 9.2458 12.9383 9.19366 12.9383 9.1676C12.9122 9.0894 12.8861 9.03727 12.834 8.98514C12.8079 8.98514 12.7819 8.933 12.6776 8.88087C12.4951 8.75054 12.2605 8.62021 11.8174 8.35955L9.28901 6.89985C8.84589 6.63919 8.58523 6.50886 8.40276 6.4046C8.2985 6.35246 8.24637 6.3264 8.24637 6.3264C8.16817 6.30033 8.08997 6.30033 8.01177 6.3264C7.98571 6.3264 7.93357 6.35246 7.85538 6.4046C7.67291 6.50886 7.41225 6.63919 6.96913 6.89985L4.44072 8.35955C3.9976 8.62021 3.73694 8.75054 3.58054 8.88087C3.50234 8.933 3.45021 8.98514 3.42414 8.98514C3.37201 9.03727 3.34595 9.11547 3.31988 9.1676C3.31988 9.19366 3.31988 9.2458 3.29381 9.35006C3.29381 9.55859 3.26775 9.84532 3.26775 10.3666V13.286C3.26775 13.8074 3.26775 14.0941 3.29381 14.3026C3.29381 14.4069 3.31988 14.459 3.31988 14.4851C3.34595 14.5633 3.37201 14.6154 3.42414 14.6675C3.45021 14.6675 3.47628 14.7197 3.58054 14.7718C3.763 14.9021 3.9976 15.0325 4.44072 15.2931L6.96913 16.7528C7.41225 17.0135 7.67291 17.1438 7.85538 17.2481C7.95964 17.3002 8.01177 17.3263 8.01177 17.3263C8.08997 17.3523 8.16817 17.3523 8.24637 17.3263C8.27243 17.3263 8.32457 17.3002 8.40276 17.2481C8.58523 17.1438 8.84589 17.0135 9.28901 16.7528L11.8174 15.2931C12.2605 15.0325 12.5212 14.9021 12.6776 14.7718C12.7558 14.7197 12.8079 14.6675 12.834 14.6675C12.8861 14.6154 12.9122 14.5372 12.9383 14.4851C12.9383 14.459 12.9383 14.4069 12.9643 14.3026C12.9904 14.0941 12.9904 13.8074 12.9904 13.286ZM14.5544 7.42117C14.2416 7.08231 13.8245 6.82165 12.9904 6.35246L10.462 4.89276C9.62787 4.39751 9.21081 4.13685 8.74162 4.05865C8.35063 3.98045 7.93357 3.98045 7.54258 4.05865C7.09946 4.16291 6.6824 4.39751 5.82222 4.89276L3.29381 6.35246C2.4597 6.84772 2.01658 7.08231 1.72985 7.42117C1.46919 7.73396 1.26066 8.07282 1.13033 8.46381C1 8.90694 1 9.40219 1 10.3666V13.286C1 14.2765 1 14.7457 1.13033 15.1889C1.26066 15.5799 1.46919 15.9448 1.72985 16.2315C2.04264 16.5704 2.4597 16.831 3.29381 17.3002L5.82222 18.7599C6.65634 19.2552 7.09946 19.4898 7.54258 19.594C7.93357 19.6722 8.35063 19.6722 8.74162 19.594C9.18475 19.4898 9.6018 19.2552 10.462 18.7599L12.9904 17.3002C13.8245 16.805 14.2676 16.5704 14.5544 16.2315C14.815 15.9187 15.0235 15.5799 15.1539 15.1889C15.2842 14.7457 15.2842 14.2505 15.2842 13.286V10.3666C15.2842 9.37613 15.2842 8.90694 15.1539 8.46381C15.0496 8.07282 14.8411 7.7079 14.5544 7.42117Z" fill="#2F80ED"/>
|
||||
<path d="M12.0002 15.2148C12.0523 15.2409 12.1044 15.293 12.1826 15.3191L14.2679 16.5181C13.9812 16.7527 13.5902 16.9613 12.9907 17.3262L12.0002 17.8996L11.0097 17.3262C10.4101 16.9613 10.0191 16.7527 9.73242 16.5181L11.8177 15.3191C11.8959 15.267 11.948 15.2409 12.0002 15.2148Z" fill="#2F80ED"/>
|
||||
<path d="M14.2679 7.13443C13.9812 6.89984 13.5902 6.69131 12.9907 6.32638L12.0002 5.75293L11.0097 6.32638C10.4101 6.69131 10.0191 6.89984 9.73242 7.13443L11.8177 8.33347C11.8698 8.35954 11.948 8.41167 12.0002 8.43773C12.0523 8.41167 12.1044 8.35954 12.1826 8.33347L14.2679 7.13443Z" fill="#2D9CDB"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.6 KiB |
11
packages/ui/icons/lmstudio.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="24" height="24" rx="2" fill="url(#paint0_linear_974_321445)"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.36698 4C4.22763 4 4.08963 4.02745 3.96088 4.08078C3.83213 4.13411 3.71514 4.21228 3.6166 4.31082C3.51806 4.40936 3.43989 4.52635 3.38656 4.6551C3.33323 4.78385 3.30578 4.92185 3.30578 5.06121C3.30578 5.20057 3.33323 5.33856 3.38656 5.46731C3.43989 5.59606 3.51806 5.71305 3.6166 5.81159C3.71514 5.91013 3.83213 5.9883 3.96088 6.04163C4.08963 6.09496 4.22763 6.12241 4.36698 6.12241H16.1223C16.4038 6.12241 16.6737 6.01061 16.8727 5.81159C17.0717 5.61258 17.1835 5.34266 17.1835 5.06121C17.1835 4.77976 17.0717 4.50983 16.8727 4.31082C16.6737 4.11181 16.4038 4 16.1223 4H4.36698ZM8.61264 6.77488C8.33108 6.77488 8.06105 6.88673 7.86196 7.08583C7.66287 7.28492 7.55102 7.55495 7.55102 7.83651C7.55102 8.11807 7.66287 8.38809 7.86196 8.58719C8.06105 8.78628 8.33108 8.89813 8.61264 8.89813H20.3663C20.6426 8.89039 20.905 8.77518 21.0977 8.57701C21.2904 8.37884 21.3982 8.11333 21.3982 7.83692C21.3982 7.56051 21.2904 7.295 21.0977 7.09683C20.905 6.89866 20.6426 6.78346 20.3663 6.77572L8.61264 6.77488ZM5.02029 10.6122C5.02029 10.0256 5.49527 9.5506 6.08191 9.5506H17.8364C18.1127 9.55835 18.3751 9.67355 18.5678 9.87172C18.7605 10.0699 18.8683 10.3354 18.8683 10.6118C18.8683 10.8882 18.7605 11.1537 18.5678 11.3519C18.3751 11.5501 18.1127 11.6653 17.8364 11.673H6.08191C5.4961 11.673 5.02029 11.198 5.02029 10.6122ZM3.06121 12.4896C2.77976 12.4896 2.50983 12.6015 2.31082 12.8005C2.11181 12.9995 2 13.2694 2 13.5509C2 13.8323 2.11181 14.1022 2.31082 14.3012C2.50983 14.5003 2.77976 14.6121 3.06121 14.6121H14.8165C15.0929 14.6043 15.3552 14.4891 15.5479 14.2909C15.7406 14.0928 15.8484 13.8273 15.8484 13.5509C15.8484 13.2744 15.7406 13.0089 15.5479 12.8108C15.3552 12.6126 15.0929 12.4974 14.8165 12.4896H3.06121ZM5.02029 16.3262C5.02029 15.7395 5.49527 15.2645 6.08191 15.2645H17.8364C18.1179 15.2645 18.3878 15.3763 18.5868 15.5754C18.7858 15.7744 18.8976 16.0443 18.8976 16.3257C18.8976 16.6072 18.7858 16.8771 18.5868 17.0761C18.3878 17.2751 18.1179 17.3869 17.8364 17.3869H6.08191C5.4961 17.3869 5.02029 16.912 5.02029 16.3262ZM12.8575 18.0402C12.576 18.0402 12.3061 18.1521 12.1071 18.3511C11.9081 18.5501 11.7963 18.82 11.7963 19.1015C11.7963 19.3829 11.9081 19.6528 12.1071 19.8518C12.3061 20.0509 12.576 20.1627 12.8575 20.1627H20.9388C21.2202 20.1627 21.4902 20.0509 21.6892 19.8518C21.8882 19.6528 22 19.3829 22 19.1015C22 18.82 21.8882 18.5501 21.6892 18.3511C21.4902 18.1521 21.2202 18.0402 20.9388 18.0402H12.8575Z" fill="white" fill-opacity="0.2"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.36698 4C4.22763 4 4.08963 4.02745 3.96088 4.08078C3.83213 4.13411 3.71514 4.21228 3.6166 4.31082C3.51806 4.40936 3.43989 4.52635 3.38656 4.6551C3.33323 4.78385 3.30578 4.92185 3.30578 5.06121C3.30578 5.20057 3.33323 5.33856 3.38656 5.46731C3.43989 5.59606 3.51806 5.71305 3.6166 5.81159C3.71514 5.91013 3.83213 5.9883 3.96088 6.04163C4.08963 6.09496 4.22763 6.12241 4.36698 6.12241H12.9391C13.2154 6.11467 13.4778 5.99947 13.6705 5.8013C13.8632 5.60313 13.971 5.33762 13.971 5.06121C13.971 4.7848 13.8632 4.51928 13.6705 4.32111C13.4778 4.12294 13.2154 4.00774 12.9391 4H4.36698ZM8.61264 6.77488C8.33108 6.77488 8.06105 6.88673 7.86196 7.08583C7.66287 7.28492 7.55102 7.55495 7.55102 7.83651C7.55102 8.11807 7.66287 8.38809 7.86196 8.58719C8.06105 8.78628 8.33108 8.89813 8.61264 8.89813H17.1831C17.4594 8.89039 17.7218 8.77518 17.9145 8.57701C18.1072 8.37884 18.215 8.11333 18.215 7.83692C18.215 7.56051 18.1072 7.295 17.9145 7.09683C17.7218 6.89866 17.4594 6.78346 17.1831 6.77572L8.61264 6.77488ZM5.02029 10.6122C5.02029 10.0256 5.49527 9.5506 6.08191 9.5506H14.6532C14.9347 9.5506 15.2046 9.66241 15.4036 9.86142C15.6026 10.0604 15.7144 10.3304 15.7144 10.6118C15.7144 10.8933 15.6026 11.1632 15.4036 11.3622C15.2046 11.5612 14.9347 11.673 14.6532 11.673H6.08191C5.4961 11.673 5.02029 11.198 5.02029 10.6122ZM3.06121 12.4896C2.77976 12.4896 2.50983 12.6015 2.31082 12.8005C2.11181 12.9995 2 13.2694 2 13.5509C2 13.8323 2.11181 14.1022 2.31082 14.3012C2.50983 14.5003 2.77976 14.6121 3.06121 14.6121H11.6333C11.9096 14.6043 12.172 14.4891 12.3647 14.2909C12.5574 14.0928 12.6652 13.8273 12.6652 13.5509C12.6652 13.2744 12.5574 13.0089 12.3647 12.8108C12.172 12.6126 11.9096 12.4974 11.6333 12.4896H3.06121ZM5.02029 16.3262C5.02029 15.7395 5.49527 15.2645 6.08191 15.2645H14.6532C14.9347 15.2645 15.2046 15.3763 15.4036 15.5754C15.6026 15.7744 15.7144 16.0443 15.7144 16.3257C15.7144 16.6072 15.6026 16.8771 15.4036 17.0761C15.2046 17.2751 14.9347 17.3869 14.6532 17.3869H6.08191C5.4961 17.3869 5.02029 16.912 5.02029 16.3262ZM12.8575 18.0402C12.576 18.0402 12.3061 18.1521 12.1071 18.3511C11.9081 18.5501 11.7963 18.82 11.7963 19.1015C11.7963 19.3829 11.9081 19.6528 12.1071 19.8518C12.3061 20.0509 12.576 20.1627 12.8575 20.1627H17.6739C17.9554 20.1627 18.2253 20.0509 18.4243 19.8518C18.6233 19.6528 18.7351 19.3829 18.7351 19.1015C18.7351 18.82 18.6233 18.5501 18.4243 18.3511C18.2253 18.1521 17.9554 18.0402 17.6739 18.0402H12.8575Z" fill="white"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_974_321445" x1="0.5" y1="0.5" x2="24" y2="24" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#6D7DF2"/>
|
||||
<stop offset="1" stop-color="#4E13BE"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
11
packages/ui/icons/longcat.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1003_325088)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.506816 19.883C0.428692 19.8831 0.351614 19.8651 0.281598 19.8304C0.211582 19.7958 0.150522 19.7454 0.103185 19.6833C0.0558469 19.6211 0.0235119 19.5489 0.00870332 19.4721C-0.00610523 19.3954 -0.0029867 19.3163 0.0178155 19.241L4.28982 3.74504C4.33218 3.591 4.41037 3.44917 4.51801 3.33112C4.62565 3.21307 4.75969 3.12215 4.90917 3.06579C5.05866 3.00942 5.21936 2.98922 5.37814 3.00682C5.53693 3.02441 5.6893 3.07932 5.82282 3.16704L11.4448 6.85404C11.6098 6.96207 11.8026 7.01961 11.9998 7.01961C12.197 7.01961 12.3899 6.96207 12.5548 6.85404L18.1998 3.16504C18.3334 3.07754 18.4859 3.02288 18.6446 3.00552C18.8034 2.98815 18.9641 3.00858 19.1134 3.06513C19.2628 3.12169 19.3967 3.21276 19.5042 3.33092C19.6116 3.44909 19.6896 3.59099 19.7318 3.74504L23.9818 19.242C24.0025 19.3173 24.0055 19.3963 23.9905 19.473C23.9756 19.5496 23.9431 19.6217 23.8956 19.6837C23.8482 19.7456 23.7871 19.7958 23.717 19.8302C23.6469 19.8646 23.5699 19.8824 23.4918 19.882H18.0698C19.0569 18.7383 19.6 17.2778 19.5998 15.767V15.59C19.5997 14.1118 19.062 12.684 18.0868 11.573L17.3898 8.07804C17.3756 8.00506 17.3431 7.93688 17.2953 7.87993C17.2475 7.82299 17.186 7.77914 17.1166 7.75253C17.0472 7.72592 16.9721 7.71742 16.8985 7.72784C16.8249 7.73825 16.7551 7.76723 16.6958 7.81204L14.0698 9.78104C13.9775 9.85029 13.8705 9.89724 13.757 9.91823C13.6435 9.93922 13.5268 9.93368 13.4158 9.90204C12.49 9.63752 11.5086 9.63752 10.5828 9.90204C10.472 9.93368 10.3554 9.93921 10.2421 9.91822C10.1288 9.89722 10.0219 9.85027 9.92982 9.78104L7.30182 7.81004C7.24258 7.7658 7.17305 7.73738 7.09979 7.72747C7.02652 7.71756 6.95194 7.72649 6.88309 7.75341C6.81423 7.78034 6.75337 7.82436 6.70626 7.88134C6.65914 7.93831 6.62733 8.00636 6.61382 8.07904L5.93882 11.731C4.95229 12.7339 4.39953 14.0843 4.39982 15.491V15.824C4.39982 17.298 4.92682 18.724 5.88782 19.844L5.91982 19.882L0.506816 19.883Z" fill="#29E154"/>
|
||||
<path d="M9.21289 16.8431H10.7329V13.2971H9.44289L9.21289 16.8431ZM14.7859 16.8431H13.2659V13.2971H14.5559L14.7859 16.8431Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1003_325088">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
10
packages/ui/icons/macos.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_968_321238)">
|
||||
<path d="M13.2188 7.96882V7.78132C10.7812 7.78132 12.9844 9.37507 13.2188 7.96882ZM14.3438 7.12507C14.6719 6.14069 16.3594 6.04694 16.5469 7.26569H16.0781C15.9375 6.56257 14.7656 6.51569 14.7656 7.78132C14.7656 8.48444 15.8438 8.90632 16.0781 8.06257H16.5469C16.2656 9.60944 13.7812 9.04694 14.3438 7.12507ZM7.5 6.37507H7.96875V6.79694C8.20312 6.23444 9.23438 6.18757 9.42188 6.84382C9.75 6.14069 11.0625 6.18757 11.0625 7.17194V8.90632H10.5469V7.31257C10.5469 6.60944 9.51562 6.60944 9.51562 7.35944V8.90632H9V7.26569C8.8853 6.82694 8.30086 6.73928 8.0625 7.12507L7.96875 7.35944V8.90632H7.5V6.37507ZM8.57812 18.5157C6.375 18.5157 5.01562 16.9688 5.01562 14.4844C5.01562 12.0001 6.375 10.5001 8.57812 10.5001C10.7812 10.5001 12.1875 12.0469 12.1875 14.4844C12.1875 16.9219 10.8281 18.5157 8.57812 18.5157ZM12.7031 8.90632C11.3438 9.23444 11.1562 7.50007 12.5625 7.45319L13.2188 7.40632V7.21882C13.2656 6.65632 12.3281 6.60944 12.1875 7.12507H11.7188C11.7205 7.00934 11.7529 6.89613 11.8125 6.79694C12.1875 6.14069 13.7344 6.14069 13.7344 7.17194V8.90632H13.2656V8.48444C13.2077 8.59107 13.1275 8.68396 13.0304 8.75676C12.9333 8.82957 12.8217 8.88058 12.7031 8.90632ZM15.8906 18.5157C14.2031 18.4219 13.0312 17.6251 12.9375 16.2188H14.0625C15.1406 19.5938 20.9062 15.9844 15.2344 14.8126C14.3438 14.6251 13.6875 14.2032 13.4062 13.6876C11.625 10.2188 18.5156 9.18757 18.7031 12.7501H17.625C17.2969 10.4532 13.0312 11.7188 14.5781 13.3126C15.2344 13.9688 16.5938 13.9219 17.5781 14.3438C19.9219 15.4219 18.7969 18.6094 15.8906 18.5157ZM8.57812 11.4844C7.07812 11.4844 6.14062 12.6563 6.14062 14.4844C6.14062 16.3126 7.07812 17.4844 8.57812 17.4844C10.0781 17.4844 11.0625 16.3594 11.0625 14.4844C11.0625 12.6094 10.125 11.4844 8.57812 11.4844Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_968_321238">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
9
packages/ui/icons/mcprouter.svg
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
22
packages/ui/icons/meta.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_177_2091)">
|
||||
<path d="M2.5879 14.0127C2.5879 14.9291 2.78904 15.6327 3.05195 16.0584C3.39664 16.6159 3.91075 16.8521 4.43488 16.8521C5.11092 16.8521 5.72937 16.6843 6.92118 15.0359C7.87597 13.7148 9.00102 11.8603 9.75801 10.6976L11.04 8.72798C11.9305 7.36006 12.9612 5.83941 14.1431 4.80866C15.1079 3.96738 16.1486 3.5 17.196 3.5C18.9546 3.5 20.6296 4.51905 21.9116 6.43031C23.3145 8.52351 23.9956 11.16 23.9956 13.8809C23.9956 15.4983 23.6768 16.6868 23.1343 17.6257C22.6101 18.5338 21.5886 19.441 19.8701 19.441V16.8521C21.3415 16.8521 21.7088 15.5 21.7088 13.9526C21.7088 11.7476 21.1947 9.30052 20.0621 7.55203C19.2584 6.31181 18.2168 5.55396 17.0708 5.55396C15.8314 5.55396 14.8341 6.48874 13.7132 8.15545C13.1173 9.04096 12.5056 10.1201 11.8187 11.3378L11.0625 12.6773C9.54351 15.3706 9.15876 15.9841 8.39928 16.9964C7.06807 18.7692 5.93133 19.441 4.43488 19.441C2.65968 19.441 1.53712 18.6723 0.841894 17.5139C0.274361 16.57 -0.00439453 15.3314 -0.00439453 13.9201L2.5879 14.0127Z" fill="#0081FB"/>
|
||||
<path d="M2.03516 6.61308C3.22363 4.78112 4.93877 3.5 6.90593 3.5C8.04518 3.5 9.17774 3.83718 10.3604 4.80283C11.654 5.85861 13.0328 7.5971 14.7529 10.4623L15.3697 11.4905C16.8586 13.971 17.7058 15.2471 18.2015 15.8489C18.8392 16.6217 19.2857 16.8521 19.8657 16.8521C21.3371 16.8521 21.7043 15.5 21.7043 13.9526L23.9912 13.8809C23.9912 15.4983 23.6724 16.6868 23.1299 17.6257C22.6057 18.5338 21.5842 19.441 19.8657 19.441C18.7974 19.441 17.851 19.209 16.8044 18.2217C15.9998 17.4638 15.0592 16.1176 14.3356 14.9074L12.1831 11.3119C11.1032 9.5075 10.1125 8.16212 9.53912 7.55284C8.92233 6.8977 8.12946 6.10649 6.8642 6.10649C5.84013 6.10649 4.97047 6.82508 4.2427 7.92426L2.03516 6.61308Z" fill="url(#paint0_linear_177_2091)"/>
|
||||
<path d="M6.86861 6.10649C5.84454 6.10649 4.97488 6.82508 4.24709 7.92426C3.21802 9.47746 2.5879 11.791 2.5879 14.0127C2.5879 14.9291 2.78904 15.6327 3.05195 16.0584L0.841894 17.5139C0.274361 16.57 -0.00439453 15.3314 -0.00439453 13.9201C-0.00439453 11.3537 0.700011 8.67873 2.03956 6.61308C3.22804 4.78111 4.94316 3.5 6.91032 3.5L6.86861 6.10649Z" fill="url(#paint1_linear_177_2091)"/>
|
||||
</g>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_177_2091" x1="3.38795" y1="13.2649" x2="21.4426" y2="14.2616" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0064E1"/>
|
||||
<stop offset="0.4" stop-color="#0064E1"/>
|
||||
<stop offset="0.83" stop-color="#0073EE"/>
|
||||
<stop offset="1" stop-color="#0082FB"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_177_2091" x1="3.75135" y1="15.1011" x2="3.75135" y2="9.00842" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#0082FB"/>
|
||||
<stop offset="1" stop-color="#0064E0"/>
|
||||
</linearGradient>
|
||||
<clipPath id="clip0_177_2091">
|
||||
<rect width="24" height="24" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
22
packages/ui/icons/mineru.svg
Normal file
@@ -0,0 +1,22 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.0548 2.49074C21.0548 3.31406 20.3822 3.98149 19.5525 3.98149C18.7228 3.98149 18.0503 3.31406 18.0503 2.49074C18.0503 1.66743 18.7228 1 19.5525 1C20.3822 1 21.0548 1.66743 21.0548 2.49074Z" fill="url(#paint0_linear_1015_212408)"/>
|
||||
<path d="M21.0548 2.49074C21.0548 3.31406 20.3822 3.98149 19.5525 3.98149C18.7228 3.98149 18.0503 3.31406 18.0503 2.49074C18.0503 1.66743 18.7228 1 19.5525 1C20.3822 1 21.0548 1.66743 21.0548 2.49074Z" fill="black"/>
|
||||
<path d="M15.9473 3.98147C15.9473 4.80478 15.2748 5.47221 14.4451 5.47221C13.6154 5.47221 12.9429 4.80478 12.9429 3.98147C12.9429 3.15815 13.6154 2.49072 14.4451 2.49072C15.2748 2.49072 15.9473 3.15815 15.9473 3.98147Z" fill="url(#paint1_linear_1015_212408)"/>
|
||||
<path d="M15.9473 3.98147C15.9473 4.80478 15.2748 5.47221 14.4451 5.47221C13.6154 5.47221 12.9429 4.80478 12.9429 3.98147C12.9429 3.15815 13.6154 2.49072 14.4451 2.49072C15.2748 2.49072 15.9473 3.15815 15.9473 3.98147Z" fill="black"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.36806 11.0707C7.36806 13.6603 8.64858 15.953 10.6155 17.3595C11.7915 16.3135 12.5314 14.7945 12.5314 13.104V8.92791C12.5314 8.29889 12.9591 7.74908 13.5722 7.58965L21.2525 5.59254C22.1362 5.36278 23 6.02432 23 6.93078V12.0122C23 18.0359 18.0791 22.9191 12.009 22.9191H11.991C5.92085 22.9191 1 18.0359 1 12.0122V8.50531C1 7.874 1.43071 7.32276 2.04686 7.16551L5.62675 6.25188C6.50887 6.02675 7.36806 6.68783 7.36806 7.5917V11.0707ZM2.59324 12.0122C2.59324 14.1092 3.29068 16.0445 4.46793 17.6022C5.01957 18.3321 5.85979 18.8168 6.7747 18.8168C7.64565 18.8168 8.4714 18.6248 9.21139 18.2813C7.11318 16.5706 5.77482 13.9758 5.77483 11.0707V7.84658L2.59324 8.6586V12.0122Z" fill="url(#paint2_linear_1015_212408)"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.36806 11.0707C7.36806 13.6603 8.64858 15.953 10.6155 17.3595C11.7915 16.3135 12.5314 14.7945 12.5314 13.104V8.92791C12.5314 8.29889 12.9591 7.74908 13.5722 7.58965L21.2525 5.59254C22.1362 5.36278 23 6.02432 23 6.93078V12.0122C23 18.0359 18.0791 22.9191 12.009 22.9191H11.991C5.92085 22.9191 1 18.0359 1 12.0122V8.50531C1 7.874 1.43071 7.32276 2.04686 7.16551L5.62675 6.25188C6.50887 6.02675 7.36806 6.68783 7.36806 7.5917V11.0707ZM2.59324 12.0122C2.59324 14.1092 3.29068 16.0445 4.46793 17.6022C5.01957 18.3321 5.85979 18.8168 6.7747 18.8168C7.64565 18.8168 8.4714 18.6248 9.21139 18.2813C7.11318 16.5706 5.77482 13.9758 5.77483 11.0707V7.84658L2.59324 8.6586V12.0122Z" fill="black"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1015_212408" x1="14.8" y1="7.73027" x2="13.4094" y2="20.633" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="1" stop-color="#2E2E2E"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1015_212408" x1="14.8002" y1="7.73025" x2="13.4096" y2="20.633" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="1" stop-color="#2E2E2E"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_1015_212408" x1="14.8001" y1="7.73013" x2="13.4095" y2="20.6329" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="white"/>
|
||||
<stop offset="1" stop-color="#2E2E2E"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
9
packages/ui/icons/minimax.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.9215 3C16.9812 3 17.8401 3.8343 17.8401 4.863V16.1139C17.8474 16.2863 17.9226 16.4491 18.0499 16.5681C18.1771 16.6872 18.3464 16.7531 18.5221 16.752C18.6976 16.7528 18.8667 16.6868 18.9937 16.5678C19.1207 16.4488 19.1958 16.2861 19.2032 16.1139V9.38909C19.2045 9.14562 19.2546 8.90479 19.3508 8.68035C19.4469 8.4559 19.5871 8.25225 19.7634 8.08101C19.9397 7.90977 20.1486 7.77429 20.3782 7.68232C20.6078 7.59035 20.8536 7.54369 21.1016 7.54499C21.3496 7.54369 21.5955 7.59038 21.8252 7.68241C22.0549 7.77444 22.2638 7.90999 22.4401 8.08133C22.6164 8.25266 22.7566 8.45642 22.8527 8.68097C22.9487 8.90551 22.9988 9.14644 23 9.38999V15.2949C22.999 15.4496 22.9355 15.5977 22.8235 15.7065C22.7114 15.8154 22.56 15.8761 22.4023 15.8754C22.3242 15.8759 22.2468 15.8612 22.1744 15.8323C22.102 15.8034 22.0362 15.7608 21.9806 15.7069C21.925 15.6529 21.8808 15.5888 21.8504 15.5181C21.8201 15.4474 21.8042 15.3716 21.8038 15.2949V9.38999C21.8033 9.29993 21.7847 9.21084 21.7492 9.12782C21.7136 9.04479 21.6618 8.96946 21.5966 8.90611C21.5314 8.84276 21.4541 8.79264 21.3692 8.75861C21.2842 8.72459 21.1933 8.70732 21.1016 8.70779C21.0099 8.70732 20.9189 8.72459 20.834 8.75861C20.7491 8.79264 20.6718 8.84276 20.6066 8.90611C20.5414 8.96946 20.4895 9.04479 20.454 9.12782C20.4184 9.21084 20.3999 9.29993 20.3994 9.38999V16.1148C20.3981 16.3555 20.3485 16.5937 20.2534 16.8156C20.1584 17.0375 20.0197 17.2389 19.8454 17.4082C19.6711 17.5775 19.4645 17.7115 19.2374 17.8024C19.0104 17.8934 18.7673 17.9395 18.5221 17.9382C18.2769 17.9395 18.0338 17.8934 17.8067 17.8024C17.5797 17.7115 17.3731 17.5775 17.1988 17.4082C17.0245 17.2389 16.8858 17.0375 16.7907 16.8156C16.6957 16.5937 16.6461 16.3555 16.6447 16.1148V4.8648C16.6372 4.68199 16.5576 4.5092 16.4229 4.3828C16.2882 4.2564 16.1088 4.18625 15.9224 4.1871C15.7361 4.186 15.5566 4.25593 15.4217 4.38217C15.2868 4.5084 15.207 4.68109 15.1992 4.8639L15.1983 19.1775C15.1953 19.6635 14.9959 20.1286 14.6439 20.4703C14.2919 20.8121 13.816 21.0026 13.3209 21C13.0757 21.0013 12.8326 20.9551 12.6056 20.8642C12.3785 20.7733 12.1719 20.6393 11.9976 20.47C11.8233 20.3007 11.6846 20.0993 11.5896 19.8774C11.4945 19.6555 11.4449 19.4173 11.4436 19.1766V17.436C11.4436 17.1156 11.7113 16.8555 12.0413 16.8555C12.3713 16.8555 12.6389 17.1156 12.6389 17.436V19.1766C12.6389 19.4133 12.7691 19.632 12.9799 19.7508C13.1908 19.8687 13.4511 19.8687 13.6619 19.7508C13.7654 19.6932 13.8514 19.6097 13.9113 19.5089C13.9712 19.408 14.0028 19.2933 14.0029 19.1766V4.863C14.0029 3.8343 14.8618 3 15.9215 3ZM10.7203 3C11.78 3 12.6389 3.8343 12.6389 4.863V15.2337C12.6386 15.3103 12.6228 15.3862 12.5926 15.4569C12.5623 15.5275 12.5182 15.5917 12.4627 15.6456C12.4072 15.6995 12.3414 15.7422 12.2691 15.7711C12.1967 15.8 12.1193 15.8147 12.0413 15.8142C11.9632 15.8147 11.8858 15.8 11.8134 15.7711C11.7411 15.7422 11.6753 15.6995 11.6198 15.6456C11.5643 15.5917 11.5202 15.5275 11.4899 15.4569C11.4597 15.3862 11.4439 15.3103 11.4436 15.2337V4.863C11.4424 4.67578 11.3655 4.49669 11.2299 4.36506C11.0943 4.23344 10.911 4.16004 10.7203 4.161C10.5296 4.16004 10.3464 4.23344 10.2108 4.36506C10.0751 4.49669 9.99829 4.67578 9.99708 4.863V17.4747C9.99417 17.9661 9.79268 18.4362 9.43688 18.7819C9.08108 19.1275 8.60009 19.3203 8.09958 19.3179C7.59892 19.3205 7.11769 19.1278 6.76169 18.7822C6.40569 18.4365 6.20408 17.9662 6.20117 17.4747V9.38999C6.20069 9.29993 6.18214 9.21084 6.1466 9.12782C6.11105 9.04479 6.05919 8.96946 5.99399 8.90611C5.92879 8.84276 5.85152 8.79264 5.76658 8.75861C5.68165 8.72459 5.59073 8.70732 5.499 8.70779C5.40727 8.70732 5.31635 8.72459 5.23142 8.75861C5.14648 8.79264 5.06921 8.84276 5.00401 8.90611C4.93881 8.96946 4.88695 9.04479 4.8514 9.12782C4.81586 9.21084 4.79731 9.29993 4.79683 9.38999V12.81C4.79551 13.0535 4.74536 13.2943 4.64924 13.5187C4.55312 13.7432 4.41292 13.9468 4.23663 14.1181C4.06035 14.2893 3.85143 14.4248 3.62182 14.5168C3.39221 14.6087 3.1464 14.6554 2.89842 14.6541C2.65044 14.6554 2.40462 14.6087 2.17501 14.5168C1.9454 14.4248 1.73649 14.2893 1.5602 14.1181C1.38392 13.9468 1.24371 13.7432 1.14759 13.5187C1.05147 13.2943 1.00132 13.0535 1 12.81L1 11.5698C1 11.2485 1.26767 10.9884 1.59767 10.9884C1.92767 10.9884 2.19625 11.2494 2.19625 11.5698V12.81C2.19625 13.1862 2.51067 13.4913 2.89842 13.4913C3.28617 13.4913 3.60058 13.1862 3.60058 12.81V9.38909C3.60349 8.89769 3.80499 8.42753 4.16078 8.08191C4.51658 7.73629 4.99758 7.5435 5.49808 7.54589C5.99874 7.54326 6.47998 7.73595 6.83598 8.08159C7.19197 8.42723 7.39359 8.89753 7.3965 9.38909V17.4747C7.3965 17.8518 7.71092 18.1569 8.09958 18.1569C8.48733 18.1569 8.80175 17.8518 8.80175 17.4747V4.863C8.80175 3.8343 9.66067 3 10.7203 3Z" fill="url(#paint0_linear_1003_325107)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1003_325107" x1="1" y1="12" x2="23" y2="12" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#E2167E"/>
|
||||
<stop offset="1" stop-color="#FE603C"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
12
packages/ui/icons/mistral.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M20.5701 13.7056H17.1411V17.1245H20.5701V13.7056Z" fill="#FA500F"/>
|
||||
<path d="M24.0002 17.1233H13.7144V20.5423H24.0002V17.1233Z" fill="#E10500"/>
|
||||
<path d="M13.7142 13.7056H10.2852V17.1245H13.7142V13.7056Z" fill="#FA500F"/>
|
||||
<path d="M6.85622 13.7056H3.42725V17.1245H6.85622V13.7056Z" fill="#FA500F"/>
|
||||
<path d="M10.2847 17.1233H0V20.5423H10.2847V17.1233Z" fill="#E10500"/>
|
||||
<path d="M20.5712 6.86914H13.7144V10.288H20.5712V6.86914Z" fill="#FFAF00"/>
|
||||
<path d="M10.2841 6.86914H3.42725V10.288H10.2841V6.86914Z" fill="#FFAF00"/>
|
||||
<path d="M20.5688 10.2864H3.42725V13.7053H20.5688V10.2864Z" fill="#FF8205"/>
|
||||
<path d="M20.5701 3.44995H17.1411V6.86886H20.5701V3.44995Z" fill="#FFD800"/>
|
||||
<path d="M6.85622 3.44995H3.42725V6.86886H6.85622V3.44995Z" fill="#FFD800"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 865 B |
9
packages/ui/icons/mixedbread-1.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.16748 11.386H4.41117V13.6131H2.16748V11.386ZM10.8396 13.6139H13.0833V15.841H10.8396V13.6139ZM17.5706 15.841H15.3269V17.7677H19.5117V13.6139H17.5706V15.841Z" fill="#624AFF"/>
|
||||
<path d="M13.0833 11.386H15.3269V13.6131H13.0833V11.386ZM2.16748 9.15894H4.41117V11.386H2.16748V9.15894Z" fill="#36CFD1"/>
|
||||
<path d="M19.5117 11.386H21.7554V13.6131H19.5117V11.386Z" fill="#624AFF"/>
|
||||
<path d="M19.5117 9.15894H21.7554V11.386H19.5117V9.15894Z" fill="#36CFD1"/>
|
||||
<path d="M15.3271 7.23218V9.15884H17.5708V11.3859H19.5119V7.23218H15.3271Z" fill="#624AFF"/>
|
||||
<path d="M8.59619 11.386H10.8399V13.6131H8.59619V11.386Z" fill="#36CFD1"/>
|
||||
<path d="M6.35216 9.15884H8.59585V7.23218H4.41113V11.3859H6.35216V9.15884ZM6.35216 13.6139H4.41113V17.7676H8.59585V15.8409H6.35216V13.6139Z" fill="#624AFF"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 889 B |
75
packages/ui/icons/mixedbread.svg
Normal file
@@ -0,0 +1,75 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325132)">
|
||||
<path d="M5.33654 12.6052C5.32143 12.389 5.29198 12.1726 5.2946 11.9566C5.29847 11.6371 5.36945 11.3285 5.52606 11.0436C5.64028 10.8357 5.78843 10.6525 5.96892 10.4965C6.14747 10.3421 6.3429 10.2093 6.5607 10.1123C6.7265 10.0384 6.89839 9.97835 7.08161 9.9618C7.21022 9.95018 7.34031 9.9351 7.46851 9.9423C7.71936 9.9564 7.96003 10.0193 8.1901 10.1202C8.36697 10.1977 8.53314 10.2918 8.68729 10.4066C8.82885 10.5119 8.95317 10.6335 9.05931 10.773C9.18709 10.941 9.28638 11.1239 9.34234 11.3254C9.38011 11.4615 9.41245 11.6008 9.42706 11.7406C9.44581 11.9202 9.44494 12.1017 9.4514 12.2824C9.45605 12.4126 9.45383 12.5431 9.46356 12.6728C9.48182 12.9163 9.5078 13.1588 9.59208 13.3918C9.65062 13.5536 9.72821 13.7056 9.81912 13.8557C9.75081 13.9311 9.685 14.001 9.62 14.0715C9.60327 14.0897 9.58956 14.1105 9.57368 14.1294C9.50368 14.2128 9.4334 14.296 9.36323 14.3793C9.21228 14.3214 9.06431 14.254 8.90954 14.2085C8.76117 14.1649 8.60685 14.1366 8.45315 14.1153C8.28699 14.0922 8.11878 14.0784 7.95101 14.0723C7.6943 14.0629 7.43719 14.0611 7.18026 14.0614C7.062 14.0615 6.94367 14.0732 6.82554 14.0818C6.76714 14.0861 6.70911 14.0951 6.64622 14.0975C6.61618 14.016 6.58867 13.9396 6.56599 13.8619C6.53214 13.746 6.51888 13.6224 6.42266 13.5317C6.39436 13.505 6.36746 13.475 6.3477 13.4421C6.27837 13.3265 6.21178 13.2093 6.14544 13.0921C6.09994 13.0116 6.05384 12.9394 5.96011 12.895C5.84749 12.8416 5.74732 12.7634 5.64088 12.6973C5.60632 12.6759 5.57103 12.6515 5.53249 12.6411C5.4687 12.6238 5.40201 12.6166 5.33654 12.6052Z" fill="#E95A0F"/>
|
||||
<path d="M17.1081 14.0585C16.9771 14.0589 16.8461 14.0594 16.7101 14.0545C16.7086 13.9639 16.7126 13.8785 16.7151 13.7932C16.7154 13.7807 16.7116 13.7615 16.7033 13.7571C16.6945 13.7525 16.6774 13.7607 16.665 13.7657C16.6557 13.7694 16.648 13.777 16.6259 13.7925C16.6233 13.7573 16.6187 13.7331 16.6202 13.7093C16.6255 13.6292 16.6443 13.5483 16.6372 13.4694C16.6261 13.3478 16.6524 13.3145 16.5028 13.3163C16.4615 13.3168 16.4634 13.2866 16.4666 13.2597C16.472 13.2127 16.4824 13.1662 16.4858 13.1192C16.4892 13.0733 16.4866 13.0271 16.4866 12.9826C16.4588 12.9777 16.4394 12.9735 16.4199 12.9709C16.3718 12.9647 16.354 12.947 16.3647 12.8933C16.3781 12.8266 16.374 12.7567 16.3786 12.6883C16.3807 12.6579 16.3681 12.6408 16.3373 12.6378C16.2925 12.6335 16.2476 12.6266 16.2028 12.6275C16.152 12.6285 16.1463 12.6033 16.1511 12.5636C16.159 12.4975 16.1647 12.4311 16.1715 12.3648C16.175 12.3306 16.1788 12.2965 16.1835 12.2533C16.1192 12.25 16.0621 12.2448 16.005 12.2451C15.9689 12.2452 15.9487 12.2302 15.9444 12.1983C15.9316 12.1031 15.9174 12.0078 15.9117 11.912C15.9089 11.8644 15.8906 11.8514 15.8463 11.8507C15.7452 11.849 15.6442 11.8444 15.5431 11.8406C15.4642 11.8376 15.4327 11.8112 15.42 11.7355C15.4119 11.6869 15.3904 11.6526 15.3353 11.6483C15.251 11.6417 15.1664 11.6378 15.0826 11.6275C15.0028 11.6177 14.9237 11.6018 14.8446 11.5874C14.7899 11.5774 14.7356 11.5652 14.6812 11.554C14.7303 11.3103 14.8241 11.0827 14.9674 10.8788C15.164 10.599 15.4187 10.3771 15.72 10.2066C15.8926 10.1089 16.0744 10.0338 16.2687 9.98785C16.4501 9.94499 16.6348 9.92716 16.82 9.94128C17.183 9.96895 17.5152 10.0895 17.8265 10.2721C17.9993 10.3734 18.1558 10.4936 18.2868 10.6412C18.3752 10.7407 18.4524 10.8512 18.5234 10.9636C18.6407 11.1492 18.7068 11.3557 18.7478 11.5688C18.7673 11.6697 18.7785 11.7728 18.784 11.8754C18.7922 12.0303 18.7922 12.1855 18.7911 12.346C18.6008 12.4203 18.4145 12.4877 18.2297 12.5585C18.145 12.591 18.0571 12.6156 17.9928 12.6899C17.9413 12.7493 17.8767 12.7994 17.8126 12.8467C17.7047 12.9264 17.6118 13.0165 17.5394 13.1296C17.5031 13.1862 17.4533 13.2398 17.3978 13.2786C17.2741 13.3651 17.2083 13.4801 17.1842 13.6229C17.1596 13.7682 17.1335 13.9133 17.1081 14.0585Z" fill="#ED6D7B"/>
|
||||
<path d="M4.46465 15.8022C4.457 15.9901 4.45558 16.1785 4.44008 16.3658C4.42158 16.5893 4.37155 16.8066 4.27897 17.0143C4.18094 17.2343 4.04272 17.4252 3.8597 17.5833C3.68461 17.7346 3.48285 17.8399 3.25706 17.9066C3.02082 17.9763 2.77987 17.9929 2.53811 17.9759C2.2901 17.9586 2.06021 17.877 1.8548 17.7348C1.63455 17.5824 1.4677 17.3853 1.33122 17.1604C1.22679 16.9883 1.15583 16.8041 1.1221 16.608C1.09662 16.4599 1.09697 16.3105 1.11771 16.16C1.14632 15.9525 1.21596 15.7597 1.31335 15.5753C1.43988 15.3356 1.61087 15.1312 1.84029 14.9793C2.01258 14.8653 2.20462 14.7916 2.41146 14.7621C2.50698 14.7485 2.60419 14.7446 2.70081 14.7403C2.82884 14.7345 2.95713 14.7343 3.08515 14.7285C3.17821 14.7242 3.27102 14.7148 3.37042 14.7107C3.38511 14.7295 3.39482 14.7447 3.4013 14.761C3.45278 14.8913 3.51647 15.0145 3.60426 15.1259C3.68863 15.233 3.76577 15.3456 3.85148 15.4516C3.89417 15.5044 3.94264 15.5573 3.9997 15.5934C4.08368 15.6464 4.17654 15.6867 4.2678 15.7279C4.33153 15.7566 4.3989 15.7777 4.46465 15.8022Z" fill="#EC663E"/>
|
||||
<path d="M14.9971 7.73083C15.0384 7.41491 15.1476 7.12721 15.3536 6.87514C15.5316 6.6574 15.7459 6.48751 16.0038 6.36951C16.1635 6.29643 16.3302 6.24559 16.507 6.23413C16.6167 6.22702 16.7275 6.21732 16.8366 6.22496C17.0173 6.23761 17.1921 6.28243 17.3582 6.35529C17.5694 6.44792 17.7551 6.57587 17.9091 6.74455C18.0756 6.9268 18.1848 7.13937 18.2521 7.37413C18.311 7.57954 18.3208 7.79 18.3033 7.99883C18.2775 8.30727 18.1744 8.5927 17.9717 8.83654C17.8572 8.97423 17.7268 9.09657 17.5668 9.19388C17.5093 9.13428 17.4578 9.0755 17.4084 9.01499C17.3468 8.93939 17.2891 8.86065 17.2257 8.78653C17.1759 8.72836 17.1217 8.67355 17.0664 8.62024C17.0273 8.58256 16.9857 8.5463 16.9406 8.51588C16.8857 8.47887 16.8255 8.44947 16.7685 8.41534C16.6764 8.36016 16.5833 8.31266 16.4746 8.28899C16.342 8.2601 16.2041 8.24036 16.0866 8.16331C16.071 8.15305 16.0493 8.15065 16.0299 8.14694C15.8897 8.12009 15.7526 8.08705 15.6272 8.0145C15.5705 7.98168 15.5013 7.96996 15.442 7.94054C15.3896 7.91457 15.3464 7.8704 15.2934 7.84655C15.1969 7.80317 15.0961 7.7689 14.9971 7.73083Z" fill="#EA580E"/>
|
||||
<path d="M6.71733 9.30394C6.61429 9.24357 6.50481 9.19146 6.40973 9.1209C6.26948 9.01681 6.14801 8.89175 6.05348 8.74484C5.93071 8.55407 5.83996 8.35036 5.81494 8.12463C5.80087 7.99771 5.78844 7.86899 5.79458 7.74197C5.80354 7.55664 5.84804 7.37705 5.9207 7.20353C6.01677 6.97411 6.16303 6.78096 6.35164 6.61877C6.54791 6.44998 6.77815 6.34192 7.03071 6.27542C7.24005 6.2203 7.45375 6.20983 7.66643 6.22578C7.92567 6.24522 8.16262 6.33902 8.37503 6.48592C8.56228 6.61542 8.72015 6.77356 8.8422 6.9704C8.718 7.05849 8.5957 7.14155 8.4709 7.22087C8.28473 7.33918 8.09775 7.45562 7.94773 7.61939C7.85193 7.72398 7.76039 7.8344 7.65224 7.92563C7.46863 8.08051 7.35007 8.28458 7.20512 8.46742C7.0759 8.63042 6.98008 8.8191 6.87453 8.99924C6.81677 9.09782 6.76939 9.20218 6.71733 9.30394Z" fill="#F8AB00"/>
|
||||
<path d="M12.546 17.9157C12.4656 17.9332 12.3861 17.9591 12.3048 17.9662C12.1793 17.9772 12.0525 17.9815 11.9266 17.9774C11.7159 17.9705 11.5127 17.9275 11.3185 17.8431C11.1542 17.7717 11.0069 17.6788 10.8766 17.5581C10.6151 17.3159 10.4186 17.0354 10.3373 16.688C10.3215 16.6207 10.316 16.5504 10.3129 16.4811C10.3065 16.3333 10.3106 16.1848 10.2995 16.0373C10.2895 15.9046 10.2651 15.7728 10.2515 15.6358C10.2684 15.6212 10.2856 15.6138 10.2926 15.6011C10.3441 15.5078 10.4248 15.4401 10.5004 15.3672C10.5645 15.3054 10.6168 15.2316 10.6834 15.1729C10.7595 15.1056 10.8125 15.0285 10.8398 14.9328C10.8701 14.8264 10.9018 14.7204 10.9328 14.6143C11.0201 14.6332 11.1069 14.6548 11.1949 14.6704C11.2836 14.6861 11.3731 14.6979 11.4628 14.7075C11.5549 14.7173 11.6475 14.7224 11.7448 14.7352C11.757 14.9061 11.7619 15.0715 11.7722 15.2366C11.7796 15.3539 11.7874 15.4719 11.8074 15.5875C11.8338 15.7396 11.8696 15.8904 11.9063 16.0407C11.9444 16.1968 11.9501 16.3585 12.0197 16.5099C12.1303 16.7507 12.2189 17.0011 12.3277 17.2427C12.4059 17.4162 12.4638 17.5929 12.4919 17.7802C12.499 17.8269 12.5274 17.8706 12.546 17.9157Z" fill="#EA5227"/>
|
||||
<path d="M12.5502 17.9155C12.5272 17.8706 12.4988 17.8269 12.4917 17.7802C12.4636 17.5929 12.4057 17.4163 12.3275 17.2427C12.2187 17.0011 12.1301 16.7507 12.0195 16.5099C11.95 16.3585 11.9442 16.1969 11.9061 16.0407C11.8694 15.8905 11.8336 15.7397 11.8072 15.5875C11.7872 15.4719 11.7794 15.3539 11.772 15.2366C11.7617 15.0715 11.7568 14.9061 11.7495 14.7359C11.8428 14.734 11.9363 14.7411 12.0295 14.739C12.18 14.7355 12.3303 14.726 12.4854 14.7241C12.4953 14.7639 12.499 14.7989 12.5059 14.8332C12.5365 14.9846 12.5662 15.1361 12.6001 15.2867C12.61 15.3304 12.6256 15.3762 12.6513 15.4124C12.7293 15.5221 12.8126 15.6285 12.8959 15.7346C12.9418 15.7931 12.9862 15.8547 13.0414 15.904C13.1355 15.9882 13.2381 16.0633 13.3362 16.1433C13.467 16.2501 13.6025 16.3483 13.7735 16.386C13.7555 16.5039 13.7474 16.6243 13.7172 16.7391C13.665 16.9371 13.5823 17.1237 13.4622 17.2937C13.32 17.4948 13.1454 17.6617 12.9217 17.7721C12.8045 17.8299 12.6773 17.8682 12.5502 17.9155Z" fill="#EA5330"/>
|
||||
<path d="M22.6633 15.3872C22.7199 15.4806 22.7881 15.5693 22.8303 15.6685C22.8883 15.8048 22.9365 15.9468 22.9705 16.0905C23.0027 16.226 23.0056 16.3656 22.9922 16.507C22.977 16.666 22.9416 16.8178 22.8795 16.964C22.8166 17.1119 22.7327 17.2476 22.6274 17.3718C22.4733 17.5535 22.2874 17.6953 22.074 17.8018C21.9176 17.8799 21.7519 17.9377 21.5758 17.9568C21.4637 17.9689 21.35 17.9818 21.2379 17.9769C20.9735 17.9652 20.7233 17.8978 20.4958 17.7617C20.4295 17.722 20.366 17.6776 20.3027 17.6306C20.3607 17.5714 20.4156 17.5154 20.4737 17.4627C20.6074 17.3415 20.7426 17.2218 20.8774 17.1016C20.888 17.0921 20.9004 17.0845 20.9109 17.075C20.9865 17.0065 21.0718 16.9454 21.1348 16.8673C21.2315 16.7475 21.3533 16.6587 21.474 16.5669C21.5209 16.5311 21.5727 16.4994 21.612 16.4569C21.6759 16.3878 21.73 16.3102 21.7909 16.2383C21.8652 16.1505 21.9404 16.0633 22.019 15.9792C22.0632 15.9318 22.1169 15.8929 22.1633 15.8472C22.3245 15.6882 22.4766 15.5199 22.6633 15.3872Z" fill="#F8AA05"/>
|
||||
<path d="M14.6804 11.5583C14.7355 11.5652 14.7898 11.5773 14.8445 11.5873C14.9236 11.6018 15.0027 11.6176 15.0825 11.6274C15.1663 11.6377 15.251 11.6417 15.3353 11.6483C15.3904 11.6526 15.4118 11.6868 15.42 11.7354C15.4326 11.8112 15.4642 11.8376 15.543 11.8405C15.6441 11.8444 15.7452 11.849 15.8463 11.8507C15.8906 11.8514 15.9088 11.8644 15.9117 11.912C15.9173 12.0077 15.9316 12.1031 15.9444 12.1983C15.9486 12.2301 15.9688 12.2452 16.005 12.245C16.062 12.2447 16.1191 12.25 16.1834 12.2533C16.1788 12.2964 16.1749 12.3306 16.1714 12.3647C16.1646 12.431 16.159 12.4974 16.151 12.5636C16.1462 12.6033 16.152 12.6284 16.2027 12.6274C16.2475 12.6266 16.2925 12.6335 16.3373 12.6378C16.368 12.6408 16.3807 12.6579 16.3786 12.6883C16.3739 12.7567 16.378 12.8266 16.3647 12.8933C16.354 12.947 16.3718 12.9647 16.4199 12.9709C16.4394 12.9734 16.4587 12.9776 16.4865 12.9826C16.4865 13.027 16.4892 13.0733 16.4858 13.1191C16.4823 13.1662 16.4719 13.2127 16.4665 13.2597C16.4634 13.2865 16.4615 13.3168 16.5028 13.3163C16.6523 13.3144 16.626 13.3478 16.6371 13.4694C16.6443 13.5482 16.6255 13.6292 16.6202 13.7093C16.6186 13.7331 16.6232 13.7573 16.6258 13.7924C16.6479 13.777 16.6556 13.7694 16.6649 13.7656C16.6774 13.7606 16.6945 13.7524 16.7032 13.757C16.7116 13.7614 16.7154 13.7806 16.715 13.7931C16.7126 13.8785 16.7086 13.9638 16.705 14.0537C16.5829 14.0624 16.4605 14.0633 16.3387 14.0715C16.1805 14.0822 16.0227 14.0988 15.86 14.108C15.8482 14.076 15.8347 14.0488 15.835 14.0217C15.8359 13.923 15.7863 13.8456 15.736 13.7656C15.6938 13.6987 15.6405 13.627 15.6327 13.5534C15.6211 13.443 15.5705 13.3842 15.4706 13.3518C15.4586 13.348 15.4471 13.3429 15.4356 13.3378C15.3542 13.3013 15.2663 13.2749 15.228 13.1813C15.2182 13.1572 15.1882 13.1412 15.1686 13.1205C15.142 13.0926 15.1183 13.0618 15.0901 13.0357C15.0612 13.009 15.0318 12.9789 14.9965 12.9637C14.9442 12.9412 14.8868 12.9299 14.8312 12.9149C14.7741 12.8995 14.7166 12.8854 14.6593 12.8708C14.6623 12.7338 14.6781 12.5957 14.6652 12.4602C14.6473 12.2714 14.6276 12.083 14.6374 11.8936C14.6431 11.7829 14.665 11.673 14.6804 11.5583Z" fill="#ED6876"/>
|
||||
<path d="M6.71924 9.30734C6.7693 9.20223 6.81668 9.09787 6.87444 8.99929C6.97999 8.81915 7.07581 8.63047 7.20503 8.46747C7.34998 8.28462 7.46854 8.08056 7.65215 7.92567C7.7603 7.83444 7.85184 7.72402 7.94764 7.61944C8.09766 7.45567 8.28464 7.33923 8.47081 7.22091C8.59561 7.1416 8.71791 7.05854 8.84375 6.97363C8.97124 7.15144 9.05849 7.34982 9.08918 7.56532C9.11347 7.73593 9.11352 7.90982 9.11916 8.08719C9.06737 8.1044 9.01805 8.11092 8.97476 8.13026C8.90472 8.16157 8.84196 8.21005 8.77029 8.23584C8.55396 8.3137 8.4021 8.47318 8.24832 8.62647C8.16272 8.7118 8.10117 8.82054 8.03174 8.92068C7.98345 8.99032 7.92997 9.05912 7.89715 9.13577C7.85088 9.24384 7.82157 9.35882 7.78501 9.47085C7.65073 9.47141 7.51556 9.48176 7.38236 9.47033C7.16172 9.4514 6.94424 9.41121 6.74246 9.31433C6.73627 9.31136 6.72835 9.31183 6.71924 9.30734Z" fill="#F6A200"/>
|
||||
<path d="M22.6629 15.3833C22.4767 15.5197 22.3246 15.6881 22.1634 15.8471C22.117 15.8928 22.0633 15.9316 22.0191 15.979C21.9405 16.0631 21.8653 16.1504 21.791 16.2381C21.7301 16.31 21.676 16.3876 21.6121 16.4567C21.5728 16.4992 21.521 16.531 21.4741 16.5667C21.3534 16.6586 21.2316 16.7473 21.1349 16.8672C21.0719 16.9453 20.9866 17.0064 20.9111 17.0748C20.9005 17.0844 20.8881 17.092 20.8775 17.1014C20.7427 17.2216 20.6075 17.3413 20.4738 17.4626C20.4157 17.5153 20.3608 17.5713 20.301 17.6273C20.068 17.4444 19.8931 17.2191 19.7715 16.952C19.8096 16.933 19.849 16.9243 19.8785 16.9027C19.9732 16.8333 20.1006 16.8134 20.1758 16.7146C20.1859 16.7012 20.2046 16.6936 20.22 16.6846C20.4147 16.57 20.6158 16.4644 20.8021 16.3381C20.9143 16.262 21.005 16.1551 21.1025 16.0592C21.1441 16.0183 21.1834 15.9733 21.2146 15.9246C21.3484 15.7156 21.4807 15.5057 21.6544 15.3249C21.7876 15.1863 21.8424 15.0113 21.8999 14.8372C22.0725 14.8817 22.2247 14.966 22.3642 15.0716C22.4795 15.1589 22.5797 15.2615 22.6629 15.3833Z" fill="#F7A80D"/>
|
||||
<path d="M17.1128 14.0593C17.1332 13.9134 17.1593 13.7684 17.1839 13.6231C17.208 13.4802 17.2738 13.3652 17.3975 13.2788C17.453 13.2399 17.5028 13.1864 17.5391 13.1297C17.6114 13.0167 17.7044 12.9265 17.8122 12.8469C17.8764 12.7995 17.9409 12.7494 17.9925 12.69C18.0568 12.6158 18.1447 12.5912 18.2294 12.5587C18.4142 12.4878 18.6004 12.4204 18.79 12.3511C18.7982 12.4769 18.7972 12.6037 18.8079 12.7295C18.8272 12.9563 18.8523 13.1827 18.9359 13.3981C18.9377 13.4028 18.937 13.4085 18.9357 13.421C18.86 13.4649 18.7847 13.4989 18.7131 13.5393C18.6702 13.5635 18.6287 13.5934 18.5947 13.6283C18.5293 13.6957 18.4742 13.773 18.4064 13.8378C18.3074 13.9326 18.2671 14.0575 18.2084 14.1733C18.2062 14.1776 18.2077 14.1837 18.2074 14.189C18.1149 14.1707 18.0229 14.1499 17.9299 14.1349C17.8244 14.1179 17.7184 14.1021 17.6119 14.093C17.4475 14.0788 17.2826 14.0707 17.1128 14.0593Z" fill="#EF7A72"/>
|
||||
<path d="M11.4339 14.1435C11.2124 14.0854 11.0114 13.9848 10.8272 13.8541C10.7379 13.7907 10.6589 13.7135 10.5771 13.6378C10.6095 13.6005 10.6377 13.5658 10.6708 13.5362C10.748 13.467 10.7937 13.3778 10.8429 13.2903C10.8966 13.1948 10.9555 13.1019 11.0059 13.0047C11.0346 12.9492 11.0663 12.8878 11.0678 12.8283C11.0691 12.779 11.07 12.7335 11.0959 12.693C11.1887 12.5484 11.2645 12.3954 11.3004 12.2289C11.3234 12.1222 11.3863 12.0296 11.3855 11.9122C11.3848 11.8157 11.4322 11.7188 11.4587 11.6221C11.4937 11.4949 11.539 11.3694 11.5621 11.2402C11.597 11.0452 11.618 10.8478 11.6421 10.6512C11.662 10.4893 11.6777 10.3269 11.6953 10.1648C11.7682 10.1678 11.8411 10.1709 11.919 10.1793C11.9204 10.216 11.9145 10.2473 11.9136 10.2788C11.9091 10.4296 11.9092 10.5805 11.9012 10.7311C11.8947 10.8538 11.8787 10.976 11.8676 11.0985C11.8534 11.2559 11.8406 11.4134 11.8257 11.5708C11.8155 11.6791 11.8064 11.7878 11.79 11.8953C11.7795 11.9639 11.7414 12.0296 11.7776 12.1011C11.7814 12.1086 11.773 12.1212 11.7727 12.1315C11.7703 12.2369 11.7075 12.3379 11.7488 12.4464C11.7499 12.4493 11.7484 12.4533 11.7478 12.4568C11.7173 12.6204 11.6877 12.7841 11.6558 12.9475C11.6424 13.0162 11.6238 13.0839 11.6083 13.1522C11.5919 13.224 11.5799 13.2969 11.5598 13.3675C11.5205 13.5049 11.4437 13.6362 11.4985 13.7867C11.5025 13.7977 11.501 13.8117 11.4987 13.8236C11.4775 13.9303 11.4556 14.0369 11.4339 14.1435Z" fill="#E94E3B"/>
|
||||
<path d="M11.4375 14.1453C11.4554 14.0368 11.4774 13.9302 11.4985 13.8235C11.5009 13.8116 11.5023 13.7976 11.4983 13.7866C11.4435 13.6361 11.5204 13.5048 11.5596 13.3674C11.5798 13.2968 11.5918 13.2239 11.6081 13.1521C11.6237 13.0838 11.6423 13.0161 11.6557 12.9474C11.6875 12.784 11.7172 12.6203 11.7477 12.4567C11.7483 12.4532 11.7498 12.4492 11.7487 12.4463C11.7073 12.3378 11.7701 12.2368 11.7726 12.1314C11.7728 12.1211 11.7813 12.1085 11.7775 12.101C11.7413 12.0295 11.7794 11.9638 11.7898 11.8952C11.8062 11.7877 11.8154 11.679 11.8256 11.5707C11.8404 11.4133 11.8532 11.2558 11.8675 11.0984C11.8785 10.9759 11.8946 10.8537 11.901 10.731C11.909 10.5804 11.9089 10.4295 11.9134 10.2787C11.9144 10.2472 11.9202 10.2159 11.9238 10.1799C11.9822 10.1748 12.0405 10.1743 12.1039 10.1791C12.1281 10.3394 12.1241 10.4948 12.1216 10.6506C12.1199 10.7575 12.1373 10.8645 12.1409 10.9717C12.1445 11.0804 12.1405 11.1893 12.1421 11.298C12.1431 11.3587 12.1507 11.4193 12.1515 11.48C12.1521 11.5255 12.1464 11.5711 12.1439 11.6167C12.1431 11.6308 12.1424 11.645 12.1435 11.6589C12.1536 11.7797 12.164 11.9005 12.1711 12.0243C12.1628 12.1548 12.1578 12.2823 12.1525 12.4097C12.1454 12.5821 12.1357 12.7544 12.1318 12.9268C12.1298 13.0128 12.1426 13.0992 12.1406 13.1853C12.1376 13.3135 12.1267 13.4416 12.1211 13.5698C12.12 13.5954 12.12 13.6259 12.1327 13.6464C12.1798 13.7231 12.1813 13.808 12.1843 13.8918C12.1882 14.0038 12.1852 14.1161 12.1852 14.2283C12.0606 14.256 11.9364 14.2356 11.8137 14.2186C11.6887 14.2012 11.5654 14.1715 11.4375 14.1453Z" fill="#EA5043"/>
|
||||
<path d="M5.33548 12.6101C5.40176 12.6167 5.46845 12.6238 5.53224 12.6411C5.57078 12.6516 5.60607 12.6759 5.64063 12.6974C5.74707 12.7634 5.84724 12.8416 5.95986 12.895C6.05359 12.9394 6.09969 13.0117 6.14519 13.0921C6.21153 13.2093 6.27812 13.3265 6.34745 13.4421C6.36721 13.475 6.39412 13.5051 6.42241 13.5317C6.51863 13.6224 6.53189 13.746 6.56574 13.862C6.58842 13.9397 6.61593 14.016 6.64139 14.0969C6.32041 14.129 5.99915 14.1562 5.6875 14.2586C5.67459 14.2341 5.66795 14.2123 5.65734 14.1924C5.60945 14.1027 5.58434 13.9994 5.49461 13.9344C5.46726 13.9145 5.43903 13.8938 5.41785 13.8683C5.32683 13.7586 5.2324 13.653 5.10449 13.5819C5.15267 13.46 5.20577 13.3397 5.24772 13.2158C5.29571 13.074 5.32096 12.9272 5.32393 12.7771C5.325 12.723 5.33094 12.669 5.33548 12.6101Z" fill="#EB5D19"/>
|
||||
<path d="M11.69 10.1639C11.6772 10.3267 11.6615 10.4891 11.6417 10.651C11.6176 10.8477 11.5965 11.045 11.5616 11.24C11.5385 11.3692 11.4933 11.4947 11.4583 11.622C11.4317 11.7186 11.3843 11.8155 11.385 11.912C11.3858 12.0294 11.3229 12.122 11.2999 12.2287C11.2641 12.3952 11.1882 12.5482 11.0954 12.6928C11.0695 12.7333 11.0687 12.7788 11.0674 12.8282C11.0658 12.8876 11.0342 12.949 11.0054 13.0046C10.955 13.1017 10.8961 13.1946 10.8424 13.2901C10.7932 13.3776 10.7475 13.4668 10.6703 13.536C10.6373 13.5656 10.609 13.6004 10.5752 13.6343C10.4423 13.5218 10.3457 13.3832 10.2561 13.2388C10.1732 13.1053 10.1114 12.9631 10.064 12.8101C10.2088 12.7369 10.3457 12.6627 10.4485 12.5413C10.4564 12.532 10.4696 12.5273 10.4781 12.5185C10.5328 12.4611 10.5926 12.4072 10.6398 12.3443C10.7067 12.2554 10.7581 12.1552 10.8272 12.0681C10.9168 11.9554 10.976 11.8277 11.0453 11.7021C11.0938 11.6955 11.1186 11.668 11.1337 11.629C11.1495 11.5879 11.1625 11.5451 11.1839 11.5069C11.2318 11.4214 11.2889 11.3406 11.3332 11.2535C11.3697 11.1817 11.3932 11.1036 11.4225 11.0283C11.4849 10.8682 11.5018 10.6965 11.5589 10.5337C11.5992 10.4187 11.5931 10.2882 11.6077 10.1646C11.6335 10.1641 11.6593 10.1636 11.69 10.1639Z" fill="#E94C32"/>
|
||||
<path d="M21.8962 14.8353C21.8424 15.0114 21.7876 15.1863 21.6545 15.3249C21.4807 15.5057 21.3484 15.7156 21.2147 15.9246C21.1835 15.9733 21.1441 16.0183 21.1025 16.0593C21.0051 16.1552 20.9143 16.262 20.8021 16.3381C20.6158 16.4645 20.4148 16.5701 20.2201 16.6846C20.2046 16.6937 20.1859 16.7013 20.1758 16.7146C20.1006 16.8135 19.9732 16.8333 19.8785 16.9027C19.849 16.9243 19.8097 16.9331 19.771 16.9482C19.7338 16.8439 19.6956 16.7402 19.669 16.6338C19.6523 16.5671 19.653 16.4963 19.6509 16.4224C19.6717 16.4141 19.6876 16.4111 19.7033 16.4072C19.8756 16.3634 20.0462 16.3219 20.1805 16.1914C20.2834 16.0913 20.4024 16.0069 20.513 15.9142C20.58 15.8582 20.6549 15.8075 20.7086 15.7409C20.8699 15.5407 21.0231 15.3343 21.1781 15.1294C21.2067 15.0916 21.2381 15.0522 21.2525 15.0087C21.2817 14.9204 21.3001 14.8288 21.323 14.7385C21.5179 14.7415 21.7078 14.7723 21.8962 14.8353Z" fill="#F7A617"/>
|
||||
<path d="M13.7744 16.3814C13.6026 16.3482 13.4671 16.25 13.3363 16.1432C13.2383 16.0632 13.1356 15.9881 13.0415 15.904C12.9863 15.8546 12.9419 15.793 12.896 15.7345C12.8127 15.6284 12.7294 15.5221 12.6514 15.4123C12.6257 15.3761 12.6101 15.3303 12.6003 15.2867C12.5663 15.136 12.5366 14.9845 12.5061 14.8332C12.4991 14.7988 12.4954 14.7638 12.4902 14.7247C12.6561 14.7015 12.8221 14.6826 12.9957 14.665C13.025 14.7256 13.0488 14.7842 13.0679 14.8443C13.0995 14.9439 13.1526 15.0268 13.2316 15.0996C13.3085 15.1704 13.3765 15.2516 13.4402 15.3343C13.5437 15.4689 13.6908 15.5367 13.8421 15.6004C13.8307 15.6794 13.8157 15.7581 13.8087 15.8375C13.7983 15.9561 13.7936 16.0751 13.7864 16.1939C13.7827 16.2549 13.779 16.3159 13.7744 16.3814Z" fill="#EA553A"/>
|
||||
<path d="M13.6676 13.4764C13.624 13.5307 13.5839 13.5882 13.5361 13.6388C13.3963 13.7868 13.235 13.909 13.0471 14.0056C13.0126 13.945 12.9855 13.8857 12.9579 13.8224C12.9217 13.6858 12.8897 13.5523 12.8494 13.4212C12.7993 13.2584 12.734 13.1006 12.7258 12.9268C12.7224 12.8538 12.7119 12.775 12.6483 12.7181C12.6369 12.7079 12.6342 12.6857 12.6324 12.6686C12.6169 12.5273 12.6031 12.3858 12.5878 12.2445C12.5818 12.1888 12.5836 12.1295 12.5637 12.0786C12.5243 11.9777 12.5142 11.8742 12.5127 11.7689C12.5117 11.7041 12.5243 11.6388 12.5212 11.5741C12.5139 11.4225 12.502 11.271 12.4896 11.1196C12.4824 11.0323 12.4684 10.9455 12.4617 10.8582C12.4567 10.793 12.4586 10.7273 12.4605 10.6648C12.471 10.7267 12.4723 10.7872 12.487 10.8444C12.5089 10.9292 12.5439 11.0107 12.5668 11.0953C12.6019 11.2252 12.5836 11.3631 12.64 11.492C12.687 11.5992 12.7096 11.7165 12.746 11.8283C12.7703 11.9029 12.8132 11.974 12.8236 12.0499C12.8358 12.1388 12.89 12.1983 12.9366 12.2698C12.944 12.3102 12.9518 12.3461 12.9587 12.3822C12.9773 12.48 12.993 12.5763 13.0512 12.6646C13.1208 12.7702 13.1748 12.8857 13.2357 12.9968C13.2795 13.0766 13.3032 13.1675 13.3765 13.2311C13.4661 13.3089 13.5538 13.3889 13.6429 13.4675C13.6489 13.4728 13.6593 13.4735 13.6676 13.4764Z" fill="#EA5453"/>
|
||||
<path d="M14.9959 7.7356C15.0957 7.76902 15.1965 7.80329 15.293 7.84667C15.3461 7.87052 15.3893 7.91469 15.4416 7.94066C15.501 7.97008 15.5702 7.9818 15.6269 8.01462C15.7523 8.08717 15.8893 8.12021 16.0295 8.14706C16.0489 8.15077 16.0707 8.15317 16.0863 8.16343C16.2038 8.24048 16.3417 8.26022 16.4743 8.28911C16.5829 8.31278 16.6761 8.36028 16.7682 8.41546C16.8252 8.44959 16.8854 8.47899 16.9403 8.516C16.9853 8.54642 17.027 8.58268 17.0661 8.62036C17.1213 8.67367 17.1756 8.72848 17.2253 8.78665C17.2887 8.86077 17.3464 8.93951 17.4081 9.01511C17.4574 9.07562 17.509 9.1344 17.563 9.1955C17.454 9.25715 17.3444 9.32297 17.2284 9.37543C17.1446 9.41332 17.0524 9.43345 16.9595 9.45687C16.9282 9.3816 16.9012 9.31095 16.8742 9.24032C16.8655 9.21748 16.8607 9.192 16.847 9.17239C16.7975 9.10124 16.7412 9.03435 16.6944 8.96162C16.6218 8.84877 16.5274 8.7606 16.4106 8.69215C16.3087 8.63242 16.2105 8.56658 16.1095 8.50539C16.0394 8.46294 15.969 8.42037 15.8954 8.38427C15.8396 8.3569 15.7744 8.34673 15.7206 8.31663C15.5334 8.21189 15.338 8.12668 15.1322 8.06423C15.0842 8.04969 15.0347 8.04016 14.9858 8.02832C14.9889 7.93229 14.992 7.83626 14.9959 7.7356Z" fill="#EA5B15"/>
|
||||
<path d="M12.9584 13.8265C12.9856 13.8857 13.0127 13.9449 13.0433 14.0059C12.8795 14.1043 12.6982 14.1652 12.5076 14.197C12.4045 14.2141 12.2993 14.2192 12.1901 14.229C12.1851 14.1161 12.1881 14.0038 12.1842 13.8917C12.1812 13.8079 12.1797 13.723 12.1326 13.6464C12.12 13.6258 12.1199 13.5953 12.1211 13.5697C12.1266 13.4415 12.1376 13.3134 12.1405 13.1852C12.1425 13.0991 12.1297 13.0128 12.1317 12.9267C12.1357 12.7543 12.1453 12.582 12.1525 12.4096C12.1577 12.2822 12.1627 12.1548 12.174 12.0266C12.2347 12.1348 12.2898 12.2435 12.3431 12.3529C12.3554 12.378 12.3713 12.407 12.3686 12.4324C12.3519 12.5898 12.4327 12.7175 12.5098 12.8395C12.6188 13.012 12.6886 13.1957 12.7312 13.3913C12.7561 13.5055 12.7827 13.6185 12.8614 13.7117C12.8938 13.7499 12.9261 13.7882 12.9584 13.8265Z" fill="#EA504B"/>
|
||||
<path d="M21.3202 14.7348C21.3001 14.8287 21.2816 14.9204 21.2524 15.0086C21.238 15.0522 21.2066 15.0916 21.1781 15.1293C21.023 15.3342 20.8698 15.5407 20.7085 15.7408C20.6548 15.8074 20.5799 15.8581 20.513 15.9142C20.4023 16.0068 20.2834 16.0912 20.1804 16.1913C20.0462 16.3219 19.8755 16.3634 19.7032 16.4071C19.6876 16.4111 19.6717 16.414 19.6515 16.4176C19.6395 16.2367 19.6318 16.0557 19.6289 15.8701C19.6427 15.8644 19.6527 15.8656 19.6604 15.862C19.7758 15.8081 19.8869 15.7445 20.0153 15.721C20.0337 15.7177 20.0513 15.7045 20.0668 15.6928C20.1649 15.6186 20.263 15.5443 20.3598 15.4685C20.4142 15.426 20.482 15.39 20.5165 15.3349C20.6394 15.1384 20.76 14.9392 20.8108 14.7097C20.9417 14.7162 21.0725 14.7229 21.2034 14.729C21.2414 14.7307 21.2795 14.7304 21.3202 14.7348Z" fill="#F6A320"/>
|
||||
<path d="M4.46846 15.7999C4.39903 15.7778 4.33166 15.7568 4.26793 15.728C4.17668 15.6869 4.08381 15.6465 3.99983 15.5935C3.94277 15.5575 3.8943 15.5045 3.85161 15.4517C3.7659 15.3457 3.68876 15.2331 3.60439 15.126C3.5166 15.0146 3.45291 14.8914 3.40143 14.7612C3.39495 14.7448 3.38524 14.7296 3.37549 14.7104C3.44998 14.6934 3.52575 14.6783 3.6021 14.6668C3.80742 14.6358 3.99889 14.566 4.18735 14.4775C4.19494 14.487 4.19703 14.4941 4.20142 14.4993C4.26622 14.577 4.33062 14.6551 4.39661 14.7318C4.44169 14.7843 4.48439 14.8401 4.53669 14.8849C4.59844 14.9378 4.6694 14.9805 4.73636 15.0277C4.63903 15.2006 4.55751 15.38 4.51097 15.5726C4.49312 15.6464 4.4848 15.7224 4.46846 15.7999Z" fill="#EC6333"/>
|
||||
<path d="M7.79004 9.47151C7.82155 9.35874 7.85085 9.24376 7.89713 9.13569C7.92994 9.05904 7.98343 8.99025 8.03171 8.9206C8.10115 8.82046 8.16269 8.71172 8.2483 8.62639C8.40208 8.4731 8.55394 8.31362 8.77026 8.23577C8.84194 8.20997 8.9047 8.16149 8.97473 8.13019C9.01802 8.11084 9.06734 8.10432 9.11835 8.09204C9.13955 8.2891 9.15373 8.48655 9.20882 8.6834C9.04052 8.76763 8.89458 8.87553 8.76816 9.00194C8.65471 9.11539 8.56004 9.24737 8.46307 9.37548C8.42781 9.42208 8.40984 9.48112 8.38398 9.53449C8.19009 9.49215 7.99445 9.46549 7.79004 9.47151Z" fill="#F49700"/>
|
||||
<path d="M12.958 13.8225C12.9261 13.7883 12.8938 13.75 12.8614 13.7118C12.7827 13.6186 12.7561 13.5056 12.7312 13.3914C12.6886 13.1958 12.6188 13.0121 12.5098 12.8396C12.4327 12.7176 12.3519 12.5899 12.3686 12.4325C12.3713 12.4071 12.3554 12.3781 12.3431 12.353C12.2898 12.2436 12.2347 12.1349 12.1772 12.0236C12.1639 11.9005 12.1535 11.7798 12.1435 11.659C12.1423 11.645 12.143 11.6308 12.1438 11.6168C12.1463 11.5712 12.152 11.5255 12.1514 11.48C12.1507 11.4193 12.143 11.3587 12.1421 11.2981C12.1404 11.1893 12.1444 11.0804 12.1408 10.9717C12.1372 10.8646 12.1198 10.7575 12.1215 10.6507C12.124 10.4948 12.1281 10.3394 12.1089 10.1798C12.2109 10.1713 12.313 10.1673 12.4199 10.1684C12.4357 10.3363 12.4466 10.4992 12.4574 10.662C12.4586 10.7274 12.4567 10.7931 12.4617 10.8583C12.4684 10.9456 12.4825 11.0324 12.4897 11.1197C12.5021 11.2711 12.5139 11.4226 12.5212 11.5742C12.5244 11.6389 12.5118 11.7041 12.5127 11.769C12.5143 11.8743 12.5243 11.9778 12.5638 12.0787C12.5837 12.1296 12.5818 12.1889 12.5879 12.2446C12.6031 12.3859 12.617 12.5274 12.6324 12.6686C12.6343 12.6858 12.637 12.708 12.6484 12.7182C12.712 12.7751 12.7224 12.8539 12.7258 12.9269C12.734 13.1007 12.7994 13.2585 12.8495 13.4213C12.8898 13.5524 12.9218 13.6859 12.958 13.8225Z" fill="#EA544C"/>
|
||||
<path d="M14.1222 12.032C14.1359 12.3013 14.104 12.5647 14.0115 12.8244C13.9178 12.7725 13.8135 12.7319 13.7462 12.6588C13.6652 12.5708 13.5945 12.4736 13.5102 12.3858C13.4176 12.2894 13.3279 12.1848 13.2805 12.0554C13.2746 12.0393 13.2621 12.0255 13.2523 12.0069C13.2021 11.9087 13.1684 11.81 13.1656 11.698C13.1565 11.622 13.1524 11.5499 13.1372 11.48C13.1131 11.369 13.0759 11.2624 13.0598 11.1476C13.0325 10.952 12.9814 10.7599 13.0016 10.5598C13.0042 10.534 12.9998 10.5072 12.9964 10.4812C12.9806 10.358 12.964 10.2349 12.9478 10.1117C12.9774 10.1077 13.0071 10.1037 13.0413 10.1046C13.0603 10.1979 13.0734 10.2864 13.0897 10.3744C13.1095 10.481 13.1293 10.5876 13.1543 10.6931C13.1656 10.7407 13.1974 10.7842 13.2058 10.8319C13.2254 10.9421 13.2574 11.0469 13.3068 11.148C13.3386 11.2129 13.3587 11.283 13.3885 11.3489C13.4197 11.4178 13.4567 11.4843 13.4903 11.5523C13.5313 11.6352 13.5738 11.7117 13.6657 11.7587C13.7476 11.8007 13.815 11.8689 13.8942 11.9172C13.9665 11.9613 14.0459 11.9942 14.1222 12.032Z" fill="#EC5C61"/>
|
||||
<path d="M13.4238 10.0271C13.624 9.97555 13.8183 9.9081 14.0117 9.82568C14.0468 9.86145 14.0737 9.8973 14.1067 9.9267C14.1321 9.94937 14.166 9.98054 14.1945 9.97898C14.2776 9.97442 14.3292 10.0075 14.3831 10.0662C14.4433 10.1318 14.5218 10.1815 14.5924 10.2381C14.5367 10.3145 14.4785 10.3893 14.4256 10.4675C14.2764 10.6878 14.1752 10.9269 14.1339 11.1889C14.1279 11.2264 14.1199 11.2637 14.1081 11.3049C13.9528 11.2367 13.8204 11.146 13.7516 10.9884C13.7398 10.9613 13.7233 10.936 13.7084 10.9103C13.69 10.8785 13.6695 10.8477 13.6524 10.8153C13.6352 10.7828 13.6206 10.7489 13.6056 10.7153C13.5885 10.6769 13.5674 10.6393 13.5569 10.5991C13.5432 10.5468 13.55 10.4868 13.5273 10.4397C13.4638 10.308 13.4459 10.1675 13.4238 10.0271Z" fill="#ED676F"/>
|
||||
<path d="M14.6583 12.8755C14.7163 12.8855 14.7738 12.8996 14.8309 12.915C14.8865 12.93 14.9439 12.9413 14.9962 12.9638C15.0314 12.979 15.0609 13.0091 15.0897 13.0358C15.118 13.0619 15.1417 13.0927 15.1682 13.1206C15.1879 13.1413 15.2179 13.1573 15.2277 13.1814C15.2659 13.275 15.3538 13.3015 15.4353 13.3379C15.4467 13.343 15.4583 13.3481 15.4703 13.352C15.5702 13.3843 15.6208 13.4431 15.6324 13.5535C15.6402 13.6271 15.6935 13.6988 15.7356 13.7657C15.786 13.8457 15.8356 13.9231 15.8347 14.0219C15.8344 14.0489 15.8478 14.0761 15.8551 14.1074C15.6388 14.1345 15.4217 14.153 15.206 14.2039C15.1611 14.1186 15.1216 14.0375 15.0797 13.9575C15.0676 13.9345 15.0522 13.9113 15.0328 13.8941C14.9528 13.823 14.8709 13.7538 14.7891 13.6846C14.7269 13.632 14.6646 13.5793 14.6006 13.5288C14.5703 13.505 14.5359 13.4862 14.5034 13.4651C14.546 13.33 14.5912 13.1957 14.6299 13.0596C14.6463 13.0017 14.6488 12.94 14.6583 12.8755Z" fill="#ED656E"/>
|
||||
<path d="M13.4192 10.0271C13.446 10.1676 13.4638 10.3081 13.5273 10.4397C13.5501 10.4869 13.5433 10.5468 13.557 10.5992C13.5675 10.6393 13.5886 10.6769 13.6057 10.7154C13.6206 10.749 13.6353 10.7828 13.6525 10.8154C13.6696 10.8478 13.69 10.8785 13.7085 10.9103C13.7234 10.9361 13.7399 10.9613 13.7517 10.9884C13.8205 11.1461 13.9529 11.2368 14.1072 11.3093C14.1079 11.3637 14.1017 11.4176 14.1025 11.4714C14.1043 11.6064 14.1086 11.7413 14.1132 11.8762C14.1148 11.9249 14.1199 11.9735 14.1226 12.027C14.0456 11.9941 13.9661 11.9612 13.8938 11.9171C13.8147 11.8688 13.7473 11.8006 13.6653 11.7586C13.5735 11.7116 13.531 11.635 13.49 11.5521C13.4564 11.4842 13.4193 11.4177 13.3881 11.3487C13.3583 11.2829 13.3382 11.2127 13.3065 11.1479C13.257 11.0468 13.2251 10.9419 13.2055 10.8317C13.1971 10.784 13.1653 10.7406 13.154 10.693C13.129 10.5875 13.1091 10.4808 13.0894 10.3742C13.0731 10.2863 13.06 10.1977 13.0454 10.1052C13.1581 10.079 13.2709 10.0573 13.3836 10.0353C13.394 10.0332 13.4042 10.0298 13.4192 10.0271Z" fill="#EC6168"/>
|
||||
<path d="M11.0414 11.7027C10.976 11.8278 10.9168 11.9555 10.8273 12.0683C10.7582 12.1553 10.7068 12.2556 10.6399 12.3445C10.5926 12.4073 10.5328 12.4612 10.4781 12.5186C10.4696 12.5275 10.4564 12.5322 10.4486 12.5414C10.3458 12.6629 10.2089 12.7371 10.0635 12.8061C10.0176 12.6905 9.9879 12.5709 9.98504 12.4461C9.98105 12.2724 9.9778 12.0986 9.97944 11.92C10.0605 11.8893 10.1368 11.8648 10.2118 11.8367C10.2308 11.8296 10.2456 11.8112 10.2619 11.7976C10.3354 11.7366 10.4018 11.6635 10.4842 11.6177C10.5683 11.5709 10.6409 11.521 10.6883 11.4383C10.6951 11.4264 10.7067 11.4163 10.718 11.4078C10.7964 11.349 10.8551 11.2749 10.9021 11.1907C10.9095 11.1775 10.9293 11.1708 10.9468 11.1626C10.9777 11.1775 11.0042 11.1933 11.0327 11.2039C11.0752 11.2198 11.0805 11.2456 11.0636 11.2829C11.0476 11.3182 11.0345 11.3547 11.0193 11.3902C11.0057 11.4219 11.0145 11.4459 11.0455 11.4597C11.0761 11.4734 11.0796 11.4931 11.0653 11.5192C11.041 11.5636 11.0163 11.6077 10.9901 11.6551C11.0059 11.6698 11.0236 11.6862 11.0414 11.7027Z" fill="#E94C28"/>
|
||||
<path d="M13.2526 12.0107C13.262 12.0255 13.2745 12.0393 13.2804 12.0553C13.3278 12.1847 13.4175 12.2894 13.5101 12.3858C13.5944 12.4736 13.6651 12.5708 13.7461 12.6588C13.8134 12.7319 13.9177 12.7725 14.0094 12.828C13.9433 13.065 13.8278 13.2787 13.6712 13.4751C13.6595 13.4737 13.6491 13.473 13.6431 13.4676C13.554 13.3891 13.4663 13.3091 13.3766 13.2313C13.3034 13.1676 13.2797 13.0768 13.2359 12.9969C13.1749 12.8858 13.121 12.7704 13.0513 12.6648C12.9931 12.5765 12.9775 12.4802 12.9588 12.3823C12.952 12.3463 12.9442 12.3104 12.9399 12.2671C12.9359 12.2001 12.9287 12.1404 12.9209 12.0754C12.9454 12.0907 12.9677 12.1045 12.99 12.1183C12.9946 12.116 12.9993 12.1136 13.004 12.1112C12.996 12.055 12.9879 11.9989 12.9806 11.9478C13.0206 11.9528 13.0521 11.9567 13.0836 11.9606C13.0836 11.9293 13.0836 11.898 13.0836 11.8699C13.141 11.9177 13.1968 11.9642 13.2526 12.0107Z" fill="#EB5659"/>
|
||||
<path d="M20.806 14.709C20.76 14.9392 20.6393 15.1385 20.5164 15.3349C20.4819 15.3901 20.4141 15.4261 20.3598 15.4686C20.2629 15.5443 20.1649 15.6186 20.0667 15.6928C20.0512 15.7045 20.0336 15.7177 20.0152 15.7211C19.8868 15.7446 19.7757 15.8082 19.6603 15.862C19.6526 15.8656 19.6426 15.8645 19.6295 15.8656C19.5957 15.7164 19.566 15.5671 19.5396 15.412C19.5901 15.3893 19.6414 15.3787 19.6841 15.354C19.7449 15.3187 19.8073 15.2802 19.8547 15.2302C19.9413 15.1389 20.0118 15.033 20.0993 14.9426C20.1923 14.8466 20.2503 14.7341 20.2989 14.6143C20.4663 14.6456 20.6337 14.6769 20.806 14.709Z" fill="#F5A02D"/>
|
||||
<path d="M13.2521 12.0068C13.1967 11.9642 13.141 11.9177 13.0836 11.8698C13.0836 11.8979 13.0836 11.9292 13.0836 11.9606C13.0521 11.9566 13.0206 11.9527 12.9806 11.9477C12.9879 11.9988 12.9959 12.055 13.0039 12.1111C12.9993 12.1135 12.9946 12.1159 12.9899 12.1183C12.9677 12.1045 12.9454 12.0906 12.9209 12.0754C12.9287 12.1403 12.9358 12.2 12.9399 12.2626C12.8902 12.1984 12.8359 12.1389 12.8237 12.05C12.8133 11.9742 12.7704 11.903 12.7462 11.8284C12.7098 11.7166 12.6871 11.5994 12.6402 11.4921C12.5838 11.3633 12.602 11.2253 12.5669 11.0954C12.544 11.0108 12.509 10.9293 12.4871 10.8445C12.4724 10.7873 12.4711 10.7268 12.4607 10.6649C12.4466 10.4992 12.4357 10.3364 12.4248 10.1691C12.5232 10.1571 12.6217 10.1496 12.7251 10.147C12.7481 10.2784 12.7648 10.4051 12.7847 10.5313C12.7984 10.6175 12.8156 10.7031 12.8329 10.7887C12.8482 10.8641 12.8655 10.9391 12.8824 11.0142C12.8985 11.0854 12.8854 11.1629 12.9325 11.2275C12.9914 11.3082 13.0107 11.4029 13.0357 11.4966C13.0569 11.5764 13.0989 11.648 13.1654 11.7027C13.1682 11.8099 13.202 11.9086 13.2521 12.0068Z" fill="#EB5A57"/>
|
||||
<path d="M10.9287 14.6124C10.9013 14.7204 10.8696 14.8263 10.8394 14.9327C10.8121 15.0285 10.7591 15.1056 10.6829 15.1728C10.6164 15.2316 10.564 15.3053 10.5 15.3671C10.4244 15.4401 10.3437 15.5077 10.2922 15.601C10.2851 15.6138 10.268 15.6211 10.2518 15.6314C10.2258 15.5473 10.2071 15.4616 10.1803 15.3784C10.1209 15.1944 10.0452 15.0176 9.92529 14.8598C10.0063 14.7827 10.0859 14.7114 10.1608 14.6358C10.1955 14.6008 10.2211 14.5574 10.2512 14.5181C10.2897 14.4678 10.3286 14.4178 10.3673 14.3677C10.4711 14.4184 10.5734 14.4723 10.6791 14.519C10.7588 14.5542 10.8428 14.5804 10.9287 14.6124Z" fill="#EA541C"/>
|
||||
<path d="M14.9852 8.03271C15.0348 8.04004 15.0844 8.04957 15.1323 8.06412C15.3382 8.12657 15.5336 8.21178 15.7208 8.31652C15.7746 8.34661 15.8398 8.35679 15.8955 8.38416C15.9691 8.42025 16.0396 8.46282 16.1097 8.50527C16.2107 8.56647 16.3088 8.6323 16.4107 8.69203C16.5275 8.76048 16.6219 8.84865 16.6946 8.96151C16.7414 9.03423 16.7976 9.10113 16.8472 9.17228C16.8608 9.19189 16.8656 9.21737 16.8744 9.2402C16.9014 9.31083 16.9284 9.38149 16.9554 9.45612C16.8282 9.47475 16.7008 9.48939 16.5684 9.49899C16.5604 9.47676 16.5576 9.45953 16.5543 9.44239C16.52 9.26125 16.4013 9.12209 16.3035 8.97358C16.2705 8.92356 16.2187 8.883 16.1691 8.84622C16.0674 8.77065 15.9622 8.69931 15.8567 8.62862C15.7842 8.58005 15.7117 8.53038 15.6342 8.49055C15.5465 8.44552 15.4547 8.40718 15.362 8.37276C15.2344 8.32534 15.1042 8.28432 14.9751 8.24056C14.9782 8.17278 14.9813 8.105 14.9852 8.03271Z" fill="#EB5D19"/>
|
||||
<path d="M14.9742 8.24512C15.1041 8.2844 15.2343 8.32542 15.3619 8.37284C15.4546 8.40726 15.5464 8.4456 15.6341 8.49062C15.7116 8.53045 15.7841 8.58013 15.8566 8.62869C15.9621 8.69938 16.0673 8.77073 16.169 8.8463C16.2186 8.88308 16.2704 8.92364 16.3034 8.97366C16.4012 9.12217 16.5199 9.26133 16.5542 9.44246C16.5575 9.45961 16.5603 9.47684 16.5634 9.49835C16.4177 9.49605 16.272 9.48944 16.1216 9.47793C16.0896 9.37512 16.0715 9.27701 15.9878 9.2002C15.8181 9.04462 15.6567 8.88053 15.4915 8.72027C15.484 8.71302 15.4738 8.708 15.4641 8.70346C15.2929 8.62326 15.1215 8.54331 14.9502 8.4633C14.9579 8.39207 14.9656 8.32083 14.9742 8.24512Z" fill="#EB5E24"/>
|
||||
<path d="M10.9437 11.161C10.9297 11.1707 10.9099 11.1774 10.9025 11.1907C10.8554 11.2749 10.7968 11.349 10.7184 11.4077C10.707 11.4162 10.6955 11.4264 10.6886 11.4383C10.6413 11.521 10.5686 11.5708 10.4845 11.6176C10.4022 11.6635 10.3358 11.7365 10.2623 11.7975C10.2459 11.8111 10.2312 11.8295 10.2121 11.8366C10.1372 11.8647 10.0608 11.8892 9.98058 11.915C9.97919 11.7966 9.98278 11.6782 9.98469 11.5597C9.98502 11.5396 9.97816 11.5194 9.97973 11.4947C10.1292 11.4761 10.2366 11.3936 10.3422 11.3072C10.3725 11.2823 10.4083 11.263 10.4351 11.2351C10.542 11.1237 10.6465 11.01 10.7515 10.8968C10.7683 10.8786 10.7887 10.8607 10.7975 10.8388C10.8592 10.6847 10.9226 10.5311 10.9765 10.3744C11.0072 10.2851 11.0209 10.1902 11.0422 10.0979C11.0971 10.1055 11.152 10.1131 11.2114 10.1258C11.2015 10.2211 11.1863 10.311 11.1728 10.4012C11.1465 10.577 11.1092 10.7499 11.0422 10.9158C11.0092 10.9975 10.9765 11.0793 10.9437 11.161Z" fill="#E9511F"/>
|
||||
<path d="M13.8454 15.5981C13.6905 15.5366 13.5435 15.4688 13.4399 15.3342C13.3763 15.2515 13.3082 15.1703 13.2314 15.0995C13.1523 15.0267 13.0992 14.9437 13.0676 14.8441C13.0486 14.7841 13.0247 14.7255 12.9995 14.6632C13.164 14.6207 13.3286 14.5716 13.4892 14.4983C13.5959 14.6288 13.698 14.7559 13.7981 14.8844C13.8644 14.9695 13.941 15.0411 14.0456 15.0795C13.9649 15.2332 13.8974 15.3919 13.8552 15.56C13.8522 15.5718 13.851 15.5839 13.8454 15.5981Z" fill="#EA5741"/>
|
||||
<path d="M10.9473 11.1627C10.9766 11.0794 11.0093 10.9976 11.0423 10.916C11.1092 10.7501 11.1466 10.5771 11.1729 10.4013C11.1863 10.3112 11.2016 10.2212 11.216 10.1267C11.2986 10.1301 11.3812 10.1377 11.4638 10.1458C11.5092 10.1503 11.5545 10.1556 11.604 10.1627C11.5935 10.2884 11.5997 10.4189 11.5593 10.5339C11.5022 10.6967 11.4853 10.8684 11.423 11.0286C11.3936 11.1038 11.3702 11.1819 11.3336 11.2537C11.2893 11.3408 11.2322 11.4216 11.1843 11.5071C11.1629 11.5453 11.15 11.5881 11.1341 11.6292C11.1191 11.6683 11.0942 11.6957 11.0458 11.7023C11.024 11.6863 11.0063 11.6699 10.9905 11.6552C11.0167 11.6078 11.0414 11.5636 11.0657 11.5193C11.08 11.4931 11.0765 11.4734 11.046 11.4598C11.0149 11.446 11.0061 11.422 11.0197 11.3903C11.0349 11.3547 11.048 11.3182 11.064 11.283C11.081 11.2456 11.0757 11.2198 11.0331 11.204C11.0046 11.1934 10.9781 11.1776 10.9473 11.1627Z" fill="#EA522A"/>
|
||||
<path d="M5.10123 13.5835C5.2325 13.6529 5.32693 13.7585 5.41795 13.8682C5.43913 13.8938 5.46736 13.9145 5.4947 13.9343C5.58444 13.9993 5.60954 14.1026 5.65744 14.1923C5.66805 14.2122 5.67469 14.2341 5.68331 14.2591C5.6055 14.2986 5.52395 14.3282 5.4504 14.3708C5.34578 14.4315 5.24704 14.5018 5.14083 14.5662C5.10372 14.5266 5.07297 14.4875 5.03916 14.4511C4.92725 14.3307 4.81425 14.2113 4.70166 14.0915C4.83081 13.9684 4.94527 13.8337 5.03988 13.6834C5.06015 13.6512 5.07858 13.618 5.10123 13.5835Z" fill="#EB5E24"/>
|
||||
<path d="M10.3657 14.3642C10.3286 14.4177 10.2897 14.4677 10.2512 14.518C10.2211 14.5573 10.1955 14.6007 10.1609 14.6356C10.0859 14.7112 10.0064 14.7826 9.92507 14.8561C9.78106 14.6683 9.60468 14.5193 9.40036 14.4007C9.38981 14.3946 9.37784 14.3908 9.36475 14.3826C9.43314 14.2959 9.50342 14.2127 9.57341 14.1293C9.5893 14.1104 9.60301 14.0896 9.61974 14.0714C9.68474 14.0009 9.75055 13.931 9.81944 13.8594C9.87291 13.9161 9.92421 13.9734 9.97281 14.0328C10.0787 14.1623 10.2104 14.2618 10.3523 14.35C10.3568 14.3528 10.3602 14.3572 10.3657 14.3642Z" fill="#E95514"/>
|
||||
<path d="M4.69821 14.093C4.81411 14.2114 4.92712 14.3309 5.03903 14.4512C5.07283 14.4876 5.10359 14.5267 5.13731 14.5678C4.99698 14.6912 4.86995 14.8242 4.76812 14.9788C4.75861 14.9933 4.75112 15.009 4.73932 15.0259C4.66897 14.9805 4.59802 14.9378 4.53626 14.8849C4.48396 14.8401 4.44127 14.7843 4.39618 14.7318C4.3302 14.6551 4.2658 14.577 4.201 14.4993C4.19661 14.494 4.19452 14.487 4.19092 14.477C4.37321 14.3654 4.54575 14.2447 4.69821 14.093Z" fill="#EB5F2D"/>
|
||||
<path d="M8.38818 9.53538C8.40984 9.48118 8.42781 9.42214 8.46307 9.37554C8.56004 9.24743 8.65471 9.11545 8.76816 9.002C8.89458 8.87559 9.04052 8.76769 9.20932 8.68774C9.26239 8.81131 9.31191 8.93636 9.3582 9.06571C9.29548 9.10909 9.23277 9.14433 9.17747 9.1884C9.12941 9.2267 9.08899 9.27433 9.04653 9.31904C8.9883 9.38033 8.92869 9.44067 8.87465 9.50537C8.83186 9.5566 8.79656 9.61378 8.75794 9.66832C8.63609 9.62428 8.51424 9.58025 8.38818 9.53538Z" fill="#F28D00"/>
|
||||
<path d="M18.2099 14.1922C18.2078 14.1836 18.2064 14.1775 18.2086 14.1732C18.2673 14.0574 18.3076 13.9325 18.4066 13.8378C18.4744 13.773 18.5294 13.6956 18.5949 13.6283C18.6288 13.5933 18.6704 13.5634 18.7133 13.5392C18.7848 13.4988 18.8602 13.4648 18.9361 13.425C18.9554 13.4593 18.9714 13.4973 18.99 13.5339C19.0341 13.6203 19.0794 13.706 19.1233 13.7993C19.1084 13.8202 19.095 13.8343 19.0804 13.8471C18.995 13.9222 18.9027 13.9911 18.8255 14.0735C18.7496 14.1545 18.6888 14.2489 18.6214 14.3374C18.485 14.2901 18.3486 14.2427 18.2099 14.1922Z" fill="#F08369"/>
|
||||
<path d="M18.6235 14.3406C18.689 14.249 18.7497 14.1545 18.8257 14.0736C18.9029 13.9912 18.9952 13.9223 19.0806 13.8472C19.0952 13.8344 19.1086 13.8203 19.1241 13.803C19.2303 13.92 19.3342 14.0414 19.4399 14.1612C19.4606 14.1846 19.4881 14.2023 19.5125 14.2291C19.442 14.3087 19.3712 14.3814 19.3011 14.4548C19.234 14.5251 19.1675 14.5961 19.1007 14.6667C18.9595 14.5349 18.8013 14.4271 18.6235 14.3406Z" fill="#F18B5E"/>
|
||||
<path d="M20.2946 14.6136C20.2503 14.7341 20.1923 14.8467 20.0993 14.9427C20.0118 15.0331 19.9413 15.139 19.8547 15.2303C19.8073 15.2803 19.7449 15.3188 19.6841 15.354C19.6414 15.3788 19.5901 15.3894 19.539 15.4079C19.4922 15.3025 19.4491 15.1955 19.4072 15.0814C19.4589 15.0349 19.5153 15.0009 19.5584 14.955C19.6384 14.8698 19.7119 14.7787 19.7857 14.6881C19.839 14.6226 19.8883 14.554 19.9395 14.4868C20.0564 14.5288 20.1734 14.5708 20.2946 14.6136Z" fill="#F49C3A"/>
|
||||
<path d="M8.76123 9.67094C8.79699 9.61379 8.83228 9.55661 8.87507 9.50539C8.92911 9.44068 8.98872 9.38035 9.04695 9.31905C9.08942 9.27434 9.12984 9.22672 9.1779 9.18841C9.2332 9.14434 9.29591 9.1091 9.35908 9.06958C9.44608 9.19394 9.5294 9.31874 9.6127 9.45027C9.55963 9.51647 9.50731 9.57659 9.45336 9.63527C9.36244 9.73416 9.27048 9.83214 9.17896 9.9305C9.05139 9.8284 8.91286 9.74312 8.76123 9.67094Z" fill="#F08000"/>
|
||||
<path d="M9.18018 9.93371C9.27002 9.83214 9.36198 9.73416 9.4529 9.63527C9.50685 9.57658 9.55917 9.51647 9.61371 9.45361C9.69135 9.51973 9.765 9.5921 9.84448 9.65777C9.90317 9.70627 9.96946 9.74604 10.0354 9.79497C9.97539 9.87846 9.91971 9.96401 9.84748 10.0331C9.75076 10.1257 9.64123 10.2055 9.53719 10.2908C9.47508 10.2208 9.4158 10.1482 9.34994 10.0818C9.29812 10.0295 9.23818 9.98493 9.18018 9.93371Z" fill="#ED6E04"/>
|
||||
<path d="M11.0394 10.0942C11.0205 10.1902 11.0068 10.2851 10.9761 10.3743C10.9223 10.5311 10.8588 10.6847 10.7971 10.8388C10.7884 10.8606 10.768 10.8786 10.7511 10.8968C10.6462 11.01 10.5416 11.1236 10.4347 11.2351C10.4079 11.263 10.3721 11.2823 10.3418 11.3071C10.2362 11.3935 10.1289 11.4761 9.98011 11.4902C9.96079 11.3869 9.94583 11.2836 9.93555 11.1759C10.0699 11.1137 10.1995 11.0559 10.329 10.9978C10.3354 10.995 10.3404 10.9892 10.3457 10.9844C10.4331 10.9027 10.5227 10.8231 10.6072 10.7385C10.6545 10.6911 10.7074 10.6414 10.7334 10.5825C10.8057 10.4187 10.8972 10.2607 10.9215 10.0796C10.96 10.0832 10.9985 10.0869 11.0394 10.0942Z" fill="#EA541C"/>
|
||||
<path d="M19.9362 14.4849C19.8886 14.5538 19.8392 14.6224 19.7859 14.6879C19.7121 14.7785 19.6386 14.8696 19.5586 14.9548C19.5155 15.0007 19.4591 15.0347 19.407 15.0773C19.3195 14.9344 19.2277 14.7923 19.1021 14.6697C19.1673 14.5959 19.2338 14.525 19.3009 14.4547C19.371 14.3813 19.4418 14.3085 19.5138 14.2322C19.6545 14.3136 19.7936 14.3984 19.9362 14.4849Z" fill="#F3944D"/>
|
||||
<path d="M14.5004 13.467C14.5362 13.4862 14.5706 13.505 14.6008 13.5289C14.6648 13.5794 14.7271 13.632 14.7894 13.6846C14.8712 13.7538 14.953 13.823 15.033 13.8941C15.0524 13.9113 15.0679 13.9345 15.08 13.9575C15.1218 14.0375 15.1614 14.1186 15.2019 14.2032C15.0846 14.2528 14.9674 14.2985 14.8458 14.3411C14.7605 14.2421 14.6796 14.1461 14.5982 14.0505C14.5764 14.0248 14.5536 13.9999 14.5308 13.9751C14.4922 13.9333 14.4553 13.8897 14.4138 13.8509C14.3858 13.8247 14.3511 13.8054 14.3193 13.783C14.3786 13.6783 14.4379 13.5737 14.5004 13.467Z" fill="#EC6168"/>
|
||||
<path d="M15.7138 9.53461C15.6103 9.57114 15.5068 9.60765 15.4034 9.64431C15.4002 9.64545 15.3976 9.64821 15.3904 9.64712C15.2698 9.44516 15.096 9.30136 14.9087 9.17079C14.8622 9.13839 14.8134 9.10924 14.7656 9.07859C14.7985 8.9932 14.8314 8.90781 14.8691 8.81836C14.9786 8.86157 15.085 8.90573 15.1873 8.95756C15.2308 8.97962 15.2668 9.01665 15.3044 9.04886C15.3379 9.07755 15.3669 9.11142 15.4016 9.13856C15.4464 9.17364 15.5082 9.19532 15.5391 9.23872C15.6053 9.33193 15.6564 9.43536 15.7138 9.53461Z" fill="#EC663E"/>
|
||||
<path d="M14.316 13.7847C14.3511 13.8054 14.3858 13.8247 14.4138 13.8509C14.4554 13.8897 14.4923 13.9333 14.5308 13.9752C14.5536 14 14.5764 14.0248 14.5983 14.0505C14.6796 14.1461 14.7605 14.2421 14.842 14.3416C14.6998 14.4142 14.5664 14.4967 14.4419 14.5981C14.2959 14.4387 14.1548 14.2811 14.0137 14.1234C14.1026 14.0249 14.1917 13.9265 14.2804 13.8277C14.2921 13.8147 14.3019 13.8001 14.316 13.7847Z" fill="#EB5E5B"/>
|
||||
<path d="M10.5407 9.99463C10.6047 10.0089 10.6687 10.0232 10.7347 10.0455C10.7259 10.1014 10.7054 10.1495 10.706 10.1973C10.7073 10.3191 10.6574 10.4138 10.5673 10.4932C10.5447 10.5131 10.5275 10.5387 10.5056 10.5595C10.4234 10.6379 10.3403 10.7154 10.2572 10.7928C10.2524 10.7973 10.244 10.798 10.2375 10.8009C10.1535 10.8376 10.0696 10.8743 9.98573 10.9112C9.9498 10.927 9.91403 10.9431 9.87818 10.9591C9.85308 10.8945 9.82798 10.8298 9.80615 10.7608C9.88936 10.7094 9.9757 10.6701 10.0477 10.6135C10.1533 10.5304 10.2539 10.4397 10.3466 10.3432C10.4077 10.2795 10.4847 10.2228 10.5013 10.1257C10.5089 10.0811 10.5272 10.0383 10.5407 9.99463Z" fill="#EA580E"/>
|
||||
<path d="M9.87744 10.9635C9.914 10.9434 9.94977 10.9272 9.9857 10.9114C10.0696 10.8745 10.1535 10.8378 10.2374 10.8011C10.244 10.7982 10.2524 10.7975 10.2572 10.793C10.3403 10.7156 10.4233 10.6381 10.5056 10.5598C10.5274 10.5389 10.5447 10.5133 10.5673 10.4934C10.6574 10.414 10.7073 10.3193 10.7059 10.1975C10.7054 10.1497 10.7259 10.1016 10.7369 10.0493C10.7961 10.0553 10.855 10.0655 10.9178 10.0778C10.8976 10.2609 10.806 10.4189 10.7337 10.5827C10.7077 10.6416 10.6548 10.6912 10.6075 10.7387C10.523 10.8232 10.4334 10.9029 10.346 10.9845C10.3407 10.9894 10.3357 10.9952 10.3294 10.998C10.1999 11.0561 10.0702 11.1138 9.93652 11.1717C9.91392 11.1037 9.89532 11.0357 9.87744 10.9635Z" fill="#E95514"/>
|
||||
<path d="M9.53809 10.2946C9.64154 10.2055 9.75107 10.1257 9.8478 10.0332C9.92002 9.96405 9.9757 9.8785 10.0392 9.79663C10.1402 9.83928 10.2407 9.88557 10.343 9.93925C10.298 10.0143 10.2557 10.0856 10.2032 10.1488C10.1402 10.2247 10.0713 10.2966 9.99992 10.3652C9.91291 10.4487 9.8206 10.527 9.73058 10.6076C9.66661 10.5046 9.60264 10.4015 9.53809 10.2946Z" fill="#EB620B"/>
|
||||
<path d="M14.0473 15.0762C13.9411 15.0411 13.8645 14.9696 13.7981 14.8845C13.698 14.7559 13.596 14.6288 13.4932 14.4977C13.5868 14.4347 13.6821 14.3749 13.7846 14.3164C13.8022 14.3273 13.8133 14.3363 13.8228 14.3468C13.9195 14.4546 14.0149 14.5636 14.1132 14.6701C14.1537 14.714 14.2002 14.7528 14.244 14.7939C14.179 14.8869 14.114 14.9799 14.0473 15.0762Z" fill="#EA544C"/>
|
||||
<path d="M15.7183 9.53513C15.6566 9.43521 15.6055 9.33178 15.5392 9.23857C15.5084 9.19517 15.4466 9.17349 15.4018 9.13841C15.3671 9.11127 15.3381 9.0774 15.3046 9.04871C15.267 9.0165 15.231 8.97947 15.1875 8.95741C15.0852 8.90558 14.9788 8.86142 14.8701 8.81406C14.883 8.75627 14.8998 8.69859 14.9225 8.6377C15.0523 8.68733 15.1862 8.72542 15.2979 8.79659C15.4529 8.89539 15.6138 8.99255 15.7291 9.14133C15.7551 9.17488 15.7849 9.20586 15.815 9.23609C15.8864 9.30792 15.9255 9.39461 15.9426 9.49194C15.8693 9.50657 15.796 9.52119 15.7183 9.53513Z" fill="#EC6333"/>
|
||||
<path d="M13.1655 11.6979C13.099 11.6479 13.057 11.5764 13.0358 11.4966C13.0108 11.4029 12.9915 11.3082 12.9326 11.2275C12.8855 11.1629 12.8987 11.0854 12.8826 11.0142C12.8656 10.9391 12.8483 10.8641 12.833 10.7886C12.8157 10.7031 12.7985 10.6175 12.7848 10.5313C12.7649 10.4051 12.7482 10.2784 12.73 10.1476C12.7995 10.1325 12.8691 10.1215 12.9433 10.1111C12.964 10.2348 12.9806 10.3579 12.9964 10.4811C12.9997 10.5071 13.0042 10.5339 13.0016 10.5597C12.9813 10.7598 13.0324 10.9519 13.0598 11.1475C13.0759 11.2623 13.113 11.3689 13.1371 11.4799C13.1523 11.5498 13.1565 11.6219 13.1655 11.6979Z" fill="#EB5E5B"/>
|
||||
<path d="M14.7626 9.08032C14.8137 9.10913 14.8626 9.13829 14.9091 9.17068C15.0964 9.30125 15.2702 9.44505 15.3869 9.64757C15.2995 9.69775 15.2116 9.74428 15.1165 9.78958C14.9898 9.62034 14.8371 9.48676 14.6603 9.37872C14.6427 9.36801 14.6215 9.363 14.6021 9.35535C14.6274 9.31444 14.654 9.27417 14.6778 9.23245C14.7062 9.18301 14.7322 9.13231 14.7626 9.08032Z" fill="#EC644B"/>
|
||||
<path d="M15.9474 9.49271C15.9253 9.39466 15.8863 9.30797 15.8148 9.23614C15.7847 9.20591 15.7549 9.17493 15.7289 9.14138C15.6137 8.9926 15.4528 8.89544 15.2977 8.79664C15.186 8.72547 15.0521 8.68738 14.9243 8.63403C14.9279 8.57832 14.9353 8.52312 14.9464 8.46558C15.1214 8.54324 15.2928 8.6232 15.464 8.70339C15.4737 8.70793 15.484 8.71295 15.4914 8.7202C15.6566 8.88046 15.818 9.04455 15.9877 9.20013C16.0714 9.27694 16.0895 9.37505 16.1167 9.47714C16.0619 9.48535 16.0071 9.48939 15.9474 9.49271Z" fill="#EB5F2D"/>
|
||||
<path d="M9.73242 10.6107C9.82072 10.527 9.91304 10.4487 10.0001 10.3651C10.0715 10.2965 10.1403 10.2247 10.2033 10.1487C10.2558 10.0855 10.2981 10.0143 10.3451 9.94263C10.4076 9.95684 10.4699 9.97503 10.5365 9.994C10.5273 10.0384 10.509 10.0813 10.5014 10.1259C10.4848 10.223 10.4078 10.2796 10.3467 10.3433C10.254 10.4399 10.1534 10.5306 10.0478 10.6136C9.97579 10.6703 9.88945 10.7096 9.80577 10.7571C9.7794 10.7096 9.75677 10.6617 9.73242 10.6107Z" fill="#E95A0F"/>
|
||||
<path d="M14.5981 9.35571C14.6216 9.36302 14.6428 9.36802 14.6603 9.37873C14.8372 9.48678 14.9898 9.62035 15.1126 9.78999C15.0346 9.85091 14.9532 9.9102 14.8669 9.96767C14.8543 9.9541 14.8485 9.94022 14.8384 9.93092C14.6983 9.80241 14.5576 9.67453 14.417 9.5465C14.4686 9.49336 14.5204 9.44039 14.5717 9.3869C14.5804 9.37777 14.5867 9.3664 14.5981 9.35571Z" fill="#EB5E5B"/>
|
||||
<path d="M14.2475 14.7926C14.2004 14.753 14.1539 14.7142 14.1133 14.6703C14.0151 14.5638 13.9197 14.4548 13.8229 14.347C13.8135 14.3365 13.8023 14.3275 13.7886 14.3162C13.8592 14.2519 13.9332 14.1892 14.0104 14.125C14.1548 14.2811 14.2959 14.4388 14.4386 14.5997C14.3771 14.6657 14.314 14.7284 14.2475 14.7926Z" fill="#EB5A57"/>
|
||||
<path d="M14.4132 9.5481C14.5571 9.67471 14.6979 9.80259 14.838 9.9311C14.8481 9.9404 14.8538 9.95428 14.863 9.96942C14.8164 10.0149 14.7683 10.0569 14.7131 10.0978C14.6673 10.0654 14.6313 10.0304 14.5896 10.0037C14.455 9.91725 14.3403 9.80964 14.2319 9.69469C14.2913 9.6463 14.3506 9.59791 14.4132 9.5481Z" fill="#EC6168"/>
|
||||
<path d="M14.2285 9.69507C14.3407 9.80949 14.4554 9.9171 14.59 10.0035C14.6317 10.0302 14.6678 10.0653 14.7097 10.0981C14.6752 10.1447 14.6373 10.1899 14.5961 10.2366C14.5222 10.1815 14.4437 10.1319 14.3834 10.0663C14.3296 10.0076 14.2779 9.97448 14.1949 9.97903C14.1664 9.9806 14.1325 9.94943 14.1071 9.92676C14.0741 9.89736 14.0472 9.86151 14.0161 9.82515C14.0846 9.77978 14.1546 9.73768 14.2285 9.69507Z" fill="#ED656E"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1004_325132">
|
||||
<rect width="22" height="12" fill="white" transform="translate(1 6)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 52 KiB |
4
packages/ui/icons/moonshot.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.738 5.77611C19.901 5.56711 20.044 5.37611 20.195 5.19111C20.265 5.10411 20.259 5.03811 20.191 4.94711C19.536 4.08611 19.474 3.13011 19.851 2.16011C20.134 1.43011 20.76 1.08811 21.525 1.01511C22.002 0.970106 22.47 1.01911 22.904 1.25111C23.474 1.55611 23.806 2.02111 23.914 2.66311C24 3.17511 23.984 3.67511 23.839 4.17111C23.582 5.04911 22.951 5.50411 22.086 5.61911C21.368 5.71511 20.64 5.72711 19.916 5.77611C19.86 5.78011 19.803 5.77611 19.738 5.77611Z" fill="#027AFF"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.962 1.84399H13.636L10.211 9.65399H5.369V1.87799H1.5V22H5.37V13.523H12.194C12.7704 13.523 13.3349 13.3582 13.8208 13.0482C14.3068 12.7382 14.694 12.2957 14.937 11.773V22H18.807V13.523C18.8071 12.5454 18.4371 11.6039 17.7716 10.8879C17.106 10.1718 16.194 9.73423 15.219 9.66299V9.65299H13.094C13.606 9.47807 14.0765 9.19956 14.4762 8.83482C14.8759 8.47008 15.1961 8.02693 15.417 7.53299L17.962 1.84399Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
4
packages/ui/icons/netease-youdao.svg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
19
packages/ui/icons/newapi.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.1542 15.9784C21.6904 17.1911 21.0561 18.2875 20.2136 19.2436C18.0338 21.7149 15.2874 22.9625 11.9902 23.0001C11.982 22.9998 11.9742 22.9965 11.9682 22.9909C11.962 22.9854 11.9578 22.978 11.9563 22.9698C11.9548 22.9621 11.9557 22.9541 11.959 22.9469C11.9624 22.9391 11.9686 22.9329 11.9764 22.9295C13.7053 22.2154 15.1426 21.1209 16.216 19.5937C16.9327 18.5808 17.4395 17.4348 17.7065 16.2231C17.9055 15.3248 18.009 14.431 17.965 13.5263C17.921 12.5931 17.8257 12.0587 17.5214 11.175C17.1675 10.1484 16.6826 9.19501 16.0299 8.34343C15.2205 7.28559 14.3103 6.62925 13.3716 5.796C12.4595 4.98933 11.3641 3.39157 12.4008 2.35481C12.7528 2.00281 13.3148 1.81398 14.0857 1.78556C16.3572 1.70306 18.6791 3.28524 20.133 4.95083C20.8205 5.73916 21.398 6.599 21.8426 7.55142C22.2881 8.50568 22.5887 9.4966 22.7391 10.5269C22.861 11.3657 22.8463 11.8479 22.8234 12.6949C22.7882 13.8194 22.5619 14.9297 22.1542 15.9784Z" fill="url(#paint0_linear_1004_325486)"/>
|
||||
<path d="M11.8715 1.00917C11.8776 1.01471 11.8817 1.02211 11.8832 1.03023C11.8847 1.03835 11.8835 1.04673 11.8797 1.05408C11.8763 1.06132 11.8704 1.06714 11.8632 1.07058C10.1334 1.78467 8.69611 2.87918 7.62269 4.40635C6.90592 5.41951 6.39914 6.56585 6.13218 7.77787C5.93326 8.67529 5.82968 9.56996 5.87276 10.4738C5.91768 11.407 6.01393 11.9414 6.31826 12.8251C6.67118 13.8517 7.1561 14.8051 7.80877 15.6557C8.61819 16.7136 9.52845 17.3717 10.4671 18.2041C11.3792 19.0108 12.4746 20.6076 11.4379 21.6443C11.085 21.9973 10.5239 22.1861 9.75303 22.2145C7.48152 22.2961 5.15959 20.7148 3.70575 19.0483C3.01825 18.26 2.44075 17.4011 1.99616 16.4477C1.55311 15.5052 1.25104 14.5026 1.09966 13.4722C0.977738 12.6344 0.992405 12.1522 1.01624 11.3052C1.04741 10.1823 1.27657 9.09054 1.68541 8.0217C2.14741 6.80894 2.78266 5.71169 3.62508 4.75652C5.80401 2.28517 8.55127 1.03667 11.8485 1C11.8568 1 11.866 1.00367 11.8715 1.00917Z" fill="url(#paint1_linear_1004_325486)"/>
|
||||
<path d="M8.99413 11.911L11.2446 11.262L11.9046 8.98867C11.9083 8.97605 11.9161 8.96502 11.9268 8.95724C11.9374 8.94945 11.9503 8.94536 11.9635 8.94556C11.9766 8.94577 11.9894 8.95027 11.9998 8.95838C12.0101 8.9665 12.0176 8.97778 12.021 8.99051L12.5526 11.0622C13.264 11.4628 14.0652 11.7543 14.9562 11.9385C14.963 11.9405 14.9693 11.9441 14.9745 11.9489C14.9797 11.9538 14.9837 11.9598 14.9862 11.9665C14.9887 11.9731 14.9896 11.9803 14.9888 11.9874C14.9881 11.9945 14.9857 12.0013 14.9818 12.0073C14.9765 12.0152 14.9688 12.0213 14.9598 12.0247L12.7763 12.6746C12.7528 12.6816 12.7314 12.6943 12.714 12.7116C12.6965 12.7289 12.6836 12.7502 12.6764 12.7736L12.0164 15.014C12.015 15.0206 12.0115 15.0266 12.0063 15.0311C12.0012 15.0356 11.9948 15.0382 11.988 15.0387C11.9811 15.039 11.9743 15.037 11.9686 15.033C11.963 15.029 11.9588 15.0233 11.9568 15.0167L11.3032 12.8213C11.2955 12.7932 11.2806 12.7677 11.2601 12.7471C11.2395 12.7265 11.2139 12.7116 11.1859 12.7039L8.99504 12.0577C8.98322 12.0542 8.97242 12.0479 8.96354 12.0393C8.95466 12.0308 8.94796 12.0202 8.94401 12.0086C8.94005 11.9969 8.93896 11.9844 8.94083 11.9722C8.94269 11.96 8.94745 11.9485 8.95471 11.9385C8.96458 11.9254 8.97839 11.9157 8.99413 11.911Z" fill="url(#paint2_linear_1004_325486)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear_1004_325486" x1="17.3976" y1="1.78281" x2="17.3976" y2="23.0001" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#F85EAD"/>
|
||||
<stop offset="1" stop-color="#FD75FD"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear_1004_325486" x1="6.4411" y1="1" x2="6.4411" y2="22.2173" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.332" stop-color="#11F5EF"/>
|
||||
<stop offset="1" stop-color="#C738FB"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear_1004_325486" x1="11.9641" y1="8.94376" x2="11.9641" y2="15.0387" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.332" stop-color="#11F5EF"/>
|
||||
<stop offset="1" stop-color="#C738FB"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
16
packages/ui/icons/nomic.svg
Normal file
@@ -0,0 +1,16 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_1004_325499)">
|
||||
<path d="M22.9763 11.8991H21.6223C21.5911 11.6544 21.5211 11.4865 21.4122 11.3955C21.3032 11.2988 21.1813 11.2504 21.0464 11.2504C20.8182 11.2504 20.6444 11.3585 20.5251 11.5747C20.4109 11.791 20.3539 12.1068 20.3539 12.5222C20.3539 12.9319 20.4135 13.2448 20.5328 13.4611C20.6573 13.6773 20.8415 13.7854 21.0853 13.7854C21.2306 13.7854 21.3499 13.7399 21.4433 13.6488C21.5419 13.5521 21.6119 13.4127 21.6534 13.2306H22.9996C22.9114 13.8167 22.6883 14.2549 22.3304 14.5451C21.9776 14.8353 21.5522 14.9804 21.0542 14.9804C20.6288 14.9804 20.2605 14.8808 19.9492 14.6816C19.638 14.4768 19.3967 14.1923 19.2255 13.8281C19.0543 13.4639 18.9688 13.0286 18.9688 12.5222C18.9688 11.9987 19.0543 11.5548 19.2255 11.1906C19.4019 10.8208 19.6458 10.5391 19.957 10.3456C20.2683 10.1522 20.6314 10.0554 21.0464 10.0554C21.3784 10.0554 21.6819 10.1237 21.9569 10.2603C22.2318 10.3968 22.4575 10.6017 22.6339 10.8748C22.8154 11.148 22.9296 11.4894 22.9763 11.8991Z" fill="black"/>
|
||||
<path d="M17.4746 15.0001L17.4798 10.4288H18.8468L18.8402 15.0001H17.4746ZM17.4767 10.0318L17.4768 9.01021L18.842 9.00928V10.0318H17.4767Z" fill="black"/>
|
||||
<path d="M10.9575 14.9887L10.9507 10.2134H12.3424V14.9887H10.9575ZM12.3424 12.2581H12.0206C12.0474 11.7491 12.1278 11.3337 12.2619 11.012C12.396 10.6843 12.5703 10.4445 12.7848 10.2924C12.9993 10.1344 13.2433 10.0554 13.5168 10.0554C13.7635 10.0554 13.9888 10.1198 14.1926 10.2485C14.3963 10.3713 14.5572 10.5615 14.6752 10.8189C14.7932 11.0763 14.8522 11.4039 14.8522 11.8018V14.988H13.4539L13.4605 12.1089C13.4605 11.9158 13.4417 11.7608 13.4042 11.6438C13.3667 11.5209 13.3104 11.4303 13.2353 11.3718C13.1602 11.3133 13.069 11.284 12.9618 11.284C12.8706 11.284 12.7875 11.3074 12.7124 11.3542C12.6373 11.401 12.573 11.4683 12.5193 11.556C12.4657 11.638 12.4228 11.7403 12.3906 11.8632C12.3585 11.9802 12.3424 12.1118 12.3424 12.2581ZM14.8522 12.2581H14.3213C14.3481 11.7491 14.4339 11.3337 14.5787 11.012C14.7235 10.6843 14.9139 10.4445 15.1498 10.2924C15.3912 10.1344 15.662 10.0554 15.9623 10.0554C16.2251 10.0554 16.4611 10.1198 16.6702 10.2485C16.8847 10.3713 17.0537 10.5615 17.177 10.8189C17.3004 11.0763 17.362 11.4039 17.362 11.8018L17.3687 14.988H15.9704V12.1089C15.9704 11.9158 15.9516 11.7608 15.914 11.6438C15.8765 11.5209 15.8202 11.4303 15.7451 11.3718C15.6701 11.3133 15.5789 11.284 15.4716 11.284C15.3805 11.284 15.2973 11.3074 15.2222 11.3542C15.1472 11.401 15.0828 11.4683 15.0292 11.556C14.9755 11.638 14.9326 11.7403 14.9005 11.8632C14.8683 11.9802 14.8522 12.1118 14.8522 12.2581Z" fill="black"/>
|
||||
<path d="M8.72448 14.9804C8.28661 14.9804 7.90867 14.8808 7.5907 14.6816C7.27791 14.4825 7.03294 14.2008 6.8557 13.8366C6.68366 13.4668 6.59766 13.0286 6.59766 12.5222C6.59766 11.9987 6.68627 11.5548 6.86351 11.1906C7.04075 10.8208 7.28834 10.5391 7.60633 10.3456C7.92432 10.1522 8.29702 10.0554 8.72448 10.0554C9.15715 10.0554 9.53246 10.1578 9.85045 10.3627C10.1684 10.5619 10.4134 10.8464 10.5855 11.2162C10.7575 11.5804 10.8435 12.0157 10.8435 12.5222C10.8435 13.0457 10.7549 13.4895 10.5776 13.8537C10.4056 14.2179 10.1606 14.4967 9.84263 14.6902C9.52464 14.8836 9.15192 14.9804 8.72448 14.9804ZM8.72448 13.7854C8.95906 13.7854 9.13889 13.6773 9.26401 13.4611C9.38911 13.2448 9.45168 12.9319 9.45168 12.5222C9.45168 12.1068 9.38911 11.791 9.26401 11.5747C9.13889 11.3585 8.95906 11.2504 8.72448 11.2504C8.48468 11.2504 8.30224 11.3585 8.17714 11.5747C8.05202 11.791 7.98948 12.1068 7.98948 12.5222C7.98948 12.9319 8.05202 13.2448 8.17714 13.4611C8.30224 13.6773 8.48468 13.7854 8.72448 13.7854Z" fill="black"/>
|
||||
<path d="M5.11914 9H6.51004V14.9879H5.11914V9Z" fill="black"/>
|
||||
<path d="M3.69472 9C3.82159 9.988 4.36226 10.8306 5.11918 11.3145L5.1192 14.9879C5.11015 14.9879 5.10103 14.9878 5.09188 14.9878C4.78546 14.0921 3.87203 12.3456 2.40969 11.8259L2.3374 11.8015V9H3.69472Z" fill="black"/>
|
||||
<path d="M1 11.8015H2.39091V14.9881H1V11.8015Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1004_325499">
|
||||
<rect width="22" height="6" fill="white" transform="translate(1 9)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
3
packages/ui/icons/nvidia.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.20243 9.47412V8.12187C9.33198 8.11352 9.46154 8.10518 9.59109 8.10518C13.1862 7.98831 15.5425 11.2938 15.5425 11.2938C15.5425 11.2938 13 14.9332 10.2713 14.9332C9.90688 14.9332 9.55061 14.8748 9.21053 14.7579V10.6511C10.6113 10.8264 10.8947 11.4608 11.7287 12.9048L13.5992 11.2855C13.5992 11.2855 12.2308 9.44073 9.93117 9.44073C9.68826 9.43239 9.44534 9.44908 9.20243 9.47412ZM9.20243 5V7.02003L9.59109 6.99499C14.587 6.8197 17.8502 11.2187 17.8502 11.2187C17.8502 11.2187 14.1093 15.9099 10.2146 15.9099C9.87449 15.9099 9.54251 15.8765 9.21053 15.818V17.0701C9.48583 17.1035 9.76923 17.1285 10.0445 17.1285C13.6721 17.1285 16.2955 15.217 18.8381 12.9633C19.2591 13.3139 20.9838 14.1569 21.3401 14.5242C18.9271 16.611 13.2996 18.2888 10.1093 18.2888C9.80162 18.2888 9.51012 18.2721 9.21862 18.2387V20H23V5L9.20243 5ZM9.20243 14.7579V15.8264C5.8502 15.2087 4.91903 11.611 4.91903 11.611C4.91903 11.611 6.53036 9.77462 9.20243 9.47412V10.6427H9.19433C7.79352 10.4674 6.69231 11.8197 6.69231 11.8197C6.69231 11.8197 7.31579 14.0985 9.20243 14.7579ZM3.25101 11.4608C3.25101 11.4608 5.23482 8.43907 9.21053 8.12187V7.02003C4.80567 7.38731 1 11.227 1 11.227C1 11.227 3.15385 17.6544 9.20243 18.2387V17.0701C4.76518 16.5025 3.25101 11.4608 3.25101 11.4608Z" fill="#76B900"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
9
packages/ui/icons/o3.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |