@cellarnode/ui 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/chat-toggle-button.d.ts +6 -3
- package/dist/chat/chat-toggle-button.d.ts.map +1 -1
- package/dist/chat/chat-toggle-button.js +9 -4
- package/dist/chat/chat-toggle-button.js.map +1 -1
- package/dist/chat/messenger-layout.d.ts.map +1 -1
- package/dist/chat/messenger-layout.js +7 -2
- package/dist/chat/messenger-layout.js.map +1 -1
- package/dist/components/stat-card.d.ts +12 -0
- package/dist/components/stat-card.d.ts.map +1 -0
- package/dist/components/stat-card.js +10 -0
- package/dist/components/stat-card.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/nav/app-shell.d.ts.map +1 -1
- package/dist/nav/app-shell.js +2 -2
- package/dist/nav/app-shell.js.map +1 -1
- package/dist/opportunities/index.d.ts +3 -0
- package/dist/opportunities/index.d.ts.map +1 -0
- package/dist/opportunities/index.js +2 -0
- package/dist/opportunities/index.js.map +1 -0
- package/dist/opportunities/opportunities-table.d.ts +23 -0
- package/dist/opportunities/opportunities-table.d.ts.map +1 -0
- package/dist/opportunities/opportunities-table.js +115 -0
- package/dist/opportunities/opportunities-table.js.map +1 -0
- package/dist/profile/index.d.ts +2 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +2 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/profile/profile.d.ts +50 -0
- package/dist/profile/profile.d.ts.map +1 -0
- package/dist/profile/profile.js +30 -0
- package/dist/profile/profile.js.map +1 -0
- package/package.json +14 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
interface ChatToggleButtonProps {
|
|
1
|
+
export interface ChatToggleButtonProps {
|
|
2
2
|
unreadCount: number;
|
|
3
3
|
isConnected: boolean;
|
|
4
4
|
onClick: () => void;
|
|
5
|
+
/** Optional short label shown in the pill, e.g. "Counter offer pending" */
|
|
6
|
+
contextLabel?: string | null;
|
|
7
|
+
/** ARIA label for the button */
|
|
8
|
+
"aria-label"?: string;
|
|
5
9
|
}
|
|
6
|
-
export declare function ChatToggleButton({ unreadCount, isConnected, onClick, }: ChatToggleButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export {};
|
|
10
|
+
export declare function ChatToggleButton({ unreadCount, isConnected, onClick, contextLabel, "aria-label": ariaLabel, }: ChatToggleButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
8
11
|
//# sourceMappingURL=chat-toggle-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-toggle-button.d.ts","sourceRoot":"","sources":["../../src/chat/chat-toggle-button.tsx"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"chat-toggle-button.d.ts","sourceRoot":"","sources":["../../src/chat/chat-toggle-button.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,WAAW,EACX,OAAO,EACP,YAAY,EACZ,YAAY,EAAE,SAAS,GACxB,EAAE,qBAAqB,2CAsFvB"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { MessageCircle } from "lucide-react";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { MessageCircle, Wifi, WifiOff } from "lucide-react";
|
|
3
3
|
import { motion, AnimatePresence } from "motion/react";
|
|
4
4
|
import { cn } from "../lib/utils";
|
|
5
|
-
export function ChatToggleButton({ unreadCount, isConnected, onClick, }) {
|
|
6
|
-
|
|
5
|
+
export function ChatToggleButton({ unreadCount, isConnected, onClick, contextLabel, "aria-label": ariaLabel, }) {
|
|
6
|
+
const hasContext = !!contextLabel;
|
|
7
|
+
return (_jsx("div", { className: "fixed bottom-6 right-6 z-40 lg:bottom-8 lg:right-8", children: _jsx(AnimatePresence, { mode: "wait", children: _jsxs(motion.button, { type: "button", onClick: onClick, "aria-label": ariaLabel ?? (hasContext ? contextLabel : "Open chat"), initial: { opacity: 0, y: 8, scale: 0.92 }, animate: { opacity: 1, y: 0, scale: 1 }, exit: { opacity: 0, y: 8, scale: 0.92 }, transition: { type: "spring", stiffness: 420, damping: 28 }, whileHover: { scale: 1.03 }, whileTap: { scale: 0.96 }, className: cn("premium-panel relative flex items-center gap-2.5 shadow-md", "transition-shadow hover:shadow-lg", "focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:outline-hidden", hasContext
|
|
8
|
+
? "rounded-[22px] px-4 py-3"
|
|
9
|
+
: "size-14 justify-center rounded-full"), children: [_jsxs("span", { className: "relative shrink-0", children: [_jsx(MessageCircle, { className: "size-5 text-foreground" }), isConnected && unreadCount === 0 && (_jsx("span", { className: "absolute -top-0.5 -right-0.5 size-2 rounded-full bg-emerald-500", children: _jsx("span", { className: "absolute inset-0 animate-ping rounded-full bg-emerald-400 opacity-75" }) }))] }), _jsx("div", { className: cn("flex min-w-0 flex-col gap-0", !hasContext && "hidden lg:flex"), children: hasContext ? (_jsxs(_Fragment, { children: [_jsx("span", { className: "truncate text-[11px] font-semibold leading-tight text-foreground", children: contextLabel }), _jsx("span", { className: cn("flex items-center gap-1 text-[10px] font-medium leading-tight", isConnected ? "text-emerald-600 dark:text-emerald-400" : "text-muted-foreground"), children: isConnected
|
|
10
|
+
? _jsxs(_Fragment, { children: [_jsx(Wifi, { className: "size-2.5", "aria-hidden": "true" }), "Live"] })
|
|
11
|
+
: _jsxs(_Fragment, { children: [_jsx(WifiOff, { className: "size-2.5", "aria-hidden": "true" }), "Offline"] }) })] })) : (_jsx("span", { className: cn("text-[11px] font-medium leading-tight", isConnected ? "text-emerald-600 dark:text-emerald-400" : "text-muted-foreground"), children: isConnected ? "Live" : "Offline" })) }), _jsx(AnimatePresence, { children: unreadCount > 0 && (_jsx(motion.span, { initial: { scale: 0 }, animate: { scale: 1 }, exit: { scale: 0 }, transition: { type: "spring", stiffness: 500, damping: 25 }, "aria-label": `${unreadCount} unread messages`, className: cn("flex min-w-5 items-center justify-center rounded-full bg-destructive px-1 py-0.5 text-[10px] font-semibold text-destructive-foreground", hasContext ? "shrink-0" : "absolute -top-1.5 -right-1.5"), children: unreadCount > 99 ? "99+" : unreadCount })) })] }, hasContext ? "pill-context" : "pill-default") }) }));
|
|
7
12
|
}
|
|
8
13
|
//# sourceMappingURL=chat-toggle-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-toggle-button.js","sourceRoot":"","sources":["../../src/chat/chat-toggle-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-toggle-button.js","sourceRoot":"","sources":["../../src/chat/chat-toggle-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-layout.d.ts","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"messenger-layout.d.ts","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAkND,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,SAAiB,EACjB,WAAgB,EAChB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,eAAe,EACf,CAAY,GACb,EAAE,oBAAoB,2CAoGtB"}
|
|
@@ -40,10 +40,15 @@ function ConversationItem({ conversation, isSelected, onClick, onSubtitleClick,
|
|
|
40
40
|
? "bg-primary text-primary-foreground"
|
|
41
41
|
: "bg-muted text-muted-foreground"), children: conversation.initials }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("span", { className: cn("truncate text-sm", hasUnread
|
|
42
42
|
? "font-semibold text-foreground"
|
|
43
|
-
: "font-medium text-foreground/80"), children: conversation.name }), conversation.lastMessageAt && (_jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: formatRelativeTime(conversation.lastMessageAt) }))] }), conversation.subtitle && (onSubtitleClick ? (_jsxs("
|
|
43
|
+
: "font-medium text-foreground/80"), children: conversation.name }), conversation.lastMessageAt && (_jsx("span", { className: "shrink-0 text-xs text-muted-foreground", children: formatRelativeTime(conversation.lastMessageAt) }))] }), conversation.subtitle && (onSubtitleClick ? (_jsxs("span", { role: "link", tabIndex: 0, onClick: (e) => {
|
|
44
44
|
e.stopPropagation();
|
|
45
45
|
onSubtitleClick(conversation.id);
|
|
46
|
-
},
|
|
46
|
+
}, onKeyDown: (e) => {
|
|
47
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
48
|
+
e.stopPropagation();
|
|
49
|
+
onSubtitleClick(conversation.id);
|
|
50
|
+
}
|
|
51
|
+
}, className: cn("mt-0.5 flex cursor-pointer items-center gap-1 truncate text-xs", "text-primary/70 hover:text-primary hover:underline", "transition-colors"), "aria-label": `View offer for ${conversation.subtitle}`, children: [_jsx("span", { className: "truncate", children: conversation.subtitle }), _jsx(ArrowUpRight, { className: "size-3 shrink-0" })] })) : (_jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground/70", children: conversation.subtitle }))), conversation.lastMessage && (_jsx("p", { className: "mt-0.5 truncate text-sm/5 text-muted-foreground", children: conversation.lastMessage }))] }), hasUnread && (_jsx("span", { className: cn("flex size-5 shrink-0 items-center justify-center rounded-full", "text-[10px] font-bold tabular-nums", "bg-primary text-primary-foreground"), children: conversation.unreadCount > 9 ? "9+" : conversation.unreadCount }))] }));
|
|
47
52
|
}
|
|
48
53
|
/* ─── Empty state ─── */
|
|
49
54
|
function EmptyState({ t = defaultT }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-layout.js","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messenger-layout.js","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface StatCardProps {
|
|
3
|
+
icon: React.ReactNode;
|
|
4
|
+
label: string;
|
|
5
|
+
value: string | number;
|
|
6
|
+
description?: string;
|
|
7
|
+
href?: string;
|
|
8
|
+
renderLink?: (href: string, children: React.ReactNode) => React.ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function StatCard({ icon, label, value, description, href, renderLink, className, }: StatCardProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=stat-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card.d.ts","sourceRoot":"","sources":["../../src/components/stat-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,SAAS,GACV,EAAE,aAAa,2CAiCf"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils";
|
|
3
|
+
export function StatCard({ icon, label, value, description, href, renderLink, className, }) {
|
|
4
|
+
const cardContent = (_jsxs("div", { className: cn("border-border/60 bg-card rounded-2xl p-5 transition-colors", href && renderLink && "hover:bg-accent/30 cursor-pointer", className), children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "grid gap-1.5", children: [_jsx("p", { className: "text-xs font-semibold uppercase tracking-[0.14em] text-muted-foreground", children: label }), _jsx("p", { className: "text-3xl font-bold tracking-tight text-foreground", children: value })] }), _jsx("div", { className: "tone-icon tone-brand shrink-0 rounded-xl p-2.5", children: icon })] }), description && (_jsx("p", { className: "mt-4 text-sm/5 text-muted-foreground", children: description }))] }));
|
|
5
|
+
if (href && renderLink) {
|
|
6
|
+
return _jsx(_Fragment, { children: renderLink(href, cardContent) });
|
|
7
|
+
}
|
|
8
|
+
return cardContent;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=stat-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stat-card.js","sourceRoot":"","sources":["../../src/components/stat-card.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAYlC,MAAM,UAAU,QAAQ,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,EACJ,UAAU,EACV,SAAS,GACK;IACd,MAAM,WAAW,GAAG,CAClB,eACE,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,IAAI,IAAI,UAAU,IAAI,mCAAmC,EACzD,SAAS,CACV,aAED,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,cAAc,aAC3B,YAAG,SAAS,EAAC,yEAAyE,YACnF,KAAK,GACJ,EACJ,YAAG,SAAS,EAAC,mDAAmD,YAC7D,KAAK,GACJ,IACA,EACN,cAAK,SAAS,EAAC,gDAAgD,YAC5D,IAAI,GACD,IACF,EACL,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sCAAsC,YAAE,WAAW,GAAK,CACtE,IACG,CACP,CAAC;IAEF,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QACvB,OAAO,4BAAG,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,GAAI,CAAC;IAC9C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -58,4 +58,6 @@ export { AnimatedList } from "./components/animated-list";
|
|
|
58
58
|
export type { AnimatedListItem, AnimatedListProps } from "./components/animated-list";
|
|
59
59
|
export { ClassificationSelect } from "./components/classification-select";
|
|
60
60
|
export type { ClassificationSelectProps, CategoryOption } from "./components/classification-select";
|
|
61
|
+
export { StatCard } from "./components/stat-card";
|
|
62
|
+
export type { StatCardProps } from "./components/stat-card";
|
|
61
63
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,SAAS,EACT,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,IAAI,oBAAoB,EACpC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,IAAI,qBAAqB,EACtC,mBAAmB,EACnB,gBAAgB,IAAI,wBAAwB,GAC7C,MAAM,uBAAuB,CAAC;AAG/B,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,KAAK,EACL,KAAK,IAAI,aAAa,EACtB,WAAW,EACX,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO5E,OAAO,EACL,yBAAyB,EACzB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAErF,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,cAAc,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,4BAA4B,EAC5B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpG,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -67,4 +67,5 @@ export { ShadcnDialog, ShadcnDialogClose, ShadcnDialogContent, ShadcnDialogDescr
|
|
|
67
67
|
export { ShadcnSelect, ShadcnSelectContent, ShadcnSelectGroup, ShadcnSelectItem, ShadcnSelectScrollDownButton, ShadcnSelectScrollUpButton, ShadcnSelectTrigger, ShadcnSelectValue, } from "./components/shadcn-select";
|
|
68
68
|
export { AnimatedList } from "./components/animated-list";
|
|
69
69
|
export { ClassificationSelect } from "./components/classification-select";
|
|
70
|
+
export { StatCard } from "./components/stat-card";
|
|
70
71
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../src/nav/app-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,UAAU,aAAa;IACrB,kEAAkE;IAClE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,wBAAwB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,wEAAwE;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"app-shell.d.ts","sourceRoot":"","sources":["../../src/nav/app-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,UAAU,aAAa;IACrB,kEAAkE;IAClE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,wBAAwB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,wEAAwE;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACjB,EAAE,aAAa,2CAgFf"}
|
package/dist/nav/app-shell.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
|
-
import { Sheet, SheetContent } from "../components/sheet";
|
|
3
|
+
import { Sheet, SheetContent, SheetTitle } from "../components/sheet";
|
|
4
4
|
import { cn } from "../lib/utils";
|
|
5
5
|
export function AppShell({ sidebar, children, mobileTitle, mobileTray, overlay, contentClassName, }) {
|
|
6
6
|
const [mobileOpen, setMobileOpen] = useState(false);
|
|
7
|
-
return (_jsxs("div", { className: "min-h-dvh", children: [_jsx(Sheet, { open: mobileOpen, onOpenChange: setMobileOpen, children:
|
|
7
|
+
return (_jsxs("div", { className: "min-h-dvh", children: [_jsx(Sheet, { open: mobileOpen, onOpenChange: setMobileOpen, children: _jsxs(SheetContent, { side: "left", className: "w-72 max-w-xs p-0 border-r-0 [&>button]:hidden", "aria-describedby": undefined, children: [_jsx(SheetTitle, { className: "sr-only", children: "Navigation" }), _jsx("div", { className: "flex h-full flex-col", children: sidebar })] }) }), _jsx("div", { className: "hidden lg:fixed lg:inset-y-0 lg:z-50 lg:flex lg:w-72 lg:flex-col", children: sidebar }), _jsxs("div", { className: cn("lg:pl-72 flex flex-col min-h-dvh", contentClassName), children: [_jsxs("div", { className: "sticky top-0 z-40 flex h-16 shrink-0 items-center gap-x-4 border-b border-border bg-card px-4 shadow-xs sm:gap-x-6 sm:px-6 lg:hidden", children: [_jsx("button", { type: "button", onClick: () => setMobileOpen(true), className: "-m-2.5 p-2.5 text-foreground", "aria-label": "Open sidebar", children: _jsx("svg", { className: "size-6", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", "aria-hidden": "true", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" }) }) }), _jsx("div", { "aria-hidden": "true", className: "h-6 w-px bg-border" }), _jsxs("div", { className: "flex items-center gap-2 truncate", children: [_jsx("img", { src: "/android-chrome-192x192.png", alt: "", className: "size-4 shrink-0 rounded-xs" }), mobileTitle && (_jsx("span", { className: "text-sm font-semibold font-display text-foreground truncate", children: mobileTitle }))] }), mobileTray && (_jsx("div", { className: "ml-auto flex items-center gap-x-3", children: mobileTray }))] }), _jsx("main", { className: "flex-1 flex flex-col py-8", children: _jsx("div", { className: "flex-1 flex flex-col px-4 sm:px-6 lg:px-8", children: children }) })] }), overlay] }));
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=app-shell.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-shell.js","sourceRoot":"","sources":["../../src/nav/app-shell.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"app-shell.js","sourceRoot":"","sources":["../../src/nav/app-shell.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAiBlC,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACF;IACd,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,CACL,eAAK,SAAS,EAAC,WAAW,aAExB,KAAC,KAAK,IAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,YAClD,MAAC,YAAY,IACX,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,gDAAgD,sBACxC,SAAS,aAE3B,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,2BAAwB,EACvD,cAAK,SAAS,EAAC,sBAAsB,YAAE,OAAO,GAAO,IACxC,GACT,EAGR,cAAK,SAAS,EAAC,kEAAkE,YAC9E,OAAO,GACJ,EAGN,eAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,aAEtE,eAAK,SAAS,EAAC,sIAAsI,aACnJ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,SAAS,EAAC,8BAA8B,gBAC7B,cAAc,YAEzB,cACE,SAAS,EAAC,QAAQ,EAClB,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,WAAW,EAAE,GAAG,EAChB,MAAM,EAAC,cAAc,iBACT,MAAM,YAElB,eACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,8CAA8C,GAChD,GACE,GACC,EAET,6BAAiB,MAAM,EAAC,SAAS,EAAC,oBAAoB,GAAG,EAEzD,eAAK,SAAS,EAAC,kCAAkC,aAC/C,cACE,GAAG,EAAC,6BAA6B,EACjC,GAAG,EAAC,EAAE,EACN,SAAS,EAAC,4BAA4B,GACtC,EACD,WAAW,IAAI,CACd,eAAM,SAAS,EAAC,6DAA6D,YAC1E,WAAW,GACP,CACR,IACG,EAEL,UAAU,IAAI,CACb,cAAK,SAAS,EAAC,mCAAmC,YAAE,UAAU,GAAO,CACtE,IACG,EAGN,eAAM,SAAS,EAAC,2BAA2B,YACzC,cAAK,SAAS,EAAC,2CAA2C,YACvD,QAAQ,GACL,GACD,IACH,EAGL,OAAO,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opportunities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface OpportunityRow {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
marketIdentifier?: string | null;
|
|
6
|
+
beverageType?: string | null;
|
|
7
|
+
countryOfOrigin?: string | null;
|
|
8
|
+
status: string;
|
|
9
|
+
submissionDeadline?: string | null;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
}
|
|
12
|
+
export interface OpportunitiesTableProps {
|
|
13
|
+
data: OpportunityRow[];
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
/** Router-agnostic link renderer */
|
|
16
|
+
renderLink?: (href: string, children: React.ReactNode) => React.ReactNode;
|
|
17
|
+
/** Build href for a row. If not provided, rows are not clickable. */
|
|
18
|
+
getRowHref?: (row: OpportunityRow) => string;
|
|
19
|
+
emptyMessage?: string;
|
|
20
|
+
pageSize?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare function OpportunitiesTable({ data, isLoading, renderLink, getRowHref, emptyMessage, pageSize, }: OpportunitiesTableProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=opportunities-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities-table.d.ts","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA0B/B,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA+QD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,SAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAwC,EACxC,QAAa,GACd,EAAE,uBAAuB,2CAuHzB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { useReactTable, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, } from "@tanstack/react-table";
|
|
4
|
+
import { AnimatePresence, motion } from "motion/react";
|
|
5
|
+
import { format, formatDistanceToNow, isPast, parseISO } from "date-fns";
|
|
6
|
+
import { Clock, Search, ChevronDown, ChevronLeft, ChevronRight, Rows3, Rows4, } from "lucide-react";
|
|
7
|
+
import { cn } from "../lib/utils";
|
|
8
|
+
import { ShadcnButton } from "../components/shadcn-button";
|
|
9
|
+
import { ShadcnInput } from "../components/shadcn-input";
|
|
10
|
+
import { Skeleton } from "../components/skeleton";
|
|
11
|
+
// ─── Country flags ────────────────────────────────────────────────────────────
|
|
12
|
+
const COUNTRY_FLAGS = {
|
|
13
|
+
AR: "🇦🇷", AU: "🇦🇺", AT: "🇦🇹", BE: "🇧🇪", BR: "🇧🇷",
|
|
14
|
+
CA: "🇨🇦", CL: "🇨🇱", CN: "🇨🇳", HR: "🇭🇷", CZ: "🇨🇿",
|
|
15
|
+
DK: "🇩🇰", FR: "🇫🇷", DE: "🇩🇪", GR: "🇬🇷", HU: "🇭🇺",
|
|
16
|
+
IE: "🇮🇪", IT: "🇮🇹", JP: "🇯🇵", MX: "🇲🇽", NL: "🇳🇱",
|
|
17
|
+
NO: "🇳🇴", PL: "🇵🇱", PT: "🇵🇹", ES: "🇪🇸", SE: "🇸🇪",
|
|
18
|
+
CH: "🇨🇭", TR: "🇹🇷", GB: "🇬🇧", US: "🇺🇸", ZA: "🇿🇦",
|
|
19
|
+
KR: "🇰🇷", NZ: "🇳🇿", SK: "🇸🇰", SI: "🇸🇮", FI: "🇫🇮",
|
|
20
|
+
EE: "🇪🇪", LV: "🇱🇻", LT: "🇱🇹", LU: "🇱🇺", RO: "🇷🇴",
|
|
21
|
+
};
|
|
22
|
+
const COUNTRY_NAME_TO_ISO = {
|
|
23
|
+
"Argentina": "AR", "Australia": "AU", "Austria": "AT", "Belgium": "BE",
|
|
24
|
+
"Brazil": "BR", "Canada": "CA", "Chile": "CL", "China": "CN",
|
|
25
|
+
"Croatia": "HR", "Czech Republic": "CZ", "Czechia": "CZ",
|
|
26
|
+
"Denmark": "DK", "France": "FR", "Germany": "DE", "Greece": "GR",
|
|
27
|
+
"Hungary": "HU", "Ireland": "IE", "Italy": "IT", "Japan": "JP",
|
|
28
|
+
"Mexico": "MX", "Netherlands": "NL", "Norway": "NO", "Poland": "PL",
|
|
29
|
+
"Portugal": "PT", "Spain": "ES", "Sweden": "SE", "Switzerland": "CH",
|
|
30
|
+
"Turkey": "TR", "Türkiye": "TR", "United Kingdom": "GB", "UK": "GB",
|
|
31
|
+
"United States": "US", "USA": "US", "South Africa": "ZA",
|
|
32
|
+
"South Korea": "KR", "New Zealand": "NZ", "Slovakia": "SK",
|
|
33
|
+
"Slovenia": "SI", "Finland": "FI", "Estonia": "EE", "Latvia": "LV",
|
|
34
|
+
"Lithuania": "LT", "Luxembourg": "LU", "Romania": "RO",
|
|
35
|
+
};
|
|
36
|
+
function getFlag(country) {
|
|
37
|
+
if (!country)
|
|
38
|
+
return "🏳️";
|
|
39
|
+
const upper = country.toUpperCase();
|
|
40
|
+
if (COUNTRY_FLAGS[upper])
|
|
41
|
+
return COUNTRY_FLAGS[upper];
|
|
42
|
+
const iso = COUNTRY_NAME_TO_ISO[country];
|
|
43
|
+
return iso ? (COUNTRY_FLAGS[iso] ?? "🏳️") : "🏳️";
|
|
44
|
+
}
|
|
45
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
46
|
+
function StatusBadge({ status }) {
|
|
47
|
+
const normalised = status.toLowerCase();
|
|
48
|
+
return (_jsx("span", { className: cn("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-semibold", normalised === "open" &&
|
|
49
|
+
"bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-400", normalised === "closed" && "bg-muted text-muted-foreground", normalised === "draft" &&
|
|
50
|
+
"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400", !["open", "closed", "draft"].includes(normalised) &&
|
|
51
|
+
"bg-muted text-muted-foreground"), children: status }));
|
|
52
|
+
}
|
|
53
|
+
function DeadlineDisplay({ deadline, full = false, }) {
|
|
54
|
+
if (!deadline)
|
|
55
|
+
return _jsx("span", { className: "text-muted-foreground", children: "\u2014" });
|
|
56
|
+
const date = parseISO(deadline);
|
|
57
|
+
const past = isPast(date);
|
|
58
|
+
const daysLeft = Math.ceil((date.getTime() - Date.now()) / (1000 * 60 * 60 * 24));
|
|
59
|
+
return (_jsxs("span", { className: cn("inline-flex items-center gap-1 text-sm", past && "text-destructive", !past && daysLeft <= 7 && "text-amber-600 dark:text-amber-400", !past && daysLeft > 7 && "text-emerald-600 dark:text-emerald-400"), children: [_jsx(Clock, { className: "size-3.5 shrink-0" }), full
|
|
60
|
+
? format(date, "PPP")
|
|
61
|
+
: formatDistanceToNow(date, { addSuffix: true })] }));
|
|
62
|
+
}
|
|
63
|
+
// ─── Skeleton ─────────────────────────────────────────────────────────────────
|
|
64
|
+
function RowSkeleton({ density }) {
|
|
65
|
+
return (_jsxs("li", { className: cn("flex items-center gap-3 px-4", density === "comfortable" ? "py-3.5" : "py-2"), children: [_jsx(Skeleton, { className: "size-7 shrink-0 rounded-md" }), _jsxs("div", { className: "flex flex-1 flex-col gap-1.5", children: [_jsx(Skeleton, { className: "h-3.5 w-48 rounded" }), _jsx(Skeleton, { className: "h-3 w-28 rounded" })] }), _jsx(Skeleton, { className: "h-5 w-16 rounded-full" }), _jsx(Skeleton, { className: "h-5 w-16 rounded-full" }), _jsx(Skeleton, { className: "h-4 w-24 rounded" }), _jsx(Skeleton, { className: "size-5 shrink-0 rounded" })] }));
|
|
66
|
+
}
|
|
67
|
+
// ─── Detail grid ──────────────────────────────────────────────────────────────
|
|
68
|
+
function DetailField({ label, children, }) {
|
|
69
|
+
return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-xs font-medium text-muted-foreground", children: label }), _jsx("span", { className: "text-sm text-foreground", children: children })] }));
|
|
70
|
+
}
|
|
71
|
+
// ─── Row item ─────────────────────────────────────────────────────────────────
|
|
72
|
+
function OpportunityRowItem({ row, density, renderLink, getRowHref, }) {
|
|
73
|
+
const [expanded, setExpanded] = React.useState(false);
|
|
74
|
+
const href = getRowHref?.(row);
|
|
75
|
+
const flag = getFlag(row.countryOfOrigin);
|
|
76
|
+
const nameContent = (_jsx("span", { className: "text-sm font-semibold text-foreground hover:underline", children: row.name }));
|
|
77
|
+
return (_jsxs("li", { className: "bg-card", children: [_jsxs("div", { className: cn("flex items-center gap-3 px-4", density === "comfortable" ? "py-3.5" : "py-2"), children: [_jsx("span", { className: "shrink-0 text-xl leading-none", role: "img", "aria-label": row.countryOfOrigin ?? "Unknown country", children: flag }), _jsxs("div", { className: "min-w-0 flex-1", children: [href && renderLink ? (renderLink(href, nameContent)) : (nameContent), row.marketIdentifier && (_jsx("p", { className: "truncate text-xs text-muted-foreground", children: row.marketIdentifier }))] }), row.beverageType && (_jsx("span", { className: "hidden shrink-0 rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground sm:inline-block", children: row.beverageType })), _jsx(StatusBadge, { status: row.status }), _jsx("span", { className: "hidden shrink-0 md:inline-flex", children: _jsx(DeadlineDisplay, { deadline: row.submissionDeadline }) }), _jsx("button", { type: "button", onClick: () => setExpanded((v) => !v), "aria-expanded": expanded, "aria-label": expanded ? "Collapse details" : "Expand details", className: "shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: _jsx(ChevronDown, { className: cn("size-4 transition-transform duration-200", expanded && "rotate-180") }) })] }), _jsx(AnimatePresence, { initial: false, children: expanded && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.2, ease: "easeInOut" }, className: "overflow-hidden", children: _jsx("div", { className: "border-t border-border/40 bg-muted/20 px-4 pb-4 pt-3", children: _jsxs("div", { className: "grid grid-cols-2 gap-4 md:grid-cols-3", children: [_jsx(DetailField, { label: "Country of Origin", children: row.countryOfOrigin
|
|
78
|
+
? `${flag} ${row.countryOfOrigin}`
|
|
79
|
+
: "—" }), _jsx(DetailField, { label: "Beverage Type", children: row.beverageType ?? "—" }), _jsx(DetailField, { label: "Submission Deadline", children: _jsx(DeadlineDisplay, { deadline: row.submissionDeadline, full: true }) }), _jsx(DetailField, { label: "Market Identifier", children: row.marketIdentifier ?? "—" }), _jsx(DetailField, { label: "Status", children: _jsx(StatusBadge, { status: row.status }) })] }) }) }, "detail")) })] }));
|
|
80
|
+
}
|
|
81
|
+
// ─── Main component ───────────────────────────────────────────────────────────
|
|
82
|
+
const DUMMY_COLUMNS = [
|
|
83
|
+
{ accessorKey: "name" },
|
|
84
|
+
{ accessorKey: "marketIdentifier" },
|
|
85
|
+
{ accessorKey: "beverageType" },
|
|
86
|
+
{ accessorKey: "countryOfOrigin" },
|
|
87
|
+
{ accessorKey: "status" },
|
|
88
|
+
{ accessorKey: "submissionDeadline" },
|
|
89
|
+
];
|
|
90
|
+
export function OpportunitiesTable({ data, isLoading = false, renderLink, getRowHref, emptyMessage = "No opportunities found.", pageSize = 10, }) {
|
|
91
|
+
const [globalFilter, setGlobalFilter] = React.useState("");
|
|
92
|
+
const [density, setDensity] = React.useState("comfortable");
|
|
93
|
+
const table = useReactTable({
|
|
94
|
+
data,
|
|
95
|
+
columns: DUMMY_COLUMNS,
|
|
96
|
+
state: { globalFilter },
|
|
97
|
+
onGlobalFilterChange: setGlobalFilter,
|
|
98
|
+
globalFilterFn: (row, _columnId, filterValue) => {
|
|
99
|
+
const q = filterValue.toLowerCase();
|
|
100
|
+
return (row.original.name.toLowerCase().includes(q) ||
|
|
101
|
+
(row.original.marketIdentifier?.toLowerCase().includes(q) ?? false) ||
|
|
102
|
+
(row.original.beverageType?.toLowerCase().includes(q) ?? false) ||
|
|
103
|
+
(row.original.countryOfOrigin?.toLowerCase().includes(q) ?? false));
|
|
104
|
+
},
|
|
105
|
+
getCoreRowModel: getCoreRowModel(),
|
|
106
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
107
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
108
|
+
initialState: { pagination: { pageSize } },
|
|
109
|
+
});
|
|
110
|
+
const { pageIndex } = table.getState().pagination;
|
|
111
|
+
const pageCount = table.getPageCount();
|
|
112
|
+
const filteredCount = table.getFilteredRowModel().rows.length;
|
|
113
|
+
return (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [_jsxs("div", { className: "relative flex-1", children: [_jsx(Search, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx(ShadcnInput, { value: globalFilter, onChange: (e) => setGlobalFilter(e.target.value), placeholder: "Search name, market, type, country\u2026", className: "pl-9" })] }), _jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [_jsx(ShadcnButton, { variant: density === "comfortable" ? "secondary" : "ghost", size: "icon-sm", onClick: () => setDensity("comfortable"), title: "Comfortable density", children: _jsx(Rows4, { className: "size-4" }) }), _jsx(ShadcnButton, { variant: density === "compact" ? "secondary" : "ghost", size: "icon-sm", onClick: () => setDensity("compact"), title: "Compact density", children: _jsx(Rows3, { className: "size-4" }) })] }), !isLoading && (_jsxs("span", { className: "shrink-0 text-xs text-muted-foreground", children: [filteredCount, " ", filteredCount === 1 ? "opportunity" : "opportunities"] }))] }), _jsx("ul", { className: "divide-y divide-border/50 overflow-hidden rounded-2xl border border-border/60 bg-card", children: isLoading ? (Array.from({ length: 5 }).map((_, i) => (_jsx(RowSkeleton, { density: density }, i)))) : table.getRowModel().rows.length === 0 ? (_jsx("li", { className: "py-16 text-center text-sm text-muted-foreground", children: emptyMessage })) : (table.getRowModel().rows.map((row) => (_jsx(OpportunityRowItem, { row: row.original, density: density, renderLink: renderLink, getRowHref: getRowHref }, row.id)))) }), !isLoading && pageCount > 1 && (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Page ", pageIndex + 1, " of ", pageCount] }), _jsxs("div", { className: "flex items-center gap-1.5", children: [_jsxs(ShadcnButton, { variant: "outline", size: "sm", onClick: () => table.previousPage(), disabled: !table.getCanPreviousPage(), children: [_jsx(ChevronLeft, { className: "size-4" }), "Previous"] }), _jsxs(ShadcnButton, { variant: "outline", size: "sm", onClick: () => table.nextPage(), disabled: !table.getCanNextPage(), children: ["Next", _jsx(ChevronRight, { className: "size-4" })] })] })] }))] }));
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=opportunities-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities-table.js","sourceRoot":"","sources":["../../src/opportunities/opportunities-table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profile/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/profile/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface ProfileShellProps {
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function ProfileShell({ title, subtitle, children, className, }: ProfileShellProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
interface ProfileCardProps {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
footer?: React.ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function ProfileCard({ title, description, children, footer, className, }: ProfileCardProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
interface ProfileDetailRowProps {
|
|
18
|
+
icon: React.ReactNode;
|
|
19
|
+
label: string;
|
|
20
|
+
value: React.ReactNode | string;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function ProfileDetailRow({ icon, label, value, className, }: ProfileDetailRowProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
interface ProfileInfoGridProps {
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
className?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function ProfileInfoGrid({ children, className }: ProfileInfoGridProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
interface ProfileInfoItemProps {
|
|
30
|
+
label: string;
|
|
31
|
+
children: React.ReactNode;
|
|
32
|
+
colSpan?: "full" | "half";
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function ProfileInfoItem({ label, children, colSpan, className, }: ProfileInfoItemProps): import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
interface ProfileActionsProps {
|
|
37
|
+
children: React.ReactNode;
|
|
38
|
+
className?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare function ProfileActions({ children, className }: ProfileActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare const ProfilePage: {
|
|
42
|
+
Shell: typeof ProfileShell;
|
|
43
|
+
Card: typeof ProfileCard;
|
|
44
|
+
DetailRow: typeof ProfileDetailRow;
|
|
45
|
+
InfoGrid: typeof ProfileInfoGrid;
|
|
46
|
+
InfoItem: typeof ProfileInfoItem;
|
|
47
|
+
Actions: typeof ProfileActions;
|
|
48
|
+
};
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/profile/profile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,iBAAiB,2CAcnB;AAID,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,gBAAgB,2CAsBlB;AAID,UAAU,qBAAqB;IAC7B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,GACV,EAAE,qBAAqB,2CAUvB;AAID,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAM5E;AAID,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,2CAStB;AAID,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAM1E;AAID,eAAO,MAAM,WAAW;;;;;;;CAOvB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../lib/utils";
|
|
3
|
+
export function ProfileShell({ title, subtitle, children, className, }) {
|
|
4
|
+
return (_jsxs("div", { className: cn("max-w-4xl mx-auto space-y-6", className), children: [_jsxs("div", { className: "space-y-1", children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight text-foreground", children: title }), subtitle && (_jsx("p", { className: "text-sm/6 text-muted-foreground", children: subtitle }))] }), children] }));
|
|
5
|
+
}
|
|
6
|
+
export function ProfileCard({ title, description, children, footer, className, }) {
|
|
7
|
+
return (_jsxs("div", { className: cn("border border-border/60 bg-card rounded-2xl overflow-hidden", className), children: [_jsxs("div", { className: "px-6 py-5 border-b border-border/60", children: [_jsx("h2", { className: "text-base font-semibold text-foreground", children: title }), description && (_jsx("p", { className: "mt-1 text-sm/5 text-muted-foreground", children: description }))] }), _jsx("div", { className: "px-6 py-5", children: children }), footer && (_jsx("div", { className: "px-6 py-4 bg-muted/30 border-t border-border/60", children: footer }))] }));
|
|
8
|
+
}
|
|
9
|
+
export function ProfileDetailRow({ icon, label, value, className, }) {
|
|
10
|
+
return (_jsxs("div", { className: cn("grid grid-cols-[1.5rem_1fr_2fr] items-start gap-3 py-2.5", className), children: [_jsx("span", { className: "mt-0.5 text-muted-foreground", children: icon }), _jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: label }), _jsx("dd", { className: "text-sm text-foreground", children: value })] }));
|
|
11
|
+
}
|
|
12
|
+
export function ProfileInfoGrid({ children, className }) {
|
|
13
|
+
return (_jsx("dl", { className: cn("grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-2", className), children: children }));
|
|
14
|
+
}
|
|
15
|
+
export function ProfileInfoItem({ label, children, colSpan = "half", className, }) {
|
|
16
|
+
return (_jsxs("div", { className: cn(colSpan === "full" && "sm:col-span-2", className), children: [_jsx("dt", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: label }), _jsx("dd", { className: "mt-1 text-sm text-foreground", children: children })] }));
|
|
17
|
+
}
|
|
18
|
+
export function ProfileActions({ children, className }) {
|
|
19
|
+
return (_jsx("div", { className: cn("flex flex-wrap items-center gap-3", className), children: children }));
|
|
20
|
+
}
|
|
21
|
+
// ─── Compound export ──────────────────────────────────────────────────────────
|
|
22
|
+
export const ProfilePage = {
|
|
23
|
+
Shell: ProfileShell,
|
|
24
|
+
Card: ProfileCard,
|
|
25
|
+
DetailRow: ProfileDetailRow,
|
|
26
|
+
InfoGrid: ProfileInfoGrid,
|
|
27
|
+
InfoItem: ProfileInfoItem,
|
|
28
|
+
Actions: ProfileActions,
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile/profile.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAWlC,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,GACS;IAClB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,aAC1D,eAAK,SAAS,EAAC,WAAW,aACxB,aAAI,SAAS,EAAC,mDAAmD,YAC9D,KAAK,GACH,EACJ,QAAQ,IAAI,CACX,YAAG,SAAS,EAAC,iCAAiC,YAAE,QAAQ,GAAK,CAC9D,IACG,EACL,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,GACQ;IACjB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,SAAS,CACV,aAED,eAAK,SAAS,EAAC,qCAAqC,aAClD,aAAI,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAM,EACnE,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sCAAsC,YAAE,WAAW,GAAK,CACtE,IACG,EACN,cAAK,SAAS,EAAC,WAAW,YAAE,QAAQ,GAAO,EAC1C,MAAM,IAAI,CACT,cAAK,SAAS,EAAC,iDAAiD,YAC7D,MAAM,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,KAAK,EACL,SAAS,GACa;IACtB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,0DAA0D,EAAE,SAAS,CAAC,aACvF,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,GAAQ,EAC5D,aAAI,SAAS,EAAC,qEAAqE,YAChF,KAAK,GACH,EACL,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,IAChD,CACP,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAwB;IAC3E,OAAO,CACL,aAAI,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,YAC5E,QAAQ,GACN,CACN,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,OAAO,GAAG,MAAM,EAChB,SAAS,GACY;IACrB,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,eAAe,EAAE,SAAS,CAAC,aAClE,aAAI,SAAS,EAAC,qEAAqE,YAChF,KAAK,GACH,EACL,aAAI,SAAS,EAAC,8BAA8B,YAAE,QAAQ,GAAM,IACxD,CACP,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAuB;IACzE,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,YAC/D,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,WAAW;IACjB,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;CACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cellarnode/ui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Shared UI components, theme tokens, and chat/offer primitives for CellarNode dashboards.",
|
|
@@ -50,6 +50,14 @@
|
|
|
50
50
|
"./nav": {
|
|
51
51
|
"types": "./dist/nav/index.d.ts",
|
|
52
52
|
"default": "./dist/nav/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./profile": {
|
|
55
|
+
"types": "./dist/profile/index.d.ts",
|
|
56
|
+
"default": "./dist/profile/index.js"
|
|
57
|
+
},
|
|
58
|
+
"./opportunities": {
|
|
59
|
+
"types": "./dist/opportunities/index.d.ts",
|
|
60
|
+
"default": "./dist/opportunities/index.js"
|
|
53
61
|
}
|
|
54
62
|
},
|
|
55
63
|
"files": [
|
|
@@ -69,6 +77,7 @@
|
|
|
69
77
|
"@dnd-kit/dom": "^0.3.2",
|
|
70
78
|
"@dnd-kit/react": "^0.3.2",
|
|
71
79
|
"@tanstack/react-query": "^5.0.0",
|
|
80
|
+
"@tanstack/react-table": "^8.0.0",
|
|
72
81
|
"i18n-iso-countries": ">=7.0.0",
|
|
73
82
|
"motion": "^12.0.0",
|
|
74
83
|
"react": "^19.0.0",
|
|
@@ -88,6 +97,9 @@
|
|
|
88
97
|
"@tanstack/react-query": {
|
|
89
98
|
"optional": true
|
|
90
99
|
},
|
|
100
|
+
"@tanstack/react-table": {
|
|
101
|
+
"optional": true
|
|
102
|
+
},
|
|
91
103
|
"motion": {
|
|
92
104
|
"optional": true
|
|
93
105
|
},
|
|
@@ -153,6 +165,7 @@
|
|
|
153
165
|
"@storybook/react-vite": "^10.3.3",
|
|
154
166
|
"@tailwindcss/vite": "^4.2.2",
|
|
155
167
|
"@tanstack/react-query": "^5.95.2",
|
|
168
|
+
"@tanstack/react-table": "^8.21.3",
|
|
156
169
|
"@types/geojson": "^7946.0.16",
|
|
157
170
|
"@types/react": "^19.2.14",
|
|
158
171
|
"@types/react-dom": "^19.2.3",
|