@yldm-tech/ai-logo 1.13.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -4
- package/es/TapTapGo/components/Avatar.d.mts +6 -0
- package/es/TapTapGo/components/Avatar.mjs +19 -0
- package/es/TapTapGo/components/Color.d.mts +5 -0
- package/es/TapTapGo/components/Color.mjs +78 -0
- package/es/TapTapGo/components/Mono.d.mts +5 -0
- package/es/TapTapGo/components/Mono.mjs +37 -0
- package/es/TapTapGo/index.d.mts +13 -0
- package/es/TapTapGo/index.mjs +12 -0
- package/es/TapTapGo/style.mjs +8 -0
- package/es/icons.d.mts +215 -214
- package/es/index.d.mts +210 -209
- package/es/index.mjs +210 -209
- package/es/toc.mjs +19 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<h1>AI Logo</h1>
|
|
6
6
|
|
|
7
|
-
Popular AI / LLM Model Brand SVG Logo and Icon Collection for React.<br/>
|
|
7
|
+
Popular AI / LLM Model Brand SVG Logo and Icon Collection for React, Go and MyGo.<br/>
|
|
8
8
|
Contributions, corrections & requests can be made on GitHub.
|
|
9
9
|
|
|
10
|
-
**[ailogo.yldm.ai][site-link]** — browse all
|
|
10
|
+
**[ailogo.yldm.ai][site-link]** — browse all 1298 marks, every variant, in 11 languages.
|
|
11
11
|
|
|
12
12
|
[Website][site-link] · [Changelog](./CHANGELOG.md) · [Report Bug][github-issues-link] · [Request Feature][github-issues-link]
|
|
13
13
|
|
|
@@ -38,6 +38,7 @@ Contributions, corrections & requests can be made on GitHub.
|
|
|
38
38
|
- [I'm an Human](#im-an-human)
|
|
39
39
|
- [Usage](#usage)
|
|
40
40
|
- [Packages](#packages)
|
|
41
|
+
- [Go / MyGo](#go--mygo)
|
|
41
42
|
- [🌐 Website](#-website)
|
|
42
43
|
- [✨ Features](#-features)
|
|
43
44
|
- [🤯 CDN Usage](#-cdn-usage)
|
|
@@ -142,6 +143,26 @@ The same files live in this repository under `packages/static-*`, which is what
|
|
|
142
143
|
|
|
143
144
|
A fifth package, `@yldm-tech/ai-logo-rn`, ports the icons to `react-native-svg` and lives under `packages/react-native`. It is `private` and not published — see [its README](./packages/react-native/README.md) for why and for what using it today involves.
|
|
144
145
|
|
|
146
|
+
### Go / MyGo
|
|
147
|
+
|
|
148
|
+
The [`github.com/yldm-tech/ai-logo/mygo`](./mygo) Go module packages the same vector SVG variants for [MyGo](https://github.com/egoist/mygo) native UI apps. It parses marks lazily, so an app only pays for the icons it requests. The optional `github.com/yldm-tech/ai-logo/mygo/avatar` subpackage provides the rendered WebP avatars.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
go get github.com/yldm-tech/ai-logo/mygo
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```go
|
|
155
|
+
import (
|
|
156
|
+
"github.com/egoist/mygo/ui"
|
|
157
|
+
ailogo "github.com/yldm-tech/ai-logo/mygo"
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
logo := ailogo.MustParse("openai", ailogo.Mono)
|
|
161
|
+
ui.Icon(c, logo).Size(24, 24)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Available vector variants are `Mono`, `Color`, `Text`, `TextColor`, `TextCn`, `Brand` and `BrandColor`. See [`mygo/README.md`](./mygo/README.md) for lookup, CDN and avatar examples.
|
|
165
|
+
|
|
145
166
|
<div align="right">
|
|
146
167
|
|
|
147
168
|
[![][back-to-top]](#readme-top)
|
|
@@ -165,15 +186,16 @@ The site is translated into 11 languages — English, Simplified and Traditional
|
|
|
165
186
|
## ✨ Features
|
|
166
187
|
|
|
167
188
|
- 🚀 **Lightweight & Scalable**: Icons are designed to be lightweight, utilizing highly optimized scalable vector graphics (SVG) for the best performance and quality.
|
|
189
|
+
- 🖥️ **Go and MyGo**: The `github.com/yldm-tech/ai-logo/mygo` module brings the same vector variants and optional avatars to native MyGo desktop applications, with lazy parsing and offline embedded assets.
|
|
168
190
|
- 🌳 **Tree Shakable**: Importing a brand directly — `import { OpenAI } from "@yldm-tech/ai-logo"` — pulls in that brand and nothing else, around 216 kB against the full set. The lookup components are the exception: `ProviderIcon`, `ModelIcon` and `AgentIcon` resolve an arbitrary id string at runtime, so they necessarily carry their whole mapping table and cost roughly 1.7 MB. Reach for them when the id is dynamic, and for the brand export when it is not. Both sizes are pinned by a budget in `apps/site/treeshake`.
|
|
169
|
-
- 🎨 **Every Major Model**:
|
|
191
|
+
- 🎨 **Every Major Model**: 1298 brands — AI companies, models and applications, plus mainstream services beyond AI: social networks, developer tools, productivity apps, media, gaming, payments, commerce, travel, hardware and automotive. Every one ships a mono mark, and most add some combination of color, text, combined and avatar variants — which ones a given brand has is listed on [the website][site-link] and attached in `src/<Brand>/index.ts`. The non-AI services are ported from [Simple Icons](https://simpleicons.org) and ship mono, color and avatar variants; see [THIRD\_PARTY\_NOTICES.md](./THIRD_PARTY_NOTICES.md) for their licensing.
|
|
170
192
|
|
|
171
193
|
---
|
|
172
194
|
|
|
173
195
|
**Supported brands:**
|
|
174
196
|
|
|
175
197
|
<details>
|
|
176
|
-
<summary><kbd>Show all
|
|
198
|
+
<summary><kbd>Show all 1298 brands</kbd></summary>
|
|
177
199
|
|
|
178
200
|
<!-- ICON LIST -->
|
|
179
201
|
|
|
@@ -986,6 +1008,7 @@ The site is translated into 11 languages — English, Simplified and Traditional
|
|
|
986
1008
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/TailwindCSS"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/tailwindcss-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/tailwindcss-color.png" /></picture><br/>Tailwind CSS |
|
|
987
1009
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/TanStack"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/tanstack-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/tanstack-color.png" /></picture><br/>TanStack |
|
|
988
1010
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/Taobao"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/taobao-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/taobao-color.png" /></picture><br/>Taobao |
|
|
1011
|
+
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/TapTapGo"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/taptapgo-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/taptapgo-color.png" /></picture><br/>TapTapGo (指尖冒险) |
|
|
989
1012
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/Target"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/target-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/target-color.png" /></picture><br/>Target |
|
|
990
1013
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/TeamCity"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/teamcity.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/teamcity.png" /></picture><br/>TeamCity |
|
|
991
1014
|
| | | | <a href="https://github.com/yldm-tech/ai-logo/tree/main/src/TechCrunch"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/dark/techcrunch-color.png" /><img height="56px" width="56px" src="https://raw.githubusercontent.com/yldm-tech/ai-logo/refs/heads/main/packages/static-png/light/techcrunch-color.png" /></picture><br/>TechCrunch |
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IconAvatarProps } from "../../features/IconAvatar/index.mjs";
|
|
2
|
+
//#region src/TapTapGo/components/Avatar.d.ts
|
|
3
|
+
export type AvatarProps = Omit<IconAvatarProps, "Icon">;
|
|
4
|
+
declare const Avatar: import("react").NamedExoticComponent<AvatarProps>;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Avatar as default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import IconAvatar from "../../features/IconAvatar/index.mjs";
|
|
3
|
+
import { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, TITLE } from "../style.mjs";
|
|
4
|
+
import Icon from "./Color.mjs";
|
|
5
|
+
import { memo } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
//#region src/TapTapGo/components/Avatar.tsx
|
|
8
|
+
const Avatar = memo(({ ...rest }) => {
|
|
9
|
+
return /* @__PURE__ */ jsx(IconAvatar, {
|
|
10
|
+
Icon,
|
|
11
|
+
"aria-label": TITLE,
|
|
12
|
+
background: AVATAR_BACKGROUND,
|
|
13
|
+
color: AVATAR_COLOR,
|
|
14
|
+
iconMultiple: AVATAR_ICON_MULTIPLE,
|
|
15
|
+
...rest
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Avatar as default };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TITLE } from "../style.mjs";
|
|
3
|
+
import { memo } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/TapTapGo/components/Color.tsx
|
|
6
|
+
const Icon = memo(({ size = "1em", style, ...rest }) => {
|
|
7
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
8
|
+
height: size,
|
|
9
|
+
style: {
|
|
10
|
+
flex: "none",
|
|
11
|
+
lineHeight: 1,
|
|
12
|
+
...style
|
|
13
|
+
},
|
|
14
|
+
viewBox: "8 15 88 88",
|
|
15
|
+
width: size,
|
|
16
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17
|
+
...rest,
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsx("title", { children: TITLE }),
|
|
20
|
+
/* @__PURE__ */ jsx("path", {
|
|
21
|
+
d: "M22 62q-10 12-4 24M31 66q-6 13-1 22M39 69q-3 13 0 22M47.5 70q-1 12-2 22M56.5 70q1 12 2 22M65 69q3 13 0 22M73 66q6 13 1 22M82 62q10 12 4 24",
|
|
22
|
+
fill: "none",
|
|
23
|
+
stroke: "#9C86F0",
|
|
24
|
+
strokeLinecap: "round",
|
|
25
|
+
strokeWidth: 6
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsx("path", {
|
|
28
|
+
d: "M14.5 86a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM26.5 88a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM35.5 91a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM42 92a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM55 92a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM61.5 91a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM70.5 88a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM82.5 86a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0z",
|
|
29
|
+
fill: "#FFD6E7"
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ jsx("path", {
|
|
32
|
+
d: "M18 56a34 34 0 0 1 68 0v6q0 10-10 10H28q-10 0-10-10z",
|
|
33
|
+
fill: "#B4A2FF"
|
|
34
|
+
}),
|
|
35
|
+
/* @__PURE__ */ jsx("ellipse", {
|
|
36
|
+
cx: "40",
|
|
37
|
+
cy: "30",
|
|
38
|
+
fill: "#fff",
|
|
39
|
+
opacity: .45,
|
|
40
|
+
rx: "8",
|
|
41
|
+
ry: "5"
|
|
42
|
+
}),
|
|
43
|
+
/* @__PURE__ */ jsx("path", {
|
|
44
|
+
d: "M34.5 50a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0zM58.5 50a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0z",
|
|
45
|
+
fill: "#2E2450"
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ jsx("path", {
|
|
48
|
+
d: "M40.2 48a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0zM64.2 48a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0z",
|
|
49
|
+
fill: "#fff"
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ jsx("path", {
|
|
52
|
+
d: "M48 58q4 4 8 0",
|
|
53
|
+
fill: "none",
|
|
54
|
+
stroke: "#2E2450",
|
|
55
|
+
strokeLinecap: "round",
|
|
56
|
+
strokeWidth: 3
|
|
57
|
+
}),
|
|
58
|
+
/* @__PURE__ */ jsx("ellipse", {
|
|
59
|
+
cx: "31",
|
|
60
|
+
cy: "59",
|
|
61
|
+
fill: "#FF8FB8",
|
|
62
|
+
opacity: .75,
|
|
63
|
+
rx: "5",
|
|
64
|
+
ry: "3"
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ jsx("ellipse", {
|
|
67
|
+
cx: "73",
|
|
68
|
+
cy: "59",
|
|
69
|
+
fill: "#FF8FB8",
|
|
70
|
+
opacity: .75,
|
|
71
|
+
rx: "5",
|
|
72
|
+
ry: "3"
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
//#endregion
|
|
78
|
+
export { Icon as default };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { TITLE } from "../style.mjs";
|
|
3
|
+
import { memo } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/TapTapGo/components/Mono.tsx
|
|
6
|
+
const Icon = memo(({ size = "1em", style, ...rest }) => {
|
|
7
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
8
|
+
fill: "currentColor",
|
|
9
|
+
height: size,
|
|
10
|
+
style: {
|
|
11
|
+
flex: "none",
|
|
12
|
+
lineHeight: 1,
|
|
13
|
+
...style
|
|
14
|
+
},
|
|
15
|
+
viewBox: "8 15 88 88",
|
|
16
|
+
width: size,
|
|
17
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
18
|
+
...rest,
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ jsx("title", { children: TITLE }),
|
|
21
|
+
/* @__PURE__ */ jsx("path", {
|
|
22
|
+
d: "M18 56a34 34 0 0 1 68 0v6q0 10-10 10H28q-10 0-10-10zM34.5 50a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0zM58.5 50a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0zM46.9 59.1Q52 63.9 57.1 59.1L54.9 56.9Q52 60.1 49.1 56.9z",
|
|
23
|
+
fillRule: "evenodd"
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ jsx("path", {
|
|
26
|
+
d: "M22 62q-10 12-4 24M31 66q-6 13-1 22M39 69q-3 13 0 22M47.5 70q-1 12-2 22M56.5 70q1 12 2 22M65 69q3 13 0 22M73 66q6 13 1 22M82 62q10 12 4 24",
|
|
27
|
+
fill: "none",
|
|
28
|
+
stroke: "currentColor",
|
|
29
|
+
strokeLinecap: "round",
|
|
30
|
+
strokeWidth: 6
|
|
31
|
+
}),
|
|
32
|
+
/* @__PURE__ */ jsx("path", { d: "M14.5 86a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM26.5 88a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM35.5 91a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM42 92a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM55 92a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM61.5 91a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM70.5 88a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0zM82.5 86a3.5 3.5 0 1 0 7 0a3.5 3.5 0 1 0 -7 0z" })
|
|
33
|
+
]
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
//#endregion
|
|
37
|
+
export { Icon as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Avatar from "./components/Avatar.mjs";
|
|
2
|
+
import Icon from "./components/Color.mjs";
|
|
3
|
+
import Icon$1 from "./components/Mono.mjs";
|
|
4
|
+
//#region src/TapTapGo/index.d.ts
|
|
5
|
+
export type CompoundedIcon = typeof Icon$1 & {
|
|
6
|
+
Avatar: typeof Avatar;
|
|
7
|
+
Color: typeof Icon;
|
|
8
|
+
colorPrimary: string;
|
|
9
|
+
title: string;
|
|
10
|
+
};
|
|
11
|
+
declare const Icons: CompoundedIcon;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { Icons as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { COLOR_PRIMARY, TITLE } from "./style.mjs";
|
|
2
|
+
import Icon from "./components/Color.mjs";
|
|
3
|
+
import Avatar from "./components/Avatar.mjs";
|
|
4
|
+
import Icon$1 from "./components/Mono.mjs";
|
|
5
|
+
//#region src/TapTapGo/index.ts
|
|
6
|
+
const Icons = Icon$1;
|
|
7
|
+
Icons.Color = Icon;
|
|
8
|
+
Icons.Avatar = Avatar;
|
|
9
|
+
Icons.colorPrimary = COLOR_PRIMARY;
|
|
10
|
+
Icons.title = TITLE;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Icons as default };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/TapTapGo/style.ts
|
|
2
|
+
const TITLE = "TapTapGo";
|
|
3
|
+
const COLOR_PRIMARY = "#8B6CF6";
|
|
4
|
+
const AVATAR_BACKGROUND = "#EDE6FF";
|
|
5
|
+
const AVATAR_COLOR = "#8B6CF6";
|
|
6
|
+
const AVATAR_ICON_MULTIPLE = .85;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { AVATAR_BACKGROUND, AVATAR_COLOR, AVATAR_ICON_MULTIPLE, COLOR_PRIMARY, TITLE };
|