@cellarnode/ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chat/chat-api.d.ts +14 -0
- package/dist/chat/chat-api.d.ts.map +1 -0
- package/dist/chat/chat-api.js +36 -0
- package/dist/chat/chat-api.js.map +1 -0
- package/dist/chat/chat-toggle-button.d.ts +8 -0
- package/dist/chat/chat-toggle-button.d.ts.map +1 -0
- package/dist/chat/chat-toggle-button.js +8 -0
- package/dist/chat/chat-toggle-button.js.map +1 -0
- package/dist/chat/chat-ws.d.ts +61 -0
- package/dist/chat/chat-ws.d.ts.map +1 -0
- package/dist/chat/chat-ws.js +217 -0
- package/dist/chat/chat-ws.js.map +1 -0
- package/dist/chat/communication-hub-widget.d.ts +21 -0
- package/dist/chat/communication-hub-widget.d.ts.map +1 -0
- package/dist/chat/communication-hub-widget.js +49 -0
- package/dist/chat/communication-hub-widget.js.map +1 -0
- package/dist/chat/communication-panel.d.ts +3 -0
- package/dist/chat/communication-panel.d.ts.map +1 -0
- package/dist/chat/communication-panel.js +34 -0
- package/dist/chat/communication-panel.js.map +1 -0
- package/dist/chat/index.d.ts +17 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +11 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/messenger-layout.d.ts +25 -0
- package/dist/chat/messenger-layout.d.ts.map +1 -0
- package/dist/chat/messenger-layout.js +70 -0
- package/dist/chat/messenger-layout.js.map +1 -0
- package/dist/chat/negotiation-event-card.d.ts +9 -0
- package/dist/chat/negotiation-event-card.d.ts.map +1 -0
- package/dist/chat/negotiation-event-card.js +39 -0
- package/dist/chat/negotiation-event-card.js.map +1 -0
- package/dist/chat/timeline-utils.d.ts +7 -0
- package/dist/chat/timeline-utils.d.ts.map +1 -0
- package/dist/chat/timeline-utils.js +40 -0
- package/dist/chat/timeline-utils.js.map +1 -0
- package/dist/chat/types.d.ts +132 -0
- package/dist/chat/types.d.ts.map +1 -0
- package/dist/chat/types.js +3 -0
- package/dist/chat/types.js.map +1 -0
- package/dist/chat/unified-timeline.d.ts +13 -0
- package/dist/chat/unified-timeline.d.ts.map +1 -0
- package/dist/chat/unified-timeline.js +97 -0
- package/dist/chat/unified-timeline.js.map +1 -0
- package/dist/chat/use-chat.d.ts +10 -0
- package/dist/chat/use-chat.d.ts.map +1 -0
- package/dist/chat/use-chat.js +280 -0
- package/dist/chat/use-chat.js.map +1 -0
- package/dist/components/accordion.d.ts +8 -0
- package/dist/components/accordion.d.ts.map +1 -0
- package/dist/components/accordion.js +19 -0
- package/dist/components/accordion.js.map +1 -0
- package/dist/components/alert.d.ts +29 -0
- package/dist/components/alert.d.ts.map +1 -0
- package/dist/components/alert.js +31 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/animated-list.d.ts +20 -0
- package/dist/components/animated-list.d.ts.map +1 -0
- package/dist/components/animated-list.js +50 -0
- package/dist/components/animated-list.js.map +1 -0
- package/dist/components/avatar.d.ts +19 -0
- package/dist/components/avatar.d.ts.map +1 -0
- package/dist/components/avatar.js +18 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.d.ts +39 -0
- package/dist/components/badge.d.ts.map +1 -0
- package/dist/components/badge.js +35 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/button.d.ts +64 -0
- package/dist/components/button.d.ts.map +1 -0
- package/dist/components/button.js +174 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/button.stories.d.ts +13 -0
- package/dist/components/button.stories.d.ts.map +1 -0
- package/dist/components/button.stories.js +48 -0
- package/dist/components/button.stories.js.map +1 -0
- package/dist/components/card.d.ts +9 -0
- package/dist/components/card.d.ts.map +1 -0
- package/dist/components/card.js +17 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/checkbox.d.ts +37 -0
- package/dist/components/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox.js +84 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/combobox.d.ts +20 -0
- package/dist/components/combobox.d.ts.map +1 -0
- package/dist/components/combobox.js +87 -0
- package/dist/components/combobox.js.map +1 -0
- package/dist/components/command.d.ts +12 -0
- package/dist/components/command.d.ts.map +1 -0
- package/dist/components/command.js +31 -0
- package/dist/components/command.js.map +1 -0
- package/dist/components/description-list.d.ts +4 -0
- package/dist/components/description-list.d.ts.map +1 -0
- package/dist/components/description-list.js +12 -0
- package/dist/components/description-list.js.map +1 -0
- package/dist/components/dialog.d.ts +30 -0
- package/dist/components/dialog.d.ts.map +1 -0
- package/dist/components/dialog.js +32 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/divider.d.ts +4 -0
- package/dist/components/divider.d.ts.map +1 -0
- package/dist/components/divider.js +6 -0
- package/dist/components/divider.js.map +1 -0
- package/dist/components/drawer.d.ts +23 -0
- package/dist/components/drawer.d.ts.map +1 -0
- package/dist/components/drawer.js +23 -0
- package/dist/components/drawer.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +26 -0
- package/dist/components/dropdown-menu.d.ts.map +1 -0
- package/dist/components/dropdown-menu.js +52 -0
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dropdown.d.ts +37 -0
- package/dist/components/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown.js +79 -0
- package/dist/components/dropdown.js.map +1 -0
- package/dist/components/fieldset.d.ts +22 -0
- package/dist/components/fieldset.d.ts.map +1 -0
- package/dist/components/fieldset.js +25 -0
- package/dist/components/fieldset.js.map +1 -0
- package/dist/components/form.d.ts +25 -0
- package/dist/components/form.d.ts.map +1 -0
- package/dist/components/form.js +60 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/heading.d.ts +7 -0
- package/dist/components/heading.d.ts.map +1 -0
- package/dist/components/heading.js +11 -0
- package/dist/components/heading.js.map +1 -0
- package/dist/components/input.d.ts +11 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/input.js +57 -0
- package/dist/components/input.js.map +1 -0
- package/dist/components/kanban-board.d.ts +78 -0
- package/dist/components/kanban-board.d.ts.map +1 -0
- package/dist/components/kanban-board.js +18 -0
- package/dist/components/kanban-board.js.map +1 -0
- package/dist/components/kanban-board.stories.d.ts +10 -0
- package/dist/components/kanban-board.stories.d.ts.map +1 -0
- package/dist/components/kanban-board.stories.js +125 -0
- package/dist/components/kanban-board.stories.js.map +1 -0
- package/dist/components/kanban-card.d.ts +8 -0
- package/dist/components/kanban-card.d.ts.map +1 -0
- package/dist/components/kanban-card.js +13 -0
- package/dist/components/kanban-card.js.map +1 -0
- package/dist/components/kanban-dnd-board.d.ts +8 -0
- package/dist/components/kanban-dnd-board.d.ts.map +1 -0
- package/dist/components/kanban-dnd-board.js +104 -0
- package/dist/components/kanban-dnd-board.js.map +1 -0
- package/dist/components/label.d.ts +5 -0
- package/dist/components/label.d.ts.map +1 -0
- package/dist/components/label.js +9 -0
- package/dist/components/label.js.map +1 -0
- package/dist/components/link.d.ts +12 -0
- package/dist/components/link.d.ts.map +1 -0
- package/dist/components/link.js +14 -0
- package/dist/components/link.js.map +1 -0
- package/dist/components/listbox.d.ts +16 -0
- package/dist/components/listbox.d.ts.map +1 -0
- package/dist/components/listbox.js +88 -0
- package/dist/components/listbox.js.map +1 -0
- package/dist/components/pagination.d.ts +18 -0
- package/dist/components/pagination.d.ts.map +1 -0
- package/dist/components/pagination.js +22 -0
- package/dist/components/pagination.js.map +1 -0
- package/dist/components/popover.d.ts +11 -0
- package/dist/components/popover.d.ts.map +1 -0
- package/dist/components/popover.js +27 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/radio.d.ts +38 -0
- package/dist/components/radio.d.ts.map +1 -0
- package/dist/components/radio.js +87 -0
- package/dist/components/radio.js.map +1 -0
- package/dist/components/scroll-area.d.ts +6 -0
- package/dist/components/scroll-area.d.ts.map +1 -0
- package/dist/components/scroll-area.js +14 -0
- package/dist/components/scroll-area.js.map +1 -0
- package/dist/components/select.d.ts +6 -0
- package/dist/components/select.d.ts.map +1 -0
- package/dist/components/select.js +41 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/separator.d.ts +5 -0
- package/dist/components/separator.d.ts.map +1 -0
- package/dist/components/separator.js +9 -0
- package/dist/components/separator.js.map +1 -0
- package/dist/components/shadcn-badge.d.ts +10 -0
- package/dist/components/shadcn-badge.d.ts.map +1 -0
- package/dist/components/shadcn-badge.js +25 -0
- package/dist/components/shadcn-badge.js.map +1 -0
- package/dist/components/shadcn-button.d.ts +11 -0
- package/dist/components/shadcn-button.d.ts.map +1 -0
- package/dist/components/shadcn-button.js +36 -0
- package/dist/components/shadcn-button.js.map +1 -0
- package/dist/components/shadcn-dialog.d.ts +18 -0
- package/dist/components/shadcn-dialog.d.ts.map +1 -0
- package/dist/components/shadcn-dialog.js +37 -0
- package/dist/components/shadcn-dialog.js.map +1 -0
- package/dist/components/shadcn-input.d.ts +4 -0
- package/dist/components/shadcn-input.d.ts.map +1 -0
- package/dist/components/shadcn-input.js +7 -0
- package/dist/components/shadcn-input.js.map +1 -0
- package/dist/components/shadcn-select.d.ts +14 -0
- package/dist/components/shadcn-select.d.ts.map +1 -0
- package/dist/components/shadcn-select.js +32 -0
- package/dist/components/shadcn-select.js.map +1 -0
- package/dist/components/shadcn-textarea.d.ts +4 -0
- package/dist/components/shadcn-textarea.d.ts.map +1 -0
- package/dist/components/shadcn-textarea.js +7 -0
- package/dist/components/shadcn-textarea.js.map +1 -0
- package/dist/components/sheet.d.ts +26 -0
- package/dist/components/sheet.d.ts.map +1 -0
- package/dist/components/sheet.js +37 -0
- package/dist/components/sheet.js.map +1 -0
- package/dist/components/sidebar.d.ts +68 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/components/sidebar.js +208 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.d.ts +3 -0
- package/dist/components/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton.js +7 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/slider.d.ts +5 -0
- package/dist/components/slider.d.ts.map +1 -0
- package/dist/components/slider.js +8 -0
- package/dist/components/slider.js.map +1 -0
- package/dist/components/sonner.d.ts +11 -0
- package/dist/components/sonner.d.ts.map +1 -0
- package/dist/components/sonner.js +14 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/switch.d.ts +30 -0
- package/dist/components/switch.d.ts.map +1 -0
- package/dist/components/switch.js +68 -0
- package/dist/components/switch.js.map +1 -0
- package/dist/components/table.d.ts +17 -0
- package/dist/components/table.d.ts.map +1 -0
- package/dist/components/table.js +41 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.d.ts +12 -0
- package/dist/components/tabs.d.ts.map +1 -0
- package/dist/components/tabs.js +30 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/text.d.ts +6 -0
- package/dist/components/text.d.ts.map +1 -0
- package/dist/components/text.js +16 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/textarea.d.ts +8 -0
- package/dist/components/textarea.d.ts.map +1 -0
- package/dist/components/textarea.js +38 -0
- package/dist/components/textarea.js.map +1 -0
- package/dist/components/toast.d.ts +16 -0
- package/dist/components/toast.d.ts.map +1 -0
- package/dist/components/toast.js +34 -0
- package/dist/components/toast.js.map +1 -0
- package/dist/components/toaster.d.ts +2 -0
- package/dist/components/toaster.d.ts.map +1 -0
- package/dist/components/toaster.js +10 -0
- package/dist/components/toaster.js.map +1 -0
- package/dist/components/tooltip.d.ts +8 -0
- package/dist/components/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip.js +11 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/use-toast.d.ts +3 -0
- package/dist/components/use-toast.d.ts.map +1 -0
- package/dist/components/use-toast.js +3 -0
- package/dist/components/use-toast.js.map +1 -0
- package/dist/globe/data/country-geo.d.ts +15 -0
- package/dist/globe/data/country-geo.d.ts.map +1 -0
- package/dist/globe/data/country-geo.js +81 -0
- package/dist/globe/data/country-geo.js.map +1 -0
- package/dist/globe/electron-arc.d.ts +30 -0
- package/dist/globe/electron-arc.d.ts.map +1 -0
- package/dist/globe/electron-arc.js +119 -0
- package/dist/globe/electron-arc.js.map +1 -0
- package/dist/globe/globe-theme.d.ts +34 -0
- package/dist/globe/globe-theme.d.ts.map +1 -0
- package/dist/globe/globe-theme.js +118 -0
- package/dist/globe/globe-theme.js.map +1 -0
- package/dist/globe/globe-types.d.ts +42 -0
- package/dist/globe/globe-types.d.ts.map +1 -0
- package/dist/globe/globe-types.js +5 -0
- package/dist/globe/globe-types.js.map +1 -0
- package/dist/globe/globe-view.d.ts +27 -0
- package/dist/globe/globe-view.d.ts.map +1 -0
- package/dist/globe/globe-view.js +601 -0
- package/dist/globe/globe-view.js.map +1 -0
- package/dist/globe/globe-view.stories.d.ts +42 -0
- package/dist/globe/globe-view.stories.d.ts.map +1 -0
- package/dist/globe/globe-view.stories.js +319 -0
- package/dist/globe/globe-view.stories.js.map +1 -0
- package/dist/globe/index.d.ts +12 -0
- package/dist/globe/index.d.ts.map +1 -0
- package/dist/globe/index.js +7 -0
- package/dist/globe/index.js.map +1 -0
- package/dist/globe/map/country-code-map.d.ts +10 -0
- package/dist/globe/map/country-code-map.d.ts.map +1 -0
- package/dist/globe/map/country-code-map.js +15 -0
- package/dist/globe/map/country-code-map.js.map +1 -0
- package/dist/globe/map/map-geometry.d.ts +10 -0
- package/dist/globe/map/map-geometry.d.ts.map +1 -0
- package/dist/globe/map/map-geometry.js +57 -0
- package/dist/globe/map/map-geometry.js.map +1 -0
- package/dist/globe/map/map-materials.d.ts +8 -0
- package/dist/globe/map/map-materials.d.ts.map +1 -0
- package/dist/globe/map/map-materials.js +32 -0
- package/dist/globe/map/map-materials.js.map +1 -0
- package/dist/globe/map/map-projection.d.ts +11 -0
- package/dist/globe/map/map-projection.d.ts.map +1 -0
- package/dist/globe/map/map-projection.js +17 -0
- package/dist/globe/map/map-projection.js.map +1 -0
- package/dist/globe/scene-extras.d.ts +10 -0
- package/dist/globe/scene-extras.d.ts.map +1 -0
- package/dist/globe/scene-extras.js +69 -0
- package/dist/globe/scene-extras.js.map +1 -0
- package/dist/hooks/use-kanban-dnd.d.ts +23 -0
- package/dist/hooks/use-kanban-dnd.d.ts.map +1 -0
- package/dist/hooks/use-kanban-dnd.js +22 -0
- package/dist/hooks/use-kanban-dnd.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +16 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-toast.d.ts +45 -0
- package/dist/hooks/use-toast.d.ts.map +1 -0
- package/dist/hooks/use-toast.js +125 -0
- package/dist/hooks/use-toast.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/currencies.d.ts +33 -0
- package/dist/lib/currencies.d.ts.map +1 -0
- package/dist/lib/currencies.js +13 -0
- package/dist/lib/currencies.js.map +1 -0
- package/dist/lib/kanban-transitions.d.ts +12 -0
- package/dist/lib/kanban-transitions.d.ts.map +1 -0
- package/dist/lib/kanban-transitions.js +13 -0
- package/dist/lib/kanban-transitions.js.map +1 -0
- package/dist/lib/semantic-tones.d.ts +4 -0
- package/dist/lib/semantic-tones.d.ts.map +1 -0
- package/dist/lib/semantic-tones.js +35 -0
- package/dist/lib/semantic-tones.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/offer/attachments-folder.d.ts +13 -0
- package/dist/offer/attachments-folder.d.ts.map +1 -0
- package/dist/offer/attachments-folder.js +20 -0
- package/dist/offer/attachments-folder.js.map +1 -0
- package/dist/offer/confirm-action-dialog.d.ts +18 -0
- package/dist/offer/confirm-action-dialog.d.ts.map +1 -0
- package/dist/offer/confirm-action-dialog.js +57 -0
- package/dist/offer/confirm-action-dialog.js.map +1 -0
- package/dist/offer/index.d.ts +11 -0
- package/dist/offer/index.d.ts.map +1 -0
- package/dist/offer/index.js +6 -0
- package/dist/offer/index.js.map +1 -0
- package/dist/offer/inline-counter-form.d.ts +19 -0
- package/dist/offer/inline-counter-form.d.ts.map +1 -0
- package/dist/offer/inline-counter-form.js +59 -0
- package/dist/offer/inline-counter-form.js.map +1 -0
- package/dist/offer/negotiation-event-card.d.ts +9 -0
- package/dist/offer/negotiation-event-card.d.ts.map +1 -0
- package/dist/offer/negotiation-event-card.js +39 -0
- package/dist/offer/negotiation-event-card.js.map +1 -0
- package/dist/offer/offer-status-badge.d.ts +8 -0
- package/dist/offer/offer-status-badge.d.ts.map +1 -0
- package/dist/offer/offer-status-badge.js +35 -0
- package/dist/offer/offer-status-badge.js.map +1 -0
- package/dist/offer/types.d.ts +43 -0
- package/dist/offer/types.d.ts.map +1 -0
- package/dist/offer/types.js +2 -0
- package/dist/offer/types.js.map +1 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +166 -0
- package/src/theme/tokens.css +475 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AttachmentMetadata, TranslationFn } from "./types";
|
|
2
|
+
export interface AttachmentsFolderProps {
|
|
3
|
+
/** Metadata for each attachment. The dashboard resolves these from its own hooks/API. */
|
|
4
|
+
attachments: AttachmentMetadata[];
|
|
5
|
+
/** Callback to download an attachment by ID. The dashboard provides this. */
|
|
6
|
+
onDownload: (attachmentId: string) => void;
|
|
7
|
+
/** Whether a download is in progress */
|
|
8
|
+
isDownloading?: boolean;
|
|
9
|
+
/** Optional translation function; falls back to English defaults. */
|
|
10
|
+
t?: TranslationFn;
|
|
11
|
+
}
|
|
12
|
+
export declare function AttachmentsFolder({ attachments, onDownload, isDownloading, t, }: AttachmentsFolderProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
//# sourceMappingURL=attachments-folder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachments-folder.d.ts","sourceRoot":"","sources":["../../src/offer/attachments-folder.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,6EAA6E;IAC7E,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,wCAAwC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAaD,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACV,aAAqB,EACrB,CAAY,GACb,EAAE,sBAAsB,kDAqCxB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Card, CardContent, CardHeader, CardTitle } from "../components/card";
|
|
3
|
+
import { ShadcnButton as Button } from "../components/shadcn-button";
|
|
4
|
+
import { Download, Loader2, FileText, FileImage, File } from "lucide-react";
|
|
5
|
+
const defaultT = (_key, fallback) => fallback;
|
|
6
|
+
function getFileIcon(mimeType) {
|
|
7
|
+
if (!mimeType)
|
|
8
|
+
return _jsx(File, { className: "size-4 text-muted-foreground" });
|
|
9
|
+
if (mimeType.startsWith("image/"))
|
|
10
|
+
return _jsx(FileImage, { className: "size-4 text-primary" });
|
|
11
|
+
if (mimeType.includes("pdf"))
|
|
12
|
+
return _jsx(FileText, { className: "size-4 text-destructive" });
|
|
13
|
+
return _jsx(File, { className: "size-4 text-muted-foreground" });
|
|
14
|
+
}
|
|
15
|
+
export function AttachmentsFolder({ attachments, onDownload, isDownloading = false, t = defaultT, }) {
|
|
16
|
+
if (attachments.length === 0)
|
|
17
|
+
return null;
|
|
18
|
+
return (_jsxs(Card, { className: "premium-panel rounded-[26px] border-0", children: [_jsx(CardHeader, { className: "pb-3", children: _jsx(CardTitle, { className: "text-lg font-display tracking-tight", children: t("attachmentsTitle", "Attachments") }) }), _jsx(CardContent, { className: "grid gap-4", children: _jsx("div", { className: "grid gap-2", children: attachments.map((attachment) => (_jsxs("div", { className: "surface-card flex items-center gap-2 rounded-xl px-3 py-2.5", children: [getFileIcon(attachment.mimeType), _jsx("span", { className: "min-w-0 flex-1 truncate text-sm", children: attachment.fileName }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => onDownload(attachment.id), disabled: isDownloading, children: isDownloading ? (_jsx(Loader2, { className: "size-4 animate-spin" })) : (_jsx(Download, { className: "size-4" })) })] }, attachment.id))) }) })] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=attachments-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachments-folder.js","sourceRoot":"","sources":["../../src/offer/attachments-folder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAc5E,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAE7D,SAAS,WAAW,CAAC,QAAiB;IACpC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAC,IAAI,IAAC,SAAS,EAAC,8BAA8B,GAAG,CAAC;IACxE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/B,OAAO,KAAC,SAAS,IAAC,SAAS,EAAC,qBAAqB,GAAG,CAAC;IACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,OAAO,KAAC,QAAQ,IAAC,SAAS,EAAC,yBAAyB,GAAG,CAAC;IAC1D,OAAO,KAAC,IAAI,IAAC,SAAS,EAAC,8BAA8B,GAAG,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAU,EACV,aAAa,GAAG,KAAK,EACrB,CAAC,GAAG,QAAQ,GACW;IACvB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE1C,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAC,uCAAuC,aACrD,KAAC,UAAU,IAAC,SAAS,EAAC,MAAM,YAC1B,KAAC,SAAS,IAAC,SAAS,EAAC,qCAAqC,YAAE,CAAC,CAAC,kBAAkB,EAAE,aAAa,CAAC,GAAa,GAClG,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,YAAY,YACjC,cAAK,SAAS,EAAC,YAAY,YACxB,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAC/B,eAEE,SAAS,EAAC,6DAA6D,aAEtE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EACjC,eAAM,SAAS,EAAC,iCAAiC,YAC9C,UAAU,CAAC,QAAQ,GACf,EACP,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,EACxC,QAAQ,EAAE,aAAa,YAEtB,aAAa,CAAC,CAAC,CAAC,CACf,KAAC,OAAO,IAAC,SAAS,EAAC,qBAAqB,GAAG,CAC5C,CAAC,CAAC,CAAC,CACF,KAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,CAChC,GACM,KAlBJ,UAAU,CAAC,EAAE,CAmBd,CACP,CAAC,GACE,GACM,IACT,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { OfferActionType, OfferResponseInput, TranslationFn } from "./types";
|
|
2
|
+
export interface ConfirmActionDialogProps {
|
|
3
|
+
offerId: string;
|
|
4
|
+
type: OfferActionType;
|
|
5
|
+
open: boolean;
|
|
6
|
+
onOpenChange: (open: boolean) => void;
|
|
7
|
+
/**
|
|
8
|
+
* Callback to handle the action. The dashboard provides this
|
|
9
|
+
* (wires to its own mutation/API calls for respond/withdraw).
|
|
10
|
+
*/
|
|
11
|
+
onConfirm: (offerId: string, type: OfferActionType, input?: OfferResponseInput) => Promise<void>;
|
|
12
|
+
/** Whether the action is in progress */
|
|
13
|
+
isPending?: boolean;
|
|
14
|
+
/** Optional translation function; falls back to English defaults. */
|
|
15
|
+
t?: TranslationFn;
|
|
16
|
+
}
|
|
17
|
+
export declare function ConfirmActionDialog({ offerId, type, open, onOpenChange, onConfirm, isPending: externalPending, t, }: ConfirmActionDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=confirm-action-dialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-action-dialog.d.ts","sourceRoot":"","sources":["../../src/offer/confirm-action-dialog.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElF,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;;OAGG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAkCD,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,SAAS,EAAE,eAAuB,EAClC,CAAY,GACb,EAAE,wBAAwB,2CA2D1B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { ShadcnDialog as Dialog, ShadcnDialogContent as DialogContent, ShadcnDialogDescription as DialogDescription, ShadcnDialogFooter as DialogFooter, ShadcnDialogHeader as DialogHeader, ShadcnDialogTitle as DialogTitle, } from "../components/shadcn-dialog";
|
|
4
|
+
import { ShadcnButton as Button } from "../components/shadcn-button";
|
|
5
|
+
import { ShadcnTextarea as Textarea } from "../components/shadcn-textarea";
|
|
6
|
+
import { Label } from "../components/label";
|
|
7
|
+
import { Loader2 } from "lucide-react";
|
|
8
|
+
const defaultT = (_key, fallback) => fallback;
|
|
9
|
+
function getDialogConfig(type, t) {
|
|
10
|
+
const configs = {
|
|
11
|
+
accept: {
|
|
12
|
+
title: t("dialogAcceptTitle", "Accept Offer"),
|
|
13
|
+
description: t("dialogAcceptDescription", "Are you sure you want to accept this offer?"),
|
|
14
|
+
confirmLabel: t("accept", "Accept"),
|
|
15
|
+
variant: "default",
|
|
16
|
+
},
|
|
17
|
+
reject: {
|
|
18
|
+
title: t("dialogRejectTitle", "Reject Offer"),
|
|
19
|
+
description: t("dialogRejectDescription", "Are you sure you want to reject this offer?"),
|
|
20
|
+
confirmLabel: t("reject", "Reject"),
|
|
21
|
+
variant: "destructive",
|
|
22
|
+
},
|
|
23
|
+
withdraw: {
|
|
24
|
+
title: t("dialogWithdrawTitle", "Withdraw Response"),
|
|
25
|
+
description: t("dialogWithdrawDescription", "This will withdraw your latest response. This action cannot be undone."),
|
|
26
|
+
confirmLabel: t("withdraw", "Withdraw"),
|
|
27
|
+
variant: "destructive",
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
return configs[type];
|
|
31
|
+
}
|
|
32
|
+
export function ConfirmActionDialog({ offerId, type, open, onOpenChange, onConfirm, isPending: externalPending = false, t = defaultT, }) {
|
|
33
|
+
const [message, setMessage] = useState("");
|
|
34
|
+
const [submitting, setSubmitting] = useState(false);
|
|
35
|
+
const config = getDialogConfig(type, t);
|
|
36
|
+
const isPending = externalPending || submitting;
|
|
37
|
+
async function handleConfirm() {
|
|
38
|
+
setSubmitting(true);
|
|
39
|
+
try {
|
|
40
|
+
if (type === "withdraw") {
|
|
41
|
+
await onConfirm(offerId, type);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
await onConfirm(offerId, type, {
|
|
45
|
+
responseType: type,
|
|
46
|
+
message: message || undefined,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
onOpenChange(false);
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
setSubmitting(false);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: config.title }), _jsx(DialogDescription, { children: config.description })] }), type !== "withdraw" && (_jsxs("div", { className: "grid gap-2 py-2", children: [_jsx(Label, { htmlFor: "action-message", children: t("messageOptional", "Message (optional)") }), _jsx(Textarea, { id: "action-message", placeholder: t("addNotePlaceholder", "Add a note..."), value: message, onChange: (e) => setMessage(e.target.value) })] })), _jsxs(DialogFooter, { children: [_jsx(Button, { variant: "outline", onClick: () => onOpenChange(false), children: t("cancel", "Cancel") }), _jsxs(Button, { onClick: handleConfirm, disabled: isPending, variant: config.variant, children: [isPending && _jsx(Loader2, { className: "mr-2 size-4 animate-spin" }), config.confirmLabel] })] })] }) }));
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=confirm-action-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirm-action-dialog.js","sourceRoot":"","sources":["../../src/offer/confirm-action-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { OfferStatusBadge } from "./offer-status-badge";
|
|
2
|
+
export type { OfferStatusBadgeProps } from "./offer-status-badge";
|
|
3
|
+
export { NegotiationEventCard } from "./negotiation-event-card";
|
|
4
|
+
export { InlineCounterForm } from "./inline-counter-form";
|
|
5
|
+
export type { InlineCounterFormProps } from "./inline-counter-form";
|
|
6
|
+
export { ConfirmActionDialog } from "./confirm-action-dialog";
|
|
7
|
+
export type { ConfirmActionDialogProps } from "./confirm-action-dialog";
|
|
8
|
+
export { AttachmentsFolder } from "./attachments-folder";
|
|
9
|
+
export type { AttachmentsFolderProps } from "./attachments-folder";
|
|
10
|
+
export type { OfferResponseThread, OfferResponseInput, TranslationFn, AttachmentMetadata, OfferActionType, } from "./types";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { OfferStatusBadge } from "./offer-status-badge";
|
|
2
|
+
export { NegotiationEventCard } from "./negotiation-event-card";
|
|
3
|
+
export { InlineCounterForm } from "./inline-counter-form";
|
|
4
|
+
export { ConfirmActionDialog } from "./confirm-action-dialog";
|
|
5
|
+
export { AttachmentsFolder } from "./attachments-folder";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OfferResponseInput, TranslationFn } from "./types";
|
|
2
|
+
export interface InlineCounterFormProps {
|
|
3
|
+
offerId: string;
|
|
4
|
+
defaultCurrency?: string | null;
|
|
5
|
+
parentResponseId?: string | null;
|
|
6
|
+
onCancel: () => void;
|
|
7
|
+
onSuccess: () => void;
|
|
8
|
+
/**
|
|
9
|
+
* Callback to submit the counter offer. The dashboard provides this
|
|
10
|
+
* (wires to its own mutation/API call).
|
|
11
|
+
*/
|
|
12
|
+
onSubmit: (offerId: string, input: OfferResponseInput) => Promise<void>;
|
|
13
|
+
/** Whether the submit is in progress */
|
|
14
|
+
isSubmitting?: boolean;
|
|
15
|
+
/** Optional translation function; falls back to English defaults. */
|
|
16
|
+
t?: TranslationFn;
|
|
17
|
+
}
|
|
18
|
+
export declare function InlineCounterForm({ offerId, defaultCurrency, parentResponseId, onCancel, onSuccess, onSubmit, isSubmitting, t, }: InlineCounterFormProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=inline-counter-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-counter-form.d.ts","sourceRoot":"","sources":["../../src/offer/inline-counter-form.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,wCAAwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAID,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,YAAoB,EACpB,CAAY,GACb,EAAE,sBAAsB,2CA6MxB"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { AnimatePresence, motion } from "motion/react";
|
|
4
|
+
import { ShadcnBadge as Badge } from "../components/shadcn-badge";
|
|
5
|
+
import { ShadcnButton as Button } from "../components/shadcn-button";
|
|
6
|
+
import { ShadcnInput as Input } from "../components/shadcn-input";
|
|
7
|
+
import { Label } from "../components/label";
|
|
8
|
+
import { ShadcnTextarea as Textarea } from "../components/shadcn-textarea";
|
|
9
|
+
import { ShadcnSelect as Select, ShadcnSelectContent as SelectContent, ShadcnSelectItem as SelectItem, ShadcnSelectTrigger as SelectTrigger, ShadcnSelectValue as SelectValue, } from "../components/shadcn-select";
|
|
10
|
+
import { ArrowLeftRight, ChevronDown, ChevronUp, Loader2 } from "lucide-react";
|
|
11
|
+
import { COMMON_CURRENCIES } from "../lib/currencies";
|
|
12
|
+
import { toneClass } from "../lib/semantic-tones";
|
|
13
|
+
const defaultT = (_key, fallback) => fallback;
|
|
14
|
+
export function InlineCounterForm({ offerId, defaultCurrency, parentResponseId, onCancel, onSuccess, onSubmit, isSubmitting = false, t = defaultT, }) {
|
|
15
|
+
const [price, setPrice] = useState("");
|
|
16
|
+
const [currency, setCurrency] = useState(defaultCurrency ?? "EUR");
|
|
17
|
+
const [volume, setVolume] = useState("");
|
|
18
|
+
const [validThrough, setValidThrough] = useState("");
|
|
19
|
+
const [terms, setTerms] = useState("");
|
|
20
|
+
const [message, setMessage] = useState("");
|
|
21
|
+
const [minimized, setMinimized] = useState(false);
|
|
22
|
+
const [submitting, setSubmitting] = useState(false);
|
|
23
|
+
const isPending = isSubmitting || submitting;
|
|
24
|
+
async function handleSubmit(e) {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
const input = {
|
|
27
|
+
responseType: "counter",
|
|
28
|
+
message: message || undefined,
|
|
29
|
+
parentResponseId: parentResponseId ?? undefined,
|
|
30
|
+
details: {},
|
|
31
|
+
};
|
|
32
|
+
if (price)
|
|
33
|
+
input.details.price = price;
|
|
34
|
+
if (currency)
|
|
35
|
+
input.details.currency = currency;
|
|
36
|
+
if (volume)
|
|
37
|
+
input.details.availableVolume = volume;
|
|
38
|
+
if (validThrough)
|
|
39
|
+
input.details.validThrough = validThrough;
|
|
40
|
+
if (terms)
|
|
41
|
+
input.details.terms = terms;
|
|
42
|
+
setSubmitting(true);
|
|
43
|
+
try {
|
|
44
|
+
await onSubmit(offerId, input);
|
|
45
|
+
onSuccess();
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
setSubmitting(false);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return (_jsxs("form", { onSubmit: handleSubmit, className: `${toneClass("negotiation")} rounded-xl border-l-4 px-4 py-3.5`, style: {
|
|
52
|
+
borderLeftColor: "var(--tone-solid)",
|
|
53
|
+
background: "var(--tone-surface)",
|
|
54
|
+
}, children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsxs(Badge, { className: `status-pill ${toneClass("negotiation")}`, children: [_jsx(ArrowLeftRight, { className: "size-3" }), t("draftCounter", "Draft Counter")] }), _jsx("span", { className: "flex-1 text-xs text-muted-foreground", children: minimized ? t("expandToEdit", "Expand to edit") : t("changesAppearAs", "Changes appear as a negotiation card") }), _jsx(Button, { type: "button", variant: "ghost", size: "icon", className: "size-7", onClick: () => setMinimized((v) => !v), children: minimized ? (_jsx(ChevronUp, { className: "size-3.5" })) : (_jsx(ChevronDown, { className: "size-3.5" })) })] }), _jsx(AnimatePresence, { initial: false, children: !minimized && (_jsxs(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.2 }, className: "overflow-hidden", children: [_jsxs("div", { className: "mt-3 mb-3", children: [_jsx(Label, { htmlFor: "counter-message", className: "text-xs", children: t("messageOptional", "Message (optional)") }), _jsx(Textarea, { id: "counter-message", placeholder: t("counterNotePlaceholder", "Add a note to the producer..."), rows: 1, className: "resize-none", value: message, onChange: (e) => setMessage(e.target.value) })] }), _jsxs("div", { className: "surface-card mb-3 grid gap-2 rounded-[18px] p-3.5", children: [_jsxs("div", { className: "flex gap-2", children: [_jsxs("div", { className: "flex-1", children: [_jsx(Label, { htmlFor: "counter-price", className: "text-xs", children: t("chipPrice", "Price") }), _jsx(Input, { id: "counter-price", type: "number", step: "0.01", placeholder: "0.00", className: "text-base/6 font-semibold", value: price, onChange: (e) => setPrice(e.target.value) })] }), _jsxs("div", { className: "w-24", children: [_jsx(Label, { htmlFor: "counter-currency", className: "text-xs", children: t("currency", "Currency") }), _jsxs(Select, { value: currency, onValueChange: setCurrency, children: [_jsx(SelectTrigger, { id: "counter-currency", className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: COMMON_CURRENCIES.map((c) => (_jsx(SelectItem, { value: c.code, children: c.code }, c.code))) })] })] })] }), _jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs("div", { children: [_jsx(Label, { htmlFor: "counter-volume", className: "text-xs", children: t("availableVolumeLabel", "Available Volume (L)") }), _jsx(Input, { id: "counter-volume", type: "number", placeholder: "0", value: volume, onChange: (e) => setVolume(e.target.value) })] }), _jsxs("div", { children: [_jsx(Label, { htmlFor: "counter-valid", className: "text-xs", children: t("chipValidThrough", "Valid through") }), _jsx(Input, { id: "counter-valid", type: "date", value: validThrough, onChange: (e) => setValidThrough(e.target.value) })] })] }), _jsxs("div", { children: [_jsx(Label, { htmlFor: "counter-terms", className: "text-xs", children: t("terms", "Terms") }), _jsx(Textarea, { id: "counter-terms", placeholder: t("termsPlaceholder", "Delivery, payment terms..."), rows: 2, value: terms, onChange: (e) => setTerms(e.target.value) })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-xs text-muted-foreground", children: t("allFieldsOptional", "All fields optional") }), _jsxs("div", { className: "flex gap-2", children: [_jsx(Button, { type: "button", variant: "ghost", size: "sm", onClick: onCancel, children: t("cancel", "Cancel") }), _jsxs(Button, { type: "submit", size: "sm", disabled: isPending, style: {
|
|
55
|
+
background: "var(--tone-solid)",
|
|
56
|
+
color: "var(--tone-solid-fg)",
|
|
57
|
+
}, children: [isPending && (_jsx(Loader2, { className: "mr-1 size-4 animate-spin" })), t("sendCounter", "Send Counter")] })] })] })] })) })] }));
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=inline-counter-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inline-counter-form.js","sourceRoot":"","sources":["../../src/offer/inline-counter-form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OfferResponseThread, TranslationFn } from "./types";
|
|
2
|
+
interface NegotiationEventCardProps {
|
|
3
|
+
response: OfferResponseThread;
|
|
4
|
+
/** Optional translation function; falls back to English defaults. */
|
|
5
|
+
t?: TranslationFn;
|
|
6
|
+
}
|
|
7
|
+
export declare function NegotiationEventCard({ response, t }: NegotiationEventCardProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=negotiation-event-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.d.ts","sourceRoot":"","sources":["../../src/offer/negotiation-event-card.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAElE,UAAU,yBAAyB;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAkBD,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAY,EAAE,EAAE,yBAAyB,2CAkFzF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { format, formatDistanceToNow } from "date-fns";
|
|
3
|
+
import { ShadcnBadge as Badge } from "../components/shadcn-badge";
|
|
4
|
+
import { Check, X, ArrowLeftRight, Ban, Link2, } from "lucide-react";
|
|
5
|
+
import { toneClass } from "../lib/semantic-tones";
|
|
6
|
+
const TYPE_ICONS = {
|
|
7
|
+
accept: _jsx(Check, { className: "size-3.5" }),
|
|
8
|
+
counter: _jsx(ArrowLeftRight, { className: "size-3.5" }),
|
|
9
|
+
reject: _jsx(X, { className: "size-3.5" }),
|
|
10
|
+
withdraw: _jsx(Ban, { className: "size-3.5" }),
|
|
11
|
+
};
|
|
12
|
+
const TYPE_TONES = {
|
|
13
|
+
accept: "success",
|
|
14
|
+
counter: "negotiation",
|
|
15
|
+
reject: "danger",
|
|
16
|
+
withdraw: "neutral",
|
|
17
|
+
};
|
|
18
|
+
const defaultT = (_key, fallback) => fallback;
|
|
19
|
+
export function NegotiationEventCard({ response, t = defaultT }) {
|
|
20
|
+
const typeLabels = {
|
|
21
|
+
accept: t("eventAccepted", "Accepted"),
|
|
22
|
+
counter: t("eventCounter", "Counter"),
|
|
23
|
+
reject: t("eventRejected", "Rejected"),
|
|
24
|
+
withdraw: t("eventWithdrawn", "Withdrawn"),
|
|
25
|
+
};
|
|
26
|
+
const icon = TYPE_ICONS[response.responseType] ?? TYPE_ICONS.counter;
|
|
27
|
+
const label = typeLabels[response.responseType] ?? typeLabels.counter;
|
|
28
|
+
const tone = TYPE_TONES[response.responseType] ?? TYPE_TONES.counter;
|
|
29
|
+
const config = { icon, label, tone };
|
|
30
|
+
const isProducer = response.responderRole === "producer";
|
|
31
|
+
const hasCommercials = response.details?.price ||
|
|
32
|
+
response.details?.availableVolume ||
|
|
33
|
+
response.details?.validThrough ||
|
|
34
|
+
response.details?.terms;
|
|
35
|
+
return (_jsxs("div", { className: `tone-panel premium-panel rounded-[24px] border-l-4 px-4 py-4 ${toneClass(config.tone)}`, style: { borderLeftColor: "var(--tone-solid)" }, children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs(Badge, { className: `status-pill ${toneClass(config.tone)}`, children: [_jsx("span", { className: "mr-1", children: config.icon }), config.label] }), _jsx("span", { className: "text-xs font-medium", children: isProducer ? t("producer", "Producer") : t("you", "You") }), _jsx("span", { className: "text-xs text-muted-foreground", children: formatDistanceToNow(new Date(response.createdAt), {
|
|
36
|
+
addSuffix: true,
|
|
37
|
+
}) }), response.parentResponseId && (_jsxs("span", { className: "inline-flex items-center gap-1 text-xs text-muted-foreground", children: [_jsx(Link2, { className: "size-3" }), t("repliesToPrior", "Replies to prior terms")] }))] }), response.message && (_jsx("p", { className: "mt-3 text-sm/6 text-foreground", children: response.message })), hasCommercials && (_jsxs("div", { className: "surface-card mt-4 grid gap-3 rounded-[20px] p-4 text-sm", children: [response.details?.price && (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsx("span", { className: "text-muted-foreground", children: t("chipPrice", "Price") }), _jsxs("span", { className: "font-medium text-foreground", children: [response.details.currency ?? "", " ", response.details.price] })] })), response.details?.availableVolume && (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsx("span", { className: "text-muted-foreground", children: t("availableVolume", "Available Volume") }), _jsx("span", { className: "font-medium text-foreground", children: response.details.availableVolume })] })), response.details?.validThrough && (_jsxs("div", { className: "flex items-center justify-between gap-4", children: [_jsx("span", { className: "text-muted-foreground", children: t("chipValidThrough", "Valid through") }), _jsx("span", { className: "font-medium text-foreground", children: format(new Date(response.details.validThrough), "MMM d, yyyy") })] })), response.details?.terms && (_jsxs("div", { className: "grid gap-1", children: [_jsx("span", { className: "text-muted-foreground", children: t("terms", "Terms") }), _jsx("span", { className: "text-foreground", children: response.details.terms })] }))] }))] }));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=negotiation-event-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.js","sourceRoot":"","sources":["../../src/offer/negotiation-event-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TranslationFn } from "./types";
|
|
2
|
+
export interface OfferStatusBadgeProps {
|
|
3
|
+
status: string;
|
|
4
|
+
/** Optional translation function; falls back to English defaults. */
|
|
5
|
+
t?: TranslationFn;
|
|
6
|
+
}
|
|
7
|
+
export declare function OfferStatusBadge({ status, t }: OfferStatusBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=offer-status-badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offer-status-badge.d.ts","sourceRoot":"","sources":["../../src/offer/offer-status-badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA+B7C,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,CAAC,CAAC,EAAE,aAAa,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAY,EAAE,EAAE,qBAAqB,2CAQ/E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ShadcnBadge as Badge } from "../components/shadcn-badge";
|
|
3
|
+
import { offerStatusTone, toneClass } from "../lib/semantic-tones";
|
|
4
|
+
const defaultT = (_key, fallback) => fallback;
|
|
5
|
+
function getStatusLabel(status, t) {
|
|
6
|
+
const labels = {
|
|
7
|
+
pending: t("statusPending", "Pending"),
|
|
8
|
+
sent: t("statusSent", "Sent"),
|
|
9
|
+
submitted: t("statusSubmitted", "Submitted"),
|
|
10
|
+
viewed: t("statusViewed", "Viewed"),
|
|
11
|
+
responded: t("statusResponded", "Responded"),
|
|
12
|
+
accepted: t("statusAccepted", "Accepted"),
|
|
13
|
+
declined: t("statusDeclined", "Declined"),
|
|
14
|
+
rejected: t("statusRejected", "Rejected"),
|
|
15
|
+
in_negotiation: t("statusInNegotiation", "In Negotiation"),
|
|
16
|
+
expired: t("statusExpired", "Expired"),
|
|
17
|
+
discarded: t("statusDiscarded", "Discarded"),
|
|
18
|
+
archived: t("statusArchived", "Archived"),
|
|
19
|
+
draft: t("statusDraft", "Draft"),
|
|
20
|
+
};
|
|
21
|
+
return labels[status] ?? t("statusUnknown", "Unknown");
|
|
22
|
+
}
|
|
23
|
+
const MUTED_STATUSES = new Set([
|
|
24
|
+
"expired",
|
|
25
|
+
"discarded",
|
|
26
|
+
"archived",
|
|
27
|
+
"draft",
|
|
28
|
+
"viewed",
|
|
29
|
+
]);
|
|
30
|
+
export function OfferStatusBadge({ status, t = defaultT }) {
|
|
31
|
+
const label = getStatusLabel(status, t);
|
|
32
|
+
const muted = MUTED_STATUSES.has(status) ? " status-pill-muted" : "";
|
|
33
|
+
return (_jsx(Badge, { variant: "ghost", className: `status-pill${muted} ${toneClass(offerStatusTone(status))}`, children: label }));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=offer-status-badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offer-status-badge.js","sourceRoot":"","sources":["../../src/offer/offer-status-badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGnE,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAE7D,SAAS,cAAc,CAAC,MAAc,EAAE,CAAgB;IACtD,MAAM,MAAM,GAA2B;QACrC,OAAO,EAAE,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAC5C,MAAM,EAAE,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC;QACnC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC;QACzC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC;QACzC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;QAC1D,OAAO,EAAE,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC;QACtC,SAAS,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC;QAC5C,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC;QACzC,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,OAAO;IACP,QAAQ;CACT,CAAC,CAAC;AAQH,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAyB;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,OAAO,CACL,KAAC,KAAK,IAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAE,cAAc,KAAK,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,YAC1F,KAAK,GACA,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { SemanticTone } from "../lib/semantic-tones";
|
|
2
|
+
export interface OfferResponseThread {
|
|
3
|
+
id: string;
|
|
4
|
+
offerId: string;
|
|
5
|
+
recipientId?: string | null;
|
|
6
|
+
importerOrgId: string;
|
|
7
|
+
responseType: "accept" | "counter" | "reject" | "withdraw";
|
|
8
|
+
details?: {
|
|
9
|
+
price?: string;
|
|
10
|
+
currency?: string;
|
|
11
|
+
availableVolume?: string;
|
|
12
|
+
terms?: string;
|
|
13
|
+
validThrough?: string;
|
|
14
|
+
} | null;
|
|
15
|
+
message?: string | null;
|
|
16
|
+
isAccepted?: boolean;
|
|
17
|
+
parentResponseId?: string | null;
|
|
18
|
+
responderOrgId: string;
|
|
19
|
+
responderRole: "producer" | "importer";
|
|
20
|
+
createdAt: string;
|
|
21
|
+
}
|
|
22
|
+
export interface OfferResponseInput {
|
|
23
|
+
responseType: "accept" | "reject" | "counter";
|
|
24
|
+
message?: string;
|
|
25
|
+
parentResponseId?: string;
|
|
26
|
+
details?: {
|
|
27
|
+
price?: string;
|
|
28
|
+
currency?: string;
|
|
29
|
+
availableVolume?: string;
|
|
30
|
+
terms?: string;
|
|
31
|
+
validThrough?: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export type TranslationFn = (key: string, fallback: string, options?: Record<string, unknown>) => string;
|
|
35
|
+
export interface AttachmentMetadata {
|
|
36
|
+
id: string;
|
|
37
|
+
fileName: string;
|
|
38
|
+
mimeType?: string;
|
|
39
|
+
fileSize?: number;
|
|
40
|
+
}
|
|
41
|
+
export type OfferActionType = "accept" | "reject" | "withdraw";
|
|
42
|
+
export type { SemanticTone };
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/offer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,IAAI,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,UAAU,GAAG,UAAU,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAID,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAIzG,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAG/D,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/offer/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,iCAAiC,CAAC"}
|