@cellarnode/ui 0.8.5 → 0.8.6
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/variant-picker-dialog.d.ts +33 -0
- package/dist/components/variant-picker-dialog.d.ts.map +1 -0
- package/dist/components/variant-picker-dialog.js +72 -0
- package/dist/components/variant-picker-dialog.js.map +1 -0
- package/dist/components/variant-picker-dialog.stories.d.ts +17 -0
- package/dist/components/variant-picker-dialog.stories.d.ts.map +1 -0
- package/dist/components/variant-picker-dialog.stories.js +136 -0
- package/dist/components/variant-picker-dialog.stories.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface VariantPickerItem {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
vintage?: string | number | null;
|
|
6
|
+
category?: string | null;
|
|
7
|
+
subtype?: string | null;
|
|
8
|
+
beverageName?: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface VariantPickerDialogProps {
|
|
11
|
+
/** Whether the dialog is open. */
|
|
12
|
+
open: boolean;
|
|
13
|
+
/** Called when the dialog should close. */
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
/** Called when the user confirms a variant selection. */
|
|
16
|
+
onSelect: (variant: VariantPickerItem) => void;
|
|
17
|
+
/** List of variants to choose from. */
|
|
18
|
+
variants: VariantPickerItem[];
|
|
19
|
+
/** Show a loading spinner instead of the list. */
|
|
20
|
+
isLoading?: boolean;
|
|
21
|
+
/** Current search input value (controlled). */
|
|
22
|
+
searchValue: string;
|
|
23
|
+
/** Called when the search input changes. */
|
|
24
|
+
onSearchChange: (value: string) => void;
|
|
25
|
+
/** Dialog heading. @default "Select a product" */
|
|
26
|
+
title?: string;
|
|
27
|
+
/** Descriptive text below the heading. */
|
|
28
|
+
description?: string;
|
|
29
|
+
/** Optional custom renderer for each variant row. */
|
|
30
|
+
renderVariant?: (variant: VariantPickerItem, isSelected: boolean) => React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export declare function VariantPickerDialog({ open, onClose, onSelect, variants, isLoading, searchValue, onSearchChange, title, description, renderVariant, }: VariantPickerDialogProps): import("react/jsx-runtime").JSX.Element | null;
|
|
33
|
+
//# sourceMappingURL=variant-picker-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-picker-dialog.d.ts","sourceRoot":"","sources":["../../src/components/variant-picker-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,uCAAuC;IACvC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;CACtF;AAwDD,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAiB,EACjB,WAAW,EACX,cAAc,EACd,KAA0B,EAC1B,WAAW,EACX,aAAa,GACd,EAAE,wBAAwB,kDAkK1B"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../lib/utils";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Inline SVGs (no external icon dep required)
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
function SearchIcon(props) {
|
|
8
|
+
return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", "aria-hidden": "true", ...props, children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" }) }));
|
|
9
|
+
}
|
|
10
|
+
function SpinnerIcon(props) {
|
|
11
|
+
return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "aria-hidden": "true", ...props, children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }));
|
|
12
|
+
}
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Component
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
export function VariantPickerDialog({ open, onClose, onSelect, variants, isLoading = false, searchValue, onSearchChange, title = "Select a product", description, renderVariant, }) {
|
|
17
|
+
const [selectedId, setSelectedId] = React.useState(null);
|
|
18
|
+
// Reset selection when dialog opens/closes or variants change
|
|
19
|
+
React.useEffect(() => {
|
|
20
|
+
if (!open)
|
|
21
|
+
setSelectedId(null);
|
|
22
|
+
}, [open]);
|
|
23
|
+
if (!open)
|
|
24
|
+
return null;
|
|
25
|
+
const selectedVariant = variants.find((v) => v.id === selectedId) ?? null;
|
|
26
|
+
const handleSelect = () => {
|
|
27
|
+
if (selectedVariant) {
|
|
28
|
+
onSelect(selectedVariant);
|
|
29
|
+
onClose();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const handleSkip = () => {
|
|
33
|
+
onClose();
|
|
34
|
+
};
|
|
35
|
+
const handleBackdropClick = (e) => {
|
|
36
|
+
if (e.target === e.currentTarget) {
|
|
37
|
+
onClose();
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const handleKeyDown = (e) => {
|
|
41
|
+
if (e.key === "Escape") {
|
|
42
|
+
onClose();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center p-4", onKeyDown: handleKeyDown, children: [_jsx("div", { className: "absolute inset-0 bg-foreground/20 backdrop-blur-xs", onClick: handleBackdropClick, "aria-hidden": "true" }), _jsxs("div", { role: "dialog", "aria-modal": "true", "aria-label": title, className: cn("glass-panel relative z-10 flex max-h-[min(32rem,80dvh)] w-full max-w-md flex-col", "rounded-2xl border border-primary/6 p-0", "animate-fade-in"), children: [_jsxs("div", { className: "shrink-0 px-5 pt-5 pb-3", children: [_jsx("h2", { className: "text-base/6 font-semibold text-foreground", children: title }), description && (_jsx("p", { className: "mt-1 text-sm/5 text-muted-foreground", children: description })), _jsxs("div", { className: "relative mt-3", children: [_jsx(SearchIcon, { className: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx("input", { type: "text", value: searchValue, onChange: (e) => onSearchChange(e.target.value), placeholder: "Search variants...", autoFocus: true, className: cn("w-full rounded-xl border border-primary/6 bg-muted/30 py-2 pl-9 pr-3", "text-sm/5 text-foreground placeholder:text-muted-foreground/60", "outline-hidden focus:border-primary/20 focus:ring-1 focus:ring-primary/20", "transition-colors") })] })] }), _jsx("div", { className: "min-h-0 flex-1 overflow-y-auto px-3 pb-1", children: isLoading ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12", children: [_jsx(SpinnerIcon, { className: "size-6 animate-spin text-primary" }), _jsx("p", { className: "mt-3 text-sm/5 text-muted-foreground", children: "Loading variants..." })] })) : variants.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 text-center", children: [_jsx("p", { className: "text-sm/5 font-medium text-foreground", children: "No variants found" }), _jsx("p", { className: "mt-1 text-xs/4 text-muted-foreground", children: searchValue
|
|
46
|
+
? "Try a different search term"
|
|
47
|
+
: "No beverage variants are available yet" })] })) : (_jsx("div", { className: "flex flex-col gap-1.5", children: variants.map((variant) => {
|
|
48
|
+
const isSelected = variant.id === selectedId;
|
|
49
|
+
return (_jsx("button", { type: "button", onClick: () => setSelectedId(variant.id), className: cn("w-full rounded-xl border px-3.5 py-2.5 text-left transition-colors", isSelected
|
|
50
|
+
? "border-primary/20 bg-primary/5"
|
|
51
|
+
: "border-transparent hover:bg-muted/40"), children: renderVariant ? (renderVariant(variant, isSelected)) : (_jsx(DefaultVariantRow, { variant: variant, isSelected: isSelected })) }, variant.id));
|
|
52
|
+
}) })) }), _jsx("div", { className: "shrink-0 border-t border-primary/6 px-5 py-3", children: _jsxs("div", { className: "flex items-center justify-end gap-2.5", children: [_jsx("button", { type: "button", onClick: handleSkip, className: cn("rounded-xl px-4 py-2 text-sm/5 font-medium text-muted-foreground", "transition-colors hover:bg-muted/40 hover:text-foreground"), children: "Skip \u2014 empty draft" }), _jsx("button", { type: "button", onClick: handleSelect, disabled: !selectedVariant, className: cn("rounded-xl px-4 py-2 text-sm/5 font-medium text-primary-foreground", "bg-[var(--color-brand-primary,oklch(0.35_0.062_178))]", "transition-colors", selectedVariant
|
|
53
|
+
? "hover:brightness-110"
|
|
54
|
+
: "cursor-not-allowed opacity-50"), children: "Select & pre-fill" })] }) })] })] }));
|
|
55
|
+
}
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Default variant row renderer
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
function DefaultVariantRow({ variant, isSelected, }) {
|
|
60
|
+
const displayName = variant.beverageName
|
|
61
|
+
? `${variant.beverageName} — ${variant.name}`
|
|
62
|
+
: variant.name;
|
|
63
|
+
const pills = [];
|
|
64
|
+
if (variant.category)
|
|
65
|
+
pills.push(variant.category);
|
|
66
|
+
if (variant.subtype)
|
|
67
|
+
pills.push(variant.subtype);
|
|
68
|
+
return (_jsxs("div", { className: "flex items-start gap-3", children: [_jsx("span", { className: cn("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors", isSelected
|
|
69
|
+
? "border-primary bg-primary"
|
|
70
|
+
: "border-muted-foreground/30"), children: isSelected && _jsx("span", { className: "size-1.5 rounded-full bg-primary-foreground" }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("p", { className: "truncate text-sm/5 font-medium text-foreground", children: [displayName, variant.vintage != null && (_jsx("span", { className: "ml-1.5 text-muted-foreground", children: variant.vintage }))] }), pills.length > 0 && (_jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: pills.map((pill) => (_jsx("span", { className: "rounded-full bg-muted/50 px-2 py-0.5 text-[10px] font-medium text-muted-foreground", children: pill }, pill))) }))] })] }));
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=variant-picker-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-picker-dialog.js","sourceRoot":"","sources":["../../src/components/variant-picker-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAsClC,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E,SAAS,UAAU,CAAC,KAAoC;IACtD,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,WAAW,EAAE,GAAG,EAChB,MAAM,EAAC,cAAc,iBACT,MAAM,KACd,KAAK,YAET,eACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,+EAA+E,GACjF,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAoC;IACvD,OAAO,CACL,eACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,iBACP,MAAM,KACd,KAAK,aAET,iBACE,SAAS,EAAC,YAAY,EACtB,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,IAAI,EACN,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,GACf,EACF,eACE,SAAS,EAAC,YAAY,EACtB,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,iHAAiH,GACnH,IACE,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,WAAW,EACX,cAAc,EACd,KAAK,GAAG,kBAAkB,EAC1B,WAAW,EACX,aAAa,GACY;IACzB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExE,8DAA8D;IAC9D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;IAE1E,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,eAAe,EAAE,CAAC;YACpB,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,CAAmC,EAAE,EAAE;QAClE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAsB,EAAE,EAAE;QAC/C,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAC,yDAAyD,EACnE,SAAS,EAAE,aAAa,aAGxB,cACE,SAAS,EAAC,oDAAoD,EAC9D,OAAO,EAAE,mBAAmB,iBAChB,MAAM,GAClB,EAGF,eACE,IAAI,EAAC,QAAQ,gBACF,MAAM,gBACL,KAAK,EACjB,SAAS,EAAE,EAAE,CACX,kFAAkF,EAClF,yCAAyC,EACzC,iBAAiB,CAClB,aAGD,eAAK,SAAS,EAAC,yBAAyB,aACtC,aAAI,SAAS,EAAC,2CAA2C,YAAE,KAAK,GAAM,EACrE,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sCAAsC,YAAE,WAAW,GAAK,CACtE,EAGD,eAAK,SAAS,EAAC,eAAe,aAC5B,KAAC,UAAU,IAAC,SAAS,EAAC,2FAA2F,GAAG,EACpH,gBACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAC,oBAAoB,EAChC,SAAS,QACT,SAAS,EAAE,EAAE,CACX,sEAAsE,EACtE,gEAAgE,EAChE,2EAA2E,EAC3E,mBAAmB,CACpB,GACD,IACE,IACF,EAGN,cAAK,SAAS,EAAC,0CAA0C,YACtD,SAAS,CAAC,CAAC,CAAC,CACX,eAAK,SAAS,EAAC,iDAAiD,aAC9D,KAAC,WAAW,IAAC,SAAS,EAAC,kCAAkC,GAAG,EAC5D,YAAG,SAAS,EAAC,sCAAsC,oCAAwB,IACvE,CACP,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B,eAAK,SAAS,EAAC,6DAA6D,aAC1E,YAAG,SAAS,EAAC,uCAAuC,kCAAsB,EAC1E,YAAG,SAAS,EAAC,sCAAsC,YAChD,WAAW;wCACV,CAAC,CAAC,6BAA6B;wCAC/B,CAAC,CAAC,wCAAwC,GAC1C,IACA,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,uBAAuB,YACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gCACxB,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC;gCAE7C,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EACxC,SAAS,EAAE,EAAE,CACX,oEAAoE,EACpE,UAAU;wCACR,CAAC,CAAC,gCAAgC;wCAClC,CAAC,CAAC,sCAAsC,CAC3C,YAEA,aAAa,CAAC,CAAC,CAAC,CACf,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CACnC,CAAC,CAAC,CAAC,CACF,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,GAAI,CAChE,IAdI,OAAO,CAAC,EAAE,CAeR,CACV,CAAC;4BACJ,CAAC,CAAC,GACE,CACP,GACG,EAGN,cAAK,SAAS,EAAC,8CAA8C,YAC3D,eAAK,SAAS,EAAC,uCAAuC,aACpD,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,EAAE,CACX,kEAAkE,EAClE,2DAA2D,CAC5D,wCAGM,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,CAAC,eAAe,EAC1B,SAAS,EAAE,EAAE,CACX,oEAAoE,EACpE,uDAAuD,EACvD,mBAAmB,EACnB,eAAe;wCACb,CAAC,CAAC,sBAAsB;wCACxB,CAAC,CAAC,+BAA+B,CACpC,kCAGM,IACL,GACF,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,SAAS,iBAAiB,CAAC,EACzB,OAAO,EACP,UAAU,GAIX;IACC,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY;QACtC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,MAAM,OAAO,CAAC,IAAI,EAAE;QAC7C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAEjB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aAErC,eACE,SAAS,EAAE,EAAE,CACX,iGAAiG,EACjG,UAAU;oBACR,CAAC,CAAC,2BAA2B;oBAC7B,CAAC,CAAC,4BAA4B,CACjC,YAEA,UAAU,IAAI,eAAM,SAAS,EAAC,6CAA6C,GAAG,GAC1E,EAEP,eAAK,SAAS,EAAC,gBAAgB,aAC7B,aAAG,SAAS,EAAC,gDAAgD,aAC1D,WAAW,EACX,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,CAC1B,eAAM,SAAS,EAAC,8BAA8B,YAAE,OAAO,CAAC,OAAO,GAAQ,CACxE,IACC,EAEH,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,cAAK,SAAS,EAAC,2BAA2B,YACvC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,eAEE,SAAS,EAAC,oFAAoF,YAE7F,IAAI,IAHA,IAAI,CAIJ,CACR,CAAC,GACE,CACP,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { VariantPickerDialog } from "./variant-picker-dialog";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof VariantPickerDialog;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const Loading: Story;
|
|
15
|
+
export declare const Empty: Story;
|
|
16
|
+
export declare const CustomTitle: Story;
|
|
17
|
+
//# sourceMappingURL=variant-picker-dialog.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-picker-dialog.stories.d.ts","sourceRoot":"","sources":["../../src/components/variant-picker-dialog.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAA0B,MAAM,yBAAyB,CAAC;AA6CtF,QAAA,MAAM,IAAI;;;;;;;CAKkC,CAAC;AAE7C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA6CnC,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAsBF,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC;AAsBF,eAAO,MAAM,KAAK,EAAE,KAUnB,CAAC;AAsBF,eAAO,MAAM,WAAW,EAAE,KAYzB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useMemo } from "react";
|
|
3
|
+
import { VariantPickerDialog } from "./variant-picker-dialog";
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// Mock data
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
const mockVariants = [
|
|
8
|
+
{
|
|
9
|
+
id: "v1",
|
|
10
|
+
name: "Grand Cru 2019",
|
|
11
|
+
vintage: 2019,
|
|
12
|
+
category: "Wine",
|
|
13
|
+
subtype: "Red Wine",
|
|
14
|
+
beverageName: "Domaine de la Romanee",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
id: "v2",
|
|
18
|
+
name: "Pilsner Urquell 500ml",
|
|
19
|
+
vintage: null,
|
|
20
|
+
category: "Beer & Cider",
|
|
21
|
+
subtype: "Lager",
|
|
22
|
+
beverageName: "Pilsner Urquell",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: "v3",
|
|
26
|
+
name: "Single Malt 18yr",
|
|
27
|
+
vintage: null,
|
|
28
|
+
category: "Spirits",
|
|
29
|
+
subtype: "Whisky",
|
|
30
|
+
beverageName: "Highland Reserve",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "v4",
|
|
34
|
+
name: "Blanc de Blancs NV",
|
|
35
|
+
vintage: null,
|
|
36
|
+
category: "Wine",
|
|
37
|
+
subtype: "Sparkling Wine",
|
|
38
|
+
beverageName: "Maison Laurent",
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Meta
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
const meta = {
|
|
45
|
+
title: "Components/VariantPickerDialog",
|
|
46
|
+
component: VariantPickerDialog,
|
|
47
|
+
tags: ["autodocs"],
|
|
48
|
+
parameters: { layout: "centered" },
|
|
49
|
+
};
|
|
50
|
+
export default meta;
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
// Interactive (default) story with search filtering
|
|
53
|
+
// ---------------------------------------------------------------------------
|
|
54
|
+
function InteractiveRender() {
|
|
55
|
+
const [open, setOpen] = useState(true);
|
|
56
|
+
const [search, setSearch] = useState("");
|
|
57
|
+
const filtered = useMemo(() => {
|
|
58
|
+
if (!search)
|
|
59
|
+
return mockVariants;
|
|
60
|
+
const q = search.toLowerCase();
|
|
61
|
+
return mockVariants.filter((v) => v.name.toLowerCase().includes(q) ||
|
|
62
|
+
v.beverageName?.toLowerCase().includes(q) ||
|
|
63
|
+
v.category?.toLowerCase().includes(q) ||
|
|
64
|
+
v.subtype?.toLowerCase().includes(q));
|
|
65
|
+
}, [search]);
|
|
66
|
+
return (_jsxs("div", { children: [_jsx("button", { type: "button", onClick: () => setOpen(true), className: "rounded-xl bg-primary px-4 py-2 text-sm font-medium text-primary-foreground", children: "Open picker" }), _jsx(VariantPickerDialog, { open: open, onClose: () => setOpen(false), onSelect: (v) => alert(`Selected: ${v.name} (${v.id})`), variants: filtered, searchValue: search, onSearchChange: setSearch, description: "Choose a product to pre-fill this offer draft." })] }));
|
|
67
|
+
}
|
|
68
|
+
export const Default = {
|
|
69
|
+
args: {
|
|
70
|
+
open: true,
|
|
71
|
+
variants: mockVariants,
|
|
72
|
+
searchValue: "",
|
|
73
|
+
onClose: () => { },
|
|
74
|
+
onSelect: () => { },
|
|
75
|
+
onSearchChange: () => { },
|
|
76
|
+
},
|
|
77
|
+
render: () => _jsx(InteractiveRender, {}),
|
|
78
|
+
};
|
|
79
|
+
// ---------------------------------------------------------------------------
|
|
80
|
+
// Loading state
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
function LoadingRender() {
|
|
83
|
+
const [search, setSearch] = useState("");
|
|
84
|
+
return (_jsx(VariantPickerDialog, { open: true, onClose: () => { }, onSelect: () => { }, variants: [], isLoading: true, searchValue: search, onSearchChange: setSearch, description: "Fetching your beverage portfolio..." }));
|
|
85
|
+
}
|
|
86
|
+
export const Loading = {
|
|
87
|
+
args: {
|
|
88
|
+
open: true,
|
|
89
|
+
variants: [],
|
|
90
|
+
isLoading: true,
|
|
91
|
+
searchValue: "",
|
|
92
|
+
onClose: () => { },
|
|
93
|
+
onSelect: () => { },
|
|
94
|
+
onSearchChange: () => { },
|
|
95
|
+
},
|
|
96
|
+
render: () => _jsx(LoadingRender, {}),
|
|
97
|
+
};
|
|
98
|
+
// ---------------------------------------------------------------------------
|
|
99
|
+
// Empty state
|
|
100
|
+
// ---------------------------------------------------------------------------
|
|
101
|
+
function EmptyRender() {
|
|
102
|
+
const [search, setSearch] = useState("");
|
|
103
|
+
return (_jsx(VariantPickerDialog, { open: true, onClose: () => { }, onSelect: () => { }, variants: [], searchValue: search, onSearchChange: setSearch, title: "Select a product", description: "No variants match your search." }));
|
|
104
|
+
}
|
|
105
|
+
export const Empty = {
|
|
106
|
+
args: {
|
|
107
|
+
open: true,
|
|
108
|
+
variants: [],
|
|
109
|
+
searchValue: "",
|
|
110
|
+
onClose: () => { },
|
|
111
|
+
onSelect: () => { },
|
|
112
|
+
onSearchChange: () => { },
|
|
113
|
+
},
|
|
114
|
+
render: () => _jsx(EmptyRender, {}),
|
|
115
|
+
};
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// Custom title & description
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
function CustomTitleRender() {
|
|
120
|
+
const [search, setSearch] = useState("");
|
|
121
|
+
return (_jsx(VariantPickerDialog, { open: true, onClose: () => { }, onSelect: (v) => alert(`Selected: ${v.name}`), variants: mockVariants, searchValue: search, onSearchChange: setSearch, title: "Attach a beverage variant", description: "This will link your product to the selected opportunity." }));
|
|
122
|
+
}
|
|
123
|
+
export const CustomTitle = {
|
|
124
|
+
args: {
|
|
125
|
+
open: true,
|
|
126
|
+
variants: mockVariants,
|
|
127
|
+
searchValue: "",
|
|
128
|
+
onClose: () => { },
|
|
129
|
+
onSelect: () => { },
|
|
130
|
+
onSearchChange: () => { },
|
|
131
|
+
title: "Attach a beverage variant",
|
|
132
|
+
description: "This will link your product to the selected opportunity.",
|
|
133
|
+
},
|
|
134
|
+
render: () => _jsx(CustomTitleRender, {}),
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=variant-picker-dialog.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-picker-dialog.stories.js","sourceRoot":"","sources":["../../src/components/variant-picker-dialog.stories.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -65,4 +65,5 @@ export { DashboardStatsGrid } from "./components/dashboard-stats-grid";
|
|
|
65
65
|
export type { DashboardStatsGridProps, DashboardStatItem } from "./components/dashboard-stats-grid";
|
|
66
66
|
export { PeriodSelect } from "./components/period-select";
|
|
67
67
|
export type { PeriodSelectProps, DashboardPeriod } from "./components/period-select";
|
|
68
|
+
export { VariantPickerDialog, type VariantPickerDialogProps, type VariantPickerItem } from "./components/variant-picker-dialog";
|
|
68
69
|
//# 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":"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"}
|
package/dist/index.js
CHANGED
|
@@ -71,4 +71,5 @@ export { ClassificationSelect } from "./components/classification-select";
|
|
|
71
71
|
export { StatCard } from "./components/stat-card";
|
|
72
72
|
export { DashboardStatsGrid } from "./components/dashboard-stats-grid";
|
|
73
73
|
export { PeriodSelect } from "./components/period-select";
|
|
74
|
+
export { VariantPickerDialog } from "./components/variant-picker-dialog";
|
|
74
75
|
//# 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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"}
|