@labelbee/lb-components 1.23.0-alpha.101 → 1.23.0-alpha.103

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),getWebPcm2Wac=require("../audioAnnotate/utils/getWebPcm2Wac.js"),_=require("lodash"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),index$b=require("../invalidPage/index.js"),index$6=require("../imageError/index.js"),index$a=require("../../utils/index.js"),index$d=require("../videoPlayer/components/SpeedController/index.js"),WaveSurfer=require("@labelbee/wavesurfer"),Region=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js"),Cursor=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js"),index=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index$1=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$2=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$c=require("./progressDot/index.js"),index$7=require("./clipTip/index.js"),index$5=require("./useSwitchHotkey/index.js"),index$3=require("./useAudioCombine/index.js"),index$4=require("./useAudioSegment/index.js"),index$8=require("./combineTip/index.js"),index$9=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js"),reactI18next=require("react-i18next"),useSize=require("../../hooks/useSize.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),WaveSurfer__default=_interopDefaultLegacy(WaveSurfer),Region__default=_interopDefaultLegacy(Region),Cursor__default=_interopDefaultLegacy(Cursor),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,u,d)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d,__spreadValues=(l,u)=>{for(var d in u||(u={}))__hasOwnProp.call(u,d)&&__defNormalProp(l,d,u[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(u))__propIsEnum.call(u,d)&&__defNormalProp(l,d,u[d]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));const{EToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,PER_PROGRESS=.1,AudioPlayerContext=React__default.default.createContext({count:0,isEdit:!1,toolName:EToolName.Empty,imgIndex:0}),AudioPlayer=({fileData:l={},onLoaded:u,context:d,invalid:Ne,height:Fe,hideError:ze,onError:re,updateRegion:T,removeRegion:$,regions:x=[],activeToolPanel:Ue,clipConfigurable:Ze,clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,isCheck:b,hoverRegionId:W,footer:Ke,drawLayerSlot:ie,clipTextList:Ge,lang:ae})=>{var le,se;const{url:O,path:ue}=l,[N,F]=React.useState(!1),[ce,de]=React.useState(!1),[P,Ye]=React.useState(0),[Je,fe]=React.useState(!1),[S,ve]=React.useState(0),o=React.useRef(null),C=React.useRef(null),me=React.useRef(P),z=e=>{me.current=e,Ye(e)},[pe,Qe]=React.useState(0),[j,et]=React.useState(index.audioZoomInfo.defaultValue),y=React.useRef(null),[ge,tt]=React.useState({}),{audioClipState:U,setAudioClipState:B}=index$1.useAudioClipStore(),[Z,H]=React.useState(!1),c=ahooks.useLatest(U),be=ahooks.useLatest(ge);ahooks.useLatest(N);const A=ahooks.useLatest(x),_e=ahooks.useUpdate(),[ye,rt]=React.useState([]),[Ee,nt]=React.useState({}),[ot,Se]=React.useState(""),[he,it]=React.useState({start:0,end:0}),at=useSize(y),lt=React.useMemo(()=>x.filter(e=>{const{start:t,end:r}=he;return e.start>=t&&e.start<=r||e.end>=t&&e.end<=r||e.id===ot}),[x,he]),st=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Re=e=>{e<index.audioZoomInfo.min||e>index.audioZoomInfo.max||(et(e),audio.dispatchResizeEvent(),st())};index$2({container:y.current,target:document.querySelector(`[data-id=${(se=(le=c.current)==null?void 0:le.selectedRegion)==null?void 0:se.id}]`),clipping:Z,zoom:j,zoomHandler:Re});const L=()=>{let e=A.current;const{attributeLockList:t}=c.current;t.length&&(e=e.filter(r=>t.includes(r.attribute))),X(),e.forEach(r=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},r),{drag:!b,resize:!b,color:"rgba(0, 0, 0, 0)"}))}),_e()},v=e=>{var t,r,n,i,s,m,p;const{id:a,loop:f=!0,playImmediately:g=!1,isLoopStatus:I}=e,q=!1;if(a){const w=(n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{};Object.entries(w).forEach(([,R])=>{const{id:k}=R;a===k?R.select():R.cancelSelect()}),B({selectedRegion:{id:a,loop:q},selectedAttribute:(m=(s=(i=A.current)==null?void 0:i.find(R=>R.id===a))==null?void 0:s.attribute)!=null?m:""}),g&&((p=D(a))==null||p.play())}else B({selectedRegion:{}})},{combineInstance:ut}=index$3({waveRef:o,sortByStartRegions:ye,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:v}),{segmentInstance:ct,onRegionMouseMove:dt,segmentTimeTip:ft}=index$4({waveRef:o,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:v}),xe={clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,clipConfigurable:Ze,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,clipTextList:Ge};React.useEffect(()=>{var e;ae&&((e=lbUtils.i18n)==null||e.changeLanguage(ae))},[]),React.useEffect(()=>{B({selectedAttribute:""})},[oe]),React.useEffect(()=>{V()},[U.selectedAttribute]),React.useEffect(()=>{L()},[U.attributeLockList]),ahooks.useDeepCompareEffect(()=>{B(xe),setTimeout(()=>{Pe()})},[xe]),ahooks.useDeepCompareEffect(()=>{rt(_.sortBy(x,["start"])),nt(x.reduce((e,t)=>{const{id:r}=t;return __spreadProps(__spreadValues({},e),{[r]:t})},{})),b&&L()},[x]),React.useEffect(()=>{v(W?{id:W,loop:!1,playImmediately:!0}:{})},[W]);const Pe=()=>{var e,t;c.current.clipConfigurable?(!b&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),L()):((t=o.current)==null||t.disableDragSelection(),X()),V()},V=()=>{var e,t,r,n,i;let s="";c.current.clipConfigurable?s=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):s="transparent",((r=(t=o==null?void 0:o.current)==null?void 0:t.cursor)==null?void 0:r.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${s}`}))},D=e=>{var t,r,n;return((n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{})[e]},Ce=()=>{var e,t;if(O){const r=((t=(e=ue==null?void 0:ue.split("."))==null?void 0:e.pop())==null?void 0:t.toLowerCase())==="pcm";fe(!1),r?getWebPcm2Wac.getWebPcm2WavBase64(O).then(n=>{we(n)}):we(O)}},we=e=>{var t;e&&(de(!0),z(0),ve(0),(t=o==null?void 0:o.current)==null||t.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},K=e=>{const t=D(e);t&&(H(!1),t==null||t.remove(),$==null||$(e),v({}))},{run:Te}=ahooks.useThrottleFn(v,{wait:100});index$5({sortByStartRegions:ye,setSelectedRegion:v});const vt=e=>{const{start:t,end:r}=be.current;return(t||r)&&e.update(be.current),e},mt=({action:e,id:t,eventDownTime:r})=>{var n,i;if(!c.current.clipConfigurable)return;t&&v({id:t});const s=D((t!=null?t:(n=c.current.selectedRegion)==null?void 0:n.id)||""),m=[];(e==="create"?A.current:(i=A.current)==null?void 0:i.filter(f=>f.id!==s.id)).forEach(f=>{const{start:g,end:I,attribute:q}=f;q===c.current.selectedAttribute&&[g,I].forEach(w=>{m.includes(w)||m.push(w)})});const a=audio.getCanMoveRange(m.sort((f,g)=>f-g),r);o.current.range=a},pt=e=>{V(),setTimeout(()=>{H(!1)});const t=vt(e),{id:r,start:n,end:i}=t;v({id:r,playImmediately:!0});const s={id:r,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};T==null||T(s),_e()},gt=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Fe||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:x,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),t=()=>{var r;z(((r=o==null?void 0:o.current)==null?void 0:r.getCurrentTime())||0)};e.on("ready",()=>{var r;const n=((r=o==null?void 0:o.current)==null?void 0:r.getDuration())||0;ve(n),t(),u==null||u({duration:Math.round(n)}),de(!1),M(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",Y),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",K),lbAnnotation.EventBus.on("setSelectedRegion",Te),e.on("regions-eventDown",mt),Pe()}),e.on("audioprocess",()=>{t()}),e.on("play",()=>{F(!0)}),e.on("pause",()=>{F(!1)}),e.on("finish",()=>{F(!1)}),e.on("seek",()=>{t()}),e.on("error",()=>{fe(!0),u==null||u({hasError:!0}),re==null||re()}),e.on("region-created",r=>{var n;const{id:i,start:s,end:m}=r;if(A.current.find(a=>a.id===i))return;Se(i);const p={id:i,start:utils.decimalReserved(s,3),end:utils.decimalReserved(m,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const a=lbAnnotation.TagUtils.getDefaultResultByConfig((n=c.current.subAttributeList)!=null?n:[]);p.subAttribute=a!=null?a:{}}ne&&c.current.clipTextList.forEach((f,g)=>{g===0?Object.assign(p,{text:f==null?void 0:f.default}):Object.assign(p,{[f.key]:f==null?void 0:f.default})}),T==null||T(p)}),e.on("region-updated",(r,n)=>{var i,s,m,p,a,f,g,I,q,w;const R=n==null?void 0:n.action;B({combined:!1,segment:!1}),R==="resize"&&((s=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||s.setStyle({borderStyle:"solid"})),R==="drag"&&((p=(m=o==null?void 0:o.current)==null?void 0:m.cursor)==null||p.setStyle({borderColor:"transparent"}));const k={},J=[],Q={},At=(a=A.current)==null?void 0:a.filter(E=>E.id!==r.id),qt=(I=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?I:{};At.forEach(E=>{var $e,Oe;const{element:ee}=($e=qt[E.id])!=null?$e:{},{start:Lt,end:Dt}=E;if(ee){const{x:We,width:Mt}=((Oe=ee.getBoundingClientRect)==null?void 0:Oe.call(ee))||{},It=We+Mt;[We,It].forEach((te,kt)=>{J.includes(te)||(J.push(te),Q[te]=kt===0?Lt:Dt)})}});const{x:ke,width:jt}=((w=(q=r.element).getBoundingClientRect)==null?void 0:w.call(q))||{},Bt=ke+jt;J.forEach(E=>{Math.abs(audio.precisionMinus(E,ke))<5&&(k.start=Q[E]),Math.abs(audio.precisionMinus(E,Bt))<5&&(k.end=Q[E])}),tt(k),Te({id:r.id}),H(!0)}),e.on("region-update-end",r=>{pt(r),Se("")}),e.on("region-contextmenu",(r,n)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){K(r.id);return}v({id:r.id,playImmediately:!0})}}),e.on("region-click",(r,n,i)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),c.current.combined){ut(r);return}if(c.current.segment){ct(r,i);return}v({id:r.id,playImmediately:!0})}}),e.on("region-mousemove",dt),o.current=e},bt=N?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ae=e=>e?`${parseFloat((e/S*100).toFixed(4))}%`:"0%",qe=Ae(P),_t=Ae(pe),h=()=>{if(!ce)return o==null?void 0:o.current},yt=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},Et=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},M=()=>{var e;(e=h())==null||e.playPause(),v({})},je=e=>{var t;switch(e.keyCode){case EKeyCode.Right:yt();break;case EKeyCode.Left:Et();break;case EKeyCode.Space:e.preventDefault(),M();break;case EKeyCode.Delete:if(!b){const{id:r}=((t=c.current)==null?void 0:t.selectedRegion)||{};r&&K(r)}break}},St=e=>{Y(e)},Be=___default.default.throttle(St,50);let G=!1;const Le=()=>{G&&(M(),G=!1),document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",Le)},ht=e=>{Y(e),N&&(G=!0,M()),document.addEventListener("mousemove",Be),document.addEventListener("mouseup",Le)},Rt=()=>{Ce()};React.useEffect(()=>(gt(),()=>{var e;(e=o==null?void 0:o.current)==null||e.destroy(),o.current=null,lbAnnotation.EventBus.unbindAll("setCurrentTimeByPosition"),lbAnnotation.EventBus.unbindAll("clearRegions"),lbAnnotation.EventBus.unbindAll("removeRegionById"),lbAnnotation.EventBus.unbindAll("setSelectedRegion")}),[]);const xt=e=>{var t,r,n;(t=h())==null||t.playPause(),(r=h())==null||r.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",je),()=>{document.removeEventListener("keydown",je)})),React.useEffect(()=>{v({}),Ce()},[O]),React.useEffect(()=>{De()},[at,S,j]);const Pt=()=>{if(y.current&&S){const e=y.current.scrollLeft,t=y.current.clientWidth,r=e/y.current.scrollWidth*S,n=(e+t)/y.current.scrollWidth*S;it({start:r,end:n})}},{run:De}=ahooks.useThrottleFn(Pt,{wait:300}),Me=e=>{var t,r,n,i;if((o==null?void 0:o.current)&&(C==null?void 0:C.current)){const s=(r=(t=o==null?void 0:o.current)==null?void 0:t.getDuration())!=null?r:0,m=(n=C==null?void 0:C.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-m.left)/(((i=C==null?void 0:C.current)==null?void 0:i.clientWidth)||0)*s;return a>s&&(a=s),a}return 0},Y=e=>{var t;const r=Me(e);(t=o==null?void 0:o.current)==null||t.skip(r-me.current),z(r)},Ct=e=>{Qe(Me(e))},wt=S?Math.max(S-P,0):0,Tt=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Ue==="remark"||b),Ie=React__default.default.createElement("div",{className:index_module.audioPlayer},Je&&!ze&&React__default.default.createElement(index$6,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Rt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$7,{getRegionInstanceById:D,clipping:Z}),React__default.default.createElement(index$8,{container:y.current}),React__default.default.createElement(index$9,{segmentTimeTip:ft}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:y,onScroll:()=>De()},React__default.default.createElement("div",{id:"waveform",style:{width:`${j*100}%`},className:index$a.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Ne&&React__default.default.createElement(index$b,{isAudio:!0}),React__default.default.createElement("div",{ref:C,className:index_module.progress,onMouseDown:ht,onMouseMove:Ct},React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0}),style:{left:qe}},audio.formatTime(P)),React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:_t}},audio.formatTime(pe)),React__default.default.createElement(index$c,{playPercentage:qe})),Tt&&(ie==null?void 0:ie({currentTime:P,remainingTime:wt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:bt,onClick:()=>{M()},className:index$a.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:ce})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(P,"ss.SSS")} / -${audio.timeFormat(S-P,"ss.SSS")}`),React__default.default.createElement(index$d.default,{playerType:index$d.EPlayerType.Audio,onChange:e=>{xt(e)}}),React__default.default.createElement(index.default,{onChange:e=>{var t;(t=h())==null||t.pause(),Re(e)},zoom:j}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Ie,lt.map(e=>{const{id:t}=e,r=document.querySelector(`[data-id=${t}]`);return r?React__default.default.createElement(index$f,{el:r,key:t,region:e,edgeAdsorption:ge,clipping:Z,zoom:j,instance:D(t),isCheck:b}):null}),React__default.default.createElement(index$g.default,{footer:Ke})):Ie},WrapAudioPlayer=l=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(AudioPlayer,__spreadValues({},l)));exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext,exports.WrapAudioPlayer=WrapAudioPlayer;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),getWebPcm2Wac=require("../audioAnnotate/utils/getWebPcm2Wac.js"),_=require("lodash"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),index$b=require("../invalidPage/index.js"),index$6=require("../imageError/index.js"),index$a=require("../../utils/index.js"),index$d=require("../videoPlayer/components/SpeedController/index.js"),WaveSurfer=require("@labelbee/wavesurfer"),Region=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js"),Cursor=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js"),index=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index$1=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$2=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$c=require("./progressDot/index.js"),index$7=require("./clipTip/index.js"),index$5=require("./useSwitchHotkey/index.js"),index$3=require("./useAudioCombine/index.js"),index$4=require("./useAudioSegment/index.js"),index$8=require("./combineTip/index.js"),index$9=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js"),reactI18next=require("react-i18next"),useSize=require("../../hooks/useSize.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),WaveSurfer__default=_interopDefaultLegacy(WaveSurfer),Region__default=_interopDefaultLegacy(Region),Cursor__default=_interopDefaultLegacy(Cursor),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,u,d)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d,__spreadValues=(l,u)=>{for(var d in u||(u={}))__hasOwnProp.call(u,d)&&__defNormalProp(l,d,u[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(u))__propIsEnum.call(u,d)&&__defNormalProp(l,d,u[d]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));const{EToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,PER_PROGRESS=.1,AudioPlayerContext=React__default.default.createContext({count:0,isEdit:!1,toolName:EToolName.Empty,imgIndex:0}),AudioPlayer=({fileData:l={},onLoaded:u,context:d,invalid:Ne,height:Fe,hideError:ze,onError:re,updateRegion:T,removeRegion:$,regions:x=[],activeToolPanel:Ue,clipConfigurable:Ze,clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,isCheck:b,hoverRegionId:W,footer:Ke,drawLayerSlot:ie,clipTextList:Ge,lang:ae})=>{var le,se;const{url:O,path:ue}=l,[N,F]=React.useState(!1),[ce,de]=React.useState(!1),[P,Ye]=React.useState(0),[Je,fe]=React.useState(!1),[S,ve]=React.useState(0),o=React.useRef(null),C=React.useRef(null),me=React.useRef(P),z=e=>{me.current=e,Ye(e)},[pe,Qe]=React.useState(0),[j,et]=React.useState(index.audioZoomInfo.defaultValue),y=React.useRef(null),[ge,tt]=React.useState({}),{audioClipState:U,setAudioClipState:B}=index$1.useAudioClipStore(),[Z,H]=React.useState(!1),c=ahooks.useLatest(U),be=ahooks.useLatest(ge);ahooks.useLatest(N);const A=ahooks.useLatest(x),_e=ahooks.useUpdate(),[ye,rt]=React.useState([]),[Ee,nt]=React.useState({}),[ot,Se]=React.useState(""),[he,it]=React.useState({start:0,end:0}),at=useSize(y),lt=React.useMemo(()=>x.filter(e=>{const{start:t,end:r}=he;return e.start>=t&&e.start<=r||e.end>=t&&e.end<=r||e.id===ot}),[x,he]),st=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Re=e=>{e<index.audioZoomInfo.min||e>index.audioZoomInfo.max||(et(e),audio.dispatchResizeEvent(),st())};index$2({container:y.current,target:document.querySelector(`[data-id=${(se=(le=c.current)==null?void 0:le.selectedRegion)==null?void 0:se.id}]`),clipping:Z,zoom:j,zoomHandler:Re});const L=()=>{let e=A.current;const{attributeLockList:t}=c.current;t.length&&(e=e.filter(r=>t.includes(r.attribute))),X(),e.forEach(r=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},r),{drag:!b,resize:!b,color:"rgba(0, 0, 0, 0)"}))}),_e()},m=e=>{var t,r,n,i,s,v,p;const{id:a,loop:f=!0,playImmediately:g=!1,isLoopStatus:I}=e,q=!1;if(a){const w=(n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{};Object.entries(w).forEach(([,R])=>{const{id:k}=R;a===k?R.select():R.cancelSelect()}),B({selectedRegion:{id:a,loop:q},selectedAttribute:(v=(s=(i=A.current)==null?void 0:i.find(R=>R.id===a))==null?void 0:s.attribute)!=null?v:""}),g&&((p=D(a))==null||p.play())}else B({selectedRegion:{}})},{combineInstance:ut}=index$3({waveRef:o,sortByStartRegions:ye,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),{segmentInstance:ct,onRegionMouseMove:dt,segmentTimeTip:ft}=index$4({waveRef:o,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),xe={clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,clipConfigurable:Ze,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,clipTextList:Ge};React.useEffect(()=>{var e;ae&&((e=lbUtils.i18n)==null||e.changeLanguage(ae))},[]),React.useEffect(()=>{B({selectedAttribute:""})},[oe]),React.useEffect(()=>{V()},[U.selectedAttribute]),React.useEffect(()=>{L()},[U.attributeLockList]),ahooks.useDeepCompareEffect(()=>{B(xe),setTimeout(()=>{Pe()})},[xe]),ahooks.useDeepCompareEffect(()=>{rt(_.sortBy(x,["start"])),nt(x.reduce((e,t)=>{const{id:r}=t;return __spreadProps(__spreadValues({},e),{[r]:t})},{})),b&&L()},[x]),React.useEffect(()=>{m(W?{id:W,loop:!1,playImmediately:!0}:{})},[W]);const Pe=()=>{var e,t;c.current.clipConfigurable?(!b&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),L()):((t=o.current)==null||t.disableDragSelection(),X()),V()},V=()=>{var e,t,r,n,i;let s="";c.current.clipConfigurable?s=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):s="transparent",((r=(t=o==null?void 0:o.current)==null?void 0:t.cursor)==null?void 0:r.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${s}`}))},D=e=>{var t,r,n;return((n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{})[e]},Ce=()=>{var e,t;if(O){const r=((t=(e=ue==null?void 0:ue.split("."))==null?void 0:e.pop())==null?void 0:t.toLowerCase())==="pcm";fe(!1),r?getWebPcm2Wac.getWebPcm2WavBase64(O).then(n=>{we(n)}):we(O)}},we=e=>{var t;e&&(de(!0),z(0),ve(0),(t=o==null?void 0:o.current)==null||t.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},K=e=>{const t=D(e);t&&(H(!1),t==null||t.remove(),$==null||$(e),m({}))},{run:Te}=ahooks.useThrottleFn(m,{wait:100});index$5({sortByStartRegions:ye,setSelectedRegion:m});const vt=e=>{const{start:t,end:r}=be.current;return(t||r)&&e.update(be.current),e},mt=({action:e,id:t,eventDownTime:r})=>{var n,i;if(!c.current.clipConfigurable)return;t&&m({id:t});const s=D((t!=null?t:(n=c.current.selectedRegion)==null?void 0:n.id)||""),v=[];(e==="create"?A.current:(i=A.current)==null?void 0:i.filter(f=>f.id!==s.id)).forEach(f=>{const{start:g,end:I,attribute:q}=f;q===c.current.selectedAttribute&&[g,I].forEach(w=>{v.includes(w)||v.push(w)})});const a=audio.getCanMoveRange(v.sort((f,g)=>f-g),r);o.current.range=a},pt=e=>{V(),setTimeout(()=>{H(!1)});const t=vt(e),{id:r,start:n,end:i}=t;m({id:r,playImmediately:!0});const s={id:r,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};T==null||T(s),_e()},gt=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Fe||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:x,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),t=()=>{var r;z(((r=o==null?void 0:o.current)==null?void 0:r.getCurrentTime())||0)};e.on("ready",()=>{var r;const n=((r=o==null?void 0:o.current)==null?void 0:r.getDuration())||0;ve(n),t(),u==null||u({duration:Math.round(n)}),de(!1),M(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",Y),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",K),lbAnnotation.EventBus.on("setSelectedRegion",Te),e.on("regions-eventDown",mt),Pe()}),e.on("audioprocess",()=>{t()}),e.on("play",()=>{F(!0)}),e.on("pause",()=>{F(!1)}),e.on("finish",()=>{F(!1)}),e.on("seek",()=>{t()}),e.on("error",()=>{fe(!0),u==null||u({hasError:!0}),re==null||re()}),e.on("region-created",r=>{var n;const{id:i,start:s,end:v}=r;if(A.current.find(a=>a.id===i))return;Se(i);const p={id:i,start:utils.decimalReserved(s,3),end:utils.decimalReserved(v,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const a=lbAnnotation.TagUtils.getDefaultResultByConfig((n=c.current.subAttributeList)!=null?n:[]);p.subAttribute=a!=null?a:{}}ne&&c.current.clipTextList.forEach((f,g)=>{g===0?Object.assign(p,{text:f==null?void 0:f.default}):Object.assign(p,{[f.key]:f==null?void 0:f.default})}),T==null||T(p)}),e.on("region-updated",(r,n)=>{var i,s,v,p,a,f,g,I,q,w;const R=n==null?void 0:n.action;B({combined:!1,segment:!1}),R==="resize"&&((s=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||s.setStyle({borderStyle:"solid"})),R==="drag"&&((p=(v=o==null?void 0:o.current)==null?void 0:v.cursor)==null||p.setStyle({borderColor:"transparent"}));const k={},J=[],Q={},At=(a=A.current)==null?void 0:a.filter(E=>E.id!==r.id),qt=(I=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?I:{};At.forEach(E=>{var $e,Oe;const{element:ee}=($e=qt[E.id])!=null?$e:{},{start:Lt,end:Dt}=E;if(ee){const{x:We,width:Mt}=((Oe=ee.getBoundingClientRect)==null?void 0:Oe.call(ee))||{},It=We+Mt;[We,It].forEach((te,kt)=>{J.includes(te)||(J.push(te),Q[te]=kt===0?Lt:Dt)})}});const{x:ke,width:jt}=((w=(q=r.element).getBoundingClientRect)==null?void 0:w.call(q))||{},Bt=ke+jt;J.forEach(E=>{Math.abs(audio.precisionMinus(E,ke))<5&&(k.start=Q[E]),Math.abs(audio.precisionMinus(E,Bt))<5&&(k.end=Q[E])}),tt(k),Te({id:r.id}),H(!0)}),e.on("region-update-end",r=>{pt(r),Se("")}),e.on("region-contextmenu",(r,n)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){K(r.id);return}m({id:r.id,playImmediately:!0})}}),e.on("region-click",(r,n,i)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),c.current.combined){ut(r);return}if(c.current.segment){ct(r,i);return}m({id:r.id,playImmediately:!0})}}),e.on("region-mousemove",dt),o.current=e},bt=N?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ae=e=>e?`${parseFloat((e/S*100).toFixed(4))}%`:"0%",qe=Ae(P),_t=Ae(pe),h=()=>{if(!ce)return o==null?void 0:o.current},yt=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},Et=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},M=()=>{var e;(e=h())==null||e.playPause()},je=e=>{var t;switch(e.keyCode){case EKeyCode.Right:yt();break;case EKeyCode.Left:Et();break;case EKeyCode.Space:e.preventDefault(),M();break;case EKeyCode.Delete:if(!b){const{id:r}=((t=c.current)==null?void 0:t.selectedRegion)||{};r&&K(r)}break}},St=e=>{Y(e)},Be=___default.default.throttle(St,50);let G=!1;const Le=()=>{G&&(M(),G=!1),document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",Le)},ht=e=>{Y(e),N&&(G=!0,M()),document.addEventListener("mousemove",Be),document.addEventListener("mouseup",Le)},Rt=()=>{Ce()};React.useEffect(()=>(gt(),()=>{var e;(e=o==null?void 0:o.current)==null||e.destroy(),o.current=null,lbAnnotation.EventBus.unbindAll("setCurrentTimeByPosition"),lbAnnotation.EventBus.unbindAll("clearRegions"),lbAnnotation.EventBus.unbindAll("removeRegionById"),lbAnnotation.EventBus.unbindAll("setSelectedRegion")}),[]);const xt=e=>{var t,r,n;(t=h())==null||t.playPause(),(r=h())==null||r.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",je),()=>{document.removeEventListener("keydown",je)})),React.useEffect(()=>{m({}),Ce()},[O]),React.useEffect(()=>{De()},[at,S,j]);const Pt=()=>{if(y.current&&S){const e=y.current.scrollLeft,t=y.current.clientWidth,r=e/y.current.scrollWidth*S,n=(e+t)/y.current.scrollWidth*S;it({start:r,end:n})}},{run:De}=ahooks.useThrottleFn(Pt,{wait:300}),Me=e=>{var t,r,n,i;if((o==null?void 0:o.current)&&(C==null?void 0:C.current)){const s=(r=(t=o==null?void 0:o.current)==null?void 0:t.getDuration())!=null?r:0,v=(n=C==null?void 0:C.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-v.left)/(((i=C==null?void 0:C.current)==null?void 0:i.clientWidth)||0)*s;return a>s&&(a=s),a}return 0},Y=e=>{var t;const r=Me(e);(t=o==null?void 0:o.current)==null||t.skip(r-me.current),z(r)},Ct=e=>{Qe(Me(e))},wt=S?Math.max(S-P,0):0,Tt=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Ue==="remark"||b),Ie=React__default.default.createElement("div",{className:index_module.audioPlayer},Je&&!ze&&React__default.default.createElement(index$6,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Rt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$7,{getRegionInstanceById:D,clipping:Z}),React__default.default.createElement(index$8,{container:y.current}),React__default.default.createElement(index$9,{segmentTimeTip:ft}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:y,onScroll:()=>De()},React__default.default.createElement("div",{id:"waveform",style:{width:`${j*100}%`},className:index$a.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Ne&&React__default.default.createElement(index$b,{isAudio:!0}),React__default.default.createElement("div",{ref:C,className:index_module.progress,onMouseDown:ht,onMouseMove:Ct},React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0}),style:{left:qe}},audio.formatTime(P)),React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:_t}},audio.formatTime(pe)),React__default.default.createElement(index$c,{playPercentage:qe})),Tt&&(ie==null?void 0:ie({currentTime:P,remainingTime:wt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:bt,onClick:()=>{M()},className:index$a.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:ce})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(P,"ss.SSS")} / -${audio.timeFormat(S-P,"ss.SSS")}`),React__default.default.createElement(index$d.default,{playerType:index$d.EPlayerType.Audio,onChange:e=>{xt(e)}}),React__default.default.createElement(index.default,{onChange:e=>{var t;(t=h())==null||t.pause(),Re(e)},zoom:j}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Ie,lt.map(e=>{const{id:t}=e,r=document.querySelector(`[data-id=${t}]`);return r?React__default.default.createElement(index$f,{el:r,key:t,region:e,edgeAdsorption:ge,clipping:Z,zoom:j,instance:D(t),isCheck:b}):null}),React__default.default.createElement(index$g.default,{footer:Ke})):Ie},WrapAudioPlayer=l=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(AudioPlayer,__spreadValues({},l)));exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext,exports.WrapAudioPlayer=WrapAudioPlayer;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),antd=require("antd"),usePointCloudViews=require("./usePointCloudViews.js"),PointCloudContext=require("../PointCloudContext.js"),reactI18next=require("react-i18next"),ToolPointCloudBoxRenderHelper=require("../../../utils/ToolPointCloudBoxRenderHelper.js"),AnnotationDataUtils=require("../../../utils/AnnotationDataUtils.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,o)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,__spreadValues=(t,e)=>{for(var o in e||(e={}))__hasOwnProp.call(e,o)&&__defNormalProp(t,o,e[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))__propIsEnum.call(e,o)&&__defNormalProp(t,o,e[o]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e));const updateBoxRects=(t,e=[],o=[])=>{const{rects:u=[]}=t,n=u.map(i=>{var p;return __spreadProps(__spreadValues({},i),{imageName:(p=AnnotationDataUtils.getNextPath({prePath:i.imageName,preMappingImgList:o,nextMappingImgList:e}))!=null?p:""})}).filter(i=>i.imageName!=="");return __spreadProps(__spreadValues({},t),{rects:n})},useBoxes=({config:t,currentData:e})=>{const{selectedIDs:o,pointCloudBoxList:u,displayPointCloudList:n,setPointCloudResult:i,syncAllViewPointCloudColor:p}=React.useContext(PointCloudContext.PointCloudContext),[d,g]=React.useState({copiedBoxes:[],copiedMappingImgList:[]}),{copiedBoxes:l}=d,{pointCloudBoxListUpdated:v}=usePointCloudViews.usePointCloudViews(),{t:c,i18n:C}=reactI18next.useTranslation(),I=r=>t.trackConfigurable!==!0?!1:u.some(a=>r.some(P=>P.trackID===a.trackID)),m=React.useMemo(()=>n.filter(r=>o.includes(r.id)),[o,n]),y=React.useCallback(()=>{var r;if(m.length>0){const a=(r=e==null?void 0:e.mappingImgList)!=null?r:[];g({copiedBoxes:___default.default.cloneDeep(m),copiedMappingImgList:a})}else g({copiedBoxes:[],copiedMappingImgList:[]}),antd.message.error(c("CopyEmptyInPointCloud"))},[o,n,C.language,e]),B=React.useCallback(()=>{var r,a;if(l.length===0){antd.message.error(c("PasteEmptyInPointCloud"));return}const P=I(l),O=(r=e==null?void 0:e.mappingImgList)!=null?r:[],D=(a=d==null?void 0:d.copiedMappingImgList)!=null?a:[],f=l.map(s=>updateBoxRects(s,O,D)),x=s=>{i(s),v==null||v(s),g({copiedBoxes:[],copiedMappingImgList:[]}),p(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.MultiPaste,s)};if(P)antd.Modal.confirm({title:c("HasDuplicateIDHeader"),content:c("HasDuplicateIDMsg"),onOk:()=>{const s=u.filter(L=>!f.find(w=>w.trackID===L.trackID)).concat(f);x(s)}});else{const s=[...n,...f];x(s)}},[l,n,C.language,e]);return{copySelectedBoxes:y,pasteSelectedBoxes:B,copiedBoxes:l,selectedBoxes:m}};exports.useBoxes=useBoxes;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),antd=require("antd"),usePointCloudViews=require("./usePointCloudViews.js"),PointCloudContext=require("../PointCloudContext.js"),reactI18next=require("react-i18next"),ToolPointCloudBoxRenderHelper=require("../../../utils/ToolPointCloudBoxRenderHelper.js"),AnnotationDataUtils=require("../../../utils/AnnotationDataUtils.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,o)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,__spreadValues=(t,e)=>{for(var o in e||(e={}))__hasOwnProp.call(e,o)&&__defNormalProp(t,o,e[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))__propIsEnum.call(e,o)&&__defNormalProp(t,o,e[o]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e));const updateBoxRects=(t,e=[],o=[])=>{const{rects:a=[]}=t,s=a.map(r=>{var u;return __spreadProps(__spreadValues({},r),{imageName:(u=AnnotationDataUtils.getNextPath({prePath:r.imageName,preMappingImgList:o,nextMappingImgList:e}))!=null?u:""})}).filter(r=>r.imageName!=="");return __spreadProps(__spreadValues({},t),{rects:s})},updateCopiedBoxesId=(t,e)=>{const o=Math.max(...t.map(s=>s.trackID||0),0),a=5;return e.map((s,r)=>__spreadProps(__spreadValues({},s),{id:lbAnnotation.uuid(),uuid:lbAnnotation.uuid(),center:{x:s.center.x-a,y:s.center.y-a,z:s.center.z},trackID:o+r+1}))},useBoxes=({config:t,currentData:e})=>{const{selectedIDs:o,pointCloudBoxList:a,displayPointCloudList:s,setPointCloudResult:r,syncAllViewPointCloudColor:u}=React.useContext(PointCloudContext.PointCloudContext),[c,d]=React.useState({copiedBoxes:[],copiedMappingImgList:[]}),{copiedBoxes:l}=c,{pointCloudBoxListUpdated:P}=usePointCloudViews.usePointCloudViews(),{t:g,i18n:x}=reactI18next.useTranslation(),{pushHistoryWithList:v}=useHistory.useHistory(),m=React.useMemo(()=>s.filter(n=>o.includes(n.id)),[o,s]),C=React.useCallback(()=>{var n;if(m.length>0){const p=(n=e==null?void 0:e.mappingImgList)!=null?n:[];d({copiedBoxes:___default.default.cloneDeep(m),copiedMappingImgList:p})}else d({copiedBoxes:[],copiedMappingImgList:[]}),antd.message.error(g("CopyEmptyInPointCloud"));antd.message.success(g("CopySuccess"))},[o,s,x.language,e]),f=React.useCallback(()=>{var n,p;if(l.length===0){antd.message.error(g("PasteEmptyInPointCloud"));return}const y=(n=e==null?void 0:e.mappingImgList)!=null?n:[],I=(p=c==null?void 0:c.copiedMappingImgList)!=null?p:[],B=l.map(i=>updateBoxRects(i,y,I)),L=updateCopiedBoxesId(s,B),O=i=>{r(i),P==null||P(i),d({copiedBoxes:[],copiedMappingImgList:[]}),v({pointCloudBoxList:i}),u(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.MultiPaste,i)},b=[...s,...L];O(b)},[l,s,x.language,e]);return{copySelectedBoxes:C,pasteSelectedBoxes:f,copiedBoxes:l,selectedBoxes:m}};exports.useBoxes=useBoxes;