@medialane/ui 0.137.0 → 0.138.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/button.d.cts +2 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/coin-row.cjs +10 -2
- package/dist/components/coin-row.cjs.map +1 -1
- package/dist/components/coin-row.js +10 -2
- package/dist/components/coin-row.js.map +1 -1
- package/dist/components/coins-explorer.cjs +46 -105
- package/dist/components/coins-explorer.cjs.map +1 -1
- package/dist/components/coins-explorer.d.cts +7 -2
- package/dist/components/coins-explorer.d.ts +7 -2
- package/dist/components/coins-explorer.js +49 -108
- package/dist/components/coins-explorer.js.map +1 -1
- package/dist/components/dual-price.cjs +17 -14
- package/dist/components/dual-price.cjs.map +1 -1
- package/dist/components/dual-price.d.cts +2 -1
- package/dist/components/dual-price.d.ts +2 -1
- package/dist/components/dual-price.js +17 -14
- package/dist/components/dual-price.js.map +1 -1
- package/dist/components/stat-tile.cjs +23 -15
- package/dist/components/stat-tile.cjs.map +1 -1
- package/dist/components/stat-tile.d.cts +6 -2
- package/dist/components/stat-tile.d.ts +6 -2
- package/dist/components/stat-tile.js +23 -15
- package/dist/components/stat-tile.js.map +1 -1
- package/dist/data/coin-order.cjs +43 -0
- package/dist/data/coin-order.cjs.map +1 -0
- package/dist/data/coin-order.d.cts +6 -0
- package/dist/data/coin-order.d.ts +6 -0
- package/dist/data/coin-order.js +19 -0
- package/dist/data/coin-order.js.map +1 -0
- package/dist/data/coins.cjs +6 -0
- package/dist/data/coins.cjs.map +1 -1
- package/dist/data/coins.d.cts +2 -1
- package/dist/data/coins.d.ts +2 -1
- package/dist/data/coins.js +5 -0
- package/dist/data/coins.js.map +1 -1
- package/dist/index.cjs +5 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -33,26 +33,34 @@ function StatTile({
|
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
|
-
function StatPill({ value, label, className }) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
className: `
|
|
41
|
-
children:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
36
|
+
function StatPill({ value, label, className, active, onClick }) {
|
|
37
|
+
const classes = `inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-sm ${active ? "border-primary bg-primary/10 text-primary" : "border-border bg-card"} ${className ?? ""}`;
|
|
38
|
+
if (onClick) {
|
|
39
|
+
return /* @__PURE__ */ jsxs("button", { type: "button", onClick, "aria-pressed": active, className: classes, children: [
|
|
40
|
+
/* @__PURE__ */ jsx("span", { className: `font-bold tabular-nums ${active ? "" : "text-foreground"}`, children: value }),
|
|
41
|
+
/* @__PURE__ */ jsx("span", { className: active ? "" : "text-muted-foreground", children: label })
|
|
42
|
+
] });
|
|
43
|
+
}
|
|
44
|
+
return /* @__PURE__ */ jsxs("div", { className: classes, children: [
|
|
45
|
+
/* @__PURE__ */ jsx("span", { className: "font-bold text-foreground tabular-nums", children: value }),
|
|
46
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: label })
|
|
47
|
+
] });
|
|
47
48
|
}
|
|
48
|
-
function StatPillRow({
|
|
49
|
-
|
|
49
|
+
function StatPillRow({
|
|
50
|
+
items,
|
|
51
|
+
className,
|
|
52
|
+
onSelect,
|
|
53
|
+
activeIndex
|
|
54
|
+
}) {
|
|
55
|
+
const shown = items.map((item, index) => ({ item, index })).filter(({ item }) => item.value !== void 0);
|
|
50
56
|
if (shown.length === 0) return null;
|
|
51
|
-
return /* @__PURE__ */ jsx("div", { className: `flex flex-wrap items-center gap-2 pt-0.5 ${className ?? ""}`, children: shown.map(({ label, value }) => /* @__PURE__ */ jsx(
|
|
57
|
+
return /* @__PURE__ */ jsx("div", { className: `flex flex-wrap items-center gap-2 pt-0.5 ${className ?? ""}`, children: shown.map(({ item: { label, value }, index }) => /* @__PURE__ */ jsx(
|
|
52
58
|
StatPill,
|
|
53
59
|
{
|
|
54
60
|
label,
|
|
55
|
-
value: value == null ? "\u2014" : typeof value === "number" ? value.toLocaleString() : value
|
|
61
|
+
value: value == null ? "\u2014" : typeof value === "number" ? value.toLocaleString() : value,
|
|
62
|
+
active: onSelect ? activeIndex === index : void 0,
|
|
63
|
+
onClick: onSelect ? () => onSelect(index) : void 0
|
|
56
64
|
},
|
|
57
65
|
label
|
|
58
66
|
)) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/stat-tile.tsx"],"sourcesContent":["\n\nexport interface StatTileProps {\n label: string;\n\n value?: string | number | null;\n\n sub?: string;\n\n accent?: string;\n\n big?: boolean;\n radius?: number;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function StatTile({\n label,\n value,\n sub,\n accent,\n big,\n radius = 16,\n children,\n className,\n}: StatTileProps) {\n return (\n <div\n className={`bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ''}`}\n style={{ borderRadius: radius, padding: '12px 14px' }}\n >\n <span className=\"text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground\">\n {label}\n </span>\n {value != null && (\n <span\n className=\"font-semibold leading-none tracking-tight tabular-nums\"\n style={{\n fontSize: big ? 22 : 16,\n color: accent,\n }}\n >\n {value}\n </span>\n )}\n {sub && (\n <span className=\"text-2xs text-muted-foreground\">{sub}</span>\n )}\n {children}\n </div>\n );\n}\n\nexport interface StatPillProps {\n value: string | number;\n label: string;\n className?: string;\n}\n\nexport function StatPill({ value, label, className }: StatPillProps) {\n
|
|
1
|
+
{"version":3,"sources":["../../src/components/stat-tile.tsx"],"sourcesContent":["\n\nexport interface StatTileProps {\n label: string;\n\n value?: string | number | null;\n\n sub?: string;\n\n accent?: string;\n\n big?: boolean;\n radius?: number;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function StatTile({\n label,\n value,\n sub,\n accent,\n big,\n radius = 16,\n children,\n className,\n}: StatTileProps) {\n return (\n <div\n className={`bg-muted border border-border flex flex-col gap-1 min-w-0 ${className ?? ''}`}\n style={{ borderRadius: radius, padding: '12px 14px' }}\n >\n <span className=\"text-[10.5px] font-semibold tracking-[0.06em] uppercase text-muted-foreground\">\n {label}\n </span>\n {value != null && (\n <span\n className=\"font-semibold leading-none tracking-tight tabular-nums\"\n style={{\n fontSize: big ? 22 : 16,\n color: accent,\n }}\n >\n {value}\n </span>\n )}\n {sub && (\n <span className=\"text-2xs text-muted-foreground\">{sub}</span>\n )}\n {children}\n </div>\n );\n}\n\nexport interface StatPillProps {\n value: string | number;\n label: string;\n className?: string;\n active?: boolean;\n onClick?: () => void;\n}\n\nexport function StatPill({ value, label, className, active, onClick }: StatPillProps) {\n const classes = `inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-sm ${\n active ? \"border-primary bg-primary/10 text-primary\" : \"border-border bg-card\"\n } ${className ?? ''}`;\n\n if (onClick) {\n return (\n <button type=\"button\" onClick={onClick} aria-pressed={active} className={classes}>\n <span className={`font-bold tabular-nums ${active ? \"\" : \"text-foreground\"}`}>{value}</span>\n <span className={active ? \"\" : \"text-muted-foreground\"}>{label}</span>\n </button>\n );\n }\n\n return (\n <div className={classes}>\n <span className=\"font-bold text-foreground tabular-nums\">{value}</span>\n <span className=\"text-muted-foreground\">{label}</span>\n </div>\n );\n}\n\nexport interface StatPillRowItem {\n label: string;\n\n value?: number | string | null;\n}\n\nexport function StatPillRow({\n items,\n className,\n onSelect,\n activeIndex,\n}: {\n items: StatPillRowItem[];\n className?: string;\n onSelect?: (index: number) => void;\n activeIndex?: number;\n}) {\n const shown = items\n .map((item, index) => ({ item, index }))\n .filter(({ item }) => item.value !== undefined);\n if (shown.length === 0) return null;\n\n return (\n <div className={`flex flex-wrap items-center gap-2 pt-0.5 ${className ?? ''}`}>\n {shown.map(({ item: { label, value }, index }) => (\n <StatPill\n key={label}\n label={label}\n value={value == null ? \"—\" : typeof value === \"number\" ? value.toLocaleString() : value}\n active={onSelect ? activeIndex === index : undefined}\n onClick={onSelect ? () => onSelect(index) : undefined}\n />\n ))}\n </div>\n );\n}\n"],"mappings":"AA4BI,SAIE,KAJF;AAXG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA;AACF,GAAkB;AAChB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,6DAA6D,aAAa,EAAE;AAAA,MACvF,OAAO,EAAE,cAAc,QAAQ,SAAS,YAAY;AAAA,MAEpD;AAAA,4BAAC,UAAK,WAAU,iFACb,iBACH;AAAA,QACC,SAAS,QACR;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UAAU,MAAM,KAAK;AAAA,cACrB,OAAO;AAAA,YACT;AAAA,YAEC;AAAA;AAAA,QACH;AAAA,QAED,OACC,oBAAC,UAAK,WAAU,kCAAkC,eAAI;AAAA,QAEvD;AAAA;AAAA;AAAA,EACH;AAEJ;AAUO,SAAS,SAAS,EAAE,OAAO,OAAO,WAAW,QAAQ,QAAQ,GAAkB;AACpF,QAAM,UAAU,0EACd,SAAS,8CAA8C,uBACzD,IAAI,aAAa,EAAE;AAEnB,MAAI,SAAS;AACX,WACE,qBAAC,YAAO,MAAK,UAAS,SAAkB,gBAAc,QAAQ,WAAW,SACvE;AAAA,0BAAC,UAAK,WAAW,0BAA0B,SAAS,KAAK,iBAAiB,IAAK,iBAAM;AAAA,MACrF,oBAAC,UAAK,WAAW,SAAS,KAAK,yBAA0B,iBAAM;AAAA,OACjE;AAAA,EAEJ;AAEA,SACE,qBAAC,SAAI,WAAW,SACd;AAAA,wBAAC,UAAK,WAAU,0CAA0C,iBAAM;AAAA,IAChE,oBAAC,UAAK,WAAU,yBAAyB,iBAAM;AAAA,KACjD;AAEJ;AAQO,SAAS,YAAY;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,QAAQ,MACX,IAAI,CAAC,MAAM,WAAW,EAAE,MAAM,MAAM,EAAE,EACtC,OAAO,CAAC,EAAE,KAAK,MAAM,KAAK,UAAU,MAAS;AAChD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,SACE,oBAAC,SAAI,WAAW,4CAA4C,aAAa,EAAE,IACxE,gBAAM,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,MAAM,GAAG,MAAM,MAC1C;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA,OAAO,SAAS,OAAO,WAAM,OAAO,UAAU,WAAW,MAAM,eAAe,IAAI;AAAA,MAClF,QAAQ,WAAW,gBAAgB,QAAQ;AAAA,MAC3C,SAAS,WAAW,MAAM,SAAS,KAAK,IAAI;AAAA;AAAA,IAJvC;AAAA,EAKP,CACD,GACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
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 coin_order_exports = {};
|
|
20
|
+
__export(coin_order_exports, {
|
|
21
|
+
orderCoins: () => orderCoins
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(coin_order_exports);
|
|
24
|
+
function orderCoins(items, prices, priceSort) {
|
|
25
|
+
if (!prices) return items;
|
|
26
|
+
const priced = [];
|
|
27
|
+
const unpriced = [];
|
|
28
|
+
for (const item of items) {
|
|
29
|
+
(prices[item.contractAddress] != null ? priced : unpriced).push(item);
|
|
30
|
+
}
|
|
31
|
+
if (priceSort) {
|
|
32
|
+
priced.sort((a, b) => {
|
|
33
|
+
const diff = (prices[a.contractAddress] ?? 0) - (prices[b.contractAddress] ?? 0);
|
|
34
|
+
return priceSort === "asc" ? diff : -diff;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return [...priced, ...unpriced];
|
|
38
|
+
}
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
orderCoins
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=coin-order.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/coin-order.ts"],"sourcesContent":["export type CoinPriceSort = \"asc\" | \"desc\";\n\nexport function orderCoins<T extends { contractAddress: string }>(\n items: T[],\n prices?: Record<string, number | null>,\n priceSort?: CoinPriceSort,\n): T[] {\n if (!prices) return items;\n\n const priced: T[] = [];\n const unpriced: T[] = [];\n for (const item of items) {\n (prices[item.contractAddress] != null ? priced : unpriced).push(item);\n }\n\n if (priceSort) {\n priced.sort((a, b) => {\n const diff = (prices[a.contractAddress] ?? 0) - (prices[b.contractAddress] ?? 0);\n return priceSort === \"asc\" ? diff : -diff;\n });\n }\n\n return [...priced, ...unpriced];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,WACd,OACA,QACA,WACK;AACL,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,SAAc,CAAC;AACrB,QAAM,WAAgB,CAAC;AACvB,aAAW,QAAQ,OAAO;AACxB,KAAC,OAAO,KAAK,eAAe,KAAK,OAAO,SAAS,UAAU,KAAK,IAAI;AAAA,EACtE;AAEA,MAAI,WAAW;AACb,WAAO,KAAK,CAAC,GAAG,MAAM;AACpB,YAAM,QAAQ,OAAO,EAAE,eAAe,KAAK,MAAM,OAAO,EAAE,eAAe,KAAK;AAC9E,aAAO,cAAc,QAAQ,OAAO,CAAC;AAAA,IACvC,CAAC;AAAA,EACH;AAEA,SAAO,CAAC,GAAG,QAAQ,GAAG,QAAQ;AAChC;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
function orderCoins(items, prices, priceSort) {
|
|
2
|
+
if (!prices) return items;
|
|
3
|
+
const priced = [];
|
|
4
|
+
const unpriced = [];
|
|
5
|
+
for (const item of items) {
|
|
6
|
+
(prices[item.contractAddress] != null ? priced : unpriced).push(item);
|
|
7
|
+
}
|
|
8
|
+
if (priceSort) {
|
|
9
|
+
priced.sort((a, b) => {
|
|
10
|
+
const diff = (prices[a.contractAddress] ?? 0) - (prices[b.contractAddress] ?? 0);
|
|
11
|
+
return priceSort === "asc" ? diff : -diff;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return [...priced, ...unpriced];
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
orderCoins
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=coin-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/coin-order.ts"],"sourcesContent":["export type CoinPriceSort = \"asc\" | \"desc\";\n\nexport function orderCoins<T extends { contractAddress: string }>(\n items: T[],\n prices?: Record<string, number | null>,\n priceSort?: CoinPriceSort,\n): T[] {\n if (!prices) return items;\n\n const priced: T[] = [];\n const unpriced: T[] = [];\n for (const item of items) {\n (prices[item.contractAddress] != null ? priced : unpriced).push(item);\n }\n\n if (priceSort) {\n priced.sort((a, b) => {\n const diff = (prices[a.contractAddress] ?? 0) - (prices[b.contractAddress] ?? 0);\n return priceSort === \"asc\" ? diff : -diff;\n });\n }\n\n return [...priced, ...unpriced];\n}\n"],"mappings":"AAEO,SAAS,WACd,OACA,QACA,WACK;AACL,MAAI,CAAC,OAAQ,QAAO;AAEpB,QAAM,SAAc,CAAC;AACrB,QAAM,WAAgB,CAAC;AACvB,aAAW,QAAQ,OAAO;AACxB,KAAC,OAAO,KAAK,eAAe,KAAK,OAAO,SAAS,UAAU,KAAK,IAAI;AAAA,EACtE;AAEA,MAAI,WAAW;AACb,WAAO,KAAK,CAAC,GAAG,MAAM;AACpB,YAAM,QAAQ,OAAO,EAAE,eAAe,KAAK,MAAM,OAAO,EAAE,eAAe,KAAK;AAC9E,aAAO,cAAc,QAAQ,OAAO,CAAC;AAAA,IACvC,CAAC;AAAA,EACH;AAEA,SAAO,CAAC,GAAG,QAAQ,GAAG,QAAQ;AAChC;","names":[]}
|
package/dist/data/coins.cjs
CHANGED
|
@@ -22,6 +22,7 @@ __export(coins_exports, {
|
|
|
22
22
|
coinAccentToken: () => coinAccentToken,
|
|
23
23
|
coinKind: () => coinKind,
|
|
24
24
|
coinKindLabel: () => coinKindLabel,
|
|
25
|
+
coinKindLabelPlural: () => coinKindLabelPlural,
|
|
25
26
|
coinServiceIds: () => coinServiceIds,
|
|
26
27
|
coinSupply: () => coinSupply,
|
|
27
28
|
fdvUsd: () => fdvUsd,
|
|
@@ -44,6 +45,10 @@ function coinKind(service) {
|
|
|
44
45
|
function coinKindLabel(kind) {
|
|
45
46
|
return (0, import_sdk.getService)(coinServiceIds(kind)[0])?.displayName ?? "Coin";
|
|
46
47
|
}
|
|
48
|
+
function coinKindLabelPlural(kind) {
|
|
49
|
+
const label = coinKindLabel(kind);
|
|
50
|
+
return /coin$/i.test(label) ? `${label}s` : label;
|
|
51
|
+
}
|
|
47
52
|
function isCoinService(def) {
|
|
48
53
|
return def.uiVariant === "coin";
|
|
49
54
|
}
|
|
@@ -102,6 +107,7 @@ function formatFdvUsd(price, collection) {
|
|
|
102
107
|
coinAccentToken,
|
|
103
108
|
coinKind,
|
|
104
109
|
coinKindLabel,
|
|
110
|
+
coinKindLabelPlural,
|
|
105
111
|
coinServiceIds,
|
|
106
112
|
coinSupply,
|
|
107
113
|
fdvUsd,
|
package/dist/data/coins.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/coins.ts"],"sourcesContent":["\n\nimport { getService, listServices, type ServiceDefinition } from \"@medialane/sdk\";\nimport { formatSmallDecimal } from \"../utils/format.js\";\n\nexport type CoinKind = \"creator\" | \"unruggable\" | \"memecoin\";\n\nexport interface CoinCollectionLike {\n contractAddress: string;\n chain?: string | null;\n name?: string | null;\n symbol?: string | null;\n image?: string | null;\n service?: string | null;\n claimedBy?: string | null;\n holderCount?: number | null;\n\n totalSupply?: string | null;\n decimals?: number | null;\n isLaunched?: boolean | null;\n profile?: { image?: string | null } | null;\n}\n\nexport interface CoinPriceLike {\n quotePerCoin: number;\n quoteSymbol: string | null;\n /** USD value of one unit of quoteSymbol, when known — lets price\n * displays show a fiat-equivalent alongside the on-chain quote. */\n quoteUsdRate?: number | null;\n}\n\nconst KIND_BY_SERVICE: Record<string, CoinKind> = {\n \"creator-coin\": \"creator\",\n \"unruggable-erc20\": \"unruggable\",\n \"external-erc20\": \"memecoin\",\n};\n\nexport function coinKind(service: string | null | undefined): CoinKind {\n const def = getService(service);\n return (def && KIND_BY_SERVICE[def.id]) ?? \"memecoin\";\n}\n\nexport function coinKindLabel(kind: CoinKind): string {\n return getService(coinServiceIds(kind)[0])?.displayName ?? \"Coin\";\n}\n\nexport function isCoinService(def: ServiceDefinition): boolean {\n return def.uiVariant === \"coin\";\n}\n\nexport function coinServiceIds(kind: CoinKind): string[] {\n return listServices()\n .filter((s) => isCoinService(s) && KIND_BY_SERVICE[s.id] === kind)\n .map((s) => s.id);\n}\n\nexport const COIN_KINDS: CoinKind[] = [\"creator\", \"unruggable\", \"memecoin\"];\n\nexport function formatCoinPrice(n: number): string {\n return formatSmallDecimal(n);\n}\n\nconst ACCENT_TOKENS = [\n \"bg-brand-rose\",\n \"bg-brand-maeve\",\n \"bg-brand-purple\",\n \"bg-brand-orange\",\n \"bg-brand-blue\",\n] as const;\n\nexport function coinAccentToken(seed: string | null | undefined): string {\n const s = (seed ?? \"?\").trim().toUpperCase();\n let h = 0;\n for (let i = 0; i < s.length; i++) h = (h * 31 + s.charCodeAt(i)) >>> 0;\n return ACCENT_TOKENS[h % ACCENT_TOKENS.length];\n}\n\nfunction abbreviate(n: number): string {\n if (n >= 1_000_000_000) return `${(n / 1_000_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}B`;\n if (n >= 1_000_000) return `${(n / 1_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}M`;\n if (n >= 1_000) return `${(n / 1_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}K`;\n return n.toLocaleString(undefined, { maximumFractionDigits: 2 });\n}\n\nexport function coinSupply(collection: CoinCollectionLike): number | null {\n const raw = collection.totalSupply;\n if (raw == null || raw === \"\") return null;\n let units: bigint;\n try {\n units = BigInt(raw);\n } catch {\n return null;\n }\n if (units <= 0n) return null;\n const supply = Number(units) / 10 ** (collection.decimals ?? 18);\n\n return isFinite(supply) && supply >= 1 ? supply : null;\n}\n\nexport function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null {\n const supply = coinSupply(collection);\n if (!price || supply == null || price.quoteUsdRate == null) return null;\n const v = price.quotePerCoin * supply * price.quoteUsdRate;\n return v > 0 && isFinite(v) ? v : null;\n}\n\nexport function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null {\n const v = fdvUsd(price, collection);\n return v == null ? null : `$${abbreviate(v)}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iBAAiE;AACjE,oBAAmC;AA4BnC,MAAM,kBAA4C;AAAA,EAChD,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAEO,SAAS,SAAS,SAA8C;AACrE,QAAM,UAAM,uBAAW,OAAO;AAC9B,UAAQ,OAAO,gBAAgB,IAAI,EAAE,MAAM;AAC7C;AAEO,SAAS,cAAc,MAAwB;AACpD,aAAO,uBAAW,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,eAAe;AAC7D;AAEO,SAAS,cAAc,KAAiC;AAC7D,SAAO,IAAI,cAAc;AAC3B;AAEO,SAAS,eAAe,MAA0B;AACvD,aAAO,yBAAa,EACjB,OAAO,CAAC,MAAM,cAAc,CAAC,KAAK,gBAAgB,EAAE,EAAE,MAAM,IAAI,EAChE,IAAI,CAAC,MAAM,EAAE,EAAE;AACpB;AAEO,MAAM,aAAyB,CAAC,WAAW,cAAc,UAAU;AAEnE,SAAS,gBAAgB,GAAmB;AACjD,aAAO,kCAAmB,CAAC;AAC7B;AAEA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,MAAyC;AACvE,QAAM,KAAK,QAAQ,KAAK,KAAK,EAAE,YAAY;AAC3C,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAK,IAAI,KAAK,EAAE,WAAW,CAAC,MAAO;AACtE,SAAO,cAAc,IAAI,cAAc,MAAM;AAC/C;AAEA,SAAS,WAAW,GAAmB;AACrC,MAAI,KAAK,IAAe,QAAO,IAAI,IAAI,KAAe,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7G,MAAI,KAAK,IAAW,QAAO,IAAI,IAAI,KAAW,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AACrG,MAAI,KAAK,IAAO,QAAO,IAAI,IAAI,KAAO,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7F,SAAO,EAAE,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC;AACjE;AAEO,SAAS,WAAW,YAA+C;AACxE,QAAM,MAAM,WAAW;AACvB,MAAI,OAAO,QAAQ,QAAQ,GAAI,QAAO;AACtC,MAAI;AACJ,MAAI;AACF,YAAQ,OAAO,GAAG;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,SAAS,GAAI,QAAO;AACxB,QAAM,SAAS,OAAO,KAAK,IAAI,OAAO,WAAW,YAAY;AAE7D,SAAO,SAAS,MAAM,KAAK,UAAU,IAAI,SAAS;AACpD;AAEO,SAAS,OAAO,OAA6B,YAA+C;AACjG,QAAM,SAAS,WAAW,UAAU;AACpC,MAAI,CAAC,SAAS,UAAU,QAAQ,MAAM,gBAAgB,KAAM,QAAO;AACnE,QAAM,IAAI,MAAM,eAAe,SAAS,MAAM;AAC9C,SAAO,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI;AACpC;AAEO,SAAS,aAAa,OAA6B,YAA+C;AACvG,QAAM,IAAI,OAAO,OAAO,UAAU;AAClC,SAAO,KAAK,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC;AAC7C;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/data/coins.ts"],"sourcesContent":["\n\nimport { getService, listServices, type ServiceDefinition } from \"@medialane/sdk\";\nimport { formatSmallDecimal } from \"../utils/format.js\";\n\nexport type CoinKind = \"creator\" | \"unruggable\" | \"memecoin\";\n\nexport interface CoinCollectionLike {\n contractAddress: string;\n chain?: string | null;\n name?: string | null;\n symbol?: string | null;\n image?: string | null;\n service?: string | null;\n claimedBy?: string | null;\n holderCount?: number | null;\n\n totalSupply?: string | null;\n decimals?: number | null;\n isLaunched?: boolean | null;\n profile?: { image?: string | null } | null;\n}\n\nexport interface CoinPriceLike {\n quotePerCoin: number;\n quoteSymbol: string | null;\n /** USD value of one unit of quoteSymbol, when known — lets price\n * displays show a fiat-equivalent alongside the on-chain quote. */\n quoteUsdRate?: number | null;\n}\n\nconst KIND_BY_SERVICE: Record<string, CoinKind> = {\n \"creator-coin\": \"creator\",\n \"unruggable-erc20\": \"unruggable\",\n \"external-erc20\": \"memecoin\",\n};\n\nexport function coinKind(service: string | null | undefined): CoinKind {\n const def = getService(service);\n return (def && KIND_BY_SERVICE[def.id]) ?? \"memecoin\";\n}\n\nexport function coinKindLabel(kind: CoinKind): string {\n return getService(coinServiceIds(kind)[0])?.displayName ?? \"Coin\";\n}\n\nexport function coinKindLabelPlural(kind: CoinKind): string {\n const label = coinKindLabel(kind);\n\n return /coin$/i.test(label) ? `${label}s` : label;\n}\n\nexport function isCoinService(def: ServiceDefinition): boolean {\n return def.uiVariant === \"coin\";\n}\n\nexport function coinServiceIds(kind: CoinKind): string[] {\n return listServices()\n .filter((s) => isCoinService(s) && KIND_BY_SERVICE[s.id] === kind)\n .map((s) => s.id);\n}\n\nexport const COIN_KINDS: CoinKind[] = [\"creator\", \"unruggable\", \"memecoin\"];\n\nexport function formatCoinPrice(n: number): string {\n return formatSmallDecimal(n);\n}\n\nconst ACCENT_TOKENS = [\n \"bg-brand-rose\",\n \"bg-brand-maeve\",\n \"bg-brand-purple\",\n \"bg-brand-orange\",\n \"bg-brand-blue\",\n] as const;\n\nexport function coinAccentToken(seed: string | null | undefined): string {\n const s = (seed ?? \"?\").trim().toUpperCase();\n let h = 0;\n for (let i = 0; i < s.length; i++) h = (h * 31 + s.charCodeAt(i)) >>> 0;\n return ACCENT_TOKENS[h % ACCENT_TOKENS.length];\n}\n\nfunction abbreviate(n: number): string {\n if (n >= 1_000_000_000) return `${(n / 1_000_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}B`;\n if (n >= 1_000_000) return `${(n / 1_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}M`;\n if (n >= 1_000) return `${(n / 1_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}K`;\n return n.toLocaleString(undefined, { maximumFractionDigits: 2 });\n}\n\nexport function coinSupply(collection: CoinCollectionLike): number | null {\n const raw = collection.totalSupply;\n if (raw == null || raw === \"\") return null;\n let units: bigint;\n try {\n units = BigInt(raw);\n } catch {\n return null;\n }\n if (units <= 0n) return null;\n const supply = Number(units) / 10 ** (collection.decimals ?? 18);\n\n return isFinite(supply) && supply >= 1 ? supply : null;\n}\n\nexport function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null {\n const supply = coinSupply(collection);\n if (!price || supply == null || price.quoteUsdRate == null) return null;\n const v = price.quotePerCoin * supply * price.quoteUsdRate;\n return v > 0 && isFinite(v) ? v : null;\n}\n\nexport function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null {\n const v = fdvUsd(price, collection);\n return v == null ? null : `$${abbreviate(v)}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iBAAiE;AACjE,oBAAmC;AA4BnC,MAAM,kBAA4C;AAAA,EAChD,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAEO,SAAS,SAAS,SAA8C;AACrE,QAAM,UAAM,uBAAW,OAAO;AAC9B,UAAQ,OAAO,gBAAgB,IAAI,EAAE,MAAM;AAC7C;AAEO,SAAS,cAAc,MAAwB;AACpD,aAAO,uBAAW,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,eAAe;AAC7D;AAEO,SAAS,oBAAoB,MAAwB;AAC1D,QAAM,QAAQ,cAAc,IAAI;AAEhC,SAAO,SAAS,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM;AAC9C;AAEO,SAAS,cAAc,KAAiC;AAC7D,SAAO,IAAI,cAAc;AAC3B;AAEO,SAAS,eAAe,MAA0B;AACvD,aAAO,yBAAa,EACjB,OAAO,CAAC,MAAM,cAAc,CAAC,KAAK,gBAAgB,EAAE,EAAE,MAAM,IAAI,EAChE,IAAI,CAAC,MAAM,EAAE,EAAE;AACpB;AAEO,MAAM,aAAyB,CAAC,WAAW,cAAc,UAAU;AAEnE,SAAS,gBAAgB,GAAmB;AACjD,aAAO,kCAAmB,CAAC;AAC7B;AAEA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,MAAyC;AACvE,QAAM,KAAK,QAAQ,KAAK,KAAK,EAAE,YAAY;AAC3C,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAK,IAAI,KAAK,EAAE,WAAW,CAAC,MAAO;AACtE,SAAO,cAAc,IAAI,cAAc,MAAM;AAC/C;AAEA,SAAS,WAAW,GAAmB;AACrC,MAAI,KAAK,IAAe,QAAO,IAAI,IAAI,KAAe,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7G,MAAI,KAAK,IAAW,QAAO,IAAI,IAAI,KAAW,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AACrG,MAAI,KAAK,IAAO,QAAO,IAAI,IAAI,KAAO,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7F,SAAO,EAAE,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC;AACjE;AAEO,SAAS,WAAW,YAA+C;AACxE,QAAM,MAAM,WAAW;AACvB,MAAI,OAAO,QAAQ,QAAQ,GAAI,QAAO;AACtC,MAAI;AACJ,MAAI;AACF,YAAQ,OAAO,GAAG;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,SAAS,GAAI,QAAO;AACxB,QAAM,SAAS,OAAO,KAAK,IAAI,OAAO,WAAW,YAAY;AAE7D,SAAO,SAAS,MAAM,KAAK,UAAU,IAAI,SAAS;AACpD;AAEO,SAAS,OAAO,OAA6B,YAA+C;AACjG,QAAM,SAAS,WAAW,UAAU;AACpC,MAAI,CAAC,SAAS,UAAU,QAAQ,MAAM,gBAAgB,KAAM,QAAO;AACnE,QAAM,IAAI,MAAM,eAAe,SAAS,MAAM;AAC9C,SAAO,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI;AACpC;AAEO,SAAS,aAAa,OAA6B,YAA+C;AACvG,QAAM,IAAI,OAAO,OAAO,UAAU;AAClC,SAAO,KAAK,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC;AAC7C;","names":[]}
|
package/dist/data/coins.d.cts
CHANGED
|
@@ -26,6 +26,7 @@ interface CoinPriceLike {
|
|
|
26
26
|
}
|
|
27
27
|
declare function coinKind(service: string | null | undefined): CoinKind;
|
|
28
28
|
declare function coinKindLabel(kind: CoinKind): string;
|
|
29
|
+
declare function coinKindLabelPlural(kind: CoinKind): string;
|
|
29
30
|
declare function isCoinService(def: ServiceDefinition): boolean;
|
|
30
31
|
declare function coinServiceIds(kind: CoinKind): string[];
|
|
31
32
|
declare const COIN_KINDS: CoinKind[];
|
|
@@ -35,4 +36,4 @@ declare function coinSupply(collection: CoinCollectionLike): number | null;
|
|
|
35
36
|
declare function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null;
|
|
36
37
|
declare function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null;
|
|
37
38
|
|
|
38
|
-
export { COIN_KINDS, type CoinCollectionLike, type CoinKind, type CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService };
|
|
39
|
+
export { COIN_KINDS, type CoinCollectionLike, type CoinKind, type CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinKindLabelPlural, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService };
|
package/dist/data/coins.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ interface CoinPriceLike {
|
|
|
26
26
|
}
|
|
27
27
|
declare function coinKind(service: string | null | undefined): CoinKind;
|
|
28
28
|
declare function coinKindLabel(kind: CoinKind): string;
|
|
29
|
+
declare function coinKindLabelPlural(kind: CoinKind): string;
|
|
29
30
|
declare function isCoinService(def: ServiceDefinition): boolean;
|
|
30
31
|
declare function coinServiceIds(kind: CoinKind): string[];
|
|
31
32
|
declare const COIN_KINDS: CoinKind[];
|
|
@@ -35,4 +36,4 @@ declare function coinSupply(collection: CoinCollectionLike): number | null;
|
|
|
35
36
|
declare function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null;
|
|
36
37
|
declare function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null;
|
|
37
38
|
|
|
38
|
-
export { COIN_KINDS, type CoinCollectionLike, type CoinKind, type CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService };
|
|
39
|
+
export { COIN_KINDS, type CoinCollectionLike, type CoinKind, type CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinKindLabelPlural, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService };
|
package/dist/data/coins.js
CHANGED
|
@@ -12,6 +12,10 @@ function coinKind(service) {
|
|
|
12
12
|
function coinKindLabel(kind) {
|
|
13
13
|
return getService(coinServiceIds(kind)[0])?.displayName ?? "Coin";
|
|
14
14
|
}
|
|
15
|
+
function coinKindLabelPlural(kind) {
|
|
16
|
+
const label = coinKindLabel(kind);
|
|
17
|
+
return /coin$/i.test(label) ? `${label}s` : label;
|
|
18
|
+
}
|
|
15
19
|
function isCoinService(def) {
|
|
16
20
|
return def.uiVariant === "coin";
|
|
17
21
|
}
|
|
@@ -69,6 +73,7 @@ export {
|
|
|
69
73
|
coinAccentToken,
|
|
70
74
|
coinKind,
|
|
71
75
|
coinKindLabel,
|
|
76
|
+
coinKindLabelPlural,
|
|
72
77
|
coinServiceIds,
|
|
73
78
|
coinSupply,
|
|
74
79
|
fdvUsd,
|
package/dist/data/coins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/data/coins.ts"],"sourcesContent":["\n\nimport { getService, listServices, type ServiceDefinition } from \"@medialane/sdk\";\nimport { formatSmallDecimal } from \"../utils/format.js\";\n\nexport type CoinKind = \"creator\" | \"unruggable\" | \"memecoin\";\n\nexport interface CoinCollectionLike {\n contractAddress: string;\n chain?: string | null;\n name?: string | null;\n symbol?: string | null;\n image?: string | null;\n service?: string | null;\n claimedBy?: string | null;\n holderCount?: number | null;\n\n totalSupply?: string | null;\n decimals?: number | null;\n isLaunched?: boolean | null;\n profile?: { image?: string | null } | null;\n}\n\nexport interface CoinPriceLike {\n quotePerCoin: number;\n quoteSymbol: string | null;\n /** USD value of one unit of quoteSymbol, when known — lets price\n * displays show a fiat-equivalent alongside the on-chain quote. */\n quoteUsdRate?: number | null;\n}\n\nconst KIND_BY_SERVICE: Record<string, CoinKind> = {\n \"creator-coin\": \"creator\",\n \"unruggable-erc20\": \"unruggable\",\n \"external-erc20\": \"memecoin\",\n};\n\nexport function coinKind(service: string | null | undefined): CoinKind {\n const def = getService(service);\n return (def && KIND_BY_SERVICE[def.id]) ?? \"memecoin\";\n}\n\nexport function coinKindLabel(kind: CoinKind): string {\n return getService(coinServiceIds(kind)[0])?.displayName ?? \"Coin\";\n}\n\nexport function isCoinService(def: ServiceDefinition): boolean {\n return def.uiVariant === \"coin\";\n}\n\nexport function coinServiceIds(kind: CoinKind): string[] {\n return listServices()\n .filter((s) => isCoinService(s) && KIND_BY_SERVICE[s.id] === kind)\n .map((s) => s.id);\n}\n\nexport const COIN_KINDS: CoinKind[] = [\"creator\", \"unruggable\", \"memecoin\"];\n\nexport function formatCoinPrice(n: number): string {\n return formatSmallDecimal(n);\n}\n\nconst ACCENT_TOKENS = [\n \"bg-brand-rose\",\n \"bg-brand-maeve\",\n \"bg-brand-purple\",\n \"bg-brand-orange\",\n \"bg-brand-blue\",\n] as const;\n\nexport function coinAccentToken(seed: string | null | undefined): string {\n const s = (seed ?? \"?\").trim().toUpperCase();\n let h = 0;\n for (let i = 0; i < s.length; i++) h = (h * 31 + s.charCodeAt(i)) >>> 0;\n return ACCENT_TOKENS[h % ACCENT_TOKENS.length];\n}\n\nfunction abbreviate(n: number): string {\n if (n >= 1_000_000_000) return `${(n / 1_000_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}B`;\n if (n >= 1_000_000) return `${(n / 1_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}M`;\n if (n >= 1_000) return `${(n / 1_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}K`;\n return n.toLocaleString(undefined, { maximumFractionDigits: 2 });\n}\n\nexport function coinSupply(collection: CoinCollectionLike): number | null {\n const raw = collection.totalSupply;\n if (raw == null || raw === \"\") return null;\n let units: bigint;\n try {\n units = BigInt(raw);\n } catch {\n return null;\n }\n if (units <= 0n) return null;\n const supply = Number(units) / 10 ** (collection.decimals ?? 18);\n\n return isFinite(supply) && supply >= 1 ? supply : null;\n}\n\nexport function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null {\n const supply = coinSupply(collection);\n if (!price || supply == null || price.quoteUsdRate == null) return null;\n const v = price.quotePerCoin * supply * price.quoteUsdRate;\n return v > 0 && isFinite(v) ? v : null;\n}\n\nexport function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null {\n const v = fdvUsd(price, collection);\n return v == null ? null : `$${abbreviate(v)}`;\n}\n"],"mappings":"AAEA,SAAS,YAAY,oBAA4C;AACjE,SAAS,0BAA0B;AA4BnC,MAAM,kBAA4C;AAAA,EAChD,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAEO,SAAS,SAAS,SAA8C;AACrE,QAAM,MAAM,WAAW,OAAO;AAC9B,UAAQ,OAAO,gBAAgB,IAAI,EAAE,MAAM;AAC7C;AAEO,SAAS,cAAc,MAAwB;AACpD,SAAO,WAAW,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,eAAe;AAC7D;AAEO,SAAS,cAAc,KAAiC;AAC7D,SAAO,IAAI,cAAc;AAC3B;AAEO,SAAS,eAAe,MAA0B;AACvD,SAAO,aAAa,EACjB,OAAO,CAAC,MAAM,cAAc,CAAC,KAAK,gBAAgB,EAAE,EAAE,MAAM,IAAI,EAChE,IAAI,CAAC,MAAM,EAAE,EAAE;AACpB;AAEO,MAAM,aAAyB,CAAC,WAAW,cAAc,UAAU;AAEnE,SAAS,gBAAgB,GAAmB;AACjD,SAAO,mBAAmB,CAAC;AAC7B;AAEA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,MAAyC;AACvE,QAAM,KAAK,QAAQ,KAAK,KAAK,EAAE,YAAY;AAC3C,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAK,IAAI,KAAK,EAAE,WAAW,CAAC,MAAO;AACtE,SAAO,cAAc,IAAI,cAAc,MAAM;AAC/C;AAEA,SAAS,WAAW,GAAmB;AACrC,MAAI,KAAK,IAAe,QAAO,IAAI,IAAI,KAAe,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7G,MAAI,KAAK,IAAW,QAAO,IAAI,IAAI,KAAW,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AACrG,MAAI,KAAK,IAAO,QAAO,IAAI,IAAI,KAAO,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7F,SAAO,EAAE,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC;AACjE;AAEO,SAAS,WAAW,YAA+C;AACxE,QAAM,MAAM,WAAW;AACvB,MAAI,OAAO,QAAQ,QAAQ,GAAI,QAAO;AACtC,MAAI;AACJ,MAAI;AACF,YAAQ,OAAO,GAAG;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,SAAS,GAAI,QAAO;AACxB,QAAM,SAAS,OAAO,KAAK,IAAI,OAAO,WAAW,YAAY;AAE7D,SAAO,SAAS,MAAM,KAAK,UAAU,IAAI,SAAS;AACpD;AAEO,SAAS,OAAO,OAA6B,YAA+C;AACjG,QAAM,SAAS,WAAW,UAAU;AACpC,MAAI,CAAC,SAAS,UAAU,QAAQ,MAAM,gBAAgB,KAAM,QAAO;AACnE,QAAM,IAAI,MAAM,eAAe,SAAS,MAAM;AAC9C,SAAO,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI;AACpC;AAEO,SAAS,aAAa,OAA6B,YAA+C;AACvG,QAAM,IAAI,OAAO,OAAO,UAAU;AAClC,SAAO,KAAK,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC;AAC7C;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/data/coins.ts"],"sourcesContent":["\n\nimport { getService, listServices, type ServiceDefinition } from \"@medialane/sdk\";\nimport { formatSmallDecimal } from \"../utils/format.js\";\n\nexport type CoinKind = \"creator\" | \"unruggable\" | \"memecoin\";\n\nexport interface CoinCollectionLike {\n contractAddress: string;\n chain?: string | null;\n name?: string | null;\n symbol?: string | null;\n image?: string | null;\n service?: string | null;\n claimedBy?: string | null;\n holderCount?: number | null;\n\n totalSupply?: string | null;\n decimals?: number | null;\n isLaunched?: boolean | null;\n profile?: { image?: string | null } | null;\n}\n\nexport interface CoinPriceLike {\n quotePerCoin: number;\n quoteSymbol: string | null;\n /** USD value of one unit of quoteSymbol, when known — lets price\n * displays show a fiat-equivalent alongside the on-chain quote. */\n quoteUsdRate?: number | null;\n}\n\nconst KIND_BY_SERVICE: Record<string, CoinKind> = {\n \"creator-coin\": \"creator\",\n \"unruggable-erc20\": \"unruggable\",\n \"external-erc20\": \"memecoin\",\n};\n\nexport function coinKind(service: string | null | undefined): CoinKind {\n const def = getService(service);\n return (def && KIND_BY_SERVICE[def.id]) ?? \"memecoin\";\n}\n\nexport function coinKindLabel(kind: CoinKind): string {\n return getService(coinServiceIds(kind)[0])?.displayName ?? \"Coin\";\n}\n\nexport function coinKindLabelPlural(kind: CoinKind): string {\n const label = coinKindLabel(kind);\n\n return /coin$/i.test(label) ? `${label}s` : label;\n}\n\nexport function isCoinService(def: ServiceDefinition): boolean {\n return def.uiVariant === \"coin\";\n}\n\nexport function coinServiceIds(kind: CoinKind): string[] {\n return listServices()\n .filter((s) => isCoinService(s) && KIND_BY_SERVICE[s.id] === kind)\n .map((s) => s.id);\n}\n\nexport const COIN_KINDS: CoinKind[] = [\"creator\", \"unruggable\", \"memecoin\"];\n\nexport function formatCoinPrice(n: number): string {\n return formatSmallDecimal(n);\n}\n\nconst ACCENT_TOKENS = [\n \"bg-brand-rose\",\n \"bg-brand-maeve\",\n \"bg-brand-purple\",\n \"bg-brand-orange\",\n \"bg-brand-blue\",\n] as const;\n\nexport function coinAccentToken(seed: string | null | undefined): string {\n const s = (seed ?? \"?\").trim().toUpperCase();\n let h = 0;\n for (let i = 0; i < s.length; i++) h = (h * 31 + s.charCodeAt(i)) >>> 0;\n return ACCENT_TOKENS[h % ACCENT_TOKENS.length];\n}\n\nfunction abbreviate(n: number): string {\n if (n >= 1_000_000_000) return `${(n / 1_000_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}B`;\n if (n >= 1_000_000) return `${(n / 1_000_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}M`;\n if (n >= 1_000) return `${(n / 1_000).toLocaleString(undefined, { maximumFractionDigits: 1 })}K`;\n return n.toLocaleString(undefined, { maximumFractionDigits: 2 });\n}\n\nexport function coinSupply(collection: CoinCollectionLike): number | null {\n const raw = collection.totalSupply;\n if (raw == null || raw === \"\") return null;\n let units: bigint;\n try {\n units = BigInt(raw);\n } catch {\n return null;\n }\n if (units <= 0n) return null;\n const supply = Number(units) / 10 ** (collection.decimals ?? 18);\n\n return isFinite(supply) && supply >= 1 ? supply : null;\n}\n\nexport function fdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): number | null {\n const supply = coinSupply(collection);\n if (!price || supply == null || price.quoteUsdRate == null) return null;\n const v = price.quotePerCoin * supply * price.quoteUsdRate;\n return v > 0 && isFinite(v) ? v : null;\n}\n\nexport function formatFdvUsd(price: CoinPriceLike | null, collection: CoinCollectionLike): string | null {\n const v = fdvUsd(price, collection);\n return v == null ? null : `$${abbreviate(v)}`;\n}\n"],"mappings":"AAEA,SAAS,YAAY,oBAA4C;AACjE,SAAS,0BAA0B;AA4BnC,MAAM,kBAA4C;AAAA,EAChD,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,kBAAkB;AACpB;AAEO,SAAS,SAAS,SAA8C;AACrE,QAAM,MAAM,WAAW,OAAO;AAC9B,UAAQ,OAAO,gBAAgB,IAAI,EAAE,MAAM;AAC7C;AAEO,SAAS,cAAc,MAAwB;AACpD,SAAO,WAAW,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,eAAe;AAC7D;AAEO,SAAS,oBAAoB,MAAwB;AAC1D,QAAM,QAAQ,cAAc,IAAI;AAEhC,SAAO,SAAS,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM;AAC9C;AAEO,SAAS,cAAc,KAAiC;AAC7D,SAAO,IAAI,cAAc;AAC3B;AAEO,SAAS,eAAe,MAA0B;AACvD,SAAO,aAAa,EACjB,OAAO,CAAC,MAAM,cAAc,CAAC,KAAK,gBAAgB,EAAE,EAAE,MAAM,IAAI,EAChE,IAAI,CAAC,MAAM,EAAE,EAAE;AACpB;AAEO,MAAM,aAAyB,CAAC,WAAW,cAAc,UAAU;AAEnE,SAAS,gBAAgB,GAAmB;AACjD,SAAO,mBAAmB,CAAC;AAC7B;AAEA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,gBAAgB,MAAyC;AACvE,QAAM,KAAK,QAAQ,KAAK,KAAK,EAAE,YAAY;AAC3C,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAK,KAAK,IAAI,KAAK,EAAE,WAAW,CAAC,MAAO;AACtE,SAAO,cAAc,IAAI,cAAc,MAAM;AAC/C;AAEA,SAAS,WAAW,GAAmB;AACrC,MAAI,KAAK,IAAe,QAAO,IAAI,IAAI,KAAe,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7G,MAAI,KAAK,IAAW,QAAO,IAAI,IAAI,KAAW,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AACrG,MAAI,KAAK,IAAO,QAAO,IAAI,IAAI,KAAO,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC7F,SAAO,EAAE,eAAe,QAAW,EAAE,uBAAuB,EAAE,CAAC;AACjE;AAEO,SAAS,WAAW,YAA+C;AACxE,QAAM,MAAM,WAAW;AACvB,MAAI,OAAO,QAAQ,QAAQ,GAAI,QAAO;AACtC,MAAI;AACJ,MAAI;AACF,YAAQ,OAAO,GAAG;AAAA,EACpB,QAAQ;AACN,WAAO;AAAA,EACT;AACA,MAAI,SAAS,GAAI,QAAO;AACxB,QAAM,SAAS,OAAO,KAAK,IAAI,OAAO,WAAW,YAAY;AAE7D,SAAO,SAAS,MAAM,KAAK,UAAU,IAAI,SAAS;AACpD;AAEO,SAAS,OAAO,OAA6B,YAA+C;AACjG,QAAM,SAAS,WAAW,UAAU;AACpC,MAAI,CAAC,SAAS,UAAU,QAAQ,MAAM,gBAAgB,KAAM,QAAO;AACnE,QAAM,IAAI,MAAM,eAAe,SAAS,MAAM;AAC9C,SAAO,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI;AACpC;AAEO,SAAS,aAAa,OAA6B,YAA+C;AACvG,QAAM,IAAI,OAAO,OAAO,UAAU;AAClC,SAAO,KAAK,OAAO,OAAO,IAAI,WAAW,CAAC,CAAC;AAC7C;","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -283,6 +283,7 @@ __export(index_exports, {
|
|
|
283
283
|
coinAccentToken: () => import_coins.coinAccentToken,
|
|
284
284
|
coinKind: () => import_coins.coinKind,
|
|
285
285
|
coinKindLabel: () => import_coins.coinKindLabel,
|
|
286
|
+
coinKindLabelPlural: () => import_coins.coinKindLabelPlural,
|
|
286
287
|
coinServiceIds: () => import_coins.coinServiceIds,
|
|
287
288
|
coinSupply: () => import_coins.coinSupply,
|
|
288
289
|
createRewardToast: () => import_reward_toast.createRewardToast,
|
|
@@ -312,6 +313,7 @@ __export(index_exports, {
|
|
|
312
313
|
isWrongNetwork: () => import_wallet_error.isWrongNetwork,
|
|
313
314
|
licenseSummary: () => import_license_summary.licenseSummary,
|
|
314
315
|
markRead: () => import_notification_storage.markRead,
|
|
316
|
+
orderCoins: () => import_coin_order.orderCoins,
|
|
315
317
|
parsePriceDisplay: () => import_format.parsePriceDisplay,
|
|
316
318
|
queryKeyPrefix: () => import_query_keys.queryKeyPrefix,
|
|
317
319
|
queryKeys: () => import_query_keys.queryKeys,
|
|
@@ -403,6 +405,7 @@ var import_license_terms_builder = require("./components/license-terms-builder.j
|
|
|
403
405
|
var import_coins = require("./data/coins.js");
|
|
404
406
|
var import_coin_guarantees = require("./components/coin-guarantees.js");
|
|
405
407
|
var import_coin_row = require("./components/coin-row.js");
|
|
408
|
+
var import_coin_order = require("./data/coin-order.js");
|
|
406
409
|
var import_coins_explorer = require("./components/coins-explorer.js");
|
|
407
410
|
var import_time = require("./utils/time.js");
|
|
408
411
|
var import_activity = require("./data/activity.js");
|
|
@@ -785,6 +788,7 @@ var import_dialog = require("./components/dialog.js");
|
|
|
785
788
|
coinAccentToken,
|
|
786
789
|
coinKind,
|
|
787
790
|
coinKindLabel,
|
|
791
|
+
coinKindLabelPlural,
|
|
788
792
|
coinServiceIds,
|
|
789
793
|
coinSupply,
|
|
790
794
|
createRewardToast,
|
|
@@ -814,6 +818,7 @@ var import_dialog = require("./components/dialog.js");
|
|
|
814
818
|
isWrongNetwork,
|
|
815
819
|
licenseSummary,
|
|
816
820
|
markRead,
|
|
821
|
+
orderCoins,
|
|
817
822
|
parsePriceDisplay,
|
|
818
823
|
queryKeyPrefix,
|
|
819
824
|
queryKeys,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay, isStableCurrency, formatUsd, formatUsdPrice, formatSmallDecimal } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\nexport {\n getFriendlyWalletError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport type { FriendlyWalletError } from \"./utils/wallet-error.js\";\n\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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.js\";\n\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 { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\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 } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n\nexport {\n coinKind, coinKindLabel, COIN_KINDS, coinAccentToken, coinServiceIds, isCoinService, formatCoinPrice, coinSupply, formatFdvUsd, fdvUsd,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinGuarantees, type CoinGuaranteesProps, type CoinGuaranteesData } from \"./components/coin-guarantees.js\";\nexport { CoinRow, CoinRowSkeleton, CoinAvatar, COIN_GRID, type UseCoinPrice, type CoinRowProps, type CoinMarketStatus } from \"./components/coin-row.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins, type CoinCounts,\n} from \"./components/coins-explorer.js\";\n\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 {\n MarketplaceTxLink,\n MarketplaceProcessingState,\n MarketplaceSignInGate,\n MarketplaceSuccessState,\n MarketplaceErrorState,\n MarketplaceDialogHero,\n CurrencyPicker,\n DurationPicker,\n MarketplaceConfirmStep,\n} from \"./components/marketplace-dialog-primitives.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport { ActivityTimelineRow } from \"./components/activity-timeline-row.js\";\nexport type { ActivityTimelineRowProps } from \"./components/activity-timeline-row.js\";\nexport { DropItemList } from \"./components/drop-item-list.js\";\nexport type { DraftItem } from \"./components/drop-item-list.js\";\nexport { dropCreateSchema } from \"./data/drop-create-schema.js\";\nexport type { DropCreateFormValues } from \"./data/drop-create-schema.js\";\nexport { getDefaultDropSchedule, getDefaultClaimWindow, suggestLaunchpadSymbol } from \"./utils/launchpad-defaults.js\";\nexport { useUsdPrices, usdPriceFor } from \"./utils/use-usd-prices.js\";\nexport type { UsdPrices } from \"./utils/use-usd-prices.js\";\nexport { NotificationRow } from \"./components/notification-row.js\";\nexport type { NotificationRowProps } from \"./components/notification-row.js\";\nexport { NOTIFICATION_ICON, NOTIFICATION_COLOR, NOTIFICATION_LABEL } from \"./data/notification-meta.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\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\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 { LaunchpadCtaBanner } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadCtaBannerProps } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_ROUTE_OVERRIDES } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { PortfolioSectionGrid } from \"./components/portfolio-section-grid.js\";\nexport type {\n PortfolioSectionGridProps,\n PortfolioSectionConfig,\n} from \"./components/portfolio-section-grid.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioSection } from \"./components/portfolio-section.js\";\nexport type {\n PortfolioSectionProps,\n PortfolioSectionColor,\n} from \"./components/portfolio-section.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\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\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\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 { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\nexport { createRewardToast } from \"./components/rewards/reward-toast.js\";\nexport type { RewardToastSnapshot } from \"./components/rewards/reward-toast.js\";\n\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\nexport { RewardsSection } from \"./components/rewards-section.js\";\nexport type { RewardsSectionProps } from \"./components/rewards-section.js\";\n\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill, StatPillRow } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps, StatPillRowItem } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlockToastContent } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport type { BadgeUnlockToastContentProps } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport { TabEmptyState } from \"./components/tab-empty-state.js\";\nexport type { TabEmptyStateProps } from \"./components/tab-empty-state.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\n\nexport { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\nexport {\n useOrders, useOrder, useTokenListings, useUserOrders, useCounterOffers,\n useReceivedOffers, useCollectionFloorListings,\n} from \"./utils/use-orders.js\";\nexport { useNotifications } from \"./utils/use-notifications.js\";\nexport type { Notification, NotificationType, NotificationPriority, Announcement } from \"./data/notification.js\";\nexport { useTokenRemixes } from \"./utils/use-remix-offers.js\";\nexport { RemixesTab } from \"./components/remixes-tab.js\";\nexport type { RemixesTabProps } from \"./components/remixes-tab.js\";\n\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_launchpad_services"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay, isStableCurrency, formatUsd, formatUsdPrice, formatSmallDecimal } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\nexport {\n getFriendlyWalletError,\n isBareExecuteFailure,\n isUserRejectedRequest,\n isWrongNetwork,\n assertCorrectNetwork,\n WrongNetworkError,\n} from \"./utils/wallet-error.js\";\nexport type { FriendlyWalletError } from \"./utils/wallet-error.js\";\n\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 { EmailVerificationGate } from \"./components/email-verification-gate.js\";\nexport type { EmailVerificationGateProps } from \"./components/email-verification-gate.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.js\";\n\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 { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\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 } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n\nexport {\n coinKind, coinKindLabel, coinKindLabelPlural, COIN_KINDS, coinAccentToken, coinServiceIds, isCoinService, formatCoinPrice, coinSupply, formatFdvUsd, fdvUsd,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinGuarantees, type CoinGuaranteesProps, type CoinGuaranteesData } from \"./components/coin-guarantees.js\";\nexport { CoinRow, CoinRowSkeleton, CoinAvatar, COIN_GRID, type UseCoinPrice, type CoinRowProps, type CoinMarketStatus } from \"./components/coin-row.js\";\nexport { orderCoins, type CoinPriceSort } from \"./data/coin-order.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins, type UsePriceMap, type CoinCounts,\n} from \"./components/coins-explorer.js\";\n\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 {\n MarketplaceTxLink,\n MarketplaceProcessingState,\n MarketplaceSignInGate,\n MarketplaceSuccessState,\n MarketplaceErrorState,\n MarketplaceDialogHero,\n CurrencyPicker,\n DurationPicker,\n MarketplaceConfirmStep,\n} from \"./components/marketplace-dialog-primitives.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport { ActivityTimelineRow } from \"./components/activity-timeline-row.js\";\nexport type { ActivityTimelineRowProps } from \"./components/activity-timeline-row.js\";\nexport { DropItemList } from \"./components/drop-item-list.js\";\nexport type { DraftItem } from \"./components/drop-item-list.js\";\nexport { dropCreateSchema } from \"./data/drop-create-schema.js\";\nexport type { DropCreateFormValues } from \"./data/drop-create-schema.js\";\nexport { getDefaultDropSchedule, getDefaultClaimWindow, suggestLaunchpadSymbol } from \"./utils/launchpad-defaults.js\";\nexport { useUsdPrices, usdPriceFor } from \"./utils/use-usd-prices.js\";\nexport type { UsdPrices } from \"./utils/use-usd-prices.js\";\nexport { NotificationRow } from \"./components/notification-row.js\";\nexport type { NotificationRowProps } from \"./components/notification-row.js\";\nexport { NOTIFICATION_ICON, NOTIFICATION_COLOR, NOTIFICATION_LABEL } from \"./data/notification-meta.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\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\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 { LaunchpadCtaBanner } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadCtaBannerProps } from \"./components/launchpad-cta-banner.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_ROUTE_OVERRIDES } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { PortfolioSectionGrid } from \"./components/portfolio-section-grid.js\";\nexport type {\n PortfolioSectionGridProps,\n PortfolioSectionConfig,\n} from \"./components/portfolio-section-grid.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioSection } from \"./components/portfolio-section.js\";\nexport type {\n PortfolioSectionProps,\n PortfolioSectionColor,\n} from \"./components/portfolio-section.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\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\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\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 { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\nexport { createRewardToast } from \"./components/rewards/reward-toast.js\";\nexport type { RewardToastSnapshot } from \"./components/rewards/reward-toast.js\";\n\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\nexport { RewardsSection } from \"./components/rewards-section.js\";\nexport type { RewardsSectionProps } from \"./components/rewards-section.js\";\n\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill, StatPillRow } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps, StatPillRowItem } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlockToastContent } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport type { BadgeUnlockToastContentProps } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport { TabEmptyState } from \"./components/tab-empty-state.js\";\nexport type { TabEmptyStateProps } from \"./components/tab-empty-state.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\n\nexport { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\nexport {\n useOrders, useOrder, useTokenListings, useUserOrders, useCounterOffers,\n useReceivedOffers, useCollectionFloorListings,\n} from \"./utils/use-orders.js\";\nexport { useNotifications } from \"./utils/use-notifications.js\";\nexport type { Notification, NotificationType, NotificationPriority, Announcement } from \"./data/notification.js\";\nexport { useTokenRemixes } from \"./utils/use-remix-offers.js\";\nexport { RemixesTab } from \"./components/remixes-tab.js\";\nexport type { RemixesTabProps } from \"./components/remixes-tab.js\";\n\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_launchpad_services"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -39,10 +39,11 @@ export { AssetCard, AssetCardPrice, AssetCardProps, AssetCardSkeleton } from './
|
|
|
39
39
|
export { AssetPicker, AssetPickerProps, OwnedAsset } from './components/asset-picker.cjs';
|
|
40
40
|
export { AssetSearchPicker, AssetSearchPickerProps } from './components/asset-search-picker.cjs';
|
|
41
41
|
export { DURATION_UNITS, DurationUnit, EMPTY_SPONSORSHIP_TERMS, LicenseTermsBuilder, LicenseTermsBuilderProps, MEDIA_TYPES, SponsorshipTerms, toDurationDays, toLicenseMetadata } from './components/license-terms-builder.cjs';
|
|
42
|
-
export { COIN_KINDS, CoinCollectionLike, CoinKind, CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService } from './data/coins.cjs';
|
|
42
|
+
export { COIN_KINDS, CoinCollectionLike, CoinKind, CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinKindLabelPlural, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService } from './data/coins.cjs';
|
|
43
43
|
export { CoinGuarantees, CoinGuaranteesData, CoinGuaranteesProps } from './components/coin-guarantees.cjs';
|
|
44
44
|
export { COIN_GRID, CoinAvatar, CoinMarketStatus, CoinRow, CoinRowProps, CoinRowSkeleton, UseCoinPrice } from './components/coin-row.cjs';
|
|
45
|
-
export {
|
|
45
|
+
export { CoinPriceSort, orderCoins } from './data/coin-order.cjs';
|
|
46
|
+
export { CoinCounts, CoinFilter, CoinSort, CoinsExplorer, CoinsExplorerProps, UseCoins, UsePriceMap } from './components/coins-explorer.cjs';
|
|
46
47
|
export { timeAgo, timeUntil } from './utils/time.cjs';
|
|
47
48
|
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.cjs';
|
|
48
49
|
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -39,10 +39,11 @@ export { AssetCard, AssetCardPrice, AssetCardProps, AssetCardSkeleton } from './
|
|
|
39
39
|
export { AssetPicker, AssetPickerProps, OwnedAsset } from './components/asset-picker.js';
|
|
40
40
|
export { AssetSearchPicker, AssetSearchPickerProps } from './components/asset-search-picker.js';
|
|
41
41
|
export { DURATION_UNITS, DurationUnit, EMPTY_SPONSORSHIP_TERMS, LicenseTermsBuilder, LicenseTermsBuilderProps, MEDIA_TYPES, SponsorshipTerms, toDurationDays, toLicenseMetadata } from './components/license-terms-builder.js';
|
|
42
|
-
export { COIN_KINDS, CoinCollectionLike, CoinKind, CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService } from './data/coins.js';
|
|
42
|
+
export { COIN_KINDS, CoinCollectionLike, CoinKind, CoinPriceLike, coinAccentToken, coinKind, coinKindLabel, coinKindLabelPlural, coinServiceIds, coinSupply, fdvUsd, formatCoinPrice, formatFdvUsd, isCoinService } from './data/coins.js';
|
|
43
43
|
export { CoinGuarantees, CoinGuaranteesData, CoinGuaranteesProps } from './components/coin-guarantees.js';
|
|
44
44
|
export { COIN_GRID, CoinAvatar, CoinMarketStatus, CoinRow, CoinRowProps, CoinRowSkeleton, UseCoinPrice } from './components/coin-row.js';
|
|
45
|
-
export {
|
|
45
|
+
export { CoinPriceSort, orderCoins } from './data/coin-order.js';
|
|
46
|
+
export { CoinCounts, CoinFilter, CoinSort, CoinsExplorer, CoinsExplorerProps, UseCoins, UsePriceMap } from './components/coins-explorer.js';
|
|
46
47
|
export { timeAgo, timeUntil } from './utils/time.js';
|
|
47
48
|
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.js';
|
|
48
49
|
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.js';
|
package/dist/index.js
CHANGED
|
@@ -83,6 +83,7 @@ import { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNI
|
|
|
83
83
|
import {
|
|
84
84
|
coinKind,
|
|
85
85
|
coinKindLabel,
|
|
86
|
+
coinKindLabelPlural,
|
|
86
87
|
COIN_KINDS,
|
|
87
88
|
coinAccentToken,
|
|
88
89
|
coinServiceIds,
|
|
@@ -94,6 +95,7 @@ import {
|
|
|
94
95
|
} from "./data/coins.js";
|
|
95
96
|
import { CoinGuarantees } from "./components/coin-guarantees.js";
|
|
96
97
|
import { CoinRow, CoinRowSkeleton, CoinAvatar, COIN_GRID } from "./components/coin-row.js";
|
|
98
|
+
import { orderCoins } from "./data/coin-order.js";
|
|
97
99
|
import {
|
|
98
100
|
CoinsExplorer
|
|
99
101
|
} from "./components/coins-explorer.js";
|
|
@@ -560,6 +562,7 @@ export {
|
|
|
560
562
|
coinAccentToken,
|
|
561
563
|
coinKind,
|
|
562
564
|
coinKindLabel,
|
|
565
|
+
coinKindLabelPlural,
|
|
563
566
|
coinServiceIds,
|
|
564
567
|
coinSupply,
|
|
565
568
|
createRewardToast,
|
|
@@ -589,6 +592,7 @@ export {
|
|
|
589
592
|
isWrongNetwork,
|
|
590
593
|
licenseSummary,
|
|
591
594
|
markRead,
|
|
595
|
+
orderCoins,
|
|
592
596
|
parsePriceDisplay,
|
|
593
597
|
queryKeyPrefix,
|
|
594
598
|
queryKeys,
|