@cellarnode/ui 0.3.1 → 0.5.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/__storybook__/mock-data.d.ts +16 -0
- package/dist/__storybook__/mock-data.d.ts.map +1 -0
- package/dist/__storybook__/mock-data.js +162 -0
- package/dist/__storybook__/mock-data.js.map +1 -0
- package/dist/chat/chat-toggle-button.stories.d.ts +33 -0
- package/dist/chat/chat-toggle-button.stories.d.ts.map +1 -0
- package/dist/chat/chat-toggle-button.stories.js +50 -0
- package/dist/chat/chat-toggle-button.stories.js.map +1 -0
- package/dist/chat/communication-hub-widget.d.ts.map +1 -1
- package/dist/chat/communication-hub-widget.js +3 -1
- package/dist/chat/communication-hub-widget.js.map +1 -1
- package/dist/chat/communication-hub-widget.stories.d.ts +18 -0
- package/dist/chat/communication-hub-widget.stories.d.ts.map +1 -0
- package/dist/chat/communication-hub-widget.stories.js +99 -0
- package/dist/chat/communication-hub-widget.stories.js.map +1 -0
- package/dist/chat/communication-panel.d.ts.map +1 -1
- package/dist/chat/communication-panel.js +3 -1
- package/dist/chat/communication-panel.js.map +1 -1
- package/dist/chat/communication-panel.stories.d.ts +21 -0
- package/dist/chat/communication-panel.stories.d.ts.map +1 -0
- package/dist/chat/communication-panel.stories.js +173 -0
- package/dist/chat/communication-panel.stories.js.map +1 -0
- package/dist/chat/global-chat-widget.d.ts +21 -0
- package/dist/chat/global-chat-widget.d.ts.map +1 -0
- package/dist/chat/global-chat-widget.js +53 -0
- package/dist/chat/global-chat-widget.js.map +1 -0
- package/dist/chat/global-chat-widget.stories.d.ts +34 -0
- package/dist/chat/global-chat-widget.stories.d.ts.map +1 -0
- package/dist/chat/global-chat-widget.stories.js +158 -0
- package/dist/chat/global-chat-widget.stories.js.map +1 -0
- package/dist/chat/index.d.ts +2 -0
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js +1 -0
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/messenger-layout.d.ts.map +1 -1
- package/dist/chat/messenger-layout.js +3 -1
- package/dist/chat/messenger-layout.js.map +1 -1
- package/dist/chat/messenger-layout.stories.d.ts +18 -0
- package/dist/chat/messenger-layout.stories.d.ts.map +1 -0
- package/dist/chat/messenger-layout.stories.js +97 -0
- package/dist/chat/messenger-layout.stories.js.map +1 -0
- package/dist/chat/negotiation-event-card.d.ts.map +1 -1
- package/dist/chat/negotiation-event-card.js.map +1 -1
- package/dist/chat/negotiation-event-card.stories.d.ts +19 -0
- package/dist/chat/negotiation-event-card.stories.d.ts.map +1 -0
- package/dist/chat/negotiation-event-card.stories.js +104 -0
- package/dist/chat/negotiation-event-card.stories.js.map +1 -0
- package/dist/chat/unified-timeline.js +4 -4
- package/dist/chat/unified-timeline.js.map +1 -1
- package/dist/chat/unified-timeline.stories.d.ts +18 -0
- package/dist/chat/unified-timeline.stories.d.ts.map +1 -0
- package/dist/chat/unified-timeline.stories.js +168 -0
- package/dist/chat/unified-timeline.stories.js.map +1 -0
- package/dist/chat/use-chat.js +10 -10
- package/dist/chat/use-chat.js.map +1 -1
- package/dist/components/accordion.stories.d.ts +7 -0
- package/dist/components/accordion.stories.d.ts.map +1 -0
- package/dist/components/accordion.stories.js +16 -0
- package/dist/components/accordion.stories.js.map +1 -0
- package/dist/components/alert.stories.d.ts +8 -0
- package/dist/components/alert.stories.d.ts.map +1 -0
- package/dist/components/alert.stories.js +26 -0
- package/dist/components/alert.stories.js.map +1 -0
- package/dist/components/animated-list.d.ts.map +1 -1
- package/dist/components/animated-list.js +3 -1
- package/dist/components/animated-list.js.map +1 -1
- package/dist/components/animated-list.stories.d.ts +18 -0
- package/dist/components/animated-list.stories.d.ts.map +1 -0
- package/dist/components/animated-list.stories.js +61 -0
- package/dist/components/animated-list.stories.js.map +1 -0
- package/dist/components/avatar.d.ts +7 -5
- package/dist/components/avatar.d.ts.map +1 -1
- package/dist/components/avatar.js +2 -3
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/avatar.stories.d.ts +16 -0
- package/dist/components/avatar.stories.d.ts.map +1 -0
- package/dist/components/avatar.stories.js +28 -0
- package/dist/components/avatar.stories.js.map +1 -0
- package/dist/components/badge.d.ts +7 -5
- package/dist/components/badge.d.ts.map +1 -1
- package/dist/components/badge.js +2 -3
- package/dist/components/badge.js.map +1 -1
- package/dist/components/badge.stories.d.ts +17 -0
- package/dist/components/badge.stories.d.ts.map +1 -0
- package/dist/components/badge.stories.js +25 -0
- package/dist/components/badge.stories.js.map +1 -0
- package/dist/components/button.d.ts +4 -2
- package/dist/components/button.d.ts.map +1 -1
- package/dist/components/button.js +2 -3
- package/dist/components/button.js.map +1 -1
- package/dist/components/card.d.ts +18 -6
- package/dist/components/card.d.ts.map +1 -1
- package/dist/components/card.js +18 -13
- package/dist/components/card.js.map +1 -1
- package/dist/components/card.stories.d.ts +16 -0
- package/dist/components/card.stories.d.ts.map +1 -0
- package/dist/components/card.stories.js +20 -0
- package/dist/components/card.stories.js.map +1 -0
- package/dist/components/checkbox.stories.d.ts +19 -0
- package/dist/components/checkbox.stories.d.ts.map +1 -0
- package/dist/components/checkbox.stories.js +34 -0
- package/dist/components/checkbox.stories.js.map +1 -0
- package/dist/components/classification-select.d.ts.map +1 -1
- package/dist/components/classification-select.js +1 -0
- package/dist/components/classification-select.js.map +1 -1
- package/dist/components/classification-select.stories.d.ts +17 -0
- package/dist/components/classification-select.stories.d.ts.map +1 -0
- package/dist/components/classification-select.stories.js +100 -0
- package/dist/components/classification-select.stories.js.map +1 -0
- package/dist/components/combobox.stories.d.ts +15 -0
- package/dist/components/combobox.stories.d.ts.map +1 -0
- package/dist/components/combobox.stories.js +45 -0
- package/dist/components/combobox.stories.js.map +1 -0
- package/dist/components/command.stories.d.ts +9 -0
- package/dist/components/command.stories.d.ts.map +1 -0
- package/dist/components/command.stories.js +22 -0
- package/dist/components/command.stories.js.map +1 -0
- package/dist/components/description-list.stories.d.ts +15 -0
- package/dist/components/description-list.stories.d.ts.map +1 -0
- package/dist/components/description-list.stories.js +16 -0
- package/dist/components/description-list.stories.js.map +1 -0
- package/dist/components/dialog.stories.d.ts +8 -0
- package/dist/components/dialog.stories.d.ts.map +1 -0
- package/dist/components/dialog.stories.js +26 -0
- package/dist/components/dialog.stories.js.map +1 -0
- package/dist/components/divider.stories.d.ts +15 -0
- package/dist/components/divider.stories.d.ts.map +1 -0
- package/dist/components/divider.stories.js +16 -0
- package/dist/components/divider.stories.js.map +1 -0
- package/dist/components/drawer.d.ts +12 -4
- package/dist/components/drawer.d.ts.map +1 -1
- package/dist/components/drawer.js +12 -9
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/drawer.stories.d.ts +8 -0
- package/dist/components/drawer.stories.d.ts.map +1 -0
- package/dist/components/drawer.stories.js +27 -0
- package/dist/components/drawer.stories.js.map +1 -0
- package/dist/components/dropdown-menu.stories.d.ts +8 -0
- package/dist/components/dropdown-menu.stories.d.ts.map +1 -0
- package/dist/components/dropdown-menu.stories.js +17 -0
- package/dist/components/dropdown-menu.stories.js.map +1 -0
- package/dist/components/dropdown.d.ts.map +1 -1
- package/dist/components/dropdown.js +8 -5
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/dropdown.stories.d.ts +8 -0
- package/dist/components/dropdown.stories.d.ts.map +1 -0
- package/dist/components/dropdown.stories.js +16 -0
- package/dist/components/dropdown.stories.js.map +1 -0
- package/dist/components/fieldset.stories.d.ts +9 -0
- package/dist/components/fieldset.stories.d.ts.map +1 -0
- package/dist/components/fieldset.stories.js +24 -0
- package/dist/components/fieldset.stories.js.map +1 -0
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/form.js +5 -4
- package/dist/components/form.js.map +1 -1
- package/dist/components/form.stories.d.ts +7 -0
- package/dist/components/form.stories.d.ts.map +1 -0
- package/dist/components/form.stories.js +46 -0
- package/dist/components/form.stories.js.map +1 -0
- package/dist/components/heading.stories.d.ts +16 -0
- package/dist/components/heading.stories.d.ts.map +1 -0
- package/dist/components/heading.stories.js +23 -0
- package/dist/components/heading.stories.js.map +1 -0
- package/dist/components/input.d.ts +4 -3
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/input.js +2 -3
- package/dist/components/input.js.map +1 -1
- package/dist/components/input.stories.d.ts +11 -0
- package/dist/components/input.stories.d.ts.map +1 -0
- package/dist/components/input.stories.js +44 -0
- package/dist/components/input.stories.js.map +1 -0
- package/dist/components/kanban-board.d.ts +4 -4
- package/dist/components/kanban-board.d.ts.map +1 -1
- package/dist/components/kanban-board.js.map +1 -1
- package/dist/components/kanban-board.stories.js +1 -1
- package/dist/components/kanban-board.stories.js.map +1 -1
- package/dist/components/kanban-card.stories.d.ts +16 -0
- package/dist/components/kanban-card.stories.d.ts.map +1 -0
- package/dist/components/kanban-card.stories.js +30 -0
- package/dist/components/kanban-card.stories.js.map +1 -0
- package/dist/components/kanban-dnd-board.d.ts +1 -1
- package/dist/components/kanban-dnd-board.d.ts.map +1 -1
- package/dist/components/kanban-dnd-board.js +2 -2
- package/dist/components/kanban-dnd-board.js.map +1 -1
- package/dist/components/kanban-dnd-board.stories.d.ts +15 -0
- package/dist/components/kanban-dnd-board.stories.d.ts.map +1 -0
- package/dist/components/kanban-dnd-board.stories.js +112 -0
- package/dist/components/kanban-dnd-board.stories.js.map +1 -0
- package/dist/components/label.stories.d.ts +16 -0
- package/dist/components/label.stories.d.ts.map +1 -0
- package/dist/components/label.stories.js +21 -0
- package/dist/components/label.stories.js.map +1 -0
- package/dist/components/link.d.ts +3 -2
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/link.js +2 -3
- package/dist/components/link.js.map +1 -1
- package/dist/components/link.stories.d.ts +15 -0
- package/dist/components/link.stories.d.ts.map +1 -0
- package/dist/components/link.stories.js +19 -0
- package/dist/components/link.stories.js.map +1 -0
- package/dist/components/listbox.stories.d.ts +8 -0
- package/dist/components/listbox.stories.d.ts.map +1 -0
- package/dist/components/listbox.stories.js +46 -0
- package/dist/components/listbox.stories.js.map +1 -0
- package/dist/components/pagination.stories.d.ts +9 -0
- package/dist/components/pagination.stories.d.ts.map +1 -0
- package/dist/components/pagination.stories.js +19 -0
- package/dist/components/pagination.stories.js.map +1 -0
- package/dist/components/popover.stories.d.ts +8 -0
- package/dist/components/popover.stories.d.ts.map +1 -0
- package/dist/components/popover.stories.js +17 -0
- package/dist/components/popover.stories.js.map +1 -0
- package/dist/components/radio.stories.d.ts +15 -0
- package/dist/components/radio.stories.d.ts.map +1 -0
- package/dist/components/radio.stories.js +32 -0
- package/dist/components/radio.stories.js.map +1 -0
- package/dist/components/scroll-area.stories.d.ts +14 -0
- package/dist/components/scroll-area.stories.d.ts.map +1 -0
- package/dist/components/scroll-area.stories.js +27 -0
- package/dist/components/scroll-area.stories.js.map +1 -0
- package/dist/components/select.d.ts +3 -2
- package/dist/components/select.d.ts.map +1 -1
- package/dist/components/select.js +2 -3
- package/dist/components/select.js.map +1 -1
- package/dist/components/select.stories.d.ts +10 -0
- package/dist/components/select.stories.d.ts.map +1 -0
- package/dist/components/select.stories.js +25 -0
- package/dist/components/select.stories.js.map +1 -0
- package/dist/components/separator.stories.d.ts +15 -0
- package/dist/components/separator.stories.d.ts.map +1 -0
- package/dist/components/separator.stories.js +16 -0
- package/dist/components/separator.stories.js.map +1 -0
- package/dist/components/shadcn-badge.stories.d.ts +15 -0
- package/dist/components/shadcn-badge.stories.d.ts.map +1 -0
- package/dist/components/shadcn-badge.stories.js +16 -0
- package/dist/components/shadcn-badge.stories.js.map +1 -0
- package/dist/components/shadcn-button.stories.d.ts +17 -0
- package/dist/components/shadcn-button.stories.d.ts.map +1 -0
- package/dist/components/shadcn-button.stories.js +22 -0
- package/dist/components/shadcn-button.stories.js.map +1 -0
- package/dist/components/shadcn-dialog.stories.d.ts +15 -0
- package/dist/components/shadcn-dialog.stories.d.ts.map +1 -0
- package/dist/components/shadcn-dialog.stories.js +26 -0
- package/dist/components/shadcn-dialog.stories.js.map +1 -0
- package/dist/components/shadcn-input.stories.d.ts +16 -0
- package/dist/components/shadcn-input.stories.d.ts.map +1 -0
- package/dist/components/shadcn-input.stories.js +22 -0
- package/dist/components/shadcn-input.stories.js.map +1 -0
- package/dist/components/shadcn-select.stories.d.ts +16 -0
- package/dist/components/shadcn-select.stories.d.ts.map +1 -0
- package/dist/components/shadcn-select.stories.js +19 -0
- package/dist/components/shadcn-select.stories.js.map +1 -0
- package/dist/components/shadcn-textarea.stories.d.ts +16 -0
- package/dist/components/shadcn-textarea.stories.d.ts.map +1 -0
- package/dist/components/shadcn-textarea.stories.js +27 -0
- package/dist/components/shadcn-textarea.stories.js.map +1 -0
- package/dist/components/sheet.d.ts +13 -5
- package/dist/components/sheet.d.ts.map +1 -1
- package/dist/components/sheet.js +12 -9
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sheet.stories.d.ts +8 -0
- package/dist/components/sheet.stories.d.ts.map +1 -0
- package/dist/components/sheet.stories.js +17 -0
- package/dist/components/sheet.stories.js.map +1 -0
- package/dist/components/sidebar.js +5 -5
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/sidebar.stories.d.ts +8 -0
- package/dist/components/sidebar.stories.d.ts.map +1 -0
- package/dist/components/sidebar.stories.js +31 -0
- package/dist/components/sidebar.stories.js.map +1 -0
- package/dist/components/skeleton.stories.d.ts +16 -0
- package/dist/components/skeleton.stories.d.ts.map +1 -0
- package/dist/components/skeleton.stories.js +21 -0
- package/dist/components/skeleton.stories.js.map +1 -0
- package/dist/components/slider.d.ts +3 -1
- package/dist/components/slider.d.ts.map +1 -1
- package/dist/components/slider.js +3 -3
- package/dist/components/slider.js.map +1 -1
- package/dist/components/slider.stories.d.ts +10 -0
- package/dist/components/slider.stories.d.ts.map +1 -0
- package/dist/components/slider.stories.js +43 -0
- package/dist/components/slider.stories.js.map +1 -0
- package/dist/components/sonner.stories.d.ts +16 -0
- package/dist/components/sonner.stories.d.ts.map +1 -0
- package/dist/components/sonner.stories.js +29 -0
- package/dist/components/sonner.stories.js.map +1 -0
- package/dist/components/stat-card.stories.d.ts +17 -0
- package/dist/components/stat-card.stories.d.ts.map +1 -0
- package/dist/components/stat-card.stories.js +46 -0
- package/dist/components/stat-card.stories.js.map +1 -0
- package/dist/components/switch.stories.d.ts +12 -0
- package/dist/components/switch.stories.d.ts.map +1 -0
- package/dist/components/switch.stories.js +51 -0
- package/dist/components/switch.stories.js.map +1 -0
- package/dist/components/table.js +7 -7
- package/dist/components/table.js.map +1 -1
- package/dist/components/table.stories.d.ts +9 -0
- package/dist/components/table.stories.d.ts.map +1 -0
- package/dist/components/table.stories.js +26 -0
- package/dist/components/table.stories.js.map +1 -0
- package/dist/components/tabs.stories.d.ts +8 -0
- package/dist/components/tabs.stories.d.ts.map +1 -0
- package/dist/components/tabs.stories.js +16 -0
- package/dist/components/tabs.stories.js.map +1 -0
- package/dist/components/text.stories.d.ts +17 -0
- package/dist/components/text.stories.d.ts.map +1 -0
- package/dist/components/text.stories.js +27 -0
- package/dist/components/text.stories.js.map +1 -0
- package/dist/components/textarea.d.ts +3 -2
- package/dist/components/textarea.d.ts.map +1 -1
- package/dist/components/textarea.js +2 -3
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/textarea.stories.d.ts +10 -0
- package/dist/components/textarea.stories.d.ts.map +1 -0
- package/dist/components/textarea.stories.js +36 -0
- package/dist/components/textarea.stories.js.map +1 -0
- package/dist/components/toast.d.ts +20 -7
- package/dist/components/toast.d.ts.map +1 -1
- package/dist/components/toast.js +17 -14
- package/dist/components/toast.js.map +1 -1
- package/dist/components/tooltip.d.ts +3 -1
- package/dist/components/tooltip.d.ts.map +1 -1
- package/dist/components/tooltip.js +3 -3
- package/dist/components/tooltip.js.map +1 -1
- package/dist/components/tooltip.stories.d.ts +9 -0
- package/dist/components/tooltip.stories.d.ts.map +1 -0
- package/dist/components/tooltip.stories.js +20 -0
- package/dist/components/tooltip.stories.js.map +1 -0
- package/dist/globe/electron-arc.d.ts +1 -1
- package/dist/globe/electron-arc.d.ts.map +1 -1
- package/dist/globe/electron-arc.js +16 -5
- package/dist/globe/electron-arc.js.map +1 -1
- package/dist/globe/globe-canvas.d.ts +40 -0
- package/dist/globe/globe-canvas.d.ts.map +1 -0
- package/dist/globe/globe-canvas.js +139 -0
- package/dist/globe/globe-canvas.js.map +1 -0
- package/dist/globe/globe-halo.d.ts +8 -0
- package/dist/globe/globe-halo.d.ts.map +1 -0
- package/dist/globe/globe-halo.js +39 -0
- package/dist/globe/globe-halo.js.map +1 -0
- package/dist/globe/globe-loading-skeleton.stories.d.ts +16 -0
- package/dist/globe/globe-loading-skeleton.stories.d.ts.map +1 -0
- package/dist/globe/globe-loading-skeleton.stories.js +22 -0
- package/dist/globe/globe-loading-skeleton.stories.js.map +1 -0
- package/dist/globe/globe-scene.d.ts +43 -0
- package/dist/globe/globe-scene.d.ts.map +1 -0
- package/dist/globe/globe-scene.js +442 -0
- package/dist/globe/globe-scene.js.map +1 -0
- package/dist/globe/globe-stats-fallback.d.ts +12 -0
- package/dist/globe/globe-stats-fallback.d.ts.map +1 -0
- package/dist/globe/globe-stats-fallback.js +43 -0
- package/dist/globe/globe-stats-fallback.js.map +1 -0
- package/dist/globe/globe-stats-fallback.stories.d.ts +17 -0
- package/dist/globe/globe-stats-fallback.stories.d.ts.map +1 -0
- package/dist/globe/globe-stats-fallback.stories.js +152 -0
- package/dist/globe/globe-stats-fallback.stories.js.map +1 -0
- package/dist/globe/globe-theme.js.map +1 -1
- package/dist/globe/globe-tooltip.d.ts +9 -0
- package/dist/globe/globe-tooltip.d.ts.map +1 -0
- package/dist/globe/globe-tooltip.js +51 -0
- package/dist/globe/globe-tooltip.js.map +1 -0
- package/dist/globe/globe-types.d.ts +12 -0
- package/dist/globe/globe-types.d.ts.map +1 -1
- package/dist/globe/globe-view.d.ts +4 -3
- package/dist/globe/globe-view.d.ts.map +1 -1
- package/dist/globe/globe-view.js +27 -589
- package/dist/globe/globe-view.js.map +1 -1
- package/dist/globe/globe-worker.d.ts +2 -0
- package/dist/globe/globe-worker.d.ts.map +1 -0
- package/dist/globe/globe-worker.js +5 -0
- package/dist/globe/globe-worker.js.map +1 -0
- package/dist/globe/index.d.ts +4 -7
- package/dist/globe/index.d.ts.map +1 -1
- package/dist/globe/index.js +3 -4
- package/dist/globe/index.js.map +1 -1
- package/dist/globe/map/map-geometry.d.ts.map +1 -1
- package/dist/globe/map/map-geometry.js.map +1 -1
- package/dist/globe/scene-extras.d.ts +0 -6
- package/dist/globe/scene-extras.d.ts.map +1 -1
- package/dist/globe/scene-extras.js +0 -61
- package/dist/globe/scene-extras.js.map +1 -1
- package/dist/hooks/use-mobile.d.ts.map +1 -1
- package/dist/hooks/use-mobile.js +1 -0
- package/dist/hooks/use-mobile.js.map +1 -1
- package/dist/hooks/use-toast.d.ts +4 -11
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/use-toast.js +0 -6
- package/dist/hooks/use-toast.js.map +1 -1
- package/dist/nav/app-shell.js.map +1 -1
- package/dist/nav/app-shell.stories.d.ts +21 -0
- package/dist/nav/app-shell.stories.d.ts.map +1 -0
- package/dist/nav/app-shell.stories.js +29 -0
- package/dist/nav/app-shell.stories.js.map +1 -0
- package/dist/nav/app-sidebar.stories.d.ts +11 -0
- package/dist/nav/app-sidebar.stories.d.ts.map +1 -0
- package/dist/nav/app-sidebar.stories.js +52 -0
- package/dist/nav/app-sidebar.stories.js.map +1 -0
- package/dist/nav/expandable-nav-item.d.ts.map +1 -1
- package/dist/nav/expandable-nav-item.js +1 -0
- package/dist/nav/expandable-nav-item.js.map +1 -1
- package/dist/nav/expandable-nav-item.stories.d.ts +12 -0
- package/dist/nav/expandable-nav-item.stories.d.ts.map +1 -0
- package/dist/nav/expandable-nav-item.stories.js +43 -0
- package/dist/nav/expandable-nav-item.stories.js.map +1 -0
- package/dist/offer/attachments-folder.stories.d.ts +17 -0
- package/dist/offer/attachments-folder.stories.d.ts.map +1 -0
- package/dist/offer/attachments-folder.stories.js +83 -0
- package/dist/offer/attachments-folder.stories.js.map +1 -0
- package/dist/offer/beverage-details.stories.d.ts +17 -0
- package/dist/offer/beverage-details.stories.d.ts.map +1 -0
- package/dist/offer/beverage-details.stories.js +59 -0
- package/dist/offer/beverage-details.stories.js.map +1 -0
- package/dist/offer/composition-list.stories.d.ts +18 -0
- package/dist/offer/composition-list.stories.d.ts.map +1 -0
- package/dist/offer/composition-list.stories.js +52 -0
- package/dist/offer/composition-list.stories.js.map +1 -0
- package/dist/offer/confirm-action-dialog.stories.d.ts +17 -0
- package/dist/offer/confirm-action-dialog.stories.d.ts.map +1 -0
- package/dist/offer/confirm-action-dialog.stories.js +41 -0
- package/dist/offer/confirm-action-dialog.stories.js.map +1 -0
- package/dist/offer/inline-counter-form.stories.d.ts +17 -0
- package/dist/offer/inline-counter-form.stories.d.ts.map +1 -0
- package/dist/offer/inline-counter-form.stories.js +49 -0
- package/dist/offer/inline-counter-form.stories.js.map +1 -0
- package/dist/offer/negotiation-event-card.d.ts.map +1 -1
- package/dist/offer/negotiation-event-card.js.map +1 -1
- package/dist/offer/negotiation-event-card.stories.d.ts +19 -0
- package/dist/offer/negotiation-event-card.stories.d.ts.map +1 -0
- package/dist/offer/negotiation-event-card.stories.js +90 -0
- package/dist/offer/negotiation-event-card.stories.js.map +1 -0
- package/dist/offer/offer-status-badge.stories.d.ts +15 -0
- package/dist/offer/offer-status-badge.stories.d.ts.map +1 -0
- package/dist/offer/offer-status-badge.stories.js +33 -0
- package/dist/offer/offer-status-badge.stories.js.map +1 -0
- package/dist/offer/opportunity-requirements.stories.d.ts +18 -0
- package/dist/offer/opportunity-requirements.stories.d.ts.map +1 -0
- package/dist/offer/opportunity-requirements.stories.js +75 -0
- package/dist/offer/opportunity-requirements.stories.js.map +1 -0
- package/dist/offer/org-banner.stories.d.ts +18 -0
- package/dist/offer/org-banner.stories.d.ts.map +1 -0
- package/dist/offer/org-banner.stories.js +51 -0
- package/dist/offer/org-banner.stories.js.map +1 -0
- package/dist/offer/reviews-summary.d.ts +3 -0
- package/dist/offer/reviews-summary.d.ts.map +1 -1
- package/dist/offer/reviews-summary.js +12 -1
- package/dist/offer/reviews-summary.js.map +1 -1
- package/dist/offer/reviews-summary.stories.d.ts +18 -0
- package/dist/offer/reviews-summary.stories.d.ts.map +1 -0
- package/dist/offer/reviews-summary.stories.js +104 -0
- package/dist/offer/reviews-summary.stories.js.map +1 -0
- package/dist/offer/sensory-profile.stories.d.ts +17 -0
- package/dist/offer/sensory-profile.stories.d.ts.map +1 -0
- package/dist/offer/sensory-profile.stories.js +84 -0
- package/dist/offer/sensory-profile.stories.js.map +1 -0
- package/dist/opportunities/opportunities-table.d.ts.map +1 -1
- package/dist/opportunities/opportunities-table.js +7 -2
- package/dist/opportunities/opportunities-table.js.map +1 -1
- package/dist/opportunities/opportunities-table.stories.d.ts +24 -0
- package/dist/opportunities/opportunities-table.stories.d.ts.map +1 -0
- package/dist/opportunities/opportunities-table.stories.js +34 -0
- package/dist/opportunities/opportunities-table.stories.js.map +1 -0
- package/dist/profile/profile.stories.d.ts +15 -0
- package/dist/profile/profile.stories.d.ts.map +1 -0
- package/dist/profile/profile.stories.js +33 -0
- package/dist/profile/profile.stories.js.map +1 -0
- package/package.json +17 -4
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { MessengerLayout } from "./messenger-layout";
|
|
4
|
+
const meta = {
|
|
5
|
+
title: "Chat/MessengerLayout",
|
|
6
|
+
component: MessengerLayout,
|
|
7
|
+
tags: ["autodocs"],
|
|
8
|
+
parameters: { layout: "fullscreen" },
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
// ─── Mock data ────────────────────────────────────────────────────────────────
|
|
12
|
+
const mockConversations = [
|
|
13
|
+
{
|
|
14
|
+
id: "conv-001",
|
|
15
|
+
name: "Château Margaux",
|
|
16
|
+
initials: "CM",
|
|
17
|
+
subtitle: "Grand Cru 2018 — Offer #OFF-2026-001",
|
|
18
|
+
lastMessage: "We can accommodate €265 per bottle for 600 cases.",
|
|
19
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 12).toISOString(),
|
|
20
|
+
unreadCount: 2,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "conv-002",
|
|
24
|
+
name: "Tenuta San Guido",
|
|
25
|
+
initials: "TS",
|
|
26
|
+
subtitle: "Sassicaia 2018 — Offer #OFF-2026-002",
|
|
27
|
+
lastMessage: "Please find the updated offer attached for your review.",
|
|
28
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 2).toISOString(),
|
|
29
|
+
unreadCount: 1,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: "conv-003",
|
|
33
|
+
name: "Penfolds Estate",
|
|
34
|
+
initials: "PE",
|
|
35
|
+
subtitle: "Grange 2016 — Offer #OFF-2026-003",
|
|
36
|
+
lastMessage: "Thank you for accepting our counter proposal.",
|
|
37
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 5).toISOString(),
|
|
38
|
+
unreadCount: 0,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: "conv-004",
|
|
42
|
+
name: "Henschke Wines",
|
|
43
|
+
initials: "HW",
|
|
44
|
+
subtitle: "Hill of Grace 2019 — Offer #OFF-2026-004",
|
|
45
|
+
lastMessage: "The Hill of Grace 2019 vintage is now available.",
|
|
46
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 24).toISOString(),
|
|
47
|
+
unreadCount: 0,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: "conv-005",
|
|
51
|
+
name: "Domaine Leroy",
|
|
52
|
+
initials: "DL",
|
|
53
|
+
subtitle: "Musigny 2020 — Offer #OFF-2026-005",
|
|
54
|
+
lastMessage: "We regret to inform you that the requested volume is no longer available.",
|
|
55
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 24 * 3).toISOString(),
|
|
56
|
+
unreadCount: 0,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
const ChatPanelPlaceholder = ({ conversationId }) => (_jsx("div", { className: "flex flex-1 flex-col items-center justify-center gap-3 p-8 text-center", children: conversationId ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "text-base font-semibold text-foreground", children: ["Conversation: ", conversationId] }), _jsx("p", { className: "max-w-sm text-sm text-muted-foreground", children: "The CommunicationPanel would render here with the active chat thread and negotiation timeline for this conversation." })] })) : (_jsx(_Fragment, { children: _jsx("p", { className: "text-sm font-medium text-muted-foreground", children: "Select a conversation to start messaging" }) })) }));
|
|
60
|
+
// ─── Stub args (satisfy Meta type — render overrides everything) ──────────────
|
|
61
|
+
const stubArgs = {
|
|
62
|
+
conversations: mockConversations,
|
|
63
|
+
onSelectConversation: () => { },
|
|
64
|
+
children: null,
|
|
65
|
+
};
|
|
66
|
+
// ─── Stories ──────────────────────────────────────────────────────────────────
|
|
67
|
+
function DefaultRender() {
|
|
68
|
+
const [activeId, setActiveId] = useState("conv-001");
|
|
69
|
+
const [searchQuery, setSearchQuery] = useState("");
|
|
70
|
+
return (_jsx("div", { className: "h-dvh p-4", children: _jsx(MessengerLayout, { conversations: mockConversations, activeConversationId: activeId, onSelectConversation: setActiveId, searchQuery: searchQuery, onSearchChange: setSearchQuery, onSubtitleClick: (id) => alert(`Navigate to offer for ${id}`), children: _jsx(ChatPanelPlaceholder, { conversationId: activeId }) }) }));
|
|
71
|
+
}
|
|
72
|
+
export const Default = {
|
|
73
|
+
args: stubArgs,
|
|
74
|
+
render: () => _jsx(DefaultRender, {}),
|
|
75
|
+
};
|
|
76
|
+
export const Loading = {
|
|
77
|
+
args: stubArgs,
|
|
78
|
+
render: () => (_jsx("div", { className: "h-dvh p-4", children: _jsx(MessengerLayout, { conversations: [], isLoading: true, onSelectConversation: () => { }, children: _jsx(ChatPanelPlaceholder, {}) }) })),
|
|
79
|
+
};
|
|
80
|
+
export const Empty = {
|
|
81
|
+
args: stubArgs,
|
|
82
|
+
render: () => (_jsx("div", { className: "h-dvh p-4", children: _jsx(MessengerLayout, { conversations: [], onSelectConversation: () => { }, onSearchChange: () => { }, searchQuery: "", children: _jsx(ChatPanelPlaceholder, {}) }) })),
|
|
83
|
+
};
|
|
84
|
+
function WithSearchActiveRender() {
|
|
85
|
+
const [activeId, setActiveId] = useState(undefined);
|
|
86
|
+
const [searchQuery, setSearchQuery] = useState("margaux");
|
|
87
|
+
return (_jsx("div", { className: "h-dvh p-4", children: _jsx(MessengerLayout, { conversations: mockConversations, activeConversationId: activeId, onSelectConversation: setActiveId, searchQuery: searchQuery, onSearchChange: setSearchQuery, children: _jsx(ChatPanelPlaceholder, { conversationId: activeId }) }) }));
|
|
88
|
+
}
|
|
89
|
+
export const WithSearchActive = {
|
|
90
|
+
args: stubArgs,
|
|
91
|
+
render: () => _jsx(WithSearchActiveRender, {}),
|
|
92
|
+
};
|
|
93
|
+
export const NoSearchResults = {
|
|
94
|
+
args: stubArgs,
|
|
95
|
+
render: () => (_jsx("div", { className: "h-dvh p-4", children: _jsx(MessengerLayout, { conversations: mockConversations, onSelectConversation: () => { }, searchQuery: "xyznonexistent", onSearchChange: () => { }, children: _jsx(ChatPanelPlaceholder, {}) }) })),
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=messenger-layout.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messenger-layout.stories.js","sourceRoot":"","sources":["../../src/chat/messenger-layout.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation-event-card.d.ts","sourceRoot":"","sources":["../../src/chat/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,
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.d.ts","sourceRoot":"","sources":["../../src/chat/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,2CAoFzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"negotiation-event-card.js","sourceRoot":"","sources":["../../src/chat/negotiation-event-card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,KAAK,EACL,CAAC,EACD,cAAc,EACd,GAAG,EACH,KAAK,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAqB,MAAM,uBAAuB,CAAC;AASrE,MAAM,UAAU,GAAoC;IAClD,MAAM,EAAE,KAAC,KAAK,IAAC,SAAS,EAAC,UAAU,GAAG;IACtC,OAAO,EAAE,KAAC,cAAc,IAAC,SAAS,EAAC,UAAU,GAAG;IAChD,MAAM,EAAE,KAAC,CAAC,IAAC,SAAS,EAAC,UAAU,GAAG;IAClC,QAAQ,EAAE,KAAC,GAAG,IAAC,SAAS,EAAC,UAAU,GAAG;CACvC,CAAC;AAEF,MAAM,UAAU,GAAiC;IAC/C,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,SAAS;CACpB,CAAC;AAEF,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAE7D,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAA6B;IACxF,MAAM,UAAU,GAA2B;QACzC,MAAM,EAAE,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QACtC,OAAO,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC;QACrC,MAAM,EAAE,CAAC,CAAC,eAAe,EAAE,UAAU,CAAC;QACtC,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC;KAC3C,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,KAAK,UAAU,CAAC;IACzD,MAAM,cAAc,GAClB,QAAQ,CAAC,OAAO,EAAE,KAAK;QACvB,QAAQ,CAAC,OAAO,EAAE,eAAe;QACjC,QAAQ,CAAC,OAAO,EAAE,YAAY;QAC9B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAE1B,OAAO,CACL,eACE,SAAS,EAAE,gEAAgE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EACnG,KAAK,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAE/C,eAAK,SAAS,EAAC,mCAAmC,aAChD,MAAC,KAAK,IAAC,SAAS,EAAE,eAAe,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aACvD,eAAM,SAAS,EAAC,MAAM,YAAE,MAAM,CAAC,IAAI,GAAQ,EAC1C,MAAM,CAAC,KAAK,IACP,EACR,eAAM,SAAS,EAAC,qBAAqB,YAClC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,GACpD,EACP,eAAM,SAAS,EAAC,+BAA+B,
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.js","sourceRoot":"","sources":["../../src/chat/negotiation-event-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { NegotiationEventCard } from "./negotiation-event-card";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof NegotiationEventCard;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const Accepted: Story;
|
|
14
|
+
export declare const Counter: Story;
|
|
15
|
+
export declare const Rejected: Story;
|
|
16
|
+
export declare const Withdrawn: Story;
|
|
17
|
+
export declare const CounterWithReply: Story;
|
|
18
|
+
export declare const NoDetails: Story;
|
|
19
|
+
//# sourceMappingURL=negotiation-event-card.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.stories.d.ts","sourceRoot":"","sources":["../../src/chat/negotiation-event-card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,QAAA,MAAM,IAAI;;;;;;;CAKmC,CAAC;AAE9C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAYnC,eAAO,MAAM,QAAQ,EAAE,KAiBtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAkB9B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAWvB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { NegotiationEventCard } from "./negotiation-event-card";
|
|
2
|
+
const meta = {
|
|
3
|
+
title: "Chat/NegotiationEventCard",
|
|
4
|
+
component: NegotiationEventCard,
|
|
5
|
+
tags: ["autodocs"],
|
|
6
|
+
parameters: { layout: "padded" },
|
|
7
|
+
};
|
|
8
|
+
export default meta;
|
|
9
|
+
const baseResponse = {
|
|
10
|
+
id: "resp-001",
|
|
11
|
+
offerId: "offer-001",
|
|
12
|
+
importerOrgId: "org-importer-001",
|
|
13
|
+
responderOrgId: "org-producer-001",
|
|
14
|
+
responderRole: "producer",
|
|
15
|
+
responseType: "counter",
|
|
16
|
+
createdAt: new Date(Date.now() - 1000 * 60 * 30).toISOString(),
|
|
17
|
+
};
|
|
18
|
+
export const Accepted = {
|
|
19
|
+
args: {
|
|
20
|
+
response: {
|
|
21
|
+
...baseResponse,
|
|
22
|
+
id: "resp-accept-001",
|
|
23
|
+
responseType: "accept",
|
|
24
|
+
responderRole: "importer",
|
|
25
|
+
message: "We are pleased to accept your offer for Château Margaux Grand Cru 2018 at €265 per bottle for 600 cases.",
|
|
26
|
+
details: {
|
|
27
|
+
price: "265",
|
|
28
|
+
currency: "EUR",
|
|
29
|
+
availableVolume: "600 cases",
|
|
30
|
+
validThrough: new Date(Date.now() + 1000 * 60 * 60 * 24 * 14).toISOString(),
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const Counter = {
|
|
36
|
+
args: {
|
|
37
|
+
response: {
|
|
38
|
+
...baseResponse,
|
|
39
|
+
id: "resp-counter-001",
|
|
40
|
+
responseType: "counter",
|
|
41
|
+
responderRole: "producer",
|
|
42
|
+
message: "We can offer €265 per bottle for 600 cases with delivery within 6–8 weeks from Bordeaux.",
|
|
43
|
+
details: {
|
|
44
|
+
price: "265",
|
|
45
|
+
currency: "EUR",
|
|
46
|
+
availableVolume: "600 cases (7,200 bottles)",
|
|
47
|
+
validThrough: new Date(Date.now() + 1000 * 60 * 60 * 24 * 10).toISOString(),
|
|
48
|
+
terms: "FOB Bordeaux, payment net 30 days on confirmed order.",
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
export const Rejected = {
|
|
54
|
+
args: {
|
|
55
|
+
response: {
|
|
56
|
+
...baseResponse,
|
|
57
|
+
id: "resp-reject-001",
|
|
58
|
+
responseType: "reject",
|
|
59
|
+
responderRole: "importer",
|
|
60
|
+
message: "Unfortunately, we are unable to proceed at this price point. The requested volume exceeds our current import allocation for this category.",
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
export const Withdrawn = {
|
|
65
|
+
args: {
|
|
66
|
+
response: {
|
|
67
|
+
...baseResponse,
|
|
68
|
+
id: "resp-withdraw-001",
|
|
69
|
+
responseType: "withdraw",
|
|
70
|
+
responderRole: "producer",
|
|
71
|
+
message: "We are withdrawing this offer as the vintage has been allocated to other partners. We apologise for any inconvenience.",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
export const CounterWithReply = {
|
|
76
|
+
args: {
|
|
77
|
+
response: {
|
|
78
|
+
...baseResponse,
|
|
79
|
+
id: "resp-counter-002",
|
|
80
|
+
responseType: "counter",
|
|
81
|
+
responderRole: "importer",
|
|
82
|
+
parentResponseId: "resp-counter-001",
|
|
83
|
+
message: "We can meet at €270 per bottle if delivery can be guaranteed within 4 weeks.",
|
|
84
|
+
details: {
|
|
85
|
+
price: "270",
|
|
86
|
+
currency: "EUR",
|
|
87
|
+
availableVolume: "600 cases",
|
|
88
|
+
validThrough: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(),
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
export const NoDetails = {
|
|
94
|
+
args: {
|
|
95
|
+
response: {
|
|
96
|
+
...baseResponse,
|
|
97
|
+
id: "resp-nodets-001",
|
|
98
|
+
responseType: "counter",
|
|
99
|
+
responderRole: "producer",
|
|
100
|
+
message: "We would like to counter with revised terms — please see the updated offer document attached.",
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=negotiation-event-card.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"negotiation-event-card.stories.js","sourceRoot":"","sources":["../../src/chat/negotiation-event-card.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const defaultT = (_key, fallback) => fallback;
|
|
|
14
14
|
export function UnifiedTimeline({ items, currentOrgId, isTyping, hasMore, onLoadMore, t = defaultT, }) {
|
|
15
15
|
const scrollRef = useRef(null);
|
|
16
16
|
const wasNearBottomRef = useRef(true);
|
|
17
|
-
const
|
|
17
|
+
const initialScrollDoneRef = useRef(false);
|
|
18
18
|
const [showJumpToLatest, setShowJumpToLatest] = useState(false);
|
|
19
19
|
const checkNearBottom = useCallback(() => {
|
|
20
20
|
const el = scrollRef.current;
|
|
@@ -27,8 +27,8 @@ export function UnifiedTimeline({ items, currentOrgId, isTyping, hasMore, onLoad
|
|
|
27
27
|
}, []);
|
|
28
28
|
// Initial scroll to bottom when messages first load
|
|
29
29
|
useEffect(() => {
|
|
30
|
-
if (items.length > 0 && !
|
|
31
|
-
|
|
30
|
+
if (items.length > 0 && !initialScrollDoneRef.current && scrollRef.current) {
|
|
31
|
+
initialScrollDoneRef.current = true;
|
|
32
32
|
requestAnimationFrame(() => {
|
|
33
33
|
if (scrollRef.current) {
|
|
34
34
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
@@ -38,7 +38,7 @@ export function UnifiedTimeline({ items, currentOrgId, isTyping, hasMore, onLoad
|
|
|
38
38
|
}, [items.length]);
|
|
39
39
|
// Auto-scroll when near bottom on new messages
|
|
40
40
|
useEffect(() => {
|
|
41
|
-
if (
|
|
41
|
+
if (initialScrollDoneRef.current && wasNearBottomRef.current && scrollRef.current) {
|
|
42
42
|
scrollRef.current.scrollTop = scrollRef.current.scrollHeight;
|
|
43
43
|
}
|
|
44
44
|
}, [items.length]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unified-timeline.js","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAahE,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAE7D,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,CAAC,GAAG,QAAQ,GACS;IACrB,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"unified-timeline.js","sourceRoot":"","sources":["../../src/chat/unified-timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAahE,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,QAAQ,GAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC;AAE7D,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,UAAU,EACV,CAAC,GAAG,QAAQ,GACS;IACrB,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,gBAAgB,CAAC,OAAO;YACtB,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC;QAC/D,mBAAmB,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oDAAoD;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAC3E,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,qBAAqB,CAAC,GAAG,EAAE;gBACzB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACtB,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,+CAA+C;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAClF,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;QAC/D,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnB,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,gBAAgB,GACpB,CAAC,QAAQ;YACT,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAErE,uDAAuD;QACvD,MAAM,YAAY,GAChB,QAAQ;YACR,IAAI,CAAC,IAAI,KAAK,MAAM;YACpB,QAAQ,CAAC,IAAI,KAAK,MAAM;YACxB,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;YACzC,CAAC,gBAAgB,CAAC;QAEpB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAClD,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,KAAK,UAAU,cAAc;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,UAAU,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC;QAC9C,MAAM,UAAU,EAAE,CAAC;QACnB,qBAAqB,CAAC,GAAG,EAAE;YACzB,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC;YAC1C,SAAS,CAAC,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC,SAAS,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,eACE,GAAG,EAAE,SAAS,EACd,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAC,2DAA2D,aAEpE,OAAO,IAAI,CACV,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,GAAG,EAAE;oBACZ,KAAK,cAAc,EAAE,CAAC;gBACxB,CAAC,YAEA,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,GACtB,CACV,EAEA,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CACrB,YAAG,SAAS,EAAC,2CAA2C,YACrD,CAAC,CAAC,eAAe,EAAE,0CAA0C,CAAC,GAC7D,CACL,EAEA,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,EAAE,EAAE;gBACzD,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;gBAE7C,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC7B,OAAO,CACL,eAAmB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,aAC7E,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,sHAAsH,YACnI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,GAC3C,GACH,CACP,EACD,KAAC,oBAAoB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAI,KAR/C,IAAI,CAAC,EAAE,CASX,CACP,CAAC;gBACJ,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,OAAO,CACL,eAAmB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,aAC7E,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,sHAAsH,YACnI,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,GAC3C,GACH,CACP,EACD,cAAK,SAAS,EAAC,8DAA8D,YAC1E,IAAI,CAAC,OAAO,CAAC,OAAO,GACjB,KAVE,IAAI,CAAC,EAAE,CAWX,CACP,CAAC;gBACJ,CAAC;gBAED,eAAe;gBACf,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC;gBAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;gBAEpE,OAAO,CACL,eAAmB,SAAS,EAAE,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,aAC7E,gBAAgB,IAAI,CACnB,cAAK,SAAS,EAAC,8BAA8B,YAC3C,eAAM,SAAS,EAAC,mGAAmG,YAChH,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,GAC3C,GACH,CACP,EACD,eACE,SAAS,EAAE,iDACT,IAAI;gCACF,CAAC,CAAC,0EAA0E;gCAC5E,CAAC,CAAC,sDACN,EAAE,aAEF,YAAG,SAAS,EAAC,WAAW,YAAE,GAAG,CAAC,OAAO,GAAK,EAC1C,eACE,SAAS,EAAE,8CACT,IAAI;wCACF,CAAC,CAAC,wCAAwC;wCAC1C,CAAC,CAAC,uBACN,EAAE,aAEF,yBAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAQ,EAC9C,IAAI,IAAI,CACP,aAAa,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IAAC,SAAS,EAAC,QAAQ,GAAG,CAClC,CAAC,CAAC,CAAC,CACF,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,GAAG,CAC7B,CACF,IACG,IACF,KAhCE,IAAI,CAAC,EAAE,CAiCX,CACP,CAAC;YACJ,CAAC,CAAC,EAED,QAAQ,IAAI,CACX,cAAK,SAAS,EAAC,sDAAsD,YAClE,CAAC,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,GACzC,CACP,EAEA,gBAAgB,IAAI,CACnB,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,2DAA2D,EACrE,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,SAAS,CAAC,OAAO;wBAAE,OAAO;oBAC/B,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC7D,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;oBAChC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,YAEA,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAC7B,CACV,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { UnifiedTimeline } from "./unified-timeline";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof UnifiedTimeline;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const WithTypingIndicator: Story;
|
|
15
|
+
export declare const WithLoadMore: Story;
|
|
16
|
+
export declare const Empty: Story;
|
|
17
|
+
export declare const OnlyNegotiationCards: Story;
|
|
18
|
+
//# sourceMappingURL=unified-timeline.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-timeline.stories.d.ts","sourceRoot":"","sources":["../../src/chat/unified-timeline.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,QAAA,MAAM,IAAI;;;;;;;CAK8B,CAAC;AAEzC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA4InC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAejC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAe1B,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAenB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KA4BlC,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { UnifiedTimeline } from "./unified-timeline";
|
|
3
|
+
const meta = {
|
|
4
|
+
title: "Chat/UnifiedTimeline",
|
|
5
|
+
component: UnifiedTimeline,
|
|
6
|
+
tags: ["autodocs"],
|
|
7
|
+
parameters: { layout: "padded" },
|
|
8
|
+
};
|
|
9
|
+
export default meta;
|
|
10
|
+
// ─── Shared mock data ─────────────────────────────────────────────────────────
|
|
11
|
+
const PRODUCER_ORG = "org-producer-001";
|
|
12
|
+
const IMPORTER_ORG = "org-importer-001";
|
|
13
|
+
function makeChat(id, senderOrgId, content, offsetMinutes) {
|
|
14
|
+
return {
|
|
15
|
+
id: `chat:${id}`,
|
|
16
|
+
kind: "chat",
|
|
17
|
+
timestamp: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
18
|
+
senderOrgId,
|
|
19
|
+
message: {
|
|
20
|
+
id,
|
|
21
|
+
roomId: "room-001",
|
|
22
|
+
senderOrgId,
|
|
23
|
+
content,
|
|
24
|
+
messageType: "text",
|
|
25
|
+
metadata: null,
|
|
26
|
+
readBy: [PRODUCER_ORG],
|
|
27
|
+
createdAt: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function makeSystem(id, content, offsetMinutes) {
|
|
32
|
+
return {
|
|
33
|
+
id: `system:${id}`,
|
|
34
|
+
kind: "system",
|
|
35
|
+
timestamp: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
36
|
+
senderOrgId: "system",
|
|
37
|
+
message: {
|
|
38
|
+
id,
|
|
39
|
+
roomId: "room-001",
|
|
40
|
+
senderOrgId: "system",
|
|
41
|
+
content,
|
|
42
|
+
messageType: "system",
|
|
43
|
+
metadata: null,
|
|
44
|
+
readBy: [],
|
|
45
|
+
createdAt: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function makeResponse(id, type, role, offsetMinutes, details) {
|
|
50
|
+
return {
|
|
51
|
+
id: `response:${id}`,
|
|
52
|
+
kind: "response",
|
|
53
|
+
timestamp: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
54
|
+
senderOrgId: role === "producer" ? PRODUCER_ORG : IMPORTER_ORG,
|
|
55
|
+
response: {
|
|
56
|
+
id,
|
|
57
|
+
offerId: "offer-001",
|
|
58
|
+
importerOrgId: IMPORTER_ORG,
|
|
59
|
+
responderOrgId: role === "producer" ? PRODUCER_ORG : IMPORTER_ORG,
|
|
60
|
+
responderRole: role,
|
|
61
|
+
responseType: type,
|
|
62
|
+
message: type === "counter"
|
|
63
|
+
? "We propose the following revised terms for your consideration."
|
|
64
|
+
: type === "accept"
|
|
65
|
+
? "We are pleased to accept these terms."
|
|
66
|
+
: type === "reject"
|
|
67
|
+
? "We are unable to proceed under the current terms."
|
|
68
|
+
: "We are withdrawing this offer.",
|
|
69
|
+
details: details ?? null,
|
|
70
|
+
createdAt: new Date(Date.now() - offsetMinutes * 60 * 1000).toISOString(),
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
const mixedEvents = [
|
|
75
|
+
makeChat("msg-001", PRODUCER_ORG, "We are pleased to offer our Château Margaux Grand Cru 2018 at €280 per bottle, FOB Bordeaux.", 90),
|
|
76
|
+
makeChat("msg-002", IMPORTER_ORG, "Thank you for the offer. Would you consider €260 per bottle for an order of 600 cases?", 75),
|
|
77
|
+
makeResponse("resp-001", "counter", "producer", 60, {
|
|
78
|
+
price: "265",
|
|
79
|
+
currency: "EUR",
|
|
80
|
+
availableVolume: "600 cases",
|
|
81
|
+
terms: "FOB Bordeaux, net 30 days.",
|
|
82
|
+
}),
|
|
83
|
+
makeChat("msg-003", IMPORTER_ORG, "This is closer to what we had in mind. Can you confirm the delivery window?", 50),
|
|
84
|
+
makeChat("msg-004", PRODUCER_ORG, "Delivery within 6–8 weeks from order confirmation. We can expedite to 4 weeks for an additional €5/bottle.", 40),
|
|
85
|
+
makeSystem("sys-001", "Offer status changed to 'Negotiating'", 35),
|
|
86
|
+
makeResponse("resp-002", "counter", "importer", 20, {
|
|
87
|
+
price: "268",
|
|
88
|
+
currency: "EUR",
|
|
89
|
+
availableVolume: "600 cases",
|
|
90
|
+
}),
|
|
91
|
+
makeChat("msg-005", PRODUCER_ORG, "We can agree to €268. We will prepare the formal agreement shortly.", 10),
|
|
92
|
+
makeResponse("resp-003", "accept", "importer", 5),
|
|
93
|
+
];
|
|
94
|
+
// ─── Stories ──────────────────────────────────────────────────────────────────
|
|
95
|
+
export const Default = {
|
|
96
|
+
args: {
|
|
97
|
+
items: mixedEvents,
|
|
98
|
+
currentOrgId: IMPORTER_ORG,
|
|
99
|
+
isTyping: false,
|
|
100
|
+
hasMore: false,
|
|
101
|
+
onLoadMore: () => Promise.resolve(),
|
|
102
|
+
},
|
|
103
|
+
decorators: [
|
|
104
|
+
(Story) => (_jsx("div", { className: "flex h-[500px] flex-col overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
105
|
+
],
|
|
106
|
+
};
|
|
107
|
+
export const WithTypingIndicator = {
|
|
108
|
+
args: {
|
|
109
|
+
items: mixedEvents,
|
|
110
|
+
currentOrgId: IMPORTER_ORG,
|
|
111
|
+
isTyping: true,
|
|
112
|
+
hasMore: false,
|
|
113
|
+
onLoadMore: () => Promise.resolve(),
|
|
114
|
+
},
|
|
115
|
+
decorators: [
|
|
116
|
+
(Story) => (_jsx("div", { className: "flex h-[500px] flex-col overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
117
|
+
],
|
|
118
|
+
};
|
|
119
|
+
export const WithLoadMore = {
|
|
120
|
+
args: {
|
|
121
|
+
items: mixedEvents,
|
|
122
|
+
currentOrgId: IMPORTER_ORG,
|
|
123
|
+
isTyping: false,
|
|
124
|
+
hasMore: true,
|
|
125
|
+
onLoadMore: () => Promise.resolve(),
|
|
126
|
+
},
|
|
127
|
+
decorators: [
|
|
128
|
+
(Story) => (_jsx("div", { className: "flex h-[500px] flex-col overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
129
|
+
],
|
|
130
|
+
};
|
|
131
|
+
export const Empty = {
|
|
132
|
+
args: {
|
|
133
|
+
items: [],
|
|
134
|
+
currentOrgId: IMPORTER_ORG,
|
|
135
|
+
isTyping: false,
|
|
136
|
+
hasMore: false,
|
|
137
|
+
onLoadMore: () => Promise.resolve(),
|
|
138
|
+
},
|
|
139
|
+
decorators: [
|
|
140
|
+
(Story) => (_jsx("div", { className: "flex h-[300px] flex-col overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
141
|
+
],
|
|
142
|
+
};
|
|
143
|
+
export const OnlyNegotiationCards = {
|
|
144
|
+
args: {
|
|
145
|
+
items: [
|
|
146
|
+
makeResponse("resp-a", "counter", "producer", 120, {
|
|
147
|
+
price: "280",
|
|
148
|
+
currency: "EUR",
|
|
149
|
+
availableVolume: "500 cases",
|
|
150
|
+
terms: "CIF London, net 60 days.",
|
|
151
|
+
}),
|
|
152
|
+
makeResponse("resp-b", "counter", "importer", 90, {
|
|
153
|
+
price: "265",
|
|
154
|
+
currency: "EUR",
|
|
155
|
+
availableVolume: "500 cases",
|
|
156
|
+
}),
|
|
157
|
+
makeResponse("resp-c", "accept", "producer", 30),
|
|
158
|
+
],
|
|
159
|
+
currentOrgId: IMPORTER_ORG,
|
|
160
|
+
isTyping: false,
|
|
161
|
+
hasMore: false,
|
|
162
|
+
onLoadMore: () => Promise.resolve(),
|
|
163
|
+
},
|
|
164
|
+
decorators: [
|
|
165
|
+
(Story) => (_jsx("div", { className: "flex h-[500px] flex-col overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
166
|
+
],
|
|
167
|
+
};
|
|
168
|
+
//# sourceMappingURL=unified-timeline.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-timeline.stories.js","sourceRoot":"","sources":["../../src/chat/unified-timeline.stories.tsx"],"names":[],"mappings":"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"}
|
package/dist/chat/use-chat.js
CHANGED
|
@@ -46,9 +46,9 @@ export function useChat(roomId, currentOrgId, panelActive = true, options) {
|
|
|
46
46
|
const qc = useQueryClient();
|
|
47
47
|
const [isConnected, setIsConnected] = useState(false);
|
|
48
48
|
const [isTyping, setIsTyping] = useState(false);
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
const
|
|
49
|
+
const typingTimerRef = useRef(undefined);
|
|
50
|
+
const pollingTimerRef = useRef(undefined);
|
|
51
|
+
const typingSentAtRef = useRef(0);
|
|
52
52
|
const panelActiveRef = useRef(panelActive);
|
|
53
53
|
useEffect(() => {
|
|
54
54
|
panelActiveRef.current = panelActive;
|
|
@@ -113,8 +113,8 @@ export function useChat(roomId, currentOrgId, panelActive = true, options) {
|
|
|
113
113
|
if (senderOrgId === currentOrgId)
|
|
114
114
|
return;
|
|
115
115
|
setIsTyping(true);
|
|
116
|
-
clearTimeout(
|
|
117
|
-
|
|
116
|
+
clearTimeout(typingTimerRef.current);
|
|
117
|
+
typingTimerRef.current = setTimeout(() => setIsTyping(false), 3000);
|
|
118
118
|
});
|
|
119
119
|
// Listen for read events from other party
|
|
120
120
|
const unsubRead = chatWs.onRead((readRoomId, data) => {
|
|
@@ -130,7 +130,7 @@ export function useChat(roomId, currentOrgId, panelActive = true, options) {
|
|
|
130
130
|
unsubMessage();
|
|
131
131
|
unsubTyping();
|
|
132
132
|
unsubRead();
|
|
133
|
-
clearTimeout(
|
|
133
|
+
clearTimeout(typingTimerRef.current);
|
|
134
134
|
};
|
|
135
135
|
}, [currentOrgId, roomId, qc, chatWs, chatApi]);
|
|
136
136
|
// Fallback: poll via REST if WebSocket fails
|
|
@@ -138,12 +138,12 @@ export function useChat(roomId, currentOrgId, panelActive = true, options) {
|
|
|
138
138
|
if (!roomId)
|
|
139
139
|
return;
|
|
140
140
|
if (chatWs.hasFailed) {
|
|
141
|
-
|
|
141
|
+
pollingTimerRef.current = setInterval(() => {
|
|
142
142
|
void qc.invalidateQueries({ queryKey: ["chat", "messages", roomId] });
|
|
143
143
|
}, 5_000);
|
|
144
144
|
}
|
|
145
145
|
return () => {
|
|
146
|
-
clearInterval(
|
|
146
|
+
clearInterval(pollingTimerRef.current);
|
|
147
147
|
};
|
|
148
148
|
}, [roomId, isConnected, qc, chatWs]);
|
|
149
149
|
const sendMessageMutation = useMutation({
|
|
@@ -258,9 +258,9 @@ export function useChat(roomId, currentOrgId, panelActive = true, options) {
|
|
|
258
258
|
const sendTyping = useCallback(() => {
|
|
259
259
|
if (roomId && chatWs.isConnected) {
|
|
260
260
|
const now = Date.now();
|
|
261
|
-
if (now -
|
|
261
|
+
if (now - typingSentAtRef.current < 1500)
|
|
262
262
|
return;
|
|
263
|
-
|
|
263
|
+
typingSentAtRef.current = now;
|
|
264
264
|
chatWs.sendTyping(roomId);
|
|
265
265
|
}
|
|
266
266
|
}, [roomId, chatWs]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../src/chat/use-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAS/B,SAAS,cAAc,CAAC,QAAuB;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO,KAAK,CAAC;QAExE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,eAAe;YAAE,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,GAAY,EAAE,KAAa;IACjD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAChD,MAAM,QAAQ,GAAG,GAAmB,CAAC;IACrC,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,IAAI;YACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC;gBAC5C,OAAO,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5D,CAAC,CAAC;SACH,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAc,EAAE,OAAsB;IACtE,OAAO,oBAAoB,CAAC;QAC1B,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAU;QAC/C,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAA+B,CAAC;QAC9D,gBAAgB,EAAE,SAA+B;QACjD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC7B,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QAC1E,OAAO,EAAE,CAAC,CAAC,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,OAAO,CACrB,MAAiC,EACjC,YAAuC,EACvC,cAAuB,IAAI,EAC3B,OAAuB;IAEvB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"use-chat.js","sourceRoot":"","sources":["../../src/chat/use-chat.ts"],"names":[],"mappings":"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"}
|