@bothub-chat/ui 2.38.1 → 2.38.2-develop-d3a68a6a-2482-4f89-9b7a-4e1ced21565e
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.
package/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
<p align="center">
|
|
2
|
-
<img src="https://bothub.chat/icon-144x144.png" />
|
|
3
|
-
</p>
|
|
4
|
-
<h1 align="center">Bothub Chat</h1>
|
|
5
|
-
<p align="center">UI Components from Bothub.</p>
|
|
6
|
-
<p align="center">
|
|
7
|
-
<a href="https://bothub-docs.vercel.app/">Documentation</a>
|
|
8
|
-
</p>
|
|
9
|
-
|
|
10
|
-
<h2>Installing</h2>
|
|
11
|
-
<p>Preliminary requirements:</p>
|
|
12
|
-
<ul>
|
|
13
|
-
<li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
|
|
14
|
-
<li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
|
|
15
|
-
<li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
|
|
16
|
-
</ul>
|
|
17
|
-
<p>Installing peer dependencies:</p>
|
|
18
|
-
<pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
|
|
19
|
-
<p>Installing package:</p>
|
|
20
|
-
<pre>yarn add @bothub-chat/ui</pre>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<h2>License</h2>
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://bothub.chat/icon-144x144.png" />
|
|
3
|
+
</p>
|
|
4
|
+
<h1 align="center">Bothub Chat</h1>
|
|
5
|
+
<p align="center">UI Components from Bothub.</p>
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="https://bothub-docs.vercel.app/">Documentation</a>
|
|
8
|
+
</p>
|
|
9
|
+
|
|
10
|
+
<h2>Installing</h2>
|
|
11
|
+
<p>Preliminary requirements:</p>
|
|
12
|
+
<ul>
|
|
13
|
+
<li><a href="https://nodejs.org/">Node.js</a> >= <code>18.12.1</code></li>
|
|
14
|
+
<li><a href="https://www.npmjs.com/">npm</a> >= <code>9.1.2</code></li>
|
|
15
|
+
<li><a href="https://yarnpkg.com/">yarn</a> >= <code>1.22.19</code></li>
|
|
16
|
+
</ul>
|
|
17
|
+
<p>Installing peer dependencies:</p>
|
|
18
|
+
<pre>yarn add framer-motion@10.16.3 react@18.2.0 react-dom@18.2.0 styled-components@6.0.7 react-helmet@6.1.0 normalize.css@8.0.1 react-slider@2.0.6 react-markdown@8.0.5 highlight.js@11.9.0 react-highlight@0.15.0</pre>
|
|
19
|
+
<p>Installing package:</p>
|
|
20
|
+
<pre>yarn add @bothub-chat/ui</pre>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<h2>License</h2>
|
|
24
24
|
<p><a href="https://github.com/matbea-dev/bothub/blob/main/LICENSE">MIT</a></p>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{animated as o}from"@react-spring/web";import{styled as e,css as
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import{animated as o}from"@react-spring/web";import{styled as e,css as r}from"styled-components";import{ArrowDownIcon as t}from"../../icons/arrow-down/index.js";import{colorToRgba as n}from"../../utils/colorToRgba.js";import{Typography as a}from"../typography/index.js";const i=e(a).attrs({variant:"body-s-medium"}).withConfig({displayName:"styled__BadgeSelectDropdownSpanStyled",componentId:"sc-obte8v-0"})([""]),d=e.button.withConfig({displayName:"styled__BadgeSelectDropdownTrigger",componentId:"sc-obte8v-1"})(["border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;column-gap:8px;min-width:98px;padding:6px 12px;border-radius:14px;background:",";color:",";"],(({theme:o,$active:e,$colorButtonOpened:r})=>e?r||"light"===o.mode?o.colors.grayScale.gray2:n(o.colors.accent.primaryLight,.5):"light"===o.mode?o.colors.grayScale.gray4:o.colors.grayScale.gray3),(({theme:o})=>o.colors.base.white)),p=e(o.ul).withConfig({displayName:"styled__BadgeSelectDropdownList",componentId:"sc-obte8v-2"})(["padding:0;margin:0;display:none;color:white;position:absolute;top:38px;left:0;transform-origin:top center;z-index:2;padding:8px;border:1px solid;border-radius:8px;border-color:",";background:",";backdrop-filter:blur(16px);"," flex-direction:column;gap:1px;"],(({theme:o})=>o.colors.grayScale.gray2),(({theme:o})=>n(o.colors.grayScale.gray4,.75)),(({$open:o})=>o&&r`
|
|
2
|
+
display: flex;
|
|
3
|
+
`)),s=e.div.withConfig({displayName:"styled__BadgeSelectDropdownWrapper",componentId:"sc-obte8v-3"})(["position:relative;"]),l=e(t).attrs({size:16}).withConfig({displayName:"styled__BadgeSelectDropdownTogglerArrow",componentId:"sc-obte8v-4"})(["transform:",";pointer-events:none;transition:transform 0.2s ease-in-out;"],(({$open:o})=>!0===o?"rotateZ(-180deg)":"rotateZ(0)"));export{p as BadgeSelectDropdownList,i as BadgeSelectDropdownSpanStyled,l as BadgeSelectDropdownTogglerArrow,d as BadgeSelectDropdownTrigger,s as BadgeSelectDropdownWrapper};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as i,jsx as o}from"react/jsx-runtime";import{useRef as n,useState as s,useCallback as e,useEffect as r}from"react";import{MessageVideoContainer as t,MessageVideoStyled as c,MessageSourceStyled as d,MessageVideoControls as p,MessageVideoTimeLine as m,MessageVideoControlsButtons as x,MessageVideoControlsButton as j,MessageVideoTimeText as a,MessageVideoDownload as l}from"./styled.js";import{MaxWindowIcon as u}from"../../../icons/max-window/index.js";import{MinWindowIcon as g}from"../../../icons/min-window/index.js";import{PauseButtonIcon as h}from"../../../icons/pause-button/index.js";import{PlayButtonIcon as b}from"../../../icons/play-button/index.js";import{MessageVideoVolume as f}from"./volume/index.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/close/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"tslib";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/copy/index.js";import"../../../icons/edit/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/trash/index.js";import"../../../icons/update/index.js";import"../../../icons/menu-dot/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/thumb-down/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import{DownloadImgIcon as w}from"../../../icons/download-img/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/resend/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";const k=i=>{const o=Math.floor(i/60),n=Math.floor(i%60);return`${o.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`},v=({src:v,downloadVideo:y})=>{const z=n(null),[C,S]=s(!1),[M,$]=s("00:00"),[q,F]=s("00:00"),[T,E]=s(0),[L,D]=s(!1),[V,U]=s(!1),B=n(null),H=L?28:24,R=e((()=>{z.current&&(z.current.play(),S(!0))}),[]),X=e((()=>{z.current&&(z.current.pause(),S(!1))}),[]),_=e((i=>{const{currentTime:o,duration:n}=i.currentTarget,s=k(o);$(s);E(o/n*100)}),[]),A=e((i=>{const{duration:o}=i.currentTarget,n=k(o);F(n)}),[]),G=e((i=>{if(i.preventDefault(),!z.current)return;const{clientX:o}=i,{width:n,left:s}=i.currentTarget.getBoundingClientRect(),e=(o-s)/n*100;E(e),z.current.currentTime=e/100*z.current.duration}),[]),I=e((()=>{U(!0)}),[]),J=e((i=>{V&&G(i)}),[V]),K=e((()=>{U(!1)}),[]),N=e((()=>{B.current&&(L?document.exitFullscreen():B.current.requestFullscreen(),D(!L))}),[L]),O=e((i=>{if(z.current){const o=Math.floor(i)/100;z.current.volume=o}}),[]);return r((()=>{const i=()=>{D(null!==document.fullscreenElement)};return window.addEventListener("fullscreenchange",i),()=>{window.removeEventListener("fullscreenchange",i)}}),[C]),i(t,{ref:B,onMouseLeave:K,onMouseMove:J,onMouseUp:K,children:[o(c,{ref:z,onClick:C?X:R,onLoadedData:A,onTimeUpdate:_,onEnded:X,$isFullScreen:L,children:o(d,{src:v,type:"video/mp4"})}),i(p,{$isFullScreen:L,$isVisible:!C,children:[o(m,{onClick:G,onMouseDown:I,$progress:T}),i(x,{$isFullScreen:L,children:[o(j,C?{onClick:X,children:o(h,{size:H})}:{onClick:R,children:o(b,{size:H})}),o(f,{iconSize:H,handleChangeVolume:O}),i(a,{children:[M," / ",q]}),y&&o(l,{iconFill:"#fff",disableHoverColor:!0,iconSize:H,onClick:y,children:o(w,{})}),o(j,{onClick:N,children:L?o(g,{fill:"#fff",size:H}):o(u,{stroke:"#fff",size:H})})]})]})]})};export{v as MessageVideo};
|
|
1
|
+
import{jsxs as i,jsx as o}from"react/jsx-runtime";import{useRef as n,useState as s,useCallback as e,useEffect as r}from"react";import{MessageVideoContainer as t,MessageVideoStyled as c,MessageSourceStyled as d,MessageVideoControls as m,MessageVideoTimeLine as p,MessageVideoControlsButtons as x,MessageVideoControlsButton as j,MessageVideoTimeText as a,MessageVideoDownload as l}from"./styled.js";import{MaxWindowIcon as u}from"../../../icons/max-window/index.js";import{MinWindowIcon as g}from"../../../icons/min-window/index.js";import{PauseButtonIcon as h}from"../../../icons/pause-button/index.js";import{PlayButtonIcon as b}from"../../../icons/play-button/index.js";import{MessageVideoVolume as f}from"./volume/index.js";import"../../../icons/arrow-down/index.js";import"../../../icons/arrow-narrow-left/index.js";import"../../../icons/arrow-narrow-right/index.js";import"../../../icons/arrow-up/index.js";import"../../../icons/bitcoin/index.js";import"../../../icons/bot-circle/index.js";import"../../../icons/bothub-agg/index.js";import"../../../icons/business-colored/index.js";import"../../../icons/check-circle/index.js";import"../../../icons/close/index.js";import"../../../icons/email-circle/index.js";import"../../../icons/language/index.js";import"../../../icons/lock-circle/index.js";import"../../../icons/menu/index.js";import"../../../icons/medium-circle/index.js";import"../../../icons/tg-circle/index.js";import"../../../icons/tg-colored/index.js";import"../../../icons/youcassa/index.js";import"../../../icons/dashboard/index.js";import"../../../icons/user-profile/index.js";import"../../../icons/logout/index.js";import"tslib";import"../../../icons/habr-2/index.js";import"../../../icons/arrow-2-down/index.js";import"../../../icons/links/index.js";import"../../../icons/free/index.js";import"../../../icons/hotness/index.js";import"../../../icons/checked/index.js";import"../../../icons/ai/index.js";import"../../../icons/bookmarks/index.js";import"../../../icons/bookmarks-big/index.js";import"../../../icons/chat/index.js";import"../../../icons/chats/index.js";import"../../../icons/coder/index.js";import"../../../icons/copy/index.js";import"../../../icons/edit/index.js";import"../../../icons/presets-big/index.js";import"../../../icons/referal/index.js";import"../../../icons/restore/index.js";import"../../../icons/tariff/index.js";import"../../../icons/trash/index.js";import"../../../icons/update/index.js";import"../../../icons/menu-dot/index.js";import"../../../icons/plus-2/index.js";import"../../../icons/plus-1/index.js";import"../../../icons/send/index.js";import"../../../icons/settings/index.js";import"../../../icons/habr/index.js";import"../../../icons/check-small/index.js";import"../../../icons/stop/index.js";import"../../../icons/thumb-up/index.js";import"../../../icons/thumb-down/index.js";import"../../../icons/star/index.js";import"../../../icons/info-big/index.js";import"../../../icons/warning-big/index.js";import"../../../icons/error-big/index.js";import"../../../icons/success-big/index.js";import"../../../icons/mj/index.js";import"../../../icons/card/index.js";import"../../../icons/arrow-narrow-up/index.js";import"../../../icons/arrow-narrow-down/index.js";import"../../../icons/filters/index.js";import"../../../icons/info/index.js";import"../../../icons/search-circle/index.js";import"../../../icons/save/index.js";import"../../../icons/light/index.js";import"../../../icons/dark/index.js";import"../../../icons/email-colored/index.js";import"../../../icons/action-chat/index.js";import"../../../icons/attach/index.js";import"../../../icons/avatar-add/index.js";import"../../../icons/brush/index.js";import"../../../icons/calendar/index.js";import"../../../icons/claude/index.js";import"../../../icons/cookie/index.js";import"../../../icons/dalle/index.js";import{DownloadImgIcon as w}from"../../../icons/download-img/index.js";import"../../../icons/error/index.js";import"../../../icons/expand/index.js";import"../../../icons/eye/index.js";import"../../../icons/face/index.js";import"../../../icons/gear/index.js";import"../../../icons/gear-min/index.js";import"../../../icons/generation/index.js";import"../../../icons/gpt-3_5/index.js";import"../../../icons/gpt-4/index.js";import"../../../icons/imagine/index.js";import"../../../icons/imagine-2/index.js";import"../../../icons/loader/index.js";import"../../../icons/loader-circular/index.js";import"../../../icons/loader-circular-gradient/index.js";import"../../../icons/loader-circular-gradient-2/index.js";import"../../../icons/minus/index.js";import"../../../icons/mj-white/index.js";import"../../../icons/prompt/index.js";import"../../../icons/rabbit/index.js";import"../../../icons/ratio-1x1/index.js";import"../../../icons/ratio-2x3/index.js";import"../../../icons/ratio-3x2/index.js";import"../../../icons/ratio-4x5/index.js";import"../../../icons/ratio-4x7/index.js";import"../../../icons/ratio-5x4/index.js";import"../../../icons/ratio-7x4/index.js";import"../../../icons/ratio-16x9/index.js";import"../../../icons/ratio-9x16/index.js";import"../../../icons/ratio-21x9/index.js";import"../../../icons/ratio-9x21/index.js";import"../../../icons/refferal-min/index.js";import"../../../icons/search-data/index.js";import"../../../icons/square/index.js";import"../../../icons/turtle/index.js";import"../../../icons/upscale/index.js";import"../../../icons/withdraw/index.js";import"../../../icons/search-plus/index.js";import"../../../icons/lightning/index.js";import"../../../icons/blog-circle/index.js";import"../../../icons/stripe/index.js";import"../../../icons/corporate/index.js";import"../../../icons/public/index.js";import"../../../icons/private/index.js";import"../../../icons/mistral/index.js";import"../../../icons/gemini/index.js";import"../../../icons/search-simple/index.js";import"../../../icons/sad-robot/index.js";import"../../../icons/model/index.js";import"../../../icons/phone-colored/index.js";import"../../../icons/questions/index.js";import"../../../icons/pdf-big/index.js";import"../../../icons/xls-big/index.js";import"../../../icons/word-big/index.js";import"../../../icons/txt-big/index.js";import"../../../icons/pdf/index.js";import"../../../icons/xls/index.js";import"../../../icons/word/index.js";import"../../../icons/txt/index.js";import"../../../icons/bothub-logo-gradient/index.js";import"../../../icons/telegram-logo-gradient/index.js";import"../../../icons/decline-circle/index.js";import"../../../icons/simple-gear-bg/index.js";import"../../../icons/advanced-filter/index.js";import"../../../icons/big-corporate/index.js";import"../../../icons/big-mj/index.js";import"../../../icons/big-models/index.js";import"../../../icons/big-stats/index.js";import"../../../icons/big-success/index.js";import"../../../icons/big-users/index.js";import"../../../icons/optional-presets/index.js";import"../../../icons/wallet-withdraw/index.js";import"../../../icons/big-presets/index.js";import"../../../icons/big-favorite/index.js";import"../../../icons/big-referal/index.js";import"../../../icons/attach-file/index.js";import"../../../icons/attach-file-big/index.js";import"../../../icons/voice/index.js";import"../../../icons/text-read/index.js";import"../../../icons/text-hide/index.js";import"../../../icons/best-chat-bots/index.js";import"../../../icons/upload/index.js";import"../../../icons/enter/index.js";import"../../../icons/discord/index.js";import"../../../icons/discord-circle/index.js";import"../../../icons/black-forest-labs/index.js";import"../../../icons/flux/index.js";import"../../../icons/stable-diffusion/index.js";import"../../../icons/stability-ai/index.js";import"../../../icons/article-generator/index.js";import"../../../icons/success/index.js";import"../../../icons/google/index.js";import"../../../icons/yandex/index.js";import"../../../icons/vk/index.js";import"../../../icons/resend/index.js";import"../../../icons/big-article/index.js";import"../../../icons/add-chat/index.js";import"../../../icons/add-group/index.js";import"../../../icons/drag-dot/index.js";import"../../../icons/add-folder/index.js";import"../../../icons/temp-chat/index.js";import"../../../icons/delete-chat/index.js";import"../../../icons/sidebar-chat/index.js";import"../../../icons/organization/index.js";import"../../../icons/simple-gear/index.js";import"../../../icons/text-bold/index.js";import"../../../icons/text-italic/index.js";import"../../../icons/text-underline/index.js";import"../../../icons/text-strikethrough/index.js";import"../../../icons/refresh/index.js";import"../../../icons/copy-variants/index.js";import"../../../icons/sort-ascending/index.js";import"../../../icons/sort-descending/index.js";import"../../../icons/quote/index.js";import"../../../icons/url-circle/index.js";import"../../../icons/show-ui/index.js";import"../../../icons/hide-ui/index.js";import"../../../icons/sort-user/index.js";import"../../../icons/happy-robot/index.js";import"../../../icons/happy-robot-gradient/index.js";import"../../../icons/manage-chat/index.js";import"../../../icons/analyze-urls/index.js";import"../../../icons/web-search/index.js";import"../../../icons/include-context/index.js";import"../../../icons/queue/index.js";import"../../../icons/sort-alphabet-ascending/index.js";import"../../../icons/sort-alphabet-descending/index.js";import"../../../icons/sort-date-ascending/index.js";import"../../../icons/sort-date-descending/index.js";import"../../../icons/cot-r1/index.js";import"../../../icons/news/index.js";import"../../../icons/volume/index.js";import"../../../icons/flag-ru/index.js";import"../../../icons/flag-kz/index.js";import"../../../icons/print/index.js";import"../../../icons/pc-icon-1/index.js";import"../../../icons/pc-icon-2/index.js";import"../../../icons/pc-icon-3/index.js";import"../../../icons/star-unfilled/index.js";import"../../../icons/image-generation/index.js";import"../../../icons/speech-synthesys/index.js";import"../../../icons/transcription/index.js";import"../../../icons/text-rewrite/index.js";import"../../../icons/code-generation/index.js";import"../../../icons/essay-generation/index.js";import"../../../icons/spelling/index.js";import"../../../icons/text-generation/index.js";import"../../../icons/traffic-analisys/index.js";import"../../../icons/fav-profile/index.js";import"../../../icons/exclamation/index.js";import"../../../icons/article/index.js";import"../../../icons/setchel/index.js";import"../../../icons/assembly/index.js";import"../../../icons/data-visualisation/index.js";import"../../../icons/document-analisys/index.js";import"../../../icons/problem-solvment/index.js";import"../../../icons/setting-analisys/index.js";import"../../../icons/translation/index.js";import"../../../icons/stars/index.js";import"../../../icons/academy/index.js";import"../../../icons/articles/index.js";import"../../../icons/blog-post/index.js";import"../../../icons/book/index.js";import"../../../icons/bow-tie/index.js";import"../../../icons/case-study/index.js";import"../../../icons/comments/index.js";import"../../../icons/guide/index.js";import"../../../icons/marketing/index.js";import"../../../icons/post/index.js";import"../../../icons/report/index.js";import"../../../icons/review/index.js";import"../../../icons/scientific-article/index.js";import"../../../icons/selling-text/index.js";import"../../../icons/textbook/index.js";import"../../../icons/wind/index.js";import"../../../icons/grok/index.js";import"../../../icons/deepseek/index.js";import"../../../icons/grid-horizontal/index.js";import"../../../icons/grid-vertical/index.js";import"../../../icons/star-gradient/index.js";import"../../../icons/qwen/index.js";import"../../../icons/sidebar-toggle-left/index.js";import"../../../icons/sidebar-toggle-right/index.js";import"../../../icons/video-camera/index.js";import"../../../icons/music-note/index.js";import"../../../icons/add-profile/index.js";import"../../../icons/token-counter/index.js";import"../../../icons/customer-support/index.js";import"../../../icons/video-generation/index.js";import"../../../icons/veo-model/index.js";import"../../../icons/runway/index.js";import{getVideoMimeType as k}from"../../../utils/getVideoMimeType.js";const v=i=>{const o=Math.floor(i/60),n=Math.floor(i%60);return`${o.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`},y=({src:y,downloadVideo:z})=>{const C=n(null),[M,S]=s(!1),[T,$]=s("00:00"),[q,F]=s("00:00"),[E,L]=s(0),[V,D]=s(!1),[U,B]=s(!1),H=n(null),R=V?28:24,X=k(y),_=e((()=>{C.current&&(C.current.play(),S(!0))}),[]),A=e((()=>{C.current&&(C.current.pause(),S(!1))}),[]),G=e((i=>{const{currentTime:o,duration:n}=i.currentTarget,s=v(o);$(s);L(o/n*100)}),[]),I=e((i=>{const{duration:o}=i.currentTarget,n=v(o);F(n)}),[]),J=e((i=>{if(i.preventDefault(),!C.current)return;const{clientX:o}=i,{width:n,left:s}=i.currentTarget.getBoundingClientRect(),e=(o-s)/n*100;L(e),C.current.currentTime=e/100*C.current.duration}),[]),K=e((()=>{B(!0)}),[]),N=e((i=>{U&&J(i)}),[U]),O=e((()=>{B(!1)}),[]),P=e((()=>{H.current&&(V?document.exitFullscreen():H.current.requestFullscreen(),D(!V))}),[V]),Q=e((i=>{if(C.current){const o=Math.floor(i)/100;C.current.volume=o}}),[]);return r((()=>{const i=()=>{D(null!==document.fullscreenElement)};return window.addEventListener("fullscreenchange",i),()=>{window.removeEventListener("fullscreenchange",i)}}),[M]),i(t,{ref:H,onMouseLeave:O,onMouseMove:N,onMouseUp:O,children:[o(c,{ref:C,onClick:M?A:_,onLoadedData:I,onTimeUpdate:G,onEnded:A,$isFullScreen:V,children:o(d,{src:y,type:X})}),i(m,{$isFullScreen:V,$isVisible:!M,children:[o(p,{onClick:J,onMouseDown:K,$progress:E}),i(x,{$isFullScreen:V,children:[o(j,M?{onClick:A,children:o(h,{size:R})}:{onClick:_,children:o(b,{size:R})}),o(f,{iconSize:R,handleChangeVolume:Q}),i(a,{children:[T," / ",q]}),z&&o(l,{iconFill:"#fff",disableHoverColor:!0,iconSize:R,onClick:z,children:o(w,{})}),o(j,{onClick:P,children:V?o(g,{fill:"#fff",size:R}):o(u,{stroke:"#fff",size:R})})]})]})]})};export{y as MessageVideo};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getVideoMimeType(src: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){const v=e.match(/\.(mp4|webm|ogg|mov|avi|mkv|flv|wmv)(\?.*)?$/i);if(!v)return"video/mp4";switch(v[1].toLowerCase()){case"mp4":default:return"video/mp4";case"webm":return"video/webm";case"ogg":return"video/ogg";case"mov":return"video/quicktime";case"avi":return"video/x-msvideo";case"mkv":return"video/x-matroska";case"flv":return"video/x-flv";case"wmv":return"video/x-ms-wmv"}}export{e as getVideoMimeType};
|