@medialane/ui 0.91.0 → 0.93.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/portfolio-bento-tile.cjs +89 -0
- package/dist/components/portfolio-bento-tile.cjs.map +1 -0
- package/dist/components/portfolio-bento-tile.d.cts +27 -0
- package/dist/components/portfolio-bento-tile.d.ts +27 -0
- package/dist/components/portfolio-bento-tile.js +55 -0
- package/dist/components/portfolio-bento-tile.js.map +1 -0
- package/dist/components/portfolio-chip-filter.cjs +65 -0
- package/dist/components/portfolio-chip-filter.cjs.map +1 -0
- package/dist/components/portfolio-chip-filter.d.cts +21 -0
- package/dist/components/portfolio-chip-filter.d.ts +21 -0
- package/dist/components/portfolio-chip-filter.js +41 -0
- package/dist/components/portfolio-chip-filter.js.map +1 -0
- package/dist/components/portfolio-overview.cjs +30 -117
- package/dist/components/portfolio-overview.cjs.map +1 -1
- package/dist/components/portfolio-overview.d.cts +21 -35
- package/dist/components/portfolio-overview.d.ts +21 -35
- package/dist/components/portfolio-overview.js +30 -107
- package/dist/components/portfolio-overview.js.map +1 -1
- package/dist/index.cjs +6 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,47 +1,33 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PortfolioBentoTileProps } from './portfolio-bento-tile.cjs';
|
|
2
3
|
|
|
3
|
-
interface
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
description?: string;
|
|
8
|
-
href: string;
|
|
9
|
-
count: number;
|
|
10
|
-
tone?: "destructive" | "warning" | "primary";
|
|
11
|
-
}
|
|
12
|
-
interface PortfolioOverviewStat {
|
|
13
|
-
label: string;
|
|
14
|
-
/** Pass null while loading. */
|
|
15
|
-
value: string | number | null;
|
|
16
|
-
sub?: string;
|
|
17
|
-
href?: string;
|
|
18
|
-
}
|
|
19
|
-
interface PortfolioQuickAction {
|
|
20
|
-
label: string;
|
|
4
|
+
interface PortfolioBentoTileConfig {
|
|
5
|
+
/** Matches a PortfolioChipFilter option key. */
|
|
6
|
+
key: string;
|
|
7
|
+
title: string;
|
|
21
8
|
href: string;
|
|
9
|
+
size?: PortfolioBentoTileProps["size"];
|
|
10
|
+
/** Single primary in-tile action (e.g. a "List" button). */
|
|
11
|
+
action?: React.ReactNode;
|
|
12
|
+
isEmpty?: boolean;
|
|
13
|
+
emptyState?: React.ReactNode;
|
|
14
|
+
content: React.ReactNode;
|
|
22
15
|
}
|
|
23
16
|
interface PortfolioOverviewProps {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
stats?: PortfolioOverviewStat[];
|
|
27
|
-
/** Shortcut row under the stat tiles ("Create asset", …). */
|
|
28
|
-
quickActions?: PortfolioQuickAction[];
|
|
29
|
-
/** Recent-assets cards, rendered by the app. */
|
|
30
|
-
assetsSlot?: React.ReactNode;
|
|
31
|
-
assetsHref?: string;
|
|
32
|
-
/** Recent-activity rows, rendered by the app. */
|
|
33
|
-
activitySlot?: React.ReactNode;
|
|
34
|
-
activityHref?: string;
|
|
35
|
-
/** First-run state; rendered instead of the columns when `isEmpty`. */
|
|
17
|
+
tiles: PortfolioBentoTileConfig[];
|
|
18
|
+
/** First-run state across the whole portfolio (zero holdings, zero activity). */
|
|
36
19
|
isEmpty?: boolean;
|
|
37
20
|
emptyState?: React.ReactNode;
|
|
38
21
|
className?: string;
|
|
39
22
|
}
|
|
40
23
|
/**
|
|
41
|
-
* Portfolio landing page
|
|
42
|
-
*
|
|
43
|
-
*
|
|
24
|
+
* Portfolio landing page: a content-first bento dashboard. Each tile is a
|
|
25
|
+
* fast preview of one section (Collections, Assets, Tickets & memberships,
|
|
26
|
+
* Activity, …) that expands into its full subpage. A chip row gives fast
|
|
27
|
+
* lateral access across sections without navigating away. Pure
|
|
28
|
+
* presentation — the app supplies each tile's rendered content; this
|
|
29
|
+
* component only handles layout, filtering, and empty states.
|
|
44
30
|
*/
|
|
45
|
-
declare function PortfolioOverview({
|
|
31
|
+
declare function PortfolioOverview({ tiles, isEmpty, emptyState, className, }: PortfolioOverviewProps): react_jsx_runtime.JSX.Element;
|
|
46
32
|
|
|
47
|
-
export { type
|
|
33
|
+
export { type PortfolioBentoTileConfig, PortfolioOverview, type PortfolioOverviewProps };
|
|
@@ -1,47 +1,33 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { PortfolioBentoTileProps } from './portfolio-bento-tile.js';
|
|
2
3
|
|
|
3
|
-
interface
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
description?: string;
|
|
8
|
-
href: string;
|
|
9
|
-
count: number;
|
|
10
|
-
tone?: "destructive" | "warning" | "primary";
|
|
11
|
-
}
|
|
12
|
-
interface PortfolioOverviewStat {
|
|
13
|
-
label: string;
|
|
14
|
-
/** Pass null while loading. */
|
|
15
|
-
value: string | number | null;
|
|
16
|
-
sub?: string;
|
|
17
|
-
href?: string;
|
|
18
|
-
}
|
|
19
|
-
interface PortfolioQuickAction {
|
|
20
|
-
label: string;
|
|
4
|
+
interface PortfolioBentoTileConfig {
|
|
5
|
+
/** Matches a PortfolioChipFilter option key. */
|
|
6
|
+
key: string;
|
|
7
|
+
title: string;
|
|
21
8
|
href: string;
|
|
9
|
+
size?: PortfolioBentoTileProps["size"];
|
|
10
|
+
/** Single primary in-tile action (e.g. a "List" button). */
|
|
11
|
+
action?: React.ReactNode;
|
|
12
|
+
isEmpty?: boolean;
|
|
13
|
+
emptyState?: React.ReactNode;
|
|
14
|
+
content: React.ReactNode;
|
|
22
15
|
}
|
|
23
16
|
interface PortfolioOverviewProps {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
stats?: PortfolioOverviewStat[];
|
|
27
|
-
/** Shortcut row under the stat tiles ("Create asset", …). */
|
|
28
|
-
quickActions?: PortfolioQuickAction[];
|
|
29
|
-
/** Recent-assets cards, rendered by the app. */
|
|
30
|
-
assetsSlot?: React.ReactNode;
|
|
31
|
-
assetsHref?: string;
|
|
32
|
-
/** Recent-activity rows, rendered by the app. */
|
|
33
|
-
activitySlot?: React.ReactNode;
|
|
34
|
-
activityHref?: string;
|
|
35
|
-
/** First-run state; rendered instead of the columns when `isEmpty`. */
|
|
17
|
+
tiles: PortfolioBentoTileConfig[];
|
|
18
|
+
/** First-run state across the whole portfolio (zero holdings, zero activity). */
|
|
36
19
|
isEmpty?: boolean;
|
|
37
20
|
emptyState?: React.ReactNode;
|
|
38
21
|
className?: string;
|
|
39
22
|
}
|
|
40
23
|
/**
|
|
41
|
-
* Portfolio landing page
|
|
42
|
-
*
|
|
43
|
-
*
|
|
24
|
+
* Portfolio landing page: a content-first bento dashboard. Each tile is a
|
|
25
|
+
* fast preview of one section (Collections, Assets, Tickets & memberships,
|
|
26
|
+
* Activity, …) that expands into its full subpage. A chip row gives fast
|
|
27
|
+
* lateral access across sections without navigating away. Pure
|
|
28
|
+
* presentation — the app supplies each tile's rendered content; this
|
|
29
|
+
* component only handles layout, filtering, and empty states.
|
|
44
30
|
*/
|
|
45
|
-
declare function PortfolioOverview({
|
|
31
|
+
declare function PortfolioOverview({ tiles, isEmpty, emptyState, className, }: PortfolioOverviewProps): react_jsx_runtime.JSX.Element;
|
|
46
32
|
|
|
47
|
-
export { type
|
|
33
|
+
export { type PortfolioBentoTileConfig, PortfolioOverview, type PortfolioOverviewProps };
|
|
@@ -1,119 +1,42 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
4
|
-
import { ArrowRight, BellRing } from "lucide-react";
|
|
3
|
+
import { useState } from "react";
|
|
5
4
|
import { cn } from "../utils/cn.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
warning: "bg-amber-500",
|
|
9
|
-
primary: "bg-primary"
|
|
10
|
-
};
|
|
11
|
-
function SectionHeading({
|
|
12
|
-
title,
|
|
13
|
-
href
|
|
14
|
-
}) {
|
|
15
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
|
|
16
|
-
/* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold text-foreground", children: title }),
|
|
17
|
-
href && /* @__PURE__ */ jsxs(
|
|
18
|
-
Link,
|
|
19
|
-
{
|
|
20
|
-
href,
|
|
21
|
-
className: "inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground transition-colors",
|
|
22
|
-
children: [
|
|
23
|
-
"View all",
|
|
24
|
-
/* @__PURE__ */ jsx(ArrowRight, { className: "h-3 w-3" })
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
)
|
|
28
|
-
] });
|
|
29
|
-
}
|
|
5
|
+
import { PortfolioBentoTile } from "./portfolio-bento-tile.js";
|
|
6
|
+
import { PortfolioChipFilter } from "./portfolio-chip-filter.js";
|
|
30
7
|
function PortfolioOverview({
|
|
31
|
-
|
|
32
|
-
stats,
|
|
33
|
-
quickActions,
|
|
34
|
-
assetsSlot,
|
|
35
|
-
assetsHref,
|
|
36
|
-
activitySlot,
|
|
37
|
-
activityHref,
|
|
8
|
+
tiles,
|
|
38
9
|
isEmpty,
|
|
39
10
|
emptyState,
|
|
40
11
|
className
|
|
41
12
|
}) {
|
|
42
|
-
const
|
|
13
|
+
const [selected, setSelected] = useState("all");
|
|
14
|
+
if (isEmpty) {
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { className, children: emptyState });
|
|
16
|
+
}
|
|
17
|
+
const visibleTiles = selected === "all" ? tiles : tiles.filter((t) => t.key === selected);
|
|
43
18
|
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-6", className), children: [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/* @__PURE__ */ jsxs("span", { className: "min-w-0", children: [
|
|
66
|
-
/* @__PURE__ */ jsx("span", { className: "block text-sm font-medium text-foreground truncate", children: item.label }),
|
|
67
|
-
item.description && /* @__PURE__ */ jsx("span", { className: "block text-xs text-muted-foreground truncate", children: item.description })
|
|
68
|
-
] })
|
|
69
|
-
] }),
|
|
70
|
-
/* @__PURE__ */ jsx(ArrowRight, { className: "h-4 w-4 text-muted-foreground shrink-0" })
|
|
71
|
-
]
|
|
72
|
-
},
|
|
73
|
-
item.href + item.label
|
|
74
|
-
)) })
|
|
75
|
-
] }),
|
|
76
|
-
(stats && stats.length > 0 || quickActions && quickActions.length > 0) && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
|
|
77
|
-
stats && stats.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 flex-wrap", children: stats.map((stat) => {
|
|
78
|
-
if (stat.value == null) {
|
|
79
|
-
return /* @__PURE__ */ jsx(
|
|
80
|
-
"span",
|
|
81
|
-
{
|
|
82
|
-
className: "bg-muted rounded-full px-3 py-1.5 w-20 h-7 animate-pulse inline-block"
|
|
83
|
-
},
|
|
84
|
-
stat.label
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
const pill = /* @__PURE__ */ jsxs("span", { className: "inline-flex items-baseline gap-1.5 rounded-full bg-muted px-3 py-1.5 text-[13px] whitespace-nowrap", children: [
|
|
88
|
-
/* @__PURE__ */ jsx("span", { className: "font-semibold text-foreground tabular-nums", children: stat.value }),
|
|
89
|
-
/* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: stat.label }),
|
|
90
|
-
stat.sub && /* @__PURE__ */ jsxs("span", { className: "text-muted-foreground/70", children: [
|
|
91
|
-
"\xB7 ",
|
|
92
|
-
stat.sub
|
|
93
|
-
] })
|
|
94
|
-
] });
|
|
95
|
-
return stat.href ? /* @__PURE__ */ jsx(Link, { href: stat.href, className: "active:opacity-80", children: pill }, stat.label) : /* @__PURE__ */ jsx("span", { children: pill }, stat.label);
|
|
96
|
-
}) }),
|
|
97
|
-
quickActions && quickActions.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 flex-wrap", children: quickActions.map((action) => /* @__PURE__ */ jsx(
|
|
98
|
-
Link,
|
|
99
|
-
{
|
|
100
|
-
href: action.href,
|
|
101
|
-
className: "inline-flex items-center rounded-full border border-border bg-card px-4 py-1.5 text-[13px] font-medium text-foreground active:opacity-80 hover:border-primary/40 transition-colors",
|
|
102
|
-
children: action.label
|
|
103
|
-
},
|
|
104
|
-
action.href
|
|
105
|
-
)) })
|
|
106
|
-
] }),
|
|
107
|
-
isEmpty ? emptyState : /* @__PURE__ */ jsxs("div", { className: "grid gap-6 lg:grid-cols-5", children: [
|
|
108
|
-
assetsSlot && /* @__PURE__ */ jsxs("section", { className: "lg:col-span-3 space-y-3", children: [
|
|
109
|
-
/* @__PURE__ */ jsx(SectionHeading, { title: "Your assets", href: assetsHref }),
|
|
110
|
-
assetsSlot
|
|
111
|
-
] }),
|
|
112
|
-
activitySlot && /* @__PURE__ */ jsxs("section", { className: "lg:col-span-2 space-y-3", children: [
|
|
113
|
-
/* @__PURE__ */ jsx(SectionHeading, { title: "Recent activity", href: activityHref }),
|
|
114
|
-
activitySlot
|
|
115
|
-
] })
|
|
116
|
-
] })
|
|
19
|
+
/* @__PURE__ */ jsx(
|
|
20
|
+
PortfolioChipFilter,
|
|
21
|
+
{
|
|
22
|
+
options: tiles.map((t) => ({ key: t.key, label: t.title })),
|
|
23
|
+
value: selected,
|
|
24
|
+
onChange: setSelected
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 md:grid-cols-4 gap-4 auto-rows-min", children: visibleTiles.map((tile) => /* @__PURE__ */ jsx(
|
|
28
|
+
PortfolioBentoTile,
|
|
29
|
+
{
|
|
30
|
+
title: tile.title,
|
|
31
|
+
href: tile.href,
|
|
32
|
+
size: tile.size,
|
|
33
|
+
action: tile.action,
|
|
34
|
+
isEmpty: tile.isEmpty,
|
|
35
|
+
emptyState: tile.emptyState,
|
|
36
|
+
children: tile.content
|
|
37
|
+
},
|
|
38
|
+
tile.key
|
|
39
|
+
)) })
|
|
117
40
|
] });
|
|
118
41
|
}
|
|
119
42
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/portfolio-overview.tsx"],"sourcesContent":["\"use client\";\n\nimport
|
|
1
|
+
{"version":3,"sources":["../../src/components/portfolio-overview.tsx"],"sourcesContent":["\"use client\";\n\nimport { useState } from \"react\";\nimport { cn } from \"../utils/cn.js\";\nimport { PortfolioBentoTile, type PortfolioBentoTileProps } from \"./portfolio-bento-tile.js\";\nimport { PortfolioChipFilter } from \"./portfolio-chip-filter.js\";\n\nexport interface PortfolioBentoTileConfig {\n /** Matches a PortfolioChipFilter option key. */\n key: string;\n title: string;\n href: string;\n size?: PortfolioBentoTileProps[\"size\"];\n /** Single primary in-tile action (e.g. a \"List\" button). */\n action?: React.ReactNode;\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n content: React.ReactNode;\n}\n\nexport interface PortfolioOverviewProps {\n tiles: PortfolioBentoTileConfig[];\n /** First-run state across the whole portfolio (zero holdings, zero activity). */\n isEmpty?: boolean;\n emptyState?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Portfolio landing page: a content-first bento dashboard. Each tile is a\n * fast preview of one section (Collections, Assets, Tickets & memberships,\n * Activity, …) that expands into its full subpage. A chip row gives fast\n * lateral access across sections without navigating away. Pure\n * presentation — the app supplies each tile's rendered content; this\n * component only handles layout, filtering, and empty states.\n */\nexport function PortfolioOverview({\n tiles,\n isEmpty,\n emptyState,\n className,\n}: PortfolioOverviewProps) {\n const [selected, setSelected] = useState(\"all\");\n\n if (isEmpty) {\n return <div className={className}>{emptyState}</div>;\n }\n\n const visibleTiles =\n selected === \"all\" ? tiles : tiles.filter((t) => t.key === selected);\n\n return (\n <div className={cn(\"space-y-6\", className)}>\n <PortfolioChipFilter\n options={tiles.map((t) => ({ key: t.key, label: t.title }))}\n value={selected}\n onChange={setSelected}\n />\n <div className=\"grid grid-cols-1 md:grid-cols-4 gap-4 auto-rows-min\">\n {visibleTiles.map((tile) => (\n <PortfolioBentoTile\n key={tile.key}\n title={tile.title}\n href={tile.href}\n size={tile.size}\n action={tile.action}\n isEmpty={tile.isEmpty}\n emptyState={tile.emptyState}\n >\n {tile.content}\n </PortfolioBentoTile>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":";AA6CW,cAOP,YAPO;AA3CX,SAAS,gBAAgB;AACzB,SAAS,UAAU;AACnB,SAAS,0BAAwD;AACjE,SAAS,2BAA2B;AA+B7B,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,MAAI,SAAS;AACX,WAAO,oBAAC,SAAI,WAAuB,sBAAW;AAAA,EAChD;AAEA,QAAM,eACJ,aAAa,QAAQ,QAAQ,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,QAAQ;AAErE,SACE,qBAAC,SAAI,WAAW,GAAG,aAAa,SAAS,GACvC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,MAAM,EAAE;AAAA,QAC1D,OAAO;AAAA,QACP,UAAU;AAAA;AAAA,IACZ;AAAA,IACA,oBAAC,SAAI,WAAU,uDACZ,uBAAa,IAAI,CAAC,SACjB;AAAA,MAAC;AAAA;AAAA,QAEC,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,QACX,QAAQ,KAAK;AAAA,QACb,SAAS,KAAK;AAAA,QACd,YAAY,KAAK;AAAA,QAEhB,eAAK;AAAA;AAAA,MARD,KAAK;AAAA,IASZ,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -130,6 +130,8 @@ __export(index_exports, {
|
|
|
130
130
|
NavWalletTrigger: () => import_nav_shell.NavWalletTrigger,
|
|
131
131
|
PageContainer: () => import_page_container.PageContainer,
|
|
132
132
|
ParentAttributionBanner: () => import_parent_attribution_banner.ParentAttributionBanner,
|
|
133
|
+
PortfolioBentoTile: () => import_portfolio_bento_tile.PortfolioBentoTile,
|
|
134
|
+
PortfolioChipFilter: () => import_portfolio_chip_filter.PortfolioChipFilter,
|
|
133
135
|
PortfolioHeader: () => import_portfolio_header.PortfolioHeader,
|
|
134
136
|
PortfolioNav: () => import_portfolio_nav.PortfolioNav,
|
|
135
137
|
PortfolioOverview: () => import_portfolio_overview.PortfolioOverview,
|
|
@@ -248,6 +250,8 @@ var import_portfolio_nav = require("./components/portfolio-nav.js");
|
|
|
248
250
|
var import_portfolio_header = require("./components/portfolio-header.js");
|
|
249
251
|
var import_portfolio_overview = require("./components/portfolio-overview.js");
|
|
250
252
|
var import_portfolio_counts = require("./utils/portfolio-counts.js");
|
|
253
|
+
var import_portfolio_bento_tile = require("./components/portfolio-bento-tile.js");
|
|
254
|
+
var import_portfolio_chip_filter = require("./components/portfolio-chip-filter.js");
|
|
251
255
|
var import_service_header = require("./components/service-header.js");
|
|
252
256
|
var import_claim_rail = require("./components/claim-rail.js");
|
|
253
257
|
var import_service_form_shell = require("./components/service-form-shell.js");
|
|
@@ -384,6 +388,8 @@ var import_action_dialog = require("./components/action-dialog.js");
|
|
|
384
388
|
NavWalletTrigger,
|
|
385
389
|
PageContainer,
|
|
386
390
|
ParentAttributionBanner,
|
|
391
|
+
PortfolioBentoTile,
|
|
392
|
+
PortfolioChipFilter,
|
|
387
393
|
PortfolioHeader,
|
|
388
394
|
PortfolioNav,
|
|
389
395
|
PortfolioOverview,
|
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 { PortfolioNav } from \"./components/portfolio-nav.js\";\nexport type {\n PortfolioNavProps,\n PortfolioNavSection,\n PortfolioNavChild,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-nav.js\";\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 PortfolioOverviewStat,\n PortfolioAttentionItem,\n PortfolioQuickAction,\n} from \"./components/portfolio-overview.js\";\nexport { derivePortfolioCounts } from \"./utils/portfolio-counts.js\";\nexport type { PortfolioCounts, CountableOrder } from \"./utils/portfolio-counts.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 { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.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\";\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"],"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;AACA,gBAAmB;AACnB,oBAAsD;AACtD,qBAA+B;AAC/B,kBAA2B;AAC3B,qCAAsC;AACtC,kCAAqC;AACrC,6BAA+B;AAG/B,sBAA+C;AAE/C,gBAGO;AAEP,0BAEO;AAEP,6BAA8B;AAC9B,oCAAqC;AACrC,mCAAoC;AACpC,+BAAgC;AAChC,uCAAwC;AAExC,gCAAqF;AAErF,kCAAmC;AAEnC,iCAAkC;AAElC,qCAAsC;AAEtC,mBAAsB;AACtB,uCAAoE;AAGpE,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAE7C,kCAAmC;AAEnC,sCAAuC;AACvC,gCAEO;AAEP,2BAMO;AACP,wBAA6C;AAE7C,0BAA4B;AAE5B,iCAAkC;AAElC,mCAA6H;AAG7H,mBAGO;AACP,uBAA2F;AAC3F,4BAGO;AAGP,kBAAmC;AACnC,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,2BAA4B;AAI5B,2BAA6B;AAE7B,+BAA2D;AAE3D,wCAAyC;AAEzC,qCAAsC;AAEtC,mCAA2D;AAE3D,2BAAsE;AAItE,gCAAiG;AACjG,kCAAmC;AAEnC,6BAA+B;AAG/B,IAAAA,6BAAwE;AAIxE,8BAAkD;AAIlD,uBAMO;AASP,2BAA6B;AAO7B,8BAAgC;AAKhC,gCAAkC;AAOlC,8BAAsC;AAOtC,4BAA8B;AAE9B,wBAA0B;AAM1B,gCAAiC;AAEjC,sBAAwB;AAIxB,yBAA2B;AAE3B,yBAA2B;AAE3B,yBAA2B;AAE3B,gCAAiC;AAEjC,+BAAoD;AAEpD,0BAA4B;AAE5B,8BAA+B;AAE/B,0BAAkC;AAGlC,gCAAiC;AAIjC,uCAAwC;AAExC,oCAAqC;AAIrC,2BAA6B;AAE7B,6BAA+B;AAG/B,iCAAkC;AAElC,uCAAwC;AAExC,yBAAwC;AAGxC,uBAAmC;AAGnC,2BAA6B;","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 { PortfolioNav } from \"./components/portfolio-nav.js\";\nexport type {\n PortfolioNavProps,\n PortfolioNavSection,\n PortfolioNavChild,\n PortfolioBadgeVariant,\n} from \"./components/portfolio-nav.js\";\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 { LevelLadder } from \"./components/rewards/level-ladder.js\";\nexport type { LevelLadderProps } from \"./components/rewards/level-ladder.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\";\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"],"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;AACA,gBAAmB;AACnB,oBAAsD;AACtD,qBAA+B;AAC/B,kBAA2B;AAC3B,qCAAsC;AACtC,kCAAqC;AACrC,6BAA+B;AAG/B,sBAA+C;AAE/C,gBAGO;AAEP,0BAEO;AAEP,6BAA8B;AAC9B,oCAAqC;AACrC,mCAAoC;AACpC,+BAAgC;AAChC,uCAAwC;AAExC,gCAAqF;AAErF,kCAAmC;AAEnC,iCAAkC;AAElC,qCAAsC;AAEtC,mBAAsB;AACtB,uCAAoE;AAGpE,2BAA6C;AAG7C,2BAAyD;AAGzD,6BAA+B;AAG/B,wBAAkC;AAIlC,+BAAyF;AACzF,4BAA8B;AAE9B,4BAA8B;AAE9B,0BAA4B;AAE5B,6BAAuD;AAEvD,wBAA6C;AAE7C,kCAAmC;AAEnC,sCAAuC;AACvC,gCAEO;AAEP,2BAMO;AACP,wBAA6C;AAE7C,0BAA4B;AAE5B,iCAAkC;AAElC,mCAA6H;AAG7H,mBAGO;AACP,uBAA2F;AAC3F,4BAGO;AAGP,kBAAmC;AACnC,sBAAmD;AAEnD,yBAA+C;AAE/C,6BAA+B;AAE/B,0BAAiD;AAEjD,0BAA4B;AAE5B,iCAAkC;AAElC,2BAA4B;AAI5B,2BAA6B;AAE7B,+BAA2D;AAE3D,wCAAyC;AAEzC,qCAAsC;AAEtC,mCAA2D;AAE3D,2BAAsE;AAItE,gCAAiG;AACjG,kCAAmC;AAEnC,6BAA+B;AAG/B,IAAAA,6BAAwE;AAIxE,8BAAkD;AAIlD,uBAMO;AASP,2BAA6B;AAO7B,8BAAgC;AAKhC,gCAAkC;AAKlC,8BAAsC;AAEtC,kCAAmC;AAEnC,mCAAoC;AAUpC,4BAA8B;AAE9B,wBAA0B;AAM1B,gCAAiC;AAEjC,sBAAwB;AAIxB,yBAA2B;AAE3B,yBAA2B;AAE3B,yBAA2B;AAE3B,gCAAiC;AAEjC,+BAAoD;AAEpD,0BAA4B;AAE5B,8BAA+B;AAE/B,0BAAkC;AAGlC,gCAAiC;AAIjC,uCAAwC;AAExC,oCAAqC;AAIrC,2BAA6B;AAE7B,6BAA+B;AAG/B,iCAAkC;AAElC,uCAAwC;AAExC,yBAAwC;AAGxC,uBAAmC;AAGnC,2BAA6B;","names":["import_launchpad_services"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -62,8 +62,10 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
|
|
|
62
62
|
export { NavAccountSheet, NavAccountSheetProps, NavBrandButton, NavBrandButtonProps, NavIconButton, NavIconButtonProps, NavWalletTrigger, NavWalletTriggerProps, useNavAccountSheet } from './components/nav-shell.cjs';
|
|
63
63
|
export { PortfolioBadgeVariant, PortfolioNav, PortfolioNavChild, PortfolioNavProps, PortfolioNavSection } from './components/portfolio-nav.cjs';
|
|
64
64
|
export { PortfolioHeader, PortfolioHeaderProps, PortfolioHeaderScore } from './components/portfolio-header.cjs';
|
|
65
|
-
export {
|
|
65
|
+
export { PortfolioBentoTileConfig, PortfolioOverview, PortfolioOverviewProps } from './components/portfolio-overview.cjs';
|
|
66
66
|
export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.cjs';
|
|
67
|
+
export { PortfolioBentoTile, PortfolioBentoTileProps } from './components/portfolio-bento-tile.cjs';
|
|
68
|
+
export { PortfolioChipFilter, PortfolioChipFilterOption, PortfolioChipFilterProps } from './components/portfolio-chip-filter.cjs';
|
|
67
69
|
export { ServiceHeader, ServiceHeaderProps } from './components/service-header.cjs';
|
|
68
70
|
export { ClaimRail, ClaimRailProps } from './components/claim-rail.cjs';
|
|
69
71
|
export { ServiceFormShell, ServiceFormShellProps } from './components/service-form-shell.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -62,8 +62,10 @@ export { NavCommand, NavCommandGroup, NavCommandMenu, NavCommandMenuProps, useNa
|
|
|
62
62
|
export { NavAccountSheet, NavAccountSheetProps, NavBrandButton, NavBrandButtonProps, NavIconButton, NavIconButtonProps, NavWalletTrigger, NavWalletTriggerProps, useNavAccountSheet } from './components/nav-shell.js';
|
|
63
63
|
export { PortfolioBadgeVariant, PortfolioNav, PortfolioNavChild, PortfolioNavProps, PortfolioNavSection } from './components/portfolio-nav.js';
|
|
64
64
|
export { PortfolioHeader, PortfolioHeaderProps, PortfolioHeaderScore } from './components/portfolio-header.js';
|
|
65
|
-
export {
|
|
65
|
+
export { PortfolioBentoTileConfig, PortfolioOverview, PortfolioOverviewProps } from './components/portfolio-overview.js';
|
|
66
66
|
export { CountableOrder, PortfolioCounts, derivePortfolioCounts } from './utils/portfolio-counts.js';
|
|
67
|
+
export { PortfolioBentoTile, PortfolioBentoTileProps } from './components/portfolio-bento-tile.js';
|
|
68
|
+
export { PortfolioChipFilter, PortfolioChipFilterOption, PortfolioChipFilterProps } from './components/portfolio-chip-filter.js';
|
|
67
69
|
export { ServiceHeader, ServiceHeaderProps } from './components/service-header.js';
|
|
68
70
|
export { ClaimRail, ClaimRailProps } from './components/claim-rail.js';
|
|
69
71
|
export { ServiceFormShell, ServiceFormShellProps } from './components/service-form-shell.js';
|
package/dist/index.js
CHANGED
|
@@ -110,6 +110,8 @@ import { PortfolioNav } from "./components/portfolio-nav.js";
|
|
|
110
110
|
import { PortfolioHeader } from "./components/portfolio-header.js";
|
|
111
111
|
import { PortfolioOverview } from "./components/portfolio-overview.js";
|
|
112
112
|
import { derivePortfolioCounts } from "./utils/portfolio-counts.js";
|
|
113
|
+
import { PortfolioBentoTile } from "./components/portfolio-bento-tile.js";
|
|
114
|
+
import { PortfolioChipFilter } from "./components/portfolio-chip-filter.js";
|
|
113
115
|
import { ServiceHeader } from "./components/service-header.js";
|
|
114
116
|
import { ClaimRail } from "./components/claim-rail.js";
|
|
115
117
|
import { ServiceFormShell } from "./components/service-form-shell.js";
|
|
@@ -245,6 +247,8 @@ export {
|
|
|
245
247
|
NavWalletTrigger,
|
|
246
248
|
PageContainer,
|
|
247
249
|
ParentAttributionBanner,
|
|
250
|
+
PortfolioBentoTile,
|
|
251
|
+
PortfolioChipFilter,
|
|
248
252
|
PortfolioHeader,
|
|
249
253
|
PortfolioNav,
|
|
250
254
|
PortfolioOverview,
|