@medialane/ui 0.327.0 → 0.329.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/account/input-otp.d.cts +2 -2
- package/dist/components/account/input-otp.d.ts +2 -2
- package/dist/components/asset-card.cjs +4 -4
- package/dist/components/asset-card.cjs.map +1 -1
- package/dist/components/asset-card.js +4 -4
- package/dist/components/asset-card.js.map +1 -1
- package/dist/components/asset-marketplace-panel.cjs +23 -26
- package/dist/components/asset-marketplace-panel.cjs.map +1 -1
- package/dist/components/asset-marketplace-panel.js +23 -26
- package/dist/components/asset-marketplace-panel.js.map +1 -1
- package/dist/components/badge.d.cts +1 -1
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/button.d.cts +2 -2
- package/dist/components/button.d.ts +2 -2
- package/dist/components/coin-row.cjs +3 -3
- package/dist/components/coin-row.cjs.map +1 -1
- package/dist/components/coin-row.js +3 -3
- package/dist/components/coin-row.js.map +1 -1
- package/dist/components/fast-mint/fast-mint.d.cts +2 -2
- package/dist/components/fast-mint/fast-mint.d.ts +2 -2
- package/dist/components/home-page.cjs +4 -8
- package/dist/components/home-page.cjs.map +1 -1
- package/dist/components/home-page.js +4 -8
- package/dist/components/home-page.js.map +1 -1
- package/dist/components/listing-card.cjs +2 -14
- package/dist/components/listing-card.cjs.map +1 -1
- package/dist/components/listing-card.js +2 -14
- package/dist/components/listing-card.js.map +1 -1
- package/dist/components/portfolio-section.cjs +1 -1
- package/dist/components/portfolio-section.cjs.map +1 -1
- package/dist/components/portfolio-section.js +1 -1
- package/dist/components/portfolio-section.js.map +1 -1
- package/dist/components/price-display.cjs +115 -0
- package/dist/components/price-display.cjs.map +1 -0
- package/dist/components/price-display.d.cts +44 -0
- package/dist/components/price-display.d.ts +44 -0
- package/dist/components/price-display.js +91 -0
- package/dist/components/price-display.js.map +1 -0
- package/dist/components/section-heading.cjs +1 -1
- package/dist/components/section-heading.cjs.map +1 -1
- package/dist/components/section-heading.js +1 -1
- package/dist/components/section-heading.js.map +1 -1
- package/dist/components/sheet.d.cts +1 -1
- package/dist/components/sheet.d.ts +1 -1
- package/dist/components/token-card.cjs +4 -4
- package/dist/components/token-card.cjs.map +1 -1
- package/dist/components/token-card.js +4 -4
- package/dist/components/token-card.js.map +1 -1
- package/dist/utils/format.cjs +9 -0
- package/dist/utils/format.cjs.map +1 -1
- package/dist/utils/format.d.cts +2 -1
- package/dist/utils/format.d.ts +2 -1
- package/dist/utils/format.js +8 -0
- package/dist/utils/format.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/dual-price.cjs +0 -164
- package/dist/components/dual-price.cjs.map +0 -1
- package/dist/components/dual-price.d.cts +0 -53
- package/dist/components/dual-price.d.ts +0 -53
- package/dist/components/dual-price.js +0 -138
- package/dist/components/dual-price.js.map +0 -1
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { CurrencyIcon } from "./currency-icon.js";
|
|
4
|
-
import { formatDisplayPrice, isStableCurrency } from "../utils/format.js";
|
|
5
|
-
function CoinChip({ symbol, size }) {
|
|
6
|
-
return /* @__PURE__ */ jsx(
|
|
7
|
-
"span",
|
|
8
|
-
{
|
|
9
|
-
className: "grid shrink-0 place-items-center rounded-full bg-foreground/[0.06]",
|
|
10
|
-
style: { width: size + 10, height: size + 10 },
|
|
11
|
-
children: /* @__PURE__ */ jsx(CurrencyIcon, { symbol: symbol ?? "", size })
|
|
12
|
-
}
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
function FiatChip({ size }) {
|
|
16
|
-
return /* @__PURE__ */ jsx(
|
|
17
|
-
"span",
|
|
18
|
-
{
|
|
19
|
-
className: "grid shrink-0 place-items-center rounded-full bg-foreground/[0.06] font-extrabold leading-none text-foreground/80",
|
|
20
|
-
style: { width: size + 10, height: size + 10, fontSize: size },
|
|
21
|
-
children: "$"
|
|
22
|
-
}
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
function stripDollarSign(usdValue) {
|
|
26
|
-
return usdValue.replace("$", "");
|
|
27
|
-
}
|
|
28
|
-
const DISPLAY_FACE = "font-extrabold tracking-tight tabular-nums";
|
|
29
|
-
const DUAL_PRICE_SCALES = {
|
|
30
|
-
hero: { amount: "text-3xl", chip: 18, stableChip: 14, divider: "h-7", showLabel: true },
|
|
31
|
-
card: { amount: "text-base", chip: 13, stableChip: 10, divider: "h-4", showLabel: false }
|
|
32
|
-
};
|
|
33
|
-
function PriceUnit({
|
|
34
|
-
chip,
|
|
35
|
-
amount,
|
|
36
|
-
label,
|
|
37
|
-
amountClassName
|
|
38
|
-
}) {
|
|
39
|
-
return /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
40
|
-
chip,
|
|
41
|
-
/* @__PURE__ */ jsxs("span", { className: "flex items-baseline gap-1.5", children: [
|
|
42
|
-
/* @__PURE__ */ jsx("span", { className: amountClassName, children: amount }),
|
|
43
|
-
label && /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-muted-foreground/70", children: label })
|
|
44
|
-
] })
|
|
45
|
-
] });
|
|
46
|
-
}
|
|
47
|
-
function DualPrice({
|
|
48
|
-
amountFormatted,
|
|
49
|
-
currency,
|
|
50
|
-
usdValue,
|
|
51
|
-
scale,
|
|
52
|
-
trailing,
|
|
53
|
-
secondaryClassName
|
|
54
|
-
}) {
|
|
55
|
-
if (!amountFormatted) return null;
|
|
56
|
-
const s = DUAL_PRICE_SCALES[scale];
|
|
57
|
-
const cryptoDisplay = formatDisplayPrice(amountFormatted);
|
|
58
|
-
const amountClass = `${DISPLAY_FACE} ${s.amount}`;
|
|
59
|
-
if (!usdValue) {
|
|
60
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
|
|
61
|
-
/* @__PURE__ */ jsx(
|
|
62
|
-
PriceUnit,
|
|
63
|
-
{
|
|
64
|
-
chip: /* @__PURE__ */ jsx(CoinChip, { symbol: currency, size: s.chip }),
|
|
65
|
-
amount: cryptoDisplay,
|
|
66
|
-
label: s.showLabel ? currency ?? void 0 : void 0,
|
|
67
|
-
amountClassName: amountClass
|
|
68
|
-
}
|
|
69
|
-
),
|
|
70
|
-
trailing && /* @__PURE__ */ jsx("span", { className: "ml-0.5", children: trailing })
|
|
71
|
-
] });
|
|
72
|
-
}
|
|
73
|
-
const stable = isStableCurrency(currency);
|
|
74
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2.5", children: [
|
|
75
|
-
/* @__PURE__ */ jsx(
|
|
76
|
-
PriceUnit,
|
|
77
|
-
{
|
|
78
|
-
chip: /* @__PURE__ */ jsx(FiatChip, { size: s.chip }),
|
|
79
|
-
amount: stripDollarSign(usdValue),
|
|
80
|
-
label: s.showLabel ? "USD" : void 0,
|
|
81
|
-
amountClassName: amountClass
|
|
82
|
-
}
|
|
83
|
-
),
|
|
84
|
-
/* @__PURE__ */ jsxs("span", { className: `items-center gap-2.5 ${secondaryClassName ?? "flex"}`, children: [
|
|
85
|
-
!stable && /* @__PURE__ */ jsx("span", { className: `${s.divider} w-px bg-border/60 shrink-0` }),
|
|
86
|
-
stable ? /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
87
|
-
/* @__PURE__ */ jsx(CoinChip, { symbol: currency, size: s.stableChip }),
|
|
88
|
-
/* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-muted-foreground", children: currency })
|
|
89
|
-
] }) : /* @__PURE__ */ jsx(
|
|
90
|
-
PriceUnit,
|
|
91
|
-
{
|
|
92
|
-
chip: /* @__PURE__ */ jsx(CoinChip, { symbol: currency, size: s.chip }),
|
|
93
|
-
amount: cryptoDisplay,
|
|
94
|
-
label: s.showLabel ? currency ?? void 0 : void 0,
|
|
95
|
-
amountClassName: amountClass
|
|
96
|
-
}
|
|
97
|
-
)
|
|
98
|
-
] }),
|
|
99
|
-
trailing && /* @__PURE__ */ jsx("span", { className: "ml-0.5", children: trailing })
|
|
100
|
-
] });
|
|
101
|
-
}
|
|
102
|
-
const CHIP_TONES = {
|
|
103
|
-
"overlay-dark": { dot: "text-white/30", text: "text-white/65" },
|
|
104
|
-
card: { dot: "text-muted-foreground/50", text: "text-muted-foreground" },
|
|
105
|
-
solid: { dot: "text-foreground/40", text: "text-foreground" }
|
|
106
|
-
};
|
|
107
|
-
function PriceChipContent({
|
|
108
|
-
amountFormatted,
|
|
109
|
-
currency,
|
|
110
|
-
usdValue,
|
|
111
|
-
tone
|
|
112
|
-
}) {
|
|
113
|
-
if (!amountFormatted) return null;
|
|
114
|
-
const cryptoDisplay = formatDisplayPrice(amountFormatted);
|
|
115
|
-
const stable = isStableCurrency(currency);
|
|
116
|
-
if (!usdValue) {
|
|
117
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
118
|
-
currency && /* @__PURE__ */ jsx(CurrencyIcon, { symbol: currency, size: 13 }),
|
|
119
|
-
cryptoDisplay
|
|
120
|
-
] });
|
|
121
|
-
}
|
|
122
|
-
const t = CHIP_TONES[tone];
|
|
123
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
124
|
-
stripDollarSign(usdValue),
|
|
125
|
-
/* @__PURE__ */ jsx("span", { className: t.text, children: "USD" }),
|
|
126
|
-
/* @__PURE__ */ jsx("span", { className: t.dot, children: "\xB7" }),
|
|
127
|
-
/* @__PURE__ */ jsxs("span", { className: `inline-flex items-center gap-1 ${t.text}`, children: [
|
|
128
|
-
currency && /* @__PURE__ */ jsx(CurrencyIcon, { symbol: currency, size: 12 }),
|
|
129
|
-
stable ? currency : cryptoDisplay
|
|
130
|
-
] })
|
|
131
|
-
] });
|
|
132
|
-
}
|
|
133
|
-
export {
|
|
134
|
-
CoinChip,
|
|
135
|
-
DualPrice,
|
|
136
|
-
PriceChipContent
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=dual-price.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/dual-price.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport { CurrencyIcon } from \"./currency-icon.js\";\nimport { formatDisplayPrice, isStableCurrency } from \"../utils/format.js\";\n\nexport function CoinChip({ symbol, size }: { symbol: string | null | undefined; size: number }) {\n return (\n <span\n className=\"grid shrink-0 place-items-center rounded-full bg-foreground/[0.06]\"\n style={{ width: size + 10, height: size + 10 }}\n >\n <CurrencyIcon symbol={symbol ?? \"\"} size={size} />\n </span>\n );\n}\n\nfunction FiatChip({ size }: { size: number }) {\n return (\n <span\n className=\"grid shrink-0 place-items-center rounded-full bg-foreground/[0.06] font-extrabold leading-none text-foreground/80\"\n style={{ width: size + 10, height: size + 10, fontSize: size }}\n >\n $\n </span>\n );\n}\n\nfunction stripDollarSign(usdValue: string): string {\n return usdValue.replace(\"$\", \"\");\n}\n\nconst DISPLAY_FACE = \"font-extrabold tracking-tight tabular-nums\";\n\nconst DUAL_PRICE_SCALES = {\n\n hero: { amount: \"text-3xl\", chip: 18, stableChip: 14, divider: \"h-7\", showLabel: true },\n\n card: { amount: \"text-base\", chip: 13, stableChip: 10, divider: \"h-4\", showLabel: false },\n} as const;\n\nfunction PriceUnit({\n chip,\n amount,\n label,\n amountClassName,\n}: {\n chip: ReactNode;\n amount: string;\n label?: string;\n amountClassName: string;\n}) {\n return (\n <span className=\"inline-flex items-center gap-1.5\">\n {chip}\n <span className=\"flex items-baseline gap-1.5\">\n <span className={amountClassName}>{amount}</span>\n {label && <span className=\"text-sm font-semibold text-muted-foreground/70\">{label}</span>}\n </span>\n </span>\n );\n}\n\nexport function DualPrice({\n amountFormatted,\n currency,\n usdValue,\n scale,\n trailing,\n secondaryClassName,\n}: {\n amountFormatted: string | null | undefined;\n currency: string | null | undefined;\n usdValue?: string | null;\n scale: keyof typeof DUAL_PRICE_SCALES;\n trailing?: ReactNode;\n secondaryClassName?: string;\n}) {\n if (!amountFormatted) return null;\n const s = DUAL_PRICE_SCALES[scale];\n const cryptoDisplay = formatDisplayPrice(amountFormatted);\n const amountClass = `${DISPLAY_FACE} ${s.amount}`;\n\n if (!usdValue) {\n return (\n <div className=\"flex items-center gap-2.5\">\n <PriceUnit\n chip={<CoinChip symbol={currency} size={s.chip} />}\n amount={cryptoDisplay}\n label={s.showLabel ? (currency ?? undefined) : undefined}\n amountClassName={amountClass}\n />\n {trailing && <span className=\"ml-0.5\">{trailing}</span>}\n </div>\n );\n }\n\n const stable = isStableCurrency(currency);\n return (\n <div className=\"flex items-center gap-2.5\">\n <PriceUnit\n chip={<FiatChip size={s.chip} />}\n amount={stripDollarSign(usdValue)}\n label={s.showLabel ? \"USD\" : undefined}\n amountClassName={amountClass}\n />\n <span className={`items-center gap-2.5 ${secondaryClassName ?? \"flex\"}`}>\n {!stable && <span className={`${s.divider} w-px bg-border/60 shrink-0`} />}\n {stable ? (\n <span className=\"inline-flex items-center gap-1.5\">\n <CoinChip symbol={currency} size={s.stableChip} />\n <span className=\"text-sm font-semibold text-muted-foreground\">{currency}</span>\n </span>\n ) : (\n <PriceUnit\n chip={<CoinChip symbol={currency} size={s.chip} />}\n amount={cryptoDisplay}\n label={s.showLabel ? (currency ?? undefined) : undefined}\n amountClassName={amountClass}\n />\n )}\n </span>\n {trailing && <span className=\"ml-0.5\">{trailing}</span>}\n </div>\n );\n}\n\nconst CHIP_TONES = {\n\n \"overlay-dark\": { dot: \"text-white/30\", text: \"text-white/65\" },\n\n card: { dot: \"text-muted-foreground/50\", text: \"text-muted-foreground\" },\n\n solid: { dot: \"text-foreground/40\", text: \"text-foreground\" },\n} as const;\n\nexport function PriceChipContent({\n amountFormatted,\n currency,\n usdValue,\n tone,\n}: {\n amountFormatted: string | null | undefined;\n currency: string | null | undefined;\n usdValue?: string | null;\n tone: keyof typeof CHIP_TONES;\n}) {\n if (!amountFormatted) return null;\n const cryptoDisplay = formatDisplayPrice(amountFormatted);\n const stable = isStableCurrency(currency);\n\n if (!usdValue) {\n return (\n <>\n {currency && <CurrencyIcon symbol={currency} size={13} />}\n {cryptoDisplay}\n </>\n );\n }\n\n const t = CHIP_TONES[tone];\n return (\n <>\n {stripDollarSign(usdValue)}\n <span className={t.text}>USD</span>\n <span className={t.dot}>·</span>\n <span className={`inline-flex items-center gap-1 ${t.text}`}>\n {currency && <CurrencyIcon symbol={currency} size={12} />}\n {stable ? currency : cryptoDisplay}\n </span>\n </>\n );\n}\n"],"mappings":";AAYM,SA6IA,UA7IA,KA2CA,YA3CA;AATN,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB,wBAAwB;AAE9C,SAAS,SAAS,EAAE,QAAQ,KAAK,GAAwD;AAC9F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,OAAO,OAAO,IAAI,QAAQ,OAAO,GAAG;AAAA,MAE7C,8BAAC,gBAAa,QAAQ,UAAU,IAAI,MAAY;AAAA;AAAA,EAClD;AAEJ;AAEA,SAAS,SAAS,EAAE,KAAK,GAAqB;AAC5C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO,EAAE,OAAO,OAAO,IAAI,QAAQ,OAAO,IAAI,UAAU,KAAK;AAAA,MAC9D;AAAA;AAAA,EAED;AAEJ;AAEA,SAAS,gBAAgB,UAA0B;AACjD,SAAO,SAAS,QAAQ,KAAK,EAAE;AACjC;AAEA,MAAM,eAAe;AAErB,MAAM,oBAAoB;AAAA,EAExB,MAAM,EAAE,QAAQ,YAAY,MAAM,IAAI,YAAY,IAAI,SAAS,OAAO,WAAW,KAAK;AAAA,EAEtF,MAAM,EAAE,QAAQ,aAAa,MAAM,IAAI,YAAY,IAAI,SAAS,OAAO,WAAW,MAAM;AAC1F;AAEA,SAAS,UAAU;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,SACE,qBAAC,UAAK,WAAU,oCACb;AAAA;AAAA,IACD,qBAAC,UAAK,WAAU,+BACd;AAAA,0BAAC,UAAK,WAAW,iBAAkB,kBAAO;AAAA,MACzC,SAAS,oBAAC,UAAK,WAAU,kDAAkD,iBAAM;AAAA,OACpF;AAAA,KACF;AAEJ;AAEO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAOG;AACD,MAAI,CAAC,gBAAiB,QAAO;AAC7B,QAAM,IAAI,kBAAkB,KAAK;AACjC,QAAM,gBAAgB,mBAAmB,eAAe;AACxD,QAAM,cAAc,GAAG,YAAY,IAAI,EAAE,MAAM;AAE/C,MAAI,CAAC,UAAU;AACb,WACE,qBAAC,SAAI,WAAU,6BACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,oBAAC,YAAS,QAAQ,UAAU,MAAM,EAAE,MAAM;AAAA,UAChD,QAAQ;AAAA,UACR,OAAO,EAAE,YAAa,YAAY,SAAa;AAAA,UAC/C,iBAAiB;AAAA;AAAA,MACnB;AAAA,MACC,YAAY,oBAAC,UAAK,WAAU,UAAU,oBAAS;AAAA,OAClD;AAAA,EAEJ;AAEA,QAAM,SAAS,iBAAiB,QAAQ;AACxC,SACE,qBAAC,SAAI,WAAU,6BACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,oBAAC,YAAS,MAAM,EAAE,MAAM;AAAA,QAC9B,QAAQ,gBAAgB,QAAQ;AAAA,QAChC,OAAO,EAAE,YAAY,QAAQ;AAAA,QAC7B,iBAAiB;AAAA;AAAA,IACnB;AAAA,IACA,qBAAC,UAAK,WAAW,wBAAwB,sBAAsB,MAAM,IAClE;AAAA,OAAC,UAAU,oBAAC,UAAK,WAAW,GAAG,EAAE,OAAO,+BAA+B;AAAA,MACvE,SACC,qBAAC,UAAK,WAAU,oCACd;AAAA,4BAAC,YAAS,QAAQ,UAAU,MAAM,EAAE,YAAY;AAAA,QAChD,oBAAC,UAAK,WAAU,+CAA+C,oBAAS;AAAA,SAC1E,IAEA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM,oBAAC,YAAS,QAAQ,UAAU,MAAM,EAAE,MAAM;AAAA,UAChD,QAAQ;AAAA,UACR,OAAO,EAAE,YAAa,YAAY,SAAa;AAAA,UAC/C,iBAAiB;AAAA;AAAA,MACnB;AAAA,OAEJ;AAAA,IACC,YAAY,oBAAC,UAAK,WAAU,UAAU,oBAAS;AAAA,KAClD;AAEJ;AAEA,MAAM,aAAa;AAAA,EAEjB,gBAAgB,EAAE,KAAK,iBAAiB,MAAM,gBAAgB;AAAA,EAE9D,MAAM,EAAE,KAAK,4BAA4B,MAAM,wBAAwB;AAAA,EAEvE,OAAO,EAAE,KAAK,sBAAsB,MAAM,kBAAkB;AAC9D;AAEO,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,MAAI,CAAC,gBAAiB,QAAO;AAC7B,QAAM,gBAAgB,mBAAmB,eAAe;AACxD,QAAM,SAAS,iBAAiB,QAAQ;AAExC,MAAI,CAAC,UAAU;AACb,WACE,iCACG;AAAA,kBAAY,oBAAC,gBAAa,QAAQ,UAAU,MAAM,IAAI;AAAA,MACtD;AAAA,OACH;AAAA,EAEJ;AAEA,QAAM,IAAI,WAAW,IAAI;AACzB,SACE,iCACG;AAAA,oBAAgB,QAAQ;AAAA,IACzB,oBAAC,UAAK,WAAW,EAAE,MAAM,iBAAG;AAAA,IAC5B,oBAAC,UAAK,WAAW,EAAE,KAAK,kBAAC;AAAA,IACzB,qBAAC,UAAK,WAAW,kCAAkC,EAAE,IAAI,IACtD;AAAA,kBAAY,oBAAC,gBAAa,QAAQ,UAAU,MAAM,IAAI;AAAA,MACtD,SAAS,WAAW;AAAA,OACvB;AAAA,KACF;AAEJ;","names":[]}
|