@bothub-chat/ui
Version:
Bothub UI Components
2 lines (1 loc) • 762 B
JavaScript
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as n,useCallback as t}from"react";import{VolumeIcon as r}from"../../../../icons/volume/index.js";import{MessageVideoVolumeContainer as i,MessageVideoControlsButton as l,MessageVideoVolumeLine as c}from"../styled.js";const s=({iconSize:s=16,handleChangeVolume:u})=>{const[m,f]=n(!1),[a,d]=n(100),p=t(e=>{e.preventDefault();const{clientX:o}=e,{width:n,left:t}=e.currentTarget.getBoundingClientRect(),r=(o-t)/n*100;r>100||r<0||(d(r),null==u||u(r))},[u]),h=t(()=>{f(!0)},[]),v=t(e=>{m&&p(e)},[m]),M=t(()=>{f(!1)},[]);return e(i,{onMouseLeave:M,children:[o(l,{children:o(r,{fill:"#fff",size:s})}),o(c,{onClick:p,onMouseMove:v,onMouseUp:M,onMouseDown:h,$volume:a})]})};export{s as MessageVideoVolume};