mirror of
https://github.com/hanzoai/icons.git
synced 2026-09-24 16:59:52 +00:00
✨ feat: Update rn
This commit is contained in:
+2
-2
@@ -32,9 +32,9 @@
|
||||
"scripts": {
|
||||
"auto-converter-web-icons-to-rn": "tsx scripts/rn-conversion/auto-converter.ts --lint",
|
||||
"build": "npm run build:toc && father build && npm run build:rn",
|
||||
"build:rn": "bun run --cwd packages/react-native build",
|
||||
"build:rn": "tsx run --cwd packages/react-native build",
|
||||
"build:static": "tsx scripts/svgWorkflow/index.ts",
|
||||
"build:toc": "bun scripts/tocWorkflow/index.ts",
|
||||
"build:toc": "tsx scripts/tocWorkflow/index.ts",
|
||||
"build:watch": "father dev",
|
||||
"ci": "npm run lint && npm run type-check",
|
||||
"clean": "rm -r es lib dist coverage .dumi/tmp .eslintcache node_modules/.cache",
|
||||
|
||||
@@ -86,6 +86,7 @@ import V0 from '../icons/V0';
|
||||
import VertexAI from '../icons/VertexAI';
|
||||
import Voyage from '../icons/Voyage';
|
||||
import Wenxin from '../icons/Wenxin';
|
||||
import XiaomiMiMo from '../icons/XiaomiMiMo';
|
||||
import Yi from '../icons/Yi';
|
||||
import ZAI from '../icons/ZAI';
|
||||
import type { RNIconAvatarProps, RNIconCombineProps, RNIconProps } from './types';
|
||||
@@ -153,7 +154,10 @@ export const rnModelMappings: RNModelMapping[] = [
|
||||
Icon: NousResearch,
|
||||
keywords: ['deephermes', 'hermes', 'genstruct', 'minos'],
|
||||
},
|
||||
{ Icon: Nvidia, keywords: ['nemotron', 'openreasoning'] },
|
||||
{
|
||||
Icon: Nvidia,
|
||||
keywords: ['nemotron', 'openreasoning', 'nemoretriever', 'neva-', 'nv-'],
|
||||
},
|
||||
{ Icon: Meta, keywords: ['llama', '/l3'] },
|
||||
{ Icon: LLaVA, keywords: ['llava'] },
|
||||
{ Icon: Gemini, keywords: ['gemini'] },
|
||||
@@ -204,10 +208,13 @@ export const rnModelMappings: RNModelMapping[] = [
|
||||
],
|
||||
},
|
||||
{ Icon: EssentialAI, keywords: ['^rnj-', '/rnj-'] },
|
||||
{ Icon: DeepCogito, keywords: ['^deepcogito-', '/deepcogito-'] },
|
||||
{
|
||||
Icon: DeepCogito,
|
||||
keywords: ['^deepcogito-', '/deepcogito-', '^cogito-', '/cogito-'],
|
||||
},
|
||||
{ Icon: Morph, keywords: ['^morph-', '/morph-'] },
|
||||
{ Icon: Ai2, keywords: ['^olmo-', '/olmo-'] },
|
||||
{ Icon: Inception, keywords: ['^mercury-', '/mercury-'] },
|
||||
{ Icon: Inception, keywords: ['^mercury', '/mercury'] },
|
||||
{ Icon: OpenChat, keywords: ['^openchat'] },
|
||||
{ Icon: Aya, keywords: ['aya'] },
|
||||
{ Icon: Cohere, keywords: ['command'] },
|
||||
@@ -291,4 +298,5 @@ export const rnModelMappings: RNModelMapping[] = [
|
||||
{ Icon: LongCat, keywords: ['longcat'] },
|
||||
{ Icon: Kwaipilot, keywords: ['kat-'] },
|
||||
{ Icon: Nova, keywords: ['^nova-', '/nova-'] },
|
||||
{ Icon: XiaomiMiMo, keywords: ['^mimo-', '/mimo-'] },
|
||||
];
|
||||
|
||||
@@ -5,53 +5,93 @@ import Ai302 from '../icons/Ai302';
|
||||
import Ai360 from '../icons/Ai360';
|
||||
import AiHubMix from '../icons/AiHubMix';
|
||||
import AiMass from '../icons/AiMass';
|
||||
import AiStudio from '../icons/AiStudio';
|
||||
import AkashChat from '../icons/AkashChat';
|
||||
import AlephAlpha from '../icons/AlephAlpha';
|
||||
import Alibaba from '../icons/Alibaba';
|
||||
import AlibabaCloud from '../icons/AlibabaCloud';
|
||||
import AntGroup from '../icons/AntGroup';
|
||||
import Anthropic from '../icons/Anthropic';
|
||||
import Anyscale from '../icons/Anyscale';
|
||||
import Apple from '../icons/Apple';
|
||||
import AtlasCloud from '../icons/AtlasCloud';
|
||||
import Aws from '../icons/Aws';
|
||||
import Azure from '../icons/Azure';
|
||||
import AzureAI from '../icons/AzureAI';
|
||||
import Baichuan from '../icons/Baichuan';
|
||||
import Baidu from '../icons/Baidu';
|
||||
import BaiduCloud from '../icons/BaiduCloud';
|
||||
import Bailian from '../icons/Bailian';
|
||||
import Baseten from '../icons/Baseten';
|
||||
import Bedrock from '../icons/Bedrock';
|
||||
import Bfl from '../icons/Bfl';
|
||||
import Bilibili from '../icons/Bilibili';
|
||||
import BurnCloud from '../icons/BurnCloud';
|
||||
import ByteDance from '../icons/ByteDance';
|
||||
import CentML from '../icons/CentML';
|
||||
import Cerebras from '../icons/Cerebras';
|
||||
import Civitai from '../icons/Civitai';
|
||||
import Claude from '../icons/Claude';
|
||||
import Cloudflare from '../icons/Cloudflare';
|
||||
import Cohere from '../icons/Cohere';
|
||||
import CometAPI from '../icons/CometAPI';
|
||||
import ComfyUI from '../icons/ComfyUI';
|
||||
import Copilot from '../icons/Copilot';
|
||||
import Crusoe from '../icons/Crusoe';
|
||||
import DeepInfra from '../icons/DeepInfra';
|
||||
import DeepMind from '../icons/DeepMind';
|
||||
import DeepSeek from '../icons/DeepSeek';
|
||||
import Doubao from '../icons/Doubao';
|
||||
import Exa from '../icons/Exa';
|
||||
import Fal from '../icons/Fal';
|
||||
import Featherless from '../icons/Featherless';
|
||||
import Fireworks from '../icons/Fireworks';
|
||||
import Friendli from '../icons/Friendli';
|
||||
import Gemini from '../icons/Gemini';
|
||||
import GiteeAI from '../icons/GiteeAI';
|
||||
import Github from '../icons/Github';
|
||||
import GithubCopilot from '../icons/GithubCopilot';
|
||||
import Google from '../icons/Google';
|
||||
import GoogleCloud from '../icons/GoogleCloud';
|
||||
import Groq from '../icons/Groq';
|
||||
import Higress from '../icons/Higress';
|
||||
import Huawei from '../icons/Huawei';
|
||||
import HuaweiCloud from '../icons/HuaweiCloud';
|
||||
import HuggingFace from '../icons/HuggingFace';
|
||||
import Hunyuan from '../icons/Hunyuan';
|
||||
import Hyperbolic from '../icons/Hyperbolic';
|
||||
import IBM from '../icons/IBM';
|
||||
import IFlyTekCloud from '../icons/IFlyTekCloud';
|
||||
import Inference from '../icons/Inference';
|
||||
import Infermatic from '../icons/Infermatic';
|
||||
import Infinigence from '../icons/Infinigence';
|
||||
import InternLM from '../icons/InternLM';
|
||||
import Jina from '../icons/Jina';
|
||||
import Kluster from '../icons/Kluster';
|
||||
import LG from '../icons/LG';
|
||||
import Lambda from '../icons/Lambda';
|
||||
import LeptonAI from '../icons/LeptonAI';
|
||||
import LmStudio from '../icons/LmStudio';
|
||||
import LobeHub from '../icons/LobeHub';
|
||||
import LongCat from '../icons/LongCat';
|
||||
import Menlo from '../icons/Menlo';
|
||||
import Meta from '../icons/Meta';
|
||||
import Microsoft from '../icons/Microsoft';
|
||||
import Minimax from '../icons/Minimax';
|
||||
import Mistral from '../icons/Mistral';
|
||||
import ModelScope from '../icons/ModelScope';
|
||||
import Moonshot from '../icons/Moonshot';
|
||||
import NPLCloud from '../icons/NPLCloud';
|
||||
import Nebius from '../icons/Nebius';
|
||||
import NewAPI from '../icons/NewAPI';
|
||||
import NousResearch from '../icons/NousResearch';
|
||||
import Novita from '../icons/Novita';
|
||||
import Nvidia from '../icons/Nvidia';
|
||||
import Ollama from '../icons/Ollama';
|
||||
import OpenAI from '../icons/OpenAI';
|
||||
import OpenRouter from '../icons/OpenRouter';
|
||||
import PPIO from '../icons/PPIO';
|
||||
import Parasail from '../icons/Parasail';
|
||||
import Perplexity from '../icons/Perplexity';
|
||||
import Player2 from '../icons/Player2';
|
||||
import Qiniu from '../icons/Qiniu';
|
||||
@@ -59,12 +99,21 @@ import Qwen from '../icons/Qwen';
|
||||
import Replicate from '../icons/Replicate';
|
||||
import SambaNova from '../icons/SambaNova';
|
||||
import Search1API from '../icons/Search1API';
|
||||
import SearchApi from '../icons/SearchApi';
|
||||
import SenseNova from '../icons/SenseNova';
|
||||
import SiliconCloud from '../icons/SiliconCloud';
|
||||
import Snowflake from '../icons/Snowflake';
|
||||
import SophNet from '../icons/SophNet';
|
||||
import Spark from '../icons/Spark';
|
||||
import Stability from '../icons/Stability';
|
||||
import StateCloud from '../icons/StateCloud';
|
||||
import Stepfun from '../icons/Stepfun';
|
||||
import Straico from '../icons/Straico';
|
||||
import StreamLake from '../icons/StreamLake';
|
||||
import SubModel from '../icons/SubModel';
|
||||
import TII from '../icons/TII';
|
||||
import Targon from '../icons/Targon';
|
||||
import Tencent from '../icons/Tencent';
|
||||
import TencentCloud from '../icons/TencentCloud';
|
||||
import Together from '../icons/Together';
|
||||
import Upstage from '../icons/Upstage';
|
||||
@@ -76,7 +125,9 @@ import Volcengine from '../icons/Volcengine';
|
||||
import Wenxin from '../icons/Wenxin';
|
||||
import WorkersAI from '../icons/WorkersAI';
|
||||
import XAI from '../icons/XAI';
|
||||
import XiaomiMiMo from '../icons/XiaomiMiMo';
|
||||
import Xinference from '../icons/Xinference';
|
||||
import Yandex from '../icons/Yandex';
|
||||
import ZenMux from '../icons/ZenMux';
|
||||
import ZeroOne from '../icons/ZeroOne';
|
||||
import Zhipu from '../icons/Zhipu';
|
||||
@@ -102,6 +153,55 @@ export interface RNProviderMapping {
|
||||
}
|
||||
|
||||
export const rnProviderMappings: RNProviderMapping[] = [
|
||||
{ Icon: Alibaba, keywords: [RNModelProvider.Alibaba] },
|
||||
{ Icon: AlephAlpha, keywords: [RNModelProvider.AlephAlpha] },
|
||||
{ Icon: AntGroup, keywords: [RNModelProvider.AntGroup] },
|
||||
{ Icon: Anyscale, keywords: [RNModelProvider.Anyscale] },
|
||||
{ Icon: Apple, keywords: [RNModelProvider.Apple] },
|
||||
{ Icon: Baidu, keywords: [RNModelProvider.Baidu] },
|
||||
{ Icon: Bailian, keywords: [RNModelProvider.Bailian] },
|
||||
{ Icon: Baseten, keywords: [RNModelProvider.Baseten] },
|
||||
{ Icon: Bilibili, keywords: [RNModelProvider.Bilibili] },
|
||||
{ Icon: ByteDance, keywords: [RNModelProvider.ByteDance] },
|
||||
{ Icon: CentML, keywords: [RNModelProvider.CentML] },
|
||||
{ Icon: Civitai, keywords: [RNModelProvider.Civitai] },
|
||||
{ Icon: Crusoe, keywords: [RNModelProvider.Crusoe] },
|
||||
{ Icon: DeepInfra, keywords: [RNModelProvider.DeepInfra] },
|
||||
{ Icon: DeepMind, keywords: [RNModelProvider.DeepMind] },
|
||||
{ Icon: Exa, keywords: [RNModelProvider.Exa] },
|
||||
{ Icon: Featherless, keywords: [RNModelProvider.Featherless] },
|
||||
{ Icon: Friendli, keywords: [RNModelProvider.Friendli] },
|
||||
{ Icon: GoogleCloud, keywords: [RNModelProvider.GoogleCloud] },
|
||||
{ Icon: Huawei, keywords: [RNModelProvider.Huawei] },
|
||||
{ Icon: HuaweiCloud, keywords: [RNModelProvider.HuaweiCloud] },
|
||||
{ Icon: Hyperbolic, keywords: [RNModelProvider.Hyperbolic] },
|
||||
{ Icon: IBM, keywords: [RNModelProvider.IBM] },
|
||||
{ Icon: IFlyTekCloud, keywords: [RNModelProvider.IFlyTekCloud] },
|
||||
{ Icon: Inference, keywords: [RNModelProvider.Inference] },
|
||||
{ Icon: Infermatic, keywords: [RNModelProvider.Infermatic] },
|
||||
{ Icon: Kluster, keywords: [RNModelProvider.Kluster] },
|
||||
{ Icon: Lambda, keywords: [RNModelProvider.Lambda] },
|
||||
{ Icon: LeptonAI, keywords: [RNModelProvider.LeptonAI] },
|
||||
{ Icon: LG, keywords: [RNModelProvider.LG] },
|
||||
{ Icon: Menlo, keywords: [RNModelProvider.Menlo] },
|
||||
{ Icon: Meta, keywords: [RNModelProvider.Meta] },
|
||||
{ Icon: Microsoft, keywords: [RNModelProvider.Microsoft] },
|
||||
{ Icon: NPLCloud, keywords: [RNModelProvider.NPLCloud] },
|
||||
{ Icon: NousResearch, keywords: [RNModelProvider.NousResearch] },
|
||||
{ Icon: Parasail, keywords: [RNModelProvider.Parasail] },
|
||||
{ Icon: SearchApi, keywords: [RNModelProvider.SearchApi] },
|
||||
{ Icon: Snowflake, keywords: [RNModelProvider.Snowflake] },
|
||||
{ Icon: Stability, keywords: [RNModelProvider.Stability] },
|
||||
{ Icon: StateCloud, keywords: [RNModelProvider.StateCloud] },
|
||||
{ Icon: StreamLake, keywords: [RNModelProvider.StreamLake] },
|
||||
{ Icon: SubModel, keywords: [RNModelProvider.SubModel] },
|
||||
{ Icon: Targon, keywords: [RNModelProvider.Targon] },
|
||||
{ Icon: Tencent, keywords: [RNModelProvider.Tencent] },
|
||||
{ Icon: TII, keywords: [RNModelProvider.TII] },
|
||||
{ Icon: Yandex, keywords: [RNModelProvider.Yandex] },
|
||||
|
||||
{ Icon: AiMass, keywords: [RNModelProvider.AiMass] },
|
||||
{ Icon: AiStudio, keywords: [RNModelProvider.AiStudio] },
|
||||
{ Icon: LobeHub, combineMultiple: 1.1, keywords: [RNModelProvider.LobeHub] },
|
||||
{ Icon: Zhipu, combineMultiple: 1.25, keywords: [RNModelProvider.ZhiPu] },
|
||||
{
|
||||
@@ -200,6 +300,12 @@ export const rnProviderMappings: RNProviderMapping[] = [
|
||||
{ Icon: Ai21, combineMultiple: 0.9, keywords: [RNModelProvider.Ai21] },
|
||||
{ Icon: Player2, combineMultiple: 0.9, keywords: [RNModelProvider.Player2] },
|
||||
{ Icon: Github, combineMultiple: 0.95, keywords: [RNModelProvider.Github] },
|
||||
{
|
||||
Icon: GithubCopilot,
|
||||
combineMultiple: 0.95,
|
||||
keywords: [RNModelProvider.GithubCopilot, 'github-copilot'],
|
||||
},
|
||||
{ Icon: Copilot, combineMultiple: 0.95, keywords: [RNModelProvider.Copilot] },
|
||||
{ Icon: Doubao, keywords: [RNModelProvider.Doubao] },
|
||||
{ Icon: Hunyuan, keywords: [RNModelProvider.Hunyuan] },
|
||||
{ Icon: Nvidia, keywords: [RNModelProvider.Nvidia] },
|
||||
@@ -265,12 +371,17 @@ export const rnProviderMappings: RNProviderMapping[] = [
|
||||
Icon: Vercel,
|
||||
keywords: [RNModelProvider.V0],
|
||||
},
|
||||
{ Icon: Vercel, combineMultiple: 0.85, keywords: [RNModelProvider.Vercel] },
|
||||
{
|
||||
Icon: Vercel,
|
||||
combineMultiple: 0.85,
|
||||
keywords: [RNModelProvider.Vercel, RNModelProvider.VercelAIGateway],
|
||||
},
|
||||
{ Icon: Bfl, keywords: [RNModelProvider.Bfl] },
|
||||
{ Icon: Replicate, combineMultiple: 0.9, keywords: [RNModelProvider.Replicate] },
|
||||
{ Icon: Nebius, combineMultiple: 0.75, keywords: [RNModelProvider.Nebius] },
|
||||
{ Icon: NewAPI, combineMultiple: 0.85, keywords: [RNModelProvider.NewAPI] },
|
||||
{ Icon: AkashChat, combineMultiple: 0.8, keywords: [RNModelProvider.AkashChat] },
|
||||
{ Icon: AtlasCloud, combineMultiple: 0.8, keywords: [RNModelProvider.AtlasCloud] },
|
||||
{ Icon: SophNet, combineMultiple: 0.85, keywords: [RNModelProvider.SophNet] },
|
||||
{
|
||||
Combine: memo(({ size = 24, ...props }) => (
|
||||
@@ -293,4 +404,5 @@ export const rnProviderMappings: RNProviderMapping[] = [
|
||||
keywords: [RNModelProvider.ZenMux],
|
||||
props: { inverse: true },
|
||||
},
|
||||
{ Icon: XiaomiMiMo, combineMultiple: 0.7, keywords: [RNModelProvider.XiaomiMiMo] },
|
||||
];
|
||||
|
||||
@@ -3,42 +3,89 @@ export enum RNModelProvider {
|
||||
Ai302 = 'ai302',
|
||||
Ai360 = 'ai360',
|
||||
AiHubMix = 'aihubmix',
|
||||
AiMass = 'aimass',
|
||||
AiStudio = 'aistudio',
|
||||
AkashChat = 'akashchat',
|
||||
AlephAlpha = 'alephalpha',
|
||||
Alibaba = 'alibaba',
|
||||
AlibabaCloud = 'alibabacloud',
|
||||
AntGroup = 'antgroup',
|
||||
Anthropic = 'anthropic',
|
||||
Anyscale = 'anyscale',
|
||||
Apple = 'apple',
|
||||
AtlasCloud = 'atlascloud',
|
||||
Aws = 'aws',
|
||||
Azure = 'azure',
|
||||
AzureAI = 'azureai',
|
||||
Baichuan = 'baichuan',
|
||||
Baidu = 'baidu',
|
||||
BaiduCloud = 'baiducloud',
|
||||
Bailian = 'bailian',
|
||||
Baseten = 'baseten',
|
||||
Bedrock = 'bedrock',
|
||||
Bfl = 'bfl',
|
||||
Bilibili = 'bilibili',
|
||||
BurnCloud = 'burncloud',
|
||||
ByteDance = 'bytedance',
|
||||
CentML = 'centml',
|
||||
Cerebras = 'cerebras',
|
||||
Civitai = 'civitai',
|
||||
Claude = 'claude',
|
||||
Cloudflare = 'cloudflare',
|
||||
Cohere = 'cohere',
|
||||
CometAPI = 'cometapi',
|
||||
ComfyUI = 'comfyui',
|
||||
Copilot = 'copilot',
|
||||
Crusoe = 'crusoe',
|
||||
DeepInfra = 'deepinfra',
|
||||
DeepMind = 'deepmind',
|
||||
DeepSeek = 'deepseek',
|
||||
Doubao = 'Doubao',
|
||||
Doubao = 'doubao',
|
||||
Exa = 'exa',
|
||||
Fal = 'fal',
|
||||
Featherless = 'featherless',
|
||||
Fireworks = 'fireworks',
|
||||
FireworksAI = 'fireworksai',
|
||||
Friendli = 'friendli',
|
||||
Gemini = 'gemini',
|
||||
GiteeAI = 'giteeai',
|
||||
Github = 'github',
|
||||
GithubCopilot = 'githubcopilot',
|
||||
Google = 'google',
|
||||
GoogleCloud = 'googlecloud',
|
||||
Groq = 'groq',
|
||||
Higress = 'higress',
|
||||
Huawei = 'huawei',
|
||||
HuaweiCloud = 'huaweicloud',
|
||||
HuggingFace = 'huggingface',
|
||||
Hunyuan = 'hunyuan',
|
||||
Hyperbolic = 'hyperbolic',
|
||||
IBM = 'ibm',
|
||||
IFlyTekCloud = 'iflytekcloud',
|
||||
Inference = 'inference',
|
||||
Infermatic = 'infermatic',
|
||||
InfiniAI = 'infiniai',
|
||||
Infinigence = 'infinigence',
|
||||
InternLM = 'internlm',
|
||||
Jina = 'jina',
|
||||
Kluster = 'kluster',
|
||||
LG = 'lg',
|
||||
Lambda = 'lambda',
|
||||
LeptonAI = 'leptonai',
|
||||
LmStudio = 'lmstudio',
|
||||
LobeHub = 'lobehub',
|
||||
LongCat = 'longcat',
|
||||
Menlo = 'menlo',
|
||||
Meta = 'meta',
|
||||
Microsoft = 'microsoft',
|
||||
Minimax = 'minimax',
|
||||
Mistral = 'mistral',
|
||||
ModelScope = 'modelscope',
|
||||
Moonshot = 'moonshot',
|
||||
NPLCloud = 'nplcloud',
|
||||
Nebius = 'nebius',
|
||||
NewAPI = 'newapi',
|
||||
NousResearch = 'nousresearch',
|
||||
Novita = 'novita',
|
||||
Nvidia = 'nvidia',
|
||||
Ollama = 'ollama',
|
||||
@@ -46,31 +93,45 @@ export enum RNModelProvider {
|
||||
OpenAI = 'openai',
|
||||
OpenRouter = 'openrouter',
|
||||
PPIO = 'ppio',
|
||||
Parasail = 'parasail',
|
||||
Perplexity = 'perplexity',
|
||||
Player2 = 'Player2',
|
||||
Player2 = 'player2',
|
||||
Qiniu = 'qiniu',
|
||||
Qwen = 'qwen',
|
||||
Replicate = 'replicate',
|
||||
SambaNova = 'sambanova',
|
||||
Search1API = 'search1api',
|
||||
SearchApi = 'searchapi',
|
||||
SenseNova = 'sensenova',
|
||||
SiliconCloud = 'siliconcloud',
|
||||
Snowflake = 'snowflake',
|
||||
SophNet = 'sophnet',
|
||||
Spark = 'spark',
|
||||
Stability = 'stability',
|
||||
StateCloud = 'statecloud',
|
||||
Stepfun = 'stepfun',
|
||||
Straico = 'straico',
|
||||
StreamLake = 'streamlake',
|
||||
SubModel = 'submodel',
|
||||
TII = 'tii',
|
||||
Taichu = 'taichu',
|
||||
Targon = 'targon',
|
||||
Tencent = 'tencent',
|
||||
TencentCloud = 'tencentcloud',
|
||||
TogetherAI = 'togetherai',
|
||||
Upstage = 'upstage',
|
||||
V0 = 'v0',
|
||||
VLLM = 'vllm',
|
||||
Vercel = 'vercelaigateway',
|
||||
Vercel = 'vercel',
|
||||
VercelAIGateway = 'vercelaigateway',
|
||||
VertexAI = 'vertexai',
|
||||
Volcengine = 'volcengine',
|
||||
Wenxin = 'wenxin',
|
||||
WorkersAI = 'workersai',
|
||||
XAI = 'xai',
|
||||
XiaomiMiMo = 'xiaomimimo',
|
||||
Xinference = 'xinference',
|
||||
Yandex = 'yandex',
|
||||
ZenMux = 'zenmux',
|
||||
ZeroOne = 'zeroone',
|
||||
ZhiPu = 'zhipu',
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconAvatar, type RNIconAvatarProps } from '@/features';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<RNIconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ background, ...rest }) => {
|
||||
return (
|
||||
<RNIconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={background || AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,20 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconCombine, type RNIconCombineProps } from '@/features';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Text from './Text';
|
||||
|
||||
const Combine = memo<RNIconCombineProps>(({ ...rest }) => {
|
||||
return (
|
||||
<RNIconCombine
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M20.2,18.01L12,0.47,3.8,18.01l-2.58,5.52c1.62,-1.05,3.39,-1.86,5.26,-2.41,1.76,-0.51,3.61,-0.79,5.52,-0.79,0.98,0,1.95,0.08,2.9,0.22l-1.86,-4.3c-0.53,-0.1,-2.87,-0.1,-4.59,0.3l3.56,-8.28,5.52,12.85c0.01,0,0.02,0.01,0.03,0.01,1.86,0.55,3.62,1.36,5.23,2.4l-2.58,-5.52Z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'AtlasCloudMono';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,28 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 162 24"
|
||||
width={size * 6.75} // 保持宽高比
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
clipRule="evenodd"
|
||||
d="M12.252 1L1 22.778c5.204-2.045 9.429-2.356 13.21-2.178l-1.735-3.822c-.756-.09-2.936-.09-3.959.178L12.252 8.6l5.649 12.311c1.067.178 4.002 1.156 5.603 1.911L12.252 1.044V1zM26.128 2.11v5.156h-2.446v2.711h2.447v12.045h3.557V9.978h2.491V7.265h-2.49V2.111h-3.559zM34.223 2.11h3.513v19.912h-3.513V2.11zM43.963 14.688c0 1.823 1.334 4.49 4.492 4.49 1.957 0 3.247-1.023 3.914-2.356.356-.667.489-1.333.578-2.09a4.281 4.281 0 00-.4-2.088c-.623-1.422-2.002-2.622-4.136-2.622-2.847 0-4.448 2.31-4.448 4.622v.044zm12.498 7.334h-3.514v-2.133c-.934 1.733-2.89 2.577-4.981 2.577-4.715 0-7.517-3.689-7.517-7.866 0-4.667 3.38-7.823 7.517-7.823 2.668 0 4.314 1.423 4.981 2.623V7.266h3.514v14.8-.044zM66.334 11.222c-.044-.8-.445-1.6-1.823-1.6-1.201 0-1.735.755-1.735 1.466.044.934 1.112 1.467 2.49 1.867 2.358.667 4.937 1.334 4.937 4.533.045 3.023-2.49 4.978-5.603 4.978-2.269 0-5.382-1.2-5.649-4.755h3.514c.133 1.6 1.512 1.91 2.179 1.91 1.112 0 2.046-.71 2.001-1.732 0-1.245-1.111-1.6-3.824-2.578-2.002-.623-3.603-1.734-3.648-3.867 0-2.889 2.447-4.711 5.293-4.711 2.002 0 4.937.889 5.248 4.444h-3.469l.089.045zM100.402 15.355c-1.2 4.134-5.07 7.067-9.74 7.067-6.093 0-10.452-4.8-10.452-10.356 0-5.555 4.092-10.31 10.407-10.31 5.738.044 8.984 4.266 9.74 7.155h-4.225c-.622-1.378-2.401-3.6-5.56-3.645-3.868 0-6.359 3.245-6.359 6.8 0 3.556 2.624 6.845 6.404 6.845 3.558 0 5.16-2.8 5.56-3.511h4.225v-.045zM103.026 2.11h3.513v19.912h-3.513V2.11zM112.766 14.644c0 2.578 1.957 4.489 4.403 4.489 2.446 0 4.359-1.911 4.359-4.533 0-2.623-1.957-4.534-4.359-4.534s-4.403 1.911-4.403 4.534v.044zm-3.514-.044c0-3.778 2.758-7.778 7.917-7.778s7.917 4 7.917 7.822-2.758 7.822-7.917 7.822-7.917-4-7.917-7.822V14.6zM141.364 22.022h-3.292v-1.955c-.622 1.155-1.957 2.444-4.581 2.444-4.847-.044-5.737-3.733-5.737-6.311V7.267h3.514v8.044c0 2.178.711 3.911 3.246 3.867 2.535 0 3.38-1.69 3.38-3.778V7.222h3.514v14.8h-.044zM147.59 14.644c0 2.49 1.823 4.533 4.536 4.533 1.29 0 2.447-.533 3.292-1.333.845-.844 1.334-2 1.245-3.289 0-1.289-.489-2.4-1.334-3.2-.801-.8-1.913-1.289-3.203-1.289-2.89 0-4.536 2.223-4.536 4.534v.044zm12.364 7.378h-3.38v-2.133c-.667 1.11-2.046 2.577-5.07 2.577-4.537 0-7.472-3.555-7.472-7.866 0-4.8 3.425-7.822 7.427-7.822 2.802 0 4.403 1.51 4.937 2.355V2.066h3.514v19.912l.044.044z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'AtlasCloudText';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,23 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
|
||||
export default Icons;
|
||||
@@ -0,0 +1,8 @@
|
||||
export const TITLE = 'Atlas Cloud';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.75;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.2;
|
||||
export const COLOR_PRIMARY = '#7036F0';
|
||||
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.6;
|
||||
@@ -0,0 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconAvatar, type RNIconAvatarProps } from '@/features';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Inner from './Inner';
|
||||
|
||||
export type AvatarProps = Omit<RNIconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ background, ...rest }) => {
|
||||
return (
|
||||
<RNIconAvatar
|
||||
Icon={Inner}
|
||||
aria-label={TITLE}
|
||||
background={background || AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,24 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconCombine, type RNIconCombineProps } from '@/features';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export type CombineProps = Omit<RNIconCombineProps, 'Icon' | 'Text'>;
|
||||
|
||||
const Combine = memo<CombineProps>(({ ...rest }) => {
|
||||
return (
|
||||
<RNIconCombine
|
||||
Icon={Mono}
|
||||
Text={Text as any}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,33 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M9.377 10.47l-.018 6.023 3.374.025-.01 1.523-4.891-.034.022-7.541 1.523.004z"
|
||||
fill={color}
|
||||
/>
|
||||
<Path
|
||||
clipRule="evenodd"
|
||||
d="M15.365 5.778a3.794 3.794 0 010 7.585 3.794 3.794 0 010-7.585zm0 1.447A2.35 2.35 0 0013.02 9.57a2.349 2.349 0 002.346 2.346 2.348 2.348 0 002.346-2.346 2.349 2.349 0 00-2.346-2.346z"
|
||||
fill={color}
|
||||
/>
|
||||
<Path d="M6.043 11.966l-3.508.004-.002-1.524 3.508-.004.002 1.524z" fill={color} />
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'LovartInner';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M11.86-.14c6.622 0 12 5.377 12 12 0 6.622-5.378 12-12 12-6.623 0-12-5.378-12-12 0-6.623 5.377-12 12-12zM7.831 18.006l4.892.034.01-1.523-3.375-.025.018-6.023-1.523-.004-.022 7.54zm7.533-12.229a3.794 3.794 0 000 7.585 3.794 3.794 0 000-7.585zM2.533 10.446l.002 1.524 3.508-.004-.002-1.524-3.508.004zm12.832-3.221a2.349 2.349 0 012.346 2.346 2.348 2.348 0 01-2.346 2.346 2.349 2.349 0 01-2.346-2.346 2.35 2.35 0 012.346-2.346z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'LovartMono';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 101 24"
|
||||
width={size * 4.21} // 保持宽高比
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M55.024 13.262c0-4.784 3.217-8.631 7.922-8.631 2.318 0 4.397 1.057 5.209 2.869l.536-.01V4.965h3.612v16.56h-3.65v-2.884l-.729-.004c-.807 2.093-2.399 3.222-4.978 3.222-4.705 0-7.922-3.847-7.922-8.598zm13.63 0c0-2.91-2.007-5.052-4.74-5.052-2.906 0-4.982 2.141-4.982 5.052 0 2.91 2.076 5.018 4.982 5.018 2.698 0 4.74-2.075 4.74-5.018zm8.193 8.314V8.371h-1.923V4.869h3.957v3.323h.935c.415-1.165 1.595-3.49 5.727-3.49h1.394V7.96h-1.561c-1.58 0-2.773.454-3.581 1.364-.808.91-1.213 2.126-1.213 3.647v8.605h-3.734zm18.053.142c-1.022 0-1.817-.26-2.383-.78-.566-.519-.85-1.308-.85-2.366V7.962h-3.01v-2.95h3.038V0h3.735v5.011h4.152v2.952h-4.125v10.776H100v2.979h-5.1zM26.071 4.068c-4.957 0-8.975 4.014-8.975 8.966 0 4.952 4.018 8.966 8.975 8.966s8.975-4.014 8.975-8.966c0-4.952-4.018-8.967-8.975-8.967m0 14.177a5.212 5.212 0 01-5.215-5.21 5.212 5.212 0 015.215-5.21 5.212 5.212 0 015.215 5.21 5.212 5.212 0 01-5.215 5.21zm-17.233.133L8.828.005H2v3.432h2.964v18.28h11.907v-3.34H8.838zM54.528 4.97H50.6l-4.988 13.423v.57H44.13v-.565L39.142 4.974h-3.93l6.197 16.708 6.922-.006L54.529 4.97z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'LovartText';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,21 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'Lovart';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.65;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.3;
|
||||
export const COLOR_PRIMARY = '#000';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 1;
|
||||
@@ -0,0 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconAvatar, type RNIconAvatarProps } from '@/features';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
|
||||
export type AvatarProps = Omit<RNIconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ background, ...rest }) => {
|
||||
return (
|
||||
<RNIconAvatar
|
||||
Icon={Color}
|
||||
aria-label={TITLE}
|
||||
background={background || AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,80 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Defs, LinearGradient, Path, Stop, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
import { useFillIds } from '@/hooks/useFillId';
|
||||
|
||||
import { TITLE } from '../style';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, ...rest }) => {
|
||||
const [a, b, c] = useFillIds(TITLE, 3);
|
||||
return (
|
||||
<Svg height={size} style={style} viewBox="0 0 24 24" width={size} {...rest}>
|
||||
<Path
|
||||
d="M12 2.568c-6.33 0-9.495 5.275-9.495 9.495 0 4.22 3.165 8.44 6.33 9.494v2.11h2.11v-2.11s1.055.422 2.11 0v2.11h2.11v-2.11c3.165-1.055 6.33-5.274 6.33-9.494S18.33 2.568 12 2.568z"
|
||||
fill={a.fill}
|
||||
/>
|
||||
|
||||
<Path
|
||||
d="M3.56 9.953C.396 8.898-.66 11.008.396 13.118c1.055 2.11 3.164 1.055 4.22-1.055.632-1.477 0-2.11-1.056-2.11z"
|
||||
fill={b.fill}
|
||||
/>
|
||||
<Path
|
||||
d="M20.44 9.953c3.164-1.055 4.22 1.055 3.164 3.165-1.055 2.11-3.164 1.055-4.22-1.055-.632-1.477 0-2.11 1.056-2.11z"
|
||||
fill={c.fill}
|
||||
/>
|
||||
<Path
|
||||
d="M5.507 1.875c.476-.285 1.036-.233 1.615.037.577.27 1.223.774 1.937 1.488a.316.316 0 01-.447.447c-.693-.693-1.279-1.138-1.757-1.361-.475-.222-.795-.205-1.022-.069a.317.317 0 01-.326-.542zM16.877 1.913c.58-.27 1.14-.323 1.616-.038a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.069-.478.223-1.064.668-1.756 1.361a.316.316 0 11-.448-.447c.714-.714 1.36-1.218 1.936-1.487z"
|
||||
fill="#FF4D4D"
|
||||
/>
|
||||
<Path
|
||||
d="M8.835 9.109a1.266 1.266 0 100-2.532 1.266 1.266 0 000 2.532zM15.165 9.109a1.266 1.266 0 100-2.532 1.266 1.266 0 000 2.532z"
|
||||
fill="#050810"
|
||||
/>
|
||||
<Path
|
||||
d="M9.046 8.16a.527.527 0 100-1.056.527.527 0 000 1.055zM15.376 8.16a.527.527 0 100-1.055.527.527 0 000 1.054z"
|
||||
fill="#00E5CC"
|
||||
/>
|
||||
|
||||
<Defs>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={a.id}
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={b.id}
|
||||
x1="0"
|
||||
x2="4.311"
|
||||
y1="9.672"
|
||||
y2="14.949"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id={c.id}
|
||||
x1="19.385"
|
||||
x2="24.399"
|
||||
y1="9.953"
|
||||
y2="14.462"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
</Defs>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'OpenClawColor';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,28 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconCombine, type RNIconCombineProps } from '@/features';
|
||||
|
||||
import { COMBINE_SPACE_MULTIPLE, COMBINE_TEXT_MULTIPLE, TITLE } from '../style';
|
||||
import Color from './Color';
|
||||
import Mono from './Mono';
|
||||
import Text from './Text';
|
||||
|
||||
export interface CombineProps extends Omit<RNIconCombineProps, 'Icon' | 'Text'> {
|
||||
type?: 'color' | 'mono';
|
||||
}
|
||||
const Combine = memo<CombineProps>(({ type = 'mono', ...rest }) => {
|
||||
const Icon = type === 'color' ? Color : Mono;
|
||||
|
||||
return (
|
||||
<RNIconCombine
|
||||
Icon={Icon}
|
||||
Text={Text}
|
||||
aria-label={TITLE}
|
||||
spaceMultiple={COMBINE_SPACE_MULTIPLE}
|
||||
textMultiple={COMBINE_TEXT_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
||||
export default Combine;
|
||||
@@ -0,0 +1,100 @@
|
||||
import React, { memo } from 'react';
|
||||
import { ClipPath, Defs, G, LinearGradient, Path, Stop, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
{...rest}
|
||||
>
|
||||
<G clipPath="url(#a)">
|
||||
<Path d="M9.046 7.104a.527.527 0 110 1.055.527.527 0 010-1.055z" fill={color} />
|
||||
<Path d="M15.376 7.104a.528.528 0 110 1.056.528.528 0 010-1.056z" fill={color} />
|
||||
<Path
|
||||
clipRule="evenodd"
|
||||
d="M16.877 1.912c.58-.27 1.14-.323 1.616-.037a.317.317 0 01-.326.542c-.227-.136-.547-.153-1.022.068-.352.165-.765.45-1.234.866 2.683 1.17 4.4 3.5 5.148 5.921a6.421 6.421 0 00-.704.184c-.578.016-1.174.204-1.502.735-.338.55-.268 1.276.072 2.069l.005.012.007.014c.523 1.045 1.318 1.91 2.2 2.284-.912 3.274-3.44 6.144-5.972 6.988v2.109h-2.11v-2.11c-1.043.417-2.086.01-2.11 0v2.11h-2.11v-2.11c-2.531-.843-5.061-3.713-5.973-6.987.882-.373 1.678-1.238 2.2-2.284l.007-.014.006-.012c.34-.793.41-1.518.071-2.069-.327-.531-.923-.719-1.503-.735a6.409 6.409 0 00-.704-.183c.749-2.421 2.466-4.751 5.149-5.922-.47-.416-.88-.701-1.234-.866-.474-.221-.794-.204-1.021-.068a.318.318 0 01-.435-.109.317.317 0 01.109-.433c.476-.286 1.036-.233 1.615.037.49.229 1.031.628 1.621 1.182A9.924 9.924 0 0112 2.568c1.199 0 2.284.19 3.256.526.59-.554 1.13-.953 1.62-1.182zM8.835 6.577a1.266 1.266 0 100 2.532 1.266 1.266 0 000-2.532zm6.33 0a1.267 1.267 0 100 2.533 1.267 1.267 0 000-2.533z"
|
||||
fill={color}
|
||||
/>
|
||||
<Path
|
||||
d="M.395 13.118c-.966-1.932-.163-3.863 2.41-3.365v-.001l.05.01c.084.018.17.038.26.06.033.009.067.017.1.027.084.022.168.048.255.076l.09.027c.528 0 .95.158 1.16.501.212.343.212.87-.105 1.61-.085.17-.178.333-.276.489l-.01.017a4.967 4.967 0 01-.62.791l-.019.02c-1.092 1.117-2.496 1.336-3.295-.262z"
|
||||
fill={color}
|
||||
/>
|
||||
<Path
|
||||
d="M21.193 9.753c2.574-.5 3.378 1.433 2.411 3.365-.58 1.159-1.476 1.361-2.342.96l-.011-.005a2.419 2.419 0 01-.114-.056l-.019-.01a2.751 2.751 0 01-.115-.067l-.023-.014c-.035-.022-.071-.044-.106-.068l-.05-.035c-.55-.388-1.062-1.007-1.44-1.76-.276-.647-.311-1.132-.174-1.472.176-.439.636-.639 1.23-.639.032-.011.066-.02.099-.03.08-.026.16-.05.238-.072l.117-.03a5.502 5.502 0 01.3-.067z"
|
||||
fill={color}
|
||||
/>
|
||||
</G>
|
||||
<Defs>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="b"
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="c"
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="d"
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="e"
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<LinearGradient
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="f"
|
||||
x1="-.659"
|
||||
x2="27.023"
|
||||
y1=".458"
|
||||
y2="22.855"
|
||||
>
|
||||
<Stop stopColor="#FF4D4D" />
|
||||
<Stop offset="100%" stopColor="#991B1B" />
|
||||
</LinearGradient>
|
||||
<ClipPath id="a">
|
||||
<Path d="M0 0h24v24H0z" fill={color} />
|
||||
</ClipPath>
|
||||
</Defs>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'OpenClawMono';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="nonzero"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 140 24"
|
||||
width={size * 5.83} // 保持宽高比
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M122.59 19.6h-6.082l-3.287-13.044h5.047l.932 4.71.492 4.659h.336l1.087-5.177 1.294-4.192h6.264l1.294 4.192 1.087 5.177h.336l.518-4.659.906-4.71h4.969L134.341 19.6h-6.082l-1.683-5.228-.957-3.908h-.337l-.983 3.908-1.709 5.228zM112.685 19.6h-4.555v-2.899h-.259v-4.633c0-.655-.173-1.07-.518-1.242-.328-.19-.923-.285-1.786-.285-.793 0-1.345.095-1.656.285-.293.19-.44.561-.44 1.113v.104h-4.866v-.052c0-1.156.302-2.157.906-3.002.604-.863 1.458-1.527 2.562-1.993 1.105-.466 2.39-.7 3.857-.7 1.518 0 2.778.242 3.779.726 1 .465 1.742 1.138 2.225 2.018.501.863.751 1.907.751 3.132V19.6zm-9.732.259c-1.466 0-2.605-.32-3.416-.958-.794-.638-1.19-1.51-1.19-2.614 0-.62.146-1.173.44-1.656.293-.483.75-.872 1.371-1.165.621-.31 1.424-.518 2.407-.621l5.565-.543v2.691l-4.271.492c-.224.017-.388.069-.491.155a.453.453 0 00-.13.337c0 .207.095.345.285.414.207.052.5.078.88.078.863 0 1.544-.044 2.044-.13.501-.104.863-.285 1.087-.543.225-.26.337-.63.337-1.113l.362-.104v2.278h-.362c-.242.914-.768 1.648-1.579 2.2-.811.535-1.924.802-3.339.802zM97.18 19.6h-4.865V2.26h4.865V19.6zM81.715 19.858c-2.001 0-3.718-.362-5.15-1.087-1.432-.742-2.528-1.777-3.287-3.105-.76-1.346-1.14-2.925-1.14-4.737 0-1.811.38-3.382 1.14-4.71.759-1.346 1.855-2.381 3.287-3.106C77.997 2.37 79.714 2 81.715 2c1.95 0 3.615.293 4.995.88 1.398.587 2.468 1.432 3.21 2.536.742 1.105 1.113 2.433 1.113 3.986v.44h-5.436v-.44c0-.983-.276-1.682-.828-2.096-.552-.432-1.544-.647-2.976-.647-1.174 0-2.088.12-2.744.362a2.179 2.179 0 00-1.346 1.268c-.258.604-.388 1.484-.388 2.64 0 1.139.13 2.019.389 2.64a2.266 2.266 0 001.345 1.294c.656.225 1.57.337 2.744.337 1.432 0 2.424-.207 2.976-.621.552-.432.828-1.14.828-2.123v-.44h5.436v.44c0 1.536-.371 2.864-1.113 3.986-.742 1.104-1.812 1.95-3.21 2.537-1.38.586-3.045.88-4.995.88zM70.96 19.6h-4.866v-6.574c0-.914-.199-1.535-.596-1.863-.397-.345-1.13-.518-2.2-.518-1.07 0-1.786.164-2.148.492-.345.31-.518.888-.518 1.734h-.491l-.414-2.355h.854a5.758 5.758 0 01.698-2.045c.38-.638.932-1.156 1.657-1.553.742-.414 1.69-.621 2.847-.621 1.173 0 2.14.216 2.899.647.776.431 1.346 1.018 1.708 1.76.38.742.57 1.587.57 2.536v8.36zm-10.328 0h-4.865V6.556h4.555v4.011l.31.13V19.6zM47.192 19.859c-1.467 0-2.77-.224-3.908-.673-1.14-.449-2.028-1.173-2.666-2.174-.639-1-.958-2.312-.958-3.934 0-1.415.32-2.623.958-3.624a6.219 6.219 0 012.614-2.329c1.121-.552 2.407-.828 3.856-.828 1.501 0 2.804.25 3.908.75 1.105.484 1.959 1.208 2.563 2.175.604.949.906 2.122.906 3.52 0 .224-.009.43-.026.62 0 .173-.017.38-.052.622H42.844v-2.459h8.023l-1.061 1.527v-.906c0-.794-.207-1.346-.621-1.656-.397-.31-1.13-.466-2.2-.466-1.105 0-1.855.172-2.252.518-.38.345-.57.966-.57 1.863v1.242c0 .915.199 1.536.596 1.864.397.328 1.147.492 2.252.492.983 0 1.639-.087 1.967-.26.345-.189.517-.474.517-.853v-.285h4.866v.31c0 .967-.293 1.82-.88 2.563-.587.742-1.415 1.328-2.485 1.76-1.07.414-2.338.621-3.804.621zM32.648 19.859c-1.536 0-2.692-.328-3.469-.984-.776-.672-1.26-1.552-1.449-2.64h-.75v-3.002h.491c0 .604.112 1.07.337 1.398.241.31.595.526 1.06.647.484.103 1.088.155 1.813.155.759 0 1.354-.078 1.785-.233.449-.155.768-.405.958-.75.19-.345.285-.803.285-1.372 0-.587-.095-1.044-.285-1.372-.19-.345-.509-.586-.958-.724-.431-.156-1.026-.233-1.786-.233-1.087 0-1.898.146-2.432.44-.518.293-.777.914-.777 1.863h-.492l-.362-2.976h.802c.207-1.294.716-2.243 1.527-2.847.811-.622 1.976-.932 3.494-.932 1.33 0 2.45.276 3.365.828.932.535 1.63 1.311 2.096 2.33.484 1 .725 2.208.725 3.623s-.233 2.631-.699 3.65c-.465 1-1.147 1.776-2.044 2.329-.88.535-1.959.802-3.236.802zM27.47 24h-4.866V6.556h4.556v3.675l.31.336V24zM11.602 19.858c-2.001 0-3.727-.362-5.176-1.087-1.432-.742-2.528-1.777-3.287-3.105C2.379 14.32 2 12.74 2 10.929c0-1.811.38-3.382 1.139-4.71.759-1.346 1.855-2.381 3.287-3.106C7.876 2.37 9.6 2 11.602 2c2.07 0 3.822.371 5.254 1.113 1.45.725 2.554 1.76 3.313 3.106.76 1.328 1.139 2.899 1.139 4.71 0 1.812-.38 3.39-1.139 4.737-.76 1.328-1.863 2.363-3.313 3.105-1.432.725-3.183 1.087-5.254 1.087zm0-4.658c1.173 0 2.088-.112 2.744-.337.655-.241 1.113-.673 1.371-1.294.276-.621.414-1.501.414-2.64 0-1.156-.138-2.036-.414-2.64-.258-.62-.716-1.044-1.371-1.268-.656-.241-1.57-.362-2.744-.362-1.173 0-2.079.12-2.717.362A2.179 2.179 0 007.539 8.29c-.242.604-.363 1.484-.363 2.64 0 1.139.121 2.019.363 2.64a2.266 2.266 0 001.346 1.294c.638.225 1.544.337 2.717.337z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'OpenClawText';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,25 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Color from './components/Color';
|
||||
import Combine from './components/Combine';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Color: typeof Color;
|
||||
Combine: typeof Combine;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
Icons.Color = Color;
|
||||
Icons.Text = Text;
|
||||
Icons.Combine = Combine;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'OpenClaw';
|
||||
export const COMBINE_TEXT_MULTIPLE = 0.75;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.2;
|
||||
export const COLOR_PRIMARY = '#ff4d4d';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = '#000';
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.75;
|
||||
@@ -0,0 +1,22 @@
|
||||
import React, { memo } from 'react';
|
||||
|
||||
import { RNIconAvatar, type RNIconAvatarProps } from '@/features';
|
||||
|
||||
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from '../style';
|
||||
import Mono from './Mono';
|
||||
|
||||
export type AvatarProps = Omit<RNIconAvatarProps, 'Icon'>;
|
||||
|
||||
const Avatar = memo<AvatarProps>(({ background, ...rest }) => {
|
||||
return (
|
||||
<RNIconAvatar
|
||||
Icon={Mono}
|
||||
aria-label={TITLE}
|
||||
background={background || AVATAR_BACKGROUND}
|
||||
color={AVATAR_COLOR}
|
||||
iconMultiple={AVATAR_ICON_MULTIPLE}
|
||||
{...rest}
|
||||
/>
|
||||
);
|
||||
});
|
||||
export default Avatar;
|
||||
@@ -0,0 +1,27 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 24 24"
|
||||
width={size}
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
d="M.958 15.936a.459.459 0 01.459.44v2.729a.46.46 0 01-.918 0v-2.729a.459.459 0 01.459-.44zm4.814-2.035a.46.46 0 01.553.45v4.754a.458.458 0 11-.918 0V15.48L3.74 17.202a.462.462 0 01-.655.016.462.462 0 01-.065-.082L.628 14.67a.459.459 0 01.658-.637l2.124 2.187 2.127-2.188a.46.46 0 01.235-.13zm2.068.004a.46.46 0 01.458.445v4.755a.46.46 0 01-.458.458.459.459 0 01-.458-.458V14.35a.459.459 0 01.458-.445zm1.973 2.014a.46.46 0 01.46.457v2.729a.46.46 0 01-.784.324.46.46 0 01-.134-.324v-2.729a.46.46 0 01.458-.458zm.002-2.045a.458.458 0 01.328.157l2.127 2.19 2.125-2.19a.459.459 0 01.784.318v4.756a.46.46 0 01-.455.458.46.46 0 01-.458-.458V15.48l-1.667 1.723a.46.46 0 01-.65.008l-.005-.005c0-.002-.002-.002-.004-.003l-2.455-2.534a.46.46 0 01-.008-.667.461.461 0 01.338-.128zm6.797 1.206a.46.46 0 01.53.651A1.966 1.966 0 0019.81 18.4a.462.462 0 01.623.18.46.46 0 01-.181.624 2.863 2.863 0 01-1.38.353l-.142-.004a2.88 2.88 0 01-2.393-4.263.461.461 0 01.274-.21zm.864-.931a2.884 2.884 0 013.915 3.914.46.46 0 01-.402.24l-.057-.004a.458.458 0 01-.164-.055.46.46 0 01-.182-.622 1.967 1.967 0 00-2.669-2.67.459.459 0 11-.441-.803zM9.59 6.368c1.481 0 1.696 1.202 1.696 1.654v2.648h-.917v-.432c-.26.346-.792.535-1.36.535-.133 0-1.289-.03-1.384-1.136-.082-.932.675-1.61 2.053-1.61h.691c0-.563-.367-.886-.983-.886-.44.013-.864.174-1.2.458l-.36-.664c.484-.379 1.012-.567 1.764-.567zm4.427.1c1.263 0 2.082.97 2.083 2.15 0 1.181-.824 2.154-2.083 2.154-1.26 0-2.084-.972-2.084-2.152 0-1.18.82-2.153 2.084-2.153zm6.801.015c.68 0 1.202.465 1.197 1.548v2.642H21.1V8.29c0-.312-.002-.98-.63-.98s-.628.667-.628.838v2.524h-.89V8.148c0-.17-.001-.838-.63-.838-.628 0-.628.668-.628.98v2.383h-.917v-4.03h.917V7a1.22 1.22 0 01.947-.516c.398 0 .76.193.982.686a1.321 1.321 0 011.195-.686zm-18.093.872l1.457-1.772H5.32L3.311 8.07l2.14 2.602H4.24L2.725 8.796 1.21 10.672H0L2.138 8.07.13 5.583h1.138l1.458 1.772zm4.149 3.317h-.916V6.644h.916v4.028zm16.99 0h-.916V6.644h.916v4.028zM9.925 8.71c-1.055 0-1.359.412-1.326.742.032.329.324.537.757.537a1.013 1.013 0 001.014-.968l.002-.31h-.447zM14.018 7.3c-.663 0-1.184.487-1.184 1.32 0 .832.52 1.32 1.184 1.32.662 0 1.182-.49 1.182-1.32 0-.832-.52-1.32-1.182-1.32zM6.417 5.001a.568.568 0 01.587.582.588.588 0 01-1.175 0A.57.57 0 016.417 5zm16.991 0a.57.57 0 01.592.582.588.588 0 01-1.174 0 .57.57 0 01.357-.542.572.572 0 01.225-.04z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'XiaomiMiMoMono';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,32 @@
|
||||
import React, { memo } from 'react';
|
||||
import { Path, Svg } from 'react-native-svg';
|
||||
|
||||
import type { RNIconProps } from '@/features';
|
||||
|
||||
const Icon = memo<RNIconProps>(({ size = 24, style, color = '#000000', ...rest }) => {
|
||||
return (
|
||||
<Svg
|
||||
color={color}
|
||||
fillRule="evenodd"
|
||||
height={size}
|
||||
style={style}
|
||||
viewBox="0 0 167 24"
|
||||
width={size * 6.96} // 保持宽高比
|
||||
{...rest}
|
||||
>
|
||||
<Path
|
||||
clipRule="evenodd"
|
||||
d="M34.192 6.736c5.13 0 5.87 4.168 5.87 5.733v9.174h-3.171v-1.497C35.99 21.344 34.147 22 32.18 22c-.46 0-4.46-.107-4.788-3.936-.283-3.23 2.335-5.58 7.103-5.58h2.395c0-1.948-1.27-3.068-3.405-3.068a6.746 6.746 0 00-4.152 1.586l-1.248-2.298c1.679-1.313 3.505-1.968 6.106-1.968zm1.156 8.115c-3.65 0-4.7 1.425-4.588 2.566.11 1.141 1.12 1.861 2.622 1.861a3.5 3.5 0 003.509-3.353l.005-1.074h-1.548zM49.511 7.083c4.373 0 7.21 3.362 7.21 7.454 0 4.09-2.85 7.458-7.21 7.458-4.358 0-7.21-3.367-7.21-7.456 0-4.088 2.835-7.456 7.21-7.456zm0 2.885c-2.294 0-4.093 1.686-4.093 4.571 0 2.884 1.8 4.573 4.093 4.573 2.295 0 4.093-1.693 4.093-4.573 0-2.881-1.797-4.57-4.093-4.57z"
|
||||
fill={color}
|
||||
/>
|
||||
<Path
|
||||
d="M109.72 2.376a1.58 1.58 0 01.923.082 1.583 1.583 0 01.991 1.475v16.47a1.593 1.593 0 01-.463 1.126 1.59 1.59 0 01-2.714-1.125V7.847l-5.769 5.966a1.596 1.596 0 01-2.268.057 1.593 1.593 0 01-.228-.285L91.914 5.04a1.593 1.593 0 01.075-2.206 1.59 1.59 0 012.203-.008l7.354 7.58 7.362-7.58c.219-.228.502-.385.812-.45zM116.876 2.391c.413 0 .81.16 1.107.449.295.288.466.68.477 1.093v16.476a1.584 1.584 0 01-2.706 1.12 1.591 1.591 0 01-.465-1.123V3.933a1.585 1.585 0 011.587-1.542zM123.707 9.366a1.587 1.587 0 011.585 1.589v9.449a1.593 1.593 0 01-.463 1.125 1.59 1.59 0 01-2.246 0 1.596 1.596 0 01-.463-1.125v-9.45a1.588 1.588 0 011.587-1.588zM123.712 2.282a1.591 1.591 0 011.132.545l7.366 7.59 7.352-7.59a1.583 1.583 0 012.441.228c.176.26.27.567.272.88v16.471a1.598 1.598 0 01-1.577 1.589 1.587 1.587 0 01-1.585-1.589V7.85l-5.769 5.966a1.597 1.597 0 01-1.117.481 1.592 1.592 0 01-1.129-.448l-.019-.023-.015-.012-8.496-8.775a1.597 1.597 0 01-.51-1.148 1.6 1.6 0 01.481-1.16c.154-.15.34-.267.542-.344.201-.077.416-.113.631-.104zM93.056 9.426a1.592 1.592 0 011.59 1.529v9.449a1.6 1.6 0 01-.469 1.125 1.59 1.59 0 01-.517.342 1.587 1.587 0 01-2.191-1.467v-9.45a1.592 1.592 0 011.587-1.528zM147.235 6.461a1.587 1.587 0 011.832 2.256 6.82 6.82 0 00-.772 4.238 6.819 6.819 0 001.926 3.855 6.803 6.803 0 008.082 1.155 1.595 1.595 0 012.157.624 1.603 1.603 0 01-.151 1.76c-.13.163-.291.299-.473.4a9.903 9.903 0 01-4.777 1.224 9.962 9.962 0 01-7.014-2.853 9.98 9.98 0 01-2.989-6.96 9.993 9.993 0 011.231-4.973 1.59 1.59 0 01.948-.726zM73.054 7.138c2.354 0 4.157 1.608 4.14 5.361v9.154h-3.167v-8.257c0-1.08-.004-3.395-2.181-3.395-2.174 0-2.174 2.314-2.174 2.905v8.745h-3.078v-8.745c0-.591-.003-2.905-2.179-2.905-2.175 0-2.174 2.316-2.174 3.395v8.257h-3.172V7.69h3.172v1.232a4.222 4.222 0 013.276-1.784c1.38 0 2.632.667 3.4 2.377a4.567 4.567 0 014.138-2.377zM10.431 10.16l5.044-6.143h3.94l-6.953 8.618 7.4 9.016h-4.189l-5.242-6.5-5.239 6.5H1l7.399-9.018-6.95-8.616h3.939l5.043 6.142zM24.793 21.65h-3.17V7.694h3.17v13.958zM83.595 21.65h-3.17V7.694h3.17v13.958zM150.224 3.236a9.975 9.975 0 016.21-1.13 9.98 9.98 0 018.465 8.475 10.003 10.003 0 01-1.126 6.216 1.592 1.592 0 01-1.392.828 1.59 1.59 0 01-1.391-2.357 6.819 6.819 0 00-1.154-8.093 6.802 6.802 0 00-8.085-1.155 1.582 1.582 0 01-1.223.158 1.588 1.588 0 01-1.159-1.365 1.596 1.596 0 01.364-1.183c.136-.162.302-.297.491-.394zM23.208 2.004a1.964 1.964 0 012.03 2.013 2.038 2.038 0 01-.594 1.438 2.034 2.034 0 01-1.436.597 2.033 2.033 0 01-1.877-1.257 2.037 2.037 0 01-.156-.778 1.97 1.97 0 012.033-2.013zM82.013 2.002A1.963 1.963 0 0184.06 4.02a2.03 2.03 0 11-4.063 0 1.97 1.97 0 012.016-2.018z"
|
||||
fill={color}
|
||||
/>
|
||||
</Svg>
|
||||
);
|
||||
});
|
||||
|
||||
Icon.displayName = 'XiaomiMiMoText';
|
||||
|
||||
export default Icon;
|
||||
@@ -0,0 +1,20 @@
|
||||
import Avatar from './components/Avatar';
|
||||
import Mono from './components/Mono';
|
||||
import Text from './components/Text';
|
||||
import { COLOR_PRIMARY, TITLE } from './style';
|
||||
|
||||
export type CompoundedIcon = typeof Mono & {
|
||||
Avatar: typeof Avatar;
|
||||
Text: typeof Text;
|
||||
colorPrimary: string;
|
||||
title: string;
|
||||
};
|
||||
|
||||
const Icons = Mono as CompoundedIcon;
|
||||
|
||||
Icons.Text = Text;
|
||||
Icons.Avatar = Avatar;
|
||||
Icons.colorPrimary = COLOR_PRIMARY;
|
||||
Icons.title = TITLE;
|
||||
|
||||
export default Icons;
|
||||
@@ -0,0 +1,9 @@
|
||||
export const TITLE = 'XiaomiMiMo';
|
||||
export const COMBINE_TEXT_MULTIPLE = 1;
|
||||
export const COMBINE_SPACE_MULTIPLE = 0.2;
|
||||
export const COLOR_PRIMARY = '#000';
|
||||
|
||||
// Avatar constants
|
||||
export const AVATAR_BACKGROUND = COLOR_PRIMARY;
|
||||
export const AVATAR_COLOR = '#fff';
|
||||
export const AVATAR_ICON_MULTIPLE = 0.7;
|
||||
@@ -33,6 +33,7 @@ export { default as Anyscale, type CompoundedIcon as AnyscaleProps } from './ico
|
||||
export { default as Apple, type CompoundedIcon as AppleProps } from './icons/Apple';
|
||||
export { default as Arcee, type CompoundedIcon as ArceeProps } from './icons/Arcee';
|
||||
export { default as AssemblyAI, type CompoundedIcon as AssemblyAIProps } from './icons/AssemblyAI';
|
||||
export { default as AtlasCloud, type CompoundedIcon as AtlasCloudProps } from './icons/AtlasCloud';
|
||||
export { default as Automatic, type CompoundedIcon as AutomaticProps } from './icons/Automatic';
|
||||
export { default as Aws, type CompoundedIcon as AwsProps } from './icons/Aws';
|
||||
export { default as Aya, type CompoundedIcon as AyaProps } from './icons/Aya';
|
||||
@@ -196,6 +197,7 @@ export { default as LmStudio, type CompoundedIcon as LmStudioProps } from './ico
|
||||
export { default as LobeHub, type CompoundedIcon as LobeHubProps } from './icons/LobeHub';
|
||||
export { default as LongCat, type CompoundedIcon as LongCatProps } from './icons/LongCat';
|
||||
export { default as Lovable, type CompoundedIcon as LovableProps } from './icons/Lovable';
|
||||
export { default as Lovart, type CompoundedIcon as LovartProps } from './icons/Lovart';
|
||||
export { default as Luma, type CompoundedIcon as LumaProps } from './icons/Luma';
|
||||
export { default as Magic, type CompoundedIcon as MagicProps } from './icons/Magic';
|
||||
export { default as Make, type CompoundedIcon as MakeProps } from './icons/Make';
|
||||
@@ -233,6 +235,7 @@ export { default as Nvidia, type CompoundedIcon as NvidiaProps } from './icons/N
|
||||
export { default as Ollama, type CompoundedIcon as OllamaProps } from './icons/Ollama';
|
||||
export { default as OpenAI, type CompoundedIcon as OpenAIProps } from './icons/OpenAI';
|
||||
export { default as OpenChat, type CompoundedIcon as OpenChatProps } from './icons/OpenChat';
|
||||
export { default as OpenClaw, type CompoundedIcon as OpenClawProps } from './icons/OpenClaw';
|
||||
export { default as OpenRouter, type CompoundedIcon as OpenRouterProps } from './icons/OpenRouter';
|
||||
export { default as OpenWebUI, type CompoundedIcon as OpenWebUIProps } from './icons/OpenWebUI';
|
||||
export { default as PaLM, type CompoundedIcon as PaLMProps } from './icons/PaLM';
|
||||
@@ -319,6 +322,7 @@ export { default as Wenxin, type CompoundedIcon as WenxinProps } from './icons/W
|
||||
export { default as Windsurf, type CompoundedIcon as WindsurfProps } from './icons/Windsurf';
|
||||
export { default as WorkersAI, type CompoundedIcon as WorkersAIProps } from './icons/WorkersAI';
|
||||
export { default as XAI, type CompoundedIcon as XAIProps } from './icons/XAI';
|
||||
export { default as XiaomiMiMo, type CompoundedIcon as XiaomiMiMoProps } from './icons/XiaomiMiMo';
|
||||
export { default as Xinference, type CompoundedIcon as XinferenceProps } from './icons/Xinference';
|
||||
export { default as Xuanyuan, type CompoundedIcon as XuanyuanProps } from './icons/Xuanyuan';
|
||||
export { default as Yandex, type CompoundedIcon as YandexProps } from './icons/Yandex';
|
||||
|
||||
Reference in New Issue
Block a user