@medialane/ui 0.49.0 → 0.50.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/dist/components/action-button.cjs +113 -0
- package/dist/components/action-button.cjs.map +1 -0
- package/dist/components/action-button.d.cts +20 -0
- package/dist/components/action-button.d.ts +20 -0
- package/dist/components/action-button.js +89 -0
- package/dist/components/action-button.js.map +1 -0
- package/dist/components/action-dialog.cjs +68 -0
- package/dist/components/action-dialog.cjs.map +1 -0
- package/dist/components/action-dialog.d.cts +12 -0
- package/dist/components/action-dialog.d.ts +12 -0
- package/dist/components/action-dialog.js +44 -0
- package/dist/components/action-dialog.js.map +1 -0
- package/dist/components/aurora.cjs +86 -0
- package/dist/components/aurora.cjs.map +1 -0
- package/dist/components/aurora.d.cts +13 -0
- package/dist/components/aurora.d.ts +13 -0
- package/dist/components/aurora.js +62 -0
- package/dist/components/aurora.js.map +1 -0
- package/dist/components/stat-tile.cjs +85 -0
- package/dist/components/stat-tile.cjs.map +1 -0
- package/dist/components/stat-tile.d.cts +25 -0
- package/dist/components/stat-tile.d.ts +25 -0
- package/dist/components/stat-tile.js +60 -0
- package/dist/components/stat-tile.js.map +1 -0
- package/dist/components/token-glyph.cjs +93 -0
- package/dist/components/token-glyph.cjs.map +1 -0
- package/dist/components/token-glyph.d.cts +21 -0
- package/dist/components/token-glyph.d.ts +21 -0
- package/dist/components/token-glyph.js +68 -0
- package/dist/components/token-glyph.js.map +1 -0
- package/dist/data/brand.cjs +26 -7
- package/dist/data/brand.cjs.map +1 -1
- package/dist/data/brand.d.cts +26 -7
- package/dist/data/brand.d.ts +26 -7
- package/dist/data/brand.js +26 -7
- package/dist/data/brand.js.map +1 -1
- package/dist/index.cjs +19 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/medialane.css +51 -8
- package/dist/preset/tailwind.cjs +8 -5
- package/dist/preset/tailwind.cjs.map +1 -1
- package/dist/preset/tailwind.js +8 -5
- package/dist/preset/tailwind.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var stat_tile_exports = {};
|
|
20
|
+
__export(stat_tile_exports, {
|
|
21
|
+
StatPill: () => StatPill,
|
|
22
|
+
StatTile: () => StatTile
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(stat_tile_exports);
|
|
25
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
+
function StatTile({
|
|
27
|
+
label,
|
|
28
|
+
value,
|
|
29
|
+
sub,
|
|
30
|
+
accent,
|
|
31
|
+
big,
|
|
32
|
+
radius = 16,
|
|
33
|
+
children,
|
|
34
|
+
className
|
|
35
|
+
}) {
|
|
36
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
className: `bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ""}`,
|
|
40
|
+
style: { borderRadius: radius, padding: "12px 14px" },
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground", children: label }),
|
|
43
|
+
value != null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
44
|
+
"span",
|
|
45
|
+
{
|
|
46
|
+
className: "font-semibold leading-none tracking-tight",
|
|
47
|
+
style: {
|
|
48
|
+
fontSize: big ? 22 : 16,
|
|
49
|
+
fontFamily: '"Geist Mono", ui-monospace, SFMono-Regular, monospace',
|
|
50
|
+
color: accent
|
|
51
|
+
},
|
|
52
|
+
children: value
|
|
53
|
+
}
|
|
54
|
+
),
|
|
55
|
+
sub && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[11px] text-muted-foreground", children: sub }),
|
|
56
|
+
children
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
function StatPill({ value, label, className }) {
|
|
62
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
className: `inline-flex items-baseline gap-2 px-4 py-2 rounded-full bg-muted ${className ?? ""}`,
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
68
|
+
"span",
|
|
69
|
+
{
|
|
70
|
+
className: "text-[15px] font-bold text-foreground",
|
|
71
|
+
style: { fontFamily: '"Geist Mono", ui-monospace, SFMono-Regular, monospace' },
|
|
72
|
+
children: value
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[13px] text-muted-foreground", children: label })
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
StatPill,
|
|
83
|
+
StatTile
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=stat-tile.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/stat-tile.tsx"],"sourcesContent":["// Bento stat tile and header stat pill — the design system's data-display primitives.\n\nexport interface StatTileProps {\n label: string;\n /** Shown as the primary value. Pass \"—\" (em dash) for unknown, never zero. */\n value?: string | number | null;\n /** Secondary line below the value. */\n sub?: string;\n /** Override color for the value text (e.g. brand-blue for positive deltas). */\n accent?: string;\n /** Large 22px value variant. */\n big?: boolean;\n radius?: number;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function StatTile({\n label,\n value,\n sub,\n accent,\n big,\n radius = 16,\n children,\n className,\n}: StatTileProps) {\n return (\n <div\n className={`bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ''}`}\n style={{ borderRadius: radius, padding: '12px 14px' }}\n >\n <span className=\"text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground\">\n {label}\n </span>\n {value != null && (\n <span\n className=\"font-semibold leading-none tracking-tight\"\n style={{\n fontSize: big ? 22 : 16,\n fontFamily: '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace',\n color: accent,\n }}\n >\n {value}\n </span>\n )}\n {sub && (\n <span className=\"text-[11px] text-muted-foreground\">{sub}</span>\n )}\n {children}\n </div>\n );\n}\n\nexport interface StatPillProps {\n value: string | number;\n label: string;\n className?: string;\n}\n\nexport function StatPill({ value, label, className }: StatPillProps) {\n return (\n <div\n className={`inline-flex items-baseline gap-2 px-4 py-2 rounded-full bg-muted ${className ?? ''}`}\n >\n <span\n className=\"text-[15px] font-bold text-foreground\"\n style={{ fontFamily: '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace' }}\n >\n {value}\n </span>\n <span className=\"text-[13px] text-muted-foreground\">{label}</span>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4BI;AAXG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AACF,GAAkB;AAChB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,6DAA6D,aAAa,EAAE;AAAA,MACvF,OAAO,EAAE,cAAc,QAAQ,SAAS,YAAY;AAAA,MAEpD;AAAA,oDAAC,UAAK,WAAU,iFACb,iBACH;AAAA,QACC,SAAS,QACR;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UAAU,MAAM,KAAK;AAAA,cACrB,YAAY;AAAA,cACZ,OAAO;AAAA,YACT;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,QAED,OACC,4CAAC,UAAK,WAAU,qCAAqC,eAAI;AAAA,QAE1D;AAAA;AAAA;AAAA,EACH;AAEJ;AAQO,SAAS,SAAS,EAAE,OAAO,OAAO,UAAU,GAAkB;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,oEAAoE,aAAa,EAAE;AAAA,MAE9F;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,YAAY,wDAAwD;AAAA,YAE5E;AAAA;AAAA,QACH;AAAA,QACA,4CAAC,UAAK,WAAU,qCAAqC,iBAAM;AAAA;AAAA;AAAA,EAC7D;AAEJ;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface StatTileProps {
|
|
4
|
+
label: string;
|
|
5
|
+
/** Shown as the primary value. Pass "—" (em dash) for unknown, never zero. */
|
|
6
|
+
value?: string | number | null;
|
|
7
|
+
/** Secondary line below the value. */
|
|
8
|
+
sub?: string;
|
|
9
|
+
/** Override color for the value text (e.g. brand-blue for positive deltas). */
|
|
10
|
+
accent?: string;
|
|
11
|
+
/** Large 22px value variant. */
|
|
12
|
+
big?: boolean;
|
|
13
|
+
radius?: number;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function StatTile({ label, value, sub, accent, big, radius, children, className, }: StatTileProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
interface StatPillProps {
|
|
19
|
+
value: string | number;
|
|
20
|
+
label: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
declare function StatPill({ value, label, className }: StatPillProps): react_jsx_runtime.JSX.Element;
|
|
24
|
+
|
|
25
|
+
export { StatPill, type StatPillProps, StatTile, type StatTileProps };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
interface StatTileProps {
|
|
4
|
+
label: string;
|
|
5
|
+
/** Shown as the primary value. Pass "—" (em dash) for unknown, never zero. */
|
|
6
|
+
value?: string | number | null;
|
|
7
|
+
/** Secondary line below the value. */
|
|
8
|
+
sub?: string;
|
|
9
|
+
/** Override color for the value text (e.g. brand-blue for positive deltas). */
|
|
10
|
+
accent?: string;
|
|
11
|
+
/** Large 22px value variant. */
|
|
12
|
+
big?: boolean;
|
|
13
|
+
radius?: number;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function StatTile({ label, value, sub, accent, big, radius, children, className, }: StatTileProps): react_jsx_runtime.JSX.Element;
|
|
18
|
+
interface StatPillProps {
|
|
19
|
+
value: string | number;
|
|
20
|
+
label: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
declare function StatPill({ value, label, className }: StatPillProps): react_jsx_runtime.JSX.Element;
|
|
24
|
+
|
|
25
|
+
export { StatPill, type StatPillProps, StatTile, type StatTileProps };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
function StatTile({
|
|
3
|
+
label,
|
|
4
|
+
value,
|
|
5
|
+
sub,
|
|
6
|
+
accent,
|
|
7
|
+
big,
|
|
8
|
+
radius = 16,
|
|
9
|
+
children,
|
|
10
|
+
className
|
|
11
|
+
}) {
|
|
12
|
+
return /* @__PURE__ */ jsxs(
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
className: `bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ""}`,
|
|
16
|
+
style: { borderRadius: radius, padding: "12px 14px" },
|
|
17
|
+
children: [
|
|
18
|
+
/* @__PURE__ */ jsx("span", { className: "text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground", children: label }),
|
|
19
|
+
value != null && /* @__PURE__ */ jsx(
|
|
20
|
+
"span",
|
|
21
|
+
{
|
|
22
|
+
className: "font-semibold leading-none tracking-tight",
|
|
23
|
+
style: {
|
|
24
|
+
fontSize: big ? 22 : 16,
|
|
25
|
+
fontFamily: '"Geist Mono", ui-monospace, SFMono-Regular, monospace',
|
|
26
|
+
color: accent
|
|
27
|
+
},
|
|
28
|
+
children: value
|
|
29
|
+
}
|
|
30
|
+
),
|
|
31
|
+
sub && /* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted-foreground", children: sub }),
|
|
32
|
+
children
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
function StatPill({ value, label, className }) {
|
|
38
|
+
return /* @__PURE__ */ jsxs(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
className: `inline-flex items-baseline gap-2 px-4 py-2 rounded-full bg-muted ${className ?? ""}`,
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ jsx(
|
|
44
|
+
"span",
|
|
45
|
+
{
|
|
46
|
+
className: "text-[15px] font-bold text-foreground",
|
|
47
|
+
style: { fontFamily: '"Geist Mono", ui-monospace, SFMono-Regular, monospace' },
|
|
48
|
+
children: value
|
|
49
|
+
}
|
|
50
|
+
),
|
|
51
|
+
/* @__PURE__ */ jsx("span", { className: "text-[13px] text-muted-foreground", children: label })
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
StatPill,
|
|
58
|
+
StatTile
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=stat-tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/stat-tile.tsx"],"sourcesContent":["// Bento stat tile and header stat pill — the design system's data-display primitives.\n\nexport interface StatTileProps {\n label: string;\n /** Shown as the primary value. Pass \"—\" (em dash) for unknown, never zero. */\n value?: string | number | null;\n /** Secondary line below the value. */\n sub?: string;\n /** Override color for the value text (e.g. brand-blue for positive deltas). */\n accent?: string;\n /** Large 22px value variant. */\n big?: boolean;\n radius?: number;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function StatTile({\n label,\n value,\n sub,\n accent,\n big,\n radius = 16,\n children,\n className,\n}: StatTileProps) {\n return (\n <div\n className={`bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ''}`}\n style={{ borderRadius: radius, padding: '12px 14px' }}\n >\n <span className=\"text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground\">\n {label}\n </span>\n {value != null && (\n <span\n className=\"font-semibold leading-none tracking-tight\"\n style={{\n fontSize: big ? 22 : 16,\n fontFamily: '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace',\n color: accent,\n }}\n >\n {value}\n </span>\n )}\n {sub && (\n <span className=\"text-[11px] text-muted-foreground\">{sub}</span>\n )}\n {children}\n </div>\n );\n}\n\nexport interface StatPillProps {\n value: string | number;\n label: string;\n className?: string;\n}\n\nexport function StatPill({ value, label, className }: StatPillProps) {\n return (\n <div\n className={`inline-flex items-baseline gap-2 px-4 py-2 rounded-full bg-muted ${className ?? ''}`}\n >\n <span\n className=\"text-[15px] font-bold text-foreground\"\n style={{ fontFamily: '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace' }}\n >\n {value}\n </span>\n <span className=\"text-[13px] text-muted-foreground\">{label}</span>\n </div>\n );\n}\n"],"mappings":"AA4BI,SAIE,KAJF;AAXG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AACF,GAAkB;AAChB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,6DAA6D,aAAa,EAAE;AAAA,MACvF,OAAO,EAAE,cAAc,QAAQ,SAAS,YAAY;AAAA,MAEpD;AAAA,4BAAC,UAAK,WAAU,iFACb,iBACH;AAAA,QACC,SAAS,QACR;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UAAU,MAAM,KAAK;AAAA,cACrB,YAAY;AAAA,cACZ,OAAO;AAAA,YACT;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,QAED,OACC,oBAAC,UAAK,WAAU,qCAAqC,eAAI;AAAA,QAE1D;AAAA;AAAA;AAAA,EACH;AAEJ;AAQO,SAAS,SAAS,EAAE,OAAO,OAAO,UAAU,GAAkB;AACnE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,oEAAoE,aAAa,EAAE;AAAA,MAE9F;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,EAAE,YAAY,wDAAwD;AAAA,YAE5E;AAAA;AAAA,QACH;AAAA,QACA,oBAAC,UAAK,WAAU,qCAAqC,iBAAM;AAAA;AAAA;AAAA,EAC7D;AAEJ;","names":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var token_glyph_exports = {};
|
|
20
|
+
__export(token_glyph_exports, {
|
|
21
|
+
TokenAmount: () => TokenAmount,
|
|
22
|
+
TokenGlyph: () => TokenGlyph
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(token_glyph_exports);
|
|
25
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
+
const PRICE_FONT = '"Geist Mono", ui-monospace, SFMono-Regular, monospace';
|
|
27
|
+
function TokenGlyph({ token = "strk", size = 20 }) {
|
|
28
|
+
const gradId = `ml-tg-strk-${size}`;
|
|
29
|
+
switch (token) {
|
|
30
|
+
case "eth":
|
|
31
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
32
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "11", fill: "#2b2f3a" }),
|
|
33
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 4 7 12.2l5 3 5-3L12 4Z", fill: "#e6e8f0" }),
|
|
34
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7 13.3 12 20l5-6.7-5 3-5-3Z", fill: "#b9bdcc" })
|
|
35
|
+
] });
|
|
36
|
+
case "usdc":
|
|
37
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
38
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "11", fill: "#2775ca" }),
|
|
39
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "13", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "$" })
|
|
40
|
+
] });
|
|
41
|
+
case "usdt":
|
|
42
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "11", fill: "#26a17b" }),
|
|
44
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "12", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "\u20AE" })
|
|
45
|
+
] });
|
|
46
|
+
case "wbtc":
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
48
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "11", fill: "#f09242" }),
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "12", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "\u20BF" })
|
|
50
|
+
] });
|
|
51
|
+
default:
|
|
52
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
53
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("linearGradient", { id: gradId, x1: "3", y1: "3", x2: "21", y2: "21", children: [
|
|
54
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: "0", stopColor: "#f6608f" }),
|
|
55
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("stop", { offset: "1", stopColor: "#fb8b46" })
|
|
56
|
+
] }) }),
|
|
57
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "11", fill: `url(#${gradId})` }),
|
|
58
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M5.5 14.5c3.2-5 9.8-5 13 0", fill: "none", stroke: "#fff", strokeWidth: "1.8", strokeLinecap: "round" }),
|
|
59
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "9", cy: "10.5", r: "0.9", fill: "#fff" })
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function TokenAmount({
|
|
64
|
+
token = "strk",
|
|
65
|
+
amount,
|
|
66
|
+
size = 20,
|
|
67
|
+
color,
|
|
68
|
+
bold = true,
|
|
69
|
+
className
|
|
70
|
+
}) {
|
|
71
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: `inline-flex items-center gap-1.5 ${className ?? ""}`, children: [
|
|
72
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TokenGlyph, { token, size }),
|
|
73
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
74
|
+
"span",
|
|
75
|
+
{
|
|
76
|
+
style: {
|
|
77
|
+
fontFamily: PRICE_FONT,
|
|
78
|
+
fontWeight: bold ? 700 : 500,
|
|
79
|
+
fontSize: size * 0.92,
|
|
80
|
+
color: color ?? "#f97316",
|
|
81
|
+
letterSpacing: "-0.01em"
|
|
82
|
+
},
|
|
83
|
+
children: amount
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
] });
|
|
87
|
+
}
|
|
88
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
+
0 && (module.exports = {
|
|
90
|
+
TokenAmount,
|
|
91
|
+
TokenGlyph
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=token-glyph.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/token-glyph.tsx"],"sourcesContent":["// Inline SVG token glyphs — self-contained, no external asset dependency.\n// Covers the five tokens active on the platform: STRK, ETH, USDC, USDT, WBTC.\n\nconst PRICE_FONT = '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace';\n\nexport type TokenSymbol = 'strk' | 'eth' | 'usdc' | 'usdt' | 'wbtc';\n\nexport interface TokenGlyphProps {\n token?: TokenSymbol | string;\n size?: number;\n}\n\nexport function TokenGlyph({ token = 'strk', size = 20 }: TokenGlyphProps) {\n const gradId = `ml-tg-strk-${size}`;\n\n switch (token) {\n case 'eth':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#2b2f3a\"/>\n <path d=\"M12 4 7 12.2l5 3 5-3L12 4Z\" fill=\"#e6e8f0\"/>\n <path d=\"M7 13.3 12 20l5-6.7-5 3-5-3Z\" fill=\"#b9bdcc\"/>\n </svg>\n );\n case 'usdc':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#2775ca\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"13\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">$</text>\n </svg>\n );\n case 'usdt':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#26a17b\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"12\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">₮</text>\n </svg>\n );\n case 'wbtc':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#f09242\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"12\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">₿</text>\n </svg>\n );\n default:\n // STRK — magenta→orange gradient coin with swoosh\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <defs>\n <linearGradient id={gradId} x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\">\n <stop offset=\"0\" stopColor=\"#f6608f\"/>\n <stop offset=\"1\" stopColor=\"#fb8b46\"/>\n </linearGradient>\n </defs>\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill={`url(#${gradId})`}/>\n <path d=\"M5.5 14.5c3.2-5 9.8-5 13 0\" fill=\"none\" stroke=\"#fff\" strokeWidth=\"1.8\" strokeLinecap=\"round\"/>\n <circle cx=\"9\" cy=\"10.5\" r=\"0.9\" fill=\"#fff\"/>\n </svg>\n );\n }\n}\n\nexport interface TokenAmountProps {\n token?: TokenSymbol | string;\n amount: string;\n /** Icon size in px. Text size scales proportionally. */\n size?: number;\n /** Override the amount text color. Defaults to brand-price orange. */\n color?: string;\n bold?: boolean;\n className?: string;\n}\n\nexport function TokenAmount({\n token = 'strk',\n amount,\n size = 20,\n color,\n bold = true,\n className,\n}: TokenAmountProps) {\n return (\n <span className={`inline-flex items-center gap-1.5 ${className ?? ''}`}>\n <TokenGlyph token={token} size={size} />\n <span\n style={{\n fontFamily: PRICE_FONT,\n fontWeight: bold ? 700 : 500,\n fontSize: size * 0.92,\n color: color ?? '#f97316',\n letterSpacing: '-0.01em',\n }}\n >\n {amount}\n </span>\n </span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBQ;AAfR,MAAM,aAAa;AASZ,SAAS,WAAW,EAAE,QAAQ,QAAQ,OAAO,GAAG,GAAoB;AACzE,QAAM,SAAS,cAAc,IAAI;AAEjC,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,6CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,oDAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,4CAAC,UAAK,GAAE,8BAA6B,MAAK,WAAS;AAAA,QACnD,4CAAC,UAAK,GAAE,gCAA+B,MAAK,WAAS;AAAA,SACvD;AAAA,IAEJ,KAAK;AACH,aACE,6CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,oDAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,4CAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,eAAC;AAAA,SAC/G;AAAA,IAEJ,KAAK;AACH,aACE,6CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,oDAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,4CAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,oBAAC;AAAA,SAC/G;AAAA,IAEJ,KAAK;AACH,aACE,6CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,oDAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,4CAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,oBAAC;AAAA,SAC/G;AAAA,IAEJ;AAEE,aACE,6CAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,oDAAC,UACC,uDAAC,oBAAe,IAAI,QAAQ,IAAG,KAAI,IAAG,KAAI,IAAG,MAAK,IAAG,MACnD;AAAA,sDAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,UACpC,4CAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,WACtC,GACF;AAAA,QACA,4CAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAM,QAAQ,MAAM,KAAI;AAAA,QACvD,4CAAC,UAAK,GAAE,8BAA6B,MAAK,QAAO,QAAO,QAAO,aAAY,OAAM,eAAc,SAAO;AAAA,QACtG,4CAAC,YAAO,IAAG,KAAI,IAAG,QAAO,GAAE,OAAM,MAAK,QAAM;AAAA,SAC9C;AAAA,EAEN;AACF;AAaO,SAAS,YAAY;AAAA,EAC1B,QAAQ;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,OAAO;AAAA,EACP;AACF,GAAqB;AACnB,SACE,6CAAC,UAAK,WAAW,oCAAoC,aAAa,EAAE,IAClE;AAAA,gDAAC,cAAW,OAAc,MAAY;AAAA,IACtC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,YAAY,OAAO,MAAM;AAAA,UACzB,UAAU,OAAO;AAAA,UACjB,OAAO,SAAS;AAAA,UAChB,eAAe;AAAA,QACjB;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type TokenSymbol = 'strk' | 'eth' | 'usdc' | 'usdt' | 'wbtc';
|
|
4
|
+
interface TokenGlyphProps {
|
|
5
|
+
token?: TokenSymbol | string;
|
|
6
|
+
size?: number;
|
|
7
|
+
}
|
|
8
|
+
declare function TokenGlyph({ token, size }: TokenGlyphProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
interface TokenAmountProps {
|
|
10
|
+
token?: TokenSymbol | string;
|
|
11
|
+
amount: string;
|
|
12
|
+
/** Icon size in px. Text size scales proportionally. */
|
|
13
|
+
size?: number;
|
|
14
|
+
/** Override the amount text color. Defaults to brand-price orange. */
|
|
15
|
+
color?: string;
|
|
16
|
+
bold?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
declare function TokenAmount({ token, amount, size, color, bold, className, }: TokenAmountProps): react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
export { TokenAmount, type TokenAmountProps, TokenGlyph, type TokenGlyphProps, type TokenSymbol };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type TokenSymbol = 'strk' | 'eth' | 'usdc' | 'usdt' | 'wbtc';
|
|
4
|
+
interface TokenGlyphProps {
|
|
5
|
+
token?: TokenSymbol | string;
|
|
6
|
+
size?: number;
|
|
7
|
+
}
|
|
8
|
+
declare function TokenGlyph({ token, size }: TokenGlyphProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
interface TokenAmountProps {
|
|
10
|
+
token?: TokenSymbol | string;
|
|
11
|
+
amount: string;
|
|
12
|
+
/** Icon size in px. Text size scales proportionally. */
|
|
13
|
+
size?: number;
|
|
14
|
+
/** Override the amount text color. Defaults to brand-price orange. */
|
|
15
|
+
color?: string;
|
|
16
|
+
bold?: boolean;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
declare function TokenAmount({ token, amount, size, color, bold, className, }: TokenAmountProps): react_jsx_runtime.JSX.Element;
|
|
20
|
+
|
|
21
|
+
export { TokenAmount, type TokenAmountProps, TokenGlyph, type TokenGlyphProps, type TokenSymbol };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const PRICE_FONT = '"Geist Mono", ui-monospace, SFMono-Regular, monospace';
|
|
3
|
+
function TokenGlyph({ token = "strk", size = 20 }) {
|
|
4
|
+
const gradId = `ml-tg-strk-${size}`;
|
|
5
|
+
switch (token) {
|
|
6
|
+
case "eth":
|
|
7
|
+
return /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
8
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: "#2b2f3a" }),
|
|
9
|
+
/* @__PURE__ */ jsx("path", { d: "M12 4 7 12.2l5 3 5-3L12 4Z", fill: "#e6e8f0" }),
|
|
10
|
+
/* @__PURE__ */ jsx("path", { d: "M7 13.3 12 20l5-6.7-5 3-5-3Z", fill: "#b9bdcc" })
|
|
11
|
+
] });
|
|
12
|
+
case "usdc":
|
|
13
|
+
return /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
14
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: "#2775ca" }),
|
|
15
|
+
/* @__PURE__ */ jsx("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "13", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "$" })
|
|
16
|
+
] });
|
|
17
|
+
case "usdt":
|
|
18
|
+
return /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: "#26a17b" }),
|
|
20
|
+
/* @__PURE__ */ jsx("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "12", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "\u20AE" })
|
|
21
|
+
] });
|
|
22
|
+
case "wbtc":
|
|
23
|
+
return /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
24
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: "#f09242" }),
|
|
25
|
+
/* @__PURE__ */ jsx("text", { x: "12", y: "16.5", textAnchor: "middle", fontSize: "12", fontWeight: "700", fill: "#fff", fontFamily: "system-ui", children: "\u20BF" })
|
|
26
|
+
] });
|
|
27
|
+
default:
|
|
28
|
+
return /* @__PURE__ */ jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", "aria-hidden": "true", children: [
|
|
29
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("linearGradient", { id: gradId, x1: "3", y1: "3", x2: "21", y2: "21", children: [
|
|
30
|
+
/* @__PURE__ */ jsx("stop", { offset: "0", stopColor: "#f6608f" }),
|
|
31
|
+
/* @__PURE__ */ jsx("stop", { offset: "1", stopColor: "#fb8b46" })
|
|
32
|
+
] }) }),
|
|
33
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "11", fill: `url(#${gradId})` }),
|
|
34
|
+
/* @__PURE__ */ jsx("path", { d: "M5.5 14.5c3.2-5 9.8-5 13 0", fill: "none", stroke: "#fff", strokeWidth: "1.8", strokeLinecap: "round" }),
|
|
35
|
+
/* @__PURE__ */ jsx("circle", { cx: "9", cy: "10.5", r: "0.9", fill: "#fff" })
|
|
36
|
+
] });
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function TokenAmount({
|
|
40
|
+
token = "strk",
|
|
41
|
+
amount,
|
|
42
|
+
size = 20,
|
|
43
|
+
color,
|
|
44
|
+
bold = true,
|
|
45
|
+
className
|
|
46
|
+
}) {
|
|
47
|
+
return /* @__PURE__ */ jsxs("span", { className: `inline-flex items-center gap-1.5 ${className ?? ""}`, children: [
|
|
48
|
+
/* @__PURE__ */ jsx(TokenGlyph, { token, size }),
|
|
49
|
+
/* @__PURE__ */ jsx(
|
|
50
|
+
"span",
|
|
51
|
+
{
|
|
52
|
+
style: {
|
|
53
|
+
fontFamily: PRICE_FONT,
|
|
54
|
+
fontWeight: bold ? 700 : 500,
|
|
55
|
+
fontSize: size * 0.92,
|
|
56
|
+
color: color ?? "#f97316",
|
|
57
|
+
letterSpacing: "-0.01em"
|
|
58
|
+
},
|
|
59
|
+
children: amount
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
] });
|
|
63
|
+
}
|
|
64
|
+
export {
|
|
65
|
+
TokenAmount,
|
|
66
|
+
TokenGlyph
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=token-glyph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/token-glyph.tsx"],"sourcesContent":["// Inline SVG token glyphs — self-contained, no external asset dependency.\n// Covers the five tokens active on the platform: STRK, ETH, USDC, USDT, WBTC.\n\nconst PRICE_FONT = '\"Geist Mono\", ui-monospace, SFMono-Regular, monospace';\n\nexport type TokenSymbol = 'strk' | 'eth' | 'usdc' | 'usdt' | 'wbtc';\n\nexport interface TokenGlyphProps {\n token?: TokenSymbol | string;\n size?: number;\n}\n\nexport function TokenGlyph({ token = 'strk', size = 20 }: TokenGlyphProps) {\n const gradId = `ml-tg-strk-${size}`;\n\n switch (token) {\n case 'eth':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#2b2f3a\"/>\n <path d=\"M12 4 7 12.2l5 3 5-3L12 4Z\" fill=\"#e6e8f0\"/>\n <path d=\"M7 13.3 12 20l5-6.7-5 3-5-3Z\" fill=\"#b9bdcc\"/>\n </svg>\n );\n case 'usdc':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#2775ca\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"13\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">$</text>\n </svg>\n );\n case 'usdt':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#26a17b\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"12\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">₮</text>\n </svg>\n );\n case 'wbtc':\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"#f09242\"/>\n <text x=\"12\" y=\"16.5\" textAnchor=\"middle\" fontSize=\"12\" fontWeight=\"700\" fill=\"#fff\" fontFamily=\"system-ui\">₿</text>\n </svg>\n );\n default:\n // STRK — magenta→orange gradient coin with swoosh\n return (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <defs>\n <linearGradient id={gradId} x1=\"3\" y1=\"3\" x2=\"21\" y2=\"21\">\n <stop offset=\"0\" stopColor=\"#f6608f\"/>\n <stop offset=\"1\" stopColor=\"#fb8b46\"/>\n </linearGradient>\n </defs>\n <circle cx=\"12\" cy=\"12\" r=\"11\" fill={`url(#${gradId})`}/>\n <path d=\"M5.5 14.5c3.2-5 9.8-5 13 0\" fill=\"none\" stroke=\"#fff\" strokeWidth=\"1.8\" strokeLinecap=\"round\"/>\n <circle cx=\"9\" cy=\"10.5\" r=\"0.9\" fill=\"#fff\"/>\n </svg>\n );\n }\n}\n\nexport interface TokenAmountProps {\n token?: TokenSymbol | string;\n amount: string;\n /** Icon size in px. Text size scales proportionally. */\n size?: number;\n /** Override the amount text color. Defaults to brand-price orange. */\n color?: string;\n bold?: boolean;\n className?: string;\n}\n\nexport function TokenAmount({\n token = 'strk',\n amount,\n size = 20,\n color,\n bold = true,\n className,\n}: TokenAmountProps) {\n return (\n <span className={`inline-flex items-center gap-1.5 ${className ?? ''}`}>\n <TokenGlyph token={token} size={size} />\n <span\n style={{\n fontFamily: PRICE_FONT,\n fontWeight: bold ? 700 : 500,\n fontSize: size * 0.92,\n color: color ?? '#f97316',\n letterSpacing: '-0.01em',\n }}\n >\n {amount}\n </span>\n </span>\n );\n}\n"],"mappings":"AAkBQ,SACE,KADF;AAfR,MAAM,aAAa;AASZ,SAAS,WAAW,EAAE,QAAQ,QAAQ,OAAO,GAAG,GAAoB;AACzE,QAAM,SAAS,cAAc,IAAI;AAEjC,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aACE,qBAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,4BAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,oBAAC,UAAK,GAAE,8BAA6B,MAAK,WAAS;AAAA,QACnD,oBAAC,UAAK,GAAE,gCAA+B,MAAK,WAAS;AAAA,SACvD;AAAA,IAEJ,KAAK;AACH,aACE,qBAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,4BAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,oBAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,eAAC;AAAA,SAC/G;AAAA,IAEJ,KAAK;AACH,aACE,qBAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,4BAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,oBAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,oBAAC;AAAA,SAC/G;AAAA,IAEJ,KAAK;AACH,aACE,qBAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,4BAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAK,WAAS;AAAA,QAC7C,oBAAC,UAAK,GAAE,MAAK,GAAE,QAAO,YAAW,UAAS,UAAS,MAAK,YAAW,OAAM,MAAK,QAAO,YAAW,aAAY,oBAAC;AAAA,SAC/G;AAAA,IAEJ;AAEE,aACE,qBAAC,SAAI,OAAO,MAAM,QAAQ,MAAM,SAAQ,aAAY,eAAY,QAC9D;AAAA,4BAAC,UACC,+BAAC,oBAAe,IAAI,QAAQ,IAAG,KAAI,IAAG,KAAI,IAAG,MAAK,IAAG,MACnD;AAAA,8BAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,UACpC,oBAAC,UAAK,QAAO,KAAI,WAAU,WAAS;AAAA,WACtC,GACF;AAAA,QACA,oBAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK,MAAM,QAAQ,MAAM,KAAI;AAAA,QACvD,oBAAC,UAAK,GAAE,8BAA6B,MAAK,QAAO,QAAO,QAAO,aAAY,OAAM,eAAc,SAAO;AAAA,QACtG,oBAAC,YAAO,IAAG,KAAI,IAAG,QAAO,GAAE,OAAM,MAAK,QAAM;AAAA,SAC9C;AAAA,EAEN;AACF;AAaO,SAAS,YAAY;AAAA,EAC1B,QAAQ;AAAA,EACR;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,OAAO;AAAA,EACP;AACF,GAAqB;AACnB,SACE,qBAAC,UAAK,WAAW,oCAAoC,aAAa,EAAE,IAClE;AAAA,wBAAC,cAAW,OAAc,MAAY;AAAA,IACtC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,YAAY,OAAO,MAAM;AAAA,UACzB,UAAU,OAAO;AAAA,UACjB,OAAO,SAAS;AAAA,UAChB,eAAe;AAAA,QACjB;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,KACF;AAEJ;","names":[]}
|
package/dist/data/brand.cjs
CHANGED
|
@@ -22,13 +22,6 @@ __export(brand_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(brand_exports);
|
|
24
24
|
const BRAND = {
|
|
25
|
-
purple: {
|
|
26
|
-
text: "text-brand-purple",
|
|
27
|
-
bg: "bg-brand-purple/10",
|
|
28
|
-
bgSolid: "bg-brand-purple/15",
|
|
29
|
-
from: "from-brand-purple/20",
|
|
30
|
-
to: "to-brand-purple/20"
|
|
31
|
-
},
|
|
32
25
|
blue: {
|
|
33
26
|
text: "text-brand-blue",
|
|
34
27
|
bg: "bg-brand-blue/10",
|
|
@@ -36,6 +29,27 @@ const BRAND = {
|
|
|
36
29
|
from: "from-brand-blue/20",
|
|
37
30
|
to: "to-brand-blue/20"
|
|
38
31
|
},
|
|
32
|
+
electric: {
|
|
33
|
+
text: "text-brand-electric",
|
|
34
|
+
bg: "bg-brand-electric/10",
|
|
35
|
+
bgSolid: "bg-brand-electric/15",
|
|
36
|
+
from: "from-brand-electric/20",
|
|
37
|
+
to: "to-brand-electric/20"
|
|
38
|
+
},
|
|
39
|
+
indigo: {
|
|
40
|
+
text: "text-brand-indigo",
|
|
41
|
+
bg: "bg-brand-indigo/10",
|
|
42
|
+
bgSolid: "bg-brand-indigo/15",
|
|
43
|
+
from: "from-brand-indigo/20",
|
|
44
|
+
to: "to-brand-indigo/20"
|
|
45
|
+
},
|
|
46
|
+
purple: {
|
|
47
|
+
text: "text-brand-purple",
|
|
48
|
+
bg: "bg-brand-purple/10",
|
|
49
|
+
bgSolid: "bg-brand-purple/15",
|
|
50
|
+
from: "from-brand-purple/20",
|
|
51
|
+
to: "to-brand-purple/20"
|
|
52
|
+
},
|
|
39
53
|
rose: {
|
|
40
54
|
text: "text-brand-rose",
|
|
41
55
|
bg: "bg-brand-rose/10",
|
|
@@ -50,6 +64,11 @@ const BRAND = {
|
|
|
50
64
|
from: "from-brand-orange/20",
|
|
51
65
|
to: "to-brand-orange/20"
|
|
52
66
|
},
|
|
67
|
+
price: {
|
|
68
|
+
text: "text-brand-price",
|
|
69
|
+
bg: "bg-brand-price/10",
|
|
70
|
+
bgSolid: "bg-brand-price/15"
|
|
71
|
+
},
|
|
53
72
|
navy: {
|
|
54
73
|
text: "text-brand-navy",
|
|
55
74
|
bg: "bg-brand-navy/10",
|
package/dist/data/brand.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/brand.ts"],"sourcesContent":["/**\n * Typed Tailwind class constants for Medialane brand colors.\n * Mirrors the brand color extensions defined in the Tailwind preset.\n * Keeping these as string literals ensures JIT picks them up via the\n * consumer's content scan of node_modules/@medialane/ui/dist.\n */\nexport const BRAND = {\n
|
|
1
|
+
{"version":3,"sources":["../../src/data/brand.ts"],"sourcesContent":["/**\n * Typed Tailwind class constants for Medialane brand colors.\n * Mirrors the brand color extensions defined in the Tailwind preset.\n * Keeping these as string literals ensures JIT picks them up via the\n * consumer's content scan of node_modules/@medialane/ui/dist.\n */\nexport const BRAND = {\n blue: {\n text: \"text-brand-blue\",\n bg: \"bg-brand-blue/10\",\n bgSolid: \"bg-brand-blue/15\",\n from: \"from-brand-blue/20\",\n to: \"to-brand-blue/20\",\n },\n electric: {\n text: \"text-brand-electric\",\n bg: \"bg-brand-electric/10\",\n bgSolid: \"bg-brand-electric/15\",\n from: \"from-brand-electric/20\",\n to: \"to-brand-electric/20\",\n },\n indigo: {\n text: \"text-brand-indigo\",\n bg: \"bg-brand-indigo/10\",\n bgSolid: \"bg-brand-indigo/15\",\n from: \"from-brand-indigo/20\",\n to: \"to-brand-indigo/20\",\n },\n purple: {\n text: \"text-brand-purple\",\n bg: \"bg-brand-purple/10\",\n bgSolid: \"bg-brand-purple/15\",\n from: \"from-brand-purple/20\",\n to: \"to-brand-purple/20\",\n },\n rose: {\n text: \"text-brand-rose\",\n bg: \"bg-brand-rose/10\",\n bgSolid: \"bg-brand-rose/15\",\n from: \"from-brand-rose/20\",\n to: \"to-brand-rose/20\",\n },\n orange: {\n text: \"text-brand-orange\",\n bg: \"bg-brand-orange/10\",\n bgSolid: \"bg-brand-orange/15\",\n from: \"from-brand-orange/20\",\n to: \"to-brand-orange/20\",\n },\n price: {\n text: \"text-brand-price\",\n bg: \"bg-brand-price/10\",\n bgSolid: \"bg-brand-price/15\",\n },\n navy: {\n text: \"text-brand-navy\",\n bg: \"bg-brand-navy/10\",\n from: \"from-brand-navy/10\",\n to: \"to-brand-navy/10\",\n },\n} as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,QAAQ;AAAA,EACnB,MAAM;AAAA,IACJ,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,QAAQ;AAAA,IACN,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AAAA,EACA,OAAO;AAAA,IACL,MAAS;AAAA,IACT,IAAS;AAAA,IACT,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAS;AAAA,IACT,IAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AACF;","names":[]}
|
package/dist/data/brand.d.cts
CHANGED
|
@@ -5,13 +5,6 @@
|
|
|
5
5
|
* consumer's content scan of node_modules/@medialane/ui/dist.
|
|
6
6
|
*/
|
|
7
7
|
declare const BRAND: {
|
|
8
|
-
readonly purple: {
|
|
9
|
-
readonly text: "text-brand-purple";
|
|
10
|
-
readonly bg: "bg-brand-purple/10";
|
|
11
|
-
readonly bgSolid: "bg-brand-purple/15";
|
|
12
|
-
readonly from: "from-brand-purple/20";
|
|
13
|
-
readonly to: "to-brand-purple/20";
|
|
14
|
-
};
|
|
15
8
|
readonly blue: {
|
|
16
9
|
readonly text: "text-brand-blue";
|
|
17
10
|
readonly bg: "bg-brand-blue/10";
|
|
@@ -19,6 +12,27 @@ declare const BRAND: {
|
|
|
19
12
|
readonly from: "from-brand-blue/20";
|
|
20
13
|
readonly to: "to-brand-blue/20";
|
|
21
14
|
};
|
|
15
|
+
readonly electric: {
|
|
16
|
+
readonly text: "text-brand-electric";
|
|
17
|
+
readonly bg: "bg-brand-electric/10";
|
|
18
|
+
readonly bgSolid: "bg-brand-electric/15";
|
|
19
|
+
readonly from: "from-brand-electric/20";
|
|
20
|
+
readonly to: "to-brand-electric/20";
|
|
21
|
+
};
|
|
22
|
+
readonly indigo: {
|
|
23
|
+
readonly text: "text-brand-indigo";
|
|
24
|
+
readonly bg: "bg-brand-indigo/10";
|
|
25
|
+
readonly bgSolid: "bg-brand-indigo/15";
|
|
26
|
+
readonly from: "from-brand-indigo/20";
|
|
27
|
+
readonly to: "to-brand-indigo/20";
|
|
28
|
+
};
|
|
29
|
+
readonly purple: {
|
|
30
|
+
readonly text: "text-brand-purple";
|
|
31
|
+
readonly bg: "bg-brand-purple/10";
|
|
32
|
+
readonly bgSolid: "bg-brand-purple/15";
|
|
33
|
+
readonly from: "from-brand-purple/20";
|
|
34
|
+
readonly to: "to-brand-purple/20";
|
|
35
|
+
};
|
|
22
36
|
readonly rose: {
|
|
23
37
|
readonly text: "text-brand-rose";
|
|
24
38
|
readonly bg: "bg-brand-rose/10";
|
|
@@ -33,6 +47,11 @@ declare const BRAND: {
|
|
|
33
47
|
readonly from: "from-brand-orange/20";
|
|
34
48
|
readonly to: "to-brand-orange/20";
|
|
35
49
|
};
|
|
50
|
+
readonly price: {
|
|
51
|
+
readonly text: "text-brand-price";
|
|
52
|
+
readonly bg: "bg-brand-price/10";
|
|
53
|
+
readonly bgSolid: "bg-brand-price/15";
|
|
54
|
+
};
|
|
36
55
|
readonly navy: {
|
|
37
56
|
readonly text: "text-brand-navy";
|
|
38
57
|
readonly bg: "bg-brand-navy/10";
|
package/dist/data/brand.d.ts
CHANGED
|
@@ -5,13 +5,6 @@
|
|
|
5
5
|
* consumer's content scan of node_modules/@medialane/ui/dist.
|
|
6
6
|
*/
|
|
7
7
|
declare const BRAND: {
|
|
8
|
-
readonly purple: {
|
|
9
|
-
readonly text: "text-brand-purple";
|
|
10
|
-
readonly bg: "bg-brand-purple/10";
|
|
11
|
-
readonly bgSolid: "bg-brand-purple/15";
|
|
12
|
-
readonly from: "from-brand-purple/20";
|
|
13
|
-
readonly to: "to-brand-purple/20";
|
|
14
|
-
};
|
|
15
8
|
readonly blue: {
|
|
16
9
|
readonly text: "text-brand-blue";
|
|
17
10
|
readonly bg: "bg-brand-blue/10";
|
|
@@ -19,6 +12,27 @@ declare const BRAND: {
|
|
|
19
12
|
readonly from: "from-brand-blue/20";
|
|
20
13
|
readonly to: "to-brand-blue/20";
|
|
21
14
|
};
|
|
15
|
+
readonly electric: {
|
|
16
|
+
readonly text: "text-brand-electric";
|
|
17
|
+
readonly bg: "bg-brand-electric/10";
|
|
18
|
+
readonly bgSolid: "bg-brand-electric/15";
|
|
19
|
+
readonly from: "from-brand-electric/20";
|
|
20
|
+
readonly to: "to-brand-electric/20";
|
|
21
|
+
};
|
|
22
|
+
readonly indigo: {
|
|
23
|
+
readonly text: "text-brand-indigo";
|
|
24
|
+
readonly bg: "bg-brand-indigo/10";
|
|
25
|
+
readonly bgSolid: "bg-brand-indigo/15";
|
|
26
|
+
readonly from: "from-brand-indigo/20";
|
|
27
|
+
readonly to: "to-brand-indigo/20";
|
|
28
|
+
};
|
|
29
|
+
readonly purple: {
|
|
30
|
+
readonly text: "text-brand-purple";
|
|
31
|
+
readonly bg: "bg-brand-purple/10";
|
|
32
|
+
readonly bgSolid: "bg-brand-purple/15";
|
|
33
|
+
readonly from: "from-brand-purple/20";
|
|
34
|
+
readonly to: "to-brand-purple/20";
|
|
35
|
+
};
|
|
22
36
|
readonly rose: {
|
|
23
37
|
readonly text: "text-brand-rose";
|
|
24
38
|
readonly bg: "bg-brand-rose/10";
|
|
@@ -33,6 +47,11 @@ declare const BRAND: {
|
|
|
33
47
|
readonly from: "from-brand-orange/20";
|
|
34
48
|
readonly to: "to-brand-orange/20";
|
|
35
49
|
};
|
|
50
|
+
readonly price: {
|
|
51
|
+
readonly text: "text-brand-price";
|
|
52
|
+
readonly bg: "bg-brand-price/10";
|
|
53
|
+
readonly bgSolid: "bg-brand-price/15";
|
|
54
|
+
};
|
|
36
55
|
readonly navy: {
|
|
37
56
|
readonly text: "text-brand-navy";
|
|
38
57
|
readonly bg: "bg-brand-navy/10";
|