@modochats/widget 0.1.0 → 0.1.2

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 (106) hide show
  1. package/dist/src/models/conversation.js +1 -1
  2. package/dist/src/types/app.js +1 -0
  3. package/package.json +1 -1
  4. package/.vscode/settings.json +0 -3
  5. package/.yarn/install-state.gz +0 -0
  6. package/cdn-dist/README.md +0 -42
  7. package/cdn-dist/modo-web-component.js +0 -1344
  8. package/cdn-dist/modo-web-component.min.js +0 -1
  9. package/cdn-dist/package.json +0 -27
  10. package/dist/types/src/app.d.ts +0 -30
  11. package/dist/types/src/app.d.ts.map +0 -1
  12. package/dist/types/src/constants/index.d.ts +0 -10
  13. package/dist/types/src/constants/index.d.ts.map +0 -1
  14. package/dist/types/src/constants/regex.d.ts +0 -3
  15. package/dist/types/src/constants/regex.d.ts.map +0 -1
  16. package/dist/types/src/index.d.ts +0 -10
  17. package/dist/types/src/index.d.ts.map +0 -1
  18. package/dist/types/src/models/chatbot.d.ts +0 -24
  19. package/dist/types/src/models/chatbot.d.ts.map +0 -1
  20. package/dist/types/src/models/conversation.d.ts +0 -23
  21. package/dist/types/src/models/conversation.d.ts.map +0 -1
  22. package/dist/types/src/models/customer-data.d.ts +0 -32
  23. package/dist/types/src/models/customer-data.d.ts.map +0 -1
  24. package/dist/types/src/models/message-utils.d.ts +0 -13
  25. package/dist/types/src/models/message-utils.d.ts.map +0 -1
  26. package/dist/types/src/services/chat/conversation.d.ts +0 -23
  27. package/dist/types/src/services/chat/conversation.d.ts.map +0 -1
  28. package/dist/types/src/services/chat/message-utils.d.ts +0 -13
  29. package/dist/types/src/services/chat/message-utils.d.ts.map +0 -1
  30. package/dist/types/src/services/chat/model.d.ts +0 -28
  31. package/dist/types/src/services/chat/model.d.ts.map +0 -1
  32. package/dist/types/src/services/chatbot/chatbot.d.ts +0 -24
  33. package/dist/types/src/services/chatbot/chatbot.d.ts.map +0 -1
  34. package/dist/types/src/services/checker.d.ts +0 -4
  35. package/dist/types/src/services/checker.d.ts.map +0 -1
  36. package/dist/types/src/services/listeners/adders.d.ts +0 -4
  37. package/dist/types/src/services/listeners/adders.d.ts.map +0 -1
  38. package/dist/types/src/services/listeners/fn.d.ts +0 -4
  39. package/dist/types/src/services/listeners/fn.d.ts.map +0 -1
  40. package/dist/types/src/services/socket/utils.d.ts +0 -3
  41. package/dist/types/src/services/socket/utils.d.ts.map +0 -1
  42. package/dist/types/src/services/ui/fn.d.ts +0 -14
  43. package/dist/types/src/services/ui/fn.d.ts.map +0 -1
  44. package/dist/types/src/services/ui/html.d.ts +0 -4
  45. package/dist/types/src/services/ui/html.d.ts.map +0 -1
  46. package/dist/types/src/services/user/customer-data.d.ts +0 -32
  47. package/dist/types/src/services/user/customer-data.d.ts.map +0 -1
  48. package/dist/types/src/services/voice-chat/model.d.ts +0 -13
  49. package/dist/types/src/services/voice-chat/model.d.ts.map +0 -1
  50. package/dist/types/src/services/voice-chat/utils.d.ts +0 -10
  51. package/dist/types/src/services/voice-chat/utils.d.ts.map +0 -1
  52. package/dist/types/src/tools/fetch.d.ts +0 -3
  53. package/dist/types/src/tools/fetch.d.ts.map +0 -1
  54. package/dist/types/src/types/app.d.ts +0 -18
  55. package/dist/types/src/types/app.d.ts.map +0 -1
  56. package/dist/types/src/types/conversation.d.ts +0 -15
  57. package/dist/types/src/types/conversation.d.ts.map +0 -1
  58. package/dist/types/src/types/socket.d.ts +0 -7
  59. package/dist/types/src/types/socket.d.ts.map +0 -1
  60. package/dist/types/src/types/window.d.ts +0 -10
  61. package/dist/types/src/types/window.d.ts.map +0 -1
  62. package/dist/types/src/utils/audio.d.ts +0 -4
  63. package/dist/types/src/utils/audio.d.ts.map +0 -1
  64. package/dist/types/src/utils/browser.d.ts +0 -3
  65. package/dist/types/src/utils/browser.d.ts.map +0 -1
  66. package/dist/types/src/utils/fetch.d.ts +0 -19
  67. package/dist/types/src/utils/fetch.d.ts.map +0 -1
  68. package/dist/types/src/utils/uuid.d.ts +0 -7
  69. package/dist/types/src/utils/uuid.d.ts.map +0 -1
  70. package/rollup.config.js +0 -18
  71. package/rollup.dev.config.js +0 -22
  72. package/scripts/create-umd-bundle.js +0 -213
  73. package/scripts/terser-minify.js +0 -112
  74. package/src/app.ts +0 -117
  75. package/src/constants/index.ts +0 -21
  76. package/src/constants/regex.ts +0 -2
  77. package/src/index.ts +0 -16
  78. package/src/services/chat/conversation.ts +0 -135
  79. package/src/services/chat/message-utils.ts +0 -221
  80. package/src/services/chat/model.ts +0 -139
  81. package/src/services/chatbot/chatbot.ts +0 -66
  82. package/src/services/checker.ts +0 -10
  83. package/src/services/listeners/adders.ts +0 -178
  84. package/src/services/listeners/fn.ts +0 -77
  85. package/src/services/socket/utils.ts +0 -9
  86. package/src/services/ui/fn.ts +0 -254
  87. package/src/services/ui/html.ts +0 -192
  88. package/src/services/user/customer-data.ts +0 -78
  89. package/src/services/voice-chat/model.ts +0 -79
  90. package/src/services/voice-chat/utils.ts +0 -137
  91. package/src/tools/fetch.ts +0 -7
  92. package/src/types/app.ts +0 -17
  93. package/src/types/conversation.ts +0 -14
  94. package/src/types/socket.ts +0 -7
  95. package/src/types/window.ts +0 -12
  96. package/src/utils/audio.ts +0 -67
  97. package/src/utils/browser.ts +0 -4
  98. package/src/utils/fetch.ts +0 -98
  99. package/src/utils/uuid.ts +0 -13
  100. package/temp/audio/new-message.mp3 +0 -0
  101. package/temp/audio/on-hold.mp3 +0 -0
  102. package/temp/audio-processor.js +0 -261
  103. package/temp/css/index.css +0 -2283
  104. package/temp/dev.html +0 -87
  105. package/temp/index.html +0 -16
  106. package/tsconfig.json +0 -119
@@ -1 +1 @@
1
- import{NEW_MESSAGE_AUDIO_URL}from"#src/constants/index.js";import{setConversationType,switchToConversationLayout,switchToStarterLayout}from"#src/services/ui/fn.js";import{playAudio,preloadAudio}from"#src/utils/audio.js";import{initMessageElement,showMessageTooltip}from"./message-utils.js";class Conversation{constructor(){}get d(){return window.getMWidget?.().chat?.conversationD}addMessage(e,t){const s=window.getMWidget?.();initMessageElement(e),t?.incoming&&(s?.isOpen?this.markAsRead():(this.addBadge(),showMessageTooltip(e),playAudio(NEW_MESSAGE_AUDIO_URL).catch(console.warn))),this.scrollToBottom()}clearContainerEl(){const e=document.querySelector(".mw-chat-messages-con");e&&(e.innerHTML="")}addSystemMessage(e){const t=document.querySelector(".mw-chat-messages-con");if(t){const s=document.createElement("div");s.className="mw-system-message",s.innerHTML=`\n <div class="mw-system-message-content">\n ${e}\n </div>\n `,t.appendChild(s),this.scrollToBottom()}}scrollToBottom(){const e=document.querySelector(".mw-chat-messages-con");e&&(e.scrollTop=e.scrollHeight)}clear(){this.d?.clear(),this.d.messages=[];const e=window.getMWidget?.();localStorage.removeItem(`modo-chat:${e?.publicKey}-conversation-uuid`),this.clearContainerEl(),switchToStarterLayout()}onInit(){switchToConversationLayout(),preloadAudio("./audio/new-message.mp3").catch(console.warn),this?.d?.status&&setConversationType(this.d?.status)}setStatus(){setConversationType(this.d?.status)}async loadMessages(){const e=window.getMWidget?.(),t=await(this.d?.loadMessages()),s=e?.container?.querySelector(".mw-chat-messages-con");s&&(s.innerHTML="");for(const e of t||[])this.addMessage(e)}addBadge(){const e=window.getMWidget?.();if(!e?.isOpen&&this.unreadCount>0&&e){const t=e.container?.querySelector(".mw-badge"),s=e.container?.querySelector(".mw-badge-text");if(t&&s){t.classList.remove("mw-hidden");const e=this.unreadCount>99?"99+":this.unreadCount.toString();s.textContent=e,this.unreadCount>99?t.classList.add("mw-badge-plus"):t.classList.remove("mw-badge-plus")}}}get unreadCount(){return this.d?.unreadCount||0}hideBadge(){const e=window.getMWidget?.(),t=e?.container?.querySelector(".mw-badge");t&&t.classList.add("mw-hidden")}hideTooltip(){const e=window.getMWidget?.(),t=e?.container?.querySelector(".mw-toggle-tooltip");t&&t.classList.add("mw-hidden")}async markAsRead(){window.getMWidget?.();await(this.d?.markAsRead()),this.hideBadge()}get containerElement(){return document.querySelector(".mw-chat-messages-con")}}export{Conversation};
1
+ import{NEW_MESSAGE_AUDIO_URL}from"#src/constants/index.js";import{setConversationType,switchToConversationLayout,switchToStarterLayout}from"#src/services/ui/fn.js";import{playAudio,preloadAudio}from"#src/utils/audio.js";import{initMessageElement,showMessageTooltip}from"./message-utils.js";class Conversation{constructor(){}get d(){return window.getMWidget?.().chat?.conversationD}addMessage(e,t){const s=window.getMWidget?.();initMessageElement(e),t?.incoming&&(s?.isOpen?this.markAsRead():(this.addBadge(),showMessageTooltip(e),playAudio(NEW_MESSAGE_AUDIO_URL).catch(console.warn))),this.scrollToBottom()}clearContainerEl(){const e=document.querySelector(".mw-chat-messages-con");e&&(e.innerHTML="")}addSystemMessage(e){const t=document.querySelector(".mw-chat-messages-con");if(t){const s=document.createElement("div");s.className="mw-system-message",s.innerHTML=`\n <div class="mw-system-message-content">\n ${e}\n </div>\n `,t.appendChild(s),this.scrollToBottom()}}scrollToBottom(){const e=document.querySelector(".mw-chat-messages-con");e&&(e.scrollTop=e.scrollHeight)}clear(){this.d?.clear(),this.d.messages=[];const e=window.getMWidget?.();localStorage.removeItem(`modo-chat:${e?.publicKey}-conversation-uuid`),this.clearContainerEl(),switchToStarterLayout()}onInit(){switchToConversationLayout(),preloadAudio("./audio/new-message.mp3").catch(console.warn),this?.d?.status&&setConversationType(this.d?.status)}setStatus(){setConversationType(this.d?.status)}async loadMessages(){const e=window.getMWidget?.(),t=await(this.d?.loadMessages()),s=e?.container?.querySelector(".mw-chat-messages-con");s&&(s.innerHTML="");for(const e of t||[])this.addMessage(e)}addBadge(){const e=window.getMWidget?.();if(!e?.isOpen&&this.unreadCount>0&&e){const t=e.container?.querySelector(".mw-badge"),s=e.container?.querySelector(".mw-badge-text");if(t&&s){t.classList.remove("mw-hidden");const e=this.unreadCount>99?"99+":this.unreadCount.toString();s.textContent=e,this.unreadCount>99?t.classList.add("mw-badge-plus"):t.classList.remove("mw-badge-plus")}}}get unreadCount(){return this.d?.unreadCount||0}hideBadge(){const e=window.getMWidget?.(),t=e?.container?.querySelector(".mw-badge");t&&t.classList.add("mw-hidden")}hideTooltip(){const e=window.getMWidget?.(),t=e?.container?.querySelector(".mw-toggle-tooltip");t&&t.classList.add("mw-hidden")}async markAsRead(){window.getMWidget?.(),await(this.d?.markAsRead()),this.hideBadge()}get containerElement(){return document.querySelector(".mw-chat-messages-con")}}export{Conversation};
@@ -0,0 +1 @@
1
+ export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modochats/widget",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "",
5
5
  "main": "dist/src/app.js",
6
6
  "type": "module",
@@ -1,3 +0,0 @@
1
- {
2
- "cSpell.words": ["Modochat"]
3
- }
Binary file
@@ -1,42 +0,0 @@
1
- # Modo Web Component
2
-
3
- A lightweight web component library.
4
-
5
- ## CDN Usage
6
-
7
- ### jsDelivr
8
- ```html
9
- <script src="https://cdn.jsdelivr.net/gh/your-username/modo-web-component@main/cdn-dist/modo-web-component.min.js"></script>
10
- ```
11
-
12
- ### GitHub Raw
13
- ```html
14
- <script src="https://raw.githubusercontent.com/your-username/modo-web-component/main/cdn-dist/modo-web-component.min.js"></script>
15
- ```
16
-
17
- ## Usage
18
-
19
- ```javascript
20
- // Initialize the chat widget
21
- const chat = new ModoChat('your-public-key', {
22
- position: 'right', // 'left' or 'right'
23
- theme: 'dark', // 'dark' or 'light'
24
- primaryColor: '#667eea',
25
- title: 'پشتیبانی چت'
26
- });
27
- ```
28
-
29
- ## Features
30
-
31
- - 🌙 Dark/Light theme support
32
- - 🌐 RTL (Persian/Farsi) language support
33
- - 📱 Mobile responsive design
34
- - 💬 Real-time chat functionality
35
- - 🔗 WebSocket connection status
36
- - 📝 Markdown message support
37
-
38
- ## Files
39
-
40
- - `modo-web-component.js` - Development version
41
- - `modo-web-component.min.js` - Production version (minified)
42
- - `dist/` - Full distribution files