@yldm-tech/ai-logo 1.13.0 → 1.14.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 CHANGED
@@ -7,7 +7,7 @@
7
7
  Popular AI / LLM Model Brand SVG Logo and Icon Collection for React.<br/>
8
8
  Contributions, corrections & requests can be made on GitHub.
9
9
 
10
- **[ailogo.yldm.ai][site-link]** — browse all 1297 marks, every variant, in 11 languages.
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
 
@@ -166,14 +166,14 @@ The site is translated into 11 languages — English, Simplified and Traditional
166
166
 
167
167
  - 🚀 **Lightweight & Scalable**: Icons are designed to be lightweight, utilizing highly optimized scalable vector graphics (SVG) for the best performance and quality.
168
168
  - 🌳 **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**: 1297 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.
169
+ - 🎨 **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
170
 
171
171
  ---
172
172
 
173
173
  **Supported brands:**
174
174
 
175
175
  <details>
176
- <summary><kbd>Show all 1297 brands</kbd></summary>
176
+ <summary><kbd>Show all 1298 brands</kbd></summary>
177
177
 
178
178
  <!-- ICON LIST -->
179
179
 
@@ -986,6 +986,7 @@ The site is translated into 11 languages — English, Simplified and Traditional
986
986
  | | | | <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
987
  | | | | <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
988
  | | | | <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 |
989
+ | | | | <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
990
  | | | | <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
991
  | | | | <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
992
  | | | | <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,5 @@
1
+ import { IconType } from "../../types/index.mjs";
2
+ //#region src/TapTapGo/components/Color.d.ts
3
+ declare const Icon: IconType;
4
+ //#endregion
5
+ export { Icon 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,5 @@
1
+ import { IconType } from "../../types/index.mjs";
2
+ //#region src/TapTapGo/components/Mono.d.ts
3
+ declare const Icon: IconType;
4
+ //#endregion
5
+ 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 };