@medialane/ui 0.107.1 → 0.108.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/remixes-tab.cjs +91 -0
- package/dist/components/remixes-tab.cjs.map +1 -0
- package/dist/components/remixes-tab.d.cts +11 -0
- package/dist/components/remixes-tab.d.ts +11 -0
- package/dist/components/remixes-tab.js +57 -0
- package/dist/components/remixes-tab.js.map +1 -0
- package/dist/data/notification.cjs +17 -0
- package/dist/data/notification.cjs.map +1 -0
- package/dist/data/notification.d.cts +34 -0
- package/dist/data/notification.d.ts +34 -0
- package/dist/data/notification.js +1 -0
- package/dist/data/notification.js.map +1 -0
- package/dist/index.cjs +31 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/api-fetch.cjs +65 -0
- package/dist/utils/api-fetch.cjs.map +1 -0
- package/dist/utils/api-fetch.d.cts +38 -0
- package/dist/utils/api-fetch.d.ts +38 -0
- package/dist/utils/api-fetch.js +40 -0
- package/dist/utils/api-fetch.js.map +1 -0
- package/dist/utils/use-notifications.cjs +169 -0
- package/dist/utils/use-notifications.cjs.map +1 -0
- package/dist/utils/use-notifications.d.cts +12 -0
- package/dist/utils/use-notifications.d.ts +12 -0
- package/dist/utils/use-notifications.js +140 -0
- package/dist/utils/use-notifications.js.map +1 -0
- package/dist/utils/use-orders.cjs +153 -0
- package/dist/utils/use-orders.cjs.map +1 -0
- package/dist/utils/use-orders.d.cts +55 -0
- package/dist/utils/use-orders.d.ts +55 -0
- package/dist/utils/use-orders.js +113 -0
- package/dist/utils/use-orders.js.map +1 -0
- package/dist/utils/use-remix-offers.cjs +49 -0
- package/dist/utils/use-remix-offers.cjs.map +1 -0
- package/dist/utils/use-remix-offers.d.cts +19 -0
- package/dist/utils/use-remix-offers.d.ts +19 -0
- package/dist/utils/use-remix-offers.js +15 -0
- package/dist/utils/use-remix-offers.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var remixes_tab_exports = {};
|
|
31
|
+
__export(remixes_tab_exports, {
|
|
32
|
+
RemixesTab: () => RemixesTab
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(remixes_tab_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_link = __toESM(require("next/link"), 1);
|
|
37
|
+
var import_sdk = require("@medialane/sdk");
|
|
38
|
+
var import_lucide_react = require("lucide-react");
|
|
39
|
+
var import_use_remix_offers = require("../utils/use-remix-offers.js");
|
|
40
|
+
var import_skeleton = require("./skeleton.js");
|
|
41
|
+
function RemixesTab({ apiConfig, contractAddress, tokenId }) {
|
|
42
|
+
const { remixes, total, isLoading } = (0, import_use_remix_offers.useTokenRemixes)(apiConfig, contractAddress, tokenId);
|
|
43
|
+
if (isLoading) {
|
|
44
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-3", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_skeleton.Skeleton, { className: "aspect-square rounded-xl" }, i)) });
|
|
45
|
+
}
|
|
46
|
+
if (remixes.length === 0) {
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-col items-center gap-3 py-12 text-center", children: [
|
|
48
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.GitBranch, { className: "h-5 w-5 text-primary" }) }),
|
|
49
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm font-medium", children: "No remixes yet" }),
|
|
50
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-xs text-muted-foreground", children: "Remix this asset to create the first derivative work." })
|
|
51
|
+
] });
|
|
52
|
+
}
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "space-y-3", children: [
|
|
54
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-xs text-muted-foreground", children: [
|
|
55
|
+
total,
|
|
56
|
+
" remix",
|
|
57
|
+
total !== 1 ? "es" : "",
|
|
58
|
+
" of this asset"
|
|
59
|
+
] }),
|
|
60
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-3", children: remixes.map(
|
|
61
|
+
(remix) => remix.remixContract && remix.remixTokenId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
62
|
+
import_link.default,
|
|
63
|
+
{
|
|
64
|
+
href: (0, import_sdk.assetHref)("STARKNET", remix.remixContract, remix.remixTokenId),
|
|
65
|
+
className: "group relative block",
|
|
66
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "card-base p-3 space-y-1 hover:border-primary/40 transition-colors", children: [
|
|
67
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.GitBranch, { className: "h-3 w-3 text-primary" }),
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-primary font-medium", children: "Remix" })
|
|
70
|
+
] }),
|
|
71
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-xs tabular-nums truncate", children: [
|
|
72
|
+
"#",
|
|
73
|
+
remix.remixTokenId
|
|
74
|
+
] }),
|
|
75
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-[10px] text-muted-foreground", children: remix.licenseType }),
|
|
76
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex gap-1 flex-wrap", children: [
|
|
77
|
+
remix.commercial && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[9px] px-1.5 py-0.5 rounded-full bg-brand-blue/10 text-brand-blue border border-brand-blue/20", children: "Commercial" }),
|
|
78
|
+
remix.derivatives && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary border border-primary/20", children: "Derivatives" })
|
|
79
|
+
] })
|
|
80
|
+
] })
|
|
81
|
+
},
|
|
82
|
+
remix.id
|
|
83
|
+
) : null
|
|
84
|
+
) })
|
|
85
|
+
] });
|
|
86
|
+
}
|
|
87
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
+
0 && (module.exports = {
|
|
89
|
+
RemixesTab
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=remixes-tab.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/remixes-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { assetHref } from \"@medialane/sdk\";\nimport { GitBranch } from \"lucide-react\";\nimport { useTokenRemixes } from \"../utils/use-remix-offers.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport type { ApiFetchConfig } from \"../utils/api-fetch.js\";\n\nexport interface RemixesTabProps {\n apiConfig: ApiFetchConfig;\n contractAddress: string;\n tokenId: string;\n}\n\nexport function RemixesTab({ apiConfig, contractAddress, tokenId }: RemixesTabProps) {\n const { remixes, total, isLoading } = useTokenRemixes(apiConfig, contractAddress, tokenId);\n\n if (isLoading) {\n return (\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {Array.from({ length: 3 }).map((_, i) => (\n <Skeleton key={i} className=\"aspect-square rounded-xl\" />\n ))}\n </div>\n );\n }\n\n if (remixes.length === 0) {\n return (\n <div className=\"flex flex-col items-center gap-3 py-12 text-center\">\n <div className=\"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center\">\n <GitBranch className=\"h-5 w-5 text-primary\" />\n </div>\n <p className=\"text-sm font-medium\">No remixes yet</p>\n <p className=\"text-xs text-muted-foreground\">Remix this asset to create the first derivative work.</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-muted-foreground\">{total} remix{total !== 1 ? \"es\" : \"\"} of this asset</p>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {remixes.map((remix) =>\n remix.remixContract && remix.remixTokenId ? (\n <Link\n key={remix.id}\n href={assetHref(\"STARKNET\", remix.remixContract, remix.remixTokenId)}\n className=\"group relative block\"\n >\n <div className=\"card-base p-3 space-y-1 hover:border-primary/40 transition-colors\">\n <div className=\"flex items-center gap-1.5 text-xs text-muted-foreground\">\n <GitBranch className=\"h-3 w-3 text-primary\" />\n <span className=\"text-primary font-medium\">Remix</span>\n </div>\n <p className=\"text-xs tabular-nums truncate\">#{remix.remixTokenId}</p>\n <p className=\"text-[10px] text-muted-foreground\">{remix.licenseType}</p>\n <div className=\"flex gap-1 flex-wrap\">\n {remix.commercial && (\n <span className=\"text-[9px] px-1.5 py-0.5 rounded-full bg-brand-blue/10 text-brand-blue border border-brand-blue/20\">Commercial</span>\n )}\n {remix.derivatives && (\n <span className=\"text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary border border-primary/20\">Derivatives</span>\n )}\n </div>\n </div>\n </Link>\n ) : null\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBU;AApBV,kBAAiB;AACjB,iBAA0B;AAC1B,0BAA0B;AAC1B,8BAAgC;AAChC,sBAAyB;AASlB,SAAS,WAAW,EAAE,WAAW,iBAAiB,QAAQ,GAAoB;AACnF,QAAM,EAAE,SAAS,OAAO,UAAU,QAAI,yCAAgB,WAAW,iBAAiB,OAAO;AAEzF,MAAI,WAAW;AACb,WACE,4CAAC,SAAI,WAAU,yCACZ,gBAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MACjC,4CAAC,4BAAiB,WAAU,8BAAb,CAAwC,CACxD,GACH;AAAA,EAEJ;AAEA,MAAI,QAAQ,WAAW,GAAG;AACxB,WACE,6CAAC,SAAI,WAAU,sDACb;AAAA,kDAAC,SAAI,WAAU,yEACb,sDAAC,iCAAU,WAAU,wBAAuB,GAC9C;AAAA,MACA,4CAAC,OAAE,WAAU,uBAAsB,4BAAc;AAAA,MACjD,4CAAC,OAAE,WAAU,iCAAgC,mEAAqD;AAAA,OACpG;AAAA,EAEJ;AAEA,SACE,6CAAC,SAAI,WAAU,aACb;AAAA,iDAAC,OAAE,WAAU,iCAAiC;AAAA;AAAA,MAAM;AAAA,MAAO,UAAU,IAAI,OAAO;AAAA,MAAG;AAAA,OAAc;AAAA,IACjG,4CAAC,SAAI,WAAU,yCACZ,kBAAQ;AAAA,MAAI,CAAC,UACZ,MAAM,iBAAiB,MAAM,eAC3B;AAAA,QAAC,YAAAA;AAAA,QAAA;AAAA,UAEC,UAAM,sBAAU,YAAY,MAAM,eAAe,MAAM,YAAY;AAAA,UACnE,WAAU;AAAA,UAEV,uDAAC,SAAI,WAAU,qEACb;AAAA,yDAAC,SAAI,WAAU,2DACb;AAAA,0DAAC,iCAAU,WAAU,wBAAuB;AAAA,cAC5C,4CAAC,UAAK,WAAU,4BAA2B,mBAAK;AAAA,eAClD;AAAA,YACA,6CAAC,OAAE,WAAU,iCAAgC;AAAA;AAAA,cAAE,MAAM;AAAA,eAAa;AAAA,YAClE,4CAAC,OAAE,WAAU,qCAAqC,gBAAM,aAAY;AAAA,YACpE,6CAAC,SAAI,WAAU,wBACZ;AAAA,oBAAM,cACL,4CAAC,UAAK,WAAU,sGAAqG,wBAAU;AAAA,cAEhI,MAAM,eACL,4CAAC,UAAK,WAAU,6FAA4F,yBAAW;AAAA,eAE3H;AAAA,aACF;AAAA;AAAA,QAnBK,MAAM;AAAA,MAoBb,IACE;AAAA,IACN,GACF;AAAA,KACF;AAEJ;","names":["Link"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ApiFetchConfig } from '../utils/api-fetch.cjs';
|
|
3
|
+
|
|
4
|
+
interface RemixesTabProps {
|
|
5
|
+
apiConfig: ApiFetchConfig;
|
|
6
|
+
contractAddress: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
}
|
|
9
|
+
declare function RemixesTab({ apiConfig, contractAddress, tokenId }: RemixesTabProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { RemixesTab, type RemixesTabProps };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ApiFetchConfig } from '../utils/api-fetch.js';
|
|
3
|
+
|
|
4
|
+
interface RemixesTabProps {
|
|
5
|
+
apiConfig: ApiFetchConfig;
|
|
6
|
+
contractAddress: string;
|
|
7
|
+
tokenId: string;
|
|
8
|
+
}
|
|
9
|
+
declare function RemixesTab({ apiConfig, contractAddress, tokenId }: RemixesTabProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { RemixesTab, type RemixesTabProps };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Link from "next/link";
|
|
4
|
+
import { assetHref } from "@medialane/sdk";
|
|
5
|
+
import { GitBranch } from "lucide-react";
|
|
6
|
+
import { useTokenRemixes } from "../utils/use-remix-offers.js";
|
|
7
|
+
import { Skeleton } from "./skeleton.js";
|
|
8
|
+
function RemixesTab({ apiConfig, contractAddress, tokenId }) {
|
|
9
|
+
const { remixes, total, isLoading } = useTokenRemixes(apiConfig, contractAddress, tokenId);
|
|
10
|
+
if (isLoading) {
|
|
11
|
+
return /* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-3", children: Array.from({ length: 3 }).map((_, i) => /* @__PURE__ */ jsx(Skeleton, { className: "aspect-square rounded-xl" }, i)) });
|
|
12
|
+
}
|
|
13
|
+
if (remixes.length === 0) {
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-3 py-12 text-center", children: [
|
|
15
|
+
/* @__PURE__ */ jsx("div", { className: "h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center", children: /* @__PURE__ */ jsx(GitBranch, { className: "h-5 w-5 text-primary" }) }),
|
|
16
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: "No remixes yet" }),
|
|
17
|
+
/* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: "Remix this asset to create the first derivative work." })
|
|
18
|
+
] });
|
|
19
|
+
}
|
|
20
|
+
return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
21
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground", children: [
|
|
22
|
+
total,
|
|
23
|
+
" remix",
|
|
24
|
+
total !== 1 ? "es" : "",
|
|
25
|
+
" of this asset"
|
|
26
|
+
] }),
|
|
27
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 sm:grid-cols-3 gap-3", children: remixes.map(
|
|
28
|
+
(remix) => remix.remixContract && remix.remixTokenId ? /* @__PURE__ */ jsx(
|
|
29
|
+
Link,
|
|
30
|
+
{
|
|
31
|
+
href: assetHref("STARKNET", remix.remixContract, remix.remixTokenId),
|
|
32
|
+
className: "group relative block",
|
|
33
|
+
children: /* @__PURE__ */ jsxs("div", { className: "card-base p-3 space-y-1 hover:border-primary/40 transition-colors", children: [
|
|
34
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
35
|
+
/* @__PURE__ */ jsx(GitBranch, { className: "h-3 w-3 text-primary" }),
|
|
36
|
+
/* @__PURE__ */ jsx("span", { className: "text-primary font-medium", children: "Remix" })
|
|
37
|
+
] }),
|
|
38
|
+
/* @__PURE__ */ jsxs("p", { className: "text-xs tabular-nums truncate", children: [
|
|
39
|
+
"#",
|
|
40
|
+
remix.remixTokenId
|
|
41
|
+
] }),
|
|
42
|
+
/* @__PURE__ */ jsx("p", { className: "text-[10px] text-muted-foreground", children: remix.licenseType }),
|
|
43
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-1 flex-wrap", children: [
|
|
44
|
+
remix.commercial && /* @__PURE__ */ jsx("span", { className: "text-[9px] px-1.5 py-0.5 rounded-full bg-brand-blue/10 text-brand-blue border border-brand-blue/20", children: "Commercial" }),
|
|
45
|
+
remix.derivatives && /* @__PURE__ */ jsx("span", { className: "text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary border border-primary/20", children: "Derivatives" })
|
|
46
|
+
] })
|
|
47
|
+
] })
|
|
48
|
+
},
|
|
49
|
+
remix.id
|
|
50
|
+
) : null
|
|
51
|
+
) })
|
|
52
|
+
] });
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
RemixesTab
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=remixes-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/remixes-tab.tsx"],"sourcesContent":["\"use client\";\n\nimport Link from \"next/link\";\nimport { assetHref } from \"@medialane/sdk\";\nimport { GitBranch } from \"lucide-react\";\nimport { useTokenRemixes } from \"../utils/use-remix-offers.js\";\nimport { Skeleton } from \"./skeleton.js\";\nimport type { ApiFetchConfig } from \"../utils/api-fetch.js\";\n\nexport interface RemixesTabProps {\n apiConfig: ApiFetchConfig;\n contractAddress: string;\n tokenId: string;\n}\n\nexport function RemixesTab({ apiConfig, contractAddress, tokenId }: RemixesTabProps) {\n const { remixes, total, isLoading } = useTokenRemixes(apiConfig, contractAddress, tokenId);\n\n if (isLoading) {\n return (\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {Array.from({ length: 3 }).map((_, i) => (\n <Skeleton key={i} className=\"aspect-square rounded-xl\" />\n ))}\n </div>\n );\n }\n\n if (remixes.length === 0) {\n return (\n <div className=\"flex flex-col items-center gap-3 py-12 text-center\">\n <div className=\"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center\">\n <GitBranch className=\"h-5 w-5 text-primary\" />\n </div>\n <p className=\"text-sm font-medium\">No remixes yet</p>\n <p className=\"text-xs text-muted-foreground\">Remix this asset to create the first derivative work.</p>\n </div>\n );\n }\n\n return (\n <div className=\"space-y-3\">\n <p className=\"text-xs text-muted-foreground\">{total} remix{total !== 1 ? \"es\" : \"\"} of this asset</p>\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {remixes.map((remix) =>\n remix.remixContract && remix.remixTokenId ? (\n <Link\n key={remix.id}\n href={assetHref(\"STARKNET\", remix.remixContract, remix.remixTokenId)}\n className=\"group relative block\"\n >\n <div className=\"card-base p-3 space-y-1 hover:border-primary/40 transition-colors\">\n <div className=\"flex items-center gap-1.5 text-xs text-muted-foreground\">\n <GitBranch className=\"h-3 w-3 text-primary\" />\n <span className=\"text-primary font-medium\">Remix</span>\n </div>\n <p className=\"text-xs tabular-nums truncate\">#{remix.remixTokenId}</p>\n <p className=\"text-[10px] text-muted-foreground\">{remix.licenseType}</p>\n <div className=\"flex gap-1 flex-wrap\">\n {remix.commercial && (\n <span className=\"text-[9px] px-1.5 py-0.5 rounded-full bg-brand-blue/10 text-brand-blue border border-brand-blue/20\">Commercial</span>\n )}\n {remix.derivatives && (\n <span className=\"text-[9px] px-1.5 py-0.5 rounded-full bg-primary/10 text-primary border border-primary/20\">Derivatives</span>\n )}\n </div>\n </div>\n </Link>\n ) : null\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";AAsBU,cAQJ,YARI;AApBV,OAAO,UAAU;AACjB,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAChC,SAAS,gBAAgB;AASlB,SAAS,WAAW,EAAE,WAAW,iBAAiB,QAAQ,GAAoB;AACnF,QAAM,EAAE,SAAS,OAAO,UAAU,IAAI,gBAAgB,WAAW,iBAAiB,OAAO;AAEzF,MAAI,WAAW;AACb,WACE,oBAAC,SAAI,WAAU,yCACZ,gBAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,MACjC,oBAAC,YAAiB,WAAU,8BAAb,CAAwC,CACxD,GACH;AAAA,EAEJ;AAEA,MAAI,QAAQ,WAAW,GAAG;AACxB,WACE,qBAAC,SAAI,WAAU,sDACb;AAAA,0BAAC,SAAI,WAAU,yEACb,8BAAC,aAAU,WAAU,wBAAuB,GAC9C;AAAA,MACA,oBAAC,OAAE,WAAU,uBAAsB,4BAAc;AAAA,MACjD,oBAAC,OAAE,WAAU,iCAAgC,mEAAqD;AAAA,OACpG;AAAA,EAEJ;AAEA,SACE,qBAAC,SAAI,WAAU,aACb;AAAA,yBAAC,OAAE,WAAU,iCAAiC;AAAA;AAAA,MAAM;AAAA,MAAO,UAAU,IAAI,OAAO;AAAA,MAAG;AAAA,OAAc;AAAA,IACjG,oBAAC,SAAI,WAAU,yCACZ,kBAAQ;AAAA,MAAI,CAAC,UACZ,MAAM,iBAAiB,MAAM,eAC3B;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM,UAAU,YAAY,MAAM,eAAe,MAAM,YAAY;AAAA,UACnE,WAAU;AAAA,UAEV,+BAAC,SAAI,WAAU,qEACb;AAAA,iCAAC,SAAI,WAAU,2DACb;AAAA,kCAAC,aAAU,WAAU,wBAAuB;AAAA,cAC5C,oBAAC,UAAK,WAAU,4BAA2B,mBAAK;AAAA,eAClD;AAAA,YACA,qBAAC,OAAE,WAAU,iCAAgC;AAAA;AAAA,cAAE,MAAM;AAAA,eAAa;AAAA,YAClE,oBAAC,OAAE,WAAU,qCAAqC,gBAAM,aAAY;AAAA,YACpE,qBAAC,SAAI,WAAU,wBACZ;AAAA,oBAAM,cACL,oBAAC,UAAK,WAAU,sGAAqG,wBAAU;AAAA,cAEhI,MAAM,eACL,oBAAC,UAAK,WAAU,6FAA4F,yBAAW;AAAA,eAE3H;AAAA,aACF;AAAA;AAAA,QAnBK,MAAM;AAAA,MAoBb,IACE;AAAA,IACN,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var notification_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(notification_exports);
|
|
17
|
+
//# sourceMappingURL=notification.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/data/notification.ts"],"sourcesContent":["export type NotificationType =\n | \"offer\"\n | \"offer_accepted\"\n | \"sale\"\n | \"listing\"\n | \"mint\"\n | \"transfer\"\n | \"asset_received\"\n | \"cancelled\"\n | \"announcement\";\n\n/** \"spotlight\" notifications open the full-attention panel on login; \"normal\" go to the feed only. */\nexport type NotificationPriority = \"normal\" | \"spotlight\";\n\nexport interface Notification {\n id: string;\n type: NotificationType;\n title: string;\n description: string;\n image: string | null;\n href: string;\n timestamp: string;\n isUnread: boolean;\n priority: NotificationPriority;\n /** True for positive outcomes that trigger confetti in the spotlight panel. */\n celebratory?: boolean;\n /** Extra structured data for rich spotlight rendering. */\n metadata?: {\n amount?: string;\n currency?: string;\n txHash?: string;\n assetName?: string;\n };\n}\n\nexport interface Announcement {\n id: string;\n title: string;\n body: string;\n image: string | null;\n href: string;\n created_at: string;\n pinned?: boolean;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
type NotificationType = "offer" | "offer_accepted" | "sale" | "listing" | "mint" | "transfer" | "asset_received" | "cancelled" | "announcement";
|
|
2
|
+
/** "spotlight" notifications open the full-attention panel on login; "normal" go to the feed only. */
|
|
3
|
+
type NotificationPriority = "normal" | "spotlight";
|
|
4
|
+
interface Notification {
|
|
5
|
+
id: string;
|
|
6
|
+
type: NotificationType;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
image: string | null;
|
|
10
|
+
href: string;
|
|
11
|
+
timestamp: string;
|
|
12
|
+
isUnread: boolean;
|
|
13
|
+
priority: NotificationPriority;
|
|
14
|
+
/** True for positive outcomes that trigger confetti in the spotlight panel. */
|
|
15
|
+
celebratory?: boolean;
|
|
16
|
+
/** Extra structured data for rich spotlight rendering. */
|
|
17
|
+
metadata?: {
|
|
18
|
+
amount?: string;
|
|
19
|
+
currency?: string;
|
|
20
|
+
txHash?: string;
|
|
21
|
+
assetName?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
interface Announcement {
|
|
25
|
+
id: string;
|
|
26
|
+
title: string;
|
|
27
|
+
body: string;
|
|
28
|
+
image: string | null;
|
|
29
|
+
href: string;
|
|
30
|
+
created_at: string;
|
|
31
|
+
pinned?: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type { Announcement, Notification, NotificationPriority, NotificationType };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
type NotificationType = "offer" | "offer_accepted" | "sale" | "listing" | "mint" | "transfer" | "asset_received" | "cancelled" | "announcement";
|
|
2
|
+
/** "spotlight" notifications open the full-attention panel on login; "normal" go to the feed only. */
|
|
3
|
+
type NotificationPriority = "normal" | "spotlight";
|
|
4
|
+
interface Notification {
|
|
5
|
+
id: string;
|
|
6
|
+
type: NotificationType;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
image: string | null;
|
|
10
|
+
href: string;
|
|
11
|
+
timestamp: string;
|
|
12
|
+
isUnread: boolean;
|
|
13
|
+
priority: NotificationPriority;
|
|
14
|
+
/** True for positive outcomes that trigger confetti in the spotlight panel. */
|
|
15
|
+
celebratory?: boolean;
|
|
16
|
+
/** Extra structured data for rich spotlight rendering. */
|
|
17
|
+
metadata?: {
|
|
18
|
+
amount?: string;
|
|
19
|
+
currency?: string;
|
|
20
|
+
txHash?: string;
|
|
21
|
+
assetName?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
interface Announcement {
|
|
25
|
+
id: string;
|
|
26
|
+
title: string;
|
|
27
|
+
body: string;
|
|
28
|
+
image: string | null;
|
|
29
|
+
href: string;
|
|
30
|
+
created_at: string;
|
|
31
|
+
pinned?: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type { Announcement, Notification, NotificationPriority, NotificationType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(index_exports, {
|
|
|
33
33
|
AlertDescription: () => import_alert.AlertDescription,
|
|
34
34
|
AlertTitle: () => import_alert.AlertTitle,
|
|
35
35
|
AnimatedTokenMedia: () => import_animated_token_media.AnimatedTokenMedia,
|
|
36
|
+
ApiError: () => import_api_fetch.ApiError,
|
|
36
37
|
AssetCard: () => import_asset_card.AssetCard,
|
|
37
38
|
AssetCardSkeleton: () => import_asset_card.AssetCardSkeleton,
|
|
38
39
|
AssetCollectionBar: () => import_asset_collection_bar.AssetCollectionBar,
|
|
@@ -197,6 +198,7 @@ __export(index_exports, {
|
|
|
197
198
|
PortfolioOverview: () => import_portfolio_overview.PortfolioOverview,
|
|
198
199
|
PriceHistoryChart: () => import_price_history_chart.PriceHistoryChart,
|
|
199
200
|
QUERY_PREFIX: () => import_query_keys.QUERY_PREFIX,
|
|
201
|
+
RemixesTab: () => import_remixes_tab.RemixesTab,
|
|
200
202
|
SERVICE_HUES: () => import_launchpad_services.SERVICE_HUES,
|
|
201
203
|
SOCIAL_PLATFORM_META: () => import_ip_templates.SOCIAL_PLATFORM_META,
|
|
202
204
|
SORT_OPTIONS: () => import_collection_filters.SORT_OPTIONS,
|
|
@@ -249,6 +251,7 @@ __export(index_exports, {
|
|
|
249
251
|
TokenGlyph: () => import_token_glyph.TokenGlyph,
|
|
250
252
|
XpProgress: () => import_xp_progress.XpProgress,
|
|
251
253
|
XpToastContent: () => import_xp_toast_content.XpToastContent,
|
|
254
|
+
apiFetch: () => import_api_fetch.apiFetch,
|
|
252
255
|
badgeVariants: () => import_badge.badgeVariants,
|
|
253
256
|
buildEditionStats: () => import_asset_top_sections.buildEditionStats,
|
|
254
257
|
buttonVariants: () => import_button.buttonVariants,
|
|
@@ -282,10 +285,12 @@ __export(index_exports, {
|
|
|
282
285
|
useActivitiesByAddress: () => import_use_activities.useActivitiesByAddress,
|
|
283
286
|
useCollection: () => import_use_collections.useCollection,
|
|
284
287
|
useCollectionFilters: () => import_collection_filters.useCollectionFilters,
|
|
288
|
+
useCollectionFloorListings: () => import_use_orders.useCollectionFloorListings,
|
|
285
289
|
useCollectionProfile: () => import_use_profiles.useCollectionProfile,
|
|
286
290
|
useCollectionTokens: () => import_use_collections.useCollectionTokens,
|
|
287
291
|
useCollections: () => import_use_collections.useCollections,
|
|
288
292
|
useCollectionsByOwner: () => import_use_collections.useCollectionsByOwner,
|
|
293
|
+
useCounterOffers: () => import_use_orders.useCounterOffers,
|
|
289
294
|
useCreatorProfile: () => import_use_profiles.useCreatorProfile,
|
|
290
295
|
useCreators: () => import_use_creators.useCreators,
|
|
291
296
|
useFormField: () => import_form.useFormField,
|
|
@@ -296,11 +301,18 @@ __export(index_exports, {
|
|
|
296
301
|
useNavAccountSheet: () => import_nav_shell.useNavAccountSheet,
|
|
297
302
|
useNavCommandMenu: () => import_nav_command_menu.useNavCommandMenu,
|
|
298
303
|
useNearbyCollectionTokens: () => import_use_collections.useNearbyCollectionTokens,
|
|
304
|
+
useNotifications: () => import_use_notifications.useNotifications,
|
|
305
|
+
useOrder: () => import_use_orders.useOrder,
|
|
306
|
+
useOrders: () => import_use_orders.useOrders,
|
|
307
|
+
useReceivedOffers: () => import_use_orders.useReceivedOffers,
|
|
299
308
|
useRewards: () => import_use_rewards.useRewards,
|
|
300
309
|
useRewardsBatch: () => import_use_rewards.useRewardsBatch,
|
|
301
310
|
useRewardsCelebrations: () => import_use_rewards_celebrations.useRewardsCelebrations,
|
|
302
311
|
useRewardsConfig: () => import_use_rewards.useRewardsConfig,
|
|
303
|
-
useRewardsEvents: () => import_use_rewards.useRewardsEvents
|
|
312
|
+
useRewardsEvents: () => import_use_rewards.useRewardsEvents,
|
|
313
|
+
useTokenListings: () => import_use_orders.useTokenListings,
|
|
314
|
+
useTokenRemixes: () => import_use_remix_offers.useTokenRemixes,
|
|
315
|
+
useUserOrders: () => import_use_orders.useUserOrders
|
|
304
316
|
});
|
|
305
317
|
module.exports = __toCommonJS(index_exports);
|
|
306
318
|
var import_cn = require("./utils/cn.js");
|
|
@@ -440,6 +452,11 @@ var import_creator_score_inline = require("./components/creator-score-inline.js"
|
|
|
440
452
|
var import_use_medialane_client = require("./utils/use-medialane-client.js");
|
|
441
453
|
var import_use_creators = require("./utils/use-creators.js");
|
|
442
454
|
var import_use_rewards = require("./utils/use-rewards.js");
|
|
455
|
+
var import_api_fetch = require("./utils/api-fetch.js");
|
|
456
|
+
var import_use_orders = require("./utils/use-orders.js");
|
|
457
|
+
var import_use_notifications = require("./utils/use-notifications.js");
|
|
458
|
+
var import_use_remix_offers = require("./utils/use-remix-offers.js");
|
|
459
|
+
var import_remixes_tab = require("./components/remixes-tab.js");
|
|
443
460
|
var import_owner_setup_panel = require("./components/owner-setup-panel.js");
|
|
444
461
|
var import_drop_countdown = require("./components/drop-countdown.js");
|
|
445
462
|
var import_creator_analytics = require("./components/creator-analytics.js");
|
|
@@ -461,6 +478,7 @@ var import_dialog = require("./components/dialog.js");
|
|
|
461
478
|
AlertDescription,
|
|
462
479
|
AlertTitle,
|
|
463
480
|
AnimatedTokenMedia,
|
|
481
|
+
ApiError,
|
|
464
482
|
AssetCard,
|
|
465
483
|
AssetCardSkeleton,
|
|
466
484
|
AssetCollectionBar,
|
|
@@ -625,6 +643,7 @@ var import_dialog = require("./components/dialog.js");
|
|
|
625
643
|
PortfolioOverview,
|
|
626
644
|
PriceHistoryChart,
|
|
627
645
|
QUERY_PREFIX,
|
|
646
|
+
RemixesTab,
|
|
628
647
|
SERVICE_HUES,
|
|
629
648
|
SOCIAL_PLATFORM_META,
|
|
630
649
|
SORT_OPTIONS,
|
|
@@ -677,6 +696,7 @@ var import_dialog = require("./components/dialog.js");
|
|
|
677
696
|
TokenGlyph,
|
|
678
697
|
XpProgress,
|
|
679
698
|
XpToastContent,
|
|
699
|
+
apiFetch,
|
|
680
700
|
badgeVariants,
|
|
681
701
|
buildEditionStats,
|
|
682
702
|
buttonVariants,
|
|
@@ -710,10 +730,12 @@ var import_dialog = require("./components/dialog.js");
|
|
|
710
730
|
useActivitiesByAddress,
|
|
711
731
|
useCollection,
|
|
712
732
|
useCollectionFilters,
|
|
733
|
+
useCollectionFloorListings,
|
|
713
734
|
useCollectionProfile,
|
|
714
735
|
useCollectionTokens,
|
|
715
736
|
useCollections,
|
|
716
737
|
useCollectionsByOwner,
|
|
738
|
+
useCounterOffers,
|
|
717
739
|
useCreatorProfile,
|
|
718
740
|
useCreators,
|
|
719
741
|
useFormField,
|
|
@@ -724,10 +746,17 @@ var import_dialog = require("./components/dialog.js");
|
|
|
724
746
|
useNavAccountSheet,
|
|
725
747
|
useNavCommandMenu,
|
|
726
748
|
useNearbyCollectionTokens,
|
|
749
|
+
useNotifications,
|
|
750
|
+
useOrder,
|
|
751
|
+
useOrders,
|
|
752
|
+
useReceivedOffers,
|
|
727
753
|
useRewards,
|
|
728
754
|
useRewardsBatch,
|
|
729
755
|
useRewardsCelebrations,
|
|
730
756
|
useRewardsConfig,
|
|
731
|
-
useRewardsEvents
|
|
757
|
+
useRewardsEvents,
|
|
758
|
+
useTokenListings,
|
|
759
|
+
useTokenRemixes,
|
|
760
|
+
useUserOrders
|
|
732
761
|
});
|
|
733
762
|
//# 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, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.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 { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.62.0 — nav shell (brand trigger + header buttons + account sheet) ─────\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\n// ── v0.59.0 — portfolio shell (two-level nav + header + overview) ────────────\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { PortfolioOverview } from \"./components/portfolio-overview.js\";\nexport type {\n PortfolioOverviewProps,\n PortfolioBentoTileConfig,\n} from \"./components/portfolio-overview.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioBentoTile } from \"./components/portfolio-bento-tile.js\";\nexport type { PortfolioBentoTileProps } from \"./components/portfolio-bento-tile.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\n// Rewards score kit (v0.36.0)\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\nexport { createRewardToast } from \"./components/rewards/reward-toast.js\";\nexport type { RewardToastSnapshot } from \"./components/rewards/reward-toast.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\nexport { CreatorAirdropBanner } from \"./components/creator-airdrop-banner.js\";\nexport type { CreatorAirdropBannerProps } from \"./components/creator-airdrop-banner.js\";\n\n// ── Design system primitives — action-focus pattern, tokens, data display ────\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\n// ── v0.99.0 additions — rewards UX overhaul ───────────────────────────────────\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlockToastContent } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport type { BadgeUnlockToastContentProps } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\n// ── Primitives (shadcn-derived, deduplicated from io + starknet) ─────────────\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\n// ── v0.106.0 additions — dedupe pass 2 (io + starknet audit) ─────────────────\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\n// ── v0.107.0 additions — dedupe pass 3: data-fetching hooks + their views ────\n// Same getClient-injection pattern as useRewards/useCreators — the app\n// supplies its own SDK client factory, none of this touches wallet state.\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/dialog.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_launchpad_services"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["// ── Utils ─────────────────────────────────────────────────────────────────────\nexport { cn } from \"./utils/cn.js\";\nexport { formatDisplayPrice, parsePriceDisplay } from \"./utils/format.js\";\nexport { shortenAddress } from \"./utils/address.js\";\nexport { ipfsToHttp } from \"./utils/ipfs.js\";\nexport { useIntersectionActive } from \"./utils/use-intersection-active.js\";\nexport { getReadIds, markRead } from \"./utils/notification-storage.js\";\nexport { licenseSummary } from \"./utils/license-summary.js\";\n\n// ── Data (server-safe — no React, safe in Server Components) ──────────────────\nexport { IP_TYPE_DATA, IP_TYPE_DATA_MAP } from \"./data/ip-types.js\";\nexport type { IpTypeData } from \"./data/ip-types.js\";\nexport {\n IP_TYPES, LICENSE_TYPES, GEOGRAPHIC_SCOPES, AI_POLICIES,\n DERIVATIVES_OPTIONS, LICENSE_TRAIT_TYPES,\n} from \"./data/ip.js\";\nexport type { IPType, LicenseType } from \"./data/ip.js\";\nexport {\n IP_TEMPLATES, EMBED_PLATFORM_META, SOCIAL_PLATFORM_META, TEMPLATE_TRAIT_TYPES, DOC_UPLOAD,\n} from \"./data/ip-templates.js\";\nexport type { EmbedPlatform, SocialPlatform, TraitSuggestion, IPTemplate, DocUploadConfig } from \"./data/ip-templates.js\";\nexport { IPTypeDisplay } from \"./components/ip-type-display.js\";\nexport { AssetOverviewContent } from \"./components/asset-overview-content.js\";\nexport { AssetLicenseSummary } from \"./components/asset-license-summary.js\";\nexport { AssetMarketsTab } from \"./components/asset-markets-tab.js\";\nexport { ParentAttributionBanner } from \"./components/parent-attribution-banner.js\";\nexport type { ParentBannerProps } from \"./components/parent-attribution-banner.js\";\nexport { AssetMediaColumn, AssetHeaderBlock, AssetOwnerRow, buildEditionStats } from \"./components/asset-top-sections.js\";\nexport type { AssetOwnerRowProps } from \"./components/asset-top-sections.js\";\nexport { AssetCollectionBar } from \"./components/asset-collection-bar.js\";\nexport type { AssetCollectionBarProps, AssetCollectionBarSibling } from \"./components/asset-collection-bar.js\";\nexport { AssetUtilityIcons } from \"./components/asset-utility-icons.js\";\nexport type { AssetUtilityIconsProps } from \"./components/asset-utility-icons.js\";\nexport { AssetMarketplacePanel } from \"./components/asset-marketplace-panel.js\";\nexport type { AssetMarketplacePanelProps, ApiOrderLike } from \"./components/asset-marketplace-panel.js\";\nexport { BRAND } from \"./data/brand.js\";\nexport { LIVING_RENDER_COLLECTIONS, isLivingRenderCollection } from \"./data/living-render-collections.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 { MedialaneLogoFull } from \"./components/brand-logo.js\";\nexport type { MedialaneLogoFullProps } from \"./components/brand-logo.js\";\n\n// ── v0.2 additions ────────────────────────────────────────────────────────────\nexport { MotionCard, FadeIn, Stagger, StaggerItem, KineticWords, SPRING, EASE_OUT } from \"./components/motion-primitives.js\";\nexport { PageContainer } from \"./components/page-container.js\";\nexport type { PageContainerProps } from \"./components/page-container.js\";\nexport { ScrollSection } from \"./components/scroll-section.js\";\nexport type { ScrollSectionProps } from \"./components/scroll-section.js\";\nexport { ShareButton } from \"./components/share-button.js\";\nexport type { ShareButtonProps } from \"./components/share-button.js\";\nexport { CollectionCard, CollectionCardSkeleton } from \"./components/collection-card.js\";\nexport type { CollectionCardProps } from \"./components/collection-card.js\";\nexport { TokenCard, TokenCardSkeleton } from \"./components/token-card.js\";\nexport type { TokenCardProps } from \"./components/token-card.js\";\nexport { AnimatedTokenMedia } from \"./components/animated-token-media.js\";\nexport type { AnimatedTokenMediaProps } from \"./components/animated-token-media.js\";\nexport { ThemeAmbientBackground } from \"./components/theme-ambient-background.js\";\nexport {\n useCollectionFilters, SORT_OPTIONS, CollectionFiltersTrigger, CollectionFiltersBody,\n} from \"./components/collection-filters.js\";\nexport type { TraitSection, CollectionFiltersTriggerProps, CollectionFiltersBodyProps } from \"./components/collection-filters.js\";\nexport {\n DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem,\n DropdownMenuCheckboxItem, DropdownMenuRadioItem, DropdownMenuLabel,\n DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuGroup,\n DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuRadioGroup,\n} from \"./components/dropdown-menu.js\";\nexport { AssetCard, AssetCardSkeleton } from \"./components/asset-card.js\";\nexport type { AssetCardProps, AssetCardPrice } from \"./components/asset-card.js\";\nexport { AssetPicker } from \"./components/asset-picker.js\";\nexport type { AssetPickerProps, OwnedAsset } from \"./components/asset-picker.js\";\nexport { AssetSearchPicker } from \"./components/asset-search-picker.js\";\nexport type { AssetSearchPickerProps } from \"./components/asset-search-picker.js\";\nexport { LicenseTermsBuilder, EMPTY_SPONSORSHIP_TERMS, MEDIA_TYPES, DURATION_UNITS, toLicenseMetadata, toDurationDays } from \"./components/license-terms-builder.js\";\nexport type { LicenseTermsBuilderProps, SponsorshipTerms, DurationUnit } from \"./components/license-terms-builder.js\";\n// ── Coin discovery (chain-agnostic; price/data/href injected by the app) ─────\nexport {\n coinKind, formatCoinPrice, formatFdv,\n type CoinKind, type CoinCollectionLike, type CoinPriceLike,\n} from \"./data/coins.js\";\nexport { CoinCard, CoinRow, CoinCardSkeleton, type UseCoinPrice, type CoinTileProps } from \"./components/coin-card.js\";\nexport {\n CoinsExplorer,\n type CoinsExplorerProps, type CoinFilter, type CoinSort, type UseCoins,\n} from \"./components/coins-explorer.js\";\n\n// ── v0.3 additions ────────────────────────────────────────────────────────────\nexport { timeAgo, timeUntil } from \"./utils/time.js\";\nexport { ACTIVITY_TYPE_CONFIG, TYPE_FILTERS } from \"./data/activity.js\";\nexport type { ActivityTypeConfig } from \"./data/activity.js\";\nexport { HeroSlider, HeroSliderSkeleton } from \"./components/hero-slider.js\";\nexport type { HeroSliderProps } from \"./components/hero-slider.js\";\nexport { ActivityTicker } from \"./components/activity-ticker.js\";\nexport type { ActivityTickerProps } from \"./components/activity-ticker.js\";\nexport { ListingCard, ListingCardSkeleton } from \"./components/listing-card.js\";\nexport type { ListingCardProps } from \"./components/listing-card.js\";\nexport { ActivityRow } from \"./components/activity-row.js\";\nexport type { ActivityRowProps } from \"./components/activity-row.js\";\nexport { ActivityFeedShell } from \"./components/activity-feed-shell.js\";\nexport type { ActivityFeedShellProps } from \"./components/activity-feed-shell.js\";\nexport { CtaCardGrid } from \"./components/cta-card-grid.js\";\nexport type { CtaCardGridProps, CtaCardItem } from \"./components/cta-card-grid.js\";\n\n// ── v0.3.2 additions ─────────────────────────────────────────────────────────\nexport { DiscoverHero } from \"./components/discover-hero.js\";\nexport type { DiscoverHeroProps } from \"./components/discover-hero.js\";\nexport { FeaturedCarousel, FeaturedCarouselSkeleton } from \"./components/featured-carousel.js\";\nexport type { FeaturedCarouselProps } from \"./components/featured-carousel.js\";\nexport { DiscoverCollectionsStrip } from \"./components/discover-collections-strip.js\";\nexport type { DiscoverCollectionsStripProps } from \"./components/discover-collections-strip.js\";\nexport { DiscoverCreatorsStrip } from \"./components/discover-creators-strip.js\";\nexport type { DiscoverCreatorsStripProps } from \"./components/discover-creators-strip.js\";\nexport { DiscoverFeedSection, DiscoverActivityStrip } from \"./components/discover-feed-section.js\";\nexport type { DiscoverFeedSectionProps, DiscoverActivityStripProps } from \"./components/discover-feed-section.js\";\nexport { ActivityCard, ActivityCardSkeleton, ACTIVITY_MESSAGES } from \"./components/activity-card.js\";\nexport type { ActivityCardProps } from \"./components/activity-card.js\";\n\n// ── Launchpad (grouped sections — single page-UI source since 0.8.0) ─────────\nexport { LaunchpadGroupedSections, LaunchpadServiceCard, SERVICE_HUES, useLaunchpadFilter } from \"./components/launchpad-services.js\";\nexport { LaunchpadFilterBar } from \"./components/launchpad-filter-bar.js\";\nexport type { LaunchpadFilterBarProps } from \"./components/launchpad-filter-bar.js\";\nexport { LaunchpadStrip } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadStripProps } from \"./components/launchpad-strip.js\";\nexport type { LaunchpadGroupedSectionsProps, LaunchpadServiceCardProps, ServiceOverride, ServiceOverrides } from \"./components/launchpad-services.js\";\nexport { LAUNCHPAD_SERVICE_DEFINITIONS, LAUNCHPAD_SERVICE_GROUPS } from \"./data/launchpad-services.js\";\nexport type { ServiceDefinition, ServiceStatus, ServiceGroup, ServiceGroupDefinition } from \"./data/launchpad-services.js\";\n\n// ── v0.5.0 additions ─────────────────────────────────────────────────────────\nexport { NavCommandMenu, useNavCommandMenu } from \"./components/nav-command-menu.js\";\nexport type { NavCommand, NavCommandGroup, NavCommandMenuProps } from \"./components/nav-command-menu.js\";\n\n// ── v0.62.0 — nav shell (brand trigger + header buttons + account sheet) ─────\nexport {\n NavBrandButton,\n NavIconButton,\n NavWalletTrigger,\n NavAccountSheet,\n useNavAccountSheet,\n} from \"./components/nav-shell.js\";\nexport type {\n NavBrandButtonProps,\n NavIconButtonProps,\n NavWalletTriggerProps,\n NavAccountSheetProps,\n} from \"./components/nav-shell.js\";\n\n// ── v0.59.0 — portfolio shell (two-level nav + header + overview) ────────────\nexport { PortfolioHeader } from \"./components/portfolio-header.js\";\nexport type {\n PortfolioHeaderProps,\n PortfolioHeaderScore,\n} from \"./components/portfolio-header.js\";\nexport { PortfolioOverview } from \"./components/portfolio-overview.js\";\nexport type {\n PortfolioOverviewProps,\n PortfolioBentoTileConfig,\n} from \"./components/portfolio-overview.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.js\";\nexport { PortfolioBentoTile } from \"./components/portfolio-bento-tile.js\";\nexport type { PortfolioBentoTileProps } from \"./components/portfolio-bento-tile.js\";\nexport { PortfolioChipFilter } from \"./components/portfolio-chip-filter.js\";\nexport type {\n PortfolioChipFilterProps,\n PortfolioChipFilterOption,\n} from \"./components/portfolio-chip-filter.js\";\n\n// ── v0.22.0 additions — launchpad/claim form template primitives ─────────────\n// Pure-presentation header + rail shared by every launchpad/claim form. The\n// app supplies its own gate, back button, and form logic. Requires the\n// `.btn-border-animated` class (in @medialane/ui/styles) for the form shell.\nexport { ServiceHeader } from \"./components/service-header.js\";\nexport type { ServiceHeaderProps } from \"./components/service-header.js\";\nexport { ClaimRail } from \"./components/claim-rail.js\";\nexport type { ClaimRailProps } from \"./components/claim-rail.js\";\n\n// ── v0.23.0 additions — slot-based form shell ────────────────────────────────\n// Pure layout (back slot + header + animated-border compartment + 8/4 bento).\n// No auth/router — the app injects its own gate (around children) + back button.\nexport { ServiceFormShell } from \"./components/service-form-shell.js\";\nexport type { ServiceFormShellProps } from \"./components/service-form-shell.js\";\nexport { StepNav } from \"./components/step-nav.js\";\nexport type { StepNavProps, StepNavStep } from \"./components/step-nav.js\";\n\n// Rewards score kit (v0.36.0)\nexport { LevelBadge } from \"./components/rewards/level-badge.js\";\nexport type { LevelBadgeProps } from \"./components/rewards/level-badge.js\";\nexport { XpProgress } from \"./components/rewards/xp-progress.js\";\nexport type { XpProgressProps } from \"./components/rewards/xp-progress.js\";\nexport { BadgeShelf } from \"./components/rewards/badge-shelf.js\";\nexport type { BadgeShelfProps, BadgeShelfBadge } from \"./components/rewards/badge-shelf.js\";\nexport { ScoreSummaryCard } from \"./components/rewards/score-summary-card.js\";\nexport type { ScoreSummaryCardProps } from \"./components/rewards/score-summary-card.js\";\nexport { LeaderboardTable, LeaderboardWidget } from \"./components/rewards/leaderboard-table.js\";\nexport type { LeaderboardTableProps, LeaderboardWidgetProps, LeaderboardEntryLike } from \"./components/rewards/leaderboard-table.js\";\nexport { LevelJourneyList } from \"./components/rewards/level-journey-list.js\";\nexport type { LevelJourneyListProps, LevelJourneyListLevel } from \"./components/rewards/level-journey-list.js\";\nexport { BadgeCatalog } from \"./components/rewards/badge-catalog.js\";\nexport type { BadgeCatalogProps, BadgeCatalogBadge } from \"./components/rewards/badge-catalog.js\";\nexport { XpToastContent } from \"./components/rewards/xp-toast-content.js\";\nexport type { XpToastContentProps } from \"./components/rewards/xp-toast-content.js\";\nexport { createRewardToast } from \"./components/rewards/reward-toast.js\";\nexport type { RewardToastSnapshot } from \"./components/rewards/reward-toast.js\";\n\n// ── v0.37.0 additions — infinite-scroll trigger ──────────────────────────────\nexport { LoadMoreSentinel } from \"./components/load-more-sentinel.js\";\nexport type { LoadMoreSentinelProps } from \"./components/load-more-sentinel.js\";\n\n// ── v0.47.0 additions — community rewards section ────────────────────────────\nexport { CommunityRewardsSection } from \"./components/community-rewards-section.js\";\nexport type { CommunityRewardsSectionProps, CommunityRewardsEntry } from \"./components/community-rewards-section.js\";\nexport { CreatorAirdropBanner } from \"./components/creator-airdrop-banner.js\";\nexport type { CreatorAirdropBannerProps } from \"./components/creator-airdrop-banner.js\";\n\n// ── Design system primitives — action-focus pattern, tokens, data display ────\nexport { ActionButton } from \"./components/action-button.js\";\nexport type { ActionButtonProps, ActionKey, ToneKey } from \"./components/action-button.js\";\nexport { GradientButton } from \"./components/gradient-button.js\";\nexport type { GradientButtonProps } from \"./components/gradient-button.js\";\n\nexport { CoinLaunchPreview } from \"./components/coin-launch-preview.js\";\nexport type { CoinPreviewData } from \"./components/coin-launch-preview.js\";\nexport { MedialaneCollectionCard } from \"./components/medialane-collection-card.js\";\nexport type { MedialaneCollectionCardProps } from \"./components/medialane-collection-card.js\";\nexport { TokenGlyph, TokenAmount } from \"./components/token-glyph.js\";\nexport type { TokenGlyphProps, TokenAmountProps, TokenSymbol } from \"./components/token-glyph.js\";\n\nexport { StatTile, StatPill } from \"./components/stat-tile.js\";\nexport type { StatTileProps, StatPillProps } from \"./components/stat-tile.js\";\n\nexport { ActionDialog } from \"./components/action-dialog.js\";\nexport type { ActionDialogProps } from \"./components/action-dialog.js\";\n\nexport { HiddenContentBanner } from \"./components/hidden-content-banner.js\";\nexport { CollectionHeroBanner } from \"./components/collection-hero-banner.js\";\nexport type { CollectionHeroBannerProps, CollectionHeroStat } from \"./components/collection-hero-banner.js\";\n\n// ── v0.99.0 additions — rewards UX overhaul ───────────────────────────────────\nexport { useRewardsCelebrations } from \"./components/rewards/use-rewards-celebrations.js\";\nexport { LevelUpCelebration } from \"./components/rewards/level-up-celebration.js\";\nexport type { LevelUpCelebrationProps } from \"./components/rewards/level-up-celebration.js\";\nexport { BadgeUnlockToastContent } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport type { BadgeUnlockToastContentProps } from \"./components/rewards/badge-unlock-toast-content.js\";\nexport { JourneyPath } from \"./components/rewards/journey-path.js\";\nexport type { JourneyPathProps, JourneyStep } from \"./components/rewards/journey-path.js\";\n\n// ── Primitives (shadcn-derived, deduplicated from io + starknet) ─────────────\nexport { Skeleton } from \"./components/skeleton.js\";\nexport { Badge, badgeVariants } from \"./components/badge.js\";\nexport type { BadgeProps } from \"./components/badge.js\";\nexport { Label } from \"./components/label.js\";\nexport { Input } from \"./components/input.js\";\nexport { Switch } from \"./components/switch.js\";\nexport { Checkbox } from \"./components/checkbox.js\";\nexport { Alert, AlertTitle, AlertDescription } from \"./components/alert.js\";\nexport { Tabs, TabsList, TabsTrigger, TabsContent } from \"./components/tabs.js\";\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } from \"./components/card.js\";\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent } from \"./components/collapsible.js\";\nexport { Button, buttonVariants } from \"./components/button.js\";\nexport type { ButtonProps } from \"./components/button.js\";\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from \"./components/popover.js\";\nexport { HelpIcon } from \"./components/help-icon.js\";\nexport { EmptyOrError } from \"./components/empty-or-error.js\";\nexport {\n Select, SelectGroup, SelectValue, SelectTrigger, SelectContent,\n SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton,\n} from \"./components/select.js\";\nexport {\n useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField,\n} from \"./components/form.js\";\nexport { Textarea } from \"./components/textarea.js\";\nexport type { TextareaProps } from \"./components/textarea.js\";\nexport {\n Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent,\n SheetHeader, SheetFooter, SheetTitle, SheetDescription,\n} from \"./components/sheet.js\";\n\n// ── v0.106.0 additions — dedupe pass 2 (io + starknet audit) ─────────────────\nexport { ToggleGroup, Section } from \"./components/create-form-primitives.js\";\nexport { OrderSortControl, sortOrders } from \"./components/order-sort-control.js\";\nexport type { OrderSort } from \"./components/order-sort-control.js\";\nexport { AssetLightbox } from \"./components/asset-lightbox.js\";\nexport type { AssetLightboxProps } from \"./components/asset-lightbox.js\";\nexport { PriceHistoryChart } from \"./components/price-history-chart.js\";\nexport type { PriceHistoryChartProps } from \"./components/price-history-chart.js\";\nexport { NavThemeToggle } from \"./components/nav-theme-toggle.js\";\nexport { JsonLd } from \"./components/json-ld.js\";\nexport type { JsonLdProps } from \"./components/json-ld.js\";\nexport { CreationRecord } from \"./components/creation-record.js\";\nexport type { CreationRecordProps } from \"./components/creation-record.js\";\nexport { ClubOwnerActions } from \"./components/club-owner-actions.js\";\nexport type { ClubOwnerActionsProps } from \"./components/club-owner-actions.js\";\nexport { IPTypeFields } from \"./components/ip-type-fields.js\";\nexport type { IPTypeFieldsProps, MetadataField } from \"./components/ip-type-fields.js\";\nexport { readBodyWithCap } from \"./utils/proxy-body.js\";\nexport type { CappedBody } from \"./utils/proxy-body.js\";\nexport {\n formatActivity, formatOrderNotification, formatOfferAcceptedNotification, formatAssetReceivedNotification,\n} from \"./utils/format-activity.js\";\nexport type { FormattedEvent } from \"./utils/format-activity.js\";\n\n// ── v0.107.0 additions — dedupe pass 3: data-fetching hooks + their views ────\n// Same getClient-injection pattern as useRewards/useCreators — the app\n// supplies its own SDK client factory, none of this touches wallet state.\nexport { queryKeys, queryKeyPrefix, QUERY_PREFIX } from \"./utils/query-keys.js\";\nexport { useCollectionProfile, useCreatorProfile } from \"./utils/use-profiles.js\";\nexport { useActivities, useActivitiesByAddress } from \"./utils/use-activities.js\";\nexport {\n useCollections, useCollection, useCollectionsByOwner, useCollectionTokens, useNearbyCollectionTokens,\n} from \"./utils/use-collections.js\";\nexport type { CollectionSort } from \"./utils/use-collections.js\";\nexport { CreatorChip } from \"./components/creator-chip.js\";\nexport type { CreatorChipProps } from \"./components/creator-chip.js\";\nexport { CollectionActivityTab } from \"./components/collection-activity-tab.js\";\nexport type { CollectionActivityTabProps } from \"./components/collection-activity-tab.js\";\nexport { CollectionTraitsTab } from \"./components/collection-traits-tab.js\";\nexport type { CollectionTraitsTabProps } from \"./components/collection-traits-tab.js\";\nexport { PortfolioActivity } from \"./components/portfolio-activity.js\";\nexport type { PortfolioActivityProps } from \"./components/portfolio-activity.js\";\nexport { CreatorScoreInline } from \"./components/creator-score-inline.js\";\nexport type { CreatorScoreInlineProps } from \"./components/creator-score-inline.js\";\n\nexport { useMedialaneClient } from \"./utils/use-medialane-client.js\";\nexport { useCreators } from \"./utils/use-creators.js\";\nexport {\n useRewards, useLeaderboard, useRewardsEvents, useRewardsConfig, useRewardsBatch,\n} from \"./utils/use-rewards.js\";\nexport type { UserRewards, LeaderboardEntry, BadgeSummary, LevelSummary } from \"./utils/use-rewards.js\";\n// ── v0.108.0 additions — dedupe pass 4: apiFetch + orders/notifications/remixes ──\nexport { apiFetch, ApiError } from \"./utils/api-fetch.js\";\nexport type { ApiFetchConfig, ApiFetchOptions } from \"./utils/api-fetch.js\";\nexport {\n useOrders, useOrder, useTokenListings, useUserOrders, useCounterOffers,\n useReceivedOffers, useCollectionFloorListings,\n} from \"./utils/use-orders.js\";\nexport { useNotifications } from \"./utils/use-notifications.js\";\nexport type { Notification, NotificationType, NotificationPriority, Announcement } from \"./data/notification.js\";\nexport { useTokenRemixes } from \"./utils/use-remix-offers.js\";\nexport { RemixesTab } from \"./components/remixes-tab.js\";\nexport type { RemixesTabProps } from \"./components/remixes-tab.js\";\n\nexport { OwnerSetupPanel } from \"./components/owner-setup-panel.js\";\nexport { DropCountdown } from \"./components/drop-countdown.js\";\nexport { CreatorAnalytics } from \"./components/creator-analytics.js\";\nexport {\n Dialog, DialogPortal, DialogOverlay, DialogClose, DialogTrigger,\n DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription,\n} from \"./components/dialog.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","names":["import_launchpad_services"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -135,6 +135,12 @@ export { CreatorScoreInline, CreatorScoreInlineProps } from './components/creato
|
|
|
135
135
|
export { useMedialaneClient } from './utils/use-medialane-client.cjs';
|
|
136
136
|
export { useCreators } from './utils/use-creators.cjs';
|
|
137
137
|
export { BadgeSummary, LeaderboardEntry, LevelSummary, UserRewards, useLeaderboard, useRewards, useRewardsBatch, useRewardsConfig, useRewardsEvents } from './utils/use-rewards.cjs';
|
|
138
|
+
export { ApiError, ApiFetchConfig, ApiFetchOptions, apiFetch } from './utils/api-fetch.cjs';
|
|
139
|
+
export { useCollectionFloorListings, useCounterOffers, useOrder, useOrders, useReceivedOffers, useTokenListings, useUserOrders } from './utils/use-orders.cjs';
|
|
140
|
+
export { useNotifications } from './utils/use-notifications.cjs';
|
|
141
|
+
export { Announcement, Notification, NotificationPriority, NotificationType } from './data/notification.cjs';
|
|
142
|
+
export { useTokenRemixes } from './utils/use-remix-offers.cjs';
|
|
143
|
+
export { RemixesTab, RemixesTabProps } from './components/remixes-tab.cjs';
|
|
138
144
|
export { OwnerSetupPanel } from './components/owner-setup-panel.cjs';
|
|
139
145
|
export { DropCountdown } from './components/drop-countdown.cjs';
|
|
140
146
|
export { CreatorAnalytics } from './components/creator-analytics.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -135,6 +135,12 @@ export { CreatorScoreInline, CreatorScoreInlineProps } from './components/creato
|
|
|
135
135
|
export { useMedialaneClient } from './utils/use-medialane-client.js';
|
|
136
136
|
export { useCreators } from './utils/use-creators.js';
|
|
137
137
|
export { BadgeSummary, LeaderboardEntry, LevelSummary, UserRewards, useLeaderboard, useRewards, useRewardsBatch, useRewardsConfig, useRewardsEvents } from './utils/use-rewards.js';
|
|
138
|
+
export { ApiError, ApiFetchConfig, ApiFetchOptions, apiFetch } from './utils/api-fetch.js';
|
|
139
|
+
export { useCollectionFloorListings, useCounterOffers, useOrder, useOrders, useReceivedOffers, useTokenListings, useUserOrders } from './utils/use-orders.js';
|
|
140
|
+
export { useNotifications } from './utils/use-notifications.js';
|
|
141
|
+
export { Announcement, Notification, NotificationPriority, NotificationType } from './data/notification.js';
|
|
142
|
+
export { useTokenRemixes } from './utils/use-remix-offers.js';
|
|
143
|
+
export { RemixesTab, RemixesTabProps } from './components/remixes-tab.js';
|
|
138
144
|
export { OwnerSetupPanel } from './components/owner-setup-panel.js';
|
|
139
145
|
export { DropCountdown } from './components/drop-countdown.js';
|
|
140
146
|
export { CreatorAnalytics } from './components/creator-analytics.js';
|