@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,173 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CommunicationPanel } from "./communication-panel";
|
|
3
|
+
import { createMockChatMessages } from "../__storybook__/mock-data";
|
|
4
|
+
const meta = {
|
|
5
|
+
title: "Chat/CommunicationPanel",
|
|
6
|
+
component: CommunicationPanel,
|
|
7
|
+
tags: ["autodocs"],
|
|
8
|
+
parameters: { layout: "padded" },
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
// ─── Mock ChatState stubs ─────────────────────────────────────────────────────
|
|
12
|
+
function makeChatState(overrides) {
|
|
13
|
+
return {
|
|
14
|
+
messages: createMockChatMessages(),
|
|
15
|
+
sendMessage: () => { },
|
|
16
|
+
sendTyping: () => { },
|
|
17
|
+
isConnected: true,
|
|
18
|
+
isTyping: false,
|
|
19
|
+
isLoading: false,
|
|
20
|
+
hasMore: false,
|
|
21
|
+
loadMore: () => Promise.resolve(),
|
|
22
|
+
isSending: false,
|
|
23
|
+
unreadCount: 0,
|
|
24
|
+
...overrides,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// ─── Shared response thread data ─────────────────────────────────────────────
|
|
28
|
+
const responseThread = [
|
|
29
|
+
{
|
|
30
|
+
id: "resp-001",
|
|
31
|
+
offerId: "offer-001",
|
|
32
|
+
importerOrgId: "org-importer-001",
|
|
33
|
+
responderOrgId: "org-producer-001",
|
|
34
|
+
responderRole: "producer",
|
|
35
|
+
responseType: "counter",
|
|
36
|
+
message: "We can accommodate €265 per bottle for 600 cases. Delivery within 6–8 weeks.",
|
|
37
|
+
details: {
|
|
38
|
+
price: "265",
|
|
39
|
+
currency: "EUR",
|
|
40
|
+
availableVolume: "600 cases",
|
|
41
|
+
validThrough: new Date(Date.now() + 1000 * 60 * 60 * 24 * 10).toISOString(),
|
|
42
|
+
terms: "FOB Bordeaux, net 30 days.",
|
|
43
|
+
},
|
|
44
|
+
createdAt: new Date(Date.now() - 1000 * 60 * 20).toISOString(),
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
// ─── Stories ──────────────────────────────────────────────────────────────────
|
|
48
|
+
export const Default = {
|
|
49
|
+
args: {
|
|
50
|
+
chatState: makeChatState(),
|
|
51
|
+
roomId: "room-001",
|
|
52
|
+
currentOrgId: "org-importer-001",
|
|
53
|
+
offerId: "offer-001",
|
|
54
|
+
responseThread,
|
|
55
|
+
counterMode: false,
|
|
56
|
+
onCounterCancel: () => { },
|
|
57
|
+
onCounterSuccess: () => { },
|
|
58
|
+
defaultCurrency: "EUR",
|
|
59
|
+
},
|
|
60
|
+
decorators: [
|
|
61
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
62
|
+
],
|
|
63
|
+
};
|
|
64
|
+
export const Connected = {
|
|
65
|
+
args: {
|
|
66
|
+
chatState: makeChatState({ isConnected: true }),
|
|
67
|
+
roomId: "room-001",
|
|
68
|
+
currentOrgId: "org-importer-001",
|
|
69
|
+
offerId: "offer-001",
|
|
70
|
+
responseThread,
|
|
71
|
+
counterMode: false,
|
|
72
|
+
onCounterCancel: () => { },
|
|
73
|
+
onCounterSuccess: () => { },
|
|
74
|
+
},
|
|
75
|
+
decorators: [
|
|
76
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
77
|
+
],
|
|
78
|
+
};
|
|
79
|
+
export const Disconnected = {
|
|
80
|
+
args: {
|
|
81
|
+
chatState: makeChatState({ isConnected: false }),
|
|
82
|
+
roomId: "room-001",
|
|
83
|
+
currentOrgId: "org-importer-001",
|
|
84
|
+
offerId: "offer-001",
|
|
85
|
+
responseThread,
|
|
86
|
+
counterMode: false,
|
|
87
|
+
onCounterCancel: () => { },
|
|
88
|
+
onCounterSuccess: () => { },
|
|
89
|
+
},
|
|
90
|
+
decorators: [
|
|
91
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
92
|
+
],
|
|
93
|
+
};
|
|
94
|
+
export const Loading = {
|
|
95
|
+
args: {
|
|
96
|
+
chatState: makeChatState({ isLoading: true, messages: [] }),
|
|
97
|
+
roomId: "room-001",
|
|
98
|
+
currentOrgId: "org-importer-001",
|
|
99
|
+
offerId: "offer-001",
|
|
100
|
+
responseThread: [],
|
|
101
|
+
counterMode: false,
|
|
102
|
+
onCounterCancel: () => { },
|
|
103
|
+
onCounterSuccess: () => { },
|
|
104
|
+
},
|
|
105
|
+
decorators: [
|
|
106
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
107
|
+
],
|
|
108
|
+
};
|
|
109
|
+
export const NoRoom = {
|
|
110
|
+
args: {
|
|
111
|
+
chatState: makeChatState({ messages: [] }),
|
|
112
|
+
roomId: null,
|
|
113
|
+
currentOrgId: "org-importer-001",
|
|
114
|
+
offerId: "offer-001",
|
|
115
|
+
responseThread: [],
|
|
116
|
+
counterMode: false,
|
|
117
|
+
onCounterCancel: () => { },
|
|
118
|
+
onCounterSuccess: () => { },
|
|
119
|
+
},
|
|
120
|
+
decorators: [
|
|
121
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
122
|
+
],
|
|
123
|
+
};
|
|
124
|
+
export const CounterModeWithForm = {
|
|
125
|
+
args: {
|
|
126
|
+
chatState: makeChatState(),
|
|
127
|
+
roomId: "room-001",
|
|
128
|
+
currentOrgId: "org-importer-001",
|
|
129
|
+
offerId: "offer-001",
|
|
130
|
+
responseThread,
|
|
131
|
+
counterMode: true,
|
|
132
|
+
onCounterCancel: () => { },
|
|
133
|
+
onCounterSuccess: () => { },
|
|
134
|
+
renderCounterForm: () => (_jsxs("div", { className: "rounded-xl border border-border bg-muted/40 p-4", children: [_jsx("p", { className: "text-sm font-medium text-foreground", children: "Counter Offer Form" }), _jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: "(Rendered by the consuming dashboard \u2014 stub shown here)" })] })),
|
|
135
|
+
},
|
|
136
|
+
decorators: [
|
|
137
|
+
(Story) => (_jsx("div", { className: "h-[620px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
export const WithPanelToggle = {
|
|
141
|
+
args: {
|
|
142
|
+
chatState: makeChatState(),
|
|
143
|
+
roomId: "room-001",
|
|
144
|
+
currentOrgId: "org-importer-001",
|
|
145
|
+
offerId: "offer-001",
|
|
146
|
+
responseThread,
|
|
147
|
+
counterMode: false,
|
|
148
|
+
onCounterCancel: () => { },
|
|
149
|
+
onCounterSuccess: () => { },
|
|
150
|
+
showPanelToggle: true,
|
|
151
|
+
panelOpen: true,
|
|
152
|
+
onPanelToggle: () => { },
|
|
153
|
+
},
|
|
154
|
+
decorators: [
|
|
155
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
156
|
+
],
|
|
157
|
+
};
|
|
158
|
+
export const Sending = {
|
|
159
|
+
args: {
|
|
160
|
+
chatState: makeChatState({ isSending: true }),
|
|
161
|
+
roomId: "room-001",
|
|
162
|
+
currentOrgId: "org-importer-001",
|
|
163
|
+
offerId: "offer-001",
|
|
164
|
+
responseThread,
|
|
165
|
+
counterMode: false,
|
|
166
|
+
onCounterCancel: () => { },
|
|
167
|
+
onCounterSuccess: () => { },
|
|
168
|
+
},
|
|
169
|
+
decorators: [
|
|
170
|
+
(Story) => (_jsx("div", { className: "h-[560px] w-full max-w-xl overflow-hidden rounded-xl border border-border bg-card", children: _jsx(Story, {}) })),
|
|
171
|
+
],
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=communication-panel.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"communication-panel.stories.js","sourceRoot":"","sources":["../../src/chat/communication-panel.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ChatApiClient } from "./types";
|
|
2
|
+
import type { ChatWebSocket } from "./chat-ws";
|
|
3
|
+
export interface GlobalChatRoom {
|
|
4
|
+
roomId: string;
|
|
5
|
+
offerId: string;
|
|
6
|
+
displayName: string;
|
|
7
|
+
initials: string;
|
|
8
|
+
subtitle?: string | null;
|
|
9
|
+
lastMessageAt?: string | null;
|
|
10
|
+
unreadCount: number;
|
|
11
|
+
}
|
|
12
|
+
export interface GlobalChatWidgetProps {
|
|
13
|
+
rooms: GlobalChatRoom[];
|
|
14
|
+
isConnected: boolean;
|
|
15
|
+
chatApi: ChatApiClient;
|
|
16
|
+
chatWs: ChatWebSocket;
|
|
17
|
+
currentOrgId: string;
|
|
18
|
+
onOpenFullMessenger: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function GlobalChatWidget({ rooms, isConnected, chatApi, chatWs, currentOrgId, onOpenFullMessenger, }: GlobalChatWidgetProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
//# sourceMappingURL=global-chat-widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-chat-widget.d.ts","sourceRoot":"","sources":["../../src/chat/global-chat-widget.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAI/C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC;AA4MD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,mBAAmB,GACpB,EAAE,qBAAqB,2CA6GvB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback } from "react";
|
|
3
|
+
import { motion, AnimatePresence } from "motion/react";
|
|
4
|
+
import { X, ArrowLeft, ExternalLink, Wifi, WifiOff, MessageCircle } from "lucide-react";
|
|
5
|
+
import { cn } from "../lib/utils";
|
|
6
|
+
import { ChatToggleButton } from "./chat-toggle-button";
|
|
7
|
+
import { CommunicationPanel } from "./communication-panel";
|
|
8
|
+
import { useChat } from "./use-chat";
|
|
9
|
+
/* ─── Helpers ─── */
|
|
10
|
+
function formatRelativeTime(isoDate) {
|
|
11
|
+
if (!isoDate)
|
|
12
|
+
return "";
|
|
13
|
+
const diff = Date.now() - new Date(isoDate).getTime();
|
|
14
|
+
if (diff < 60_000)
|
|
15
|
+
return "just now";
|
|
16
|
+
if (diff < 3_600_000)
|
|
17
|
+
return `${Math.floor(diff / 60_000)}m`;
|
|
18
|
+
if (diff < 86_400_000)
|
|
19
|
+
return `${Math.floor(diff / 3_600_000)}h`;
|
|
20
|
+
return `${Math.floor(diff / 86_400_000)}d`;
|
|
21
|
+
}
|
|
22
|
+
function RoomConversationView({ room, currentOrgId, chatApi, chatWs, onBack, isConnected, }) {
|
|
23
|
+
const chatState = useChat(room.roomId, currentOrgId, true, { chatApi, chatWs });
|
|
24
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex shrink-0 items-center gap-3 border-b border-border/60 bg-card px-4 py-3", children: [_jsx("button", { type: "button", onClick: onBack, className: "flex size-7 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", "aria-label": "Back to conversations", children: _jsx(ArrowLeft, { className: "size-4" }) }), _jsx("div", { className: "flex size-8 shrink-0 items-center justify-center rounded-full bg-primary/15 text-xs font-bold text-primary", children: room.initials }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("p", { className: "truncate text-sm font-semibold leading-tight text-foreground", children: room.displayName }), _jsx("div", { className: cn("flex items-center gap-1 text-[11px] font-medium", isConnected
|
|
25
|
+
? "text-emerald-600 dark:text-emerald-400"
|
|
26
|
+
: "text-muted-foreground"), children: isConnected ? (_jsxs(_Fragment, { children: [_jsx(Wifi, { className: "size-3", "aria-hidden": "true" }), "Live"] })) : (_jsxs(_Fragment, { children: [_jsx(WifiOff, { className: "size-3", "aria-hidden": "true" }), "Offline"] })) })] })] }), _jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: _jsx(CommunicationPanel, { chatState: chatState, roomId: room.roomId, currentOrgId: currentOrgId, offerId: room.offerId, responseThread: [], counterMode: false, onCounterCancel: () => { }, onCounterSuccess: () => { } }) })] }));
|
|
27
|
+
}
|
|
28
|
+
function RoomListView({ rooms, onSelectRoom, onOpenFullMessenger, onClose, }) {
|
|
29
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b border-border/60 bg-card px-4 py-3", children: [_jsx(MessageCircle, { className: "size-5 text-foreground", "aria-hidden": "true" }), _jsx("h2", { className: "flex-1 text-sm font-semibold text-foreground", children: "Messages" }), _jsx("button", { type: "button", onClick: onClose, className: "flex size-7 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-muted hover:text-foreground", "aria-label": "Close messages", children: _jsx(X, { className: "size-4" }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: rooms.length === 0 ? (_jsxs("div", { className: "flex flex-col items-center justify-center gap-2 py-16 text-center", children: [_jsx(MessageCircle, { className: "size-8 text-muted-foreground/30", "aria-hidden": "true" }), _jsx("p", { className: "text-sm text-muted-foreground", children: "No conversations yet" }), _jsx("p", { className: "text-xs text-muted-foreground/70", children: "Conversations appear here once offers are in negotiation" })] })) : (_jsx("ul", { className: "divide-y divide-border/40", role: "list", children: rooms.map((room) => (_jsx("li", { children: _jsxs("button", { type: "button", onClick: () => onSelectRoom(room), className: "flex w-full items-center gap-3 px-4 py-3 text-left transition-colors hover:bg-muted/50", children: [_jsxs("div", { className: "relative shrink-0", children: [_jsx("div", { className: "flex size-9 items-center justify-center rounded-full bg-primary/15 text-xs font-bold text-primary", children: room.initials }), room.unreadCount > 0 && (_jsx("span", { className: "absolute -right-0.5 -top-0.5 flex min-w-[1.125rem] items-center justify-center rounded-full bg-destructive px-0.5 text-[9px] font-semibold text-destructive-foreground", children: room.unreadCount > 9 ? "9+" : room.unreadCount }))] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "flex items-baseline justify-between gap-2", children: [_jsx("p", { className: cn("truncate text-sm leading-tight", room.unreadCount > 0
|
|
30
|
+
? "font-semibold text-foreground"
|
|
31
|
+
: "font-medium text-foreground"), children: room.displayName }), room.lastMessageAt && (_jsx("span", { className: "shrink-0 text-[11px] text-muted-foreground", children: formatRelativeTime(room.lastMessageAt) }))] }), room.subtitle && (_jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: room.subtitle }))] })] }) }, room.roomId))) })) }), _jsx("div", { className: "shrink-0 border-t border-border/60 bg-card", children: _jsxs("button", { type: "button", onClick: onOpenFullMessenger, className: "flex w-full items-center justify-center gap-1.5 py-3 text-xs font-medium text-muted-foreground transition-colors hover:text-foreground", children: [_jsx(ExternalLink, { className: "size-3", "aria-hidden": "true" }), "Open full Messenger"] }) })] }));
|
|
32
|
+
}
|
|
33
|
+
/* ─── Main component ─── */
|
|
34
|
+
export function GlobalChatWidget({ rooms, isConnected, chatApi, chatWs, currentOrgId, onOpenFullMessenger, }) {
|
|
35
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
36
|
+
const [selectedRoom, setSelectedRoom] = useState(null);
|
|
37
|
+
const totalUnread = rooms.reduce((n, r) => n + r.unreadCount, 0);
|
|
38
|
+
const handleClose = useCallback(() => {
|
|
39
|
+
setIsOpen(false);
|
|
40
|
+
setSelectedRoom(null);
|
|
41
|
+
}, []);
|
|
42
|
+
const handleOpen = useCallback(() => setIsOpen(true), []);
|
|
43
|
+
const handleSelectRoom = useCallback((room) => {
|
|
44
|
+
setSelectedRoom(room);
|
|
45
|
+
}, []);
|
|
46
|
+
const handleBack = useCallback(() => setSelectedRoom(null), []);
|
|
47
|
+
const handleOpenMessenger = useCallback(() => {
|
|
48
|
+
handleClose();
|
|
49
|
+
onOpenFullMessenger();
|
|
50
|
+
}, [handleClose, onOpenFullMessenger]);
|
|
51
|
+
return (_jsxs(_Fragment, { children: [!isOpen && (_jsx(ChatToggleButton, { unreadCount: totalUnread, isConnected: isConnected, onClick: handleOpen })), _jsx(AnimatePresence, { children: isOpen && (_jsxs(_Fragment, { children: [_jsx(motion.div, { initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, className: "fixed inset-0 z-40 bg-black/30 lg:hidden", onClick: handleClose, "aria-hidden": "true" }, "global-chat-backdrop"), _jsx(motion.div, { initial: { opacity: 0, scale: 0.92, y: 16 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.92, y: 16 }, transition: { type: "spring", stiffness: 380, damping: 32 }, style: { transformOrigin: "bottom right" }, className: cn("fixed inset-x-0 bottom-0 z-50 flex flex-col overflow-hidden rounded-t-[28px]", "bg-background shadow-2xl shadow-black/25", "lg:inset-auto lg:bottom-8 lg:right-8 lg:h-[min(520px,80dvh)] lg:w-[22rem] lg:rounded-[24px] xl:w-[24rem]"), role: "dialog", "aria-label": "Messages", children: _jsx(AnimatePresence, { mode: "wait", children: selectedRoom ? (_jsx(motion.div, { initial: { opacity: 0, x: 20 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: 20 }, transition: { duration: 0.16 }, className: "flex min-h-0 flex-1 flex-col", children: _jsx(RoomConversationView, { room: selectedRoom, currentOrgId: currentOrgId, chatApi: chatApi, chatWs: chatWs, onBack: handleBack, isConnected: isConnected }) }, "conversation")) : (_jsx(motion.div, { initial: { opacity: 0, x: -20 }, animate: { opacity: 1, x: 0 }, exit: { opacity: 0, x: -20 }, transition: { duration: 0.16 }, className: "flex min-h-0 flex-1 flex-col", children: _jsx(RoomListView, { rooms: rooms, onSelectRoom: handleSelectRoom, onOpenFullMessenger: handleOpenMessenger, onClose: handleClose }) }, "room-list")) }) }, "global-chat-widget")] })) })] }));
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=global-chat-widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-chat-widget.js","sourceRoot":"","sources":["../../src/chat/global-chat-widget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { GlobalChatWidget } from "./global-chat-widget";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof GlobalChatWidget;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
/**
|
|
14
|
+
* Default: floating FAB with 3 unread messages across two rooms.
|
|
15
|
+
* Click the FAB to open the room list widget, then select a room.
|
|
16
|
+
*/
|
|
17
|
+
export declare const Default: Story;
|
|
18
|
+
/**
|
|
19
|
+
* No unread messages — FAB shows live dot only (no badge).
|
|
20
|
+
*/
|
|
21
|
+
export declare const NoUnread: Story;
|
|
22
|
+
/**
|
|
23
|
+
* Disconnected state — FAB shows "Offline" label instead of live indicator.
|
|
24
|
+
*/
|
|
25
|
+
export declare const Disconnected: Story;
|
|
26
|
+
/**
|
|
27
|
+
* No rooms — widget shows empty state when opened.
|
|
28
|
+
*/
|
|
29
|
+
export declare const Empty: Story;
|
|
30
|
+
/**
|
|
31
|
+
* Single active room — common case for an importer with one offer in negotiation.
|
|
32
|
+
*/
|
|
33
|
+
export declare const SingleRoom: Story;
|
|
34
|
+
//# sourceMappingURL=global-chat-widget.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-chat-widget.stories.d.ts","sourceRoot":"","sources":["../../src/chat/global-chat-widget.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,QAAA,MAAM,IAAI;;;;;;;CAK+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA+GnC;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAM1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { GlobalChatWidget } from "./global-chat-widget";
|
|
3
|
+
const meta = {
|
|
4
|
+
title: "Chat/GlobalChatWidget",
|
|
5
|
+
component: GlobalChatWidget,
|
|
6
|
+
tags: ["autodocs"],
|
|
7
|
+
parameters: { layout: "padded" },
|
|
8
|
+
};
|
|
9
|
+
export default meta;
|
|
10
|
+
// ─── Stubs ────────────────────────────────────────────────────────────────────
|
|
11
|
+
/**
|
|
12
|
+
* Minimal ChatApiClient stub — all methods return resolved promises.
|
|
13
|
+
* This prevents any network calls in Storybook.
|
|
14
|
+
*/
|
|
15
|
+
function makeChatApiStub() {
|
|
16
|
+
return {
|
|
17
|
+
getMessages: (_roomId, _cursor) => Promise.resolve({ data: [], pagination: { hasMore: false } }),
|
|
18
|
+
sendMessage: (_roomId, content) => Promise.resolve({
|
|
19
|
+
id: `stub-${Date.now()}`,
|
|
20
|
+
roomId: _roomId,
|
|
21
|
+
senderOrgId: "org-producer-001",
|
|
22
|
+
content,
|
|
23
|
+
messageType: "text",
|
|
24
|
+
metadata: null,
|
|
25
|
+
readBy: [],
|
|
26
|
+
createdAt: new Date().toISOString(),
|
|
27
|
+
}),
|
|
28
|
+
markRead: () => Promise.resolve(),
|
|
29
|
+
markReadBulk: () => Promise.resolve({ markedRead: 0 }),
|
|
30
|
+
getWsTicket: () => Promise.resolve({ ticket: "stub-ticket" }),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Minimal ChatWebSocket stub — all event listeners are no-ops that return
|
|
35
|
+
* an unsubscribe function. The connection state is set by the `connected` arg.
|
|
36
|
+
*/
|
|
37
|
+
function makeChatWsStub(connected = true) {
|
|
38
|
+
const noop = () => () => { };
|
|
39
|
+
return {
|
|
40
|
+
get isConnected() {
|
|
41
|
+
return connected;
|
|
42
|
+
},
|
|
43
|
+
get hasFailed() {
|
|
44
|
+
return false;
|
|
45
|
+
},
|
|
46
|
+
connect: () => Promise.resolve(),
|
|
47
|
+
disconnect: () => { },
|
|
48
|
+
subscribe: () => { },
|
|
49
|
+
unsubscribe: () => { },
|
|
50
|
+
sendChatMessage: () => { },
|
|
51
|
+
sendTyping: () => { },
|
|
52
|
+
sendMarkRead: () => { },
|
|
53
|
+
sendMarkReadAll: () => { },
|
|
54
|
+
onMessage: noop,
|
|
55
|
+
onTyping: noop,
|
|
56
|
+
onRead: noop,
|
|
57
|
+
onConnectionChange: (cb) => {
|
|
58
|
+
// Emit initial state synchronously so useChat can initialise isConnected
|
|
59
|
+
cb(connected);
|
|
60
|
+
return () => { };
|
|
61
|
+
},
|
|
62
|
+
onNotification: noop,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// ─── Mock rooms ───────────────────────────────────────────────────────────────
|
|
66
|
+
const mockRooms = [
|
|
67
|
+
{
|
|
68
|
+
roomId: "room-001",
|
|
69
|
+
offerId: "offer-001",
|
|
70
|
+
displayName: "Château Margaux",
|
|
71
|
+
initials: "CM",
|
|
72
|
+
subtitle: "Grand Cru 2018 — Offer #OFF-2026-001",
|
|
73
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 12).toISOString(),
|
|
74
|
+
unreadCount: 2,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
roomId: "room-002",
|
|
78
|
+
offerId: "offer-002",
|
|
79
|
+
displayName: "Tenuta San Guido",
|
|
80
|
+
initials: "TS",
|
|
81
|
+
subtitle: "Sassicaia 2018 — Offer #OFF-2026-002",
|
|
82
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 2).toISOString(),
|
|
83
|
+
unreadCount: 1,
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
roomId: "room-003",
|
|
87
|
+
offerId: "offer-003",
|
|
88
|
+
displayName: "Penfolds Estate",
|
|
89
|
+
initials: "PE",
|
|
90
|
+
subtitle: "Grange 2016 — Offer #OFF-2026-003",
|
|
91
|
+
lastMessageAt: new Date(Date.now() - 1000 * 60 * 60 * 5).toISOString(),
|
|
92
|
+
unreadCount: 0,
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
// ─── Shared base props ────────────────────────────────────────────────────────
|
|
96
|
+
function makeProps(overrides) {
|
|
97
|
+
return {
|
|
98
|
+
rooms: mockRooms,
|
|
99
|
+
isConnected: true,
|
|
100
|
+
chatApi: makeChatApiStub(),
|
|
101
|
+
chatWs: makeChatWsStub(true),
|
|
102
|
+
currentOrgId: "org-importer-001",
|
|
103
|
+
onOpenFullMessenger: () => { },
|
|
104
|
+
...overrides,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
// ─── Stories ──────────────────────────────────────────────────────────────────
|
|
108
|
+
/**
|
|
109
|
+
* Default: floating FAB with 3 unread messages across two rooms.
|
|
110
|
+
* Click the FAB to open the room list widget, then select a room.
|
|
111
|
+
*/
|
|
112
|
+
export const Default = {
|
|
113
|
+
args: makeProps(),
|
|
114
|
+
decorators: [
|
|
115
|
+
(Story) => (_jsxs("div", { className: "relative h-[500px] w-full rounded-xl border border-border bg-card", children: [_jsx("p", { className: "p-6 text-sm text-muted-foreground", children: "Click the floating button (bottom-right) to open the chat widget." }), _jsx(Story, {})] })),
|
|
116
|
+
],
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* No unread messages — FAB shows live dot only (no badge).
|
|
120
|
+
*/
|
|
121
|
+
export const NoUnread = {
|
|
122
|
+
args: makeProps({
|
|
123
|
+
rooms: mockRooms.map((r) => ({ ...r, unreadCount: 0 })),
|
|
124
|
+
chatWs: makeChatWsStub(true),
|
|
125
|
+
}),
|
|
126
|
+
decorators: Default.decorators,
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Disconnected state — FAB shows "Offline" label instead of live indicator.
|
|
130
|
+
*/
|
|
131
|
+
export const Disconnected = {
|
|
132
|
+
args: makeProps({
|
|
133
|
+
isConnected: false,
|
|
134
|
+
chatWs: makeChatWsStub(false),
|
|
135
|
+
}),
|
|
136
|
+
decorators: Default.decorators,
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* No rooms — widget shows empty state when opened.
|
|
140
|
+
*/
|
|
141
|
+
export const Empty = {
|
|
142
|
+
args: makeProps({
|
|
143
|
+
rooms: [],
|
|
144
|
+
chatWs: makeChatWsStub(true),
|
|
145
|
+
}),
|
|
146
|
+
decorators: Default.decorators,
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Single active room — common case for an importer with one offer in negotiation.
|
|
150
|
+
*/
|
|
151
|
+
export const SingleRoom = {
|
|
152
|
+
args: makeProps({
|
|
153
|
+
rooms: [mockRooms[0]],
|
|
154
|
+
chatWs: makeChatWsStub(true),
|
|
155
|
+
}),
|
|
156
|
+
decorators: Default.decorators,
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=global-chat-widget.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-chat-widget.stories.js","sourceRoot":"","sources":["../../src/chat/global-chat-widget.stories.tsx"],"names":[],"mappings":"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"}
|
package/dist/chat/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export type { UseChatOptions } from "./use-chat";
|
|
|
11
11
|
export { buildConversationTimeline } from "./timeline-utils";
|
|
12
12
|
export { CommunicationHubWidget } from "./communication-hub-widget";
|
|
13
13
|
export type { CommunicationHubWidgetProps, MessagePreview, } from "./communication-hub-widget";
|
|
14
|
+
export { GlobalChatWidget } from "./global-chat-widget";
|
|
15
|
+
export type { GlobalChatWidgetProps, GlobalChatRoom, } from "./global-chat-widget";
|
|
14
16
|
export { MessengerLayout } from "./messenger-layout";
|
|
15
17
|
export type { ConversationSummary, MessengerLayoutProps, } from "./messenger-layout";
|
|
16
18
|
export type { ChatRoom, ChatMessage, CursorPaginatedResponse, OfferResponseThread, ConversationEvent, TranslationFn, ChatApiClient, ChatWsConfig, ChatState, CommunicationPanelProps, } from "./types";
|
package/dist/chat/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EACV,2BAA2B,EAC3B,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,QAAQ,EACR,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,EACT,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,YAAY,EACV,2BAA2B,EAC3B,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EACV,qBAAqB,EACrB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,QAAQ,EACR,WAAW,EACX,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,SAAS,EACT,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
|
package/dist/chat/index.js
CHANGED
|
@@ -7,5 +7,6 @@ export { createChatApi } from "./chat-api";
|
|
|
7
7
|
export { useChat } from "./use-chat";
|
|
8
8
|
export { buildConversationTimeline } from "./timeline-utils";
|
|
9
9
|
export { CommunicationHubWidget } from "./communication-hub-widget";
|
|
10
|
+
export { GlobalChatWidget } from "./global-chat-widget";
|
|
10
11
|
export { MessengerLayout } from "./messenger-layout";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/chat/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-layout.d.ts","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"messenger-layout.d.ts","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAmND,wBAAgB,eAAe,CAAC,EAC9B,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,SAAiB,EACjB,WAAgB,EAChB,cAAc,EACd,QAAQ,EACR,MAAM,EACN,MAAM,EACN,eAAe,EACf,CAAY,GACb,EAAE,oBAAoB,2CAoGtB"}
|
|
@@ -30,7 +30,9 @@ function formatRelativeTime(isoDate) {
|
|
|
30
30
|
}
|
|
31
31
|
/* ─── Loading skeleton ─── */
|
|
32
32
|
function ConversationListSkeleton({ count = 6 }) {
|
|
33
|
-
return (_jsx("div", { className: "flex flex-col gap-1 p-2", children: Array.from({ length: count }).map((_, i) => (
|
|
33
|
+
return (_jsx("div", { className: "flex flex-col gap-1 p-2", children: Array.from({ length: count }).map((_, i) => (
|
|
34
|
+
// eslint-disable-next-line @eslint-react/no-array-index-key
|
|
35
|
+
_jsxs("div", { className: "flex items-center gap-3 px-3 py-3", children: [_jsx(Skeleton, { className: "size-10 shrink-0 rounded-full" }), _jsxs("div", { className: "flex-1 space-y-2", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(Skeleton, { className: "h-3.5 w-24" }), _jsx(Skeleton, { className: "h-3 w-10" })] }), _jsx(Skeleton, { className: "h-3 w-3/4" })] })] }, i))) }));
|
|
34
36
|
}
|
|
35
37
|
function ConversationItem({ conversation, isSelected, onClick, onSubtitleClick, }) {
|
|
36
38
|
const hasUnread = conversation.unreadCount > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messenger-layout.js","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA6B9E,qBAAqB;AAErB,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAAiB,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC;AAEvE,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;IAC1B,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IACnC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,GAAG,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,GAAG,IAAI,GAAG,CAAC;IAEhC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACrD,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;AACL,CAAC;AAED,8BAA8B;AAE9B,SAAS,wBAAwB,CAAC,EAAE,KAAK,GAAG,CAAC,EAAsB;IACjE,OAAO,CACL,cAAK,SAAS,EAAC,yBAAyB,YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"messenger-layout.js","sourceRoot":"","sources":["../../src/chat/messenger-layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import { MessengerLayout } from "./messenger-layout";
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: typeof MessengerLayout;
|
|
6
|
+
tags: string[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default meta;
|
|
12
|
+
type Story = StoryObj<typeof meta>;
|
|
13
|
+
export declare const Default: Story;
|
|
14
|
+
export declare const Loading: Story;
|
|
15
|
+
export declare const Empty: Story;
|
|
16
|
+
export declare const WithSearchActive: Story;
|
|
17
|
+
export declare const NoSearchResults: Story;
|
|
18
|
+
//# sourceMappingURL=messenger-layout.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messenger-layout.stories.d.ts","sourceRoot":"","sources":["../../src/chat/messenger-layout.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,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;AAwGnC,eAAO,MAAM,OAAO,EAAE,KAGrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAarB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAcnB,CAAC;AAqBF,eAAO,MAAM,gBAAgB,EAAE,KAG9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAc7B,CAAC"}
|