@nadicodeai/ui 8.3.0 → 8.4.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/LICENSES/MODEL-IDENTITY-ASSETS-NOTICE.txt +28 -0
- package/NOTICE +7 -2
- package/dist/components/brand-icons/aionlabs.d.ts +18 -0
- package/dist/components/brand-icons/aionlabs.d.ts.map +1 -0
- package/dist/components/brand-icons/aionlabs.js +22 -0
- package/dist/components/brand-icons/arcee.d.ts +18 -0
- package/dist/components/brand-icons/arcee.d.ts.map +1 -0
- package/dist/components/brand-icons/arcee.js +22 -0
- package/dist/components/brand-icons/baidu.d.ts +18 -0
- package/dist/components/brand-icons/baidu.d.ts.map +1 -0
- package/dist/components/brand-icons/baidu.js +22 -0
- package/dist/components/brand-icons/bytedance.d.ts +18 -0
- package/dist/components/brand-icons/bytedance.d.ts.map +1 -0
- package/dist/components/brand-icons/bytedance.js +22 -0
- package/dist/components/brand-icons/cohere.d.ts +18 -0
- package/dist/components/brand-icons/cohere.d.ts.map +1 -0
- package/dist/components/brand-icons/cohere.js +22 -0
- package/dist/components/brand-icons/dolphin.d.ts +18 -0
- package/dist/components/brand-icons/dolphin.d.ts.map +1 -0
- package/dist/components/brand-icons/dolphin.js +22 -0
- package/dist/components/brand-icons/dotsstudio.d.ts +18 -0
- package/dist/components/brand-icons/dotsstudio.d.ts.map +1 -0
- package/dist/components/brand-icons/dotsstudio.js +22 -0
- package/dist/components/brand-icons/huggingface.d.ts +18 -0
- package/dist/components/brand-icons/huggingface.d.ts.map +1 -0
- package/dist/components/brand-icons/huggingface.js +22 -0
- package/dist/components/brand-icons/ibm.d.ts +18 -0
- package/dist/components/brand-icons/ibm.d.ts.map +1 -0
- package/dist/components/brand-icons/ibm.js +22 -0
- package/dist/components/brand-icons/inception.d.ts +18 -0
- package/dist/components/brand-icons/inception.d.ts.map +1 -0
- package/dist/components/brand-icons/inception.js +22 -0
- package/dist/components/brand-icons/inclusionai.d.ts +13 -0
- package/dist/components/brand-icons/inclusionai.d.ts.map +1 -0
- package/dist/components/brand-icons/inclusionai.js +18 -0
- package/dist/components/brand-icons/inference.d.ts +18 -0
- package/dist/components/brand-icons/inference.d.ts.map +1 -0
- package/dist/components/brand-icons/inference.js +22 -0
- package/dist/components/brand-icons/kwaipilot.d.ts +18 -0
- package/dist/components/brand-icons/kwaipilot.d.ts.map +1 -0
- package/dist/components/brand-icons/kwaipilot.js +25 -0
- package/dist/components/brand-icons/liquid.d.ts +18 -0
- package/dist/components/brand-icons/liquid.d.ts.map +1 -0
- package/dist/components/brand-icons/liquid.js +22 -0
- package/dist/components/brand-icons/longcat.d.ts +18 -0
- package/dist/components/brand-icons/longcat.d.ts.map +1 -0
- package/dist/components/brand-icons/longcat.js +22 -0
- package/dist/components/brand-icons/microsoft.d.ts +18 -0
- package/dist/components/brand-icons/microsoft.d.ts.map +1 -0
- package/dist/components/brand-icons/microsoft.js +22 -0
- package/dist/components/brand-icons/minimax.d.ts +18 -0
- package/dist/components/brand-icons/minimax.d.ts.map +1 -0
- package/dist/components/brand-icons/minimax.js +25 -0
- package/dist/components/brand-icons/morph.d.ts +18 -0
- package/dist/components/brand-icons/morph.d.ts.map +1 -0
- package/dist/components/brand-icons/morph.js +22 -0
- package/dist/components/brand-icons/nexagi.d.ts +18 -0
- package/dist/components/brand-icons/nexagi.d.ts.map +1 -0
- package/dist/components/brand-icons/nexagi.js +22 -0
- package/dist/components/brand-icons/nousresearch.d.ts +18 -0
- package/dist/components/brand-icons/nousresearch.d.ts.map +1 -0
- package/dist/components/brand-icons/nousresearch.js +22 -0
- package/dist/components/brand-icons/nova.d.ts +18 -0
- package/dist/components/brand-icons/nova.d.ts.map +1 -0
- package/dist/components/brand-icons/nova.js +25 -0
- package/dist/components/brand-icons/nvidia.d.ts +18 -0
- package/dist/components/brand-icons/nvidia.d.ts.map +1 -0
- package/dist/components/brand-icons/nvidia.js +22 -0
- package/dist/components/brand-icons/openrouter.d.ts +18 -0
- package/dist/components/brand-icons/openrouter.d.ts.map +1 -0
- package/dist/components/brand-icons/openrouter.js +22 -0
- package/dist/components/brand-icons/perceptron.d.ts +18 -0
- package/dist/components/brand-icons/perceptron.d.ts.map +1 -0
- package/dist/components/brand-icons/perceptron.js +22 -0
- package/dist/components/brand-icons/perplexity.d.ts +18 -0
- package/dist/components/brand-icons/perplexity.d.ts.map +1 -0
- package/dist/components/brand-icons/perplexity.js +22 -0
- package/dist/components/brand-icons/poolside.d.ts +18 -0
- package/dist/components/brand-icons/poolside.d.ts.map +1 -0
- package/dist/components/brand-icons/poolside.js +25 -0
- package/dist/components/brand-icons/reka.d.ts +18 -0
- package/dist/components/brand-icons/reka.d.ts.map +1 -0
- package/dist/components/brand-icons/reka.js +22 -0
- package/dist/components/brand-icons/relace.d.ts +18 -0
- package/dist/components/brand-icons/relace.d.ts.map +1 -0
- package/dist/components/brand-icons/relace.js +22 -0
- package/dist/components/brand-icons/sakana.d.ts +18 -0
- package/dist/components/brand-icons/sakana.d.ts.map +1 -0
- package/dist/components/brand-icons/sakana.js +22 -0
- package/dist/components/brand-icons/stepfun.d.ts +18 -0
- package/dist/components/brand-icons/stepfun.d.ts.map +1 -0
- package/dist/components/brand-icons/stepfun.js +25 -0
- package/dist/components/brand-icons/tencent.d.ts +18 -0
- package/dist/components/brand-icons/tencent.d.ts.map +1 -0
- package/dist/components/brand-icons/tencent.js +22 -0
- package/dist/components/brand-icons/the-drummer.d.ts +13 -0
- package/dist/components/brand-icons/the-drummer.d.ts.map +1 -0
- package/dist/components/brand-icons/the-drummer.js +18 -0
- package/dist/components/brand-icons/thinkingmachines.d.ts +13 -0
- package/dist/components/brand-icons/thinkingmachines.d.ts.map +1 -0
- package/dist/components/brand-icons/thinkingmachines.js +18 -0
- package/dist/components/brand-icons/unbiased.d.ts +13 -0
- package/dist/components/brand-icons/unbiased.d.ts.map +1 -0
- package/dist/components/brand-icons/unbiased.js +18 -0
- package/dist/components/brand-icons/upstage.d.ts +18 -0
- package/dist/components/brand-icons/upstage.d.ts.map +1 -0
- package/dist/components/brand-icons/upstage.js +25 -0
- package/dist/components/brand-icons/writer.d.ts +13 -0
- package/dist/components/brand-icons/writer.d.ts.map +1 -0
- package/dist/components/brand-icons/writer.js +18 -0
- package/dist/components/brand-icons/xiaomimimo.d.ts +18 -0
- package/dist/components/brand-icons/xiaomimimo.d.ts.map +1 -0
- package/dist/components/brand-icons/xiaomimimo.js +22 -0
- package/dist/components/brand-icons/zai.d.ts +18 -0
- package/dist/components/brand-icons/zai.d.ts.map +1 -0
- package/dist/components/brand-icons/zai.js +22 -0
- package/dist/components/brand-icons.d.ts +38 -0
- package/dist/components/brand-icons.d.ts.map +1 -1
- package/dist/components/brand-icons.js +38 -0
- package/dist/components/model-mark.d.ts.map +1 -1
- package/dist/components/model-mark.js +76 -36
- package/docs/contract.md +15 -11
- package/package.json +3 -3
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BrandIconProps } from "./brand-icon.js";
|
|
2
|
+
/**
|
|
3
|
+
* The upstage-color mark from the LobeHub icon set.
|
|
4
|
+
*
|
|
5
|
+
* Painted in the brand's official colors. Those colors are the identity
|
|
6
|
+
* being shown, so they do not follow the semantic theme.
|
|
7
|
+
*
|
|
8
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
9
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
10
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
11
|
+
* preserves the paint.
|
|
12
|
+
*
|
|
13
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
14
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
15
|
+
* the mark stands alone.
|
|
16
|
+
*/
|
|
17
|
+
export declare function UpstageIcon({ size, ...props }: BrandIconProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=upstage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upstage.d.ts","sourceRoot":"","sources":["../../../src/components/brand-icons/upstage.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BA+B/E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Generated by scripts/build-brand-icons.mjs from @lobehub/icons-static-svg (MIT).
|
|
2
|
+
// Edit the allow-list in that script and regenerate; hand edits to brand-icons/upstage.tsx are lost.
|
|
3
|
+
"use client";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { useId } from "react";
|
|
6
|
+
import { BRAND_ICON_SIZE, brandIconLabelling } from "./brand-icon.js";
|
|
7
|
+
/**
|
|
8
|
+
* The upstage-color mark from the LobeHub icon set.
|
|
9
|
+
*
|
|
10
|
+
* Painted in the brand's official colors. Those colors are the identity
|
|
11
|
+
* being shown, so they do not follow the semantic theme.
|
|
12
|
+
*
|
|
13
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
14
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
15
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
16
|
+
* preserves the paint.
|
|
17
|
+
*
|
|
18
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
19
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
20
|
+
* the mark stands alone.
|
|
21
|
+
*/
|
|
22
|
+
export function UpstageIcon({ size = BRAND_ICON_SIZE, ...props }) {
|
|
23
|
+
const scope = `brand-icon-upstage-${useId().replace(/[^a-zA-Z0-9]/g, "")}`;
|
|
24
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", "data-slot": "brand-icon", "data-brand": "upstage", ...props, ...brandIconLabelling(props), children: [_jsx("path", { d: "M19.763 0l-.373 1.297h2.594L22.354 0h-2.591zM16.192 2.27l-.376 1.298h5.52l.37-1.298h-5.514zM12.897 4.54l-.376 1.298h8.166l.37-1.298h-8.16zM2.85 6.81l-.377 1.298h17.565l.37-1.297H2.848zM3.884 9.081l-.376 1.297H19.39l.37-1.297H3.882zM4.088 24l.376-1.297H1.866L1.5 24h2.588zM7.662 21.73l.376-1.297H2.515L2.15 21.73h5.513zM10.957 19.459l.376-1.297h-8.17l-.366 1.297h8.16zM21.005 17.189l.376-1.297H3.812l-.366 1.297h17.559zM19.967 14.919l.376-1.297H4.461l-.366 1.297h15.872zM18.786 12.649l.376-1.297H4.26l-.366 1.297h14.893z", fill: `url(#${scope}-a)` }), _jsx("defs", { children: _jsxs("linearGradient", { gradientUnits: "userSpaceOnUse", id: `${scope}-a`, x1: "11.927", x2: "11.927", y2: "24", children: [_jsx("stop", { offset: "0", stopColor: "#AEBCFE" }), _jsx("stop", { offset: "1", stopColor: "#805DFA" })] }) })] }));
|
|
25
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type BrandIconProps } from "./brand-icon.js";
|
|
2
|
+
/**
|
|
3
|
+
* The writer.png mark from the published identity asset at https://writer.com/wp-content/uploads/2021/08/writer-w-logo-1.png?w=192.
|
|
4
|
+
*
|
|
5
|
+
* The published raster is embedded unchanged so the package never depends on
|
|
6
|
+
* a runtime network fetch. It is shown only as nominative model identity.
|
|
7
|
+
*
|
|
8
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
9
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
10
|
+
* the mark stands alone.
|
|
11
|
+
*/
|
|
12
|
+
export declare function WriterIcon({ size, ...props }: BrandIconProps): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/components/brand-icons/writer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAKxF;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,EAAE,IAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAgB9E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// Generated by scripts/build-brand-icons.mjs from published model-identity assets (nominative use).
|
|
3
|
+
// Edit the allow-list in that script and regenerate; hand edits to brand-icons/writer.tsx are lost.
|
|
4
|
+
import { BRAND_ICON_SIZE, brandIconLabelling } from "./brand-icon.js";
|
|
5
|
+
const WRITER_DATA = "data:image/png;base64,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";
|
|
6
|
+
/**
|
|
7
|
+
* The writer.png mark from the published identity asset at https://writer.com/wp-content/uploads/2021/08/writer-w-logo-1.png?w=192.
|
|
8
|
+
*
|
|
9
|
+
* The published raster is embedded unchanged so the package never depends on
|
|
10
|
+
* a runtime network fetch. It is shown only as nominative model identity.
|
|
11
|
+
*
|
|
12
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
13
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
14
|
+
* the mark stands alone.
|
|
15
|
+
*/
|
|
16
|
+
export function WriterIcon({ size = BRAND_ICON_SIZE, ...props }) {
|
|
17
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 192 192", "data-slot": "brand-icon", "data-brand": "writer", ...props, ...brandIconLabelling(props), children: [_jsx("rect", { width: "192", height: "192", fill: "#fff" }), _jsx("image", { href: WRITER_DATA, width: "192", height: "192", preserveAspectRatio: "xMidYMid meet" })] }));
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BrandIconProps } from "./brand-icon.js";
|
|
2
|
+
/**
|
|
3
|
+
* The xiaomimimo mark from the LobeHub icon set.
|
|
4
|
+
*
|
|
5
|
+
* Drawn as one silhouette, so it paints with `currentColor` and stays
|
|
6
|
+
* under the semantic theme in every mode.
|
|
7
|
+
*
|
|
8
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
9
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
10
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
11
|
+
* preserves the paint.
|
|
12
|
+
*
|
|
13
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
14
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
15
|
+
* the mark stands alone.
|
|
16
|
+
*/
|
|
17
|
+
export declare function XiaomiMimoIcon({ size, ...props }: BrandIconProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=xiaomimimo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xiaomimimo.d.ts","sourceRoot":"","sources":["../../../src/components/brand-icons/xiaomimimo.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,EAAE,IAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAiBlF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Generated by scripts/build-brand-icons.mjs from @lobehub/icons-static-svg (MIT).
|
|
3
|
+
// Edit the allow-list in that script and regenerate; hand edits to brand-icons/xiaomimimo.tsx are lost.
|
|
4
|
+
import { BRAND_ICON_SIZE, brandIconLabelling } from "./brand-icon.js";
|
|
5
|
+
/**
|
|
6
|
+
* The xiaomimimo mark from the LobeHub icon set.
|
|
7
|
+
*
|
|
8
|
+
* Drawn as one silhouette, so it paints with `currentColor` and stays
|
|
9
|
+
* under the semantic theme in every mode.
|
|
10
|
+
*
|
|
11
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
12
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
13
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
14
|
+
* preserves the paint.
|
|
15
|
+
*
|
|
16
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
17
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
18
|
+
* the mark stands alone.
|
|
19
|
+
*/
|
|
20
|
+
export function XiaomiMimoIcon({ size = BRAND_ICON_SIZE, ...props }) {
|
|
21
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "currentColor", fillRule: "evenodd", "data-slot": "brand-icon", "data-brand": "xiaomimimo", ...props, ...brandIconLabelling(props), children: _jsx("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" }) }));
|
|
22
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type BrandIconProps } from "./brand-icon.js";
|
|
2
|
+
/**
|
|
3
|
+
* The zai mark from the LobeHub icon set.
|
|
4
|
+
*
|
|
5
|
+
* Drawn as one silhouette, so it paints with `currentColor` and stays
|
|
6
|
+
* under the semantic theme in every mode.
|
|
7
|
+
*
|
|
8
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
9
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
10
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
11
|
+
* preserves the paint.
|
|
12
|
+
*
|
|
13
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
14
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
15
|
+
* the mark stands alone.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ZaiIcon({ size, ...props }: BrandIconProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=zai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zai.d.ts","sourceRoot":"","sources":["../../../src/components/brand-icons/zai.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAExF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,EAAE,IAAsB,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,+BAiB3E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Generated by scripts/build-brand-icons.mjs from @lobehub/icons-static-svg (MIT).
|
|
3
|
+
// Edit the allow-list in that script and regenerate; hand edits to brand-icons/zai.tsx are lost.
|
|
4
|
+
import { BRAND_ICON_SIZE, brandIconLabelling } from "./brand-icon.js";
|
|
5
|
+
/**
|
|
6
|
+
* The zai mark from the LobeHub icon set.
|
|
7
|
+
*
|
|
8
|
+
* Drawn as one silhouette, so it paints with `currentColor` and stays
|
|
9
|
+
* under the semantic theme in every mode.
|
|
10
|
+
*
|
|
11
|
+
* Under forced-colors mode the mark flattens to the user's system colors. That
|
|
12
|
+
* loss of brand color is the correct outcome of a contrast choice the user made,
|
|
13
|
+
* so `forced-color-adjust` stays at its `auto` default and nothing here
|
|
14
|
+
* preserves the paint.
|
|
15
|
+
*
|
|
16
|
+
* Hidden from assistive technology by default because a brand mark sits beside
|
|
17
|
+
* the text label that names it. Pass `role="img"` with an `aria-label` when
|
|
18
|
+
* the mark stands alone.
|
|
19
|
+
*/
|
|
20
|
+
export function ZaiIcon({ size = BRAND_ICON_SIZE, ...props }) {
|
|
21
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "currentColor", fillRule: "evenodd", "data-slot": "brand-icon", "data-brand": "zai", ...props, ...brandIconLabelling(props), children: _jsx("path", { d: "M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z" }) }));
|
|
22
|
+
}
|
|
@@ -2,13 +2,51 @@ export { BRAND_ICON_SIZE, brandIconLabelling, type BrandIconProps, } from "./bra
|
|
|
2
2
|
export { WindowsIcon } from "./brand-icons/windows.js";
|
|
3
3
|
export { AppleIcon } from "./brand-icons/apple.js";
|
|
4
4
|
export { LinuxIcon } from "./brand-icons/linux.js";
|
|
5
|
+
export { AionLabsIcon } from "./brand-icons/aionlabs.js";
|
|
6
|
+
export { NovaIcon } from "./brand-icons/nova.js";
|
|
5
7
|
export { OpenaiIcon } from "./brand-icons/openai.js";
|
|
6
8
|
export { ClaudeIcon } from "./brand-icons/claude.js";
|
|
9
|
+
export { ArceeIcon } from "./brand-icons/arcee.js";
|
|
10
|
+
export { BaiduIcon } from "./brand-icons/baidu.js";
|
|
11
|
+
export { ByteDanceIcon } from "./brand-icons/bytedance.js";
|
|
12
|
+
export { DolphinIcon } from "./brand-icons/dolphin.js";
|
|
13
|
+
export { CohereIcon } from "./brand-icons/cohere.js";
|
|
7
14
|
export { GeminiIcon } from "./brand-icons/gemini.js";
|
|
8
15
|
export { DeepseekIcon } from "./brand-icons/deepseek.js";
|
|
16
|
+
export { DotsStudioIcon } from "./brand-icons/dotsstudio.js";
|
|
17
|
+
export { HuggingFaceIcon } from "./brand-icons/huggingface.js";
|
|
18
|
+
export { IbmIcon } from "./brand-icons/ibm.js";
|
|
19
|
+
export { InceptionIcon } from "./brand-icons/inception.js";
|
|
20
|
+
export { InferenceIcon } from "./brand-icons/inference.js";
|
|
21
|
+
export { KwaipilotIcon } from "./brand-icons/kwaipilot.js";
|
|
22
|
+
export { LiquidIcon } from "./brand-icons/liquid.js";
|
|
23
|
+
export { LongcatIcon } from "./brand-icons/longcat.js";
|
|
9
24
|
export { GrokIcon } from "./brand-icons/grok.js";
|
|
25
|
+
export { MicrosoftIcon } from "./brand-icons/microsoft.js";
|
|
26
|
+
export { MinimaxIcon } from "./brand-icons/minimax.js";
|
|
10
27
|
export { MistralIcon } from "./brand-icons/mistral.js";
|
|
11
28
|
export { MetaIcon } from "./brand-icons/meta.js";
|
|
29
|
+
export { MorphIcon } from "./brand-icons/morph.js";
|
|
30
|
+
export { NousResearchIcon } from "./brand-icons/nousresearch.js";
|
|
31
|
+
export { NvidiaIcon } from "./brand-icons/nvidia.js";
|
|
32
|
+
export { OpenrouterIcon } from "./brand-icons/openrouter.js";
|
|
33
|
+
export { PerceptronIcon } from "./brand-icons/perceptron.js";
|
|
34
|
+
export { PerplexityIcon } from "./brand-icons/perplexity.js";
|
|
35
|
+
export { PoolsideIcon } from "./brand-icons/poolside.js";
|
|
12
36
|
export { QwenIcon } from "./brand-icons/qwen.js";
|
|
37
|
+
export { RekaIcon } from "./brand-icons/reka.js";
|
|
38
|
+
export { RelaceIcon } from "./brand-icons/relace.js";
|
|
39
|
+
export { SakanaIcon } from "./brand-icons/sakana.js";
|
|
40
|
+
export { StepfunIcon } from "./brand-icons/stepfun.js";
|
|
41
|
+
export { TencentIcon } from "./brand-icons/tencent.js";
|
|
13
42
|
export { MoonshotIcon } from "./brand-icons/moonshot.js";
|
|
43
|
+
export { UpstageIcon } from "./brand-icons/upstage.js";
|
|
44
|
+
export { XiaomiMimoIcon } from "./brand-icons/xiaomimimo.js";
|
|
45
|
+
export { ZaiIcon } from "./brand-icons/zai.js";
|
|
46
|
+
export { InclusionAiIcon } from "./brand-icons/inclusionai.js";
|
|
47
|
+
export { NexAgiIcon } from "./brand-icons/nexagi.js";
|
|
48
|
+
export { ThinkingMachinesIcon } from "./brand-icons/thinkingmachines.js";
|
|
49
|
+
export { TheDrummerIcon } from "./brand-icons/the-drummer.js";
|
|
50
|
+
export { UnbiasedIcon } from "./brand-icons/unbiased.js";
|
|
51
|
+
export { WriterIcon } from "./brand-icons/writer.js";
|
|
14
52
|
//# sourceMappingURL=brand-icons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand-icons.d.ts","sourceRoot":"","sources":["../../src/components/brand-icons.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"brand-icons.d.ts","sourceRoot":"","sources":["../../src/components/brand-icons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,50 @@ export { BRAND_ICON_SIZE, brandIconLabelling, } from "./brand-icons/brand-icon.j
|
|
|
8
8
|
export { WindowsIcon } from "./brand-icons/windows.js";
|
|
9
9
|
export { AppleIcon } from "./brand-icons/apple.js";
|
|
10
10
|
export { LinuxIcon } from "./brand-icons/linux.js";
|
|
11
|
+
export { AionLabsIcon } from "./brand-icons/aionlabs.js";
|
|
12
|
+
export { NovaIcon } from "./brand-icons/nova.js";
|
|
11
13
|
export { OpenaiIcon } from "./brand-icons/openai.js";
|
|
12
14
|
export { ClaudeIcon } from "./brand-icons/claude.js";
|
|
15
|
+
export { ArceeIcon } from "./brand-icons/arcee.js";
|
|
16
|
+
export { BaiduIcon } from "./brand-icons/baidu.js";
|
|
17
|
+
export { ByteDanceIcon } from "./brand-icons/bytedance.js";
|
|
18
|
+
export { DolphinIcon } from "./brand-icons/dolphin.js";
|
|
19
|
+
export { CohereIcon } from "./brand-icons/cohere.js";
|
|
13
20
|
export { GeminiIcon } from "./brand-icons/gemini.js";
|
|
14
21
|
export { DeepseekIcon } from "./brand-icons/deepseek.js";
|
|
22
|
+
export { DotsStudioIcon } from "./brand-icons/dotsstudio.js";
|
|
23
|
+
export { HuggingFaceIcon } from "./brand-icons/huggingface.js";
|
|
24
|
+
export { IbmIcon } from "./brand-icons/ibm.js";
|
|
25
|
+
export { InceptionIcon } from "./brand-icons/inception.js";
|
|
26
|
+
export { InferenceIcon } from "./brand-icons/inference.js";
|
|
27
|
+
export { KwaipilotIcon } from "./brand-icons/kwaipilot.js";
|
|
28
|
+
export { LiquidIcon } from "./brand-icons/liquid.js";
|
|
29
|
+
export { LongcatIcon } from "./brand-icons/longcat.js";
|
|
15
30
|
export { GrokIcon } from "./brand-icons/grok.js";
|
|
31
|
+
export { MicrosoftIcon } from "./brand-icons/microsoft.js";
|
|
32
|
+
export { MinimaxIcon } from "./brand-icons/minimax.js";
|
|
16
33
|
export { MistralIcon } from "./brand-icons/mistral.js";
|
|
17
34
|
export { MetaIcon } from "./brand-icons/meta.js";
|
|
35
|
+
export { MorphIcon } from "./brand-icons/morph.js";
|
|
36
|
+
export { NousResearchIcon } from "./brand-icons/nousresearch.js";
|
|
37
|
+
export { NvidiaIcon } from "./brand-icons/nvidia.js";
|
|
38
|
+
export { OpenrouterIcon } from "./brand-icons/openrouter.js";
|
|
39
|
+
export { PerceptronIcon } from "./brand-icons/perceptron.js";
|
|
40
|
+
export { PerplexityIcon } from "./brand-icons/perplexity.js";
|
|
41
|
+
export { PoolsideIcon } from "./brand-icons/poolside.js";
|
|
18
42
|
export { QwenIcon } from "./brand-icons/qwen.js";
|
|
43
|
+
export { RekaIcon } from "./brand-icons/reka.js";
|
|
44
|
+
export { RelaceIcon } from "./brand-icons/relace.js";
|
|
45
|
+
export { SakanaIcon } from "./brand-icons/sakana.js";
|
|
46
|
+
export { StepfunIcon } from "./brand-icons/stepfun.js";
|
|
47
|
+
export { TencentIcon } from "./brand-icons/tencent.js";
|
|
19
48
|
export { MoonshotIcon } from "./brand-icons/moonshot.js";
|
|
49
|
+
export { UpstageIcon } from "./brand-icons/upstage.js";
|
|
50
|
+
export { XiaomiMimoIcon } from "./brand-icons/xiaomimimo.js";
|
|
51
|
+
export { ZaiIcon } from "./brand-icons/zai.js";
|
|
52
|
+
export { InclusionAiIcon } from "./brand-icons/inclusionai.js";
|
|
53
|
+
export { NexAgiIcon } from "./brand-icons/nexagi.js";
|
|
54
|
+
export { ThinkingMachinesIcon } from "./brand-icons/thinkingmachines.js";
|
|
55
|
+
export { TheDrummerIcon } from "./brand-icons/the-drummer.js";
|
|
56
|
+
export { UnbiasedIcon } from "./brand-icons/unbiased.js";
|
|
57
|
+
export { WriterIcon } from "./brand-icons/writer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-mark.d.ts","sourceRoot":"","sources":["../../src/components/model-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"model-mark.d.ts","sourceRoot":"","sources":["../../src/components/model-mark.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0J/B,KAAK,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACrE,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iBAAS,SAAS,CAAC,EACjB,MAAM,EACN,IAAI,EACJ,IAAsB,EACtB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,qBAyDhB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,39 +1,67 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../lib/utils.js";
|
|
3
|
-
import { ClaudeIcon, DeepseekIcon, GeminiIcon, GrokIcon, MetaIcon, MistralIcon, MoonshotIcon, OpenaiIcon, QwenIcon, } from "./brand-icons.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* `src/components/brand-icons/` from the LobeHub icon set (MIT), keyed here by
|
|
11
|
-
* the author slug a usage read reports. An author off this allow-list still gets
|
|
12
|
-
* a tile — the neutral register — so a model never falls back to a bare color
|
|
13
|
-
* swatch. Colour alone never identifies a model.
|
|
14
|
-
*
|
|
15
|
-
* Presentation is one component with two readings: a `name` prints the model
|
|
16
|
-
* beside its maker, as a table cell or ranked list reads it; without one the
|
|
17
|
-
* bare mark stands in a chart legend beside that legend's own label. The tile,
|
|
18
|
-
* not the artwork, sets the box: the glyph scales with it because a 24px mark
|
|
19
|
-
* inside an 18px tile would overflow.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* The maker allow-list by author slug, drawn from the icons the Analytics
|
|
23
|
-
* boards used (`nadicodeai/2026-09-18-live-usage`, `mockups/source/icons`).
|
|
24
|
-
* Adding an author is two edits: its mark to the generator's allow-list in
|
|
25
|
-
* `scripts/build-brand-icons.mjs`, then its slug here.
|
|
26
|
-
*/
|
|
3
|
+
import { AionLabsIcon, ArceeIcon, BaiduIcon, ByteDanceIcon, ClaudeIcon, CohereIcon, DeepseekIcon, DolphinIcon, DotsStudioIcon, GeminiIcon, GrokIcon, HuggingFaceIcon, IbmIcon, InclusionAiIcon, InceptionIcon, InferenceIcon, KwaipilotIcon, LiquidIcon, LongcatIcon, MetaIcon, MicrosoftIcon, MinimaxIcon, MistralIcon, MoonshotIcon, MorphIcon, NexAgiIcon, NousResearchIcon, NovaIcon, NvidiaIcon, OpenaiIcon, OpenrouterIcon, PerceptronIcon, PerplexityIcon, PoolsideIcon, QwenIcon, RekaIcon, RelaceIcon, SakanaIcon, StepfunIcon, TencentIcon, TheDrummerIcon, ThinkingMachinesIcon, UnbiasedIcon, UpstageIcon, WriterIcon, XiaomiMimoIcon, ZaiIcon, } from "./brand-icons.js";
|
|
4
|
+
function identity(Mark) {
|
|
5
|
+
return { Mark, source: "identity" };
|
|
6
|
+
}
|
|
7
|
+
function openRouterHuggingFaceFallback() {
|
|
8
|
+
return { Mark: HuggingFaceIcon, source: "openrouter-hugging-face-fallback" };
|
|
9
|
+
}
|
|
27
10
|
const MODEL_AUTHOR_MARKS = {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
11
|
+
"aion-labs": identity(AionLabsIcon),
|
|
12
|
+
amazon: identity(NovaIcon),
|
|
13
|
+
"anthracite-org": openRouterHuggingFaceFallback(),
|
|
14
|
+
anthropic: identity(ClaudeIcon),
|
|
15
|
+
"arcee-ai": identity(ArceeIcon),
|
|
16
|
+
baidu: identity(BaiduIcon),
|
|
17
|
+
bytedance: identity(ByteDanceIcon),
|
|
18
|
+
"bytedance-seed": identity(ByteDanceIcon),
|
|
19
|
+
cognitivecomputations: identity(DolphinIcon),
|
|
20
|
+
cohere: identity(CohereIcon),
|
|
21
|
+
deepseek: identity(DeepseekIcon),
|
|
22
|
+
"dots-studio": identity(DotsStudioIcon),
|
|
23
|
+
google: identity(GeminiIcon),
|
|
24
|
+
gryphe: openRouterHuggingFaceFallback(),
|
|
25
|
+
"ibm-granite": identity(IbmIcon),
|
|
26
|
+
inception: identity(InceptionIcon),
|
|
27
|
+
inclusionai: identity(InclusionAiIcon),
|
|
28
|
+
"inference-net": identity(InferenceIcon),
|
|
29
|
+
kwaipilot: identity(KwaipilotIcon),
|
|
30
|
+
liquid: identity(LiquidIcon),
|
|
31
|
+
mancer: openRouterHuggingFaceFallback(),
|
|
32
|
+
meituan: identity(LongcatIcon),
|
|
33
|
+
meta: identity(MetaIcon),
|
|
34
|
+
"meta-llama": identity(MetaIcon),
|
|
35
|
+
microsoft: identity(MicrosoftIcon),
|
|
36
|
+
minimax: identity(MinimaxIcon),
|
|
37
|
+
mistralai: identity(MistralIcon),
|
|
38
|
+
moonshotai: identity(MoonshotIcon),
|
|
39
|
+
morph: identity(MorphIcon),
|
|
40
|
+
"nex-agi": identity(NexAgiIcon),
|
|
41
|
+
nousresearch: identity(NousResearchIcon),
|
|
42
|
+
nvidia: identity(NvidiaIcon),
|
|
43
|
+
openai: identity(OpenaiIcon),
|
|
44
|
+
openrouter: identity(OpenrouterIcon),
|
|
45
|
+
perceptron: identity(PerceptronIcon),
|
|
46
|
+
perplexity: identity(PerplexityIcon),
|
|
47
|
+
poolside: identity(PoolsideIcon),
|
|
48
|
+
"prism-ml": openRouterHuggingFaceFallback(),
|
|
49
|
+
qwen: identity(QwenIcon),
|
|
50
|
+
rekaai: identity(RekaIcon),
|
|
51
|
+
relace: identity(RelaceIcon),
|
|
52
|
+
sakana: identity(SakanaIcon),
|
|
53
|
+
sao10k: openRouterHuggingFaceFallback(),
|
|
54
|
+
stepfun: identity(StepfunIcon),
|
|
55
|
+
tencent: identity(TencentIcon),
|
|
56
|
+
thedrummer: identity(TheDrummerIcon),
|
|
57
|
+
thinkingmachines: identity(ThinkingMachinesIcon),
|
|
58
|
+
unbiased: identity(UnbiasedIcon),
|
|
59
|
+
undi95: openRouterHuggingFaceFallback(),
|
|
60
|
+
upstage: identity(UpstageIcon),
|
|
61
|
+
writer: identity(WriterIcon),
|
|
62
|
+
"x-ai": identity(GrokIcon),
|
|
63
|
+
xiaomi: identity(XiaomiMimoIcon),
|
|
64
|
+
"z-ai": identity(ZaiIcon),
|
|
37
65
|
};
|
|
38
66
|
const MODEL_MARK_SIZE = 28;
|
|
39
67
|
/** The glyph's share of the tile, the ratio the boards' generator derived. */
|
|
@@ -47,9 +75,21 @@ const MODEL_MARK_GLYPH_RATIO = 0.62;
|
|
|
47
75
|
function isModelAuthor(slug) {
|
|
48
76
|
return Object.hasOwn(MODEL_AUTHOR_MARKS, slug);
|
|
49
77
|
}
|
|
78
|
+
function normalizedAuthor(author) {
|
|
79
|
+
return author.trim().toLowerCase().replace(/^~+/, "");
|
|
80
|
+
}
|
|
81
|
+
function authorInitials(author) {
|
|
82
|
+
const words = author.split(/[^a-z0-9]+/).filter(Boolean);
|
|
83
|
+
return (words
|
|
84
|
+
.slice(0, 2)
|
|
85
|
+
.map((word) => word[0])
|
|
86
|
+
.join("")
|
|
87
|
+
.toUpperCase() || "?");
|
|
88
|
+
}
|
|
50
89
|
function ModelMark({ author, name, size = MODEL_MARK_SIZE, label, className, ...props }) {
|
|
51
|
-
const slug = author
|
|
52
|
-
const
|
|
90
|
+
const slug = normalizedAuthor(author);
|
|
91
|
+
const definition = isModelAuthor(slug) ? MODEL_AUTHOR_MARKS[slug] : undefined;
|
|
92
|
+
const Mark = definition?.Mark;
|
|
53
93
|
// A name reaches the root from `label` or from the caller's own aria
|
|
54
94
|
// attributes; only the `label` prop also states the role, because a name
|
|
55
95
|
// alone on a generic element is not an accessible name. A mark with no name
|
|
@@ -61,6 +101,6 @@ function ModelMark({ author, name, size = MODEL_MARK_SIZE, label, className, ...
|
|
|
61
101
|
: label?.trim()
|
|
62
102
|
? { role: "img", "aria-label": label }
|
|
63
103
|
: {};
|
|
64
|
-
return (_jsxs("span", { "data-slot": "model-mark", "data-author": author, className: cn("inline-flex min-w-0 items-center gap-1.5", className), ...props, ...labelling, children: [_jsx("span", { "data-slot": "model-mark-tile", "data-mark": Mark ? "brand" : "
|
|
104
|
+
return (_jsxs("span", { "data-slot": "model-mark", "data-author": author, "data-resolved-author": slug, className: cn("inline-flex min-w-0 items-center gap-1.5", className), ...props, ...labelling, children: [_jsx("span", { "data-slot": "model-mark-tile", "data-mark": Mark ? "brand" : "monogram", "data-mark-source": definition?.source, "aria-hidden": "true", className: "inline-flex shrink-0 items-center justify-center rounded-md border border-border bg-background text-foreground", style: { width: size, height: size }, children: Mark ? (_jsx(Mark, { size: Math.round(size * MODEL_MARK_GLYPH_RATIO) })) : (_jsx("span", { "aria-hidden": "true", className: "font-semibold leading-none text-muted-foreground", "data-slot": "model-author-monogram", style: { fontSize: Math.max(8, Math.round(size * 0.32)) }, children: authorInitials(slug) })) }), name ? (_jsxs("span", { className: "min-w-0 truncate", children: [_jsx("span", { className: "font-medium", children: name }), " ", _jsx("span", { className: "text-xs text-muted-foreground", children: author })] })) : null] }));
|
|
65
105
|
}
|
|
66
106
|
export { ModelMark };
|
package/docs/contract.md
CHANGED
|
@@ -201,18 +201,21 @@ product-domain `agent` object prop in the shared package.
|
|
|
201
201
|
- **Reusable sections and compositions live here after proof.** Bento grids, media mounts, demo surfaces, page frames, section intros, CTA bands, proof slots, benefits grids, generic shells, and homepage/use-case sections belong in `@nadicodeai/ui` when a second concrete consumer, a plan-approved shared component, or a named validation slice proves the package boundary. Website, portal, and sibling Nadia routes pass data and media children into existing compositions instead of rebuilding layout locally.
|
|
202
202
|
- **Brand renderers live here for React consumers.** Logo geometry, asset generation, and usage semantics are owned by [`packages/design-system/DESIGN.md`, "Brand media authority"](../../design-system/DESIGN.md#brand-media-authority). `BrandLockup` supplies the approved horizontal lockup. `BrandMark` serves tight spaces and `BrandWordmark` serves placements where the name must read by itself. All three render the package's public neutral geometry seam with React-scoped SVG ids, dynamic theme paint, and accessible names. Consuming routes use these adapters; they never import raw logo assets, draw brand SVG inline, mask or recolor assets, or create another lockup rule.
|
|
203
203
|
- **Third-party brand marks are generated, never hand-drawn and never hand-edited.** Other companies' marks live in `packages/ui/src/components/brand-icons/`, emitted from an explicit allow-list by `packages/ui/scripts/build-brand-icons.mjs` and exported through the `@nadicodeai/ui/components/brand-icons` subpath. They are identity images, not UI icons: a brand mark is exempt from the currentColor stroke system and from the raw-literal rule, it never stands in for a UI icon, and a UI icon never stands in for a brand. Marks drawn as one silhouette are stripped to `currentColor` by the generator; every other mark keeps its official colors verbatim. To add a brand, edit the generator's allow-list and run `npm run generate:brand-icons -w @nadicodeai/ui`; hand edits to the generated directory are lost and `packages/ui/tests/guards/brand-icons-codegen.test.ts` fails on them. Use is nominative only — naming a platform, an integration, or a provider — never adjacent to endorsement or partnership wording; that nominative posture is the licensing and trademark position, so a mark never appears where the copy implies endorsement.
|
|
204
|
-
The one script reads
|
|
204
|
+
The one script reads platform marks from the Iconify `logos` set (CC0-1.0), model identities from the LobeHub icon set (MIT, `@lobehub/icons-static-svg`), and a small reviewed supplemental set from the official or OpenRouter-published source recorded beside each input. Raster supplements are embedded into generated SVG components, so a consumer never fetches a logo at runtime. The emitted components carry no icon-data runtime dependency. The artwork itself does ship, so every upstream travels with its applicable licence or provenance notice in `LICENSES/` and `NOTICE`, and `tests/guards/brand-icons-codegen.test.ts` holds the allow-list to that: a new source cannot ship unattributed.
|
|
205
205
|
- **No fake proof APIs.** Components may support future testimonials, logos, stats, and proof slots, but they must render nothing public when the proof is absent. Do not ship placeholder customer names, metrics, or logos.
|
|
206
206
|
|
|
207
207
|
### Model identity
|
|
208
208
|
|
|
209
|
-
`ModelMark` is a model's identity: its maker
|
|
210
|
-
author when a caller supplies them. It takes `author` — the
|
|
211
|
-
reports — and resolves it against the
|
|
212
|
-
`model-shown-with-logo`).
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
209
|
+
`ModelMark` is a model's identity: its maker or model-family mark, plus the
|
|
210
|
+
model's name and author when a caller supplies them. It takes `author` — the
|
|
211
|
+
slug a usage read reports — and resolves it against the reviewed catalog
|
|
212
|
+
mapping (rule `model-shown-with-logo`). OpenRouter aliases prefixed with `~`
|
|
213
|
+
resolve to their canonical author's mark. For community author pages where
|
|
214
|
+
OpenRouter publishes the generic Hugging Face image, `ModelMark` uses that same
|
|
215
|
+
fallback and still prints the actual author. A future author outside the mapping
|
|
216
|
+
gets a text monogram, not an invented logo or an empty tile. The tile owns the
|
|
217
|
+
box and scales the artwork inside it; `size` states that box, and the author
|
|
218
|
+
slug prints as reported.
|
|
216
219
|
|
|
217
220
|
One component has two readings: with `name`, the row a table cell or ranked
|
|
218
221
|
list reads; without one, the bare mark beside text that already names the model.
|
|
@@ -222,9 +225,10 @@ model's row in a table or a ranked list is where `ModelMark` belongs. A mark is
|
|
|
222
225
|
decoration beside the label that already names it; one standing alone takes
|
|
223
226
|
`label` (`role="img"` with an accessible name) or stays hidden.
|
|
224
227
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
+
The package owns the reviewed author-to-mark mapping and its generated artwork;
|
|
229
|
+
the live catalog remains the source of which authors exist. The consuming app
|
|
230
|
+
supplies the reported author slug, the model name, and the colors it pairs with
|
|
231
|
+
them.
|
|
228
232
|
|
|
229
233
|
## Accessibility Invariant
|
|
230
234
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nadicodeai/ui",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@assistant-ui/react": "0.15.20",
|
|
71
71
|
"@assistant-ui/react-markdown": "0.14.15",
|
|
72
72
|
"@base-ui/react": "^1.8.0",
|
|
73
|
-
"@nadicodeai/design-system": "8.
|
|
73
|
+
"@nadicodeai/design-system": "8.4.0",
|
|
74
74
|
"@paper-design/shaders": "0.0.81",
|
|
75
75
|
"class-variance-authority": "^0.7.1",
|
|
76
76
|
"clsx": "^2.1.1",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"devDependencies": {
|
|
103
103
|
"@iconify-json/logos": "^1.2.14",
|
|
104
104
|
"@iconify/utils": "^3.1.7",
|
|
105
|
-
"@lobehub/icons-static-svg": "^1.95.
|
|
105
|
+
"@lobehub/icons-static-svg": "^1.95.1",
|
|
106
106
|
"@nadicodeai/eslint-plugin": "*",
|
|
107
107
|
"@stryker-mutator/core": "10.0.0",
|
|
108
108
|
"@stryker-mutator/vitest-runner": "10.0.0",
|