stream-chat-react 14.11.1 → 15.0.0-rc.1

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 (1701) hide show
  1. package/dist/cjs/ListItemLayout.60c3b287.js +2181 -0
  2. package/dist/cjs/ListItemLayout.60c3b287.js.map +1 -0
  3. package/dist/cjs/{ReactPlayerWrapper.a94a0cd1.js → ReactPlayerWrapper.f04b1d06.js} +5 -5
  4. package/dist/cjs/{ReactPlayerWrapper.a94a0cd1.js.map → ReactPlayerWrapper.f04b1d06.js.map} +1 -1
  5. package/dist/cjs/SlotLayout.de45be2d.js +1672 -0
  6. package/dist/cjs/SlotLayout.de45be2d.js.map +1 -0
  7. package/dist/cjs/Thread.373af587.js +7479 -0
  8. package/dist/cjs/Thread.373af587.js.map +1 -0
  9. package/dist/cjs/channel-detail.js +409 -389
  10. package/dist/cjs/channel-detail.js.map +1 -1
  11. package/dist/cjs/emojis.js +18 -16
  12. package/dist/cjs/emojis.js.map +1 -1
  13. package/dist/cjs/index.js +14474 -20038
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/slot-geometry.js +145 -0
  16. package/dist/cjs/slot-geometry.js.map +1 -0
  17. package/dist/cjs/slot-layout.js +37 -0
  18. package/dist/cjs/useChannel.1004ed4c.js +18 -0
  19. package/dist/cjs/useChannel.1004ed4c.js.map +1 -0
  20. package/dist/cjs/useComponentContextIcons.d16834d9.js +1729 -0
  21. package/dist/cjs/useComponentContextIcons.d16834d9.js.map +1 -0
  22. package/dist/cjs/useIsCooldownActive.1f778bc1.js +110 -0
  23. package/dist/cjs/useIsCooldownActive.1f778bc1.js.map +1 -0
  24. package/dist/css/channel-detail.css.map +1 -1
  25. package/dist/css/index.css +228 -64
  26. package/dist/css/index.css.map +1 -1
  27. package/dist/es/_virtual/_rolldown/runtime.mjs +13 -0
  28. package/dist/es/a11y/a11yUtils.mjs +42 -0
  29. package/dist/es/a11y/a11yUtils.mjs.map +1 -0
  30. package/dist/es/a11y/accessibleLabel.mjs +31 -0
  31. package/dist/es/a11y/accessibleLabel.mjs.map +1 -0
  32. package/dist/es/a11y/hooks/useAriaIdentifiers.mjs +25 -0
  33. package/dist/es/a11y/hooks/useAriaIdentifiers.mjs.map +1 -0
  34. package/dist/es/a11y/hooks/useListboxKeyboardNavigation.mjs +85 -0
  35. package/dist/es/a11y/hooks/useListboxKeyboardNavigation.mjs.map +1 -0
  36. package/dist/es/a11y/hooks/useResolvedModalAriaProps.mjs +32 -0
  37. package/dist/es/a11y/hooks/useResolvedModalAriaProps.mjs.map +1 -0
  38. package/dist/es/a11y/hooks/useVirtualizedListboxKeyboardNavigation.mjs +68 -0
  39. package/dist/es/a11y/hooks/useVirtualizedListboxKeyboardNavigation.mjs.map +1 -0
  40. package/dist/es/channel-detail.mjs +29 -3020
  41. package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs +27 -0
  42. package/dist/es/components/AIStateIndicator/AIStateIndicator.mjs.map +1 -0
  43. package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs +20 -0
  44. package/dist/es/components/AIStateIndicator/hooks/useAIState.mjs.map +1 -0
  45. package/dist/es/components/Accessibility/AriaLiveAnnouncerProvider.mjs +144 -0
  46. package/dist/es/components/Accessibility/AriaLiveAnnouncerProvider.mjs.map +1 -0
  47. package/dist/es/components/Accessibility/AriaLiveOutlet.mjs +58 -0
  48. package/dist/es/components/Accessibility/AriaLiveOutlet.mjs.map +1 -0
  49. package/dist/es/components/Accessibility/AriaLiveOutletContext.mjs +8 -0
  50. package/dist/es/components/Accessibility/AriaLiveOutletContext.mjs.map +1 -0
  51. package/dist/es/components/Accessibility/NotificationAnnouncer.mjs +86 -0
  52. package/dist/es/components/Accessibility/NotificationAnnouncer.mjs.map +1 -0
  53. package/dist/es/components/Accessibility/hooks/useAudioPlaybackChangeAnnouncements.mjs +20 -0
  54. package/dist/es/components/Accessibility/hooks/useAudioPlaybackChangeAnnouncements.mjs.map +1 -0
  55. package/dist/es/components/Accessibility/hooks/useFocusReturn.mjs +37 -0
  56. package/dist/es/components/Accessibility/hooks/useFocusReturn.mjs.map +1 -0
  57. package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs +89 -0
  58. package/dist/es/components/Accessibility/hooks/useIncomingMessageAnnouncements.mjs.map +1 -0
  59. package/dist/es/components/Accessibility/hooks/useInertWhenHidden.mjs +85 -0
  60. package/dist/es/components/Accessibility/hooks/useInertWhenHidden.mjs.map +1 -0
  61. package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs +165 -0
  62. package/dist/es/components/Accessibility/hooks/useInteractionAnnouncements.mjs.map +1 -0
  63. package/dist/es/components/Accessibility/scheduling/useAnnouncementQueue.mjs +43 -0
  64. package/dist/es/components/Accessibility/scheduling/useAnnouncementQueue.mjs.map +1 -0
  65. package/dist/es/components/Accessibility/scheduling/useDebouncedAnnounce.mjs +78 -0
  66. package/dist/es/components/Accessibility/scheduling/useDebouncedAnnounce.mjs.map +1 -0
  67. package/dist/es/components/Accessibility/scheduling/useSettledAnnouncement.mjs +90 -0
  68. package/dist/es/components/Accessibility/scheduling/useSettledAnnouncement.mjs.map +1 -0
  69. package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs +13 -0
  70. package/dist/es/components/Accessibility/useAriaLiveAnnouncer.mjs.map +1 -0
  71. package/dist/es/components/Attachment/Attachment.mjs +89 -0
  72. package/dist/es/components/Attachment/Attachment.mjs.map +1 -0
  73. package/dist/es/components/Attachment/AttachmentActions.mjs +110 -0
  74. package/dist/es/components/Attachment/AttachmentActions.mjs.map +1 -0
  75. package/dist/es/components/Attachment/AttachmentContainer.mjs +269 -0
  76. package/dist/es/components/Attachment/AttachmentContainer.mjs.map +1 -0
  77. package/dist/es/components/Attachment/Audio.mjs +109 -0
  78. package/dist/es/components/Attachment/Audio.mjs.map +1 -0
  79. package/dist/es/components/Attachment/FileAttachment.mjs +46 -0
  80. package/dist/es/components/Attachment/FileAttachment.mjs.map +1 -0
  81. package/dist/es/components/Attachment/Geolocation.mjs +89 -0
  82. package/dist/es/components/Attachment/Geolocation.mjs.map +1 -0
  83. package/dist/es/components/Attachment/Giphy.mjs +62 -0
  84. package/dist/es/components/Attachment/Giphy.mjs.map +1 -0
  85. package/dist/es/components/Attachment/Image.mjs +19 -0
  86. package/dist/es/components/Attachment/Image.mjs.map +1 -0
  87. package/dist/es/components/Attachment/LinkPreview/Card.mjs +93 -0
  88. package/dist/es/components/Attachment/LinkPreview/Card.mjs.map +1 -0
  89. package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs +22 -0
  90. package/dist/es/components/Attachment/LinkPreview/UnableToRenderCard.mjs.map +1 -0
  91. package/dist/es/components/Attachment/ModalGallery.mjs +178 -0
  92. package/dist/es/components/Attachment/ModalGallery.mjs.map +1 -0
  93. package/dist/es/components/Attachment/UnsupportedAttachment.mjs +25 -0
  94. package/dist/es/components/Attachment/UnsupportedAttachment.mjs.map +1 -0
  95. package/dist/es/components/Attachment/VideoAttachment.mjs +56 -0
  96. package/dist/es/components/Attachment/VideoAttachment.mjs.map +1 -0
  97. package/dist/es/components/Attachment/VisibilityDisclaimer.mjs +17 -0
  98. package/dist/es/components/Attachment/VisibilityDisclaimer.mjs.map +1 -0
  99. package/dist/es/components/Attachment/VoiceRecording.mjs +139 -0
  100. package/dist/es/components/Attachment/VoiceRecording.mjs.map +1 -0
  101. package/dist/es/components/Attachment/attachment-sizing.mjs +73 -0
  102. package/dist/es/components/Attachment/attachment-sizing.mjs.map +1 -0
  103. package/dist/es/components/Attachment/audioSampling.mjs +74 -0
  104. package/dist/es/components/Attachment/audioSampling.mjs.map +1 -0
  105. package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs +38 -0
  106. package/dist/es/components/Attachment/components/AttachmentUploadProgressIndicator.mjs.map +1 -0
  107. package/dist/es/components/Attachment/components/DownloadButton.mjs +35 -0
  108. package/dist/es/components/Attachment/components/DownloadButton.mjs.map +1 -0
  109. package/dist/es/components/Attachment/components/FileSizeIndicator.mjs +17 -0
  110. package/dist/es/components/Attachment/components/FileSizeIndicator.mjs.map +1 -0
  111. package/dist/es/components/Attachment/giphyAccessibility.mjs +15 -0
  112. package/dist/es/components/Attachment/giphyAccessibility.mjs.map +1 -0
  113. package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs +80 -0
  114. package/dist/es/components/Attachment/hooks/useAttachmentUploadState.mjs.map +1 -0
  115. package/dist/es/components/Attachment/hooks/useLocalVideoDimensions.mjs +79 -0
  116. package/dist/es/components/Attachment/hooks/useLocalVideoDimensions.mjs.map +1 -0
  117. package/dist/es/components/Attachment/icons.mjs +13 -0
  118. package/dist/es/components/Attachment/icons.mjs.map +1 -0
  119. package/dist/es/components/Attachment/utils.mjs +41 -0
  120. package/dist/es/components/Attachment/utils.mjs.map +1 -0
  121. package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs +57 -0
  122. package/dist/es/components/AudioPlayback/AudioPlaybackArbiter.mjs.map +1 -0
  123. package/dist/es/components/AudioPlayback/AudioPlayer.mjs +472 -0
  124. package/dist/es/components/AudioPlayback/AudioPlayer.mjs.map +1 -0
  125. package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs +73 -0
  126. package/dist/es/components/AudioPlayback/AudioPlayerPool.mjs.map +1 -0
  127. package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs +86 -0
  128. package/dist/es/components/AudioPlayback/WithAudioPlayback.mjs.map +1 -0
  129. package/dist/es/components/AudioPlayback/components/DurationDisplay.mjs +33 -0
  130. package/dist/es/components/AudioPlayback/components/DurationDisplay.mjs.map +1 -0
  131. package/dist/es/components/AudioPlayback/components/PlaybackRateButton.mjs +15 -0
  132. package/dist/es/components/AudioPlayback/components/PlaybackRateButton.mjs.map +1 -0
  133. package/dist/es/components/AudioPlayback/components/ProgressBar.mjs +56 -0
  134. package/dist/es/components/AudioPlayback/components/ProgressBar.mjs.map +1 -0
  135. package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs +107 -0
  136. package/dist/es/components/AudioPlayback/components/WaveProgressBar.mjs.map +1 -0
  137. package/dist/es/components/AudioPlayback/components/formatTime.mjs +14 -0
  138. package/dist/es/components/AudioPlayback/components/formatTime.mjs.map +1 -0
  139. package/dist/es/components/AudioPlayback/components/keyboardSeek.mjs +36 -0
  140. package/dist/es/components/AudioPlayback/components/keyboardSeek.mjs.map +1 -0
  141. package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs +19 -0
  142. package/dist/es/components/AudioPlayback/components/progressBarA11y.mjs.map +1 -0
  143. package/dist/es/components/AudioPlayback/components/useInteractiveProgressBar.mjs +77 -0
  144. package/dist/es/components/AudioPlayback/components/useInteractiveProgressBar.mjs.map +1 -0
  145. package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs +33 -0
  146. package/dist/es/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.mjs.map +1 -0
  147. package/dist/es/components/Avatar/Avatar.mjs +62 -0
  148. package/dist/es/components/Avatar/Avatar.mjs.map +1 -0
  149. package/dist/es/components/Avatar/AvatarStack.mjs +32 -0
  150. package/dist/es/components/Avatar/AvatarStack.mjs.map +1 -0
  151. package/dist/es/components/Avatar/ChannelAvatar.mjs +25 -0
  152. package/dist/es/components/Avatar/ChannelAvatar.mjs.map +1 -0
  153. package/dist/es/components/Avatar/GroupAvatar.mjs +53 -0
  154. package/dist/es/components/Avatar/GroupAvatar.mjs.map +1 -0
  155. package/dist/es/components/Avatar/utils.mjs +10 -0
  156. package/dist/es/components/Avatar/utils.mjs.map +1 -0
  157. package/dist/es/components/Badge/Badge.mjs +28 -0
  158. package/dist/es/components/Badge/Badge.mjs.map +1 -0
  159. package/dist/es/components/Badge/MediaBadge.mjs +21 -0
  160. package/dist/es/components/Badge/MediaBadge.mjs.map +1 -0
  161. package/dist/es/components/BaseImage/BaseImage.mjs +35 -0
  162. package/dist/es/components/BaseImage/BaseImage.mjs.map +1 -0
  163. package/dist/es/components/BaseImage/ImagePlaceholder.mjs +21 -0
  164. package/dist/es/components/BaseImage/ImagePlaceholder.mjs.map +1 -0
  165. package/dist/es/components/BaseImage/toBaseImageDescriptors.mjs +57 -0
  166. package/dist/es/components/BaseImage/toBaseImageDescriptors.mjs.map +1 -0
  167. package/dist/es/components/Button/Button.mjs +36 -0
  168. package/dist/es/components/Button/Button.mjs.map +1 -0
  169. package/dist/es/components/Button/PlayButton.mjs +26 -0
  170. package/dist/es/components/Button/PlayButton.mjs.map +1 -0
  171. package/dist/es/components/Button/WorkspaceNavigationButtons.mjs +94 -0
  172. package/dist/es/components/Button/WorkspaceNavigationButtons.mjs.map +1 -0
  173. package/dist/es/components/Channel/Channel.mjs +66 -0
  174. package/dist/es/components/Channel/Channel.mjs.map +1 -0
  175. package/dist/es/components/Channel/constants.mjs +6 -0
  176. package/dist/es/components/Channel/constants.mjs.map +1 -0
  177. package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs +21 -0
  178. package/dist/es/components/Channel/hooks/useChannelCapabilities.mjs.map +1 -0
  179. package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs +20 -0
  180. package/dist/es/components/Channel/hooks/useChannelContainerClasses.mjs.map +1 -0
  181. package/dist/es/components/ChannelHeader/ChannelHeader.mjs +71 -0
  182. package/dist/es/components/ChannelHeader/ChannelHeader.mjs.map +1 -0
  183. package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs +26 -0
  184. package/dist/es/components/ChannelHeader/hooks/useChannelHasMembersOnline.mjs.map +1 -0
  185. package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs +31 -0
  186. package/dist/es/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.mjs.map +1 -0
  187. package/dist/es/components/ChannelList/ChannelList.mjs +72 -0
  188. package/dist/es/components/ChannelList/ChannelList.mjs.map +1 -0
  189. package/dist/es/components/ChannelList/ChannelListHeader.mjs +22 -0
  190. package/dist/es/components/ChannelList/ChannelListHeader.mjs.map +1 -0
  191. package/dist/es/components/ChannelList/ChannelLists.mjs +31 -0
  192. package/dist/es/components/ChannelList/ChannelLists.mjs.map +1 -0
  193. package/dist/es/components/ChannelList/ChannelNavigation.mjs +36 -0
  194. package/dist/es/components/ChannelList/ChannelNavigation.mjs.map +1 -0
  195. package/dist/es/components/ChannelList/hooks/useChannelListKeyboardNavigation.mjs +82 -0
  196. package/dist/es/components/ChannelList/hooks/useChannelListKeyboardNavigation.mjs.map +1 -0
  197. package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs +23 -0
  198. package/dist/es/components/ChannelList/hooks/useChannelMembersState.mjs.map +1 -0
  199. package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs +15 -0
  200. package/dist/es/components/ChannelList/hooks/useChannelMembershipState.mjs.map +1 -0
  201. package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs +21 -0
  202. package/dist/es/components/ChannelList/hooks/useChannelPaginatorState.mjs.map +1 -0
  203. package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs +24 -0
  204. package/dist/es/components/ChannelList/hooks/useSelectedChannelState.mjs.map +1 -0
  205. package/dist/es/components/ChannelListItem/ChannelListItem.mjs +65 -0
  206. package/dist/es/components/ChannelListItem/ChannelListItem.mjs.map +1 -0
  207. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs +432 -0
  208. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.defaults.mjs.map +1 -0
  209. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs +67 -0
  210. package/dist/es/components/ChannelListItem/ChannelListItemActionButtons.mjs.map +1 -0
  211. package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs +31 -0
  212. package/dist/es/components/ChannelListItem/ChannelListItemTimestamp.mjs.map +1 -0
  213. package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs +120 -0
  214. package/dist/es/components/ChannelListItem/ChannelListItemUI.mjs.map +1 -0
  215. package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs +56 -0
  216. package/dist/es/components/ChannelListItem/hooks/useChannelDisplayName.mjs.map +1 -0
  217. package/dist/es/components/ChannelListItem/hooks/useChannelPreviewInfo.mjs +51 -0
  218. package/dist/es/components/ChannelListItem/hooks/useChannelPreviewInfo.mjs.map +1 -0
  219. package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs +15 -0
  220. package/dist/es/components/ChannelListItem/hooks/useIsChannelMuted.mjs.map +1 -0
  221. package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs +11 -0
  222. package/dist/es/components/ChannelListItem/hooks/useIsUserMuted.mjs.map +1 -0
  223. package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs +36 -0
  224. package/dist/es/components/ChannelListItem/hooks/useMessageDeliveryStatus.mjs.map +1 -0
  225. package/dist/es/components/ChannelListItem/utils.a11y.mjs +135 -0
  226. package/dist/es/components/ChannelListItem/utils.a11y.mjs.map +1 -0
  227. package/dist/es/components/ChannelListItem/utils.mjs +196 -0
  228. package/dist/es/components/ChannelListItem/utils.mjs.map +1 -0
  229. package/dist/es/components/Chat/Chat.mjs +89 -0
  230. package/dist/es/components/Chat/Chat.mjs.map +1 -0
  231. package/dist/es/components/Chat/hooks/useChat.mjs +44 -0
  232. package/dist/es/components/Chat/hooks/useChat.mjs.map +1 -0
  233. package/dist/es/components/Chat/hooks/useCreateChatClient.mjs +36 -0
  234. package/dist/es/components/Chat/hooks/useCreateChatClient.mjs.map +1 -0
  235. package/dist/es/components/Chat/hooks/useCreateChatContext.mjs +30 -0
  236. package/dist/es/components/Chat/hooks/useCreateChatContext.mjs.map +1 -0
  237. package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs +46 -0
  238. package/dist/es/components/Chat/hooks/useNetworkConnectionState.mjs.map +1 -0
  239. package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs +139 -0
  240. package/dist/es/components/Chat/hooks/useReportLostConnectionSystemNotification.mjs.map +1 -0
  241. package/dist/es/components/Chat/hooks/useSplitActionSet.mjs +21 -0
  242. package/dist/es/components/Chat/hooks/useSplitActionSet.mjs.map +1 -0
  243. package/dist/es/components/Chat/hooks/useWSConnectionState.mjs +31 -0
  244. package/dist/es/components/Chat/hooks/useWSConnectionState.mjs.map +1 -0
  245. package/dist/es/components/DateSeparator/DateSeparator.mjs +36 -0
  246. package/dist/es/components/DateSeparator/DateSeparator.mjs.map +1 -0
  247. package/dist/es/components/Dialog/components/Alert.mjs +53 -0
  248. package/dist/es/components/Dialog/components/Alert.mjs.map +1 -0
  249. package/dist/es/components/Dialog/components/Callout.mjs +57 -0
  250. package/dist/es/components/Dialog/components/Callout.mjs.map +1 -0
  251. package/dist/es/components/Dialog/components/ContextMenu.mjs +551 -0
  252. package/dist/es/components/Dialog/components/ContextMenu.mjs.map +1 -0
  253. package/dist/es/components/Dialog/components/Prompt.mjs +112 -0
  254. package/dist/es/components/Dialog/components/Prompt.mjs.map +1 -0
  255. package/dist/es/components/Dialog/components/Viewer.mjs +100 -0
  256. package/dist/es/components/Dialog/components/Viewer.mjs.map +1 -0
  257. package/dist/es/components/Dialog/hooks/useDialog.mjs +53 -0
  258. package/dist/es/components/Dialog/hooks/useDialog.mjs.map +1 -0
  259. package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs +57 -0
  260. package/dist/es/components/Dialog/hooks/usePopoverPosition.mjs.map +1 -0
  261. package/dist/es/components/Dialog/service/DialogAnchor.mjs +175 -0
  262. package/dist/es/components/Dialog/service/DialogAnchor.mjs.map +1 -0
  263. package/dist/es/components/Dialog/service/DialogManager.mjs +172 -0
  264. package/dist/es/components/Dialog/service/DialogManager.mjs.map +1 -0
  265. package/dist/es/components/Dialog/service/DialogPortal.mjs +63 -0
  266. package/dist/es/components/Dialog/service/DialogPortal.mjs.map +1 -0
  267. package/dist/es/components/DragAndDrop/DragAndDropContainer.mjs +90 -0
  268. package/dist/es/components/DragAndDrop/DragAndDropContainer.mjs.map +1 -0
  269. package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs +39 -0
  270. package/dist/es/components/EmptyStateIndicator/EmptyStateIndicator.mjs.map +1 -0
  271. package/dist/es/components/EventComponent/EventComponent.mjs +27 -0
  272. package/dist/es/components/EventComponent/EventComponent.mjs.map +1 -0
  273. package/dist/es/components/FileIcon/FileIcon.mjs +43 -0
  274. package/dist/es/components/FileIcon/FileIcon.mjs.map +1 -0
  275. package/dist/es/components/FileIcon/FileIconSet.mjs +407 -0
  276. package/dist/es/components/FileIcon/FileIconSet.mjs.map +1 -0
  277. package/dist/es/components/FileIcon/iconMap.mjs +41 -0
  278. package/dist/es/components/FileIcon/iconMap.mjs.map +1 -0
  279. package/dist/es/components/FileIcon/mimeTypes.mjs +242 -0
  280. package/dist/es/components/FileIcon/mimeTypes.mjs.map +1 -0
  281. package/dist/es/components/Form/Checkbox.mjs +15 -0
  282. package/dist/es/components/Form/Checkbox.mjs.map +1 -0
  283. package/dist/es/components/Form/Dropdown.mjs +135 -0
  284. package/dist/es/components/Form/Dropdown.mjs.map +1 -0
  285. package/dist/es/components/Form/FieldError.mjs +13 -0
  286. package/dist/es/components/Form/FieldError.mjs.map +1 -0
  287. package/dist/es/components/Form/NumericInput.mjs +126 -0
  288. package/dist/es/components/Form/NumericInput.mjs.map +1 -0
  289. package/dist/es/components/Form/SwitchField.mjs +103 -0
  290. package/dist/es/components/Form/SwitchField.mjs.map +1 -0
  291. package/dist/es/components/Form/TextInput.mjs +113 -0
  292. package/dist/es/components/Form/TextInput.mjs.map +1 -0
  293. package/dist/es/components/Form/TextInputFieldSet.mjs +21 -0
  294. package/dist/es/components/Form/TextInputFieldSet.mjs.map +1 -0
  295. package/dist/es/components/Form/hooks/useFormState.mjs +54 -0
  296. package/dist/es/components/Form/hooks/useFormState.mjs.map +1 -0
  297. package/dist/es/components/Gallery/Gallery.mjs +60 -0
  298. package/dist/es/components/Gallery/Gallery.mjs.map +1 -0
  299. package/dist/es/components/Gallery/GalleryContext.mjs +15 -0
  300. package/dist/es/components/Gallery/GalleryContext.mjs.map +1 -0
  301. package/dist/es/components/Gallery/GalleryHeader.mjs +92 -0
  302. package/dist/es/components/Gallery/GalleryHeader.mjs.map +1 -0
  303. package/dist/es/components/Gallery/GalleryUI.mjs +206 -0
  304. package/dist/es/components/Gallery/GalleryUI.mjs.map +1 -0
  305. package/dist/es/components/Icons/BaseIcon.mjs +20 -0
  306. package/dist/es/components/Icons/BaseIcon.mjs.map +1 -0
  307. package/dist/es/components/Icons/createIcon.mjs +23 -0
  308. package/dist/es/components/Icons/createIcon.mjs.map +1 -0
  309. package/dist/es/components/Icons/icons.mjs +802 -0
  310. package/dist/es/components/Icons/icons.mjs.map +1 -0
  311. package/dist/es/components/InfiniteScrollPaginator/InfiniteScroll.mjs +81 -0
  312. package/dist/es/components/InfiniteScrollPaginator/InfiniteScroll.mjs.map +1 -0
  313. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs +75 -0
  314. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollPaginator.mjs.map +1 -0
  315. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs +43 -0
  316. package/dist/es/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.mjs.map +1 -0
  317. package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs +47 -0
  318. package/dist/es/components/InfiniteScrollPaginator/hooks/useCursorPaginator.mjs.map +1 -0
  319. package/dist/es/components/ListItemLayout/ListItemLayout.mjs +62 -0
  320. package/dist/es/components/ListItemLayout/ListItemLayout.mjs.map +1 -0
  321. package/dist/es/components/LoadMore/LoadMoreButton.mjs +28 -0
  322. package/dist/es/components/LoadMore/LoadMoreButton.mjs.map +1 -0
  323. package/dist/es/components/LoadMore/LoadMorePaginator.mjs +20 -0
  324. package/dist/es/components/LoadMore/LoadMorePaginator.mjs.map +1 -0
  325. package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs +24 -0
  326. package/dist/es/components/Loading/AttachmentUploadedSizeIndicator.mjs.map +1 -0
  327. package/dist/es/components/Loading/LoadingChannel.mjs +59 -0
  328. package/dist/es/components/Loading/LoadingChannel.mjs.map +1 -0
  329. package/dist/es/components/Loading/LoadingChannels.mjs +28 -0
  330. package/dist/es/components/Loading/LoadingChannels.mjs.map +1 -0
  331. package/dist/es/components/Loading/LoadingErrorIndicator.mjs +17 -0
  332. package/dist/es/components/Loading/LoadingErrorIndicator.mjs.map +1 -0
  333. package/dist/es/components/Loading/LoadingIndicator.mjs +15 -0
  334. package/dist/es/components/Loading/LoadingIndicator.mjs.map +1 -0
  335. package/dist/es/components/Loading/UploadProgressIndicator.mjs +15 -0
  336. package/dist/es/components/Loading/UploadProgressIndicator.mjs.map +1 -0
  337. package/dist/es/components/Loading/UploadedSizeIndicator.mjs +22 -0
  338. package/dist/es/components/Loading/UploadedSizeIndicator.mjs.map +1 -0
  339. package/dist/es/components/Loading/progress-indicators.mjs +50 -0
  340. package/dist/es/components/Loading/progress-indicators.mjs.map +1 -0
  341. package/dist/es/components/Location/ShareLocationDialog.mjs +206 -0
  342. package/dist/es/components/Location/ShareLocationDialog.mjs.map +1 -0
  343. package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs +58 -0
  344. package/dist/es/components/Location/hooks/useLiveLocationSharingManager.mjs.map +1 -0
  345. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs +32 -0
  346. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorder.mjs.map +1 -0
  347. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs +77 -0
  348. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.mjs.map +1 -0
  349. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs +58 -0
  350. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.mjs.map +1 -0
  351. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs +71 -0
  352. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.mjs.map +1 -0
  353. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs +65 -0
  354. package/dist/es/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.mjs.map +1 -0
  355. package/dist/es/components/MediaRecorder/AudioRecorder/RecordingTimer.mjs +13 -0
  356. package/dist/es/components/MediaRecorder/AudioRecorder/RecordingTimer.mjs.map +1 -0
  357. package/dist/es/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.mjs +40 -0
  358. package/dist/es/components/MediaRecorder/AudioRecorder/hooks/useTimeElapsed.mjs.map +1 -0
  359. package/dist/es/components/MediaRecorder/AudioRecorder/recordingStateIdentity.mjs +8 -0
  360. package/dist/es/components/MediaRecorder/AudioRecorder/recordingStateIdentity.mjs.map +1 -0
  361. package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs +31 -0
  362. package/dist/es/components/MediaRecorder/RecordingPermissionDeniedNotification.mjs.map +1 -0
  363. package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs +81 -0
  364. package/dist/es/components/MediaRecorder/classes/AmplitudeRecorder.mjs.map +1 -0
  365. package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs +63 -0
  366. package/dist/es/components/MediaRecorder/classes/BrowserPermission.mjs.map +1 -0
  367. package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs +251 -0
  368. package/dist/es/components/MediaRecorder/classes/MediaRecorderController.mjs.map +1 -0
  369. package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs +75 -0
  370. package/dist/es/components/MediaRecorder/hooks/useMediaRecorder.mjs.map +1 -0
  371. package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs +28 -0
  372. package/dist/es/components/MediaRecorder/observable/BehaviorSubject.mjs.map +1 -0
  373. package/dist/es/components/MediaRecorder/observable/Observable.mjs +24 -0
  374. package/dist/es/components/MediaRecorder/observable/Observable.mjs.map +1 -0
  375. package/dist/es/components/MediaRecorder/observable/Observer.mjs +8 -0
  376. package/dist/es/components/MediaRecorder/observable/Observer.mjs.map +1 -0
  377. package/dist/es/components/MediaRecorder/observable/Subject.mjs +55 -0
  378. package/dist/es/components/MediaRecorder/observable/Subject.mjs.map +1 -0
  379. package/dist/es/components/MediaRecorder/observable/Subscription.mjs +16 -0
  380. package/dist/es/components/MediaRecorder/observable/Subscription.mjs.map +1 -0
  381. package/dist/es/components/MediaRecorder/transcode/audioProcessing.mjs +34 -0
  382. package/dist/es/components/MediaRecorder/transcode/audioProcessing.mjs.map +1 -0
  383. package/dist/es/components/MediaRecorder/transcode/index.mjs +12 -0
  384. package/dist/es/components/MediaRecorder/transcode/index.mjs.map +1 -0
  385. package/dist/es/components/MediaRecorder/transcode/wav.mjs +99 -0
  386. package/dist/es/components/MediaRecorder/transcode/wav.mjs.map +1 -0
  387. package/dist/es/components/Message/Message.mjs +113 -0
  388. package/dist/es/components/Message/Message.mjs.map +1 -0
  389. package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs +35 -0
  390. package/dist/es/components/Message/MessageAlsoSentInChannelIndicator.mjs.map +1 -0
  391. package/dist/es/components/Message/MessageBlocked.mjs +27 -0
  392. package/dist/es/components/Message/MessageBlocked.mjs.map +1 -0
  393. package/dist/es/components/Message/MessageBubble.mjs +12 -0
  394. package/dist/es/components/Message/MessageBubble.mjs.map +1 -0
  395. package/dist/es/components/Message/MessageDeletedBubble.mjs +21 -0
  396. package/dist/es/components/Message/MessageDeletedBubble.mjs.map +1 -0
  397. package/dist/es/components/Message/MessageEditedIndicator.mjs +42 -0
  398. package/dist/es/components/Message/MessageEditedIndicator.mjs.map +1 -0
  399. package/dist/es/components/Message/MessageRepliesCountButton.mjs +71 -0
  400. package/dist/es/components/Message/MessageRepliesCountButton.mjs.map +1 -0
  401. package/dist/es/components/Message/MessageStatus.mjs +87 -0
  402. package/dist/es/components/Message/MessageStatus.mjs.map +1 -0
  403. package/dist/es/components/Message/MessageText.mjs +101 -0
  404. package/dist/es/components/Message/MessageText.mjs.map +1 -0
  405. package/dist/es/components/Message/MessageTimestamp.mjs +21 -0
  406. package/dist/es/components/Message/MessageTimestamp.mjs.map +1 -0
  407. package/dist/es/components/Message/MessageTranslationIndicator.mjs +53 -0
  408. package/dist/es/components/Message/MessageTranslationIndicator.mjs.map +1 -0
  409. package/dist/es/components/Message/MessageUI.mjs +186 -0
  410. package/dist/es/components/Message/MessageUI.mjs.map +1 -0
  411. package/dist/es/components/Message/PinIndicator.mjs +34 -0
  412. package/dist/es/components/Message/PinIndicator.mjs.map +1 -0
  413. package/dist/es/components/Message/QuotedMessage.mjs +26 -0
  414. package/dist/es/components/Message/QuotedMessage.mjs.map +1 -0
  415. package/dist/es/components/Message/ReminderNotification.mjs +58 -0
  416. package/dist/es/components/Message/ReminderNotification.mjs.map +1 -0
  417. package/dist/es/components/Message/StreamedMessageText.mjs +36 -0
  418. package/dist/es/components/Message/StreamedMessageText.mjs.map +1 -0
  419. package/dist/es/components/Message/Timestamp.mjs +41 -0
  420. package/dist/es/components/Message/Timestamp.mjs.map +1 -0
  421. package/dist/es/components/Message/emojiRegex.mjs +20 -0
  422. package/dist/es/components/Message/emojiRegex.mjs.map +1 -0
  423. package/dist/es/components/Message/hooks/useActionHandler.mjs +31 -0
  424. package/dist/es/components/Message/hooks/useActionHandler.mjs.map +1 -0
  425. package/dist/es/components/Message/hooks/useDeleteHandler.mjs +40 -0
  426. package/dist/es/components/Message/hooks/useDeleteHandler.mjs.map +1 -0
  427. package/dist/es/components/Message/hooks/useFlagHandler.mjs +20 -0
  428. package/dist/es/components/Message/hooks/useFlagHandler.mjs.map +1 -0
  429. package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs +22 -0
  430. package/dist/es/components/Message/hooks/useMarkUnreadHandler.mjs.map +1 -0
  431. package/dist/es/components/Message/hooks/useMentionsHandler.mjs +20 -0
  432. package/dist/es/components/Message/hooks/useMentionsHandler.mjs.map +1 -0
  433. package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs +72 -0
  434. package/dist/es/components/Message/hooks/useMessageAlsoSentInChannelNavigation.mjs.map +1 -0
  435. package/dist/es/components/Message/hooks/useMessageReminder.mjs +14 -0
  436. package/dist/es/components/Message/hooks/useMessageReminder.mjs.map +1 -0
  437. package/dist/es/components/Message/hooks/useMessageTextStreaming.mjs +48 -0
  438. package/dist/es/components/Message/hooks/useMessageTextStreaming.mjs.map +1 -0
  439. package/dist/es/components/Message/hooks/useMuteHandler.mjs +41 -0
  440. package/dist/es/components/Message/hooks/useMuteHandler.mjs.map +1 -0
  441. package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs +25 -0
  442. package/dist/es/components/Message/hooks/useOpenThreadHandler.mjs.map +1 -0
  443. package/dist/es/components/Message/hooks/usePinHandler.mjs +50 -0
  444. package/dist/es/components/Message/hooks/usePinHandler.mjs.map +1 -0
  445. package/dist/es/components/Message/hooks/useReactionHandler.mjs +98 -0
  446. package/dist/es/components/Message/hooks/useReactionHandler.mjs.map +1 -0
  447. package/dist/es/components/Message/hooks/useReactionsFetcher.mjs +31 -0
  448. package/dist/es/components/Message/hooks/useReactionsFetcher.mjs.map +1 -0
  449. package/dist/es/components/Message/hooks/useRetryHandler.mjs +15 -0
  450. package/dist/es/components/Message/hooks/useRetryHandler.mjs.map +1 -0
  451. package/dist/es/components/Message/hooks/useUserHandler.mjs +15 -0
  452. package/dist/es/components/Message/hooks/useUserHandler.mjs.map +1 -0
  453. package/dist/es/components/Message/hooks/useUserRole.mjs +51 -0
  454. package/dist/es/components/Message/hooks/useUserRole.mjs.map +1 -0
  455. package/dist/es/components/Message/renderText/componentRenderers/Anchor.mjs +20 -0
  456. package/dist/es/components/Message/renderText/componentRenderers/Anchor.mjs.map +1 -0
  457. package/dist/es/components/Message/renderText/componentRenderers/Emoji.mjs +12 -0
  458. package/dist/es/components/Message/renderText/componentRenderers/Emoji.mjs.map +1 -0
  459. package/dist/es/components/Message/renderText/componentRenderers/Mention.mjs +14 -0
  460. package/dist/es/components/Message/renderText/componentRenderers/Mention.mjs.map +1 -0
  461. package/dist/es/components/Message/renderText/regex.mjs +22 -0
  462. package/dist/es/components/Message/renderText/regex.mjs.map +1 -0
  463. package/dist/es/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.mjs +16 -0
  464. package/dist/es/components/Message/renderText/rehypePlugins/emojiMarkdownPlugin.mjs.map +1 -0
  465. package/dist/es/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.mjs +111 -0
  466. package/dist/es/components/Message/renderText/rehypePlugins/mentionsMarkdownPlugin.mjs.map +1 -0
  467. package/dist/es/components/Message/renderText/remarkPlugins/htmlToTextPlugin.mjs +14 -0
  468. package/dist/es/components/Message/renderText/remarkPlugins/htmlToTextPlugin.mjs.map +1 -0
  469. package/dist/es/components/Message/renderText/remarkPlugins/imageToLink.mjs +33 -0
  470. package/dist/es/components/Message/renderText/remarkPlugins/imageToLink.mjs.map +1 -0
  471. package/dist/es/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.mjs +44 -0
  472. package/dist/es/components/Message/renderText/remarkPlugins/keepLineBreaksPlugin.mjs.map +1 -0
  473. package/dist/es/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.mjs +68 -0
  474. package/dist/es/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.mjs.map +1 -0
  475. package/dist/es/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.mjs +19 -0
  476. package/dist/es/components/Message/renderText/remarkPlugins/remarkIgnoreMarkdown.mjs.map +1 -0
  477. package/dist/es/components/Message/renderText/renderText.mjs +131 -0
  478. package/dist/es/components/Message/renderText/renderText.mjs.map +1 -0
  479. package/dist/es/components/Message/utils.mjs +114 -0
  480. package/dist/es/components/Message/utils.mjs.map +1 -0
  481. package/dist/es/components/MessageActions/DeleteMessageAlert.mjs +43 -0
  482. package/dist/es/components/MessageActions/DeleteMessageAlert.mjs.map +1 -0
  483. package/dist/es/components/MessageActions/DownloadSubmenu.mjs +52 -0
  484. package/dist/es/components/MessageActions/DownloadSubmenu.mjs.map +1 -0
  485. package/dist/es/components/MessageActions/MessageActions.defaults.mjs +643 -0
  486. package/dist/es/components/MessageActions/MessageActions.defaults.mjs.map +1 -0
  487. package/dist/es/components/MessageActions/MessageActions.mjs +61 -0
  488. package/dist/es/components/MessageActions/MessageActions.mjs.map +1 -0
  489. package/dist/es/components/MessageActions/QuickMessageActionButton.mjs +20 -0
  490. package/dist/es/components/MessageActions/QuickMessageActionButton.mjs.map +1 -0
  491. package/dist/es/components/MessageActions/RemindMeSubmenu.mjs +71 -0
  492. package/dist/es/components/MessageActions/RemindMeSubmenu.mjs.map +1 -0
  493. package/dist/es/components/MessageActions/downloadUtils.mjs +65 -0
  494. package/dist/es/components/MessageActions/downloadUtils.mjs.map +1 -0
  495. package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs +67 -0
  496. package/dist/es/components/MessageActions/hooks/useBaseMessageActionSetFilter.mjs.map +1 -0
  497. package/dist/es/components/MessageBounce/MessageBounceModal.mjs +18 -0
  498. package/dist/es/components/MessageBounce/MessageBounceModal.mjs.map +1 -0
  499. package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs +67 -0
  500. package/dist/es/components/MessageBounce/MessageBouncePrompt.mjs.map +1 -0
  501. package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs +91 -0
  502. package/dist/es/components/MessageComposer/AttachmentPreviewList/AttachmentPreviewList.mjs.map +1 -0
  503. package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs +131 -0
  504. package/dist/es/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.mjs.map +1 -0
  505. package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs +82 -0
  506. package/dist/es/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.mjs.map +1 -0
  507. package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs +53 -0
  508. package/dist/es/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.mjs.map +1 -0
  509. package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs +96 -0
  510. package/dist/es/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.mjs.map +1 -0
  511. package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs +36 -0
  512. package/dist/es/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.mjs.map +1 -0
  513. package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs +29 -0
  514. package/dist/es/components/MessageComposer/AttachmentPreviewList/VoiceRecordingPreviewSlot.mjs.map +1 -0
  515. package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs +53 -0
  516. package/dist/es/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.mjs.map +1 -0
  517. package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs +311 -0
  518. package/dist/es/components/MessageComposer/AttachmentSelector/AttachmentSelector.mjs.map +1 -0
  519. package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs +99 -0
  520. package/dist/es/components/MessageComposer/AttachmentSelector/CommandsMenu.mjs.map +1 -0
  521. package/dist/es/components/MessageComposer/CommandChip.mjs +37 -0
  522. package/dist/es/components/MessageComposer/CommandChip.mjs.map +1 -0
  523. package/dist/es/components/MessageComposer/CooldownTimer.mjs +15 -0
  524. package/dist/es/components/MessageComposer/CooldownTimer.mjs.map +1 -0
  525. package/dist/es/components/MessageComposer/EditedMessagePreview.mjs +17 -0
  526. package/dist/es/components/MessageComposer/EditedMessagePreview.mjs.map +1 -0
  527. package/dist/es/components/MessageComposer/LinkPreviewList.mjs +78 -0
  528. package/dist/es/components/MessageComposer/LinkPreviewList.mjs.map +1 -0
  529. package/dist/es/components/MessageComposer/MessageComposer.mjs +61 -0
  530. package/dist/es/components/MessageComposer/MessageComposer.mjs.map +1 -0
  531. package/dist/es/components/MessageComposer/MessageComposerActions.mjs +75 -0
  532. package/dist/es/components/MessageComposer/MessageComposerActions.mjs.map +1 -0
  533. package/dist/es/components/MessageComposer/MessageComposerUI.mjs +100 -0
  534. package/dist/es/components/MessageComposer/MessageComposerUI.mjs.map +1 -0
  535. package/dist/es/components/MessageComposer/QuotedMessageIndicator.mjs +9 -0
  536. package/dist/es/components/MessageComposer/QuotedMessageIndicator.mjs.map +1 -0
  537. package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs +325 -0
  538. package/dist/es/components/MessageComposer/QuotedMessagePreview.mjs.map +1 -0
  539. package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs +25 -0
  540. package/dist/es/components/MessageComposer/RemoveAttachmentPreviewButton.mjs.map +1 -0
  541. package/dist/es/components/MessageComposer/SendButton.mjs +29 -0
  542. package/dist/es/components/MessageComposer/SendButton.mjs.map +1 -0
  543. package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs +51 -0
  544. package/dist/es/components/MessageComposer/SendToChannelCheckbox.mjs.map +1 -0
  545. package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs +18 -0
  546. package/dist/es/components/MessageComposer/StopAIGenerationButton.mjs.map +1 -0
  547. package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs +105 -0
  548. package/dist/es/components/MessageComposer/WithDragAndDropUpload.mjs.map +1 -0
  549. package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs +37 -0
  550. package/dist/es/components/MessageComposer/hooks/useAttachmentManagerState.mjs.map +1 -0
  551. package/dist/es/components/MessageComposer/hooks/useAttachmentsForPreview.mjs +21 -0
  552. package/dist/es/components/MessageComposer/hooks/useAttachmentsForPreview.mjs.map +1 -0
  553. package/dist/es/components/MessageComposer/hooks/useCanCreatePoll.mjs +15 -0
  554. package/dist/es/components/MessageComposer/hooks/useCanCreatePoll.mjs.map +1 -0
  555. package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs +18 -0
  556. package/dist/es/components/MessageComposer/hooks/useCooldownRemaining.mjs.map +1 -0
  557. package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs +33 -0
  558. package/dist/es/components/MessageComposer/hooks/useCreateMessageComposerContext.mjs.map +1 -0
  559. package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs +11 -0
  560. package/dist/es/components/MessageComposer/hooks/useIsCooldownActive.mjs.map +1 -0
  561. package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs +23 -0
  562. package/dist/es/components/MessageComposer/hooks/useMessageComposerBindings.mjs.map +1 -0
  563. package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs +27 -0
  564. package/dist/es/components/MessageComposer/hooks/useMessageComposerCommands.mjs.map +1 -0
  565. package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs +30 -0
  566. package/dist/es/components/MessageComposer/hooks/useMessageComposerController.mjs.map +1 -0
  567. package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs +13 -0
  568. package/dist/es/components/MessageComposer/hooks/useMessageComposerHasSendableData.mjs.map +1 -0
  569. package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs +16 -0
  570. package/dist/es/components/MessageComposer/hooks/useMessageComposerSubmitFn.mjs.map +1 -0
  571. package/dist/es/components/MessageComposer/hooks/useMessageContentIsEmpty.mjs +13 -0
  572. package/dist/es/components/MessageComposer/hooks/useMessageContentIsEmpty.mjs.map +1 -0
  573. package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs +34 -0
  574. package/dist/es/components/MessageComposer/hooks/usePasteHandler.mjs.map +1 -0
  575. package/dist/es/components/MessageComposer/hooks/useTextareaRef.mjs +14 -0
  576. package/dist/es/components/MessageComposer/hooks/useTextareaRef.mjs.map +1 -0
  577. package/dist/es/components/MessageComposer/hooks/utils.mjs +16 -0
  578. package/dist/es/components/MessageComposer/hooks/utils.mjs.map +1 -0
  579. package/dist/es/components/MessageComposer/icons.mjs +62 -0
  580. package/dist/es/components/MessageComposer/icons.mjs.map +1 -0
  581. package/dist/es/components/MessageComposer/preEditSnapshot.mjs +39 -0
  582. package/dist/es/components/MessageComposer/preEditSnapshot.mjs.map +1 -0
  583. package/dist/es/components/MessageList/FloatingDateSeparator.mjs +46 -0
  584. package/dist/es/components/MessageList/FloatingDateSeparator.mjs.map +1 -0
  585. package/dist/es/components/MessageList/GiphyPreviewMessage.mjs +15 -0
  586. package/dist/es/components/MessageList/GiphyPreviewMessage.mjs.map +1 -0
  587. package/dist/es/components/MessageList/MessageList.mjs +284 -0
  588. package/dist/es/components/MessageList/MessageList.mjs.map +1 -0
  589. package/dist/es/components/MessageList/MessageListMainPanel.mjs +12 -0
  590. package/dist/es/components/MessageList/MessageListMainPanel.mjs.map +1 -0
  591. package/dist/es/components/MessageList/NewMessageNotification.mjs +36 -0
  592. package/dist/es/components/MessageList/NewMessageNotification.mjs.map +1 -0
  593. package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs +83 -0
  594. package/dist/es/components/MessageList/ScrollToLatestMessageButton.mjs.map +1 -0
  595. package/dist/es/components/MessageList/UnreadMessagesNotification.mjs +49 -0
  596. package/dist/es/components/MessageList/UnreadMessagesNotification.mjs.map +1 -0
  597. package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs +44 -0
  598. package/dist/es/components/MessageList/UnreadMessagesSeparator.mjs.map +1 -0
  599. package/dist/es/components/MessageList/VirtualizedMessageList.mjs +358 -0
  600. package/dist/es/components/MessageList/VirtualizedMessageList.mjs.map +1 -0
  601. package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs +93 -0
  602. package/dist/es/components/MessageList/VirtualizedMessageListComponents.mjs.map +1 -0
  603. package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs +38 -0
  604. package/dist/es/components/MessageList/hooks/MessageList/useEnrichedMessages.mjs.map +1 -0
  605. package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs +74 -0
  606. package/dist/es/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.mjs.map +1 -0
  607. package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs +66 -0
  608. package/dist/es/components/MessageList/hooks/MessageList/useMessageListElements.mjs.map +1 -0
  609. package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs +143 -0
  610. package/dist/es/components/MessageList/hooks/MessageList/useMessageListScrollManager.mjs.map +1 -0
  611. package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs +100 -0
  612. package/dist/es/components/MessageList/hooks/MessageList/useScrollLocationLogic.mjs.map +1 -0
  613. package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs +86 -0
  614. package/dist/es/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.mjs.map +1 -0
  615. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs +70 -0
  616. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.mjs.map +1 -0
  617. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs +24 -0
  618. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useGiphyPreview.mjs.map +1 -0
  619. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.mjs +18 -0
  620. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useMessageSetKey.mjs.map +1 -0
  621. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs +45 -0
  622. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.mjs.map +1 -0
  623. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.mjs +41 -0
  624. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/usePrependMessagesCount.mjs.map +1 -0
  625. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.mjs +33 -0
  626. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useScrollToBottomOnNewMessage.mjs.map +1 -0
  627. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.mjs +27 -0
  628. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useShouldForceScrollToBottom.mjs.map +1 -0
  629. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs +48 -0
  630. package/dist/es/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.mjs.map +1 -0
  631. package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs +47 -0
  632. package/dist/es/components/MessageList/hooks/useCanPaginateReplies.mjs.map +1 -0
  633. package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs +11 -0
  634. package/dist/es/components/MessageList/hooks/useLastDeliveredData.mjs.map +1 -0
  635. package/dist/es/components/MessageList/hooks/useLastOwnMessage.mjs +8 -0
  636. package/dist/es/components/MessageList/hooks/useLastOwnMessage.mjs.map +1 -0
  637. package/dist/es/components/MessageList/hooks/useLastReadData.mjs +11 -0
  638. package/dist/es/components/MessageList/hooks/useLastReadData.mjs.map +1 -0
  639. package/dist/es/components/MessageList/hooks/useMarkRead.mjs +105 -0
  640. package/dist/es/components/MessageList/hooks/useMarkRead.mjs.map +1 -0
  641. package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs +71 -0
  642. package/dist/es/components/MessageList/hooks/useReceiptsByMessageId.mjs.map +1 -0
  643. package/dist/es/components/MessageList/hooks/useThreadHead.mjs +26 -0
  644. package/dist/es/components/MessageList/hooks/useThreadHead.mjs.map +1 -0
  645. package/dist/es/components/MessageList/messageSourceKey.mjs +37 -0
  646. package/dist/es/components/MessageList/messageSourceKey.mjs.map +1 -0
  647. package/dist/es/components/MessageList/renderMessages.mjs +76 -0
  648. package/dist/es/components/MessageList/renderMessages.mjs.map +1 -0
  649. package/dist/es/components/MessageList/utils.mjs +162 -0
  650. package/dist/es/components/MessageList/utils.mjs.map +1 -0
  651. package/dist/es/components/Modal/GlobalModal.mjs +157 -0
  652. package/dist/es/components/Modal/GlobalModal.mjs.map +1 -0
  653. package/dist/es/components/Notifications/Notification.mjs +92 -0
  654. package/dist/es/components/Notifications/Notification.mjs.map +1 -0
  655. package/dist/es/components/Notifications/NotificationConfigurationContext.mjs +19 -0
  656. package/dist/es/components/Notifications/NotificationConfigurationContext.mjs.map +1 -0
  657. package/dist/es/components/Notifications/NotificationList.mjs +300 -0
  658. package/dist/es/components/Notifications/NotificationList.mjs.map +1 -0
  659. package/dist/es/components/Notifications/hooks/useNotificationApi.mjs +114 -0
  660. package/dist/es/components/Notifications/hooks/useNotificationApi.mjs.map +1 -0
  661. package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs +21 -0
  662. package/dist/es/components/Notifications/hooks/useNotificationTarget.mjs.map +1 -0
  663. package/dist/es/components/Notifications/hooks/useNotifications.mjs +39 -0
  664. package/dist/es/components/Notifications/hooks/useNotifications.mjs.map +1 -0
  665. package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs +22 -0
  666. package/dist/es/components/Notifications/hooks/useSystemNotifications.mjs.map +1 -0
  667. package/dist/es/components/Notifications/notificationTarget.mjs +53 -0
  668. package/dist/es/components/Notifications/notificationTarget.mjs.map +1 -0
  669. package/dist/es/components/Poll/Poll.mjs +18 -0
  670. package/dist/es/components/Poll/Poll.mjs.map +1 -0
  671. package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs +79 -0
  672. package/dist/es/components/Poll/PollActions/AddCommentPrompt.mjs.map +1 -0
  673. package/dist/es/components/Poll/PollActions/EndPollAlert.mjs +61 -0
  674. package/dist/es/components/Poll/PollActions/EndPollAlert.mjs.map +1 -0
  675. package/dist/es/components/Poll/PollActions/PollAction.mjs +27 -0
  676. package/dist/es/components/Poll/PollActions/PollAction.mjs.map +1 -0
  677. package/dist/es/components/Poll/PollActions/PollActions.mjs +98 -0
  678. package/dist/es/components/Poll/PollActions/PollActions.mjs.map +1 -0
  679. package/dist/es/components/Poll/PollActions/PollAnswerList.mjs +70 -0
  680. package/dist/es/components/Poll/PollActions/PollAnswerList.mjs.map +1 -0
  681. package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs +32 -0
  682. package/dist/es/components/Poll/PollActions/PollOptionsFullList.mjs.map +1 -0
  683. package/dist/es/components/Poll/PollActions/PollQuestion.mjs +20 -0
  684. package/dist/es/components/Poll/PollActions/PollQuestion.mjs.map +1 -0
  685. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs +51 -0
  686. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotes.mjs.map +1 -0
  687. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs +48 -0
  688. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.mjs.map +1 -0
  689. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs +39 -0
  690. package/dist/es/components/Poll/PollActions/PollResults/PollOptionWithVotesList.mjs.map +1 -0
  691. package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs +79 -0
  692. package/dist/es/components/Poll/PollActions/PollResults/PollResults.mjs.map +1 -0
  693. package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs +82 -0
  694. package/dist/es/components/Poll/PollActions/SuggestPollOptionPrompt.mjs.map +1 -0
  695. package/dist/es/components/Poll/PollContent.mjs +28 -0
  696. package/dist/es/components/Poll/PollContent.mjs.map +1 -0
  697. package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs +86 -0
  698. package/dist/es/components/Poll/PollCreationDialog/MultipleAnswersField.mjs.map +1 -0
  699. package/dist/es/components/Poll/PollCreationDialog/NameField.mjs +42 -0
  700. package/dist/es/components/Poll/PollCreationDialog/NameField.mjs.map +1 -0
  701. package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs +194 -0
  702. package/dist/es/components/Poll/PollCreationDialog/OptionFieldSet.mjs.map +1 -0
  703. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs +77 -0
  704. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialog.mjs.map +1 -0
  705. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs +53 -0
  706. package/dist/es/components/Poll/PollCreationDialog/PollCreationDialogControls.mjs.map +1 -0
  707. package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs +79 -0
  708. package/dist/es/components/Poll/PollCreationDialog/PollOptionReorderHandle.mjs.map +1 -0
  709. package/dist/es/components/Poll/PollHeader.mjs +50 -0
  710. package/dist/es/components/Poll/PollHeader.mjs.map +1 -0
  711. package/dist/es/components/Poll/PollOptionList.mjs +45 -0
  712. package/dist/es/components/Poll/PollOptionList.mjs.map +1 -0
  713. package/dist/es/components/Poll/PollOptionSelector.mjs +105 -0
  714. package/dist/es/components/Poll/PollOptionSelector.mjs.map +1 -0
  715. package/dist/es/components/Poll/PollVote.mjs +60 -0
  716. package/dist/es/components/Poll/PollVote.mjs.map +1 -0
  717. package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs +36 -0
  718. package/dist/es/components/Poll/hooks/useManagePollVotesRealtime.mjs.map +1 -0
  719. package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs +44 -0
  720. package/dist/es/components/Poll/hooks/usePollAnswerPagination.mjs.map +1 -0
  721. package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs +45 -0
  722. package/dist/es/components/Poll/hooks/usePollOptionVotesPagination.mjs.map +1 -0
  723. package/dist/es/components/Portal/Portal.mjs +17 -0
  724. package/dist/es/components/Portal/Portal.mjs.map +1 -0
  725. package/dist/es/components/ReactFileUtilities/UploadButton.mjs +54 -0
  726. package/dist/es/components/ReactFileUtilities/UploadButton.mjs.map +1 -0
  727. package/dist/es/{audioProcessing.766ca76c.mjs → components/ReactFileUtilities/utils.mjs} +2 -32
  728. package/dist/es/components/ReactFileUtilities/utils.mjs.map +1 -0
  729. package/dist/es/components/Reactions/MessageReactions.mjs +150 -0
  730. package/dist/es/components/Reactions/MessageReactions.mjs.map +1 -0
  731. package/dist/es/components/Reactions/MessageReactionsDetail.mjs +157 -0
  732. package/dist/es/components/Reactions/MessageReactionsDetail.mjs.map +1 -0
  733. package/dist/es/components/Reactions/ReactionSelector.mjs +134 -0
  734. package/dist/es/components/Reactions/ReactionSelector.mjs.map +1 -0
  735. package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs +51 -0
  736. package/dist/es/components/Reactions/ReactionSelectorWithButton.mjs.map +1 -0
  737. package/dist/es/components/Reactions/SpriteImage.mjs +34 -0
  738. package/dist/es/components/Reactions/SpriteImage.mjs.map +1 -0
  739. package/dist/es/components/Reactions/hooks/useFetchReactions.mjs +61 -0
  740. package/dist/es/components/Reactions/hooks/useFetchReactions.mjs.map +1 -0
  741. package/dist/es/components/Reactions/hooks/useProcessReactions.mjs +83 -0
  742. package/dist/es/components/Reactions/hooks/useProcessReactions.mjs.map +1 -0
  743. package/dist/es/components/Reactions/reactionOptions.mjs +79 -0
  744. package/dist/es/components/Reactions/reactionOptions.mjs.map +1 -0
  745. package/dist/es/components/Reactions/utils/utils.mjs +13 -0
  746. package/dist/es/components/Reactions/utils/utils.mjs.map +1 -0
  747. package/dist/es/components/SafeAnchor/SafeAnchor.mjs +21 -0
  748. package/dist/es/components/SafeAnchor/SafeAnchor.mjs.map +1 -0
  749. package/dist/es/components/Search/Search.mjs +40 -0
  750. package/dist/es/components/Search/Search.mjs.map +1 -0
  751. package/dist/es/components/Search/SearchBar/SearchBar.mjs +114 -0
  752. package/dist/es/components/Search/SearchBar/SearchBar.mjs.map +1 -0
  753. package/dist/es/components/Search/SearchContext.mjs +17 -0
  754. package/dist/es/components/Search/SearchContext.mjs.map +1 -0
  755. package/dist/es/components/Search/SearchResults/SearchResultItem.mjs +130 -0
  756. package/dist/es/components/Search/SearchResults/SearchResultItem.mjs.map +1 -0
  757. package/dist/es/components/Search/SearchResults/SearchResults.mjs +37 -0
  758. package/dist/es/components/Search/SearchResults/SearchResults.mjs.map +1 -0
  759. package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs +55 -0
  760. package/dist/es/components/Search/SearchResults/SearchResultsHeader.mjs.map +1 -0
  761. package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs +15 -0
  762. package/dist/es/components/Search/SearchResults/SearchResultsPresearch.mjs.map +1 -0
  763. package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs +31 -0
  764. package/dist/es/components/Search/SearchResults/SearchSourceResultList.mjs.map +1 -0
  765. package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs +31 -0
  766. package/dist/es/components/Search/SearchResults/SearchSourceResultListFooter.mjs.map +1 -0
  767. package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs +30 -0
  768. package/dist/es/components/Search/SearchResults/SearchSourceResults.mjs.map +1 -0
  769. package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs +15 -0
  770. package/dist/es/components/Search/SearchResults/SearchSourceResultsEmpty.mjs.map +1 -0
  771. package/dist/es/components/Search/SearchResults/SearchSourceResultsHeader.mjs +6 -0
  772. package/dist/es/components/Search/SearchResults/SearchSourceResultsHeader.mjs.map +1 -0
  773. package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs +18 -0
  774. package/dist/es/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.mjs.map +1 -0
  775. package/dist/es/components/Search/SearchSourceResultsContext.mjs +17 -0
  776. package/dist/es/components/Search/SearchSourceResultsContext.mjs.map +1 -0
  777. package/dist/es/components/Search/hooks/useAnnounceSearchResultCount.mjs +57 -0
  778. package/dist/es/components/Search/hooks/useAnnounceSearchResultCount.mjs.map +1 -0
  779. package/dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs +24 -0
  780. package/dist/es/components/Search/hooks/useSearchQueriesInProgress.mjs.map +1 -0
  781. package/dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs +28 -0
  782. package/dist/es/components/Search/hooks/useSearchResultsKeyboardNavigation.mjs.map +1 -0
  783. package/dist/es/components/SkipNavigation/SkipNavigation.mjs +64 -0
  784. package/dist/es/components/SkipNavigation/SkipNavigation.mjs.map +1 -0
  785. package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs +55 -0
  786. package/dist/es/components/SummarizedMessagePreview/SummarizedMessagePreview.mjs.map +1 -0
  787. package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs +141 -0
  788. package/dist/es/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.mjs.map +1 -0
  789. package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs +26 -0
  790. package/dist/es/components/TextareaComposer/SuggestionList/CommandItem.mjs.map +1 -0
  791. package/dist/es/components/TextareaComposer/SuggestionList/EmoticonItem.mjs +26 -0
  792. package/dist/es/components/TextareaComposer/SuggestionList/EmoticonItem.mjs.map +1 -0
  793. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs +32 -0
  794. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.mjs.map +1 -0
  795. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionItem.mjs +39 -0
  796. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionItem.mjs.map +1 -0
  797. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionSuggestionTitle.mjs +7 -0
  798. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/MentionSuggestionTitle.mjs.map +1 -0
  799. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs +34 -0
  800. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.mjs.map +1 -0
  801. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/SpecialMentionItem.mjs +6 -0
  802. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/SpecialMentionItem.mjs.map +1 -0
  803. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs +31 -0
  804. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.mjs.map +1 -0
  805. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserItem.mjs +50 -0
  806. package/dist/es/components/TextareaComposer/SuggestionList/MentionItem/UserItem.mjs.map +1 -0
  807. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs +198 -0
  808. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionList.mjs.map +1 -0
  809. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs +46 -0
  810. package/dist/es/components/TextareaComposer/SuggestionList/SuggestionListItem.mjs.map +1 -0
  811. package/dist/es/components/TextareaComposer/SuggestionList/TokenizedSuggestionParts.mjs +30 -0
  812. package/dist/es/components/TextareaComposer/SuggestionList/TokenizedSuggestionParts.mjs.map +1 -0
  813. package/dist/es/components/TextareaComposer/TextareaComposer.mjs +290 -0
  814. package/dist/es/components/TextareaComposer/TextareaComposer.mjs.map +1 -0
  815. package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs +31 -0
  816. package/dist/es/components/TextareaComposer/hooks/useTextareaPlaceholder.mjs.map +1 -0
  817. package/dist/es/components/Thread/Thread.mjs +103 -0
  818. package/dist/es/components/Thread/Thread.mjs.map +1 -0
  819. package/dist/es/components/Thread/ThreadHead.mjs +27 -0
  820. package/dist/es/components/Thread/ThreadHead.mjs.map +1 -0
  821. package/dist/es/components/Thread/ThreadHeader.mjs +78 -0
  822. package/dist/es/components/Thread/ThreadHeader.mjs.map +1 -0
  823. package/dist/es/components/Thread/ThreadStart.mjs +25 -0
  824. package/dist/es/components/Thread/ThreadStart.mjs.map +1 -0
  825. package/dist/es/components/Threads/ThreadContext.mjs +13 -0
  826. package/dist/es/components/Threads/ThreadContext.mjs.map +1 -0
  827. package/dist/es/components/Threads/ThreadList/ThreadList.mjs +112 -0
  828. package/dist/es/components/Threads/ThreadList/ThreadList.mjs.map +1 -0
  829. package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs +17 -0
  830. package/dist/es/components/Threads/ThreadList/ThreadListEmptyPlaceholder.mjs.map +1 -0
  831. package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs +22 -0
  832. package/dist/es/components/Threads/ThreadList/ThreadListHeader.mjs.map +1 -0
  833. package/dist/es/components/Threads/ThreadList/ThreadListItem.mjs +18 -0
  834. package/dist/es/components/Threads/ThreadList/ThreadListItem.mjs.map +1 -0
  835. package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs +160 -0
  836. package/dist/es/components/Threads/ThreadList/ThreadListItemUI.mjs.map +1 -0
  837. package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs +22 -0
  838. package/dist/es/components/Threads/ThreadList/ThreadListLoadingIndicator.mjs.map +1 -0
  839. package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs +34 -0
  840. package/dist/es/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.mjs.map +1 -0
  841. package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs +47 -0
  842. package/dist/es/components/Threads/ThreadList/useThreadHighlighting.mjs.map +1 -0
  843. package/dist/es/components/Threads/ThreadList/utils.a11y.mjs +91 -0
  844. package/dist/es/components/Threads/ThreadList/utils.a11y.mjs.map +1 -0
  845. package/dist/es/components/Threads/UnreadCountBadge.mjs +16 -0
  846. package/dist/es/components/Threads/UnreadCountBadge.mjs.map +1 -0
  847. package/dist/es/components/Threads/hooks/useCloseThread.mjs +30 -0
  848. package/dist/es/components/Threads/hooks/useCloseThread.mjs.map +1 -0
  849. package/dist/es/components/Tooltip/Tooltip.mjs +39 -0
  850. package/dist/es/components/Tooltip/Tooltip.mjs.map +1 -0
  851. package/dist/es/components/Tooltip/hooks/useEnterLeaveHandlers.mjs +20 -0
  852. package/dist/es/components/Tooltip/hooks/useEnterLeaveHandlers.mjs.map +1 -0
  853. package/dist/es/components/TypingIndicator/TypingIndicator.mjs +85 -0
  854. package/dist/es/components/TypingIndicator/TypingIndicator.mjs.map +1 -0
  855. package/dist/es/components/TypingIndicator/TypingIndicatorDots.mjs +33 -0
  856. package/dist/es/components/TypingIndicator/TypingIndicatorDots.mjs.map +1 -0
  857. package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs +48 -0
  858. package/dist/es/components/TypingIndicator/TypingIndicatorHeader.mjs.map +1 -0
  859. package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs +53 -0
  860. package/dist/es/components/TypingIndicator/hooks/useDebouncedTypingActive.mjs.map +1 -0
  861. package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs +19 -0
  862. package/dist/es/components/TypingIndicator/utils/getTypingStatusMessage.mjs.map +1 -0
  863. package/dist/es/components/UtilityComponents/ErrorBoundary.mjs +22 -0
  864. package/dist/es/components/UtilityComponents/ErrorBoundary.mjs.map +1 -0
  865. package/dist/es/components/UtilityComponents/hooks/useMutationObserver.mjs +45 -0
  866. package/dist/es/components/UtilityComponents/hooks/useMutationObserver.mjs.map +1 -0
  867. package/dist/es/components/UtilityComponents/useStableId.mjs +20 -0
  868. package/dist/es/components/UtilityComponents/useStableId.mjs.map +1 -0
  869. package/dist/es/{ReactPlayerWrapper.d2ae5941.mjs → components/VideoPlayer/ReactPlayerWrapper.mjs} +3 -3
  870. package/dist/es/components/VideoPlayer/ReactPlayerWrapper.mjs.map +1 -0
  871. package/dist/es/components/VideoPlayer/VideoPlayer.mjs +30 -0
  872. package/dist/es/components/VideoPlayer/VideoPlayer.mjs.map +1 -0
  873. package/dist/es/components/VideoPlayer/VideoThumbnail.mjs +35 -0
  874. package/dist/es/components/VideoPlayer/VideoThumbnail.mjs.map +1 -0
  875. package/dist/es/components/VisuallyHidden/VisuallyHidden.mjs +29 -0
  876. package/dist/es/components/VisuallyHidden/VisuallyHidden.mjs.map +1 -0
  877. package/dist/es/constants/messageTypes.mjs +9 -0
  878. package/dist/es/constants/messageTypes.mjs.map +1 -0
  879. package/dist/es/context/AttachmentContext.mjs +16 -0
  880. package/dist/es/context/AttachmentContext.mjs.map +1 -0
  881. package/dist/es/context/AttachmentSelectorContext.mjs +13 -0
  882. package/dist/es/context/AttachmentSelectorContext.mjs.map +1 -0
  883. package/dist/es/context/ChannelInstanceContext.mjs +17 -0
  884. package/dist/es/context/ChannelInstanceContext.mjs.map +1 -0
  885. package/dist/es/context/ChannelListContext.mjs +17 -0
  886. package/dist/es/context/ChannelListContext.mjs.map +1 -0
  887. package/dist/es/context/ChatContext.mjs +14 -0
  888. package/dist/es/context/ChatContext.mjs.map +1 -0
  889. package/dist/es/context/ComponentContext.mjs +13 -0
  890. package/dist/es/context/ComponentContext.mjs.map +1 -0
  891. package/dist/es/context/DialogManagerContext.mjs +119 -0
  892. package/dist/es/context/DialogManagerContext.mjs.map +1 -0
  893. package/dist/es/context/MessageBounceContext.mjs +51 -0
  894. package/dist/es/context/MessageBounceContext.mjs.map +1 -0
  895. package/dist/es/context/MessageComposerContext.mjs +19 -0
  896. package/dist/es/context/MessageComposerContext.mjs.map +1 -0
  897. package/dist/es/context/MessageComposerControllerContext.mjs +19 -0
  898. package/dist/es/context/MessageComposerControllerContext.mjs.map +1 -0
  899. package/dist/es/context/MessageContext.mjs +14 -0
  900. package/dist/es/context/MessageContext.mjs.map +1 -0
  901. package/dist/es/context/MessageListContext.mjs +17 -0
  902. package/dist/es/context/MessageListContext.mjs.map +1 -0
  903. package/dist/es/context/MessageTranslationViewContext.mjs +73 -0
  904. package/dist/es/context/MessageTranslationViewContext.mjs.map +1 -0
  905. package/dist/es/context/ModalContext.mjs +18 -0
  906. package/dist/es/context/ModalContext.mjs.map +1 -0
  907. package/dist/es/context/PollContext.mjs +14 -0
  908. package/dist/es/context/PollContext.mjs.map +1 -0
  909. package/dist/es/context/TranslationContext.mjs +17 -0
  910. package/dist/es/context/TranslationContext.mjs.map +1 -0
  911. package/dist/es/context/VirtualizedMessageListContext.mjs +17 -0
  912. package/dist/es/context/VirtualizedMessageListContext.mjs.map +1 -0
  913. package/dist/es/context/WithComponents.mjs +23 -0
  914. package/dist/es/context/WithComponents.mjs.map +1 -0
  915. package/dist/es/context/WorkspaceNavigationContext.mjs +45 -0
  916. package/dist/es/context/WorkspaceNavigationContext.mjs.map +1 -0
  917. package/dist/es/context/requireContext.mjs +17 -0
  918. package/dist/es/context/requireContext.mjs.map +1 -0
  919. package/dist/es/context/useChannel.mjs +14 -0
  920. package/dist/es/context/useChannel.mjs.map +1 -0
  921. package/dist/es/context/useComponentContextIcons.mjs +26 -0
  922. package/dist/es/context/useComponentContextIcons.mjs.map +1 -0
  923. package/dist/es/emojis.mjs +2 -229
  924. package/dist/es/hooks/useIsDmChannel.mjs +30 -0
  925. package/dist/es/hooks/useIsDmChannel.mjs.map +1 -0
  926. package/dist/es/hooks/useMessagePaginator.mjs +14 -0
  927. package/dist/es/hooks/useMessagePaginator.mjs.map +1 -0
  928. package/dist/es/i18n/Streami18n.mjs +62 -0
  929. package/dist/es/i18n/Streami18n.mjs.map +1 -0
  930. package/dist/es/i18n/TranslationBuilder/index.mjs +3 -0
  931. package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs +49 -0
  932. package/dist/es/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.mjs.map +1 -0
  933. package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs +36 -0
  934. package/dist/es/i18n/TranslationBuilder/notifications/translators.mjs.map +1 -0
  935. package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs +51 -0
  936. package/dist/es/i18n/TranslationBuilder/notifications/translatorsByNotificationType.mjs.map +1 -0
  937. package/dist/es/i18n/runtimeDefaults.mjs +41 -0
  938. package/dist/es/i18n/runtimeDefaults.mjs.map +1 -0
  939. package/dist/es/i18n/useStreami18n.mjs +41 -0
  940. package/dist/es/i18n/useStreami18n.mjs.map +1 -0
  941. package/dist/es/i18n/utils.mjs +14 -0
  942. package/dist/es/i18n/utils.mjs.map +1 -0
  943. package/dist/es/index.mjs +318 -20870
  944. package/dist/es/mp3-encoder.mjs +1 -1
  945. package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs +40 -0
  946. package/dist/es/plugins/ChannelDetail/AvatarWithChannelDetail.mjs.map +1 -0
  947. package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs +105 -0
  948. package/dist/es/plugins/ChannelDetail/ChannelDetail.mjs.map +1 -0
  949. package/dist/es/plugins/ChannelDetail/ChannelDetailContext.mjs +20 -0
  950. package/dist/es/plugins/ChannelDetail/ChannelDetailContext.mjs.map +1 -0
  951. package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs +14 -0
  952. package/dist/es/plugins/ChannelDetail/ChannelDetailEmptyList.mjs.map +1 -0
  953. package/dist/es/plugins/ChannelDetail/ChannelDetailListLoadingIndicator.mjs +20 -0
  954. package/dist/es/plugins/ChannelDetail/ChannelDetailListLoadingIndicator.mjs.map +1 -0
  955. package/dist/es/plugins/ChannelDetail/ChannelDetailNavButton.mjs +26 -0
  956. package/dist/es/plugins/ChannelDetail/ChannelDetailNavButton.mjs.map +1 -0
  957. package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs +35 -0
  958. package/dist/es/plugins/ChannelDetail/ChannelDetailSearchInput.mjs.map +1 -0
  959. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigator.mjs +164 -0
  960. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigator.mjs.map +1 -0
  961. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs +49 -0
  962. package/dist/es/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.mjs.map +1 -0
  963. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs +25 -0
  964. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.mjs.map +1 -0
  965. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs +131 -0
  966. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.mjs.map +1 -0
  967. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs +64 -0
  968. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.mjs.map +1 -0
  969. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs +47 -0
  970. package/dist/es/plugins/ChannelDetail/Views/ChannelFilesView/useChannelFilesSearch.mjs.map +1 -0
  971. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs +568 -0
  972. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.mjs.map +1 -0
  973. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs +324 -0
  974. package/dist/es/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.mjs.map +1 -0
  975. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs +25 -0
  976. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.mjs.map +1 -0
  977. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs +215 -0
  978. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.mjs.map +1 -0
  979. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs +42 -0
  980. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.mjs.map +1 -0
  981. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs +47 -0
  982. package/dist/es/plugins/ChannelDetail/Views/ChannelMediaView/useChannelMediaSearch.mjs.map +1 -0
  983. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs +454 -0
  984. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.mjs.map +1 -0
  985. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs +77 -0
  986. package/dist/es/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.mjs.map +1 -0
  987. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs +190 -0
  988. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.mjs.map +1 -0
  989. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs +111 -0
  990. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.mjs.map +1 -0
  991. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs +120 -0
  992. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.mjs.map +1 -0
  993. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs +95 -0
  994. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.mjs.map +1 -0
  995. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs +11 -0
  996. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.mjs.map +1 -0
  997. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberCount.mjs +22 -0
  998. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberCount.mjs.map +1 -0
  999. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberIds.mjs +23 -0
  1000. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMemberIds.mjs.map +1 -0
  1001. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMembersSearch.mjs +52 -0
  1002. package/dist/es/plugins/ChannelDetail/Views/ChannelMembersView/useChannelMembersSearch.mjs.map +1 -0
  1003. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs +25 -0
  1004. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.mjs.map +1 -0
  1005. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs +143 -0
  1006. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.mjs.map +1 -0
  1007. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs +16 -0
  1008. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.mjs.map +1 -0
  1009. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs +68 -0
  1010. package/dist/es/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesSearch.mjs.map +1 -0
  1011. package/dist/es/plugins/ChannelDetail/VirtualizedList/VirtualizedList.mjs +42 -0
  1012. package/dist/es/plugins/ChannelDetail/VirtualizedList/VirtualizedList.mjs.map +1 -0
  1013. package/dist/es/plugins/Emojis/EmojiPicker.mjs +96 -0
  1014. package/dist/es/plugins/Emojis/EmojiPicker.mjs.map +1 -0
  1015. package/dist/es/plugins/Emojis/Picker.mjs +23 -0
  1016. package/dist/es/plugins/Emojis/Picker.mjs.map +1 -0
  1017. package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs +127 -0
  1018. package/dist/es/plugins/Emojis/middleware/textComposerEmojiMiddleware.mjs.map +1 -0
  1019. package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs +141 -0
  1020. package/dist/es/plugins/SlotGeometry/SlotGeometry.mjs.map +1 -0
  1021. package/dist/es/plugins/SlotLayout/ChannelSlot.mjs +30 -0
  1022. package/dist/es/plugins/SlotLayout/ChannelSlot.mjs.map +1 -0
  1023. package/dist/es/plugins/SlotLayout/ChatView.a11y.utility.mjs +13 -0
  1024. package/dist/es/plugins/SlotLayout/ChatView.a11y.utility.mjs.map +1 -0
  1025. package/dist/es/plugins/SlotLayout/ChatView.mjs +277 -0
  1026. package/dist/es/plugins/SlotLayout/ChatView.mjs.map +1 -0
  1027. package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs +239 -0
  1028. package/dist/es/plugins/SlotLayout/ChatViewNavigationContext.mjs.map +1 -0
  1029. package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs +42 -0
  1030. package/dist/es/plugins/SlotLayout/ThreadListSlot.mjs.map +1 -0
  1031. package/dist/es/plugins/SlotLayout/ThreadSlot.mjs +34 -0
  1032. package/dist/es/plugins/SlotLayout/ThreadSlot.mjs.map +1 -0
  1033. package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs +26 -0
  1034. package/dist/es/plugins/SlotLayout/hooks/useLayoutViewState.mjs.map +1 -0
  1035. package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs +167 -0
  1036. package/dist/es/plugins/SlotLayout/hooks/useSlotEntity.mjs.map +1 -0
  1037. package/dist/es/plugins/SlotLayout/layout/Slot.mjs +46 -0
  1038. package/dist/es/plugins/SlotLayout/layout/Slot.mjs.map +1 -0
  1039. package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs +23 -0
  1040. package/dist/es/plugins/SlotLayout/layout/WorkspaceLayout.mjs.map +1 -0
  1041. package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs +376 -0
  1042. package/dist/es/plugins/SlotLayout/layoutController/LayoutController.mjs.map +1 -0
  1043. package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs +80 -0
  1044. package/dist/es/plugins/SlotLayout/layoutController/serialization.mjs.map +1 -0
  1045. package/dist/es/plugins/SlotLayout/slotBinding.mjs +15 -0
  1046. package/dist/es/plugins/SlotLayout/slotBinding.mjs.map +1 -0
  1047. package/dist/es/plugins/SlotLayout/slotRegistry.mjs +64 -0
  1048. package/dist/es/plugins/SlotLayout/slotRegistry.mjs.map +1 -0
  1049. package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs +130 -0
  1050. package/dist/es/plugins/SlotLayout/workspaceNavigationAdapter.mjs.map +1 -0
  1051. package/dist/es/slot-geometry.mjs +2 -0
  1052. package/dist/es/slot-layout.mjs +14 -0
  1053. package/dist/es/store/hooks/useStateStore.mjs +32 -0
  1054. package/dist/es/store/hooks/useStateStore.mjs.map +1 -0
  1055. package/dist/es/utils/findReverse.mjs +8 -0
  1056. package/dist/es/utils/findReverse.mjs.map +1 -0
  1057. package/dist/es/utils/getChannel.mjs +41 -0
  1058. package/dist/es/utils/getChannel.mjs.map +1 -0
  1059. package/dist/es/utils/getTextareaCaretRect.mjs +45 -0
  1060. package/dist/es/utils/getTextareaCaretRect.mjs.map +1 -0
  1061. package/dist/es/utils/getWholeChar.mjs +20 -0
  1062. package/dist/es/utils/getWholeChar.mjs.map +1 -0
  1063. package/dist/es/utils/isDmChannel.mjs +9 -0
  1064. package/dist/es/utils/isDmChannel.mjs.map +1 -0
  1065. package/dist/es/utils/mergeDeep.mjs +8 -0
  1066. package/dist/es/utils/mergeDeep.mjs.map +1 -0
  1067. package/dist/es/utils/useStableCallback.mjs +34 -0
  1068. package/dist/es/utils/useStableCallback.mjs.map +1 -0
  1069. package/dist/types/a11y/accessibleLabel.d.ts.map +1 -1
  1070. package/dist/types/components/AIStateIndicator/AIStateIndicator.d.ts.map +1 -1
  1071. package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts +3 -8
  1072. package/dist/types/components/AIStateIndicator/hooks/useAIState.d.ts.map +1 -1
  1073. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts +1 -2
  1074. package/dist/types/components/Accessibility/NotificationAnnouncer.d.ts.map +1 -1
  1075. package/dist/types/components/Accessibility/hooks/useIncomingMessageAnnouncements.d.ts.map +1 -1
  1076. package/dist/types/components/Accessibility/hooks/useInteractionAnnouncements.d.ts.map +1 -1
  1077. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts +4 -0
  1078. package/dist/types/components/Accessibility/useAriaLiveAnnouncer.d.ts.map +1 -1
  1079. package/dist/types/components/Attachment/Attachment.d.ts +13 -2
  1080. package/dist/types/components/Attachment/Attachment.d.ts.map +1 -1
  1081. package/dist/types/components/Attachment/AttachmentActions.d.ts.map +1 -1
  1082. package/dist/types/components/Attachment/AttachmentContainer.d.ts +2 -2
  1083. package/dist/types/components/Attachment/AttachmentContainer.d.ts.map +1 -1
  1084. package/dist/types/components/Attachment/Audio.d.ts.map +1 -1
  1085. package/dist/types/components/Attachment/FileAttachment.d.ts.map +1 -1
  1086. package/dist/types/components/Attachment/Geolocation.d.ts +3 -3
  1087. package/dist/types/components/Attachment/Geolocation.d.ts.map +1 -1
  1088. package/dist/types/components/Attachment/Giphy.d.ts.map +1 -1
  1089. package/dist/types/components/Attachment/LinkPreview/Card.d.ts.map +1 -1
  1090. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts +1 -1
  1091. package/dist/types/components/Attachment/LinkPreview/CardAudio.d.ts.map +1 -1
  1092. package/dist/types/components/Attachment/ModalGallery.d.ts.map +1 -1
  1093. package/dist/types/components/Attachment/UnsupportedAttachment.d.ts.map +1 -1
  1094. package/dist/types/components/Attachment/VideoAttachment.d.ts.map +1 -1
  1095. package/dist/types/components/Attachment/VisibilityDisclaimer.d.ts.map +1 -1
  1096. package/dist/types/components/Attachment/VoiceRecording.d.ts.map +1 -1
  1097. package/dist/types/components/Attachment/components/AttachmentUploadProgressIndicator.d.ts +32 -0
  1098. package/dist/types/components/Attachment/components/AttachmentUploadProgressIndicator.d.ts.map +1 -0
  1099. package/dist/types/components/Attachment/components/DownloadButton.d.ts.map +1 -1
  1100. package/dist/types/components/Attachment/components/index.d.ts +1 -0
  1101. package/dist/types/components/Attachment/components/index.d.ts.map +1 -1
  1102. package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts +61 -0
  1103. package/dist/types/components/Attachment/hooks/useAttachmentUploadState.d.ts.map +1 -0
  1104. package/dist/types/components/Attachment/hooks/useLocalVideoDimensions.d.ts +16 -0
  1105. package/dist/types/components/Attachment/hooks/useLocalVideoDimensions.d.ts.map +1 -0
  1106. package/dist/types/components/Attachment/index.d.ts +1 -0
  1107. package/dist/types/components/Attachment/index.d.ts.map +1 -1
  1108. package/dist/types/components/Attachment/utils.d.ts +2 -2
  1109. package/dist/types/components/Attachment/utils.d.ts.map +1 -1
  1110. package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts +37 -0
  1111. package/dist/types/components/AudioPlayback/AudioPlaybackArbiter.d.ts.map +1 -0
  1112. package/dist/types/components/AudioPlayback/AudioPlayer.d.ts +1 -1
  1113. package/dist/types/components/AudioPlayback/AudioPlayer.d.ts.map +1 -1
  1114. package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts +19 -31
  1115. package/dist/types/components/AudioPlayback/AudioPlayerPool.d.ts.map +1 -1
  1116. package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts +17 -2
  1117. package/dist/types/components/AudioPlayback/WithAudioPlayback.d.ts.map +1 -1
  1118. package/dist/types/components/AudioPlayback/components/ProgressBar.d.ts.map +1 -1
  1119. package/dist/types/components/AudioPlayback/components/WaveProgressBar.d.ts.map +1 -1
  1120. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts +2 -2
  1121. package/dist/types/components/AudioPlayback/components/progressBarA11y.d.ts.map +1 -1
  1122. package/dist/types/components/AudioPlayback/index.d.ts.map +1 -1
  1123. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts +2 -2
  1124. package/dist/types/components/AudioPlayback/plugins/AudioPlayerNotificationsPlugin.d.ts.map +1 -1
  1125. package/dist/types/components/Avatar/Avatar.d.ts +1 -5
  1126. package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
  1127. package/dist/types/components/Badge/Badge.d.ts.map +1 -1
  1128. package/dist/types/components/Badge/MediaBadge.d.ts.map +1 -1
  1129. package/dist/types/components/BaseImage/ImagePlaceholder.d.ts.map +1 -1
  1130. package/dist/types/components/Button/PlayButton.d.ts.map +1 -1
  1131. package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts +11 -0
  1132. package/dist/types/components/Button/WorkspaceNavigationButtons.d.ts.map +1 -0
  1133. package/dist/types/components/Button/index.d.ts +1 -0
  1134. package/dist/types/components/Button/index.d.ts.map +1 -1
  1135. package/dist/types/components/Channel/Channel.d.ts +9 -57
  1136. package/dist/types/components/Channel/Channel.d.ts.map +1 -1
  1137. package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts +4 -0
  1138. package/dist/types/components/Channel/hooks/useChannelCapabilities.d.ts.map +1 -0
  1139. package/dist/types/components/Channel/index.d.ts +1 -2
  1140. package/dist/types/components/Channel/index.d.ts.map +1 -1
  1141. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts +12 -0
  1142. package/dist/types/components/ChannelHeader/ChannelHeader.d.ts.map +1 -1
  1143. package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts +8 -0
  1144. package/dist/types/components/ChannelHeader/hooks/useChannelHasMembersOnline.d.ts.map +1 -1
  1145. package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts +7 -8
  1146. package/dist/types/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.d.ts.map +1 -1
  1147. package/dist/types/components/ChannelList/ChannelList.d.ts +11 -78
  1148. package/dist/types/components/ChannelList/ChannelList.d.ts.map +1 -1
  1149. package/dist/types/components/ChannelList/ChannelListHeader.d.ts.map +1 -1
  1150. package/dist/types/components/ChannelList/ChannelLists.d.ts +10 -0
  1151. package/dist/types/components/ChannelList/ChannelLists.d.ts.map +1 -0
  1152. package/dist/types/components/ChannelList/ChannelNavigation.d.ts +9 -0
  1153. package/dist/types/components/ChannelList/ChannelNavigation.d.ts.map +1 -0
  1154. package/dist/types/components/ChannelList/hooks/index.d.ts +1 -2
  1155. package/dist/types/components/ChannelList/hooks/index.d.ts.map +1 -1
  1156. package/dist/types/components/ChannelList/hooks/useChannelMembersState.d.ts.map +1 -1
  1157. package/dist/types/components/ChannelList/hooks/useChannelMembershipState.d.ts.map +1 -1
  1158. package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts +18 -0
  1159. package/dist/types/components/ChannelList/hooks/useChannelPaginatorState.d.ts.map +1 -0
  1160. package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts +3 -3
  1161. package/dist/types/components/ChannelList/hooks/useSelectedChannelState.d.ts.map +1 -1
  1162. package/dist/types/components/ChannelList/index.d.ts +3 -2
  1163. package/dist/types/components/ChannelList/index.d.ts.map +1 -1
  1164. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts +9 -18
  1165. package/dist/types/components/ChannelListItem/ChannelListItem.d.ts.map +1 -1
  1166. package/dist/types/components/ChannelListItem/ChannelListItemActionButtons.defaults.d.ts.map +1 -1
  1167. package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts +3 -3
  1168. package/dist/types/components/ChannelListItem/ChannelListItemTimestamp.d.ts.map +1 -1
  1169. package/dist/types/components/ChannelListItem/ChannelListItemUI.d.ts.map +1 -1
  1170. package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts +1 -1
  1171. package/dist/types/components/ChannelListItem/hooks/useChannelDisplayName.d.ts.map +1 -1
  1172. package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts +8 -5
  1173. package/dist/types/components/ChannelListItem/hooks/useIsChannelMuted.d.ts.map +1 -1
  1174. package/dist/types/components/ChannelListItem/hooks/useMessageDeliveryStatus.d.ts.map +1 -1
  1175. package/dist/types/components/ChannelListItem/utils.a11y.d.ts +14 -5
  1176. package/dist/types/components/ChannelListItem/utils.a11y.d.ts.map +1 -1
  1177. package/dist/types/components/ChannelListItem/utils.d.ts +1 -1
  1178. package/dist/types/components/ChannelListItem/utils.d.ts.map +1 -1
  1179. package/dist/types/components/Chat/Chat.d.ts +1 -4
  1180. package/dist/types/components/Chat/Chat.d.ts.map +1 -1
  1181. package/dist/types/components/Chat/hooks/useChat.d.ts +4 -16
  1182. package/dist/types/components/Chat/hooks/useChat.d.ts.map +1 -1
  1183. package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts +2 -2
  1184. package/dist/types/components/Chat/hooks/useCreateChatClient.d.ts.map +1 -1
  1185. package/dist/types/components/Chat/hooks/useCreateChatContext.d.ts.map +1 -1
  1186. package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts +34 -0
  1187. package/dist/types/components/Chat/hooks/useNetworkConnectionState.d.ts.map +1 -0
  1188. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts +26 -2
  1189. package/dist/types/components/Chat/hooks/useReportLostConnectionSystemNotification.d.ts.map +1 -1
  1190. package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts +22 -0
  1191. package/dist/types/components/Chat/hooks/useWSConnectionState.d.ts.map +1 -0
  1192. package/dist/types/components/Chat/index.d.ts +2 -0
  1193. package/dist/types/components/Chat/index.d.ts.map +1 -1
  1194. package/dist/types/components/Dialog/components/ContextMenu.d.ts +0 -4
  1195. package/dist/types/components/Dialog/components/ContextMenu.d.ts.map +1 -1
  1196. package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts +2 -2
  1197. package/dist/types/components/Dialog/hooks/usePopoverPosition.d.ts.map +1 -1
  1198. package/dist/types/components/Dialog/service/DialogAnchor.d.ts +8 -1
  1199. package/dist/types/components/Dialog/service/DialogAnchor.d.ts.map +1 -1
  1200. package/dist/types/components/Dialog/service/DialogManager.d.ts +1 -1
  1201. package/dist/types/components/Dialog/service/DialogManager.d.ts.map +1 -1
  1202. package/dist/types/components/EmptyStateIndicator/EmptyStateIndicator.d.ts.map +1 -1
  1203. package/dist/types/components/Form/Dropdown.d.ts +4 -1
  1204. package/dist/types/components/Form/Dropdown.d.ts.map +1 -1
  1205. package/dist/types/components/Form/NumericInput.d.ts.map +1 -1
  1206. package/dist/types/components/Gallery/GalleryContext.d.ts +5 -0
  1207. package/dist/types/components/Gallery/GalleryContext.d.ts.map +1 -1
  1208. package/dist/types/components/Gallery/GalleryHeader.d.ts.map +1 -1
  1209. package/dist/types/components/Gallery/GalleryUI.d.ts.map +1 -1
  1210. package/dist/types/components/Icons/index.d.ts +1 -1
  1211. package/dist/types/components/Icons/index.d.ts.map +1 -1
  1212. package/dist/types/components/Icons/slots.d.ts +18 -7
  1213. package/dist/types/components/Icons/slots.d.ts.map +1 -1
  1214. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts +8 -2
  1215. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollPaginator.d.ts.map +1 -1
  1216. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts +43 -0
  1217. package/dist/types/components/InfiniteScrollPaginator/InfiniteScrollWithComponents.d.ts.map +1 -0
  1218. package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts +1 -1
  1219. package/dist/types/components/InfiniteScrollPaginator/hooks/useCursorPaginator.d.ts.map +1 -1
  1220. package/dist/types/components/LoadMore/LoadMoreButton.d.ts.map +1 -1
  1221. package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts +23 -0
  1222. package/dist/types/components/Loading/AttachmentUploadedSizeIndicator.d.ts.map +1 -0
  1223. package/dist/types/components/Loading/LoadingErrorIndicator.d.ts.map +1 -1
  1224. package/dist/types/components/Loading/LoadingIndicator.d.ts +2 -3
  1225. package/dist/types/components/Loading/LoadingIndicator.d.ts.map +1 -1
  1226. package/dist/types/components/Loading/UploadProgressIndicator.d.ts +7 -1
  1227. package/dist/types/components/Loading/UploadProgressIndicator.d.ts.map +1 -1
  1228. package/dist/types/components/Loading/index.d.ts +1 -0
  1229. package/dist/types/components/Loading/index.d.ts.map +1 -1
  1230. package/dist/types/components/Loading/progress-indicators.d.ts.map +1 -1
  1231. package/dist/types/components/Location/ShareLocationDialog.d.ts.map +1 -1
  1232. package/dist/types/components/Location/hooks/useLiveLocationSharingManager.d.ts.map +1 -1
  1233. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecorderRecordingControls.d.ts.map +1 -1
  1234. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingButtonWithNotification.d.ts.map +1 -1
  1235. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPlayback.d.ts.map +1 -1
  1236. package/dist/types/components/MediaRecorder/AudioRecorder/AudioRecordingPreview.d.ts.map +1 -1
  1237. package/dist/types/components/MediaRecorder/RecordingPermissionDeniedNotification.d.ts.map +1 -1
  1238. package/dist/types/components/MediaRecorder/classes/MediaRecorderController.d.ts.map +1 -1
  1239. package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts +2 -2
  1240. package/dist/types/components/MediaRecorder/hooks/useMediaRecorder.d.ts.map +1 -1
  1241. package/dist/types/components/Message/Message.d.ts.map +1 -1
  1242. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts +11 -1
  1243. package/dist/types/components/Message/MessageAlsoSentInChannelIndicator.d.ts.map +1 -1
  1244. package/dist/types/components/Message/MessageDeletedBubble.d.ts.map +1 -1
  1245. package/dist/types/components/Message/MessageEditedIndicator.d.ts.map +1 -1
  1246. package/dist/types/components/Message/MessageRepliesCountButton.d.ts.map +1 -1
  1247. package/dist/types/components/Message/MessageStatus.d.ts.map +1 -1
  1248. package/dist/types/components/Message/MessageText.d.ts.map +1 -1
  1249. package/dist/types/components/Message/MessageTimestamp.d.ts.map +1 -1
  1250. package/dist/types/components/Message/MessageTranslationIndicator.d.ts.map +1 -1
  1251. package/dist/types/components/Message/MessageUI.d.ts.map +1 -1
  1252. package/dist/types/components/Message/ReminderNotification.d.ts.map +1 -1
  1253. package/dist/types/components/Message/StreamedMessageText.d.ts.map +1 -1
  1254. package/dist/types/components/Message/Timestamp.d.ts.map +1 -1
  1255. package/dist/types/components/Message/hooks/index.d.ts +1 -0
  1256. package/dist/types/components/Message/hooks/index.d.ts.map +1 -1
  1257. package/dist/types/components/Message/hooks/useActionHandler.d.ts +1 -1
  1258. package/dist/types/components/Message/hooks/useActionHandler.d.ts.map +1 -1
  1259. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts +6 -2
  1260. package/dist/types/components/Message/hooks/useDeleteHandler.d.ts.map +1 -1
  1261. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts +6 -1
  1262. package/dist/types/components/Message/hooks/useMarkUnreadHandler.d.ts.map +1 -1
  1263. package/dist/types/components/Message/hooks/useMentionsHandler.d.ts.map +1 -1
  1264. package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts +22 -0
  1265. package/dist/types/components/Message/hooks/useMessageAlsoSentInChannelNavigation.d.ts.map +1 -0
  1266. package/dist/types/components/Message/hooks/useMuteHandler.d.ts +7 -2
  1267. package/dist/types/components/Message/hooks/useMuteHandler.d.ts.map +1 -1
  1268. package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts +1 -0
  1269. package/dist/types/components/Message/hooks/useOpenThreadHandler.d.ts.map +1 -1
  1270. package/dist/types/components/Message/hooks/usePinHandler.d.ts +23 -2
  1271. package/dist/types/components/Message/hooks/usePinHandler.d.ts.map +1 -1
  1272. package/dist/types/components/Message/hooks/useReactionHandler.d.ts +1 -1
  1273. package/dist/types/components/Message/hooks/useReactionHandler.d.ts.map +1 -1
  1274. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts +2 -2
  1275. package/dist/types/components/Message/hooks/useReactionsFetcher.d.ts.map +1 -1
  1276. package/dist/types/components/Message/hooks/useRetryHandler.d.ts +3 -2
  1277. package/dist/types/components/Message/hooks/useRetryHandler.d.ts.map +1 -1
  1278. package/dist/types/components/Message/hooks/useUserRole.d.ts +1 -0
  1279. package/dist/types/components/Message/hooks/useUserRole.d.ts.map +1 -1
  1280. package/dist/types/components/Message/types.d.ts +11 -20
  1281. package/dist/types/components/Message/types.d.ts.map +1 -1
  1282. package/dist/types/components/Message/utils.d.ts +7 -38
  1283. package/dist/types/components/Message/utils.d.ts.map +1 -1
  1284. package/dist/types/components/MessageActions/DeleteMessageAlert.d.ts.map +1 -1
  1285. package/dist/types/components/MessageActions/DownloadSubmenu.d.ts.map +1 -1
  1286. package/dist/types/components/MessageActions/MessageActions.d.ts +6 -2
  1287. package/dist/types/components/MessageActions/MessageActions.d.ts.map +1 -1
  1288. package/dist/types/components/MessageActions/MessageActions.defaults.d.ts.map +1 -1
  1289. package/dist/types/components/MessageActions/RemindMeSubmenu.d.ts.map +1 -1
  1290. package/dist/types/components/MessageActions/hooks/useBaseMessageActionSetFilter.d.ts.map +1 -1
  1291. package/dist/types/components/MessageBounce/MessageBouncePrompt.d.ts.map +1 -1
  1292. package/dist/types/components/MessageComposer/AttachmentPreviewList/AudioAttachmentPreview.d.ts.map +1 -1
  1293. package/dist/types/components/MessageComposer/AttachmentPreviewList/FileAttachmentPreview.d.ts.map +1 -1
  1294. package/dist/types/components/MessageComposer/AttachmentPreviewList/GeolocationPreview.d.ts.map +1 -1
  1295. package/dist/types/components/MessageComposer/AttachmentPreviewList/MediaAttachmentPreview.d.ts.map +1 -1
  1296. package/dist/types/components/MessageComposer/AttachmentPreviewList/UnsupportedAttachmentPreview.d.ts.map +1 -1
  1297. package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts +1 -1
  1298. package/dist/types/components/MessageComposer/AttachmentPreviewList/index.d.ts.map +1 -1
  1299. package/dist/types/components/MessageComposer/AttachmentPreviewList/utils/AttachmentPreviewRoot.d.ts.map +1 -1
  1300. package/dist/types/components/MessageComposer/AttachmentSelector/AttachmentSelector.d.ts.map +1 -1
  1301. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts +5 -5
  1302. package/dist/types/components/MessageComposer/AttachmentSelector/CommandsMenu.d.ts.map +1 -1
  1303. package/dist/types/components/MessageComposer/CommandChip.d.ts.map +1 -1
  1304. package/dist/types/components/MessageComposer/EditMessageForm.d.ts +1 -0
  1305. package/dist/types/components/MessageComposer/EditMessageForm.d.ts.map +1 -0
  1306. package/dist/types/components/MessageComposer/MessageComposer.d.ts +1 -17
  1307. package/dist/types/components/MessageComposer/MessageComposer.d.ts.map +1 -1
  1308. package/dist/types/components/MessageComposer/MessageComposerActions.d.ts.map +1 -1
  1309. package/dist/types/components/MessageComposer/MessageComposerUI.d.ts.map +1 -1
  1310. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts +3 -3
  1311. package/dist/types/components/MessageComposer/QuotedMessagePreview.d.ts.map +1 -1
  1312. package/dist/types/components/MessageComposer/RemoveAttachmentPreviewButton.d.ts.map +1 -1
  1313. package/dist/types/components/MessageComposer/SendButton.d.ts.map +1 -1
  1314. package/dist/types/components/MessageComposer/SendToChannelCheckbox.d.ts.map +1 -1
  1315. package/dist/types/components/MessageComposer/StopAIGenerationButton.d.ts.map +1 -1
  1316. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts +2 -5
  1317. package/dist/types/components/MessageComposer/WithDragAndDropUpload.d.ts.map +1 -1
  1318. package/dist/types/components/MessageComposer/hooks/index.d.ts +1 -0
  1319. package/dist/types/components/MessageComposer/hooks/index.d.ts.map +1 -1
  1320. package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts +5 -1
  1321. package/dist/types/components/MessageComposer/hooks/useAttachmentManagerState.d.ts.map +1 -1
  1322. package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts +1 -2
  1323. package/dist/types/components/MessageComposer/hooks/useAttachmentsForPreview.d.ts.map +1 -1
  1324. package/dist/types/components/MessageComposer/hooks/useCreateMessageComposerContext.d.ts.map +1 -1
  1325. package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts +0 -1
  1326. package/dist/types/components/MessageComposer/hooks/useMessageComposerBindings.d.ts.map +1 -1
  1327. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts +2 -2
  1328. package/dist/types/components/MessageComposer/hooks/useMessageComposerCommands.d.ts.map +1 -1
  1329. package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts +1 -1
  1330. package/dist/types/components/MessageComposer/hooks/useMessageComposerController.d.ts.map +1 -1
  1331. package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts +7 -0
  1332. package/dist/types/components/MessageComposer/hooks/useMessageComposerSubmitFn.d.ts.map +1 -0
  1333. package/dist/types/components/MessageComposer/hooks/utils.d.ts.map +1 -1
  1334. package/dist/types/components/MessageComposer/index.d.ts +2 -1
  1335. package/dist/types/components/MessageComposer/index.d.ts.map +1 -1
  1336. package/dist/types/components/MessageList/FloatingDateSeparator.d.ts +1 -1
  1337. package/dist/types/components/MessageList/FloatingDateSeparator.d.ts.map +1 -1
  1338. package/dist/types/components/MessageList/MessageList.d.ts +24 -25
  1339. package/dist/types/components/MessageList/MessageList.d.ts.map +1 -1
  1340. package/dist/types/components/MessageList/NewMessageNotification.d.ts.map +1 -1
  1341. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts +0 -1
  1342. package/dist/types/components/MessageList/ScrollToLatestMessageButton.d.ts.map +1 -1
  1343. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts +1 -4
  1344. package/dist/types/components/MessageList/UnreadMessagesNotification.d.ts.map +1 -1
  1345. package/dist/types/components/MessageList/UnreadMessagesSeparator.d.ts.map +1 -1
  1346. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts +23 -42
  1347. package/dist/types/components/MessageList/VirtualizedMessageList.d.ts.map +1 -1
  1348. package/dist/types/components/MessageList/VirtualizedMessageListComponents.d.ts.map +1 -1
  1349. package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts +3 -3
  1350. package/dist/types/components/MessageList/hooks/MessageList/useEnrichedMessages.d.ts.map +1 -1
  1351. package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts +2 -2
  1352. package/dist/types/components/MessageList/hooks/MessageList/useFloatingDateSeparatorMessageList.d.ts.map +1 -1
  1353. package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts +1 -3
  1354. package/dist/types/components/MessageList/hooks/MessageList/useMessageListElements.d.ts.map +1 -1
  1355. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts +1 -0
  1356. package/dist/types/components/MessageList/hooks/MessageList/useMessageListScrollManager.d.ts.map +1 -1
  1357. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts +6 -25
  1358. package/dist/types/components/MessageList/hooks/MessageList/useScrollLocationLogic.d.ts.map +1 -1
  1359. package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts +1 -1
  1360. package/dist/types/components/MessageList/hooks/MessageList/useUnreadMessagesNotification.d.ts.map +1 -1
  1361. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts +2 -2
  1362. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useFloatingDateSeparator.d.ts.map +1 -1
  1363. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts +1 -1
  1364. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useNewMessageNotification.d.ts.map +1 -1
  1365. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts +1 -5
  1366. package/dist/types/components/MessageList/hooks/VirtualizedMessageList/useUnreadMessagesNotificationVirtualized.d.ts.map +1 -1
  1367. package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts +32 -0
  1368. package/dist/types/components/MessageList/hooks/useCanPaginateReplies.d.ts.map +1 -0
  1369. package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts +1 -0
  1370. package/dist/types/components/MessageList/hooks/useLastDeliveredData.d.ts.map +1 -1
  1371. package/dist/types/components/MessageList/hooks/useLastReadData.d.ts +1 -0
  1372. package/dist/types/components/MessageList/hooks/useLastReadData.d.ts.map +1 -1
  1373. package/dist/types/components/MessageList/hooks/useMarkRead.d.ts +5 -9
  1374. package/dist/types/components/MessageList/hooks/useMarkRead.d.ts.map +1 -1
  1375. package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts +12 -0
  1376. package/dist/types/components/MessageList/hooks/useReceiptsByMessageId.d.ts.map +1 -0
  1377. package/dist/types/components/MessageList/hooks/useThreadHead.d.ts +9 -0
  1378. package/dist/types/components/MessageList/hooks/useThreadHead.d.ts.map +1 -0
  1379. package/dist/types/components/MessageList/messageSourceKey.d.ts +14 -0
  1380. package/dist/types/components/MessageList/messageSourceKey.d.ts.map +1 -0
  1381. package/dist/types/components/MessageList/renderMessages.d.ts +11 -9
  1382. package/dist/types/components/MessageList/renderMessages.d.ts.map +1 -1
  1383. package/dist/types/components/MessageList/utils.d.ts +22 -13
  1384. package/dist/types/components/MessageList/utils.d.ts.map +1 -1
  1385. package/dist/types/components/Modal/CloseButtonOnModalOverlay.d.ts.map +1 -1
  1386. package/dist/types/components/Notifications/Notification.d.ts.map +1 -1
  1387. package/dist/types/components/Notifications/NotificationList.d.ts.map +1 -1
  1388. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts +3 -0
  1389. package/dist/types/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -1
  1390. package/dist/types/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -1
  1391. package/dist/types/components/Notifications/notificationTarget.d.ts.map +1 -1
  1392. package/dist/types/components/Poll/PollActions/AddCommentPrompt.d.ts.map +1 -1
  1393. package/dist/types/components/Poll/PollActions/EndPollAlert.d.ts.map +1 -1
  1394. package/dist/types/components/Poll/PollActions/PollActions.d.ts.map +1 -1
  1395. package/dist/types/components/Poll/PollActions/PollAnswerList.d.ts.map +1 -1
  1396. package/dist/types/components/Poll/PollActions/PollOptionsFullList.d.ts.map +1 -1
  1397. package/dist/types/components/Poll/PollActions/PollQuestion.d.ts.map +1 -1
  1398. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts +2 -2
  1399. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotes.d.ts.map +1 -1
  1400. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts +2 -2
  1401. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesHeader.d.ts.map +1 -1
  1402. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts +2 -2
  1403. package/dist/types/components/Poll/PollActions/PollResults/PollOptionWithVotesList.d.ts.map +1 -1
  1404. package/dist/types/components/Poll/PollActions/PollResults/PollResults.d.ts.map +1 -1
  1405. package/dist/types/components/Poll/PollActions/SuggestPollOptionPrompt.d.ts.map +1 -1
  1406. package/dist/types/components/Poll/PollCreationDialog/MultipleAnswersField.d.ts.map +1 -1
  1407. package/dist/types/components/Poll/PollCreationDialog/NameField.d.ts.map +1 -1
  1408. package/dist/types/components/Poll/PollCreationDialog/OptionFieldSet.d.ts.map +1 -1
  1409. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialog.d.ts.map +1 -1
  1410. package/dist/types/components/Poll/PollCreationDialog/PollCreationDialogControls.d.ts.map +1 -1
  1411. package/dist/types/components/Poll/PollCreationDialog/PollOptionReorderHandle.d.ts.map +1 -1
  1412. package/dist/types/components/Poll/PollHeader.d.ts.map +1 -1
  1413. package/dist/types/components/Poll/PollOptionList.d.ts.map +1 -1
  1414. package/dist/types/components/Poll/PollOptionSelector.d.ts +2 -2
  1415. package/dist/types/components/Poll/PollOptionSelector.d.ts.map +1 -1
  1416. package/dist/types/components/Poll/PollVote.d.ts +1 -1
  1417. package/dist/types/components/Poll/PollVote.d.ts.map +1 -1
  1418. package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts +2 -2
  1419. package/dist/types/components/Poll/hooks/useManagePollVotesRealtime.d.ts.map +1 -1
  1420. package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts +2 -2
  1421. package/dist/types/components/Poll/hooks/usePollAnswerPagination.d.ts.map +1 -1
  1422. package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts +2 -2
  1423. package/dist/types/components/Poll/hooks/usePollOptionVotesPagination.d.ts.map +1 -1
  1424. package/dist/types/components/Reactions/MessageReactions.d.ts.map +1 -1
  1425. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts +2 -2
  1426. package/dist/types/components/Reactions/MessageReactionsDetail.d.ts.map +1 -1
  1427. package/dist/types/components/Reactions/ReactionSelector.d.ts.map +1 -1
  1428. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts +0 -5
  1429. package/dist/types/components/Reactions/ReactionSelectorWithButton.d.ts.map +1 -1
  1430. package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts +2 -2
  1431. package/dist/types/components/Reactions/hooks/useFetchReactions.d.ts.map +1 -1
  1432. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts +1 -3
  1433. package/dist/types/components/Reactions/hooks/useProcessReactions.d.ts.map +1 -1
  1434. package/dist/types/components/Search/SearchBar/SearchBar.d.ts.map +1 -1
  1435. package/dist/types/components/Search/SearchContext.d.ts.map +1 -1
  1436. package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts +20 -6
  1437. package/dist/types/components/Search/SearchResults/SearchResultItem.d.ts.map +1 -1
  1438. package/dist/types/components/Search/SearchResults/SearchResultsHeader.d.ts.map +1 -1
  1439. package/dist/types/components/Search/SearchResults/SearchSourceResultsEmpty.d.ts.map +1 -1
  1440. package/dist/types/components/Search/SearchResults/SearchSourceResultsLoadingIndicator.d.ts.map +1 -1
  1441. package/dist/types/components/Search/SearchSourceResultsContext.d.ts.map +1 -1
  1442. package/dist/types/components/Search/hooks/index.d.ts +0 -1
  1443. package/dist/types/components/Search/hooks/index.d.ts.map +1 -1
  1444. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts +6 -0
  1445. package/dist/types/components/SummarizedMessagePreview/SummarizedMessagePreview.d.ts.map +1 -1
  1446. package/dist/types/components/SummarizedMessagePreview/hooks/useLatestMessagePreview.d.ts.map +1 -1
  1447. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts +2 -2
  1448. package/dist/types/components/TextareaComposer/SuggestionList/CommandItem.d.ts.map +1 -1
  1449. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/BroadcastMentionItem.d.ts.map +1 -1
  1450. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/RoleItem.d.ts.map +1 -1
  1451. package/dist/types/components/TextareaComposer/SuggestionList/MentionItem/UserGroupItem.d.ts.map +1 -1
  1452. package/dist/types/components/TextareaComposer/SuggestionList/SuggestionList.d.ts.map +1 -1
  1453. package/dist/types/components/TextareaComposer/TextareaComposer.d.ts.map +1 -1
  1454. package/dist/types/components/TextareaComposer/hooks/useTextareaPlaceholder.d.ts.map +1 -1
  1455. package/dist/types/components/Thread/Thread.d.ts +31 -27
  1456. package/dist/types/components/Thread/Thread.d.ts.map +1 -1
  1457. package/dist/types/components/Thread/ThreadHead.d.ts.map +1 -1
  1458. package/dist/types/components/Thread/ThreadHeader.d.ts +13 -6
  1459. package/dist/types/components/Thread/ThreadHeader.d.ts.map +1 -1
  1460. package/dist/types/components/Thread/ThreadStart.d.ts.map +1 -1
  1461. package/dist/types/components/Thread/index.d.ts +0 -1
  1462. package/dist/types/components/Thread/index.d.ts.map +1 -1
  1463. package/dist/types/components/Threads/ThreadContext.d.ts.map +1 -1
  1464. package/dist/types/components/Threads/ThreadList/ThreadList.d.ts.map +1 -1
  1465. package/dist/types/components/Threads/ThreadList/ThreadListEmptyPlaceholder.d.ts.map +1 -1
  1466. package/dist/types/components/Threads/ThreadList/ThreadListHeader.d.ts.map +1 -1
  1467. package/dist/types/components/Threads/ThreadList/ThreadListItemUI.d.ts.map +1 -1
  1468. package/dist/types/components/Threads/ThreadList/ThreadListUnseenThreadsBanner.d.ts.map +1 -1
  1469. package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts +15 -0
  1470. package/dist/types/components/Threads/ThreadList/useThreadHighlighting.d.ts.map +1 -0
  1471. package/dist/types/components/Threads/ThreadList/utils.a11y.d.ts.map +1 -1
  1472. package/dist/types/components/Threads/hooks/useCloseThread.d.ts +9 -0
  1473. package/dist/types/components/Threads/hooks/useCloseThread.d.ts.map +1 -0
  1474. package/dist/types/components/Threads/index.d.ts +1 -0
  1475. package/dist/types/components/Threads/index.d.ts.map +1 -1
  1476. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts +4 -5
  1477. package/dist/types/components/TypingIndicator/TypingIndicator.d.ts.map +1 -1
  1478. package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts +1 -1
  1479. package/dist/types/components/TypingIndicator/TypingIndicatorHeader.d.ts.map +1 -1
  1480. package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts +2 -2
  1481. package/dist/types/components/TypingIndicator/hooks/useDebouncedTypingActive.d.ts.map +1 -1
  1482. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts +2 -3
  1483. package/dist/types/components/TypingIndicator/utils/getTypingStatusMessage.d.ts.map +1 -1
  1484. package/dist/types/components/VideoPlayer/ReactPlayerWrapper.d.ts +1 -1
  1485. package/dist/types/components/VideoPlayer/ReactPlayerWrapper.d.ts.map +1 -1
  1486. package/dist/types/components/VideoPlayer/VideoPlayer.d.ts +7 -1
  1487. package/dist/types/components/VideoPlayer/VideoPlayer.d.ts.map +1 -1
  1488. package/dist/types/components/VideoPlayer/VideoThumbnail.d.ts.map +1 -1
  1489. package/dist/types/components/index.d.ts +0 -2
  1490. package/dist/types/components/index.d.ts.map +1 -1
  1491. package/dist/types/context/AttachmentContext.d.ts +19 -0
  1492. package/dist/types/context/AttachmentContext.d.ts.map +1 -0
  1493. package/dist/types/context/ChannelInstanceContext.d.ts +16 -0
  1494. package/dist/types/context/ChannelInstanceContext.d.ts.map +1 -0
  1495. package/dist/types/context/ChannelListContext.d.ts +9 -18
  1496. package/dist/types/context/ChannelListContext.d.ts.map +1 -1
  1497. package/dist/types/context/ChatContext.d.ts +10 -23
  1498. package/dist/types/context/ChatContext.d.ts.map +1 -1
  1499. package/dist/types/context/ComponentContext.d.ts +30 -20
  1500. package/dist/types/context/ComponentContext.d.ts.map +1 -1
  1501. package/dist/types/context/DialogManagerContext.d.ts.map +1 -1
  1502. package/dist/types/context/MessageBounceContext.d.ts +1 -1
  1503. package/dist/types/context/MessageBounceContext.d.ts.map +1 -1
  1504. package/dist/types/context/MessageComposerContext.d.ts +7 -2
  1505. package/dist/types/context/MessageComposerContext.d.ts.map +1 -1
  1506. package/dist/types/context/MessageComposerControllerContext.d.ts +13 -0
  1507. package/dist/types/context/MessageComposerControllerContext.d.ts.map +1 -0
  1508. package/dist/types/context/MessageContext.d.ts +8 -21
  1509. package/dist/types/context/MessageContext.d.ts.map +1 -1
  1510. package/dist/types/context/MessageListContext.d.ts +2 -2
  1511. package/dist/types/context/MessageListContext.d.ts.map +1 -1
  1512. package/dist/types/context/MessageTranslationViewContext.d.ts.map +1 -1
  1513. package/dist/types/context/ModalContext.d.ts +4 -0
  1514. package/dist/types/context/ModalContext.d.ts.map +1 -1
  1515. package/dist/types/context/PollContext.d.ts.map +1 -1
  1516. package/dist/types/context/TranslationContext.d.ts +21 -11
  1517. package/dist/types/context/TranslationContext.d.ts.map +1 -1
  1518. package/dist/types/context/VirtualizedMessageListContext.d.ts.map +1 -1
  1519. package/dist/types/context/WithComponents.d.ts.map +1 -1
  1520. package/dist/types/context/WorkspaceNavigationContext.d.ts +128 -0
  1521. package/dist/types/context/WorkspaceNavigationContext.d.ts.map +1 -0
  1522. package/dist/types/context/index.d.ts +6 -4
  1523. package/dist/types/context/index.d.ts.map +1 -1
  1524. package/dist/types/context/requireContext.d.ts +10 -0
  1525. package/dist/types/context/requireContext.d.ts.map +1 -0
  1526. package/dist/types/context/useChannel.d.ts +3 -0
  1527. package/dist/types/context/useChannel.d.ts.map +1 -0
  1528. package/dist/types/context/useComponentContextIcons.d.ts +4 -6
  1529. package/dist/types/context/useComponentContextIcons.d.ts.map +1 -1
  1530. package/dist/types/hooks/index.d.ts +3 -0
  1531. package/dist/types/hooks/index.d.ts.map +1 -0
  1532. package/dist/types/hooks/useIsDmChannel.d.ts +13 -0
  1533. package/dist/types/hooks/useIsDmChannel.d.ts.map +1 -0
  1534. package/dist/types/hooks/useMessagePaginator.d.ts +6 -0
  1535. package/dist/types/hooks/useMessagePaginator.d.ts.map +1 -0
  1536. package/dist/types/i18n/Streami18n.d.ts +48 -847
  1537. package/dist/types/i18n/Streami18n.d.ts.map +1 -1
  1538. package/dist/types/i18n/TranslationBuilder/index.d.ts +6 -1
  1539. package/dist/types/i18n/TranslationBuilder/index.d.ts.map +1 -1
  1540. package/dist/types/i18n/TranslationBuilder/notifications/NotificationTranslationTopic.d.ts.map +1 -1
  1541. package/dist/types/i18n/TranslationBuilder/notifications/translators.d.ts.map +1 -1
  1542. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts +3 -1
  1543. package/dist/types/i18n/TranslationBuilder/notifications/translatorsByNotificationType.d.ts.map +1 -1
  1544. package/dist/types/i18n/index.d.ts +2 -2
  1545. package/dist/types/i18n/index.d.ts.map +1 -1
  1546. package/dist/types/i18n/keys.d.ts +583 -0
  1547. package/dist/types/i18n/keys.d.ts.map +1 -0
  1548. package/dist/types/i18n/runtimeDefaults.d.ts +37 -0
  1549. package/dist/types/i18n/runtimeDefaults.d.ts.map +1 -0
  1550. package/dist/types/i18n/types.d.ts +34 -104
  1551. package/dist/types/i18n/types.d.ts.map +1 -1
  1552. package/dist/types/i18n/useStreami18n.d.ts +19 -0
  1553. package/dist/types/i18n/useStreami18n.d.ts.map +1 -0
  1554. package/dist/types/i18n/utils.d.ts +18 -14
  1555. package/dist/types/i18n/utils.d.ts.map +1 -1
  1556. package/dist/types/plugins/ChannelDetail/AvatarWithChannelDetail.d.ts.map +1 -1
  1557. package/dist/types/plugins/ChannelDetail/ChannelDetail.d.ts.map +1 -1
  1558. package/dist/types/plugins/ChannelDetail/ChannelDetailEmptyList.d.ts.map +1 -1
  1559. package/dist/types/plugins/ChannelDetail/ChannelDetailSearchInput.d.ts.map +1 -1
  1560. package/dist/types/plugins/ChannelDetail/SectionNavigator/SectionNavigatorHeader.d.ts.map +1 -1
  1561. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesEmptyList.d.ts.map +1 -1
  1562. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.d.ts.map +1 -1
  1563. package/dist/types/plugins/ChannelDetail/Views/ChannelFilesView/ChannelFilesView.utils.d.ts.map +1 -1
  1564. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementActions.defaults.d.ts.map +1 -1
  1565. package/dist/types/plugins/ChannelDetail/Views/ChannelManagementView/ChannelManagementView.d.ts.map +1 -1
  1566. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaEmptyList.d.ts.map +1 -1
  1567. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.d.ts.map +1 -1
  1568. package/dist/types/plugins/ChannelDetail/Views/ChannelMediaView/ChannelMediaView.utils.d.ts.map +1 -1
  1569. package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberActions.defaults.d.ts.map +1 -1
  1570. package/dist/types/plugins/ChannelDetail/Views/ChannelMemberDetailView/ChannelMemberDetail.d.ts.map +1 -1
  1571. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersAddView.d.ts.map +1 -1
  1572. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersBrowseView.d.ts.map +1 -1
  1573. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersHeaderActions.defaults.d.ts.map +1 -1
  1574. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.d.ts.map +1 -1
  1575. package/dist/types/plugins/ChannelDetail/Views/ChannelMembersView/ChannelMembersView.utils.d.ts.map +1 -1
  1576. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesEmptyList.d.ts.map +1 -1
  1577. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/PinnedMessagesView.d.ts.map +1 -1
  1578. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts +5 -1
  1579. package/dist/types/plugins/ChannelDetail/Views/PinnedMessagesView/usePinnedMessagesCount.d.ts.map +1 -1
  1580. package/dist/types/plugins/Emojis/EmojiPicker.d.ts +0 -4
  1581. package/dist/types/plugins/Emojis/EmojiPicker.d.ts.map +1 -1
  1582. package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts +72 -0
  1583. package/dist/types/plugins/SlotGeometry/SlotGeometry.d.ts.map +1 -0
  1584. package/dist/types/plugins/SlotGeometry/index.d.ts +3 -0
  1585. package/dist/types/plugins/SlotGeometry/index.d.ts.map +1 -0
  1586. package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts +24 -0
  1587. package/dist/types/plugins/SlotLayout/ChannelSlot.d.ts.map +1 -0
  1588. package/dist/types/plugins/SlotLayout/ChatView.a11y.utility.d.ts.map +1 -0
  1589. package/dist/types/plugins/SlotLayout/ChatView.d.ts +113 -0
  1590. package/dist/types/plugins/SlotLayout/ChatView.d.ts.map +1 -0
  1591. package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts +111 -0
  1592. package/dist/types/plugins/SlotLayout/ChatViewNavigationContext.d.ts.map +1 -0
  1593. package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts +8 -0
  1594. package/dist/types/plugins/SlotLayout/ThreadListSlot.d.ts.map +1 -0
  1595. package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts +10 -0
  1596. package/dist/types/plugins/SlotLayout/ThreadSlot.d.ts.map +1 -0
  1597. package/dist/types/plugins/SlotLayout/hooks/index.d.ts +3 -0
  1598. package/dist/types/plugins/SlotLayout/hooks/index.d.ts.map +1 -0
  1599. package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts +5 -0
  1600. package/dist/types/plugins/SlotLayout/hooks/useLayoutViewState.d.ts.map +1 -0
  1601. package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts +162 -0
  1602. package/dist/types/plugins/SlotLayout/hooks/useSlotEntity.d.ts.map +1 -0
  1603. package/dist/types/plugins/SlotLayout/index.d.ts +12 -0
  1604. package/dist/types/plugins/SlotLayout/index.d.ts.map +1 -0
  1605. package/dist/types/plugins/SlotLayout/layout/Slot.d.ts +8 -0
  1606. package/dist/types/plugins/SlotLayout/layout/Slot.d.ts.map +1 -0
  1607. package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts +11 -0
  1608. package/dist/types/plugins/SlotLayout/layout/WorkspaceLayout.d.ts.map +1 -0
  1609. package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts +25 -0
  1610. package/dist/types/plugins/SlotLayout/layoutController/LayoutController.d.ts.map +1 -0
  1611. package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts +121 -0
  1612. package/dist/types/plugins/SlotLayout/layoutController/layoutControllerTypes.d.ts.map +1 -0
  1613. package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts +6 -0
  1614. package/dist/types/plugins/SlotLayout/layoutController/serialization.d.ts.map +1 -0
  1615. package/dist/types/plugins/SlotLayout/slotBinding.d.ts +85 -0
  1616. package/dist/types/plugins/SlotLayout/slotBinding.d.ts.map +1 -0
  1617. package/dist/types/plugins/SlotLayout/slotRegistry.d.ts +60 -0
  1618. package/dist/types/plugins/SlotLayout/slotRegistry.d.ts.map +1 -0
  1619. package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts +26 -0
  1620. package/dist/types/plugins/SlotLayout/workspaceNavigationAdapter.d.ts.map +1 -0
  1621. package/dist/types/store/hooks/useStateStore.d.ts +1 -1
  1622. package/dist/types/store/hooks/useStateStore.d.ts.map +1 -1
  1623. package/dist/types/types/index.d.ts +0 -1
  1624. package/dist/types/types/index.d.ts.map +1 -1
  1625. package/dist/types/types/types.d.ts +0 -10
  1626. package/dist/types/types/types.d.ts.map +1 -1
  1627. package/dist/types/utils/getChannel.d.ts +2 -2
  1628. package/dist/types/utils/getChannel.d.ts.map +1 -1
  1629. package/dist/types/utils/useStableCallback.d.ts +1 -1
  1630. package/package.json +34 -20
  1631. package/dist/cjs/NotificationList.6abbee1c.js +0 -9459
  1632. package/dist/cjs/NotificationList.6abbee1c.js.map +0 -1
  1633. package/dist/cjs/useChannelHeaderOnlineStatus.7e17671e.js +0 -961
  1634. package/dist/cjs/useChannelHeaderOnlineStatus.7e17671e.js.map +0 -1
  1635. package/dist/cjs/useInertWhenHidden.22151beb.js +0 -6426
  1636. package/dist/cjs/useInertWhenHidden.22151beb.js.map +0 -1
  1637. package/dist/es/NotificationList.db01a56d.mjs +0 -7703
  1638. package/dist/es/NotificationList.db01a56d.mjs.map +0 -1
  1639. package/dist/es/ReactPlayerWrapper.d2ae5941.mjs.map +0 -1
  1640. package/dist/es/audioProcessing.766ca76c.mjs.map +0 -1
  1641. package/dist/es/channel-detail.mjs.map +0 -1
  1642. package/dist/es/emojis.mjs.map +0 -1
  1643. package/dist/es/index.mjs.map +0 -1
  1644. package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs +0 -771
  1645. package/dist/es/useChannelHeaderOnlineStatus.a9357343.mjs.map +0 -1
  1646. package/dist/es/useInertWhenHidden.3d5fbdba.mjs +0 -5765
  1647. package/dist/es/useInertWhenHidden.3d5fbdba.mjs.map +0 -1
  1648. package/dist/types/components/Channel/channelState.d.ts +0 -90
  1649. package/dist/types/components/Channel/channelState.d.ts.map +0 -1
  1650. package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts +0 -6
  1651. package/dist/types/components/Channel/hooks/useCreateChannelStateContext.d.ts.map +0 -1
  1652. package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts +0 -3
  1653. package/dist/types/components/Channel/hooks/useCreateTypingContext.d.ts.map +0 -1
  1654. package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts +0 -5
  1655. package/dist/types/components/Channel/hooks/useEditMessageHandler.d.ts.map +0 -1
  1656. package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts +0 -10
  1657. package/dist/types/components/Channel/hooks/useMentionsHandlers.d.ts.map +0 -1
  1658. package/dist/types/components/Channel/utils.d.ts +0 -33
  1659. package/dist/types/components/Channel/utils.d.ts.map +0 -1
  1660. package/dist/types/components/ChannelList/ChannelListUI.d.ts +0 -18
  1661. package/dist/types/components/ChannelList/ChannelListUI.d.ts.map +0 -1
  1662. package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts +0 -61
  1663. package/dist/types/components/ChannelList/hooks/useChannelListShape.d.ts.map +0 -1
  1664. package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts +0 -2
  1665. package/dist/types/components/ChannelList/hooks/useConnectionRecoveredListener.d.ts.map +0 -1
  1666. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts +0 -29
  1667. package/dist/types/components/ChannelList/hooks/usePaginatedChannels.d.ts.map +0 -1
  1668. package/dist/types/components/ChannelList/utils.d.ts +0 -46
  1669. package/dist/types/components/ChannelList/utils.d.ts.map +0 -1
  1670. package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts +0 -12
  1671. package/dist/types/components/Chat/hooks/useChannelsQueryState.d.ts.map +0 -1
  1672. package/dist/types/components/ChatView/ChatView.a11y.utility.d.ts.map +0 -1
  1673. package/dist/types/components/ChatView/ChatView.d.ts +0 -59
  1674. package/dist/types/components/ChatView/ChatView.d.ts.map +0 -1
  1675. package/dist/types/components/ChatView/index.d.ts +0 -2
  1676. package/dist/types/components/ChatView/index.d.ts.map +0 -1
  1677. package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts +0 -14
  1678. package/dist/types/components/MessageComposer/AttachmentPreviewList/AttachmentUploadedSizeIndicator.d.ts.map +0 -1
  1679. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts +0 -5
  1680. package/dist/types/components/MessageComposer/hooks/useSubmitHandler.d.ts.map +0 -1
  1681. package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts +0 -2
  1682. package/dist/types/components/Search/hooks/useSearchFocusedMessage.d.ts.map +0 -1
  1683. package/dist/types/components/Thread/LegacyThreadContext.d.ts +0 -9
  1684. package/dist/types/components/Thread/LegacyThreadContext.d.ts.map +0 -1
  1685. package/dist/types/components/Window/Window.d.ts +0 -13
  1686. package/dist/types/components/Window/Window.d.ts.map +0 -1
  1687. package/dist/types/components/Window/index.d.ts +0 -2
  1688. package/dist/types/components/Window/index.d.ts.map +0 -1
  1689. package/dist/types/context/ChannelActionContext.d.ts +0 -46
  1690. package/dist/types/context/ChannelActionContext.d.ts.map +0 -1
  1691. package/dist/types/context/ChannelStateContext.d.ts +0 -51
  1692. package/dist/types/context/ChannelStateContext.d.ts.map +0 -1
  1693. package/dist/types/context/TypingContext.d.ts +0 -12
  1694. package/dist/types/context/TypingContext.d.ts.map +0 -1
  1695. package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts +0 -36
  1696. package/dist/types/i18n/TranslationBuilder/TranslationBuilder.d.ts.map +0 -1
  1697. package/dist/types/i18n/translations.d.ts +0 -14
  1698. package/dist/types/i18n/translations.d.ts.map +0 -1
  1699. package/dist/types/utils/getChannelConfig.d.ts +0 -8
  1700. package/dist/types/utils/getChannelConfig.d.ts.map +0 -1
  1701. /package/dist/types/{components/ChatView → plugins/SlotLayout}/ChatView.a11y.utility.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListItemLayout.60c3b287.js","names":[],"sources":["../../src/a11y/hooks/useAriaIdentifiers.ts","../../src/components/Dialog/components/Alert.tsx","../../src/components/Dialog/components/Prompt.tsx","../../src/components/MessageComposer/hooks/utils.ts","../../src/components/Attachment/components/FileSizeIndicator.tsx","../../src/utils/isDmChannel.ts","../../src/hooks/useIsDmChannel.ts","../../src/a11y/hooks/useResolvedModalAriaProps.ts","../../src/components/Modal/GlobalModal.tsx","../../src/components/Attachment/components/DownloadButton.tsx","../../src/components/FileIcon/FileIconSet.tsx","../../src/components/FileIcon/mimeTypes.ts","../../src/components/FileIcon/iconMap.ts","../../src/components/FileIcon/FileIcon.tsx","../../src/components/AudioPlayback/components/formatTime.ts","../../src/components/BaseImage/ImagePlaceholder.tsx","../../src/components/BaseImage/BaseImage.tsx","../../src/components/BaseImage/toBaseImageDescriptors.ts","../../src/components/Gallery/GalleryContext.tsx","../../src/components/Gallery/GalleryHeader.tsx","../../src/components/VideoPlayer/VideoPlayer.tsx","../../src/components/VideoPlayer/VideoThumbnail.tsx","../../src/components/Gallery/GalleryUI.tsx","../../src/components/Gallery/Gallery.tsx","../../src/components/Form/Checkbox.tsx","../../src/components/Form/SwitchField.tsx","../../src/components/Form/TextInput.tsx","../../src/components/ChannelListItem/hooks/useIsUserMuted.ts","../../src/context/ModalContext.tsx","../../src/components/ChannelHeader/hooks/useChannelHasMembersOnline.ts","../../src/components/ChannelHeader/hooks/useChannelHeaderOnlineStatus.ts","../../src/components/ListItemLayout/ListItemLayout.tsx"],"sourcesContent":["import { useMemo } from 'react';\n\ntype AriaIdentifierDescriptor = 'description' | 'title';\n\nconst sanitizeAriaRootId = (rootId?: string) =>\n rootId?.trim().replace(/[^A-Za-z0-9:_-]/g, '-') ?? '';\n\nconst buildAriaIdentifier = (\n sanitizedRootId: string,\n descriptor: AriaIdentifierDescriptor,\n) => (sanitizedRootId ? `${sanitizedRootId}-${descriptor}` : undefined);\n\n/**\n * Derives stable ARIA identifier IDs from a single root ID.\n *\n * Use this to keep dialog/component labeling conventions consistent without\n * manually building `*-title` and `*-description` IDs at each call site.\n *\n * Behavior:\n * - Root ID is trimmed and sanitized to `[A-Za-z0-9:_-]` before use.\n * - Returns `undefined` IDs when root ID is missing/empty after sanitization.\n */\nexport const useAriaIdentifiers = (rootId?: string) => {\n const sanitizedRootId = sanitizeAriaRootId(rootId);\n\n return useMemo(\n () => ({\n descriptionId: buildAriaIdentifier(sanitizedRootId, 'description'),\n titleId: buildAriaIdentifier(sanitizedRootId, 'title'),\n }),\n [sanitizedRootId],\n );\n};\n","import React, { type ComponentProps, type ComponentType, forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { useModalContext } from '../../../context';\nimport { useAriaIdentifiers } from '../../../a11y/hooks/useAriaIdentifiers';\n\nexport const Root = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function AlertRoot(\n { children, className, ...props }: ComponentProps<'div'>,\n ref,\n) {\n return (\n <div {...props} className={clsx('str-chat__alert-root', className)} ref={ref}>\n {children}\n </div>\n );\n});\n\nexport type AlertHeaderProps = ComponentProps<'div'> & {\n description?: string;\n descriptionId?: string;\n Icon?: ComponentType;\n title?: string;\n titleId?: string;\n};\n\nexport const Header = forwardRef<HTMLDivElement, AlertHeaderProps>(function AlertHeader(\n { children, className, description, descriptionId, Icon, title, titleId, ...props },\n ref,\n) {\n const { dialogId } = useModalContext();\n const { descriptionId: derivedDescriptionId, titleId: derivedTitleId } =\n useAriaIdentifiers(dialogId);\n const resolvedTitleId = titleId ?? derivedTitleId;\n const resolvedDescriptionId = descriptionId ?? derivedDescriptionId;\n\n return (\n <div {...props} className={clsx('str-chat__alert-header', className)} ref={ref}>\n {title ? (\n <>\n {Icon && <Icon />}\n <div className='str-chat__alert-header__copy'>\n <h2 className='str-chat__alert-header__title' id={resolvedTitleId}>\n {title}\n </h2>\n {description && (\n <p\n className='str-chat__alert-header__description'\n id={resolvedDescriptionId}\n >\n {description}\n </p>\n )}\n </div>\n </>\n ) : (\n children\n )}\n </div>\n );\n});\n\nconst Actions = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function AlertActions(\n { children, className, ...props },\n ref,\n) {\n return (\n <div {...props} className={clsx('str-chat__alert-actions', className)} ref={ref}>\n {children}\n </div>\n );\n});\n\nexport const Alert = {\n Actions,\n Header,\n Root,\n};\n","import React, { type ComponentProps, type PropsWithChildren } from 'react';\nimport clsx from 'clsx';\nimport { Button, type ButtonProps } from '../../Button';\nimport {\n useComponentContextIcons,\n useModalContext,\n useTranslationContext,\n} from '../../../context';\nimport { useAriaIdentifiers } from '../../../a11y/hooks/useAriaIdentifiers';\n\nconst PromptRoot = ({ children, className, ...props }: ComponentProps<'div'>) => (\n <div {...props} className={clsx('str-chat__prompt', className)}>\n {children}\n </div>\n);\n\nexport type PromptHeaderProps = {\n title: React.ReactNode;\n className?: string;\n close?: () => void;\n description?: string;\n descriptionId?: string;\n goBack?: () => void;\n LeadingContent?: React.ComponentType;\n titleId?: string;\n TrailingContent?: React.ComponentType;\n};\n\nconst PromptHeader = ({\n className,\n close,\n description,\n descriptionId,\n goBack,\n LeadingContent,\n title,\n titleId,\n TrailingContent,\n}: PromptHeaderProps) => {\n const { IconArrowLeft, IconXmark } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { dialogId } = useModalContext();\n const { descriptionId: derivedDescriptionId, titleId: derivedTitleId } =\n useAriaIdentifiers(dialogId);\n const resolvedTitleId = titleId ?? derivedTitleId;\n const resolvedDescriptionId = descriptionId ?? derivedDescriptionId;\n const hasDescription = description != null && description !== '';\n\n return (\n <div\n className={clsx('str-chat__prompt__header', className, {\n 'str-chat__prompt__header--withDescription': hasDescription,\n 'str-chat__prompt__header--withGoBack': goBack,\n })}\n >\n {LeadingContent && (\n <div className='str-chat__prompt__header__leading-content'>\n <LeadingContent />\n </div>\n )}\n <div className={clsx('str-chat__prompt__header__title-group')}>\n {goBack && (\n <Button\n appearance='ghost'\n aria-label={t('dialog.prompt.goBack.ariaLabel', 'Go back')}\n circular\n className='str-chat__prompt__header__go-back-button'\n onClick={goBack}\n size='md'\n variant='secondary'\n >\n <IconArrowLeft />\n </Button>\n )}\n <h2 className='str-chat__prompt__header__title' id={resolvedTitleId}>\n {title}\n </h2>\n {hasDescription && (\n <p className='str-chat__prompt__header__description' id={resolvedDescriptionId}>\n {description}\n </p>\n )}\n </div>\n {(close || TrailingContent) && (\n <div className='str-chat__prompt__header__trailing-content'>\n {TrailingContent && <TrailingContent />}\n {close && (\n <Button\n appearance='ghost'\n // Concise \"Close\": the dialog itself is named by its title (aria-labelledby) and\n // described by its description (aria-describedby on the dialog surface), so the close\n // button carries neither — repeating them here is redundant noise on focus.\n aria-label={t('common.close.ariaLabel', 'Close')}\n circular\n className='str-chat__prompt__header__close-button'\n onClick={close}\n size='md'\n variant='secondary'\n >\n <IconXmark />\n </Button>\n )}\n </div>\n )}\n </div>\n );\n};\n\nexport type PromptBodyProps = PropsWithChildren<{\n className?: string;\n}>;\n\nconst PromptBody = ({ children, className }: PromptBodyProps) => (\n <div className={clsx('str-chat__prompt__body', className)}>{children}</div>\n);\n\nexport type PromptFooterProps = PropsWithChildren<{\n className?: string;\n}>;\n\nconst PromptFooter = ({ children, className }: PromptFooterProps) => (\n <div className={clsx('str-chat__prompt__footer', className)}>{children}</div>\n);\n\ntype PromptFooterControlsProps = PropsWithChildren<{\n className?: string;\n}>;\n\nconst PromptFooterControls = ({ children, className }: PromptFooterControlsProps) => (\n <div className={clsx('str-chat__prompt__footer__controls', className)}>{children}</div>\n);\n\nconst PromptFooterControlsButtonSecondary = ({ className, ...props }: ButtonProps) => (\n <Button\n appearance='ghost'\n className={clsx('str-chat__prompt__footer__controls-button', className)}\n size='md'\n variant='secondary'\n {...props}\n />\n);\n\nconst PromptFooterControlsButtonPrimary = ({ className, ...props }: ButtonProps) => (\n <Button\n appearance='solid'\n className={clsx('str-chat__prompt__footer__controls-button', className)}\n size='md'\n variant='primary'\n {...props}\n />\n);\n\nexport const Prompt = {\n Body: PromptBody,\n Footer: PromptFooter,\n FooterControls: PromptFooterControls,\n FooterControlsButtonPrimary: PromptFooterControlsButtonPrimary,\n FooterControlsButtonSecondary: PromptFooterControlsButtonSecondary,\n Header: PromptHeader,\n Root: PromptRoot,\n};\n","export function prettifyFileSize(bytes: number, precision = 3) {\n const units = ['B', 'kB', 'MB', 'GB'];\n const exponent =\n bytes === 0\n ? 0\n : Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1);\n const mantissa = bytes / 1024 ** exponent;\n const formattedMantissa =\n // `toPrecision` switches to exponential notation as soon as the value needs more integer\n // digits than the requested significant digits, so any size just below the next unit boundary\n // came out as `1.00e+3 B` (1000-1023 B, and the same range in kB/MB/GB). Such a mantissa has\n // no fraction worth showing at this precision, so round it to an integer instead.\n precision === 0 || mantissa >= 10 ** precision\n ? Math.round(mantissa).toString()\n : mantissa.toPrecision(precision);\n return `${formattedMantissa} ${units[exponent]}`;\n}\n","import React from 'react';\nimport { prettifyFileSize } from '../../MessageComposer/hooks/utils';\n\nexport type FileSizeIndicatorProps = {\n /** file size in byte */\n fileSize?: number | string;\n /**\n The maximum number of fraction digits to display. If not set, the default behavior is to round to 3 significant digits.\n @default undefined\n */\n maximumFractionDigits?: number;\n};\n\nexport const FileSizeIndicator = ({\n fileSize,\n maximumFractionDigits,\n}: FileSizeIndicatorProps) => {\n const actualFileSize = typeof fileSize === 'string' ? parseFloat(fileSize) : fileSize;\n\n if (typeof actualFileSize === 'undefined' || !Number.isFinite(Number(actualFileSize))) {\n return null;\n }\n\n return (\n <span\n className='str-chat__message-attachment-file--item-size'\n data-testid='file-size-indicator'\n >\n {prettifyFileSize(actualFileSize, maximumFractionDigits)}\n </span>\n );\n};\n","import type { Channel } from 'stream-chat';\n\nexport const isDmChannel = ({\n channel,\n ownUserId,\n}: {\n channel: Channel;\n ownUserId?: string;\n}) => {\n const memberCount = channel.data?.member_count ?? 0;\n return (\n memberCount === 1 ||\n (memberCount === 2 &&\n !!ownUserId &&\n Object.values(channel.state?.members ?? {}).some(\n ({ user }) => user?.id === ownUserId,\n ))\n );\n};\n","import type { Channel, MembersState } from 'stream-chat';\n\nimport { useChannel, useChatContext } from '../context';\nimport { useStateStore } from '../store';\nimport { isDmChannel } from '../utils';\n\nexport type UseIsDmChannelParams = {\n channel?: Channel;\n};\n\nconst membersSelector = (nextValue: MembersState) => ({\n memberCount: nextValue.memberCount,\n members: nextValue.members,\n});\n\n/**\n * Reactively determines whether a channel is a direct-messaging channel.\n *\n * Subscribes to the channel's members state so the result recomputes when membership\n * changes, then delegates the actual check to the `isDmChannel` util. Defaults to the\n * channel from context; pass `channel` to check a specific one.\n */\nexport const useIsDmChannel = ({\n channel: channelOverride,\n}: UseIsDmChannelParams = {}) => {\n const contextChannel = useChannel();\n const channel = channelOverride ?? contextChannel;\n const { client } = useChatContext();\n // Subscribe for reactivity — re-run isDmChannel whenever membership changes.\n useStateStore(channel.state, membersSelector);\n\n return isDmChannel({ channel, ownUserId: client.user?.id });\n};\n","import { useMemo } from 'react';\nimport { useAriaIdentifiers } from './useAriaIdentifiers';\n\nexport type ResolvedModalAriaProps = {\n 'aria-describedby'?: string;\n 'aria-label'?: string;\n 'aria-labelledby'?: string;\n};\n\ntype UseResolvedModalAriaPropsParams = {\n ariaDescribedby?: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n dialogId?: string;\n};\n\n/**\n * Resolves modal labeling/description attributes from explicit props first,\n * then from the modal dialog id convention (`${dialogId}-title|description`).\n *\n * Rules:\n * - `aria-labelledby` wins over `aria-label`.\n * - `aria-describedby` defaults to inferred id when explicit value is absent.\n */\nexport const useResolvedModalAriaProps = ({\n ariaDescribedby,\n ariaLabel,\n ariaLabelledby,\n dialogId,\n}: UseResolvedModalAriaPropsParams): ResolvedModalAriaProps => {\n const { descriptionId, titleId } = useAriaIdentifiers(dialogId);\n\n return useMemo(() => {\n const resolvedAriaLabelledby = ariaLabel\n ? ariaLabelledby\n : (ariaLabelledby ?? titleId);\n const resolvedAriaDescribedby = ariaDescribedby ?? descriptionId;\n const resolvedAriaLabel = resolvedAriaLabelledby ? undefined : ariaLabel;\n\n return {\n 'aria-describedby': resolvedAriaDescribedby,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': resolvedAriaLabelledby,\n };\n }, [ariaDescribedby, ariaLabel, ariaLabelledby, descriptionId, titleId]);\n};\n","import clsx from 'clsx';\nimport React, {\n type ComponentProps,\n type ComponentType,\n type PropsWithChildren,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport { FocusScope } from '@react-aria/focus';\n\nimport { AriaLiveOutlet } from '../Accessibility';\nimport { NotificationList as DefaultNotificationList } from '../Notifications';\nimport {\n DialogManagerProvider,\n ModalContextProvider,\n modalDialogManagerId,\n useChatContext,\n useComponentContext,\n} from '../../context';\nimport {\n DialogPortalEntry,\n modalDialogId,\n useModalDialog,\n useModalDialogIsOpen,\n useModalDialogIsTopmost,\n} from '../Dialog';\nimport { useResolvedModalAriaProps } from '../../a11y/hooks/useResolvedModalAriaProps';\nimport { useStableId } from '../UtilityComponents/useStableId';\n\nexport type ModalCloseEvent =\n | KeyboardEvent\n | React.KeyboardEvent\n | React.MouseEvent<HTMLButtonElement | HTMLDivElement>;\n\nexport type ModalCloseSource = 'overlay' | 'button' | 'escape';\nexport type ModalInitialFocusStrategy = 'dialog' | 'firstElement';\n\nexport type ModalProps = {\n /** If true, modal is opened or visible. */\n open: boolean;\n /** Custom class to be applied to the modal root div */\n className?: string;\n /** Optional stable id for this modal instance. Generated automatically when omitted. */\n dialogId?: string;\n /** Properties forwarded to the root div within which the dialog content is rendered */\n dialogRootProps?: Omit<\n ComponentProps<'div'>,\n 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'role'\n >;\n /** Accessible label for the modal dialog. Ignored when aria-labelledby is provided. */\n 'aria-label'?: string;\n /** ID of the element that labels the modal dialog. */\n 'aria-labelledby'?: string;\n /** ID of the element that describes the modal dialog. */\n 'aria-describedby'?: string;\n /** ARIA role for the modal dialog surface. */\n role?: 'alertdialog' | 'dialog';\n /** Controls whether the dialog surface or the first focusable descendant receives initial focus. */\n initialFocusStrategy?: ModalInitialFocusStrategy;\n /** Resolves a custom initial focus element. When provided, it overrides `initialFocusStrategy` and falls back to the dialog surface when no element is returned. */\n getInitialFocusElement?: (dialogElement: HTMLDivElement) => HTMLElement | null;\n /** If provided, the close button is rendered on overlay */\n CloseButtonOnOverlay?: ComponentType<ComponentProps<'button'>>;\n /** Callback handler for closing of modal. */\n onClose?: (event: ModalCloseEvent) => void;\n /** Optional handler to intercept closing logic. Return false to prevent onClose. */\n onCloseAttempt?: (source: ModalCloseSource, event: ModalCloseEvent) => boolean;\n};\n\nexport const GlobalModal = ({\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n children,\n className,\n CloseButtonOnOverlay,\n dialogId,\n dialogRootProps,\n getInitialFocusElement,\n initialFocusStrategy,\n onClose,\n onCloseAttempt,\n open,\n role = 'dialog',\n}: PropsWithChildren<ModalProps>) => {\n const generatedDialogId = useStableId();\n const resolvedDialogId = dialogId ?? `${modalDialogId}-${generatedDialogId}`;\n const dialog = useModalDialog(resolvedDialogId);\n const isOpen = useModalDialogIsOpen(resolvedDialogId);\n const isTopmost = useModalDialogIsTopmost(resolvedDialogId);\n const overlayRef = useRef<HTMLDivElement | null>(null);\n const dialogRef = useRef<HTMLDivElement | null>(null);\n const closeButtonRef = useRef<HTMLButtonElement | null>(null);\n const closingRef = useRef(false);\n const { theme } = useChatContext();\n const { NotificationList = DefaultNotificationList } = useComponentContext();\n const {\n className: dialogRootClassName,\n onKeyDown: dialogRootOnKeyDown,\n ...dialogRootPropsRest\n } = dialogRootProps ?? {};\n // Base for label/description ids must be unique per modal. `resolvedDialogId` already carries a\n // per-instance suffix; the shared `modalDialogId` fallback would collide across stacked modals.\n const dialogLabelingBaseId = resolvedDialogId;\n const resolvedInitialFocusStrategy: ModalInitialFocusStrategy =\n initialFocusStrategy ?? 'firstElement';\n const resolvedModalAriaProps = useResolvedModalAriaProps({\n ariaDescribedby,\n ariaLabel,\n ariaLabelledby,\n dialogId: dialogLabelingBaseId,\n });\n\n const maybeClose = useCallback(\n (source: ModalCloseSource, event: ModalCloseEvent) => {\n const allow = onCloseAttempt?.(source, event);\n if (allow !== false) {\n dialog.close();\n closingRef.current = true;\n onClose?.(event);\n }\n },\n [dialog, onClose, onCloseAttempt],\n );\n\n const modalContextValue = useMemo<{ close: () => void; dialogId?: string }>(\n () => ({\n close: () => maybeClose('button', {} as ModalCloseEvent),\n dialogId: dialogLabelingBaseId,\n }),\n [dialogLabelingBaseId, maybeClose],\n );\n\n const handleOverlayClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (!isTopmost) return;\n const target = event.target as HTMLDivElement;\n if (overlayRef.current === target) {\n maybeClose('overlay', event);\n }\n };\n\n const handleCloseButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!isTopmost) return;\n maybeClose('button', event);\n };\n\n const handleDialogKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n dialogRootOnKeyDown?.(event);\n if (event.defaultPrevented || !isTopmost) return;\n\n if (event.key === 'Escape') {\n maybeClose('escape', event);\n return;\n }\n\n // Initial focus lands on the dialog surface so the screen reader announces the dialog\n // identity/description (a child field's focus would supersede that). Enter on the surface then\n // steps the user into the dialog's declared default field (`[data-autofocus]`), so they can\n // start interacting without hunting for it. `event.target === dialogRef.current` ensures we\n // only react to Enter on the surface itself, never one bubbling up from a control inside.\n if (event.key === 'Enter' && event.target === dialogRef.current) {\n const target = dialogRef.current?.querySelector<HTMLElement>('[data-autofocus]');\n if (target) {\n event.preventDefault();\n target.focus();\n }\n }\n };\n\n // Sync open prop to dialog state.\n // closingRef blocks re-open when we just closed and parent hasn't set open=false yet.\n useEffect(() => {\n if (!open) {\n closingRef.current = false;\n if (isOpen) {\n dialog.close();\n }\n return;\n }\n if (open && !isOpen && !closingRef.current) {\n dialog.open();\n }\n }, [dialog, isOpen, open]);\n\n useEffect(() => {\n if (\n !open ||\n !isOpen ||\n // Only the topmost modal may take initial focus; a non-topmost (inert) stacked modal must not\n // pull focus behind the active one (mirrors the FocusScope/AriaLiveOutlet topmost gating).\n !isTopmost ||\n (!getInitialFocusElement && resolvedInitialFocusStrategy === 'firstElement')\n )\n return;\n\n const frame = requestAnimationFrame(() => {\n const dialogElement = dialogRef.current;\n if (!dialogElement) return;\n\n const target = getInitialFocusElement?.(dialogElement) ?? dialogElement;\n\n target.focus();\n });\n\n return () => cancelAnimationFrame(frame);\n }, [getInitialFocusElement, isOpen, isTopmost, open, resolvedInitialFocusStrategy]);\n\n if (!open || !isOpen) return null;\n\n return (\n <DialogPortalEntry dialogId={resolvedDialogId} dialogManagerId={modalDialogManagerId}>\n <ModalContextProvider value={modalContextValue}>\n <div\n className={clsx(\n 'str-chat',\n theme,\n 'str-chat__modal str-chat-react__modal str-chat__modal--open',\n className,\n )}\n onClick={handleOverlayClick}\n ref={overlayRef}\n >\n <FocusScope\n autoFocus={\n isTopmost &&\n !getInitialFocusElement &&\n resolvedInitialFocusStrategy === 'firstElement'\n }\n contain={isTopmost}\n restoreFocus\n >\n <div\n {...dialogRootPropsRest}\n aria-describedby={resolvedModalAriaProps['aria-describedby']}\n aria-label={resolvedModalAriaProps['aria-label']}\n aria-labelledby={resolvedModalAriaProps['aria-labelledby']}\n aria-modal={isTopmost ? 'true' : undefined}\n className={clsx('str-chat__modal__dialog', dialogRootClassName)}\n inert={isTopmost ? undefined : true}\n onKeyDown={handleDialogKeyDown}\n ref={dialogRef}\n role={role}\n tabIndex={isTopmost ? 0 : -1}\n >\n <DialogManagerProvider\n id={`${resolvedDialogId}-floating-dialog-manager`}\n portalDestinationProps={{\n captureOutsideClicks: true,\n className: 'str-chat__modal__floating-dialog-overlay',\n }}\n >\n {children}\n {/* Render the live-region outlet inside the active modal subtree\n (only the topmost dialog carries `aria-modal`) so announcements\n are not suppressed by assistive technologies. */}\n {isTopmost && <AriaLiveOutlet layer={1} />}\n </DialogManagerProvider>\n </div>\n </FocusScope>\n <NotificationList\n className='str-chat__modal__notification-list'\n panel='modal'\n verticalAlignment='top'\n />\n {CloseButtonOnOverlay && (\n <CloseButtonOnOverlay onClick={handleCloseButtonClick} ref={closeButtonRef} />\n )}\n </div>\n </ModalContextProvider>\n </DialogPortalEntry>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { sanitizeUrl } from '@braintree/sanitize-url';\n\nimport { useComponentContextIcons, useTranslationContext } from '../../../context';\n\nexport type DownloadButtonProps = {\n /** Attachment asset URL (e.g. `asset_url`). */\n assetUrl?: string;\n className?: string;\n /** Suggested filename for the `download` attribute (not the HTML `title` tooltip). */\n suggestedFileName?: string;\n /** Native browser tooltip; defaults to translated “Download Attachment”. */\n tooltipTitle?: string;\n};\n\n/**\n * Icon download control for {@link Audio} and {@link FileAttachment} rows.\n * (BaseImage defines its own small download link when `showDownloadButtonOnError` is used.)\n */\nexport const DownloadButton = ({\n assetUrl,\n className,\n suggestedFileName,\n tooltipTitle,\n}: DownloadButtonProps) => {\n const { IconDownload } = useComponentContextIcons();\n const { t } = useTranslationContext();\n if (!assetUrl) return null;\n const href = sanitizeUrl(assetUrl);\n if (!href) return null;\n\n return (\n <a\n aria-label={t('common.downloadAttachment.ariaLabel', 'Download attachment')}\n className={clsx(\n 'str-chat__button',\n 'str-chat__button--secondary',\n 'str-chat__button--outline',\n 'str-chat__button--circular',\n 'str-chat__button--size-sm',\n 'str-chat__audio-attachment-download-button',\n className,\n )}\n download={suggestedFileName ?? ''}\n href={href}\n rel='noopener noreferrer'\n target='_blank'\n title={tooltipTitle ?? t('common.downloadAttachment.title', 'Download Attachment')}\n >\n <div className='str-chat__button__content'>\n <IconDownload className='str-chat__icon str-chat__audio-attachment-download-button__icon' />\n </div>\n </a>\n );\n};\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport React from 'react';\nimport clsx from 'clsx';\n\nexport const BASE_FILE_ICON_CLASSNAME = 'str-chat__file-icon' as const;\nexport const FILE_ICON_GRAPHIC_CLASSNAME = 'str-chat__file-icon__graphic' as const;\n/** Add this class (e.g. via className) when hiding the label with CSS to center the icon graphic. */\nexport const FILE_ICON_NO_LABEL_CLASSNAME = 'str-chat__file-icon--no-label' as const;\n\nexport type FileIconSize = 'sm' | 'md' | 'lg' | 'xl';\n\nexport type FileIconSizeConfigEntry = {\n width: number;\n height: number;\n labelX: number;\n labelY: number;\n};\n\n/** Rendered dimensions (px) and label position in viewBox coords for consistent spacing. */\nexport const FILE_ICON_SIZE_CONFIG: Record<FileIconSize, FileIconSizeConfigEntry> = {\n lg: { height: 40, labelX: 16, labelY: 36, width: 32 },\n md: { height: 32, labelX: 16, labelY: 35, width: 26 },\n sm: { height: 24, labelX: 16, labelY: 31.5, width: 19 },\n xl: { height: 48, labelX: 16, labelY: 36, width: 40 },\n};\n\n/** Merge partial overrides with default config. Use for Chat-level fileIconSizeConfig. */\nexport const mergeFileIconSizeConfig = (\n overrides?: Partial<Record<FileIconSize, Partial<FileIconSizeConfigEntry>>>,\n): Record<FileIconSize, FileIconSizeConfigEntry> => {\n if (!overrides) return FILE_ICON_SIZE_CONFIG;\n return (['sm', 'md', 'lg', 'xl'] as const).reduce(\n (acc, size) => ({\n ...acc,\n [size]: { ...FILE_ICON_SIZE_CONFIG[size], ...overrides[size] },\n }),\n {} as Record<FileIconSize, FileIconSizeConfigEntry>,\n );\n};\n\nconst FILE_ICON_VIEWBOX = { height: 40, width: 32 } as const;\nconst FILE_ICON_PAPER_PATH =\n 'M0 4C0 1.79086 1.79086 0 4 0H22.4L32 10V36C32 38.2091 30.2091 40 28 40H4C1.79086 40 0 38.2091 0 36V4Z';\nconst FILE_ICON_FOLD_PATH = 'M32 10H25.4C23.7431 10 22.4 8.65685 22.4 7V0L32 10Z';\nconst FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_X = 32 / 26;\nconst FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_Y = 40 / 32;\n\nexport type BaseFileIconProps = {\n label?: string;\n /** Resolved size config (defaults from FILE_ICON_SIZE_CONFIG when omitted). Pass sizeConfig on FileIcon or use AttachmentFileIcon to override. */\n sizeConfig?: Record<FileIconSize, FileIconSizeConfigEntry>;\n size?: FileIconSize;\n} & ComponentPropsWithoutRef<'svg'>;\n\ntype SvgProps = Omit<BaseFileIconProps, 'label'>;\n\nconst Svg = ({ className, size, sizeConfig, ...props }: SvgProps) => {\n const config = sizeConfig ?? FILE_ICON_SIZE_CONFIG;\n const dimensions = size ? config[size] : undefined;\n const dimensionsStyle = dimensions\n ? {\n flexShrink: 0,\n height: `${dimensions.height}px`,\n width: `${dimensions.width}px`,\n }\n : undefined;\n\n return (\n <svg\n height={dimensions?.height}\n viewBox={`0 0 ${FILE_ICON_VIEWBOX.width} ${FILE_ICON_VIEWBOX.height}`}\n width={dimensions?.width}\n xmlns='http://www.w3.org/2000/svg'\n {...props}\n className={clsx(\n BASE_FILE_ICON_CLASSNAME,\n { [`${BASE_FILE_ICON_CLASSNAME}--size-${size}`]: size },\n className,\n )}\n style={{ ...dimensionsStyle, ...props.style }}\n />\n );\n};\n\ntype FileIconLabelProps = {\n label?: string;\n size?: FileIconSize;\n sizeConfig?: Record<FileIconSize, FileIconSizeConfigEntry>;\n};\n\nconst FileIconLabel = ({ label, size, sizeConfig }: FileIconLabelProps) => {\n const configMap = sizeConfig ?? FILE_ICON_SIZE_CONFIG;\n const config = size ? configMap[size] : { labelX: 16, labelY: 33 };\n return (\n <text className='str-chat__file-icon__label' x={config.labelX} y={config.labelY}>\n {label}\n </text>\n );\n};\n\ntype FileIconSymbolMap = {\n withCaption: ReactNode;\n withoutCaption: ReactNode;\n};\n\nconst TEXT_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <>\n <rect fill='white' height='1.6' rx='0.8' width='14.4' x='8' y='12.2' />\n <rect fill='white' height='1.6' rx='0.8' width='14.4' x='8' y='20.2' />\n <rect fill='white' height='1.6' rx='0.8' width='9.6' x='8' y='16.2' />\n </>\n ),\n withoutCaption: (\n <>\n <rect fill='white' height='1.4' rx='0.7' width='12.6' x='6' y='14.8' />\n <rect fill='white' height='1.4' rx='0.7' width='12.6' x='6' y='21.8' />\n <rect fill='white' height='1.4' rx='0.7' width='8.4' x='6' y='18.3' />\n </>\n ),\n};\n\nconst OTHER_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <>\n <rect fill='white' height='1.6' rx='0.8' width='14.4' x='8' y='13.2' />\n <rect fill='white' height='1.6' rx='0.8' width='14.4' x='8' y='21.2' />\n <rect fill='white' height='1.6' rx='0.8' width='9.6' x='8' y='17.2' />\n </>\n ),\n withoutCaption: TEXT_SYMBOLS.withoutCaption,\n};\n\nconst CODE_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n d='M14.5 22.5L17.5 11.5M20.1666 14.1667L21.9732 16.0862C22.4564 16.5996 22.4564 17.4004 21.9732 17.9138L20.1666 19.8333M11.8333 19.8333L10.0267 17.9138C9.54351 17.4004 9.54351 16.5996 10.0267 16.0862L11.8333 14.1667'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n ),\n withoutCaption: (\n <path\n d='M11.6876 23.8125L14.3126 14.1875M16.646 16.5208L18.2267 18.2004C18.6495 18.6496 18.6495 19.3503 18.2267 19.7996L16.646 21.4792M9.3543 21.4792L7.77352 19.7996C7.35072 19.3503 7.35072 18.6496 7.77352 18.2004L9.3543 16.5208'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.33333'\n />\n ),\n};\n\nconst AUDIO_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n d='M20.5 15.5V18.5M22.5 14.5V19.5M13.5 19.5H10.5C10.3674 19.5 10.2402 19.4473 10.1464 19.3536C10.0527 19.2598 10 19.1326 10 19V15C10 14.8674 10.0527 14.7402 10.1464 14.6464C10.2402 14.5527 10.3674 14.5 10.5 14.5H13.5L18 11V23L13.5 19.5Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n ),\n withoutCaption: (\n <path\n d='M17.5 17.5V20.5M19.5 16.5V21.5M10.5 21.5H7.5C7.36739 21.5 7.24021 21.4473 7.14645 21.3536C7.05268 21.2598 7 21.1326 7 21V17C7 16.8674 7.05268 16.7402 7.14645 16.6464C7.24021 16.5527 7.36739 16.5 7.5 16.5H10.5L15 13V25L10.5 21.5Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.33333'\n />\n ),\n};\n\nconst PRESENTATION_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n d='M12.5 15.5H19.5M16 17.5V22.5M14 22.5H18M9.49999 17.5C9.41472 17.5001 9.33085 17.4783 9.25635 17.4368C9.18185 17.3953 9.1192 17.3355 9.07436 17.263C9.02952 17.1904 9.00397 17.1076 9.00014 17.0224C8.99631 16.9373 9.01433 16.8525 9.05249 16.7762L11.5525 11.7763C11.5941 11.6932 11.6579 11.6233 11.737 11.5745C11.816 11.5257 11.9071 11.4999 12 11.5H20C20.0929 11.4999 20.184 11.5257 20.263 11.5745C20.342 11.6233 20.4059 11.6932 20.4475 11.7763L22.9475 16.7762C22.9857 16.8525 23.0037 16.9373 22.9998 17.0224C22.996 17.1076 22.9705 17.1904 22.9256 17.263C22.8808 17.3355 22.8181 17.3953 22.7436 17.4368C22.6691 17.4783 22.5853 17.5001 22.5 17.5H9.49999Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n ),\n withoutCaption: (\n <path\n d='M9.49999 17.5H16.5M13 19.5V24.5M11 24.5H15M6.49999 19.5C6.41472 19.5001 6.33085 19.4783 6.25635 19.4368C6.18185 19.3953 6.11921 19.3355 6.07436 19.263C6.02952 19.1904 6.00397 19.1076 6.00014 19.0224C5.99631 18.9373 6.01433 18.8525 6.05249 18.7763L8.55249 13.7763C8.59406 13.6932 8.65795 13.6233 8.73699 13.5745C8.81603 13.5257 8.9071 13.4999 8.99999 13.5H17C17.0929 13.4999 17.184 13.5257 17.263 13.5745C17.342 13.6233 17.4059 13.6932 17.4475 13.7763L19.9475 18.7763C19.9857 18.8525 20.0037 18.9373 19.9998 19.0224C19.996 19.1076 19.9705 19.1904 19.9256 19.263C19.8808 19.3355 19.8181 19.3953 19.7436 19.4368C19.6691 19.4783 19.5853 19.5001 19.5 19.5H6.49999Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.33333'\n />\n ),\n};\n\nconst SPREADSHEET_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n d='M10 15.5H22M10 18.5H22M13.5 15.5V21.5M10 12.5H22V21C22 21.1326 21.9473 21.2598 21.8536 21.3536C21.7598 21.4473 21.6326 21.5 21.5 21.5H10.5C10.3674 21.5 10.2402 21.4473 10.1464 21.3536C10.0527 21.2598 10 21.1326 10 21V12.5Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.5'\n />\n ),\n withoutCaption: (\n <path\n d='M7 17.5H19M7 20.5H19M10.5 17.5V23.5M7 14.5H19V23C19 23.1326 18.9473 23.2598 18.8536 23.3536C18.7598 23.4473 18.6326 23.5 18.5 23.5H7.5C7.36739 23.5 7.24021 23.4473 7.14645 23.3536C7.05268 23.2598 7 23.1326 7 23V14.5Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n ),\n};\n\nconst COMPRESSION_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n clipRule='evenodd'\n d='M9.41177 0H7.52942V2H9.41177V4H7.52942V6H9.41177V8H7.52942V10H9.41177V12H7.52942V14H9.41177V12H11.2941V10H9.41177V8H11.2941V6H9.41177V4H11.2941V2H9.41177V0ZM7.52942 17C7.52942 16.4477 7.9508 16 8.4706 16H10.3529C10.8727 16 11.2941 16.4477 11.2941 17V23C11.2941 23.5523 10.8727 24 10.3529 24H8.4706C7.9508 24 7.52942 23.5523 7.52942 23V17ZM8.4706 23V20H10.3529V23H8.4706Z'\n fill='white'\n fillRule='evenodd'\n />\n ),\n withoutCaption: (\n <path\n clipRule='evenodd'\n d='M8.17031 0H6.11768V2.14737H8.17031V4.29474H6.11768V6.4421H8.17031V8.58947H6.11768V10.7368H8.17031V12.8842H6.11768V15.0316H8.17031V12.8842H10.2229V10.7368H8.17031V8.58947H10.2229V6.4421H8.17031V4.29474H10.2229V2.14737H8.17031V0ZM6.11768 18.2526C6.11768 17.6597 6.57717 17.1789 7.14399 17.1789H9.19662C9.76344 17.1789 10.2229 17.6597 10.2229 18.2526V24.6947C10.2229 25.2877 9.76344 25.7684 9.19662 25.7684H7.14399C6.57717 25.7684 6.11768 25.2877 6.11768 24.6947V18.2526ZM7.14399 24.6947V21.4737H9.19662V24.6947H7.14399Z'\n fill='white'\n fillRule='evenodd'\n />\n ),\n};\n\nconst VIDEO_SYMBOLS: FileIconSymbolMap = {\n withCaption: (\n <path\n d='M20.5 16L23.5 14V20L20.5 18M10 13H20C20.2761 13 20.5 13.2239 20.5 13.5V20.5C20.5 20.7761 20.2761 21 20 21H10C9.72386 21 9.5 20.7761 9.5 20.5V13.5C9.5 13.2239 9.72386 13 10 13Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.2'\n />\n ),\n withoutCaption: (\n <path\n d='M17.5001 18L20.5001 16V22L17.5001 20M7.00012 15H17.0001C17.2763 15 17.5001 15.2239 17.5001 15.5V22.5C17.5001 22.7761 17.2763 23 17.0001 23H7.00012C6.72398 23 6.50012 22.7761 6.50012 22.5V15.5C6.50012 15.2239 6.72398 15 7.00012 15Z'\n stroke='white'\n strokeLinecap='round'\n strokeLinejoin='round'\n strokeWidth='1.33333'\n />\n ),\n};\n\ntype StandardFileTypeIconProps = BaseFileIconProps & {\n color: string;\n fileTypeClassName: string;\n symbols: FileIconSymbolMap;\n};\n\nconst StandardFileTypeIcon = ({\n className,\n color,\n fileTypeClassName,\n label,\n size,\n sizeConfig,\n symbols,\n ...props\n}: StandardFileTypeIconProps) => {\n const renderLabel = !!label;\n const resolvedLabel = renderLabel ? label : undefined;\n const symbolVariant = renderLabel ? 'withCaption' : 'withoutCaption';\n\n return (\n <Svg\n {...props}\n className={clsx(fileTypeClassName, className)}\n size={size}\n sizeConfig={sizeConfig}\n >\n <g className={FILE_ICON_GRAPHIC_CLASSNAME}>\n <path d={FILE_ICON_PAPER_PATH} fill={color} />\n {renderLabel ? (\n symbols[symbolVariant]\n ) : (\n <g\n transform={`scale(${FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_X} ${FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_Y})`}\n >\n {symbols[symbolVariant]}\n </g>\n )}\n <path d={FILE_ICON_FOLD_PATH} fill='white' opacity='0.5' />\n </g>\n {resolvedLabel && (\n <FileIconLabel label={resolvedLabel} size={size} sizeConfig={sizeConfig} />\n )}\n </Svg>\n );\n};\n\nconst PDF_SMALL_SYMBOL = (\n <path\n d='M20.7533 19.5337C20.28 19.037 19.3093 18.7537 17.9373 18.7537C17.204 18.7537 16.3526 18.8244 15.43 18.9897C14.8647 18.4461 14.3499 17.8523 13.892 17.2157C13.5373 16.7424 13.2293 16.2224 12.9453 15.725C13.49 14.069 13.75 12.7204 13.75 11.7504C13.75 10.6624 13.348 9.52637 12.1886 9.52637C11.834 9.52637 11.4786 9.7397 11.2893 10.047C10.7693 10.9697 11.006 12.9804 11.9046 14.9677C11.5664 15.984 11.1876 16.9863 10.7693 17.9724C10.3906 18.8717 9.96465 19.7944 9.49131 20.6457C6.88931 21.687 5.20931 22.8937 5.01998 23.839C4.94931 24.1944 5.06731 24.5257 5.32798 24.7857C5.42265 24.857 5.75398 25.141 6.32131 25.141C8.04798 25.141 9.86998 22.349 10.7926 20.6697C11.5026 20.433 12.2126 20.1964 12.922 20.007C13.6704 19.8038 14.4284 19.638 15.1933 19.5104C17.0146 21.1424 18.6233 21.403 19.428 21.403C20.4213 21.403 20.7766 21.0004 20.8946 20.6697C21.108 20.243 20.966 19.7704 20.7533 19.5337ZM19.8066 20.2204C19.7353 20.575 19.38 20.8117 18.884 20.8117C18.742 20.8117 18.624 20.7877 18.4813 20.7644C17.5826 20.551 16.7306 20.1017 15.8793 19.3917C16.5357 19.2807 17.2003 19.2254 17.866 19.2264C18.3633 19.2264 18.7893 19.2497 19.0726 19.321C19.404 19.3917 19.9246 19.605 19.806 20.2197L19.8066 20.2204ZM14.7906 19.1084C14.1305 19.2321 13.4755 19.382 12.8273 19.5577C12.262 19.7047 11.7017 19.8703 11.1473 20.0544C11.4355 19.4962 11.7039 18.9281 11.952 18.351C12.236 17.6884 12.472 17.0024 12.7093 16.3637C12.9453 16.7657 13.206 17.1684 13.466 17.523C13.8911 18.065 14.3329 18.5937 14.7906 19.1084ZM11.692 10.307C11.7338 10.2232 11.7978 10.1525 11.877 10.1025C11.9563 10.0526 12.0477 10.0253 12.1413 10.0237C12.638 10.0237 12.7326 10.591 12.7326 11.041C12.7326 11.7977 12.496 12.957 12.094 14.2817C11.4073 12.4364 11.3606 10.899 11.692 10.307ZM9.08931 21.3317C7.88265 23.319 6.72331 24.549 6.01398 24.549C5.88599 24.5498 5.76132 24.5083 5.65931 24.431C5.51731 24.289 5.44598 24.1237 5.49331 23.9344C5.63531 23.2244 7.00731 22.231 9.08931 21.3317Z'\n fill='white'\n />\n);\n\nconst PDF_LEGACY_SYMBOL = (\n <>\n <path\n d='M23.7533 19.2C23.28 18.7033 22.3093 18.42 20.9373 18.42C20.204 18.42 19.3526 18.4906 18.43 18.656C17.8647 18.1124 17.3499 17.5186 16.892 16.882C16.5373 16.4086 16.2293 15.8886 15.9453 15.3913C16.49 13.7353 16.75 12.3866 16.75 11.4166C16.75 10.3286 16.348 9.19263 15.1886 9.19263C14.834 9.19263 14.4786 9.40596 14.2893 9.71329C13.7693 10.636 14.006 12.6466 14.9046 14.634C14.5664 15.6502 14.1877 16.6526 13.7693 17.6386C13.3906 18.538 12.9646 19.4606 12.4913 20.312C9.88931 21.3533 8.20931 22.56 8.01998 23.5053C7.94931 23.8606 8.06731 24.192 8.32798 24.452C8.42265 24.5233 8.75398 24.8073 9.32131 24.8073C11.048 24.8073 12.87 22.0153 13.7926 20.336C14.5026 20.0993 15.2126 19.8626 15.922 19.6733C16.6704 19.4701 17.4284 19.3043 18.1933 19.1766C20.0146 20.8086 21.6233 21.0693 22.428 21.0693C23.4213 21.0693 23.7766 20.6666 23.8946 20.336C24.108 19.9093 23.966 19.4366 23.7533 19.2ZM22.8066 19.8866C22.7353 20.2413 22.38 20.478 21.884 20.478C21.742 20.478 21.624 20.454 21.4813 20.4306C20.5826 20.2173 19.7306 19.768 18.8793 19.058C19.5357 18.947 20.2003 18.8917 20.866 18.8926C21.3633 18.8926 21.7893 18.916 22.0726 18.9873C22.404 19.058 22.9246 19.2713 22.806 19.886L22.8066 19.8866ZM17.7906 18.7746C17.1305 18.8983 16.4755 19.0482 15.8273 19.224C15.262 19.3709 14.7017 19.5366 14.1473 19.7206C14.4355 19.1625 14.7039 18.5944 14.952 18.0173C15.236 17.3546 15.472 16.6686 15.7093 16.03C15.9453 16.432 16.206 16.8346 16.466 17.1893C16.8911 17.7313 17.3329 18.26 17.7906 18.7746ZM14.692 9.97329C14.7338 9.88949 14.7978 9.81875 14.877 9.7688C14.9563 9.71884 15.0477 9.69157 15.1413 9.68996C15.638 9.68996 15.7326 10.2573 15.7326 10.7073C15.7326 11.464 15.496 12.6233 15.094 13.948C14.4073 12.1026 14.3606 10.5653 14.692 9.97329ZM12.0893 20.998C10.8826 22.9853 9.72331 24.2153 9.01398 24.2153C8.88599 24.2161 8.76132 24.1746 8.65931 24.0973C8.51731 23.9553 8.44598 23.79 8.49331 23.6006C8.63531 22.8906 10.0073 21.8973 12.0893 20.998Z'\n fill='white'\n />\n <path\n d='M9.74219 34.4258V28.6992H10.8828V29.3633H10.9531C11.0286 29.2096 11.1276 29.0781 11.25 28.9688C11.375 28.8594 11.5208 28.776 11.6875 28.7188C11.8542 28.6589 12.0391 28.6289 12.2422 28.6289C12.6016 28.6289 12.9115 28.7188 13.1719 28.8984C13.4323 29.0781 13.6328 29.3333 13.7734 29.6641C13.9167 29.9922 13.9883 30.3854 13.9883 30.8438V30.8516C13.9883 31.3125 13.918 31.7083 13.7773 32.0391C13.6367 32.3698 13.4362 32.6237 13.1758 32.8008C12.9154 32.9779 12.6042 33.0664 12.2422 33.0664C12.0443 33.0664 11.8607 33.0365 11.6914 32.9766C11.5247 32.9141 11.3776 32.8268 11.25 32.7148C11.125 32.6029 11.026 32.4688 10.9531 32.3125H10.8828V34.4258H9.74219ZM11.8516 32.1211C12.0547 32.1211 12.2279 32.0703 12.3711 31.9688C12.5169 31.8672 12.6289 31.7214 12.707 31.5312C12.7878 31.3411 12.8281 31.1146 12.8281 30.8516V30.8438C12.8281 30.5807 12.7878 30.3542 12.707 30.1641C12.6289 29.974 12.5169 29.8281 12.3711 29.7266C12.2279 29.625 12.0547 29.5742 11.8516 29.5742C11.651 29.5742 11.4766 29.625 11.3281 29.7266C11.1823 29.8281 11.069 29.974 10.9883 30.1641C10.9102 30.3516 10.8711 30.5781 10.8711 30.8438V30.8516C10.8711 31.112 10.9115 31.3385 10.9922 31.5312C11.0729 31.7214 11.1862 31.8672 11.332 31.9688C11.4805 32.0703 11.6536 32.1211 11.8516 32.1211ZM16.457 33.0664C16.1003 33.0664 15.7904 32.9779 15.5273 32.8008C15.2669 32.6211 15.0651 32.3659 14.9219 32.0352C14.7812 31.7044 14.7109 31.3099 14.7109 30.8516V30.8438C14.7109 30.3828 14.7799 29.987 14.918 29.6562C15.0586 29.3255 15.2591 29.0716 15.5195 28.8945C15.7799 28.7174 16.0924 28.6289 16.457 28.6289C16.6523 28.6289 16.8333 28.6602 17 28.7227C17.1693 28.7826 17.3177 28.8685 17.4453 28.9805C17.5729 29.0924 17.6719 29.2279 17.7422 29.3867H17.8125V27.0547H18.9531V33H17.8125V32.332H17.7422C17.6693 32.4857 17.5703 32.6172 17.4453 32.7266C17.3229 32.8359 17.1784 32.9206 17.0117 32.9805C16.8451 33.0378 16.6602 33.0664 16.457 33.0664ZM16.8438 32.1211C17.0469 32.1211 17.2214 32.0703 17.3672 31.9688C17.513 31.8672 17.625 31.7214 17.7031 31.5312C17.7839 31.3411 17.8242 31.1159 17.8242 30.8555V30.8477C17.8242 30.582 17.7839 30.3555 17.7031 30.168C17.625 29.9779 17.5117 29.832 17.3633 29.7305C17.2174 29.6263 17.0443 29.5742 16.8438 29.5742C16.6458 29.5742 16.4727 29.6263 16.3242 29.7305C16.1784 29.832 16.0664 29.9779 15.9883 30.168C15.9102 30.3555 15.8711 30.5807 15.8711 30.8438V30.8516C15.8711 31.1146 15.9102 31.3411 15.9883 31.5312C16.0664 31.7214 16.1784 31.8672 16.3242 31.9688C16.4701 32.0703 16.6432 32.1211 16.8438 32.1211ZM20.4648 33V29.5586H19.7695V28.6992H20.4648V28.2969C20.4648 28.0104 20.5156 27.7721 20.6172 27.582C20.7188 27.3919 20.8776 27.25 21.0938 27.1562C21.3125 27.0599 21.5951 27.0117 21.9414 27.0117C22.0586 27.0117 22.1641 27.0156 22.2578 27.0234C22.3542 27.0312 22.444 27.0417 22.5273 27.0547V27.8164C22.4909 27.8086 22.4427 27.8034 22.3828 27.8008C22.3255 27.7956 22.2604 27.793 22.1875 27.793C21.9661 27.793 21.8099 27.8438 21.7188 27.9453C21.6276 28.0443 21.582 28.1875 21.582 28.375V28.6992H22.4922V29.5586H21.6055V33H20.4648Z'\n fill='white'\n />\n </>\n);\n\nexport const FilePdfIcon = ({\n className,\n label,\n size,\n sizeConfig,\n ...props\n}: BaseFileIconProps) => {\n const useLegacyPdfMarkup = !!label;\n\n return (\n <Svg\n {...props}\n className={clsx(\n 'str-chat__file-icon--pdf',\n useLegacyPdfMarkup && FILE_ICON_NO_LABEL_CLASSNAME,\n className,\n )}\n size={size}\n sizeConfig={sizeConfig}\n >\n <g className={FILE_ICON_GRAPHIC_CLASSNAME}>\n <path d={FILE_ICON_PAPER_PATH} fill='#E71A01' />\n {useLegacyPdfMarkup ? (\n PDF_LEGACY_SYMBOL\n ) : (\n <g\n transform={`scale(${FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_X} ${FILE_ICON_WITHOUT_CAPTION_SYMBOL_SCALE_Y})`}\n >\n {PDF_SMALL_SYMBOL}\n </g>\n )}\n <path d={FILE_ICON_FOLD_PATH} fill='white' opacity='0.5' />\n </g>\n </Svg>\n );\n};\n\nexport const FileWordIcon = ({ className, label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#3375E2'\n fileTypeClassName='str-chat__file-icon--doc'\n label={label}\n symbols={TEXT_SYMBOLS}\n />\n);\n\nexport const FilePowerPointIcon = ({ className, label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#D14423'\n fileTypeClassName='str-chat__file-icon--ppt'\n label={label}\n symbols={PRESENTATION_SYMBOLS}\n />\n);\n\nexport const FileExcelIcon = ({ className = '', label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#0C864B'\n fileTypeClassName='str-chat__file-icon--xls'\n label={label}\n symbols={SPREADSHEET_SYMBOLS}\n />\n);\n\nexport const FileArchiveIcon = ({\n className = '',\n label = '',\n ...props\n}: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#E59E34'\n fileTypeClassName='str-chat__file-icon--compressed'\n label={label}\n symbols={COMPRESSION_SYMBOLS}\n />\n);\n\nexport const FileCodeIcon = ({ className = '', label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#00ACA1'\n fileTypeClassName='str-chat__file-icon--code'\n label={label}\n symbols={CODE_SYMBOLS}\n />\n);\n\nexport const FileAudioIcon = ({ className = '', label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#2727B0'\n fileTypeClassName='str-chat__file-icon--audio'\n label={label}\n symbols={AUDIO_SYMBOLS}\n />\n);\n\nexport const FileVideoIcon = ({ className = '', label, ...props }: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#A847B7'\n fileTypeClassName='str-chat__file-icon--video'\n label={label}\n symbols={VIDEO_SYMBOLS}\n />\n);\n\nexport const FileFallbackIcon = ({\n className = '',\n label = '',\n ...props\n}: BaseFileIconProps) => (\n <StandardFileTypeIcon\n {...props}\n className={className}\n color='#888888'\n fileTypeClassName='str-chat__file-icon--other'\n label={label}\n symbols={OTHER_SYMBOLS}\n />\n);\n","export type GeneralType = 'audio/' | 'video/' | 'image/' | 'text/';\n\nexport type SupportedMimeType =\n | (typeof wordMimeTypes)[number]\n | (typeof excelMimeTypes)[number]\n | (typeof powerpointMimeTypes)[number]\n | (typeof archiveFileTypes)[number]\n | (typeof codeFileTypes)[number];\n\nexport const wordMimeTypes = [\n // Microsoft Word\n // .doc .dot\n 'application/msword',\n // .doc .dot\n 'application/msword-template',\n // .docx\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n // .dotx (no test)\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n // .docm\n 'application/vnd.ms-word.document.macroEnabled.12',\n // .dotm (no test)\n 'application/vnd.ms-word.template.macroEnabled.12',\n\n // LibreOffice/OpenOffice Writer\n // .odt\n 'application/vnd.oasis.opendocument.text',\n // .ott\n 'application/vnd.oasis.opendocument.text-template',\n // .fodt\n 'application/vnd.oasis.opendocument.text-flat-xml',\n // .uot\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nexport const excelMimeTypes = [\n // .csv\n 'text/csv',\n // TODO: maybe more data files\n\n // Microsoft Excel\n // .xls .xlt .xla (no test for .xla)\n 'application/vnd.ms-excel',\n // .xlsx\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n // .xltx (no test)\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n // .xlsm\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n // .xltm (no test)\n 'application/vnd.ms-excel.template.macroEnabled.12',\n // .xlam (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n // .xlsb (no test)\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n\n // LibreOffice/OpenOffice Calc\n // .ods\n 'application/vnd.oasis.opendocument.spreadsheet',\n // .ots\n 'application/vnd.oasis.opendocument.spreadsheet-template',\n // .fods\n 'application/vnd.oasis.opendocument.spreadsheet-flat-xml',\n // .uos\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nexport const powerpointMimeTypes = [\n // Microsoft Word\n // .ppt .pot .pps .ppa (no test for .ppa)\n 'application/vnd.ms-powerpoint',\n // .pptx\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n // .potx (no test)\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n // .ppsx\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n // .ppam\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n // .pptm\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n // .potm\n 'application/vnd.ms-powerpoint.template.macroEnabled.12',\n // .ppsm\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',\n\n // LibreOffice/OpenOffice Writer\n // .odp\n 'application/vnd.oasis.opendocument.presentation',\n // .otp\n 'application/vnd.oasis.opendocument.presentation-template',\n // .fodp\n 'application/vnd.oasis.opendocument.presentation-flat-xml',\n // .uop\n // NOTE: firefox doesn't know mimetype so maybe ignore\n];\n\nexport const archiveFileTypes = [\n // .zip\n 'application/zip',\n // .z7\n 'application/x-7z-compressed',\n // .ar\n 'application/x-archive',\n // .tar\n 'application/x-tar',\n // .tar.gz\n 'application/gzip',\n // .tar.Z\n 'application/x-compress',\n // .tar.bz2\n 'application/x-bzip',\n // .tar.lz\n 'application/x-lzip',\n // .tar.lz4\n 'application/x-lz4',\n // .tar.lzma\n 'application/x-lzma',\n // .tar.lzo (no test)\n 'application/x-lzop',\n // .tar.xz\n 'application/x-xz',\n // .war\n 'application/x-webarchive',\n // .rar\n 'application/vnd.rar',\n];\n\nexport const codeFileTypes = [\n // .html .htm\n 'text/html',\n // .css\n 'text/css',\n // .js\n 'application/x-javascript',\n 'text/javascript',\n // .json\n 'application/json',\n // .py\n 'text/x-python',\n // .go\n 'text/x-go',\n // .c\n 'text/x-csrc',\n // .cpp\n 'text/x-c++src',\n // .rb\n 'application/x-ruby',\n // .rust\n 'text/rust',\n // .java\n 'text/x-java',\n // .php\n 'application/x-php',\n // .cs\n 'text/x-csharp',\n // .scala\n 'text/x-scala',\n // .erl\n 'text/x-erlang',\n // .sh\n 'application/x-shellscript',\n];\n\nexport const mimeTypeToExtensionMap: Record<string, string> = {\n // Application types (sorted alphabetically)\n 'application/epub+zip': 'epub',\n 'application/gzip': 'gz',\n 'application/java-archive': 'jar',\n 'application/json': 'json',\n 'application/ld+json': 'jsonld',\n 'application/msword': 'doc',\n 'application/msword-template': 'dot',\n 'application/octet-stream': 'bin',\n 'application/ogg': 'ogx',\n 'application/pdf': 'pdf',\n 'application/postscript': 'ps',\n 'application/rtf': 'rtf',\n 'application/vnd.amazon.ebook': 'azw',\n 'application/vnd.apple.installer+xml': 'mpkg',\n 'application/vnd.mozilla.xul+xml': 'xul',\n 'application/vnd.ms-excel': 'xls',\n 'application/vnd.ms-excel.addin.macroEnabled.12': 'xlam',\n 'application/vnd.ms-excel.sheet.macroEnabled.12': 'xlsm',\n 'application/vnd.ms-excel.template.macroEnabled.12': 'xltm',\n 'application/vnd.ms-fontobject': 'eot',\n 'application/vnd.ms-powerpoint': 'ppt',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12': 'ppam',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12': 'pptm',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12': 'ppsm',\n 'application/vnd.ms-powerpoint.template.macroEnabled.12': 'potm',\n 'application/vnd.ms-word.document.macroEnabled.12': 'docm',\n 'application/vnd.ms-word.template.macroEnabled.12': 'dotm',\n 'application/vnd.oasis.opendocument.presentation': 'odp',\n 'application/vnd.oasis.opendocument.presentation-flat-xml': 'fodp',\n 'application/vnd.oasis.opendocument.presentation-template': 'otp',\n 'application/vnd.oasis.opendocument.spreadsheet': 'ods',\n 'application/vnd.oasis.opendocument.spreadsheet-flat-xml': 'fods',\n 'application/vnd.oasis.opendocument.spreadsheet-template': 'ots',\n 'application/vnd.oasis.opendocument.text': 'odt',\n 'application/vnd.oasis.opendocument.text-flat-xml': 'fodt',\n 'application/vnd.oasis.opendocument.text-template': 'ott',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': 'pptx',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow': 'ppsx',\n 'application/vnd.openxmlformats-officedocument.presentationml.template': 'potx',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': 'xlsx',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template': 'xltx',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'docx',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': 'dotx',\n 'application/vnd.rar': 'rar',\n 'application/vnd.visio': 'vsd',\n 'application/wasm': 'wasm',\n 'application/x-7z-compressed': '7z',\n 'application/x-abiword': 'abw',\n 'application/x-archive': 'ar',\n 'application/x-bzip': 'bz',\n 'application/x-bzip2': 'bz2',\n 'application/x-cdf': 'cda',\n 'application/x-compress': 'Z',\n 'application/x-csh': 'csh',\n 'application/x-dosexec': 'exe',\n 'application/x-freearc': 'arc',\n 'application/x-httpd-php': 'php',\n 'application/x-iso9660-image': 'iso',\n 'application/x-javascript': 'js',\n 'application/x-lz4': 'lz4',\n 'application/x-lzip': 'lz',\n 'application/x-lzma': 'lzma',\n 'application/x-lzop': 'lzo',\n 'application/x-mobipocket-ebook': 'mobi',\n 'application/x-msdownload': 'exe',\n 'application/x-perl': 'pl',\n 'application/x-php': 'php',\n 'application/x-rar-compressed': 'rar',\n 'application/x-ruby': 'rb',\n 'application/x-sh': 'sh',\n 'application/x-shellscript': 'sh',\n 'application/x-shockwave-flash': 'swf',\n 'application/x-sql': 'sql',\n 'application/x-stuffit': 'sit',\n 'application/x-tar': 'tar',\n 'application/x-webarchive': 'war',\n 'application/x-xz': 'xz',\n 'application/x-yaml': 'yaml',\n 'application/xhtml+xml': 'xhtml',\n 'application/xml': 'xml',\n 'application/zip': 'zip',\n\n // Audio types\n 'audio/aac': 'aac',\n 'audio/flac': 'flac',\n 'audio/midi': 'midi',\n 'audio/mp4': 'm4a',\n 'audio/mpeg': 'mp3',\n 'audio/ogg': 'oga',\n 'audio/opus': 'opus',\n 'audio/wav': 'wav',\n 'audio/webm': 'weba',\n 'audio/x-aiff': 'aiff',\n 'audio/x-m4a': 'm4a',\n 'audio/x-midi': 'midi',\n 'audio/x-ms-wma': 'wma',\n 'audio/x-wav': 'wav',\n\n // Font types\n 'font/otf': 'otf',\n 'font/ttf': 'ttf',\n 'font/woff': 'woff',\n 'font/woff2': 'woff2',\n\n // Image types\n 'image/apng': 'apng',\n 'image/avif': 'avif',\n 'image/bmp': 'bmp',\n 'image/gif': 'gif',\n 'image/heic': 'heic',\n 'image/heif': 'heif',\n 'image/jpeg': 'jpg',\n 'image/png': 'png',\n 'image/svg+xml': 'svg',\n 'image/tiff': 'tiff',\n 'image/vnd.microsoft.icon': 'ico',\n 'image/webp': 'webp',\n 'image/x-icon': 'ico',\n\n // Text types\n 'text/calendar': 'ics',\n 'text/css': 'css',\n 'text/csv': 'csv',\n 'text/html': 'html',\n 'text/javascript': 'js',\n 'text/markdown': 'md',\n 'text/plain': 'txt',\n 'text/rtf': 'rtf',\n 'text/rust': 'rs',\n 'text/tab-separated-values': 'tsv',\n 'text/vcard': 'vcf',\n 'text/x-c': 'c',\n 'text/x-c++src': 'cpp',\n 'text/x-csharp': 'cs',\n 'text/x-csrc': 'c',\n 'text/x-diff': 'diff',\n 'text/x-erlang': 'erl',\n 'text/x-go': 'go',\n 'text/x-java': 'java',\n 'text/x-java-source': 'java',\n 'text/x-kotlin': 'kt',\n 'text/x-lua': 'lua',\n 'text/x-markdown': 'md',\n 'text/x-objectivec': 'm',\n 'text/x-pascal': 'pas',\n 'text/x-perl': 'pl',\n 'text/x-python': 'py',\n 'text/x-ruby': 'rb',\n 'text/x-rust': 'rs',\n 'text/x-scala': 'scala',\n 'text/x-sh': 'sh',\n 'text/x-shellscript': 'sh',\n 'text/x-sql': 'sql',\n 'text/x-swift': 'swift',\n 'text/x-typescript': 'ts',\n 'text/x-yaml': 'yaml',\n 'text/xml': 'xml',\n 'text/yaml': 'yaml',\n\n // Video types\n 'video/3gpp': '3gp',\n 'video/3gpp2': '3g2',\n 'video/mp2t': 'ts',\n 'video/mp4': 'mp4',\n 'video/mpeg': 'mpeg',\n 'video/ogg': 'ogv',\n 'video/quicktime': 'mov',\n 'video/webm': 'webm',\n 'video/x-flv': 'flv',\n 'video/x-m4v': 'm4v',\n 'video/x-matroska': 'mkv',\n 'video/x-ms-wmv': 'wmv',\n 'video/x-msvideo': 'avi',\n};\n","import * as fileIconSet from './FileIconSet';\nimport type { GeneralType, SupportedMimeType } from './mimeTypes';\nimport {\n archiveFileTypes,\n codeFileTypes,\n excelMimeTypes,\n powerpointMimeTypes,\n wordMimeTypes,\n} from './mimeTypes';\nimport type { ComponentType } from 'react';\nimport type { BaseFileIconProps } from './FileIconSet';\n\ntype MimeTypeMappedComponent =\n | 'FilePdfIcon'\n | 'FileWordIcon'\n | 'FileExcelIcon'\n | 'FilePowerPointIcon'\n | 'FileArchiveIcon'\n | 'FileCodeIcon';\n\ntype GeneralContentTypeComponent = 'FileAudioIcon' | 'FileVideoIcon' | 'FileAltIcon';\n\ntype IconComponents<Props> = {\n FileAltIcon: ComponentType<Props>;\n FileArchiveIcon: ComponentType<Props>;\n FileAudioIcon: ComponentType<Props>;\n FileCodeIcon: ComponentType<Props>;\n FileExcelIcon: ComponentType<Props>;\n FileFallbackIcon: ComponentType<Props>;\n FilePdfIcon: ComponentType<Props>;\n FilePowerPointIcon: ComponentType<Props>;\n FileVideoIcon: ComponentType<Props>;\n FileWordIcon: ComponentType<Props>;\n};\n\ntype MimeTypeToIconMap<Props> = {\n [key: string]: ComponentType<Props>;\n};\n\nfunction generateMimeTypeToIconMap<Props>({\n FileArchiveIcon,\n FileCodeIcon,\n FileExcelIcon,\n FilePdfIcon,\n FilePowerPointIcon,\n FileWordIcon,\n}: Pick<IconComponents<Props>, MimeTypeMappedComponent>) {\n const mimeTypeToIconMap: MimeTypeToIconMap<Props> = {\n 'application/pdf': FilePdfIcon,\n };\n\n for (const type of wordMimeTypes) {\n mimeTypeToIconMap[type] = FileWordIcon;\n }\n\n for (const type of excelMimeTypes) {\n mimeTypeToIconMap[type] = FileExcelIcon;\n }\n\n for (const type of powerpointMimeTypes) {\n mimeTypeToIconMap[type] = FilePowerPointIcon;\n }\n\n for (const type of archiveFileTypes) {\n mimeTypeToIconMap[type] = FileArchiveIcon;\n }\n\n for (const type of codeFileTypes) {\n mimeTypeToIconMap[type] = FileCodeIcon;\n }\n return mimeTypeToIconMap;\n}\n\nfunction generateGeneralTypeToIconMap<Props>({\n FileAltIcon,\n FileAudioIcon,\n FileFallbackIcon,\n FileVideoIcon,\n}: Pick<IconComponents<Props>, GeneralContentTypeComponent | 'FileFallbackIcon'>) {\n return {\n 'audio/': FileAudioIcon,\n 'image/': FileFallbackIcon,\n 'text/': FileAltIcon,\n 'video/': FileVideoIcon,\n };\n}\n\ntype IconMap = {\n standard: Record<\n SupportedMimeType | GeneralType | 'fallback',\n ComponentType<BaseFileIconProps>\n >;\n};\n\nexport const iconMap: IconMap = {\n standard: {\n ...generateMimeTypeToIconMap<BaseFileIconProps>({\n FileArchiveIcon: fileIconSet.FileArchiveIcon,\n FileCodeIcon: fileIconSet.FileCodeIcon,\n FileExcelIcon: fileIconSet.FileExcelIcon,\n FilePdfIcon: fileIconSet.FilePdfIcon,\n FilePowerPointIcon: fileIconSet.FilePowerPointIcon,\n FileWordIcon: fileIconSet.FileWordIcon,\n }),\n ...generateGeneralTypeToIconMap<BaseFileIconProps>({\n FileAltIcon: fileIconSet.FileFallbackIcon,\n FileAudioIcon: fileIconSet.FileAudioIcon,\n FileFallbackIcon: fileIconSet.FileFallbackIcon,\n FileVideoIcon: fileIconSet.FileVideoIcon,\n }),\n fallback: fileIconSet.FileFallbackIcon,\n },\n};\n","import React, { useMemo } from 'react';\nimport { iconMap } from './iconMap';\nimport { mergeFileIconSizeConfig } from './FileIconSet';\nimport { mimeTypeToExtensionMap } from './mimeTypes';\nimport type { FileIconSize } from './FileIconSet';\n\nexport type FileIconSizeConfigOverride = Partial<\n Record<\n FileIconSize,\n Partial<{ width: number; height: number; labelX: number; labelY: number }>\n >\n>;\n\nexport type FileIconProps = {\n className?: string;\n fileName?: string;\n mimeType?: string;\n /** Override dimensions/label position per size (sm, md, lg, xl). */\n sizeConfig?: FileIconSizeConfigOverride;\n size?: FileIconSize;\n};\n\nexport function mimeTypeToIcon(mimeType?: string) {\n const theMap = iconMap['standard'];\n\n if (!mimeType) return theMap.fallback;\n\n const icon = theMap[mimeType];\n if (icon) return icon;\n\n if (mimeType.startsWith('audio/')) return theMap['audio/'] ?? theMap.fallback;\n if (mimeType.startsWith('video/')) return theMap['video/'] ?? theMap.fallback;\n if (mimeType.startsWith('image/')) return theMap['image/'] ?? theMap.fallback;\n if (mimeType.startsWith('text/')) return theMap['text/'] ?? theMap.fallback;\n\n return theMap.fallback;\n}\n\nconst labelFromMimeType = ({\n fileName,\n mimeType,\n}: Pick<FileIconProps, 'fileName' | 'mimeType'>) => {\n let label;\n\n if (mimeType) {\n label = mimeTypeToExtensionMap[mimeType];\n }\n\n if (!label && fileName) {\n label = fileName.split('.').slice(-1)[0];\n }\n return label;\n};\n\nexport const FileIcon = (props: FileIconProps) => {\n const {\n className,\n fileName,\n mimeType,\n size = 'md',\n sizeConfig: sizeConfigOverride,\n ...rest\n } = props;\n const sizeConfig = useMemo(\n () => mergeFileIconSizeConfig(sizeConfigOverride),\n [sizeConfigOverride],\n );\n const Icon = mimeTypeToIcon(mimeType);\n const label = fileName ? labelFromMimeType({ fileName, mimeType }) : undefined;\n return (\n <Icon\n {...rest}\n className={className}\n label={label}\n size={size}\n sizeConfig={sizeConfig}\n />\n );\n};\n","export const formatTime = (\n totalSeconds?: number,\n rounding: 'ceil' | 'floor' = 'ceil',\n) => {\n if (totalSeconds == null || Number.isNaN(totalSeconds) || totalSeconds < 0) {\n return null;\n }\n\n const roundedSeconds =\n rounding === 'floor' ? Math.floor(totalSeconds) : Math.ceil(totalSeconds);\n const hours = Math.floor(roundedSeconds / 3600);\n const minutes = Math.floor((roundedSeconds % 3600) / 60);\n const seconds = roundedSeconds % 60;\n const minSec = `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(\n 2,\n '0',\n )}`;\n\n return hours ? `${String(hours).padStart(2, '0')}:${minSec}` : minSec;\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { useTranslationContext } from '../../context/TranslationContext';\nimport { useComponentContextIcons } from '../../context';\n\nexport type ImagePlaceholderProps = {\n className?: string;\n};\n\nexport const ImagePlaceholder = ({ className }: ImagePlaceholderProps) => {\n const { t } = useTranslationContext();\n const { IconImage } = useComponentContextIcons();\n\n return (\n <div\n aria-label={t(\n 'baseImage.imagePlaceholder.imageFailedLoad.ariaLabel',\n 'Image failed to load',\n )}\n className={clsx('str-chat__image-placeholder', className)}\n data-testid='str-chat__base-image-placeholder'\n role='img'\n >\n <IconImage />\n </div>\n );\n};\n","import React, { forwardRef, useEffect, useMemo, useState } from 'react';\nimport clsx from 'clsx';\nimport { useComponentContext } from '../../context/ComponentContext';\nimport { DownloadButton } from '../Attachment';\nimport { ImagePlaceholder as DefaultImagePlaceholder } from './ImagePlaceholder';\nimport { sanitizeUrl } from '@braintree/sanitize-url';\n\nexport type BaseImageProps = React.ComponentPropsWithRef<'img'> & {\n showDownloadButtonOnError?: boolean;\n};\n\nexport const BaseImage = forwardRef<HTMLImageElement, BaseImageProps>(function BaseImage(\n { src, ...props },\n ref,\n) {\n const {\n alt: propsAlt,\n className: propsClassName,\n onError: propsOnError,\n showDownloadButtonOnError = false,\n ...imgProps\n } = props;\n // Store the failed URL rather than a boolean so that when src changes (e.g. retry\n // with a cache-busting param), the error state clears synchronously via the derived\n // `error` check below. A boolean would require a useEffect to reset, causing a\n // 1-frame flash of the error placeholder before the loading state kicks in.\n const [failedSrc, setFailedSrc] = useState<string | null>(null);\n const { ImagePlaceholder: ImagePlaceholderComponent = DefaultImagePlaceholder } =\n useComponentContext();\n\n const sanitizedUrl = useMemo(() => sanitizeUrl(src), [src]);\n const error = failedSrc === sanitizedUrl;\n\n useEffect(\n () => () => {\n setFailedSrc(null);\n },\n [sanitizedUrl],\n );\n\n if (error) {\n return (\n <>\n <ImagePlaceholderComponent\n className={clsx(propsClassName, 'str-chat__base-image--load-failed')}\n />\n {showDownloadButtonOnError && <DownloadButton assetUrl={sanitizedUrl} />}\n </>\n );\n }\n\n return (\n <img\n data-testid='str-chat__base-image'\n {...imgProps}\n alt={propsAlt ?? ''}\n className={clsx(propsClassName, 'str-chat__base-image')}\n onError={(e) => {\n setFailedSrc(sanitizedUrl);\n propsOnError?.(e);\n }}\n ref={ref}\n src={sanitizedUrl}\n />\n );\n});\n","import {\n type Attachment,\n isGiphyAttachment,\n isImageAttachment,\n isLocalImageAttachment,\n isLocalVideoAttachment,\n isScrapedContent,\n isVideoAttachment,\n type LinkPreview,\n type LocalImageAttachment,\n type LocalVideoAttachment,\n} from 'stream-chat';\nimport type { Dimensions } from '../../types/types';\n\ntype AttachmentPreviewableInGallery =\n | LocalImageAttachment\n | LocalVideoAttachment\n | LinkPreview\n | Attachment;\n\n/** Fields shared with gallery items for image/video preview from an attachment. */\nexport type BaseImageDescriptor = {\n alt?: string;\n dimensions?: Dimensions;\n imageUrl?: string;\n title?: string;\n videoThumbnailUrl?: string;\n videoUrl?: string;\n};\n\n/**\n * Maps an attachment (or link preview) to image/video URLs and metadata for {@link BaseImage} or the gallery.\n */\nexport const toBaseImageDescriptors = (\n attachment: AttachmentPreviewableInGallery,\n options: { giphyVersionName?: string } = {},\n): BaseImageDescriptor | undefined => {\n if (isGiphyAttachment(attachment)) {\n const giphyVersion =\n options?.giphyVersionName && attachment.giphy\n ? attachment.giphy[\n options.giphyVersionName as keyof NonNullable<Attachment['giphy']>\n ]\n : undefined;\n\n return {\n alt: giphyVersion?.url || attachment.thumb_url,\n dimensions: giphyVersion\n ? {\n height: giphyVersion.height,\n width: giphyVersion.width,\n }\n : undefined,\n imageUrl: attachment.thumb_url,\n title: attachment.title || attachment.thumb_url,\n };\n }\n\n if (isScrapedContent(attachment)) {\n const imageUrl = attachment.image_url || attachment.thumb_url;\n return {\n alt: attachment.title || imageUrl,\n imageUrl,\n title: attachment.title,\n };\n }\n\n if (isLocalVideoAttachment(attachment)) {\n return {\n title: attachment.title,\n videoThumbnailUrl: attachment.thumb_url ?? attachment.localMetadata.previewUri,\n videoUrl: attachment.asset_url ?? attachment.localMetadata.previewUri,\n };\n }\n\n if (isVideoAttachment(attachment)) {\n return {\n title: attachment.title,\n videoThumbnailUrl: attachment.thumb_url,\n videoUrl: attachment.asset_url,\n };\n }\n\n if (isLocalImageAttachment(attachment)) {\n const imageUrl = attachment.image_url || attachment.localMetadata.previewUri;\n return {\n alt: attachment.title || imageUrl,\n imageUrl,\n title: attachment.title,\n };\n }\n\n if (isImageAttachment(attachment)) {\n const imageUrl = attachment.image_url;\n return {\n alt: attachment.title || imageUrl,\n imageUrl,\n title: attachment.title,\n };\n }\n\n return undefined;\n};\n","import { createContext, useContext } from 'react';\nimport type { UserResponse } from 'stream-chat';\n\nimport { requireContext } from '../../context/requireContext';\nimport { toBaseImageDescriptors } from '../BaseImage';\nimport type { BaseImageProps } from '../BaseImage';\nimport type { Dimensions } from '../../types/types';\n\nexport type GalleryItem = Omit<BaseImageProps, 'src'> & {\n /** When the media was shared; drives the gallery header timestamp. */\n createdAt?: string | Date;\n dimensions?: Dimensions;\n imageUrl?: string;\n /** User who shared the media; drives the gallery header title. */\n user?: UserResponse;\n videoThumbnailUrl?: string;\n videoUrl?: string;\n};\n\n/**\n * Maps an attachment (or link preview) to gallery item fields.\n * Delegates to {@link toBaseImageDescriptors}.\n */\nexport const toGalleryItemDescriptors = (\n ...args: Parameters<typeof toBaseImageDescriptors>\n):\n | Pick<\n GalleryItem,\n 'alt' | 'dimensions' | 'imageUrl' | 'title' | 'videoThumbnailUrl' | 'videoUrl'\n >\n | undefined => toBaseImageDescriptors(...args);\n\nexport type GalleryContextValue = {\n /** Whether clicking the empty gallery background should request close */\n closeOnBackgroundClick: boolean;\n /** Currently displayed item index */\n currentIndex: number;\n /** Currently displayed item */\n currentItem: GalleryItem;\n /** Navigate to a specific index */\n goToIndex: (index: number) => void;\n /** Navigate to the next item */\n goToNext: () => void;\n /** Navigate to the previous item */\n goToPrevious: () => void;\n /** Whether there is a next item */\n hasNext: boolean;\n /** Whether there is a previous item */\n hasPrevious: boolean;\n /** Total number of items */\n itemCount: number;\n /** All items in the gallery */\n items: GalleryItem[];\n /** Request closing the gallery viewer */\n onRequestClose?: () => void;\n};\n\nexport const GalleryContext = createContext<GalleryContextValue | undefined>(undefined);\n\nexport const useGalleryContext = () =>\n requireContext(useContext(GalleryContext), 'useGalleryContext', 'Gallery');\n","import React, { useContext, useMemo } from 'react';\nimport { sanitizeUrl } from '@braintree/sanitize-url';\n\nimport { type GalleryItem } from './GalleryContext';\nimport { Button } from '../Button';\nimport {\n ModalContext,\n useChatContext,\n useComponentContextIcons,\n useTranslationContext,\n} from '../../context';\nimport { getDateString, isDate } from '../../i18n/utils';\n\ntype GalleryHeaderProps = {\n currentItem: GalleryItem;\n};\n\nconst normalizeTimestamp = (timestamp: GalleryItem['createdAt']) => {\n if (!timestamp) return undefined;\n return isDate(timestamp) ? timestamp.toISOString() : timestamp;\n};\n\n/**\n * Reads the timestamp off the gallery item: the gallery renders outside any `MessageProvider`, and\n * channel media mixes items from many messages.\n */\nconst GalleryTimestamp = ({ createdAt }: Pick<GalleryItem, 'createdAt'>) => {\n const { t, tDateTimeParser } = useTranslationContext();\n const normalizedTimestamp = normalizeTimestamp(createdAt);\n\n const when = useMemo(\n () =>\n getDateString({\n messageCreatedAt: normalizedTimestamp,\n t,\n tDateTimeParser,\n timestampTranslationKey: 'timestamp.GalleryTimestamp',\n }),\n [normalizedTimestamp, t, tDateTimeParser],\n );\n\n if (!when) return null;\n\n return (\n <time className='str-chat__gallery__timestamp' dateTime={normalizedTimestamp}>\n {when}\n </time>\n );\n};\n\nexport const GalleryHeader = ({ currentItem }: GalleryHeaderProps) => {\n const { IconArrowDownCircle, IconXmark } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const { client } = useChatContext();\n const modalContext = useContext(ModalContext);\n const { createdAt, user } = currentItem;\n\n const headerTitle =\n (!!user?.id && user.id === client.userID && t('common.you.label', 'You')) ||\n user?.name ||\n user?.id ||\n currentItem.title ||\n t('common.userUploadedContent.label', 'User uploaded content');\n const downloadUrl = useMemo(() => {\n const rawDownloadUrl = currentItem.videoUrl ?? currentItem.imageUrl;\n\n if (!rawDownloadUrl) return undefined;\n\n const sanitizedUrl = sanitizeUrl(rawDownloadUrl);\n\n return sanitizedUrl === 'about:blank' ? undefined : sanitizedUrl;\n }, [currentItem.imageUrl, currentItem.videoUrl]);\n const downloadLabel = t('common.downloadAttachment.ariaLabel', 'Download attachment');\n\n return (\n <div className='str-chat__gallery__header'>\n <div aria-hidden='true' className='str-chat__gallery__header-spacer' />\n <div className='str-chat__gallery__header-meta'>\n <div className='str-chat__gallery__title'>{headerTitle}</div>\n <GalleryTimestamp createdAt={createdAt} />\n </div>\n <div className='str-chat__gallery__header-actions'>\n {downloadUrl ? (\n <a\n aria-label={downloadLabel}\n className='str-chat__gallery__action-button str-chat__gallery__action-button--download'\n download\n href={downloadUrl}\n rel='noreferrer'\n target='_blank'\n title={downloadLabel}\n >\n <IconArrowDownCircle />\n </a>\n ) : null}\n {modalContext?.close ? (\n <Button\n aria-label={t('common.close.ariaLabel', 'Close')}\n className='str-chat__gallery__action-button str-chat__gallery__action-button--close'\n onClick={modalContext.close}\n title={t('common.close.ariaLabel', 'Close')}\n >\n <IconXmark />\n </Button>\n ) : null}\n </div>\n </div>\n );\n};\n","import React from 'react';\n\nimport { useComponentContext } from '../../context';\nimport { LoadingIndicator as DefaultLoadingIndicator } from '../Loading/LoadingIndicator';\n\n// `react-player` (~2 MB) is loaded lazily so it stays out of the SDK's eager\n// import graph; the consumer's bundler emits it as a separate chunk that is\n// fetched only when a default video player renders. Consumers who override\n// `VideoPlayer` via `ComponentContext` never load it at all.\nconst ReactPlayer = React.lazy(() => import('./ReactPlayerWrapper'));\n\nexport type VideoPlayerProps = {\n /**\n * Whether the native playback controls are rendered. Set to `false` for a video that cannot\n * be played yet — e.g. one whose upload is still in flight.\n * @default true\n */\n controls?: boolean;\n isPlaying?: boolean;\n videoUrl?: string;\n thumbnailUrl?: string;\n};\n\nexport const VideoPlayer = ({\n controls = true,\n isPlaying,\n thumbnailUrl,\n videoUrl,\n}: VideoPlayerProps) => {\n const { LoadingIndicator = DefaultLoadingIndicator, VideoPlayer: VideoPlayerContext } =\n useComponentContext();\n\n return VideoPlayerContext ? (\n <VideoPlayerContext\n controls={controls}\n isPlaying={isPlaying}\n thumbnailUrl={thumbnailUrl}\n videoUrl={videoUrl}\n />\n ) : (\n <React.Suspense\n fallback={\n <div className='str-chat__video-player-loading'>\n <LoadingIndicator />\n </div>\n }\n >\n <ReactPlayer\n controls={controls}\n isPlaying={isPlaying}\n thumbnailUrl={thumbnailUrl}\n videoUrl={videoUrl}\n />\n </React.Suspense>\n );\n};\n","import { BaseImage, type BaseImageProps } from '../BaseImage';\nimport { Button } from '../Button';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { useComponentContextIcons, useTranslationContext } from '../../context';\n\nexport type VideoThumbnailProps = BaseImageProps & {\n onPlay?: () => void;\n};\n\nexport const VideoThumbnail = ({\n className,\n onPlay,\n ...imageProps\n}: VideoThumbnailProps) => {\n const { IconPlayFill } = useComponentContextIcons();\n const { t } = useTranslationContext();\n\n return (\n <div className='str-chat__message-attachment__video-thumbnail'>\n <BaseImage\n className={clsx('str-chat__message-attachment__video-thumbnail-image', className)}\n {...imageProps}\n />\n {onPlay ? (\n <Button\n appearance='solid'\n aria-label={t('videoPlayer.videoThumbnail.playVideo.ariaLabel', 'Play video')}\n circular\n className={clsx(\n 'str-chat__message-attachment__video-thumbnail__play-indicator',\n )}\n onClick={onPlay}\n size='lg'\n variant='secondary'\n >\n <IconPlayFill />\n </Button>\n ) : (\n <div className='str-chat__message-attachment__video-thumbnail__play-indicator'>\n <IconPlayFill />\n </div>\n )}\n </div>\n );\n};\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\n\nimport { BaseImage } from '../BaseImage';\nimport { GalleryHeader } from './GalleryHeader';\nimport { useGalleryContext } from './GalleryContext';\nimport { Button, type ButtonProps } from '../Button';\nimport {\n ModalContext,\n useComponentContextIcons,\n useTranslationContext,\n} from '../../context';\nimport { VideoPlayer } from '../VideoPlayer';\nimport { VideoThumbnail } from '../VideoPlayer/VideoThumbnail';\n\nimport clsx from 'clsx';\n\nconst SWIPE_THRESHOLD = 50;\nconst TRANSITION_DURATION = 300;\n\nexport const GalleryUI = () => {\n const { IconChevronLeft, IconChevronRight } = useComponentContextIcons();\n const { t } = useTranslationContext();\n const {\n closeOnBackgroundClick,\n currentIndex,\n currentItem,\n goToNext,\n goToPrevious,\n hasNext,\n hasPrevious,\n itemCount,\n onRequestClose,\n } = useGalleryContext();\n const modalContext = useContext(ModalContext);\n\n const [showVideo, setShowVideo] = useState(false);\n\n // Slide transition state\n const isTransitioningRef = useRef(false);\n const [slideOffset, setSlideOffset] = useState(0);\n const [isDragging, setIsDragging] = useState(false);\n const [slideDirection, setSlideDirection] = useState<'forward' | 'backward' | null>(\n null,\n );\n\n // Touch tracking refs\n // Some touch interactions on the slide container are followed by a click; suppress\n // that one-shot click so swipe navigation doesn't immediately trigger background close.\n const ignoreNextClickRef = useRef(false);\n const touchStartRef = useRef<{ x: number; y: number } | null>(null);\n const isVerticalSwipeRef = useRef(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Reset video play state when navigating to a new item\n useEffect(() => {\n setShowVideo(false);\n }, [currentIndex]);\n\n // Slide animation on index change\n const prevIndexRef = useRef(currentIndex);\n useEffect(() => {\n if (prevIndexRef.current === currentIndex) return;\n const direction = currentIndex > prevIndexRef.current ? 'forward' : 'backward';\n setSlideDirection(direction);\n setSlideOffset(0);\n setIsDragging(false);\n isTransitioningRef.current = true;\n\n const timer = setTimeout(() => {\n setSlideDirection(null);\n isTransitioningRef.current = false;\n }, TRANSITION_DURATION);\n\n prevIndexRef.current = currentIndex;\n return () => clearTimeout(timer);\n }, [currentIndex]);\n\n // Wrapped navigation functions that respect transition lock\n const handleGoToNext = useCallback(() => {\n if (isTransitioningRef.current) return;\n goToNext();\n }, [goToNext]);\n\n const handleGoToPrevious = useCallback(() => {\n if (isTransitioningRef.current) return;\n goToPrevious();\n }, [goToPrevious]);\n\n // Keyboard navigation\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n handleGoToPrevious();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n handleGoToNext();\n }\n },\n [handleGoToNext, handleGoToPrevious],\n );\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [handleKeyDown]);\n\n // Touch event handlers\n const handleTouchStart = useCallback((event: React.TouchEvent) => {\n if (isTransitioningRef.current) return;\n const touch = event.touches[0];\n ignoreNextClickRef.current = false;\n touchStartRef.current = { x: touch.clientX, y: touch.clientY };\n isVerticalSwipeRef.current = false;\n }, []);\n\n const handleTouchMove = useCallback(\n (event: React.TouchEvent) => {\n if (!touchStartRef.current || isTransitioningRef.current) return;\n\n const touch = event.touches[0];\n const deltaX = touch.clientX - touchStartRef.current.x;\n const deltaY = touch.clientY - touchStartRef.current.y;\n\n // Determine swipe direction on first significant movement\n if (!isDragging && !isVerticalSwipeRef.current) {\n if (Math.abs(deltaY) > Math.abs(deltaX) && Math.abs(deltaY) > 10) {\n ignoreNextClickRef.current = true;\n isVerticalSwipeRef.current = true;\n return;\n }\n if (Math.abs(deltaX) > 10) {\n ignoreNextClickRef.current = true;\n setIsDragging(true);\n }\n }\n\n if (isVerticalSwipeRef.current) return;\n\n // Constrain drag when at boundaries\n if ((!hasNext && deltaX < 0) || (!hasPrevious && deltaX > 0)) {\n setSlideOffset(deltaX * 0.3); // Rubber-band effect\n } else {\n setSlideOffset(deltaX);\n }\n },\n [isDragging, hasNext, hasPrevious],\n );\n\n const handleTouchEnd = useCallback(() => {\n if (!touchStartRef.current || isVerticalSwipeRef.current) {\n if (isVerticalSwipeRef.current) ignoreNextClickRef.current = true;\n touchStartRef.current = null;\n return;\n }\n\n const offset = slideOffset;\n if (isDragging || Math.abs(offset) > 10) {\n ignoreNextClickRef.current = true;\n }\n touchStartRef.current = null;\n\n if (Math.abs(offset) >= SWIPE_THRESHOLD) {\n if (offset < 0 && hasNext) {\n goToNext();\n } else if (offset > 0 && hasPrevious) {\n goToPrevious();\n } else {\n // Snap back — at boundary\n setSlideOffset(0);\n }\n } else {\n // Snap back — below threshold\n setSlideOffset(0);\n }\n\n setIsDragging(false);\n }, [slideOffset, hasNext, hasPrevious, goToNext, goToPrevious, isDragging]);\n\n const requestClose = modalContext?.close ?? onRequestClose;\n const handleBackgroundClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target !== event.currentTarget) return;\n\n if (ignoreNextClickRef.current) {\n ignoreNextClickRef.current = false;\n return;\n }\n\n if (!closeOnBackgroundClick) return;\n\n requestClose?.();\n },\n [closeOnBackgroundClick, requestClose],\n );\n\n const mediaStyle: React.CSSProperties =\n isDragging || (slideOffset !== 0 && slideDirection === null)\n ? { transform: `translateX(${slideOffset}px)` }\n : {};\n\n return (\n <div className='str-chat__gallery'>\n <div className='str-chat__gallery__main'>\n <GalleryHeader currentItem={currentItem} />\n <NavButton\n aria-label={t('gallery.ui.previousImage.ariaLabel', 'Previous image')}\n className={clsx(\n 'str-chat__gallery__nav-button--prev',\n !hasPrevious && 'str-chat__gallery__nav-button--hidden',\n )}\n disabled={!hasPrevious}\n onClick={handleGoToPrevious}\n >\n <IconChevronLeft />\n </NavButton>\n <div\n className='str-chat__gallery__slide-container'\n onClick={handleBackgroundClick}\n onTouchEnd={handleTouchEnd}\n onTouchMove={handleTouchMove}\n onTouchStart={handleTouchStart}\n ref={containerRef}\n >\n <div\n className={clsx('str-chat__gallery__media-container', {\n 'str-chat__gallery__media--dragging': isDragging,\n 'str-chat__gallery__media--slide-backward':\n !isDragging && slideDirection === 'backward',\n 'str-chat__gallery__media--slide-forward':\n !isDragging && slideDirection === 'forward',\n })}\n style={mediaStyle}\n >\n {currentItem.videoUrl && currentItem.videoThumbnailUrl ? (\n <div className='str-chat__gallery__media str-chat__gallery__media--video'>\n {showVideo ? (\n <VideoPlayer isPlaying videoUrl={currentItem.videoUrl} />\n ) : (\n <VideoThumbnail\n alt={currentItem.title ?? ''}\n onPlay={() => setShowVideo(true)}\n src={currentItem.videoThumbnailUrl}\n />\n )}\n </div>\n ) : (\n <div className='str-chat__gallery__media str-chat__gallery__media--image'>\n <BaseImage alt={currentItem.alt} src={currentItem.imageUrl} />\n </div>\n )}\n </div>\n </div>\n <NavButton\n aria-label={t('gallery.ui.nextImage.ariaLabel', 'Next image')}\n className={clsx(\n 'str-chat__gallery__nav-button--next',\n !hasNext && 'str-chat__gallery__nav-button--hidden',\n )}\n disabled={!hasNext}\n onClick={handleGoToNext}\n >\n <IconChevronRight />\n </NavButton>\n </div>\n {itemCount > 1 && (\n <div className='str-chat__gallery__position-indicator'>\n {currentIndex + 1} of {itemCount}\n </div>\n )}\n </div>\n );\n};\n\nconst NavButton = ({ className, ...props }: ButtonProps) => (\n <Button {...props} className={clsx('str-chat__gallery__nav-button', className)} />\n);\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { GalleryContext } from './GalleryContext';\nimport { GalleryUI as DefaultGalleryUI } from './GalleryUI';\nimport { useComponentContext } from '../../context';\n\nimport type { GalleryContextValue, GalleryItem } from './GalleryContext';\n\nexport type GalleryProps = {\n /** Whether clicking the empty gallery background should request close (default: true) */\n closeOnBackgroundClick?: boolean;\n /** Array of media attachments to display */\n items: GalleryItem[];\n /** Custom UI component to replace the default GalleryUI */\n GalleryUI?: React.ComponentType;\n /** Initial index of the item to display (default: 0) */\n initialIndex?: number;\n /** Callback when the active item changes */\n onIndexChange?: (index: number) => void;\n /** Callback invoked when the gallery requests to close */\n onRequestClose?: () => void;\n};\n\nexport const Gallery = ({\n closeOnBackgroundClick = true,\n GalleryUI,\n initialIndex = 0,\n items,\n onIndexChange,\n onRequestClose,\n}: GalleryProps) => {\n const { GalleryUI: ContextGalleryUI } = useComponentContext();\n const ResolvedGalleryUI = GalleryUI ?? ContextGalleryUI ?? DefaultGalleryUI;\n const [currentIndex, setCurrentIndex] = useState(initialIndex);\n\n const itemCount = items.length;\n\n const goToIndex = useCallback(\n (index: number) => {\n if (index >= 0 && index < itemCount) {\n setCurrentIndex(index);\n }\n },\n [itemCount],\n );\n\n const goToNext = useCallback(() => {\n setCurrentIndex((prev) => (prev < itemCount - 1 ? prev + 1 : prev));\n }, [itemCount]);\n\n const goToPrevious = useCallback(() => {\n setCurrentIndex((prev) => (prev > 0 ? prev - 1 : prev));\n }, []);\n\n useEffect(() => {\n onIndexChange?.(currentIndex);\n }, [currentIndex, onIndexChange]);\n\n const hasNext = currentIndex < itemCount - 1;\n const hasPrevious = currentIndex > 0;\n const currentItem = items[currentIndex];\n\n const contextValue = useMemo<GalleryContextValue>(\n () => ({\n closeOnBackgroundClick,\n currentIndex,\n currentItem,\n goToIndex,\n goToNext,\n goToPrevious,\n hasNext,\n hasPrevious,\n itemCount,\n items,\n onRequestClose,\n }),\n [\n closeOnBackgroundClick,\n currentIndex,\n currentItem,\n goToIndex,\n goToNext,\n goToPrevious,\n hasNext,\n hasPrevious,\n itemCount,\n items,\n onRequestClose,\n ],\n );\n\n return (\n <GalleryContext.Provider value={contextValue}>\n <ResolvedGalleryUI />\n </GalleryContext.Provider>\n );\n};\n","import clsx from 'clsx';\nimport type { HTMLAttributes } from 'react';\n\nexport type CheckboxProps = HTMLAttributes<HTMLElement> & { checked?: boolean };\n\nexport const Checkbox = ({ checked, ...props }: CheckboxProps) => (\n <div\n {...props}\n className={clsx('str-chat__checkmark str-chat__checkbox', {\n 'str-chat__checkbox--checked': checked,\n 'str-chat__checkmark--checked': checked,\n })}\n />\n);\n\n// fixme: remove str-chat__checkmark class with next major release v15\nexport type CheckmarkProps = CheckboxProps;\n// fixme: remove str-chat__checkmark class with next major release v15\nexport const Checkmark = Checkbox;\n","import clsx from 'clsx';\nimport type {\n ChangeEventHandler,\n ComponentProps,\n KeyboardEventHandler,\n MouseEventHandler,\n PropsWithChildren,\n ReactNode,\n} from 'react';\nimport React, { isValidElement, useContext, useRef, useState } from 'react';\nimport { useStableId } from '../UtilityComponents/useStableId';\nimport { AriaLiveAnnouncerContext } from '../Accessibility';\nimport { useTranslationContext } from '../../context';\n\nexport type SwitchFieldProps = Omit<\n PropsWithChildren<ComponentProps<'input'>>,\n 'children'\n> & {\n /** Main label content when title/description are not used */\n children?: ReactNode;\n /** Optional description line below title */\n description?: string;\n /** Class applied to the root div element of the SwitchField component */\n fieldClassName?: string;\n /** Optional title line */\n title?: string;\n};\n\nexport const SwitchField = ({\n children,\n description,\n fieldClassName,\n title,\n ...props\n}: SwitchFieldProps) => {\n const {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n checked,\n defaultChecked,\n disabled,\n id,\n onChange,\n onKeyDown,\n ...rest\n } = props;\n const generatedSwitchId = useStableId();\n const switchId = id ?? `str-chat__switch-field-${generatedSwitchId}`;\n const switchLabelId = `${switchId}-label`;\n const inputRef = useRef<HTMLInputElement | null>(null);\n // Read the announcer optionally: a SwitchField may render outside an announcer provider (e.g. in\n // isolation), where it simply stays silent rather than warning.\n const announce = useContext(AriaLiveAnnouncerContext)?.announce;\n const { t } = useTranslationContext();\n\n const [uncontrolledChecked, setUncontrolledChecked] = useState(Boolean(defaultChecked));\n const isControlled = checked !== undefined;\n const isOn = isControlled ? checked : uncontrolledChecked;\n const isReadOnly = isControlled && onChange === undefined;\n\n // When no title/aria-label is provided, SwitchField can still be named by a caller-supplied\n // child element id via aria-labelledby.\n const childElement = isValidElement<{ id?: string }>(children) ? children : undefined;\n const childLabelId = childElement?.props.id;\n // Accessible-name precedence:\n // 1) explicit aria-labelledby prop\n // 2) explicit aria-label prop\n // 3) generated title label id (title path)\n // 4) caller-supplied child id (children path)\n const resolvedAriaLabelledBy =\n ariaLabelledBy ?? (!ariaLabel ? (title ? switchLabelId : childLabelId) : undefined);\n\n // Name the toggled setting for the announcement: prefer the explicit title/aria-label; otherwise\n // fall back to the text of the aria-labelledby target (its title row, when present, so the\n // description is not read out as part of the name).\n const resolveAnnouncementName = () => {\n if (title) return title;\n if (ariaLabel) return ariaLabel;\n if (resolvedAriaLabelledBy) {\n const labelEl = document.getElementById(resolvedAriaLabelledBy);\n const titleEl = labelEl?.querySelector(\n '.str-chat__form__switch-field__label__text',\n );\n return (titleEl?.textContent || labelEl?.textContent || '').trim() || undefined;\n }\n return undefined;\n };\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (!isControlled) {\n setUncontrolledChecked(event.target.checked);\n }\n\n onChange?.(event);\n\n const setting = resolveAnnouncementName();\n if (!announce || !setting) return;\n announce(\n event.target.checked\n ? t('form.switchField.enabled.ariaLabel', '{{ setting }} enabled', { setting })\n : t('form.switchField.disabled.ariaLabel', '{{ setting }} disabled', { setting }),\n { priority: 'polite' },\n );\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLInputElement> = (event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || event.key !== ' ') return;\n\n event.preventDefault();\n event.currentTarget.click();\n };\n\n const handleSwitchClick: MouseEventHandler<HTMLDivElement> = (event) => {\n if (disabled || event.target === inputRef.current) return;\n inputRef.current?.click();\n };\n\n return (\n <div\n className={clsx(\n 'str-chat__form__switch-field',\n fieldClassName,\n disabled && 'str-chat__form__switch-field--disabled',\n )}\n >\n {title ? (\n <SwitchFieldLabel\n description={description}\n htmlFor={switchId}\n id={switchLabelId}\n title={title}\n />\n ) : (\n children\n )}\n <Switch\n {...rest}\n aria-label={ariaLabel}\n aria-labelledby={resolvedAriaLabelledBy}\n checked={isOn}\n disabled={disabled}\n id={switchId}\n on={isOn}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onSwitchClick={handleSwitchClick}\n readOnly={isReadOnly}\n switchRef={inputRef}\n />\n </div>\n );\n};\nexport type SwitchProps = Omit<ComponentProps<'input'>, 'type'> & {\n on?: boolean;\n onSwitchClick?: MouseEventHandler<HTMLDivElement>;\n /**\n * Renders the switch as a visual-only indicator when another element owns interaction.\n * Example: a button row with a trailing switch indicator must not render an input inside the button.\n */\n presentation?: boolean;\n switchRef?: React.RefObject<HTMLInputElement | null>;\n};\n\nexport const Switch = ({\n className,\n on,\n onSwitchClick,\n presentation,\n switchRef,\n ...props\n}: SwitchProps) => (\n <div\n aria-hidden={presentation ? true : undefined}\n className={clsx('str-chat__form__switch-field__switch', {\n 'str-chat__form__switch-field__switch--on': on,\n })}\n onClick={presentation ? undefined : onSwitchClick}\n >\n {!presentation && (\n <input\n {...props}\n className={clsx('str-chat__form__switch-field__input', className)}\n ref={switchRef}\n role='switch'\n type='checkbox'\n />\n )}\n <span className='str-chat__form__switch-field__switch-handle' />\n </div>\n);\n\nexport type SwitchFieldLabelProps = ComponentProps<'label'> & {\n /** Adds className str-chat__form__switch-field__label--as-error to the root */\n asError?: boolean;\n title?: string;\n description?: string;\n};\n\nexport const SwitchFieldLabel = ({\n asError,\n children,\n className,\n description,\n title,\n ...props\n}: SwitchFieldLabelProps) => (\n <label\n className={clsx(\n 'str-chat__form__switch-field__label',\n { 'str-chat__form__switch-field__label--as-error': asError },\n className,\n )}\n {...props}\n >\n <div className='str-chat__form__switch-field__label__content'>\n {title ? (\n <>\n <SwitchFieldTitle>{title}</SwitchFieldTitle>\n {description != null && description !== '' && (\n <SwitchFieldDescription>{description}</SwitchFieldDescription>\n )}\n </>\n ) : (\n children\n )}\n </div>\n </label>\n);\n\nexport type SwitchFieldTitleProps = ComponentProps<'div'> & {\n title?: string;\n};\n\nexport const SwitchFieldTitle = ({\n children,\n className,\n title,\n ...props\n}: SwitchFieldTitleProps) => (\n <div\n className={clsx('str-chat__form__switch-field__label__text', className)}\n {...props}\n >\n {children ?? title}\n </div>\n);\n\nexport type SwitchFieldDescriptionProps = ComponentProps<'div'> & {\n description?: string;\n};\n\nexport const SwitchFieldDescription = ({\n children,\n className,\n description,\n ...props\n}: SwitchFieldDescriptionProps) => (\n <div\n className={clsx('str-chat__form__switch-field__label__description', className)}\n {...props}\n >\n {children ?? description}\n </div>\n);\n","import clsx from 'clsx';\nimport React, { forwardRef } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useStableId } from '../UtilityComponents/useStableId';\nimport { useComponentContextIcons } from '../../context';\n\nexport type TextInputVariant = 'outline' | 'ghost';\n\n/** Where the active field message (error, success, or neutral) sits relative to the bordered control */\nexport type TextInputFieldMessagePlacement = 'outside' | 'inside';\n\nexport type TextInputProps = Omit<ComponentProps<'input'>, 'className'> & {\n /** Root class name */\n className?: string;\n /**\n * `outside` (default): message below the bordered wrapper.\n * `inside`: message under the value row, inside the border (error, success, or neutral).\n */\n fieldMessagePlacement?: TextInputFieldMessagePlacement;\n /** Optional label above the input */\n label?: string;\n /** Optional leading content (e.g. icon) inside the input area */\n leading?: ReactNode;\n /** Optional trailing content (e.g. clear button) inside the input area */\n trailing?: ReactNode;\n /** Optional suffix text shown after the input value, inside the field */\n trailingText?: string;\n /** Neutral/helper message below the input (no icon) */\n message?: ReactNode;\n /** Error message; shown when `error` is true, with `errorMessageIcon` */\n errorMessage?: ReactNode;\n /** Icon before error text (default: exclamation) */\n errorMessageIcon?: ReactNode;\n /** Success message below the input */\n successMessage?: ReactNode;\n /** Icon before success text (default: checkmark) */\n successMessageIcon?: ReactNode;\n /** When true, error border and error styling */\n error?: boolean;\n /** `outline` = border always; `ghost` = border on focus */\n variant?: TextInputVariant;\n};\n\ntype TextInputIconMessageLineProps = {\n icon: ReactNode;\n text: ReactNode;\n};\n\nconst TextInputIconMessageLine = ({ icon, text }: TextInputIconMessageLineProps) => (\n <>\n <span aria-hidden className='str-chat__form-text-input__message-icon'>\n {icon}\n </span>\n <span className='str-chat__form-text-input__message-text'>{text}</span>\n </>\n);\n\n/** At most one of error / success / neutral is shown under the field */\ntype TextInputFieldMessageProps =\n | {\n kind: 'error';\n id?: string;\n insidePlacement: boolean;\n errorMessageIcon?: ReactNode;\n text: ReactNode;\n }\n | {\n kind: 'success';\n id?: string;\n insidePlacement: boolean;\n successMessageIcon?: ReactNode;\n text: ReactNode;\n }\n | {\n kind: 'neutral';\n id?: string;\n insidePlacement: boolean;\n text: ReactNode;\n };\n\nconst TextInputFieldMessage = (props: TextInputFieldMessageProps) => {\n const { IconCheckmark, IconExclamationMark } = useComponentContextIcons();\n if (props.kind === 'neutral') {\n return (\n <div\n className={clsx(\n 'str-chat__form-text-input__message',\n props.insidePlacement &&\n 'str-chat__form-text-input__message--field-message-inside',\n )}\n id={props.id}\n >\n {props.text}\n </div>\n );\n } else if (props.kind === 'success') {\n return (\n <div\n className={clsx(\n 'str-chat__form-text-input__message',\n 'str-chat__form-text-input__message--success',\n props.insidePlacement &&\n 'str-chat__form-text-input__message--field-message-inside',\n )}\n id={props.id}\n >\n <TextInputIconMessageLine\n icon={props.successMessageIcon ?? <IconCheckmark />}\n text={props.text}\n />\n </div>\n );\n } else if (props.kind === 'error') {\n return (\n <div\n className={clsx(\n 'str-chat__form-text-input__message',\n 'str-chat__form-field-error',\n props.insidePlacement &&\n 'str-chat__form-text-input__message--field-message-inside',\n )}\n id={props.id}\n role='alert'\n >\n <TextInputIconMessageLine\n icon={props.errorMessageIcon ?? <IconExclamationMark />}\n text={props.text}\n />\n </div>\n );\n }\n\n return null;\n};\n\nexport const TextInput = forwardRef<HTMLInputElement, TextInputProps>(function TextInput(\n {\n className,\n disabled,\n error = false,\n errorMessage,\n errorMessageIcon,\n fieldMessagePlacement = 'outside',\n id: idProp,\n label,\n leading,\n message,\n successMessage,\n successMessageIcon,\n trailing,\n trailingText,\n variant = 'outline',\n ...inputProps\n },\n ref,\n) {\n const autoId = useStableId();\n const id = idProp ?? autoId;\n\n const hasError = error && (errorMessage != null || message != null);\n const showSuccess = !hasError && successMessage != null;\n const showNeutral = !hasError && !showSuccess && message != null;\n const hasFeedback = hasError || showSuccess || showNeutral;\n const messageInside = fieldMessagePlacement === 'inside' && hasFeedback;\n\n const messageId = hasError\n ? `${id}-field-error`\n : showSuccess || showNeutral\n ? `${id}-message`\n : undefined;\n const describedBy = [inputProps['aria-describedby'], messageId]\n .filter((value): value is string => !!value)\n .join(' ');\n\n const fieldMessage = hasError ? (\n <TextInputFieldMessage\n errorMessageIcon={errorMessageIcon}\n id={messageId}\n insidePlacement={messageInside}\n kind='error'\n text={errorMessage ?? message}\n />\n ) : showSuccess ? (\n <TextInputFieldMessage\n id={messageId}\n insidePlacement={messageInside}\n kind='success'\n successMessageIcon={successMessageIcon}\n text={successMessage}\n />\n ) : showNeutral ? (\n <TextInputFieldMessage\n id={messageId}\n insidePlacement={messageInside}\n kind='neutral'\n text={message}\n />\n ) : null;\n\n return (\n <div\n className={clsx(\n 'str-chat__form-text-input',\n error && 'str-chat__form-text-input--error',\n showSuccess && 'str-chat__form-text-input--success',\n disabled && 'str-chat__form-text-input--disabled',\n messageInside && 'str-chat__form-text-input--field-message-inside',\n className,\n )}\n >\n {label ? (\n <label className='str-chat__form-text-input__label' htmlFor={id}>\n {label}\n </label>\n ) : null}\n <div\n className={clsx(\n 'str-chat__form-text-input__wrapper',\n `str-chat__form-text-input__wrapper--${variant}`,\n messageInside && 'str-chat__form-text-input__wrapper--field-message-inside',\n )}\n >\n <div className='str-chat__form-text-input__control-row'>\n {leading ? (\n <span className='str-chat__form-text-input__leading'>{leading}</span>\n ) : null}\n <input\n aria-describedby={describedBy}\n aria-invalid={error}\n className='str-chat__form-text-input__input'\n disabled={disabled}\n id={id}\n ref={ref}\n {...inputProps}\n />\n {trailingText != null ? (\n <span aria-hidden className='str-chat__form-text-input__suffix'>\n {trailingText}\n </span>\n ) : null}\n {trailing ? (\n <span className='str-chat__form-text-input__trailing'>{trailing}</span>\n ) : null}\n </div>\n {messageInside ? fieldMessage : null}\n </div>\n {messageInside ? null : fieldMessage}\n </div>\n );\n});\n","import { useMemo } from 'react';\n\nimport { useChatContext } from '../../../context/ChatContext';\n\nexport const useIsUserMuted = (targetUserId?: string) => {\n const { mutes } = useChatContext();\n\n return useMemo(\n () => !!targetUserId && mutes.some((mute) => mute.target?.id === targetUserId),\n [mutes, targetUserId],\n );\n};\n","import type { PropsWithChildren } from 'react';\nimport React, { useContext } from 'react';\n\nexport type ModalContextValue = {\n close: () => void;\n dialogId?: string;\n};\n\nexport const ModalContext = React.createContext<ModalContextValue | undefined>(undefined);\n\nexport const ModalContextProvider = ({\n children,\n value,\n}: PropsWithChildren<{\n value: ModalContextValue;\n}>) => <ModalContext.Provider value={value}>{children}</ModalContext.Provider>;\n\n// module-level to keep a stable identity across renders\nconst NO_MODAL_FALLBACK: ModalContextValue = { close: () => undefined };\n\n/**\n * Works outside a modal: `Alert`, `Prompt` and `Viewer` are usable standalone, reading only\n * `dialogId` for aria wiring, and get a no-op `close`.\n */\nexport const useModalContext = () => useContext(ModalContext) ?? NO_MODAL_FALLBACK;\n","import type { Channel, ChannelWatchState } from 'stream-chat';\n\nimport { useChannel } from '../../../context';\nimport { useChatContext } from '../../../context/ChatContext';\nimport { useStateStore } from '../../../store';\n\nexport type UseChannelHasMembersOnlineParams = {\n channel?: Channel;\n enabled?: boolean;\n};\n\nconst watchersSelector = (nextValue: ChannelWatchState) => ({\n watchers: nextValue.watchers,\n});\n\n/**\n * Reactively reports whether OTHER members are currently online (watching the channel).\n *\n * Subscribes to the channel's watcher state instead of manually tracking\n * `user.watching.start/stop` events. Watchers include the current user, but \"are other\n * members online\" must reflect only other users — otherwise (e.g. in a DM) the other\n * participant looks online as soon as the local user starts watching.\n */\nexport const useChannelHasMembersOnline = ({\n channel: channelOverride,\n enabled = true,\n}: UseChannelHasMembersOnlineParams = {}) => {\n const contextChannel = useChannel();\n const channel = channelOverride ?? contextChannel;\n const { client } = useChatContext();\n const { watchers } = useStateStore(channel.state, watchersSelector);\n\n if (!enabled) return false;\n\n const ownUserId = client.user?.id;\n return Object.keys(watchers).some((id) => id !== ownUserId);\n};\n","import type { ChannelWatchState, MembersState } from 'stream-chat';\n\nimport { useChannel, useTranslationContext } from '../../../context';\nimport { useStateStore } from '../../../store';\nimport { useIsDmChannel } from '../../../hooks';\nimport { useChannelHasMembersOnline } from './useChannelHasMembersOnline';\n\nconst memberCountSelector = (nextValue: MembersState) => ({\n memberCount: nextValue.memberCount,\n});\n\nconst watcherCountSelector = (nextValue: ChannelWatchState) => ({\n watcherCount: nextValue.watcherCount,\n});\n\n/**\n * Returns the channel header online status text (e.g. \"Online\", \"Offline\", or\n * \"X members · Y online\"). Returns null when the channel has no members (nothing to show).\n *\n * Reactive counts come from the channel's unified reactive state; DM detection and\n * \"others online\" are delegated to `useIsDmChannel` / `useChannelHasMembersOnline`, which\n * subscribe to the state they each need.\n */\nexport function useChannelHeaderOnlineStatus(): string | null {\n const { t } = useTranslationContext();\n const channel = useChannel();\n const { memberCount } = useStateStore(channel.state, memberCountSelector);\n const { watcherCount } = useStateStore(channel.state, watcherCountSelector);\n const isDirectMessagingChannel = useIsDmChannel();\n const hasMembersOnline = useChannelHasMembersOnline({\n enabled: isDirectMessagingChannel,\n });\n\n if (!memberCount) return null;\n\n if (isDirectMessagingChannel) {\n return hasMembersOnline\n ? t('common.online.label', 'Online')\n : t('common.offline.label', 'Offline');\n }\n\n return `${t('channelHeader.online.members.label', '{{ memberCount }} members', { memberCount })} · ${t('channelHeader.online.online.label', '{{ watcherCount }} online', { watcherCount })}`;\n}\n","import clsx from 'clsx';\nimport type {\n ComponentProps,\n ComponentType,\n ElementType,\n HTMLAttributes,\n ReactNode,\n} from 'react';\nimport React from 'react';\n\nexport type ListItemLayoutRootElement = Extract<\n keyof React.JSX.IntrinsicElements,\n keyof HTMLElementTagNameMap\n>;\n\nexport type ListItemLayoutBaseProps = {\n ContentSlot?: ComponentType<ListItemLayoutContentProps>;\n contentClassName?: string;\n description?: ReactNode;\n descriptionClassName?: string;\n destructive?: boolean;\n LeadingIcon?: ComponentType;\n LeadingSlot?: ComponentType;\n selected?: boolean;\n subtitle?: ReactNode;\n subtitleClassName?: string;\n title: ReactNode;\n titleClassName?: string;\n TrailingIcon?: ComponentType;\n TrailingSlot?: ComponentType;\n};\n\nexport type ListItemLayoutProps<RootElement extends ListItemLayoutRootElement = 'div'> =\n ListItemLayoutBaseProps & {\n RootElement?: RootElement;\n rootProps?: Omit<ComponentProps<RootElement>, 'children'>;\n };\n\nexport const ListItemLayout = <RootElement extends ListItemLayoutRootElement = 'div'>({\n ContentSlot = ListItemLayoutContent,\n contentClassName,\n description,\n descriptionClassName,\n destructive,\n LeadingIcon,\n LeadingSlot,\n RootElement,\n rootProps,\n selected,\n subtitle,\n subtitleClassName,\n title,\n titleClassName,\n TrailingIcon,\n TrailingSlot,\n}: ListItemLayoutProps<RootElement>) => {\n // The inner container is the interactive element (button/anchor). The outer\n // wrapper is a plain spacing buffer so the container's focus ring (2px offset)\n // never overlaps adjacent items or gets clipped by an overflow ancestor.\n const ContainerComponent = (RootElement ?? 'div') as ElementType<\n HTMLAttributes<HTMLElement>\n >;\n const containerProps = {\n ...(ContainerComponent === 'button' ? { type: 'button' } : undefined),\n ...rootProps,\n className: clsx(\n 'str-chat__list-item-layout__container',\n rootProps?.className,\n destructive && 'str-chat__list-item-layout__container--destructive',\n selected && 'str-chat__list-item-layout__container--selected',\n ),\n } as HTMLAttributes<HTMLElement>;\n\n return (\n <div className='str-chat__list-item-layout'>\n <ContainerComponent {...containerProps}>\n {LeadingIcon && (\n <div className='str-chat__list-item-layout__leading-icon'>\n <LeadingIcon />\n </div>\n )}\n {LeadingSlot && <LeadingSlot />}\n <ContentSlot\n className={contentClassName}\n description={description}\n descriptionClassName={descriptionClassName}\n subtitle={subtitle}\n subtitleClassName={subtitleClassName}\n title={title}\n titleClassName={titleClassName}\n />\n {TrailingIcon && (\n <div className='str-chat__list-item-layout__trailing-icon'>\n <TrailingIcon />\n </div>\n )}\n {TrailingSlot && <TrailingSlot />}\n </ContainerComponent>\n </div>\n );\n};\n\nexport type ListItemLayoutContentProps = Omit<ComponentProps<'div'>, 'title'> & {\n description?: ReactNode;\n descriptionClassName?: string;\n subtitle?: ReactNode;\n subtitleClassName?: string;\n title: ReactNode;\n titleClassName?: string;\n};\n\nexport const ListItemLayoutContent = ({\n className,\n description,\n descriptionClassName,\n subtitle,\n subtitleClassName,\n title,\n titleClassName,\n ...props\n}: ListItemLayoutContentProps) => (\n <div\n {...props}\n className={clsx('str-chat__list-item-layout__content', className, {\n 'str-chat__list-item-layout__content--withDescription': description,\n 'str-chat__list-item-layout__content--withSubtitle': subtitle,\n 'str-chat__list-item-layout__content--withTitle': title,\n })}\n >\n {title && (\n <div className={clsx('str-chat__list-item-layout__title', titleClassName)}>\n {title}\n </div>\n )}\n {subtitle && (\n <div className={clsx('str-chat__list-item-layout__subtitle', subtitleClassName)}>\n {subtitle}\n </div>\n )}\n {description && (\n <div\n className={clsx('str-chat__list-item-layout__description', descriptionClassName)}\n >\n {description}\n </div>\n )}\n </div>\n);\n"],"mappings":";;;;;;;;;;;;;AAIA,IAAM,sBAAsB,WAC1B,QAAQ,KAAK,CAAC,CAAC,QAAQ,oBAAoB,GAAG,KAAK;AAErD,IAAM,uBACJ,iBACA,eACI,kBAAkB,GAAG,gBAAgB,GAAG,eAAe,KAAA;;;;;;;;;;;AAY7D,IAAa,sBAAsB,WAAoB;CACrD,MAAM,kBAAkB,mBAAmB,MAAM;CAEjD,QAAA,GAAA,MAAA,QAAA,QACS;EACL,eAAe,oBAAoB,iBAAiB,aAAa;EACjE,SAAS,oBAAoB,iBAAiB,OAAO;CACvD,IACA,CAAC,eAAe,CAClB;AACF;;;AC3BA,IAAa,QAAA,GAAA,MAAA,WAAA,CAAyD,SAAS,UAC7E,EAAE,UAAU,WAAW,GAAG,SAC1B,KACA;CACA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,GAAI;EAAO,YAAA,GAAA,KAAA,QAAA,CAAgB,wBAAwB,SAAS;EAAQ;EACtE;CACE,CAAA;AAET,CAAC;AAUD,IAAa,UAAA,GAAA,MAAA,WAAA,CAAsD,SAAS,YAC1E,EAAE,UAAU,WAAW,aAAa,eAAe,MAAM,OAAO,SAAS,GAAG,SAC5E,KACA;CACA,MAAM,EAAE,aAAa,gBAAgB;CACrC,MAAM,EAAE,eAAe,sBAAsB,SAAS,mBACpD,mBAAmB,QAAQ;CAC7B,MAAM,kBAAkB,WAAW;CACnC,MAAM,wBAAwB,iBAAiB;CAE/C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,GAAI;EAAO,YAAA,GAAA,KAAA,QAAA,CAAgB,0BAA0B,SAAS;EAAQ;YACxE,QACC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACG,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD,CAAO,CAAA,GAChB,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAU;aAAf,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IAAI,WAAU;IAAgC,IAAI;cAC/C;GACC,CAAA,GACH,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;IACE,WAAU;IACV,IAAI;cAEH;GACA,CAAA,CAEF;IACL,EAAA,CAAA,IAEF;CAEC,CAAA;AAET,CAAC;AAaD,IAAa,QAAQ;CACnB,UAZI,GAAA,MAAA,WAAA,CAA4D,SAAS,aACzE,EAAE,UAAU,WAAW,GAAG,SAC1B,KACA;EACA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,GAAI;GAAO,YAAA,GAAA,KAAA,QAAA,CAAgB,2BAA2B,SAAS;GAAQ;GACzE;EACE,CAAA;CAET,CAGE;CACA;CACA;AACF;;;ACjEA,IAAM,cAAc,EAAE,UAAU,WAAW,GAAG,YAC5C,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CAAK,GAAI;CAAO,YAAA,GAAA,KAAA,QAAA,CAAgB,oBAAoB,SAAS;CAC1D;AACE,CAAA;AAeP,IAAM,gBAAgB,EACpB,WACA,OACA,aACA,eACA,QACA,gBACA,OACA,SACA,sBACuB;CACvB,MAAM,EAAE,eAAe,cAAc,iCAAA,yBAAyB;CAC9D,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,MAAM,EAAE,aAAa,gBAAgB;CACrC,MAAM,EAAE,eAAe,sBAAsB,SAAS,mBACpD,mBAAmB,QAAQ;CAC7B,MAAM,kBAAkB,WAAW;CACnC,MAAM,wBAAwB,iBAAiB;CAC/C,MAAM,iBAAiB,eAAe,QAAQ,gBAAgB;CAE9D,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CAAgB,4BAA4B,WAAW;GACrD,6CAA6C;GAC7C,wCAAwC;EAC1C,CAAC;YAJH;GAMG,kBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAU;cACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,CAAiB,CAAA;GACd,CAAA;GAEP,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,uCAAuC;cAA5D;KACG,UACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;MACE,YAAW;MACX,cAAY,EAAE,kCAAkC,SAAS;MACzD,UAAA;MACA,WAAU;MACV,SAAS;MACT,MAAK;MACL,SAAQ;gBAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,CAAgB,CAAA;KACV,CAAA;KAEV,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;MAAI,WAAU;MAAkC,IAAI;gBACjD;KACC,CAAA;KACH,kBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;MAAG,WAAU;MAAwC,IAAI;gBACtD;KACA,CAAA;IAEF;;IACH,SAAS,oBACT,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAU;cAAf,CACG,mBAAmB,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD,CAAkB,CAAA,GACrC,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;KACE,YAAW;KAIX,cAAY,EAAE,0BAA0B,OAAO;KAC/C,UAAA;KACA,WAAU;KACV,SAAS;KACT,MAAK;KACL,SAAQ;eAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD,CAAY,CAAA;IACN,CAAA,CAEP;;EAEJ;;AAET;AAMA,IAAM,cAAc,EAAE,UAAU,gBAC9B,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,0BAA0B,SAAS;CAAI;AAAc,CAAA;AAO5E,IAAM,gBAAgB,EAAE,UAAU,gBAChC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,4BAA4B,SAAS;CAAI;AAAc,CAAA;AAO9E,IAAM,wBAAwB,EAAE,UAAU,gBACxC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,sCAAsC,SAAS;CAAI;AAAc,CAAA;AAGxF,IAAM,uCAAuC,EAAE,WAAW,GAAG,YAC3D,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;CACE,YAAW;CACX,YAAA,GAAA,KAAA,QAAA,CAAgB,6CAA6C,SAAS;CACtE,MAAK;CACL,SAAQ;CACR,GAAI;AACL,CAAA;AAGH,IAAM,qCAAqC,EAAE,WAAW,GAAG,YACzD,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;CACE,YAAW;CACX,YAAA,GAAA,KAAA,QAAA,CAAgB,6CAA6C,SAAS;CACtE,MAAK;CACL,SAAQ;CACR,GAAI;AACL,CAAA;AAGH,IAAa,SAAS;CACpB,MAAM;CACN,QAAQ;CACR,gBAAgB;CAChB,6BAA6B;CAC7B,+BAA+B;CAC/B,QAAQ;CACR,MAAM;AACR;;;AChKA,SAAgB,iBAAiB,OAAe,YAAY,GAAG;CAC7D,MAAM,QAAQ;EAAC;EAAK;EAAM;EAAM;CAAI;CACpC,MAAM,WACJ,UAAU,IACN,IACA,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC;CAC7E,MAAM,WAAW,QAAQ,QAAQ;CASjC,OAAO,GAHL,cAAc,KAAK,YAAY,MAAM,YACjC,KAAK,MAAM,QAAQ,CAAC,CAAC,SAAS,IAC9B,SAAS,YAAY,SAAS,EACR,GAAG,MAAM;AACvC;;;ACHA,IAAa,qBAAqB,EAChC,UACA,4BAC4B;CAC5B,MAAM,iBAAiB,OAAO,aAAa,WAAW,WAAW,QAAQ,IAAI;CAE7E,IAAI,OAAO,mBAAmB,eAAe,CAAC,OAAO,SAAS,OAAO,cAAc,CAAC,GAClF,OAAO;CAGT,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,WAAU;EACV,eAAY;YAEX,iBAAiB,gBAAgB,qBAAqB;CACnD,CAAA;AAEV;;;AC7BA,IAAa,eAAe,EAC1B,SACA,gBAII;CACJ,MAAM,cAAc,QAAQ,MAAM,gBAAgB;CAClD,OACE,gBAAgB,KACf,gBAAgB,KACf,CAAC,CAAC,aACF,OAAO,OAAO,QAAQ,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,MACzC,EAAE,WAAW,MAAM,OAAO,SAC7B;AAEN;;;ACRA,IAAM,mBAAmB,eAA6B;CACpD,aAAa,UAAU;CACvB,SAAS,UAAU;AACrB;;;;;;;;AASA,IAAa,kBAAkB,EAC7B,SAAS,oBACe,CAAC,MAAM;CAC/B,MAAM,iBAAiB,mBAAA,WAAW;CAClC,MAAM,UAAU,mBAAmB;CACnC,MAAM,EAAE,WAAW,iCAAA,eAAe;CAElC,iCAAA,cAAc,QAAQ,OAAO,eAAe;CAE5C,OAAO,YAAY;EAAE;EAAS,WAAW,OAAO,MAAM;CAAG,CAAC;AAC5D;;;;;;;;;;;ACRA,IAAa,6BAA6B,EACxC,iBACA,WACA,gBACA,eAC6D;CAC7D,MAAM,EAAE,eAAe,YAAY,mBAAmB,QAAQ;CAE9D,QAAA,GAAA,MAAA,QAAA,OAAqB;EACnB,MAAM,yBAAyB,YAC3B,iBACC,kBAAkB;EAIvB,OAAO;GACL,oBAJ8B,mBAAmB;GAKjD,cAJwB,yBAAyB,KAAA,IAAY;GAK7D,mBAAmB;EACrB;CACF,GAAG;EAAC;EAAiB;EAAW;EAAgB;EAAe;CAAO,CAAC;AACzE;;;AC0BA,IAAa,eAAe,EAC1B,oBAAoB,iBACpB,cAAc,WACd,mBAAmB,gBACnB,UACA,WACA,sBACA,UACA,iBACA,wBACA,sBACA,SACA,gBACA,MACA,OAAO,eAC4B;CACnC,MAAM,oBAAoB,eAAA,YAAY;CACtC,MAAM,mBAAmB,YAAY,gBAAoB;CACzD,MAAM,SAAS,eAAA,eAAe,gBAAgB;CAC9C,MAAM,SAAS,eAAA,qBAAqB,gBAAgB;CACpD,MAAM,YAAY,eAAA,wBAAwB,gBAAgB;CAC1D,MAAM,cAAA,GAAA,MAAA,OAAA,CAA2C,IAAI;CACrD,MAAM,aAAA,GAAA,MAAA,OAAA,CAA0C,IAAI;CACpD,MAAM,kBAAA,GAAA,MAAA,OAAA,CAAkD,IAAI;CAC5D,MAAM,cAAA,GAAA,MAAA,OAAA,CAAoB,KAAK;CAC/B,MAAM,EAAE,UAAU,iCAAA,eAAe;CACjC,MAAM,EAAE,kBAAA,qBAAmB,eAAA,qBAA4B,iCAAA,oBAAoB;CAC3E,MAAM,EACJ,WAAW,qBACX,WAAW,qBACX,GAAG,wBACD,mBAAmB,CAAC;CAGxB,MAAM,uBAAuB;CAC7B,MAAM,+BACJ,wBAAwB;CAC1B,MAAM,yBAAyB,0BAA0B;EACvD;EACA;EACA;EACA,UAAU;CACZ,CAAC;CAED,MAAM,cAAA,GAAA,MAAA,YAAA,EACH,QAA0B,UAA2B;EAEpD,IADc,iBAAiB,QAAQ,KAAK,MAC9B,OAAO;GACnB,OAAO,MAAM;GACb,WAAW,UAAU;GACrB,UAAU,KAAK;EACjB;CACF,GACA;EAAC;EAAQ;EAAS;CAAc,CAClC;CAEA,MAAM,qBAAA,GAAA,MAAA,QAAA,QACG;EACL,aAAa,WAAW,UAAU,CAAC,CAAoB;EACvD,UAAU;CACZ,IACA,CAAC,sBAAsB,UAAU,CACnC;CAEA,MAAM,sBAAsB,UAA4C;EACtE,IAAI,CAAC,WAAW;EAChB,MAAM,SAAS,MAAM;EACrB,IAAI,WAAW,YAAY,QACzB,WAAW,WAAW,KAAK;CAE/B;CAEA,MAAM,0BAA0B,UAA+C;EAC7E,IAAI,CAAC,WAAW;EAChB,WAAW,UAAU,KAAK;CAC5B;CAEA,MAAM,uBAAuB,UAA+C;EAC1E,sBAAsB,KAAK;EAC3B,IAAI,MAAM,oBAAoB,CAAC,WAAW;EAE1C,IAAI,MAAM,QAAQ,UAAU;GAC1B,WAAW,UAAU,KAAK;GAC1B;EACF;EAOA,IAAI,MAAM,QAAQ,WAAW,MAAM,WAAW,UAAU,SAAS;GAC/D,MAAM,SAAS,UAAU,SAAS,cAA2B,kBAAkB;GAC/E,IAAI,QAAQ;IACV,MAAM,eAAe;IACrB,OAAO,MAAM;GACf;EACF;CACF;CAIA,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,CAAC,MAAM;GACT,WAAW,UAAU;GACrB,IAAI,QACF,OAAO,MAAM;GAEf;EACF;EACA,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,SACjC,OAAO,KAAK;CAEhB,GAAG;EAAC;EAAQ;EAAQ;CAAI,CAAC;CAEzB,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IACE,CAAC,QACD,CAAC,UAGD,CAAC,aACA,CAAC,0BAA0B,iCAAiC,gBAE7D;EAEF,MAAM,QAAQ,4BAA4B;GACxC,MAAM,gBAAgB,UAAU;GAChC,IAAI,CAAC,eAAe;GAIpB,CAFe,yBAAyB,aAAa,KAAK,cAAA,CAEnD,MAAM;EACf,CAAC;EAED,aAAa,qBAAqB,KAAK;CACzC,GAAG;EAAC;EAAwB;EAAQ;EAAW;EAAM;CAA4B,CAAC;CAElF,IAAI,CAAC,QAAQ,CAAC,QAAQ,OAAO;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAA,mBAAD;EAAmB,UAAU;EAAkB,iBAAiB,eAAA;YAC9D,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;GAAsB,OAAO;aAC3B,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IACE,YAAA,GAAA,KAAA,QAAA,CACE,YACA,OACA,+DACA,SACF;IACA,SAAS;IACT,KAAK;cARP;KAUE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAA,YAAD;MACE,WACE,aACA,CAAC,0BACD,iCAAiC;MAEnC,SAAS;MACT,cAAA;gBAEA,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;OACE,GAAI;OACJ,oBAAkB,uBAAuB;OACzC,cAAY,uBAAuB;OACnC,mBAAiB,uBAAuB;OACxC,cAAY,YAAY,SAAS,KAAA;OACjC,YAAA,GAAA,KAAA,QAAA,CAAgB,2BAA2B,mBAAmB;OAC9D,OAAO,YAAY,KAAA,IAAY;OAC/B,WAAW;OACX,KAAK;OACC;OACN,UAAU,YAAY,IAAI;iBAE1B,iBAAA,GAAA,kBAAA,KAAA,CAAC,eAAA,uBAAD;QACE,IAAI,GAAG,iBAAiB;QACxB,wBAAwB;SACtB,sBAAsB;SACtB,WAAW;QACb;kBALF,CAOG,UAIA,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAA,gBAAD,EAAgB,OAAO,EAAI,CAAA,CACpB;;MACpB,CAAA;KACK,CAAA;KACZ,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD;MACE,WAAU;MACV,OAAM;MACN,mBAAkB;KACnB,CAAA;KACA,wBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;MAAsB,SAAS;MAAwB,KAAK;KAAiB,CAAA;IAE5E;;EACe,CAAA;CACL,CAAA;AAEvB;;;;;;;AC7PA,IAAa,kBAAkB,EAC7B,UACA,WACA,mBACA,mBACyB;CACzB,MAAM,EAAE,iBAAiB,iCAAA,yBAAyB;CAClD,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,IAAI,CAAC,UAAU,OAAO;CACtB,MAAM,QAAA,GAAA,wBAAA,YAAA,CAAmB,QAAQ;CACjC,IAAI,CAAC,MAAM,OAAO;CAElB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;EACE,cAAY,EAAE,uCAAuC,qBAAqB;EAC1E,YAAA,GAAA,KAAA,QAAA,CACE,oBACA,+BACA,6BACA,8BACA,6BACA,8CACA,SACF;EACA,UAAU,qBAAqB;EACzB;EACN,KAAI;EACJ,QAAO;EACP,OAAO,gBAAgB,EAAE,mCAAmC,qBAAqB;YAEjF,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,WAAU;aACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,EAAc,WAAU,kEAAmE,CAAA;EACxF,CAAA;CACJ,CAAA;AAEP;;;ACnDA,IAAa,2BAA2B;AACxC,IAAa,8BAA8B;;AAE3C,IAAa,+BAA+B;;AAY5C,IAAa,wBAAuE;CAClF,IAAI;EAAE,QAAQ;EAAI,QAAQ;EAAI,QAAQ;EAAI,OAAO;CAAG;CACpD,IAAI;EAAE,QAAQ;EAAI,QAAQ;EAAI,QAAQ;EAAI,OAAO;CAAG;CACpD,IAAI;EAAE,QAAQ;EAAI,QAAQ;EAAI,QAAQ;EAAM,OAAO;CAAG;CACtD,IAAI;EAAE,QAAQ;EAAI,QAAQ;EAAI,QAAQ;EAAI,OAAO;CAAG;AACtD;;AAGA,IAAa,2BACX,cACkD;CAClD,IAAI,CAAC,WAAW,OAAO;CACvB,OAAQ;EAAC;EAAM;EAAM;EAAM;CAAI,CAAC,CAAW,QACxC,KAAK,UAAU;EACd,GAAG;GACF,OAAO;GAAE,GAAG,sBAAsB;GAAO,GAAG,UAAU;EAAM;CAC/D,IACA,CAAC,CACH;AACF;AAEA,IAAM,oBAAoB;CAAE,QAAQ;CAAI,OAAO;AAAG;AAClD,IAAM,uBACJ;AACF,IAAM,sBAAsB;AAC5B,IAAM,2CAA2C,KAAK;AACtD,IAAM,2CAA2C,KAAK;AAWtD,IAAM,OAAO,EAAE,WAAW,MAAM,YAAY,GAAG,YAAsB;CAEnE,MAAM,aAAa,QADJ,cAAc,sBAAA,CACI,QAAQ,KAAA;CACzC,MAAM,kBAAkB,aACpB;EACE,YAAY;EACZ,QAAQ,GAAG,WAAW,OAAO;EAC7B,OAAO,GAAG,WAAW,MAAM;CAC7B,IACA,KAAA;CAEJ,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,QAAQ,YAAY;EACpB,SAAS,OAAO,kBAAkB,MAAM,GAAG,kBAAkB;EAC7D,OAAO,YAAY;EACnB,OAAM;EACN,GAAI;EACJ,YAAA,GAAA,KAAA,QAAA,CACE,0BACA,GAAG,GAAG,yBAAyB,SAAS,SAAS,KAAK,GACtD,SACF;EACA,OAAO;GAAE,GAAG;GAAiB,GAAG,MAAM;EAAM;CAC7C,CAAA;AAEL;AAQA,IAAM,iBAAiB,EAAE,OAAO,MAAM,iBAAqC;CAEzE,MAAM,SAAS,QADG,cAAc,sBAAA,CACA,QAAQ;EAAE,QAAQ;EAAI,QAAQ;CAAG;CACjE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,WAAU;EAA6B,GAAG,OAAO;EAAQ,GAAG,OAAO;YACtE;CACG,CAAA;AAEV;AAOA,IAAM,eAAkC;CACtC,aACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAM,GAAE;GAAI,GAAE;EAAQ,CAAA;CACrE,EAAA,CAAA;CAEJ,gBACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAM,GAAE;GAAI,GAAE;EAAQ,CAAA;CACrE,EAAA,CAAA;AAEN;AAEA,IAAM,gBAAmC;CACvC,aACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;EACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAO,GAAE;GAAI,GAAE;EAAQ,CAAA;EACtE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,MAAK;GAAQ,QAAO;GAAM,IAAG;GAAM,OAAM;GAAM,GAAE;GAAI,GAAE;EAAQ,CAAA;CACrE,EAAA,CAAA;CAEJ,gBAAgB,aAAa;AAC/B;AAEA,IAAM,eAAkC;CACtC,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;AAEL;AAEA,IAAM,gBAAmC;CACvC,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;AAEL;AAEA,IAAM,uBAA0C;CAC9C,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;AAEL;AAEA,IAAM,sBAAyC;CAC7C,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;AAEL;AAEA,IAAM,sBAAyC;CAC7C,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,UAAS;EACT,GAAE;EACF,MAAK;EACL,UAAS;CACV,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,UAAS;EACT,GAAE;EACF,MAAK;EACL,UAAS;CACV,CAAA;AAEL;AAEA,IAAM,gBAAmC;CACvC,aACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;CAEH,gBACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EACE,GAAE;EACF,QAAO;EACP,eAAc;EACd,gBAAe;EACf,aAAY;CACb,CAAA;AAEL;AAQA,IAAM,wBAAwB,EAC5B,WACA,OACA,mBACA,OACA,MACA,YACA,SACA,GAAG,YAC4B;CAC/B,MAAM,cAAc,CAAC,CAAC;CACtB,MAAM,gBAAgB,cAAc,QAAQ,KAAA;CAC5C,MAAM,gBAAgB,cAAc,gBAAgB;CAEpD,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,KAAD;EACE,GAAI;EACJ,YAAA,GAAA,KAAA,QAAA,CAAgB,mBAAmB,SAAS;EACtC;EACM;YAJd,CAME,iBAAA,GAAA,kBAAA,KAAA,CAAC,KAAD;GAAG,WAAW;aAAd;IACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,GAAG;KAAsB,MAAM;IAAQ,CAAA;IAC5C,cACC,QAAQ,iBAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;KACE,WAAW,SAAS,yCAAyC,GAAG,yCAAyC;eAExG,QAAQ;IACR,CAAA;IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,GAAG;KAAqB,MAAK;KAAQ,SAAQ;IAAO,CAAA;GACzD;MACF,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD;GAAe,OAAO;GAAqB;GAAkB;EAAa,CAAA,CAEzE;;AAET;AAEA,IAAM,mBACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;CACE,GAAE;CACF,MAAK;AACN,CAAA;AAGH,IAAM,oBACJ,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;CACE,GAAE;CACF,MAAK;AACN,CAAA,GACD,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;CACE,GAAE;CACF,MAAK;AACN,CAAA,CACD,EAAA,CAAA;AAGJ,IAAa,eAAe,EAC1B,WACA,OACA,MACA,YACA,GAAG,YACoB;CACvB,MAAM,qBAAqB,CAAC,CAAC;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;EACE,GAAI;EACJ,YAAA,GAAA,KAAA,QAAA,CACE,4BACA,sBAAA,iCACA,SACF;EACM;EACM;YAEZ,iBAAA,GAAA,kBAAA,KAAA,CAAC,KAAD;GAAG,WAAW;aAAd;IACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,GAAG;KAAsB,MAAK;IAAW,CAAA;IAC9C,qBACC,oBAEA,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;KACE,WAAW,SAAS,yCAAyC,GAAG,yCAAyC;eAExG;IACA,CAAA;IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;KAAM,GAAG;KAAqB,MAAK;KAAQ,SAAQ;IAAO,CAAA;GACzD;;CACA,CAAA;AAET;AAEA,IAAa,gBAAgB,EAAE,WAAW,OAAO,GAAG,YAClD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,sBAAsB,EAAE,WAAW,OAAO,GAAG,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,iBAAiB,EAAE,YAAY,IAAI,OAAO,GAAG,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,mBAAmB,EAC9B,YAAY,IACZ,QAAQ,IACR,GAAG,YAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,gBAAgB,EAAE,YAAY,IAAI,OAAO,GAAG,YACvD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,iBAAiB,EAAE,YAAY,IAAI,OAAO,GAAG,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,iBAAiB,EAAE,YAAY,IAAI,OAAO,GAAG,YACxD,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;AAGH,IAAa,oBAAoB,EAC/B,YAAY,IACZ,QAAQ,IACR,GAAG,YAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAD;CACE,GAAI;CACO;CACX,OAAM;CACN,mBAAkB;CACX;CACP,SAAS;AACV,CAAA;;;AC7bH,IAAa,gBAAgB;CAG3B;CAEA;CAEA;CAEA;CAEA;CAEA;CAIA;CAEA;CAEA;AAGF;AAEA,IAAa,iBAAiB;CAE5B;CAKA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAIA;CAEA;CAEA;AAGF;AAEA,IAAa,sBAAsB;CAGjC;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAIA;CAEA;CAEA;AAGF;AAEA,IAAa,mBAAmB;CAE9B;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;AACF;AAEA,IAAa,gBAAgB;CAE3B;CAEA;CAEA;CACA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;CAEA;AACF;AAEA,IAAa,yBAAiD;CAE5D,wBAAwB;CACxB,oBAAoB;CACpB,4BAA4B;CAC5B,oBAAoB;CACpB,uBAAuB;CACvB,sBAAsB;CACtB,+BAA+B;CAC/B,4BAA4B;CAC5B,mBAAmB;CACnB,mBAAmB;CACnB,0BAA0B;CAC1B,mBAAmB;CACnB,gCAAgC;CAChC,uCAAuC;CACvC,mCAAmC;CACnC,4BAA4B;CAC5B,kDAAkD;CAClD,kDAAkD;CAClD,qDAAqD;CACrD,iCAAiC;CACjC,iCAAiC;CACjC,uDAAuD;CACvD,8DAA8D;CAC9D,2DAA2D;CAC3D,0DAA0D;CAC1D,oDAAoD;CACpD,oDAAoD;CACpD,mDAAmD;CACnD,4DAA4D;CAC5D,4DAA4D;CAC5D,kDAAkD;CAClD,2DAA2D;CAC3D,2DAA2D;CAC3D,2CAA2C;CAC3C,oDAAoD;CACpD,oDAAoD;CACpD,6EAA6E;CAC7E,0EAA0E;CAC1E,yEAAyE;CACzE,qEAAqE;CACrE,wEAAwE;CACxE,2EAA2E;CAC3E,2EAA2E;CAC3E,uBAAuB;CACvB,yBAAyB;CACzB,oBAAoB;CACpB,+BAA+B;CAC/B,yBAAyB;CACzB,yBAAyB;CACzB,sBAAsB;CACtB,uBAAuB;CACvB,qBAAqB;CACrB,0BAA0B;CAC1B,qBAAqB;CACrB,yBAAyB;CACzB,yBAAyB;CACzB,2BAA2B;CAC3B,+BAA+B;CAC/B,4BAA4B;CAC5B,qBAAqB;CACrB,sBAAsB;CACtB,sBAAsB;CACtB,sBAAsB;CACtB,kCAAkC;CAClC,4BAA4B;CAC5B,sBAAsB;CACtB,qBAAqB;CACrB,gCAAgC;CAChC,sBAAsB;CACtB,oBAAoB;CACpB,6BAA6B;CAC7B,iCAAiC;CACjC,qBAAqB;CACrB,yBAAyB;CACzB,qBAAqB;CACrB,4BAA4B;CAC5B,oBAAoB;CACpB,sBAAsB;CACtB,yBAAyB;CACzB,mBAAmB;CACnB,mBAAmB;CAGnB,aAAa;CACb,cAAc;CACd,cAAc;CACd,aAAa;CACb,cAAc;CACd,aAAa;CACb,cAAc;CACd,aAAa;CACb,cAAc;CACd,gBAAgB;CAChB,eAAe;CACf,gBAAgB;CAChB,kBAAkB;CAClB,eAAe;CAGf,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CAGd,cAAc;CACd,cAAc;CACd,aAAa;CACb,aAAa;CACb,cAAc;CACd,cAAc;CACd,cAAc;CACd,aAAa;CACb,iBAAiB;CACjB,cAAc;CACd,4BAA4B;CAC5B,cAAc;CACd,gBAAgB;CAGhB,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,cAAc;CACd,YAAY;CACZ,aAAa;CACb,6BAA6B;CAC7B,cAAc;CACd,YAAY;CACZ,iBAAiB;CACjB,iBAAiB;CACjB,eAAe;CACf,eAAe;CACf,iBAAiB;CACjB,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,iBAAiB;CACjB,cAAc;CACd,mBAAmB;CACnB,qBAAqB;CACrB,iBAAiB;CACjB,eAAe;CACf,iBAAiB;CACjB,eAAe;CACf,eAAe;CACf,gBAAgB;CAChB,aAAa;CACb,sBAAsB;CACtB,cAAc;CACd,gBAAgB;CAChB,qBAAqB;CACrB,eAAe;CACf,YAAY;CACZ,aAAa;CAGb,cAAc;CACd,eAAe;CACf,cAAc;CACd,aAAa;CACb,cAAc;CACd,aAAa;CACb,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf,eAAe;CACf,oBAAoB;CACpB,kBAAkB;CAClB,mBAAmB;AACrB;;;AC5SA,SAAS,0BAAiC,EACxC,iBACA,cACA,eACA,aACA,oBACA,gBACuD;CACvD,MAAM,oBAA8C,EAClD,mBAAmB,YACrB;CAEA,KAAK,MAAM,QAAQ,eACjB,kBAAkB,QAAQ;CAG5B,KAAK,MAAM,QAAQ,gBACjB,kBAAkB,QAAQ;CAG5B,KAAK,MAAM,QAAQ,qBACjB,kBAAkB,QAAQ;CAG5B,KAAK,MAAM,QAAQ,kBACjB,kBAAkB,QAAQ;CAG5B,KAAK,MAAM,QAAQ,eACjB,kBAAkB,QAAQ;CAE5B,OAAO;AACT;AAEA,SAAS,6BAAoC,EAC3C,aACA,eACA,kBACA,iBACgF;CAChF,OAAO;EACL,UAAU;EACV,UAAU;EACV,SAAS;EACT,UAAU;CACZ;AACF;AASA,IAAa,UAAmB,EAC9B,UAAU;CACR,GAAG,0BAA6C;EAC7B;EACH;EACC;EACF;EACO;EACN;CAChB,CAAC;CACD,GAAG,6BAAgD;EACjD,aAAa;EACE;EACG;EACH;CACjB,CAAC;CACD,UAAU;AACZ,EACF;;;AC1FA,SAAgB,eAAe,UAAmB;CAChD,MAAM,SAAS,QAAQ;CAEvB,IAAI,CAAC,UAAU,OAAO,OAAO;CAE7B,MAAM,OAAO,OAAO;CACpB,IAAI,MAAM,OAAO;CAEjB,IAAI,SAAS,WAAW,QAAQ,GAAG,OAAO,OAAO,aAAa,OAAO;CACrE,IAAI,SAAS,WAAW,QAAQ,GAAG,OAAO,OAAO,aAAa,OAAO;CACrE,IAAI,SAAS,WAAW,QAAQ,GAAG,OAAO,OAAO,aAAa,OAAO;CACrE,IAAI,SAAS,WAAW,OAAO,GAAG,OAAO,OAAO,YAAY,OAAO;CAEnE,OAAO,OAAO;AAChB;AAEA,IAAM,qBAAqB,EACzB,UACA,eACkD;CAClD,IAAI;CAEJ,IAAI,UACF,QAAQ,uBAAuB;CAGjC,IAAI,CAAC,SAAS,UACZ,QAAQ,SAAS,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;CAExC,OAAO;AACT;AAEA,IAAa,YAAY,UAAyB;CAChD,MAAM,EACJ,WACA,UACA,UACA,OAAO,MACP,YAAY,oBACZ,GAAG,SACD;CACJ,MAAM,cAAA,GAAA,MAAA,QAAA,OACE,wBAAwB,kBAAkB,GAChD,CAAC,kBAAkB,CACrB;CACA,MAAM,OAAO,eAAe,QAAQ;CACpC,MAAM,QAAQ,WAAW,kBAAkB;EAAE;EAAU;CAAS,CAAC,IAAI,KAAA;CACrE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;EACE,GAAI;EACO;EACJ;EACD;EACM;CACb,CAAA;AAEL;;;AC9EA,IAAa,cACX,cACA,WAA6B,WAC1B;CACH,IAAI,gBAAgB,QAAQ,OAAO,MAAM,YAAY,KAAK,eAAe,GACvE,OAAO;CAGT,MAAM,iBACJ,aAAa,UAAU,KAAK,MAAM,YAAY,IAAI,KAAK,KAAK,YAAY;CAC1E,MAAM,QAAQ,KAAK,MAAM,iBAAiB,IAAI;CAC9C,MAAM,UAAU,KAAK,MAAO,iBAAiB,OAAQ,EAAE;CACvD,MAAM,UAAU,iBAAiB;CACjC,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,OAAO,OAAO,CAAC,CAAC,SACpE,GACA,GACF;CAEA,OAAO,QAAQ,GAAG,OAAO,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,WAAW;AACjE;;;ACVA,IAAa,oBAAoB,EAAE,gBAAuC;CACxE,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,MAAM,EAAE,cAAc,iCAAA,yBAAyB;CAE/C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,cAAY,EACV,wDACA,sBACF;EACA,YAAA,GAAA,KAAA,QAAA,CAAgB,+BAA+B,SAAS;EACxD,eAAY;EACZ,MAAK;YAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD,CAAY,CAAA;CACT,CAAA;AAET;;;ACfA,IAAa,aAAA,GAAA,MAAA,WAAA,CAAyD,SAAS,UAC7E,EAAE,KAAK,GAAG,SACV,KACA;CACA,MAAM,EACJ,KAAK,UACL,WAAW,gBACX,SAAS,cACT,4BAA4B,OAC5B,GAAG,aACD;CAKJ,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,SAAA,CAAwC,IAAI;CAC9D,MAAM,EAAE,kBAAkB,4BAA4B,qBACpD,iCAAA,oBAAoB;CAEtB,MAAM,gBAAA,GAAA,MAAA,QAAA,QAAA,GAAA,wBAAA,YAAA,CAAyC,GAAG,GAAG,CAAC,GAAG,CAAC;CAC1D,MAAM,QAAQ,cAAc;CAE5B,CAAA,GAAA,MAAA,UAAA,aACc;EACV,aAAa,IAAI;CACnB,GACA,CAAC,YAAY,CACf;CAEA,IAAI,OACF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,2BAAD,EACE,YAAA,GAAA,KAAA,QAAA,CAAgB,gBAAgB,mCAAmC,EACpE,CAAA,GACA,6BAA6B,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAgB,UAAU,aAAe,CAAA,CACvE,EAAA,CAAA;CAIN,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,eAAY;EACZ,GAAI;EACJ,KAAK,YAAY;EACjB,YAAA,GAAA,KAAA,QAAA,CAAgB,gBAAgB,sBAAsB;EACtD,UAAU,MAAM;GACd,aAAa,YAAY;GACzB,eAAe,CAAC;EAClB;EACK;EACL,KAAK;CACN,CAAA;AAEL,CAAC;;;;;;AChCD,IAAa,0BACX,YACA,UAAyC,CAAC,MACN;CACpC,KAAA,GAAA,YAAA,kBAAA,CAAsB,UAAU,GAAG;EACjC,MAAM,eACJ,SAAS,oBAAoB,WAAW,QACpC,WAAW,MACT,QAAQ,oBAEV,KAAA;EAEN,OAAO;GACL,KAAK,cAAc,OAAO,WAAW;GACrC,YAAY,eACR;IACE,QAAQ,aAAa;IACrB,OAAO,aAAa;GACtB,IACA,KAAA;GACJ,UAAU,WAAW;GACrB,OAAO,WAAW,SAAS,WAAW;EACxC;CACF;CAEA,KAAA,GAAA,YAAA,iBAAA,CAAqB,UAAU,GAAG;EAChC,MAAM,WAAW,WAAW,aAAa,WAAW;EACpD,OAAO;GACL,KAAK,WAAW,SAAS;GACzB;GACA,OAAO,WAAW;EACpB;CACF;CAEA,KAAA,GAAA,YAAA,uBAAA,CAA2B,UAAU,GACnC,OAAO;EACL,OAAO,WAAW;EAClB,mBAAmB,WAAW,aAAa,WAAW,cAAc;EACpE,UAAU,WAAW,aAAa,WAAW,cAAc;CAC7D;CAGF,KAAA,GAAA,YAAA,kBAAA,CAAsB,UAAU,GAC9B,OAAO;EACL,OAAO,WAAW;EAClB,mBAAmB,WAAW;EAC9B,UAAU,WAAW;CACvB;CAGF,KAAA,GAAA,YAAA,uBAAA,CAA2B,UAAU,GAAG;EACtC,MAAM,WAAW,WAAW,aAAa,WAAW,cAAc;EAClE,OAAO;GACL,KAAK,WAAW,SAAS;GACzB;GACA,OAAO,WAAW;EACpB;CACF;CAEA,KAAA,GAAA,YAAA,kBAAA,CAAsB,UAAU,GAAG;EACjC,MAAM,WAAW,WAAW;EAC5B,OAAO;GACL,KAAK,WAAW,SAAS;GACzB;GACA,OAAO,WAAW;EACpB;CACF;AAGF;;;;;;;AC/EA,IAAa,4BACX,GAAG,SAMY,uBAAuB,GAAG,IAAI;AA2B/C,IAAa,kBAAA,GAAA,MAAA,cAAA,CAAgE,KAAA,CAAS;AAEtF,IAAa,0BACX,iCAAA,gBAAA,GAAA,MAAA,WAAA,CAA0B,cAAc,GAAG,qBAAqB,SAAS;;;AC3C3E,IAAM,sBAAsB,cAAwC;CAClE,IAAI,CAAC,WAAW,OAAO,KAAA;CACvB,QAAA,GAAA,gBAAA,OAAA,CAAc,SAAS,IAAI,UAAU,YAAY,IAAI;AACvD;;;;;AAMA,IAAM,oBAAoB,EAAE,gBAAgD;CAC1E,MAAM,EAAE,GAAG,oBAAoB,iCAAA,sBAAsB;CACrD,MAAM,sBAAsB,mBAAmB,SAAS;CAExD,MAAM,QAAA,GAAA,MAAA,QAAA,QAAA,GAAA,gBAAA,cAAA,CAEY;EACZ,kBAAkB;EAClB;EACA;EACA,yBAAyB;CAC3B,CAAC,GACH;EAAC;EAAqB;EAAG;CAAe,CAC1C;CAEA,IAAI,CAAC,MAAM,OAAO;CAElB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,WAAU;EAA+B,UAAU;YACtD;CACG,CAAA;AAEV;AAEA,IAAa,iBAAiB,EAAE,kBAAsC;CACpE,MAAM,EAAE,qBAAqB,cAAc,iCAAA,yBAAyB;CACpE,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,MAAM,EAAE,WAAW,iCAAA,eAAe;CAClC,MAAM,gBAAA,GAAA,MAAA,WAAA,CAA0B,YAAY;CAC5C,MAAM,EAAE,WAAW,SAAS;CAE5B,MAAM,cACH,CAAC,CAAC,MAAM,MAAM,KAAK,OAAO,OAAO,UAAU,EAAE,oBAAoB,KAAK,KACvE,MAAM,QACN,MAAM,MACN,YAAY,SACZ,EAAE,oCAAoC,uBAAuB;CAC/D,MAAM,eAAA,GAAA,MAAA,QAAA,OAA4B;EAChC,MAAM,iBAAiB,YAAY,YAAY,YAAY;EAE3D,IAAI,CAAC,gBAAgB,OAAO,KAAA;EAE5B,MAAM,gBAAA,GAAA,wBAAA,YAAA,CAA2B,cAAc;EAE/C,OAAO,iBAAiB,gBAAgB,KAAA,IAAY;CACtD,GAAG,CAAC,YAAY,UAAU,YAAY,QAAQ,CAAC;CAC/C,MAAM,gBAAgB,EAAE,uCAAuC,qBAAqB;CAEpF,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;YAAf;GACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,eAAY;IAAO,WAAU;GAAoC,CAAA;GACtE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAU;cAAf,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;eAA4B;IAAiB,CAAA,GAC5D,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,EAA6B,UAAY,CAAA,CACtC;;GACL,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IAAK,WAAU;cAAf,CACG,cACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,KAAD;KACE,cAAY;KACZ,WAAU;KACV,UAAA;KACA,MAAM;KACN,KAAI;KACJ,QAAO;KACP,OAAO;eAEP,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,CAAsB,CAAA;IACrB,CAAA,IACD,MACH,cAAc,QACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;KACE,cAAY,EAAE,0BAA0B,OAAO;KAC/C,WAAU;KACV,SAAS,aAAa;KACtB,OAAO,EAAE,0BAA0B,OAAO;eAE1C,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD,CAAY,CAAA;IACN,CAAA,IACN,IACD;;EACF;;AAET;;;ACnGA,IAAM,cAAc,MAAA,QAAM,WAAA,QAAA,QAAA,CAAA,CAAA,WAAA,QAAW,kCAAA,CAAA,CAA8B;AAcnE,IAAa,eAAe,EAC1B,WAAW,MACX,WACA,cACA,eACsB;CACtB,MAAM,EAAE,kBAAA,qBAAmB,eAAA,kBAAyB,aAAa,uBAC/D,iCAAA,oBAAoB;CAEtB,OAAO,qBACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD;EACY;EACC;EACG;EACJ;CACX,CAAA,IAED,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAA,QAAM,UAAP;EACE,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,WAAU;aACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD,CAAmB,CAAA;EAChB,CAAA;YAGP,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;GACY;GACC;GACG;GACJ;EACX,CAAA;CACa,CAAA;AAEpB;;;AC7CA,IAAa,kBAAkB,EAC7B,WACA,QACA,GAAG,iBACsB;CACzB,MAAM,EAAE,iBAAiB,iCAAA,yBAAyB;CAClD,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CAEpC,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;YAAf,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;GACE,YAAA,GAAA,KAAA,QAAA,CAAgB,uDAAuD,SAAS;GAChF,GAAI;EACL,CAAA,GACA,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;GACE,YAAW;GACX,cAAY,EAAE,kDAAkD,YAAY;GAC5E,UAAA;GACA,YAAA,GAAA,KAAA,QAAA,CACE,+DACF;GACA,SAAS;GACT,MAAK;GACL,SAAQ;aAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA;EACT,CAAA,IAER,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,WAAU;aACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA;EACZ,CAAA,CAEJ;;AAET;;;AC7BA,IAAM,kBAAkB;AACxB,IAAM,sBAAsB;AAE5B,IAAa,kBAAkB;CAC7B,MAAM,EAAE,iBAAiB,qBAAqB,iCAAA,yBAAyB;CACvE,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,MAAM,EACJ,wBACA,cACA,aACA,UACA,cACA,SACA,aACA,WACA,mBACE,kBAAkB;CACtB,MAAM,gBAAA,GAAA,MAAA,WAAA,CAA0B,YAAY;CAE5C,MAAM,CAAC,WAAW,iBAAA,GAAA,MAAA,SAAA,CAAyB,KAAK;CAGhD,MAAM,sBAAA,GAAA,MAAA,OAAA,CAA4B,KAAK;CACvC,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,SAAA,CAA2B,CAAC;CAChD,MAAM,CAAC,YAAY,kBAAA,GAAA,MAAA,SAAA,CAA0B,KAAK;CAClD,MAAM,CAAC,gBAAgB,sBAAA,GAAA,MAAA,SAAA,CACrB,IACF;CAKA,MAAM,sBAAA,GAAA,MAAA,OAAA,CAA4B,KAAK;CACvC,MAAM,iBAAA,GAAA,MAAA,OAAA,CAAwD,IAAI;CAClE,MAAM,sBAAA,GAAA,MAAA,OAAA,CAA4B,KAAK;CACvC,MAAM,gBAAA,GAAA,MAAA,OAAA,CAAsC,IAAI;CAGhD,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,aAAa,KAAK;CACpB,GAAG,CAAC,YAAY,CAAC;CAGjB,MAAM,gBAAA,GAAA,MAAA,OAAA,CAAsB,YAAY;CACxC,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,IAAI,aAAa,YAAY,cAAc;EAE3C,kBADkB,eAAe,aAAa,UAAU,YAAY,UACzC;EAC3B,eAAe,CAAC;EAChB,cAAc,KAAK;EACnB,mBAAmB,UAAU;EAE7B,MAAM,QAAQ,iBAAiB;GAC7B,kBAAkB,IAAI;GACtB,mBAAmB,UAAU;EAC/B,GAAG,mBAAmB;EAEtB,aAAa,UAAU;EACvB,aAAa,aAAa,KAAK;CACjC,GAAG,CAAC,YAAY,CAAC;CAGjB,MAAM,kBAAA,GAAA,MAAA,YAAA,OAAmC;EACvC,IAAI,mBAAmB,SAAS;EAChC,SAAS;CACX,GAAG,CAAC,QAAQ,CAAC;CAEb,MAAM,sBAAA,GAAA,MAAA,YAAA,OAAuC;EAC3C,IAAI,mBAAmB,SAAS;EAChC,aAAa;CACf,GAAG,CAAC,YAAY,CAAC;CAGjB,MAAM,iBAAA,GAAA,MAAA,YAAA,EACH,UAAyB;EACxB,IAAI,MAAM,QAAQ,aAAa;GAC7B,MAAM,eAAe;GACrB,mBAAmB;EACrB,OAAO,IAAI,MAAM,QAAQ,cAAc;GACrC,MAAM,eAAe;GACrB,eAAe;EACjB;CACF,GACA,CAAC,gBAAgB,kBAAkB,CACrC;CAEA,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,SAAS,iBAAiB,WAAW,aAAa;EAClD,aAAa,SAAS,oBAAoB,WAAW,aAAa;CACpE,GAAG,CAAC,aAAa,CAAC;CAGlB,MAAM,oBAAA,GAAA,MAAA,YAAA,EAAgC,UAA4B;EAChE,IAAI,mBAAmB,SAAS;EAChC,MAAM,QAAQ,MAAM,QAAQ;EAC5B,mBAAmB,UAAU;EAC7B,cAAc,UAAU;GAAE,GAAG,MAAM;GAAS,GAAG,MAAM;EAAQ;EAC7D,mBAAmB,UAAU;CAC/B,GAAG,CAAC,CAAC;CAEL,MAAM,mBAAA,GAAA,MAAA,YAAA,EACH,UAA4B;EAC3B,IAAI,CAAC,cAAc,WAAW,mBAAmB,SAAS;EAE1D,MAAM,QAAQ,MAAM,QAAQ;EAC5B,MAAM,SAAS,MAAM,UAAU,cAAc,QAAQ;EACrD,MAAM,SAAS,MAAM,UAAU,cAAc,QAAQ;EAGrD,IAAI,CAAC,cAAc,CAAC,mBAAmB,SAAS;GAC9C,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,IAAI,IAAI;IAChE,mBAAmB,UAAU;IAC7B,mBAAmB,UAAU;IAC7B;GACF;GACA,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI;IACzB,mBAAmB,UAAU;IAC7B,cAAc,IAAI;GACpB;EACF;EAEA,IAAI,mBAAmB,SAAS;EAGhC,IAAK,CAAC,WAAW,SAAS,KAAO,CAAC,eAAe,SAAS,GACxD,eAAe,SAAS,EAAG;OAE3B,eAAe,MAAM;CAEzB,GACA;EAAC;EAAY;EAAS;CAAW,CACnC;CAEA,MAAM,kBAAA,GAAA,MAAA,YAAA,OAAmC;EACvC,IAAI,CAAC,cAAc,WAAW,mBAAmB,SAAS;GACxD,IAAI,mBAAmB,SAAS,mBAAmB,UAAU;GAC7D,cAAc,UAAU;GACxB;EACF;EAEA,MAAM,SAAS;EACf,IAAI,cAAc,KAAK,IAAI,MAAM,IAAI,IACnC,mBAAmB,UAAU;EAE/B,cAAc,UAAU;EAExB,IAAI,KAAK,IAAI,MAAM,KAAK,iBACtB,IAAI,SAAS,KAAK,SAChB,SAAS;OACJ,IAAI,SAAS,KAAK,aACvB,aAAa;OAGb,eAAe,CAAC;OAIlB,eAAe,CAAC;EAGlB,cAAc,KAAK;CACrB,GAAG;EAAC;EAAa;EAAS;EAAa;EAAU;EAAc;CAAU,CAAC;CAE1E,MAAM,eAAe,cAAc,SAAS;CAC5C,MAAM,yBAAA,GAAA,MAAA,YAAA,EACH,UAA4C;EAC3C,IAAI,MAAM,WAAW,MAAM,eAAe;EAE1C,IAAI,mBAAmB,SAAS;GAC9B,mBAAmB,UAAU;GAC7B;EACF;EAEA,IAAI,CAAC,wBAAwB;EAE7B,eAAe;CACjB,GACA,CAAC,wBAAwB,YAAY,CACvC;CAEA,MAAM,aACJ,cAAe,gBAAgB,KAAK,mBAAmB,OACnD,EAAE,WAAW,cAAc,YAAY,KAAK,IAC5C,CAAC;CAEP,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;YAAf,CACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAU;aAAf;IACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,EAA4B,YAAc,CAAA;IAC1C,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;KACE,cAAY,EAAE,sCAAsC,gBAAgB;KACpE,YAAA,GAAA,KAAA,QAAA,CACE,uCACA,CAAC,eAAe,uCAClB;KACA,UAAU,CAAC;KACX,SAAS;eAET,iBAAA,GAAA,kBAAA,IAAA,CAAC,iBAAD,CAAkB,CAAA;IACT,CAAA;IACX,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KACE,WAAU;KACV,SAAS;KACT,YAAY;KACZ,aAAa;KACb,cAAc;KACd,KAAK;eAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;MACE,YAAA,GAAA,KAAA,QAAA,CAAgB,sCAAsC;OACpD,sCAAsC;OACtC,4CACE,CAAC,cAAc,mBAAmB;OACpC,2CACE,CAAC,cAAc,mBAAmB;MACtC,CAAC;MACD,OAAO;gBAEN,YAAY,YAAY,YAAY,oBACnC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;OAAK,WAAU;iBACZ,YACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;QAAa,WAAA;QAAU,UAAU,YAAY;OAAW,CAAA,IAExD,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;QACE,KAAK,YAAY,SAAS;QAC1B,cAAc,aAAa,IAAI;QAC/B,KAAK,YAAY;OAClB,CAAA;MAEA,CAAA,IAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;OAAK,WAAU;iBACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;QAAW,KAAK,YAAY;QAAK,KAAK,YAAY;OAAW,CAAA;MAC1D,CAAA;KAEJ,CAAA;IACF,CAAA;IACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,WAAD;KACE,cAAY,EAAE,kCAAkC,YAAY;KAC5D,YAAA,GAAA,KAAA,QAAA,CACE,uCACA,CAAC,WAAW,uCACd;KACA,UAAU,CAAC;KACX,SAAS;eAET,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,CAAmB,CAAA;IACV,CAAA;GACR;MACJ,YAAY,KACX,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAU;aAAf;IACG,eAAe;IAAE;IAAK;GACpB;IAEJ;;AAET;AAEA,IAAM,aAAa,EAAE,WAAW,GAAG,YACjC,iBAAA,GAAA,kBAAA,IAAA,CAAC,iCAAA,QAAD;CAAQ,GAAI;CAAO,YAAA,GAAA,KAAA,QAAA,CAAgB,iCAAiC,SAAS;AAAI,CAAA;;;AC5PnF,IAAa,WAAW,EACtB,yBAAyB,MACzB,WAAA,aACA,eAAe,GACf,OACA,eACA,qBACkB;CAClB,MAAM,EAAE,WAAW,qBAAqB,iCAAA,oBAAoB;CAC5D,MAAM,oBAAoB,eAAa,oBAAoB;CAC3D,MAAM,CAAC,cAAc,oBAAA,GAAA,MAAA,SAAA,CAA4B,YAAY;CAE7D,MAAM,YAAY,MAAM;CAExB,MAAM,aAAA,GAAA,MAAA,YAAA,EACH,UAAkB;EACjB,IAAI,SAAS,KAAK,QAAQ,WACxB,gBAAgB,KAAK;CAEzB,GACA,CAAC,SAAS,CACZ;CAEA,MAAM,YAAA,GAAA,MAAA,YAAA,OAA6B;EACjC,iBAAiB,SAAU,OAAO,YAAY,IAAI,OAAO,IAAI,IAAK;CACpE,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAA,MAAA,YAAA,OAAiC;EACrC,iBAAiB,SAAU,OAAO,IAAI,OAAO,IAAI,IAAK;CACxD,GAAG,CAAC,CAAC;CAEL,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,gBAAgB,YAAY;CAC9B,GAAG,CAAC,cAAc,aAAa,CAAC;CAEhC,MAAM,UAAU,eAAe,YAAY;CAC3C,MAAM,cAAc,eAAe;CACnC,MAAM,cAAc,MAAM;CAE1B,MAAM,gBAAA,GAAA,MAAA,QAAA,QACG;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAe,UAAhB;EAAyB,OAAO;YAC9B,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD,CAAoB,CAAA;CACG,CAAA;AAE7B;;;AC3FA,IAAa,YAAY,EAAE,SAAS,GAAG,YACrC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACE,GAAI;CACJ,YAAA,GAAA,KAAA,QAAA,CAAgB,0CAA0C;EACxD,+BAA+B;EAC/B,gCAAgC;CAClC,CAAC;AACF,CAAA;AAMH,IAAa,YAAY;;;ACUzB,IAAa,eAAe,EAC1B,UACA,aACA,gBACA,OACA,GAAG,YACmB;CACtB,MAAM,EACJ,cAAc,WACd,mBAAmB,gBACnB,SACA,gBACA,UACA,IACA,UACA,WACA,GAAG,SACD;CACJ,MAAM,oBAAoB,eAAA,YAAY;CACtC,MAAM,WAAW,MAAM,0BAA0B;CACjD,MAAM,gBAAgB,GAAG,SAAS;CAClC,MAAM,YAAA,GAAA,MAAA,OAAA,CAA2C,IAAI;CAGrD,MAAM,YAAA,GAAA,MAAA,WAAA,CAAsB,eAAA,wBAAwB,CAAC,EAAE;CACvD,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CAEpC,MAAM,CAAC,qBAAqB,2BAAA,GAAA,MAAA,SAAA,CAAmC,QAAQ,cAAc,CAAC;CACtF,MAAM,eAAe,YAAY,KAAA;CACjC,MAAM,OAAO,eAAe,UAAU;CACtC,MAAM,aAAa,gBAAgB,aAAa,KAAA;CAKhD,MAAM,iBAAA,GAAA,MAAA,eAAA,CAD+C,QAAQ,IAAI,WAAW,KAAA,EAAA,EACzC,MAAM;CAMzC,MAAM,yBACJ,mBAAmB,CAAC,YAAa,QAAQ,gBAAgB,eAAgB,KAAA;CAK3E,MAAM,gCAAgC;EACpC,IAAI,OAAO,OAAO;EAClB,IAAI,WAAW,OAAO;EACtB,IAAI,wBAAwB;GAC1B,MAAM,UAAU,SAAS,eAAe,sBAAsB;GAI9D,SAHgB,SAAS,cACvB,4CACF,EAAA,EACiB,eAAe,SAAS,eAAe,GAAA,CAAI,KAAK,KAAK,KAAA;EACxE;CAEF;CAEA,MAAM,gBAAsD,UAAU;EACpE,IAAI,CAAC,cACH,uBAAuB,MAAM,OAAO,OAAO;EAG7C,WAAW,KAAK;EAEhB,MAAM,UAAU,wBAAwB;EACxC,IAAI,CAAC,YAAY,CAAC,SAAS;EAC3B,SACE,MAAM,OAAO,UACT,EAAE,sCAAsC,yBAAyB,EAAE,QAAQ,CAAC,IAC5E,EAAE,uCAAuC,0BAA0B,EAAE,QAAQ,CAAC,GAClF,EAAE,UAAU,SAAS,CACvB;CACF;CAEA,MAAM,iBAAyD,UAAU;EACvE,YAAY,KAAK;EACjB,IAAI,MAAM,oBAAoB,MAAM,QAAQ,KAAK;EAEjD,MAAM,eAAe;EACrB,MAAM,cAAc,MAAM;CAC5B;CAEA,MAAM,qBAAwD,UAAU;EACtE,IAAI,YAAY,MAAM,WAAW,SAAS,SAAS;EACnD,SAAS,SAAS,MAAM;CAC1B;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CACE,gCACA,gBACA,YAAY,wCACd;YALF,CAOG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;GACe;GACb,SAAS;GACT,IAAI;GACG;EACR,CAAA,IAED,UAEF,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GACE,GAAI;GACJ,cAAY;GACZ,mBAAiB;GACjB,SAAS;GACC;GACV,IAAI;GACJ,IAAI;GACJ,UAAU;GACV,WAAW;GACX,eAAe;GACf,UAAU;GACV,WAAW;EACZ,CAAA,CACE;;AAET;AAYA,IAAa,UAAU,EACrB,WACA,IACA,eACA,cACA,WACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;CACE,eAAa,eAAe,OAAO,KAAA;CACnC,YAAA,GAAA,KAAA,QAAA,CAAgB,wCAAwC,EACtD,4CAA4C,GAC9C,CAAC;CACD,SAAS,eAAe,KAAA,IAAY;WALtC,CAOG,CAAC,gBACA,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;EACE,GAAI;EACJ,YAAA,GAAA,KAAA,QAAA,CAAgB,uCAAuC,SAAS;EAChE,KAAK;EACL,MAAK;EACL,MAAK;CACN,CAAA,GAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD,EAAM,WAAU,8CAA+C,CAAA,CAC5D;;AAUP,IAAa,oBAAoB,EAC/B,SACA,UACA,WACA,aACA,OACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;CACE,YAAA,GAAA,KAAA,QAAA,CACE,uCACA,EAAE,iDAAiD,QAAQ,GAC3D,SACF;CACA,GAAI;WAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAU;YACZ,QACC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,EAAA,UAAmB,MAAwB,CAAA,GAC1C,eAAe,QAAQ,gBAAgB,MACtC,iBAAA,GAAA,kBAAA,IAAA,CAAC,wBAAD,EAAA,UAAyB,YAAoC,CAAA,CAE/D,EAAA,CAAA,IAEF;CAEC,CAAA;AACA,CAAA;AAOT,IAAa,oBAAoB,EAC/B,UACA,WACA,OACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACE,YAAA,GAAA,KAAA,QAAA,CAAgB,6CAA6C,SAAS;CACtE,GAAI;WAEH,YAAY;AACV,CAAA;AAOP,IAAa,0BAA0B,EACrC,UACA,WACA,aACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;CACE,YAAA,GAAA,KAAA,QAAA,CAAgB,oDAAoD,SAAS;CAC7E,GAAI;WAEH,YAAY;AACV,CAAA;;;ACvNP,IAAM,4BAA4B,EAAE,MAAM,WACxC,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;CAAM,eAAA;CAAY,WAAU;WACzB;AACG,CAAA,GACN,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;CAAM,WAAU;WAA2C;AAAW,CAAA,CACtE,EAAA,CAAA;AA0BJ,IAAM,yBAAyB,UAAsC;CACnE,MAAM,EAAE,eAAe,wBAAwB,iCAAA,yBAAyB;CACxE,IAAI,MAAM,SAAS,WACjB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CACE,sCACA,MAAM,mBACJ,0DACJ;EACA,IAAI,MAAM;YAET,MAAM;CACJ,CAAA;MAEF,IAAI,MAAM,SAAS,WACxB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CACE,sCACA,+CACA,MAAM,mBACJ,0DACJ;EACA,IAAI,MAAM;YAEV,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAAD;GACE,MAAM,MAAM,sBAAsB,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,CAAgB,CAAA;GAClD,MAAM,MAAM;EACb,CAAA;CACE,CAAA;MAEF,IAAI,MAAM,SAAS,SACxB,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CACE,sCACA,8BACA,MAAM,mBACJ,0DACJ;EACA,IAAI,MAAM;EACV,MAAK;YAEL,iBAAA,GAAA,kBAAA,IAAA,CAAC,0BAAD;GACE,MAAM,MAAM,oBAAoB,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,CAAsB,CAAA;GACtD,MAAM,MAAM;EACb,CAAA;CACE,CAAA;CAIT,OAAO;AACT;AAEA,IAAa,aAAA,GAAA,MAAA,WAAA,CAAyD,SAAS,UAC7E,EACE,WACA,UACA,QAAQ,OACR,cACA,kBACA,wBAAwB,WACxB,IAAI,QACJ,OACA,SACA,SACA,gBACA,oBACA,UACA,cACA,UAAU,WACV,GAAG,cAEL,KACA;CACA,MAAM,SAAS,eAAA,YAAY;CAC3B,MAAM,KAAK,UAAU;CAErB,MAAM,WAAW,UAAU,gBAAgB,QAAQ,WAAW;CAC9D,MAAM,cAAc,CAAC,YAAY,kBAAkB;CACnD,MAAM,cAAc,CAAC,YAAY,CAAC,eAAe,WAAW;CAE5D,MAAM,gBAAgB,0BAA0B,aAD5B,YAAY,eAAe;CAG/C,MAAM,YAAY,WACd,GAAG,GAAG,gBACN,eAAe,cACb,GAAG,GAAG,YACN,KAAA;CACN,MAAM,cAAc,CAAC,WAAW,qBAAqB,SAAS,CAAC,CAC5D,QAAQ,UAA2B,CAAC,CAAC,KAAK,CAAC,CAC3C,KAAK,GAAG;CAEX,MAAM,eAAe,WACnB,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EACoB;EAClB,IAAI;EACJ,iBAAiB;EACjB,MAAK;EACL,MAAM,gBAAgB;CACvB,CAAA,IACC,cACF,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EACE,IAAI;EACJ,iBAAiB;EACjB,MAAK;EACe;EACpB,MAAM;CACP,CAAA,IACC,cACF,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EACE,IAAI;EACJ,iBAAiB;EACjB,MAAK;EACL,MAAM;CACP,CAAA,IACC;CAEJ,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,YAAA,GAAA,KAAA,QAAA,CACE,6BACA,SAAS,oCACT,eAAe,sCACf,YAAY,uCACZ,iBAAiB,mDACjB,SACF;YARF;GAUG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;IAAO,WAAU;IAAmC,SAAS;cAC1D;GACI,CAAA,IACL;GACJ,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IACE,YAAA,GAAA,KAAA,QAAA,CACE,sCACA,uCAAuC,WACvC,iBAAiB,0DACnB;cALF,CAOE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;KAAK,WAAU;eAAf;MACG,UACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;OAAM,WAAU;iBAAsC;MAAc,CAAA,IAClE;MACJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;OACE,oBAAkB;OAClB,gBAAc;OACd,WAAU;OACA;OACN;OACC;OACL,GAAI;MACL,CAAA;MACA,gBAAgB,OACf,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;OAAM,eAAA;OAAY,WAAU;iBACzB;MACG,CAAA,IACJ;MACH,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;OAAM,WAAU;iBAAuC;MAAe,CAAA,IACpE;KACD;QACJ,gBAAgB,eAAe,IAC7B;;GACJ,gBAAgB,OAAO;EACrB;;AAET,CAAC;;;ACrPD,IAAa,kBAAkB,iBAA0B;CACvD,MAAM,EAAE,UAAU,iCAAA,eAAe;CAEjC,QAAA,GAAA,MAAA,QAAA,OACQ,CAAC,CAAC,gBAAgB,MAAM,MAAM,SAAS,KAAK,QAAQ,OAAO,YAAY,GAC7E,CAAC,OAAO,YAAY,CACtB;AACF;;;ACHA,IAAa,eAAe,MAAA,QAAM,cAA6C,KAAA,CAAS;AAExF,IAAa,wBAAwB,EACnC,UACA,YAGK,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAa,UAAd;CAA8B;CAAQ;AAAgC,CAAA;AAG7E,IAAM,oBAAuC,EAAE,aAAa,KAAA,EAAU;;;;;AAMtE,IAAa,yBAAA,GAAA,MAAA,WAAA,CAAmC,YAAY,KAAK;;;ACbjE,IAAM,oBAAoB,eAAkC,EAC1D,UAAU,UAAU,SACtB;;;;;;;;;AAUA,IAAa,8BAA8B,EACzC,SAAS,iBACT,UAAU,SAC0B,CAAC,MAAM;CAC3C,MAAM,iBAAiB,mBAAA,WAAW;CAClC,MAAM,UAAU,mBAAmB;CACnC,MAAM,EAAE,WAAW,iCAAA,eAAe;CAClC,MAAM,EAAE,aAAa,iCAAA,cAAc,QAAQ,OAAO,gBAAgB;CAElE,IAAI,CAAC,SAAS,OAAO;CAErB,MAAM,YAAY,OAAO,MAAM;CAC/B,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM,OAAO,OAAO,SAAS;AAC5D;;;AC7BA,IAAM,uBAAuB,eAA6B,EACxD,aAAa,UAAU,YACzB;AAEA,IAAM,wBAAwB,eAAkC,EAC9D,cAAc,UAAU,aAC1B;;;;;;;;;AAUA,SAAgB,+BAA8C;CAC5D,MAAM,EAAE,MAAM,iCAAA,sBAAsB;CACpC,MAAM,UAAU,mBAAA,WAAW;CAC3B,MAAM,EAAE,gBAAgB,iCAAA,cAAc,QAAQ,OAAO,mBAAmB;CACxE,MAAM,EAAE,iBAAiB,iCAAA,cAAc,QAAQ,OAAO,oBAAoB;CAC1E,MAAM,2BAA2B,eAAe;CAChD,MAAM,mBAAmB,2BAA2B,EAClD,SAAS,yBACX,CAAC;CAED,IAAI,CAAC,aAAa,OAAO;CAEzB,IAAI,0BACF,OAAO,mBACH,EAAE,uBAAuB,QAAQ,IACjC,EAAE,wBAAwB,SAAS;CAGzC,OAAO,GAAG,EAAE,sCAAsC,6BAA6B,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,qCAAqC,6BAA6B,EAAE,aAAa,CAAC;AAC3L;;;ACJA,IAAa,kBAAyE,EACpF,cAAc,uBACd,kBACA,aACA,sBACA,aACA,aACA,aACA,aACA,WACA,UACA,UACA,mBACA,OACA,gBACA,cACA,mBACsC;CAItC,MAAM,qBAAsB,eAAe;CAc3C,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAU;YACb,iBAAA,GAAA,kBAAA,KAAA,CAAC,oBAAD;GAZF,GAAI,uBAAuB,WAAW,EAAE,MAAM,SAAS,IAAI,KAAA;GAC3D,GAAG;GACH,YAAA,GAAA,KAAA,QAAA,CACE,yCACA,WAAW,WACX,eAAe,sDACf,YAAY,iDACd;aAKE;IACG,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;eACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,CAAc,CAAA;IACX,CAAA;IAEN,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,CAAc,CAAA;IAC9B,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;KACE,WAAW;KACE;KACS;KACZ;KACS;KACZ;KACS;IACjB,CAAA;IACA,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAU;eACb,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA;IACZ,CAAA;IAEN,gBAAgB,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA;GACd;;CACjB,CAAA;AAET;AAWA,IAAa,yBAAyB,EACpC,WACA,aACA,sBACA,UACA,mBACA,OACA,gBACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;CACE,GAAI;CACJ,YAAA,GAAA,KAAA,QAAA,CAAgB,uCAAuC,WAAW;EAChE,wDAAwD;EACxD,qDAAqD;EACrD,kDAAkD;CACpD,CAAC;WANH;EAQG,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,qCAAqC,cAAc;aACrE;EACE,CAAA;EAEN,YACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GAAK,YAAA,GAAA,KAAA,QAAA,CAAgB,wCAAwC,iBAAiB;aAC3E;EACE,CAAA;EAEN,eACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;GACE,YAAA,GAAA,KAAA,QAAA,CAAgB,2CAA2C,oBAAoB;aAE9E;EACE,CAAA;CAEJ"}
@@ -1,7 +1,7 @@
1
- const require_NotificationList = require("./NotificationList.6abbee1c.js");
1
+ const require_useComponentContextIcons = require("./useComponentContextIcons.d16834d9.js");
2
2
  let react_jsx_runtime = require("react/jsx-runtime");
3
3
  let react_player = require("react-player");
4
- react_player = require_NotificationList.__toESM(react_player);
4
+ react_player = require_useComponentContextIcons.__toESM(react_player);
5
5
  //#region src/components/VideoPlayer/ReactPlayerWrapper.tsx
6
6
  var ReactPlayer = react_player.default.default ?? react_player.default;
7
7
  /**
@@ -9,10 +9,10 @@ var ReactPlayer = react_player.default.default ?? react_player.default;
9
9
  * `react-player` (~2 MB) out of the SDK's eager import graph — it is fetched
10
10
  * only when a default video player actually renders.
11
11
  */
12
- var ReactPlayerWrapper = ({ isPlaying, thumbnailUrl, videoUrl }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReactPlayer, {
12
+ var ReactPlayerWrapper = ({ controls = true, isPlaying, thumbnailUrl, videoUrl }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReactPlayer, {
13
13
  className: "react-player",
14
14
  config: { file: { attributes: { poster: thumbnailUrl } } },
15
- controls: true,
15
+ controls,
16
16
  height: "100%",
17
17
  playing: isPlaying,
18
18
  url: videoUrl,
@@ -21,4 +21,4 @@ var ReactPlayerWrapper = ({ isPlaying, thumbnailUrl, videoUrl }) => /* @__PURE__
21
21
  //#endregion
22
22
  exports.default = ReactPlayerWrapper;
23
23
 
24
- //# sourceMappingURL=ReactPlayerWrapper.a94a0cd1.js.map
24
+ //# sourceMappingURL=ReactPlayerWrapper.f04b1d06.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReactPlayerWrapper.a94a0cd1.js","names":[],"sources":["../../src/components/VideoPlayer/ReactPlayerWrapper.tsx"],"sourcesContent":["import ReactPlayerImport from 'react-player';\n\nimport type { VideoPlayerProps } from './VideoPlayer';\n\n// react-player ships as CJS with the component on `exports.default`. Some\n// bundler/interop setups (e.g. Vite serving our built ESM as a linked workspace\n// dependency) hand back the module namespace `{ default }` instead of the\n// component itself, which makes React throw \"Element type is invalid ... got:\n// object\". Unwrap the default defensively so it works regardless of interop.\nconst ReactPlayer =\n (ReactPlayerImport as unknown as { default?: typeof ReactPlayerImport }).default ??\n ReactPlayerImport;\n\n/**\n * Default-exported so `VideoPlayer` can code-split it via `React.lazy`, keeping\n * `react-player` (~2 MB) out of the SDK's eager import graph — it is fetched\n * only when a default video player actually renders.\n */\nconst ReactPlayerWrapper = ({ isPlaying, thumbnailUrl, videoUrl }: VideoPlayerProps) => (\n <ReactPlayer\n className='react-player'\n config={{ file: { attributes: { poster: thumbnailUrl } } }}\n controls\n height='100%'\n playing={isPlaying}\n url={videoUrl}\n width='100%'\n />\n);\n\nexport default ReactPlayerWrapper;\n"],"mappings":";;;;;AASA,IAAM,cACH,aAAA,QAAwE,WACzE,aAAA;;;;;;AAOF,IAAM,sBAAsB,EAAE,WAAW,cAAc,eACrD,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;CACE,WAAU;CACV,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,aAAa,EAAE,EAAE;CACzD,UAAA;CACA,QAAO;CACP,SAAS;CACT,KAAK;CACL,OAAM;AACP,CAAA"}
1
+ {"version":3,"file":"ReactPlayerWrapper.f04b1d06.js","names":[],"sources":["../../src/components/VideoPlayer/ReactPlayerWrapper.tsx"],"sourcesContent":["import ReactPlayerImport from 'react-player';\n\nimport type { VideoPlayerProps } from './VideoPlayer';\n\n// react-player ships as CJS with the component on `exports.default`. Some\n// bundler/interop setups (e.g. Vite serving our built ESM as a linked workspace\n// dependency) hand back the module namespace `{ default }` instead of the\n// component itself, which makes React throw \"Element type is invalid ... got:\n// object\". Unwrap the default defensively so it works regardless of interop.\nconst ReactPlayer =\n (ReactPlayerImport as unknown as { default?: typeof ReactPlayerImport }).default ??\n ReactPlayerImport;\n\n/**\n * Default-exported so `VideoPlayer` can code-split it via `React.lazy`, keeping\n * `react-player` (~2 MB) out of the SDK's eager import graph — it is fetched\n * only when a default video player actually renders.\n */\nconst ReactPlayerWrapper = ({\n controls = true,\n isPlaying,\n thumbnailUrl,\n videoUrl,\n}: VideoPlayerProps) => (\n <ReactPlayer\n className='react-player'\n config={{ file: { attributes: { poster: thumbnailUrl } } }}\n controls={controls}\n height='100%'\n playing={isPlaying}\n url={videoUrl}\n width='100%'\n />\n);\n\nexport default ReactPlayerWrapper;\n"],"mappings":";;;;;AASA,IAAM,cACH,aAAA,QAAwE,WACzE,aAAA;;;;;;AAOF,IAAM,sBAAsB,EAC1B,WAAW,MACX,WACA,cACA,eAEA,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;CACE,WAAU;CACV,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,aAAa,EAAE,EAAE;CAC/C;CACV,QAAO;CACP,SAAS;CACT,KAAK;CACL,OAAM;AACP,CAAA"}