@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.
Files changed (58) hide show
  1. package/dist/components/action-button.cjs +113 -0
  2. package/dist/components/action-button.cjs.map +1 -0
  3. package/dist/components/action-button.d.cts +20 -0
  4. package/dist/components/action-button.d.ts +20 -0
  5. package/dist/components/action-button.js +89 -0
  6. package/dist/components/action-button.js.map +1 -0
  7. package/dist/components/action-dialog.cjs +68 -0
  8. package/dist/components/action-dialog.cjs.map +1 -0
  9. package/dist/components/action-dialog.d.cts +12 -0
  10. package/dist/components/action-dialog.d.ts +12 -0
  11. package/dist/components/action-dialog.js +44 -0
  12. package/dist/components/action-dialog.js.map +1 -0
  13. package/dist/components/asset-marketplace-panel.cjs +134 -144
  14. package/dist/components/asset-marketplace-panel.cjs.map +1 -1
  15. package/dist/components/asset-marketplace-panel.js +134 -144
  16. package/dist/components/asset-marketplace-panel.js.map +1 -1
  17. package/dist/components/asset-overview-content.cjs +7 -17
  18. package/dist/components/asset-overview-content.cjs.map +1 -1
  19. package/dist/components/asset-overview-content.js +7 -17
  20. package/dist/components/asset-overview-content.js.map +1 -1
  21. package/dist/components/hero-slider.cjs +0 -2
  22. package/dist/components/hero-slider.cjs.map +1 -1
  23. package/dist/components/hero-slider.js +0 -2
  24. package/dist/components/hero-slider.js.map +1 -1
  25. package/dist/components/nav-command-menu.cjs +0 -40
  26. package/dist/components/nav-command-menu.cjs.map +1 -1
  27. package/dist/components/nav-command-menu.js +0 -40
  28. package/dist/components/nav-command-menu.js.map +1 -1
  29. package/dist/components/stat-tile.cjs +85 -0
  30. package/dist/components/stat-tile.cjs.map +1 -0
  31. package/dist/components/stat-tile.d.cts +25 -0
  32. package/dist/components/stat-tile.d.ts +25 -0
  33. package/dist/components/stat-tile.js +60 -0
  34. package/dist/components/stat-tile.js.map +1 -0
  35. package/dist/components/token-glyph.cjs +93 -0
  36. package/dist/components/token-glyph.cjs.map +1 -0
  37. package/dist/components/token-glyph.d.cts +21 -0
  38. package/dist/components/token-glyph.d.ts +21 -0
  39. package/dist/components/token-glyph.js +68 -0
  40. package/dist/components/token-glyph.js.map +1 -0
  41. package/dist/data/brand.cjs +26 -7
  42. package/dist/data/brand.cjs.map +1 -1
  43. package/dist/data/brand.d.cts +26 -7
  44. package/dist/data/brand.d.ts +26 -7
  45. package/dist/data/brand.js +26 -7
  46. package/dist/data/brand.js.map +1 -1
  47. package/dist/index.cjs +16 -0
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +4 -0
  50. package/dist/index.d.ts +4 -0
  51. package/dist/index.js +10 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/medialane.css +49 -35
  54. package/dist/preset/tailwind.cjs +8 -5
  55. package/dist/preset/tailwind.cjs.map +1 -1
  56. package/dist/preset/tailwind.js +8 -5
  57. package/dist/preset/tailwind.js.map +1 -1
  58. 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":[]}
@@ -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",
@@ -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 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 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 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 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,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,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,MAAM;AAAA,IACJ,MAAS;AAAA,IACT,IAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AACF;","names":[]}
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":[]}
@@ -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";
@@ -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";
@@ -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",
@@ -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 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 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 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 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,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,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,MAAM;AAAA,IACJ,MAAS;AAAA,IACT,IAAS;AAAA,IACT,MAAS;AAAA,IACT,IAAS;AAAA,EACX;AACF;","names":[]}
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,
@@ -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"]}