@cloudflare/realtimekit-ui 1.1.0-staging.10 → 1.1.0-staging.12

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 (768) hide show
  1. package/dist/browser.js +1 -1
  2. package/dist/cjs/{ChatHead-e13f3b0e.js → ChatHead-777e6a2d.js} +1 -1
  3. package/dist/cjs/{TextMessage-1dc6f8b9.js → TextMessage-b9322340.js} +2 -2
  4. package/dist/cjs/{chat-2ae6f058.js → chat-f1a9fd6e.js} +1 -16
  5. package/dist/cjs/{config-0a88d50b.js → config-86164f93.js} +2 -2
  6. package/dist/cjs/{debounce-b06b27ca.js → debounce-267777c1.js} +1 -1
  7. package/dist/cjs/index-2e5758b6.js +4403 -0
  8. package/dist/cjs/{index-821d14b7.js → index-6f8c1928.js} +1 -1
  9. package/dist/cjs/{index-e4244d7d.js → index-92947ea7.js} +2 -2
  10. package/dist/cjs/index.cjs.js +6 -6
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{merge-c46cfa17.js → merge-bb096d88.js} +1 -1
  13. package/dist/cjs/{notification-f3750b61.js → notification-ef397c71.js} +1 -1
  14. package/dist/cjs/realtimekit-ui.cjs.js +30 -3
  15. package/dist/cjs/rtk-ai-toggle.cjs.entry.js +3 -3
  16. package/dist/cjs/rtk-ai-transcriptions.cjs.entry.js +5 -5
  17. package/dist/cjs/rtk-ai.cjs.entry.js +3 -3
  18. package/dist/cjs/rtk-audio-grid.cjs.entry.js +5 -5
  19. package/dist/cjs/rtk-audio-tile.cjs.entry.js +3 -3
  20. package/dist/cjs/rtk-audio-visualizer_4.cjs.entry.js +4 -4
  21. package/dist/cjs/{rtk-avatar_24.cjs.entry.js → rtk-avatar_26.cjs.entry.js} +538 -555
  22. package/dist/cjs/rtk-breakout-room-manager_3.cjs.entry.js +8 -8
  23. package/dist/cjs/rtk-breakout-rooms-manager_9.cjs.entry.js +13 -13
  24. package/dist/cjs/rtk-breakout-rooms-toggle.cjs.entry.js +3 -3
  25. package/dist/cjs/rtk-camera-selector_2.cjs.entry.js +4 -4
  26. package/dist/cjs/rtk-camera-toggle.cjs.entry.js +3 -3
  27. package/dist/cjs/rtk-caption-toggle.cjs.entry.js +3 -3
  28. package/dist/cjs/rtk-chat-composer-ui.cjs.entry.js +11 -25
  29. package/dist/cjs/rtk-chat-message.cjs.entry.js +6 -6
  30. package/dist/cjs/rtk-chat-messages-ui.cjs.entry.js +13 -7
  31. package/dist/cjs/rtk-chat-search-results.cjs.entry.js +4 -4
  32. package/dist/cjs/rtk-chat-selector-ui.cjs.entry.js +4 -4
  33. package/dist/cjs/rtk-chat-toggle.cjs.entry.js +9 -5
  34. package/dist/cjs/rtk-clock.cjs.entry.js +6 -6
  35. package/dist/cjs/rtk-controlbar-button.cjs.entry.js +3 -3
  36. package/dist/cjs/rtk-controlbar.cjs.entry.js +5 -5
  37. package/dist/cjs/rtk-debugger-audio_4.cjs.entry.js +3 -3
  38. package/dist/cjs/rtk-debugger-toggle.cjs.entry.js +4 -4
  39. package/dist/cjs/rtk-dialog-manager.cjs.entry.js +4 -4
  40. package/dist/cjs/rtk-dialog.cjs.entry.js +4 -4
  41. package/dist/cjs/rtk-ended-screen.cjs.entry.js +3 -3
  42. package/dist/cjs/rtk-file-dropzone.cjs.entry.js +4 -4
  43. package/dist/cjs/rtk-file-message_3.cjs.entry.js +14 -14
  44. package/dist/cjs/rtk-fullscreen-toggle.cjs.entry.js +3 -3
  45. package/dist/cjs/rtk-grid-pagination.cjs.entry.js +4 -4
  46. package/dist/cjs/rtk-grid.cjs.entry.js +4 -4
  47. package/dist/cjs/rtk-header.cjs.entry.js +5 -5
  48. package/dist/cjs/rtk-idle-screen.cjs.entry.js +4 -4
  49. package/dist/cjs/rtk-image-viewer.cjs.entry.js +4 -4
  50. package/dist/cjs/rtk-information-tooltip.cjs.entry.js +4 -4
  51. package/dist/cjs/rtk-leave-button.cjs.entry.js +4 -4
  52. package/dist/cjs/rtk-livestream-indicator_3.cjs.entry.js +2477 -1450
  53. package/dist/cjs/rtk-livestream-toggle.cjs.entry.js +3 -3
  54. package/dist/cjs/rtk-logo.cjs.entry.js +3 -3
  55. package/dist/cjs/rtk-meeting-title.cjs.entry.js +3 -3
  56. package/dist/cjs/rtk-message-list-view.cjs.entry.js +7 -7
  57. package/dist/cjs/rtk-mic-toggle.cjs.entry.js +3 -3
  58. package/dist/cjs/rtk-mixed-grid.cjs.entry.js +4 -4
  59. package/dist/cjs/rtk-more-toggle.cjs.entry.js +5 -5
  60. package/dist/cjs/rtk-mute-all-button.cjs.entry.js +3 -3
  61. package/dist/cjs/rtk-name-tag.cjs.entry.js +4 -4
  62. package/dist/cjs/rtk-network-indicator.cjs.entry.js +3 -3
  63. package/dist/cjs/rtk-notification.cjs.entry.js +7 -7
  64. package/dist/cjs/rtk-notifications.cjs.entry.js +5 -5
  65. package/dist/cjs/rtk-participant-count.cjs.entry.js +3 -3
  66. package/dist/cjs/rtk-participant-setup.cjs.entry.js +5 -5
  67. package/dist/cjs/rtk-participant_2.cjs.entry.js +19 -19
  68. package/dist/cjs/rtk-participants-audio.cjs.entry.js +4 -4
  69. package/dist/cjs/rtk-participants-stage-list_4.cjs.entry.js +5 -5
  70. package/dist/cjs/rtk-participants-toggle.cjs.entry.js +4 -4
  71. package/dist/cjs/rtk-participants.cjs.entry.js +4 -4
  72. package/dist/cjs/rtk-pip-toggle.cjs.entry.js +3 -3
  73. package/dist/cjs/rtk-plugin-main_2.cjs.entry.js +3 -3
  74. package/dist/cjs/rtk-plugins-toggle.cjs.entry.js +4 -4
  75. package/dist/cjs/rtk-plugins_2.cjs.entry.js +7 -7
  76. package/dist/cjs/rtk-poll_2.cjs.entry.js +6 -6
  77. package/dist/cjs/rtk-polls-toggle.cjs.entry.js +4 -4
  78. package/dist/cjs/rtk-recording-indicator.cjs.entry.js +4 -4
  79. package/dist/cjs/rtk-recording-toggle.cjs.entry.js +3 -3
  80. package/dist/cjs/rtk-screen-share-toggle.cjs.entry.js +3 -3
  81. package/dist/cjs/rtk-screenshare-view.cjs.entry.js +8 -8
  82. package/dist/cjs/rtk-settings-audio_2.cjs.entry.js +3 -3
  83. package/dist/cjs/rtk-settings-toggle.cjs.entry.js +4 -4
  84. package/dist/cjs/rtk-settings.cjs.entry.js +3 -3
  85. package/dist/cjs/rtk-setup-screen.cjs.entry.js +5 -5
  86. package/dist/cjs/rtk-sidebar-ui.cjs.entry.js +3 -3
  87. package/dist/cjs/rtk-sidebar.cjs.entry.js +5 -5
  88. package/dist/cjs/rtk-simple-grid.cjs.entry.js +4 -4
  89. package/dist/cjs/rtk-spotlight-grid.cjs.entry.js +6 -6
  90. package/dist/cjs/rtk-spotlight-indicator.cjs.entry.js +3 -3
  91. package/dist/cjs/rtk-stage-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/rtk-stage.cjs.entry.js +4 -4
  93. package/dist/cjs/rtk-transcript.cjs.entry.js +4 -4
  94. package/dist/cjs/rtk-transcripts.cjs.entry.js +3 -3
  95. package/dist/cjs/rtk-ui-provider.cjs.entry.js +3 -3
  96. package/dist/cjs/rtk-waiting-screen.cjs.entry.js +4 -4
  97. package/dist/cjs/{sidebar-0eb1e4ef.js → sidebar-7df66d80.js} +1 -1
  98. package/dist/cjs/{ui-store-6c2d680f.js → ui-store-d0e80f30.js} +113 -34
  99. package/dist/collection/collection-manifest.json +4 -6
  100. package/dist/collection/components/rtk-ai/rtk-ai.js +3 -3
  101. package/dist/collection/components/rtk-ai-toggle/rtk-ai-toggle.js +3 -3
  102. package/dist/collection/components/rtk-ai-transcriptions/rtk-ai-transcriptions.js +3 -3
  103. package/dist/collection/components/rtk-audio-grid/rtk-audio-grid.js +4 -4
  104. package/dist/collection/components/rtk-audio-tile/rtk-audio-tile.js +4 -4
  105. package/dist/collection/components/rtk-audio-visualizer/rtk-audio-visualizer.js +3 -3
  106. package/dist/collection/components/rtk-avatar/rtk-avatar.js +3 -3
  107. package/dist/collection/components/rtk-breakout-room-manager/rtk-breakout-room-manager.js +3 -3
  108. package/dist/collection/components/rtk-breakout-room-participants/rtk-breakout-room-participants.js +5 -5
  109. package/dist/collection/components/rtk-breakout-room-toggle/rtk-breakout-rooms-toggle.js +4 -4
  110. package/dist/collection/components/rtk-breakout-rooms-manager/rtk-breakout-rooms-manager.js +4 -4
  111. package/dist/collection/components/rtk-broadcast-message-modal/rtk-broadcast-message-modal.js +5 -5
  112. package/dist/collection/components/rtk-camera-selector/rtk-camera-selector.js +3 -3
  113. package/dist/collection/components/rtk-camera-toggle/rtk-camera-toggle.js +3 -3
  114. package/dist/collection/components/rtk-caption-toggle/rtk-caption-toggle.js +3 -3
  115. package/dist/collection/components/rtk-chat/rtk-chat.css +2 -37
  116. package/dist/collection/components/rtk-chat/rtk-chat.js +27 -385
  117. package/dist/collection/components/rtk-chat-composer-ui/rtk-chat-composer-ui.js +16 -51
  118. package/dist/collection/components/rtk-chat-composer-view/rtk-chat-composer-view.js +2 -2
  119. package/dist/collection/components/{rtk-channel-details/rtk-channel-details.css → rtk-chat-header/rtk-chat-header.css} +28 -46
  120. package/dist/collection/components/rtk-chat-header/rtk-chat-header.js +32 -0
  121. package/dist/collection/components/rtk-chat-message/rtk-chat-message.css +0 -2
  122. package/dist/collection/components/rtk-chat-message/rtk-chat-message.js +9 -9
  123. package/dist/collection/components/rtk-chat-messages-ui/rtk-chat-messages-ui.css +0 -2
  124. package/dist/collection/components/rtk-chat-messages-ui/rtk-chat-messages-ui.js +6 -6
  125. package/dist/collection/components/rtk-chat-messages-ui-paginated/rtk-chat-messages-ui-paginated.js +91 -96
  126. package/dist/collection/components/rtk-chat-search-results/rtk-chat-search-results.js +4 -4
  127. package/dist/collection/components/rtk-chat-selector/rtk-chat-selector.css +142 -0
  128. package/dist/collection/components/rtk-chat-selector/rtk-chat-selector.js +421 -0
  129. package/dist/collection/components/rtk-chat-selector-ui/rtk-chat-selector-ui.js +2 -2
  130. package/dist/collection/components/rtk-chat-toggle/rtk-chat-toggle.js +8 -4
  131. package/dist/collection/components/rtk-clock/rtk-clock.js +5 -5
  132. package/dist/collection/components/rtk-confirmation-modal/rtk-confirmation-modal.js +4 -4
  133. package/dist/collection/components/rtk-controlbar/rtk-controlbar.js +4 -4
  134. package/dist/collection/components/rtk-controlbar-button/rtk-controlbar-button.js +1 -1
  135. package/dist/collection/components/rtk-counter/rtk-counter.css +0 -2
  136. package/dist/collection/components/rtk-counter/rtk-counter.js +4 -4
  137. package/dist/collection/components/rtk-debugger/rtk-debugger.js +3 -3
  138. package/dist/collection/components/rtk-debugger-audio/rtk-debugger-audio.js +3 -3
  139. package/dist/collection/components/rtk-debugger-screenshare/rtk-debugger-screenshare.js +3 -3
  140. package/dist/collection/components/rtk-debugger-system/rtk-debugger-system.js +3 -3
  141. package/dist/collection/components/rtk-debugger-toggle/rtk-debugger-toggle.js +4 -4
  142. package/dist/collection/components/rtk-debugger-video/rtk-debugger-video.js +3 -3
  143. package/dist/collection/components/rtk-dialog/rtk-dialog.css +1 -2
  144. package/dist/collection/components/rtk-dialog/rtk-dialog.js +3 -3
  145. package/dist/collection/components/rtk-dialog-manager/rtk-dialog-manager.js +3 -3
  146. package/dist/collection/components/rtk-draft-attachment-view/rtk-draft-attachment-view.js +3 -3
  147. package/dist/collection/components/rtk-emoji-picker/rtk-emoji-picker.css +0 -2
  148. package/dist/collection/components/rtk-emoji-picker/rtk-emoji-picker.js +3 -3
  149. package/dist/collection/components/rtk-emoji-picker-button/rtk-emoji-picker-button.js +3 -3
  150. package/dist/collection/components/rtk-ended-screen/rtk-ended-screen.js +3 -3
  151. package/dist/collection/components/rtk-file-dropzone/rtk-file-dropzone.js +3 -3
  152. package/dist/collection/components/rtk-file-message/rtk-file-message.js +5 -5
  153. package/dist/collection/components/rtk-file-message-view/rtk-file-message-view.js +2 -2
  154. package/dist/collection/components/rtk-file-picker-button/rtk-file-picker-button.js +4 -4
  155. package/dist/collection/components/rtk-fullscreen-toggle/rtk-fullscreen-toggle.js +2 -2
  156. package/dist/collection/components/rtk-grid/rtk-grid.js +3 -3
  157. package/dist/collection/components/rtk-grid-pagination/rtk-grid-pagination.css +0 -2
  158. package/dist/collection/components/rtk-grid-pagination/rtk-grid-pagination.js +3 -3
  159. package/dist/collection/components/rtk-header/rtk-header.js +4 -4
  160. package/dist/collection/components/rtk-idle-screen/rtk-idle-screen.js +4 -4
  161. package/dist/collection/components/rtk-image-message/rtk-image-message.js +7 -7
  162. package/dist/collection/components/rtk-image-message-view/rtk-image-message-view.js +5 -5
  163. package/dist/collection/components/rtk-image-viewer/rtk-image-viewer.js +4 -4
  164. package/dist/collection/components/rtk-information-tooltip/rtk-information-tooltip.js +2 -2
  165. package/dist/collection/components/rtk-join-stage/rtk-join-stage.js +4 -4
  166. package/dist/collection/components/rtk-leave-button/rtk-leave-button.js +3 -3
  167. package/dist/collection/components/rtk-leave-meeting/rtk-leave-meeting.js +5 -5
  168. package/dist/collection/components/rtk-livestream-indicator/rtk-livestream-indicator.js +3 -3
  169. package/dist/collection/components/rtk-livestream-player/rtk-livestream-player.js +3 -3
  170. package/dist/collection/components/rtk-livestream-toggle/rtk-livestream-toggle.js +3 -3
  171. package/dist/collection/components/rtk-logo/rtk-logo.js +2 -2
  172. package/dist/collection/components/rtk-markdown-view/rtk-markdown-view.js +1 -1
  173. package/dist/collection/components/rtk-meeting/rtk-meeting.js +3 -3
  174. package/dist/collection/components/rtk-meeting-title/rtk-meeting-title.js +3 -3
  175. package/dist/collection/components/rtk-menu/rtk-menu.js +4 -4
  176. package/dist/collection/components/rtk-menu-item/rtk-menu-item.css +1 -1
  177. package/dist/collection/components/rtk-menu-item/rtk-menu-item.js +3 -3
  178. package/dist/collection/components/rtk-menu-list/rtk-menu-list.css +3 -3
  179. package/dist/collection/components/rtk-menu-list/rtk-menu-list.js +3 -3
  180. package/dist/collection/components/rtk-message-list-view/rtk-message-list-view.js +4 -4
  181. package/dist/collection/components/rtk-message-view/rtk-message-view.js +3 -3
  182. package/dist/collection/components/rtk-mic-toggle/rtk-mic-toggle.js +3 -3
  183. package/dist/collection/components/rtk-microphone-selector/rtk-microphone-selector.js +3 -3
  184. package/dist/collection/components/rtk-mixed-grid/rtk-mixed-grid.js +5 -5
  185. package/dist/collection/components/rtk-more-toggle/rtk-more-toggle.js +4 -4
  186. package/dist/collection/components/rtk-mute-all-button/rtk-mute-all-button.js +3 -3
  187. package/dist/collection/components/rtk-mute-all-confirmation/rtk-mute-all-confirmation.js +4 -4
  188. package/dist/collection/components/rtk-name-tag/rtk-name-tag.js +5 -5
  189. package/dist/collection/components/rtk-network-indicator/rtk-network-indicator.js +4 -4
  190. package/dist/collection/components/rtk-notification/rtk-notification.js +4 -4
  191. package/dist/collection/components/rtk-notifications/rtk-notifications.js +3 -3
  192. package/dist/collection/components/rtk-overlay-modal/rtk-overlay-modal.js +4 -4
  193. package/dist/collection/components/rtk-paginated-list/rtk-paginated-list.css +88 -2
  194. package/dist/collection/components/rtk-paginated-list/rtk-paginated-list.js +50 -27
  195. package/dist/collection/components/rtk-participant/rtk-participant.js +16 -16
  196. package/dist/collection/components/rtk-participant-count/rtk-participant-count.js +3 -3
  197. package/dist/collection/components/rtk-participant-setup/rtk-participant-setup.js +5 -5
  198. package/dist/collection/components/rtk-participant-tile/rtk-participant-tile.js +5 -5
  199. package/dist/collection/components/rtk-participants/rtk-participants.js +3 -3
  200. package/dist/collection/components/rtk-participants-audio/rtk-participants-audio.js +4 -4
  201. package/dist/collection/components/rtk-participants-stage-list/rtk-participants-stage-list.js +4 -4
  202. package/dist/collection/components/rtk-participants-stage-queue/rtk-participants-stage-queue.js +3 -3
  203. package/dist/collection/components/rtk-participants-toggle/rtk-participants-toggle.js +3 -3
  204. package/dist/collection/components/rtk-participants-viewer-list/rtk-participants-viewer-list.js +3 -3
  205. package/dist/collection/components/rtk-participants-waiting-list/rtk-participants-waiting-list.js +3 -3
  206. package/dist/collection/components/rtk-permissions-message/rtk-permissions-message.js +4 -4
  207. package/dist/collection/components/rtk-pinned-message-selector/rtk-pinned-message-selector.css +112 -0
  208. package/dist/collection/components/{rtk-channel-header/rtk-channel-header.js → rtk-pinned-message-selector/rtk-pinned-message-selector.js} +181 -118
  209. package/dist/collection/components/rtk-pip-toggle/rtk-pip-toggle.js +3 -3
  210. package/dist/collection/components/rtk-plugin-main/rtk-plugin-main.js +5 -5
  211. package/dist/collection/components/rtk-plugins/rtk-plugins.js +4 -4
  212. package/dist/collection/components/rtk-plugins-toggle/rtk-plugins-toggle.js +3 -3
  213. package/dist/collection/components/rtk-poll/rtk-poll.js +5 -5
  214. package/dist/collection/components/rtk-poll-form/rtk-poll-form.js +4 -4
  215. package/dist/collection/components/rtk-polls/rtk-polls.js +6 -6
  216. package/dist/collection/components/rtk-polls-toggle/rtk-polls-toggle.js +3 -3
  217. package/dist/collection/components/rtk-recording-indicator/rtk-recording-indicator.js +4 -4
  218. package/dist/collection/components/rtk-recording-toggle/rtk-recording-toggle.js +3 -3
  219. package/dist/collection/components/rtk-screen-share-toggle/rtk-screen-share-toggle.js +3 -3
  220. package/dist/collection/components/rtk-screenshare-view/rtk-screenshare-view.js +9 -9
  221. package/dist/collection/components/rtk-settings/rtk-settings.js +3 -3
  222. package/dist/collection/components/rtk-settings-audio/rtk-settings-audio.js +3 -3
  223. package/dist/collection/components/rtk-settings-toggle/rtk-settings-toggle.js +3 -3
  224. package/dist/collection/components/rtk-settings-video/rtk-settings-video.js +3 -3
  225. package/dist/collection/components/rtk-setup-screen/rtk-setup-screen.css +0 -2
  226. package/dist/collection/components/rtk-setup-screen/rtk-setup-screen.js +3 -3
  227. package/dist/collection/components/rtk-sidebar/rtk-sidebar.js +3 -3
  228. package/dist/collection/components/rtk-sidebar-ui/rtk-sidebar-ui.js +3 -3
  229. package/dist/collection/components/rtk-simple-grid/rtk-simple-grid.js +3 -3
  230. package/dist/collection/components/rtk-speaker-selector/rtk-speaker-selector.js +3 -3
  231. package/dist/collection/components/rtk-spinner/rtk-spinner.js +2 -2
  232. package/dist/collection/components/rtk-spotlight-grid/rtk-spotlight-grid.js +5 -5
  233. package/dist/collection/components/rtk-spotlight-indicator/rtk-spotlight-indicator.js +3 -3
  234. package/dist/collection/components/rtk-stage/rtk-stage.js +3 -3
  235. package/dist/collection/components/rtk-stage-toggle/rtk-stage-toggle.js +3 -3
  236. package/dist/collection/components/rtk-switch/rtk-switch.js +3 -3
  237. package/dist/collection/components/rtk-tab-bar/rtk-tab-bar.js +3 -3
  238. package/dist/collection/components/rtk-text-composer-view/rtk-text-composer-view.js +3 -3
  239. package/dist/collection/components/rtk-text-message/rtk-text-message.js +5 -5
  240. package/dist/collection/components/rtk-text-message-view/rtk-text-message-view.js +1 -1
  241. package/dist/collection/components/rtk-tooltip/rtk-tooltip.js +1 -1
  242. package/dist/collection/components/rtk-transcript/rtk-transcript.js +2 -2
  243. package/dist/collection/components/rtk-transcripts/rtk-transcripts.js +2 -2
  244. package/dist/collection/components/rtk-ui-provider/rtk-ui-provider.js +3 -3
  245. package/dist/collection/components/rtk-viewer-count/rtk-viewer-count.js +3 -3
  246. package/dist/collection/components/rtk-virtualized-list/rtk-virtualized-participant-list.js +2 -2
  247. package/dist/collection/components/rtk-waiting-screen/rtk-waiting-screen.js +4 -4
  248. package/dist/collection/lib/icons/default-icon-pack.js +0 -2
  249. package/dist/collection/lib/lang/default-language.js +2 -5
  250. package/dist/collection/lib/overrides.js +1 -0
  251. package/dist/collection/utils/chat.js +0 -4
  252. package/dist/collection/utils/flags.js +0 -2
  253. package/dist/components/index.js +8 -8
  254. package/dist/components/{p-e375b50d.js → p-06de876f.js} +7 -7
  255. package/dist/components/{p-6c02b0d0.js → p-08351fd6.js} +8 -8
  256. package/dist/components/{p-44c32349.js → p-0a36cb4b.js} +11 -11
  257. package/dist/components/{p-dab9d3d6.js → p-0db812c2.js} +1 -12
  258. package/dist/components/{p-f0e4633e.js → p-1099c0fe.js} +5 -5
  259. package/dist/components/{p-eeb37b16.js → p-12b59b72.js} +5 -5
  260. package/dist/components/{p-fb836f65.js → p-15156a2c.js} +2 -2
  261. package/dist/components/{p-43bf8953.js → p-154bed23.js} +6 -6
  262. package/dist/components/{p-c05530c8.js → p-1b26fbf7.js} +3 -3
  263. package/dist/components/{p-7bde2b2d.js → p-2232de67.js} +2482 -1455
  264. package/dist/components/{p-fb900e8f.js → p-22827c53.js} +6 -6
  265. package/dist/components/{p-ad873f2d.js → p-2305aa2d.js} +1 -1
  266. package/dist/components/{p-6f8d2043.js → p-2690645d.js} +3 -3
  267. package/dist/components/{p-e64e3cec.js → p-2976fcb0.js} +8 -8
  268. package/dist/components/p-321a4aef.js +86 -0
  269. package/dist/components/{p-586482a8.js → p-345a07e8.js} +8 -8
  270. package/dist/components/{p-dfb42075.js → p-401ce922.js} +5 -5
  271. package/dist/components/{p-72fffe3e.js → p-41bf1c3d.js} +5 -5
  272. package/dist/components/{p-5f1b84f7.js → p-45a9a385.js} +11 -11
  273. package/dist/components/{p-3972098e.js → p-469f4396.js} +15 -15
  274. package/dist/components/{p-92729e09.js → p-4942bfd2.js} +9 -9
  275. package/dist/components/{p-dd89aff2.js → p-4a1144e2.js} +8 -8
  276. package/dist/components/{p-46d99dd9.js → p-4a5d3b4c.js} +7 -7
  277. package/dist/components/{p-74356882.js → p-52d9029f.js} +9 -9
  278. package/dist/components/p-54e0acc1.js +463 -0
  279. package/dist/components/{p-da87cc71.js → p-583f9282.js} +1 -1
  280. package/dist/components/{p-ecb016da.js → p-6ac87493.js} +6 -6
  281. package/dist/components/{p-f6c2e822.js → p-6e373d96.js} +4 -4
  282. package/dist/components/{p-aae4c250.js → p-707dced6.js} +2 -2
  283. package/dist/components/{p-1afc54bb.js → p-71fb663b.js} +4 -4
  284. package/dist/components/{p-fefc57f9.js → p-71fbfb8b.js} +7 -7
  285. package/dist/components/{p-282e8e83.js → p-7384c20c.js} +9 -9
  286. package/dist/components/{p-35e93724.js → p-73db39b8.js} +2 -2
  287. package/dist/components/{p-193d8051.js → p-76c443b7.js} +3 -3
  288. package/dist/components/{p-44a203bd.js → p-793f074d.js} +36 -15
  289. package/dist/components/{p-19b037c5.js → p-7adb3504.js} +5 -5
  290. package/dist/components/{p-b6869c32.js → p-7f3bfc54.js} +6 -6
  291. package/dist/components/p-7fcbd2dd.js +236 -0
  292. package/dist/components/{p-7a27fdb5.js → p-862ec1f9.js} +10 -10
  293. package/dist/components/{p-39e8b34a.js → p-8861d5a3.js} +4 -4
  294. package/dist/components/{p-6392204c.js → p-88aded7d.js} +11 -11
  295. package/dist/components/{p-7148ec6a.js → p-8a66a347.js} +5 -5
  296. package/dist/components/{p-05df465d.js → p-8cea6257.js} +1 -1
  297. package/dist/components/{p-cf8f725b.js → p-90420dc5.js} +3 -3
  298. package/dist/components/{p-600579a6.js → p-95a1fa70.js} +5 -5
  299. package/dist/components/{p-e72a0f16.js → p-9e1478a0.js} +7 -7
  300. package/dist/components/{p-977f9875.js → p-9f481b70.js} +5 -5
  301. package/dist/components/{p-73baf5ba.js → p-a3cc7425.js} +1 -1
  302. package/dist/components/{p-fa5aba68.js → p-a4d13056.js} +22 -22
  303. package/dist/components/{p-107e55c1.js → p-a6c93f34.js} +5 -5
  304. package/dist/components/{p-e552dc59.js → p-a74caccd.js} +4 -4
  305. package/dist/components/{p-33be3c19.js → p-a8d77615.js} +16 -16
  306. package/dist/components/{p-2309fb19.js → p-abf952f5.js} +5 -5
  307. package/dist/components/{p-e57e8041.js → p-ac6a5fc5.js} +7 -7
  308. package/dist/components/{p-d9f6db4f.js → p-af2b1476.js} +8 -8
  309. package/dist/components/{p-b76e3950.js → p-b226a124.js} +7 -7
  310. package/dist/components/{p-1a9e3806.js → p-b2d5329f.js} +5 -5
  311. package/dist/components/{p-89151c7a.js → p-b3240843.js} +5 -5
  312. package/dist/components/{p-1da807a2.js → p-bfc86230.js} +4 -4
  313. package/dist/components/{p-a54b82e9.js → p-c0790538.js} +1 -1
  314. package/dist/components/{p-395ef9c8.js → p-c0ad28ff.js} +9 -9
  315. package/dist/components/{p-d188f58b.js → p-c6c4c24e.js} +4 -4
  316. package/dist/components/{p-9bdc24b8.js → p-c9db1b82.js} +5 -5
  317. package/dist/components/{p-fb7666ce.js → p-cd6656bf.js} +8 -8
  318. package/dist/components/{p-819cb785.js → p-cd6f04ae.js} +5 -5
  319. package/dist/components/{p-f7bd10f1.js → p-d029dd2f.js} +8 -8
  320. package/dist/components/{p-dc3143c0.js → p-d0f54eea.js} +3 -3
  321. package/dist/components/{p-edd12f2f.js → p-d22fc130.js} +7 -7
  322. package/dist/components/{p-abdff498.js → p-d2cbc2d1.js} +11 -11
  323. package/dist/components/{p-851b90a6.js → p-d6024528.js} +4 -4
  324. package/dist/components/{p-7b6356e2.js → p-d9626191.js} +6 -6
  325. package/dist/components/p-d9fa18db.js +218 -0
  326. package/dist/components/{p-0a31ef52.js → p-dacaa250.js} +3 -3
  327. package/dist/components/{p-e4888ccc.js → p-db5556c3.js} +81 -58
  328. package/dist/components/{p-7c8096c2.js → p-dd8a892e.js} +5 -5
  329. package/dist/components/{p-e443d803.js → p-dfdbb665.js} +5 -5
  330. package/dist/components/{p-524d7900.js → p-e0ef3893.js} +7 -7
  331. package/dist/components/{p-1391bef0.js → p-e229128b.js} +1 -1
  332. package/dist/components/{p-6f7c46d2.js → p-e334e15c.js} +2 -2
  333. package/dist/components/{p-5476e3f3.js → p-e544a590.js} +6 -6
  334. package/dist/components/{p-2447a26f.js → p-e7b7abfe.js} +5 -5
  335. package/dist/components/{p-45b4f6a1.js → p-ecbb4e46.js} +7 -7
  336. package/dist/components/{p-6f361314.js → p-eff3c856.js} +6 -6
  337. package/dist/components/{p-e847fee9.js → p-f19b4abc.js} +114 -35
  338. package/dist/components/{p-60fdbd75.js → p-f3c261ec.js} +1 -1
  339. package/dist/components/{p-6739a399.js → p-f5aecaad.js} +3 -3
  340. package/dist/components/{p-89eb65a9.js → p-fa8cf270.js} +3 -3
  341. package/dist/components/p-fdad14c9.js +4028 -0
  342. package/dist/components/{p-3e58e0f3.js → p-fe0d125b.js} +4 -4
  343. package/dist/components/rtk-ai-toggle.js +6 -6
  344. package/dist/components/rtk-ai-transcriptions.js +1 -1
  345. package/dist/components/rtk-ai.js +6 -6
  346. package/dist/components/rtk-audio-grid.js +5 -5
  347. package/dist/components/rtk-audio-tile.js +7 -7
  348. package/dist/components/rtk-audio-visualizer.js +1 -1
  349. package/dist/components/rtk-avatar.js +1 -1
  350. package/dist/components/rtk-breakout-room-manager.js +1 -1
  351. package/dist/components/rtk-breakout-room-participants.js +1 -1
  352. package/dist/components/rtk-breakout-rooms-manager.js +1 -1
  353. package/dist/components/rtk-breakout-rooms-toggle.js +6 -6
  354. package/dist/components/rtk-broadcast-message-modal.js +1 -1
  355. package/dist/components/rtk-button.js +1 -1
  356. package/dist/components/rtk-camera-selector.js +1 -1
  357. package/dist/components/rtk-camera-toggle.js +7 -7
  358. package/dist/components/rtk-caption-toggle.js +6 -6
  359. package/dist/components/rtk-chat-composer-ui.js +17 -34
  360. package/dist/components/rtk-chat-composer-view.js +1 -1
  361. package/dist/components/{rtk-channel-header.d.ts → rtk-chat-header.d.ts} +4 -4
  362. package/dist/components/rtk-chat-header.js +6 -0
  363. package/dist/components/rtk-chat-message.js +1 -1
  364. package/dist/components/rtk-chat-messages-ui-paginated.js +1 -1
  365. package/dist/components/rtk-chat-messages-ui.js +26 -20
  366. package/dist/components/rtk-chat-search-results.js +16 -16
  367. package/dist/components/rtk-chat-selector-ui.js +5 -5
  368. package/dist/components/{rtk-channel-creator.d.ts → rtk-chat-selector.d.ts} +4 -4
  369. package/dist/components/rtk-chat-selector.js +6 -0
  370. package/dist/components/rtk-chat-toggle.js +12 -8
  371. package/dist/components/rtk-chat.js +1 -1
  372. package/dist/components/rtk-clock.js +7 -7
  373. package/dist/components/rtk-confirmation-modal.js +1 -1
  374. package/dist/components/rtk-controlbar-button.js +1 -1
  375. package/dist/components/rtk-controlbar.js +5 -5
  376. package/dist/components/rtk-counter.js +1 -1
  377. package/dist/components/rtk-debugger-audio.js +1 -1
  378. package/dist/components/rtk-debugger-screenshare.js +1 -1
  379. package/dist/components/rtk-debugger-system.js +1 -1
  380. package/dist/components/rtk-debugger-toggle.js +7 -7
  381. package/dist/components/rtk-debugger-video.js +1 -1
  382. package/dist/components/rtk-debugger.js +1 -1
  383. package/dist/components/rtk-dialog-manager.js +26 -26
  384. package/dist/components/rtk-dialog.js +1 -1
  385. package/dist/components/rtk-draft-attachment-view.js +1 -1
  386. package/dist/components/rtk-emoji-picker-button.js +1 -1
  387. package/dist/components/rtk-emoji-picker.js +1 -1
  388. package/dist/components/rtk-ended-screen.js +5 -5
  389. package/dist/components/rtk-file-dropzone.js +5 -5
  390. package/dist/components/rtk-file-message-view.js +1 -1
  391. package/dist/components/rtk-file-message.js +1 -1
  392. package/dist/components/rtk-file-picker-button.js +1 -1
  393. package/dist/components/rtk-fullscreen-toggle.js +1 -1
  394. package/dist/components/rtk-grid-pagination.js +7 -7
  395. package/dist/components/rtk-grid.js +12 -12
  396. package/dist/components/rtk-header.js +5 -5
  397. package/dist/components/rtk-icon.js +1 -1
  398. package/dist/components/rtk-idle-screen.js +7 -7
  399. package/dist/components/rtk-image-message-view.js +1 -1
  400. package/dist/components/rtk-image-message.js +1 -1
  401. package/dist/components/rtk-image-viewer.js +6 -6
  402. package/dist/components/rtk-information-tooltip.js +5 -5
  403. package/dist/components/rtk-join-stage.js +1 -1
  404. package/dist/components/rtk-leave-button.js +7 -7
  405. package/dist/components/rtk-leave-meeting.js +1 -1
  406. package/dist/components/rtk-livestream-indicator.js +1 -1
  407. package/dist/components/rtk-livestream-player.js +1 -1
  408. package/dist/components/rtk-livestream-toggle.js +6 -6
  409. package/dist/components/rtk-logo.js +1 -1
  410. package/dist/components/rtk-markdown-view.js +1 -1
  411. package/dist/components/rtk-meeting-title.js +4 -4
  412. package/dist/components/rtk-meeting.js +59 -47
  413. package/dist/components/rtk-menu-item.js +1 -1
  414. package/dist/components/rtk-menu-list.js +1 -1
  415. package/dist/components/rtk-menu.js +1 -1
  416. package/dist/components/rtk-message-list-view.js +8 -8
  417. package/dist/components/rtk-message-view.js +1 -1
  418. package/dist/components/rtk-mic-toggle.js +7 -7
  419. package/dist/components/rtk-microphone-selector.js +1 -1
  420. package/dist/components/rtk-mixed-grid.js +10 -10
  421. package/dist/components/rtk-more-toggle.js +8 -8
  422. package/dist/components/rtk-mute-all-button.js +7 -7
  423. package/dist/components/rtk-mute-all-confirmation.js +1 -1
  424. package/dist/components/rtk-name-tag.js +1 -1
  425. package/dist/components/rtk-network-indicator.js +4 -4
  426. package/dist/components/rtk-notification.js +1 -1
  427. package/dist/components/rtk-notifications.js +8 -8
  428. package/dist/components/rtk-overlay-modal.js +1 -1
  429. package/dist/components/rtk-paginated-list.js +1 -1
  430. package/dist/components/rtk-participant-count.js +4 -4
  431. package/dist/components/rtk-participant-setup.js +5 -5
  432. package/dist/components/rtk-participant-tile.js +1 -1
  433. package/dist/components/rtk-participant.js +1 -1
  434. package/dist/components/rtk-participants-audio.js +7 -7
  435. package/dist/components/rtk-participants-stage-list.js +1 -1
  436. package/dist/components/rtk-participants-stage-queue.js +1 -1
  437. package/dist/components/rtk-participants-toggle.js +7 -7
  438. package/dist/components/rtk-participants-viewer-list.js +1 -1
  439. package/dist/components/rtk-participants-waiting-list.js +1 -1
  440. package/dist/components/rtk-participants.js +17 -17
  441. package/dist/components/rtk-permissions-message.js +1 -1
  442. package/dist/components/rtk-pinned-message-selector.d.ts +11 -0
  443. package/dist/components/rtk-pinned-message-selector.js +6 -0
  444. package/dist/components/rtk-pip-toggle.js +6 -6
  445. package/dist/components/rtk-plugin-main.js +1 -1
  446. package/dist/components/rtk-plugins-toggle.js +7 -7
  447. package/dist/components/rtk-plugins.js +1 -1
  448. package/dist/components/rtk-poll-form.js +1 -1
  449. package/dist/components/rtk-poll.js +1 -1
  450. package/dist/components/rtk-polls-toggle.js +7 -7
  451. package/dist/components/rtk-polls.js +1 -1
  452. package/dist/components/rtk-recording-indicator.js +5 -5
  453. package/dist/components/rtk-recording-toggle.js +6 -6
  454. package/dist/components/rtk-screen-share-toggle.js +7 -7
  455. package/dist/components/rtk-screenshare-view.js +11 -11
  456. package/dist/components/rtk-settings-audio.js +1 -1
  457. package/dist/components/rtk-settings-toggle.js +7 -7
  458. package/dist/components/rtk-settings-video.js +1 -1
  459. package/dist/components/rtk-settings.js +13 -13
  460. package/dist/components/rtk-setup-screen.js +11 -11
  461. package/dist/components/rtk-sidebar-ui.js +1 -1
  462. package/dist/components/rtk-sidebar.js +13 -13
  463. package/dist/components/rtk-simple-grid.js +4 -4
  464. package/dist/components/rtk-speaker-selector.js +1 -1
  465. package/dist/components/rtk-spinner.js +1 -1
  466. package/dist/components/rtk-spotlight-grid.js +6 -6
  467. package/dist/components/rtk-spotlight-indicator.js +1 -1
  468. package/dist/components/rtk-stage-toggle.js +7 -7
  469. package/dist/components/rtk-stage.js +4 -4
  470. package/dist/components/rtk-switch.js +1 -1
  471. package/dist/components/rtk-tab-bar.js +1 -1
  472. package/dist/components/rtk-text-composer-view.js +1 -1
  473. package/dist/components/rtk-text-message-view.js +1 -1
  474. package/dist/components/rtk-text-message.js +1 -1
  475. package/dist/components/rtk-tooltip.js +1 -1
  476. package/dist/components/rtk-transcript.js +1 -1
  477. package/dist/components/rtk-transcripts.js +4 -4
  478. package/dist/components/rtk-ui-provider.js +3 -3
  479. package/dist/components/rtk-viewer-count.js +1 -1
  480. package/dist/components/rtk-virtualized-participant-list.js +1 -1
  481. package/dist/components/rtk-waiting-screen.js +5 -5
  482. package/dist/docs/docs-components.json +10739 -18036
  483. package/dist/docs/docs-vscode.json +46 -108
  484. package/dist/esm/{ChatHead-15c2f8d4.js → ChatHead-148558a8.js} +1 -1
  485. package/dist/esm/{TextMessage-0d8be8c5.js → TextMessage-cdf76ced.js} +2 -2
  486. package/dist/esm/{chat-b2bea75f.js → chat-12f27725.js} +2 -13
  487. package/dist/esm/{config-325caca3.js → config-74c02ff0.js} +2 -2
  488. package/dist/esm/{debounce-3139f9e3.js → debounce-0c6e63e9.js} +1 -1
  489. package/dist/esm/{index-d31a2e33.js → index-3f51790f.js} +1 -1
  490. package/dist/esm/index-55463a54.js +4365 -0
  491. package/dist/esm/{index-6eb882e7.js → index-e677f28b.js} +2 -2
  492. package/dist/esm/index.js +8 -8
  493. package/dist/esm/loader.js +6360 -3546
  494. package/dist/esm/{merge-bc2a0775.js → merge-df16b7d2.js} +1 -1
  495. package/dist/esm/{notification-4beb1e0d.js → notification-dd8b1d52.js} +1 -1
  496. package/dist/esm/realtimekit-ui.js +31 -4
  497. package/dist/esm/rtk-ai-toggle.entry.js +3 -3
  498. package/dist/esm/rtk-ai-transcriptions.entry.js +5 -5
  499. package/dist/esm/rtk-ai.entry.js +3 -3
  500. package/dist/esm/rtk-audio-grid.entry.js +5 -5
  501. package/dist/esm/rtk-audio-tile.entry.js +3 -3
  502. package/dist/esm/rtk-audio-visualizer_4.entry.js +4 -4
  503. package/dist/esm/{rtk-avatar_24.entry.js → rtk-avatar_26.entry.js} +536 -555
  504. package/dist/esm/rtk-breakout-room-manager_3.entry.js +8 -8
  505. package/dist/esm/rtk-breakout-rooms-manager_9.entry.js +13 -13
  506. package/dist/esm/rtk-breakout-rooms-toggle.entry.js +3 -3
  507. package/dist/esm/rtk-camera-selector_2.entry.js +4 -4
  508. package/dist/esm/rtk-camera-toggle.entry.js +3 -3
  509. package/dist/esm/rtk-caption-toggle.entry.js +3 -3
  510. package/dist/esm/rtk-chat-composer-ui.entry.js +11 -25
  511. package/dist/esm/rtk-chat-message.entry.js +6 -6
  512. package/dist/esm/rtk-chat-messages-ui.entry.js +13 -7
  513. package/dist/esm/rtk-chat-search-results.entry.js +4 -4
  514. package/dist/esm/rtk-chat-selector-ui.entry.js +4 -4
  515. package/dist/esm/rtk-chat-toggle.entry.js +9 -5
  516. package/dist/esm/rtk-clock.entry.js +6 -6
  517. package/dist/esm/rtk-controlbar-button.entry.js +3 -3
  518. package/dist/esm/rtk-controlbar.entry.js +5 -5
  519. package/dist/esm/rtk-debugger-audio_4.entry.js +3 -3
  520. package/dist/esm/rtk-debugger-toggle.entry.js +4 -4
  521. package/dist/esm/rtk-dialog-manager.entry.js +4 -4
  522. package/dist/esm/rtk-dialog.entry.js +4 -4
  523. package/dist/esm/rtk-ended-screen.entry.js +3 -3
  524. package/dist/esm/rtk-file-dropzone.entry.js +4 -4
  525. package/dist/esm/rtk-file-message_3.entry.js +14 -14
  526. package/dist/esm/rtk-fullscreen-toggle.entry.js +3 -3
  527. package/dist/esm/rtk-grid-pagination.entry.js +4 -4
  528. package/dist/esm/rtk-grid.entry.js +4 -4
  529. package/dist/esm/rtk-header.entry.js +5 -5
  530. package/dist/esm/rtk-idle-screen.entry.js +4 -4
  531. package/dist/esm/rtk-image-viewer.entry.js +4 -4
  532. package/dist/esm/rtk-information-tooltip.entry.js +4 -4
  533. package/dist/esm/rtk-leave-button.entry.js +4 -4
  534. package/dist/esm/rtk-livestream-indicator_3.entry.js +2477 -1450
  535. package/dist/esm/rtk-livestream-toggle.entry.js +3 -3
  536. package/dist/esm/rtk-logo.entry.js +3 -3
  537. package/dist/esm/rtk-meeting-title.entry.js +3 -3
  538. package/dist/esm/rtk-message-list-view.entry.js +7 -7
  539. package/dist/esm/rtk-mic-toggle.entry.js +3 -3
  540. package/dist/esm/rtk-mixed-grid.entry.js +4 -4
  541. package/dist/esm/rtk-more-toggle.entry.js +5 -5
  542. package/dist/esm/rtk-mute-all-button.entry.js +3 -3
  543. package/dist/esm/rtk-name-tag.entry.js +4 -4
  544. package/dist/esm/rtk-network-indicator.entry.js +3 -3
  545. package/dist/esm/rtk-notification.entry.js +7 -7
  546. package/dist/esm/rtk-notifications.entry.js +5 -5
  547. package/dist/esm/rtk-participant-count.entry.js +3 -3
  548. package/dist/esm/rtk-participant-setup.entry.js +5 -5
  549. package/dist/esm/rtk-participant_2.entry.js +19 -19
  550. package/dist/esm/rtk-participants-audio.entry.js +4 -4
  551. package/dist/esm/rtk-participants-stage-list_4.entry.js +5 -5
  552. package/dist/esm/rtk-participants-toggle.entry.js +4 -4
  553. package/dist/esm/rtk-participants.entry.js +4 -4
  554. package/dist/esm/rtk-pip-toggle.entry.js +3 -3
  555. package/dist/esm/rtk-plugin-main_2.entry.js +3 -3
  556. package/dist/esm/rtk-plugins-toggle.entry.js +4 -4
  557. package/dist/esm/rtk-plugins_2.entry.js +7 -7
  558. package/dist/esm/rtk-poll_2.entry.js +6 -6
  559. package/dist/esm/rtk-polls-toggle.entry.js +4 -4
  560. package/dist/esm/rtk-recording-indicator.entry.js +4 -4
  561. package/dist/esm/rtk-recording-toggle.entry.js +3 -3
  562. package/dist/esm/rtk-screen-share-toggle.entry.js +3 -3
  563. package/dist/esm/rtk-screenshare-view.entry.js +8 -8
  564. package/dist/esm/rtk-settings-audio_2.entry.js +3 -3
  565. package/dist/esm/rtk-settings-toggle.entry.js +4 -4
  566. package/dist/esm/rtk-settings.entry.js +3 -3
  567. package/dist/esm/rtk-setup-screen.entry.js +5 -5
  568. package/dist/esm/rtk-sidebar-ui.entry.js +3 -3
  569. package/dist/esm/rtk-sidebar.entry.js +5 -5
  570. package/dist/esm/rtk-simple-grid.entry.js +4 -4
  571. package/dist/esm/rtk-spotlight-grid.entry.js +6 -6
  572. package/dist/esm/rtk-spotlight-indicator.entry.js +3 -3
  573. package/dist/esm/rtk-stage-toggle.entry.js +3 -3
  574. package/dist/esm/rtk-stage.entry.js +4 -4
  575. package/dist/esm/rtk-transcript.entry.js +4 -4
  576. package/dist/esm/rtk-transcripts.entry.js +3 -3
  577. package/dist/esm/rtk-ui-provider.entry.js +3 -3
  578. package/dist/esm/rtk-waiting-screen.entry.js +4 -4
  579. package/dist/esm/{sidebar-376c9917.js → sidebar-293fd302.js} +1 -1
  580. package/dist/esm/{ui-store-12132d9c.js → ui-store-644e4cb0.js} +114 -35
  581. package/dist/realtimekit-ui/index.esm.js +1 -1
  582. package/dist/realtimekit-ui/p-01ef7b4d.entry.js +1 -0
  583. package/dist/realtimekit-ui/p-06dcd55e.entry.js +1 -0
  584. package/dist/realtimekit-ui/p-0c3f571f.entry.js +1 -0
  585. package/dist/realtimekit-ui/{p-30dcb4cc.entry.js → p-0cfee5d3.entry.js} +1 -1
  586. package/dist/realtimekit-ui/p-10d4354c.entry.js +1 -0
  587. package/dist/realtimekit-ui/p-14dc10b8.entry.js +1 -0
  588. package/dist/realtimekit-ui/p-1517b428.entry.js +1 -0
  589. package/dist/realtimekit-ui/{p-6914a616.entry.js → p-15297e89.entry.js} +1 -1
  590. package/dist/realtimekit-ui/p-1e16ecb3.entry.js +1 -0
  591. package/dist/realtimekit-ui/{p-af58f450.entry.js → p-1feec027.entry.js} +1 -1
  592. package/dist/realtimekit-ui/{p-00445029.entry.js → p-2251059d.entry.js} +1 -1
  593. package/dist/realtimekit-ui/p-25f3e66a.entry.js +1 -0
  594. package/dist/realtimekit-ui/{p-e0c73820.entry.js → p-26b4e422.entry.js} +1 -1
  595. package/dist/realtimekit-ui/p-29549a05.entry.js +1 -0
  596. package/dist/realtimekit-ui/{p-a852e0cf.entry.js → p-29d3f735.entry.js} +1 -1
  597. package/dist/realtimekit-ui/{p-532e1a53.entry.js → p-2b47921e.entry.js} +1 -1
  598. package/dist/realtimekit-ui/p-2f93d90b.entry.js +1 -0
  599. package/dist/realtimekit-ui/{p-afa7211c.js → p-2ff77d78.js} +1 -1
  600. package/dist/realtimekit-ui/{p-c5f704a3.entry.js → p-309b8a96.entry.js} +1 -1
  601. package/dist/realtimekit-ui/{p-fcb7a6e2.entry.js → p-30a3007c.entry.js} +1 -1
  602. package/dist/realtimekit-ui/{p-9b550ec4.js → p-315cd380.js} +1 -1
  603. package/dist/realtimekit-ui/{p-a67e2a25.entry.js → p-36f7accb.entry.js} +1 -1
  604. package/dist/realtimekit-ui/{p-05d1b9d5.entry.js → p-3ec85ff3.entry.js} +1 -1
  605. package/dist/realtimekit-ui/{p-14569a57.entry.js → p-40ab8b0f.entry.js} +1 -1
  606. package/dist/realtimekit-ui/{p-be5bdd0a.entry.js → p-43fa4d95.entry.js} +1 -1
  607. package/dist/realtimekit-ui/{p-426bf45e.entry.js → p-4814e742.entry.js} +1 -1
  608. package/dist/realtimekit-ui/{p-616dc312.entry.js → p-4a5e203d.entry.js} +1 -1
  609. package/dist/realtimekit-ui/{p-a7172c2d.entry.js → p-4e604bf1.entry.js} +1 -1
  610. package/dist/realtimekit-ui/p-4ec77793.js +1 -0
  611. package/dist/realtimekit-ui/{p-e78ba202.entry.js → p-50aaac81.entry.js} +1 -1
  612. package/dist/realtimekit-ui/{p-323d1aa4.entry.js → p-5a425dac.entry.js} +1 -1
  613. package/dist/realtimekit-ui/{p-1834416c.entry.js → p-5ef7cf76.entry.js} +1 -1
  614. package/dist/realtimekit-ui/{p-85b3c0c4.entry.js → p-60b3fbb2.entry.js} +1 -1
  615. package/dist/realtimekit-ui/{p-c8773db0.entry.js → p-6573487e.entry.js} +1 -1
  616. package/dist/realtimekit-ui/p-67c674d4.entry.js +1 -0
  617. package/dist/realtimekit-ui/p-6acdcb4f.entry.js +1 -0
  618. package/dist/realtimekit-ui/{p-cb54bd67.entry.js → p-6c2ef845.entry.js} +1 -1
  619. package/dist/realtimekit-ui/{p-0baa78d7.entry.js → p-6f913b9b.entry.js} +1 -1
  620. package/dist/realtimekit-ui/p-71393f37.entry.js +1 -0
  621. package/dist/realtimekit-ui/{p-a7e0277f.js → p-77e5605f.js} +1 -1
  622. package/dist/realtimekit-ui/{p-f6c82f1b.entry.js → p-8329d4ae.entry.js} +1 -1
  623. package/dist/realtimekit-ui/{p-8778b3e6.entry.js → p-84476389.entry.js} +1 -1
  624. package/dist/realtimekit-ui/{p-342b4926.entry.js → p-879459bb.entry.js} +1 -1
  625. package/dist/realtimekit-ui/p-8cc26ae0.entry.js +1 -0
  626. package/dist/realtimekit-ui/{p-2441260e.entry.js → p-8e867ba8.entry.js} +1 -1
  627. package/dist/realtimekit-ui/p-8fc79c56.js +1 -0
  628. package/dist/realtimekit-ui/p-9599b2e4.entry.js +1 -0
  629. package/dist/realtimekit-ui/{p-7d01d588.entry.js → p-975cbc2e.entry.js} +1 -1
  630. package/dist/realtimekit-ui/p-9ff0dfdb.entry.js +1 -0
  631. package/dist/realtimekit-ui/{p-f32aecbc.entry.js → p-a43a7ffb.entry.js} +1 -1
  632. package/dist/realtimekit-ui/p-a599f720.js +2 -0
  633. package/dist/realtimekit-ui/p-abbee273.entry.js +1 -0
  634. package/dist/realtimekit-ui/p-ad11a64a.entry.js +1 -0
  635. package/dist/realtimekit-ui/p-aee32120.entry.js +1 -0
  636. package/dist/realtimekit-ui/{p-515a17ce.entry.js → p-b0eaeddc.entry.js} +1 -1
  637. package/dist/realtimekit-ui/p-b5e5e206.js +1 -0
  638. package/dist/realtimekit-ui/p-bb907330.entry.js +1 -0
  639. package/dist/realtimekit-ui/{p-5b00a8fa.entry.js → p-bbaf3e7d.entry.js} +1 -1
  640. package/dist/realtimekit-ui/{p-a1408db4.entry.js → p-be0cae77.entry.js} +1 -1
  641. package/dist/realtimekit-ui/{p-11a469d9.js → p-be0d2b90.js} +1 -1
  642. package/dist/realtimekit-ui/{p-94a37c73.entry.js → p-bea3ee08.entry.js} +1 -1
  643. package/dist/realtimekit-ui/{p-ebfde234.entry.js → p-c0e5ddd4.entry.js} +1 -1
  644. package/dist/realtimekit-ui/{p-1fe6003b.entry.js → p-c794adf9.entry.js} +1 -1
  645. package/dist/realtimekit-ui/p-c7ddf9a9.entry.js +1 -0
  646. package/dist/realtimekit-ui/{p-44d69c6b.entry.js → p-c8239122.entry.js} +1 -1
  647. package/dist/realtimekit-ui/p-c8f0b23e.entry.js +1 -0
  648. package/dist/realtimekit-ui/{p-573187b4.entry.js → p-cbbb09a2.entry.js} +1 -1
  649. package/dist/realtimekit-ui/{p-80e51a73.entry.js → p-cbfe61b9.entry.js} +1 -1
  650. package/dist/realtimekit-ui/{p-cc226b51.entry.js → p-cc71c33f.entry.js} +1 -1
  651. package/dist/realtimekit-ui/{p-ad5e9fdb.entry.js → p-cd086077.entry.js} +1 -1
  652. package/dist/realtimekit-ui/{p-6896e819.entry.js → p-cedff249.entry.js} +1 -1
  653. package/dist/realtimekit-ui/p-d107248e.entry.js +1 -0
  654. package/dist/realtimekit-ui/{p-a40cc665.entry.js → p-d10fe6c7.entry.js} +1 -1
  655. package/dist/realtimekit-ui/p-d1256212.entry.js +1 -0
  656. package/dist/realtimekit-ui/p-d24dd330.entry.js +1 -0
  657. package/dist/realtimekit-ui/{p-4b33b435.entry.js → p-d3d4e6de.entry.js} +1 -1
  658. package/dist/realtimekit-ui/p-d432c842.entry.js +1 -0
  659. package/dist/realtimekit-ui/p-d6126ff7.js +1 -0
  660. package/dist/realtimekit-ui/p-d8e64814.entry.js +1 -0
  661. package/dist/realtimekit-ui/{p-d3e520e5.js → p-ddcb6b8b.js} +1 -1
  662. package/dist/realtimekit-ui/{p-4485414e.entry.js → p-de253745.entry.js} +1 -1
  663. package/dist/realtimekit-ui/{p-369648b9.entry.js → p-de2fd3a4.entry.js} +1 -1
  664. package/dist/realtimekit-ui/{p-3dd04263.entry.js → p-e6fc5935.entry.js} +1 -1
  665. package/dist/realtimekit-ui/{p-c8eaa707.js → p-eccb6d78.js} +1 -1
  666. package/dist/realtimekit-ui/p-f1c4d507.entry.js +1 -0
  667. package/dist/realtimekit-ui/{p-fa86682c.entry.js → p-f42001bb.entry.js} +1 -1
  668. package/dist/realtimekit-ui/{p-a0d39ea3.entry.js → p-f423e125.entry.js} +1 -1
  669. package/dist/realtimekit-ui/p-f46787e0.entry.js +1 -0
  670. package/dist/realtimekit-ui/{p-f266302c.entry.js → p-f4e8a0b3.entry.js} +1 -1
  671. package/dist/realtimekit-ui/{p-cd0c5440.js → p-f6fdb3c3.js} +1 -1
  672. package/dist/realtimekit-ui/p-f8089097.entry.js +1 -0
  673. package/dist/realtimekit-ui/p-fc0eb2e6.entry.js +1 -0
  674. package/dist/realtimekit-ui/p-ff86148c.entry.js +1 -0
  675. package/dist/realtimekit-ui/{p-cd56beb7.entry.js → p-ffac36ba.entry.js} +1 -1
  676. package/dist/realtimekit-ui/realtimekit-ui.esm.js +1 -1
  677. package/dist/types/components/rtk-chat/rtk-chat.d.ts +5 -43
  678. package/dist/types/components/rtk-chat-composer-ui/rtk-chat-composer-ui.d.ts +1 -4
  679. package/dist/types/components/rtk-chat-header/rtk-chat-header.d.ts +7 -0
  680. package/dist/types/components/rtk-chat-messages-ui-paginated/rtk-chat-messages-ui-paginated.d.ts +6 -15
  681. package/dist/types/components/rtk-chat-selector/rtk-chat-selector.d.ts +52 -0
  682. package/dist/types/components/rtk-paginated-list/rtk-paginated-list.d.ts +4 -2
  683. package/dist/types/components/rtk-pinned-message-selector/rtk-pinned-message-selector.d.ts +40 -0
  684. package/dist/types/components/rtk-sidebar-ui/rtk-sidebar-ui.d.ts +0 -2
  685. package/dist/types/components.d.ts +186 -498
  686. package/dist/types/lib/icons/default-icon-pack.d.ts +0 -2
  687. package/dist/types/lib/lang/default-language.d.ts +1 -4
  688. package/dist/types/lib/overrides.d.ts +5 -0
  689. package/dist/types/types/props.d.ts +0 -4
  690. package/dist/types/utils/chat.d.ts +1 -3
  691. package/dist/types/utils/flags.d.ts +0 -2
  692. package/package.json +1 -1
  693. package/dist/cjs/index-05554ce6.js +0 -2251
  694. package/dist/cjs/rtk-channel-creator.cjs.entry.js +0 -163
  695. package/dist/cjs/rtk-channel-details.cjs.entry.js +0 -49
  696. package/dist/cjs/rtk-channel-header.cjs.entry.js +0 -83
  697. package/dist/cjs/rtk-channel-selector-ui.cjs.entry.js +0 -147
  698. package/dist/collection/components/rtk-channel-creator/rtk-channel-creator.css +0 -210
  699. package/dist/collection/components/rtk-channel-creator/rtk-channel-creator.js +0 -290
  700. package/dist/collection/components/rtk-channel-details/rtk-channel-details.js +0 -149
  701. package/dist/collection/components/rtk-channel-header/rtk-channel-header.css +0 -99
  702. package/dist/collection/components/rtk-channel-selector-ui/rtk-channel-selector-ui.css +0 -330
  703. package/dist/collection/components/rtk-channel-selector-ui/rtk-channel-selector-ui.js +0 -286
  704. package/dist/collection/components/rtk-channel-selector-view/rtk-channel-selector-view.css +0 -306
  705. package/dist/collection/components/rtk-channel-selector-view/rtk-channel-selector-view.js +0 -341
  706. package/dist/components/p-210862ae.js +0 -736
  707. package/dist/components/p-33e73313.js +0 -85
  708. package/dist/components/p-c3592601.js +0 -1641
  709. package/dist/components/p-c78c26b1.js +0 -203
  710. package/dist/components/rtk-channel-creator.js +0 -214
  711. package/dist/components/rtk-channel-details.d.ts +0 -11
  712. package/dist/components/rtk-channel-details.js +0 -6
  713. package/dist/components/rtk-channel-header.js +0 -151
  714. package/dist/components/rtk-channel-selector-ui.d.ts +0 -11
  715. package/dist/components/rtk-channel-selector-ui.js +0 -194
  716. package/dist/components/rtk-channel-selector-view.d.ts +0 -11
  717. package/dist/components/rtk-channel-selector-view.js +0 -6
  718. package/dist/esm/index-c1fb98bb.js +0 -2218
  719. package/dist/esm/rtk-channel-creator.entry.js +0 -159
  720. package/dist/esm/rtk-channel-details.entry.js +0 -45
  721. package/dist/esm/rtk-channel-header.entry.js +0 -79
  722. package/dist/esm/rtk-channel-selector-ui.entry.js +0 -143
  723. package/dist/realtimekit-ui/p-0ee570cd.js +0 -2
  724. package/dist/realtimekit-ui/p-1462cbd9.entry.js +0 -1
  725. package/dist/realtimekit-ui/p-1669c53d.entry.js +0 -1
  726. package/dist/realtimekit-ui/p-21d4bb9c.entry.js +0 -1
  727. package/dist/realtimekit-ui/p-25c4d10f.js +0 -1
  728. package/dist/realtimekit-ui/p-2b054928.entry.js +0 -1
  729. package/dist/realtimekit-ui/p-322957ed.entry.js +0 -1
  730. package/dist/realtimekit-ui/p-3f4120cc.entry.js +0 -1
  731. package/dist/realtimekit-ui/p-43530cd3.entry.js +0 -1
  732. package/dist/realtimekit-ui/p-44531a97.entry.js +0 -1
  733. package/dist/realtimekit-ui/p-45f90b95.js +0 -1
  734. package/dist/realtimekit-ui/p-48c87789.entry.js +0 -1
  735. package/dist/realtimekit-ui/p-4b638184.entry.js +0 -1
  736. package/dist/realtimekit-ui/p-53680d55.entry.js +0 -1
  737. package/dist/realtimekit-ui/p-54a88fdf.entry.js +0 -1
  738. package/dist/realtimekit-ui/p-5892c1e0.entry.js +0 -1
  739. package/dist/realtimekit-ui/p-5b2d97fc.js +0 -1
  740. package/dist/realtimekit-ui/p-612a8d25.entry.js +0 -1
  741. package/dist/realtimekit-ui/p-639601b7.entry.js +0 -1
  742. package/dist/realtimekit-ui/p-64206b62.entry.js +0 -1
  743. package/dist/realtimekit-ui/p-67ead213.entry.js +0 -1
  744. package/dist/realtimekit-ui/p-685adc5f.entry.js +0 -1
  745. package/dist/realtimekit-ui/p-701cdf1b.entry.js +0 -1
  746. package/dist/realtimekit-ui/p-7108d1cd.entry.js +0 -1
  747. package/dist/realtimekit-ui/p-75f53ae6.entry.js +0 -1
  748. package/dist/realtimekit-ui/p-7a9a226e.entry.js +0 -1
  749. package/dist/realtimekit-ui/p-820dad23.entry.js +0 -1
  750. package/dist/realtimekit-ui/p-85b45c3b.entry.js +0 -1
  751. package/dist/realtimekit-ui/p-95fb25d6.entry.js +0 -1
  752. package/dist/realtimekit-ui/p-a5900df2.js +0 -1
  753. package/dist/realtimekit-ui/p-a680da64.entry.js +0 -1
  754. package/dist/realtimekit-ui/p-a9190330.entry.js +0 -1
  755. package/dist/realtimekit-ui/p-ac6c8ebe.entry.js +0 -1
  756. package/dist/realtimekit-ui/p-b25f7d7b.entry.js +0 -1
  757. package/dist/realtimekit-ui/p-b51e813e.entry.js +0 -1
  758. package/dist/realtimekit-ui/p-be03944b.entry.js +0 -1
  759. package/dist/realtimekit-ui/p-bf717b8c.entry.js +0 -1
  760. package/dist/realtimekit-ui/p-cda276d6.entry.js +0 -1
  761. package/dist/realtimekit-ui/p-d880fb69.entry.js +0 -1
  762. package/dist/realtimekit-ui/p-e5b426fa.entry.js +0 -1
  763. package/dist/realtimekit-ui/p-ec5ed8a4.entry.js +0 -1
  764. package/dist/types/components/rtk-channel-creator/rtk-channel-creator.d.ts +0 -37
  765. package/dist/types/components/rtk-channel-details/rtk-channel-details.d.ts +0 -16
  766. package/dist/types/components/rtk-channel-header/rtk-channel-header.d.ts +0 -32
  767. package/dist/types/components/rtk-channel-selector-ui/rtk-channel-selector-ui.d.ts +0 -35
  768. package/dist/types/components/rtk-channel-selector-view/rtk-channel-selector-view.d.ts +0 -62
@@ -2,24 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index$1 = require('./index-05554ce6.js');
6
- const uiStore = require('./ui-store-6c2d680f.js');
5
+ const index$1 = require('./index-2e5758b6.js');
6
+ const uiStore = require('./ui-store-d0e80f30.js');
7
7
  const string = require('./string-9bce3253.js');
8
- const index = require('./index-e4244d7d.js');
9
- const debounce = require('./debounce-b06b27ca.js');
10
- const chat = require('./chat-2ae6f058.js');
8
+ const index = require('./index-92947ea7.js');
9
+ const chat = require('./chat-f1a9fd6e.js');
11
10
  const file = require('./file-0b9afa34.js');
12
- const merge = require('./merge-c46cfa17.js');
13
- const index$2 = require('./index-821d14b7.js');
14
- const config = require('./config-0a88d50b.js');
11
+ const merge = require('./merge-bb096d88.js');
12
+ const index$2 = require('./index-6f8c1928.js');
13
+ const config = require('./config-86164f93.js');
15
14
  const ResizeObserver_es = require('./ResizeObserver.es-ba961f16.js');
16
15
  const floatingUi_dom_esm = require('./floating-ui.dom.esm-705e65f3.js');
17
16
  const date = require('./date-61ffcd0a.js');
17
+ const debounce = require('./debounce-267777c1.js');
18
18
 
19
19
  const rtkAvatarCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;height:var(--rtk-space-32, 128px);width:var(--rtk-space-32, 128px);align-items:center;justify-content:center;font-size:28px;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));overflow:clip;border-radius:9999px;-webkit-user-select:none;-moz-user-select:none;user-select:none}rtk-icon{height:50%;width:50%}.image-ctr{display:flex;height:100%;width:100%;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52))}img{height:var(--rtk-space-0, 0px);width:var(--rtk-space-0, 0px);-o-object-fit:cover;object-fit:cover}img.loaded{height:100%;width:100%}.initials{display:flex;height:100%;width:100%;align-items:center;justify-content:center;text-transform:uppercase}.image{display:flex;height:100%;width:100%;align-items:center;justify-content:center}.image img{display:none;height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.image img.loaded{display:block}:host([variant='hexagon']){border-radius:var(--rtk-border-radius-none, 0);clip-path:polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%)}:host([variant='square']){border-radius:var(--rtk-border-radius-none, 0);clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)}:host([size='sm']){height:var(--rtk-space-14, 56px);width:var(--rtk-space-14, 56px);font-size:12px}:host([size='md']){height:var(--rtk-space-28, 112px);width:var(--rtk-space-28, 112px)}:host([size='lg']){height:var(--rtk-space-32, 128px);width:var(--rtk-space-32, 128px)}";
20
20
  const RtkAvatarStyle0 = rtkAvatarCss;
21
21
 
22
- var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
22
+ var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
23
23
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
24
24
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
25
25
  r = Reflect.decorate(decorators, target, key, desc);
@@ -57,10 +57,10 @@ const RtkAvatar = class {
57
57
  return (index$1.h(index$1.Host, { key: 'd7d3a7b03a3807984dc6798b5e35cec4418e06e7' }, this.getAvatar(), index$1.h("slot", { key: '25aa9fe632a132c1e2f8ef88ac98043bb8ef085a' })));
58
58
  }
59
59
  };
60
- __decorate$h([
60
+ __decorate$i([
61
61
  index.SyncWithStore()
62
62
  ], RtkAvatar.prototype, "iconPack", void 0);
63
- __decorate$h([
63
+ __decorate$i([
64
64
  index.SyncWithStore()
65
65
  ], RtkAvatar.prototype, "t", void 0);
66
66
  RtkAvatar.style = RtkAvatarStyle0;
@@ -89,150 +89,10 @@ const RtkButton = class {
89
89
  };
90
90
  RtkButton.style = RtkButtonStyle0;
91
91
 
92
- const rtkChannelSelectorViewCss = ".scrollbar {\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent);\n}\n\n/* For WebKit */\n.scrollbar::-webkit-scrollbar {\n height: var(--rtk-space-1\\.5, 6px);\n width: var(--rtk-space-1\\.5, 6px);\n border-radius: 9999px;\n background-color: var(--rtk-scrollbar-background, transparent);\n}\n\n.scrollbar::-webkit-scrollbar-thumb {\n border-radius: 9999px;\n background-color: var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)));\n}\n\n\n:host {\n display: flex;\n flex-direction: column;\n width: 100%;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));\n position: relative;\n z-index: 10;\n height: var(--rtk-space-12, 48px);\n min-height: 48px;\n}\n\n.dropdown-trigger {\n height: 100%;\n width: 100%;\n border-width: var(--rtk-border-width-none, 0);\n border-style: none;\n padding: var(--rtk-space-4, 16px);\n padding-left: var(--rtk-space-3, 12px);\n padding-right: var(--rtk-space-3, 12px);\n display: flex;\n align-items: center;\n justify-content: space-between;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));\n font-size: 14px;\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n cursor: pointer;\n position: absolute;\n z-index: 20;\n}\n\n.dropdown-trigger span {\n display: flex;\n flex: 1 1 0%;\n align-items: center;\n justify-content: flex-start;\n gap: var(--rtk-space-2, 8px);\n}\n\n.dropdown-trigger rtk-icon {\n margin-left: var(--rtk-space-1, 4px);\n height: var(--rtk-space-4, 16px);\n width: var(--rtk-space-4, 16px);\n flex-shrink: 0;\n}\n\n@container chatcontainer (height < 360px) {\n .dropdown-trigger {\n padding: var(--rtk-space-2, 8px);\n }\n .dropdown {\n top: var(--rtk-space-8, 32px) !important;\n }\n .search-container {\n padding-left: var(--rtk-space-0, 0px) !important;\n padding-right: var(--rtk-space-0, 0px) !important;\n padding-top: var(--rtk-space-0, 0px) !important;\n padding-bottom: var(--rtk-space-0, 0px) !important;\n }\n input {\n height: var(--rtk-space-8, 32px) !important;\n border-radius: var(--rtk-border-radius-none, 0) !important;\n }\n .avatar-icon {\n height: var(--rtk-space-3, 12px) !important;\n width: var(--rtk-space-3, 12px) !important;\n padding: var(--rtk-space-1, 4px) !important;\n }\n}\n\n.dropdown {\n position: absolute;\n width: 100%;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));\n border-bottom-width: var(--rtk-border-width-sm, 1px);\n border-right-width: var(--rtk-border-width-none, 0);\n border-left-width: var(--rtk-border-width-none, 0);\n border-top-width: var(--rtk-border-width-none, 0);\n border-style: solid;\n --tw-border-opacity: 1;\n border-color: rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));\n top: var(--rtk-space-12, 48px);\n z-index: 10;\n animation: 0.3s slide-down ease;\n}\n\n.dropdown .channels-container {\n max-height: var(--rtk-space-80, 320px);\n}\n\n.list {\n display: flex;\n flex-direction: column;\n}\n\n.list .channel .channel-data {\n align-items: flex-start;\n}\n\n.unread-count {\n display: flex;\n justify-content: center;\n height: var(--rtk-space-5, 20px);\n min-width: var(--rtk-space-3, 12px);\n border-radius: 9999px;\n padding-left: var(--rtk-space-1, 4px);\n padding-right: var(--rtk-space-1, 4px);\n font-size: 12px;\n line-height: 1.25rem;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));\n}\n\ninput {\n height: var(--rtk-space-9, 36px);\n width: 100%;\n padding-left: var(--rtk-space-3, 12px);\n padding-right: var(--rtk-space-3, 12px);\n box-sizing: border-box;\n border-width: var(--rtk-border-width-none, 0);\n border-style: none;\n outline: 2px solid transparent;\n outline-offset: 2px;\n border-radius: var(--rtk-border-radius-sm, 4px);\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n}\n\n.search-container {\n display: flex;\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: auto;\n align-items: center;\n padding-top: var(--rtk-space-3, 12px);\n padding-bottom: var(--rtk-space-3, 12px);\n padding-left: var(--rtk-space-2, 8px);\n padding-right: var(--rtk-space-2, 8px);\n border-bottom: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-700, 44 44 44));\n}\n\n.search-container rtk-icon {\n margin-left: calc(var(--rtk-space-8, 32px) * -1);\n height: var(--rtk-space-5, 20px);\n width: var(--rtk-space-5, 20px);\n color: rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76));\n}\n\n.channels-container {\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n overflow-y: auto;\n}\n\nrtk-avatar {\n height: var(--rtk-space-4, 16px) !important;\n width: var(--rtk-space-4, 16px) !important;\n overflow: clip;\n border-radius: 9999px;\n padding: var(--rtk-space-2, 8px);\n font-size: 12px;\n}\n\n.channel {\n flex-shrink: 0;\n padding-top: var(--rtk-space-2, 8px);\n padding-bottom: var(--rtk-space-2, 8px);\n box-sizing: border-box;\n border-width: var(--rtk-border-width-none, 0);\n border-style: none;\n background-color: transparent;\n outline: 2px solid transparent;\n outline-offset: 2px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--rtk-space-2, 8px);\n width: 100%;\n padding-left: var(--rtk-space-2, 8px);\n padding-right: var(--rtk-space-3, 12px);\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.channel:hover {\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity));\n}\n\n.channel .channel-data {\n flex: 1 1 0%;\n align-items: center;\n justify-content: space-between;\n display: flex;\n gap: var(--rtk-space-2, 8px);\n}\n\n.channel .name {\n font-size: 16px;\n}\n\n.channel .name, \n .channel .last-message {\n max-width: var(--rtk-space-40, 160px);\n text-align: left;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n}\n\n.channel .no-message {\n font-style: italic;\n}\n\n.channel .avatar-icon {\n height: var(--rtk-space-4, 16px);\n width: var(--rtk-space-4, 16px);\n padding: var(--rtk-space-2, 8px);\n color: rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));\n overflow: clip;\n border-radius: 9999px;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));\n}\n\n.channel time, \n .channel .last-message {\n font-size: 12px;\n color: rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76));\n}\n\n.channel.active {\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));\n}\n\n.channel.active .unread-count {\n background-color: rgb(var(--rtk-colors-text-on-brand-800, var(--rtk-colors-text-800, 255 255 255 / 0.76)));\n --tw-text-opacity: 1;\n color: rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity));\n}\n\n.channel.active time {\n color: rgb(var(--rtk-colors-text-on-brand-800, var(--rtk-colors-text-800, 255 255 255 / 0.76)));\n}\n\n.channel.active .last-message {\n color: rgb(var(--rtk-colors-text-on-brand-700, var(--rtk-colors-text-700, 255 255 255 / 0.64)));\n}\n\n.channel.active rtk-avatar {\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));\n}\n\n.col {\n gap: var(--rtk-space-1, 4px);\n display: flex;\n flex-direction: column;\n}\n\n.channel-meta {\n flex-shrink: 0;\n align-items: flex-end;\n}\n\n@keyframes slide-down {\n from {\n transform: translateY(-50px);\n }\n to {\n transform: translateY(0%);\n }\n}\n";
93
- const RtkChannelSelectorViewStyle0 = rtkChannelSelectorViewCss;
94
-
95
- var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
96
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
97
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
98
- r = Reflect.decorate(decorators, target, key, desc);
99
- else
100
- for (var i = decorators.length - 1; i >= 0; i--)
101
- if (d = decorators[i])
102
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
103
- return c > 3 && r && Object.defineProperty(target, key, r), r;
104
- };
105
- const RtkChannelSelectorView = class {
106
- constructor(hostRef) {
107
- index$1.registerInstance(this, hostRef);
108
- this.channelChange = index$1.createEvent(this, "channelChange", 7);
109
- /** Disables search bar (default = false) */
110
- this.disableSearch = false;
111
- /** Hides avatar (default = false) */
112
- this.hideAvatar = false;
113
- /** Icon Pack */
114
- this.iconPack = uiStore.defaultIconPack;
115
- /** Language */
116
- this.t = uiStore.useLanguage();
117
- /** Render as dropdown or list (default = list) */
118
- this.viewAs = 'list';
119
- this.searchQuery = '';
120
- this.showDropdown = false;
121
- this.calculateListHeight = debounce.debounce(() => {
122
- if (this.viewAs === 'list' && this.$listEl) {
123
- let height = 0;
124
- const slotEl = this.$el.shadowRoot.querySelector('slot[name="header"]');
125
- if (slotEl) {
126
- slotEl.assignedElements().forEach((e) => (height += e.offsetHeight));
127
- }
128
- if (this.$searchEl) {
129
- height += this.$searchEl.offsetHeight;
130
- }
131
- this.$listEl.style.height = `${window.innerHeight - height - 16}px`;
132
- }
133
- }, 60);
134
- this.getFilteredChannels = () => {
135
- if (this.searchQuery.trim() === '') {
136
- return this.channels;
137
- }
138
- return this.channels.filter((channel) => {
139
- return channel['name'].toLowerCase().includes(this.searchQuery.toLowerCase());
140
- });
141
- };
142
- this.toggleDropdown = () => {
143
- this.showDropdown = !this.showDropdown;
144
- };
145
- this.getChannelById = (id) => {
146
- return this.channels.find((channel) => channel.id === id);
147
- };
148
- this.getTotalUnreads = () => {
149
- return this.channels.reduce((acc, curr) => {
150
- return acc + curr.unreadCount;
151
- }, 0);
152
- };
153
- this.onChannelClickHandler = (channel) => {
154
- this.channelChange.emit(channel);
155
- if (this.viewAs === 'dropdown') {
156
- this.showDropdown = false;
157
- }
158
- };
159
- }
160
- connectedCallback() {
161
- this.resizeObserver = new ResizeObserver(this.calculateListHeight);
162
- }
163
- componentDidLoad() {
164
- this.resizeObserver.observe(this.$el);
165
- this.calculateListHeight();
166
- }
167
- disconnectedCallback() {
168
- var _a;
169
- (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
170
- this.calculateListHeight.cancel();
171
- }
172
- getTimeLabel(messageDate) {
173
- const today = new Date();
174
- const yesterday = new Date(today);
175
- yesterday.setDate(today.getDate() - 1);
176
- const firstDayOfWeek = new Date(today);
177
- firstDayOfWeek.setDate(today.getDate() - today.getDay() - 1);
178
- if (messageDate.toDateString() === today.toDateString()) {
179
- return messageDate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
180
- }
181
- else if (messageDate.toDateString() === yesterday.toDateString()) {
182
- return this.t('date.yesteday');
183
- }
184
- else if (messageDate > firstDayOfWeek) {
185
- const weekdays = [
186
- 'date.sunday',
187
- 'date.monday',
188
- 'date.tuesday',
189
- 'date.wednesday',
190
- 'date.thursday',
191
- 'date.friday',
192
- 'date.saturday',
193
- ];
194
- return this.t(weekdays[messageDate.getDay()]);
195
- }
196
- else {
197
- return Intl.DateTimeFormat([], {
198
- day: '2-digit',
199
- month: '2-digit',
200
- year: '2-digit',
201
- }).format(messageDate);
202
- }
203
- }
204
- render() {
205
- const filteredChannels = this.getFilteredChannels();
206
- const shouldShowDropdown = this.viewAs === 'list' || (this.viewAs === 'dropdown' && this.showDropdown);
207
- return (index$1.h(index$1.Host, { key: '2c491dbe0ac19cb386f0880fff81f4501648a6ae' }, this.viewAs === 'list' && index$1.h("slot", { key: '0e87d59c7522543b19711813474738f75a0e02fe', name: "header" }), shouldShowDropdown && (index$1.h("div", { key: 'c60692c7f75aa9febd73c134cd79aab020f7c2a5', class: {
208
- dropdown: this.viewAs === 'dropdown',
209
- scrollbar: this.viewAs === 'dropdown',
210
- list: this.viewAs === 'list',
211
- } }, !this.disableSearch && (index$1.h("div", { key: '74c50b2fad4cba26a20278f87c77a1672a1d748d', class: "search-container", ref: (el) => (this.$searchEl = el) }, index$1.h("input", { key: 'ff22698874ed7df9d91e72cb485ec2901ddf2b3b', type: "text", placeholder: this.t('chat.search_conversations'), value: this.searchQuery, onInput: (e) => (this.searchQuery = e.target.value) }), index$1.h("rtk-icon", { key: '9c8a9dffc0cea5e56aeb828ee198d0582024f1fa', icon: this.iconPack.search }))), index$1.h("div", { key: '04607e8d3cd62f4e6ca10c2748d6e100a4df4039', class: "channels-container scrollbar", ref: (el) => (this.$listEl = el) }, filteredChannels.map((channel) => {
212
- return (index$1.h("button", { class: { channel: true, active: this.selectedChannelId === channel.id }, onClick: () => this.onChannelClickHandler(channel) }, !this.hideAvatar && (index$1.h("div", null, channel.icon ? (index$1.h("rtk-icon", { class: "avatar-icon", icon: this.iconPack[channel.icon] })) : (index$1.h("rtk-avatar", { participant: {
213
- name: channel.name,
214
- picture: channel.avatarUrl,
215
- } })))), index$1.h("div", { class: "channel-data" }, index$1.h("div", { class: "col" }, index$1.h("div", { class: "name" }, channel.name), channel.latestMessage && (index$1.h("div", { class: {
216
- 'last-message': true,
217
- 'no-message': !channel.latestMessage,
218
- } }, index$1.h("rtk-text-message-view", { isMarkdown: true, text: channel.latestMessage })))), index$1.h("div", { class: "col channel-meta" }, channel.latestMessageTime && (index$1.h("time", { class: "time" }, this.getTimeLabel(channel.latestMessageTime))), channel.unreadCount > 0 && (index$1.h("div", { class: "unread-count" }, channel.unreadCount))))));
219
- })))), this.viewAs === 'dropdown' && (index$1.h("button", { key: 'f710577dda08fe51f169c85318b9c51b89e765bb', class: "dropdown-trigger", onClick: this.toggleDropdown }, index$1.h("span", { key: '9bebec13a0bacb5651ef598ff47b96a2903ccf0f' }, index$1.h("rtk-icon", { key: '0ec4a41bcb7fa3086cdeacc0d6671c23c43a857f', icon: this.iconPack.participants }), this.selectedChannelId &&
220
- `${this.t('to')} ${this.getChannelById(this.selectedChannelId).name}`, this.getTotalUnreads() > 0 && (index$1.h("div", { key: '043033c796d39c07a290350c5b7f92eafe03bbd2', class: "unread-count" }, this.getTotalUnreads()))), index$1.h("rtk-icon", { key: '12a2a92172d5741ac6ee99a39ee83158b98a8745', icon: this.showDropdown ? this.iconPack.chevron_up : this.iconPack.chevron_down })))));
221
- }
222
- get $el() { return index$1.getElement(this); }
223
- };
224
- __decorate$g([
225
- index.SyncWithStore()
226
- ], RtkChannelSelectorView.prototype, "iconPack", void 0);
227
- __decorate$g([
228
- index.SyncWithStore()
229
- ], RtkChannelSelectorView.prototype, "t", void 0);
230
- RtkChannelSelectorView.style = RtkChannelSelectorViewStyle0;
231
-
232
- const rtkChatCss = ":host {\n line-height: initial;\n font-family: var(--rtk-font-family, sans-serif);\n\n font-feature-settings: normal;\n font-variation-settings: normal;\n}\n\np {\n margin: var(--rtk-space-0, 0px);\n padding: var(--rtk-space-0, 0px);\n}\n\n.scrollbar {\n /* For Firefox */\n scrollbar-width: thin;\n scrollbar-color: var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent);\n}\n\n/* For WebKit */\n.scrollbar::-webkit-scrollbar {\n height: var(--rtk-space-1\\.5, 6px);\n width: var(--rtk-space-1\\.5, 6px);\n border-radius: 9999px;\n background-color: var(--rtk-scrollbar-background, transparent);\n}\n\n.scrollbar::-webkit-scrollbar-thumb {\n border-radius: 9999px;\n background-color: var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)));\n}\n\n\n:host {\n display: flex;\n height: 100%;\n width: 100%;\n flex-direction: column;\n font-size: 14px;\n position: relative;\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n}\n\nh3 {\n margin: var(--rtk-space-0, 0px);\n display: flex;\n height: var(--rtk-space-12, 48px);\n align-items: center;\n justify-content: center;\n font-size: 16px;\n font-weight: 400;\n color: rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));\n text-align: center;\n}\n\n#dropzone {\n position: absolute;\n top: var(--rtk-space-0, 0px);\n right: var(--rtk-space-0, 0px);\n bottom: var(--rtk-space-0, 0px);\n left: var(--rtk-space-0, 0px);\n z-index: 10;\n display: none;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64));\n}\n\n#dropzone.active {\n display: flex;\n animation: 0.2s slide-up ease-in;\n}\n\nrtk-chat-messages-ui,\nrtk-chat-messages-ui-paginated {\n flex: 1 0 0;\n}\n\nrtk-chat-composer-view {\n margin: var(--rtk-space-2, 8px);\n}\n\n.chat-container {\n display: flex;\n height: 100%;\n width: 100%;\n flex-direction: row;\n container-type: size;\n container-name: chatcontainer;\n}\n\n@container chatcontainer (height < 360px) {\n rtk-channel-selector-view {\n height: var(--rtk-space-8, 32px);\n min-height: 24px;\n }\n}\n\n.chat {\n display: flex;\n flex: 1 1 0%;\n flex-direction: column;\n}\n\n.banner {\n height: 100%;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n.banner .welcome-new-channel {\n width: var(--rtk-space-48, 192px);\n}\n\n.banner .create-channel-illustration {\n height: var(--rtk-space-40, 160px);\n width: var(--rtk-space-40, 160px);\n}\n\n.channel-selector-header {\n box-sizing: border-box;\n height: var(--rtk-space-16, 64px);\n padding: var(--rtk-space-4, 16px);\n display: flex;\n justify-content: space-between;\n border-bottom: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-700, 44 44 44));\n}\n\n.channel-selector-header .channel-create-btn {\n width: var(--rtk-space-8, 32px);\n justify-content: center;\n}\n\n.channel-selector-header .channel-create-btn:hover {\n --tw-text-opacity: 1;\n color: rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-text-opacity));\n}\n\n.view-chats-btn {\n margin-top: var(--rtk-space-4, 16px);\n}\n\n.selector-container {\n z-index: 50;\n width: 100%;\n max-width: var(--rtk-space-80, 320px);\n border-right: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60));\n}\n\n.selector-container.hide {\n display: none;\n}\n\n.mobile-close-btn {\n display: none;\n}\n\n.selector-container.mobile {\n height: 100%;\n width: 100%;\n max-width: 100%;\n position: absolute;\n top: var(--rtk-space-0, 0px);\n right: var(--rtk-space-0, 0px);\n bottom: var(--rtk-space-0, 0px);\n left: var(--rtk-space-0, 0px);\n background-color: rgba(var(--rtk-colors-background-1000, 8 8 8) / 0.6);\n display: flex;\n}\n\n.selector-container.mobile rtk-channel-selector-view {\n max-width: var(--rtk-space-96, 384px);\n animation: 0.3s swipe-in;\n}\n\n.selector-container.mobile .mobile-close-btn {\n margin-top: var(--rtk-space-4, 16px);\n margin-bottom: var(--rtk-space-4, 16px);\n margin-left: var(--rtk-space-6, 24px);\n margin-right: var(--rtk-space-6, 24px);\n display: block;\n}\n\n.pinned-messages {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n\n.pinned-messages-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--rtk-space-2, 8px);\n padding: var(--rtk-space-4, 16px);\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));\n font-size: 14px;\n cursor: pointer;\n}\n\n.pinned-messages-header div {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--rtk-space-2, 8px);\n}\n\n.pinned-messages-header rtk-icon {\n height: var(--rtk-space-3, 12px);\n width: var(--rtk-space-3, 12px);\n}\n\n.pinned-messages-content {\n --tw-border-opacity: 1;\n border-color: rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));\n position: absolute;\n left: var(--rtk-space-0, 0px);\n top: 100%;\n z-index: 50;\n max-height: 30vh;\n width: 100%;\n overflow: auto;\n}\n\n.pinned-message {\n display: flex;\n cursor: pointer;\n flex-direction: row;\n align-items: center;\n gap: var(--rtk-space-2, 8px);\n --tw-border-opacity: 1;\n border-color: rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));\n padding: var(--rtk-space-4, 16px);\n border-bottom-width: var(--rtk-border-width-sm, 1px);\n border-right-width: var(--rtk-border-width-none, 0);\n border-left-width: var(--rtk-border-width-none, 0);\n border-top-width: var(--rtk-border-width-none, 0);\n border-style: solid;\n}\n\n.pinned-message-avatar {\n height: var(--rtk-space-6, 24px) !important;\n width: var(--rtk-space-6, 24px) !important;\n}\n\n@keyframes swipe-in {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n}\n";
92
+ const rtkChatCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{display:flex;height:100%;width:100%;flex-direction:column;font-size:14px;position:relative;box-sizing:border-box;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}h3{margin:var(--rtk-space-0, 0px);display:flex;height:var(--rtk-space-12, 48px);align-items:center;justify-content:center;font-size:16px;font-weight:400;color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));text-align:center}#dropzone{position:absolute;top:var(--rtk-space-0, 0px);right:var(--rtk-space-0, 0px);bottom:var(--rtk-space-0, 0px);left:var(--rtk-space-0, 0px);z-index:10;display:none;flex-direction:column;align-items:center;justify-content:center;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}#dropzone.active{display:flex;animation:0.2s slide-up ease-in}rtk-chat-messages-ui,rtk-chat-messages-ui-paginated{flex:1 0 0}rtk-chat-composer-view{margin:var(--rtk-space-2, 8px)}.chat-container{display:flex;height:100%;width:100%;flex-direction:row;container-type:size;container-name:chatcontainer}.chat{box-sizing:border-box;display:flex;flex:1 1 0%;flex-direction:column}.banner{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.view-chats-btn{margin-top:var(--rtk-space-4, 16px)}.selector-container{z-index:50;width:100%;max-width:var(--rtk-space-80, 320px);border-right:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60))}.selector-container.hide{display:none}.mobile-close-btn{display:none}.selector-container.mobile{height:100%;width:100%;max-width:100%;position:absolute;top:var(--rtk-space-0, 0px);right:var(--rtk-space-0, 0px);bottom:var(--rtk-space-0, 0px);left:var(--rtk-space-0, 0px);background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / 0.6);display:flex}.selector-container.mobile .mobile-close-btn{margin-top:var(--rtk-space-4, 16px);margin-bottom:var(--rtk-space-4, 16px);margin-left:var(--rtk-space-6, 24px);margin-right:var(--rtk-space-6, 24px);display:block}.pinned-messages{position:relative;display:flex;flex-direction:column}.pinned-messages-header{display:flex;align-items:center;justify-content:space-between;gap:var(--rtk-space-2, 8px);padding:var(--rtk-space-4, 16px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));font-size:14px;cursor:pointer}.pinned-messages-header div{display:flex;flex-direction:row;align-items:center;gap:var(--rtk-space-2, 8px)}.pinned-messages-header rtk-icon{height:var(--rtk-space-3, 12px);width:var(--rtk-space-3, 12px)}.pinned-messages-content{--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));position:absolute;left:var(--rtk-space-0, 0px);top:100%;z-index:50;max-height:30vh;width:100%;overflow:auto}.pinned-message{display:flex;cursor:pointer;flex-direction:row;align-items:center;gap:var(--rtk-space-2, 8px);--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));padding:var(--rtk-space-4, 16px);border-bottom-width:var(--rtk-border-width-sm, 1px);border-right-width:var(--rtk-border-width-none, 0);border-left-width:var(--rtk-border-width-none, 0);border-top-width:var(--rtk-border-width-none, 0);border-style:solid}.pinned-message-avatar{height:var(--rtk-space-6, 24px) !important;width:var(--rtk-space-6, 24px) !important}@keyframes swipe-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}";
233
93
  const RtkChatStyle0 = rtkChatCss;
234
94
 
235
- var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
95
+ var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
236
96
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
237
97
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
238
98
  r = Reflect.decorate(decorators, target, key, desc);
@@ -246,15 +106,6 @@ const RtkChat = class {
246
106
  constructor(hostRef) {
247
107
  index$1.registerInstance(this, hostRef);
248
108
  this.stateUpdate = index$1.createEvent(this, "rtkStateUpdate", 7);
249
- this.chatUpdateListener = ({ message }) => {
250
- if (message.channelId)
251
- return;
252
- if (!this.displayFilter || this.displayFilter(message)) {
253
- this.addToChatGroup(message);
254
- // shallow copy to trigger render
255
- this.chatGroups = Object.assign({}, this.chatGroups);
256
- }
257
- };
258
109
  this.chatPermissionUpdateListener = () => {
259
110
  this.canSend = this.meeting.self.permissions.chatPublic.canSend;
260
111
  this.canSendTextMessage = this.meeting.self.permissions.chatPublic.text;
@@ -268,25 +119,8 @@ const RtkChat = class {
268
119
  this.t = uiStore.useLanguage();
269
120
  /** UI Overrides */
270
121
  this.overrides = uiStore.defaultOverrides;
271
- /** disables private chat */
272
- this.disablePrivateChat = false;
273
122
  /** Can current user pin/unpin messages */
274
123
  this.canPinMessages = false;
275
- /**
276
- * @deprecated
277
- * Beta API, will change in future
278
- * List of target presets allowed as private chat recipient
279
- */
280
- this.privatePresetFilter = [];
281
- /**
282
- * @deprecated
283
- * Beta API, will change in future
284
- * A filter function for messages to be displayed
285
- */
286
- this.displayFilter = undefined;
287
- this.unreadCountGroups = {};
288
- this.chatGroups = { everyone: [] };
289
- this.selectedGroup = 'everyone';
290
124
  this.now = new Date();
291
125
  this.dropzoneActivated = false;
292
126
  this.showLatestMessageButton = false;
@@ -297,17 +131,13 @@ const RtkChat = class {
297
131
  this.canSendPrivateTexts = false;
298
132
  this.canSendPrivateFiles = false;
299
133
  this.emojiPickerEnabled = false;
300
- this.chatRecipientId = 'everyone';
301
134
  this.participants = [];
302
- this.channels = [];
303
135
  this.editingMessage = null;
304
136
  this.replyMessage = null;
305
137
  this.searchQuery = '';
306
138
  this.selectorState = 'hide';
307
- this.creatingChannel = false;
308
139
  this.isSendingMessage = false;
309
140
  this.showPinnedMessages = false;
310
- this.channelMap = new Map();
311
141
  this.onDragOver = (e) => {
312
142
  e.preventDefault();
313
143
  this.dropzoneActivated = true;
@@ -335,55 +165,10 @@ const RtkChat = class {
335
165
  });
336
166
  };
337
167
  this.disconnectMeeting = (meeting) => {
338
- var _a, _b, _c, _d, _e, _f;
339
- if (this.isPrivateChatSupported()) {
340
- meeting === null || meeting === void 0 ? void 0 : meeting.participants.joined.removeListener('participantJoined', this.onParticipantUpdate);
341
- meeting === null || meeting === void 0 ? void 0 : meeting.participants.joined.removeListener('participantLeft', this.onParticipantUpdate);
342
- }
343
- (_a = meeting === null || meeting === void 0 ? void 0 : meeting.chat) === null || _a === void 0 ? void 0 : _a.removeListener('chatUpdate', this.chatUpdateListener);
344
- (_b = meeting === null || meeting === void 0 ? void 0 : meeting.chat) === null || _b === void 0 ? void 0 : _b.removeListener('channelCreate', this.onChannelCreateOrUpdate);
345
- (_c = meeting === null || meeting === void 0 ? void 0 : meeting.chat) === null || _c === void 0 ? void 0 : _c.removeListener('channelUpdate', this.onChannelCreateOrUpdate);
346
- (_d = meeting === null || meeting === void 0 ? void 0 : meeting.chat) === null || _d === void 0 ? void 0 : _d.removeListener('channelMessageUpdate', this.onChannelCreateOrUpdate);
347
- (_f = (_e = meeting === null || meeting === void 0 ? void 0 : meeting.participants) === null || _e === void 0 ? void 0 : _e.all) === null || _f === void 0 ? void 0 : _f.removeListener('participantsUpdate', this.onChannelCreateOrUpdate);
348
168
  meeting.self.permissions.removeListener('*', this.chatPermissionUpdateListener);
349
169
  };
350
- this.getFilteredParticipants = () => {
351
- if (this.privatePresetFilter.length === 0)
352
- return this.participants;
353
- return this.participants.filter((p) => this.privatePresetFilter.includes(p.presetName));
354
- };
355
- this.onParticipantUpdate = () => {
356
- this.participants = this.meeting.participants.joined
357
- .toArray()
358
- .filter((p) => this.privatePresetFilter.length === 0 || this.privatePresetFilter.includes(p.presetName));
359
- // if selected participant leaves, reset state to everyone
360
- if (this.selectedParticipant && !this.participants.includes(this.selectedParticipant)) {
361
- this.selectedParticipant = null;
362
- this.chatRecipientId = this.selectedGroup = 'everyone';
363
- }
364
- };
365
- this.updateUnreadCountGroups = (obj) => {
366
- this.unreadCountGroups = Object.assign(Object.assign({}, this.unreadCountGroups), obj);
367
- };
368
- this.isPrivateChatSupported = () => {
369
- return this.canPrivateMessage && !this.disablePrivateChat;
370
- };
371
- this.updateRecipients = (event) => {
372
- const { id } = event.detail;
373
- this.chatRecipientId = id;
374
- this.selectedParticipant = this.participants.find((p) => p.userId === id);
375
- if (this.chatRecipientId !== 'everyone') {
376
- const allParticipants = [this.chatRecipientId, this.meeting.self.userId];
377
- const targetKey = chat.generateChatGroupKey(allParticipants);
378
- this.selectedGroup = targetKey;
379
- }
380
- else {
381
- this.selectedGroup = 'everyone';
382
- }
383
- this.updateUnreadCountGroups({ [this.selectedGroup]: 0 });
384
- };
385
170
  this.isTextMessagingAllowed = () => {
386
- if (this.chatRecipientId === 'everyone') {
171
+ if (!this.selectedParticipant) {
387
172
  // public chat
388
173
  return this.canSend && this.canSendTextMessage;
389
174
  }
@@ -391,98 +176,16 @@ const RtkChat = class {
391
176
  return this.canPrivateMessage && this.canSendPrivateTexts;
392
177
  };
393
178
  this.isFileMessagingAllowed = () => {
394
- if (this.chatRecipientId === 'everyone') {
179
+ if (!this.selectedParticipant) {
395
180
  // public chat
396
181
  return this.canSend && this.canSendFiles;
397
182
  }
398
183
  // private chat
399
184
  return this.canPrivateMessage && this.canSendPrivateFiles;
400
185
  };
401
- this.onChannelChanged = (e) => {
402
- const channel = e.detail;
403
- if (channel.id.includes(chat.TEMPORARY_CHANNEL_PREFIX)) {
404
- this.createDMChannel(channel.id.replace(chat.TEMPORARY_CHANNEL_PREFIX, ''));
405
- }
406
- else {
407
- this.selectedChannelId = channel.id;
408
- }
409
- this.cleanup();
410
- if (this.selectorState !== 'desktop') {
411
- this.selectorState = 'hide';
412
- }
413
- };
414
- this.createDMChannel = async (memberId) => {
415
- this.creatingChannel = true;
416
- const newChannel = await this.meeting.chat.createChannel('Direct Message', [memberId], {
417
- visibility: 'private',
418
- isDirectMessage: true,
419
- });
420
- this.creatingChannel = false;
421
- this.selectedChannelId = newChannel.id;
422
- };
423
- this.cleanup = () => {
424
- this.editingMessage = null;
425
- this.replyMessage = null;
426
- this.searchQuery = '';
427
- };
428
186
  this.onQuotedMessageDismiss = () => {
429
187
  this.replyMessage = null;
430
188
  };
431
- this.onChannelCreateOrUpdate = (channel) => {
432
- if (channel) {
433
- this.channelMap.set(channel.id, channel);
434
- }
435
- else {
436
- this.meeting.chat.channels.forEach((chan) => this.channelMap.set(chan.id, chan));
437
- }
438
- const allChannels = Array.from(this.channelMap.values());
439
- const channels = allChannels
440
- .filter((channel) => !chat.isDirectMessageChannel(channel))
441
- .sort((a, b) => chat.alphabeticalSorter(a.displayName, b.displayName));
442
- const membersWithChannel = allChannels.filter(chat.isDirectMessageChannel).map((channel) => {
443
- return Object.assign(Object.assign({}, channel), { displayName: this.getMemberDisplayName(channel) });
444
- });
445
- const membersWithoutChannel = this.meeting.participants.all
446
- .toArray()
447
- .filter((member) => {
448
- if (member.userId === this.meeting.self.userId)
449
- return false;
450
- const matcher = chat.getDMComparator([this.meeting.self.userId, member.userId]);
451
- return membersWithChannel.every((channel) => chat.getDMComparator(channel.memberIds) !== matcher);
452
- })
453
- .map((member) => {
454
- return {
455
- id: `${chat.TEMPORARY_CHANNEL_PREFIX}${member.userId}`,
456
- displayName: member.name,
457
- displayPictureUrl: member.picture,
458
- isDirectMessage: true,
459
- unreadCount: 0,
460
- };
461
- });
462
- const dms = [...membersWithChannel, ...membersWithoutChannel].sort((a, b) => chat.alphabeticalSorter(a.displayName, b.displayName));
463
- this.channels = [...channels, ...dms];
464
- // select channel only if it is created in db
465
- const nonTemporaryChannel = [...channels, ...membersWithChannel];
466
- if (!this.selectedChannelId && nonTemporaryChannel.length !== 0) {
467
- this.selectedChannelId = nonTemporaryChannel[0].id;
468
- }
469
- };
470
- this.getMemberDisplayName = (channel) => {
471
- var _a;
472
- let id;
473
- if (channel.memberIds.length === 1) {
474
- // channel with self
475
- id = channel.memberIds[0];
476
- }
477
- else {
478
- id =
479
- channel.memberIds[0] === this.meeting.self.userId
480
- ? channel.memberIds[1]
481
- : channel.memberIds[0];
482
- }
483
- const member = this.meeting.participants.all.toArray().find((member) => member.userId === id);
484
- return (_a = member === null || member === void 0 ? void 0 : member.name) !== null && _a !== void 0 ? _a : id;
485
- };
486
189
  this.onNewMessageHandler = async (e) => {
487
190
  const message = e.detail;
488
191
  this.isSendingMessage = true;
@@ -497,7 +200,7 @@ const RtkChat = class {
497
200
  var _a, _b;
498
201
  this.isSendingMessage = true;
499
202
  try {
500
- await ((_b = (_a = this.meeting) === null || _a === void 0 ? void 0 : _a.chat) === null || _b === void 0 ? void 0 : _b.editTextMessage(this.editingMessage.id, e.detail, this.editingMessage.channelId));
203
+ await ((_b = (_a = this.meeting) === null || _a === void 0 ? void 0 : _a.chat) === null || _b === void 0 ? void 0 : _b.editTextMessage(this.editingMessage.id, e.detail));
501
204
  }
502
205
  finally {
503
206
  this.isSendingMessage = false;
@@ -546,45 +249,6 @@ const RtkChat = class {
546
249
  this.replyMessage = null;
547
250
  this.editingMessage = message;
548
251
  };
549
- this.getPrivateChatRecipients = () => {
550
- const participants = this.getFilteredParticipants().map((participant) => {
551
- const key = chat.generateChatGroupKey([participant.userId, this.meeting.self.userId]);
552
- const result = {
553
- id: participant.userId,
554
- name: participant.name,
555
- avatarUrl: participant.picture,
556
- unreadCount: this.unreadCountGroups[key],
557
- };
558
- return result;
559
- });
560
- const everyone = {
561
- id: 'everyone',
562
- name: this.t('chat.everyone'),
563
- icon: 'participants',
564
- unreadCount: this.unreadCountGroups['everyone'],
565
- };
566
- return [everyone, ...participants];
567
- };
568
- this.getPinnedMessageLabel = (message) => {
569
- if (message.type === 'text')
570
- return message.message;
571
- if (message.type === 'image')
572
- return 'Image';
573
- if (message.type === 'file')
574
- return 'File';
575
- return '';
576
- };
577
- this.renderPinnedMessagesHeader = () => {
578
- if (this.meeting.chat.pinned.length === 0)
579
- return null;
580
- /**
581
- * We do not display a picture against the avatar because the chatMessage API does not provide it.
582
- */
583
- return (index$1.h("div", { class: "pinned-messages" }, index$1.h("div", { class: "pinned-messages-header", onClick: () => (this.showPinnedMessages = !this.showPinnedMessages) }, index$1.h("div", null, index$1.h("rtk-icon", { icon: this.iconPack.pin, size: "sm" }), this.t('chat.pinned_msgs'), ` (${this.meeting.chat.pinned.length})`), index$1.h("rtk-icon", { icon: this.showPinnedMessages ? this.iconPack.chevron_up : this.iconPack.chevron_down, size: "sm" })), this.showPinnedMessages && (index$1.h("div", { class: "pinned-messages-content scrollbar" }, this.meeting.chat.pinned.map((message) => {
584
- const label = this.getPinnedMessageLabel(message);
585
- return (index$1.h("div", { class: "pinned-message" }, index$1.h("rtk-avatar", { class: "pinned-message-avatar", participant: { name: message.displayName, picture: '' }, size: "sm" }), index$1.h("span", null, label.length > 20 ? `${label.substring(0, 20)}...` : label)));
586
- })))));
587
- };
588
252
  }
589
253
  connectedCallback() {
590
254
  if (!this.meeting)
@@ -607,6 +271,16 @@ const RtkChat = class {
607
271
  this.editingMessage = event.detail.payload;
608
272
  }
609
273
  }
274
+ onChatSelectorChange(event) {
275
+ var _a;
276
+ const selectedUser = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.selectedUser;
277
+ // Everyone
278
+ if (!selectedUser) {
279
+ this.selectedParticipant = null;
280
+ return;
281
+ }
282
+ this.selectedParticipant = selectedUser;
283
+ }
610
284
  disconnectedCallback() {
611
285
  var _a;
612
286
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
@@ -616,7 +290,7 @@ const RtkChat = class {
616
290
  this.host.removeEventListener('drop', this.onDrop);
617
291
  }
618
292
  meetingChanged(meeting, oldMeeting) {
619
- var _a, _b, _c, _d, _e, _f;
293
+ var _a, _b, _c, _d;
620
294
  if (oldMeeting != undefined)
621
295
  this.disconnectMeeting(oldMeeting);
622
296
  if (meeting && !meeting.chat)
@@ -629,97 +303,16 @@ const RtkChat = class {
629
303
  ((_b = meeting.self.permissions.chatPrivate) === null || _b === void 0 ? void 0 : _b.canReceive));
630
304
  this.canSendPrivateTexts = !!((_c = meeting.self.permissions.chatPrivate) === null || _c === void 0 ? void 0 : _c.text);
631
305
  this.canSendPrivateFiles = !!((_d = meeting.self.permissions.chatPrivate) === null || _d === void 0 ? void 0 : _d.files);
632
- this.canPinMessages =
633
- ((_e = meeting === null || meeting === void 0 ? void 0 : meeting.__internals__) === null || _e === void 0 ? void 0 : _e.features.hasFeature(uiStore.FlagsmithFeatureFlags.PINNED_MESSAGES)) &&
634
- meeting.self.permissions.pinParticipant;
635
- this.initializeChatGroups();
636
- // shallow copy to trigger render
637
- this.chatGroups = Object.assign({}, this.chatGroups);
638
306
  meeting.self.permissions.on('*', this.chatPermissionUpdateListener);
639
- this.onParticipantUpdate();
640
- (_f = meeting.chat) === null || _f === void 0 ? void 0 : _f.addListener('chatUpdate', this.chatUpdateListener);
641
- if (this.isPrivateChatSupported()) {
642
- meeting.participants.joined.addListener('participantJoined', this.onParticipantUpdate);
643
- meeting.participants.joined.addListener('participantLeft', this.onParticipantUpdate);
644
- }
645
- }
646
- }
647
- chatGroupsChanged(chatGroups) {
648
- var _a, _b;
649
- if (!this.isPrivateChatSupported()) {
650
- return;
651
- }
652
- const unreadCounts = {};
653
- for (const key in chatGroups) {
654
- const lastReadTimestamp = (_a = uiStore.chatUnreadTimestamps[key]) !== null && _a !== void 0 ? _a : 0;
655
- unreadCounts[key] = chatGroups[key].filter((c) => c.type == 'chat' &&
656
- c.message.time > lastReadTimestamp &&
657
- c.message.userId !== this.meeting.self.userId).length;
658
- if (key ===
659
- chat.generateChatGroupKey([this.meeting.self.userId, (_b = this.selectedParticipant) === null || _b === void 0 ? void 0 : _b.userId]) ||
660
- (key === 'everyone' && this.selectedParticipant === null)) {
661
- unreadCounts[key] = 0;
662
- uiStore.chatUnreadTimestamps[key] = new Date();
663
- }
664
307
  }
665
- this.updateUnreadCountGroups(unreadCounts);
666
- }
667
- initializeChatGroups() {
668
- var _a;
669
- (_a = this.meeting.chat) === null || _a === void 0 ? void 0 : _a.messages.forEach((message) => {
670
- if (!this.displayFilter || this.displayFilter(message)) {
671
- this.addToChatGroup(message);
672
- }
673
- });
674
- }
675
- onDisplayFilterChanged(newFilter, oldFilter) {
676
- if (newFilter !== oldFilter) {
677
- this.chatGroups = {};
678
- this.initializeChatGroups();
679
- }
680
- }
681
- addToChatGroup(message) {
682
- var _a;
683
- const parsedMessage = chat.parseMessageForTarget(message);
684
- let key = 'everyone';
685
- if (((_a = parsedMessage.targetUserIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
686
- const allParticipants = new Set([
687
- parsedMessage.userId,
688
- ...parsedMessage.targetUserIds,
689
- ]);
690
- key = chat.generateChatGroupKey(Array.from(allParticipants));
691
- }
692
- if (this.chatGroups[key] === undefined)
693
- this.chatGroups[key] = [];
694
- let isEditedMessage = false;
695
- let messages = [];
696
- this.chatGroups[key].forEach((chat) => {
697
- if (chat.type === 'chat' && chat.message.id === message.id) {
698
- isEditedMessage = true;
699
- messages.push({ type: 'chat', message: parsedMessage });
700
- }
701
- else {
702
- messages.push(chat);
703
- }
704
- });
705
- if (!isEditedMessage) {
706
- messages.push({ type: 'chat', message: parsedMessage });
707
- }
708
- this.chatGroups[key] = messages;
709
308
  }
710
309
  getRecipientPeerIds() {
711
- let peerIds = [];
712
- if (this.chatRecipientId !== 'everyone') {
713
- peerIds = [this.selectedParticipant.id];
714
- }
715
- return peerIds;
716
- }
717
- channelSwitchListener(e) {
718
- this.onChannelChanged(e);
310
+ if (!this.selectedParticipant)
311
+ return [];
312
+ return [this.selectedParticipant.id];
719
313
  }
720
314
  renderComposerUI() {
721
- var _a;
722
- if (this.chatRecipientId === 'everyone') {
315
+ if (!this.selectedParticipant) {
723
316
  if (!this.canSendTextMessage && !this.canSendFiles)
724
317
  return null;
725
318
  }
@@ -730,42 +323,37 @@ const RtkChat = class {
730
323
  const uiProps = { iconPack: this.iconPack, t: this.t, size: this.size };
731
324
  const message = this.editingMessage ? this.editingMessage.message : '';
732
325
  const quotedMessage = this.replyMessage ? this.replyMessage.message : '';
733
- const draftStorageKey = this.selectedChannelId
734
- ? `rtk-chat-draft-${this.selectedChannelId}`
735
- : 'rtk-chat-draft';
326
+ const draftStorageKey = 'rtk-chat-draft';
736
327
  const editStorageKey = this.editingMessage
737
- ? `rtk-chat-edit-${(_a = this.selectedChannelId) !== null && _a !== void 0 ? _a : 'no-channel'}-${this.editingMessage.id}`
328
+ ? `rtk-chat-edit-${'no-channel'}-${this.editingMessage.id}`
738
329
  : 'rtk-chat-edit';
739
330
  const storageKey = this.editingMessage ? editStorageKey : draftStorageKey;
740
331
  return (index$1.h("rtk-chat-composer-view", Object.assign({ message: message, storageKey: storageKey, quotedMessage: quotedMessage, isEditing: !!this.editingMessage, isSending: this.isSendingMessage, canSendTextMessage: this.isTextMessagingAllowed(), canSendFiles: this.isFileMessagingAllowed(), disableEmojiPicker: this.overrides.disableEmojiPicker, maxLength: this.meeting.chat.maxTextLimit, rateLimits: this.meeting.chat.rateLimits, inputTextPlaceholder: this.t('chat.message_placeholder'), onNewMessage: this.onNewMessageHandler, onEditMessage: this.onEditMessageHandler, onEditCancel: this.onEditCancel, onQuotedMessageDismiss: this.onQuotedMessageDismiss }, uiProps), index$1.h("slot", { name: "chat-addon", slot: "chat-addon" })));
741
332
  }
742
333
  render() {
743
- var _a;
744
334
  if (!this.meeting) {
745
335
  return null;
746
336
  }
747
- return (index$1.h(index$1.Host, null, index$1.h("div", { class: "chat-container" }, index$1.h("div", { class: "chat" }, this.isFileMessagingAllowed() && (index$1.h("div", { id: "dropzone", class: { active: this.dropzoneActivated }, part: "dropzone" }, index$1.h("rtk-icon", { icon: this.iconPack.attach }), index$1.h("p", null, this.t('chat.send_attachment')))), this.renderPinnedMessagesHeader(), this.isPrivateChatSupported() && (index$1.h("rtk-channel-selector-view", { channels: this.getPrivateChatRecipients(), selectedChannelId: ((_a = this.selectedParticipant) === null || _a === void 0 ? void 0 : _a.userId) || 'everyone', onChannelChange: this.updateRecipients, t: this.t, viewAs: "dropdown" })), index$1.h("rtk-chat-messages-ui-paginated", { meeting: this.meeting, onPinMessage: this.onPinMessage, onEditMessage: this.onMessageEdit, onDeleteMessage: this.onDeleteMessage, size: this.size, iconPack: this.iconPack, t: this.t }), this.renderComposerUI()))));
337
+ return (index$1.h(index$1.Host, null, index$1.h("div", { class: "chat-container" }, index$1.h("div", { class: "chat" }, this.isFileMessagingAllowed() && (index$1.h("div", { id: "dropzone", class: { active: this.dropzoneActivated }, part: "dropzone" }, index$1.h("rtk-icon", { icon: this.iconPack.attach }), index$1.h("p", null, this.t('chat.send_attachment')))), index$1.h("rtk-chat-header", null), index$1.h("rtk-chat-messages-ui-paginated", { meeting: this.meeting, privateChatRecipient: this.selectedParticipant, onPinMessage: this.onPinMessage, onEditMessage: this.onMessageEdit, onDeleteMessage: this.onDeleteMessage, size: this.size, iconPack: this.iconPack, t: this.t }), this.renderComposerUI()))));
748
338
  }
749
339
  get host() { return index$1.getElement(this); }
750
340
  static get watchers() { return {
751
- "meeting": ["meetingChanged"],
752
- "chatGroups": ["chatGroupsChanged"],
753
- "displayFilter": ["onDisplayFilterChanged"]
341
+ "meeting": ["meetingChanged"]
754
342
  }; }
755
343
  };
756
- __decorate$f([
344
+ __decorate$h([
757
345
  index.SyncWithStore()
758
346
  ], RtkChat.prototype, "meeting", void 0);
759
- __decorate$f([
347
+ __decorate$h([
760
348
  index.SyncWithStore()
761
349
  ], RtkChat.prototype, "config", void 0);
762
- __decorate$f([
350
+ __decorate$h([
763
351
  index.SyncWithStore()
764
352
  ], RtkChat.prototype, "iconPack", void 0);
765
- __decorate$f([
353
+ __decorate$h([
766
354
  index.SyncWithStore()
767
355
  ], RtkChat.prototype, "t", void 0);
768
- __decorate$f([
356
+ __decorate$h([
769
357
  index.SyncWithStore()
770
358
  ], RtkChat.prototype, "overrides", void 0);
771
359
  RtkChat.style = RtkChatStyle0;
@@ -773,7 +361,7 @@ RtkChat.style = RtkChatStyle0;
773
361
  const rtkChatComposerViewCss = ":host {\n display: flex;\n flex-direction: column;\n font-family: var(--rtk-font-family, sans-serif);\n font-size: 14px;\n position: relative;\n}\n\n.quoted-message-container {\n margin-bottom: var(--rtk-space-2, 8px);\n display: flex;\n justify-content: space-between;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n border-radius: var(--rtk-border-radius-md, 8px);\n border: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60));\n}\n\n.quoted-message-container .quoted-message {\n flex: 1 1 0%;\n padding: var(--rtk-space-2, 8px);\n border-radius: var(--rtk-border-radius-md, 8px);\n max-height: var(--rtk-space-24, 96px);\n overflow-y: auto;\n word-break: break-all;\n}\n\n.quoted-message-container .quoted-message blockquote {\n display: none;\n}\n\n.quoted-message-container rtk-icon.dismiss {\n margin-left: auto;\n height: var(--rtk-space-5, 20px);\n width: var(--rtk-space-5, 20px);\n padding: var(--rtk-space-2, 8px);\n border-radius: var(--rtk-border-radius-md, 8px);\n color: rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52));\n}\n\n.quoted-message-container rtk-icon.dismiss:hover {\n cursor: pointer;\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n}\n\n.quoted-message-container rtk-icon.dismiss {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.composer-container {\n position: relative;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));\n border-radius: var(--rtk-border-radius-md, 8px);\n overflow: hidden;\n border: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60));\n}\n\n.composer-container > .composers {\n min-height: 60px;\n }\n\n@container chatcontainer (height < 360px) {\n .composer-container > .composers {\n min-height: 30px;\n }\n}\n\n.chat-buttons {\n padding: var(--rtk-space-3, 12px);\n display: flex;\n align-items: center;\n justify-content: space-between;\n --tw-bg-opacity: 1;\n background-color: rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));\n color: rgb(var(--rtk-colors-text-1000, 255 255 255));\n}\n\n.chat-buttons .right {\n z-index: 10;\n}\n\n.chat-buttons .right .edit-buttons {\n display: flex;\n gap: var(--rtk-space-2, 8px);\n}\n\n.chat-buttons > div {\n display: flex;\n align-items: center;\n}\n\nrtk-emoji-picker {\n z-index: 20;\n position: absolute;\n top: calc(var(--rtk-space-72, 288px) * -1);\n border-top: var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60));\n animation: 0.3s slide-up ease;\n}\n\n@keyframes slide-up {\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0%);\n }\n}\n";
774
362
  const RtkChatComposerViewStyle0 = rtkChatComposerViewCss;
775
363
 
776
- var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
364
+ var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
777
365
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
778
366
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
779
367
  r = Reflect.decorate(decorators, target, key, desc);
@@ -954,18 +542,43 @@ const RtkChatComposerView = class {
954
542
  } }, uiProps))), index$1.h("slot", { key: '31208ad279dec430da4527d22730de8e418bc722', name: "chat-buttons" })))), index$1.h("div", { key: '04fcdd3f690548cbf1e257ffb2982785e557726b', class: "right", part: "chat-buttons-right" }, !this.isEditing && (index$1.h("rtk-tooltip", { key: '367bf710673a0a2276f46d52289409abb77fe27b', variant: "primary", label: this.t('chat.send_msg'), delay: 2000 }, index$1.h("rtk-button", { key: 'c677e3026636c375ed7eee411c596f6d2a802794', kind: "icon", disabled: this.disableSendButton || this.isSending, onClick: () => this.handleSendMessage(), title: this.t('chat.send_msg') }, this.isSending ? (index$1.h("rtk-spinner", { size: "sm" })) : (index$1.h("rtk-icon", { icon: this.iconPack.send }))))), this.isEditing && (index$1.h("div", { key: '1e09e8868e4ae048b36bc8198b8aa1de92209a00', class: "edit-buttons" }, index$1.h("rtk-tooltip", { key: '29ff7a39bd168169fa7d104357b529a2c9efe0fd', variant: "secondary", label: this.t('cancel'), delay: 2000 }, index$1.h("rtk-button", { key: '27cf5353d0e8c2620fd8d4213994a9dcc83f83f3', kind: "icon", variant: "secondary", onClick: () => this.handleEditCancel(), title: this.t('cancel') }, index$1.h("rtk-icon", { key: 'aeb4c9df3993c6cebf952f64f6676eb8a3866bb0', icon: this.iconPack.dismiss }))), index$1.h("rtk-tooltip", { key: '835195d0f51a1db81e66a1b2d9076a71f2aaee4e', variant: "primary", label: this.t('chat.update_msg'), delay: 2000 }, index$1.h("rtk-button", { key: 'd524f01ba5d7ca52224d39e23e7f963972ad80c9', kind: "icon", onClick: () => this.handleEditMessage(), title: this.t('chat.send_msg') }, this.isSending ? (index$1.h("rtk-spinner", { size: "sm" })) : (index$1.h("rtk-icon", { icon: this.iconPack.checkmark })))))))))));
955
543
  }
956
544
  };
957
- __decorate$e([
545
+ __decorate$g([
958
546
  index.SyncWithStore()
959
547
  ], RtkChatComposerView.prototype, "iconPack", void 0);
960
- __decorate$e([
548
+ __decorate$g([
961
549
  index.SyncWithStore()
962
550
  ], RtkChatComposerView.prototype, "t", void 0);
963
551
  RtkChatComposerView.style = RtkChatComposerViewStyle0;
964
552
 
553
+ const rtkChatHeaderCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{display:flex;width:100%;flex-direction:column;gap:var(--rtk-space-2, 8px);font-size:14px;z-index:10;margin-bottom:var(--rtk-space-2, 8px);box-sizing:border-box;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.chat-header{position:relative;margin-left:var(--rtk-space-2, 8px);margin-right:var(--rtk-space-2, 8px);gap:var(--rtk-space-2, 8px);padding-left:var(--rtk-space-4, 16px);padding-right:var(--rtk-space-4, 16px);padding-top:var(--rtk-space-3, 12px);padding-bottom:var(--rtk-space-3, 12px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52));border-radius:var(--rtk-border-radius-sm, 4px);overflow:hidden;border:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60));cursor:pointer}.chat-header-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--rtk-space-2, 8px)}";
554
+ const RtkChatHeaderStyle0 = rtkChatHeaderCss;
555
+
556
+ const RtkChatHeader = class {
557
+ constructor(hostRef) {
558
+ index$1.registerInstance(this, hostRef);
559
+ this.onPinnedToggle = async (e) => {
560
+ var _a, _b, _c;
561
+ if ((_a = e.detail) === null || _a === void 0 ? void 0 : _a.open) {
562
+ await ((_c = (_b = this.$chatSelector) === null || _b === void 0 ? void 0 : _b.close) === null || _c === void 0 ? void 0 : _c.call(_b));
563
+ }
564
+ };
565
+ this.onChatToggle = async (e) => {
566
+ var _a, _b, _c;
567
+ if ((_a = e.detail) === null || _a === void 0 ? void 0 : _a.open) {
568
+ await ((_c = (_b = this.$pinnedSelector) === null || _b === void 0 ? void 0 : _b.close) === null || _c === void 0 ? void 0 : _c.call(_b));
569
+ }
570
+ };
571
+ }
572
+ render() {
573
+ return (index$1.h(index$1.Host, { key: 'af9956ff6e693f29fb63a6180ef773a0e64822e5' }, index$1.h("rtk-pinned-message-selector", { key: 'b0d9199d02d84453f8ee26c3a47e00c82047e4f6', ref: (el) => (this.$pinnedSelector = el), onRtkDropdownToggle: this.onPinnedToggle }), index$1.h("rtk-chat-selector", { key: '4d019562a85ebfeaf4ceae2e99d1b9c8c282127a', ref: (el) => (this.$chatSelector = el), onRtkDropdownToggle: this.onChatToggle })));
574
+ }
575
+ };
576
+ RtkChatHeader.style = RtkChatHeaderStyle0;
577
+
965
578
  const rtkChatMessagesUiPaginatedCss = ":host{display:flex;flex-direction:column;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));flex:1 0 0px}";
966
579
  const RtkChatMessagesUiPaginatedStyle0 = rtkChatMessagesUiPaginatedCss;
967
580
 
968
- var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
581
+ var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
969
582
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
970
583
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
971
584
  r = Reflect.decorate(decorators, target, key, desc);
@@ -987,31 +600,37 @@ const RtkChatMessagesUiPaginated = class {
987
600
  this.iconPack = uiStore.defaultIconPack;
988
601
  /** Language */
989
602
  this.t = uiStore.useLanguage();
990
- /** Whether to align chat bubbles to the left */
991
- this.leftAlign = false;
992
603
  this.permissionsChanged = false;
993
604
  this.pageSize = 25;
994
- this.lastReadMessageIndex = -1;
995
605
  this.permissionsUpdateListener = () => {
996
606
  this.permissionsChanged = !this.permissionsChanged;
997
607
  };
998
- this.maybeMarkChannelAsRead = (messages) => {
999
- if (!this.selectedChannelId)
1000
- return;
1001
- if (messages.length === 0)
1002
- return;
1003
- if (this.lastReadMessageIndex !== -1)
1004
- return;
1005
- const latestMsg = messages.at(0).time > messages.at(-1).time ? messages.at(0) : messages.at(-1);
1006
- if (!latestMsg.channelIndex)
1007
- return;
1008
- this.lastReadMessageIndex = parseInt(latestMsg.channelIndex, 10);
1009
- this.meeting.chat.markLastReadMessage(this.selectedChannelId, latestMsg);
1010
- };
1011
608
  this.getChatMessages = async (timestamp, size, reversed) => {
1012
- const { messages } = await this.meeting.chat.getMessages(timestamp, size, reversed, undefined, this.selectedChannelId);
1013
- this.maybeMarkChannelAsRead(messages);
1014
- return messages;
609
+ if (this.privateChatRecipient) {
610
+ try {
611
+ const messages = await this.meeting.chat.fetchPrivateMessages({
612
+ timestamp,
613
+ limit: size,
614
+ direction: reversed ? 'before' : 'after',
615
+ userId: this.privateChatRecipient.userId,
616
+ });
617
+ return messages;
618
+ }
619
+ catch (err) {
620
+ return [];
621
+ }
622
+ }
623
+ try {
624
+ const messages = await this.meeting.chat.fetchMessages({
625
+ timestamp,
626
+ limit: size,
627
+ direction: reversed ? 'before' : 'after',
628
+ });
629
+ return messages;
630
+ }
631
+ catch (err) {
632
+ return [];
633
+ }
1015
634
  };
1016
635
  this.createChatNodes = (data) => {
1017
636
  /**
@@ -1019,8 +638,11 @@ const RtkChatMessagesUiPaginated = class {
1019
638
  * will fail in current implementation
1020
639
  */
1021
640
  return data.map((message, idx) => {
1022
- var _a;
641
+ var _a, _b;
1023
642
  const isContinued = message.userId === ((_a = data[idx - 1]) === null || _a === void 0 ? void 0 : _a.userId);
643
+ // FIXME(ikabra): Socket sends private messages sent to the recipient as a part of public messages
644
+ if (!this.privateChatRecipient && ((_b = message.targetUserIds) === null || _b === void 0 ? void 0 : _b.length) > 0)
645
+ return;
1024
646
  return this.createChatNode(message, isContinued);
1025
647
  });
1026
648
  };
@@ -1030,13 +652,17 @@ const RtkChatMessagesUiPaginated = class {
1030
652
  (_b = this.meeting) === null || _b === void 0 ? void 0 : _b.self.permissions.removeListener('permissionsUpdate', this.permissionsUpdateListener);
1031
653
  };
1032
654
  this.getMessageActions = (message) => {
655
+ var _a;
1033
656
  const actions = [];
1034
657
  const messageBelongsToSelf = message.userId === this.meeting.self.userId;
1035
- actions.push({
1036
- id: 'pin_message',
1037
- label: message.pinned ? this.t('unpin') : this.t('pin'),
1038
- icon: this.iconPack.pin,
1039
- });
658
+ const isPrivateMessage = ((_a = message.targetUserIds) === null || _a === void 0 ? void 0 : _a.length) > 0;
659
+ if (!isPrivateMessage) {
660
+ actions.push({
661
+ id: 'pin_message',
662
+ label: message.pinned ? this.t('unpin') : this.t('pin'),
663
+ icon: this.iconPack.pin,
664
+ });
665
+ }
1040
666
  if (messageBelongsToSelf) {
1041
667
  actions.push({
1042
668
  id: 'edit_message',
@@ -1066,8 +692,6 @@ const RtkChatMessagesUiPaginated = class {
1066
692
  };
1067
693
  this.createChatNode = (message, isContinued) => {
1068
694
  var _a, _b, _c, _d;
1069
- if (message.targetUserIds.length !== 0)
1070
- return null; // don't render private messages
1071
695
  let displayPicture;
1072
696
  if (this.meeting.meta.viewType === 'CHAT') {
1073
697
  displayPicture = (_a = this.meeting.participants.all
@@ -1092,12 +716,18 @@ const RtkChatMessagesUiPaginated = class {
1092
716
  } }))))))));
1093
717
  };
1094
718
  this.chatUpdateListener = (data) => {
1095
- if (this.selectedChannelId && data.message.channelId !== this.selectedChannelId)
719
+ var _a, _b, _c;
720
+ // if private message and not for privateChatRecipient, ignore
721
+ // if private message and public chat selected, ignore
722
+ if (((_a = data.message.targetUserIds) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
723
+ !data.message.targetUserIds.includes((_b = this.privateChatRecipient) === null || _b === void 0 ? void 0 : _b.userId))
724
+ return;
725
+ // if public message and private chat selected, ignore
726
+ if (this.privateChatRecipient && ((_c = data.message.targetUserIds) === null || _c === void 0 ? void 0 : _c.length) === 0) {
1096
727
  return;
728
+ }
1097
729
  if (data.action === 'add') {
1098
730
  this.$paginatedListRef.onNewNode(data.message);
1099
- this.lastReadMessageIndex = -1;
1100
- this.maybeMarkChannelAsRead([data.message]);
1101
731
  }
1102
732
  else if (data.action === 'delete') {
1103
733
  this.$paginatedListRef.onNodeDelete(data.message.id);
@@ -1116,9 +746,20 @@ const RtkChatMessagesUiPaginated = class {
1116
746
  connectedCallback() {
1117
747
  this.meetingChanged(this.meeting);
1118
748
  }
749
+ async onPinnedMessageSelect(event) {
750
+ var _a, _b;
751
+ const message = event.detail;
752
+ if (!message)
753
+ return;
754
+ await ((_b = (_a = this.$paginatedListRef) === null || _a === void 0 ? void 0 : _a.reset) === null || _b === void 0 ? void 0 : _b.call(_a, message.timeMs + 1));
755
+ }
1119
756
  disconnectedCallback() {
1120
757
  this.disconnectMeeting(this.meeting);
1121
758
  }
759
+ privateChatRecipientChanged() {
760
+ var _a;
761
+ (_a = this.$paginatedListRef) === null || _a === void 0 ? void 0 : _a.reset();
762
+ }
1122
763
  meetingChanged(meeting, oldMeeting) {
1123
764
  var _a;
1124
765
  if (oldMeeting != undefined)
@@ -1131,33 +772,197 @@ const RtkChatMessagesUiPaginated = class {
1131
772
  }
1132
773
  this.permissionsUpdateListener();
1133
774
  }
1134
- channelChanged() {
1135
- this.lastReadMessageIndex = -1;
1136
- }
1137
775
  render() {
1138
- return (index$1.h(index$1.Host, { key: '1cbb364021b79bd756621987ac03c2e852acf3bd' }, index$1.h("rtk-paginated-list", { key: 'b7896890b5e3ea9a190bfa9c86c825233b635aa4', ref: (el) => (this.$paginatedListRef = el), pageSize: this.pageSize, pagesAllowed: 3, fetchData: this.getChatMessages, createNodes: this.createChatNodes, selectedItemId: this.selectedChannelId, emptyListLabel: this.t('chat.empty_channel') }, index$1.h("slot", { key: 'b1255713fc172c4e35385021809d391a5fdf9acc' }))));
776
+ return (index$1.h(index$1.Host, { key: 'efacd583cb3477a4aa9bc305d2e2d175f1f01492' }, index$1.h("rtk-paginated-list", { key: 'c0d100b90c426f9f57840008185510db1ad769eb', ref: (el) => (this.$paginatedListRef = el), pageSize: this.pageSize, pagesAllowed: 3, fetchData: this.getChatMessages, createNodes: this.createChatNodes, emptyListLabel: this.t('chat.empty_chat') }, index$1.h("slot", { key: 'f587f2644be8f00c31af09d46aa6d166ae7342fd' }))));
1139
777
  }
1140
778
  get host() { return index$1.getElement(this); }
1141
779
  static get watchers() { return {
1142
- "meeting": ["meetingChanged"],
1143
- "selectedChannelId": ["channelChanged"]
780
+ "privateChatRecipient": ["privateChatRecipientChanged"],
781
+ "meeting": ["meetingChanged"]
1144
782
  }; }
1145
783
  };
1146
- __decorate$d([
784
+ __decorate$f([
1147
785
  index.SyncWithStore()
1148
786
  ], RtkChatMessagesUiPaginated.prototype, "meeting", void 0);
1149
- __decorate$d([
787
+ __decorate$f([
1150
788
  index.SyncWithStore()
1151
789
  ], RtkChatMessagesUiPaginated.prototype, "iconPack", void 0);
1152
- __decorate$d([
790
+ __decorate$f([
1153
791
  index.SyncWithStore()
1154
792
  ], RtkChatMessagesUiPaginated.prototype, "t", void 0);
1155
793
  RtkChatMessagesUiPaginated.style = RtkChatMessagesUiPaginatedStyle0;
1156
794
 
795
+ const rtkChatSelectorCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{display:flex;width:100%;flex-direction:column;font-size:14px;position:relative;box-sizing:border-box;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.chat-header{margin-left:var(--rtk-space-2, 8px);margin-right:var(--rtk-space-2, 8px);gap:var(--rtk-space-2, 8px);padding-left:var(--rtk-space-4, 16px);padding-right:var(--rtk-space-4, 16px);padding-top:var(--rtk-space-3, 12px);padding-bottom:var(--rtk-space-3, 12px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52));cursor:pointer;border-radius:var(--rtk-border-radius-sm, 4px);border:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60))}.chat-header-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--rtk-space-2, 8px)}.dropdown{position:absolute;top:100%;z-index:10;padding:var(--rtk-space-0, 0px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));opacity:0;overflow:hidden;pointer-events:none;border-bottom-right-radius:var(--rtk-border-radius-sm, 4px);border-bottom-left-radius:var(--rtk-border-radius-sm, 4px);left:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);max-width:calc(100vw - var(--rtk-space-4, 16px));box-sizing:border-box}.dropdown.open{display:flex;flex-direction:column;max-height:30vh;opacity:1;overflow:hidden;pointer-events:auto;border-width:1px;border-top-width:var(--rtk-border-width-none, 0);border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity))}.dropdown rtk-paginated-list{display:flex;max-height:30vh;min-height:12vh;flex-direction:column}.public-chat-group-label{display:flex;cursor:pointer;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--rtk-space-2, 8px);border-left-width:var(--rtk-border-width-none, 0);border-right-width:var(--rtk-border-width-none, 0);border-top-width:var(--rtk-border-width-none, 0);border-bottom-width:var(--rtk-border-width-none, 0);border-bottom-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));padding-top:var(--rtk-space-4, 16px);padding-bottom:var(--rtk-space-4, 16px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px)}.public-chat-icon{display:flex;align-items:center;justify-content:center;padding:var(--rtk-space-1, 4px);border-radius:9999px;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity))}";
796
+ const RtkChatSelectorStyle0 = rtkChatSelectorCss;
797
+
798
+ var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
799
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
800
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
801
+ r = Reflect.decorate(decorators, target, key, desc);
802
+ else
803
+ for (var i = decorators.length - 1; i >= 0; i--)
804
+ if (d = decorators[i])
805
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
806
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
807
+ };
808
+ const RtkChatSelector = class {
809
+ constructor(hostRef) {
810
+ index$1.registerInstance(this, hostRef);
811
+ this.dropdownToggle = index$1.createEvent(this, "rtkDropdownToggle", 7);
812
+ this.chatSelectorChange = index$1.createEvent(this, "rtkChatSelectorChange", 7);
813
+ /** Config */
814
+ this.config = uiStore.createDefaultConfig();
815
+ /** Icon pack */
816
+ this.iconPack = uiStore.defaultIconPack;
817
+ /** Language */
818
+ this.t = uiStore.useLanguage();
819
+ /** UI Overrides */
820
+ this.overrides = uiStore.defaultOverrides;
821
+ this.isOpen = false;
822
+ this.showPrivateChat = false;
823
+ this.selectedUser = undefined;
824
+ //NOTE(ikabra): Fix this value once backend supports pagination for participants
825
+ this.pageSize = 100000;
826
+ this.pagesAllowed = 3;
827
+ this.disconnectMeeting = (meeting) => {
828
+ var _a, _b, _c;
829
+ const { self, participants } = meeting || {};
830
+ (_a = self === null || self === void 0 ? void 0 : self.permissions) === null || _a === void 0 ? void 0 : _a.off('*', this.chatPermissionUpdateListener);
831
+ (_b = participants === null || participants === void 0 ? void 0 : participants.joined) === null || _b === void 0 ? void 0 : _b.off('participantJoined', this.participantJoinedListener);
832
+ (_c = participants === null || participants === void 0 ? void 0 : participants.joined) === null || _c === void 0 ? void 0 : _c.off('participantLeft', this.participantLeftListener);
833
+ };
834
+ this.toggle = (e) => {
835
+ e.preventDefault();
836
+ e.stopPropagation();
837
+ this.isOpen = !this.isOpen;
838
+ this.dropdownToggle.emit({ open: this.isOpen });
839
+ };
840
+ this.selectUser = async (user) => {
841
+ this.selectedUser = user;
842
+ this.chatSelectorChange.emit({ selectedUser: user });
843
+ await this.close();
844
+ };
845
+ this.chatPermissionUpdateListener = () => {
846
+ var _a, _b;
847
+ this.showPrivateChat = !!(((_a = this.meeting.self.permissions.chatPrivate) === null || _a === void 0 ? void 0 : _a.canSend) ||
848
+ ((_b = this.meeting.self.permissions.chatPrivate) === null || _b === void 0 ? void 0 : _b.canReceive));
849
+ if (!this.showPrivateChat) {
850
+ this.selectedUser = undefined;
851
+ this.chatSelectorChange.emit({ selectedUser: undefined });
852
+ }
853
+ };
854
+ this.onParticipantUpdate = () => {
855
+ var _a, _b, _c, _d;
856
+ if (!this.selectedUser)
857
+ return;
858
+ const participants = ((_d = (_c = (_b = (_a = this.meeting) === null || _a === void 0 ? void 0 : _a.participants) === null || _b === void 0 ? void 0 : _b.joined) === null || _c === void 0 ? void 0 : _c.toArray) === null || _d === void 0 ? void 0 : _d.call(_c)) || [];
859
+ if (!participants.some((p) => { var _a; return p.id === ((_a = this.selectedUser) === null || _a === void 0 ? void 0 : _a.id); })) {
860
+ this.selectedUser = undefined;
861
+ this.chatSelectorChange.emit({ selectedUser: undefined });
862
+ }
863
+ };
864
+ this.participantJoinedListener = (data) => {
865
+ this.$paginatedListRef.onNewNode(data);
866
+ };
867
+ this.participantLeftListener = (data) => {
868
+ this.$paginatedListRef.onNodeDelete(data.id);
869
+ this.onParticipantUpdate();
870
+ };
871
+ // @ts-ignore - unused params
872
+ this.getParticipants = async (timestamp, size, reversed) => {
873
+ const meeting = this.meeting;
874
+ if (!meeting)
875
+ return [];
876
+ /**
877
+ * FIXME(ikabra): This is a temporary hack in place to handle the initial load
878
+ * and not repeat participants when a user reaches the top of the list.
879
+ * This must be replaced by actual pagination APIs from backend for participants.
880
+ */
881
+ if (!timestamp)
882
+ return [];
883
+ const participants = meeting.participants.joined.toArray();
884
+ return participants;
885
+ };
886
+ this.createPaticipantNodes = (data) => {
887
+ return data.map((participant) => (index$1.h("div", { class: "private-chat-label", id: participant.id, onClick: () => this.selectUser(participant) }, index$1.h("rtk-avatar", { size: "sm", participant: participant }), index$1.h("span", null, participant.name))));
888
+ };
889
+ }
890
+ /** */
891
+ async close() {
892
+ if (!this.isOpen)
893
+ return;
894
+ this.isOpen = false;
895
+ this.dropdownToggle.emit({ open: false });
896
+ }
897
+ connectedCallback() {
898
+ this.meetingChanged(this.meeting);
899
+ this.overridesChanged(this.overrides);
900
+ }
901
+ disconnectedCallback() {
902
+ var _a, _b, _c;
903
+ if (!this.meeting)
904
+ return;
905
+ const { self, participants } = this.meeting;
906
+ (_a = self === null || self === void 0 ? void 0 : self.permissions) === null || _a === void 0 ? void 0 : _a.off('*', this.chatPermissionUpdateListener);
907
+ (_b = participants === null || participants === void 0 ? void 0 : participants.joined) === null || _b === void 0 ? void 0 : _b.off('participantJoined', this.participantJoinedListener);
908
+ (_c = participants === null || participants === void 0 ? void 0 : participants.joined) === null || _c === void 0 ? void 0 : _c.off('participantLeft', this.participantLeftListener);
909
+ }
910
+ overridesChanged(overrides) {
911
+ var _a, _b;
912
+ if (!this.meeting || this.meeting.self)
913
+ return;
914
+ this.showPrivateChat =
915
+ !!(((_a = this.meeting.self.permissions.chatPrivate) === null || _a === void 0 ? void 0 : _a.canSend) ||
916
+ ((_b = this.meeting.self.permissions.chatPrivate) === null || _b === void 0 ? void 0 : _b.canReceive)) && !overrides.disablePrivateChat;
917
+ }
918
+ meetingChanged(meeting, oldMeeting) {
919
+ var _a, _b, _c, _d, _e, _f;
920
+ if (oldMeeting)
921
+ this.disconnectMeeting(oldMeeting);
922
+ if (!meeting || !meeting.chat)
923
+ return;
924
+ this.showPrivateChat =
925
+ !!(((_a = meeting.self.permissions.chatPrivate) === null || _a === void 0 ? void 0 : _a.canSend) ||
926
+ ((_b = meeting.self.permissions.chatPrivate) === null || _b === void 0 ? void 0 : _b.canReceive)) && !this.overrides.disablePrivateChat;
927
+ this.onParticipantUpdate();
928
+ meeting.self.permissions.on('*', this.chatPermissionUpdateListener);
929
+ (_d = (_c = meeting === null || meeting === void 0 ? void 0 : meeting.participants) === null || _c === void 0 ? void 0 : _c.joined) === null || _d === void 0 ? void 0 : _d.on('participantJoined', this.participantJoinedListener);
930
+ (_f = (_e = meeting === null || meeting === void 0 ? void 0 : meeting.participants) === null || _e === void 0 ? void 0 : _e.joined) === null || _f === void 0 ? void 0 : _f.on('participantLeft', this.participantLeftListener);
931
+ }
932
+ render() {
933
+ if (!this.showPrivateChat)
934
+ return null;
935
+ return (index$1.h(index$1.Host, null, index$1.h("div", { class: "chat-header", onClick: this.toggle }, index$1.h("div", { class: "chat-header-label" }, index$1.h("rtk-icon", { icon: this.iconPack.participants, size: "sm" }), !this.selectedUser ? this.t('chat.everyone') : this.selectedUser.name), index$1.h("div", { class: "chevron" }, index$1.h("rtk-icon", { icon: this.isOpen ? this.iconPack.chevron_up : this.iconPack.chevron_down, size: "sm" }))), index$1.h("div", { class: { dropdown: true, open: this.isOpen, scrollbar: true } }, index$1.h("div", { class: "public-chat-group-label", onClick: () => this.selectUser(undefined) }, index$1.h("div", { class: "public-chat-icon" }, index$1.h("rtk-icon", { icon: this.iconPack.participants, size: "sm" })), this.t('chat.everyone')), index$1.h("rtk-paginated-list", { class: "chat-selector-paginated-list", ref: (el) => (this.$paginatedListRef = el), pageSize: this.pageSize, pagesAllowed: 3, fetchData: this.getParticipants, createNodes: this.createPaticipantNodes, emptyListLabel: this.t('participants.empty_list') }, index$1.h("slot", null)))));
936
+ }
937
+ static get watchers() { return {
938
+ "overrides": ["overridesChanged"],
939
+ "meeting": ["meetingChanged"]
940
+ }; }
941
+ };
942
+ __decorate$e([
943
+ index.SyncWithStore()
944
+ ], RtkChatSelector.prototype, "meeting", void 0);
945
+ __decorate$e([
946
+ index.SyncWithStore()
947
+ ], RtkChatSelector.prototype, "states", void 0);
948
+ __decorate$e([
949
+ index.SyncWithStore()
950
+ ], RtkChatSelector.prototype, "config", void 0);
951
+ __decorate$e([
952
+ index.SyncWithStore()
953
+ ], RtkChatSelector.prototype, "iconPack", void 0);
954
+ __decorate$e([
955
+ index.SyncWithStore()
956
+ ], RtkChatSelector.prototype, "t", void 0);
957
+ __decorate$e([
958
+ index.SyncWithStore()
959
+ ], RtkChatSelector.prototype, "overrides", void 0);
960
+ RtkChatSelector.style = RtkChatSelectorStyle0;
961
+
1157
962
  const rtkDraftAttachmentViewCss = ":host{display:flex;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));border-top-left-radius:var(--rtk-border-radius-md, 8px);border-top-right-radius:var(--rtk-border-radius-md, 8px)}.preview-overlay{position:absolute;top:var(--rtk-space-0, 0px);right:var(--rtk-space-0, 0px);bottom:var(--rtk-space-0, 0px);left:var(--rtk-space-0, 0px);background-color:inherit}.preview{position:absolute;top:var(--rtk-space-4, 16px);left:var(--rtk-space-4, 16px);max-width:-moz-fit-content;max-width:fit-content;max-height:var(--rtk-space-20, 80px)}.preview:hover rtk-tooltip{display:block}.preview rtk-tooltip{position:absolute;top:calc(var(--rtk-space-1, 4px) * -1);left:calc(var(--rtk-space-1, 4px) * -1);display:none;margin-left:calc(var(--rtk-space-1, 4px) * -1);margin-top:calc(var(--rtk-space-1, 4px) * -1)}.preview rtk-button{display:flex;height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px);align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity));border:1px solid rgb(var(--rtk-colors-text-1000, 255 255 255))}.preview rtk-icon{height:var(--rtk-space-3, 12px);width:var(--rtk-space-3, 12px);color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.preview-image{height:var(--rtk-space-16, 64px);width:var(--rtk-space-16, 64px);-o-object-fit:cover;object-fit:cover;max-height:100%;max-width:100%;overflow:clip;border-radius:var(--rtk-border-radius-md, 8px)}.preview-file{padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);padding-top:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-2, 8px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--rtk-border-radius-md, 8px);max-width:200px}";
1158
963
  const RtkDraftAttachmentViewStyle0 = rtkDraftAttachmentViewCss;
1159
964
 
1160
- var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
965
+ var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1161
966
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1162
967
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1163
968
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1208,16 +1013,16 @@ const RtkDraftAttachmentView = class {
1208
1013
  this.onAttachmentChange();
1209
1014
  }
1210
1015
  render() {
1211
- return (index$1.h(index$1.Host, { key: 'f6ede093bcdf8100807baab4de2a296fc4960a07' }, index$1.h("div", { key: 'b19bbe9b2ea58ea4adccc2028a1b24ea6bc9f0a9', class: "preview-overlay" }, index$1.h("div", { key: 'cbb2bfcb3a50e6e7fbfd4109eb340ba51d6a162d', class: "preview" }, index$1.h("rtk-tooltip", { key: '15b50c547470b0fa22014e0992a1c7e26b234573', label: this.t('chat.cancel_upload') }, index$1.h("rtk-button", { key: '940332a51747af3368ffec497d5ef76fa64ecf75', variant: "secondary", kind: "icon", onClick: this.onDeleteClickHandler }, index$1.h("rtk-icon", { key: 'cc04b0ac70753e970ff638f187ad5f702dc3656b', icon: this.iconPack.dismiss }))), this.attachment.type === 'image' ? (index$1.h("img", { class: "preview-image", src: this.filePreview })) : (index$1.h("div", { class: "preview-file" }, index$1.h("span", null, this.filePreview)))))));
1016
+ return (index$1.h(index$1.Host, { key: '51ac9914a6c3626f3abd63d8101dd33d956f0cb0' }, index$1.h("div", { key: '9520035fca81e905b7bcc3696ec9803ca127a370', class: "preview-overlay" }, index$1.h("div", { key: '6c8139ece3ce95836f7853a160c0a01e298c2892', class: "preview" }, index$1.h("rtk-tooltip", { key: 'd3379d7a4a3b09c15d75ec4fce8bc7c2e89b1df4', label: this.t('chat.cancel_upload') }, index$1.h("rtk-button", { key: 'd5badd1b4a2fce0f2958d8923adde9353562eb8a', variant: "secondary", kind: "icon", onClick: this.onDeleteClickHandler }, index$1.h("rtk-icon", { key: '4acde8f6352eab6e2277f6317ef226d22defe4e0', icon: this.iconPack.dismiss }))), this.attachment.type === 'image' ? (index$1.h("img", { class: "preview-image", src: this.filePreview })) : (index$1.h("div", { class: "preview-file" }, index$1.h("span", null, this.filePreview)))))));
1212
1017
  }
1213
1018
  static get watchers() { return {
1214
1019
  "attachment": ["onAttachmentChange"]
1215
1020
  }; }
1216
1021
  };
1217
- __decorate$c([
1022
+ __decorate$d([
1218
1023
  index.SyncWithStore()
1219
1024
  ], RtkDraftAttachmentView.prototype, "iconPack", void 0);
1220
- __decorate$c([
1025
+ __decorate$d([
1221
1026
  index.SyncWithStore()
1222
1027
  ], RtkDraftAttachmentView.prototype, "t", void 0);
1223
1028
  RtkDraftAttachmentView.style = RtkDraftAttachmentViewStyle0;
@@ -1236,10 +1041,10 @@ const fetchEmojis = async () => {
1236
1041
  return cachedEmojis;
1237
1042
  };
1238
1043
 
1239
- const rtkEmojiPickerCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{width:100%}.emoji-parent{box-sizing:border-box;display:inline-flex;height:var(--rtk-space-64, 256px);width:100%;max-width:640px;flex-direction:column;padding:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-0, 0px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.close-parent{display:flex;flex:1 1 0%;justify-content:flex-end;padding:var(--rtk-space-0, 0px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255))}#emoji-grid{margin-top:var(--rtk-space-2, 8px);box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;overflow-x:hidden;overflow-y:scroll;height:100%;grid-auto-rows:minmax(min-content, max-content)}#loader{display:flex;height:100%;width:100%;align-items:center;justify-content:center}input{display:block;height:var(--rtk-space-8, 32px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);font-size:14px;border-width:var(--rtk-border-width-none, 0);border-style:solid;border-style:none;border-color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88))}input::-moz-placeholder{color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}input::placeholder{color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}input{border-radius:var(--rtk-border-radius-sm, 4px);outline:2px solid transparent;outline-offset:2px;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;border:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60))}input:focus{--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-border-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-ring-opacity));--tw-ring-opacity:0.3}.emoji{height:var(--rtk-space-10, 40px);width:var(--rtk-space-10, 40px);font-size:20px;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}";
1044
+ const rtkEmojiPickerCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{width:100%}.emoji-parent{box-sizing:border-box;display:inline-flex;height:var(--rtk-space-64, 256px);width:100%;max-width:640px;flex-direction:column;padding:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-0, 0px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.close-parent{display:flex;flex:1 1 0%;justify-content:flex-end;padding:var(--rtk-space-0, 0px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255))}#emoji-grid{margin-top:var(--rtk-space-2, 8px);box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start;overflow-x:hidden;overflow-y:scroll;height:100%;grid-auto-rows:minmax(min-content, max-content)}#loader{display:flex;height:100%;width:100%;align-items:center;justify-content:center}input{display:block;height:var(--rtk-space-8, 32px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);font-size:14px;border-width:var(--rtk-border-width-none, 0);border-style:solid;border-style:none;border-color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88))}input::-moz-placeholder{color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}input::placeholder{color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}input{border-radius:var(--rtk-border-radius-sm, 4px);outline:2px solid transparent;outline-offset:2px;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;border:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60))}input:focus{--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-border-opacity));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-ring-opacity));--tw-ring-opacity:0.3}.emoji{height:var(--rtk-space-10, 40px);width:var(--rtk-space-10, 40px);font-size:20px;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}";
1240
1045
  const RtkEmojiPickerStyle0 = rtkEmojiPickerCss;
1241
1046
 
1242
- var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1047
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1243
1048
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1244
1049
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1245
1050
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1293,13 +1098,13 @@ const RtkEmojiPicker = class {
1293
1098
  return (index$1.h("div", { id: "emoji-grid", class: "scrollbar max-w-40" }, this.filteredEmojis.map((e) => (index$1.h("rtk-button", { key: `emoji-button-${e.name}`, class: "emoji", variant: "ghost", kind: "icon", title: e.name, onClick: () => this.handleEmojiClick(e.emoji) }, e.emoji)))));
1294
1099
  }
1295
1100
  render() {
1296
- return (index$1.h(index$1.Host, { key: '6581d26d75a7b869d0ba00243ec74ee06b927e7d' }, index$1.h("div", { key: '3705d8c557ac3e05769171998e9176e7e40a232c', class: 'close-parent' }, index$1.h("rtk-button", { key: 'b437e579cb828a709de255ddfa6b751e4bdfbe51', variant: "ghost", kind: "icon", class: "close", onClick: () => { var _a; return (_a = this.pickerClose) === null || _a === void 0 ? void 0 : _a.emit(); }, "aria-label": this.t('close') }, index$1.h("rtk-icon", { key: '7fac79a21c6be57156d17ceeff9ceb2834bbf709', icon: this.iconPack.dismiss }))), index$1.h("div", { key: '46cb2af6654ef36b7258baf47e3cd9e5bd60bf89', class: 'emoji-parent' }, index$1.h("input", { key: 'cfde33638d531f9bac1b1bf25d966a369f4dfb38', value: this.filterVal, onInput: (event) => this.handleInputChange(event.target), placeholder: this.t('search'), ref: (el) => (this.inputElement = el) }), this.mapEmojiList())));
1101
+ return (index$1.h(index$1.Host, { key: 'db0bbe8c8af774ca199ac800fb2a0fba9ef7ab6d' }, index$1.h("div", { key: '3e51dd2b14a87ebc0c65ee406ec67f92722296ab', class: 'close-parent' }, index$1.h("rtk-button", { key: 'a8697bf95723f0598de3e2b6f88729562466ed81', variant: "ghost", kind: "icon", class: "close", onClick: () => { var _a; return (_a = this.pickerClose) === null || _a === void 0 ? void 0 : _a.emit(); }, "aria-label": this.t('close') }, index$1.h("rtk-icon", { key: 'dc787e4ccf8a6f170ccd1f0954602a08a85b12ad', icon: this.iconPack.dismiss }))), index$1.h("div", { key: '77f7377f40708c4f5fa3e531621660bf68f01b4b', class: 'emoji-parent' }, index$1.h("input", { key: '7db399dc58c0c6863db8ed1c80ac313417eab8c9', value: this.filterVal, onInput: (event) => this.handleInputChange(event.target), placeholder: this.t('search'), ref: (el) => (this.inputElement = el) }), this.mapEmojiList())));
1297
1102
  }
1298
1103
  };
1299
- __decorate$b([
1104
+ __decorate$c([
1300
1105
  index.SyncWithStore()
1301
1106
  ], RtkEmojiPicker.prototype, "iconPack", void 0);
1302
- __decorate$b([
1107
+ __decorate$c([
1303
1108
  index.SyncWithStore()
1304
1109
  ], RtkEmojiPicker.prototype, "t", void 0);
1305
1110
  RtkEmojiPicker.style = RtkEmojiPickerStyle0;
@@ -1307,7 +1112,7 @@ RtkEmojiPicker.style = RtkEmojiPickerStyle0;
1307
1112
  const rtkEmojiPickerButtonCss = ":host{}";
1308
1113
  const RtkEmojiPickerButtonStyle0 = rtkEmojiPickerButtonCss;
1309
1114
 
1310
- var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1115
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1311
1116
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1312
1117
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1313
1118
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1326,13 +1131,13 @@ const RtkEmojiPickerButton = class {
1326
1131
  this.t = uiStore.useLanguage();
1327
1132
  }
1328
1133
  render() {
1329
- return (index$1.h("rtk-tooltip", { key: '45ef1f18da6d1ecc3c02882590cd22e930461562', label: this.t('chat.send_emoji') }, index$1.h("rtk-button", { key: '6504abab2f1c6537443699c53a8cbdcf13530cba', variant: "ghost", kind: "icon", class: { active: this.isActive }, title: this.t('chat.send_emoji') }, index$1.h("rtk-icon", { key: 'd730c81abce72d9c3226f1f666941e1136bee77f', icon: this.iconPack.emoji_multiple }))));
1134
+ return (index$1.h("rtk-tooltip", { key: '82c39530cddfd5cab8672cc5f7f590587749f9cc', label: this.t('chat.send_emoji') }, index$1.h("rtk-button", { key: '8e7ee7dbe901b78482ad3f828bb28bda1fdc36b7', variant: "ghost", kind: "icon", class: { active: this.isActive }, title: this.t('chat.send_emoji') }, index$1.h("rtk-icon", { key: 'a83691903dae86b3cb7c8cf17fb488e4da13090b', icon: this.iconPack.emoji_multiple }))));
1330
1135
  }
1331
1136
  };
1332
- __decorate$a([
1137
+ __decorate$b([
1333
1138
  index.SyncWithStore()
1334
1139
  ], RtkEmojiPickerButton.prototype, "iconPack", void 0);
1335
- __decorate$a([
1140
+ __decorate$b([
1336
1141
  index.SyncWithStore()
1337
1142
  ], RtkEmojiPickerButton.prototype, "t", void 0);
1338
1143
  RtkEmojiPickerButton.style = RtkEmojiPickerButtonStyle0;
@@ -1340,7 +1145,7 @@ RtkEmojiPickerButton.style = RtkEmojiPickerButtonStyle0;
1340
1145
  const rtkFileMessageViewCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.file{display:flex;align-items:center;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-1, 4px);padding-bottom:var(--rtk-space-1, 4px);min-width:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}.file .file-data{margin-left:var(--rtk-space-1, 4px);flex:1 1 0%}.file .file-data .name{word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.file .file-data .file-data-split{margin-top:var(--rtk-space-0\\.5, 2px);display:flex;align-items:center;font-size:12px}.file .file-data .file-data-split .ext{margin-right:var(--rtk-space-2, 8px);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.file .file-data .file-data-split .divider{height:var(--rtk-space-4, 16px);width:var(--rtk-space-0\\.5, 2px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.file .file-data .file-data-split .size{margin-left:var(--rtk-space-2, 8px)}";
1341
1146
  const RtkFileMessageViewStyle0 = rtkFileMessageViewCss;
1342
1147
 
1343
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1148
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1344
1149
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1345
1150
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1346
1151
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1357,10 +1162,10 @@ const RtkFileMessageView = class {
1357
1162
  this.iconPack = uiStore.defaultIconPack;
1358
1163
  }
1359
1164
  render() {
1360
- return (index$1.h("div", { key: '5cc29b4780f581a2f8b045e5051bcc66f3fdaf55', class: "file" }, index$1.h("rtk-button", { key: '4100b47bc1d72f08ec5fe645291bfbb58e3a6486', variant: "secondary", kind: "icon", onClick: () => file.downloadFile(string.sanitizeLink(this.url), { name: this.name, fallbackName: 'file' }), part: "button" }, index$1.h("rtk-icon", { key: '52ae14abb7c27b89861d5ba4c907d606257628c9', icon: this.iconPack.download })), index$1.h("div", { key: '02c9ad8d173172a85cc474273a966607d456360e', class: "file-data" }, index$1.h("div", { key: '6ceca21685d04f175006ba35a6de194cc98879ad', class: "name" }, this.name), index$1.h("div", { key: 'b07d07bcaedee3fd6fbcfe81ce2f6bf757655b5f', class: "file-data-split" }, index$1.h("div", { key: '280635ef486de02bc68ca3e774be14fa5a461d1c', class: "ext" }, file.getExtension(this.name)), index$1.h("span", { key: '84f72d8b37b7d15c257faed036b76c737eec780b', class: "divider" }), index$1.h("div", { key: '1b88f48f51afe3fceb57920c3d17f586e848a25f', class: "size" }, file.getFileSize(this.size))))));
1165
+ return (index$1.h("div", { key: '9fce348979b0354484f0deeddc6e55007ef70ae5', class: "file" }, index$1.h("rtk-button", { key: '22bc5f6cdff07ec4f9cdb1b588b64e5e604d0029', variant: "secondary", kind: "icon", onClick: () => file.downloadFile(string.sanitizeLink(this.url), { name: this.name, fallbackName: 'file' }), part: "button" }, index$1.h("rtk-icon", { key: '3d46920c69604896bba651ae8205d3a761ffdeb7', icon: this.iconPack.download })), index$1.h("div", { key: 'c42a4c9bdd415d4d307efcb4f375f575220e473a', class: "file-data" }, index$1.h("div", { key: 'fe9bd86c88ce3184ed0b38dfe312bf7ac0207551', class: "name" }, this.name), index$1.h("div", { key: '93aa6bf4c3933b292c59a1522b8398e96938aba3', class: "file-data-split" }, index$1.h("div", { key: '2807cbf9844af17617ec76db10689fc6dcb80e0e', class: "ext" }, file.getExtension(this.name)), index$1.h("span", { key: 'fa0a03cf79b2f4dee34a11fb0a0bf82a608ca3c1', class: "divider" }), index$1.h("div", { key: '0fd5d15e43aca15ffd3ae2fc6b176c0455ea5db3', class: "size" }, file.getFileSize(this.size))))));
1361
1166
  }
1362
1167
  };
1363
- __decorate$9([
1168
+ __decorate$a([
1364
1169
  index.SyncWithStore()
1365
1170
  ], RtkFileMessageView.prototype, "iconPack", void 0);
1366
1171
  RtkFileMessageView.style = RtkFileMessageViewStyle0;
@@ -1368,7 +1173,7 @@ RtkFileMessageView.style = RtkFileMessageViewStyle0;
1368
1173
  const rtkFilePickerButtonCss = ":host{}";
1369
1174
  const RtkFilePickerButtonStyle0 = rtkFilePickerButtonCss;
1370
1175
 
1371
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1176
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1372
1177
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1373
1178
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1374
1179
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1413,13 +1218,13 @@ const RtkFilePickerButton = class {
1413
1218
  render() {
1414
1219
  const label = this.label || this.t('chat.send_file');
1415
1220
  const icon = this.iconPack[this.icon];
1416
- return (index$1.h("rtk-tooltip", { key: '057a0a5a714dbbde228e3481e53adea4f88fb3ad', label: label }, index$1.h("rtk-button", { key: '04193df1053b14687fb9464a122b9158707bdda1', variant: "ghost", kind: "icon", onClick: () => this.uploadFile(), title: label }, index$1.h("rtk-icon", { key: 'ed2fce30b93dfce9dd6b967d5993c93496cf3388', icon: icon }))));
1221
+ return (index$1.h("rtk-tooltip", { key: 'c97c7e1e106e14f2443dd405fd6657a14d9d315c', label: label }, index$1.h("rtk-button", { key: 'cffa7ef14cc7fe0285e642ca76b658b6c70d4b42', variant: "ghost", kind: "icon", onClick: () => this.uploadFile(), title: label }, index$1.h("rtk-icon", { key: '47133f919946ce2a63e4f2b64977f1127a4eae7c', icon: icon }))));
1417
1222
  }
1418
1223
  };
1419
- __decorate$8([
1224
+ __decorate$9([
1420
1225
  index.SyncWithStore()
1421
1226
  ], RtkFilePickerButton.prototype, "iconPack", void 0);
1422
- __decorate$8([
1227
+ __decorate$9([
1423
1228
  index.SyncWithStore()
1424
1229
  ], RtkFilePickerButton.prototype, "t", void 0);
1425
1230
  RtkFilePickerButton.style = RtkFilePickerButtonStyle0;
@@ -1452,7 +1257,7 @@ RtkIcon.style = RtkIconStyle0;
1452
1257
  const rtkImageMessageViewCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.image-spinner{cursor:wait}.image-errored{cursor:not-allowed}.image{display:block;font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));position:relative;height:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);cursor:pointer}.image img{display:none;height:100%;width:100%;border-radius:var(--rtk-border-radius-sm, 4px);-o-object-fit:cover;object-fit:cover}.image .image-spinner{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}.image .image-spinner rtk-spinner{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}.image .image-errored{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);background-color:rgba(var(--rtk-colors-danger, 255 45 45) / 0.1);--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}.image .actions{display:none;height:var(--rtk-space-8, 32px);align-items:center;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.image .actions .action{height:var(--rtk-space-8, 32px);width:var(--rtk-space-8, 32px);border-radius:var(--rtk-border-radius-none, 0);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.image .actions .action:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.image.loaded img{display:block}.image.loaded .image-spinner{display:none}.image:hover .actions,.image:focus .actions{display:flex}";
1453
1258
  const RtkImageMessageViewStyle0 = rtkImageMessageViewCss;
1454
1259
 
1455
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1260
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1456
1261
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1457
1262
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1458
1263
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1473,7 +1278,7 @@ const RtkImageMessageView = class {
1473
1278
  this.status = 'loading';
1474
1279
  }
1475
1280
  render() {
1476
- return (index$1.h("div", { key: '066606e6ae62634b2466bb46b453e0c2d91b17ea', class: { image: true, loaded: this.status === 'loaded' } }, index$1.h("img", { key: 'f042e5d3c1a6341e9fc0845e6643016f1be5b5f7', src: string.sanitizeLink(this.url), onLoad: () => {
1281
+ return (index$1.h("div", { key: '5fd48d25a86c8a1f3084ff4c27ba95ddca04482f', class: { image: true, loaded: this.status === 'loaded' } }, index$1.h("img", { key: '99d019ebaf2e4deb2f6f9f8541f1bd67bc089fee', src: string.sanitizeLink(this.url), onLoad: () => {
1477
1282
  this.status = 'loaded';
1478
1283
  }, onError: () => {
1479
1284
  this.status = 'errored';
@@ -1481,15 +1286,15 @@ const RtkImageMessageView = class {
1481
1286
  if (this.status === 'loaded') {
1482
1287
  this.onPreview.emit(this.url);
1483
1288
  }
1484
- } }), this.status === 'loading' && (index$1.h("div", { key: 'd4a5030468fbf70afae62bd55ae4d0fa989e15c2', class: "image-spinner", title: this.t('chat.img.loading'), "aria-label": this.t('chat.img.loading') }, index$1.h("rtk-spinner", { key: '216aba361a46cc100e7d26cc2daf1ffb0948d695', iconPack: this.iconPack }))), this.status === 'errored' && (index$1.h("div", { key: '01f5da8f70872c9fa22dc9a9b70b046b0001d05b', class: "image-errored", title: this.t('chat.error.img_not_found'), "aria-label": this.t('chat.error.img_not_found') }, index$1.h("rtk-icon", { key: '0f7e6fed2730f6366d07fc6afddb2b247e9b7d3a', icon: this.iconPack.image_off }))), this.status === 'loaded' && (index$1.h("div", { key: '5ac0e61c65a88a8d6b9ee54c900b856854d1b84b', class: "actions" }, index$1.h("rtk-button", { key: 'fd83dfecd7b5d9c3976374c3c55731b1f026fc0a', class: "action", variant: "secondary", kind: "icon", onClick: () => {
1289
+ } }), this.status === 'loading' && (index$1.h("div", { key: '9e0eba0b06ee2039d0a36f598e2b55b79c6d4151', class: "image-spinner", title: this.t('chat.img.loading'), "aria-label": this.t('chat.img.loading') }, index$1.h("rtk-spinner", { key: '0488df56c74ff7fbcb30ae7a16f77eca57cdd50a', iconPack: this.iconPack }))), this.status === 'errored' && (index$1.h("div", { key: 'd4f2cc45d94be0a4519d93169e337522f30949cf', class: "image-errored", title: this.t('chat.error.img_not_found'), "aria-label": this.t('chat.error.img_not_found') }, index$1.h("rtk-icon", { key: 'a633902737fe1a4690f349092fedb6d0c7a18bbf', icon: this.iconPack.image_off }))), this.status === 'loaded' && (index$1.h("div", { key: 'bfb0b8f3f130315e1691dd87f9be6de211d669cd', class: "actions" }, index$1.h("rtk-button", { key: 'c0e200f62e7896b11f0cb1717e15db96223b2b45', class: "action", variant: "secondary", kind: "icon", onClick: () => {
1485
1290
  this.onPreview.emit(this.url);
1486
- } }, index$1.h("rtk-icon", { key: '3ca7384fa28e6716345acacf9225ae9471ff8d63', icon: this.iconPack.full_screen_maximize })), index$1.h("rtk-button", { key: '198787808c389e4df48d3609a53c2d27cf2e7fb3', class: "action", variant: "secondary", kind: "icon", onClick: () => file.downloadFile(this.url, { fallbackName: 'image' }) }, index$1.h("rtk-icon", { key: 'f38fe3da48d1fc854001c719164c95f0673808c5', icon: this.iconPack.download }))))));
1291
+ } }, index$1.h("rtk-icon", { key: '2527495fac5a7760c7a320c7f3fc769b4321dd66', icon: this.iconPack.full_screen_maximize })), index$1.h("rtk-button", { key: '80f46436895374dc43f9a3fb1adf2472c82c328b', class: "action", variant: "secondary", kind: "icon", onClick: () => file.downloadFile(this.url, { fallbackName: 'image' }) }, index$1.h("rtk-icon", { key: '5650cc2537980b244b31b937a5d367a800d0b0f9', icon: this.iconPack.download }))))));
1487
1292
  }
1488
1293
  };
1489
- __decorate$7([
1294
+ __decorate$8([
1490
1295
  index.SyncWithStore()
1491
1296
  ], RtkImageMessageView.prototype, "iconPack", void 0);
1492
- __decorate$7([
1297
+ __decorate$8([
1493
1298
  index.SyncWithStore()
1494
1299
  ], RtkImageMessageView.prototype, "t", void 0);
1495
1300
  RtkImageMessageView.style = RtkImageMessageViewStyle0;
@@ -1574,7 +1379,7 @@ const RtkMarkdownView = class {
1574
1379
  const slicedMessage = this.text.slice(0, this.maxLength);
1575
1380
  const withReply = chat.extractReplyBlock(slicedMessage, true);
1576
1381
  const withoutReply = chat.stripOutReplyBlock(slicedMessage);
1577
- return (index$1.h("p", { key: '787e6d3177f4faf1c8dcd7c73d83a6de9c57b42b' }, withReply.length !== 0 && index$1.h("blockquote", { key: '1c4b82fb870994e6707d35adcd5e6f2f0e65dd26' }, this.renderMessage(withReply)), withoutReply.length !== 0 && this.renderMessage(withoutReply)));
1382
+ return (index$1.h("p", { key: '8c05acbe5bf3ac4a006d572bf77739cf14bc3588' }, withReply.length !== 0 && index$1.h("blockquote", { key: '47f95aad469fd001f78dccf1caf5224f639c2d9e' }, this.renderMessage(withReply)), withoutReply.length !== 0 && this.renderMessage(withoutReply)));
1578
1383
  }
1579
1384
  };
1580
1385
  RtkMarkdownView.style = RtkMarkdownViewStyle0;
@@ -1904,7 +1709,7 @@ RtkMeeting.style = RtkMeetingStyle0;
1904
1709
  const rtkMenuCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{position:relative;display:inline-block;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}#menu-list{position:absolute;z-index:20;display:none}";
1905
1710
  const RtkMenuStyle0 = rtkMenuCss;
1906
1711
 
1907
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1712
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1908
1713
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1909
1714
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1910
1715
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1955,7 +1760,7 @@ const RtkMenu$1 = class {
1955
1760
  });
1956
1761
  }
1957
1762
  render() {
1958
- return (index$1.h(index$1.Host, { key: '15461c803838be1651df6116a61598ce8ab988f9' }, index$1.h("span", { key: 'f36cdd2f1141f46a993daa880682382904a72509', id: "trigger", ref: (el) => (this.triggerEl = el), onClick: () => {
1763
+ return (index$1.h(index$1.Host, { key: '98d1a73c1fdd151945433a13dc1d9f11cfaaeb05' }, index$1.h("span", { key: '5cb225dca906f51ea4f9cfe999840af35cbbf865', id: "trigger", ref: (el) => (this.triggerEl = el), onClick: () => {
1959
1764
  this.clickedThis = true;
1960
1765
  if (this.menuListEl.style.display !== 'block') {
1961
1766
  this.menuListEl.style.display = 'block';
@@ -1964,21 +1769,21 @@ const RtkMenu$1 = class {
1964
1769
  else {
1965
1770
  this.menuListEl.style.display = 'none';
1966
1771
  }
1967
- } }, index$1.h("slot", { key: 'af622c9dbb3394cb46a6bb909a45c5e3248b1a09', name: "trigger" })), index$1.h("span", { key: '445258e31b4b775fbc22b268234fe15a33f809c9', part: "menu-list", id: "menu-list", ref: (el) => (this.menuListEl = el) }, index$1.h("slot", { key: '87396622c6078253736cbe43a1cac55c6f90754f' }))));
1772
+ } }, index$1.h("slot", { key: '75146b82e06b27ec57e85d741f42b6112d740334', name: "trigger" })), index$1.h("span", { key: 'ef16bf3d6197fd16fa7fb9dca36bc97f9cafec52', part: "menu-list", id: "menu-list", ref: (el) => (this.menuListEl = el) }, index$1.h("slot", { key: 'fa8644e4eff65fa5832d80cd53a70e626ea0b1e9' }))));
1968
1773
  }
1969
1774
  };
1970
- __decorate$6([
1775
+ __decorate$7([
1971
1776
  index.SyncWithStore()
1972
1777
  ], RtkMenu$1.prototype, "iconPack", void 0);
1973
- __decorate$6([
1778
+ __decorate$7([
1974
1779
  index.SyncWithStore()
1975
1780
  ], RtkMenu$1.prototype, "t", void 0);
1976
1781
  RtkMenu$1.style = RtkMenuStyle0;
1977
1782
 
1978
- const rtkMenuItemCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;align-items:center;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);padding-top:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-2, 8px);cursor:pointer;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:rgb(var(--rtk-colors-text-1000, 255 255 255));font-size:14px}::slotted([slot='start']){margin-right:var(--rtk-space-2, 8px)}::slotted([slot='end']){margin-left:var(--rtk-space-2, 8px)}:host(:hover){--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity))}:host(.primary:hover){--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-bg-opacity))}:host(.red){--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}";
1783
+ const rtkMenuItemCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;align-items:center;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);padding-top:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-2, 8px);cursor:pointer;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;color:rgb(var(--rtk-colors-text-1000, 255 255 255));font-size:14px}::slotted([slot='start']){margin-right:var(--rtk-space-2, 8px)}::slotted([slot='end']){margin-left:var(--rtk-space-2, 8px)}:host(:hover){--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity))}:host(.primary:hover){--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-400, 53 110 253) / var(--tw-bg-opacity))}:host(.red){--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}";
1979
1784
  const RtkMenuItemStyle0 = rtkMenuItemCss;
1980
1785
 
1981
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1786
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1982
1787
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1983
1788
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1984
1789
  r = Reflect.decorate(decorators, target, key, desc);
@@ -1999,21 +1804,21 @@ const RtkMenuItem = class {
1999
1804
  this.t = uiStore.useLanguage();
2000
1805
  }
2001
1806
  render() {
2002
- return (index$1.h(index$1.Host, { key: '8679dae05e846bb8b83a1dbc9580aa2dcad18ccd', class: { [this.menuVariant]: true } }, index$1.h("slot", { key: 'da53376b8188bfc47f904d348212fedff932b03a', name: "start" }), index$1.h("slot", { key: '4394a3afa13bd298880c1be5255f5a004c5ed42e' }), index$1.h("slot", { key: '2be62c70172912e6516ce207b571ea4794aa4f6c', name: "end" })));
1807
+ return (index$1.h(index$1.Host, { key: 'd9b20b45e47b9fe8ab36a87a66eac6386b4c678c', class: { [this.menuVariant]: true } }, index$1.h("slot", { key: '639bd9af7b8ecd614ea87a21906e250023889a1c', name: "start" }), index$1.h("slot", { key: '9b6aa572707a1f78c8f82873b40132ec09290404' }), index$1.h("slot", { key: '02c7034af853977922e5cf3ac30f88e5f0148d75', name: "end" })));
2003
1808
  }
2004
1809
  };
2005
- __decorate$5([
1810
+ __decorate$6([
2006
1811
  index.SyncWithStore()
2007
1812
  ], RtkMenuItem.prototype, "iconPack", void 0);
2008
- __decorate$5([
1813
+ __decorate$6([
2009
1814
  index.SyncWithStore()
2010
1815
  ], RtkMenuItem.prototype, "t", void 0);
2011
1816
  RtkMenuItem.style = RtkMenuItemStyle0;
2012
1817
 
2013
- const rtkMenuListCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;width:-moz-max-content;width:max-content;flex-direction:column;padding:var(--rtk-space-0, 0px);color:rgb(var(--rtk-colors-text-1000, 255 255 255));border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));overflow:hidden;border-radius:var(--rtk-border-radius-sm, 4px);--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(60px)}:host(.primary){--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-600, 13 81 253) / var(--tw-border-opacity));background-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / 0.3)}";
1818
+ const rtkMenuListCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{display:flex;width:-moz-max-content;width:max-content;flex-direction:column;padding:var(--rtk-space-0, 0px);color:rgb(var(--rtk-colors-text-1000, 255 255 255));border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity));overflow:hidden;border-radius:var(--rtk-border-radius-sm, 4px);--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);backdrop-filter:blur(60px)}:host(.primary){--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-600, 13 81 253) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-bg-opacity))}";
2014
1819
  const RtkMenuListStyle0 = rtkMenuListCss;
2015
1820
 
2016
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1821
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2017
1822
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2018
1823
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2019
1824
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2034,13 +1839,13 @@ const RtkMenuList = class {
2034
1839
  this.t = uiStore.useLanguage();
2035
1840
  }
2036
1841
  render() {
2037
- return (index$1.h(index$1.Host, { key: 'b743da0bae39c93cff7896968a64c84166b8a751', class: { [this.menuVariant]: true } }, index$1.h("slot", { key: '46ca973e68fccbf5c8c7544f61bb9745840d0054' })));
1842
+ return (index$1.h(index$1.Host, { key: '0ac5ed2be7991106090b3ca0aa5a66a59f0e8250', class: { [this.menuVariant]: true } }, index$1.h("slot", { key: 'cd8312cfd2de7eeb7d590e4189f482d620f59ef8' })));
2038
1843
  }
2039
1844
  };
2040
- __decorate$4([
1845
+ __decorate$5([
2041
1846
  index.SyncWithStore()
2042
1847
  ], RtkMenuList.prototype, "iconPack", void 0);
2043
- __decorate$4([
1848
+ __decorate$5([
2044
1849
  index.SyncWithStore()
2045
1850
  ], RtkMenuList.prototype, "t", void 0);
2046
1851
  RtkMenuList.style = RtkMenuListStyle0;
@@ -2048,7 +1853,7 @@ RtkMenuList.style = RtkMenuListStyle0;
2048
1853
  const rtkMessageViewCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{max-width:var(--rtk-space-96, 384px)}.message-wrapper{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:var(--rtk-space-2, 8px)}.message-wrapper.incoming{flex-direction:row}.message{display:flex;flex-direction:column;align-items:flex-end}.incoming .message{display:flex;flex-direction:column;align-items:flex-start}.header{margin-top:var(--rtk-space-1, 4px);margin-bottom:var(--rtk-space-1, 4px);align-self:flex-end;color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));font-size:12px;font-weight:600}.incoming .header{align-self:flex-start}.body{display:flex;flex-direction:column;min-width:var(--rtk-space-24, 96px);font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));font-size:14px;line-height:1.375;position:relative}.bubble{max-width:90%;padding:var(--rtk-space-2, 8px);border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-600, 13 81 253) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)));border-radius:var(--rtk-border-radius-md, 8px)}.incoming .bubble{--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88))}.metadata{margin-top:var(--rtk-space-2, 8px);display:flex;flex-direction:row;align-items:center;gap:var(--rtk-space-1, 4px);align-self:flex-end;font-size:11px;color:rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76))}.metadata-content{display:flex;flex-direction:row;align-items:center;gap:var(--rtk-space-1, 4px)}.avatar{display:none}rtk-menu{position:absolute;right:var(--rtk-space-1, 4px);top:var(--rtk-space-1, 4px);border-radius:var(--rtk-border-radius-lg, 12px)}rtk-menu rtk-icon{height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px);cursor:pointer}.actions{display:flex;align-items:center;justify-content:center;border-width:1px;border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-brand-600, 13 81 253) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-bg-opacity));padding:var(--rtk-space-1, 4px);border-radius:var(--rtk-border-radius-md, 8px);border-width:var(--rtk-border-width-none, 0);border-style:none}.actions rtk-icon{height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px);color:rgb(var(--rtk-colors-text-on-brand-1000, var(--rtk-colors-text-1000, 255 255 255)))}.incoming rtk-avatar{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88))}.incoming .actions{--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-1000, 8 8 8) / var(--tw-bg-opacity))}@media (min-width: 400px){.avatar{display:flex;width:var(--rtk-space-6, 24px)}.avatar rtk-avatar{height:var(--rtk-space-6, 24px);width:var(--rtk-space-6, 24px);font-size:10px;overflow:clip;border-radius:9999px}}@media (hover: hover){rtk-menu{visibility:hidden}.body:hover rtk-menu{visibility:visible}}";
2049
1854
  const RtkMessageViewStyle0 = rtkMessageViewCss;
2050
1855
 
2051
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1856
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2052
1857
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2053
1858
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2054
1859
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2089,15 +1894,15 @@ const RtkMessageView = class {
2089
1894
  }))));
2090
1895
  }
2091
1896
  render() {
2092
- return (index$1.h(index$1.Host, { key: '4ea54e7662406a5a3897295972506c043d54598c' }, index$1.h("div", { key: 'e8734f99436b9bd16b8c7a801dfb018eb5e07f20', class: { 'message-wrapper': true, [this.viewType]: true } }, !this.hideAvatar && (index$1.h("aside", { key: 'ad92c5ee28a635070e5fe2517dd2c01185082f88', class: "avatar", part: "avatar" }, index$1.h("rtk-avatar", { key: '7da7496c3613a2280dc5fb1ba383790eb7efacf5', participant: { name: this.authorName, picture: this.avatarUrl }, size: "sm" }))), index$1.h("div", { key: '969bc1103c403ea477147d34cd0992114a713d70', class: "message", part: "message" }, !this.hideAuthorName && (index$1.h("div", { key: 'b99ea9217f1b641e67e509bba4c56d936e2af7b0', class: "header" }, this.authorName, " ", this.isSelf ? ' (You)' : '')), index$1.h("div", { key: '2dad045ba207872c932a38ab4c52e3b0e25af024', class: { body: true, bubble: this.variant === 'bubble' } }, index$1.h("slot", { key: '64e80b06045b8e624df64090b5104e828ccc130e' }), !this.hideMetadata && !!this.time && (index$1.h("div", { key: 'b362dd31d38f3729da45be1150c34a1cea2cd394', class: "metadata", title: date.formatDateTime(this.time) }, this.pinned && (index$1.h("span", { key: '70940e475a08ba64a53300516c64f23549a0b856', class: "metadata-content" }, index$1.h("rtk-icon", { key: 'be9561043f9c0814ae38d9eeadf2ff1c5ccae52c', icon: this.iconPack.pin, size: "sm" }), " \u2022")), this.isEdited && (index$1.h("span", { key: '0abe565d472751a6a341ca6beaf9fc6d50f2f3e0', class: "metadata-content" }, index$1.h("span", { key: 'e89ebd6a787ad2c1d7961209f9052e31e374eec3' }, "Edited"), " \u2022")), date.elapsedDuration(this.time, new Date(Date.now())))), this.actions.length !== 0 && this.renderActions())))));
1897
+ return (index$1.h(index$1.Host, { key: '3d53fc59bda6a82e4c4753e34f915c8f62611f6b' }, index$1.h("div", { key: '1f9cbd79c9e5526645fafd0c4436b91c6c612f08', class: { 'message-wrapper': true, [this.viewType]: true } }, !this.hideAvatar && (index$1.h("aside", { key: '23071b4dff9dd4ecc1385be9a1610ffbab98a9e9', class: "avatar", part: "avatar" }, index$1.h("rtk-avatar", { key: '9a4596ea3636188ef391e65f86d6a608b3aa02d5', participant: { name: this.authorName, picture: this.avatarUrl }, size: "sm" }))), index$1.h("div", { key: 'eefe1bf5803e371266a0b8ee230dd2f42a193dc2', class: "message", part: "message" }, !this.hideAuthorName && (index$1.h("div", { key: '45ba437f7a3ba2b253f22a1885d7e5be954a387e', class: "header" }, this.authorName, " ", this.isSelf ? ' (You)' : '')), index$1.h("div", { key: 'e9636fb45358423d5cc4e8144b6b47cf065117cc', class: { body: true, bubble: this.variant === 'bubble' } }, index$1.h("slot", { key: '1d6cd92eb8d4514b7ae4266fae8cd060a56ac1e3' }), !this.hideMetadata && !!this.time && (index$1.h("div", { key: '77b29974a960e4b4809025305ce005aeab8edebc', class: "metadata", title: date.formatDateTime(this.time) }, this.pinned && (index$1.h("span", { key: 'e6b99085f2cbcbc9505c20e5407a98c382306614', class: "metadata-content" }, index$1.h("rtk-icon", { key: '45ad875ef38b1db0105c85659cf938cc9bd792d8', icon: this.iconPack.pin, size: "sm" }), " \u2022")), this.isEdited && (index$1.h("span", { key: '48d5ecd659fe2308d8c33e94a2216049a2bea5ef', class: "metadata-content" }, index$1.h("span", { key: '9203ff6d3f65b81b875f5bc17231fd2c65c1c2c2' }, "Edited"), " \u2022")), date.elapsedDuration(this.time, new Date(Date.now())))), this.actions.length !== 0 && this.renderActions())))));
2093
1898
  }
2094
1899
  };
2095
- __decorate$3([
1900
+ __decorate$4([
2096
1901
  index.SyncWithStore()
2097
1902
  ], RtkMessageView.prototype, "iconPack", void 0);
2098
1903
  RtkMessageView.style = RtkMessageViewStyle0;
2099
1904
 
2100
- const rtkPaginatedListCss = ".scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{position:relative;display:flex;flex-direction:column;flex:1}.container{box-sizing:border-box;display:flex;flex-direction:column-reverse;padding-top:var(--rtk-space-4, 16px);padding-bottom:var(--rtk-space-4, 16px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}.file-picker{display:none}.chat *:first-child{margin-top:var(--rtk-space-0, 0px)}.chat .head{display:flex;align-items:center}.chat .head .name{margin-right:var(--rtk-space-4, 16px);font-size:12px;font-weight:700}.chat .head .time{font-size:12px;color:rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76))}.chat .body{margin-top:var(--rtk-space-2, 8px);margin-bottom:var(--rtk-space-2, 8px);overflow-wrap:break-word;font-size:14px;line-height:1.375}.chat .body .emoji{font-size:24px}p{margin-top:var(--rtk-space-0, 0px);margin-bottom:var(--rtk-space-3, 12px)}rtk-text-message,rtk-image-message,rtk-file-message{margin-top:var(--rtk-space-4, 16px);display:block;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));box-sizing:border-box}*[is-continued]{margin-top:var(--rtk-space-3, 12px)}rtk-text-message[is-continued]{margin-top:var(--rtk-space-2, 8px)}.chat .image{position:relative;height:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);cursor:pointer}.chat .image img{display:none;height:100%;width:100%;border-radius:var(--rtk-border-radius-sm, 4px);-o-object-fit:cover;object-fit:cover}.chat .image .image-spinner{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}.chat .image .image-spinner rtk-spinner{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}.chat .image .image-errored{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);background-color:rgba(var(--rtk-colors-danger, 255 45 45) / 0.1);--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}.chat .image .actions{display:none;height:var(--rtk-space-8, 32px);align-items:center;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action{height:var(--rtk-space-8, 32px);width:var(--rtk-space-8, 32px);border-radius:var(--rtk-border-radius-none, 0);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.image.loaded img{display:block}.image.loaded .image-spinner{display:none}.image:hover .actions,.image:focus .actions{display:flex}.chat .file{display:flex;align-items:center;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-1\\.5, 6px);padding-bottom:var(--rtk-space-1\\.5, 6px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}.chat .file .file-data{flex:1 1 0%}.chat .file .file-data .name{word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split{margin-top:var(--rtk-space-0\\.5, 2px);display:flex;align-items:center;font-size:12px}.chat .file .file-data .file-data-split .ext{margin-right:var(--rtk-space-2, 8px);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split .divider{height:var(--rtk-space-4, 16px);width:var(--rtk-space-0\\.5, 2px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.chat .file .file-data .file-data-split .size{margin-left:var(--rtk-space-2, 8px)}.smallest-dom-element{width:1px}#top-scroll{transform:translateY(20vh);transform:translateY(20px)}a{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-text-opacity));text-decoration-line:none}a:hover{text-decoration-line:underline}.show-new-messages-ctr{position:absolute;bottom:var(--rtk-space-4, 16px);right:var(--rtk-space-4, 16px);z-index:10;margin-top:calc(var(--rtk-space-14, 56px) * -1);--tw-translate-y:var(--rtk-space-28, 112px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.show-new-messages-ctr.active{--tw-translate-y:var(--rtk-space-0, 0px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:pointer;opacity:1}.show-new-messages{pointer-events:auto;border-radius:9999px}.show-new-messages:hover{border-radius:9999px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}rtk-spinner,.empty-list{margin:auto}.page-wrapper{margin-left:var(--rtk-space-1, 4px);margin-right:var(--rtk-space-1, 4px);display:flex;flex-direction:column-reverse}.message-wrapper{margin-bottom:var(--rtk-space-2, 8px)}.pinned .message-wrapper{position:relative}.pinned .pin-icon{position:absolute;right:calc(var(--rtk-space-1, 4px) * -1);top:calc(var(--rtk-space-1, 4px) * -1);display:flex;border-radius:var(--rtk-border-radius-sm, 4px)}.pinned rtk-message-view{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));padding-top:var(--rtk-space-1, 4px);padding-bottom:var(--rtk-space-1, 4px)}.load-more-on-top-container{pointer-events:none;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-4, 16px);z-index:10}.load-more-icon{pointer-events:auto;border-radius:9999px}.load-more-icon:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}";
1905
+ const rtkPaginatedListCss = ".scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{position:relative;display:flex;flex-direction:column;flex:1}:host(.chat-selector-paginated-list) .container{box-sizing:border-box;display:flex;flex-direction:column;padding:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}:host(.chat-selector-paginated-list) .private-chat-label{display:flex;width:100%;cursor:pointer;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-3, 12px);padding-bottom:var(--rtk-space-3, 12px)}:host(.chat-selector-paginated-list) .private-chat-label rtk-avatar{height:var(--rtk-space-6, 24px);width:var(--rtk-space-6, 24px)}:host(.chat-selector-paginated-list) .show-new-messages-ctr.active{display:none}:host(.pinned-message-selector-paginated-list) .container{box-sizing:border-box;display:flex;flex-direction:column-reverse;padding:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}:host(.pinned-message-selector-paginated-list) .page{position:relative;box-sizing:border-box}:host(.pinned-message-selector-paginated-list) .pinned-message{display:flex;width:100%;cursor:pointer;flex-direction:row;align-items:flex-start;gap:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);padding-top:var(--rtk-space-2, 8px);padding-bottom:var(--rtk-space-2, 8px)}:host(.pinned-message-selector-paginated-list) .pinned-message:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}:host(.pinned-message-selector-paginated-list) .pinned-message-content{display:flex;min-width:var(--rtk-space-0, 0px);flex:1 1 0%;flex-direction:column}:host(.pinned-message-selector-paginated-list) .pinned-message-time{font-size:12px;color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}:host(.pinned-message-selector-paginated-list) .pinned-message-preview{margin-bottom:var(--rtk-space-2, 8px);word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host(.pinned-message-selector-paginated-list) rtk-avatar{height:var(--rtk-space-6, 24px);width:var(--rtk-space-6, 24px)}.container{box-sizing:border-box;display:flex;flex-direction:column-reverse;padding-top:var(--rtk-space-4, 16px);padding-bottom:var(--rtk-space-4, 16px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);flex:1 0 0px;overflow-y:scroll}.file-picker{display:none}.chat *:first-child{margin-top:var(--rtk-space-0, 0px)}.chat .head{display:flex;align-items:center}.chat .head .name{margin-right:var(--rtk-space-4, 16px);font-size:12px;font-weight:700}.chat .head .time{font-size:12px;color:rgb(var(--rtk-colors-text-800, 255 255 255 / 0.76))}.chat .body{margin-top:var(--rtk-space-2, 8px);margin-bottom:var(--rtk-space-2, 8px);overflow-wrap:break-word;font-size:14px;line-height:1.375}.chat .body .emoji{font-size:24px}p{margin-top:var(--rtk-space-0, 0px);margin-bottom:var(--rtk-space-3, 12px)}rtk-text-message,rtk-image-message,rtk-file-message{margin-top:var(--rtk-space-4, 16px);display:block;padding-left:var(--rtk-space-3, 12px);padding-right:var(--rtk-space-3, 12px);font-family:var(--rtk-font-family, sans-serif);color:rgb(var(--rtk-colors-text-900, 255 255 255 / 0.88));box-sizing:border-box}*[is-continued]{margin-top:var(--rtk-space-3, 12px)}rtk-text-message[is-continued]{margin-top:var(--rtk-space-2, 8px)}.chat .image{position:relative;height:var(--rtk-space-40, 160px);max-width:var(--rtk-space-64, 256px);cursor:pointer}.chat .image img{display:none;height:100%;width:100%;border-radius:var(--rtk-border-radius-sm, 4px);-o-object-fit:cover;object-fit:cover}.chat .image .image-spinner{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity))}.chat .image .image-spinner rtk-spinner{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-500, 33 96 253) / var(--tw-text-opacity))}.chat .image .image-errored{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--rtk-border-radius-sm, 4px);background-color:rgba(var(--rtk-colors-danger, 255 45 45) / 0.1);--tw-text-opacity:1;color:rgba(var(--rtk-colors-danger, 255 45 45) / var(--tw-text-opacity))}.chat .image .actions{display:none;height:var(--rtk-space-8, 32px);align-items:center;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action{height:var(--rtk-space-8, 32px);width:var(--rtk-space-8, 32px);border-radius:var(--rtk-border-radius-none, 0);border-width:var(--rtk-border-width-none, 0);border-style:none;background-color:transparent;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.chat .image .actions .action:hover{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.image.loaded img{display:block}.image.loaded .image-spinner{display:none}.image:hover .actions,.image:focus .actions{display:flex}.chat .file{display:flex;align-items:center;gap:var(--rtk-space-1, 4px);padding-left:var(--rtk-space-2, 8px);padding-right:var(--rtk-space-2, 8px);padding-top:var(--rtk-space-1\\.5, 6px);padding-bottom:var(--rtk-space-1\\.5, 6px);border-radius:var(--rtk-border-radius-sm, 4px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-700, 255 255 255 / 0.64))}.chat .file .file-data{flex:1 1 0%}.chat .file .file-data .name{word-break:break-all;color:rgb(var(--rtk-colors-text-1000, 255 255 255));overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split{margin-top:var(--rtk-space-0\\.5, 2px);display:flex;align-items:center;font-size:12px}.chat .file .file-data .file-data-split .ext{margin-right:var(--rtk-space-2, 8px);text-transform:uppercase;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.chat .file .file-data .file-data-split .divider{height:var(--rtk-space-4, 16px);width:var(--rtk-space-0\\.5, 2px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}.chat .file .file-data .file-data-split .size{margin-left:var(--rtk-space-2, 8px)}.smallest-dom-element{width:1px}#top-scroll{transform:translateY(20vh);transform:translateY(20px)}a{--tw-text-opacity:1;color:rgba(var(--rtk-colors-brand-300, 73 124 253) / var(--tw-text-opacity));text-decoration-line:none}a:hover{text-decoration-line:underline}.show-new-messages-ctr{position:absolute;bottom:var(--rtk-space-4, 16px);right:var(--rtk-space-4, 16px);z-index:10;margin-top:calc(var(--rtk-space-14, 56px) * -1);--tw-translate-y:var(--rtk-space-28, 112px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:0;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.show-new-messages-ctr.active{--tw-translate-y:var(--rtk-space-0, 0px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));cursor:pointer;opacity:1}.show-new-messages{pointer-events:auto;border-radius:9999px}.show-new-messages:hover{border-radius:9999px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}rtk-spinner,.empty-list{margin:auto}.page-wrapper{margin-left:var(--rtk-space-1, 4px);margin-right:var(--rtk-space-1, 4px);display:flex;flex-direction:column-reverse}.message-wrapper{margin-bottom:var(--rtk-space-2, 8px)}.pinned .message-wrapper{position:relative}.pinned .pin-icon{position:absolute;right:calc(var(--rtk-space-1, 4px) * -1);top:calc(var(--rtk-space-1, 4px) * -1);display:flex;border-radius:var(--rtk-border-radius-sm, 4px)}.pinned rtk-message-view{--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-700, 44 44 44) / var(--tw-bg-opacity));padding-top:var(--rtk-space-1, 4px);padding-bottom:var(--rtk-space-1, 4px)}.load-more-on-top-container{pointer-events:none;position:absolute;top:var(--rtk-space-2, 8px);right:var(--rtk-space-4, 16px);z-index:10}.load-more-icon{pointer-events:auto;border-radius:9999px}.load-more-icon:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-ring-opacity));--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-bg-opacity))}";
2101
1906
  const RtkPaginatedListStyle0 = rtkPaginatedListCss;
2102
1907
 
2103
1908
  /**
@@ -2126,7 +1931,7 @@ const RtkPaginatedListStyle0 = rtkPaginatedListCss;
2126
1931
  * - If page is empty, delete it
2127
1932
  * - Update timestamp curors
2128
1933
  */
2129
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1934
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2130
1935
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2131
1936
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2132
1937
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2140,7 +1945,7 @@ const RtkPaginatedList = class {
2140
1945
  constructor(hostRef) {
2141
1946
  index$1.registerInstance(this, hostRef);
2142
1947
  // Timestamp pertaining to the oldest stored message
2143
- this.oldestPaginatedTimestamp = null;
1948
+ this.oldestPaginatedTimestamp = 0;
2144
1949
  // Timestamp pertaining to the latest stored message
2145
1950
  this.latestPaginatedTimestamp = null;
2146
1951
  // Timestamp pertaining to the latest message stored in backend
@@ -2254,11 +2059,31 @@ const RtkPaginatedList = class {
2254
2059
  if (index === -1)
2255
2060
  continue;
2256
2061
  // edit message
2257
- this.pages[i][index] = node;
2062
+ this.pages[i][index] = Object.assign(Object.assign({}, this.pages[i][index]), node);
2258
2063
  this.rerender();
2259
2064
  break;
2260
2065
  }
2261
2066
  }
2067
+ /**
2068
+ * Resets the paginated list to a given timestamp
2069
+ */
2070
+ async reset(timestamp = 0) {
2071
+ this.oldestPaginatedTimestamp = timestamp;
2072
+ this.latestPaginatedTimestamp = null;
2073
+ this.pages = [];
2074
+ this.shouldScrollToBottom = false;
2075
+ this.showNewMessagesCTR = false;
2076
+ this.pendingScrollAnchor = null;
2077
+ this.isLoading = false;
2078
+ this.isLoadingTop = false;
2079
+ this.isLoadingBottom = false;
2080
+ if (timestamp === 0) {
2081
+ // preserve latestMessageTimestamp if reseting to a particular message
2082
+ this.latestMessageTimestamp = null;
2083
+ }
2084
+ this.rerender();
2085
+ await this.loadPrevPage();
2086
+ }
2262
2087
  connectedCallback() {
2263
2088
  this.rerender = debounce.debounce(this.rerender.bind(this), 50, { maxWait: 200 });
2264
2089
  }
@@ -2293,8 +2118,8 @@ const RtkPaginatedList = class {
2293
2118
  if (this.isLoading)
2294
2119
  return;
2295
2120
  const scrollAnchor = this.getScrollAnchor('top');
2296
- // if no old timestamp, it means we are at initial state
2297
- if (!this.oldestPaginatedTimestamp)
2121
+ // if old timestamp is 0, it means we are at initial state
2122
+ if (this.oldestPaginatedTimestamp === 0)
2298
2123
  this.oldestPaginatedTimestamp = new Date().getTime();
2299
2124
  // load data
2300
2125
  this.isLoading = true;
@@ -2432,22 +2257,178 @@ const RtkPaginatedList = class {
2432
2257
  this.rerenderBoolean = !this.rerenderBoolean;
2433
2258
  }
2434
2259
  render() {
2260
+ var _a;
2435
2261
  /**
2436
2262
  * div.container is flex=column-reversewhich is why div#bottom-scroll comes before div#top-scroll
2437
2263
  */
2438
- return (index$1.h(index$1.Host, { key: 'd3a69c210794a552e1a45d0d184b16657cbfde79' }, index$1.h("div", { key: 'c9cdb45d5cea872660bc8e2170c3d94c9331a861', class: "scrollbar container", part: "container", ref: (el) => (this.$containerRef = el) }, index$1.h("div", { key: '1bacf2a627e8a7f11f75e0ecbda873609cd347b9', class: { 'show-new-messages-ctr': true, active: this.showNewMessagesCTR } }, index$1.h("rtk-button", { key: '0c4e3f79e2a7447f1195e03aa026d0f228d09f90', class: "show-new-messages", kind: "icon", variant: "secondary", part: "show-new-messages", onClick: () => {
2264
+ return (index$1.h(index$1.Host, { key: '95cfa5ec1e7a023288f23f0c81bdf2e060198f0a' }, index$1.h("div", { key: '6ade1151ec1dd66845f96f336df2f0c5c075706f', class: "scrollbar container", part: "container", ref: (el) => (this.$containerRef = el) }, index$1.h("div", { key: 'befdd4a7c3d30089bd9b6f27dc0b71166cad812f', class: { 'show-new-messages-ctr': true, active: this.showNewMessagesCTR } }, index$1.h("rtk-button", { key: '961b397875ce257acab29cccb38c8bcbcb32a4b5', class: "show-new-messages", kind: "icon", variant: "secondary", part: "show-new-messages", onClick: () => {
2439
2265
  this.scrollToBottom();
2440
- } }, this.shouldScrollToBottom ? (index$1.h("rtk-spinner", { size: "sm" })) : (index$1.h("rtk-icon", { icon: this.iconPack.chevron_down })))), index$1.h("div", { key: '439f9e943266f60c933812771682bc414b86d418', class: "smallest-dom-element", id: "bottom-scroll", ref: (el) => (this.$bottomRef = el) }), this.isLoadingBottom && this.pages.length > 0 && index$1.h("rtk-spinner", { key: 'd79aa2e74a62b14a456c8437362bb01a9df933e1', size: "sm" }), this.isLoading && this.pages.length < 1 && index$1.h("rtk-spinner", { key: '7ccfd41966d0337a8abe9a3086ca3f07fe051dc0', size: "lg" }), !this.isLoading && this.pages.flat().length === 0 ? (index$1.h("div", { class: "empty-list" }, this.t('list.empty'))) : (index$1.h("div", { class: "page-wrapper" }, this.pages.map((page, pageIndex) => (index$1.h("div", { class: "page", "data-page-index": pageIndex }, this.createNodes([...page].reverse())))))), this.isLoadingTop && this.pages.length > 0 && index$1.h("rtk-spinner", { key: '1c6c11863adba0205d0dd2ce649f3bdf51c9df60', size: "sm" }), index$1.h("div", { key: '413506236882f6d516967db0f642f5db63c7971f', class: "smallest-dom-element", id: "top-scroll", ref: (el) => (this.$topRef = el) }))));
2266
+ } }, this.shouldScrollToBottom ? (index$1.h("rtk-spinner", { size: "sm" })) : (index$1.h("rtk-icon", { icon: this.iconPack.chevron_down })))), index$1.h("div", { key: '9ca7ccbab4fd320e028b46086a451a8205186710', class: "smallest-dom-element", id: "bottom-scroll", ref: (el) => (this.$bottomRef = el) }), this.isLoadingBottom && this.pages.length > 0 && index$1.h("rtk-spinner", { key: 'c0857b46087f6ec587801eed1706c903f3376c9d', size: "sm" }), this.isLoading && this.pages.length < 1 && index$1.h("rtk-spinner", { key: 'abf37d818f2d96be450e85e92b4b31e9146c4bc5', size: "lg" }), !this.isLoading && this.pages.flat().length === 0 ? (index$1.h("div", { class: "empty-list" }, (_a = this.emptyListLabel) !== null && _a !== void 0 ? _a : this.t('list.empty'))) : (index$1.h("div", { class: "page-wrapper" }, this.pages.map((page, pageIndex) => (index$1.h("div", { class: "page", "data-page-index": pageIndex }, this.createNodes([...page].reverse())))))), this.isLoadingTop && this.pages.length > 0 && index$1.h("rtk-spinner", { key: '926124b839832299b8e8a5cb9336fa62b3a21516', size: "sm" }), index$1.h("div", { key: 'de2ecfae0a8e27c1afb0b03fe803f7bcd3b187f1', class: "smallest-dom-element", id: "top-scroll", ref: (el) => (this.$topRef = el) }))));
2441
2267
  }
2442
2268
  };
2443
- __decorate$2([
2269
+ __decorate$3([
2444
2270
  index.SyncWithStore()
2445
2271
  ], RtkPaginatedList.prototype, "iconPack", void 0);
2446
- __decorate$2([
2272
+ __decorate$3([
2447
2273
  index.SyncWithStore()
2448
2274
  ], RtkPaginatedList.prototype, "t", void 0);
2449
2275
  RtkPaginatedList.style = RtkPaginatedListStyle0;
2450
2276
 
2277
+ const rtkPinnedMessageSelectorCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}.scrollbar{scrollbar-width:thin;scrollbar-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))\n var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar{height:var(--rtk-space-1\\.5, 6px);width:var(--rtk-space-1\\.5, 6px);border-radius:9999px;background-color:var(--rtk-scrollbar-background, transparent)}.scrollbar::-webkit-scrollbar-thumb{border-radius:9999px;background-color:var(--rtk-scrollbar-color, rgb(var(--rtk-colors-background-600, 60 60 60)))}:host{display:flex;width:100%;flex-direction:column;font-size:14px;position:relative;box-sizing:border-box;color:rgb(var(--rtk-colors-text-1000, 255 255 255))}.chat-header{position:relative;margin-left:var(--rtk-space-2, 8px);margin-right:var(--rtk-space-2, 8px);cursor:pointer;gap:var(--rtk-space-2, 8px);padding-left:var(--rtk-space-4, 16px);padding-right:var(--rtk-space-4, 16px);padding-top:var(--rtk-space-3, 12px);padding-bottom:var(--rtk-space-3, 12px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-800, 30 30 30) / var(--tw-bg-opacity));color:rgb(var(--rtk-colors-text-600, 255 255 255 / 0.52));border-radius:var(--rtk-border-radius-sm, 4px);border:var(--rtk-border-width-sm, 1px) solid rgb(var(--rtk-colors-background-600, 60 60 60))}.chat-header-label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:var(--rtk-space-2, 8px)}.dropdown{position:absolute;top:100%;z-index:10;padding:var(--rtk-space-0, 0px);--tw-bg-opacity:1;background-color:rgba(var(--rtk-colors-background-900, 26 26 26) / var(--tw-bg-opacity));max-height:var(--rtk-space-0, 0px);opacity:0;overflow:hidden;pointer-events:none;border-bottom-right-radius:var(--rtk-border-radius-sm, 4px);border-bottom-left-radius:var(--rtk-border-radius-sm, 4px);left:var(--rtk-space-2, 8px);right:var(--rtk-space-2, 8px);max-width:calc(100vw - var(--rtk-space-4, 16px));box-sizing:border-box}.dropdown.open{max-height:50vh;opacity:1;overflow:auto;pointer-events:auto;border-width:1px;border-top-width:var(--rtk-border-width-none, 0);border-style:solid;--tw-border-opacity:1;border-color:rgba(var(--rtk-colors-background-600, 60 60 60) / var(--tw-border-opacity))}.dropdown rtk-paginated-list{box-sizing:border-box;display:flex;max-height:50vh;min-height:30vh;flex-direction:column}";
2278
+ const RtkPinnedMessageSelectorStyle0 = rtkPinnedMessageSelectorCss;
2279
+
2280
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2281
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2282
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2283
+ r = Reflect.decorate(decorators, target, key, desc);
2284
+ else
2285
+ for (var i = decorators.length - 1; i >= 0; i--)
2286
+ if (d = decorators[i])
2287
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2288
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2289
+ };
2290
+ const RtkPinnedMessageSelector = class {
2291
+ constructor(hostRef) {
2292
+ index$1.registerInstance(this, hostRef);
2293
+ this.dropdownToggle = index$1.createEvent(this, "rtkDropdownToggle", 7);
2294
+ this.pinnedMessageSelect = index$1.createEvent(this, "rtkPinnedMessageSelect", 7);
2295
+ this.isOpen = false;
2296
+ /** Icon pack */
2297
+ this.iconPack = uiStore.defaultIconPack;
2298
+ /** Language */
2299
+ this.t = uiStore.useLanguage();
2300
+ //NOTE(ikabra): Fix this value once backend supports pagination for participants
2301
+ this.pageSize = 25;
2302
+ this.pagesAllowed = 3;
2303
+ this.showPinnedMessages = true;
2304
+ this.toggle = (e) => {
2305
+ e.preventDefault();
2306
+ e.stopPropagation();
2307
+ this.isOpen = !this.isOpen;
2308
+ this.dropdownToggle.emit({ open: this.isOpen });
2309
+ };
2310
+ this.getPinnedChatMessages = async (timestamp, size, reversed) => {
2311
+ const localMeeting = this.meeting;
2312
+ if (!localMeeting)
2313
+ return [];
2314
+ try {
2315
+ const messages = await localMeeting.chat.fetchPinnedMessages({
2316
+ timestamp,
2317
+ limit: size,
2318
+ direction: reversed ? 'before' : 'after',
2319
+ });
2320
+ return messages;
2321
+ }
2322
+ catch (err) {
2323
+ return [];
2324
+ }
2325
+ };
2326
+ this.createPinnedChatNodes = (messages) => {
2327
+ return messages.map((message) => {
2328
+ const preview = message.type === 'text'
2329
+ ? (message.message || '').replace(/\s+/g, ' ').trim()
2330
+ : message.type === 'file'
2331
+ ? 'File Attachment'
2332
+ : message.type === 'image'
2333
+ ? 'Image Attachment'
2334
+ : '';
2335
+ return (index$1.h("div", { class: "pinned-message", id: message.id, onClick: () => {
2336
+ this.pinnedMessageSelect.emit(message);
2337
+ this.close();
2338
+ } }, index$1.h("rtk-avatar", { size: "sm", participant: {
2339
+ name: message.displayName,
2340
+ picture: '',
2341
+ } }), index$1.h("div", { class: "pinned-message-content" }, index$1.h("div", { class: "pinned-message-preview", title: preview }, preview), index$1.h("div", { class: "pinned-message-meta" }, index$1.h("span", { class: "pinned-message-time" }, date.elapsedDuration(message.time, new Date(Date.now())))))));
2342
+ });
2343
+ };
2344
+ this.pinChatListener = (data) => {
2345
+ var _a, _b;
2346
+ if (((_a = data.message.targetUserIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
2347
+ // pinned messages are not supported for private chat
2348
+ return;
2349
+ }
2350
+ /**
2351
+ * FIXME(ikabra): This is a temporary hack to refresh the list when a new message is pinned.
2352
+ * This is done to avoid duplicate messages in the list.
2353
+ * Fix is being implemented by socket where they are updating the `updatedAt` timestamp when the message is pinned.
2354
+ */
2355
+ (_b = this.$paginatedListRef) === null || _b === void 0 ? void 0 : _b.reset();
2356
+ };
2357
+ this.unpinChatListener = async (data) => {
2358
+ var _a, _b;
2359
+ if (((_a = data.message.targetUserIds) === null || _a === void 0 ? void 0 : _a.length) > 0) {
2360
+ // pinned messages are not supported for private chat
2361
+ return;
2362
+ }
2363
+ (_b = this.$paginatedListRef) === null || _b === void 0 ? void 0 : _b.onNodeDelete(data.message.id);
2364
+ };
2365
+ this.chatUpdateListener = async (data) => {
2366
+ if (data.action !== 'delete')
2367
+ return;
2368
+ this.unpinChatListener(data);
2369
+ };
2370
+ }
2371
+ connectedCallback() {
2372
+ this.meetingChanged(this.meeting);
2373
+ }
2374
+ disconnectedCallback() {
2375
+ this.disconnectMeeting(this.meeting);
2376
+ }
2377
+ disconnectMeeting(meeting) {
2378
+ var _a, _b, _c;
2379
+ (_a = meeting.chat) === null || _a === void 0 ? void 0 : _a.removeListener('pinMessage', this.pinChatListener);
2380
+ (_b = meeting.chat) === null || _b === void 0 ? void 0 : _b.removeListener('unpinMessage', this.unpinChatListener);
2381
+ (_c = meeting.chat) === null || _c === void 0 ? void 0 : _c.removeListener('chatUpdate', this.chatUpdateListener);
2382
+ }
2383
+ meetingChanged(meeting, oldMeeting) {
2384
+ var _a, _b, _c, _d;
2385
+ if (oldMeeting)
2386
+ this.disconnectMeeting(oldMeeting);
2387
+ if (!meeting)
2388
+ return;
2389
+ (_a = this.$paginatedListRef) === null || _a === void 0 ? void 0 : _a.reset();
2390
+ (_b = meeting.chat) === null || _b === void 0 ? void 0 : _b.addListener('pinMessage', this.pinChatListener);
2391
+ (_c = meeting.chat) === null || _c === void 0 ? void 0 : _c.addListener('unpinMessage', this.unpinChatListener);
2392
+ (_d = meeting.chat) === null || _d === void 0 ? void 0 : _d.addListener('chatUpdate', this.chatUpdateListener);
2393
+ }
2394
+ /** */
2395
+ async close() {
2396
+ if (!this.isOpen)
2397
+ return;
2398
+ this.isOpen = false;
2399
+ this.dropdownToggle.emit({ open: false });
2400
+ }
2401
+ async onChatSelectorChange(event) {
2402
+ var _a;
2403
+ const selectedUser = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.selectedUser;
2404
+ // Everyone
2405
+ if (!selectedUser) {
2406
+ this.showPinnedMessages = true;
2407
+ }
2408
+ else {
2409
+ this.showPinnedMessages = false;
2410
+ }
2411
+ }
2412
+ render() {
2413
+ if (!this.showPinnedMessages)
2414
+ return null;
2415
+ return (index$1.h(index$1.Host, null, index$1.h("div", { class: "chat-header", onClick: this.toggle }, index$1.h("div", { class: "chat-header-label" }, index$1.h("rtk-icon", { icon: this.iconPack.pin, size: "sm" }), this.t('chat.pinned_msgs')), index$1.h("div", { class: "chevron" }, index$1.h("rtk-icon", { icon: this.isOpen ? this.iconPack.chevron_up : this.iconPack.chevron_down, size: "sm" }))), index$1.h("div", { class: { dropdown: true, open: this.isOpen, scrollbar: true } }, index$1.h("rtk-paginated-list", { class: "pinned-message-selector-paginated-list", ref: (el) => (this.$paginatedListRef = el), pageSize: this.pageSize, pagesAllowed: 3, fetchData: this.getPinnedChatMessages, createNodes: this.createPinnedChatNodes, emptyListLabel: this.t('chat.empty_search') }, index$1.h("slot", null)))));
2416
+ }
2417
+ static get watchers() { return {
2418
+ "meeting": ["meetingChanged"]
2419
+ }; }
2420
+ };
2421
+ __decorate$2([
2422
+ index.SyncWithStore()
2423
+ ], RtkPinnedMessageSelector.prototype, "meeting", void 0);
2424
+ __decorate$2([
2425
+ index.SyncWithStore()
2426
+ ], RtkPinnedMessageSelector.prototype, "iconPack", void 0);
2427
+ __decorate$2([
2428
+ index.SyncWithStore()
2429
+ ], RtkPinnedMessageSelector.prototype, "t", void 0);
2430
+ RtkPinnedMessageSelector.style = RtkPinnedMessageSelectorStyle0;
2431
+
2451
2432
  const rtkSpinnerCss = ":host{line-height:initial;font-family:var(--rtk-font-family, sans-serif);font-feature-settings:normal;font-variation-settings:normal}p{margin:var(--rtk-space-0, 0px);padding:var(--rtk-space-0, 0px)}:host{box-sizing:border-box;display:block;height:var(--rtk-space-10, 40px);width:var(--rtk-space-10, 40px);--rtk-spinner-color:currentColor}.spinner{height:100%;width:100%}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin 1s linear infinite;border-radius:9999px;background-color:transparent;animation-duration:1.3s}:host([size='md']){height:var(--rtk-space-6, 24px);width:var(--rtk-space-6, 24px)}:host([size='sm']){height:var(--rtk-space-4, 16px);width:var(--rtk-space-4, 16px)}";
2452
2433
  const RtkSpinnerStyle0 = rtkSpinnerCss;
2453
2434
 
@@ -2470,7 +2451,7 @@ const RtkSpinner = class {
2470
2451
  this.size = 'md';
2471
2452
  }
2472
2453
  render() {
2473
- return (index$1.h(index$1.Host, { key: 'c042cbd31d8fa9e58c0cbbc5646575a3172fc824' }, index$1.h("rtk-icon", { key: '0171ba3d5f7506e2c67eb813c5ad5b263352088d', class: "spinner", icon: this.iconPack.spinner })));
2454
+ return (index$1.h(index$1.Host, { key: 'f9f0f938827fb04712fb9f406fb07d48c398865a' }, index$1.h("rtk-icon", { key: 'a2daa23191ea94007c8a980f221409c6dfe35d03', class: "spinner", icon: this.iconPack.spinner })));
2474
2455
  }
2475
2456
  };
2476
2457
  __decorate$1([
@@ -2548,7 +2529,7 @@ const RtkTextComposerView = class {
2548
2529
  }
2549
2530
  }
2550
2531
  render() {
2551
- return (index$1.h("div", { key: 'e5f7fa2bd4a2386ff5185001981477ccacf24556', class: "chat-input", part: "chat-input-container" }, this.maxLengthBreached > 0 && (index$1.h("div", { key: '4c06c853ddc7bebafe45fdb2e2c5c9e1c20021fe', class: 'text-error ' + (this.maxLengthBreached === this.maxLength ? 'breached' : '') }, index$1.h("rtk-icon", { key: '524037dc257f0aea206fbc3503d1fe1cb03449be', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.maxLengthBreached, " / ", this.maxLength, " ", this.t('chat.max_limit_warning'))), this.rateLimitBreached && (index$1.h("div", { key: 'cf975664f367f2621593239ab1cf2e73f5acdb45', class: 'text-error breached' }, index$1.h("rtk-icon", { key: '70a6555f1fa9752f91951181b46e0ed0e7eb8679', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.t('chat.rate_limit_error'))), index$1.h("textarea", { key: '7fc7280dd143cd701d5037e04c2b36c3ea8ec023', ref: (el) => (this.$textArea = el), placeholder: this.placeholder, disabled: this.disabled, onInput: this.onInputHandler, onKeyDown: this.keyDownHandler, part: "chat-input", value: this.value })));
2532
+ return (index$1.h("div", { key: '38a6c64bb92fd72f76109e0d55c04c00a77bb43a', class: "chat-input", part: "chat-input-container" }, this.maxLengthBreached > 0 && (index$1.h("div", { key: 'b3d3ed9cd0694edf05cb7ccda50dc8f6157315ef', class: 'text-error ' + (this.maxLengthBreached === this.maxLength ? 'breached' : '') }, index$1.h("rtk-icon", { key: 'c5cd3e9887e90970729dc808413997bc17835ae6', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.maxLengthBreached, " / ", this.maxLength, " ", this.t('chat.max_limit_warning'))), this.rateLimitBreached && (index$1.h("div", { key: 'fd2c53dc324defba567638782d2fafd66f9be11b', class: 'text-error breached' }, index$1.h("rtk-icon", { key: '7f60d2b74f45a7c4e4cbe422066803ff750fa5ef', id: "warning-indicator", icon: this.iconPack.warning, part: "warning-indicator" }), ' ', this.t('chat.rate_limit_error'))), index$1.h("textarea", { key: 'd60bd094237e82a8a66e5afd6be464a242f43afa', ref: (el) => (this.$textArea = el), placeholder: this.placeholder, disabled: this.disabled, onInput: this.onInputHandler, onKeyDown: this.keyDownHandler, part: "chat-input", value: this.value })));
2552
2533
  }
2553
2534
  };
2554
2535
  __decorate([
@@ -2569,7 +2550,7 @@ const RtkTextMessageView = class {
2569
2550
  this.isMarkdown = false;
2570
2551
  }
2571
2552
  render() {
2572
- return (index$1.h("p", { key: 'b4cbabb44d32f96a23cd72f108d6a36b05491c97', class: { text: true, emoji: string.hasOnlyEmojis(this.text) } }, this.isMarkdown ? index$1.h("rtk-markdown-view", { text: this.text }) : this.text));
2553
+ return (index$1.h("p", { key: '415dec939e8fa149f006a5c3afc4bafc11f911af', class: { text: true, emoji: string.hasOnlyEmojis(this.text) } }, this.isMarkdown ? index$1.h("rtk-markdown-view", { text: this.text }) : this.text));
2573
2554
  }
2574
2555
  };
2575
2556
  RtkTextMessageView.style = RtkTextMessageViewStyle0;
@@ -2675,7 +2656,7 @@ const RtkMenu = class {
2675
2656
  });
2676
2657
  }
2677
2658
  render() {
2678
- return (index$1.h(index$1.Host, { key: '5278137bc9b99d9fe9ffeb0fc30bd887d600494d' }, index$1.h("span", { key: 'cbefda068a15340dad76668c3696a10bd94cb8e9', part: "trigger", id: "trigger", ref: (el) => (this.triggerEl = el) }, index$1.h("slot", { key: 'f160cf29ece64145e795a9a11459bd458482c446' })), index$1.h("div", { key: '1056b2bbc8cbacd3c32280d334d9f703a578b5ef', part: "tooltip", class: "tooltip", id: "tooltip", role: "tooltip", ref: (el) => (this.tooltipEl = el) }, index$1.h("div", { key: '6c6816fa1b18d49fa22ab6ffb600aaa23c5b9ec5', id: "arrow", ref: (el) => (this.arrowEl = el), part: "arrow" }), this.label, index$1.h("slot", { key: '3c2d3425b2e8b4d810de2ce40394491c4698aede', name: "tooltip" }))));
2659
+ return (index$1.h(index$1.Host, { key: 'ce9cb2211743e50c83b7f572b2e9dc5b02fa3ac8' }, index$1.h("span", { key: '74f73894f5a62519b3bf8c03a83e7102092ccd5c', part: "trigger", id: "trigger", ref: (el) => (this.triggerEl = el) }, index$1.h("slot", { key: '4551b2a438b1c57ca68e4a2973529186063a13c2' })), index$1.h("div", { key: 'e3dd196c6ee225cb363bcf54d35836ff17ed5969', part: "tooltip", class: "tooltip", id: "tooltip", role: "tooltip", ref: (el) => (this.tooltipEl = el) }, index$1.h("div", { key: '4eb8bb3af588160018ef9d8899afc09edf4b195d', id: "arrow", ref: (el) => (this.arrowEl = el), part: "arrow" }), this.label, index$1.h("slot", { key: 'c427ef3ef9953b764f9b1adcb4a8b7eee1fe91cd', name: "tooltip" }))));
2679
2660
  }
2680
2661
  static get watchers() { return {
2681
2662
  "open": ["openChanged"]
@@ -2685,10 +2666,11 @@ RtkMenu.style = RtkTooltipStyle0;
2685
2666
 
2686
2667
  exports.rtk_avatar = RtkAvatar;
2687
2668
  exports.rtk_button = RtkButton;
2688
- exports.rtk_channel_selector_view = RtkChannelSelectorView;
2689
2669
  exports.rtk_chat = RtkChat;
2690
2670
  exports.rtk_chat_composer_view = RtkChatComposerView;
2671
+ exports.rtk_chat_header = RtkChatHeader;
2691
2672
  exports.rtk_chat_messages_ui_paginated = RtkChatMessagesUiPaginated;
2673
+ exports.rtk_chat_selector = RtkChatSelector;
2692
2674
  exports.rtk_draft_attachment_view = RtkDraftAttachmentView;
2693
2675
  exports.rtk_emoji_picker = RtkEmojiPicker;
2694
2676
  exports.rtk_emoji_picker_button = RtkEmojiPickerButton;
@@ -2703,6 +2685,7 @@ exports.rtk_menu_item = RtkMenuItem;
2703
2685
  exports.rtk_menu_list = RtkMenuList;
2704
2686
  exports.rtk_message_view = RtkMessageView;
2705
2687
  exports.rtk_paginated_list = RtkPaginatedList;
2688
+ exports.rtk_pinned_message_selector = RtkPinnedMessageSelector;
2706
2689
  exports.rtk_spinner = RtkSpinner;
2707
2690
  exports.rtk_text_composer_view = RtkTextComposerView;
2708
2691
  exports.rtk_text_message_view = RtkTextMessageView;