@medialane/ui 0.49.0 → 0.50.1
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/asset-marketplace-panel.cjs +134 -144
- package/dist/components/asset-marketplace-panel.cjs.map +1 -1
- package/dist/components/asset-marketplace-panel.js +134 -144
- package/dist/components/asset-marketplace-panel.js.map +1 -1
- package/dist/components/asset-overview-content.cjs +7 -17
- package/dist/components/asset-overview-content.cjs.map +1 -1
- package/dist/components/asset-overview-content.js +7 -17
- package/dist/components/asset-overview-content.js.map +1 -1
- package/dist/components/hero-slider.cjs +0 -2
- package/dist/components/hero-slider.cjs.map +1 -1
- package/dist/components/hero-slider.js +0 -2
- package/dist/components/hero-slider.js.map +1 -1
- package/dist/components/nav-command-menu.cjs +0 -40
- package/dist/components/nav-command-menu.cjs.map +1 -1
- package/dist/components/nav-command-menu.js +0 -40
- package/dist/components/nav-command-menu.js.map +1 -1
- 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 +16 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/medialane.css +49 -35
- 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,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";
|
package/dist/data/brand.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
const BRAND = {
|
|
2
|
-
purple: {
|
|
3
|
-
text: "text-brand-purple",
|
|
4
|
-
bg: "bg-brand-purple/10",
|
|
5
|
-
bgSolid: "bg-brand-purple/15",
|
|
6
|
-
from: "from-brand-purple/20",
|
|
7
|
-
to: "to-brand-purple/20"
|
|
8
|
-
},
|
|
9
2
|
blue: {
|
|
10
3
|
text: "text-brand-blue",
|
|
11
4
|
bg: "bg-brand-blue/10",
|
|
@@ -13,6 +6,27 @@ const BRAND = {
|
|
|
13
6
|
from: "from-brand-blue/20",
|
|
14
7
|
to: "to-brand-blue/20"
|
|
15
8
|
},
|
|
9
|
+
electric: {
|
|
10
|
+
text: "text-brand-electric",
|
|
11
|
+
bg: "bg-brand-electric/10",
|
|
12
|
+
bgSolid: "bg-brand-electric/15",
|
|
13
|
+
from: "from-brand-electric/20",
|
|
14
|
+
to: "to-brand-electric/20"
|
|
15
|
+
},
|
|
16
|
+
indigo: {
|
|
17
|
+
text: "text-brand-indigo",
|
|
18
|
+
bg: "bg-brand-indigo/10",
|
|
19
|
+
bgSolid: "bg-brand-indigo/15",
|
|
20
|
+
from: "from-brand-indigo/20",
|
|
21
|
+
to: "to-brand-indigo/20"
|
|
22
|
+
},
|
|
23
|
+
purple: {
|
|
24
|
+
text: "text-brand-purple",
|
|
25
|
+
bg: "bg-brand-purple/10",
|
|
26
|
+
bgSolid: "bg-brand-purple/15",
|
|
27
|
+
from: "from-brand-purple/20",
|
|
28
|
+
to: "to-brand-purple/20"
|
|
29
|
+
},
|
|
16
30
|
rose: {
|
|
17
31
|
text: "text-brand-rose",
|
|
18
32
|
bg: "bg-brand-rose/10",
|
|
@@ -27,6 +41,11 @@ const BRAND = {
|
|
|
27
41
|
from: "from-brand-orange/20",
|
|
28
42
|
to: "to-brand-orange/20"
|
|
29
43
|
},
|
|
44
|
+
price: {
|
|
45
|
+
text: "text-brand-price",
|
|
46
|
+
bg: "bg-brand-price/10",
|
|
47
|
+
bgSolid: "bg-brand-price/15"
|
|
48
|
+
},
|
|
30
49
|
navy: {
|
|
31
50
|
text: "text-brand-navy",
|
|
32
51
|
bg: "bg-brand-navy/10",
|
package/dist/data/brand.js.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":"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/index.cjs
CHANGED
|
@@ -21,6 +21,8 @@ __export(index_exports, {
|
|
|
21
21
|
ACTIVITY_MESSAGES: () => import_activity_card.ACTIVITY_MESSAGES,
|
|
22
22
|
ACTIVITY_TYPE_CONFIG: () => import_activity.ACTIVITY_TYPE_CONFIG,
|
|
23
23
|
AI_POLICIES: () => import_ip.AI_POLICIES,
|
|
24
|
+
ActionButton: () => import_action_button.ActionButton,
|
|
25
|
+
ActionDialog: () => import_action_dialog.ActionDialog,
|
|
24
26
|
ActivityCard: () => import_activity_card.ActivityCard,
|
|
25
27
|
ActivityCardSkeleton: () => import_activity_card.ActivityCardSkeleton,
|
|
26
28
|
ActivityFeedShell: () => import_activity_feed_shell.ActivityFeedShell,
|
|
@@ -107,11 +109,15 @@ __export(index_exports, {
|
|
|
107
109
|
ShareButton: () => import_share_button.ShareButton,
|
|
108
110
|
Stagger: () => import_motion_primitives.Stagger,
|
|
109
111
|
StaggerItem: () => import_motion_primitives.StaggerItem,
|
|
112
|
+
StatPill: () => import_stat_tile.StatPill,
|
|
113
|
+
StatTile: () => import_stat_tile.StatTile,
|
|
110
114
|
StepNav: () => import_step_nav.StepNav,
|
|
111
115
|
TEMPLATE_TRAIT_TYPES: () => import_ip_templates.TEMPLATE_TRAIT_TYPES,
|
|
112
116
|
TYPE_FILTERS: () => import_activity.TYPE_FILTERS,
|
|
117
|
+
TokenAmount: () => import_token_glyph.TokenAmount,
|
|
113
118
|
TokenCard: () => import_token_card.TokenCard,
|
|
114
119
|
TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
|
|
120
|
+
TokenGlyph: () => import_token_glyph.TokenGlyph,
|
|
115
121
|
XpProgress: () => import_xp_progress.XpProgress,
|
|
116
122
|
XpToastContent: () => import_xp_toast_content.XpToastContent,
|
|
117
123
|
buildEditionStats: () => import_asset_top_sections.buildEditionStats,
|
|
@@ -198,11 +204,17 @@ var import_level_ladder = require("./components/rewards/level-ladder.js");
|
|
|
198
204
|
var import_xp_toast_content = require("./components/rewards/xp-toast-content.js");
|
|
199
205
|
var import_load_more_sentinel = require("./components/load-more-sentinel.js");
|
|
200
206
|
var import_community_rewards_section = require("./components/community-rewards-section.js");
|
|
207
|
+
var import_action_button = require("./components/action-button.js");
|
|
208
|
+
var import_token_glyph = require("./components/token-glyph.js");
|
|
209
|
+
var import_stat_tile = require("./components/stat-tile.js");
|
|
210
|
+
var import_action_dialog = require("./components/action-dialog.js");
|
|
201
211
|
// Annotate the CommonJS export names for ESM import in node:
|
|
202
212
|
0 && (module.exports = {
|
|
203
213
|
ACTIVITY_MESSAGES,
|
|
204
214
|
ACTIVITY_TYPE_CONFIG,
|
|
205
215
|
AI_POLICIES,
|
|
216
|
+
ActionButton,
|
|
217
|
+
ActionDialog,
|
|
206
218
|
ActivityCard,
|
|
207
219
|
ActivityCardSkeleton,
|
|
208
220
|
ActivityFeedShell,
|
|
@@ -289,11 +301,15 @@ var import_community_rewards_section = require("./components/community-rewards-s
|
|
|
289
301
|
ShareButton,
|
|
290
302
|
Stagger,
|
|
291
303
|
StaggerItem,
|
|
304
|
+
StatPill,
|
|
305
|
+
StatTile,
|
|
292
306
|
StepNav,
|
|
293
307
|
TEMPLATE_TRAIT_TYPES,
|
|
294
308
|
TYPE_FILTERS,
|
|
309
|
+
TokenAmount,
|
|
295
310
|
TokenCard,
|
|
296
311
|
TokenCardSkeleton,
|
|
312
|
+
TokenGlyph,
|
|
297
313
|
XpProgress,
|
|
298
314
|
XpToastContent,
|
|
299
315
|
buildEditionStats,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceCategory, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.6.0 additions — portfolio subnav + counts ────────────────────────────\nexport { PortfolioSubnav } from \"./components/portfolio-subnav.js\";\nexport type {\n PortfolioSubnavProps,\n PortfolioNavItem,\n PortfolioNavGroup,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-subnav.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\n// Rewards score kit (v0.36.0)\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAAmB;AACnB,oBAAsD;AACtD,qBAA+B;AAC/B,kBAA2B;AAC3B,6BAA+B;AAG/B,sBAA+C;AAE/C,gBAGO;AAEP,0BAEO;AAEP,6BAA8B;AAC9B,oCAAqC;AACrC,mCAAoC;AACpC,+BAAgC;AAChC,uCAAwC;AAExC,gCAAqF;AAErF,kCAAmC;AAEnC,iCAAkC;AAElC,qCAAsC;AAEtC,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAE7C,wBAA6C;AAG7C,mBAGO;AACP,uBAA2F;AAC3F,4BAGO;AAGP,kBAAmC;AACnC,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,2BAA4B;AAI5B,2BAA6B;AAE7B,+BAA2D;AAE3D,wCAAyC;AAEzC,qCAAsC;AAEtC,mCAA2D;AAE3D,2BAAsE;AAItE,gCAAiG;AACjG,kCAAmC;AAEnC,6BAA+B;AAG/B,IAAAA,6BAAwE;AAIxE,8BAAkD;AAIlD,8BAAgC;AAOhC,8BAAsC;AAOtC,4BAA8B;AAE9B,wBAA0B;AAM1B,gCAAiC;AAEjC,sBAAwB;AAIxB,yBAA2B;AAE3B,yBAA2B;AAE3B,yBAA2B;AAE3B,gCAAiC;AAEjC,+BAAoD;AAEpD,0BAA4B;AAE5B,8BAA+B;AAI/B,gCAAiC;AAIjC,uCAAwC;","names":["import_launchpad_services"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceCategory, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.6.0 additions — portfolio subnav + counts ────────────────────────────\nexport { PortfolioSubnav } from \"./components/portfolio-subnav.js\";\nexport type {\n PortfolioSubnavProps,\n PortfolioNavItem,\n PortfolioNavGroup,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-subnav.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\n// Rewards score kit (v0.36.0)\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\n\n// ── Design system primitives — action-focus pattern, tokens, data display ────\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\n\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAAmB;AACnB,oBAAsD;AACtD,qBAA+B;AAC/B,kBAA2B;AAC3B,6BAA+B;AAG/B,sBAA+C;AAE/C,gBAGO;AAEP,0BAEO;AAEP,6BAA8B;AAC9B,oCAAqC;AACrC,mCAAoC;AACpC,+BAAgC;AAChC,uCAAwC;AAExC,gCAAqF;AAErF,kCAAmC;AAEnC,iCAAkC;AAElC,qCAAsC;AAEtC,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAE7C,wBAA6C;AAG7C,mBAGO;AACP,uBAA2F;AAC3F,4BAGO;AAGP,kBAAmC;AACnC,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,2BAA4B;AAI5B,2BAA6B;AAE7B,+BAA2D;AAE3D,wCAAyC;AAEzC,qCAAsC;AAEtC,mCAA2D;AAE3D,2BAAsE;AAItE,gCAAiG;AACjG,kCAAmC;AAEnC,6BAA+B;AAG/B,IAAAA,6BAAwE;AAIxE,8BAAkD;AAIlD,8BAAgC;AAOhC,8BAAsC;AAOtC,4BAA8B;AAE9B,wBAA0B;AAM1B,gCAAiC;AAEjC,sBAAwB;AAIxB,yBAA2B;AAE3B,yBAA2B;AAE3B,yBAA2B;AAE3B,gCAAiC;AAEjC,+BAAoD;AAEpD,0BAA4B;AAE5B,8BAA+B;AAI/B,gCAAiC;AAIjC,uCAAwC;AAIxC,2BAA6B;AAG7B,yBAAwC;AAGxC,uBAAmC;AAGnC,2BAA6B;","names":["import_launchpad_services"]}
|