@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.
Files changed (466) hide show
  1. package/dist/__storybook__/mock-data.d.ts +16 -0
  2. package/dist/__storybook__/mock-data.d.ts.map +1 -0
  3. package/dist/__storybook__/mock-data.js +162 -0
  4. package/dist/__storybook__/mock-data.js.map +1 -0
  5. package/dist/chat/chat-toggle-button.stories.d.ts +33 -0
  6. package/dist/chat/chat-toggle-button.stories.d.ts.map +1 -0
  7. package/dist/chat/chat-toggle-button.stories.js +50 -0
  8. package/dist/chat/chat-toggle-button.stories.js.map +1 -0
  9. package/dist/chat/communication-hub-widget.d.ts.map +1 -1
  10. package/dist/chat/communication-hub-widget.js +3 -1
  11. package/dist/chat/communication-hub-widget.js.map +1 -1
  12. package/dist/chat/communication-hub-widget.stories.d.ts +18 -0
  13. package/dist/chat/communication-hub-widget.stories.d.ts.map +1 -0
  14. package/dist/chat/communication-hub-widget.stories.js +99 -0
  15. package/dist/chat/communication-hub-widget.stories.js.map +1 -0
  16. package/dist/chat/communication-panel.d.ts.map +1 -1
  17. package/dist/chat/communication-panel.js +3 -1
  18. package/dist/chat/communication-panel.js.map +1 -1
  19. package/dist/chat/communication-panel.stories.d.ts +21 -0
  20. package/dist/chat/communication-panel.stories.d.ts.map +1 -0
  21. package/dist/chat/communication-panel.stories.js +173 -0
  22. package/dist/chat/communication-panel.stories.js.map +1 -0
  23. package/dist/chat/global-chat-widget.d.ts +21 -0
  24. package/dist/chat/global-chat-widget.d.ts.map +1 -0
  25. package/dist/chat/global-chat-widget.js +53 -0
  26. package/dist/chat/global-chat-widget.js.map +1 -0
  27. package/dist/chat/global-chat-widget.stories.d.ts +34 -0
  28. package/dist/chat/global-chat-widget.stories.d.ts.map +1 -0
  29. package/dist/chat/global-chat-widget.stories.js +158 -0
  30. package/dist/chat/global-chat-widget.stories.js.map +1 -0
  31. package/dist/chat/index.d.ts +2 -0
  32. package/dist/chat/index.d.ts.map +1 -1
  33. package/dist/chat/index.js +1 -0
  34. package/dist/chat/index.js.map +1 -1
  35. package/dist/chat/messenger-layout.d.ts.map +1 -1
  36. package/dist/chat/messenger-layout.js +3 -1
  37. package/dist/chat/messenger-layout.js.map +1 -1
  38. package/dist/chat/messenger-layout.stories.d.ts +18 -0
  39. package/dist/chat/messenger-layout.stories.d.ts.map +1 -0
  40. package/dist/chat/messenger-layout.stories.js +97 -0
  41. package/dist/chat/messenger-layout.stories.js.map +1 -0
  42. package/dist/chat/negotiation-event-card.d.ts.map +1 -1
  43. package/dist/chat/negotiation-event-card.js.map +1 -1
  44. package/dist/chat/negotiation-event-card.stories.d.ts +19 -0
  45. package/dist/chat/negotiation-event-card.stories.d.ts.map +1 -0
  46. package/dist/chat/negotiation-event-card.stories.js +104 -0
  47. package/dist/chat/negotiation-event-card.stories.js.map +1 -0
  48. package/dist/chat/unified-timeline.js +4 -4
  49. package/dist/chat/unified-timeline.js.map +1 -1
  50. package/dist/chat/unified-timeline.stories.d.ts +18 -0
  51. package/dist/chat/unified-timeline.stories.d.ts.map +1 -0
  52. package/dist/chat/unified-timeline.stories.js +168 -0
  53. package/dist/chat/unified-timeline.stories.js.map +1 -0
  54. package/dist/chat/use-chat.js +10 -10
  55. package/dist/chat/use-chat.js.map +1 -1
  56. package/dist/components/accordion.stories.d.ts +7 -0
  57. package/dist/components/accordion.stories.d.ts.map +1 -0
  58. package/dist/components/accordion.stories.js +16 -0
  59. package/dist/components/accordion.stories.js.map +1 -0
  60. package/dist/components/alert.stories.d.ts +8 -0
  61. package/dist/components/alert.stories.d.ts.map +1 -0
  62. package/dist/components/alert.stories.js +26 -0
  63. package/dist/components/alert.stories.js.map +1 -0
  64. package/dist/components/animated-list.d.ts.map +1 -1
  65. package/dist/components/animated-list.js +3 -1
  66. package/dist/components/animated-list.js.map +1 -1
  67. package/dist/components/animated-list.stories.d.ts +18 -0
  68. package/dist/components/animated-list.stories.d.ts.map +1 -0
  69. package/dist/components/animated-list.stories.js +61 -0
  70. package/dist/components/animated-list.stories.js.map +1 -0
  71. package/dist/components/avatar.d.ts +7 -5
  72. package/dist/components/avatar.d.ts.map +1 -1
  73. package/dist/components/avatar.js +2 -3
  74. package/dist/components/avatar.js.map +1 -1
  75. package/dist/components/avatar.stories.d.ts +16 -0
  76. package/dist/components/avatar.stories.d.ts.map +1 -0
  77. package/dist/components/avatar.stories.js +28 -0
  78. package/dist/components/avatar.stories.js.map +1 -0
  79. package/dist/components/badge.d.ts +7 -5
  80. package/dist/components/badge.d.ts.map +1 -1
  81. package/dist/components/badge.js +2 -3
  82. package/dist/components/badge.js.map +1 -1
  83. package/dist/components/badge.stories.d.ts +17 -0
  84. package/dist/components/badge.stories.d.ts.map +1 -0
  85. package/dist/components/badge.stories.js +25 -0
  86. package/dist/components/badge.stories.js.map +1 -0
  87. package/dist/components/button.d.ts +4 -2
  88. package/dist/components/button.d.ts.map +1 -1
  89. package/dist/components/button.js +2 -3
  90. package/dist/components/button.js.map +1 -1
  91. package/dist/components/card.d.ts +18 -6
  92. package/dist/components/card.d.ts.map +1 -1
  93. package/dist/components/card.js +18 -13
  94. package/dist/components/card.js.map +1 -1
  95. package/dist/components/card.stories.d.ts +16 -0
  96. package/dist/components/card.stories.d.ts.map +1 -0
  97. package/dist/components/card.stories.js +20 -0
  98. package/dist/components/card.stories.js.map +1 -0
  99. package/dist/components/checkbox.stories.d.ts +19 -0
  100. package/dist/components/checkbox.stories.d.ts.map +1 -0
  101. package/dist/components/checkbox.stories.js +34 -0
  102. package/dist/components/checkbox.stories.js.map +1 -0
  103. package/dist/components/classification-select.d.ts.map +1 -1
  104. package/dist/components/classification-select.js +1 -0
  105. package/dist/components/classification-select.js.map +1 -1
  106. package/dist/components/classification-select.stories.d.ts +17 -0
  107. package/dist/components/classification-select.stories.d.ts.map +1 -0
  108. package/dist/components/classification-select.stories.js +100 -0
  109. package/dist/components/classification-select.stories.js.map +1 -0
  110. package/dist/components/combobox.stories.d.ts +15 -0
  111. package/dist/components/combobox.stories.d.ts.map +1 -0
  112. package/dist/components/combobox.stories.js +45 -0
  113. package/dist/components/combobox.stories.js.map +1 -0
  114. package/dist/components/command.stories.d.ts +9 -0
  115. package/dist/components/command.stories.d.ts.map +1 -0
  116. package/dist/components/command.stories.js +22 -0
  117. package/dist/components/command.stories.js.map +1 -0
  118. package/dist/components/description-list.stories.d.ts +15 -0
  119. package/dist/components/description-list.stories.d.ts.map +1 -0
  120. package/dist/components/description-list.stories.js +16 -0
  121. package/dist/components/description-list.stories.js.map +1 -0
  122. package/dist/components/dialog.stories.d.ts +8 -0
  123. package/dist/components/dialog.stories.d.ts.map +1 -0
  124. package/dist/components/dialog.stories.js +26 -0
  125. package/dist/components/dialog.stories.js.map +1 -0
  126. package/dist/components/divider.stories.d.ts +15 -0
  127. package/dist/components/divider.stories.d.ts.map +1 -0
  128. package/dist/components/divider.stories.js +16 -0
  129. package/dist/components/divider.stories.js.map +1 -0
  130. package/dist/components/drawer.d.ts +12 -4
  131. package/dist/components/drawer.d.ts.map +1 -1
  132. package/dist/components/drawer.js +12 -9
  133. package/dist/components/drawer.js.map +1 -1
  134. package/dist/components/drawer.stories.d.ts +8 -0
  135. package/dist/components/drawer.stories.d.ts.map +1 -0
  136. package/dist/components/drawer.stories.js +27 -0
  137. package/dist/components/drawer.stories.js.map +1 -0
  138. package/dist/components/dropdown-menu.stories.d.ts +8 -0
  139. package/dist/components/dropdown-menu.stories.d.ts.map +1 -0
  140. package/dist/components/dropdown-menu.stories.js +17 -0
  141. package/dist/components/dropdown-menu.stories.js.map +1 -0
  142. package/dist/components/dropdown.d.ts.map +1 -1
  143. package/dist/components/dropdown.js +8 -5
  144. package/dist/components/dropdown.js.map +1 -1
  145. package/dist/components/dropdown.stories.d.ts +8 -0
  146. package/dist/components/dropdown.stories.d.ts.map +1 -0
  147. package/dist/components/dropdown.stories.js +16 -0
  148. package/dist/components/dropdown.stories.js.map +1 -0
  149. package/dist/components/fieldset.stories.d.ts +9 -0
  150. package/dist/components/fieldset.stories.d.ts.map +1 -0
  151. package/dist/components/fieldset.stories.js +24 -0
  152. package/dist/components/fieldset.stories.js.map +1 -0
  153. package/dist/components/form.d.ts.map +1 -1
  154. package/dist/components/form.js +5 -4
  155. package/dist/components/form.js.map +1 -1
  156. package/dist/components/form.stories.d.ts +7 -0
  157. package/dist/components/form.stories.d.ts.map +1 -0
  158. package/dist/components/form.stories.js +46 -0
  159. package/dist/components/form.stories.js.map +1 -0
  160. package/dist/components/heading.stories.d.ts +16 -0
  161. package/dist/components/heading.stories.d.ts.map +1 -0
  162. package/dist/components/heading.stories.js +23 -0
  163. package/dist/components/heading.stories.js.map +1 -0
  164. package/dist/components/input.d.ts +4 -3
  165. package/dist/components/input.d.ts.map +1 -1
  166. package/dist/components/input.js +2 -3
  167. package/dist/components/input.js.map +1 -1
  168. package/dist/components/input.stories.d.ts +11 -0
  169. package/dist/components/input.stories.d.ts.map +1 -0
  170. package/dist/components/input.stories.js +44 -0
  171. package/dist/components/input.stories.js.map +1 -0
  172. package/dist/components/kanban-board.d.ts +4 -4
  173. package/dist/components/kanban-board.d.ts.map +1 -1
  174. package/dist/components/kanban-board.js.map +1 -1
  175. package/dist/components/kanban-board.stories.js +1 -1
  176. package/dist/components/kanban-board.stories.js.map +1 -1
  177. package/dist/components/kanban-card.stories.d.ts +16 -0
  178. package/dist/components/kanban-card.stories.d.ts.map +1 -0
  179. package/dist/components/kanban-card.stories.js +30 -0
  180. package/dist/components/kanban-card.stories.js.map +1 -0
  181. package/dist/components/kanban-dnd-board.d.ts +1 -1
  182. package/dist/components/kanban-dnd-board.d.ts.map +1 -1
  183. package/dist/components/kanban-dnd-board.js +2 -2
  184. package/dist/components/kanban-dnd-board.js.map +1 -1
  185. package/dist/components/kanban-dnd-board.stories.d.ts +15 -0
  186. package/dist/components/kanban-dnd-board.stories.d.ts.map +1 -0
  187. package/dist/components/kanban-dnd-board.stories.js +112 -0
  188. package/dist/components/kanban-dnd-board.stories.js.map +1 -0
  189. package/dist/components/label.stories.d.ts +16 -0
  190. package/dist/components/label.stories.d.ts.map +1 -0
  191. package/dist/components/label.stories.js +21 -0
  192. package/dist/components/label.stories.js.map +1 -0
  193. package/dist/components/link.d.ts +3 -2
  194. package/dist/components/link.d.ts.map +1 -1
  195. package/dist/components/link.js +2 -3
  196. package/dist/components/link.js.map +1 -1
  197. package/dist/components/link.stories.d.ts +15 -0
  198. package/dist/components/link.stories.d.ts.map +1 -0
  199. package/dist/components/link.stories.js +19 -0
  200. package/dist/components/link.stories.js.map +1 -0
  201. package/dist/components/listbox.stories.d.ts +8 -0
  202. package/dist/components/listbox.stories.d.ts.map +1 -0
  203. package/dist/components/listbox.stories.js +46 -0
  204. package/dist/components/listbox.stories.js.map +1 -0
  205. package/dist/components/pagination.stories.d.ts +9 -0
  206. package/dist/components/pagination.stories.d.ts.map +1 -0
  207. package/dist/components/pagination.stories.js +19 -0
  208. package/dist/components/pagination.stories.js.map +1 -0
  209. package/dist/components/popover.stories.d.ts +8 -0
  210. package/dist/components/popover.stories.d.ts.map +1 -0
  211. package/dist/components/popover.stories.js +17 -0
  212. package/dist/components/popover.stories.js.map +1 -0
  213. package/dist/components/radio.stories.d.ts +15 -0
  214. package/dist/components/radio.stories.d.ts.map +1 -0
  215. package/dist/components/radio.stories.js +32 -0
  216. package/dist/components/radio.stories.js.map +1 -0
  217. package/dist/components/scroll-area.stories.d.ts +14 -0
  218. package/dist/components/scroll-area.stories.d.ts.map +1 -0
  219. package/dist/components/scroll-area.stories.js +27 -0
  220. package/dist/components/scroll-area.stories.js.map +1 -0
  221. package/dist/components/select.d.ts +3 -2
  222. package/dist/components/select.d.ts.map +1 -1
  223. package/dist/components/select.js +2 -3
  224. package/dist/components/select.js.map +1 -1
  225. package/dist/components/select.stories.d.ts +10 -0
  226. package/dist/components/select.stories.d.ts.map +1 -0
  227. package/dist/components/select.stories.js +25 -0
  228. package/dist/components/select.stories.js.map +1 -0
  229. package/dist/components/separator.stories.d.ts +15 -0
  230. package/dist/components/separator.stories.d.ts.map +1 -0
  231. package/dist/components/separator.stories.js +16 -0
  232. package/dist/components/separator.stories.js.map +1 -0
  233. package/dist/components/shadcn-badge.stories.d.ts +15 -0
  234. package/dist/components/shadcn-badge.stories.d.ts.map +1 -0
  235. package/dist/components/shadcn-badge.stories.js +16 -0
  236. package/dist/components/shadcn-badge.stories.js.map +1 -0
  237. package/dist/components/shadcn-button.stories.d.ts +17 -0
  238. package/dist/components/shadcn-button.stories.d.ts.map +1 -0
  239. package/dist/components/shadcn-button.stories.js +22 -0
  240. package/dist/components/shadcn-button.stories.js.map +1 -0
  241. package/dist/components/shadcn-dialog.stories.d.ts +15 -0
  242. package/dist/components/shadcn-dialog.stories.d.ts.map +1 -0
  243. package/dist/components/shadcn-dialog.stories.js +26 -0
  244. package/dist/components/shadcn-dialog.stories.js.map +1 -0
  245. package/dist/components/shadcn-input.stories.d.ts +16 -0
  246. package/dist/components/shadcn-input.stories.d.ts.map +1 -0
  247. package/dist/components/shadcn-input.stories.js +22 -0
  248. package/dist/components/shadcn-input.stories.js.map +1 -0
  249. package/dist/components/shadcn-select.stories.d.ts +16 -0
  250. package/dist/components/shadcn-select.stories.d.ts.map +1 -0
  251. package/dist/components/shadcn-select.stories.js +19 -0
  252. package/dist/components/shadcn-select.stories.js.map +1 -0
  253. package/dist/components/shadcn-textarea.stories.d.ts +16 -0
  254. package/dist/components/shadcn-textarea.stories.d.ts.map +1 -0
  255. package/dist/components/shadcn-textarea.stories.js +27 -0
  256. package/dist/components/shadcn-textarea.stories.js.map +1 -0
  257. package/dist/components/sheet.d.ts +13 -5
  258. package/dist/components/sheet.d.ts.map +1 -1
  259. package/dist/components/sheet.js +12 -9
  260. package/dist/components/sheet.js.map +1 -1
  261. package/dist/components/sheet.stories.d.ts +8 -0
  262. package/dist/components/sheet.stories.d.ts.map +1 -0
  263. package/dist/components/sheet.stories.js +17 -0
  264. package/dist/components/sheet.stories.js.map +1 -0
  265. package/dist/components/sidebar.js +5 -5
  266. package/dist/components/sidebar.js.map +1 -1
  267. package/dist/components/sidebar.stories.d.ts +8 -0
  268. package/dist/components/sidebar.stories.d.ts.map +1 -0
  269. package/dist/components/sidebar.stories.js +31 -0
  270. package/dist/components/sidebar.stories.js.map +1 -0
  271. package/dist/components/skeleton.stories.d.ts +16 -0
  272. package/dist/components/skeleton.stories.d.ts.map +1 -0
  273. package/dist/components/skeleton.stories.js +21 -0
  274. package/dist/components/skeleton.stories.js.map +1 -0
  275. package/dist/components/slider.d.ts +3 -1
  276. package/dist/components/slider.d.ts.map +1 -1
  277. package/dist/components/slider.js +3 -3
  278. package/dist/components/slider.js.map +1 -1
  279. package/dist/components/slider.stories.d.ts +10 -0
  280. package/dist/components/slider.stories.d.ts.map +1 -0
  281. package/dist/components/slider.stories.js +43 -0
  282. package/dist/components/slider.stories.js.map +1 -0
  283. package/dist/components/sonner.stories.d.ts +16 -0
  284. package/dist/components/sonner.stories.d.ts.map +1 -0
  285. package/dist/components/sonner.stories.js +29 -0
  286. package/dist/components/sonner.stories.js.map +1 -0
  287. package/dist/components/stat-card.stories.d.ts +17 -0
  288. package/dist/components/stat-card.stories.d.ts.map +1 -0
  289. package/dist/components/stat-card.stories.js +46 -0
  290. package/dist/components/stat-card.stories.js.map +1 -0
  291. package/dist/components/switch.stories.d.ts +12 -0
  292. package/dist/components/switch.stories.d.ts.map +1 -0
  293. package/dist/components/switch.stories.js +51 -0
  294. package/dist/components/switch.stories.js.map +1 -0
  295. package/dist/components/table.js +7 -7
  296. package/dist/components/table.js.map +1 -1
  297. package/dist/components/table.stories.d.ts +9 -0
  298. package/dist/components/table.stories.d.ts.map +1 -0
  299. package/dist/components/table.stories.js +26 -0
  300. package/dist/components/table.stories.js.map +1 -0
  301. package/dist/components/tabs.stories.d.ts +8 -0
  302. package/dist/components/tabs.stories.d.ts.map +1 -0
  303. package/dist/components/tabs.stories.js +16 -0
  304. package/dist/components/tabs.stories.js.map +1 -0
  305. package/dist/components/text.stories.d.ts +17 -0
  306. package/dist/components/text.stories.d.ts.map +1 -0
  307. package/dist/components/text.stories.js +27 -0
  308. package/dist/components/text.stories.js.map +1 -0
  309. package/dist/components/textarea.d.ts +3 -2
  310. package/dist/components/textarea.d.ts.map +1 -1
  311. package/dist/components/textarea.js +2 -3
  312. package/dist/components/textarea.js.map +1 -1
  313. package/dist/components/textarea.stories.d.ts +10 -0
  314. package/dist/components/textarea.stories.d.ts.map +1 -0
  315. package/dist/components/textarea.stories.js +36 -0
  316. package/dist/components/textarea.stories.js.map +1 -0
  317. package/dist/components/toast.d.ts +20 -7
  318. package/dist/components/toast.d.ts.map +1 -1
  319. package/dist/components/toast.js +17 -14
  320. package/dist/components/toast.js.map +1 -1
  321. package/dist/components/tooltip.d.ts +3 -1
  322. package/dist/components/tooltip.d.ts.map +1 -1
  323. package/dist/components/tooltip.js +3 -3
  324. package/dist/components/tooltip.js.map +1 -1
  325. package/dist/components/tooltip.stories.d.ts +9 -0
  326. package/dist/components/tooltip.stories.d.ts.map +1 -0
  327. package/dist/components/tooltip.stories.js +20 -0
  328. package/dist/components/tooltip.stories.js.map +1 -0
  329. package/dist/globe/electron-arc.d.ts +1 -1
  330. package/dist/globe/electron-arc.d.ts.map +1 -1
  331. package/dist/globe/electron-arc.js +16 -5
  332. package/dist/globe/electron-arc.js.map +1 -1
  333. package/dist/globe/globe-canvas.d.ts +40 -0
  334. package/dist/globe/globe-canvas.d.ts.map +1 -0
  335. package/dist/globe/globe-canvas.js +139 -0
  336. package/dist/globe/globe-canvas.js.map +1 -0
  337. package/dist/globe/globe-halo.d.ts +8 -0
  338. package/dist/globe/globe-halo.d.ts.map +1 -0
  339. package/dist/globe/globe-halo.js +39 -0
  340. package/dist/globe/globe-halo.js.map +1 -0
  341. package/dist/globe/globe-loading-skeleton.stories.d.ts +16 -0
  342. package/dist/globe/globe-loading-skeleton.stories.d.ts.map +1 -0
  343. package/dist/globe/globe-loading-skeleton.stories.js +22 -0
  344. package/dist/globe/globe-loading-skeleton.stories.js.map +1 -0
  345. package/dist/globe/globe-scene.d.ts +43 -0
  346. package/dist/globe/globe-scene.d.ts.map +1 -0
  347. package/dist/globe/globe-scene.js +442 -0
  348. package/dist/globe/globe-scene.js.map +1 -0
  349. package/dist/globe/globe-stats-fallback.d.ts +12 -0
  350. package/dist/globe/globe-stats-fallback.d.ts.map +1 -0
  351. package/dist/globe/globe-stats-fallback.js +43 -0
  352. package/dist/globe/globe-stats-fallback.js.map +1 -0
  353. package/dist/globe/globe-stats-fallback.stories.d.ts +17 -0
  354. package/dist/globe/globe-stats-fallback.stories.d.ts.map +1 -0
  355. package/dist/globe/globe-stats-fallback.stories.js +152 -0
  356. package/dist/globe/globe-stats-fallback.stories.js.map +1 -0
  357. package/dist/globe/globe-theme.js.map +1 -1
  358. package/dist/globe/globe-tooltip.d.ts +9 -0
  359. package/dist/globe/globe-tooltip.d.ts.map +1 -0
  360. package/dist/globe/globe-tooltip.js +51 -0
  361. package/dist/globe/globe-tooltip.js.map +1 -0
  362. package/dist/globe/globe-types.d.ts +12 -0
  363. package/dist/globe/globe-types.d.ts.map +1 -1
  364. package/dist/globe/globe-view.d.ts +4 -3
  365. package/dist/globe/globe-view.d.ts.map +1 -1
  366. package/dist/globe/globe-view.js +27 -589
  367. package/dist/globe/globe-view.js.map +1 -1
  368. package/dist/globe/globe-worker.d.ts +2 -0
  369. package/dist/globe/globe-worker.d.ts.map +1 -0
  370. package/dist/globe/globe-worker.js +5 -0
  371. package/dist/globe/globe-worker.js.map +1 -0
  372. package/dist/globe/index.d.ts +4 -7
  373. package/dist/globe/index.d.ts.map +1 -1
  374. package/dist/globe/index.js +3 -4
  375. package/dist/globe/index.js.map +1 -1
  376. package/dist/globe/map/map-geometry.d.ts.map +1 -1
  377. package/dist/globe/map/map-geometry.js.map +1 -1
  378. package/dist/globe/scene-extras.d.ts +0 -6
  379. package/dist/globe/scene-extras.d.ts.map +1 -1
  380. package/dist/globe/scene-extras.js +0 -61
  381. package/dist/globe/scene-extras.js.map +1 -1
  382. package/dist/hooks/use-mobile.d.ts.map +1 -1
  383. package/dist/hooks/use-mobile.js +1 -0
  384. package/dist/hooks/use-mobile.js.map +1 -1
  385. package/dist/hooks/use-toast.d.ts +4 -11
  386. package/dist/hooks/use-toast.d.ts.map +1 -1
  387. package/dist/hooks/use-toast.js +0 -6
  388. package/dist/hooks/use-toast.js.map +1 -1
  389. package/dist/nav/app-shell.js.map +1 -1
  390. package/dist/nav/app-shell.stories.d.ts +21 -0
  391. package/dist/nav/app-shell.stories.d.ts.map +1 -0
  392. package/dist/nav/app-shell.stories.js +29 -0
  393. package/dist/nav/app-shell.stories.js.map +1 -0
  394. package/dist/nav/app-sidebar.stories.d.ts +11 -0
  395. package/dist/nav/app-sidebar.stories.d.ts.map +1 -0
  396. package/dist/nav/app-sidebar.stories.js +52 -0
  397. package/dist/nav/app-sidebar.stories.js.map +1 -0
  398. package/dist/nav/expandable-nav-item.d.ts.map +1 -1
  399. package/dist/nav/expandable-nav-item.js +1 -0
  400. package/dist/nav/expandable-nav-item.js.map +1 -1
  401. package/dist/nav/expandable-nav-item.stories.d.ts +12 -0
  402. package/dist/nav/expandable-nav-item.stories.d.ts.map +1 -0
  403. package/dist/nav/expandable-nav-item.stories.js +43 -0
  404. package/dist/nav/expandable-nav-item.stories.js.map +1 -0
  405. package/dist/offer/attachments-folder.stories.d.ts +17 -0
  406. package/dist/offer/attachments-folder.stories.d.ts.map +1 -0
  407. package/dist/offer/attachments-folder.stories.js +83 -0
  408. package/dist/offer/attachments-folder.stories.js.map +1 -0
  409. package/dist/offer/beverage-details.stories.d.ts +17 -0
  410. package/dist/offer/beverage-details.stories.d.ts.map +1 -0
  411. package/dist/offer/beverage-details.stories.js +59 -0
  412. package/dist/offer/beverage-details.stories.js.map +1 -0
  413. package/dist/offer/composition-list.stories.d.ts +18 -0
  414. package/dist/offer/composition-list.stories.d.ts.map +1 -0
  415. package/dist/offer/composition-list.stories.js +52 -0
  416. package/dist/offer/composition-list.stories.js.map +1 -0
  417. package/dist/offer/confirm-action-dialog.stories.d.ts +17 -0
  418. package/dist/offer/confirm-action-dialog.stories.d.ts.map +1 -0
  419. package/dist/offer/confirm-action-dialog.stories.js +41 -0
  420. package/dist/offer/confirm-action-dialog.stories.js.map +1 -0
  421. package/dist/offer/inline-counter-form.stories.d.ts +17 -0
  422. package/dist/offer/inline-counter-form.stories.d.ts.map +1 -0
  423. package/dist/offer/inline-counter-form.stories.js +49 -0
  424. package/dist/offer/inline-counter-form.stories.js.map +1 -0
  425. package/dist/offer/negotiation-event-card.d.ts.map +1 -1
  426. package/dist/offer/negotiation-event-card.js.map +1 -1
  427. package/dist/offer/negotiation-event-card.stories.d.ts +19 -0
  428. package/dist/offer/negotiation-event-card.stories.d.ts.map +1 -0
  429. package/dist/offer/negotiation-event-card.stories.js +90 -0
  430. package/dist/offer/negotiation-event-card.stories.js.map +1 -0
  431. package/dist/offer/offer-status-badge.stories.d.ts +15 -0
  432. package/dist/offer/offer-status-badge.stories.d.ts.map +1 -0
  433. package/dist/offer/offer-status-badge.stories.js +33 -0
  434. package/dist/offer/offer-status-badge.stories.js.map +1 -0
  435. package/dist/offer/opportunity-requirements.stories.d.ts +18 -0
  436. package/dist/offer/opportunity-requirements.stories.d.ts.map +1 -0
  437. package/dist/offer/opportunity-requirements.stories.js +75 -0
  438. package/dist/offer/opportunity-requirements.stories.js.map +1 -0
  439. package/dist/offer/org-banner.stories.d.ts +18 -0
  440. package/dist/offer/org-banner.stories.d.ts.map +1 -0
  441. package/dist/offer/org-banner.stories.js +51 -0
  442. package/dist/offer/org-banner.stories.js.map +1 -0
  443. package/dist/offer/reviews-summary.d.ts +3 -0
  444. package/dist/offer/reviews-summary.d.ts.map +1 -1
  445. package/dist/offer/reviews-summary.js +12 -1
  446. package/dist/offer/reviews-summary.js.map +1 -1
  447. package/dist/offer/reviews-summary.stories.d.ts +18 -0
  448. package/dist/offer/reviews-summary.stories.d.ts.map +1 -0
  449. package/dist/offer/reviews-summary.stories.js +104 -0
  450. package/dist/offer/reviews-summary.stories.js.map +1 -0
  451. package/dist/offer/sensory-profile.stories.d.ts +17 -0
  452. package/dist/offer/sensory-profile.stories.d.ts.map +1 -0
  453. package/dist/offer/sensory-profile.stories.js +84 -0
  454. package/dist/offer/sensory-profile.stories.js.map +1 -0
  455. package/dist/opportunities/opportunities-table.d.ts.map +1 -1
  456. package/dist/opportunities/opportunities-table.js +7 -2
  457. package/dist/opportunities/opportunities-table.js.map +1 -1
  458. package/dist/opportunities/opportunities-table.stories.d.ts +24 -0
  459. package/dist/opportunities/opportunities-table.stories.d.ts.map +1 -0
  460. package/dist/opportunities/opportunities-table.stories.js +34 -0
  461. package/dist/opportunities/opportunities-table.stories.js.map +1 -0
  462. package/dist/profile/profile.stories.d.ts +15 -0
  463. package/dist/profile/profile.stories.d.ts.map +1 -0
  464. package/dist/profile/profile.stories.js +33 -0
  465. package/dist/profile/profile.stories.js.map +1 -0
  466. 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":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;CACO,CAAC;AAE1C,eAAe,IAAI,CAAC;AAGpB,iFAAiF;AAEjF;;;GAGG;AACH,SAAS,eAAe;IACtB,OAAO;QACL,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAChC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/D,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAChC,OAAO,CAAC,OAAO,CAAC;YACd,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,kBAAkB;YAC/B,OAAO;YACP,WAAW,EAAE,MAAe;YAC5B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACJ,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QACjC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QACtD,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,SAAS,GAAG,IAAI;IACtC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAE5B,OAAO;QACL,IAAI,WAAW;YACb,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,SAAS;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAChC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;QACnB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;QACzB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;QACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;QACzB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,kBAAkB,EAAE,CAAC,EAAgC,EAAE,EAAE;YACvD,yEAAyE;YACzE,EAAE,CAAC,SAAS,CAAC,CAAC;YACd,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,cAAc,EAAE,IAAI;KACO,CAAC;AAChC,CAAC;AAED,iFAAiF;AAEjF,MAAM,SAAS,GAAqB;IAClC;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,sCAAsC;QAChD,aAAa,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;QAClE,WAAW,EAAE,CAAC;KACf;IACD;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,sCAAsC;QAChD,aAAa,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;QACtE,WAAW,EAAE,CAAC;KACf;IACD;QACE,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,WAAW;QACpB,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,mCAAmC;QAC7C,aAAa,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;QACtE,WAAW,EAAE,CAAC;KACf;CACF,CAAC;AAEF,iFAAiF;AAEjF,SAAS,SAAS,CAAC,SAA0C;IAC3D,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,eAAe,EAAE;QAC1B,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;QAC5B,YAAY,EAAE,kBAAkB;QAChC,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;QAC7B,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,IAAI,EAAE,SAAS,EAAE;IACjB,UAAU,EAAE;QACV,CAAC,KAAK,EAAE,EAAE,CAAC,CACT,eAAK,SAAS,EAAC,mEAAmE,aAChF,YAAG,SAAS,EAAC,mCAAmC,kFAE5C,EACJ,KAAC,KAAK,KAAG,IACL,CACP;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,IAAI,EAAE,SAAS,CAAC;QACd,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;KAC7B,CAAC;IACF,UAAU,EAAE,OAAO,CAAC,UAAU;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,IAAI,EAAE,SAAS,CAAC;QACd,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;KAC9B,CAAC;IACF,UAAU,EAAE,OAAO,CAAC,UAAU;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE,SAAS,CAAC;QACd,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;KAC7B,CAAC;IACF,UAAU,EAAE,OAAO,CAAC,UAAU;CAC/B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAU;IAC/B,IAAI,EAAE,SAAS,CAAC;QACd,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;KAC7B,CAAC;IACF,UAAU,EAAE,OAAO,CAAC,UAAU;CAC/B,CAAC"}
@@ -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";
@@ -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"}
@@ -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
@@ -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;AAkND,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"}
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) => (_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))) }));
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":"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"}
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"}