@messenger-box/tailwind-ui-inbox 10.0.3-alpha.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 (415) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/jest.config.js +9 -0
  4. package/lib/cdm-locales/en/translations.json +31 -0
  5. package/lib/cdm-locales/es/translations.json +31 -0
  6. package/lib/components/AIAgent/AIAgent.d.ts +32 -0
  7. package/lib/components/AIAgent/AIAgent.d.ts.map +1 -0
  8. package/lib/components/AIAgent/AIAgent.js +1135 -0
  9. package/lib/components/AIAgent/AIAgent.js.map +1 -0
  10. package/lib/components/AIAgent/InputComponent.d.ts +84 -0
  11. package/lib/components/AIAgent/InputComponent.d.ts.map +1 -0
  12. package/lib/components/AIAgent/InputComponent.js +417 -0
  13. package/lib/components/AIAgent/InputComponent.js.map +1 -0
  14. package/lib/components/AIAgent/index.d.ts +2 -0
  15. package/lib/components/AIAgent/index.d.ts.map +1 -0
  16. package/lib/components/InboxMessage/CommonMessage.d.ts +8 -0
  17. package/lib/components/InboxMessage/CommonMessage.d.ts.map +1 -0
  18. package/lib/components/InboxMessage/CommonMessage.js +35 -0
  19. package/lib/components/InboxMessage/CommonMessage.js.map +1 -0
  20. package/lib/components/InboxMessage/ConversationItem.d.ts +14 -0
  21. package/lib/components/InboxMessage/ConversationItem.d.ts.map +1 -0
  22. package/lib/components/InboxMessage/ConversationItem.js +200 -0
  23. package/lib/components/InboxMessage/ConversationItem.js.map +1 -0
  24. package/lib/components/InboxMessage/InputComponent.d.ts +20 -0
  25. package/lib/components/InboxMessage/InputComponent.d.ts.map +1 -0
  26. package/lib/components/InboxMessage/InputComponent.js +148 -0
  27. package/lib/components/InboxMessage/InputComponent.js.map +1 -0
  28. package/lib/components/InboxMessage/LeftSidebar.d.ts +20 -0
  29. package/lib/components/InboxMessage/LeftSidebar.d.ts.map +1 -0
  30. package/lib/components/InboxMessage/LeftSidebar.js +102 -0
  31. package/lib/components/InboxMessage/LeftSidebar.js.map +1 -0
  32. package/lib/components/InboxMessage/MessageInput.d.ts +9 -0
  33. package/lib/components/InboxMessage/MessageInput.d.ts.map +1 -0
  34. package/lib/components/InboxMessage/MessageInput.js +154 -0
  35. package/lib/components/InboxMessage/MessageInput.js.map +1 -0
  36. package/lib/components/InboxMessage/MessageInputComponent.d.ts +9 -0
  37. package/lib/components/InboxMessage/MessageInputComponent.d.ts.map +1 -0
  38. package/lib/components/InboxMessage/Messages.d.ts +17 -0
  39. package/lib/components/InboxMessage/Messages.d.ts.map +1 -0
  40. package/lib/components/InboxMessage/Messages.js +99 -0
  41. package/lib/components/InboxMessage/Messages.js.map +1 -0
  42. package/lib/components/InboxMessage/MessagesBuilderUi.d.ts +17 -0
  43. package/lib/components/InboxMessage/MessagesBuilderUi.d.ts.map +1 -0
  44. package/lib/components/InboxMessage/Popover.d.ts +3 -0
  45. package/lib/components/InboxMessage/Popover.d.ts.map +1 -0
  46. package/lib/components/InboxMessage/Popover.js +31 -0
  47. package/lib/components/InboxMessage/Popover.js.map +1 -0
  48. package/lib/components/InboxMessage/RightSidebar.d.ts +9 -0
  49. package/lib/components/InboxMessage/RightSidebar.d.ts.map +1 -0
  50. package/lib/components/InboxMessage/RightSidebar.js +9 -0
  51. package/lib/components/InboxMessage/RightSidebar.js.map +1 -0
  52. package/lib/components/InboxMessage/RightSidebarAi.d.ts +37 -0
  53. package/lib/components/InboxMessage/RightSidebarAi.d.ts.map +1 -0
  54. package/lib/components/InboxMessage/RightSidebarAi.js +9 -0
  55. package/lib/components/InboxMessage/RightSidebarAi.js.map +1 -0
  56. package/lib/components/InboxMessage/ServiceConversationItem.d.ts +12 -0
  57. package/lib/components/InboxMessage/ServiceConversationItem.d.ts.map +1 -0
  58. package/lib/components/InboxMessage/ServiceConversationItem.js +185 -0
  59. package/lib/components/InboxMessage/ServiceConversationItem.js.map +1 -0
  60. package/lib/components/InboxMessage/ServiceInboxItem.d.ts +12 -0
  61. package/lib/components/InboxMessage/ServiceInboxItem.d.ts.map +1 -0
  62. package/lib/components/InboxMessage/ServiceInboxItem.js +182 -0
  63. package/lib/components/InboxMessage/ServiceInboxItem.js.map +1 -0
  64. package/lib/components/InboxMessage/StreamingMessageBubble.d.ts +18 -0
  65. package/lib/components/InboxMessage/StreamingMessageBubble.d.ts.map +1 -0
  66. package/lib/components/InboxMessage/SubscriptionHandler.d.ts +19 -0
  67. package/lib/components/InboxMessage/SubscriptionHandler.d.ts.map +1 -0
  68. package/lib/components/InboxMessage/SubscriptionHandler.js +41 -0
  69. package/lib/components/InboxMessage/SubscriptionHandler.js.map +1 -0
  70. package/lib/components/InboxMessage/TypingIndicator.d.ts +11 -0
  71. package/lib/components/InboxMessage/TypingIndicator.d.ts.map +1 -0
  72. package/lib/components/InboxMessage/UploadImageButton.d.ts +7 -0
  73. package/lib/components/InboxMessage/UploadImageButton.d.ts.map +1 -0
  74. package/lib/components/InboxMessage/UploadImageButton.js +30 -0
  75. package/lib/components/InboxMessage/UploadImageButton.js.map +1 -0
  76. package/lib/components/InboxMessage/UserModalContent.d.ts +3 -0
  77. package/lib/components/InboxMessage/UserModalContent.d.ts.map +1 -0
  78. package/lib/components/InboxMessage/UserModalContent.js +60 -0
  79. package/lib/components/InboxMessage/UserModalContent.js.map +1 -0
  80. package/lib/components/InboxMessage/index.d.ts +19 -0
  81. package/lib/components/InboxMessage/index.d.ts.map +1 -0
  82. package/lib/components/InboxMessage/message-widgets/CommonMessage.d.ts +11 -0
  83. package/lib/components/InboxMessage/message-widgets/CommonMessage.d.ts.map +1 -0
  84. package/lib/components/InboxMessage/message-widgets/CommonMessage.js +44 -0
  85. package/lib/components/InboxMessage/message-widgets/CommonMessage.js.map +1 -0
  86. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts +10 -0
  87. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.d.ts.map +1 -0
  88. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js +194 -0
  89. package/lib/components/InboxMessage/message-widgets/ErrorFixCard.js.map +1 -0
  90. package/lib/components/InboxMessage/message-widgets/MessageCard.d.ts +8 -0
  91. package/lib/components/InboxMessage/message-widgets/MessageCard.d.ts.map +1 -0
  92. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.d.ts +12 -0
  93. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.d.ts.map +1 -0
  94. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.js +37 -0
  95. package/lib/components/InboxMessage/message-widgets/MessageSliceRenderer.js.map +1 -0
  96. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts +42 -0
  97. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.d.ts.map +1 -0
  98. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js +1339 -0
  99. package/lib/components/InboxMessage/message-widgets/ModernMessageGroup.js.map +1 -0
  100. package/lib/components/InboxMessage/message-widgets/PlainMessage.d.ts +8 -0
  101. package/lib/components/InboxMessage/message-widgets/PlainMessage.d.ts.map +1 -0
  102. package/lib/components/InboxMessage/message-widgets/PlainMessage.js +14 -0
  103. package/lib/components/InboxMessage/message-widgets/PlainMessage.js.map +1 -0
  104. package/lib/components/InboxMessage/message-widgets/PropertyMessageWidget.d.ts +9 -0
  105. package/lib/components/InboxMessage/message-widgets/PropertyMessageWidget.d.ts.map +1 -0
  106. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.d.ts +14 -0
  107. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.d.ts.map +1 -0
  108. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.js +333 -0
  109. package/lib/components/InboxMessage/message-widgets/SlackLikeMessageGroup.js.map +1 -0
  110. package/lib/components/InboxMessage/message-widgets/index.d.ts +4 -0
  111. package/lib/components/InboxMessage/message-widgets/index.d.ts.map +1 -0
  112. package/lib/components/ModelConfigPanel.d.ts +74 -0
  113. package/lib/components/ModelConfigPanel.d.ts.map +1 -0
  114. package/lib/components/ModelConfigPanel.js +1152 -0
  115. package/lib/components/ModelConfigPanel.js.map +1 -0
  116. package/lib/components/filler-components/RightSiderBar.d.ts +3 -0
  117. package/lib/components/filler-components/RightSiderBar.d.ts.map +1 -0
  118. package/lib/components/filler-components/RightSiderBar.js +532 -0
  119. package/lib/components/filler-components/RightSiderBar.js.map +1 -0
  120. package/lib/components/inbox/FilesList.d.ts +20 -0
  121. package/lib/components/inbox/FilesList.d.ts.map +1 -0
  122. package/lib/components/inbox/FilesList.js +68 -0
  123. package/lib/components/inbox/FilesList.js.map +1 -0
  124. package/lib/components/inbox/MessageItem.d.ts +17 -0
  125. package/lib/components/inbox/MessageItem.d.ts.map +1 -0
  126. package/lib/components/inbox/MessageItem.js +50 -0
  127. package/lib/components/inbox/MessageItem.js.map +1 -0
  128. package/lib/components/inbox/ThreadItem.d.ts +11 -0
  129. package/lib/components/inbox/ThreadItem.d.ts.map +1 -0
  130. package/lib/components/inbox/ThreadItem.js +147 -0
  131. package/lib/components/inbox/ThreadItem.js.map +1 -0
  132. package/lib/components/inbox/index.d.ts +4 -0
  133. package/lib/components/inbox/index.d.ts.map +1 -0
  134. package/lib/components/index.d.ts +10 -0
  135. package/lib/components/index.d.ts.map +1 -0
  136. package/lib/components/live-code-editor/hybrid-live-editor.d.ts +20 -0
  137. package/lib/components/live-code-editor/hybrid-live-editor.d.ts.map +1 -0
  138. package/lib/components/live-code-editor/index.d.ts +4 -0
  139. package/lib/components/live-code-editor/index.d.ts.map +1 -0
  140. package/lib/components/live-code-editor/live-code-editor.d.ts +14 -0
  141. package/lib/components/live-code-editor/live-code-editor.d.ts.map +1 -0
  142. package/lib/components/messages-container-ui/MessagesContainerUI.d.ts +81 -0
  143. package/lib/components/messages-container-ui/MessagesContainerUI.d.ts.map +1 -0
  144. package/lib/components/messages-container-ui/MessagesContainerUI.js +77 -0
  145. package/lib/components/messages-container-ui/MessagesContainerUI.js.map +1 -0
  146. package/lib/components/messages-container-ui/PlanModeView.d.ts +82 -0
  147. package/lib/components/messages-container-ui/PlanModeView.d.ts.map +1 -0
  148. package/lib/components/messages-container-ui/PlanModeView.js +267 -0
  149. package/lib/components/messages-container-ui/PlanModeView.js.map +1 -0
  150. package/lib/components/messages-container-ui/index.d.ts +6 -0
  151. package/lib/components/messages-container-ui/index.d.ts.map +1 -0
  152. package/lib/components/messages-container-ui/types.d.ts +38 -0
  153. package/lib/components/messages-container-ui/types.d.ts.map +1 -0
  154. package/lib/components/slot-fill/chat-message-filler.d.ts +4 -0
  155. package/lib/components/slot-fill/chat-message-filler.d.ts.map +1 -0
  156. package/lib/components/slot-fill/chat-message-filler.js +5 -0
  157. package/lib/components/slot-fill/chat-message-filler.js.map +1 -0
  158. package/lib/components/slot-fill/chat-message-slot.d.ts +11 -0
  159. package/lib/components/slot-fill/chat-message-slot.d.ts.map +1 -0
  160. package/lib/components/slot-fill/chat-message-slot.js +6 -0
  161. package/lib/components/slot-fill/chat-message-slot.js.map +1 -0
  162. package/lib/components/slot-fill/index.d.ts +4 -0
  163. package/lib/components/slot-fill/index.d.ts.map +1 -0
  164. package/lib/components/slot-fill/right-sidebar-filler.d.ts +4 -0
  165. package/lib/components/slot-fill/right-sidebar-filler.d.ts.map +1 -0
  166. package/lib/components/slot-fill/right-sidebar-filler.js +13 -0
  167. package/lib/components/slot-fill/right-sidebar-filler.js.map +1 -0
  168. package/lib/components/ui/button.d.ts +9 -0
  169. package/lib/components/ui/button.d.ts.map +1 -0
  170. package/lib/compute.d.ts +8 -0
  171. package/lib/compute.d.ts.map +1 -0
  172. package/lib/compute.js +264 -0
  173. package/lib/compute.js.map +1 -0
  174. package/lib/config/env-config.d.ts +20 -0
  175. package/lib/config/env-config.d.ts.map +1 -0
  176. package/lib/config/env-config.js +55 -0
  177. package/lib/config/env-config.js.map +1 -0
  178. package/lib/config/index.d.ts +2 -0
  179. package/lib/config/index.d.ts.map +1 -0
  180. package/lib/constants/breakpoints.d.ts +8 -0
  181. package/lib/constants/breakpoints.d.ts.map +1 -0
  182. package/lib/constants/index.d.ts +3 -0
  183. package/lib/constants/index.d.ts.map +1 -0
  184. package/lib/container/AiInbox.d.ts +15 -0
  185. package/lib/container/AiInbox.d.ts.map +1 -0
  186. package/lib/container/AiInboxWithLoader.d.ts +36 -0
  187. package/lib/container/AiInboxWithLoader.d.ts.map +1 -0
  188. package/lib/container/AiLandingInput.d.ts +27 -0
  189. package/lib/container/AiLandingInput.d.ts.map +1 -0
  190. package/lib/container/AiLandingInput.js +149 -0
  191. package/lib/container/AiLandingInput.js.map +1 -0
  192. package/lib/container/Inbox.d.ts +15 -0
  193. package/lib/container/Inbox.d.ts.map +1 -0
  194. package/lib/container/Inbox.js +964 -0
  195. package/lib/container/Inbox.js.map +1 -0
  196. package/lib/container/InboxAiMessagesLoader.d.ts +45 -0
  197. package/lib/container/InboxAiMessagesLoader.d.ts.map +1 -0
  198. package/lib/container/InboxAiMessagesLoader.js +80 -0
  199. package/lib/container/InboxAiMessagesLoader.js.map +1 -0
  200. package/lib/container/InboxContainer.d.ts +41 -0
  201. package/lib/container/InboxContainer.d.ts.map +1 -0
  202. package/lib/container/InboxContainer.js +27 -0
  203. package/lib/container/InboxContainer.js.map +1 -0
  204. package/lib/container/InboxTemplate1.d.ts +15 -0
  205. package/lib/container/InboxTemplate1.d.ts.map +1 -0
  206. package/lib/container/InboxTemplate1WithLoader.d.ts +36 -0
  207. package/lib/container/InboxTemplate1WithLoader.d.ts.map +1 -0
  208. package/lib/container/InboxTemplate2.d.ts +15 -0
  209. package/lib/container/InboxTemplate2.d.ts.map +1 -0
  210. package/lib/container/InboxWithAiLoader.d.ts +47 -0
  211. package/lib/container/InboxWithAiLoader.d.ts.map +1 -0
  212. package/lib/container/InboxWithAiLoader.js +118 -0
  213. package/lib/container/InboxWithAiLoader.js.map +1 -0
  214. package/lib/container/InboxWithLoader.d.ts +36 -0
  215. package/lib/container/InboxWithLoader.d.ts.map +1 -0
  216. package/lib/container/InboxWithLoader.js +277 -0
  217. package/lib/container/InboxWithLoader.js.map +1 -0
  218. package/lib/container/ServiceInbox.d.ts +9 -0
  219. package/lib/container/ServiceInbox.d.ts.map +1 -0
  220. package/lib/container/ServiceInbox.js +141 -0
  221. package/lib/container/ServiceInbox.js.map +1 -0
  222. package/lib/container/TestInboxWithAiLoader.d.ts +7 -0
  223. package/lib/container/TestInboxWithAiLoader.d.ts.map +1 -0
  224. package/lib/container/TestInboxWithAiLoader.js +135 -0
  225. package/lib/container/TestInboxWithAiLoader.js.map +1 -0
  226. package/lib/container/ThreadMessages.d.ts +13 -0
  227. package/lib/container/ThreadMessages.d.ts.map +1 -0
  228. package/lib/container/ThreadMessages.js +320 -0
  229. package/lib/container/ThreadMessages.js.map +1 -0
  230. package/lib/container/ThreadMessagesInbox.d.ts +14 -0
  231. package/lib/container/ThreadMessagesInbox.d.ts.map +1 -0
  232. package/lib/container/ThreadMessagesInbox.js +347 -0
  233. package/lib/container/ThreadMessagesInbox.js.map +1 -0
  234. package/lib/container/Threads.d.ts +8 -0
  235. package/lib/container/Threads.d.ts.map +1 -0
  236. package/lib/container/Threads.js +231 -0
  237. package/lib/container/Threads.js.map +1 -0
  238. package/lib/container/ThreadsInbox.d.ts +21 -0
  239. package/lib/container/ThreadsInbox.d.ts.map +1 -0
  240. package/lib/container/ThreadsInbox.js +243 -0
  241. package/lib/container/ThreadsInbox.js.map +1 -0
  242. package/lib/container/apply-footer-styles.d.ts +2 -0
  243. package/lib/container/apply-footer-styles.d.ts.map +1 -0
  244. package/lib/container/apply-footer-styles.js +16 -0
  245. package/lib/container/apply-footer-styles.js.map +1 -0
  246. package/lib/container/index.d.ts +13 -0
  247. package/lib/container/index.d.ts.map +1 -0
  248. package/lib/enums/index.d.ts +2 -0
  249. package/lib/enums/index.d.ts.map +1 -0
  250. package/lib/enums/messenger-slot-fill-name-enum.d.ts +11 -0
  251. package/lib/enums/messenger-slot-fill-name-enum.d.ts.map +1 -0
  252. package/lib/enums/messenger-slot-fill-name-enum.js +11 -0
  253. package/lib/enums/messenger-slot-fill-name-enum.js.map +1 -0
  254. package/lib/hooks/index.d.ts +4 -0
  255. package/lib/hooks/index.d.ts.map +1 -0
  256. package/lib/hooks/usePersistentModelConfig.d.ts +33 -0
  257. package/lib/hooks/usePersistentModelConfig.d.ts.map +1 -0
  258. package/lib/hooks/usePersistentModelConfig.js +123 -0
  259. package/lib/hooks/usePersistentModelConfig.js.map +1 -0
  260. package/lib/hooks/useStreamAssembler.d.ts +8 -0
  261. package/lib/hooks/useStreamAssembler.d.ts.map +1 -0
  262. package/lib/hooks/useTemplates.d.ts +14 -0
  263. package/lib/hooks/useTemplates.d.ts.map +1 -0
  264. package/lib/hooks/useTemplates.js +59 -0
  265. package/lib/hooks/useTemplates.js.map +1 -0
  266. package/lib/index.d.ts +14 -0
  267. package/lib/index.d.ts.map +1 -0
  268. package/lib/index.js +1 -0
  269. package/lib/index.js.map +1 -0
  270. package/lib/interfaces/index.d.ts +2 -0
  271. package/lib/interfaces/index.d.ts.map +1 -0
  272. package/lib/interfaces/message-widgets.interface.d.ts +21 -0
  273. package/lib/interfaces/message-widgets.interface.d.ts.map +1 -0
  274. package/lib/machines/aiAgentMachine.d.ts +3 -0
  275. package/lib/machines/aiAgentMachine.d.ts.map +1 -0
  276. package/lib/machines/aiAgentMachine.js +1083 -0
  277. package/lib/machines/aiAgentMachine.js.map +1 -0
  278. package/lib/machines/aiAgentMachine.simple.d.ts +3 -0
  279. package/lib/machines/aiAgentMachine.simple.d.ts.map +1 -0
  280. package/lib/machines/aiAgentMachine.simple.js +108 -0
  281. package/lib/machines/aiAgentMachine.simple.js.map +1 -0
  282. package/lib/machines/index.d.ts +3 -0
  283. package/lib/machines/index.d.ts.map +1 -0
  284. package/lib/machines/types.d.ts +77 -0
  285. package/lib/machines/types.d.ts.map +1 -0
  286. package/lib/module.d.ts +7 -0
  287. package/lib/module.d.ts.map +1 -0
  288. package/lib/module.js +26 -0
  289. package/lib/module.js.map +1 -0
  290. package/lib/routes.json +251 -0
  291. package/lib/styles/responsive.css +76 -0
  292. package/lib/templates/InboxWithAi.d.ts +44 -0
  293. package/lib/templates/InboxWithAi.d.ts.map +1 -0
  294. package/lib/templates/InboxWithAi.js +651 -0
  295. package/lib/templates/InboxWithAi.js.map +1 -0
  296. package/lib/templates/InboxWithAi.tsx +844 -0
  297. package/lib/templates/index.d.ts +2 -0
  298. package/lib/templates/index.d.ts.map +1 -0
  299. package/lib/templates/index.ts +1 -0
  300. package/lib/types/templates.d.ts +35 -0
  301. package/lib/types/templates.d.ts.map +1 -0
  302. package/lib/utils/utils.d.ts +2 -0
  303. package/lib/utils/utils.d.ts.map +1 -0
  304. package/lib/xstate/index.d.ts +3 -0
  305. package/lib/xstate/index.d.ts.map +1 -0
  306. package/lib/xstate/rightSidebar.machine.d.ts +4 -0
  307. package/lib/xstate/rightSidebar.machine.d.ts.map +1 -0
  308. package/lib/xstate/rightSidebar.types.d.ts +57 -0
  309. package/lib/xstate/rightSidebar.types.d.ts.map +1 -0
  310. package/package.json +69 -0
  311. package/rollup.config.mjs +47 -0
  312. package/src/cdm-locales/en/translations.json +31 -0
  313. package/src/cdm-locales/es/translations.json +31 -0
  314. package/src/components/AIAgent/AIAgent.tsx +1468 -0
  315. package/src/components/AIAgent/AIAgent.tsx.bk +1365 -0
  316. package/src/components/AIAgent/InputComponent.tsx +608 -0
  317. package/src/components/AIAgent/README.md +174 -0
  318. package/src/components/AIAgent/index.ts +1 -0
  319. package/src/components/InboxMessage/CommonMessage.tsx +40 -0
  320. package/src/components/InboxMessage/ConversationItem.tsx +255 -0
  321. package/src/components/InboxMessage/InputComponent.tsx +198 -0
  322. package/src/components/InboxMessage/LeftSidebar.tsx +140 -0
  323. package/src/components/InboxMessage/MessageInput.tsx +209 -0
  324. package/src/components/InboxMessage/MessageInputComponent.tsx +245 -0
  325. package/src/components/InboxMessage/Messages.tsx +137 -0
  326. package/src/components/InboxMessage/MessagesBuilderUi.tsx +205 -0
  327. package/src/components/InboxMessage/Popover.tsx +42 -0
  328. package/src/components/InboxMessage/RightSidebar.tsx +22 -0
  329. package/src/components/InboxMessage/RightSidebarAi.tsx +47 -0
  330. package/src/components/InboxMessage/ServiceConversationItem.tsx +234 -0
  331. package/src/components/InboxMessage/ServiceInboxItem.tsx +223 -0
  332. package/src/components/InboxMessage/StreamingMessageBubble.tsx +270 -0
  333. package/src/components/InboxMessage/SubscriptionHandler.tsx +55 -0
  334. package/src/components/InboxMessage/TypingIndicator.tsx +38 -0
  335. package/src/components/InboxMessage/UploadImageButton.tsx +46 -0
  336. package/src/components/InboxMessage/UserModalContent.tsx +60 -0
  337. package/src/components/InboxMessage/index.ts +18 -0
  338. package/src/components/InboxMessage/message-widgets/CommonMessage.tsx +69 -0
  339. package/src/components/InboxMessage/message-widgets/ErrorFixCard.tsx +239 -0
  340. package/src/components/InboxMessage/message-widgets/MessageCard.tsx +127 -0
  341. package/src/components/InboxMessage/message-widgets/MessageSliceRenderer.tsx +40 -0
  342. package/src/components/InboxMessage/message-widgets/ModernMessageGroup.tsx +1733 -0
  343. package/src/components/InboxMessage/message-widgets/PlainMessage.tsx +18 -0
  344. package/src/components/InboxMessage/message-widgets/PropertyMessageWidget.tsx +29 -0
  345. package/src/components/InboxMessage/message-widgets/SlackLikeMessageGroup.tsx +492 -0
  346. package/src/components/InboxMessage/message-widgets/index.ts +8 -0
  347. package/src/components/ModelConfigPanel.tsx +1357 -0
  348. package/src/components/filler-components/RightSiderBar.tsx +572 -0
  349. package/src/components/inbox/FilesList.tsx +89 -0
  350. package/src/components/inbox/MessageItem.tsx +50 -0
  351. package/src/components/inbox/ThreadItem.tsx +295 -0
  352. package/src/components/inbox/index.ts +3 -0
  353. package/src/components/index.ts +29 -0
  354. package/src/components/live-code-editor/hybrid-live-editor.tsx +105 -0
  355. package/src/components/live-code-editor/index.ts +3 -0
  356. package/src/components/live-code-editor/live-code-editor.tsx +257 -0
  357. package/src/components/messages-container-ui/MessagesContainerUI.tsx +151 -0
  358. package/src/components/messages-container-ui/PlanModeView.tsx +426 -0
  359. package/src/components/messages-container-ui/README.md +91 -0
  360. package/src/components/messages-container-ui/index.ts +5 -0
  361. package/src/components/messages-container-ui/types.ts +40 -0
  362. package/src/components/slot-fill/chat-message-filler.tsx +18 -0
  363. package/src/components/slot-fill/chat-message-slot.tsx +18 -0
  364. package/src/components/slot-fill/index.ts +3 -0
  365. package/src/components/slot-fill/right-sidebar-filler.tsx +48 -0
  366. package/src/components/ui/button.tsx +32 -0
  367. package/src/compute.ts +271 -0
  368. package/src/config/env-config.ts +24 -0
  369. package/src/config/index.ts +1 -0
  370. package/src/constants/breakpoints.ts +7 -0
  371. package/src/constants/index.ts +5 -0
  372. package/src/container/AiInbox.tsx +1879 -0
  373. package/src/container/AiInboxWithLoader.tsx +356 -0
  374. package/src/container/AiLandingInput.tsx +200 -0
  375. package/src/container/Inbox.tsx +1095 -0
  376. package/src/container/InboxAiMessagesLoader.tsx +129 -0
  377. package/src/container/InboxContainer.tsx +61 -0
  378. package/src/container/InboxTemplate1.tsx +1553 -0
  379. package/src/container/InboxTemplate1WithLoader.tsx +338 -0
  380. package/src/container/InboxTemplate2.tsx +1617 -0
  381. package/src/container/InboxWithAiLoader.tsx +177 -0
  382. package/src/container/InboxWithLoader.tsx +341 -0
  383. package/src/container/ServiceInbox.tsx +188 -0
  384. package/src/container/TestInboxWithAiLoader.tsx +147 -0
  385. package/src/container/ThreadMessages.tsx +378 -0
  386. package/src/container/ThreadMessagesInbox.tsx +457 -0
  387. package/src/container/Threads.tsx +270 -0
  388. package/src/container/ThreadsInbox.tsx +351 -0
  389. package/src/container/apply-footer-styles.ts +17 -0
  390. package/src/container/index.ts +31 -0
  391. package/src/enums/index.ts +1 -0
  392. package/src/enums/messenger-slot-fill-name-enum.ts +10 -0
  393. package/src/hooks/index.ts +3 -0
  394. package/src/hooks/usePersistentModelConfig.ts +166 -0
  395. package/src/hooks/useStreamAssembler.ts +7 -0
  396. package/src/hooks/useTemplates.ts +75 -0
  397. package/src/index.ts +49 -0
  398. package/src/interfaces/index.ts +1 -0
  399. package/src/interfaces/message-widgets.interface.ts +21 -0
  400. package/src/machines/aiAgentMachine.simple.ts +89 -0
  401. package/src/machines/aiAgentMachine.ts +1296 -0
  402. package/src/machines/aiAgentMachine.ts.bk +1296 -0
  403. package/src/machines/index.ts +2 -0
  404. package/src/machines/types.ts +59 -0
  405. package/src/module.tsx +32 -0
  406. package/src/styles/responsive.css +76 -0
  407. package/src/templates/InboxWithAi.tsx +844 -0
  408. package/src/templates/index.ts +1 -0
  409. package/src/types/templates.ts +35 -0
  410. package/src/utils/utils.ts +3 -0
  411. package/src/xstate/index.ts +2 -0
  412. package/src/xstate/rightSidebar.machine.ts +304 -0
  413. package/src/xstate/rightSidebar.types.ts +58 -0
  414. package/tsconfig.json +14 -0
  415. package/webpack.config.js +92 -0
@@ -0,0 +1,68 @@
1
+ import React__default,{useState,useMemo}from'react';import {useFileUrlQuery}from'common/graphql';function FilesList({
2
+ files,
3
+ uploaded = false
4
+ }) {
5
+ return React__default.createElement("div", {
6
+ className: "flex flex-row"
7
+ }, files.map((file, index) => React__default.createElement(FilesList.FileElement, {
8
+ key: `${index}`,
9
+ uploaded: uploaded,
10
+ file: file
11
+ })));
12
+ }
13
+ FilesList.FileElement = ({
14
+ file,
15
+ uploaded,
16
+ width = 120,
17
+ height = 120
18
+ }) => {
19
+ const [isOpen, setIsOpen] = useState(false);
20
+ const src = useMemo(() => uploaded ? file.url : URL.createObjectURL(file), [file, uploaded]);
21
+ const {
22
+ data
23
+ } = useFileUrlQuery({
24
+ variables: {
25
+ id: file?.id
26
+ },
27
+ skip: !file?.id
28
+ });
29
+ const onOpen = () => setIsOpen(true);
30
+ const onClose = () => setIsOpen(false);
31
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
32
+ className: "cursor-pointer m-2 object-cover rounded",
33
+ style: {
34
+ height: `${height}px`,
35
+ width: `${width}px`
36
+ },
37
+ src: src,
38
+ onClick: onOpen,
39
+ alt: "File preview"
40
+ }), isOpen && React__default.createElement("div", {
41
+ className: "fixed inset-0 z-50 flex items-center justify-center p-4"
42
+ }, React__default.createElement("div", {
43
+ className: "fixed inset-0 bg-black bg-opacity-75",
44
+ onClick: onClose
45
+ }), React__default.createElement("div", {
46
+ className: "relative bg-white rounded-lg shadow-xl max-w-4xl max-h-[90vh] overflow-hidden"
47
+ }, React__default.createElement("button", {
48
+ onClick: onClose,
49
+ className: "absolute top-4 right-4 z-10 p-2 rounded-full bg-black bg-opacity-50 hover:bg-opacity-70 transition-all duration-200"
50
+ }, React__default.createElement("svg", {
51
+ className: "w-6 h-6 text-white",
52
+ fill: "none",
53
+ stroke: "currentColor",
54
+ viewBox: "0 0 24 24"
55
+ }, React__default.createElement("path", {
56
+ strokeLinecap: "round",
57
+ strokeLinejoin: "round",
58
+ strokeWidth: 2,
59
+ d: "M6 18L18 6M6 6l12 12"
60
+ }))), React__default.createElement("div", {
61
+ className: "p-4 flex items-center justify-center"
62
+ }, React__default.createElement("img", {
63
+ src: data?.fileInfo?.url || src,
64
+ alt: "File full view",
65
+ className: "max-w-full max-h-[80vh] object-contain cursor-pointer",
66
+ onClick: onClose
67
+ })))));
68
+ };export{FilesList};//# sourceMappingURL=FilesList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilesList.js","sources":["../../../src/components/inbox/FilesList.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"iGAkBM,SAAU,SAAS,CAAC;AACtB,EAAA,KAAA;AAOJ,EAAC,QAAA,GAAA;AAED,CAAA,EAAA;SACIA,cAAO,CAAA,aAAiB,CAAC,KAAG,EAAA;AAC5B,IAAA,SAAS,EAAA;AACT,GAAA,EAAA,KAAM,CAAA,GAAE,CAAA,CAAI,IAAE,0BAAmB,CAAA,aAAA,CAAA,SAAA,CAAA,WAAA,EAAA;AAC7B,IAAA,GAAA,EAAA,CAAA,EAAA,KAAS,CAAA,CAAE;YACP,EAAE,QAAQ;AACb,IAAA,IAAA,EAAA;AACD,GAAA,CAAA,CAAA,CAAA;AACH;SAED,CAAM,WAAS,GAAK,CAAC;MACrB;AAEA,EAAA,QAAA;AAEQ,EAAA,KAAA,GAAA,GAAA;AASC,EAAA,MAAA,GAAA;AAGO,CAAA,KAAA;eAGA,EAAA,SAAA,CAAA,GAAA,QAAA,CAAA,KAAK,CAAA;AAED,EAAA,MAAA,GAAA,GAAA,OAAA,CAAA,MAAA,QAAA,GAAA,IAAA,CAAA,GAAA,sBAEI,CAAA,IAAA,CAAS,EAAC,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAEV,EAAA,MAAA;AACI,IAAA;qBAUR,CAAA;AACI,IAAA,SAAA,EAAA;AAY5B,MAAE,EAAA,EAAA,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export declare function MessageItem({ message }: {
3
+ message: any;
4
+ }): void;
5
+ export declare namespace MessageItem {
6
+ var Plain: ({ message, index }: {
7
+ message: any;
8
+ index: any;
9
+ }) => React.JSX.Element;
10
+ var Dialog: ({ message, currentUser, index, onOpen }: {
11
+ message: any;
12
+ currentUser: any;
13
+ index: any;
14
+ onOpen: any;
15
+ }) => React.JSX.Element;
16
+ }
17
+ //# sourceMappingURL=MessageItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageItem.d.ts","sourceRoot":"","sources":["../../../src/components/inbox/MessageItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,QAAI;yBAA7C,WAAW"}
@@ -0,0 +1,50 @@
1
+ import React__default from'react';import {format}from'date-fns';import {BsFlag}from'@react-icons/all-files/bs/BsFlag.js';function MessageItem({
2
+ message
3
+ }) {}
4
+ MessageItem.Plain = function PlainMessageItem({
5
+ message,
6
+ index
7
+ }) {
8
+ return React__default.createElement("div", {
9
+ className: "w-full flex justify-center mb-7",
10
+ key: `msgList_${index}`
11
+ }, React__default.createElement("p", {
12
+ className: "text-sm text-gray-600 font-bold"
13
+ }, message));
14
+ };
15
+ MessageItem.Dialog = function DialogMessageItem({
16
+ message,
17
+ currentUser,
18
+ index,
19
+ onOpen
20
+ }) {
21
+ return React__default.createElement("div", {
22
+ className: "w-full flex justify-start mb-7",
23
+ key: `msgList_${index}`
24
+ }, React__default.createElement("div", {
25
+ className: "flex-grow flex"
26
+ }, React__default.createElement("div", {
27
+ className: "w-8 h-8 bg-gray-400 rounded-full mr-4 cursor-pointer overflow-hidden flex-shrink-0",
28
+ onClick: onOpen
29
+ }, message?.imageUrl ? React__default.createElement("img", {
30
+ src: message.imageUrl,
31
+ alt: "User avatar",
32
+ className: "w-full h-full object-cover"
33
+ }) : React__default.createElement("div", {
34
+ className: "w-full h-full bg-gray-400"
35
+ })), React__default.createElement("div", {
36
+ className: "flex-grow"
37
+ }, React__default.createElement("div", {
38
+ className: "flex flex-grow mt-1.5"
39
+ }, React__default.createElement("p", {
40
+ className: "text-sm text-gray-600 font-bold"
41
+ }, message?.author?.familyName && message?.author?.givenName ? message?.author?.givenName + ' ' + message?.author?.familyName : message?.author?.username), React__default.createElement("p", {
42
+ className: "text-sm text-gray-500 ml-2.5"
43
+ }, format(new Date(message?.createdAt), 'MMM dd, yyyy hh:mm aaa'))), React__default.createElement("p", {
44
+ className: "text-sm mt-1.5 text-gray-600 whitespace-pre-line"
45
+ }, message?.message))), currentUser?.id !== message?.author?.id && React__default.createElement("div", {
46
+ className: "ml-2"
47
+ }, React__default.createElement(BsFlag, {
48
+ className: "text-gray-600 w-6 h-6"
49
+ })));
50
+ };export{MessageItem};//# sourceMappingURL=MessageItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageItem.js","sources":["../../../src/components/inbox/MessageItem.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"kIAIgB,WAAW,CAAC;AAE5B,EAAA;IACI;WAEQ,CAAA,KAAA,GAAA,SAAA,iBAAa;AAGzB,EAAE,OAAA;AAEF,EAAA;;SAGYA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AACI,IAAA,SAAA,EAAA;kBAUA,EAAA,KAAA,CAAA;iCACI,CAAA,GAAA,EAAA;AACI,IAAA,SAAA,EAAA;AAEQ,GAAA,EAAA,OAAA,CAAA,CAAA;AACA,CAAA;AAER,WAAA,CAAA,MAAA,GAAA,SAAA,iBAAG;;AAOd,EAAA,WAAA;;AAOb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export interface IThreadItemProps {
3
+ currentUser?: any;
4
+ users?: any;
5
+ thread?: any;
6
+ onOpen: (channelId: any, postId: any) => void;
7
+ role?: any;
8
+ setData?: any;
9
+ }
10
+ export declare const ThreadItem: React.NamedExoticComponent<IThreadItemProps>;
11
+ //# sourceMappingURL=ThreadItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadItem.d.ts","sourceRoot":"","sources":["../../../src/components/inbox/ThreadItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAcvC,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9C,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;CAEjB;AAgRD,eAAO,MAAM,UAAU,8CAAkC,CAAC"}
@@ -0,0 +1,147 @@
1
+ import React__default from'react';import {useTranslation}from'react-i18next';import {isToday,isYesterday,format}from'date-fns';import {startCase}from'lodash-es';import {useLocation}from'@remix-run/react';const createdAtText = value => {
2
+ if (!value) return '';
3
+ let date = new Date(value);
4
+ if (isToday(date)) return 'Today';
5
+ if (isYesterday(date)) return 'Yesterday';
6
+ return format(new Date(value), 'MMM dd, yyyy');
7
+ };
8
+ /**
9
+ * TODO:
10
+ * - Get Reservation info: reservation date, status
11
+ * - Add ability to get property information: name, logo
12
+ */
13
+ const ThreadItemComponent = function DialogsListItem({
14
+ currentUser,
15
+ // users,
16
+ thread,
17
+ onOpen,
18
+ role,
19
+ setData
20
+ //subscribeToNewMessages,
21
+ }) {
22
+ useLocation();
23
+ const {
24
+ t
25
+ } = useTranslation('translations');
26
+ // React.useEffect(() => subscribeToNewMessages(), []);
27
+ const threadPostReply = React__default.useMemo(() => {
28
+ if (!thread?.replies) return null;
29
+ return thread?.replies;
30
+ }, [thread]);
31
+ // const { data: threadCreatedUpdated } = useOnThreadCreatedUpdatedSubscription({
32
+ // variables: {
33
+ // channelId: thread?.channel?.id?.toString(),
34
+ // postParentId: thread?.post?.id?.toString(),
35
+ // },
36
+ // });
37
+ // React.useEffect(() => {
38
+ // if (threadCreatedUpdated?.threadCreatedUpdated?.data) setData(threadCreatedUpdated?.threadCreatedUpdated?.data);
39
+ // }, [threadCreatedUpdated?.threadCreatedUpdated]);
40
+ // const threadPostReply = React.useMemo(() => {
41
+ // if (!thread?.replies) return null;
42
+ // if (threadCreatedUpdated?.threadCreatedUpdated?.data?.replies?.length) {
43
+ // return threadCreatedUpdated?.threadCreatedUpdated?.data?.replies;
44
+ // } else return thread?.replies;
45
+ // }, [thread, threadCreatedUpdated, location?.pathname]);
46
+ // const lastMessage = useMemo(() => {
47
+ // if (!thread) {
48
+ // return null;
49
+ // }
50
+ // const replies = thread?.replies?.filter((p: any) => p?.message !== '') ?? [];
51
+ // if (replies?.length) {
52
+ // return replies[0];
53
+ // // return replies[replies.length - 1];
54
+ // } else {
55
+ // const post = thread?.post ?? null;
56
+ // return post ? post?.post : null;
57
+ // }
58
+ // }, [thread]);
59
+ // const participants: any = React.useMemo(() => {
60
+ // if (!thread?.participants?.length) return null;
61
+ // return thread?.participants?.filter((u: any) => u?.user?.id !== currentUser?.id) ?? [];
62
+ // }, [thread]);
63
+ // const allParticipantsNames: any = React.useMemo(() => {
64
+ // if (!participants?.length) return null;
65
+ // return (
66
+ // participants
67
+ // ?.map((p: any) => {
68
+ // return p?.user?.username ?? '';
69
+ // })
70
+ // ?.join(', ') ?? ''
71
+ // );
72
+ // }, [participants]);
73
+ // if (!threadPostReply || threadPostReply?.length == 0) {
74
+ // return <></>;
75
+ // }
76
+ return React__default.createElement("div", {
77
+ className: "flex-1 py-2 my-2 flex flex-col space-y-4 items-stretch"
78
+ }, React__default.createElement("div", {
79
+ className: "border-b border-gray-200 pb-4"
80
+ }, React__default.createElement("div", {
81
+ className: "flex space-x-6"
82
+ }, React__default.createElement("div", {
83
+ className: "w-full"
84
+ }, React__default.createElement("div", {
85
+ className: "flex flex-col items-start pt-5 pb-5 pl-5 pr-2 space-y-5 shadow-sm p-6 rounded-md bg-white"
86
+ }, !threadPostReply || (threadPostReply?.length == 0 || threadPostReply?.length == 1) && React__default.createElement("div", {
87
+ className: "flex w-full items-start space-x-4"
88
+ }, React__default.createElement("div", null, React__default.createElement("img", {
89
+ className: "w-9 h-9 object-cover rounded",
90
+ src: thread?.post?.author?.picture,
91
+ alt: startCase(thread?.post?.author?.username?.charAt(0))
92
+ })), React__default.createElement("div", {
93
+ className: "leading-3"
94
+ }, React__default.createElement("div", {
95
+ className: "flex-1 flex flex-col space-y-3 items-start"
96
+ }, React__default.createElement("div", {
97
+ className: "flex items-center space-x-2"
98
+ }, React__default.createElement("p", {
99
+ className: "text-lg text-gray-900 font-semibold"
100
+ }, thread?.post?.author?.givenName ?? '', ' ', thread?.post?.author?.familyName ?? ''), React__default.createElement("p", {
101
+ className: "text-sm text-gray-500 font-semibold"
102
+ }, thread?.post ? createdAtText(thread?.post?.createdAt) : '')), React__default.createElement("div", {
103
+ className: "flex flex-col space-y-2"
104
+ }, React__default.createElement("p", {
105
+ className: "text-sm text-gray-500 font-semibold"
106
+ }, thread?.post?.message ? thread?.post?.message.length < 70 ? `${thread?.post?.message}` : `${thread?.post?.message.substring(0, 68)}....` : ''), thread?.post?.files?.data?.length > 0 && thread?.post?.files?.data?.map((f, index) => React__default.createElement("div", {
107
+ key: index
108
+ }, React__default.createElement("img", {
109
+ className: "w-12 h-12 object-cover rounded",
110
+ src: f?.url,
111
+ alt: 'Image'
112
+ })))), threadPostReply?.length == 0 && React__default.createElement("button", {
113
+ onClick: () => onOpen(thread?.channel?.id?.toString(), thread?.post?.id?.toString()),
114
+ className: "py-2 px-4 border border-gray-300 text-gray-700 bg-white hover:bg-gray-50 rounded text-sm font-medium w-36 transition-colors"
115
+ }, t('tailwind_ui_inbox.reply'))))), threadPostReply?.length > 0 && React__default.createElement(React__default.Fragment, null, threadPostReply?.slice(0, 2)?.reverse()?.map((reply, index) => React__default.createElement("div", {
116
+ key: 'thread-post-reply-item-' + index,
117
+ className: "flex w-full items-start space-x-4"
118
+ }, React__default.createElement("div", null, React__default.createElement("img", {
119
+ className: "w-9 h-9 object-cover rounded",
120
+ src: reply?.author?.picture,
121
+ alt: startCase(reply?.author?.username?.charAt(0))
122
+ })), React__default.createElement("div", {
123
+ className: "leading-3"
124
+ }, React__default.createElement("div", {
125
+ className: "flex-1 flex flex-col space-y-3 items-start"
126
+ }, React__default.createElement("div", {
127
+ className: "flex items-center space-x-2"
128
+ }, React__default.createElement("p", {
129
+ className: "text-lg text-gray-900 font-semibold"
130
+ }, reply?.author?.givenName ?? '', ' ', reply?.author?.familyName ?? ''), React__default.createElement("p", {
131
+ className: "text-sm text-gray-500 font-semibold"
132
+ }, reply?.createdAt ? createdAtText(reply?.createdAt) : '')), React__default.createElement("div", {
133
+ className: "flex flex-col space-y-2"
134
+ }, React__default.createElement("p", {
135
+ className: "text-sm text-gray-500 font-semibold"
136
+ }, reply?.message ? reply?.message.length < 70 ? `${reply?.message}` : `${reply?.message.substring(0, 68)}....` : ''), reply?.files?.data?.length > 0 && reply?.files?.data?.map((f, fileIndex) => React__default.createElement("div", {
137
+ key: fileIndex
138
+ }, React__default.createElement("img", {
139
+ className: "w-12 h-12 object-cover rounded",
140
+ src: f?.url,
141
+ alt: 'Image'
142
+ })))), (threadPostReply?.length == 1 || index !== 0) && React__default.createElement("button", {
143
+ onClick: () => onOpen(thread?.channel?.id?.toString(), thread?.post?.id?.toString()),
144
+ className: "py-2 px-4 border border-gray-300 text-gray-700 bg-white hover:bg-gray-50 rounded text-sm font-medium w-36 transition-colors"
145
+ }, t('tailwind_ui_inbox.reply'))))))))))));
146
+ };
147
+ const ThreadItem = React__default.memo(ThreadItemComponent);export{ThreadItem};//# sourceMappingURL=ThreadItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThreadItem.js","sources":["../../../src/components/inbox/ThreadItem.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './FilesList';
2
+ export * from './MessageItem';
3
+ export * from './ThreadItem';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/inbox/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { MessageItem, FilesList, ThreadItem } from './inbox';
2
+ export { LeftSidebar, RightSidebar, MessageInput, MessageInputComponent, InputComponent, Messages, CommonMessage, MessageSliceRenderer, Popover, ConversationItem, UploadImageButton, UserModalContent, ServiceInboxItem, MessagesBuilderUi, RightSidebarAi, } from './InboxMessage';
3
+ export { ChatMessageFiller, ChatMessageFill2, RightSidebarFillDefault } from './slot-fill';
4
+ export { AIAgent } from './AIAgent';
5
+ export { MessagesContainerUI, PlanModeView } from './messages-container-ui';
6
+ export type { MessagesContainerUIProps, PlanModeViewProps, PlanModeViewInputToolbarProps, } from './messages-container-ui';
7
+ export type { PlanMessage, CurrentUser } from './messages-container-ui/types';
8
+ export { ModelConfigPanel } from './ModelConfigPanel';
9
+ export { usePersistentModelConfig } from '../hooks/usePersistentModelConfig';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EACH,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5E,YAAY,EACR,wBAAwB,EACxB,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ interface HybridLiveEditorProps {
3
+ projectId: string;
4
+ fragmentId?: string;
5
+ files?: Record<string, string>;
6
+ className?: string;
7
+ sandboxUrl?: string;
8
+ onCopyToClipboard?: (text: string) => void;
9
+ onFileUpdate?: (filePath: string, content: string) => Promise<void>;
10
+ readOnly?: boolean;
11
+ autoSave?: boolean;
12
+ debounceMs?: number;
13
+ showFileExplorer?: boolean;
14
+ }
15
+ export interface HybridLiveEditorRef {
16
+ openVSCode: () => void;
17
+ }
18
+ export declare const HybridLiveEditor: React.ForwardRefExoticComponent<HybridLiveEditorProps & React.RefAttributes<HybridLiveEditorRef>>;
19
+ export {};
20
+ //# sourceMappingURL=hybrid-live-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid-live-editor.d.ts","sourceRoot":"","sources":["../../../src/components/live-code-editor/hybrid-live-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4E,MAAM,OAAO,CAAC;AAKjG,UAAU,qBAAqB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,eAAO,MAAM,gBAAgB,mGAiF5B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { LiveCodeEditor } from './live-code-editor';
2
+ export { HybridLiveEditor } from './hybrid-live-editor';
3
+ export type { HybridLiveEditorRef } from './hybrid-live-editor';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/live-code-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface LiveCodeEditorProps {
3
+ files?: Record<string, string>;
4
+ className?: string;
5
+ onCopyToClipboard?: (text: string) => void;
6
+ onFileUpdate?: (filePath: string, content: string) => Promise<void>;
7
+ readOnly?: boolean;
8
+ autoSave?: boolean;
9
+ debounceMs?: number;
10
+ showFileExplorer?: boolean;
11
+ }
12
+ export declare const LiveCodeEditor: React.FC<LiveCodeEditorProps>;
13
+ export {};
14
+ //# sourceMappingURL=live-code-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-code-editor.d.ts","sourceRoot":"","sources":["../../../src/components/live-code-editor/live-code-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAOxE,UAAU,mBAAmB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA8CD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAkMxD,CAAC"}
@@ -0,0 +1,81 @@
1
+ import React from 'react';
2
+ import type { PlanMessage } from './types';
3
+ import type { PlanModeViewInputToolbarProps } from './PlanModeView';
4
+ export interface MessagesContainerUIProps {
5
+ messages: PlanMessage[];
6
+ streamingContent?: string;
7
+ currentUser: {
8
+ id: string;
9
+ name?: string;
10
+ avatar?: string;
11
+ [key: string]: any;
12
+ };
13
+ onSend: (text: string) => void;
14
+ /** Optional classes applied to the container root (useful for width/padding tweaks). */
15
+ className?: string;
16
+ /** Optional ref for the scroll container inside PlanModeView. */
17
+ scrollContainerRef?: React.Ref<HTMLDivElement>;
18
+ /** Optional className applied to PlanModeView root wrapper. */
19
+ planModeViewClassName?: string;
20
+ /** Optional className applied to PlanModeView scroll container element. */
21
+ planModeScrollContainerClassName?: string;
22
+ /** When true, hide scrollbar visuals but keep it scrollable. */
23
+ hideScrollbar?: boolean;
24
+ disabled?: boolean;
25
+ isLoading?: boolean;
26
+ onStop?: () => void;
27
+ showDate?: boolean;
28
+ showAvatar?: boolean;
29
+ showMessageBubbleBorder?: boolean;
30
+ /** When false (default), do NOT create an internal scroll container (avoids nested scroll). */
31
+ useInternalScroll?: boolean;
32
+ /** When true, the built-in input toolbar area is not rendered. */
33
+ hideInputToolbar?: boolean;
34
+ /**
35
+ * Where to place the input toolbar.
36
+ * - `bottom` (default): render toolbar in the bottom area.
37
+ * - `inlineWhenEmpty`: when there are no messages and no streaming/loading, render the toolbar inline
38
+ * inside the empty state (matches landing UI), otherwise use bottom placement.
39
+ */
40
+ inputPlacement?: 'bottom' | 'inlineWhenEmpty';
41
+ /** Input component; receives value, onChange, onSend, disabled */
42
+ renderInputToolbar: (props: PlanModeViewInputToolbarProps) => React.ReactNode;
43
+ /** Optional: passed to ModernMessageGroupComponent (same as AIAgent) */
44
+ onOpen?: (element?: any) => void;
45
+ onMessageClick?: (msg: any) => void;
46
+ isDesktopView?: boolean;
47
+ isSmallScreen?: boolean;
48
+ sandboxErrors?: any[];
49
+ currentFiles?: Record<string, string>;
50
+ onFixError?: (errorMessage: string) => Promise<void>;
51
+ /** Optional: error message to show above messages; use with onRetry for retry button */
52
+ error?: string | null;
53
+ /** Optional: called when user clicks retry (e.g. after error) */
54
+ onRetry?: () => void;
55
+ /**
56
+ * Optional: custom content when there are no messages and no streaming/loading.
57
+ * Receives input toolbar props so you can render the composer inline (e.g. landing UI).
58
+ */
59
+ renderEmptyState?: (ctx: {
60
+ inputToolbarProps: PlanModeViewInputToolbarProps;
61
+ }) => React.ReactNode;
62
+ /**
63
+ * Optional: when provided, scroll to bottom whenever these deps change (e.g. [streamingContent, messages.length]).
64
+ * Use from the parent to keep the view at bottom on each stream chunk.
65
+ */
66
+ scrollToBottomDeps?: React.DependencyList;
67
+ /** Optional: className applied to the content wrapper inside PlanModeView. */
68
+ contentClassName?: string;
69
+ /** Optional: className applied to the post container inside PlanModeView. */
70
+ postContainerClassName?: string;
71
+ /** When true, code blocks show copy and download actions (default: true). */
72
+ showCopyDownloadOnCodeBlock?: boolean;
73
+ }
74
+ /**
75
+ * Messages container UI for plan mode (chat / search / research).
76
+ * Uses ModernMessageGroupComponent for message display (same as AIAgent).
77
+ * Renders message list + streaming + loading state and delegates input to renderInputToolbar.
78
+ */
79
+ export declare function MessagesContainerUI({ messages, streamingContent, currentUser, onSend, className, scrollContainerRef, planModeViewClassName, planModeScrollContainerClassName, hideScrollbar, disabled, isLoading, onStop, showDate, showAvatar, showMessageBubbleBorder, useInternalScroll, hideInputToolbar, inputPlacement, renderInputToolbar, onOpen, onMessageClick, isDesktopView, isSmallScreen, sandboxErrors, currentFiles, onFixError, error, onRetry, renderEmptyState, scrollToBottomDeps, contentClassName, postContainerClassName, showCopyDownloadOnCodeBlock, }: MessagesContainerUIProps): React.JSX.Element;
80
+ export default MessagesContainerUI;
81
+ //# sourceMappingURL=MessagesContainerUI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagesContainerUI.d.ts","sourceRoot":"","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import React__default from'react';import clsx from'clsx';import {PlanModeView}from'./PlanModeView.js';/**
2
+ * Messages container UI for plan mode (chat / search / research).
3
+ * Uses ModernMessageGroupComponent for message display (same as AIAgent).
4
+ * Renders message list + streaming + loading state and delegates input to renderInputToolbar.
5
+ */
6
+ function MessagesContainerUI({
7
+ messages,
8
+ streamingContent,
9
+ currentUser,
10
+ onSend,
11
+ className,
12
+ scrollContainerRef,
13
+ planModeViewClassName,
14
+ planModeScrollContainerClassName,
15
+ hideScrollbar = false,
16
+ disabled = false,
17
+ isLoading = false,
18
+ onStop,
19
+ showDate = false,
20
+ showAvatar = false,
21
+ showMessageBubbleBorder = false,
22
+ useInternalScroll = false,
23
+ hideInputToolbar = false,
24
+ inputPlacement = 'bottom',
25
+ renderInputToolbar,
26
+ onOpen,
27
+ onMessageClick,
28
+ isDesktopView = false,
29
+ isSmallScreen = false,
30
+ sandboxErrors,
31
+ currentFiles,
32
+ onFixError,
33
+ error = null,
34
+ onRetry,
35
+ renderEmptyState,
36
+ scrollToBottomDeps,
37
+ contentClassName,
38
+ postContainerClassName,
39
+ showCopyDownloadOnCodeBlock = true
40
+ }) {
41
+ return React__default.createElement("div", {
42
+ className: clsx('flex flex-col flex-1 min-h-0', className)
43
+ }, React__default.createElement(PlanModeView, {
44
+ messages: messages,
45
+ streamingContent: streamingContent,
46
+ currentUser: currentUser,
47
+ onSend: onSend,
48
+ disabled: disabled,
49
+ isLoading: isLoading,
50
+ onStop: onStop,
51
+ showDate: showDate,
52
+ showAvatar: showAvatar,
53
+ showMessageBubbleBorder: showMessageBubbleBorder,
54
+ useInternalScroll: useInternalScroll,
55
+ scrollContainerRef: scrollContainerRef,
56
+ className: planModeViewClassName,
57
+ scrollContainerClassName: planModeScrollContainerClassName,
58
+ hideScrollbar: hideScrollbar,
59
+ hideInputToolbar: hideInputToolbar,
60
+ inputPlacement: inputPlacement,
61
+ renderInputToolbar: renderInputToolbar,
62
+ onOpen: onOpen,
63
+ onMessageClick: onMessageClick,
64
+ isDesktopView: isDesktopView,
65
+ isSmallScreen: isSmallScreen,
66
+ sandboxErrors: sandboxErrors,
67
+ currentFiles: currentFiles,
68
+ onFixError: onFixError,
69
+ error: error,
70
+ onRetry: onRetry,
71
+ renderEmptyState: renderEmptyState,
72
+ scrollToBottomDeps: scrollToBottomDeps,
73
+ contentClassName: contentClassName,
74
+ postContainerClassName: postContainerClassName,
75
+ showCopyDownloadOnCodeBlock: showCopyDownloadOnCodeBlock
76
+ }));
77
+ }export{MessagesContainerUI};//# sourceMappingURL=MessagesContainerUI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagesContainerUI.js","sources":["../../../src/components/messages-container-ui/MessagesContainerUI.tsx"],"sourcesContent":[null],"names":[],"mappings":"sGAsEA;;;;AAIG;AACG,SAAU,mBAAmB,CAAC;UAmChC;AAEQ,EAAA,gBAAA;AAoCZ,EAAC,WAAA;AAED,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}