@cellarnode/ui 0.1.0 → 0.2.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.
Files changed (37) hide show
  1. package/dist/components/classification-select.d.ts +24 -0
  2. package/dist/components/classification-select.d.ts.map +1 -0
  3. package/dist/components/classification-select.js +51 -0
  4. package/dist/components/classification-select.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/offer/beverage-details.d.ts +23 -0
  10. package/dist/offer/beverage-details.d.ts.map +1 -0
  11. package/dist/offer/beverage-details.js +41 -0
  12. package/dist/offer/beverage-details.js.map +1 -0
  13. package/dist/offer/composition-list.d.ts +9 -0
  14. package/dist/offer/composition-list.d.ts.map +1 -0
  15. package/dist/offer/composition-list.js +9 -0
  16. package/dist/offer/composition-list.js.map +1 -0
  17. package/dist/offer/index.d.ts +12 -0
  18. package/dist/offer/index.d.ts.map +1 -1
  19. package/dist/offer/index.js +6 -0
  20. package/dist/offer/index.js.map +1 -1
  21. package/dist/offer/opportunity-requirements.d.ts +31 -0
  22. package/dist/offer/opportunity-requirements.d.ts.map +1 -0
  23. package/dist/offer/opportunity-requirements.js +54 -0
  24. package/dist/offer/opportunity-requirements.js.map +1 -0
  25. package/dist/offer/org-banner.d.ts +11 -0
  26. package/dist/offer/org-banner.d.ts.map +1 -0
  27. package/dist/offer/org-banner.js +19 -0
  28. package/dist/offer/org-banner.js.map +1 -0
  29. package/dist/offer/reviews-summary.d.ts +19 -0
  30. package/dist/offer/reviews-summary.d.ts.map +1 -0
  31. package/dist/offer/reviews-summary.js +17 -0
  32. package/dist/offer/reviews-summary.js.map +1 -0
  33. package/dist/offer/sensory-profile.d.ts +11 -0
  34. package/dist/offer/sensory-profile.d.ts.map +1 -0
  35. package/dist/offer/sensory-profile.js +28 -0
  36. package/dist/offer/sensory-profile.js.map +1 -0
  37. package/package.json +5 -1
@@ -0,0 +1,24 @@
1
+ export interface CategoryOption {
2
+ id: string;
3
+ name: string;
4
+ subtypes: {
5
+ id: string;
6
+ name: string;
7
+ }[];
8
+ }
9
+ export interface ClassificationSelectProps {
10
+ categories: CategoryOption[];
11
+ selectedCategory?: string;
12
+ selectedSubtype?: string;
13
+ onCategoryChange: (categoryId: string) => void;
14
+ onSubtypeChange: (subtypeId: string) => void;
15
+ isLoading?: boolean;
16
+ allowOther?: boolean;
17
+ categoryLabel?: string;
18
+ subtypeLabel?: string;
19
+ categoryPlaceholder?: string;
20
+ subtypePlaceholder?: string;
21
+ className?: string;
22
+ }
23
+ export declare function ClassificationSelect({ categories, selectedCategory, selectedSubtype, onCategoryChange, onSubtypeChange, isLoading, allowOther, categoryLabel, subtypeLabel, categoryPlaceholder, subtypePlaceholder, className, }: ClassificationSelectProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=classification-select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-select.d.ts","sourceRoot":"","sources":["../../src/components/classification-select.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,SAAiB,EACjB,UAAiB,EACjB,aAA0B,EAC1B,YAAwB,EACxB,mBAAyC,EACzC,kBAAuC,EACvC,SAAS,GACV,EAAE,yBAAyB,2CAoI3B"}
@@ -0,0 +1,51 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from 'react';
3
+ import { Select } from './select';
4
+ import { Input } from './input';
5
+ import { Field, Label } from './fieldset';
6
+ import { cn } from '../lib/utils';
7
+ const OTHER_VALUE = '__other__';
8
+ export function ClassificationSelect({ categories, selectedCategory, selectedSubtype, onCategoryChange, onSubtypeChange, isLoading = false, allowOther = true, categoryLabel = 'Category', subtypeLabel = 'Subtype', categoryPlaceholder = 'Select a category', subtypePlaceholder = 'Select a subtype', className, }) {
9
+ const [categoryOtherText, setCategoryOtherText] = useState('');
10
+ const [subtypeOtherText, setSubtypeOtherText] = useState('');
11
+ const isCategoryOther = selectedCategory === OTHER_VALUE;
12
+ const isSubtypeOther = selectedSubtype === OTHER_VALUE;
13
+ const currentCategory = categories.find((c) => c.id === selectedCategory);
14
+ const availableSubtypes = currentCategory?.subtypes ?? [];
15
+ // When category changes, clear the subtype other text
16
+ useEffect(() => {
17
+ setSubtypeOtherText('');
18
+ }, [selectedCategory]);
19
+ function handleCategoryChange(e) {
20
+ const value = e.target.value;
21
+ onCategoryChange(value);
22
+ // Always clear subtype when category changes
23
+ onSubtypeChange('');
24
+ }
25
+ function handleSubtypeChange(e) {
26
+ onSubtypeChange(e.target.value);
27
+ }
28
+ function handleCategoryOtherChange(e) {
29
+ const value = e.target.value;
30
+ setCategoryOtherText(value);
31
+ onCategoryChange(value ? `other:${value}` : OTHER_VALUE);
32
+ }
33
+ function handleSubtypeOtherChange(e) {
34
+ const value = e.target.value;
35
+ setSubtypeOtherText(value);
36
+ onSubtypeChange(value ? `other:${value}` : OTHER_VALUE);
37
+ }
38
+ return (_jsxs("div", { className: cn('grid grid-cols-1 gap-4 sm:grid-cols-2', className), children: [_jsxs(Field, { children: [_jsx(Label, { children: categoryLabel }), isCategoryOther ? (_jsxs("div", { className: "mt-3 flex gap-2", children: [_jsx(Input, { type: "text", value: categoryOtherText, onChange: handleCategoryOtherChange, placeholder: "Enter category\u2026", disabled: isLoading }), _jsx("button", { type: "button", onClick: () => {
39
+ setCategoryOtherText('');
40
+ onCategoryChange('');
41
+ onSubtypeChange('');
42
+ }, className: "shrink-0 text-sm/6 text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200", children: "\u21A9 Back" })] })) : (_jsxs(Select, { value: selectedCategory ?? '', onChange: handleCategoryChange, disabled: isLoading, children: [_jsx("option", { value: "", disabled: true, children: isLoading ? 'Loading…' : categoryPlaceholder }), categories.map((cat) => (_jsx("option", { value: cat.id, children: cat.name }, cat.id))), allowOther && _jsx("option", { value: OTHER_VALUE, children: "Other\u2026" })] }))] }), _jsxs(Field, { children: [_jsx(Label, { children: subtypeLabel }), isSubtypeOther ? (_jsxs("div", { className: "mt-3 flex gap-2", children: [_jsx(Input, { type: "text", value: subtypeOtherText, onChange: handleSubtypeOtherChange, placeholder: "Enter subtype\u2026", disabled: isLoading }), _jsx("button", { type: "button", onClick: () => {
43
+ setSubtypeOtherText('');
44
+ onSubtypeChange('');
45
+ }, className: "shrink-0 text-sm/6 text-zinc-500 hover:text-zinc-700 dark:text-zinc-400 dark:hover:text-zinc-200", children: "\u21A9 Back" })] })) : (_jsxs(Select, { value: selectedSubtype ?? '', onChange: handleSubtypeChange, disabled: isLoading || !selectedCategory || isCategoryOther, children: [_jsx("option", { value: "", disabled: true, children: isLoading
46
+ ? 'Loading…'
47
+ : !selectedCategory || isCategoryOther
48
+ ? 'Select a category first'
49
+ : subtypePlaceholder }), availableSubtypes.map((sub) => (_jsx("option", { value: sub.id, children: sub.name }, sub.id))), allowOther && selectedCategory && !isCategoryOther && (_jsx("option", { value: OTHER_VALUE, children: "Other\u2026" }))] }))] })] }));
50
+ }
51
+ //# sourceMappingURL=classification-select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-select.js","sourceRoot":"","sources":["../../src/components/classification-select.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -55,4 +55,6 @@ export { ShadcnDialog, ShadcnDialogClose, ShadcnDialogContent, ShadcnDialogDescr
55
55
  export { ShadcnSelect, ShadcnSelectContent, ShadcnSelectGroup, ShadcnSelectItem, ShadcnSelectScrollDownButton, ShadcnSelectScrollUpButton, ShadcnSelectTrigger, ShadcnSelectValue, } from "./components/shadcn-select";
56
56
  export { AnimatedList } from "./components/animated-list";
57
57
  export type { AnimatedListItem, AnimatedListProps } from "./components/animated-list";
58
+ export { ClassificationSelect } from "./components/classification-select";
59
+ export type { ClassificationSelectProps, CategoryOption } from "./components/classification-select";
58
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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;AAGlE,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -65,4 +65,5 @@ export { ShadcnTextarea } from "./components/shadcn-textarea";
65
65
  export { ShadcnDialog, ShadcnDialogClose, ShadcnDialogContent, ShadcnDialogDescription, ShadcnDialogFooter, ShadcnDialogHeader, ShadcnDialogOverlay, ShadcnDialogPortal, ShadcnDialogTitle, ShadcnDialogTrigger, } from "./components/shadcn-dialog";
66
66
  export { ShadcnSelect, ShadcnSelectContent, ShadcnSelectGroup, ShadcnSelectItem, ShadcnSelectScrollDownButton, ShadcnSelectScrollUpButton, ShadcnSelectTrigger, ShadcnSelectValue, } from "./components/shadcn-select";
67
67
  export { AnimatedList } from "./components/animated-list";
68
+ export { ClassificationSelect } from "./components/classification-select";
68
69
  //# 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":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EACL,SAAS,EACT,eAAe,GAEhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAqB,MAAM,kBAAkB,CAAC;AAExE,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,4BAA4B;AAC5B,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;AAEpC,4HAA4H;AAC5H,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;AAE/B,8BAA8B;AAC9B,cAAc,4BAA4B,CAAC;AAE3C,4FAA4F;AAC5F,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,GAKlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,UAAU,EAAwB,MAAM,0BAA0B,CAAC;AAE5E,0FAA0F;AAC1F,+FAA+F;AAC/F,oEAAoE;AAEpE,uEAAuE;AACvE,OAAO,EACL,yBAAyB,GAE1B,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;AAEpC,yFAAyF;AACzF,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;AAErC,sFAAsF;AACtF,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface BeverageDetailsProps {
2
+ beverageType?: string | null;
3
+ producerName?: string | null;
4
+ countryOfOrigin?: string | null;
5
+ region?: string | null;
6
+ vintage?: string | number | null;
7
+ abv?: string | number | null;
8
+ containerVolume?: string | number | null;
9
+ productionVolume?: string | number | null;
10
+ residualSugar?: string | number | null;
11
+ totalAcidity?: string | number | null;
12
+ pH?: string | number | null;
13
+ packaging?: string | null;
14
+ closure?: string | null;
15
+ priceRange?: {
16
+ min?: number;
17
+ max?: number;
18
+ } | null;
19
+ currency?: string | null;
20
+ className?: string;
21
+ }
22
+ export declare function BeverageDetails(props: BeverageDetailsProps): import("react/jsx-runtime").JSX.Element | null;
23
+ //# sourceMappingURL=beverage-details.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beverage-details.d.ts","sourceRoot":"","sources":["../../src/offer/beverage-details.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,kDAoC1D"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils";
3
+ function formatPriceRange(range, currency) {
4
+ if (!range)
5
+ return null;
6
+ const { min, max } = range;
7
+ if (min == null && max == null)
8
+ return null;
9
+ const cur = currency ?? "";
10
+ if (min != null && max != null)
11
+ return `${cur} ${min} – ${max}`.trim();
12
+ if (min != null)
13
+ return `${cur} ${min}+`.trim();
14
+ return `up to ${cur} ${max}`.trim();
15
+ }
16
+ export function BeverageDetails(props) {
17
+ const fields = [];
18
+ const push = (label, value) => {
19
+ if (value != null && String(value).trim() !== "") {
20
+ fields.push({ label, value: String(value) });
21
+ }
22
+ };
23
+ push("Beverage Type", props.beverageType);
24
+ push("Producer", props.producerName);
25
+ push("Country of Origin", props.countryOfOrigin);
26
+ push("Region", props.region);
27
+ push("Vintage", props.vintage);
28
+ push("ABV", props.abv != null ? `${props.abv}%` : null);
29
+ push("Container Volume", props.containerVolume);
30
+ push("Production Volume", props.productionVolume);
31
+ push("Residual Sugar", props.residualSugar);
32
+ push("Total Acidity", props.totalAcidity);
33
+ push("pH", props.pH);
34
+ push("Packaging", props.packaging);
35
+ push("Closure", props.closure);
36
+ push("Price Range", formatPriceRange(props.priceRange, props.currency));
37
+ if (fields.length === 0)
38
+ return null;
39
+ return (_jsx("div", { className: cn("grid grid-cols-2 gap-x-4 gap-y-3 sm:grid-cols-3", props.className), children: fields.map((field) => (_jsxs("div", { className: "grid gap-0.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: field.label }), _jsx("span", { className: "text-sm font-medium text-foreground", children: field.value })] }, field.label))) }));
40
+ }
41
+ //# sourceMappingURL=beverage-details.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beverage-details.js","sourceRoot":"","sources":["../../src/offer/beverage-details.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface CompositionListProps {
2
+ composition?: {
3
+ name: string;
4
+ percentage?: number | null;
5
+ }[] | null;
6
+ className?: string;
7
+ }
8
+ export declare function CompositionList({ composition, className }: CompositionListProps): import("react/jsx-runtime").JSX.Element | null;
9
+ //# sourceMappingURL=composition-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition-list.d.ts","sourceRoot":"","sources":["../../src/offer/composition-list.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,oBAAoB,kDAe/E"}
@@ -0,0 +1,9 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Badge } from "../components/badge";
3
+ import { cn } from "../lib/utils";
4
+ export function CompositionList({ composition, className }) {
5
+ if (!composition || composition.length === 0)
6
+ return null;
7
+ return (_jsx("div", { className: cn("flex flex-wrap gap-2", className), children: composition.map((entry) => (_jsxs(Badge, { color: "zinc", children: [entry.name, entry.percentage != null && (_jsxs("span", { className: "ml-0.5 opacity-70", children: [entry.percentage, "%"] }))] }, entry.name))) }));
8
+ }
9
+ //# sourceMappingURL=composition-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition-list.js","sourceRoot":"","sources":["../../src/offer/composition-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAOlC,MAAM,UAAU,eAAe,CAAC,EAAE,WAAW,EAAE,SAAS,EAAwB;IAC9E,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1D,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,YAClD,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC1B,MAAC,KAAK,IAAkB,KAAK,EAAC,MAAM,aACjC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,UAAU,IAAI,IAAI,IAAI,CAC3B,gBAAM,SAAS,EAAC,mBAAmB,aAAE,KAAK,CAAC,UAAU,SAAS,CAC/D,KAJS,KAAK,CAAC,IAAI,CAKd,CACT,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -8,4 +8,16 @@ export type { ConfirmActionDialogProps } from "./confirm-action-dialog";
8
8
  export { AttachmentsFolder } from "./attachments-folder";
9
9
  export type { AttachmentsFolderProps } from "./attachments-folder";
10
10
  export type { OfferResponseThread, OfferResponseInput, TranslationFn, AttachmentMetadata, OfferActionType, } from "./types";
11
+ export { BeverageDetails } from "./beverage-details";
12
+ export type { BeverageDetailsProps } from "./beverage-details";
13
+ export { SensoryProfile } from "./sensory-profile";
14
+ export type { SensoryProfileProps } from "./sensory-profile";
15
+ export { CompositionList } from "./composition-list";
16
+ export type { CompositionListProps } from "./composition-list";
17
+ export { ReviewsSummary } from "./reviews-summary";
18
+ export type { ReviewsSummaryProps } from "./reviews-summary";
19
+ export { OpportunityRequirements } from "./opportunity-requirements";
20
+ export type { OpportunityRequirementsProps } from "./opportunity-requirements";
21
+ export { OrgBanner } from "./org-banner";
22
+ export type { OrgBannerProps } from "./org-banner";
11
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -3,4 +3,10 @@ export { NegotiationEventCard } from "./negotiation-event-card";
3
3
  export { InlineCounterForm } from "./inline-counter-form";
4
4
  export { ConfirmActionDialog } from "./confirm-action-dialog";
5
5
  export { AttachmentsFolder } from "./attachments-folder";
6
+ export { BeverageDetails } from "./beverage-details";
7
+ export { SensoryProfile } from "./sensory-profile";
8
+ export { CompositionList } from "./composition-list";
9
+ export { ReviewsSummary } from "./reviews-summary";
10
+ export { OpportunityRequirements } from "./opportunity-requirements";
11
+ export { OrgBanner } from "./org-banner";
6
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/offer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AASzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,31 @@
1
+ export interface OpportunityRequirementsProps {
2
+ marketIdentifier?: string | null;
3
+ beverageType?: string | null;
4
+ countryOfOrigin?: string | null;
5
+ packagingType?: string | null;
6
+ closure?: string | null;
7
+ currency?: string | null;
8
+ submissionDeadline?: string | null;
9
+ sampleDeadline?: string | null;
10
+ alcoholContent?: {
11
+ min?: number;
12
+ max?: number;
13
+ } | null;
14
+ residualSugarMin?: number | null;
15
+ residualSugarMax?: number | null;
16
+ volumeOptions?: number[] | null;
17
+ grapeBlend?: {
18
+ grape: string;
19
+ amount?: string;
20
+ }[] | null;
21
+ vintages?: number[] | null;
22
+ certifications?: {
23
+ organic?: boolean;
24
+ fairtrade?: boolean;
25
+ sustainable?: boolean;
26
+ } | null;
27
+ styleTasteProfile?: string | null;
28
+ className?: string;
29
+ }
30
+ export declare function OpportunityRequirements(props: OpportunityRequirementsProps): import("react/jsx-runtime").JSX.Element | null;
31
+ //# sourceMappingURL=opportunity-requirements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-requirements.d.ts","sourceRoot":"","sources":["../../src/offer/opportunity-requirements.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACvD,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE;QACf,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,GAAG,IAAI,CAAC;IACT,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+BD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,kDAwE1E"}
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Badge } from "../components/badge";
3
+ import { cn } from "../lib/utils";
4
+ function formatRange(label, min, max, suffix) {
5
+ if (min == null && max == null)
6
+ return null;
7
+ const s = suffix ? ` ${suffix}` : "";
8
+ if (min != null && max != null)
9
+ return `${min}${s} – ${max}${s}`;
10
+ if (min != null)
11
+ return `${min}${s}+`;
12
+ return `up to ${max}${s}`;
13
+ }
14
+ function buildCertsList(certs) {
15
+ if (!certs)
16
+ return null;
17
+ const active = [];
18
+ if (certs.organic)
19
+ active.push("Organic");
20
+ if (certs.fairtrade)
21
+ active.push("Fairtrade");
22
+ if (certs.sustainable)
23
+ active.push("Sustainable");
24
+ return active.length > 0 ? active.join(", ") : null;
25
+ }
26
+ export function OpportunityRequirements(props) {
27
+ const fields = [];
28
+ const push = (label, value) => {
29
+ if (value != null && String(value).trim() !== "") {
30
+ fields.push({ label, value: String(value) });
31
+ }
32
+ };
33
+ push("Market", props.marketIdentifier);
34
+ push("Beverage Type", props.beverageType);
35
+ push("Country of Origin", props.countryOfOrigin);
36
+ push("Packaging", props.packagingType);
37
+ push("Closure", props.closure);
38
+ push("Currency", props.currency);
39
+ push("Submission Deadline", props.submissionDeadline);
40
+ push("Sample Deadline", props.sampleDeadline);
41
+ push("Alcohol Content", formatRange("ABV", props.alcoholContent?.min, props.alcoholContent?.max, "%"));
42
+ push("Residual Sugar", formatRange("RS", props.residualSugarMin, props.residualSugarMax, "g/L"));
43
+ push("Volume Options", props.volumeOptions && props.volumeOptions.length > 0
44
+ ? props.volumeOptions.join(", ")
45
+ : null);
46
+ push("Vintages", props.vintages && props.vintages.length > 0 ? props.vintages.join(", ") : null);
47
+ push("Certifications", buildCertsList(props.certifications));
48
+ push("Style / Taste Profile", props.styleTasteProfile);
49
+ const hasGrapeBlend = props.grapeBlend && props.grapeBlend.length > 0;
50
+ if (fields.length === 0 && !hasGrapeBlend)
51
+ return null;
52
+ return (_jsxs("div", { className: cn("grid gap-4", props.className), children: [fields.length > 0 && (_jsx("div", { className: "grid grid-cols-2 gap-x-4 gap-y-3 sm:grid-cols-3", children: fields.map((field) => (_jsxs("div", { className: "grid gap-0.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: field.label }), _jsx("span", { className: "text-sm font-medium text-foreground", children: field.value })] }, field.label))) })), hasGrapeBlend && (_jsxs("div", { className: "grid gap-1.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: "Grape Blend" }), _jsx("div", { className: "flex flex-wrap gap-2", children: props.grapeBlend.map((entry) => (_jsxs(Badge, { color: "zinc", children: [entry.grape, entry.amount && (_jsx("span", { className: "ml-0.5 opacity-70", children: entry.amount }))] }, entry.grape))) })] }))] }));
53
+ }
54
+ //# sourceMappingURL=opportunity-requirements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opportunity-requirements.js","sourceRoot":"","sources":["../../src/offer/opportunity-requirements.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface OrgBannerProps {
2
+ name: string;
3
+ country?: string | null;
4
+ region?: string | null;
5
+ verified?: boolean;
6
+ profilePictureUrl?: string | null;
7
+ description?: string | null;
8
+ className?: string;
9
+ }
10
+ export declare function OrgBanner({ name, country, region, verified, profilePictureUrl, description, className, }: OrgBannerProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=org-banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-banner.d.ts","sourceRoot":"","sources":["../../src/offer/org-banner.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,SAAS,GACV,EAAE,cAAc,2CAqChB"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Badge } from "../components/badge";
3
+ import { cn } from "../lib/utils";
4
+ function getInitials(name) {
5
+ return name
6
+ .split(/\s+/)
7
+ .slice(0, 2)
8
+ .map((w) => w.charAt(0).toUpperCase())
9
+ .join("");
10
+ }
11
+ function buildLocation(country, region) {
12
+ const parts = [region, country].filter(Boolean);
13
+ return parts.length > 0 ? parts.join(", ") : null;
14
+ }
15
+ export function OrgBanner({ name, country, region, verified, profilePictureUrl, description, className, }) {
16
+ const location = buildLocation(country, region);
17
+ return (_jsxs("div", { className: cn("flex items-start gap-4", className), children: [profilePictureUrl ? (_jsx("img", { src: profilePictureUrl, alt: name, className: "size-12 shrink-0 rounded-full object-cover" })) : (_jsx("div", { className: "flex size-12 shrink-0 items-center justify-center rounded-full bg-muted text-sm font-semibold text-muted-foreground", children: getInitials(name) })), _jsxs("div", { className: "grid min-w-0 gap-0.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "truncate text-sm font-semibold text-foreground", children: name }), verified && (_jsx(Badge, { color: "emerald", children: "Verified" }))] }), location && (_jsx("span", { className: "text-xs text-muted-foreground", children: location })), description && (_jsx("p", { className: "mt-1 text-sm/6 text-muted-foreground", children: description }))] })] }));
18
+ }
19
+ //# sourceMappingURL=org-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-banner.js","sourceRoot":"","sources":["../../src/offer/org-banner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAYlC,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI;SACR,KAAK,CAAC,KAAK,CAAC;SACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACrC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CACpB,OAAuB,EACvB,MAAsB;IAEtB,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,SAAS,GACM;IACf,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC,aAEpD,iBAAiB,CAAC,CAAC,CAAC,CACnB,cACE,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,IAAI,EACT,SAAS,EAAC,4CAA4C,GACtD,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,qHAAqH,YACjI,WAAW,CAAC,IAAI,CAAC,GACd,CACP,EAGD,eAAK,SAAS,EAAC,sBAAsB,aACnC,eAAK,SAAS,EAAC,yBAAyB,aACtC,eAAM,SAAS,EAAC,gDAAgD,YAAE,IAAI,GAAQ,EAC7E,QAAQ,IAAI,CACX,KAAC,KAAK,IAAC,KAAK,EAAC,SAAS,yBAAiB,CACxC,IACG,EAEL,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,+BAA+B,YAAE,QAAQ,GAAQ,CAClE,EAEA,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,sCAAsC,YAAE,WAAW,GAAK,CACtE,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface ReviewsSummaryProps {
2
+ averageScore?: number | null;
3
+ individualScores?: {
4
+ source: string;
5
+ score: number;
6
+ }[] | null;
7
+ professionalSummary?: string | null;
8
+ awards?: {
9
+ id: string;
10
+ name: string;
11
+ }[] | null;
12
+ citations?: {
13
+ url: string;
14
+ title?: string;
15
+ }[] | null;
16
+ className?: string;
17
+ }
18
+ export declare function ReviewsSummary(props: ReviewsSummaryProps): import("react/jsx-runtime").JSX.Element | null;
19
+ //# sourceMappingURL=reviews-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews-summary.d.ts","sourceRoot":"","sources":["../../src/offer/reviews-summary.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,kDAwExD"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Badge } from "../components/badge";
3
+ import { cn } from "../lib/utils";
4
+ function isEmpty(props) {
5
+ return (props.averageScore == null &&
6
+ (!props.individualScores || props.individualScores.length === 0) &&
7
+ !props.professionalSummary &&
8
+ (!props.awards || props.awards.length === 0) &&
9
+ (!props.citations || props.citations.length === 0));
10
+ }
11
+ export function ReviewsSummary(props) {
12
+ if (isEmpty(props))
13
+ return null;
14
+ const { averageScore, individualScores, professionalSummary, awards, citations, className, } = props;
15
+ return (_jsxs("div", { className: cn("grid gap-4", className), children: [averageScore != null && (_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("span", { className: "text-2xl font-bold text-foreground", children: averageScore }), _jsx("span", { className: "text-sm text-muted-foreground", children: "/ 100" })] })), individualScores && individualScores.length > 0 && (_jsx("div", { className: "grid gap-1.5", children: individualScores.map((entry) => (_jsxs("div", { className: "flex items-center justify-between gap-4 text-sm", children: [_jsx("span", { className: "text-muted-foreground", children: entry.source }), _jsx("span", { className: "font-medium text-foreground", children: entry.score })] }, entry.source))) })), professionalSummary && (_jsx("p", { className: "text-sm/6 text-foreground", children: professionalSummary })), awards && awards.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-2", children: awards.map((award) => (_jsx(Badge, { color: "amber", children: award.name }, award.id))) })), citations && citations.length > 0 && (_jsx("ul", { className: "grid gap-1", children: citations.map((citation) => (_jsx("li", { children: _jsx("a", { href: citation.url, target: "_blank", rel: "noopener noreferrer", className: "text-sm text-primary underline-offset-2 hover:underline", children: citation.title || citation.url }) }, citation.url))) }))] }));
16
+ }
17
+ //# sourceMappingURL=reviews-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews-summary.js","sourceRoot":"","sources":["../../src/offer/reviews-summary.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAWlC,SAAS,OAAO,CAAC,KAA0B;IACzC,OAAO,CACL,KAAK,CAAC,YAAY,IAAI,IAAI;QAC1B,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC;QAChE,CAAC,KAAK,CAAC,mBAAmB;QAC1B,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,EACJ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,aAExC,YAAY,IAAI,IAAI,IAAI,CACvB,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,oCAAoC,YAAE,YAAY,GAAQ,EAC1E,eAAM,SAAS,EAAC,+BAA+B,sBAAa,IACxD,CACP,EAGA,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAClD,cAAK,SAAS,EAAC,cAAc,YAC1B,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC/B,eAEE,SAAS,EAAC,iDAAiD,aAE3D,eAAM,SAAS,EAAC,uBAAuB,YAAE,KAAK,CAAC,MAAM,GAAQ,EAC7D,eAAM,SAAS,EAAC,6BAA6B,YAAE,KAAK,CAAC,KAAK,GAAQ,KAJ7D,KAAK,CAAC,MAAM,CAKb,CACP,CAAC,GACE,CACP,EAGA,mBAAmB,IAAI,CACtB,YAAG,SAAS,EAAC,2BAA2B,YAAE,mBAAmB,GAAK,CACnE,EAGA,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,SAAS,EAAC,sBAAsB,YAClC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,KAAC,KAAK,IAAgB,KAAK,EAAC,OAAO,YAChC,KAAK,CAAC,IAAI,IADD,KAAK,CAAC,EAAE,CAEZ,CACT,CAAC,GACE,CACP,EAGA,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACpC,aAAI,SAAS,EAAC,YAAY,YACvB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC3B,uBACE,YACE,IAAI,EAAE,QAAQ,CAAC,GAAG,EAClB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,yDAAyD,YAElE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,GAAG,GAC7B,IARG,QAAQ,CAAC,GAAG,CAShB,CACN,CAAC,GACC,CACN,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface SensoryProfileProps {
2
+ /** Stages keyed by stage name, each containing field key/value pairs. */
3
+ sensoryDetails?: Record<string, Record<string, string | null> | null> | null;
4
+ /** Optional label overrides per stage key. */
5
+ stageLabels?: Record<string, string>;
6
+ /** Optional label overrides per field, keyed by stage then field. */
7
+ fieldLabels?: Record<string, Record<string, string>>;
8
+ className?: string;
9
+ }
10
+ export declare function SensoryProfile({ sensoryDetails, stageLabels, fieldLabels, className, }: SensoryProfileProps): import("react/jsx-runtime").JSX.Element | null;
11
+ //# sourceMappingURL=sensory-profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sensory-profile.d.ts","sourceRoot":"","sources":["../../src/offer/sensory-profile.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7E,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,GACV,EAAE,mBAAmB,kDAsCrB"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils";
3
+ function capitalize(s) {
4
+ return s.charAt(0).toUpperCase() + s.slice(1).replace(/[_-]/g, " ");
5
+ }
6
+ function hasValues(fields) {
7
+ if (!fields)
8
+ return false;
9
+ return Object.values(fields).some((v) => v != null && v.trim() !== "");
10
+ }
11
+ export function SensoryProfile({ sensoryDetails, stageLabels, fieldLabels, className, }) {
12
+ if (!sensoryDetails)
13
+ return null;
14
+ const stages = Object.entries(sensoryDetails).filter(([, fields]) => hasValues(fields));
15
+ if (stages.length === 0)
16
+ return null;
17
+ return (_jsx("div", { className: cn("grid gap-5", className), children: stages.map(([stageKey, fields]) => {
18
+ if (!fields)
19
+ return null;
20
+ const stageLabel = stageLabels?.[stageKey] ?? capitalize(stageKey);
21
+ const stageFieldLabels = fieldLabels?.[stageKey];
22
+ const entries = Object.entries(fields).filter(([, v]) => v != null && v.trim() !== "");
23
+ if (entries.length === 0)
24
+ return null;
25
+ return (_jsxs("div", { className: "grid gap-2", children: [_jsx("h4", { className: "text-sm font-semibold text-foreground", children: stageLabel }), _jsx("div", { className: "grid grid-cols-2 gap-x-4 gap-y-2 sm:grid-cols-3", children: entries.map(([fieldKey, value]) => (_jsxs("div", { className: "grid gap-0.5", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: stageFieldLabels?.[fieldKey] ?? capitalize(fieldKey) }), _jsx("span", { className: "text-sm text-foreground", children: value })] }, fieldKey))) })] }, stageKey));
26
+ }) }));
27
+ }
28
+ //# sourceMappingURL=sensory-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sensory-profile.js","sourceRoot":"","sources":["../../src/offer/sensory-profile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAYlC,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,MAAwD;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAC7B,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,GACW;IACpB,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAExF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,gBAAgB,GAAG,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CACxC,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEtC,OAAO,CACL,eAAoB,SAAS,EAAC,YAAY,aACxC,aAAI,SAAS,EAAC,uCAAuC,YAAE,UAAU,GAAM,EACvE,cAAK,SAAS,EAAC,iDAAiD,YAC7D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAClC,eAAoB,SAAS,EAAC,cAAc,aAC1C,eAAM,SAAS,EAAC,+BAA+B,YAC5C,gBAAgB,EAAE,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAChD,EACP,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAQ,KAJhD,QAAQ,CAKZ,CACP,CAAC,GACE,KAXE,QAAQ,CAYZ,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cellarnode/ui",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Shared UI components, theme tokens, and chat/offer primitives for CellarNode dashboards.",
@@ -64,6 +64,7 @@
64
64
  "@dnd-kit/dom": "^0.3.2",
65
65
  "@dnd-kit/react": "^0.3.2",
66
66
  "@tanstack/react-query": "^5.0.0",
67
+ "@cellarnode/beverage-utils": ">=0.3.0",
67
68
  "i18n-iso-countries": ">=7.0.0",
68
69
  "motion": "^12.0.0",
69
70
  "react": "^19.0.0",
@@ -98,6 +99,9 @@
98
99
  "world-atlas": {
99
100
  "optional": true
100
101
  },
102
+ "@cellarnode/beverage-utils": {
103
+ "optional": true
104
+ },
101
105
  "i18n-iso-countries": {
102
106
  "optional": true
103
107
  }