@labelbee/lb-components 1.23.0-alpha.29 → 1.23.0-alpha.30

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");function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var React__namespace=_interopNamespace(React),_path;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(this,arguments)}var SvgLeftArrow=function(t){return React__namespace.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"left",viewBox:"64 64 896 896"},t),_path||(_path=React__namespace.createElement("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6"})))};exports.ReactComponent=SvgLeftArrow;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react");function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var React__namespace=_interopNamespace(React),_path;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}var SvgLeftArrow=function(t){return React__namespace.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"left",viewBox:"64 64 896 896"},t),_path||(_path=React__namespace.createElement("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6"})))};exports.ReactComponent=SvgLeftArrow;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react");function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var React__namespace=_interopNamespace(React),_path;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(this,arguments)}var SvgRightArrow=function(t){return React__namespace.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"right",viewBox:"64 64 896 896"},t),_path||(_path=React__namespace.createElement("path",{d:"M765.7 486.8 314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4"})))};exports.ReactComponent=SvgRightArrow;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react");function _interopNamespace(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if(r!=="default"){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,Object.freeze(t)}var React__namespace=_interopNamespace(React),_path;function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}var SvgRightArrow=function(t){return React__namespace.createElement("svg",_extends({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"right",viewBox:"64 64 896 896"},t),_path||(_path=React__namespace.createElement("path",{d:"M765.7 486.8 314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4"})))};exports.ReactComponent=SvgRightArrow;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,a)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,__spreadValues=(e,n)=>{for(var a in n||(n={}))__hasOwnProp.call(n,a)&&__defNormalProp(e,a,n[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(n))__propIsEnum.call(n,a)&&__defNormalProp(e,a,n[a]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:n})=>{const a=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},a.map((v,E)=>{const{tab:c,selectedSvg:y,commonSvg:_}=v;return React__default.default.createElement("div",{key:E,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:n===c?y:_,onClick:()=>{n!==c&&e(c)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:n,updateText:a,configList:v,autofocus:E,preContext:c,isCheck:y,clipAttributeConfigurable:_,clipTextConfigurable:q,textConfigurable:p,updateRegion:C,clipAttributeList:f,clipTextList:g})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:y,result:e==null?void 0:e.value,textInputDisabled:n,textID:(e==null?void 0:e.id)||0,updateText:a,configList:v,autofocus:!n&&E,preContext:c,regions:e==null?void 0:e.regions,clipAttributeConfigurable:_,clipTextConfigurable:q,textConfigurable:p,updateRegion:C,clipAttributeList:f,clipTextList:g}))),AudioSideBar=e=>{var n,a;const{sider:v,config:E,result:c,updateTagResult:y,updateRegion:_,isEdit:q,tagConfigurable:p,clipConfigurable:C}=e;let f=(E==null?void 0:E.inputList)||[],g=(n=c==null?void 0:c.tag)!=null?n:{},r=(a=c==null?void 0:c.regions)!=null?a:[];const[D,P]=React.useState([]),[S,m]=React.useState("tag");React.useEffect(()=>{if(!p&&C){m("clip");return}m("tag")},[p,C]),React.useEffect(()=>(window.addEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}));const O=o=>{if(p&&C)switch(o.keyCode){case EKeyCode.L:m("tag");break;case EKeyCode.X:m("clip");break}if(S==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(o))return;lbAnnotation.CommonToolUtils.isMoveKey(o==null?void 0:o.keyCode)&&o.preventDefault();let i=o.keyCode;if(i&&(i<=57&&i>=49||i<=105&&i>=97)){i>57?i=i-97:i=i-49;const d=D.slice();f.length===1?(T(0,i),P([0,i]),setTimeout(()=>{P([])},500)):d.length===1?(T(d[0],i),P([d[0],i]),setTimeout(()=>{P([])},500)):P([i])}}},T=(o,i)=>{if(o<f.length&&f[o].subSelected&&i<f[o].subSelected.length){const d=f[o].value,b=f[o].isMulti;let L=f[o].subSelected[i].value,M=0;const $=g;for(const j in g)if(j===f[o].value){if(M++,b===!0){const w=$[j].split(";").filter(U=>U!==""),N=w.indexOf(L);N===-1?w.push(L):w.splice(N,1),L=w.join(";")}L===""?delete $[j]:$[j]=L}M===0&&Object.assign(g,{[d]:L}),y(g)}},A=o=>{delete g[o],y(g)},h=p&&C&&React__default.default.createElement(ToggleAudioOption,{setSideTab:m,sideTab:S}),I=S==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:p?f:[],labelSelectedList:D,setLabel:T,tagResult:g,clearResult:A,isEdit:q,withPanelTab:!1}),s=S==="clip"&&React__default.default.createElement(index$9,{regions:r,updateRegion:_,useAudioClipStore:index$1.useAudioClipStore});return v?typeof v=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},v({toggleAudioOption:h,labelSidebar:I,clipSidebar:s})):v:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},h,I,s))},AudioAnnotate=e=>{var n,a,v,E,c,y,_,q,p;const C=(a=(n=e.style)==null?void 0:n.sider)==null?void 0:a.width,{step:f,stepList:g,audioContext:r,sider:D,drawLayerSlot:P,imgList:S,imgIndex:m,currentData:O,config:T,stepInfo:A}=e,h=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(f,g),I=index.jsonParser(O.result),{toolInstanceRef:s}=annotation.useCustomToolInstance({basicInfo:I}),[o,i]=React.useState(!0),[d,b]=React.useState(null),[L,M]=React.useState(0);React.useEffect(()=>{i(!0)},[m]),React.useEffect(()=>{o===!1&&le()},[o]),React.useEffect(()=>{$()},[]),React.useEffect(()=>{s.current.exportData=()=>[[d],{duration:L,valid:B}],s.current.setResult=ue,s.current.clearResult=de,s.current.currentPageResult=d==null?void 0:d.regions,s.current.emit("updatePageNumber")},[d]);const $=()=>{s.current.emit=t=>{const l=s.current.fns.get(t);l&&l.forEach(u=>{u&&(u==null||u())})},s.current.fns=new Map,s.current.singleOn=(t,l)=>{s.current.fns.set(t,[l])},s.current.on=(t,l)=>{s.current.singleOn(t,l)},s.current.unbindAll=t=>{s.current.fns.delete(t)}},j=React.useMemo(()=>{const t=I[`step_${A==null?void 0:A.step}`];return(t==null?void 0:t.result)||[]},[T,I,A]),{tagConfigurable:w,textConfigurable:N=!0,clipConfigurable:U=!1,clipAttributeConfigurable:F=!1,clipAttributeList:W=[],clipTextConfigurable:V=!1,subAttributeList:H=[],secondaryAttributeConfigurable:J=!1,inputList:Q=[],configList:Y=[],clipTextList:X=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(h)return lbAnnotation.CommonToolUtils.jsonParser(h==null?void 0:h.config)},[h]),Z={clipConfigurable:U,clipAttributeConfigurable:F,clipAttributeList:W,clipTextConfigurable:V,subAttributeList:H,secondaryAttributeConfigurable:J,clipTextList:X},B=r?r==null?void 0:r.valid:!0,ee=(E=(v=lbAnnotation.CommonToolUtils.jsonParser(O.result))==null?void 0:v.duration)!=null?E:0,te=B?ee:0,ne=!B||o||![N,V].includes(!0);let G={};if(m!==-1&&(S==null?void 0:S.length)){const t=(c=S[m])==null?void 0:c.preResult,l=(r==null?void 0:r.isEdit)?(y=r==null?void 0:r.stepConfig)==null?void 0:y.loadPreStep:A==null?void 0:A.loadPreStep;if(t&&l){const u=lbAnnotation.CommonToolUtils.jsonParser(t),x=(q=(_=u==null?void 0:u.config)==null?void 0:_.context)!=null?q:{};Object.keys(x).forEach(R=>{R&&x[R]&&(G[R]={visible:!0,content:x[R],type:R})})}}const le=()=>{(j==null?void 0:j.length)>0?b(j[0]):b({id:lbAnnotation.uuid(),sourceID:"",value:z(),tag:oe(),regions:[]})},z=(t=!0)=>{const l={};let u=T.configList||[];return u.length>0&&u.forEach(x=>{l[x.key]=t&&x.default||""}),l},oe=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(T.inputList||[]),ie=({duration:t,hasError:l})=>{i(!1),M(t)},ae=t=>{b(l=>__spreadProps(__spreadValues({},l),{regions:((l==null?void 0:l.regions)||[]).filter(u=>u.id!==t)}))},K=t=>{b(l=>{var u;const x=(u=l==null?void 0:l.regions)!=null?u:[],{id:R}=t;return x.find(k=>k.id===R)?__spreadProps(__spreadValues({},l),{regions:x.map(k=>R===k.id?__spreadValues(__spreadValues({},k),t):k)}):__spreadProps(__spreadValues({},l),{regions:[...x,t]})})},re=(t,l)=>{b(u=>__spreadProps(__spreadValues({},u),{value:__spreadProps(__spreadValues({},u.value),{[l]:t})}))},se=t=>{b(l=>__spreadProps(__spreadValues({},l),{tag:t}))},ue=t=>{b(t)},de=()=>{b(t=>__spreadProps(__spreadValues({},t),{value:z(),tag:{},regions:[]})),lbAnnotation.EventBus.emit("clearRegions")};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:o,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},w&&React__default.default.createElement(index$2,{result:d==null?void 0:d.tag,labelInfoSet:Q,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:r==null?void 0:r.isEdit,count:te,toolName:EAudioToolName.AudioTextTool,imgIndex:m},drawLayerSlot:P,fileData:O,onLoaded:ie,invalid:!B,updateRegion:K,removeRegion:ae,regions:d==null?void 0:d.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:e.footer},Z))),(N||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:G,result:d,inputDisabled:ne,updateText:re,updateRegion:K,configList:Y,autofocus:!1,textConfigurable:N,clipTextConfigurable:V,clipAttributeList:W,clipAttributeConfigurable:F,clipTextList:X}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:C!=null?C:240,style:(p=e.style)==null?void 0:p.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:T,result:d,updateTagResult:se,updateRegion:K,isEdit:r==null?void 0:r.isEdit,tagConfigurable:w,clipConfigurable:U})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
1
+ "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,l,r)=>l in e?__defProp(e,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[l]=r,__spreadValues=(e,l)=>{for(var r in l||(l={}))__hasOwnProp.call(l,r)&&__defNormalProp(e,r,l[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(l))__propIsEnum.call(l,r)&&__defNormalProp(e,r,l[r]);return e},__spreadProps=(e,l)=>__defProps(e,__getOwnPropDescs(l));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:l})=>{const r=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},r.map((v,x)=>{const{tab:d,selectedSvg:E,commonSvg:C}=v;return React__default.default.createElement("div",{key:x,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:l===d?E:C,onClick:()=>{l!==d&&e(d)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:l,updateText:r,configList:v,autofocus:x,preContext:d,isCheck:E,clipAttributeConfigurable:C,clipTextConfigurable:h,textConfigurable:p,updateRegion:y,clipAttributeList:c,clipTextList:g})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:E,result:e==null?void 0:e.value,textInputDisabled:l,textID:(e==null?void 0:e.id)||0,updateText:r,configList:v,autofocus:!l&&x,preContext:d,regions:e==null?void 0:e.regions,clipAttributeConfigurable:C,clipTextConfigurable:h,textConfigurable:p,updateRegion:y,clipAttributeList:c,clipTextList:g}))),AudioSideBar=e=>{var l,r;const{sider:v,config:x,result:d,updateTagResult:E,updateRegion:C,isEdit:h,tagConfigurable:p,clipConfigurable:y}=e;let c=(x==null?void 0:x.inputList)||[],g=(l=d==null?void 0:d.tag)!=null?l:{},i=(r=d==null?void 0:d.regions)!=null?r:[];const[D,R]=React.useState([]),[S,m]=React.useState("tag");React.useEffect(()=>{if(!p&&y){m("clip");return}m("tag")},[p,y]),React.useEffect(()=>(window.addEventListener("keydown",A),()=>{window.removeEventListener("keydown",A)}));const A=n=>{if(p&&y)switch(n.keyCode){case EKeyCode.L:m("tag");break;case EKeyCode.X:m("clip");break}if(S==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(n))return;lbAnnotation.CommonToolUtils.isMoveKey(n==null?void 0:n.keyCode)&&n.preventDefault();let a=n.keyCode;if(a&&(a<=57&&a>=49||a<=105&&a>=97)){a>57?a=a-97:a=a-49;const T=D.slice();c.length===1?(_(0,a),R([0,a]),setTimeout(()=>{R([])},500)):T.length===1?(_(T[0],a),R([T[0],a]),setTimeout(()=>{R([])},500)):R([a])}}},_=(n,a)=>{if(n<c.length&&c[n].subSelected&&a<c[n].subSelected.length){const T=c[n].value,f=c[n].isMulti;let u=c[n].subSelected[a].value,M=0;const k=g;for(const I in g)if(I===c[n].value){if(M++,f===!0){const O=k[I].split(";").filter(U=>U!==""),N=O.indexOf(u);N===-1?O.push(u):O.splice(N,1),u=O.join(";")}u===""?delete k[I]:k[I]=u}M===0&&Object.assign(g,{[T]:u}),E(g)}},j=n=>{delete g[n],E(g)},w=p&&y&&React__default.default.createElement(ToggleAudioOption,{setSideTab:m,sideTab:S}),P=S==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:p?c:[],labelSelectedList:D,setLabel:_,tagResult:g,clearResult:j,isEdit:h,withPanelTab:!1}),q=S==="clip"&&React__default.default.createElement(index$9,{regions:i,updateRegion:C,useAudioClipStore:index$1.useAudioClipStore});return v?typeof v=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},v({toggleAudioOption:w,labelSidebar:P,clipSidebar:q})):v:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},w,P,q))},AudioAnnotate=e=>{var l,r,v,x,d,E,C,h,p;const y=(r=(l=e.style)==null?void 0:l.sider)==null?void 0:r.width,{step:c,stepList:g,audioContext:i,sider:D,drawLayerSlot:R,imgList:S,imgIndex:m,currentData:A,config:_,stepInfo:j,checkMode:w}=e,P=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(c,g),q=index.jsonParser(A.result),{toolInstanceRef:n}=annotation.useCustomToolInstance({basicInfo:q}),[a,T]=React.useState(!0),[f,u]=React.useState(null),[M,k]=React.useState(0);React.useEffect(()=>{T(!0)},[m]),React.useEffect(()=>{a===!1&&ie()},[a]),React.useEffect(()=>{O()},[]),React.useEffect(()=>{n.current.exportData=()=>[[f],{duration:M,valid:V}],n.current.setResult=ce,n.current.clearResult=fe,n.current.currentPageResult=f==null?void 0:f.regions,n.current.emit("updatePageNumber"),n.current.setSelectedRegion=I},[f]);const I=t=>{lbAnnotation.EventBus.emit("setSelectedRegion",{id:t,isLoopStatus:!0,playImmediately:!0})},O=()=>{n.current.emit=t=>{const o=n.current.fns.get(t);o&&o.forEach(s=>{s&&(s==null||s())})},n.current.fns=new Map,n.current.singleOn=(t,o)=>{n.current.fns.set(t,[o])},n.current.on=(t,o)=>{n.current.singleOn(t,o)},n.current.unbindAll=t=>{n.current.fns.delete(t)}},N=React.useMemo(()=>{const t=q[`step_${j==null?void 0:j.step}`];return(t==null?void 0:t.result)||[]},[_,q,j]),{tagConfigurable:U,textConfigurable:K=!0,clipConfigurable:W=!1,clipAttributeConfigurable:X=!1,clipAttributeList:G=[],clipTextConfigurable:B=!1,subAttributeList:Q=[],secondaryAttributeConfigurable:Y=!1,inputList:Z=[],configList:ee=[],clipTextList:z=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(P)return lbAnnotation.CommonToolUtils.jsonParser(P==null?void 0:P.config)},[P]),te={clipConfigurable:W,clipAttributeConfigurable:X,clipAttributeList:G,clipTextConfigurable:B,subAttributeList:Q,secondaryAttributeConfigurable:Y,clipTextList:z},V=i?i==null?void 0:i.valid:!0,ne=(x=(v=lbAnnotation.CommonToolUtils.jsonParser(A.result))==null?void 0:v.duration)!=null?x:0,le=V?ne:0,oe=!V||a||![K,B].includes(!0)||w;let H={};if(m!==-1&&(S==null?void 0:S.length)){const t=(d=S[m])==null?void 0:d.preResult,o=(i==null?void 0:i.isEdit)?(E=i==null?void 0:i.stepConfig)==null?void 0:E.loadPreStep:j==null?void 0:j.loadPreStep;if(t&&o){const s=lbAnnotation.CommonToolUtils.jsonParser(t),b=(h=(C=s==null?void 0:s.config)==null?void 0:C.context)!=null?h:{};Object.keys(b).forEach(L=>{L&&b[L]&&(H[L]={visible:!0,content:b[L],type:L})})}}const ie=()=>{(N==null?void 0:N.length)>0?u(N[0]):u({id:lbAnnotation.uuid(),sourceID:"",value:J(),tag:ae(),regions:[]})},J=(t=!0)=>{const o={};let s=_.configList||[];return s.length>0&&s.forEach(b=>{o[b.key]=t&&b.default||""}),o},ae=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(_.inputList||[]),re=({duration:t,hasError:o})=>{(i==null?void 0:i.onLoaded)&&(i==null||i.onLoaded()),T(!1),k(t)},se=t=>{u(o=>__spreadProps(__spreadValues({},o),{regions:((o==null?void 0:o.regions)||[]).filter(s=>s.id!==t)}))},F=t=>{u(o=>{var s;const b=(s=o==null?void 0:o.regions)!=null?s:[],{id:L}=t;return b.find($=>$.id===L)?__spreadProps(__spreadValues({},o),{regions:b.map($=>L===$.id?__spreadValues(__spreadValues({},$),t):$)}):__spreadProps(__spreadValues({},o),{regions:[...b,t]})})},ue=(t,o)=>{u(s=>__spreadProps(__spreadValues({},s),{value:__spreadProps(__spreadValues({},s.value),{[o]:t})}))},de=t=>{u(o=>__spreadProps(__spreadValues({},o),{tag:t}))},ce=t=>{u(t)},fe=()=>{u(t=>__spreadProps(__spreadValues({},t),{value:J(),tag:{},regions:[]})),lbAnnotation.EventBus.emit("clearRegions")};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:a,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},U&&React__default.default.createElement(index$2,{result:f==null?void 0:f.tag,labelInfoSet:Z,hasPromptLayer:!!(i==null?void 0:i.promptLayer)}),i==null?void 0:i.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:i==null?void 0:i.isEdit,count:le,toolName:EAudioToolName.AudioTextTool,imgIndex:m},drawLayerSlot:R,fileData:A,onLoaded:re,invalid:!V,updateRegion:F,removeRegion:se,regions:f==null?void 0:f.regions,activeToolPanel:i==null?void 0:i.activeToolPanel,footer:e.footer,isCheck:w},te))),(K||B)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:H,result:f,inputDisabled:oe,updateText:ue,updateRegion:F,configList:ee,autofocus:!1,textConfigurable:K,clipTextConfigurable:B,clipAttributeList:G,clipAttributeConfigurable:X,clipTextList:z,isCheck:w}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:y!=null?y:240,style:(p=e.style)==null?void 0:p.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:_,result:f,updateTagResult:de,updateRegion:F,isEdit:i==null?void 0:i.isEdit,tagConfigurable:U,clipConfigurable:W})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),icons=require("@ant-design/icons"),index$2=require("../../../views/MainView/sidebar/TextToolSidebar/index.js"),audio=require("../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),classNames=require("classnames"),index=require("../audioContext/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next"),index$1=require("../../longText/index.js");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(a,l,n)=>l in a?__defProp(a,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[l]=n,__spreadValues=(a,l)=>{for(var n in l||(l={}))__hasOwnProp.call(l,n)&&__defNormalProp(a,n,l[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(l))__propIsEnum.call(l,n)&&__defNormalProp(a,n,l[n]);return a},__spreadProps=(a,l)=>__defProps(a,__getOwnPropDescs(l));const EKeyCode=lbAnnotation.cKeyCode.default,ClearIcon=({onClick:a,title:l,disabled:n})=>React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:l},React__default.default.createElement("span",{className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:n}),onClick:a})),SingleTextInput=a=>{var l;const{t:n}=reactI18next.useTranslation(),D=React.useRef(null),[c,h]=React.useState(!1),[C,d]=React.useState(!1),{disabled:r,config:o,result:P,updateText:f,index:m,switchToNextTextarea:L,hasMultiple:y,textID:T,addPlaceholder:E,onFocus:_,onBlur:F,onFocusStyle:N={},extra:b,errorText:I}=a,{maxLength:v}=o,w=P?P[o.key]:"",B=(l=w==null?void 0:w.length)!=null?l:0,S=t=>{f&&(f(t,o.key),o.required&&d(!t))},O=y&&L,i={id:`textInput-${m}`,ref:D,disabled:r,value:w,maxLength:v,autoSize:{minRows:2,maxRows:6},onChange:t=>{const s=t.target.value;S(s)},onFocus:t=>{h(!0),_==null||_(t),t.target.value&&d(!1)},onBlur:t=>{h(!1),F==null||F(t),o.required&&d(!t.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:t=>{const{keyCode:s}=t;if(t.ctrlKey){if(s===EKeyCode.Enter&&t.preventDefault(),E&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(s))switch(t.preventDefault(),s){case EKeyCode.One:E("\u4986");break;case EKeyCode.Two:E("\u652B");break;case EKeyCode.Three:E("\u7383");break}}else s===EKeyCode.Tab&&O?(t.preventDefault(),t.nativeEvent.stopImmediatePropagation(),L(m)):t.nativeEvent.stopPropagation()}},x=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},O&&React__default.default.createElement("span",null,"[",n("Switch"),"]Tab"),React__default.default.createElement("span",null,"[",n("TurnPage"),"]Ctrl+Enter")),React__default.default.createElement("div",{className:index_module.wordCount},React__default.default.createElement("span",{className:B>=v?index_module.warning:""},B),"/",React__default.default.createElement("span",null,v)));return React.useEffect(()=>{r&&h(!1)},[r]),React.useEffect(()=>{d(!1)},[T]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("div",{className:index_module.labelText},React__default.default.createElement("span",{className:classNames__default.default({[index_module.titleText]:!0,[index_module.required]:o.required})},React__default.default.createElement(index$1,{text:o.label,openByText:!0,isToolTips:!0})),React__default.default.createElement(ClearIcon,{onClick:()=>{r||S("")},title:"",disabled:r})),React__default.default.createElement("div",{className:index_module.extra},b)),React__default.default.createElement("div",{className:classNames__default.default({disabled:r,"textarea-outline":!0,"ant-input-focused":c,[index_module.textareaContainer]:!0,[index_module.focus]:c,[index_module.invalid]:C}),style:c?N:{}},React__default.default.createElement(index$2.TextareaWithFooter,{footer:x,textareaProps:i})),I&&React__default.default.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},I))},TextInput=a=>{const{configList:l,autofocus:n,textID:D,result:c,showText:h,updateText:C,toggleShowText:d,textInputDisabled:r,isCheck:o,isEdit:P,config:f,preContext:m,regions:L=[],textConfigurable:y=!0,clipTextConfigurable:T,clipAttributeConfigurable:E,updateRegion:_,clipAttributeList:F=[],clipTextList:N=index.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=a,{t:b}=reactI18next.useTranslation(),[I,v]=React.useState(0),[w,B]=React.useState(""),S=React.useRef(null),{audioClipState:O}=index.useAudioClipStore(),i=l||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let x=L;if(T&&!o){const e=O.selectedRegion.id;x=x.filter(u=>u.id===e)}const t=e=>{setTimeout(()=>{const u=document.getElementById(`textInput-${e}`);u&&(v(e),u.focus(),u.select(),u.scrollIntoView({behavior:"smooth",block:"center"}))})},s=e=>{const u=y?i.length:0,p=T?x.length*N.length:0,g=u+p,A=(e+1)%g;t(A)},H=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),(i.length>0||T&&N.length>0)&&t(0))},q=e=>{const u=document.getElementById(`textInput-${I}`);if(!(f==null?void 0:f.enablePlaceholderHotkey)||!u||!C)return;const{value:p,selectionStart:g,selectionEnd:A}=u,$=`${p.slice(0,g)}${e}${p.slice(A)}`;C($,i[I].key),B(e),setTimeout(()=>{u.setSelectionRange(g+1,g+1),u.focus()},0),clearTimeout(S.current),S.current=setTimeout(()=>{B("")},400)};React.useEffect(()=>(P||document.addEventListener("keydown",H),()=>{document.removeEventListener("keydown",H)}),[l]),React.useEffect(()=>{n&&!r&&t(0)},[D]);let R=i;o&&(R=i.filter(e=>(c==null?void 0:c[e.key])!==void 0));const k=x[0];return React__default.default.createElement(React__default.default.Fragment,null,(f==null?void 0:f.enablePlaceholderHotkey)&&React__default.default.createElement("div",{className:index_module.placeholderHotkey},React__default.default.createElement("div",{className:index_module.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",React__default.default.createElement(antd.Tooltip,{overlayStyle:{maxWidth:240},title:React__default.default.createElement("div",null,React__default.default.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),React__default.default.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},React__default.default.createElement(icons.QuestionCircleOutlined,{className:index_module.questionIcon}))),React__default.default.createElement(antd.Radio.Group,{value:w},React__default.default.createElement(antd.Radio.Button,{value:"\u4986",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+1"))),React__default.default.createElement(antd.Radio.Button,{value:"\u652B",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+2"))),React__default.default.createElement(antd.Radio.Button,{value:"\u7383",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+3"))))),React__default.default.createElement("div",{className:index_module.textInputContainer},React__default.default.createElement(index.default,{audioContext:m==null?void 0:m.before}),y&&R.map((e,u)=>React__default.default.createElement(SingleTextInput,{config:e,key:u,index:u,result:c,updateText:C,switchToNextTextarea:s,hasMultiple:i.length>1,disabled:r,textID:D,addPlaceholder:q,onFocus:()=>v(u)})),T&&x.length>0&&N.map((e,u)=>{var p;const{id:g,start:A,end:$,attribute:j}=k,{maxLength:z=3e3,label:G,key:V,required:U}=e,W=k==null?void 0:k[V],X={[k.id]:W},Q={label:`${G!=null?G:b("textTool")}\uFF08${audio.timeFormat(A,"ss.SSS")} - ${audio.timeFormat($,"ss.SSS")}\uFF09`,key:g,maxLength:z},M=(y?R.length:0)+u,K=audio.getAttributeColor(j,F),J={color:audio.getAttributeFontColor(j,F),backgroundColor:K},Y=b("LeastCharacterError",{num:1}),Z=U&&W.length<1?Y:void 0,ee=(p=audio.getAttributeShowText(j,[{value:"",key:b("NoAttribute")},...F]))!=null?p:"";return React__default.default.createElement(SingleTextInput,{config:Q,key:u,index:M,disabled:r,result:X,updateText:te=>{_==null||_(__spreadProps(__spreadValues({},k),{[V]:te}))},switchToNextTextarea:()=>{s(M)},hasMultiple:!0,onFocus:()=>v(M),onFocusStyle:E?{borderColor:K,boxShadow:`0 0 0 2px ${audio.updateColorOpacity(K,.4)}`}:{},extra:E?React__default.default.createElement("div",{style:J,className:index_module.attribute},React__default.default.createElement(index$1,{text:ee,openByText:!0,isToolTips:!0})):null,errorText:Z})}),React__default.default.createElement(index.default,{audioContext:m==null?void 0:m.after}),d&&React__default.default.createElement("div",{className:index_module.switchItem},b("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:h,onChange:e=>{d(e)}}))))};exports.ClearIcon=ClearIcon,exports.SingleTextInput=SingleTextInput,exports.default=TextInput;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),icons=require("@ant-design/icons"),index$2=require("../../../views/MainView/sidebar/TextToolSidebar/index.js"),audio=require("../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),classNames=require("classnames"),index=require("../audioContext/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next"),index$1=require("../../longText/index.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,u,n)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[u]=n,__spreadValues=(l,u)=>{for(var n in u||(u={}))__hasOwnProp.call(u,n)&&__defNormalProp(l,n,u[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(u))__propIsEnum.call(u,n)&&__defNormalProp(l,n,u[n]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));const EKeyCode=lbAnnotation.cKeyCode.default,ClearIcon=({onClick:l,title:u,disabled:n})=>React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:u},React__default.default.createElement("span",{className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:n}),onClick:l})),SingleTextInput=l=>{var u;const{t:n}=reactI18next.useTranslation(),A=React.useRef(null),[m,C]=React.useState(!1),[y,E]=React.useState(!1),{disabled:o,config:s,result:D,updateText:v,index:p,switchToNextTextarea:P,hasMultiple:_,textID:T,addPlaceholder:x,onFocus:N,onBlur:F,onFocusStyle:h={},extra:b,errorText:I}=l,{maxLength:g}=s,w=D?D[s.key]:"",B=(u=w==null?void 0:w.length)!=null?u:0,S=a=>{v&&(v(a,s.key),s.required&&E(!a))},L=_&&P,d={id:`textInput-${p}`,ref:A,disabled:o,value:w,maxLength:g,autoSize:{minRows:2,maxRows:6},onChange:a=>{const c=a.target.value;S(c)},onFocus:a=>{C(!0),N==null||N(a),a.target.value&&E(!1)},onBlur:a=>{C(!1),F==null||F(a),s.required&&E(!a.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:a=>{const{keyCode:c}=a;if(a.ctrlKey){if(c===EKeyCode.Enter&&a.preventDefault(),x&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(c))switch(a.preventDefault(),c){case EKeyCode.One:x("\u4986");break;case EKeyCode.Two:x("\u652B");break;case EKeyCode.Three:x("\u7383");break}}else c===EKeyCode.Tab&&L?(a.preventDefault(),a.nativeEvent.stopImmediatePropagation(),P(p)):a.nativeEvent.stopPropagation()}},f=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},L&&React__default.default.createElement("span",null,"[",n("Switch"),"]Tab"),React__default.default.createElement("span",null,"[",n("TurnPage"),"]Ctrl+Enter")),React__default.default.createElement("div",{className:index_module.wordCount},React__default.default.createElement("span",{className:B>=g?index_module.warning:""},B),"/",React__default.default.createElement("span",null,g)));return React.useEffect(()=>{o&&C(!1)},[o]),React.useEffect(()=>{E(!1)},[T]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("div",{className:index_module.labelText},React__default.default.createElement("span",{className:classNames__default.default({[index_module.titleText]:!0,[index_module.required]:s.required})},React__default.default.createElement(index$1,{text:s.label,openByText:!0,isToolTips:!0})),React__default.default.createElement(ClearIcon,{onClick:()=>{o||S("")},title:"",disabled:o})),React__default.default.createElement("div",{className:index_module.extra},b)),React__default.default.createElement("div",{className:classNames__default.default({disabled:o,"textarea-outline":!0,"ant-input-focused":m,[index_module.textareaContainer]:!0,[index_module.focus]:m,[index_module.invalid]:y}),style:m?h:{}},React__default.default.createElement(index$2.TextareaWithFooter,{footer:f,textareaProps:d})),I&&React__default.default.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},I))},TextInput=l=>{const{configList:u,autofocus:n,textID:A,result:m,showText:C,updateText:y,toggleShowText:E,textInputDisabled:o,isCheck:s,isEdit:D,config:v,preContext:p,regions:P=[],textConfigurable:_=!0,clipTextConfigurable:T,clipAttributeConfigurable:x,updateRegion:N,clipAttributeList:F=[],clipTextList:h=index.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=l,{t:b}=reactI18next.useTranslation(),[I,g]=React.useState(0),[w,B]=React.useState(""),S=React.useRef(null),{audioClipState:L}=index.useAudioClipStore(),d=u||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let f=P;if(T&&!s){const e=L.selectedRegion.id;f=f.filter(t=>t.id===e)}const a=e=>{setTimeout(()=>{const t=document.getElementById(`textInput-${e}`);t&&(g(e),t.focus(),t.select(),t.scrollIntoView({behavior:"smooth",block:"center"}))})},c=e=>{const t=_?d.length:0,i=T?f.length*h.length:0,r=t+i,k=(e+1)%r;a(k)},K=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),(d.length>0||T&&h.length>0)&&a(0))},O=e=>{const t=document.getElementById(`textInput-${I}`);if(!(v==null?void 0:v.enablePlaceholderHotkey)||!t||!y)return;const{value:i,selectionStart:r,selectionEnd:k}=t,R=`${i.slice(0,r)}${e}${i.slice(k)}`;y(R,d[I].key),B(e),setTimeout(()=>{t.setSelectionRange(r+1,r+1),t.focus()},0),clearTimeout(S.current),S.current=setTimeout(()=>{B("")},400)};React.useEffect(()=>(D||document.addEventListener("keydown",K),()=>{document.removeEventListener("keydown",K)}),[u]),React.useEffect(()=>{n&&!o&&a(0)},[A]);let q=d;s&&(q=d.filter(e=>(m==null?void 0:m[e.key])!==void 0));const W=React.useMemo(()=>h.reduce((e,t)=>(f.forEach(i=>{i&&e.push(__spreadProps(__spreadValues({},t),{clipTextResult:i}))}),e),[]),[h,f]);return React__default.default.createElement(React__default.default.Fragment,null,(v==null?void 0:v.enablePlaceholderHotkey)&&React__default.default.createElement("div",{className:index_module.placeholderHotkey},React__default.default.createElement("div",{className:index_module.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",React__default.default.createElement(antd.Tooltip,{overlayStyle:{maxWidth:240},title:React__default.default.createElement("div",null,React__default.default.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),React__default.default.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},React__default.default.createElement(icons.QuestionCircleOutlined,{className:index_module.questionIcon}))),React__default.default.createElement(antd.Radio.Group,{value:w},React__default.default.createElement(antd.Radio.Button,{value:"\u4986",onClick:e=>O(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+1"))),React__default.default.createElement(antd.Radio.Button,{value:"\u652B",onClick:e=>O(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+2"))),React__default.default.createElement(antd.Radio.Button,{value:"\u7383",onClick:e=>O(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+3"))))),React__default.default.createElement("div",{className:index_module.textInputContainer},React__default.default.createElement(index.default,{audioContext:p==null?void 0:p.before}),_&&q.map((e,t)=>React__default.default.createElement(SingleTextInput,{config:e,key:t,index:t,result:m,updateText:y,switchToNextTextarea:c,hasMultiple:d.length>1,disabled:o,textID:A,addPlaceholder:O,onFocus:()=>g(t)})),T&&f.length>0&&W.map((e,t)=>{var i;const{clipTextResult:r}=e,{id:k,start:R,end:z,attribute:$}=r,{maxLength:U=3e3,label:H,key:G,required:X}=e,V=r==null?void 0:r[G],Q={[r.id]:V},J={label:`${H!=null?H:b("textTool")}\uFF08${audio.timeFormat(R,"ss.SSS")} - ${audio.timeFormat(z,"ss.SSS")}\uFF09`,key:k,maxLength:U},j=(_?q.length:0)+t,M=audio.getAttributeColor($,F),Y={color:audio.getAttributeFontColor($,F),backgroundColor:M},Z=b("LeastCharacterError",{num:1}),ee=X&&V.length<1?Z:void 0,te=(i=audio.getAttributeShowText($,[{value:"",key:b("NoAttribute")},...F]))!=null?i:"";return React__default.default.createElement(SingleTextInput,{config:J,key:t,index:j,disabled:o,result:Q,updateText:ae=>{N==null||N(__spreadProps(__spreadValues({},r),{[G]:ae}))},switchToNextTextarea:()=>{c(j)},hasMultiple:!0,onFocus:()=>g(j),onFocusStyle:x?{borderColor:M,boxShadow:`0 0 0 2px ${audio.updateColorOpacity(M,.4)}`}:{},extra:x?React__default.default.createElement("div",{style:Y,className:index_module.attribute},React__default.default.createElement(index$1,{text:te,openByText:!0,isToolTips:!0})):null,errorText:ee})}),React__default.default.createElement(index.default,{audioContext:p==null?void 0:p.after}),E&&React__default.default.createElement("div",{className:index_module.switchItem},b("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:C,onChange:e=>{E(e)}}))))};exports.ClearIcon=ClearIcon,exports.SingleTextInput=SingleTextInput,exports.default=TextInput;
@@ -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"),antd=require("antd"),index$a=require("../invalidPage/index.js"),index$5=require("../imageError/index.js"),index$9=require("../../utils/index.js"),index$c=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$d=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$1=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$b=require("./progressDot/index.js"),index$6=require("./clipTip/index.js"),index$4=require("./useSwitchHotkey/index.js"),index$2=require("./useAudioCombine/index.js"),index$3=require("./useAudioSegment/index.js"),index$7=require("./combineTip/index.js"),index$8=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js");function _interopDefaultLegacy(c){return c&&typeof c=="object"&&"default"in c?c:{default:c}}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=(c,s,d)=>s in c?__defProp(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d,__spreadValues=(c,s)=>{for(var d in s||(s={}))__hasOwnProp.call(s,d)&&__defNormalProp(c,d,s[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(s))__propIsEnum.call(s,d)&&__defNormalProp(c,d,s[d]);return c},__spreadProps=(c,s)=>__defProps(c,__getOwnPropDescs(s));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:c={},onLoaded:s,context:d,invalid:$e,height:Ie,hideError:Oe,onError:te,updateRegion:P,removeRegion:B,regions:C=[],activeToolPanel:Ne,clipConfigurable:We,clipTextConfigurable:re,clipAttributeList:Fe,clipAttributeConfigurable:ne,secondaryAttributeConfigurable:ze,subAttributeList:Ue,isCheck:E,hoverRegionId:$,footer:He,drawLayerSlot:oe,clipTextList:Xe})=>{var ie,ae;const{url:M,path:le}=c,[I,O]=React.useState(!1),[se,ue]=React.useState(!1),[R,Ze]=React.useState(0),[Ke,ce]=React.useState(!1),[D,de]=React.useState(0),o=React.useRef(null),S=React.useRef(null),fe=React.useRef(R),N=e=>{fe.current=e,Ze(e)},[ve,Ve]=React.useState(0),[L,Ge]=React.useState(1),W=React.useRef(null),[me,Ye]=React.useState({}),{audioClipState:F,setAudioClipState:A}=index.useAudioClipStore(),[z,U]=React.useState(!1),u=ahooks.useLatest(F),pe=ahooks.useLatest(me),Je=ahooks.useLatest(I),w=ahooks.useLatest(C),ge=ahooks.useUpdate(),[be,Qe]=React.useState([]),[_e,et]=React.useState({}),tt=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),ye=e=>{e<index$d.audioZoomInfo.min||e>index$d.audioZoomInfo.max||(Ge(e),audio.dispatchResizeEvent(),tt())};index$1({container:W.current,target:document.querySelector(`[data-id=${(ae=(ie=u.current)==null?void 0:ie.selectedRegion)==null?void 0:ae.id}]`),clipping:z,zoom:L,zoomHandler:ye});const k=()=>{let e=w.current;const{attributeLockList:r}=u.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),X(),e.forEach(t=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},t),{drag:!E,resize:!E,color:"rgba(0, 0, 0, 0)"}))}),ge()},v=e=>{var r,t,n,i,l,m,p;const{id:a,loop:f=!0,playImmediately:g=!1}=e;if(a){const T=(n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{};Object.entries(T).forEach(([,b])=>{const{id:x}=b;a===x?b.select():b.cancelSelect()}),A({selectedRegion:{id:a,loop:f},selectedAttribute:(m=(l=(i=w.current)==null?void 0:i.find(b=>b.id===a))==null?void 0:l.attribute)!=null?m:""}),f&&g&&((p=j(a))==null||p.playLoop())}else A({selectedRegion:{}})},{combineInstance:rt}=index$2({waveRef:o,sortByStartRegions:be,regionMap:_e,updateRegion:P,removeRegion:B,generateRegions:k,setSelectedRegion:v}),{segmentInstance:nt,onRegionMouseMove:ot,segmentTimeTip:it}=index$3({waveRef:o,regionMap:_e,updateRegion:P,removeRegion:B,generateRegions:k,setSelectedRegion:v}),Ee={clipTextConfigurable:re,clipAttributeList:Fe,clipAttributeConfigurable:ne,clipConfigurable:We,secondaryAttributeConfigurable:ze,subAttributeList:Ue,clipTextList:Xe};React.useEffect(()=>{A({selectedAttribute:""})},[ne]),React.useEffect(()=>{H()},[F.selectedAttribute]),React.useEffect(()=>{k()},[F.attributeLockList]),ahooks.useDeepCompareEffect(()=>{A(Ee),setTimeout(()=>{Re()})},[Ee]),ahooks.useDeepCompareEffect(()=>{Qe(_.sortBy(C,["start"])),et(C.reduce((e,r)=>{const{id:t}=r;return __spreadProps(__spreadValues({},e),{[t]:r})},{}))},[C]),React.useEffect(()=>{if($){const e=Je.current;v({id:$,loop:e,playImmediately:!0})}else v({})},[$]);const Re=()=>{var e,r;u.current.clipConfigurable?(!E&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),k()):((r=o.current)==null||r.disableDragSelection(),X()),H()},H=()=>{var e,r,t,n,i;let l="";u.current.clipConfigurable?l=audio.getAttributeColor(u.current.selectedAttribute,(e=u.current.clipAttributeList)!=null?e:[]):l="transparent",((t=(r=o==null?void 0:o.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${l}`}))},j=e=>{var r,t,n;return((n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{})[e]},Se=()=>{var e,r;if(M){const t=((r=(e=le==null?void 0:le.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";ce(!1),t?getWebPcm2Wac.getWebPcm2WavBase64(M).then(n=>{he(n)}):he(M)}},he=e=>{var r;e&&(ue(!0),N(0),de(0),(r=o==null?void 0:o.current)==null||r.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},Z=e=>{const r=j(e);r&&(U(!1),r==null||r.remove(),B==null||B(e),v({}))},{run:xe}=ahooks.useThrottleFn(v,{wait:500});index$4({sortByStartRegions:be,setSelectedRegion:v});const at=e=>{const{start:r,end:t}=pe.current;return(r||t)&&e.update(pe.current),e},lt=({action:e,id:r,eventDownTime:t})=>{var n,i;if(!u.current.clipConfigurable)return;r&&v({id:r});const l=j((r!=null?r:(n=u.current.selectedRegion)==null?void 0:n.id)||""),m=[];(e==="create"?w.current:(i=w.current)==null?void 0:i.filter(f=>f.id!==l.id)).forEach(f=>{const{start:g,end:T,attribute:b}=f;b===u.current.selectedAttribute&&[g,T].forEach(x=>{m.includes(x)||m.push(x)})});const a=audio.getCanMoveRange(m.sort((f,g)=>f-g),t);o.current.range=a},st=e=>{H(),setTimeout(()=>{U(!1)});const r=at(e),{id:t,start:n,end:i}=r;v({id:t,playImmediately:!0});const l={id:t,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};P==null||P(l),ge()},ut=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Ie||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:C,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;N(((t=o==null?void 0:o.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const n=((t=o==null?void 0:o.current)==null?void 0:t.getDuration())||0;de(n),r(),s==null||s({duration:Math.round(n)}),ue(!1),q(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",V),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",Z),lbAnnotation.EventBus.on("setSelectedRegion",xe),e.on("regions-eventDown",lt),Re()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{O(!0)}),e.on("pause",()=>{O(!1)}),e.on("finish",()=>{O(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{ce(!0),s==null||s({hasError:!0}),te==null||te()}),e.on("region-created",t=>{var n;const{id:i,start:l,end:m}=t;if(w.current.find(a=>a.id===i))return;const p={id:i,start:utils.decimalReserved(l,3),end:utils.decimalReserved(m,3),attribute:u.current.selectedAttribute,text:""};if(u.current.secondaryAttributeConfigurable){const a=lbAnnotation.TagUtils.getDefaultResultByConfig((n=u.current.subAttributeList)!=null?n:[]);p.subAttribute=a!=null?a:{}}re&&u.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})}),P==null||P(p)}),e.on("region-updated",(t,n)=>{var i,l,m,p,a,f,g,T,b,x;const Be=n==null?void 0:n.action;A({combined:!1,segment:!1}),Be==="resize"&&((l=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||l.setStyle({borderStyle:"solid"})),Be==="drag"&&((p=(m=o==null?void 0:o.current)==null?void 0:m.cursor)==null||p.setStyle({borderColor:"transparent"}));const G={},Y=[],J={},Rt=(a=w.current)==null?void 0:a.filter(y=>y.id!==t.id),St=(T=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?T:{};Rt.forEach(y=>{var De,Le;const{element:Q}=(De=St[y.id])!=null?De:{},{start:Pt,end:Ct}=y;if(Q){const{x:ke,width:wt}=((Le=Q.getBoundingClientRect)==null?void 0:Le.call(Q))||{},Tt=ke+wt;[ke,Tt].forEach((ee,At)=>{Y.includes(ee)||(Y.push(ee),J[ee]=At===0?Pt:Ct)})}});const{x:Me,width:ht}=((x=(b=t.element).getBoundingClientRect)==null?void 0:x.call(b))||{},xt=Me+ht;Y.forEach(y=>{Math.abs(audio.precisionMinus(y,Me))<5&&(G.start=J[y]),Math.abs(audio.precisionMinus(y,xt))<5&&(G.end=J[y])}),Ye(G),xe({id:t.id}),U(!0)}),e.on("region-update-end",t=>{st(t)}),e.on("region-contextmenu",(t,n)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){Z(t.id);return}v({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,n,i)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),u.current.combined){rt(t);return}if(u.current.segment){nt(t,i);return}v({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",ot),o.current=e},ct=I?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Pe=e=>e?`${parseFloat((e/D*100).toFixed(4))}%`:"0%",Ce=Pe(R),dt=Pe(ve),h=()=>{if(!se)return o==null?void 0:o.current},ft=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},vt=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},q=()=>{var e;(e=h())==null||e.playPause(),v({})},we=e=>{var r;switch(e.keyCode){case EKeyCode.Right:ft();break;case EKeyCode.Left:vt();break;case EKeyCode.Space:e.preventDefault(),q();break;case EKeyCode.Delete:if(!E){const{id:t}=((r=u.current)==null?void 0:r.selectedRegion)||{};t&&Z(t)}break}},mt=e=>{V(e)},Te=___default.default.throttle(mt,50);let K=!1;const Ae=()=>{K&&(q(),K=!1),document.removeEventListener("mousemove",Te),document.removeEventListener("mouseup",Ae)},pt=e=>{V(e),I&&(K=!0,q()),document.addEventListener("mousemove",Te),document.addEventListener("mouseup",Ae)},gt=()=>{Se()};React.useEffect(()=>(ut(),()=>{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 bt=e=>{var r,t,n;(r=h())==null||r.playPause(),(t=h())==null||t.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",we),()=>{document.removeEventListener("keydown",we)})),React.useEffect(()=>{v({}),Se()},[M]);const je=e=>{var r,t,n,i;if((o==null?void 0:o.current)&&(S==null?void 0:S.current)){const l=(t=(r=o==null?void 0:o.current)==null?void 0:r.getDuration())!=null?t:0,m=(n=S==null?void 0:S.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-m.left)/(((i=S==null?void 0:S.current)==null?void 0:i.clientWidth)||0)*l;return a>l&&(a=l),a}return 0},V=e=>{var r;const t=je(e);(r=o==null?void 0:o.current)==null||r.skip(t-fe.current),N(t)},_t=e=>{Ve(je(e))},yt=D?Math.max(D-R,0):0,Et=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Ne==="remark"||E),qe=React__default.default.createElement("div",{className:index_module.audioPlayer},Ke&&!Oe&&React__default.default.createElement(index$5,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:gt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$6,{getRegionInstanceById:j,clipping:z}),React__default.default.createElement(index$7,{container:W.current}),React__default.default.createElement(index$8,{segmentTimeTip:it}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:W},React__default.default.createElement("div",{id:"waveform",style:{width:`${L*100}%`},className:index$9.classnames({[index_module.waveform]:!0,"bee-audio-combined":u.current.combined,"bee-audio-clip":u.current.clipConfigurable})},$e&&React__default.default.createElement(index$a,{isAudio:!0}),React__default.default.createElement("div",{ref:S,className:index_module.progress,onMouseDown:pt,onMouseMove:_t},React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0}),style:{left:Ce}},audio.formatTime(R)),React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:dt}},audio.formatTime(ve)),React__default.default.createElement(index$b,{playPercentage:Ce})),Et&&(oe==null?void 0:oe({currentTime:R,remainingTime:yt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:ct,onClick:()=>{q()},className:index$9.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:se})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(R,"ss.SSS")} / -${audio.timeFormat(D-R,"ss.SSS")}`),React__default.default.createElement(index$c.default,{playerType:index$c.EPlayerType.Audio,onChange:e=>{bt(e)}}),React__default.default.createElement(index$d.default,{onChange:e=>{ye(e)},zoom:L}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},qe,C.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?React__default.default.createElement(index$f,{el:t,key:r,region:e,edgeAdsorption:me,clipping:z,zoom:L,instance:j(r)}):null}),React__default.default.createElement(index$g.default,{footer:He})):qe};exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext;
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$a=require("../invalidPage/index.js"),index$5=require("../imageError/index.js"),index$9=require("../../utils/index.js"),index$c=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$d=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$1=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$b=require("./progressDot/index.js"),index$6=require("./clipTip/index.js"),index$4=require("./useSwitchHotkey/index.js"),index$2=require("./useAudioCombine/index.js"),index$3=require("./useAudioSegment/index.js"),index$7=require("./combineTip/index.js"),index$8=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js"),reactI18next=require("react-i18next");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:Oe,height:We,hideError:Ne,onError:re,updateRegion:C,removeRegion:M,regions:w=[],activeToolPanel:Fe,clipConfigurable:ze,clipTextConfigurable:ne,clipAttributeList:Ue,clipAttributeConfigurable:oe,secondaryAttributeConfigurable:He,subAttributeList:Xe,isCheck:E,hoverRegionId:O,footer:Ze,drawLayerSlot:ie,clipTextList:Ke,lang:ae})=>{var le,se;const{url:D,path:ue}=l,[W,N]=React.useState(!1),[ce,de]=React.useState(!1),[S,Ve]=React.useState(0),[Ge,fe]=React.useState(!1),[k,ve]=React.useState(0),o=React.useRef(null),R=React.useRef(null),me=React.useRef(S),F=e=>{me.current=e,Ve(e)},[pe,Ye]=React.useState(0),[I,Je]=React.useState(1),z=React.useRef(null),[ge,Qe]=React.useState({}),{audioClipState:U,setAudioClipState:q}=index.useAudioClipStore(),[H,X]=React.useState(!1),c=ahooks.useLatest(U),be=ahooks.useLatest(ge),_e=ahooks.useLatest(W),A=ahooks.useLatest(w),ye=ahooks.useUpdate(),[Ee,et]=React.useState([]),[Se,tt]=React.useState({}),rt=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Re=e=>{e<index$d.audioZoomInfo.min||e>index$d.audioZoomInfo.max||(Je(e),audio.dispatchResizeEvent(),rt())};index$1({container:z.current,target:document.querySelector(`[data-id=${(se=(le=c.current)==null?void 0:le.selectedRegion)==null?void 0:se.id}]`),clipping:H,zoom:I,zoomHandler:Re});const $=()=>{let e=A.current;const{attributeLockList:r}=c.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),K(),e.forEach(t=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},t),{drag:!E,resize:!E,color:"rgba(0, 0, 0, 0)"}))}),ye()},v=e=>{var r,t,n,i,s,m,p;const{id:a,loop:f=!0,playImmediately:g=!1,isLoopStatus:T}=e,h=T?_e.current:f;if(a){const P=(n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{};Object.entries(P).forEach(([,y])=>{const{id:L}=y;a===L?y.select():y.cancelSelect()}),q({selectedRegion:{id:a,loop:h},selectedAttribute:(m=(s=(i=A.current)==null?void 0:i.find(y=>y.id===a))==null?void 0:s.attribute)!=null?m:""}),h&&g&&((p=j(a))==null||p.playLoop())}else q({selectedRegion:{}})},{combineInstance:nt}=index$2({waveRef:o,sortByStartRegions:Ee,regionMap:Se,updateRegion:C,removeRegion:M,generateRegions:$,setSelectedRegion:v}),{segmentInstance:ot,onRegionMouseMove:it,segmentTimeTip:at}=index$3({waveRef:o,regionMap:Se,updateRegion:C,removeRegion:M,generateRegions:$,setSelectedRegion:v}),xe={clipTextConfigurable:ne,clipAttributeList:Ue,clipAttributeConfigurable:oe,clipConfigurable:ze,secondaryAttributeConfigurable:He,subAttributeList:Xe,clipTextList:Ke};React.useEffect(()=>{var e;ae&&((e=lbUtils.i18n)==null||e.changeLanguage(ae))},[]),React.useEffect(()=>{q({selectedAttribute:""})},[oe]),React.useEffect(()=>{Z()},[U.selectedAttribute]),React.useEffect(()=>{$()},[U.attributeLockList]),ahooks.useDeepCompareEffect(()=>{q(xe),setTimeout(()=>{he()})},[xe]),ahooks.useDeepCompareEffect(()=>{et(_.sortBy(w,["start"])),tt(w.reduce((e,r)=>{const{id:t}=r;return __spreadProps(__spreadValues({},e),{[t]:r})},{}))},[w]),React.useEffect(()=>{if(O){const e=_e.current;v({id:O,loop:e,playImmediately:!0})}else v({})},[O]);const he=()=>{var e,r;c.current.clipConfigurable?(!E&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),$()):((r=o.current)==null||r.disableDragSelection(),K()),Z()},Z=()=>{var e,r,t,n,i;let s="";c.current.clipConfigurable?s=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):s="transparent",((t=(r=o==null?void 0:o.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${s}`}))},j=e=>{var r,t,n;return((n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{})[e]},Pe=()=>{var e,r;if(D){const t=((r=(e=ue==null?void 0:ue.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";fe(!1),t?getWebPcm2Wac.getWebPcm2WavBase64(D).then(n=>{Ce(n)}):Ce(D)}},Ce=e=>{var r;e&&(de(!0),F(0),ve(0),(r=o==null?void 0:o.current)==null||r.load(e))},K=()=>{var e;(e=o.current)==null||e.clearRegions()},V=e=>{const r=j(e);r&&(X(!1),r==null||r.remove(),M==null||M(e),v({}))},{run:we}=ahooks.useThrottleFn(v,{wait:500});index$4({sortByStartRegions:Ee,setSelectedRegion:v});const lt=e=>{const{start:r,end:t}=be.current;return(r||t)&&e.update(be.current),e},st=({action:e,id:r,eventDownTime:t})=>{var n,i;if(!c.current.clipConfigurable)return;r&&v({id:r});const s=j((r!=null?r:(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:T,attribute:h}=f;h===c.current.selectedAttribute&&[g,T].forEach(P=>{m.includes(P)||m.push(P)})});const a=audio.getCanMoveRange(m.sort((f,g)=>f-g),t);o.current.range=a},ut=e=>{Z(),setTimeout(()=>{X(!1)});const r=lt(e),{id:t,start:n,end:i}=r;v({id:t,playImmediately:!0});const s={id:t,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};C==null||C(s),ye()},ct=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:We||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:w,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;F(((t=o==null?void 0:o.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const n=((t=o==null?void 0:o.current)==null?void 0:t.getDuration())||0;ve(n),r(),u==null||u({duration:Math.round(n)}),de(!1),B(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",Y),lbAnnotation.EventBus.on("clearRegions",K),lbAnnotation.EventBus.on("removeRegionById",V),lbAnnotation.EventBus.on("setSelectedRegion",we),e.on("regions-eventDown",st),he()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{N(!0)}),e.on("pause",()=>{N(!1)}),e.on("finish",()=>{N(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{fe(!0),u==null||u({hasError:!0}),re==null||re()}),e.on("region-created",t=>{var n;const{id:i,start:s,end:m}=t;if(A.current.find(a=>a.id===i))return;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})}),C==null||C(p)}),e.on("region-updated",(t,n)=>{var i,s,m,p,a,f,g,T,h,P;const y=n==null?void 0:n.action;q({combined:!1,segment:!1}),y==="resize"&&((s=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||s.setStyle({borderStyle:"solid"})),y==="drag"&&((p=(m=o==null?void 0:o.current)==null?void 0:m.cursor)==null||p.setStyle({borderColor:"transparent"}));const L={},J=[],Q={},Rt=(a=A.current)==null?void 0:a.filter(b=>b.id!==t.id),xt=(T=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?T:{};Rt.forEach(b=>{var ke,Ie;const{element:ee}=(ke=xt[b.id])!=null?ke:{},{start:Ct,end:wt}=b;if(ee){const{x:$e,width:At}=((Ie=ee.getBoundingClientRect)==null?void 0:Ie.call(ee))||{},Tt=$e+At;[$e,Tt].forEach((te,qt)=>{J.includes(te)||(J.push(te),Q[te]=qt===0?Ct:wt)})}});const{x:De,width:ht}=((P=(h=t.element).getBoundingClientRect)==null?void 0:P.call(h))||{},Pt=De+ht;J.forEach(b=>{Math.abs(audio.precisionMinus(b,De))<5&&(L.start=Q[b]),Math.abs(audio.precisionMinus(b,Pt))<5&&(L.end=Q[b])}),Qe(L),we({id:t.id}),X(!0)}),e.on("region-update-end",t=>{ut(t)}),e.on("region-contextmenu",(t,n)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){V(t.id);return}v({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,n,i)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),c.current.combined){nt(t);return}if(c.current.segment){ot(t,i);return}v({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",it),o.current=e},dt=W?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ae=e=>e?`${parseFloat((e/k*100).toFixed(4))}%`:"0%",Te=Ae(S),ft=Ae(pe),x=()=>{if(!ce)return o==null?void 0:o.current},vt=()=>{var e;(e=x())==null||e.skipForward(PER_PROGRESS)},mt=()=>{var e;(e=x())==null||e.skipBackward(PER_PROGRESS)},B=()=>{var e;(e=x())==null||e.playPause(),v({})},qe=e=>{var r;switch(e.keyCode){case EKeyCode.Right:vt();break;case EKeyCode.Left:mt();break;case EKeyCode.Space:e.preventDefault(),B();break;case EKeyCode.Delete:if(!E){const{id:t}=((r=c.current)==null?void 0:r.selectedRegion)||{};t&&V(t)}break}},pt=e=>{Y(e)},je=___default.default.throttle(pt,50);let G=!1;const Be=()=>{G&&(B(),G=!1),document.removeEventListener("mousemove",je),document.removeEventListener("mouseup",Be)},gt=e=>{Y(e),W&&(G=!0,B()),document.addEventListener("mousemove",je),document.addEventListener("mouseup",Be)},bt=()=>{Pe()};React.useEffect(()=>(ct(),()=>{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 _t=e=>{var r,t,n;(r=x())==null||r.playPause(),(t=x())==null||t.setPlaybackRate(e),(n=x())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",qe),()=>{document.removeEventListener("keydown",qe)})),React.useEffect(()=>{v({}),Pe()},[D]);const Le=e=>{var r,t,n,i;if((o==null?void 0:o.current)&&(R==null?void 0:R.current)){const s=(t=(r=o==null?void 0:o.current)==null?void 0:r.getDuration())!=null?t:0,m=(n=R==null?void 0:R.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-m.left)/(((i=R==null?void 0:R.current)==null?void 0:i.clientWidth)||0)*s;return a>s&&(a=s),a}return 0},Y=e=>{var r;const t=Le(e);(r=o==null?void 0:o.current)==null||r.skip(t-me.current),F(t)},yt=e=>{Ye(Le(e))},Et=k?Math.max(k-S,0):0,St=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Fe==="remark"||E),Me=React__default.default.createElement("div",{className:index_module.audioPlayer},Ge&&!Ne&&React__default.default.createElement(index$5,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:bt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$6,{getRegionInstanceById:j,clipping:H}),React__default.default.createElement(index$7,{container:z.current}),React__default.default.createElement(index$8,{segmentTimeTip:at}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:z},React__default.default.createElement("div",{id:"waveform",style:{width:`${I*100}%`},className:index$9.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Oe&&React__default.default.createElement(index$a,{isAudio:!0}),React__default.default.createElement("div",{ref:R,className:index_module.progress,onMouseDown:gt,onMouseMove:yt},React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0}),style:{left:Te}},audio.formatTime(S)),React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:ft}},audio.formatTime(pe)),React__default.default.createElement(index$b,{playPercentage:Te})),St&&(ie==null?void 0:ie({currentTime:S,remainingTime:Et,audioPlayer:x()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:dt,onClick:()=>{B()},className:index$9.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:ce})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(S,"ss.SSS")} / -${audio.timeFormat(k-S,"ss.SSS")}`),React__default.default.createElement(index$c.default,{playerType:index$c.EPlayerType.Audio,onChange:e=>{_t(e)}}),React__default.default.createElement(index$d.default,{onChange:e=>{Re(e)},zoom:I}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Me,w.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?React__default.default.createElement(index$f,{el:t,key:r,region:e,edgeAdsorption:ge,clipping:H,zoom:I,instance:j(r)}):null}),React__default.default.createElement(index$g.default,{footer:Ze})):Me},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;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$1=require("./components/AnnotationView/index.js"),pointCloudAnnotationView=require("./components/AnnotationView/pointCloudAnnotationView.js"),index$2=require("./components/LLMToolView/questionView/index.js"),index$3=require("./components/NLPToolView/textContent/index.js"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),App=require("./App.js"),configureStore=require("./configureStore.js"),actionCreators=require("./store/annotation/actionCreators.js"),TagToolInstanceAdaptorI18nProvider=require("./components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js"),PointCloudContext=require("./components/pointCloudView/PointCloudContext.js"),ctx=require("./store/ctx.js"),index$5=require("./components/predictTracking/predictTrackingIcon/index.js"),index$4=require("./components/LLMToolView/index.js"),index$6=require("./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js"),index$7=require("./components/measureCanvas/index.js"),index$8=require("./views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js"),index$9=require("./views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js"),index$a=require("./constant/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const store=configureStore(),OutputApp=(e,t)=>{const[r,a]=React.useState();return React.useImperativeHandle(t,()=>({toolInstance:r,annotationEngine:store.getState().annotation.annotationEngine,pageBackwardActions:()=>store.dispatch(actionCreators.PageBackward()),pageForwardActions:()=>store.dispatch(actionCreators.PageForward()),pageJump:o=>{const n=~~o-1;store.dispatch(actionCreators.PageJump(n))},hello:()=>alert("hello labelBee!!!")}),[r]),React__default.default.createElement(reactRedux.Provider,{store,context:ctx.LabelBeeContext},React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(PointCloudContext.PointCloudProvider,null,React__default.default.createElement(App,__spreadProps(__spreadValues({},e),{setToolInstance:o=>{var n;a(o),(n=e.onLoad)==null||n.call(e,{toolInstance:o})}})))))};var index=React__default.default.forwardRef(OutputApp);exports.AnnotationView=index$1,exports.PointCloudAnnotationView=pointCloudAnnotationView,exports.QuestionView=index$2.default,exports.TextContent=index$3,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return lbUtils.i18n}}),exports.VideoTagTool=TagToolInstanceAdaptorI18nProvider.VideoTagTool,exports.PredictTracking=index$5,exports.LLMToolView=index$4,exports.SwitchCuboidBoxIn2DView=index$6,exports.MeasureCanvas=index$7,exports.AnnotatedBox=index$8,exports.FindTrackIDIndex=index$9.FindTrackIDIndexInCheckMode,Object.defineProperty(exports,"EDataFormatType",{enumerable:!0,get:function(){return index$a.EDataFormatType}}),Object.defineProperty(exports,"ELLMDataType",{enumerable:!0,get:function(){return index$a.ELLMDataType}}),Object.defineProperty(exports,"EStepType",{enumerable:!0,get:function(){return index$a.EStepType}}),Object.defineProperty(exports,"ESubmitType",{enumerable:!0,get:function(){return index$a.ESubmitType}}),exports.componentCls=index$a.componentCls,exports.prefix=index$a.prefix,exports.default=index,exports.store=store;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$1=require("./components/AnnotationView/index.js"),pointCloudAnnotationView=require("./components/AnnotationView/pointCloudAnnotationView.js"),index$2=require("./components/LLMToolView/questionView/index.js"),index$3=require("./components/NLPToolView/textContent/index.js"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),App=require("./App.js"),configureStore=require("./configureStore.js"),actionCreators=require("./store/annotation/actionCreators.js"),TagToolInstanceAdaptorI18nProvider=require("./components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js"),PointCloudContext=require("./components/pointCloudView/PointCloudContext.js"),ctx=require("./store/ctx.js"),index$5=require("./components/predictTracking/predictTrackingIcon/index.js"),index$4=require("./components/LLMToolView/index.js"),index$6=require("./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js"),index$7=require("./components/measureCanvas/index.js"),index$8=require("./views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js"),index$9=require("./views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js"),index$a=require("./components/audioPlayer/index.js"),index$b=require("./constant/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r,t)=>r in e?__defProp(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,__spreadValues=(e,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(e,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(e,t,r[t]);return e},__spreadProps=(e,r)=>__defProps(e,__getOwnPropDescs(r));const store=configureStore(),OutputApp=(e,r)=>{const[t,a]=React.useState();return React.useImperativeHandle(r,()=>({toolInstance:t,annotationEngine:store.getState().annotation.annotationEngine,pageBackwardActions:()=>store.dispatch(actionCreators.PageBackward()),pageForwardActions:()=>store.dispatch(actionCreators.PageForward()),pageJump:o=>{const n=~~o-1;store.dispatch(actionCreators.PageJump(n))},hello:()=>alert("hello labelBee!!!")}),[t]),React__default.default.createElement(reactRedux.Provider,{store,context:ctx.LabelBeeContext},React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(PointCloudContext.PointCloudProvider,null,React__default.default.createElement(App,__spreadProps(__spreadValues({},e),{setToolInstance:o=>{var n;a(o),(n=e.onLoad)==null||n.call(e,{toolInstance:o})}})))))};var index=React__default.default.forwardRef(OutputApp);exports.AnnotationView=index$1,exports.PointCloudAnnotationView=pointCloudAnnotationView,exports.QuestionView=index$2.default,exports.TextContent=index$3,Object.defineProperty(exports,"i18n",{enumerable:!0,get:function(){return lbUtils.i18n}}),exports.VideoTagTool=TagToolInstanceAdaptorI18nProvider.VideoTagTool,exports.PredictTracking=index$5,exports.LLMToolView=index$4,exports.SwitchCuboidBoxIn2DView=index$6,exports.MeasureCanvas=index$7,exports.AnnotatedBox=index$8,exports.FindTrackIDIndex=index$9.FindTrackIDIndexInCheckMode,exports.AudioPlayer=index$a.WrapAudioPlayer,Object.defineProperty(exports,"EDataFormatType",{enumerable:!0,get:function(){return index$b.EDataFormatType}}),Object.defineProperty(exports,"ELLMDataType",{enumerable:!0,get:function(){return index$b.ELLMDataType}}),Object.defineProperty(exports,"EStepType",{enumerable:!0,get:function(){return index$b.EStepType}}),Object.defineProperty(exports,"ESubmitType",{enumerable:!0,get:function(){return index$b.ESubmitType}}),exports.componentCls=index$b.componentCls,exports.prefix=index$b.prefix,exports.default=index,exports.store=store;
@@ -5,6 +5,7 @@ import { IInputList, RenderFooter } from '@/types/main';
5
5
  export interface ISetSelectedRegionParams extends ISelectedRegion {
6
6
  /** 是否立即播放截取片段 */
7
7
  playImmediately?: boolean;
8
+ isLoopStatus?: boolean;
8
9
  }
9
10
  interface IAudioPlayerContext {
10
11
  count?: number;
@@ -12,35 +13,38 @@ interface IAudioPlayerContext {
12
13
  toolName: string;
13
14
  imgIndex: number;
14
15
  }
15
- export declare const AudioPlayerContext: React.Context<IAudioPlayerContext>;
16
- export declare const AudioPlayer: ({ fileData, onLoaded, context, invalid, height, hideError, onError, updateRegion, removeRegion, regions, activeToolPanel, clipConfigurable, clipTextConfigurable, clipAttributeList, clipAttributeConfigurable, secondaryAttributeConfigurable, subAttributeList, isCheck, hoverRegionId, footer, drawLayerSlot, clipTextList, }: {
16
+ interface IProps {
17
17
  fileData: any;
18
- height?: number | undefined;
18
+ height?: number;
19
19
  invalid: boolean;
20
20
  onLoaded?: any;
21
- onError?: (() => void) | undefined;
22
- context?: IAudioPlayerContext | undefined;
23
- hideError?: boolean | undefined;
24
- /** 截取片段数据:regions变化不会触发更新 */
25
- regions?: IAudioTimeSlice[] | undefined;
26
- /** 更新截取片段,如果传入的id不存在,会新建一个数据 */
27
- updateRegion?: ((region: IAudioTimeSlice) => void) | undefined;
28
- /** 根据id删除截取数据 */
29
- removeRegion?: ((id: string) => void) | undefined;
30
- /** 当前使用的工具panel,用于判断是否展示批注层 */
31
- activeToolPanel?: string | undefined;
21
+ onError?: () => void;
22
+ context?: IAudioPlayerContext;
23
+ hideError?: boolean;
24
+ /** Intercepting fragment data: area changes do not trigger updates */
25
+ regions?: IAudioTimeSlice[];
26
+ /** Update the intercepted fragment. If the passed id does not exist, a new data will be created. */
27
+ updateRegion?: (region: IAudioTimeSlice) => void;
28
+ /** Delete intercepted data based on ID */
29
+ removeRegion?: (id: string) => void;
30
+ /** The currently used tool panel is used to determine whether to display the annotation layer */
31
+ activeToolPanel?: string;
32
32
  clipConfigurable: boolean;
33
33
  clipTextConfigurable: boolean;
34
34
  clipAttributeConfigurable: boolean;
35
35
  secondaryAttributeConfigurable: boolean;
36
36
  subAttributeList: IInputList[];
37
37
  clipAttributeList: IInputList[];
38
- /** 是否是查看模式:查看模式需要禁用截取的新建、调整功能 */
39
- isCheck?: boolean | undefined;
40
- /** 查看模式用到的hoverId */
41
- hoverRegionId?: string | undefined;
42
- footer?: RenderFooter | undefined;
38
+ /** Whether it is in view mode: In view mode, the new and adjustment functions of interception need to be disabled */
39
+ isCheck?: boolean;
40
+ /** View the hoverId used in the pattern */
41
+ hoverRegionId?: string;
42
+ footer?: RenderFooter;
43
43
  drawLayerSlot?: any;
44
44
  clipTextList: ITextConfigItem[];
45
- }) => React.JSX.Element;
45
+ lang?: string;
46
+ }
47
+ export declare const AudioPlayerContext: React.Context<IAudioPlayerContext>;
48
+ export declare const AudioPlayer: ({ fileData, onLoaded, context, invalid, height, hideError, onError, updateRegion, removeRegion, regions, activeToolPanel, clipConfigurable, clipTextConfigurable, clipAttributeList, clipAttributeConfigurable, secondaryAttributeConfigurable, subAttributeList, isCheck, hoverRegionId, footer, drawLayerSlot, clipTextList, lang, }: IProps) => React.JSX.Element;
49
+ export declare const WrapAudioPlayer: (props: IProps) => React.JSX.Element;
46
50
  export {};
@@ -13,11 +13,12 @@ import SwitchCuboidBoxIn2DView from '@/views/MainView/toolFooter/SwitchCuboidBox
13
13
  import MeasureCanvas from './components/measureCanvas';
14
14
  import AnnotatedBox from './views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox';
15
15
  import { FindTrackIDIndexInCheckMode as FindTrackIDIndex } from './views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex';
16
+ import { WrapAudioPlayer as AudioPlayer } from './components/audioPlayer';
16
17
  export declare const store: import("redux").Store<{}, import("redux").Action<any>> & {
17
18
  dispatch: unknown;
18
19
  };
19
20
  declare const _default: React.ForwardRefExoticComponent<AppProps & React.RefAttributes<unknown>>;
20
21
  export default _default;
21
- export { AnnotationView, PointCloudAnnotationView, QuestionView, TextContent, LLMToolView, i18n, VideoTagTool, PredictTracking, SwitchCuboidBoxIn2DView, MeasureCanvas, AnnotatedBox, FindTrackIDIndex, };
22
+ export { AnnotationView, PointCloudAnnotationView, QuestionView, TextContent, LLMToolView, i18n, VideoTagTool, PredictTracking, SwitchCuboidBoxIn2DView, MeasureCanvas, AnnotatedBox, FindTrackIDIndex, AudioPlayer, };
22
23
  export * from './constant';
23
24
  export * from './typeTem';
@@ -1 +1 @@
1
- import*as o from"react";var c;function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},a.apply(this,arguments)}var i=function(t){return o.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"left",viewBox:"64 64 896 896"},t),c||(c=o.createElement("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6"})))};export{i as ReactComponent};
1
+ import*as o from"react";var c;function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},n.apply(null,arguments)}var i=function(t){return o.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"left",viewBox:"64 64 896 896"},t),c||(c=o.createElement("path",{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6"})))};export{i as ReactComponent};
@@ -1 +1 @@
1
- import*as i from"react";var o;function a(){return a=Object.assign?Object.assign.bind():function(r){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n])}return r},a.apply(this,arguments)}var c=function(t){return i.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"right",viewBox:"64 64 896 896"},t),o||(o=i.createElement("path",{d:"M765.7 486.8 314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4"})))};export{c as ReactComponent};
1
+ import*as i from"react";var o;function n(){return n=Object.assign?Object.assign.bind():function(r){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var a in e)({}).hasOwnProperty.call(e,a)&&(r[a]=e[a])}return r},n.apply(null,arguments)}var c=function(t){return i.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true","data-icon":"right",viewBox:"64 64 896 896"},t),o||(o=i.createElement("path",{d:"M765.7 486.8 314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4"})))};export{c as ReactComponent};
@@ -1 +1 @@
1
- import i,{useState as U,useEffect as B,useMemo as oe}from"react";import{AudioPlayer as Le}from"../audioPlayer/index.js";import{getClassName as Pe}from"../../utils/dom.js";import Re from"../predictTracking/previewResult/index.js";import{Layout as ie}from"antd/es";import{Spin as je}from"antd";import{prefix as he}from"../../constant/index.js";import{cKeyCode as we,CommonToolUtils as K,uuid as Ae,TagUtils as Ie,EventBus as Oe,cTool as Ne}from"@labelbee/lb-annotation";import N from"./index.module.scss.js";import ke from"./tagResultShow/index.js";import{AudioClipProvider as De,DEFAULT_CLIP_TEXT_CONFIG_ITEM as $e,useAudioClipStore as Me}from"./audioContext/index.js";import Ve from"./textInput/index.js";import{connect as Be}from"react-redux";import{a2MapStateToProps as Ke}from"../../store/annotation/map.js";import{LabelBeeContext as We}from"../../store/ctx.js";import{jsonParser as Fe}from"../../utils/index.js";import{useCustomToolInstance as Ue}from"../../hooks/annotation.js";import{sidebarCls as Q}from"../../views/MainView/sidebar/index.js";import Xe from"./audioSide/labelSidebar/index.js";import Ge from"./audioSide/clipSidebar/index.js";import qe from"../../assets/annotation/audio/tag.svg.js";import ze from"../../assets/annotation/audio/tagA.svg.js";import He from"../../assets/annotation/audio/clip.svg.js";import Je from"../../assets/annotation/audio/clipA.svg.js";var Qe=Object.defineProperty,Ye=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,et=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,re=(t,n,s)=>n in t?Qe(t,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[n]=s,_=(t,n)=>{for(var s in n||(n={}))et.call(n,s)&&re(t,s,n[s]);if(le)for(var s of le(n))tt.call(n,s)&&re(t,s,n[s]);return t},k=(t,n)=>Ye(t,Ze(n));const{EAudioToolName:nt}=Ne,se=we.default,{Sider:ot,Content:it}=ie,ae=`${he}-layout`,lt=({setSideTab:t,sideTab:n})=>{const s=[{tab:"tag",commonSvg:qe,selectedSvg:ze},{tab:"clip",commonSvg:He,selectedSvg:Je}];return i.createElement("div",{className:N.toggleAudioOption},s.map((p,x)=>{const{tab:f,selectedSvg:S,commonSvg:T}=p;return i.createElement("div",{key:x,className:N.option},i.createElement("img",{className:N.icon,src:n===f?S:T,onClick:()=>{n!==f&&t(f)}}))}))},rt=({result:t,inputDisabled:n,updateText:s,configList:p,autofocus:x,preContext:f,isCheck:S,clipAttributeConfigurable:T,clipTextConfigurable:D,textConfigurable:v,updateRegion:C,clipAttributeList:m,clipTextList:g})=>i.createElement("div",{className:N.textareaContainer},i.createElement("div",{className:N.textareaContent},i.createElement(Ve,{isCheck:S,result:t==null?void 0:t.value,textInputDisabled:n,textID:(t==null?void 0:t.id)||0,updateText:s,configList:p,autofocus:!n&&x,preContext:f,regions:t==null?void 0:t.regions,clipAttributeConfigurable:T,clipTextConfigurable:D,textConfigurable:v,updateRegion:C,clipAttributeList:m,clipTextList:g}))),st=t=>{var n,s;const{sider:p,config:x,result:f,updateTagResult:S,updateRegion:T,isEdit:D,tagConfigurable:v,clipConfigurable:C}=t;let m=(x==null?void 0:x.inputList)||[],g=(n=f==null?void 0:f.tag)!=null?n:{},a=(s=f==null?void 0:f.regions)!=null?s:[];const[X,w]=U([]),[L,b]=U("tag");B(()=>{if(!v&&C){b("clip");return}b("tag")},[v,C]),B(()=>(window.addEventListener("keydown",$),()=>{window.removeEventListener("keydown",$)}));const $=l=>{if(v&&C)switch(l.keyCode){case se.L:b("tag");break;case se.X:b("clip");break}if(L==="tag"){if(!K.hotkeyFilter(l))return;K.isMoveKey(l==null?void 0:l.keyCode)&&l.preventDefault();let r=l.keyCode;if(r&&(r<=57&&r>=49||r<=105&&r>=97)){r>57?r=r-97:r=r-49;const d=X.slice();m.length===1?(P(0,r),w([0,r]),setTimeout(()=>{w([])},500)):d.length===1?(P(d[0],r),w([d[0],r]),setTimeout(()=>{w([])},500)):w([r])}}},P=(l,r)=>{if(l<m.length&&m[l].subSelected&&r<m[l].subSelected.length){const d=m[l].value,E=m[l].isMulti;let R=m[l].subSelected[r].value,G=0;const W=g;for(const j in g)if(j===m[l].value){if(G++,E===!0){const O=W[j].split(";").filter(q=>q!==""),V=O.indexOf(R);V===-1?O.push(R):O.splice(V,1),R=O.join(";")}R===""?delete W[j]:W[j]=R}G===0&&Object.assign(g,{[d]:R}),S(g)}},A=l=>{delete g[l],S(g)},I=v&&C&&i.createElement(lt,{setSideTab:b,sideTab:L}),M=L==="tag"&&i.createElement(Xe,{labelInfoSet:v?m:[],labelSelectedList:X,setLabel:P,tagResult:g,clearResult:A,isEdit:D,withPanelTab:!1}),u=L==="clip"&&i.createElement(Ge,{regions:a,updateRegion:T,useAudioClipStore:Me});return p?typeof p=="function"?i.createElement("div",{className:`${Q}`},p({toggleAudioOption:I,labelSidebar:M,clipSidebar:u})):p:i.createElement("div",{className:`${Q}`},i.createElement("div",{className:`${Q}__content`},I,M,u))},at=t=>{var n,s,p,x,f,S,T,D,v;const C=(s=(n=t.style)==null?void 0:n.sider)==null?void 0:s.width,{step:m,stepList:g,audioContext:a,sider:X,drawLayerSlot:w,imgList:L,imgIndex:b,currentData:$,config:P,stepInfo:A}=t,I=K.getCurrentStepToolAndConfig(m,g),M=Fe($.result),{toolInstanceRef:u}=Ue({basicInfo:M}),[l,r]=U(!0),[d,E]=U(null),[R,G]=U(0);B(()=>{r(!0)},[b]),B(()=>{l===!1&&be()},[l]),B(()=>{W()},[]),B(()=>{u.current.exportData=()=>[[d],{duration:R,valid:H}],u.current.setResult=Ce,u.current.clearResult=Te,u.current.currentPageResult=d==null?void 0:d.regions,u.current.emit("updatePageNumber")},[d]);const W=()=>{u.current.emit=e=>{const o=u.current.fns.get(e);o&&o.forEach(c=>{c&&(c==null||c())})},u.current.fns=new Map,u.current.singleOn=(e,o)=>{u.current.fns.set(e,[o])},u.current.on=(e,o)=>{u.current.singleOn(e,o)},u.current.unbindAll=e=>{u.current.fns.delete(e)}},j=oe(()=>{const e=M[`step_${A==null?void 0:A.step}`];return(e==null?void 0:e.result)||[]},[P,M,A]),{tagConfigurable:O,textConfigurable:V=!0,clipConfigurable:q=!1,clipAttributeConfigurable:Y=!1,clipAttributeList:Z=[],clipTextConfigurable:z=!1,subAttributeList:ue=[],secondaryAttributeConfigurable:ce=!1,inputList:de=[],configList:fe=[],clipTextList:ee=$e}=oe(()=>{if(I)return K.jsonParser(I==null?void 0:I.config)},[I]),me={clipConfigurable:q,clipAttributeConfigurable:Y,clipAttributeList:Z,clipTextConfigurable:z,subAttributeList:ue,secondaryAttributeConfigurable:ce,clipTextList:ee},H=a?a==null?void 0:a.valid:!0,pe=(x=(p=K.jsonParser($.result))==null?void 0:p.duration)!=null?x:0,ge=H?pe:0,ve=!H||l||![V,z].includes(!0);let te={};if(b!==-1&&(L==null?void 0:L.length)){const e=(f=L[b])==null?void 0:f.preResult,o=(a==null?void 0:a.isEdit)?(S=a==null?void 0:a.stepConfig)==null?void 0:S.loadPreStep:A==null?void 0:A.loadPreStep;if(e&&o){const c=K.jsonParser(e),y=(D=(T=c==null?void 0:c.config)==null?void 0:T.context)!=null?D:{};Object.keys(y).forEach(h=>{h&&y[h]&&(te[h]={visible:!0,content:y[h],type:h})})}}const be=()=>{(j==null?void 0:j.length)>0?E(j[0]):E({id:Ae(),sourceID:"",value:ne(),tag:Ee(),regions:[]})},ne=(e=!0)=>{const o={};let c=P.configList||[];return c.length>0&&c.forEach(y=>{o[y.key]=e&&y.default||""}),o},Ee=()=>Ie.getDefaultResultByConfig(P.inputList||[]),ye=({duration:e,hasError:o})=>{r(!1),G(e)},_e=e=>{E(o=>k(_({},o),{regions:((o==null?void 0:o.regions)||[]).filter(c=>c.id!==e)}))},J=e=>{E(o=>{var c;const y=(c=o==null?void 0:o.regions)!=null?c:[],{id:h}=e;return y.find(F=>F.id===h)?k(_({},o),{regions:y.map(F=>h===F.id?_(_({},F),e):F)}):k(_({},o),{regions:[...y,e]})})},xe=(e,o)=>{E(c=>k(_({},c),{value:k(_({},c.value),{[o]:e})}))},Se=e=>{E(o=>k(_({},o),{tag:e}))},Ce=e=>{E(e)},Te=()=>{E(e=>k(_({},e),{value:ne(),tag:{},regions:[]})),Oe.emit("clearRegions")};return i.createElement(De,null,i.createElement(je,{spinning:l,wrapperClassName:"audio-tool-spinner"},i.createElement(ie,{className:Pe("layout","container"),style:{height:"100%"}},t==null?void 0:t.leftSider,i.createElement(it,{className:`${ae}__content`},i.createElement("div",{className:N.containerWrapper},i.createElement("div",{className:N.audioWrapper},O&&i.createElement(ke,{result:d==null?void 0:d.tag,labelInfoSet:de,hasPromptLayer:!!(a==null?void 0:a.promptLayer)}),a==null?void 0:a.promptLayer,i.createElement(Le,_({context:{isEdit:a==null?void 0:a.isEdit,count:ge,toolName:nt.AudioTextTool,imgIndex:b},drawLayerSlot:w,fileData:$,onLoaded:ye,invalid:!H,updateRegion:J,removeRegion:_e,regions:d==null?void 0:d.regions,activeToolPanel:a==null?void 0:a.activeToolPanel,footer:t.footer},me))),(V||z)&&i.createElement(rt,{preContext:te,result:d,inputDisabled:ve,updateText:xe,updateRegion:J,configList:fe,autofocus:!1,textConfigurable:V,clipTextConfigurable:z,clipAttributeList:Z,clipAttributeConfigurable:Y,clipTextList:ee}))),i.createElement(ot,{className:`${ae}__side`,width:C!=null?C:240,style:(v=t.style)==null?void 0:v.sider},i.createElement(st,{sider:X,config:P,result:d,updateTagResult:Se,updateRegion:J,isEdit:a==null?void 0:a.isEdit,tagConfigurable:O,clipConfigurable:q})),i.createElement(Re,null))))};var ut=Be(Ke,null,null,{context:We})(at);export{ut as default};
1
+ import l,{useState as U,useEffect as B,useMemo as le}from"react";import{AudioPlayer as Pe}from"../audioPlayer/index.js";import{getClassName as je}from"../../utils/dom.js";import we from"../predictTracking/previewResult/index.js";import{Layout as re}from"antd/es";import{Spin as Ae}from"antd";import{prefix as Ie}from"../../constant/index.js";import{cKeyCode as Oe,CommonToolUtils as K,EventBus as se,uuid as Ne,TagUtils as ke,cTool as De}from"@labelbee/lb-annotation";import A from"./index.module.scss.js";import $e from"./tagResultShow/index.js";import{AudioClipProvider as Me,DEFAULT_CLIP_TEXT_CONFIG_ITEM as Ve,useAudioClipStore as Be}from"./audioContext/index.js";import Ke from"./textInput/index.js";import{connect as We}from"react-redux";import{a2MapStateToProps as Fe}from"../../store/annotation/map.js";import{LabelBeeContext as Ue}from"../../store/ctx.js";import{jsonParser as Xe}from"../../utils/index.js";import{useCustomToolInstance as Ge}from"../../hooks/annotation.js";import{sidebarCls as Y}from"../../views/MainView/sidebar/index.js";import qe from"./audioSide/labelSidebar/index.js";import ze from"./audioSide/clipSidebar/index.js";import He from"../../assets/annotation/audio/tag.svg.js";import Je from"../../assets/annotation/audio/tagA.svg.js";import Qe from"../../assets/annotation/audio/clip.svg.js";import Ye from"../../assets/annotation/audio/clipA.svg.js";var Ze=Object.defineProperty,et=Object.defineProperties,tt=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,nt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,ue=(n,o,a)=>o in n?Ze(n,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[o]=a,E=(n,o)=>{for(var a in o||(o={}))nt.call(o,a)&&ue(n,a,o[a]);if(ae)for(var a of ae(o))ot.call(o,a)&&ue(n,a,o[a]);return n},I=(n,o)=>et(n,tt(o));const{EAudioToolName:it}=De,ce=Oe.default,{Sider:lt,Content:rt}=re,de=`${Ie}-layout`,st=({setSideTab:n,sideTab:o})=>{const a=[{tab:"tag",commonSvg:He,selectedSvg:Je},{tab:"clip",commonSvg:Qe,selectedSvg:Ye}];return l.createElement("div",{className:A.toggleAudioOption},a.map((p,S)=>{const{tab:d,selectedSvg:_,commonSvg:C}=p;return l.createElement("div",{key:S,className:A.option},l.createElement("img",{className:A.icon,src:o===d?_:C,onClick:()=>{o!==d&&n(d)}}))}))},at=({result:n,inputDisabled:o,updateText:a,configList:p,autofocus:S,preContext:d,isCheck:_,clipAttributeConfigurable:C,clipTextConfigurable:O,textConfigurable:v,updateRegion:x,clipAttributeList:f,clipTextList:g})=>l.createElement("div",{className:A.textareaContainer},l.createElement("div",{className:A.textareaContent},l.createElement(Ke,{isCheck:_,result:n==null?void 0:n.value,textInputDisabled:o,textID:(n==null?void 0:n.id)||0,updateText:a,configList:p,autofocus:!o&&S,preContext:d,regions:n==null?void 0:n.regions,clipAttributeConfigurable:C,clipTextConfigurable:O,textConfigurable:v,updateRegion:x,clipAttributeList:f,clipTextList:g}))),ut=n=>{var o,a;const{sider:p,config:S,result:d,updateTagResult:_,updateRegion:C,isEdit:O,tagConfigurable:v,clipConfigurable:x}=n;let f=(S==null?void 0:S.inputList)||[],g=(o=d==null?void 0:d.tag)!=null?o:{},r=(a=d==null?void 0:d.regions)!=null?a:[];const[X,P]=U([]),[T,b]=U("tag");B(()=>{if(!v&&x){b("clip");return}b("tag")},[v,x]),B(()=>(window.addEventListener("keydown",N),()=>{window.removeEventListener("keydown",N)}));const N=t=>{if(v&&x)switch(t.keyCode){case ce.L:b("tag");break;case ce.X:b("clip");break}if(T==="tag"){if(!K.hotkeyFilter(t))return;K.isMoveKey(t==null?void 0:t.keyCode)&&t.preventDefault();let s=t.keyCode;if(s&&(s<=57&&s>=49||s<=105&&s>=97)){s>57?s=s-97:s=s-49;const R=X.slice();f.length===1?(L(0,s),P([0,s]),setTimeout(()=>{P([])},500)):R.length===1?(L(R[0],s),P([R[0],s]),setTimeout(()=>{P([])},500)):P([s])}}},L=(t,s)=>{if(t<f.length&&f[t].subSelected&&s<f[t].subSelected.length){const R=f[t].value,m=f[t].isMulti;let c=f[t].subSelected[s].value,G=0;const W=g;for(const $ in g)if($===f[t].value){if(G++,m===!0){const M=W[$].split(";").filter(q=>q!==""),V=M.indexOf(c);V===-1?M.push(c):M.splice(V,1),c=M.join(";")}c===""?delete W[$]:W[$]=c}G===0&&Object.assign(g,{[R]:c}),_(g)}},j=t=>{delete g[t],_(g)},k=v&&x&&l.createElement(st,{setSideTab:b,sideTab:T}),w=T==="tag"&&l.createElement(qe,{labelInfoSet:v?f:[],labelSelectedList:X,setLabel:L,tagResult:g,clearResult:j,isEdit:O,withPanelTab:!1}),D=T==="clip"&&l.createElement(ze,{regions:r,updateRegion:C,useAudioClipStore:Be});return p?typeof p=="function"?l.createElement("div",{className:`${Y}`},p({toggleAudioOption:k,labelSidebar:w,clipSidebar:D})):p:l.createElement("div",{className:`${Y}`},l.createElement("div",{className:`${Y}__content`},k,w,D))},ct=n=>{var o,a,p,S,d,_,C,O,v;const x=(a=(o=n.style)==null?void 0:o.sider)==null?void 0:a.width,{step:f,stepList:g,audioContext:r,sider:X,drawLayerSlot:P,imgList:T,imgIndex:b,currentData:N,config:L,stepInfo:j,checkMode:k}=n,w=K.getCurrentStepToolAndConfig(f,g),D=Xe(N.result),{toolInstanceRef:t}=Ge({basicInfo:D}),[s,R]=U(!0),[m,c]=U(null),[G,W]=U(0);B(()=>{R(!0)},[b]),B(()=>{s===!1&&Se()},[s]),B(()=>{M()},[]),B(()=>{t.current.exportData=()=>[[m],{duration:G,valid:H}],t.current.setResult=Re,t.current.clearResult=he,t.current.currentPageResult=m==null?void 0:m.regions,t.current.emit("updatePageNumber"),t.current.setSelectedRegion=$},[m]);const $=e=>{se.emit("setSelectedRegion",{id:e,isLoopStatus:!0,playImmediately:!0})},M=()=>{t.current.emit=e=>{const i=t.current.fns.get(e);i&&i.forEach(u=>{u&&(u==null||u())})},t.current.fns=new Map,t.current.singleOn=(e,i)=>{t.current.fns.set(e,[i])},t.current.on=(e,i)=>{t.current.singleOn(e,i)},t.current.unbindAll=e=>{t.current.fns.delete(e)}},V=le(()=>{const e=D[`step_${j==null?void 0:j.step}`];return(e==null?void 0:e.result)||[]},[L,D,j]),{tagConfigurable:q,textConfigurable:J=!0,clipConfigurable:Z=!1,clipAttributeConfigurable:ee=!1,clipAttributeList:te=[],clipTextConfigurable:z=!1,subAttributeList:fe=[],secondaryAttributeConfigurable:me=!1,inputList:pe=[],configList:ge=[],clipTextList:ne=Ve}=le(()=>{if(w)return K.jsonParser(w==null?void 0:w.config)},[w]),ve={clipConfigurable:Z,clipAttributeConfigurable:ee,clipAttributeList:te,clipTextConfigurable:z,subAttributeList:fe,secondaryAttributeConfigurable:me,clipTextList:ne},H=r?r==null?void 0:r.valid:!0,be=(S=(p=K.jsonParser(N.result))==null?void 0:p.duration)!=null?S:0,ye=H?be:0,Ee=!H||s||![J,z].includes(!0)||k;let oe={};if(b!==-1&&(T==null?void 0:T.length)){const e=(d=T[b])==null?void 0:d.preResult,i=(r==null?void 0:r.isEdit)?(_=r==null?void 0:r.stepConfig)==null?void 0:_.loadPreStep:j==null?void 0:j.loadPreStep;if(e&&i){const u=K.jsonParser(e),y=(O=(C=u==null?void 0:u.config)==null?void 0:C.context)!=null?O:{};Object.keys(y).forEach(h=>{h&&y[h]&&(oe[h]={visible:!0,content:y[h],type:h})})}}const Se=()=>{(V==null?void 0:V.length)>0?c(V[0]):c({id:Ne(),sourceID:"",value:ie(),tag:_e(),regions:[]})},ie=(e=!0)=>{const i={};let u=L.configList||[];return u.length>0&&u.forEach(y=>{i[y.key]=e&&y.default||""}),i},_e=()=>ke.getDefaultResultByConfig(L.inputList||[]),xe=({duration:e,hasError:i})=>{(r==null?void 0:r.onLoaded)&&(r==null||r.onLoaded()),R(!1),W(e)},Ce=e=>{c(i=>I(E({},i),{regions:((i==null?void 0:i.regions)||[]).filter(u=>u.id!==e)}))},Q=e=>{c(i=>{var u;const y=(u=i==null?void 0:i.regions)!=null?u:[],{id:h}=e;return y.find(F=>F.id===h)?I(E({},i),{regions:y.map(F=>h===F.id?E(E({},F),e):F)}):I(E({},i),{regions:[...y,e]})})},Te=(e,i)=>{c(u=>I(E({},u),{value:I(E({},u.value),{[i]:e})}))},Le=e=>{c(i=>I(E({},i),{tag:e}))},Re=e=>{c(e)},he=()=>{c(e=>I(E({},e),{value:ie(),tag:{},regions:[]})),se.emit("clearRegions")};return l.createElement(Me,null,l.createElement(Ae,{spinning:s,wrapperClassName:"audio-tool-spinner"},l.createElement(re,{className:je("layout","container"),style:{height:"100%"}},n==null?void 0:n.leftSider,l.createElement(rt,{className:`${de}__content`},l.createElement("div",{className:A.containerWrapper},l.createElement("div",{className:A.audioWrapper},q&&l.createElement($e,{result:m==null?void 0:m.tag,labelInfoSet:pe,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,l.createElement(Pe,E({context:{isEdit:r==null?void 0:r.isEdit,count:ye,toolName:it.AudioTextTool,imgIndex:b},drawLayerSlot:P,fileData:N,onLoaded:xe,invalid:!H,updateRegion:Q,removeRegion:Ce,regions:m==null?void 0:m.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:n.footer,isCheck:k},ve))),(J||z)&&l.createElement(at,{preContext:oe,result:m,inputDisabled:Ee,updateText:Te,updateRegion:Q,configList:ge,autofocus:!1,textConfigurable:J,clipTextConfigurable:z,clipAttributeList:te,clipAttributeConfigurable:ee,clipTextList:ne,isCheck:k}))),l.createElement(lt,{className:`${de}__side`,width:x!=null?x:240,style:(v=n.style)==null?void 0:v.sider},l.createElement(ut,{sider:X,config:L,result:m,updateTagResult:Le,updateRegion:Q,isEdit:r==null?void 0:r.isEdit,tagConfigurable:q,clipConfigurable:Z})),l.createElement(we,null))))};var dt=We(Fe,null,null,{context:Ue})(ct);export{dt as default};
@@ -1 +1 @@
1
- import e,{useState as q,useRef as te,useEffect as K}from"react";import{Tooltip as ae,Radio as H,Switch as Fe}from"antd";import{QuestionCircleOutlined as he}from"@ant-design/icons";import{TextareaWithFooter as Ce}from"../../../views/MainView/sidebar/TextToolSidebar/index.js";import{timeFormat as le,getAttributeColor as be,getAttributeFontColor as ye,getAttributeShowText as Ne,updateColorOpacity as we,DEFAULT_TEXT_CONFIG_ITEM as Be}from"../../../utils/audio.js";import{cKeyCode as ke}from"@labelbee/lb-annotation";import X from"classnames";import ne,{useAudioClipStore as Ie,DEFAULT_CLIP_TEXT_CONFIG_ITEM as _e}from"../audioContext/index.js";import o from"./index.module.scss.js";import{useTranslation as oe}from"react-i18next";import re from"../../longText/index.js";var Se=Object.defineProperty,Ae=Object.defineProperties,De=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Le=Object.prototype.propertyIsEnumerable,se=(u,l,r)=>l in u?Se(u,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):u[l]=r,ce=(u,l)=>{for(var r in l||(l={}))Pe.call(l,r)&&se(u,r,l[r]);if(ue)for(var r of ue(l))Le.call(l,r)&&se(u,r,l[r]);return u},Oe=(u,l)=>Ae(u,De(l));const d=ke.default,ie=({onClick:u,title:l,disabled:r})=>e.createElement(ae,{placement:"bottom",title:l},e.createElement("span",{className:X({[o.clearIcon]:!0,[o.disabled]:r}),onClick:u})),Q=u=>{var l;const{t:r}=oe(),O=te(null),[E,N]=q(!1),[w,p]=q(!1),{disabled:s,config:c,result:$,updateText:f,index:x,switchToNextTextarea:j,hasMultiple:B,textID:C,addPlaceholder:v,onFocus:k,onBlur:b,onFocusStyle:I={},extra:y,errorText:_}=u,{maxLength:g}=c,S=$?$[c.key]:"",A=(l=S==null?void 0:S.length)!=null?l:0,D=a=>{f&&(f(a,c.key),c.required&&p(!a))},R=B&&j,m={id:`textInput-${x}`,ref:O,disabled:s,value:S,maxLength:g,autoSize:{minRows:2,maxRows:6},onChange:a=>{const i=a.target.value;D(i)},onFocus:a=>{N(!0),k==null||k(a),a.target.value&&p(!1)},onBlur:a=>{N(!1),b==null||b(a),c.required&&p(!a.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:a=>{const{keyCode:i}=a;if(a.ctrlKey){if(i===d.Enter&&a.preventDefault(),v&&[d.One,d.Two,d.Three].includes(i))switch(a.preventDefault(),i){case d.One:v("\u4986");break;case d.Two:v("\u652B");break;case d.Three:v("\u7383");break}}else i===d.Tab&&R?(a.preventDefault(),a.nativeEvent.stopImmediatePropagation(),j(x)):a.nativeEvent.stopPropagation()}},T=e.createElement("div",{className:o.textAreaFooter},e.createElement("div",{className:o.hotkeyTip},R&&e.createElement("span",null,"[",r("Switch"),"]Tab"),e.createElement("span",null,"[",r("TurnPage"),"]Ctrl+Enter")),e.createElement("div",{className:o.wordCount},e.createElement("span",{className:A>=g?o.warning:""},A),"/",e.createElement("span",null,g)));return K(()=>{s&&N(!1)},[s]),K(()=>{p(!1)},[C]),e.createElement("div",{className:o.textField},e.createElement("div",{className:o.label},e.createElement("div",{className:o.labelText},e.createElement("span",{className:X({[o.titleText]:!0,[o.required]:c.required})},e.createElement(re,{text:c.label,openByText:!0,isToolTips:!0})),e.createElement(ie,{onClick:()=>{s||D("")},title:"",disabled:s})),e.createElement("div",{className:o.extra},y)),e.createElement("div",{className:X({disabled:s,"textarea-outline":!0,"ant-input-focused":E,[o.textareaContainer]:!0,[o.focus]:E,[o.invalid]:w}),style:E?I:{}},e.createElement(Ce,{footer:T,textareaProps:m})),_&&e.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},_))},$e=u=>{const{configList:l,autofocus:r,textID:O,result:E,showText:N,updateText:w,toggleShowText:p,textInputDisabled:s,isCheck:c,isEdit:$,config:f,preContext:x,regions:j=[],textConfigurable:B=!0,clipTextConfigurable:C,clipAttributeConfigurable:v,updateRegion:k,clipAttributeList:b=[],clipTextList:I=_e}=u,{t:y}=oe(),[_,g]=q(0),[S,A]=q(""),D=te(null),{audioClipState:R}=Ie(),m=l||[ce({},Be)];let T=j;if(C&&!c){const t=R.selectedRegion.id;T=T.filter(n=>n.id===t)}const a=t=>{setTimeout(()=>{const n=document.getElementById(`textInput-${t}`);n&&(g(t),n.focus(),n.select(),n.scrollIntoView({behavior:"smooth",block:"center"}))})},i=t=>{const n=B?m.length:0,F=C?T.length*I.length:0,h=n+F,L=(t+1)%h;a(L)},J=t=>{t.keyCode===d.Tab&&(t.preventDefault(),(m.length>0||C&&I.length>0)&&a(0))},M=t=>{const n=document.getElementById(`textInput-${_}`);if(!(f==null?void 0:f.enablePlaceholderHotkey)||!n||!w)return;const{value:F,selectionStart:h,selectionEnd:L}=n,V=`${F.slice(0,h)}${t}${F.slice(L)}`;w(V,m[_].key),A(t),setTimeout(()=>{n.setSelectionRange(h+1,h+1),n.focus()},0),clearTimeout(D.current),D.current=setTimeout(()=>{A("")},400)};K(()=>($||document.addEventListener("keydown",J),()=>{document.removeEventListener("keydown",J)}),[l]),K(()=>{r&&!s&&a(0)},[O]);let G=m;c&&(G=m.filter(t=>(E==null?void 0:E[t.key])!==void 0));const P=T[0];return e.createElement(e.Fragment,null,(f==null?void 0:f.enablePlaceholderHotkey)&&e.createElement("div",{className:o.placeholderHotkey},e.createElement("div",{className:o.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",e.createElement(ae,{overlayStyle:{maxWidth:240},title:e.createElement("div",null,e.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),e.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),e.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),e.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),e.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),e.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},e.createElement(he,{className:o.questionIcon}))),e.createElement(H.Group,{value:S},e.createElement(H.Button,{value:"\u4986",onClick:t=>M(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),e.createElement("div",{className:"hotkey"},"Ctrl+1"))),e.createElement(H.Button,{value:"\u652B",onClick:t=>M(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),e.createElement("div",{className:"hotkey"},"Ctrl+2"))),e.createElement(H.Button,{value:"\u7383",onClick:t=>M(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),e.createElement("div",{className:"hotkey"},"Ctrl+3"))))),e.createElement("div",{className:o.textInputContainer},e.createElement(ne,{audioContext:x==null?void 0:x.before}),B&&G.map((t,n)=>e.createElement(Q,{config:t,key:n,index:n,result:E,updateText:w,switchToNextTextarea:i,hasMultiple:m.length>1,disabled:s,textID:O,addPlaceholder:M,onFocus:()=>g(n)})),C&&T.length>0&&I.map((t,n)=>{var F;const{id:h,start:L,end:V,attribute:W}=P,{maxLength:de=3e3,label:Y,key:Z,required:me}=t,ee=P==null?void 0:P[Z],Ee={[P.id]:ee},pe={label:`${Y!=null?Y:y("textTool")}\uFF08${le(L,"ss.SSS")} - ${le(V,"ss.SSS")}\uFF09`,key:h,maxLength:de},z=(B?G.length:0)+n,U=be(W,b),fe={color:ye(W,b),backgroundColor:U},xe=y("LeastCharacterError",{num:1}),ve=me&&ee.length<1?xe:void 0,ge=(F=Ne(W,[{value:"",key:y("NoAttribute")},...b]))!=null?F:"";return e.createElement(Q,{config:pe,key:n,index:z,disabled:s,result:Ee,updateText:Te=>{k==null||k(Oe(ce({},P),{[Z]:Te}))},switchToNextTextarea:()=>{i(z)},hasMultiple:!0,onFocus:()=>g(z),onFocusStyle:v?{borderColor:U,boxShadow:`0 0 0 2px ${we(U,.4)}`}:{},extra:v?e.createElement("div",{style:fe,className:o.attribute},e.createElement(re,{text:ge,openByText:!0,isToolTips:!0})):null,errorText:ve})}),e.createElement(ne,{audioContext:x==null?void 0:x.after}),p&&e.createElement("div",{className:o.switchItem},y("toggleShowText"),e.createElement(Fe,{style:{alignSelf:"center"},checked:N,onChange:t=>{p(t)}}))))};export{ie as ClearIcon,Q as SingleTextInput,$e as default};
1
+ import e,{useState as M,useRef as te,useEffect as q,useMemo as Ce}from"react";import{Tooltip as ae,Radio as K,Switch as be}from"antd";import{QuestionCircleOutlined as ye}from"@ant-design/icons";import{TextareaWithFooter as Ne}from"../../../views/MainView/sidebar/TextToolSidebar/index.js";import{timeFormat as le,getAttributeColor as we,getAttributeFontColor as Be,getAttributeShowText as ke,updateColorOpacity as Ie,DEFAULT_TEXT_CONFIG_ITEM as _e}from"../../../utils/audio.js";import{cKeyCode as Se}from"@labelbee/lb-annotation";import U from"classnames";import ne,{useAudioClipStore as Ae,DEFAULT_CLIP_TEXT_CONFIG_ITEM as De}from"../audioContext/index.js";import r from"./index.module.scss.js";import{useTranslation as re}from"react-i18next";import oe from"../../longText/index.js";var Le=Object.defineProperty,Pe=Object.defineProperties,Oe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,se=(u,n,o)=>n in u?Le(u,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):u[n]=o,X=(u,n)=>{for(var o in n||(n={}))Re.call(n,o)&&se(u,o,n[o]);if(ue)for(var o of ue(n))$e.call(n,o)&&se(u,o,n[o]);return u},ce=(u,n)=>Pe(u,Oe(n));const E=Se.default,ie=({onClick:u,title:n,disabled:o})=>e.createElement(ae,{placement:"bottom",title:n},e.createElement("span",{className:U({[r.clearIcon]:!0,[r.disabled]:o}),onClick:u})),Q=u=>{var n;const{t:o}=re(),P=te(null),[x,w]=M(!1),[B,v]=M(!1),{disabled:c,config:i,result:O,updateText:g,index:T,switchToNextTextarea:R,hasMultiple:k,textID:C,addPlaceholder:F,onFocus:I,onBlur:b,onFocusStyle:y={},extra:N,errorText:_}=u,{maxLength:h}=i,S=O?O[i.key]:"",A=(n=S==null?void 0:S.length)!=null?n:0,D=l=>{g&&(g(l,i.key),i.required&&v(!l))},$=k&&R,p={id:`textInput-${T}`,ref:P,disabled:c,value:S,maxLength:h,autoSize:{minRows:2,maxRows:6},onChange:l=>{const m=l.target.value;D(m)},onFocus:l=>{w(!0),I==null||I(l),l.target.value&&v(!1)},onBlur:l=>{w(!1),b==null||b(l),i.required&&v(!l.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:l=>{const{keyCode:m}=l;if(l.ctrlKey){if(m===E.Enter&&l.preventDefault(),F&&[E.One,E.Two,E.Three].includes(m))switch(l.preventDefault(),m){case E.One:F("\u4986");break;case E.Two:F("\u652B");break;case E.Three:F("\u7383");break}}else m===E.Tab&&$?(l.preventDefault(),l.nativeEvent.stopImmediatePropagation(),R(T)):l.nativeEvent.stopPropagation()}},f=e.createElement("div",{className:r.textAreaFooter},e.createElement("div",{className:r.hotkeyTip},$&&e.createElement("span",null,"[",o("Switch"),"]Tab"),e.createElement("span",null,"[",o("TurnPage"),"]Ctrl+Enter")),e.createElement("div",{className:r.wordCount},e.createElement("span",{className:A>=h?r.warning:""},A),"/",e.createElement("span",null,h)));return q(()=>{c&&w(!1)},[c]),q(()=>{v(!1)},[C]),e.createElement("div",{className:r.textField},e.createElement("div",{className:r.label},e.createElement("div",{className:r.labelText},e.createElement("span",{className:U({[r.titleText]:!0,[r.required]:i.required})},e.createElement(oe,{text:i.label,openByText:!0,isToolTips:!0})),e.createElement(ie,{onClick:()=>{c||D("")},title:"",disabled:c})),e.createElement("div",{className:r.extra},N)),e.createElement("div",{className:U({disabled:c,"textarea-outline":!0,"ant-input-focused":x,[r.textareaContainer]:!0,[r.focus]:x,[r.invalid]:B}),style:x?y:{}},e.createElement(Ne,{footer:f,textareaProps:p})),_&&e.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},_))},je=u=>{const{configList:n,autofocus:o,textID:P,result:x,showText:w,updateText:B,toggleShowText:v,textInputDisabled:c,isCheck:i,isEdit:O,config:g,preContext:T,regions:R=[],textConfigurable:k=!0,clipTextConfigurable:C,clipAttributeConfigurable:F,updateRegion:I,clipAttributeList:b=[],clipTextList:y=De}=u,{t:N}=re(),[_,h]=M(0),[S,A]=M(""),D=te(null),{audioClipState:$}=Ae(),p=n||[X({},_e)];let f=R;if(C&&!i){const t=$.selectedRegion.id;f=f.filter(a=>a.id===t)}const l=t=>{setTimeout(()=>{const a=document.getElementById(`textInput-${t}`);a&&(h(t),a.focus(),a.select(),a.scrollIntoView({behavior:"smooth",block:"center"}))})},m=t=>{const a=k?p.length:0,d=C?f.length*y.length:0,s=a+d,L=(t+1)%s;l(L)},J=t=>{t.keyCode===E.Tab&&(t.preventDefault(),(p.length>0||C&&y.length>0)&&l(0))},j=t=>{const a=document.getElementById(`textInput-${_}`);if(!(g==null?void 0:g.enablePlaceholderHotkey)||!a||!B)return;const{value:d,selectionStart:s,selectionEnd:L}=a,G=`${d.slice(0,s)}${t}${d.slice(L)}`;B(G,p[_].key),A(t),setTimeout(()=>{a.setSelectionRange(s+1,s+1),a.focus()},0),clearTimeout(D.current),D.current=setTimeout(()=>{A("")},400)};q(()=>(O||document.addEventListener("keydown",J),()=>{document.removeEventListener("keydown",J)}),[n]),q(()=>{o&&!c&&l(0)},[P]);let H=p;i&&(H=p.filter(t=>(x==null?void 0:x[t.key])!==void 0));const de=Ce(()=>y.reduce((t,a)=>(f.forEach(d=>{d&&t.push(ce(X({},a),{clipTextResult:d}))}),t),[]),[y,f]);return e.createElement(e.Fragment,null,(g==null?void 0:g.enablePlaceholderHotkey)&&e.createElement("div",{className:r.placeholderHotkey},e.createElement("div",{className:r.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",e.createElement(ae,{overlayStyle:{maxWidth:240},title:e.createElement("div",null,e.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),e.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),e.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),e.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),e.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),e.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},e.createElement(ye,{className:r.questionIcon}))),e.createElement(K.Group,{value:S},e.createElement(K.Button,{value:"\u4986",onClick:t=>j(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),e.createElement("div",{className:"hotkey"},"Ctrl+1"))),e.createElement(K.Button,{value:"\u652B",onClick:t=>j(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),e.createElement("div",{className:"hotkey"},"Ctrl+2"))),e.createElement(K.Button,{value:"\u7383",onClick:t=>j(t.target.value)},e.createElement("div",{className:"label"},e.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),e.createElement("div",{className:"hotkey"},"Ctrl+3"))))),e.createElement("div",{className:r.textInputContainer},e.createElement(ne,{audioContext:T==null?void 0:T.before}),k&&H.map((t,a)=>e.createElement(Q,{config:t,key:a,index:a,result:x,updateText:B,switchToNextTextarea:m,hasMultiple:p.length>1,disabled:c,textID:P,addPlaceholder:j,onFocus:()=>h(a)})),C&&f.length>0&&de.map((t,a)=>{var d;const{clipTextResult:s}=t,{id:L,start:G,end:me,attribute:V}=s,{maxLength:Ee=3e3,label:Y,key:Z,required:pe}=t,ee=s==null?void 0:s[Z],fe={[s.id]:ee},xe={label:`${Y!=null?Y:N("textTool")}\uFF08${le(G,"ss.SSS")} - ${le(me,"ss.SSS")}\uFF09`,key:L,maxLength:Ee},W=(k?H.length:0)+a,z=we(V,b),ve={color:Be(V,b),backgroundColor:z},ge=N("LeastCharacterError",{num:1}),Te=pe&&ee.length<1?ge:void 0,Fe=(d=ke(V,[{value:"",key:N("NoAttribute")},...b]))!=null?d:"";return e.createElement(Q,{config:xe,key:a,index:W,disabled:c,result:fe,updateText:he=>{I==null||I(ce(X({},s),{[Z]:he}))},switchToNextTextarea:()=>{m(W)},hasMultiple:!0,onFocus:()=>h(W),onFocusStyle:F?{borderColor:z,boxShadow:`0 0 0 2px ${Ie(z,.4)}`}:{},extra:F?e.createElement("div",{style:ve,className:r.attribute},e.createElement(oe,{text:Fe,openByText:!0,isToolTips:!0})):null,errorText:Te})}),e.createElement(ne,{audioContext:T==null?void 0:T.after}),v&&e.createElement("div",{className:r.switchItem},N("toggleShowText"),e.createElement(be,{style:{alignSelf:"center"},checked:w,onChange:t=>{v(t)}}))))};export{ie as ClearIcon,Q as SingleTextInput,je as default};
@@ -1 +1 @@
1
- import i,{useState as b,useRef as z,useEffect as A}from"react";import{getWebPcm2WavBase64 as Yt}from"../audioAnnotate/utils/getWebPcm2Wac.js";import Jt,{debounce as Qt,sortBy as er}from"lodash";import{PauseOutlined as tr,CaretRightOutlined as rr}from"@ant-design/icons";import{cKeyCode as or,cTool as nr,EventBus as h,TagUtils as ir}from"@labelbee/lb-annotation";import{Button as lr}from"antd";import sr from"../invalidPage/index.js";import ar from"../imageError/index.js";import{classnames as $}from"../../utils/index.js";import ur,{EPlayerType as cr}from"../videoPlayer/components/SpeedController/index.js";import dr from"@labelbee/wavesurfer";import mr from"@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js";import fr from"@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js";import pr,{audioZoomInfo as Ze}from"./zoomSlider/index.js";import vr from"./labelDisplayToggle/index.js";import gr from"./clipRegion/index.js";import{useAudioClipStore as br}from"../audioAnnotate/audioContext/index.js";import{useLatest as H,useUpdate as yr,useDeepCompareEffect as qe,useThrottleFn as _r}from"ahooks";import Er from"./useAudioScroll/index.js";import y from"./index.module.scss.js";import{getAttributeColor as hr,formatTime as Ke,timeFormat as Ve,dispatchResizeEvent as Sr,precisionMinus as Ge,isDoubleClick as Cr,getCanMoveRange as Pr}from"../../utils/audio.js";import Rr from"./progressDot/index.js";import wr from"./clipTip/index.js";import Tr from"./useSwitchHotkey/index.js";import Ar from"./useAudioCombine/index.js";import jr from"./useAudioSegment/index.js";import xr from"./combineTip/index.js";import Dr from"./segmentTip/index.js";import kr from"../../views/MainView/toolFooter/index.js";import{decimalReserved as U}from"../videoPlayer/utils.js";var Mr=Object.defineProperty,Ir=Object.defineProperties,Lr=Object.getOwnPropertyDescriptors,Ye=Object.getOwnPropertySymbols,Br=Object.prototype.hasOwnProperty,Or=Object.prototype.propertyIsEnumerable,Je=(g,u,d)=>u in g?Mr(g,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):g[u]=d,Qe=(g,u)=>{for(var d in u||(u={}))Br.call(u,d)&&Je(g,d,u[d]);if(Ye)for(var d of Ye(u))Or.call(u,d)&&Je(g,d,u[d]);return g},et=(g,u)=>Ir(g,Lr(u));const{EToolName:tt}=nr,X=or.default,rt=.1,ot=i.createContext({count:0,isEdit:!1,toolName:tt.Empty,imgIndex:0}),Nr=({fileData:g={},onLoaded:u,context:d,invalid:nt,height:it,hideError:lt,onError:ce,updateRegion:j,removeRegion:B,regions:x=[],activeToolPanel:st,clipConfigurable:at,clipTextConfigurable:de,clipAttributeList:ut,clipAttributeConfigurable:me,secondaryAttributeConfigurable:ct,subAttributeList:dt,isCheck:C,hoverRegionId:Z,footer:mt,drawLayerSlot:fe,clipTextList:ft})=>{var pe,ve;const{url:O,path:ge}=g,[q,K]=b(!1),[be,ye]=b(!1),[P,pt]=b(0),[vt,_e]=b(!1),[N,Ee]=b(0),n=z(null),R=z(null),he=z(P),V=e=>{he.current=e,pt(e)},[Se,gt]=b(0),[F,bt]=b(1),G=z(null),[Ce,yt]=b({}),{audioClipState:Y,setAudioClipState:M}=br(),[J,Q]=b(!1),c=H(Y),Pe=H(Ce),_t=H(q),D=H(x),Re=yr(),[we,Et]=b([]),[Te,ht]=b({}),St=Qt(()=>{h.emit("audioZoom")},500),Ae=e=>{e<Ze.min||e>Ze.max||(bt(e),Sr(),St())};Er({container:G.current,target:document.querySelector(`[data-id=${(ve=(pe=c.current)==null?void 0:pe.selectedRegion)==null?void 0:ve.id}]`),clipping:J,zoom:F,zoomHandler:Ae});const W=()=>{let e=D.current;const{attributeLockList:r}=c.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),te(),e.forEach(t=>{var o;(o=n.current)==null||o.addRegion(et(Qe({},t),{drag:!C,resize:!C,color:"rgba(0, 0, 0, 0)"}))}),Re()},f=e=>{var r,t,o,l,a,p,v;const{id:s,loop:m=!0,playImmediately:_=!1}=e;if(s){const k=(o=(t=(r=n.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?o:{};Object.entries(k).forEach(([,E])=>{const{id:T}=E;s===T?E.select():E.cancelSelect()}),M({selectedRegion:{id:s,loop:m},selectedAttribute:(p=(a=(l=D.current)==null?void 0:l.find(E=>E.id===s))==null?void 0:a.attribute)!=null?p:""}),m&&_&&((v=I(s))==null||v.playLoop())}else M({selectedRegion:{}})},{combineInstance:Ct}=Ar({waveRef:n,sortByStartRegions:we,regionMap:Te,updateRegion:j,removeRegion:B,generateRegions:W,setSelectedRegion:f}),{segmentInstance:Pt,onRegionMouseMove:Rt,segmentTimeTip:wt}=jr({waveRef:n,regionMap:Te,updateRegion:j,removeRegion:B,generateRegions:W,setSelectedRegion:f}),je={clipTextConfigurable:de,clipAttributeList:ut,clipAttributeConfigurable:me,clipConfigurable:at,secondaryAttributeConfigurable:ct,subAttributeList:dt,clipTextList:ft};A(()=>{M({selectedAttribute:""})},[me]),A(()=>{ee()},[Y.selectedAttribute]),A(()=>{W()},[Y.attributeLockList]),qe(()=>{M(je),setTimeout(()=>{xe()})},[je]),qe(()=>{Et(er(x,["start"])),ht(x.reduce((e,r)=>{const{id:t}=r;return et(Qe({},e),{[t]:r})},{}))},[x]),A(()=>{if(Z){const e=_t.current;f({id:Z,loop:e,playImmediately:!0})}else f({})},[Z]);const xe=()=>{var e,r;c.current.clipConfigurable?(!C&&n.current&&((e=n.current)==null||e.enableDragSelection({slop:5})),W()):((r=n.current)==null||r.disableDragSelection(),te()),ee()},ee=()=>{var e,r,t,o,l;let a="";c.current.clipConfigurable?a=hr(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):a="transparent",((t=(r=n==null?void 0:n.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((l=(o=n==null?void 0:n.current)==null?void 0:o.cursor)==null||l.setStyle({border:`2px dashed ${a}`}))},I=e=>{var r,t,o;return((o=(t=(r=n.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?o:{})[e]},De=()=>{var e,r;if(O){const t=((r=(e=ge==null?void 0:ge.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";_e(!1),t?Yt(O).then(o=>{ke(o)}):ke(O)}},ke=e=>{var r;e&&(ye(!0),V(0),Ee(0),(r=n==null?void 0:n.current)==null||r.load(e))},te=()=>{var e;(e=n.current)==null||e.clearRegions()},re=e=>{const r=I(e);r&&(Q(!1),r==null||r.remove(),B==null||B(e),f({}))},{run:Me}=_r(f,{wait:500});Tr({sortByStartRegions:we,setSelectedRegion:f});const Tt=e=>{const{start:r,end:t}=Pe.current;return(r||t)&&e.update(Pe.current),e},At=({action:e,id:r,eventDownTime:t})=>{var o,l;if(!c.current.clipConfigurable)return;r&&f({id:r});const a=I((r!=null?r:(o=c.current.selectedRegion)==null?void 0:o.id)||""),p=[];(e==="create"?D.current:(l=D.current)==null?void 0:l.filter(m=>m.id!==a.id)).forEach(m=>{const{start:_,end:k,attribute:E}=m;E===c.current.selectedAttribute&&[_,k].forEach(T=>{p.includes(T)||p.push(T)})});const s=Pr(p.sort((m,_)=>m-_),t);n.current.range=s},jt=e=>{ee(),setTimeout(()=>{Q(!1)});const r=Tt(e),{id:t,start:o,end:l}=r;f({id:t,playImmediately:!0});const a={id:t,start:U(o,3),end:U(l,3)};j==null||j(a),Re()},xt=()=>{const e=dr.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:it||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[mr.create({regions:x,dragSelection:{slop:5},canMove:!1}),fr.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;V(((t=n==null?void 0:n.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const o=((t=n==null?void 0:n.current)==null?void 0:t.getDuration())||0;Ee(o),r(),u==null||u({duration:Math.round(o)}),ye(!1),L(),h.on("setCurrentTimeByPosition",ne),h.on("clearRegions",te),h.on("removeRegionById",re),h.on("setSelectedRegion",Me),e.on("regions-eventDown",At),xe()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{K(!0)}),e.on("pause",()=>{K(!1)}),e.on("finish",()=>{K(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{_e(!0),u==null||u({hasError:!0}),ce==null||ce()}),e.on("region-created",t=>{var o;const{id:l,start:a,end:p}=t;if(D.current.find(s=>s.id===l))return;const v={id:l,start:U(a,3),end:U(p,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const s=ir.getDefaultResultByConfig((o=c.current.subAttributeList)!=null?o:[]);v.subAttribute=s!=null?s:{}}de&&c.current.clipTextList.forEach((m,_)=>{_===0?Object.assign(v,{text:m==null?void 0:m.default}):Object.assign(v,{[m.key]:m==null?void 0:m.default})}),j==null||j(v)}),e.on("region-updated",(t,o)=>{var l,a,p,v,s,m,_,k,E,T;const ze=o==null?void 0:o.action;M({combined:!1,segment:!1}),ze==="resize"&&((a=(l=n==null?void 0:n.current)==null?void 0:l.cursor)==null||a.setStyle({borderStyle:"solid"})),ze==="drag"&&((v=(p=n==null?void 0:n.current)==null?void 0:p.cursor)==null||v.setStyle({borderColor:"transparent"}));const ie={},le=[],se={},$t=(s=D.current)==null?void 0:s.filter(S=>S.id!==t.id),Ht=(k=(_=(m=n.current)==null?void 0:m.regions)==null?void 0:_.list)!=null?k:{};$t.forEach(S=>{var He,Ue;const{element:ae}=(He=Ht[S.id])!=null?He:{},{start:Zt,end:qt}=S;if(ae){const{x:Xe,width:Kt}=((Ue=ae.getBoundingClientRect)==null?void 0:Ue.call(ae))||{},Vt=Xe+Kt;[Xe,Vt].forEach((ue,Gt)=>{le.includes(ue)||(le.push(ue),se[ue]=Gt===0?Zt:qt)})}});const{x:$e,width:Ut}=((T=(E=t.element).getBoundingClientRect)==null?void 0:T.call(E))||{},Xt=$e+Ut;le.forEach(S=>{Math.abs(Ge(S,$e))<5&&(ie.start=se[S]),Math.abs(Ge(S,Xt))<5&&(ie.end=se[S])}),yt(ie),Me({id:t.id}),Q(!0)}),e.on("region-update-end",t=>{jt(t)}),e.on("region-contextmenu",(t,o)=>{if(!C){if(o.preventDefault(),o.stopPropagation(),Cr(o)){re(t.id);return}f({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,o,l)=>{if(!C){if(o.preventDefault(),o.stopPropagation(),c.current.combined){Ct(t);return}if(c.current.segment){Pt(t,l);return}f({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",Rt),n.current=e},Dt=q?i.createElement(tr,null):i.createElement(rr,null),Ie=e=>e?`${parseFloat((e/N*100).toFixed(4))}%`:"0%",Le=Ie(P),kt=Ie(Se),w=()=>{if(!be)return n==null?void 0:n.current},Mt=()=>{var e;(e=w())==null||e.skipForward(rt)},It=()=>{var e;(e=w())==null||e.skipBackward(rt)},L=()=>{var e;(e=w())==null||e.playPause(),f({})},Be=e=>{var r;switch(e.keyCode){case X.Right:Mt();break;case X.Left:It();break;case X.Space:e.preventDefault(),L();break;case X.Delete:if(!C){const{id:t}=((r=c.current)==null?void 0:r.selectedRegion)||{};t&&re(t)}break}},Lt=e=>{ne(e)},Oe=Jt.throttle(Lt,50);let oe=!1;const Ne=()=>{oe&&(L(),oe=!1),document.removeEventListener("mousemove",Oe),document.removeEventListener("mouseup",Ne)},Bt=e=>{ne(e),q&&(oe=!0,L()),document.addEventListener("mousemove",Oe),document.addEventListener("mouseup",Ne)},Ot=()=>{De()};A(()=>(xt(),()=>{var e;(e=n==null?void 0:n.current)==null||e.destroy(),n.current=null,h.unbindAll("setCurrentTimeByPosition"),h.unbindAll("clearRegions"),h.unbindAll("removeRegionById"),h.unbindAll("setSelectedRegion")}),[]);const Nt=e=>{var r,t,o;(r=w())==null||r.playPause(),(t=w())==null||t.setPlaybackRate(e),(o=w())==null||o.playPause()};A(()=>(document.addEventListener("keydown",Be),()=>{document.removeEventListener("keydown",Be)})),A(()=>{f({}),De()},[O]);const Fe=e=>{var r,t,o,l;if((n==null?void 0:n.current)&&(R==null?void 0:R.current)){const a=(t=(r=n==null?void 0:n.current)==null?void 0:r.getDuration())!=null?t:0,p=(o=R==null?void 0:R.current)==null?void 0:o.getBoundingClientRect();let s=(e.clientX-p.left)/(((l=R==null?void 0:R.current)==null?void 0:l.clientWidth)||0)*a;return s>a&&(s=a),s}return 0},ne=e=>{var r;const t=Fe(e);(r=n==null?void 0:n.current)==null||r.skip(t-he.current),V(t)},Ft=e=>{gt(Fe(e))},Wt=N?Math.max(N-P,0):0,zt=(d==null?void 0:d.toolName)!==tt.Empty&&(d==null?void 0:d.isEdit)!==!0&&(st==="remark"||C),We=i.createElement("div",{className:y.audioPlayer},vt&&!lt&&i.createElement(ar,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Ot,backgroundColor:"#ffffffbb"}),i.createElement(wr,{getRegionInstanceById:I,clipping:J}),i.createElement(xr,{container:G.current}),i.createElement(Dr,{segmentTimeTip:wt}),i.createElement("div",{className:y.waveformContainer,ref:G},i.createElement("div",{id:"waveform",style:{width:`${F*100}%`},className:$({[y.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},nt&&i.createElement(sr,{isAudio:!0}),i.createElement("div",{ref:R,className:y.progress,onMouseDown:Bt,onMouseMove:Ft},i.createElement("div",{className:$({[y.radioTooltip]:!0}),style:{left:Le}},Ke(P)),i.createElement("div",{className:$({[y.radioTooltip]:!0,[y.mouseTooltip]:!0}),style:{left:kt}},Ke(Se)),i.createElement(Rr,{playPercentage:Le})),zt&&(fe==null?void 0:fe({currentTime:P,remainingTime:Wt,audioPlayer:w()})))),i.createElement("div",{className:y.controlBar},i.createElement(lr,{type:"link",icon:Dt,onClick:()=>{L()},className:$({[y.playButton]:!0,[y.playButtonDisabled]:be})}),i.createElement("span",{className:y.time},`${Ve(P,"ss.SSS")} / -${Ve(N-P,"ss.SSS")}`),i.createElement(ur,{playerType:cr.Audio,onChange:e=>{Nt(e)}}),i.createElement(pr,{onChange:e=>{Ae(e)},zoom:F}),i.createElement(vr,{EventBus:h})));return d?i.createElement(ot.Provider,{value:d},We,x.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?i.createElement(gr,{el:t,key:r,region:e,edgeAdsorption:Ce,clipping:J,zoom:F,instance:I(r)}):null}),i.createElement(kr,{footer:mt})):We};export{Nr as AudioPlayer,ot as AudioPlayerContext};
1
+ import i,{useState as b,useRef as H,useEffect as P}from"react";import{getWebPcm2WavBase64 as er}from"../audioAnnotate/utils/getWebPcm2Wac.js";import tr,{debounce as rr,sortBy as or}from"lodash";import{PauseOutlined as nr,CaretRightOutlined as ir}from"@ant-design/icons";import{cKeyCode as lr,cTool as sr,EventBus as E,TagUtils as ar}from"@labelbee/lb-annotation";import{i18n as Ve}from"@labelbee/lb-utils";import{Button as ur}from"antd";import cr from"../invalidPage/index.js";import dr from"../imageError/index.js";import{classnames as U}from"../../utils/index.js";import mr,{EPlayerType as pr}from"../videoPlayer/components/SpeedController/index.js";import fr from"@labelbee/wavesurfer";import vr from"@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js";import gr from"@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js";import br,{audioZoomInfo as Ge}from"./zoomSlider/index.js";import yr from"./labelDisplayToggle/index.js";import _r from"./clipRegion/index.js";import{useAudioClipStore as Er}from"../audioAnnotate/audioContext/index.js";import{useLatest as X,useUpdate as hr,useDeepCompareEffect as Ye,useThrottleFn as Sr}from"ahooks";import Pr from"./useAudioScroll/index.js";import y from"./index.module.scss.js";import{getAttributeColor as Cr,formatTime as Je,timeFormat as Qe,dispatchResizeEvent as Rr,precisionMinus as et,isDoubleClick as wr,getCanMoveRange as Tr}from"../../utils/audio.js";import Ar from"./progressDot/index.js";import xr from"./clipTip/index.js";import jr from"./useSwitchHotkey/index.js";import Dr from"./useAudioCombine/index.js";import kr from"./useAudioSegment/index.js";import Lr from"./combineTip/index.js";import Mr from"./segmentTip/index.js";import Ir from"../../views/MainView/toolFooter/index.js";import{decimalReserved as Z}from"../videoPlayer/utils.js";import{I18nextProvider as Br}from"react-i18next";var Or=Object.defineProperty,Nr=Object.defineProperties,Wr=Object.getOwnPropertyDescriptors,tt=Object.getOwnPropertySymbols,Fr=Object.prototype.hasOwnProperty,zr=Object.prototype.propertyIsEnumerable,rt=(p,u,d)=>u in p?Or(p,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):p[u]=d,de=(p,u)=>{for(var d in u||(u={}))Fr.call(u,d)&&rt(p,d,u[d]);if(tt)for(var d of tt(u))zr.call(u,d)&&rt(p,d,u[d]);return p},ot=(p,u)=>Nr(p,Wr(u));const{EToolName:nt}=sr,q=lr.default,it=.1,lt=i.createContext({count:0,isEdit:!1,toolName:nt.Empty,imgIndex:0}),st=({fileData:p={},onLoaded:u,context:d,invalid:at,height:ut,hideError:ct,onError:me,updateRegion:j,removeRegion:N,regions:D=[],activeToolPanel:dt,clipConfigurable:mt,clipTextConfigurable:pe,clipAttributeList:pt,clipAttributeConfigurable:fe,secondaryAttributeConfigurable:ft,subAttributeList:vt,isCheck:C,hoverRegionId:K,footer:gt,drawLayerSlot:ve,clipTextList:bt,lang:ge})=>{var be,ye;const{url:W,path:_e}=p,[V,G]=b(!1),[Ee,he]=b(!1),[R,yt]=b(0),[_t,Se]=b(!1),[F,Pe]=b(0),n=H(null),w=H(null),Ce=H(R),Y=e=>{Ce.current=e,yt(e)},[Re,Et]=b(0),[z,ht]=b(1),J=H(null),[we,St]=b({}),{audioClipState:Q,setAudioClipState:M}=Er(),[ee,te]=b(!1),c=X(Q),Te=X(we),Ae=X(V),k=X(D),xe=hr(),[je,Pt]=b([]),[De,Ct]=b({}),Rt=rr(()=>{E.emit("audioZoom")},500),ke=e=>{e<Ge.min||e>Ge.max||(ht(e),Rr(),Rt())};Pr({container:J.current,target:document.querySelector(`[data-id=${(ye=(be=c.current)==null?void 0:be.selectedRegion)==null?void 0:ye.id}]`),clipping:ee,zoom:z,zoomHandler:ke});const $=()=>{let e=k.current;const{attributeLockList:r}=c.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),oe(),e.forEach(t=>{var o;(o=n.current)==null||o.addRegion(ot(de({},t),{drag:!C,resize:!C,color:"rgba(0, 0, 0, 0)"}))}),xe()},f=e=>{var r,t,o,l,a,v,g;const{id:s,loop:m=!0,playImmediately:_=!1,isLoopStatus:L}=e,A=L?Ae.current:m;if(s){const x=(o=(t=(r=n.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?o:{};Object.entries(x).forEach(([,S])=>{const{id:O}=S;s===O?S.select():S.cancelSelect()}),M({selectedRegion:{id:s,loop:A},selectedAttribute:(v=(a=(l=k.current)==null?void 0:l.find(S=>S.id===s))==null?void 0:a.attribute)!=null?v:""}),A&&_&&((g=I(s))==null||g.playLoop())}else M({selectedRegion:{}})},{combineInstance:wt}=Dr({waveRef:n,sortByStartRegions:je,regionMap:De,updateRegion:j,removeRegion:N,generateRegions:$,setSelectedRegion:f}),{segmentInstance:Tt,onRegionMouseMove:At,segmentTimeTip:xt}=kr({waveRef:n,regionMap:De,updateRegion:j,removeRegion:N,generateRegions:$,setSelectedRegion:f}),Le={clipTextConfigurable:pe,clipAttributeList:pt,clipAttributeConfigurable:fe,clipConfigurable:mt,secondaryAttributeConfigurable:ft,subAttributeList:vt,clipTextList:bt};P(()=>{var e;ge&&((e=Ve)==null||e.changeLanguage(ge))},[]),P(()=>{M({selectedAttribute:""})},[fe]),P(()=>{re()},[Q.selectedAttribute]),P(()=>{$()},[Q.attributeLockList]),Ye(()=>{M(Le),setTimeout(()=>{Me()})},[Le]),Ye(()=>{Pt(or(D,["start"])),Ct(D.reduce((e,r)=>{const{id:t}=r;return ot(de({},e),{[t]:r})},{}))},[D]),P(()=>{if(K){const e=Ae.current;f({id:K,loop:e,playImmediately:!0})}else f({})},[K]);const Me=()=>{var e,r;c.current.clipConfigurable?(!C&&n.current&&((e=n.current)==null||e.enableDragSelection({slop:5})),$()):((r=n.current)==null||r.disableDragSelection(),oe()),re()},re=()=>{var e,r,t,o,l;let a="";c.current.clipConfigurable?a=Cr(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):a="transparent",((t=(r=n==null?void 0:n.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((l=(o=n==null?void 0:n.current)==null?void 0:o.cursor)==null||l.setStyle({border:`2px dashed ${a}`}))},I=e=>{var r,t,o;return((o=(t=(r=n.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?o:{})[e]},Ie=()=>{var e,r;if(W){const t=((r=(e=_e==null?void 0:_e.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";Se(!1),t?er(W).then(o=>{Be(o)}):Be(W)}},Be=e=>{var r;e&&(he(!0),Y(0),Pe(0),(r=n==null?void 0:n.current)==null||r.load(e))},oe=()=>{var e;(e=n.current)==null||e.clearRegions()},ne=e=>{const r=I(e);r&&(te(!1),r==null||r.remove(),N==null||N(e),f({}))},{run:Oe}=Sr(f,{wait:500});jr({sortByStartRegions:je,setSelectedRegion:f});const jt=e=>{const{start:r,end:t}=Te.current;return(r||t)&&e.update(Te.current),e},Dt=({action:e,id:r,eventDownTime:t})=>{var o,l;if(!c.current.clipConfigurable)return;r&&f({id:r});const a=I((r!=null?r:(o=c.current.selectedRegion)==null?void 0:o.id)||""),v=[];(e==="create"?k.current:(l=k.current)==null?void 0:l.filter(m=>m.id!==a.id)).forEach(m=>{const{start:_,end:L,attribute:A}=m;A===c.current.selectedAttribute&&[_,L].forEach(x=>{v.includes(x)||v.push(x)})});const s=Tr(v.sort((m,_)=>m-_),t);n.current.range=s},kt=e=>{re(),setTimeout(()=>{te(!1)});const r=jt(e),{id:t,start:o,end:l}=r;f({id:t,playImmediately:!0});const a={id:t,start:Z(o,3),end:Z(l,3)};j==null||j(a),xe()},Lt=()=>{const e=fr.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:ut||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[vr.create({regions:D,dragSelection:{slop:5},canMove:!1}),gr.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;Y(((t=n==null?void 0:n.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const o=((t=n==null?void 0:n.current)==null?void 0:t.getDuration())||0;Pe(o),r(),u==null||u({duration:Math.round(o)}),he(!1),B(),E.on("setCurrentTimeByPosition",le),E.on("clearRegions",oe),E.on("removeRegionById",ne),E.on("setSelectedRegion",Oe),e.on("regions-eventDown",Dt),Me()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{G(!0)}),e.on("pause",()=>{G(!1)}),e.on("finish",()=>{G(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{Se(!0),u==null||u({hasError:!0}),me==null||me()}),e.on("region-created",t=>{var o;const{id:l,start:a,end:v}=t;if(k.current.find(s=>s.id===l))return;const g={id:l,start:Z(a,3),end:Z(v,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const s=ar.getDefaultResultByConfig((o=c.current.subAttributeList)!=null?o:[]);g.subAttribute=s!=null?s:{}}pe&&c.current.clipTextList.forEach((m,_)=>{_===0?Object.assign(g,{text:m==null?void 0:m.default}):Object.assign(g,{[m.key]:m==null?void 0:m.default})}),j==null||j(g)}),e.on("region-updated",(t,o)=>{var l,a,v,g,s,m,_,L,A,x;const S=o==null?void 0:o.action;M({combined:!1,segment:!1}),S==="resize"&&((a=(l=n==null?void 0:n.current)==null?void 0:l.cursor)==null||a.setStyle({borderStyle:"solid"})),S==="drag"&&((g=(v=n==null?void 0:n.current)==null?void 0:v.cursor)==null||g.setStyle({borderColor:"transparent"}));const O={},se=[],ae={},Xt=(s=k.current)==null?void 0:s.filter(h=>h.id!==t.id),Zt=(L=(_=(m=n.current)==null?void 0:m.regions)==null?void 0:_.list)!=null?L:{};Xt.forEach(h=>{var Ze,qe;const{element:ue}=(Ze=Zt[h.id])!=null?Ze:{},{start:Vt,end:Gt}=h;if(ue){const{x:Ke,width:Yt}=((qe=ue.getBoundingClientRect)==null?void 0:qe.call(ue))||{},Jt=Ke+Yt;[Ke,Jt].forEach((ce,Qt)=>{se.includes(ce)||(se.push(ce),ae[ce]=Qt===0?Vt:Gt)})}});const{x:Xe,width:qt}=((x=(A=t.element).getBoundingClientRect)==null?void 0:x.call(A))||{},Kt=Xe+qt;se.forEach(h=>{Math.abs(et(h,Xe))<5&&(O.start=ae[h]),Math.abs(et(h,Kt))<5&&(O.end=ae[h])}),St(O),Oe({id:t.id}),te(!0)}),e.on("region-update-end",t=>{kt(t)}),e.on("region-contextmenu",(t,o)=>{if(!C){if(o.preventDefault(),o.stopPropagation(),wr(o)){ne(t.id);return}f({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,o,l)=>{if(!C){if(o.preventDefault(),o.stopPropagation(),c.current.combined){wt(t);return}if(c.current.segment){Tt(t,l);return}f({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",At),n.current=e},Mt=V?i.createElement(nr,null):i.createElement(ir,null),Ne=e=>e?`${parseFloat((e/F*100).toFixed(4))}%`:"0%",We=Ne(R),It=Ne(Re),T=()=>{if(!Ee)return n==null?void 0:n.current},Bt=()=>{var e;(e=T())==null||e.skipForward(it)},Ot=()=>{var e;(e=T())==null||e.skipBackward(it)},B=()=>{var e;(e=T())==null||e.playPause(),f({})},Fe=e=>{var r;switch(e.keyCode){case q.Right:Bt();break;case q.Left:Ot();break;case q.Space:e.preventDefault(),B();break;case q.Delete:if(!C){const{id:t}=((r=c.current)==null?void 0:r.selectedRegion)||{};t&&ne(t)}break}},Nt=e=>{le(e)},ze=tr.throttle(Nt,50);let ie=!1;const $e=()=>{ie&&(B(),ie=!1),document.removeEventListener("mousemove",ze),document.removeEventListener("mouseup",$e)},Wt=e=>{le(e),V&&(ie=!0,B()),document.addEventListener("mousemove",ze),document.addEventListener("mouseup",$e)},Ft=()=>{Ie()};P(()=>(Lt(),()=>{var e;(e=n==null?void 0:n.current)==null||e.destroy(),n.current=null,E.unbindAll("setCurrentTimeByPosition"),E.unbindAll("clearRegions"),E.unbindAll("removeRegionById"),E.unbindAll("setSelectedRegion")}),[]);const zt=e=>{var r,t,o;(r=T())==null||r.playPause(),(t=T())==null||t.setPlaybackRate(e),(o=T())==null||o.playPause()};P(()=>(document.addEventListener("keydown",Fe),()=>{document.removeEventListener("keydown",Fe)})),P(()=>{f({}),Ie()},[W]);const He=e=>{var r,t,o,l;if((n==null?void 0:n.current)&&(w==null?void 0:w.current)){const a=(t=(r=n==null?void 0:n.current)==null?void 0:r.getDuration())!=null?t:0,v=(o=w==null?void 0:w.current)==null?void 0:o.getBoundingClientRect();let s=(e.clientX-v.left)/(((l=w==null?void 0:w.current)==null?void 0:l.clientWidth)||0)*a;return s>a&&(s=a),s}return 0},le=e=>{var r;const t=He(e);(r=n==null?void 0:n.current)==null||r.skip(t-Ce.current),Y(t)},$t=e=>{Et(He(e))},Ht=F?Math.max(F-R,0):0,Ut=(d==null?void 0:d.toolName)!==nt.Empty&&(d==null?void 0:d.isEdit)!==!0&&(dt==="remark"||C),Ue=i.createElement("div",{className:y.audioPlayer},_t&&!ct&&i.createElement(dr,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Ft,backgroundColor:"#ffffffbb"}),i.createElement(xr,{getRegionInstanceById:I,clipping:ee}),i.createElement(Lr,{container:J.current}),i.createElement(Mr,{segmentTimeTip:xt}),i.createElement("div",{className:y.waveformContainer,ref:J},i.createElement("div",{id:"waveform",style:{width:`${z*100}%`},className:U({[y.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},at&&i.createElement(cr,{isAudio:!0}),i.createElement("div",{ref:w,className:y.progress,onMouseDown:Wt,onMouseMove:$t},i.createElement("div",{className:U({[y.radioTooltip]:!0}),style:{left:We}},Je(R)),i.createElement("div",{className:U({[y.radioTooltip]:!0,[y.mouseTooltip]:!0}),style:{left:It}},Je(Re)),i.createElement(Ar,{playPercentage:We})),Ut&&(ve==null?void 0:ve({currentTime:R,remainingTime:Ht,audioPlayer:T()})))),i.createElement("div",{className:y.controlBar},i.createElement(ur,{type:"link",icon:Mt,onClick:()=>{B()},className:U({[y.playButton]:!0,[y.playButtonDisabled]:Ee})}),i.createElement("span",{className:y.time},`${Qe(R,"ss.SSS")} / -${Qe(F-R,"ss.SSS")}`),i.createElement(mr,{playerType:pr.Audio,onChange:e=>{zt(e)}}),i.createElement(br,{onChange:e=>{ke(e)},zoom:z}),i.createElement(yr,{EventBus:E})));return d?i.createElement(lt.Provider,{value:d},Ue,D.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?i.createElement(_r,{el:t,key:r,region:e,edgeAdsorption:we,clipping:ee,zoom:z,instance:I(r)}):null}),i.createElement(Ir,{footer:gt})):Ue},$r=p=>i.createElement(Br,{i18n:Ve},i.createElement(st,de({},p)));export{st as AudioPlayer,lt as AudioPlayerContext,$r as WrapAudioPlayer};
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{default as AnnotationView}from"./components/AnnotationView/index.js";export{default as PointCloudAnnotationView}from"./components/AnnotationView/pointCloudAnnotationView.js";export{default as QuestionView}from"./components/LLMToolView/questionView/index.js";export{default as TextContent}from"./components/NLPToolView/textContent/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import r,{useState as c,useImperativeHandle as m}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import x from"./App.js";import w from"./configureStore.js";import{PageBackward as P,PageForward as v,PageJump as T}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js";import{PointCloudProvider as g}from"./components/pointCloudView/PointCloudContext.js";import{LabelBeeContext as j}from"./store/ctx.js";export{default as PredictTracking}from"./components/predictTracking/predictTrackingIcon/index.js";export{default as LLMToolView}from"./components/LLMToolView/index.js";export{default as SwitchCuboidBoxIn2DView}from"./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js";export{default as MeasureCanvas}from"./components/measureCanvas/index.js";export{default as AnnotatedBox}from"./views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js";export{FindTrackIDIndexInCheckMode as FindTrackIDIndex}from"./views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js";export{EDataFormatType,ELLMDataType,EStepType,ESubmitType,componentCls,prefix}from"./constant/index.js";var _=Object.defineProperty,I=Object.defineProperties,b=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,p=(o,e,t)=>e in o?_(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,A=(o,e)=>{for(var t in e||(e={}))V.call(e,t)&&p(o,t,e[t]);if(s)for(var t of s(e))C.call(e,t)&&p(o,t,e[t]);return o},O=(o,e)=>I(o,b(e));const n=w(),E=(o,e)=>{const[t,d]=c();return m(e,()=>({toolInstance:t,annotationEngine:n.getState().annotation.annotationEngine,pageBackwardActions:()=>n.dispatch(P()),pageForwardActions:()=>n.dispatch(v()),pageJump:a=>{const i=~~a-1;n.dispatch(T(i))},hello:()=>alert("hello labelBee!!!")}),[t]),r.createElement(u,{store:n,context:j},r.createElement(f,{i18n:l},r.createElement(g,null,r.createElement(x,O(A({},o),{setToolInstance:a=>{var i;d(a),(i=o.onLoad)==null||i.call(o,{toolInstance:a})}})))))};var S=r.forwardRef(E);export{S as default,n as store};
1
+ export{default as AnnotationView}from"./components/AnnotationView/index.js";export{default as PointCloudAnnotationView}from"./components/AnnotationView/pointCloudAnnotationView.js";export{default as QuestionView}from"./components/LLMToolView/questionView/index.js";export{default as TextContent}from"./components/NLPToolView/textContent/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import r,{useState as c,useImperativeHandle as m}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import x from"./App.js";import w from"./configureStore.js";import{PageBackward as P,PageForward as v,PageJump as T}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js";import{PointCloudProvider as g}from"./components/pointCloudView/PointCloudContext.js";import{LabelBeeContext as j}from"./store/ctx.js";export{default as PredictTracking}from"./components/predictTracking/predictTrackingIcon/index.js";export{default as LLMToolView}from"./components/LLMToolView/index.js";export{default as SwitchCuboidBoxIn2DView}from"./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js";export{default as MeasureCanvas}from"./components/measureCanvas/index.js";export{default as AnnotatedBox}from"./views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js";export{FindTrackIDIndexInCheckMode as FindTrackIDIndex}from"./views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js";export{WrapAudioPlayer as AudioPlayer}from"./components/audioPlayer/index.js";export{EDataFormatType,ELLMDataType,EStepType,ESubmitType,componentCls,prefix}from"./constant/index.js";var _=Object.defineProperty,I=Object.defineProperties,b=Object.getOwnPropertyDescriptors,s=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,p=(o,e,t)=>e in o?_(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,A=(o,e)=>{for(var t in e||(e={}))V.call(e,t)&&p(o,t,e[t]);if(s)for(var t of s(e))C.call(e,t)&&p(o,t,e[t]);return o},y=(o,e)=>I(o,b(e));const n=w(),O=(o,e)=>{const[t,d]=c();return m(e,()=>({toolInstance:t,annotationEngine:n.getState().annotation.annotationEngine,pageBackwardActions:()=>n.dispatch(P()),pageForwardActions:()=>n.dispatch(v()),pageJump:a=>{const i=~~a-1;n.dispatch(T(i))},hello:()=>alert("hello labelBee!!!")}),[t]),r.createElement(u,{store:n,context:j},r.createElement(f,{i18n:l},r.createElement(g,null,r.createElement(x,y(A({},o),{setToolInstance:a=>{var i;d(a),(i=o.onLoad)==null||i.call(o,{toolInstance:a})}})))))};var E=r.forwardRef(O);export{E as default,n as store};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.23.0-alpha.29",
3
+ "version": "1.23.0-alpha.30",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",