@medialane/ui 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/activity-feed-shell.cjs +90 -0
- package/dist/components/activity-feed-shell.cjs.map +1 -0
- package/dist/components/activity-feed-shell.d.cts +13 -0
- package/dist/components/activity-feed-shell.d.ts +13 -0
- package/dist/components/activity-feed-shell.js +56 -0
- package/dist/components/activity-feed-shell.js.map +1 -0
- package/dist/components/activity-row.cjs +95 -0
- package/dist/components/activity-row.cjs.map +1 -0
- package/dist/components/activity-row.d.cts +20 -0
- package/dist/components/activity-row.d.ts +20 -0
- package/dist/components/activity-row.js +61 -0
- package/dist/components/activity-row.js.map +1 -0
- package/dist/components/activity-ticker.cjs +92 -0
- package/dist/components/activity-ticker.cjs.map +1 -0
- package/dist/components/activity-ticker.d.cts +12 -0
- package/dist/components/activity-ticker.d.ts +12 -0
- package/dist/components/activity-ticker.js +58 -0
- package/dist/components/activity-ticker.js.map +1 -0
- package/dist/components/collection-card.cjs +2 -5
- package/dist/components/collection-card.cjs.map +1 -1
- package/dist/components/collection-card.js +3 -6
- package/dist/components/collection-card.js.map +1 -1
- package/dist/components/cta-card-grid.cjs +67 -0
- package/dist/components/cta-card-grid.cjs.map +1 -0
- package/dist/components/cta-card-grid.d.cts +23 -0
- package/dist/components/cta-card-grid.d.ts +23 -0
- package/dist/components/cta-card-grid.js +33 -0
- package/dist/components/cta-card-grid.js.map +1 -0
- package/dist/components/hero-slider.cjs +133 -0
- package/dist/components/hero-slider.cjs.map +1 -0
- package/dist/components/hero-slider.d.cts +12 -0
- package/dist/components/hero-slider.d.ts +12 -0
- package/dist/components/hero-slider.js +98 -0
- package/dist/components/hero-slider.js.map +1 -0
- package/dist/components/launchpad-grid.cjs +77 -0
- package/dist/components/launchpad-grid.cjs.map +1 -0
- package/dist/components/launchpad-grid.d.cts +20 -0
- package/dist/components/launchpad-grid.d.ts +20 -0
- package/dist/components/launchpad-grid.js +43 -0
- package/dist/components/launchpad-grid.js.map +1 -0
- package/dist/components/listing-card.cjs +146 -0
- package/dist/components/listing-card.cjs.map +1 -0
- package/dist/components/listing-card.d.cts +16 -0
- package/dist/components/listing-card.d.ts +16 -0
- package/dist/components/listing-card.js +111 -0
- package/dist/components/listing-card.js.map +1 -0
- package/dist/data/activity.cjs +48 -0
- package/dist/data/activity.cjs.map +1 -0
- package/dist/data/activity.d.cts +16 -0
- package/dist/data/activity.d.ts +16 -0
- package/dist/data/activity.js +23 -0
- package/dist/data/activity.js.map +1 -0
- package/dist/index.cjs +35 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +22 -1
- package/dist/index.js.map +1 -1
- package/dist/medialane.css +184 -0
- package/dist/utils/time.cjs +42 -0
- package/dist/utils/time.cjs.map +1 -0
- package/dist/utils/time.d.cts +7 -0
- package/dist/utils/time.d.ts +7 -0
- package/dist/utils/time.js +18 -0
- package/dist/utils/time.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import Link from "next/link";
|
|
5
|
+
import Image from "next/image";
|
|
6
|
+
import { ShoppingCart, Check, Zap } from "lucide-react";
|
|
7
|
+
import { MotionCard } from "./motion-primitives.js";
|
|
8
|
+
import { CurrencyIcon } from "./currency-icon.js";
|
|
9
|
+
import { cn } from "../utils/cn.js";
|
|
10
|
+
import { ipfsToHttp } from "../utils/ipfs.js";
|
|
11
|
+
import { formatDisplayPrice } from "../utils/format.js";
|
|
12
|
+
import { timeAgo } from "../utils/time.js";
|
|
13
|
+
function ListingCard({ order, inCart = false, onBuy, onCart, overflowMenu, compact = false }) {
|
|
14
|
+
const [imgError, setImgError] = useState(false);
|
|
15
|
+
const isListing = order.offer.itemType === "ERC721" || order.offer.itemType === "ERC1155";
|
|
16
|
+
const name = order.token?.name ?? `Token #${order.nftTokenId}`;
|
|
17
|
+
const image = order.token?.image ? ipfsToHttp(order.token.image) : null;
|
|
18
|
+
const assetHref = `/asset/${order.nftContract}/${order.nftTokenId}`;
|
|
19
|
+
const showActionBar = isListing && (onBuy || onCart || overflowMenu);
|
|
20
|
+
if (compact) {
|
|
21
|
+
return /* @__PURE__ */ jsx(MotionCard, { className: "card-base", children: /* @__PURE__ */ jsxs(Link, { href: assetHref, className: "block", children: [
|
|
22
|
+
/* @__PURE__ */ jsx("div", { className: "relative aspect-square bg-muted overflow-hidden", children: image && !imgError ? /* @__PURE__ */ jsx(Image, { src: image, alt: name, fill: true, unoptimized: true, sizes: "(max-width: 640px) 33vw, 20vw", className: "object-cover group-hover:scale-105 transition-transform duration-500", onError: () => setImgError(true) }) : /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-gradient-to-br from-brand-purple/15 to-brand-blue/15", children: /* @__PURE__ */ jsxs("span", { className: "text-xl font-mono text-muted-foreground", children: [
|
|
23
|
+
"#",
|
|
24
|
+
order.nftTokenId
|
|
25
|
+
] }) }) }),
|
|
26
|
+
/* @__PURE__ */ jsxs("div", { className: "p-2.5 space-y-0.5", children: [
|
|
27
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs font-semibold truncate", children: name }),
|
|
28
|
+
order.price?.formatted && /* @__PURE__ */ jsxs("p", { className: "text-[11px] font-bold price-value", children: [
|
|
29
|
+
formatDisplayPrice(order.price.formatted),
|
|
30
|
+
" ",
|
|
31
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground font-normal", children: order.price.currency })
|
|
32
|
+
] }),
|
|
33
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] text-muted-foreground", children: timeAgo(order.createdAt) })
|
|
34
|
+
] })
|
|
35
|
+
] }) });
|
|
36
|
+
}
|
|
37
|
+
return /* @__PURE__ */ jsx(MotionCard, { className: "card-base", children: /* @__PURE__ */ jsxs(Link, { href: assetHref, className: "block", children: [
|
|
38
|
+
/* @__PURE__ */ jsx("div", { className: "relative aspect-square bg-muted overflow-hidden", children: image && !imgError ? /* @__PURE__ */ jsx(Image, { src: image, alt: name, fill: true, unoptimized: true, sizes: "(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw", className: "object-cover group-hover:scale-105 transition-transform duration-500", onError: () => setImgError(true) }) : /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-gradient-to-br from-brand-purple/15 to-brand-blue/15", children: /* @__PURE__ */ jsxs("span", { className: "text-2xl font-mono text-muted-foreground", children: [
|
|
39
|
+
"#",
|
|
40
|
+
order.nftTokenId
|
|
41
|
+
] }) }) }),
|
|
42
|
+
/* @__PURE__ */ jsxs("div", { className: "p-4 space-y-3", children: [
|
|
43
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
44
|
+
/* @__PURE__ */ jsx("p", { className: "font-semibold text-base truncate leading-snug", children: name }),
|
|
45
|
+
order.token?.description ? /* @__PURE__ */ jsx("p", { className: "text-[11px] text-muted-foreground line-clamp-1 leading-snug mt-0.5", children: order.token.description }) : /* @__PURE__ */ jsxs("p", { className: "text-[11px] text-muted-foreground", children: [
|
|
46
|
+
"#",
|
|
47
|
+
order.nftTokenId
|
|
48
|
+
] })
|
|
49
|
+
] }),
|
|
50
|
+
order.price?.formatted && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
51
|
+
order.price.currency && /* @__PURE__ */ jsx(CurrencyIcon, { symbol: order.price.currency, size: 14 }),
|
|
52
|
+
/* @__PURE__ */ jsxs("p", { className: "text-lg font-bold price-value leading-none", children: [
|
|
53
|
+
formatDisplayPrice(order.price.formatted),
|
|
54
|
+
" ",
|
|
55
|
+
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground font-normal text-sm", children: order.price.currency })
|
|
56
|
+
] })
|
|
57
|
+
] }),
|
|
58
|
+
showActionBar && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
|
|
59
|
+
onBuy && /* @__PURE__ */ jsx("div", { className: "btn-border-animated p-[1.5px] rounded-[10px] flex-1 h-9", children: /* @__PURE__ */ jsxs(
|
|
60
|
+
"button",
|
|
61
|
+
{
|
|
62
|
+
className: "w-full h-full rounded-[9px] bg-background flex items-center justify-center gap-1.5 text-xs font-semibold text-foreground hover:bg-muted/60 transition-all active:scale-[0.98]",
|
|
63
|
+
onClick: (e) => {
|
|
64
|
+
e.preventDefault();
|
|
65
|
+
onBuy(order);
|
|
66
|
+
},
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ jsx(Zap, { className: "h-3.5 w-3.5 shrink-0" }),
|
|
69
|
+
" Buy"
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
) }),
|
|
73
|
+
onCart && /* @__PURE__ */ jsx(
|
|
74
|
+
"button",
|
|
75
|
+
{
|
|
76
|
+
className: cn(
|
|
77
|
+
"h-9 w-9 shrink-0 rounded-[9px] border flex items-center justify-center transition-colors",
|
|
78
|
+
inCart ? "border-brand-orange/50 bg-brand-orange/10 text-brand-orange" : "border-border bg-background hover:bg-muted text-foreground"
|
|
79
|
+
),
|
|
80
|
+
onClick: (e) => {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
if (!inCart) onCart(order);
|
|
83
|
+
},
|
|
84
|
+
disabled: inCart,
|
|
85
|
+
"aria-label": inCart ? "Added to cart" : "Add to cart",
|
|
86
|
+
children: inCart ? /* @__PURE__ */ jsx(Check, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ jsx(ShoppingCart, { className: "h-3.5 w-3.5" })
|
|
87
|
+
}
|
|
88
|
+
),
|
|
89
|
+
overflowMenu
|
|
90
|
+
] })
|
|
91
|
+
] })
|
|
92
|
+
] }) });
|
|
93
|
+
}
|
|
94
|
+
function ListingCardSkeleton() {
|
|
95
|
+
return /* @__PURE__ */ jsxs("div", { className: "card-base", children: [
|
|
96
|
+
/* @__PURE__ */ jsx("div", { className: "aspect-square w-full bg-muted animate-pulse" }),
|
|
97
|
+
/* @__PURE__ */ jsxs("div", { className: "p-3 space-y-2.5", children: [
|
|
98
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
|
|
99
|
+
/* @__PURE__ */ jsx("div", { className: "h-4 w-3/4 bg-muted animate-pulse rounded" }),
|
|
100
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-1/2 bg-muted animate-pulse rounded" })
|
|
101
|
+
] }),
|
|
102
|
+
/* @__PURE__ */ jsx("div", { className: "h-6 w-1/2 bg-muted animate-pulse rounded" }),
|
|
103
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-2/3 bg-muted animate-pulse rounded" })
|
|
104
|
+
] })
|
|
105
|
+
] });
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
ListingCard,
|
|
109
|
+
ListingCardSkeleton
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=listing-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/listing-card.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState } from \"react\";\nimport Link from \"next/link\";\nimport Image from \"next/image\";\nimport { ShoppingCart, Check, Zap } from \"lucide-react\";\nimport { MotionCard } from \"./motion-primitives.js\";\nimport { CurrencyIcon } from \"./currency-icon.js\";\nimport { cn } from \"../utils/cn.js\";\nimport { ipfsToHttp } from \"../utils/ipfs.js\";\nimport { formatDisplayPrice } from \"../utils/format.js\";\nimport { timeAgo } from \"../utils/time.js\";\nimport type { ApiOrder } from \"@medialane/sdk\";\n\nexport interface ListingCardProps {\n order: ApiOrder;\n inCart?: boolean;\n onBuy?: (order: ApiOrder) => void;\n onCart?: (order: ApiOrder) => void;\n /** App passes a fully constructed <DropdownMenu> here */\n overflowMenu?: React.ReactNode;\n compact?: boolean;\n}\n\nexport function ListingCard({ order, inCart = false, onBuy, onCart, overflowMenu, compact = false }: ListingCardProps) {\n const [imgError, setImgError] = useState(false);\n const isListing = order.offer.itemType === \"ERC721\" || order.offer.itemType === \"ERC1155\";\n const name = order.token?.name ?? `Token #${order.nftTokenId}`;\n const image = order.token?.image ? ipfsToHttp(order.token.image) : null;\n const assetHref = `/asset/${order.nftContract}/${order.nftTokenId}`;\n\n const showActionBar = isListing && (onBuy || onCart || overflowMenu);\n\n // ─── Compact variant ──────────────────────────────────────────────────────\n if (compact) {\n return (\n <MotionCard className=\"card-base\">\n <Link href={assetHref} className=\"block\">\n <div className=\"relative aspect-square bg-muted overflow-hidden\">\n {image && !imgError ? (\n <Image src={image} alt={name} fill unoptimized sizes=\"(max-width: 640px) 33vw, 20vw\" className=\"object-cover group-hover:scale-105 transition-transform duration-500\" onError={() => setImgError(true)} />\n ) : (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-brand-purple/15 to-brand-blue/15\">\n <span className=\"text-xl font-mono text-muted-foreground\">#{order.nftTokenId}</span>\n </div>\n )}\n </div>\n <div className=\"p-2.5 space-y-0.5\">\n <p className=\"text-xs font-semibold truncate\">{name}</p>\n {order.price?.formatted && (\n <p className=\"text-[11px] font-bold price-value\">\n {formatDisplayPrice(order.price.formatted)} <span className=\"text-muted-foreground font-normal\">{order.price.currency}</span>\n </p>\n )}\n <p className=\"text-[10px] text-muted-foreground\">{timeAgo(order.createdAt)}</p>\n </div>\n </Link>\n </MotionCard>\n );\n }\n\n // ─── Full variant ─────────────────────────────────────────────────────────\n return (\n <MotionCard className=\"card-base\">\n <Link href={assetHref} className=\"block\">\n <div className=\"relative aspect-square bg-muted overflow-hidden\">\n {image && !imgError ? (\n <Image src={image} alt={name} fill unoptimized sizes=\"(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 25vw\" className=\"object-cover group-hover:scale-105 transition-transform duration-500\" onError={() => setImgError(true)} />\n ) : (\n <div className=\"absolute inset-0 flex items-center justify-center bg-gradient-to-br from-brand-purple/15 to-brand-blue/15\">\n <span className=\"text-2xl font-mono text-muted-foreground\">#{order.nftTokenId}</span>\n </div>\n )}\n </div>\n\n <div className=\"p-4 space-y-3\">\n <div>\n <p className=\"font-semibold text-base truncate leading-snug\">{name}</p>\n {order.token?.description ? (\n <p className=\"text-[11px] text-muted-foreground line-clamp-1 leading-snug mt-0.5\">{order.token.description}</p>\n ) : (\n <p className=\"text-[11px] text-muted-foreground\">#{order.nftTokenId}</p>\n )}\n </div>\n\n {order.price?.formatted && (\n <div className=\"flex items-center gap-1.5\">\n {order.price.currency && <CurrencyIcon symbol={order.price.currency} size={14} />}\n <p className=\"text-lg font-bold price-value leading-none\">\n {formatDisplayPrice(order.price.formatted)} <span className=\"text-muted-foreground font-normal text-sm\">{order.price.currency}</span>\n </p>\n </div>\n )}\n\n {showActionBar && (\n <div className=\"flex items-center gap-1.5\">\n {onBuy && (\n <div className=\"btn-border-animated p-[1.5px] rounded-[10px] flex-1 h-9\">\n <button\n className=\"w-full h-full rounded-[9px] bg-background flex items-center justify-center gap-1.5 text-xs font-semibold text-foreground hover:bg-muted/60 transition-all active:scale-[0.98]\"\n onClick={(e) => { e.preventDefault(); onBuy(order); }}\n >\n <Zap className=\"h-3.5 w-3.5 shrink-0\" /> Buy\n </button>\n </div>\n )}\n {onCart && (\n <button\n className={cn(\n \"h-9 w-9 shrink-0 rounded-[9px] border flex items-center justify-center transition-colors\",\n inCart\n ? \"border-brand-orange/50 bg-brand-orange/10 text-brand-orange\"\n : \"border-border bg-background hover:bg-muted text-foreground\"\n )}\n onClick={(e) => { e.preventDefault(); if (!inCart) onCart(order); }}\n disabled={inCart}\n aria-label={inCart ? \"Added to cart\" : \"Add to cart\"}\n >\n {inCart ? <Check className=\"h-3.5 w-3.5\" /> : <ShoppingCart className=\"h-3.5 w-3.5\" />}\n </button>\n )}\n {overflowMenu}\n </div>\n )}\n </div>\n </Link>\n </MotionCard>\n );\n}\n\nexport function ListingCardSkeleton() {\n return (\n <div className=\"card-base\">\n <div className=\"aspect-square w-full bg-muted animate-pulse\" />\n <div className=\"p-3 space-y-2.5\">\n <div className=\"space-y-1\">\n <div className=\"h-4 w-3/4 bg-muted animate-pulse rounded\" />\n <div className=\"h-3 w-1/2 bg-muted animate-pulse rounded\" />\n </div>\n <div className=\"h-6 w-1/2 bg-muted animate-pulse rounded\" />\n <div className=\"h-3 w-2/3 bg-muted animate-pulse rounded\" />\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 activity_exports = {};
|
|
20
|
+
__export(activity_exports, {
|
|
21
|
+
ACTIVITY_TYPE_CONFIG: () => ACTIVITY_TYPE_CONFIG,
|
|
22
|
+
TYPE_FILTERS: () => TYPE_FILTERS
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(activity_exports);
|
|
25
|
+
var import_lucide_react = require("lucide-react");
|
|
26
|
+
const ACTIVITY_TYPE_CONFIG = {
|
|
27
|
+
mint: { label: "Mint", variant: "default", icon: import_lucide_react.Sparkles, colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10" },
|
|
28
|
+
transfer: { label: "Transfer", variant: "secondary", icon: import_lucide_react.ArrowRightLeft, colorClass: "text-slate-400", bgClass: "bg-slate-500/10" },
|
|
29
|
+
listing: { label: "Listed", variant: "default", icon: import_lucide_react.Tag, colorClass: "text-sky-400", bgClass: "bg-sky-500/10" },
|
|
30
|
+
sale: { label: "Sale", variant: "default", icon: import_lucide_react.ShoppingCart, colorClass: "text-violet-400", bgClass: "bg-violet-500/10" },
|
|
31
|
+
offer: { label: "Offer", variant: "outline", icon: import_lucide_react.HandCoins, colorClass: "text-amber-400", bgClass: "bg-amber-500/10" },
|
|
32
|
+
cancelled: { label: "Cancelled", variant: "outline", icon: import_lucide_react.X, colorClass: "text-rose-400", bgClass: "bg-rose-500/10" }
|
|
33
|
+
};
|
|
34
|
+
const TYPE_FILTERS = [
|
|
35
|
+
{ label: "All", value: "" },
|
|
36
|
+
{ label: "Mints", value: "mint" },
|
|
37
|
+
{ label: "Sales", value: "sale" },
|
|
38
|
+
{ label: "Listings", value: "listing" },
|
|
39
|
+
{ label: "Offers", value: "offer" },
|
|
40
|
+
{ label: "Transfers", value: "transfer" },
|
|
41
|
+
{ label: "Cancelled", value: "cancelled" }
|
|
42
|
+
];
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
ACTIVITY_TYPE_CONFIG,
|
|
46
|
+
TYPE_FILTERS
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=activity.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/activity.ts"],"sourcesContent":["import { ArrowRightLeft, Tag, ShoppingCart, HandCoins, X, Sparkles } from \"lucide-react\";\nimport type { ElementType } from \"react\";\n\nexport interface ActivityTypeConfig {\n label: string;\n variant: \"default\" | \"secondary\" | \"outline\";\n icon: ElementType;\n colorClass: string;\n bgClass: string;\n}\n\nexport const ACTIVITY_TYPE_CONFIG: Record<string, ActivityTypeConfig> = {\n mint: { label: \"Mint\", variant: \"default\", icon: Sparkles, colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\" },\n transfer: { label: \"Transfer\", variant: \"secondary\", icon: ArrowRightLeft, colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\" },\n listing: { label: \"Listed\", variant: \"default\", icon: Tag, colorClass: \"text-sky-400\", bgClass: \"bg-sky-500/10\" },\n sale: { label: \"Sale\", variant: \"default\", icon: ShoppingCart, colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\" },\n offer: { label: \"Offer\", variant: \"outline\", icon: HandCoins, colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\" },\n cancelled: { label: \"Cancelled\", variant: \"outline\", icon: X, colorClass: \"text-rose-400\", bgClass: \"bg-rose-500/10\" },\n};\n\nexport const TYPE_FILTERS = [\n { label: \"All\", value: \"\" },\n { label: \"Mints\", value: \"mint\" },\n { label: \"Sales\", value: \"sale\" },\n { label: \"Listings\", value: \"listing\" },\n { label: \"Offers\", value: \"offer\" },\n { label: \"Transfers\", value: \"transfer\" },\n { label: \"Cancelled\", value: \"cancelled\" },\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0E;AAWnE,MAAM,uBAA2D;AAAA,EACtE,MAAW,EAAE,OAAO,QAAa,SAAS,WAAa,MAAM,8BAAgB,YAAY,oBAAoB,SAAS,oBAAoB;AAAA,EAC1I,UAAW,EAAE,OAAO,YAAa,SAAS,aAAa,MAAM,oCAAgB,YAAY,kBAAoB,SAAS,kBAAkB;AAAA,EACxI,SAAW,EAAE,OAAO,UAAa,SAAS,WAAa,MAAM,yBAAgB,YAAY,gBAAoB,SAAS,gBAAgB;AAAA,EACtI,MAAW,EAAE,OAAO,QAAa,SAAS,WAAa,MAAM,kCAAgB,YAAY,mBAAoB,SAAS,mBAAmB;AAAA,EACzI,OAAW,EAAE,OAAO,SAAa,SAAS,WAAa,MAAM,+BAAgB,YAAY,kBAAoB,SAAS,kBAAkB;AAAA,EACxI,WAAW,EAAE,OAAO,aAAa,SAAS,WAAa,MAAM,uBAAgB,YAAY,iBAAoB,SAAS,iBAAiB;AACzI;AAEO,MAAM,eAAe;AAAA,EAC1B,EAAE,OAAO,OAAa,OAAO,GAAG;AAAA,EAChC,EAAE,OAAO,SAAa,OAAO,OAAO;AAAA,EACpC,EAAE,OAAO,SAAa,OAAO,OAAO;AAAA,EACpC,EAAE,OAAO,YAAa,OAAO,UAAU;AAAA,EACvC,EAAE,OAAO,UAAa,OAAO,QAAQ;AAAA,EACrC,EAAE,OAAO,aAAa,OAAO,WAAW;AAAA,EACxC,EAAE,OAAO,aAAa,OAAO,YAAY;AAC3C;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
|
|
3
|
+
interface ActivityTypeConfig {
|
|
4
|
+
label: string;
|
|
5
|
+
variant: "default" | "secondary" | "outline";
|
|
6
|
+
icon: ElementType;
|
|
7
|
+
colorClass: string;
|
|
8
|
+
bgClass: string;
|
|
9
|
+
}
|
|
10
|
+
declare const ACTIVITY_TYPE_CONFIG: Record<string, ActivityTypeConfig>;
|
|
11
|
+
declare const TYPE_FILTERS: {
|
|
12
|
+
label: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}[];
|
|
15
|
+
|
|
16
|
+
export { ACTIVITY_TYPE_CONFIG, type ActivityTypeConfig, TYPE_FILTERS };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
|
|
3
|
+
interface ActivityTypeConfig {
|
|
4
|
+
label: string;
|
|
5
|
+
variant: "default" | "secondary" | "outline";
|
|
6
|
+
icon: ElementType;
|
|
7
|
+
colorClass: string;
|
|
8
|
+
bgClass: string;
|
|
9
|
+
}
|
|
10
|
+
declare const ACTIVITY_TYPE_CONFIG: Record<string, ActivityTypeConfig>;
|
|
11
|
+
declare const TYPE_FILTERS: {
|
|
12
|
+
label: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}[];
|
|
15
|
+
|
|
16
|
+
export { ACTIVITY_TYPE_CONFIG, type ActivityTypeConfig, TYPE_FILTERS };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ArrowRightLeft, Tag, ShoppingCart, HandCoins, X, Sparkles } from "lucide-react";
|
|
2
|
+
const ACTIVITY_TYPE_CONFIG = {
|
|
3
|
+
mint: { label: "Mint", variant: "default", icon: Sparkles, colorClass: "text-emerald-400", bgClass: "bg-emerald-500/10" },
|
|
4
|
+
transfer: { label: "Transfer", variant: "secondary", icon: ArrowRightLeft, colorClass: "text-slate-400", bgClass: "bg-slate-500/10" },
|
|
5
|
+
listing: { label: "Listed", variant: "default", icon: Tag, colorClass: "text-sky-400", bgClass: "bg-sky-500/10" },
|
|
6
|
+
sale: { label: "Sale", variant: "default", icon: ShoppingCart, colorClass: "text-violet-400", bgClass: "bg-violet-500/10" },
|
|
7
|
+
offer: { label: "Offer", variant: "outline", icon: HandCoins, colorClass: "text-amber-400", bgClass: "bg-amber-500/10" },
|
|
8
|
+
cancelled: { label: "Cancelled", variant: "outline", icon: X, colorClass: "text-rose-400", bgClass: "bg-rose-500/10" }
|
|
9
|
+
};
|
|
10
|
+
const TYPE_FILTERS = [
|
|
11
|
+
{ label: "All", value: "" },
|
|
12
|
+
{ label: "Mints", value: "mint" },
|
|
13
|
+
{ label: "Sales", value: "sale" },
|
|
14
|
+
{ label: "Listings", value: "listing" },
|
|
15
|
+
{ label: "Offers", value: "offer" },
|
|
16
|
+
{ label: "Transfers", value: "transfer" },
|
|
17
|
+
{ label: "Cancelled", value: "cancelled" }
|
|
18
|
+
];
|
|
19
|
+
export {
|
|
20
|
+
ACTIVITY_TYPE_CONFIG,
|
|
21
|
+
TYPE_FILTERS
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=activity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/activity.ts"],"sourcesContent":["import { ArrowRightLeft, Tag, ShoppingCart, HandCoins, X, Sparkles } from \"lucide-react\";\nimport type { ElementType } from \"react\";\n\nexport interface ActivityTypeConfig {\n label: string;\n variant: \"default\" | \"secondary\" | \"outline\";\n icon: ElementType;\n colorClass: string;\n bgClass: string;\n}\n\nexport const ACTIVITY_TYPE_CONFIG: Record<string, ActivityTypeConfig> = {\n mint: { label: \"Mint\", variant: \"default\", icon: Sparkles, colorClass: \"text-emerald-400\", bgClass: \"bg-emerald-500/10\" },\n transfer: { label: \"Transfer\", variant: \"secondary\", icon: ArrowRightLeft, colorClass: \"text-slate-400\", bgClass: \"bg-slate-500/10\" },\n listing: { label: \"Listed\", variant: \"default\", icon: Tag, colorClass: \"text-sky-400\", bgClass: \"bg-sky-500/10\" },\n sale: { label: \"Sale\", variant: \"default\", icon: ShoppingCart, colorClass: \"text-violet-400\", bgClass: \"bg-violet-500/10\" },\n offer: { label: \"Offer\", variant: \"outline\", icon: HandCoins, colorClass: \"text-amber-400\", bgClass: \"bg-amber-500/10\" },\n cancelled: { label: \"Cancelled\", variant: \"outline\", icon: X, colorClass: \"text-rose-400\", bgClass: \"bg-rose-500/10\" },\n};\n\nexport const TYPE_FILTERS = [\n { label: \"All\", value: \"\" },\n { label: \"Mints\", value: \"mint\" },\n { label: \"Sales\", value: \"sale\" },\n { label: \"Listings\", value: \"listing\" },\n { label: \"Offers\", value: \"offer\" },\n { label: \"Transfers\", value: \"transfer\" },\n { label: \"Cancelled\", value: \"cancelled\" },\n];\n"],"mappings":"AAAA,SAAS,gBAAgB,KAAK,cAAc,WAAW,GAAG,gBAAgB;AAWnE,MAAM,uBAA2D;AAAA,EACtE,MAAW,EAAE,OAAO,QAAa,SAAS,WAAa,MAAM,UAAgB,YAAY,oBAAoB,SAAS,oBAAoB;AAAA,EAC1I,UAAW,EAAE,OAAO,YAAa,SAAS,aAAa,MAAM,gBAAgB,YAAY,kBAAoB,SAAS,kBAAkB;AAAA,EACxI,SAAW,EAAE,OAAO,UAAa,SAAS,WAAa,MAAM,KAAgB,YAAY,gBAAoB,SAAS,gBAAgB;AAAA,EACtI,MAAW,EAAE,OAAO,QAAa,SAAS,WAAa,MAAM,cAAgB,YAAY,mBAAoB,SAAS,mBAAmB;AAAA,EACzI,OAAW,EAAE,OAAO,SAAa,SAAS,WAAa,MAAM,WAAgB,YAAY,kBAAoB,SAAS,kBAAkB;AAAA,EACxI,WAAW,EAAE,OAAO,aAAa,SAAS,WAAa,MAAM,GAAgB,YAAY,iBAAoB,SAAS,iBAAiB;AACzI;AAEO,MAAM,eAAe;AAAA,EAC1B,EAAE,OAAO,OAAa,OAAO,GAAG;AAAA,EAChC,EAAE,OAAO,SAAa,OAAO,OAAO;AAAA,EACpC,EAAE,OAAO,SAAa,OAAO,OAAO;AAAA,EACpC,EAAE,OAAO,YAAa,OAAO,UAAU;AAAA,EACvC,EAAE,OAAO,UAAa,OAAO,QAAQ;AAAA,EACrC,EAAE,OAAO,aAAa,OAAO,WAAW;AAAA,EACxC,EAAE,OAAO,aAAa,OAAO,YAAY;AAC3C;","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -18,20 +18,30 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var index_exports = {};
|
|
20
20
|
__export(index_exports, {
|
|
21
|
+
ACTIVITY_TYPE_CONFIG: () => import_activity.ACTIVITY_TYPE_CONFIG,
|
|
22
|
+
ActivityFeedShell: () => import_activity_feed_shell.ActivityFeedShell,
|
|
23
|
+
ActivityRow: () => import_activity_row.ActivityRow,
|
|
24
|
+
ActivityTicker: () => import_activity_ticker.ActivityTicker,
|
|
21
25
|
AddressDisplay: () => import_address_display.AddressDisplay,
|
|
22
26
|
BRAND: () => import_brand.BRAND,
|
|
23
27
|
CollectionCard: () => import_collection_card.CollectionCard,
|
|
24
28
|
CollectionCardSkeleton: () => import_collection_card.CollectionCardSkeleton,
|
|
29
|
+
CtaCardGrid: () => import_cta_card_grid.CtaCardGrid,
|
|
25
30
|
CurrencyAmount: () => import_currency_icon.CurrencyAmount,
|
|
26
31
|
CurrencyIcon: () => import_currency_icon.CurrencyIcon,
|
|
27
32
|
EASE_OUT: () => import_motion_primitives.EASE_OUT,
|
|
28
33
|
FadeIn: () => import_motion_primitives.FadeIn,
|
|
34
|
+
HeroSlider: () => import_hero_slider.HeroSlider,
|
|
35
|
+
HeroSliderSkeleton: () => import_hero_slider.HeroSliderSkeleton,
|
|
29
36
|
IP_TYPE_CONFIG: () => import_ip_type_badge.IP_TYPE_CONFIG,
|
|
30
37
|
IP_TYPE_DATA: () => import_ip_types.IP_TYPE_DATA,
|
|
31
38
|
IP_TYPE_DATA_MAP: () => import_ip_types.IP_TYPE_DATA_MAP,
|
|
32
39
|
IP_TYPE_MAP: () => import_ip_type_badge.IP_TYPE_MAP,
|
|
33
40
|
IpTypeBadge: () => import_ip_type_badge.IpTypeBadge,
|
|
34
41
|
KineticWords: () => import_motion_primitives.KineticWords,
|
|
42
|
+
LaunchpadGrid: () => import_launchpad_grid.LaunchpadGrid,
|
|
43
|
+
ListingCard: () => import_listing_card.ListingCard,
|
|
44
|
+
ListingCardSkeleton: () => import_listing_card.ListingCardSkeleton,
|
|
35
45
|
MedialaneIcon: () => import_brand_icon.MedialaneIcon,
|
|
36
46
|
MedialaneLogoFull: () => import_brand_logo.MedialaneLogoFull,
|
|
37
47
|
MotionCard: () => import_motion_primitives.MotionCard,
|
|
@@ -40,12 +50,14 @@ __export(index_exports, {
|
|
|
40
50
|
ShareButton: () => import_share_button.ShareButton,
|
|
41
51
|
Stagger: () => import_motion_primitives.Stagger,
|
|
42
52
|
StaggerItem: () => import_motion_primitives.StaggerItem,
|
|
53
|
+
TYPE_FILTERS: () => import_activity.TYPE_FILTERS,
|
|
43
54
|
TokenCard: () => import_token_card.TokenCard,
|
|
44
55
|
TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
|
|
45
56
|
cn: () => import_cn.cn,
|
|
46
57
|
formatDisplayPrice: () => import_format.formatDisplayPrice,
|
|
47
58
|
ipfsToHttp: () => import_ipfs.ipfsToHttp,
|
|
48
|
-
shortenAddress: () => import_address.shortenAddress
|
|
59
|
+
shortenAddress: () => import_address.shortenAddress,
|
|
60
|
+
timeAgo: () => import_time.timeAgo
|
|
49
61
|
});
|
|
50
62
|
module.exports = __toCommonJS(index_exports);
|
|
51
63
|
var import_cn = require("./utils/cn.js");
|
|
@@ -64,22 +76,41 @@ var import_scroll_section = require("./components/scroll-section.js");
|
|
|
64
76
|
var import_share_button = require("./components/share-button.js");
|
|
65
77
|
var import_collection_card = require("./components/collection-card.js");
|
|
66
78
|
var import_token_card = require("./components/token-card.js");
|
|
79
|
+
var import_time = require("./utils/time.js");
|
|
80
|
+
var import_activity = require("./data/activity.js");
|
|
81
|
+
var import_hero_slider = require("./components/hero-slider.js");
|
|
82
|
+
var import_activity_ticker = require("./components/activity-ticker.js");
|
|
83
|
+
var import_listing_card = require("./components/listing-card.js");
|
|
84
|
+
var import_activity_row = require("./components/activity-row.js");
|
|
85
|
+
var import_activity_feed_shell = require("./components/activity-feed-shell.js");
|
|
86
|
+
var import_launchpad_grid = require("./components/launchpad-grid.js");
|
|
87
|
+
var import_cta_card_grid = require("./components/cta-card-grid.js");
|
|
67
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
68
89
|
0 && (module.exports = {
|
|
90
|
+
ACTIVITY_TYPE_CONFIG,
|
|
91
|
+
ActivityFeedShell,
|
|
92
|
+
ActivityRow,
|
|
93
|
+
ActivityTicker,
|
|
69
94
|
AddressDisplay,
|
|
70
95
|
BRAND,
|
|
71
96
|
CollectionCard,
|
|
72
97
|
CollectionCardSkeleton,
|
|
98
|
+
CtaCardGrid,
|
|
73
99
|
CurrencyAmount,
|
|
74
100
|
CurrencyIcon,
|
|
75
101
|
EASE_OUT,
|
|
76
102
|
FadeIn,
|
|
103
|
+
HeroSlider,
|
|
104
|
+
HeroSliderSkeleton,
|
|
77
105
|
IP_TYPE_CONFIG,
|
|
78
106
|
IP_TYPE_DATA,
|
|
79
107
|
IP_TYPE_DATA_MAP,
|
|
80
108
|
IP_TYPE_MAP,
|
|
81
109
|
IpTypeBadge,
|
|
82
110
|
KineticWords,
|
|
111
|
+
LaunchpadGrid,
|
|
112
|
+
ListingCard,
|
|
113
|
+
ListingCardSkeleton,
|
|
83
114
|
MedialaneIcon,
|
|
84
115
|
MedialaneLogoFull,
|
|
85
116
|
MotionCard,
|
|
@@ -88,11 +119,13 @@ var import_token_card = require("./components/token-card.js");
|
|
|
88
119
|
ShareButton,
|
|
89
120
|
Stagger,
|
|
90
121
|
StaggerItem,
|
|
122
|
+
TYPE_FILTERS,
|
|
91
123
|
TokenCard,
|
|
92
124
|
TokenCardSkeleton,
|
|
93
125
|
cn,
|
|
94
126
|
formatDisplayPrice,
|
|
95
127
|
ipfsToHttp,
|
|
96
|
-
shortenAddress
|
|
128
|
+
shortenAddress,
|
|
129
|
+
timeAgo
|
|
97
130
|
});
|
|
98
131
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\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;AACA,gBAAmB;AACnB,oBAAmC;AACnC,qBAA+B;AAC/B,kBAA2B;AAG3B,sBAA+C;AAE/C,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { LaunchpadGrid } from \"./components/launchpad-grid.js\";\nexport type { LaunchpadGridProps, FeatureItem } from \"./components/launchpad-grid.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.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;AACA,gBAAmB;AACnB,oBAAmC;AACnC,qBAA+B;AAC/B,kBAA2B;AAG3B,sBAA+C;AAE/C,mBAAsB;AAGtB,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAA8B;AAE9B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAI7C,kBAAwB;AACxB,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,4BAA8B;AAE9B,2BAA4B;","names":[]}
|
package/dist/index.d.cts
CHANGED
|
@@ -14,7 +14,18 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.c
|
|
|
14
14
|
export { ShareButton, ShareButtonProps } from './components/share-button.cjs';
|
|
15
15
|
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.cjs';
|
|
16
16
|
export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.cjs';
|
|
17
|
+
export { timeAgo } from './utils/time.cjs';
|
|
18
|
+
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.cjs';
|
|
19
|
+
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.cjs';
|
|
20
|
+
export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.cjs';
|
|
21
|
+
export { ListingCard, ListingCardProps, ListingCardSkeleton } from './components/listing-card.cjs';
|
|
22
|
+
export { ActivityRow, ActivityRowProps } from './components/activity-row.cjs';
|
|
23
|
+
export { ActivityFeedShell, ActivityFeedShellProps } from './components/activity-feed-shell.cjs';
|
|
24
|
+
export { FeatureItem, LaunchpadGrid, LaunchpadGridProps } from './components/launchpad-grid.cjs';
|
|
25
|
+
export { CtaCardGrid, CtaCardGridProps, CtaCardItem } from './components/cta-card-grid.cjs';
|
|
17
26
|
import 'clsx';
|
|
18
27
|
import 'react/jsx-runtime';
|
|
19
28
|
import 'framer-motion';
|
|
20
29
|
import '@medialane/sdk';
|
|
30
|
+
import 'react';
|
|
31
|
+
import 'lucide-react';
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,18 @@ export { ScrollSection, ScrollSectionProps } from './components/scroll-section.j
|
|
|
14
14
|
export { ShareButton, ShareButtonProps } from './components/share-button.js';
|
|
15
15
|
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.js';
|
|
16
16
|
export { RarityTier, TokenCard, TokenCardProps, TokenCardSkeleton } from './components/token-card.js';
|
|
17
|
+
export { timeAgo } from './utils/time.js';
|
|
18
|
+
export { ACTIVITY_TYPE_CONFIG, ActivityTypeConfig, TYPE_FILTERS } from './data/activity.js';
|
|
19
|
+
export { HeroSlider, HeroSliderProps, HeroSliderSkeleton } from './components/hero-slider.js';
|
|
20
|
+
export { ActivityTicker, ActivityTickerProps } from './components/activity-ticker.js';
|
|
21
|
+
export { ListingCard, ListingCardProps, ListingCardSkeleton } from './components/listing-card.js';
|
|
22
|
+
export { ActivityRow, ActivityRowProps } from './components/activity-row.js';
|
|
23
|
+
export { ActivityFeedShell, ActivityFeedShellProps } from './components/activity-feed-shell.js';
|
|
24
|
+
export { FeatureItem, LaunchpadGrid, LaunchpadGridProps } from './components/launchpad-grid.js';
|
|
25
|
+
export { CtaCardGrid, CtaCardGridProps, CtaCardItem } from './components/cta-card-grid.js';
|
|
17
26
|
import 'clsx';
|
|
18
27
|
import 'react/jsx-runtime';
|
|
19
28
|
import 'framer-motion';
|
|
20
29
|
import '@medialane/sdk';
|
|
30
|
+
import 'react';
|
|
31
|
+
import 'lucide-react';
|
package/dist/index.js
CHANGED
|
@@ -14,21 +14,40 @@ import { ScrollSection } from "./components/scroll-section.js";
|
|
|
14
14
|
import { ShareButton } from "./components/share-button.js";
|
|
15
15
|
import { CollectionCard, CollectionCardSkeleton } from "./components/collection-card.js";
|
|
16
16
|
import { TokenCard, TokenCardSkeleton } from "./components/token-card.js";
|
|
17
|
+
import { timeAgo } from "./utils/time.js";
|
|
18
|
+
import { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from "./data/activity.js";
|
|
19
|
+
import { HeroSlider, HeroSliderSkeleton } from "./components/hero-slider.js";
|
|
20
|
+
import { ActivityTicker } from "./components/activity-ticker.js";
|
|
21
|
+
import { ListingCard, ListingCardSkeleton } from "./components/listing-card.js";
|
|
22
|
+
import { ActivityRow } from "./components/activity-row.js";
|
|
23
|
+
import { ActivityFeedShell } from "./components/activity-feed-shell.js";
|
|
24
|
+
import { LaunchpadGrid } from "./components/launchpad-grid.js";
|
|
25
|
+
import { CtaCardGrid } from "./components/cta-card-grid.js";
|
|
17
26
|
export {
|
|
27
|
+
ACTIVITY_TYPE_CONFIG,
|
|
28
|
+
ActivityFeedShell,
|
|
29
|
+
ActivityRow,
|
|
30
|
+
ActivityTicker,
|
|
18
31
|
AddressDisplay,
|
|
19
32
|
BRAND,
|
|
20
33
|
CollectionCard,
|
|
21
34
|
CollectionCardSkeleton,
|
|
35
|
+
CtaCardGrid,
|
|
22
36
|
CurrencyAmount,
|
|
23
37
|
CurrencyIcon,
|
|
24
38
|
EASE_OUT,
|
|
25
39
|
FadeIn,
|
|
40
|
+
HeroSlider,
|
|
41
|
+
HeroSliderSkeleton,
|
|
26
42
|
IP_TYPE_CONFIG,
|
|
27
43
|
IP_TYPE_DATA,
|
|
28
44
|
IP_TYPE_DATA_MAP,
|
|
29
45
|
IP_TYPE_MAP,
|
|
30
46
|
IpTypeBadge,
|
|
31
47
|
KineticWords,
|
|
48
|
+
LaunchpadGrid,
|
|
49
|
+
ListingCard,
|
|
50
|
+
ListingCardSkeleton,
|
|
32
51
|
MedialaneIcon,
|
|
33
52
|
MedialaneLogoFull,
|
|
34
53
|
MotionCard,
|
|
@@ -37,11 +56,13 @@ export {
|
|
|
37
56
|
ShareButton,
|
|
38
57
|
Stagger,
|
|
39
58
|
StaggerItem,
|
|
59
|
+
TYPE_FILTERS,
|
|
40
60
|
TokenCard,
|
|
41
61
|
TokenCardSkeleton,
|
|
42
62
|
cn,
|
|
43
63
|
formatDisplayPrice,
|
|
44
64
|
ipfsToHttp,
|
|
45
|
-
shortenAddress
|
|
65
|
+
shortenAddress,
|
|
66
|
+
timeAgo
|
|
46
67
|
};
|
|
47
68
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\n"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAG3B,SAAS,cAAc,wBAAwB;AAE/C,SAAS,aAAa;AAGtB,SAAS,cAAc,sBAAsB;AAG7C,SAAS,aAAa,gBAAgB,mBAAmB;AAGzD,SAAS,sBAAsB;AAG/B,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAIlC,SAAS,YAAY,QAAQ,SAAS,aAAa,cAAc,QAAQ,gBAAgB;AACzF,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB,8BAA8B;AAEvD,SAAS,WAAW,yBAAyB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport { BRAND } from \"./data/brand.js\";\n\n// ── Components (client-only — all have \"use client\") ─────────────────────────\nexport { CurrencyIcon, CurrencyAmount } from \"./components/currency-icon.js\";\nexport type { CurrencyIconProps, CurrencyAmountProps } from \"./components/currency-icon.js\";\n\nexport { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from \"./components/ip-type-badge.js\";\nexport type { IpTypeBadgeProps, IpTypeConfig } from \"./components/ip-type-badge.js\";\n\nexport { AddressDisplay } from \"./components/address-display.js\";\nexport type { AddressDisplayProps } from \"./components/address-display.js\";\n\nexport { MedialaneIcon } from \"./components/brand-icon.js\";\nexport type { MedialaneIconProps } from \"./components/brand-icon.js\";\nexport { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps, RarityTier } from \"./components/token-card.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { LaunchpadGrid } from \"./components/launchpad-grid.js\";\nexport type { LaunchpadGridProps, FeatureItem } from \"./components/launchpad-grid.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n"],"mappings":"AACA,SAAS,UAAU;AACnB,SAAS,0BAA0B;AACnC,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAG3B,SAAS,cAAc,wBAAwB;AAE/C,SAAS,aAAa;AAGtB,SAAS,cAAc,sBAAsB;AAG7C,SAAS,aAAa,gBAAgB,mBAAmB;AAGzD,SAAS,sBAAsB;AAG/B,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAIlC,SAAS,YAAY,QAAQ,SAAS,aAAa,cAAc,QAAQ,gBAAgB;AACzF,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;AAE5B,SAAS,gBAAgB,8BAA8B;AAEvD,SAAS,WAAW,yBAAyB;AAI7C,SAAS,eAAe;AACxB,SAAS,sBAAsB,oBAAoB;AAEnD,SAAS,YAAY,0BAA0B;AAE/C,SAAS,sBAAsB;AAE/B,SAAS,aAAa,2BAA2B;AAEjD,SAAS,mBAAmB;AAE5B,SAAS,yBAAyB;AAElC,SAAS,qBAAqB;AAE9B,SAAS,mBAAmB;","names":[]}
|