@medialane/ui 0.1.6 → 0.3.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/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 +124 -0
- package/dist/components/collection-card.cjs.map +1 -0
- package/dist/components/collection-card.d.cts +13 -0
- package/dist/components/collection-card.d.ts +13 -0
- package/dist/components/collection-card.js +89 -0
- package/dist/components/collection-card.js.map +1 -0
- 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/components/motion-primitives.cjs +126 -0
- package/dist/components/motion-primitives.cjs.map +1 -0
- package/dist/components/motion-primitives.d.cts +36 -0
- package/dist/components/motion-primitives.d.ts +36 -0
- package/dist/components/motion-primitives.js +96 -0
- package/dist/components/motion-primitives.js.map +1 -0
- package/dist/components/scroll-section.cjs +72 -0
- package/dist/components/scroll-section.cjs.map +1 -0
- package/dist/components/scroll-section.d.cts +18 -0
- package/dist/components/scroll-section.d.ts +18 -0
- package/dist/components/scroll-section.js +38 -0
- package/dist/components/scroll-section.js.map +1 -0
- package/dist/components/share-button.cjs +86 -0
- package/dist/components/share-button.cjs.map +1 -0
- package/dist/components/share-button.d.cts +12 -0
- package/dist/components/share-button.d.ts +12 -0
- package/dist/components/share-button.js +62 -0
- package/dist/components/share-button.js.map +1 -0
- package/dist/components/token-card.cjs +281 -0
- package/dist/components/token-card.cjs.map +1 -0
- package/dist/components/token-card.d.cts +31 -0
- package/dist/components/token-card.d.ts +31 -0
- package/dist/components/token-card.js +256 -0
- package/dist/components/token-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 +66 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +40 -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 +17 -10
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/token-card.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState } from \"react\";\nimport Link from \"next/link\";\nimport Image from \"next/image\";\nimport {\n ShoppingCart, Tag, ArrowRightLeft, X, Loader2, HandCoins,\n Check, ArrowUpRight, Zap,\n} from \"lucide-react\";\nimport { cn } from \"../utils/cn.js\";\nimport { ipfsToHttp } from \"../utils/ipfs.js\";\nimport { formatDisplayPrice } from \"../utils/format.js\";\nimport { CurrencyIcon } from \"./currency-icon.js\";\nimport { IpTypeBadge } from \"./ip-type-badge.js\";\nimport { MotionCard } from \"./motion-primitives.js\";\nimport type { ApiToken } from \"@medialane/sdk\";\n\nexport type RarityTier = \"legendary\" | \"epic\" | \"rare\" | \"uncommon\" | \"common\";\n\nconst RARITY_STYLE: Record<RarityTier, { label: string; className: string } | null> = {\n legendary: { label: \"Legendary\", className: \"bg-yellow-400/90 text-yellow-900\" },\n epic: { label: \"Epic\", className: \"bg-purple-500/85 text-white\" },\n rare: { label: \"Rare\", className: \"bg-blue-500/85 text-white\" },\n uncommon: { label: \"Uncommon\", className: \"bg-emerald-500/85 text-white\" },\n common: null,\n};\n\nconst BTN_BASE = \"h-8 rounded-[11px] flex items-center justify-center gap-1.5 text-xs font-semibold transition-all active:scale-[0.98] shadow-none border-0\";\nconst BTN_SOLID = cn(BTN_BASE, \"text-white hover:brightness-110\");\nconst BTN_OUTLINE = cn(BTN_BASE, \"border border-border/60 text-foreground hover:bg-muted/60\");\n\nexport interface TokenCardProps {\n token: ApiToken;\n /** Whether the current user owns this token. Default: false */\n isOwner?: boolean;\n /** Whether this token's listing is already in the cart. Default: false */\n inCart?: boolean;\n /** Show the Buy button for listed tokens. Default: true */\n showBuyButton?: boolean;\n /** Optional rarity label shown as an overlay badge */\n rarityTier?: RarityTier;\n className?: string;\n /** Callbacks — omit any to hide that button */\n onBuy?: (token: ApiToken) => void;\n onCart?: (token: ApiToken) => void;\n onOffer?: (token: ApiToken) => void;\n onList?: (token: ApiToken) => void;\n onCancel?: (token: ApiToken) => void;\n onTransfer?: (token: ApiToken) => void;\n onRemix?: (token: ApiToken) => void;\n onReport?: (token: ApiToken) => void;\n /** Slot for a DropdownMenu trigger — rendered after primary buttons */\n overflowMenu?: React.ReactNode;\n}\n\nexport function TokenCard({\n token,\n isOwner = false,\n inCart = false,\n showBuyButton = true,\n rarityTier,\n className,\n onBuy,\n onCart,\n onOffer,\n onList,\n onCancel,\n onTransfer,\n overflowMenu,\n}: TokenCardProps) {\n const [imgError, setImgError] = useState(false);\n\n const name = token.metadata?.name || `Token #${token.tokenId}`;\n const image = ipfsToHttp(token.metadata?.image);\n const activeOrder = token.activeOrders?.[0];\n const assetHref = `/asset/${token.contractAddress}/${token.tokenId}`;\n\n const renderActions = () => {\n // Non-owner + listed + showBuyButton\n if (!isOwner && activeOrder && showBuyButton) {\n return (\n <>\n {onBuy && (\n <button\n className={cn(BTN_SOLID, \"flex-1 bg-brand-purple\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onBuy(token); }}\n >\n <Zap className=\"h-3.5 w-3.5 shrink-0\" />\n Buy\n </button>\n )}\n {onCart && (\n <button\n className={cn(\n BTN_OUTLINE, \"w-8 shrink-0\",\n inCart && \"border-brand-orange/50 bg-brand-orange/10 text-brand-orange\"\n )}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onCart(token); }}\n disabled={inCart}\n aria-label={inCart ? \"In 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 {onOffer && (\n <button\n className={cn(BTN_OUTLINE, \"w-8 shrink-0 text-brand-orange border-brand-orange/40 hover:bg-brand-orange/10\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onOffer(token); }}\n aria-label=\"Make an offer\"\n >\n <HandCoins className=\"h-3.5 w-3.5\" />\n </button>\n )}\n </>\n );\n }\n\n // Non-owner + no listing (or showBuyButton=false)\n if (!isOwner) {\n if (!onOffer) return null;\n return (\n <>\n <Link href={assetHref} className={cn(BTN_OUTLINE, \"flex-1\")}>\n <ArrowUpRight className=\"h-3.5 w-3.5 shrink-0\" />\n View\n </Link>\n <button\n className={cn(BTN_OUTLINE, \"w-8 shrink-0 text-brand-orange border-brand-orange/40 hover:bg-brand-orange/10\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onOffer(token); }}\n aria-label=\"Make an offer\"\n >\n <HandCoins className=\"h-3.5 w-3.5\" />\n </button>\n </>\n );\n }\n\n // Owner + listed\n if (isOwner && activeOrder) {\n if (!onCancel) return null;\n return (\n <>\n <button\n className={cn(BTN_SOLID, \"flex-1 bg-brand-rose\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onCancel(token); }}\n >\n <X className=\"h-3.5 w-3.5 shrink-0\" />\n Cancel listing\n </button>\n {onTransfer && (\n <button\n className={cn(BTN_OUTLINE, \"w-8 shrink-0\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onTransfer(token); }}\n aria-label=\"Transfer\"\n >\n <ArrowRightLeft className=\"h-3.5 w-3.5\" />\n </button>\n )}\n </>\n );\n }\n\n // Owner + unlisted\n if (isOwner && !activeOrder) {\n if (!onList) return null;\n return (\n <>\n <button\n className={cn(BTN_SOLID, \"flex-1 bg-brand-blue\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onList(token); }}\n >\n <Tag className=\"h-3.5 w-3.5 shrink-0\" />\n List for sale\n </button>\n {onTransfer && (\n <button\n className={cn(BTN_OUTLINE, \"w-8 shrink-0\")}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); onTransfer(token); }}\n aria-label=\"Transfer\"\n >\n <ArrowRightLeft className=\"h-3.5 w-3.5\" />\n </button>\n )}\n </>\n );\n }\n\n return null;\n };\n\n const actionContent = renderActions();\n const showActionBar = actionContent != null || !!overflowMenu;\n\n return (\n <MotionCard className={cn(\"card-base group relative overflow-hidden flex flex-col\", className)}>\n <Link href={assetHref} className=\"block relative shrink-0\">\n <div className=\"relative aspect-square bg-muted overflow-hidden\">\n {!imgError ? (\n <Image\n src={image}\n alt={name}\n fill\n unoptimized\n sizes=\"(max-width: 640px) 50vw, (max-width: 1024px) 33vw, 22vw\"\n className=\"object-cover transition-transform duration-500 group-hover:scale-105\"\n onError={() => setImgError(true)}\n />\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\">#{token.tokenId}</span>\n </div>\n )}\n\n {token.metadata?.ipType && (\n <div className=\"absolute top-2 left-2\">\n <IpTypeBadge ipType={token.metadata.ipType as any} size=\"sm\" />\n </div>\n )}\n\n {rarityTier && RARITY_STYLE[rarityTier] && (\n <div className=\"absolute top-2 right-2 z-10\">\n <span className={cn(\n \"inline-flex items-center px-1.5 py-0.5 rounded-md backdrop-blur-sm text-[10px] font-bold leading-none\",\n RARITY_STYLE[rarityTier]!.className\n )}>\n {RARITY_STYLE[rarityTier]!.label}\n </span>\n </div>\n )}\n\n {(token.metadataStatus === \"PENDING\" || token.metadataStatus === \"FETCHING\") && (\n <div className=\"absolute bottom-0 inset-x-0 flex items-center justify-center gap-1.5 bg-black/50 backdrop-blur-sm py-1.5\">\n <Loader2 className=\"h-3 w-3 animate-spin text-white/70\" />\n <span className=\"text-[10px] text-white/70\">Indexing…</span>\n </div>\n )}\n </div>\n </Link>\n\n <div className=\"px-3 pt-2.5 pb-1 flex-1\">\n <Link href={assetHref} className=\"block space-y-0.5 mb-2\">\n <p className=\"text-xl font-bold line-clamp-2 leading-tight\">{name}</p>\n {activeOrder && (\n <p className=\"flex items-center gap-1 text-[11px] font-semibold text-foreground/80\">\n <CurrencyIcon symbol={activeOrder.price.currency} size={11} />\n {formatDisplayPrice(activeOrder.price.formatted)}\n <span className=\"font-normal text-muted-foreground\">{activeOrder.price.currency}</span>\n </p>\n )}\n {token.metadata?.description ? (\n <p className=\"text-[10px] text-muted-foreground truncate leading-snug\">\n {token.metadata.description}\n </p>\n ) : token.metadata?.ipType ? (\n <p className=\"text-[10px] text-muted-foreground opacity-70\">{token.metadata.ipType}</p>\n ) : null}\n </Link>\n </div>\n\n {showActionBar && (\n <div className=\"flex items-center gap-1.5 px-2 pb-2\">\n {actionContent}\n {overflowMenu}\n </div>\n )}\n </MotionCard>\n );\n}\n\nexport function TokenCardSkeleton() {\n return (\n <div className=\"card-base overflow-hidden\">\n <div className=\"aspect-square w-full animate-pulse bg-muted\" />\n <div className=\"px-3 pt-2.5 pb-2 space-y-1.5\">\n <div className=\"h-5 w-3/4 rounded-md animate-pulse bg-muted\" />\n <div className=\"h-2.5 w-2/5 rounded-md animate-pulse bg-muted\" />\n </div>\n <div className=\"px-2 pb-2 flex gap-1.5\">\n <div className=\"h-8 flex-1 rounded-[11px] animate-pulse bg-muted\" />\n <div className=\"h-8 w-8 rounded-[11px] animate-pulse bg-muted shrink-0\" />\n <div className=\"h-8 w-8 rounded-[11px] animate-pulse bg-muted shrink-0\" />\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,21 +18,46 @@ 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,
|
|
27
|
+
CollectionCard: () => import_collection_card.CollectionCard,
|
|
28
|
+
CollectionCardSkeleton: () => import_collection_card.CollectionCardSkeleton,
|
|
29
|
+
CtaCardGrid: () => import_cta_card_grid.CtaCardGrid,
|
|
23
30
|
CurrencyAmount: () => import_currency_icon.CurrencyAmount,
|
|
24
31
|
CurrencyIcon: () => import_currency_icon.CurrencyIcon,
|
|
32
|
+
EASE_OUT: () => import_motion_primitives.EASE_OUT,
|
|
33
|
+
FadeIn: () => import_motion_primitives.FadeIn,
|
|
34
|
+
HeroSlider: () => import_hero_slider.HeroSlider,
|
|
35
|
+
HeroSliderSkeleton: () => import_hero_slider.HeroSliderSkeleton,
|
|
25
36
|
IP_TYPE_CONFIG: () => import_ip_type_badge.IP_TYPE_CONFIG,
|
|
26
37
|
IP_TYPE_DATA: () => import_ip_types.IP_TYPE_DATA,
|
|
27
38
|
IP_TYPE_DATA_MAP: () => import_ip_types.IP_TYPE_DATA_MAP,
|
|
28
39
|
IP_TYPE_MAP: () => import_ip_type_badge.IP_TYPE_MAP,
|
|
29
40
|
IpTypeBadge: () => import_ip_type_badge.IpTypeBadge,
|
|
41
|
+
KineticWords: () => import_motion_primitives.KineticWords,
|
|
42
|
+
LaunchpadGrid: () => import_launchpad_grid.LaunchpadGrid,
|
|
43
|
+
ListingCard: () => import_listing_card.ListingCard,
|
|
44
|
+
ListingCardSkeleton: () => import_listing_card.ListingCardSkeleton,
|
|
30
45
|
MedialaneIcon: () => import_brand_icon.MedialaneIcon,
|
|
31
46
|
MedialaneLogoFull: () => import_brand_logo.MedialaneLogoFull,
|
|
47
|
+
MotionCard: () => import_motion_primitives.MotionCard,
|
|
48
|
+
SPRING: () => import_motion_primitives.SPRING,
|
|
49
|
+
ScrollSection: () => import_scroll_section.ScrollSection,
|
|
50
|
+
ShareButton: () => import_share_button.ShareButton,
|
|
51
|
+
Stagger: () => import_motion_primitives.Stagger,
|
|
52
|
+
StaggerItem: () => import_motion_primitives.StaggerItem,
|
|
53
|
+
TYPE_FILTERS: () => import_activity.TYPE_FILTERS,
|
|
54
|
+
TokenCard: () => import_token_card.TokenCard,
|
|
55
|
+
TokenCardSkeleton: () => import_token_card.TokenCardSkeleton,
|
|
32
56
|
cn: () => import_cn.cn,
|
|
33
57
|
formatDisplayPrice: () => import_format.formatDisplayPrice,
|
|
34
58
|
ipfsToHttp: () => import_ipfs.ipfsToHttp,
|
|
35
|
-
shortenAddress: () => import_address.shortenAddress
|
|
59
|
+
shortenAddress: () => import_address.shortenAddress,
|
|
60
|
+
timeAgo: () => import_time.timeAgo
|
|
36
61
|
});
|
|
37
62
|
module.exports = __toCommonJS(index_exports);
|
|
38
63
|
var import_cn = require("./utils/cn.js");
|
|
@@ -46,22 +71,61 @@ var import_ip_type_badge = require("./components/ip-type-badge.js");
|
|
|
46
71
|
var import_address_display = require("./components/address-display.js");
|
|
47
72
|
var import_brand_icon = require("./components/brand-icon.js");
|
|
48
73
|
var import_brand_logo = require("./components/brand-logo.js");
|
|
74
|
+
var import_motion_primitives = require("./components/motion-primitives.js");
|
|
75
|
+
var import_scroll_section = require("./components/scroll-section.js");
|
|
76
|
+
var import_share_button = require("./components/share-button.js");
|
|
77
|
+
var import_collection_card = require("./components/collection-card.js");
|
|
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");
|
|
49
88
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
89
|
0 && (module.exports = {
|
|
90
|
+
ACTIVITY_TYPE_CONFIG,
|
|
91
|
+
ActivityFeedShell,
|
|
92
|
+
ActivityRow,
|
|
93
|
+
ActivityTicker,
|
|
51
94
|
AddressDisplay,
|
|
52
95
|
BRAND,
|
|
96
|
+
CollectionCard,
|
|
97
|
+
CollectionCardSkeleton,
|
|
98
|
+
CtaCardGrid,
|
|
53
99
|
CurrencyAmount,
|
|
54
100
|
CurrencyIcon,
|
|
101
|
+
EASE_OUT,
|
|
102
|
+
FadeIn,
|
|
103
|
+
HeroSlider,
|
|
104
|
+
HeroSliderSkeleton,
|
|
55
105
|
IP_TYPE_CONFIG,
|
|
56
106
|
IP_TYPE_DATA,
|
|
57
107
|
IP_TYPE_DATA_MAP,
|
|
58
108
|
IP_TYPE_MAP,
|
|
59
109
|
IpTypeBadge,
|
|
110
|
+
KineticWords,
|
|
111
|
+
LaunchpadGrid,
|
|
112
|
+
ListingCard,
|
|
113
|
+
ListingCardSkeleton,
|
|
60
114
|
MedialaneIcon,
|
|
61
115
|
MedialaneLogoFull,
|
|
116
|
+
MotionCard,
|
|
117
|
+
SPRING,
|
|
118
|
+
ScrollSection,
|
|
119
|
+
ShareButton,
|
|
120
|
+
Stagger,
|
|
121
|
+
StaggerItem,
|
|
122
|
+
TYPE_FILTERS,
|
|
123
|
+
TokenCard,
|
|
124
|
+
TokenCardSkeleton,
|
|
62
125
|
cn,
|
|
63
126
|
formatDisplayPrice,
|
|
64
127
|
ipfsToHttp,
|
|
65
|
-
shortenAddress
|
|
128
|
+
shortenAddress,
|
|
129
|
+
timeAgo
|
|
66
130
|
});
|
|
67
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"],"mappings":";;;;;;;;;;;;;;;;;;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;","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
|
@@ -9,5 +9,23 @@ export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfi
|
|
|
9
9
|
export { AddressDisplay, AddressDisplayProps } from './components/address-display.cjs';
|
|
10
10
|
export { MedialaneIcon, MedialaneIconProps } from './components/brand-icon.cjs';
|
|
11
11
|
export { MedialaneLogoFull, MedialaneLogoFullProps } from './components/brand-logo.cjs';
|
|
12
|
+
export { EASE_OUT, FadeIn, KineticWords, MotionCard, SPRING, Stagger, StaggerItem } from './components/motion-primitives.cjs';
|
|
13
|
+
export { ScrollSection, ScrollSectionProps } from './components/scroll-section.cjs';
|
|
14
|
+
export { ShareButton, ShareButtonProps } from './components/share-button.cjs';
|
|
15
|
+
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.cjs';
|
|
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';
|
|
12
26
|
import 'clsx';
|
|
13
27
|
import 'react/jsx-runtime';
|
|
28
|
+
import 'framer-motion';
|
|
29
|
+
import '@medialane/sdk';
|
|
30
|
+
import 'react';
|
|
31
|
+
import 'lucide-react';
|
package/dist/index.d.ts
CHANGED
|
@@ -9,5 +9,23 @@ export { IP_TYPE_CONFIG, IP_TYPE_MAP, IpTypeBadge, IpTypeBadgeProps, IpTypeConfi
|
|
|
9
9
|
export { AddressDisplay, AddressDisplayProps } from './components/address-display.js';
|
|
10
10
|
export { MedialaneIcon, MedialaneIconProps } from './components/brand-icon.js';
|
|
11
11
|
export { MedialaneLogoFull, MedialaneLogoFullProps } from './components/brand-logo.js';
|
|
12
|
+
export { EASE_OUT, FadeIn, KineticWords, MotionCard, SPRING, Stagger, StaggerItem } from './components/motion-primitives.js';
|
|
13
|
+
export { ScrollSection, ScrollSectionProps } from './components/scroll-section.js';
|
|
14
|
+
export { ShareButton, ShareButtonProps } from './components/share-button.js';
|
|
15
|
+
export { CollectionCard, CollectionCardProps, CollectionCardSkeleton } from './components/collection-card.js';
|
|
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';
|
|
12
26
|
import 'clsx';
|
|
13
27
|
import 'react/jsx-runtime';
|
|
28
|
+
import 'framer-motion';
|
|
29
|
+
import '@medialane/sdk';
|
|
30
|
+
import 'react';
|
|
31
|
+
import 'lucide-react';
|
package/dist/index.js
CHANGED
|
@@ -9,21 +9,60 @@ import { IpTypeBadge, IP_TYPE_CONFIG, IP_TYPE_MAP } from "./components/ip-type-b
|
|
|
9
9
|
import { AddressDisplay } from "./components/address-display.js";
|
|
10
10
|
import { MedialaneIcon } from "./components/brand-icon.js";
|
|
11
11
|
import { MedialaneLogoFull } from "./components/brand-logo.js";
|
|
12
|
+
import { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from "./components/motion-primitives.js";
|
|
13
|
+
import { ScrollSection } from "./components/scroll-section.js";
|
|
14
|
+
import { ShareButton } from "./components/share-button.js";
|
|
15
|
+
import { CollectionCard, CollectionCardSkeleton } from "./components/collection-card.js";
|
|
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";
|
|
12
26
|
export {
|
|
27
|
+
ACTIVITY_TYPE_CONFIG,
|
|
28
|
+
ActivityFeedShell,
|
|
29
|
+
ActivityRow,
|
|
30
|
+
ActivityTicker,
|
|
13
31
|
AddressDisplay,
|
|
14
32
|
BRAND,
|
|
33
|
+
CollectionCard,
|
|
34
|
+
CollectionCardSkeleton,
|
|
35
|
+
CtaCardGrid,
|
|
15
36
|
CurrencyAmount,
|
|
16
37
|
CurrencyIcon,
|
|
38
|
+
EASE_OUT,
|
|
39
|
+
FadeIn,
|
|
40
|
+
HeroSlider,
|
|
41
|
+
HeroSliderSkeleton,
|
|
17
42
|
IP_TYPE_CONFIG,
|
|
18
43
|
IP_TYPE_DATA,
|
|
19
44
|
IP_TYPE_DATA_MAP,
|
|
20
45
|
IP_TYPE_MAP,
|
|
21
46
|
IpTypeBadge,
|
|
47
|
+
KineticWords,
|
|
48
|
+
LaunchpadGrid,
|
|
49
|
+
ListingCard,
|
|
50
|
+
ListingCardSkeleton,
|
|
22
51
|
MedialaneIcon,
|
|
23
52
|
MedialaneLogoFull,
|
|
53
|
+
MotionCard,
|
|
54
|
+
SPRING,
|
|
55
|
+
ScrollSection,
|
|
56
|
+
ShareButton,
|
|
57
|
+
Stagger,
|
|
58
|
+
StaggerItem,
|
|
59
|
+
TYPE_FILTERS,
|
|
60
|
+
TokenCard,
|
|
61
|
+
TokenCardSkeleton,
|
|
24
62
|
cn,
|
|
25
63
|
formatDisplayPrice,
|
|
26
64
|
ipfsToHttp,
|
|
27
|
-
shortenAddress
|
|
65
|
+
shortenAddress,
|
|
66
|
+
timeAgo
|
|
28
67
|
};
|
|
29
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"],"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;","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":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/* Medialane Design System — shared CSS
|
|
2
|
+
Imported by apps via: import "@medialane/ui/styles"
|
|
3
|
+
Do NOT import @tailwind directives here — apps handle that.
|
|
4
|
+
All classes here are pure CSS, no @apply. */
|
|
5
|
+
|
|
6
|
+
/* ── Scrollbars ───────────────────────────────────────────────────────── */
|
|
7
|
+
::-webkit-scrollbar { width: 4px; height: 4px; }
|
|
8
|
+
::-webkit-scrollbar-track { background: transparent; }
|
|
9
|
+
::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 4px; }
|
|
10
|
+
.scrollbar-none { scrollbar-width: none; }
|
|
11
|
+
.scrollbar-none::-webkit-scrollbar { display: none; }
|
|
12
|
+
.scrollbar-hide { scrollbar-width: none; }
|
|
13
|
+
.scrollbar-hide::-webkit-scrollbar { display: none; }
|
|
14
|
+
|
|
15
|
+
/* ── Glass ────────────────────────────────────────────────────────────── */
|
|
16
|
+
.glass {
|
|
17
|
+
background: rgba(10, 14, 30, 0.60);
|
|
18
|
+
backdrop-filter: blur(16px);
|
|
19
|
+
-webkit-backdrop-filter: blur(16px);
|
|
20
|
+
border: 1px solid rgba(255, 255, 255, 0.06);
|
|
21
|
+
}
|
|
22
|
+
.glass-light {
|
|
23
|
+
background: rgba(255, 255, 255, 0.80);
|
|
24
|
+
backdrop-filter: blur(16px);
|
|
25
|
+
-webkit-backdrop-filter: blur(16px);
|
|
26
|
+
border: 1px solid rgba(255, 255, 255, 0.5);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/* ── Typography gradients ─────────────────────────────────────────────── */
|
|
30
|
+
.gradient-text {
|
|
31
|
+
background: linear-gradient(135deg, #a855f7 0%, #6366f1 40%, #2563eb 100%);
|
|
32
|
+
-webkit-background-clip: text;
|
|
33
|
+
-webkit-text-fill-color: transparent;
|
|
34
|
+
background-clip: text;
|
|
35
|
+
}
|
|
36
|
+
.gradient-text-warm {
|
|
37
|
+
background: linear-gradient(135deg, #f43f5e 0%, #ea580c 60%, #f59e0b 100%);
|
|
38
|
+
-webkit-background-clip: text;
|
|
39
|
+
-webkit-text-fill-color: transparent;
|
|
40
|
+
background-clip: text;
|
|
41
|
+
}
|
|
42
|
+
.gradient-text-gold {
|
|
43
|
+
background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 50%, #ea580c 100%);
|
|
44
|
+
-webkit-background-clip: text;
|
|
45
|
+
-webkit-text-fill-color: transparent;
|
|
46
|
+
background-clip: text;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* ── Price ────────────────────────────────────────────────────────────── */
|
|
50
|
+
.price-value {
|
|
51
|
+
color: hsl(var(--price));
|
|
52
|
+
font-weight: 700;
|
|
53
|
+
font-variant-numeric: tabular-nums;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* ── Section label ────────────────────────────────────────────────────── */
|
|
57
|
+
.section-label {
|
|
58
|
+
font-size: 0.625rem;
|
|
59
|
+
font-weight: 700;
|
|
60
|
+
letter-spacing: 0.14em;
|
|
61
|
+
text-transform: uppercase;
|
|
62
|
+
color: hsl(var(--muted-foreground));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* ── Pill badge ───────────────────────────────────────────────────────── */
|
|
66
|
+
.pill-badge {
|
|
67
|
+
display: inline-flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: 0.375rem;
|
|
70
|
+
border-radius: 9999px;
|
|
71
|
+
border: 1px solid hsl(var(--primary) / 0.25);
|
|
72
|
+
background: hsl(var(--primary) / 0.08);
|
|
73
|
+
padding: 0.25rem 0.875rem;
|
|
74
|
+
font-size: 0.6875rem;
|
|
75
|
+
font-weight: 700;
|
|
76
|
+
letter-spacing: 0.1em;
|
|
77
|
+
text-transform: uppercase;
|
|
78
|
+
color: hsl(var(--primary));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* ── Aurora blobs ─────────────────────────────────────────────────────── */
|
|
82
|
+
.aurora-purple { position: absolute; border-radius: 9999px; background: #9333ea; filter: blur(100px); opacity: 0.07; }
|
|
83
|
+
.aurora-blue { position: absolute; border-radius: 9999px; background: #2563eb; filter: blur(120px); opacity: 0.06; }
|
|
84
|
+
.aurora-rose { position: absolute; border-radius: 9999px; background: #f43f5e; filter: blur(100px); opacity: 0.05; }
|
|
85
|
+
.aurora-orange { position: absolute; border-radius: 9999px; background: #ea580c; filter: blur(110px); opacity: 0.04; }
|
|
86
|
+
.dark .aurora-purple { opacity: 0.15; }
|
|
87
|
+
.dark .aurora-blue { opacity: 0.11; }
|
|
88
|
+
.dark .aurora-rose { opacity: 0.09; }
|
|
89
|
+
.dark .aurora-orange { opacity: 0.07; }
|
|
90
|
+
|
|
91
|
+
/* ── Card primitives ──────────────────────────────────────────────────── */
|
|
92
|
+
.card-base {
|
|
93
|
+
border-radius: calc(var(--radius) * 1.25);
|
|
94
|
+
border: 1px solid hsl(var(--border));
|
|
95
|
+
background: hsl(var(--card));
|
|
96
|
+
overflow: hidden;
|
|
97
|
+
will-change: transform;
|
|
98
|
+
}
|
|
99
|
+
.bento-cell {
|
|
100
|
+
border-radius: calc(var(--radius) * 1.25);
|
|
101
|
+
border: 1px solid hsl(var(--border));
|
|
102
|
+
background: hsl(var(--card));
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
position: relative;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* ── Background grid ──────────────────────────────────────────────────── */
|
|
108
|
+
.bg-grid {
|
|
109
|
+
background-image:
|
|
110
|
+
linear-gradient(hsl(var(--border) / 0.4) 1px, transparent 1px),
|
|
111
|
+
linear-gradient(90deg, hsl(var(--border) / 0.4) 1px, transparent 1px);
|
|
112
|
+
background-size: 48px 48px;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* ── Snap scroll ──────────────────────────────────────────────────────── */
|
|
116
|
+
.snap-x-mandatory { scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
|
|
117
|
+
.snap-start { scroll-snap-align: start; }
|
|
118
|
+
|
|
119
|
+
/* ── Keyframes ────────────────────────────────────────────────────────── */
|
|
120
|
+
@keyframes float {
|
|
121
|
+
0%, 100% { transform: translateY(0px); }
|
|
122
|
+
50% { transform: translateY(-10px); }
|
|
123
|
+
}
|
|
124
|
+
@keyframes blob-pulse {
|
|
125
|
+
0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.07; }
|
|
126
|
+
50% { transform: scale(1.15) rotate(10deg); opacity: 0.14; }
|
|
127
|
+
}
|
|
128
|
+
@keyframes blob-pulse-slow {
|
|
129
|
+
0%, 100% { transform: scale(1) rotate(0deg); opacity: 0.05; }
|
|
130
|
+
50% { transform: scale(1.2) rotate(-8deg); opacity: 0.11; }
|
|
131
|
+
}
|
|
132
|
+
@keyframes shimmer {
|
|
133
|
+
0% { background-position: -200% 0; }
|
|
134
|
+
100% { background-position: 200% 0; }
|
|
135
|
+
}
|
|
136
|
+
@keyframes pulse-glow {
|
|
137
|
+
0%, 100% { opacity: 0.6; }
|
|
138
|
+
50% { opacity: 1; }
|
|
139
|
+
}
|
|
140
|
+
@keyframes spin-slow { to { transform: rotate(360deg); } }
|
|
141
|
+
@keyframes digit-in {
|
|
142
|
+
from { transform: translateY(-14px); opacity: 0; }
|
|
143
|
+
to { transform: translateY(0); opacity: 1; }
|
|
144
|
+
}
|
|
145
|
+
@keyframes scroll-strip {
|
|
146
|
+
0% { transform: translateX(0); }
|
|
147
|
+
100% { transform: translateX(-50%); }
|
|
148
|
+
}
|
|
149
|
+
@keyframes kenburns {
|
|
150
|
+
0% { transform: scale(1.0) translate(0%, 0%); }
|
|
151
|
+
100% { transform: scale(1.08) translate(-1.5%, -1%); }
|
|
152
|
+
}
|
|
153
|
+
@keyframes border-flow {
|
|
154
|
+
0%, 100% { background-position: 0% 50%; }
|
|
155
|
+
50% { background-position: 100% 50%; }
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* ── Animation utilities ──────────────────────────────────────────────── */
|
|
159
|
+
.animate-float { animation: float 5s ease-in-out infinite; }
|
|
160
|
+
.animate-blob { animation: blob-pulse 7s ease-in-out infinite; }
|
|
161
|
+
.animate-blob-slow { animation: blob-pulse-slow 9s ease-in-out infinite 2s; }
|
|
162
|
+
.animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
|
|
163
|
+
.animate-spin-slow { animation: spin-slow 24s linear infinite; }
|
|
164
|
+
.animate-sparkle { animation: pulse-glow 2.5s ease-in-out infinite; }
|
|
165
|
+
.animate-kenburns { animation: kenburns 8s ease-in-out infinite alternate; transform-origin: center center; }
|
|
166
|
+
|
|
167
|
+
/* ── Reduced motion ───────────────────────────────────────────────────── */
|
|
168
|
+
@media (prefers-reduced-motion: reduce) {
|
|
169
|
+
.animate-float, .animate-blob, .animate-blob-slow,
|
|
170
|
+
.animate-pulse-glow, .animate-spin-slow, .animate-sparkle,
|
|
171
|
+
.animate-kenburns { animation: none; }
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* ── Input spinners (price inputs use custom suffix) ──────────────────── */
|
|
175
|
+
input[type="number"]::-webkit-outer-spin-button,
|
|
176
|
+
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
|
|
177
|
+
input[type="number"] { -moz-appearance: textfield; }
|
|
178
|
+
|
|
179
|
+
/* ── Animated gradient border (marketplace buy button) ────────────────── */
|
|
180
|
+
.btn-border-animated {
|
|
181
|
+
background: linear-gradient(270deg, #2563eb, #9333ea, #f43f5e, #ea580c, #2563eb);
|
|
182
|
+
background-size: 300% 300%;
|
|
183
|
+
animation: border-flow 5s ease infinite;
|
|
184
|
+
}
|