@clikvn/agent-widget-embedded 1.1.10 → 1.1.11-hotfix-01

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 (413) hide show
  1. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts +67 -0
  2. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts.map +1 -0
  3. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js +78 -0
  4. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js.map +1 -0
  5. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts +3 -0
  6. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts.map +1 -0
  7. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js +3 -0
  8. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js.map +1 -0
  9. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts +11 -0
  10. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts.map +1 -0
  11. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js +26 -0
  12. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js.map +1 -0
  13. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts +3 -0
  14. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts.map +1 -0
  15. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js +16 -0
  16. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js.map +1 -0
  17. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts +9 -0
  18. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts.map +1 -0
  19. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js +152 -0
  20. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js.map +1 -0
  21. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts +8 -0
  22. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts.map +1 -0
  23. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js +228 -0
  24. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js.map +1 -0
  25. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts +12 -0
  26. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts.map +1 -0
  27. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js +35 -0
  28. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js.map +1 -0
  29. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts +9 -0
  30. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts.map +1 -0
  31. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js +173 -0
  32. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js.map +1 -0
  33. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts +9 -0
  34. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts.map +1 -0
  35. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js +61 -0
  36. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js.map +1 -0
  37. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts +10 -0
  38. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts.map +1 -0
  39. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js +46 -0
  40. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js.map +1 -0
  41. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts +10 -0
  42. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts.map +1 -0
  43. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js +36 -0
  44. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js.map +1 -0
  45. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts +7 -0
  46. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts.map +1 -0
  47. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js +45 -0
  48. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js.map +1 -0
  49. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts +204 -0
  50. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts.map +1 -0
  51. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js +252 -0
  52. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js.map +1 -0
  53. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts +4 -0
  54. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts.map +1 -0
  55. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js +6 -0
  56. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js.map +1 -0
  57. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts +38 -0
  58. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts.map +1 -0
  59. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js +23 -0
  60. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js.map +1 -0
  61. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts +7 -0
  62. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts.map +1 -0
  63. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js +97 -0
  64. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js.map +1 -0
  65. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts +16 -0
  66. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts.map +1 -0
  67. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js +84 -0
  68. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js.map +1 -0
  69. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
  70. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
  71. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js +350 -0
  72. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js.map +1 -0
  73. package/{dist/components/Chat/MultimodalInputSimple.d.ts → .rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts} +9 -3
  74. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts.map +1 -0
  75. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js +405 -0
  76. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js.map +1 -0
  77. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts +8 -0
  78. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts.map +1 -0
  79. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js +9 -0
  80. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js.map +1 -0
  81. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts +6 -0
  82. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts.map +1 -0
  83. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js +7 -0
  84. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js.map +1 -0
  85. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts +7 -0
  86. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts.map +1 -0
  87. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js +21 -0
  88. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js.map +1 -0
  89. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts +10 -0
  90. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts.map +1 -0
  91. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js +157 -0
  92. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js.map +1 -0
  93. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts +10 -0
  94. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts.map +1 -0
  95. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js +152 -0
  96. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js.map +1 -0
  97. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts +11 -0
  98. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts.map +1 -0
  99. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js +73 -0
  100. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js.map +1 -0
  101. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts +9 -0
  102. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts.map +1 -0
  103. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js +268 -0
  104. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js.map +1 -0
  105. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts +22 -0
  106. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts.map +1 -0
  107. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js +283 -0
  108. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js.map +1 -0
  109. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
  110. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
  111. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js +301 -0
  112. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js.map +1 -0
  113. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts +10 -0
  114. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts.map +1 -0
  115. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js +30 -0
  116. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js.map +1 -0
  117. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts +12 -0
  118. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts.map +1 -0
  119. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js +31 -0
  120. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js.map +1 -0
  121. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts +7 -0
  122. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts.map +1 -0
  123. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js +147 -0
  124. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js.map +1 -0
  125. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts +17 -0
  126. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts.map +1 -0
  127. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js +71 -0
  128. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js.map +1 -0
  129. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts +42 -0
  130. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts.map +1 -0
  131. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js +198 -0
  132. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js.map +1 -0
  133. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts +12 -0
  134. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts.map +1 -0
  135. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js +34 -0
  136. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js.map +1 -0
  137. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts +9 -0
  138. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts.map +1 -0
  139. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js +32 -0
  140. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js.map +1 -0
  141. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts +28 -0
  142. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts.map +1 -0
  143. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js +37 -0
  144. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js.map +1 -0
  145. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts +12 -0
  146. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts.map +1 -0
  147. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js +10 -0
  148. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js.map +1 -0
  149. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts +19 -0
  150. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts.map +1 -0
  151. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js +33 -0
  152. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js.map +1 -0
  153. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts +20 -0
  154. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts.map +1 -0
  155. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js +71 -0
  156. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js.map +1 -0
  157. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts +7 -0
  158. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts.map +1 -0
  159. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js +4 -0
  160. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js.map +1 -0
  161. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts +6 -0
  162. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts.map +1 -0
  163. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js +9 -0
  164. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js.map +1 -0
  165. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts +10 -0
  166. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts.map +1 -0
  167. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js +22 -0
  168. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js.map +1 -0
  169. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts +12 -0
  170. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts.map +1 -0
  171. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js +44 -0
  172. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js.map +1 -0
  173. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts +14 -0
  174. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts.map +1 -0
  175. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js +53 -0
  176. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js.map +1 -0
  177. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts +22 -0
  178. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts.map +1 -0
  179. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js +29 -0
  180. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js.map +1 -0
  181. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts +13 -0
  182. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts.map +1 -0
  183. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js +2 -0
  184. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js.map +1 -0
  185. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts +94 -0
  186. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts.map +1 -0
  187. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js +93 -0
  188. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js.map +1 -0
  189. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts +2 -0
  190. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts.map +1 -0
  191. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js +2 -0
  192. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js.map +1 -0
  193. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts +49 -0
  194. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts.map +1 -0
  195. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js +25 -0
  196. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js.map +1 -0
  197. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts +11 -0
  198. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts.map +1 -0
  199. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js +135 -0
  200. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js.map +1 -0
  201. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts +13 -0
  202. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts.map +1 -0
  203. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js +39 -0
  204. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js.map +1 -0
  205. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts +13 -0
  206. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts.map +1 -0
  207. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js +59 -0
  208. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js.map +1 -0
  209. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts +29 -0
  210. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts.map +1 -0
  211. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js +225 -0
  212. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js.map +1 -0
  213. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts +20 -0
  214. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts.map +1 -0
  215. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js +66 -0
  216. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js.map +1 -0
  217. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts +101 -0
  218. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts.map +1 -0
  219. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js +23 -0
  220. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js.map +1 -0
  221. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts +9 -0
  222. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts.map +1 -0
  223. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js +64 -0
  224. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js.map +1 -0
  225. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts +7 -0
  226. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts.map +1 -0
  227. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js +29 -0
  228. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js.map +1 -0
  229. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts +2 -0
  230. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts.map +1 -0
  231. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js +2 -0
  232. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js.map +1 -0
  233. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts +20 -0
  234. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts.map +1 -0
  235. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js +76 -0
  236. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js.map +1 -0
  237. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts +2 -0
  238. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts.map +1 -0
  239. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js +2 -0
  240. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js.map +1 -0
  241. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts +86 -0
  242. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts.map +1 -0
  243. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js +36 -0
  244. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js.map +1 -0
  245. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts +10 -0
  246. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts.map +1 -0
  247. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js +10 -0
  248. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js.map +1 -0
  249. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts +7 -0
  250. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts.map +1 -0
  251. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js +26 -0
  252. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js.map +1 -0
  253. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts +3 -0
  254. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts.map +1 -0
  255. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js +13 -0
  256. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js.map +1 -0
  257. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts +53 -0
  258. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts.map +1 -0
  259. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js +163 -0
  260. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js.map +1 -0
  261. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts +8 -0
  262. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts.map +1 -0
  263. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js +27 -0
  264. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js.map +1 -0
  265. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts +14 -0
  266. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts.map +1 -0
  267. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js +181 -0
  268. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js.map +1 -0
  269. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts +13 -0
  270. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts.map +1 -0
  271. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js +2 -0
  272. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js.map +1 -0
  273. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts +11 -0
  274. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts.map +1 -0
  275. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js +2 -0
  276. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js.map +1 -0
  277. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts +10 -0
  278. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts.map +1 -0
  279. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js +2 -0
  280. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js.map +1 -0
  281. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts +27 -0
  282. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts.map +1 -0
  283. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js +2 -0
  284. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js.map +1 -0
  285. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts +160 -0
  286. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts.map +1 -0
  287. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js +2 -0
  288. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js.map +1 -0
  289. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts +48 -0
  290. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts.map +1 -0
  291. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js +2 -0
  292. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js.map +1 -0
  293. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts +14 -0
  294. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts.map +1 -0
  295. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js +2 -0
  296. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js.map +1 -0
  297. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts +15 -0
  298. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts.map +1 -0
  299. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js +2 -0
  300. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js.map +1 -0
  301. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts +1 -0
  302. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts.map +1 -0
  303. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js +2 -0
  304. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js.map +1 -0
  305. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts +20 -0
  306. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts.map +1 -0
  307. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js +492 -0
  308. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js.map +1 -0
  309. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts +21 -0
  310. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts.map +1 -0
  311. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js +296 -0
  312. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js.map +1 -0
  313. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts +7 -0
  314. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts.map +1 -0
  315. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js +40 -0
  316. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js.map +1 -0
  317. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts +3 -0
  318. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts.map +1 -0
  319. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js +18 -0
  320. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js.map +1 -0
  321. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts +3 -0
  322. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts.map +1 -0
  323. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js +46 -0
  324. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js.map +1 -0
  325. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts +5 -0
  326. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts.map +1 -0
  327. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js +21 -0
  328. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js.map +1 -0
  329. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts +37 -0
  330. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts.map +1 -0
  331. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js +55 -0
  332. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js.map +1 -0
  333. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts +16 -0
  334. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts.map +1 -0
  335. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js +79 -0
  336. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js.map +1 -0
  337. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts +5 -0
  338. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts.map +1 -0
  339. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js +12 -0
  340. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js.map +1 -0
  341. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts +111 -0
  342. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts.map +1 -0
  343. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js +197 -0
  344. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js.map +1 -0
  345. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts +2 -0
  346. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts.map +1 -0
  347. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js +15 -0
  348. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js.map +1 -0
  349. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts +8 -0
  350. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts.map +1 -0
  351. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js +5 -0
  352. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js.map +1 -0
  353. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts +18 -0
  354. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts.map +1 -0
  355. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js +31 -0
  356. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js.map +1 -0
  357. package/README.md +20 -20
  358. package/dist/components/Chat/BookMeetingForm.d.ts.map +1 -1
  359. package/dist/components/Chat/BookMeetingList.d.ts.map +1 -1
  360. package/dist/components/Chat/HtmlContent.d.ts.map +1 -1
  361. package/dist/components/Chat/Markdown.d.ts.map +1 -1
  362. package/dist/components/Chat/Message.d.ts.map +1 -1
  363. package/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
  364. package/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
  365. package/dist/components/Chat/MultimodalInput.d.ts.map +1 -1
  366. package/dist/components/Chat/ProductDetail.d.ts.map +1 -1
  367. package/dist/components/Chat/ProductList.d.ts +3 -3
  368. package/dist/components/Chat/ProductList.d.ts.map +1 -1
  369. package/dist/components/Chat/SceneList.d.ts +2 -3
  370. package/dist/components/Chat/SceneList.d.ts.map +1 -1
  371. package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
  372. package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
  373. package/dist/components/Chat/UserContactForm.d.ts +1 -0
  374. package/dist/components/Chat/UserContactForm.d.ts.map +1 -1
  375. package/dist/index-old.html +108 -0
  376. package/dist/index.html +55 -167
  377. package/dist/models.d.ts +1 -1
  378. package/dist/models.d.ts.map +1 -1
  379. package/dist/register.d.ts +1 -1
  380. package/dist/register.d.ts.map +1 -1
  381. package/dist/services/bookMeeting.service.d.ts +1 -1
  382. package/dist/services/bookMeeting.service.d.ts.map +1 -1
  383. package/dist/services/userContact.service.d.ts +1 -1
  384. package/dist/services/userContact.service.d.ts.map +1 -1
  385. package/dist/types/bookMeeting.type.d.ts +1 -1
  386. package/dist/types/bookMeeting.type.d.ts.map +1 -1
  387. package/dist/types/userContact.type.d.ts +1 -0
  388. package/dist/types/userContact.type.d.ts.map +1 -1
  389. package/dist/wdyr.d.ts +2 -0
  390. package/dist/wdyr.d.ts.map +1 -0
  391. package/dist/web.d.ts +5 -0
  392. package/dist/web.d.ts.map +1 -1
  393. package/dist/web.js +1 -1
  394. package/dist/web.js.map +1 -0
  395. package/dist/window.d.ts +11 -0
  396. package/dist/window.d.ts.map +1 -1
  397. package/package.json +101 -101
  398. package/.idea/clik-ai-chatbot-embedded.iml +0 -9
  399. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  400. package/.idea/inspectionProfiles/Project_Default.xml +0 -36
  401. package/.idea/jsLinters/eslint.xml +0 -7
  402. package/.idea/misc.xml +0 -9
  403. package/.idea/modules.xml +0 -8
  404. package/.idea/prettier.xml +0 -8
  405. package/.idea/vcs.xml +0 -6
  406. package/dist/components/Chat/AudioPlayerSimple.d.ts +0 -9
  407. package/dist/components/Chat/AudioPlayerSimple.d.ts.map +0 -1
  408. package/dist/components/Chat/MultimodalInputSimple.d.ts.map +0 -1
  409. package/dist/components/Chat/Sidebar.d.ts +0 -8
  410. package/dist/components/Chat/Sidebar.d.ts.map +0 -1
  411. package/dist/index_2.html +0 -67
  412. package/dist/serve.json +0 -11
  413. package/dist/web.css +0 -3680
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultimodalInputSimplified.js","sourceRoot":"","sources":["../../../../src/components/Chat/Simplified/MultimodalInputSimplified.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AnimatePresence, motion } from 'framer-motion';\nimport {\n type ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useWindowSize } from 'usehooks-ts';\nimport { useAudioRecording } from '../../../hooks/useAudioRecording';\nimport { useChatData } from '../../../hooks/useChatData';\nimport { useConfiguration } from '../../../hooks/useConfiguration';\nimport { getAudioTranscript } from '../../../services/chat.service';\nimport { BotType } from '../../../types/bot.type';\nimport { ChatMessageType, IFileUpload } from '../../../types/flowise.type';\nimport { cn, generateUUID, sleep } from '../../../utils/commonUtils';\nimport { getBestMimeType, getFileExtension } from '../../../utils/fileUtils';\nimport {\n ArrowUpIcon,\n ClikAIIcon,\n ClikChatIcon,\n ClikMicrophoneIcon,\n PlusIcon,\n} from '../Icons';\nimport { Button } from '../ui/Button';\nimport { VoiceRecordingUI } from '../VoiceRecordingUI';\nimport { Textarea } from '../ui/Textarea';\n\ntype PropsType = {\n input: string;\n setInput: (value: string) => void;\n loadingChat: boolean;\n message: ChatMessageType | null;\n chatId: string;\n handleSubmit: (\n event?: { preventDefault?: () => void },\n files?: IFileUpload[]\n ) => void;\n className?: string;\n bot: BotType | null;\n apiHost: string;\n setEnableTTS: (value: boolean) => void;\n enableTTS: boolean;\n onAudioEnded: () => void;\n};\n\ntype ClickType =\n | 'ChangeLanguage'\n | 'WelcomeMsg'\n | 'StartRecording'\n | 'CancelRecording'\n | 'FinishRecording'\n | 'PauseAudio'\n | 'PlayAudio'\n | 'CloseAudio'\n | 'Submit'\n | 'ClickButtonAI'\n | 'AddFile';\n\nexport const MultimodalInputSimplified: FC<PropsType> = (props) => {\n const {\n input,\n setInput,\n message,\n handleSubmit,\n className,\n apiHost,\n setEnableTTS,\n } = props;\n const { onLoaded, theme = {} } = useConfiguration();\n const { modeButtonChat = false, gapInput = 16 } = theme;\n const { listeners } = useChatData();\n const {\n isRecording,\n onRecordingCancelled,\n onRecordingStopped,\n onRecordingStarted,\n audioData,\n elapsedTime,\n updateMaxHistoryLength,\n } = useAudioRecording();\n const { width } = useWindowSize();\n\n const language =\n theme?.language?.options\n ?.find((option) => option.code === theme?.language?.code)\n ?.name?.toUpperCase() || 'EN';\n\n const [transcribing, setTranscribing] = useState<boolean>(false);\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const [expanded, setExpanded] = useState(!modeButtonChat);\n const [animationCompleted, setAnimationCompleted] = useState(false);\n\n const textareaRef = useRef<HTMLTextAreaElement | null>(null);\n const setInputRef = useRef<((input: string) => void) | null>(null);\n\n const welcomeMessage =\n theme.welcomeMessage || \"Hi, I'm your showroom assistant\";\n const adjustHeight = () => {\n if (textareaRef.current) {\n (textareaRef.current as HTMLTextAreaElement).style.height = '24px';\n (textareaRef.current as HTMLTextAreaElement).style.height =\n `${textareaRef.current?.scrollHeight}px`;\n }\n };\n\n const readonly = isRecording || transcribing;\n const handleSetInput = useCallback(\n (value: string) => {\n setInput(value);\n },\n [setInput]\n );\n\n const handleInput = (event: ChangeEvent<HTMLTextAreaElement>) => {\n handleSetInput(event.target.value);\n\n if (textareaRef.current) {\n textareaRef.current.scrollTop = textareaRef.current.scrollHeight;\n }\n };\n\n const submitForm = useCallback(async () => {\n setSubmitting(true);\n if (listeners?.['ON_SUBMIT_MESSAGE']) {\n listeners['ON_SUBMIT_MESSAGE']();\n }\n handleSubmit(undefined);\n await sleep(500);\n setShowAudioPlayer(true);\n }, [handleSubmit, listeners]);\n\n const toAudioBase64 = (blob: Blob) => {\n return new Promise<IFileUpload>((resolve) => {\n let mimeType = getBestMimeType();\n const pos = blob.type.indexOf(';');\n if (pos === -1) {\n mimeType = blob.type;\n } else {\n mimeType = blob.type.substring(0, pos);\n }\n\n // read blob and add to previews\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n const base64data = reader.result as string;\n const upload: IFileUpload = {\n tempId: generateUUID(),\n data: base64data,\n type: 'audio',\n name: `audio_${Date.now()}.${getFileExtension(mimeType)}`,\n mime: mimeType,\n };\n resolve(upload);\n };\n });\n };\n\n const speechToText = async (blob: Blob) => {\n try {\n setTranscribing(true);\n const fileUpload = await toAudioBase64(blob);\n const base64Data = fileUpload.data!.replace(/^data:.+;base64,/, '');\n const byteCharacters = atob(base64Data); // Decode Base64 string\n const byteNumbers = new Array(byteCharacters.length);\n\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n const file = new File([byteArray], fileUpload.name, {\n lastModified: new Date().getTime(),\n type: fileUpload.type,\n });\n\n const text = await getAudioTranscript({ file, apiHost, language });\n if (text) {\n handleSetInput(text);\n }\n } catch (error) {\n console.error('Error getting audio transcript!', error);\n } finally {\n setTranscribing(false);\n }\n };\n\n const handleFinishRecording = () => {\n if (isRecording) {\n onRecordingStopped(speechToText);\n }\n if (listeners?.['ON_FINISHED_RECORDING']) {\n listeners['ON_FINISHED_RECORDING']();\n }\n };\n\n const handleStartRecording = useCallback(() => {\n onRecordingStarted();\n handleSetInput('');\n if (listeners?.['ON_START_RECORDING']) {\n listeners['ON_START_RECORDING']();\n }\n }, [onRecordingStarted, handleSetInput, listeners]);\n\n const handleCancelRecording = () => {\n handleOnClick('CancelRecording');\n onRecordingCancelled();\n handleSetInput('');\n if (listeners?.['ON_CANCEL_RECORDING']) {\n listeners['ON_CANCEL_RECORDING']();\n }\n };\n\n const handleSend = useCallback(async () => {\n if (!isRecording) {\n submitForm();\n }\n }, [submitForm, isRecording]);\n\n const handleOnClickOpenChatmode = () => {\n handleOnClick('WelcomeMsg');\n };\n\n const handleOnClick = (type?: ClickType) => {\n if (listeners?.['ON_CLICK']) {\n listeners['ON_CLICK'](type);\n }\n };\n\n const handleToggleExpand = () => {\n handleOnClick('ClickButtonAI');\n setExpanded(!expanded);\n setAnimationCompleted(false);\n if (!expanded) {\n // Focus vào textarea khi expand\n setTimeout(() => {\n if (textareaRef.current) {\n textareaRef.current.focus();\n }\n }, 300);\n }\n };\n\n useEffect(() => {\n adjustHeight();\n }, [input, readonly]);\n\n useEffect(() => {\n setInputRef.current = setInput;\n }, [setInput]);\n\n useEffect(() => {\n if (onLoaded) {\n onLoaded({\n setInput: (txt): void => {\n if (setInputRef.current) {\n setInputRef.current(txt || '');\n }\n },\n startRecording: async () => {\n handleStartRecording();\n },\n });\n }\n }, []);\n\n useEffect(() => {\n setEnableTTS(true);\n return () => {\n setEnableTTS(false);\n };\n }, [setEnableTTS]);\n\n useEffect(() => {\n if (message && submitting) {\n setSubmitting(false);\n if (listeners?.['ON_FINISHED_SUBMITTING_MESSAGE']) {\n listeners['ON_FINISHED_SUBMITTING_MESSAGE']();\n }\n }\n }, [message, submitting, listeners]);\n\n const handleWidthChange = useCallback(\n (maxBars: number) => {\n updateMaxHistoryLength(maxBars);\n },\n [updateMaxHistoryLength]\n );\n\n const recordingPlaceholder =\n isRecording && !transcribing\n ? theme?.input?.recordingPlaceholder || 'Recording...'\n : '';\n\n const transcribingPlaceholder = transcribing\n ? theme?.input?.transcribingPlaceholder || 'Transcribing...'\n : '';\n\n const processing = isRecording || transcribing;\n const canShowAudioPlayer =\n !theme?.noAutoplayMessage &&\n showAudioPlayer &&\n message?.new &&\n message?.tts;\n\n // Animation variants\n const containerVariants = {\n collapsed: {\n width: '0px',\n height: '0px',\n opacity: 0,\n borderRadius: '28px',\n },\n expanded: {\n width: width ? `${width - gapInput - 2}px` : '100%',\n height: 'auto',\n opacity: 1,\n borderRadius: '16px',\n },\n };\n\n const contentVariants = {\n collapsed: {\n opacity: 0,\n scale: 0.8,\n },\n expanded: {\n opacity: 1,\n scale: 1,\n },\n };\n\n const showButtonAI =\n !isRecording &&\n modeButtonChat &&\n !input?.length &&\n !processing &&\n !submitting &&\n !transcribing;\n\n return (\n <div className=\"flex justify-end\">\n {showButtonAI && (\n <div\n className={cn(\n 'absolute z-20 transition-all duration-300 top-1 right-1'\n )}\n >\n <Button\n className={cn(\n 'rounded-full bg-[#fff] hover:bg-[#fff] text-white border-none shadow-lg w-[32px] h-[32px] p-0 flex items-center justify-center',\n expanded && 'bg-[#595959] hover:bg-[#595959] text-white'\n )}\n onClick={handleToggleExpand}\n >\n {expanded ? (\n <ClikChatIcon\n size={20}\n style={{ width: '20px', height: '20px' }}\n />\n ) : (\n <ClikAIIcon size={20} style={{ width: '20px', height: '20px' }} />\n )}\n </Button>\n </div>\n )}\n <motion.div\n variants={containerVariants}\n initial=\"collapsed\"\n animate={expanded ? 'expanded' : 'collapsed'}\n transition={{ duration: 0.3, ease: 'easeInOut' }}\n className={cn('relative flex gap-4 scrollbar-hidden ', className, {\n 'flex-col min-h-[40px]': !canShowAudioPlayer && expanded,\n 'flex-row min-h-[40px]': canShowAudioPlayer && expanded,\n 'items-center justify-center': !expanded,\n })}\n >\n <AnimatePresence>\n {expanded && (\n <motion.div\n variants={contentVariants}\n initial=\"collapsed\"\n animate=\"expanded\"\n exit=\"collapsed\"\n transition={{ duration: 0.2, delay: 0 }}\n onAnimationComplete={() => setAnimationCompleted(true)}\n className={`w-full `}\n >\n {!canShowAudioPlayer && (\n <>\n <div className=\" w-full flex gap-4 justify-end items-end\">\n {isRecording ? (\n <Button\n className={` rounded-full w-[40px] h-[40px] flex items-center justify-center bg-white hover:bg-white`}\n onClick={(event) => {\n event.preventDefault();\n handleFinishRecording();\n }}\n >\n <div className=\"w-[12px] h-[12px] bg-muted-foreground rounded-full\"></div>\n </Button>\n ) : (\n <Button\n className={` rounded-full w-[40px] h-[40px] flex items-center justify-center bg-white hover:bg-white`}\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('AddFile');\n }}\n >\n <PlusIcon size={20} color={'#71717A'} />\n </Button>\n )}\n <div className=\"block flex-1 min-w-0 min-h-[40px] relative bg-white rounded-[24px] border border-[#E5E5E5] shadow-[0px_2px_6px_0px_rgba(0,0,0,0.08)] backdrop-blur-[50px]\">\n {/* Animated Input/Textarea Container */}\n <AnimatePresence mode=\"wait\">\n {\n <>\n <motion.div\n key=\"textarea\"\n initial={{ opacity: 0, height: 40 }}\n animate={{ opacity: 1, height: 'auto' }}\n exit={{ opacity: 0, height: 40 }}\n transition={{\n duration: 0.2,\n ease: 'easeInOut',\n }}\n style={{\n display:\n input.length || transcribing\n ? 'block'\n : 'none',\n }}\n >\n <Textarea\n readOnly={readonly}\n ref={textareaRef}\n placeholder={\n transcribing\n ? transcribingPlaceholder\n : 'Nhập tin nhắn của bạn...'\n }\n value={input}\n onChange={handleInput}\n className={cn(\n `min-h-[24px] max-h-[120px] overflow-hidden resize-none text-base bg-muted bg-[#ffffff] scrollbar-hidden p-[12px] pb-[32px] rounded-[24px] border border-[#E5E5E5] shadow-[0px_2px_6px_0px_rgba(0,0,0,0.08)] backdrop-blur-[50px] `,\n className\n )}\n style={{\n height: 60,\n }}\n autoFocus\n onKeyDown={(event) => {\n if (\n event.key === 'Enter' &&\n !event.shiftKey\n ) {\n event.preventDefault();\n handleOnClick('Submit');\n handleSend();\n }\n }}\n />\n </motion.div>\n </>\n }\n </AnimatePresence>\n {!isRecording &&\n !input?.length &&\n !transcribing &&\n animationCompleted && (\n <div\n className=\"p-[10px] pr-[80px] text-[14px] text-muted-foreground cursor-pointer w-full text-ellipsis overflow-hidden whitespace-nowrap truncate\"\n onClick={handleOnClickOpenChatmode}\n >\n {welcomeMessage}\n </div>\n )}\n {/* Voice Recording UI Overlay */}\n <div className=\"w-full \">\n <VoiceRecordingUI\n isRecording={isRecording}\n elapsedTime={elapsedTime}\n onCancel={handleCancelRecording}\n transcribing={transcribing}\n audioData={audioData}\n label={\n transcribing\n ? transcribingPlaceholder\n : recordingPlaceholder\n }\n onWidthChange={handleWidthChange}\n />\n </div>\n\n <div className=\"button-voice right-[4px] absolute bottom-[4px] flex gap-[12px]\">\n {!isRecording && (\n <Button\n className=\"rounded-full z-[2] p-1.5 h-[32px] w-[32px] m-0 bg-transparent\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('StartRecording');\n handleStartRecording();\n }}\n >\n <ClikMicrophoneIcon size={20} />\n </Button>\n )}\n <Button\n className=\"rounded-full z-[2] p-1.5 h-[32px] w-[32px] m-0 border bg-[#71717A]\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('Submit');\n handleSend();\n }}\n disabled={isRecording || input.length === 0}\n >\n <ArrowUpIcon size={20} />\n </Button>\n </div>\n </div>\n </div>\n </>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </motion.div>\n </div>\n );\n};\n"]}
@@ -0,0 +1,22 @@
1
+ import { FC } from 'react';
2
+ import { BotType } from '../../../types/bot.type';
3
+ import { ChatMessageType, IFileUpload } from '../../../types/flowise.type';
4
+ type PropsType = {
5
+ input: string;
6
+ setInput: (value: string) => void;
7
+ loadingChat: boolean;
8
+ message: ChatMessageType | null;
9
+ chatId: string;
10
+ handleSubmit: (event?: {
11
+ preventDefault?: () => void;
12
+ }, files?: IFileUpload[]) => void;
13
+ className?: string;
14
+ bot: BotType | null;
15
+ apiHost: string;
16
+ setEnableTTS: (value: boolean) => void;
17
+ enableTTS: boolean;
18
+ onAudioEnded: () => void;
19
+ };
20
+ export declare const MultimodalInputSimplified: FC<PropsType>;
21
+ export {};
22
+ //# sourceMappingURL=MultimodalInputSimplifiedOld.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultimodalInputSimplifiedOld.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/Simplified/MultimodalInputSimplifiedOld.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,EAAE,EAKH,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAe3E,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CACZ,KAAK,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,EACvC,KAAK,CAAC,EAAE,WAAW,EAAE,KAClB,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAcF,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,SAAS,CA0iBnD,CAAC"}
@@ -0,0 +1,301 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { AnimatePresence, motion } from 'framer-motion';
3
+ import { useCallback, useEffect, useRef, useState, } from 'react';
4
+ import { useWindowSize } from 'usehooks-ts';
5
+ import { useAudioRecording } from '../../../hooks/useAudioRecording';
6
+ import { useChatData } from '../../../hooks/useChatData';
7
+ import { useConfiguration } from '../../../hooks/useConfiguration';
8
+ import { getAudioTranscript } from '../../../services/chat.service';
9
+ import { cn, generateUUID, sleep } from '../../../utils/commonUtils';
10
+ import { getBestMimeType, getFileExtension } from '../../../utils/fileUtils';
11
+ import { AnimatedRecordingIcon, ArrowUpIcon, CheckCirclFillIcon, ClikAIIcon, ClikChatIcon, ClikCloseIcon, ClikMicrophoneIcon, } from '../Icons';
12
+ import { Button } from '../ui/Button';
13
+ import AudioPlayerSimplified from './AudioPlayerSimplified';
14
+ export const MultimodalInputSimplified = (props) => {
15
+ const { input, setInput, loadingChat, message, chatId, handleSubmit, className, bot, apiHost, setEnableTTS, onAudioEnded, } = props;
16
+ const { onLoaded, theme = {} } = useConfiguration();
17
+ const { modeButtonChat = false, gapInput = 16 } = theme;
18
+ const { listeners } = useChatData();
19
+ const { isRecording, onRecordingCancelled, onRecordingStopped, onRecordingStarted, isLoadingRecording, audioData, } = useAudioRecording();
20
+ const { width } = useWindowSize();
21
+ const language = theme?.language?.options
22
+ ?.find((option) => option.code === theme?.language?.code)
23
+ ?.name?.toUpperCase() || 'EN';
24
+ const [transcribing, setTranscribing] = useState(false);
25
+ const [showAudioPlayer, setShowAudioPlayer] = useState(false);
26
+ const [submitting, setSubmitting] = useState(false);
27
+ const [expanded, setExpanded] = useState(!modeButtonChat);
28
+ const [animationCompleted, setAnimationCompleted] = useState(false);
29
+ const textareaRef = useRef(null);
30
+ const setInputRef = useRef(null);
31
+ const welcomeMessage = theme.welcomeMessage || "Hi, I'm your showroom assistant";
32
+ const adjustHeight = () => {
33
+ if (textareaRef.current) {
34
+ textareaRef.current.style.height = '24px';
35
+ textareaRef.current.style.height =
36
+ `${textareaRef.current?.scrollHeight}px`;
37
+ }
38
+ };
39
+ const readonly = isRecording || transcribing;
40
+ const handleSetInput = useCallback((value) => {
41
+ setInput(value);
42
+ }, [setInput]);
43
+ const handleInput = (event) => {
44
+ handleSetInput(event.target.value);
45
+ if (textareaRef.current) {
46
+ textareaRef.current.scrollTop = textareaRef.current.scrollHeight;
47
+ }
48
+ };
49
+ const submitForm = useCallback(async () => {
50
+ setSubmitting(true);
51
+ if (listeners?.['ON_SUBMIT_MESSAGE']) {
52
+ listeners['ON_SUBMIT_MESSAGE']();
53
+ }
54
+ handleSubmit(undefined);
55
+ await sleep(500);
56
+ setShowAudioPlayer(true);
57
+ }, [handleSubmit, listeners]);
58
+ const toAudioBase64 = (blob) => {
59
+ return new Promise((resolve) => {
60
+ let mimeType = getBestMimeType();
61
+ const pos = blob.type.indexOf(';');
62
+ if (pos === -1) {
63
+ mimeType = blob.type;
64
+ }
65
+ else {
66
+ mimeType = blob.type.substring(0, pos);
67
+ }
68
+ // read blob and add to previews
69
+ const reader = new FileReader();
70
+ reader.readAsDataURL(blob);
71
+ reader.onloadend = () => {
72
+ const base64data = reader.result;
73
+ const upload = {
74
+ tempId: generateUUID(),
75
+ data: base64data,
76
+ type: 'audio',
77
+ name: `audio_${Date.now()}.${getFileExtension(mimeType)}`,
78
+ mime: mimeType,
79
+ };
80
+ resolve(upload);
81
+ };
82
+ });
83
+ };
84
+ const speechToText = async (blob) => {
85
+ try {
86
+ setTranscribing(true);
87
+ const fileUpload = await toAudioBase64(blob);
88
+ const base64Data = fileUpload.data.replace(/^data:.+;base64,/, '');
89
+ const byteCharacters = atob(base64Data); // Decode Base64 string
90
+ const byteNumbers = new Array(byteCharacters.length);
91
+ for (let i = 0; i < byteCharacters.length; i++) {
92
+ byteNumbers[i] = byteCharacters.charCodeAt(i);
93
+ }
94
+ const byteArray = new Uint8Array(byteNumbers);
95
+ const file = new File([byteArray], fileUpload.name, {
96
+ lastModified: new Date().getTime(),
97
+ type: fileUpload.type,
98
+ });
99
+ const text = await getAudioTranscript({ file, apiHost, language });
100
+ if (text) {
101
+ handleSetInput(text);
102
+ }
103
+ }
104
+ catch (error) {
105
+ console.error('Error getting audio transcript!', error);
106
+ }
107
+ finally {
108
+ setTranscribing(false);
109
+ }
110
+ };
111
+ const handleFinishRecording = () => {
112
+ if (isRecording) {
113
+ onRecordingStopped(speechToText);
114
+ }
115
+ if (listeners?.['ON_FINISHED_RECORDING']) {
116
+ listeners['ON_FINISHED_RECORDING']();
117
+ }
118
+ };
119
+ const handleStartRecording = useCallback(() => {
120
+ onRecordingStarted();
121
+ handleSetInput('');
122
+ if (listeners?.['ON_START_RECORDING']) {
123
+ listeners['ON_START_RECORDING']();
124
+ }
125
+ }, [onRecordingStarted, handleSetInput, listeners]);
126
+ const handleCancelRecording = () => {
127
+ onRecordingCancelled();
128
+ handleSetInput('');
129
+ if (listeners?.['ON_CANCEL_RECORDING']) {
130
+ listeners['ON_CANCEL_RECORDING']();
131
+ }
132
+ };
133
+ const handleSend = useCallback(async () => {
134
+ if (!isRecording) {
135
+ submitForm();
136
+ }
137
+ }, [submitForm, isRecording]);
138
+ const handleOnClickOpenChatmode = () => {
139
+ handleOnClick('WelcomeMsg');
140
+ };
141
+ const handleOnClick = (type) => {
142
+ if (listeners?.['ON_CLICK']) {
143
+ listeners['ON_CLICK'](type);
144
+ }
145
+ };
146
+ const handleToggleExpand = () => {
147
+ handleOnClick('ClickButtonAI');
148
+ setExpanded(!expanded);
149
+ setAnimationCompleted(false);
150
+ if (!expanded) {
151
+ // Focus vào textarea khi expand
152
+ setTimeout(() => {
153
+ if (textareaRef.current) {
154
+ textareaRef.current.focus();
155
+ }
156
+ }, 300);
157
+ }
158
+ };
159
+ useEffect(() => {
160
+ adjustHeight();
161
+ }, [input, readonly]);
162
+ useEffect(() => {
163
+ setInputRef.current = setInput;
164
+ }, [setInput]);
165
+ useEffect(() => {
166
+ if (onLoaded) {
167
+ onLoaded({
168
+ setInput: (txt) => {
169
+ if (setInputRef.current) {
170
+ setInputRef.current(txt || '');
171
+ }
172
+ },
173
+ startRecording: async () => {
174
+ handleStartRecording();
175
+ },
176
+ });
177
+ }
178
+ }, []);
179
+ useEffect(() => {
180
+ setEnableTTS(true);
181
+ return () => {
182
+ setEnableTTS(false);
183
+ };
184
+ }, [setEnableTTS]);
185
+ useEffect(() => {
186
+ if (message && submitting) {
187
+ setSubmitting(false);
188
+ if (listeners?.['ON_FINISHED_SUBMITTING_MESSAGE']) {
189
+ listeners['ON_FINISHED_SUBMITTING_MESSAGE']();
190
+ }
191
+ }
192
+ }, [message, submitting, listeners]);
193
+ const recordingPlaceholder = isRecording && !transcribing
194
+ ? theme?.input?.recordingPlaceholder || 'Recording...'
195
+ : '';
196
+ const transcribingPlaceholder = transcribing
197
+ ? theme?.input?.transcribingPlaceholder || 'Transcribing...'
198
+ : '';
199
+ const processing = isRecording || transcribing;
200
+ const canShowAudioPlayer = !theme?.noAutoplayMessage &&
201
+ showAudioPlayer &&
202
+ message?.new &&
203
+ message?.tts;
204
+ // Animation variants
205
+ const containerVariants = {
206
+ collapsed: {
207
+ width: '0px',
208
+ height: '0px',
209
+ opacity: 0,
210
+ borderRadius: '28px',
211
+ },
212
+ expanded: {
213
+ width: width ? `${width - gapInput}px` : '400px',
214
+ height: 'auto',
215
+ opacity: 1,
216
+ borderRadius: '16px',
217
+ },
218
+ };
219
+ const contentVariants = {
220
+ collapsed: {
221
+ opacity: 0,
222
+ scale: 0.8,
223
+ },
224
+ expanded: {
225
+ opacity: 1,
226
+ scale: 1,
227
+ },
228
+ };
229
+ const showButtonAI = !isRecording &&
230
+ modeButtonChat &&
231
+ !input?.length &&
232
+ !processing &&
233
+ !submitting &&
234
+ !transcribing;
235
+ const showToggleChatIcon = showButtonAI && expanded;
236
+ let centerWidthOffset = 72; // left: 24px, right: 32px, gap: 8px x 2, padding: 12px
237
+ if (transcribing || submitting) {
238
+ centerWidthOffset = 80; // left: 24px, right: 40px, gap: 8px x 2, padding: 12px
239
+ }
240
+ if (showToggleChatIcon) {
241
+ centerWidthOffset = 108; // left: 24px, right: 68px, gap: 8px x 2, padding: 12px
242
+ }
243
+ return (_jsxs("div", { className: "flex justify-end", children: [showButtonAI && (_jsx("div", { className: cn('absolute z-20 transition-all duration-300 top-1 right-1'), children: _jsx(Button, { className: cn('rounded-full bg-[#fff] hover:bg-[#fff] text-white border-none shadow-lg w-[40px] h-[40px] p-0 flex items-center justify-center', expanded && 'bg-[#595959] hover:bg-[#595959] text-white'), onClick: handleToggleExpand, children: expanded ? (_jsx(ClikChatIcon, { size: 24, style: { width: '24px', height: '24px' } })) : (_jsx(ClikAIIcon, { size: 24, style: { width: '24px', height: '24px' } })) }) })), _jsxs(motion.div, { variants: containerVariants, initial: "collapsed", animate: expanded ? 'expanded' : 'collapsed', transition: { duration: 0.3, ease: 'easeInOut' }, className: cn('relative flex gap-4 bg-[#ffffff] py-[8px] px-[12px] scrollbar-hidden border border-[#E5E5E5] shadow-[0px_2px_6px_0px_rgba(0,0,0,0.08)] backdrop-blur-[50px]', className, {
244
+ 'flex-col min-h-[48px]': !canShowAudioPlayer && expanded,
245
+ 'flex-row min-h-[48px]': canShowAudioPlayer && expanded,
246
+ 'items-center justify-center': !expanded,
247
+ }), children: [_jsx(AnimatePresence, { children: expanded && (_jsx(motion.div, { variants: contentVariants, initial: "collapsed", animate: "expanded", exit: "collapsed", transition: { duration: 0.2, delay: 0 }, onAnimationComplete: () => setAnimationCompleted(true), className: `w-full ${showButtonAI ? 'pr-9' : ''}`, children: !canShowAudioPlayer && (_jsxs(_Fragment, { children: [!processing && !!input?.length && (_jsx("textarea", { readOnly: readonly, ref: textareaRef, value: input, onChange: handleInput, placeholder: "Nh\u1EADp tin nh\u1EAFn c\u1EE7a b\u1EA1n...", className: cn(`resize-none text-base bg-muted bg-[#ffffff] scrollbar-hidden ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 w-full mb-3`), style: {
248
+ fontSize: '16px',
249
+ }, onKeyDown: (event) => {
250
+ if (isRecording) {
251
+ return;
252
+ }
253
+ if (event.key === 'Enter' && !event.shiftKey) {
254
+ event.preventDefault();
255
+ if (loadingChat) {
256
+ console.error('Please wait for the model to finish its response!');
257
+ }
258
+ else {
259
+ handleSend();
260
+ }
261
+ }
262
+ } })), processing && (_jsx("div", { className: cn(`placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 resize-none text-base scrollbar-hidden mb-3`, className), style: {
263
+ fontSize: '16px',
264
+ }, children: _jsxs("div", { className: "animate-pulse", children: [recordingPlaceholder, transcribingPlaceholder] }) })), _jsxs("div", { className: "flex flex-row gap-[8px] items-center justify-between", children: [_jsxs("div", { className: "w-[24px] h-[24px]", children: [!isRecording && (_jsx("button", { className: "w-[24px] h-[24px] opacity-100", onClick: (e) => {
265
+ e.preventDefault();
266
+ e.stopPropagation();
267
+ handleOnClick('ChangeLanguage');
268
+ }, "aria-label": "Change language", children: _jsx("span", { className: "text-[#595959] text-center text-[12px] border-[1px] font-bold rounded-[4px] border-[#595959] px-[2px]", children: language }) })), isRecording && (_jsx(Button, { disabled: isLoadingRecording, className: "rounded-full dark:border-zinc-700 h-[24px] w-[24px] px-0 py-0", variant: "outline", onClick: (event) => {
269
+ event.preventDefault();
270
+ handleOnClick('CancelRecording');
271
+ handleCancelRecording();
272
+ }, children: _jsx(ClikCloseIcon, { className: "!w-full !h-full" }) }))] }), _jsxs("div", { className: "min-h-[24px] flex items-center justify-center text-ellipsis overflow-hidden whitespace-nowrap", style: { width: `calc(100% - ${centerWidthOffset}px)` }, children: [!isRecording &&
273
+ !input?.length &&
274
+ !loadingChat &&
275
+ !transcribing &&
276
+ animationCompleted && (_jsx("div", { className: "text-center text-[14px] text-muted-foreground cursor-pointer w-full text-ellipsis overflow-hidden whitespace-nowrap", onClick: handleOnClickOpenChatmode, children: welcomeMessage })), isRecording && (_jsx(AnimatedRecordingIcon, { frequencies: audioData?.frequencies, isActive: true }))] }), !input?.length && (_jsxs("div", { className: "relative", style: transcribing || submitting
277
+ ? { width: '40px', height: '40px', padding: '4px' }
278
+ : undefined, children: [(transcribing || submitting) && (_jsx("div", { className: "absolute rounded-full left-0 top-0 w-[40px] h-[40px] animate-spin z-[1]", style: {
279
+ background: 'conic-gradient(from 180deg at 50% 50%, #1E6EB4 0deg, rgba(30, 110, 180, 0) 360deg)',
280
+ } })), (!isRecording || transcribing) && (_jsxs(Button, { className: "relative rounded-full z-[2] w-[32px] h-[32px] m-0 text-[#18181B] disabled:opacity-100", onClick: (event) => {
281
+ event.preventDefault();
282
+ handleOnClick('StartRecording');
283
+ handleStartRecording();
284
+ }, variant: "outline", size: "icon", disabled: loadingChat || isRecording || submitting, children: [!submitting && _jsx(ClikMicrophoneIcon, { size: 20 }), submitting && _jsx(ArrowUpIcon, { size: 20 })] }))] })), !input?.length && isRecording && !isLoadingRecording && (_jsx(Button, { className: "rounded-full dark:border-zinc-700 p-0 w-[32px] h-[32px] border-none flex-shrink-0", variant: "outline", onClick: (event) => {
285
+ event.preventDefault();
286
+ handleOnClick('FinishRecording');
287
+ handleFinishRecording();
288
+ }, children: _jsx(CheckCirclFillIcon, { className: "!w-full !h-full" }) })), !!input?.length && (_jsxs("div", { className: "relative flex gap-[4px]", children: [_jsx(Button, { className: "rounded-full z-[2] p-1.5 w-[32px] h-[32px] m-0 px-2 py-1 text-[#18181B]", onClick: (event) => {
289
+ event.preventDefault();
290
+ handleOnClick('StartRecording');
291
+ handleStartRecording();
292
+ }, variant: "outline", disabled: loadingChat, children: _jsx(ClikMicrophoneIcon, { size: 16 }) }), _jsx(Button, { className: "rounded-full z-[2] p-1.5 w-[32px] h-[32px] m-0 bg-zinc-900 hover:bg-zinc-900 px-2 py-1 text-[#FFF]", onClick: (event) => {
293
+ event.preventDefault();
294
+ handleOnClick('Submit');
295
+ handleSend();
296
+ }, disabled: isRecording || !input?.length || loadingChat, children: _jsx(ArrowUpIcon, { size: 16 }) })] }))] })] })) })) }), canShowAudioPlayer && expanded && (_jsx(motion.div, { variants: contentVariants, initial: "collapsed", animate: "expanded", exit: "collapsed", transition: { duration: 0.2, delay: 0 }, className: "w-full", children: _jsx(AudioPlayerSimplified, { message: message, chatId: chatId, autoplay: true, onClose: () => {
297
+ setShowAudioPlayer(false);
298
+ onAudioEnded();
299
+ } }) }))] })] }));
300
+ };
301
+ //# sourceMappingURL=MultimodalInputSimplifiedOld.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultimodalInputSimplifiedOld.js","sourceRoot":"","sources":["../../../../src/components/Chat/Simplified/MultimodalInputSimplifiedOld.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AnimatePresence, motion } from 'framer-motion';\nimport {\n type ChangeEvent,\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useWindowSize } from 'usehooks-ts';\nimport { useAudioRecording } from '../../../hooks/useAudioRecording';\nimport { useChatData } from '../../../hooks/useChatData';\nimport { useConfiguration } from '../../../hooks/useConfiguration';\nimport { getAudioTranscript } from '../../../services/chat.service';\nimport { BotType } from '../../../types/bot.type';\nimport { ChatMessageType, IFileUpload } from '../../../types/flowise.type';\nimport { cn, generateUUID, sleep } from '../../../utils/commonUtils';\nimport { getBestMimeType, getFileExtension } from '../../../utils/fileUtils';\nimport {\n AnimatedRecordingIcon,\n ArrowUpIcon,\n CheckCirclFillIcon,\n ClikAIIcon,\n ClikChatIcon,\n ClikCloseIcon,\n ClikMicrophoneIcon,\n} from '../Icons';\nimport { Button } from '../ui/Button';\nimport AudioPlayerSimplified from './AudioPlayerSimplified';\n\ntype PropsType = {\n input: string;\n setInput: (value: string) => void;\n loadingChat: boolean;\n message: ChatMessageType | null;\n chatId: string;\n handleSubmit: (\n event?: { preventDefault?: () => void },\n files?: IFileUpload[]\n ) => void;\n className?: string;\n bot: BotType | null;\n apiHost: string;\n setEnableTTS: (value: boolean) => void;\n enableTTS: boolean;\n onAudioEnded: () => void;\n};\n\ntype ClickType =\n | 'ChangeLanguage'\n | 'WelcomeMsg'\n | 'StartRecording'\n | 'CancelRecording'\n | 'FinishRecording'\n | 'PauseAudio'\n | 'PlayAudio'\n | 'CloseAudio'\n | 'Submit'\n | 'ClickButtonAI';\n\nexport const MultimodalInputSimplified: FC<PropsType> = (props) => {\n const {\n input,\n setInput,\n loadingChat,\n message,\n chatId,\n handleSubmit,\n className,\n bot,\n apiHost,\n setEnableTTS,\n onAudioEnded,\n } = props;\n const { onLoaded, theme = {} } = useConfiguration();\n const { modeButtonChat = false, gapInput = 16 } = theme;\n const { listeners } = useChatData();\n const {\n isRecording,\n onRecordingCancelled,\n onRecordingStopped,\n onRecordingStarted,\n isLoadingRecording,\n audioData,\n } = useAudioRecording();\n const { width } = useWindowSize();\n\n const language =\n theme?.language?.options\n ?.find((option) => option.code === theme?.language?.code)\n ?.name?.toUpperCase() || 'EN';\n\n const [transcribing, setTranscribing] = useState<boolean>(false);\n const [showAudioPlayer, setShowAudioPlayer] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const [expanded, setExpanded] = useState(!modeButtonChat);\n const [animationCompleted, setAnimationCompleted] = useState(false);\n\n const textareaRef = useRef<HTMLTextAreaElement | null>(null);\n const setInputRef = useRef<((input: string) => void) | null>(null);\n\n const welcomeMessage =\n theme.welcomeMessage || \"Hi, I'm your showroom assistant\";\n const adjustHeight = () => {\n if (textareaRef.current) {\n (textareaRef.current as HTMLTextAreaElement).style.height = '24px';\n (textareaRef.current as HTMLTextAreaElement).style.height =\n `${textareaRef.current?.scrollHeight}px`;\n }\n };\n\n const readonly = isRecording || transcribing;\n const handleSetInput = useCallback(\n (value: string) => {\n setInput(value);\n },\n [setInput]\n );\n\n const handleInput = (event: ChangeEvent<HTMLTextAreaElement>) => {\n handleSetInput(event.target.value);\n\n if (textareaRef.current) {\n textareaRef.current.scrollTop = textareaRef.current.scrollHeight;\n }\n };\n\n const submitForm = useCallback(async () => {\n setSubmitting(true);\n if (listeners?.['ON_SUBMIT_MESSAGE']) {\n listeners['ON_SUBMIT_MESSAGE']();\n }\n handleSubmit(undefined);\n await sleep(500);\n setShowAudioPlayer(true);\n }, [handleSubmit, listeners]);\n\n const toAudioBase64 = (blob: Blob) => {\n return new Promise<IFileUpload>((resolve) => {\n let mimeType = getBestMimeType();\n const pos = blob.type.indexOf(';');\n if (pos === -1) {\n mimeType = blob.type;\n } else {\n mimeType = blob.type.substring(0, pos);\n }\n\n // read blob and add to previews\n const reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n const base64data = reader.result as string;\n const upload: IFileUpload = {\n tempId: generateUUID(),\n data: base64data,\n type: 'audio',\n name: `audio_${Date.now()}.${getFileExtension(mimeType)}`,\n mime: mimeType,\n };\n resolve(upload);\n };\n });\n };\n\n const speechToText = async (blob: Blob) => {\n try {\n setTranscribing(true);\n const fileUpload = await toAudioBase64(blob);\n const base64Data = fileUpload.data!.replace(/^data:.+;base64,/, '');\n const byteCharacters = atob(base64Data); // Decode Base64 string\n const byteNumbers = new Array(byteCharacters.length);\n\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n\n const byteArray = new Uint8Array(byteNumbers);\n const file = new File([byteArray], fileUpload.name, {\n lastModified: new Date().getTime(),\n type: fileUpload.type,\n });\n\n const text = await getAudioTranscript({ file, apiHost, language });\n if (text) {\n handleSetInput(text);\n }\n } catch (error) {\n console.error('Error getting audio transcript!', error);\n } finally {\n setTranscribing(false);\n }\n };\n\n const handleFinishRecording = () => {\n if (isRecording) {\n onRecordingStopped(speechToText);\n }\n if (listeners?.['ON_FINISHED_RECORDING']) {\n listeners['ON_FINISHED_RECORDING']();\n }\n };\n\n const handleStartRecording = useCallback(() => {\n onRecordingStarted();\n handleSetInput('');\n if (listeners?.['ON_START_RECORDING']) {\n listeners['ON_START_RECORDING']();\n }\n }, [onRecordingStarted, handleSetInput, listeners]);\n\n const handleCancelRecording = () => {\n onRecordingCancelled();\n handleSetInput('');\n if (listeners?.['ON_CANCEL_RECORDING']) {\n listeners['ON_CANCEL_RECORDING']();\n }\n };\n\n const handleSend = useCallback(async () => {\n if (!isRecording) {\n submitForm();\n }\n }, [submitForm, isRecording]);\n\n const handleOnClickOpenChatmode = () => {\n handleOnClick('WelcomeMsg');\n };\n\n const handleOnClick = (type?: ClickType) => {\n if (listeners?.['ON_CLICK']) {\n listeners['ON_CLICK'](type);\n }\n };\n\n const handleToggleExpand = () => {\n handleOnClick('ClickButtonAI');\n setExpanded(!expanded);\n setAnimationCompleted(false);\n if (!expanded) {\n // Focus vào textarea khi expand\n setTimeout(() => {\n if (textareaRef.current) {\n textareaRef.current.focus();\n }\n }, 300);\n }\n };\n\n useEffect(() => {\n adjustHeight();\n }, [input, readonly]);\n\n useEffect(() => {\n setInputRef.current = setInput;\n }, [setInput]);\n\n useEffect(() => {\n if (onLoaded) {\n onLoaded({\n setInput: (txt): void => {\n if (setInputRef.current) {\n setInputRef.current(txt || '');\n }\n },\n startRecording: async () => {\n handleStartRecording();\n },\n });\n }\n }, []);\n\n useEffect(() => {\n setEnableTTS(true);\n return () => {\n setEnableTTS(false);\n };\n }, [setEnableTTS]);\n\n useEffect(() => {\n if (message && submitting) {\n setSubmitting(false);\n if (listeners?.['ON_FINISHED_SUBMITTING_MESSAGE']) {\n listeners['ON_FINISHED_SUBMITTING_MESSAGE']();\n }\n }\n }, [message, submitting, listeners]);\n\n const recordingPlaceholder =\n isRecording && !transcribing\n ? theme?.input?.recordingPlaceholder || 'Recording...'\n : '';\n\n const transcribingPlaceholder = transcribing\n ? theme?.input?.transcribingPlaceholder || 'Transcribing...'\n : '';\n\n const processing = isRecording || transcribing;\n const canShowAudioPlayer =\n !theme?.noAutoplayMessage &&\n showAudioPlayer &&\n message?.new &&\n message?.tts;\n\n // Animation variants\n const containerVariants = {\n collapsed: {\n width: '0px',\n height: '0px',\n opacity: 0,\n borderRadius: '28px',\n },\n expanded: {\n width: width ? `${width - gapInput}px` : '400px',\n height: 'auto',\n opacity: 1,\n borderRadius: '16px',\n },\n };\n\n const contentVariants = {\n collapsed: {\n opacity: 0,\n scale: 0.8,\n },\n expanded: {\n opacity: 1,\n scale: 1,\n },\n };\n\n const showButtonAI =\n !isRecording &&\n modeButtonChat &&\n !input?.length &&\n !processing &&\n !submitting &&\n !transcribing;\n\n const showToggleChatIcon = showButtonAI && expanded;\n let centerWidthOffset = 72; // left: 24px, right: 32px, gap: 8px x 2, padding: 12px\n if (transcribing || submitting) {\n centerWidthOffset = 80; // left: 24px, right: 40px, gap: 8px x 2, padding: 12px\n }\n if (showToggleChatIcon) {\n centerWidthOffset = 108; // left: 24px, right: 68px, gap: 8px x 2, padding: 12px\n }\n\n return (\n <div className=\"flex justify-end\">\n {showButtonAI && (\n <div\n className={cn(\n 'absolute z-20 transition-all duration-300 top-1 right-1'\n )}\n >\n <Button\n className={cn(\n 'rounded-full bg-[#fff] hover:bg-[#fff] text-white border-none shadow-lg w-[40px] h-[40px] p-0 flex items-center justify-center',\n expanded && 'bg-[#595959] hover:bg-[#595959] text-white'\n )}\n onClick={handleToggleExpand}\n >\n {expanded ? (\n <ClikChatIcon\n size={24}\n style={{ width: '24px', height: '24px' }}\n />\n ) : (\n <ClikAIIcon size={24} style={{ width: '24px', height: '24px' }} />\n )}\n </Button>\n </div>\n )}\n <motion.div\n variants={containerVariants}\n initial=\"collapsed\"\n animate={expanded ? 'expanded' : 'collapsed'}\n transition={{ duration: 0.3, ease: 'easeInOut' }}\n className={cn(\n 'relative flex gap-4 bg-[#ffffff] py-[8px] px-[12px] scrollbar-hidden border border-[#E5E5E5] shadow-[0px_2px_6px_0px_rgba(0,0,0,0.08)] backdrop-blur-[50px]',\n className,\n {\n 'flex-col min-h-[48px]': !canShowAudioPlayer && expanded,\n 'flex-row min-h-[48px]': canShowAudioPlayer && expanded,\n 'items-center justify-center': !expanded,\n }\n )}\n >\n <AnimatePresence>\n {expanded && (\n <motion.div\n variants={contentVariants}\n initial=\"collapsed\"\n animate=\"expanded\"\n exit=\"collapsed\"\n transition={{ duration: 0.2, delay: 0 }}\n onAnimationComplete={() => setAnimationCompleted(true)}\n className={`w-full ${showButtonAI ? 'pr-9' : ''}`}\n >\n {!canShowAudioPlayer && (\n <>\n {!processing && !!input?.length && (\n <textarea\n readOnly={readonly}\n ref={textareaRef}\n value={input}\n onChange={handleInput}\n placeholder=\"Nhập tin nhắn của bạn...\"\n className={cn(\n `resize-none text-base bg-muted bg-[#ffffff] scrollbar-hidden ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 w-full mb-3`\n )}\n style={{\n fontSize: '16px',\n }}\n onKeyDown={(event) => {\n if (isRecording) {\n return;\n }\n\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n if (loadingChat) {\n console.error(\n 'Please wait for the model to finish its response!'\n );\n } else {\n handleSend();\n }\n }\n }}\n />\n )}\n {processing && (\n <div\n className={cn(\n `placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 resize-none text-base scrollbar-hidden mb-3`,\n className\n )}\n style={{\n fontSize: '16px',\n }}\n >\n <div className=\"animate-pulse\">\n {recordingPlaceholder}\n {transcribingPlaceholder}\n </div>\n </div>\n )}\n <div className=\"flex flex-row gap-[8px] items-center justify-between\">\n <div className=\"w-[24px] h-[24px]\">\n {!isRecording && (\n <button\n className=\"w-[24px] h-[24px] opacity-100\"\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n handleOnClick('ChangeLanguage');\n }}\n aria-label=\"Change language\"\n >\n <span className=\"text-[#595959] text-center text-[12px] border-[1px] font-bold rounded-[4px] border-[#595959] px-[2px]\">\n {language}\n </span>\n </button>\n )}\n {isRecording && (\n <Button\n disabled={isLoadingRecording}\n className=\"rounded-full dark:border-zinc-700 h-[24px] w-[24px] px-0 py-0\"\n variant=\"outline\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('CancelRecording');\n handleCancelRecording();\n }}\n >\n <ClikCloseIcon className=\"!w-full !h-full\" />\n </Button>\n )}\n </div>\n <div\n className=\"min-h-[24px] flex items-center justify-center text-ellipsis overflow-hidden whitespace-nowrap\"\n style={{ width: `calc(100% - ${centerWidthOffset}px)` }}\n >\n {!isRecording &&\n !input?.length &&\n !loadingChat &&\n !transcribing &&\n animationCompleted && (\n <div\n className=\"text-center text-[14px] text-muted-foreground cursor-pointer w-full text-ellipsis overflow-hidden whitespace-nowrap\"\n onClick={handleOnClickOpenChatmode}\n >\n {welcomeMessage}\n </div>\n )}\n {isRecording && (\n <AnimatedRecordingIcon\n frequencies={audioData?.frequencies}\n isActive={true}\n />\n )}\n </div>\n {!input?.length && (\n <div\n className=\"relative\"\n style={\n transcribing || submitting\n ? { width: '40px', height: '40px', padding: '4px' }\n : undefined\n }\n >\n {(transcribing || submitting) && (\n <div\n className=\"absolute rounded-full left-0 top-0 w-[40px] h-[40px] animate-spin z-[1]\"\n style={{\n background:\n 'conic-gradient(from 180deg at 50% 50%, #1E6EB4 0deg, rgba(30, 110, 180, 0) 360deg)',\n }}\n ></div>\n )}\n {(!isRecording || transcribing) && (\n <Button\n className=\"relative rounded-full z-[2] w-[32px] h-[32px] m-0 text-[#18181B] disabled:opacity-100\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('StartRecording');\n handleStartRecording();\n }}\n variant=\"outline\"\n size=\"icon\"\n disabled={loadingChat || isRecording || submitting}\n >\n {!submitting && <ClikMicrophoneIcon size={20} />}\n {submitting && <ArrowUpIcon size={20} />}\n </Button>\n )}\n </div>\n )}\n\n {!input?.length && isRecording && !isLoadingRecording && (\n <Button\n className=\"rounded-full dark:border-zinc-700 p-0 w-[32px] h-[32px] border-none flex-shrink-0\"\n variant=\"outline\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('FinishRecording');\n handleFinishRecording();\n }}\n >\n <CheckCirclFillIcon className=\"!w-full !h-full\" />\n </Button>\n )}\n\n {!!input?.length && (\n <div className=\"relative flex gap-[4px]\">\n <Button\n className=\"rounded-full z-[2] p-1.5 w-[32px] h-[32px] m-0 px-2 py-1 text-[#18181B]\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('StartRecording');\n handleStartRecording();\n }}\n variant=\"outline\"\n disabled={loadingChat}\n >\n <ClikMicrophoneIcon size={16} />\n </Button>\n <Button\n className=\"rounded-full z-[2] p-1.5 w-[32px] h-[32px] m-0 bg-zinc-900 hover:bg-zinc-900 px-2 py-1 text-[#FFF]\"\n onClick={(event) => {\n event.preventDefault();\n handleOnClick('Submit');\n handleSend();\n }}\n disabled={\n isRecording || !input?.length || loadingChat\n }\n >\n <ArrowUpIcon size={16} />\n </Button>\n </div>\n )}\n </div>\n </>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n\n {/* Audio Player */}\n {canShowAudioPlayer && expanded && (\n <motion.div\n variants={contentVariants}\n initial=\"collapsed\"\n animate=\"expanded\"\n exit=\"collapsed\"\n transition={{ duration: 0.2, delay: 0 }}\n className=\"w-full\"\n >\n <AudioPlayerSimplified\n message={message}\n chatId={chatId}\n autoplay\n onClose={() => {\n setShowAudioPlayer(false);\n onAudioEnded();\n }}\n />\n </motion.div>\n )}\n </motion.div>\n </div>\n );\n};\n"]}
@@ -0,0 +1,10 @@
1
+ import { FC } from 'react';
2
+ import { ChatMessageType } from '../../../types/flowise.type';
3
+ type PropsType = {
4
+ id?: string;
5
+ initialMessages?: ChatMessageType[];
6
+ agentId?: string;
7
+ };
8
+ declare const SimplifiedChat: FC<PropsType>;
9
+ export default SimplifiedChat;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/Simplified/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,KAAK,SAAS,GAAG;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,SAAS,CAuDjC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { useChat } from '../../../hooks/useChat';
4
+ import { useConfiguration } from '../../../hooks/useConfiguration';
5
+ import { MultimodalInputSimplified } from './MultimodalInputSimplified';
6
+ const SimplifiedChat = ({ id, agentId, initialMessages = [], }) => {
7
+ const { messages = [], handleSubmit, input = '', setInput, isLoading, chatId, bot, enableTTS, setEnableTTS, } = useChat({ id, initialMessages, agentId });
8
+ const { apiHost } = useConfiguration();
9
+ const lastMsgIdRef = useRef(undefined);
10
+ const [message, setMessage] = useState(null);
11
+ const latestMsg = messages.findLast((msg) => msg.new && msg.tts);
12
+ useEffect(() => {
13
+ if (!latestMsg) {
14
+ return;
15
+ }
16
+ if (!!lastMsgIdRef.current && lastMsgIdRef.current === latestMsg.id) {
17
+ return;
18
+ }
19
+ if (latestMsg.ttsUrl && latestMsg.ttsUrl.startsWith('http')) {
20
+ lastMsgIdRef.current = latestMsg.id;
21
+ }
22
+ setMessage(latestMsg);
23
+ }, [latestMsg]);
24
+ const handleOnAudioEnded = () => {
25
+ setMessage(null);
26
+ };
27
+ return (_jsx(MultimodalInputSimplified, { input: input, setInput: setInput, chatId: chatId, handleSubmit: handleSubmit, loadingChat: isLoading, message: message, bot: bot, apiHost: apiHost, setEnableTTS: setEnableTTS, enableTTS: enableTTS, onAudioEnded: handleOnAudioEnded }));
28
+ };
29
+ export default SimplifiedChat;
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Chat/Simplified/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAM,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAQxE,MAAM,cAAc,GAAkB,CAAC,EACrC,EAAE,EACF,OAAO,EACP,eAAe,GAAG,EAAE,GACrB,EAAE,EAAE;IACH,MAAM,EACJ,QAAQ,GAAG,EAAE,EACb,YAAY,EACZ,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,SAAS,EACT,MAAM,EACN,GAAG,EACH,SAAS,EACT,YAAY,GACb,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IAC3D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAErE,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;QACtC,CAAC;QACD,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,yBAAyB,IACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB,GAChC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { FC, useEffect, useRef, useState } from 'react';\nimport { useChat } from '../../../hooks/useChat';\nimport { useConfiguration } from '../../../hooks/useConfiguration';\nimport { ChatMessageType } from '../../../types/flowise.type';\nimport { MultimodalInputSimplified } from './MultimodalInputSimplified';\n\ntype PropsType = {\n id?: string;\n initialMessages?: ChatMessageType[];\n agentId?: string;\n};\n\nconst SimplifiedChat: FC<PropsType> = ({\n id,\n agentId,\n initialMessages = [],\n}) => {\n const {\n messages = [],\n handleSubmit,\n input = '',\n setInput,\n isLoading,\n chatId,\n bot,\n enableTTS,\n setEnableTTS,\n } = useChat({ id, initialMessages, agentId });\n const { apiHost } = useConfiguration();\n const lastMsgIdRef = useRef<string | undefined>(undefined);\n const [message, setMessage] = useState<ChatMessageType | null>(null);\n\n const latestMsg = messages.findLast((msg) => msg.new && msg.tts);\n useEffect(() => {\n if (!latestMsg) {\n return;\n }\n\n if (!!lastMsgIdRef.current && lastMsgIdRef.current === latestMsg.id) {\n return;\n }\n\n if (latestMsg.ttsUrl && latestMsg.ttsUrl.startsWith('http')) {\n lastMsgIdRef.current = latestMsg.id;\n }\n setMessage(latestMsg);\n }, [latestMsg]);\n\n const handleOnAudioEnded = () => {\n setMessage(null);\n };\n\n return (\n <MultimodalInputSimplified\n input={input}\n setInput={setInput}\n chatId={chatId}\n handleSubmit={handleSubmit}\n loadingChat={isLoading}\n message={message}\n bot={bot}\n apiHost={apiHost}\n setEnableTTS={setEnableTTS}\n enableTTS={enableTTS}\n onAudioEnded={handleOnAudioEnded}\n />\n );\n};\n\nexport default SimplifiedChat;\n"]}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { SuggestionType } from 'types/common.type';
3
+ import { ChatMessageType } from 'types/flowise.type';
4
+ interface SuggestedActionsProps {
5
+ suggestedActions?: SuggestionType[];
6
+ append?: (message: ChatMessageType) => Promise<void>;
7
+ layoutMode?: string;
8
+ suggestedActionRows?: number;
9
+ }
10
+ declare const SuggestedActions: React.FC<SuggestedActionsProps>;
11
+ export default SuggestedActions;
12
+ //# sourceMappingURL=SuggestedActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedActions.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/SuggestedActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,UAAU,qBAAqB;IAC7B,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwDrD,CAAC;AA6BF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { motion } from 'framer-motion';
3
+ import { LAYOUT_MODE } from 'commons/constants';
4
+ const SuggestedActions = ({ suggestedActions, append, layoutMode = LAYOUT_MODE.SCROLL, suggestedActionRows = 1, }) => {
5
+ if (!suggestedActions?.length)
6
+ return null;
7
+ const containerHeight = suggestedActionRows * 60;
8
+ const animation = {
9
+ initial: { opacity: 0, y: 20 },
10
+ animate: { opacity: 1, y: 0 },
11
+ exit: { opacity: 0, y: 20 },
12
+ };
13
+ return layoutMode === LAYOUT_MODE.GRID ? (
14
+ // UI Grid (2 columns)
15
+ _jsx("div", { className: "grid sm:grid-cols-2 gap-2 w-full", children: suggestedActions.map((suggestedAction, index) => (_jsx(motion.div, { ...animation, transition: { delay: 0.05 * index }, className: index > 1 ? 'hidden sm:block' : 'block', children: _jsx(ActionButton, { suggestedAction: suggestedAction, append: append }) }, `suggested-action-${suggestedAction.title}-${index}`))) })) : (
16
+ // UI Scroll
17
+ _jsx("div", { className: "w-full overflow-x-auto scrollbar-hidden", style: { maxHeight: `${containerHeight}px` }, children: _jsx("div", { style: {
18
+ gap: '8px',
19
+ display: 'grid',
20
+ gridAutoFlow: 'column',
21
+ gridTemplateRows: `repeat(${suggestedActionRows}, minmax(0, 1fr))`,
22
+ }, children: suggestedActions.map((suggestedAction, index) => (_jsx(motion.div, { ...animation, transition: { delay: 0.05 * index }, children: _jsx(ActionButton, { suggestedAction: suggestedAction, append: append }) }, `suggested-action-${suggestedAction.title}-${index}`))) }) }));
23
+ };
24
+ const ActionButton = ({ suggestedAction, append, }) => (_jsxs("button", { onClick: (e) => {
25
+ e.preventDefault();
26
+ if (append) {
27
+ append({ role: 'apiMessage', content: suggestedAction.action });
28
+ }
29
+ }, className: "text-left rounded-3xl border border-[#E5E5E5] px-[12px] py-[4px] text-sm flex-1 gap-1 sm:flex-col h-[36px] w-full justify-start items-start", children: [_jsx("span", { className: "text-[#595959] font-inter text-sm font-normal leading-6 overflow-hidden whitespace-nowrap text-ellipsis w-full group-hover:overflow-visible group-hover:whitespace-normal", children: suggestedAction.title }), !!suggestedAction.label && (_jsx("span", { className: "text-muted-foreground", children: suggestedAction.label }))] }));
30
+ export default SuggestedActions;
31
+ //# sourceMappingURL=SuggestedActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestedActions.js","sourceRoot":"","sources":["../../../src/components/Chat/SuggestedActions.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAShD,MAAM,gBAAgB,GAAoC,CAAC,EACzD,gBAAgB,EAChB,MAAM,EACN,UAAU,GAAG,WAAW,CAAC,MAAM,EAC/B,mBAAmB,GAAG,CAAC,GACxB,EAAE,EAAE;IACH,IAAI,CAAC,gBAAgB,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,eAAe,GAAG,mBAAmB,GAAG,EAAE,CAAC;IAEjD,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QAC9B,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;QAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;KAC5B,CAAC;IAEF,OAAO,UAAU,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,uBAAuB;IACvB,cAAK,SAAS,EAAC,kCAAkC,YAC9C,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,CAChD,KAAC,MAAM,CAAC,GAAG,OAEL,SAAS,EACb,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,EACnC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,YAElD,KAAC,YAAY,IAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAI,IAL7D,oBAAoB,eAAe,CAAC,KAAK,IAAI,KAAK,EAAE,CAM9C,CACd,CAAC,GACE,CACP,CAAC,CAAC,CAAC;IACF,aAAa;IACb,cACE,SAAS,EAAC,yCAAyC,EACnD,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,eAAe,IAAI,EAAE,YAE5C,cACE,KAAK,EAAE;gBACL,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,QAAQ;gBACtB,gBAAgB,EAAE,UAAU,mBAAmB,mBAAmB;aACnE,YAEA,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,CAAC,CAChD,KAAC,MAAM,CAAC,GAAG,OAEL,SAAS,EACb,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,YAEnC,KAAC,YAAY,IAAC,eAAe,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAI,IAJ7D,oBAAoB,eAAe,CAAC,KAAK,IAAI,KAAK,EAAE,CAK9C,CACd,CAAC,GACE,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,YAAY,GAAgC,CAAC,EACjD,eAAe,EACf,MAAM,GACP,EAAE,EAAE,CAAC,CACJ,kBACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACb,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,EACD,SAAS,EAAC,8IAA8I,aAExJ,eAAM,SAAS,EAAC,2KAA2K,YACxL,eAAe,CAAC,KAAK,GACjB,EACN,CAAC,CAAC,eAAe,CAAC,KAAK,IAAI,CAC1B,eAAM,SAAS,EAAC,uBAAuB,YAAE,eAAe,CAAC,KAAK,GAAQ,CACvE,IACM,CACV,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import React from 'react';\nimport { motion } from 'framer-motion';\nimport { SuggestionType } from 'types/common.type';\nimport { ChatMessageType } from 'types/flowise.type';\nimport { LAYOUT_MODE } from 'commons/constants';\n\ninterface SuggestedActionsProps {\n suggestedActions?: SuggestionType[];\n append?: (message: ChatMessageType) => Promise<void>;\n layoutMode?: string;\n suggestedActionRows?: number;\n}\n\nconst SuggestedActions: React.FC<SuggestedActionsProps> = ({\n suggestedActions,\n append,\n layoutMode = LAYOUT_MODE.SCROLL,\n suggestedActionRows = 1,\n}) => {\n if (!suggestedActions?.length) return null;\n\n const containerHeight = suggestedActionRows * 60;\n\n const animation = {\n initial: { opacity: 0, y: 20 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 20 },\n };\n\n return layoutMode === LAYOUT_MODE.GRID ? (\n // UI Grid (2 columns)\n <div className=\"grid sm:grid-cols-2 gap-2 w-full\">\n {suggestedActions.map((suggestedAction, index) => (\n <motion.div\n key={`suggested-action-${suggestedAction.title}-${index}`}\n {...animation}\n transition={{ delay: 0.05 * index }}\n className={index > 1 ? 'hidden sm:block' : 'block'}\n >\n <ActionButton suggestedAction={suggestedAction} append={append} />\n </motion.div>\n ))}\n </div>\n ) : (\n // UI Scroll\n <div\n className=\"w-full overflow-x-auto scrollbar-hidden\"\n style={{ maxHeight: `${containerHeight}px` }}\n >\n <div\n style={{\n gap: '8px',\n display: 'grid',\n gridAutoFlow: 'column',\n gridTemplateRows: `repeat(${suggestedActionRows}, minmax(0, 1fr))`,\n }}\n >\n {suggestedActions.map((suggestedAction, index) => (\n <motion.div\n key={`suggested-action-${suggestedAction.title}-${index}`}\n {...animation}\n transition={{ delay: 0.05 * index }}\n >\n <ActionButton suggestedAction={suggestedAction} append={append} />\n </motion.div>\n ))}\n </div>\n </div>\n );\n};\n\ninterface ActionButtonProps {\n suggestedAction: SuggestionType;\n append?: (message: ChatMessageType) => Promise<void>;\n}\n\nconst ActionButton: React.FC<ActionButtonProps> = ({\n suggestedAction,\n append,\n}) => (\n <button\n onClick={(e) => {\n e.preventDefault();\n if (append) {\n append({ role: 'apiMessage', content: suggestedAction.action });\n }\n }}\n className=\"text-left rounded-3xl border border-[#E5E5E5] px-[12px] py-[4px] text-sm flex-1 gap-1 sm:flex-col h-[36px] w-full justify-start items-start\"\n >\n <span className=\"text-[#595959] font-inter text-sm font-normal leading-6 overflow-hidden whitespace-nowrap text-ellipsis w-full group-hover:overflow-visible group-hover:whitespace-normal\">\n {suggestedAction.title}\n </span>\n {!!suggestedAction.label && (\n <span className=\"text-muted-foreground\">{suggestedAction.label}</span>\n )}\n </button>\n);\n\nexport default SuggestedActions;\n"]}