aitu-app 0.6.58 → 0.6.59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +3 -3
  2. package/assets/{CanvasAudioPlayer-BLkQj5nN.js → CanvasAudioPlayer-CR48vS3P.js} +1 -1
  3. package/assets/{ChatMessagesArea-d0e5b4vl.js → ChatMessagesArea-BmSEfh3F.js} +2 -2
  4. package/assets/{KnowledgeBaseContent-Dq_KHuPl.js → KnowledgeBaseContent-C1XkXHRs.js} +3 -3
  5. package/assets/{MVCreator-BRrgJuWx.js → MVCreator-BO-nAv0h.js} +1 -1
  6. package/assets/{ModelBenchmarkWorkbench-DwprJd_g.js → ModelBenchmarkWorkbench-DSbWb1Cs.js} +1 -1
  7. package/assets/{MusicAnalyzer-BBFMsrXi.js → MusicAnalyzer-CT4Et-w8.js} +1 -1
  8. package/assets/{MusicAnalyzer-DL-e75mD.js → MusicAnalyzer-S8jla5Bl.js} +1 -1
  9. package/assets/{ResizableDivider-KRrZV2ll.js → ResizableDivider-D-OEAsJG.js} +1 -1
  10. package/assets/{TaskQueuePanel-CT5qHidM.js → TaskQueuePanel-BDKl2woh.js} +1 -1
  11. package/assets/{VideoAnalyzer-BjAJe_N2.js → VideoAnalyzer-C8r9qSsk.js} +2 -2
  12. package/assets/{arc-s9huwVzG.js → arc-C-w86DJD.js} +1 -1
  13. package/assets/{arc-nqGT9M0g.js → arc-bhfokigB.js} +1 -1
  14. package/assets/{batch-image-generation-B3PLWSrR.js → batch-image-generation-B9XXAkFY.js} +5 -5
  15. package/assets/{blockDiagram-38ab4fdb-DdEcq9K5.js → blockDiagram-38ab4fdb-BPDAQHu4.js} +1 -1
  16. package/assets/{blockDiagram-38ab4fdb-CHlYE8-W.js → blockDiagram-38ab4fdb-C412s_EB.js} +1 -1
  17. package/assets/{browser-y-MzU3sI.js → browser-C_S4Vkuu.js} +1 -1
  18. package/assets/{c4Diagram-3d4e48cf-cGbBFnoj.js → c4Diagram-3d4e48cf-CQss2cFk.js} +1 -1
  19. package/assets/{c4Diagram-3d4e48cf-CsymKooX.js → c4Diagram-3d4e48cf-DTChedE0.js} +1 -1
  20. package/assets/channel-Bua6jnWG.js +1 -0
  21. package/assets/channel-C7jYoO2a.js +1 -0
  22. package/assets/{classDiagram-70f12bd4-C92wykqn.js → classDiagram-70f12bd4-BdTKwRt7.js} +1 -1
  23. package/assets/{classDiagram-70f12bd4-mtSOdBqC.js → classDiagram-70f12bd4-CmDEYNy5.js} +1 -1
  24. package/assets/{classDiagram-v2-f2320105-Bx_cdPzZ.js → classDiagram-v2-f2320105-Bz825dND.js} +1 -1
  25. package/assets/{classDiagram-v2-f2320105-C24xTR9A.js → classDiagram-v2-f2320105-CP9u6hWo.js} +1 -1
  26. package/assets/{clipper-RjeqnGtV.js → clipper-BRf85uUy.js} +1 -1
  27. package/assets/clone-BaoBdZG6.js +1 -0
  28. package/assets/{createText-2e5e7dd3-DajHugbe.js → createText-2e5e7dd3-C8u4KM_e.js} +1 -1
  29. package/assets/{createText-2e5e7dd3-CuSr0_Z0.js → createText-2e5e7dd3-CYv1MbiO.js} +1 -1
  30. package/assets/{edges-e0da2a9e-BZfrgjFW.js → edges-e0da2a9e-BCXA0_If.js} +1 -1
  31. package/assets/{edges-e0da2a9e-CKNagas_.js → edges-e0da2a9e-CeEdUZm5.js} +1 -1
  32. package/assets/{erDiagram-9861fffd-DAniZ5P0.js → erDiagram-9861fffd-BmL01o9a.js} +1 -1
  33. package/assets/{erDiagram-9861fffd-BrOixb1W.js → erDiagram-9861fffd-CzKvn3XR.js} +1 -1
  34. package/assets/{flowDb-956e92f1-BHGOk5Oi.js → flowDb-956e92f1-C9G_Uqvh.js} +1 -1
  35. package/assets/{flowDb-956e92f1-Bkox-NRw.js → flowDb-956e92f1-CRdIGrp6.js} +1 -1
  36. package/assets/{flowDiagram-66a62f08-TxprrhdB.js → flowDiagram-66a62f08-DysOZcqd.js} +1 -1
  37. package/assets/{flowDiagram-66a62f08-gz8UCQW6.js → flowDiagram-66a62f08-u9D4OGqK.js} +2 -2
  38. package/assets/flowDiagram-v2-96b9c2cf-Ba9_-QRc.js +1 -0
  39. package/assets/flowDiagram-v2-96b9c2cf-BqyMoCQ7.js +1 -0
  40. package/assets/{flowchart-elk-definition-4a651766-hZ2o1JgU.js → flowchart-elk-definition-4a651766-DUE-5hyV.js} +1 -1
  41. package/assets/{flowchart-elk-definition-4a651766-DNYLN8ii.js → flowchart-elk-definition-4a651766-pfMeLhR4.js} +1 -1
  42. package/assets/{ganttDiagram-c361ad54-DCABE1Su.js → ganttDiagram-c361ad54-B8Vg_H8D.js} +1 -1
  43. package/assets/{ganttDiagram-c361ad54-C8gHK-73.js → ganttDiagram-c361ad54-DCyh8hyT.js} +1 -1
  44. package/assets/{gitGraphDiagram-72cf32ee-DCWzjSmR.js → gitGraphDiagram-72cf32ee-Bf3L1uGb.js} +1 -1
  45. package/assets/{gitGraphDiagram-72cf32ee-DvdXtSwp.js → gitGraphDiagram-72cf32ee-DYJppIJp.js} +1 -1
  46. package/assets/{graph-BwmwloEe.js → graph-C_1tVN-K.js} +1 -1
  47. package/assets/{graph-CLQDTdrv.js → graph-DNjqS7pe.js} +1 -1
  48. package/assets/{index-4Kua-e2Z.js → index-06RQAF-n.js} +1 -1
  49. package/assets/{index-3862675e-CGUkq1wC.js → index-3862675e-BFXyUvBO.js} +1 -1
  50. package/assets/{index-3862675e-B32TDMvJ.js → index-3862675e-DlhnC6GZ.js} +1 -1
  51. package/assets/{index-BO6orVZG.js → index-3o0hekD-.js} +1 -1
  52. package/assets/{index-Dsh_qei3.js → index-B81VF8Xb.js} +1 -1
  53. package/assets/{index-vwpASfq0.js → index-BRtbUjX4.js} +1 -1
  54. package/assets/{index-wWsz_9lD.js → index-BYEqyRQA.js} +1 -1
  55. package/assets/{index-BH3Gl3pe.js → index-BpB7RmT-.js} +1 -1
  56. package/assets/{index-2W40Kw5i.js → index-BsjpESpJ.js} +1 -1
  57. package/assets/{index-C23woS_6.js → index-Bui2zawO.js} +1 -1
  58. package/assets/{index-DuLmfY2r.js → index-CPma7jA4.js} +1 -1
  59. package/assets/{index-CeSC4Zc_.js → index-CRGKGJPB.js} +1 -1
  60. package/assets/{index-uOuKYymx.js → index-C_PjWyQ8.js} +1 -1
  61. package/assets/{index-68hZXprA.js → index-C_uMZXfB.js} +1 -1
  62. package/assets/{index-CWTZm6xk.js → index-CcRg-eAv.js} +1 -1
  63. package/assets/{index-E9mzkG-3.js → index-CglPkenv.js} +1 -1
  64. package/assets/{index-Uu0mq5zw.js → index-CpPTuHsR.js} +1 -1
  65. package/assets/{index-CiqB6gII.js → index-CqsnCyVy.js} +1 -1
  66. package/assets/{index-DCTqbE2H.js → index-CtV2AQO5.js} +1 -1
  67. package/assets/{index-CjidKp5j.js → index-D5zGqskA.js} +1 -1
  68. package/assets/{index-CxUsar2g.js → index-DIoTgIPv.js} +1 -1
  69. package/assets/{index-CWE194o5.js → index-DXdby7oL.js} +1 -1
  70. package/assets/{index-gAah4Qim.js → index-DnjWFzCg.js} +1 -1
  71. package/assets/{index-CeAkqxjw.js → index-DpiyXbD2.js} +1 -1
  72. package/assets/{index-B8OIj4K6.js → index-Nd6b1KE5.js} +1 -1
  73. package/assets/{index-uSXHTpAi.js → index-V-0PNqWs.js} +1 -1
  74. package/assets/{index-B7qLuwcE.js → index-a19fn7Lh.js} +67 -67
  75. package/assets/{index-BhG3PhTq.js → index-jDeMp8CQ.js} +1 -1
  76. package/assets/{index-BuAO8xg4.js → index-ov_dyv-O.js} +3 -3
  77. package/assets/{index-BySgiunR.js → index-pf_40mx0.js} +1 -1
  78. package/assets/{index-DMrRghLi.js → index-uLQ8j0cT.js} +1 -1
  79. package/assets/{index-DdiCeUk9.js → index-vr0XvnPz.js} +1 -1
  80. package/assets/{infoDiagram-f8f76790-CQ7usKf8.js → infoDiagram-f8f76790-DI5gbwQ7.js} +1 -1
  81. package/assets/{infoDiagram-f8f76790-BkJS2BhW.js → infoDiagram-f8f76790-DZobzDKP.js} +1 -1
  82. package/assets/{journeyDiagram-49397b02-BoZfD-_O.js → journeyDiagram-49397b02-B3HP9Iby.js} +1 -1
  83. package/assets/{journeyDiagram-49397b02-DrAPiLxi.js → journeyDiagram-49397b02-DWDyaZ5m.js} +1 -1
  84. package/assets/{layout-B2-WtxJD.js → layout--9iIU0rU.js} +1 -1
  85. package/assets/{layout-CoR_IYWQ.js → layout-C6OElQGk.js} +1 -1
  86. package/assets/{line-BXujS6e8.js → line-CeV8kSmf.js} +1 -1
  87. package/assets/{line-DlKaAGjK.js → line-kYA_W1MS.js} +1 -1
  88. package/assets/{linear-Cf_7U6AO.js → linear-C7PDy0Vx.js} +1 -1
  89. package/assets/{linear-zjh0GgfR.js → linear-bzVsOHNm.js} +1 -1
  90. package/assets/{main-Skly5RqB.js → main-Dk_gcI0Z.js} +72 -72
  91. package/assets/{mermaid.core-BZHQ4QSe.js → mermaid.core-D4SiINvC.js} +3 -3
  92. package/assets/{mindmap-definition-fc14e90a--GH--JV7.js → mindmap-definition-fc14e90a-BC8lk3vw.js} +1 -1
  93. package/assets/{mindmap-definition-fc14e90a-DwKS58zw.js → mindmap-definition-fc14e90a-C9C8-QYY.js} +1 -1
  94. package/assets/{photo-wall-splitter-PPi20NgA.js → photo-wall-splitter-CjnPp8Vm.js} +1 -1
  95. package/assets/{pieDiagram-8a3498a8-DADkzHh6.js → pieDiagram-8a3498a8-471xsgBF.js} +1 -1
  96. package/assets/{pieDiagram-8a3498a8-BRxLYGiQ.js → pieDiagram-8a3498a8-DW_qZ4KL.js} +1 -1
  97. package/assets/{quadrantDiagram-120e2f19-CsfzwxyE.js → quadrantDiagram-120e2f19-B__DoUpN.js} +1 -1
  98. package/assets/{quadrantDiagram-120e2f19-DXXyXUml.js → quadrantDiagram-120e2f19-CdZjvlxV.js} +1 -1
  99. package/assets/{requirementDiagram-deff3bca-CJzD-ykl.js → requirementDiagram-deff3bca-DtpDI0YQ.js} +1 -1
  100. package/assets/{requirementDiagram-deff3bca-DY2EA81a.js → requirementDiagram-deff3bca-z_-Lp5OA.js} +1 -1
  101. package/assets/{sankeyDiagram-04a897e0-Bi-h1evk.js → sankeyDiagram-04a897e0-B6lk5fFF.js} +1 -1
  102. package/assets/{sankeyDiagram-04a897e0-IHN8hHjy.js → sankeyDiagram-04a897e0-gLHxw9u-.js} +1 -1
  103. package/assets/{sequenceDiagram-704730f1-DRssI2ca.js → sequenceDiagram-704730f1-D23m4uGk.js} +1 -1
  104. package/assets/{sequenceDiagram-704730f1-DbHxedJU.js → sequenceDiagram-704730f1-DnEO0F4K.js} +1 -1
  105. package/assets/{stateDiagram-587899a1-B-kNSzAL.js → stateDiagram-587899a1-6Sh4sx00.js} +1 -1
  106. package/assets/{stateDiagram-587899a1-DsZW7_w2.js → stateDiagram-587899a1-D1BPKHLh.js} +1 -1
  107. package/assets/{stateDiagram-v2-d93cdb3a-C-ryoJUy.js → stateDiagram-v2-d93cdb3a-C9cJtEe_.js} +1 -1
  108. package/assets/{stateDiagram-v2-d93cdb3a-DyY6I1Y6.js → stateDiagram-v2-d93cdb3a-ChDtx-51.js} +1 -1
  109. package/assets/{styles-6aaf32cf-DJoT-jTa.js → styles-6aaf32cf-3YOhjic6.js} +1 -1
  110. package/assets/{styles-6aaf32cf-DFf5s2w-.js → styles-6aaf32cf-BW2DZyhb.js} +1 -1
  111. package/assets/{styles-9a916d00-DG08_WpN.js → styles-9a916d00-BoIKVLQH.js} +1 -1
  112. package/assets/{styles-9a916d00-DAWGHhn3.js → styles-9a916d00-Ds-O9x8i.js} +1 -1
  113. package/assets/{styles-c10674c1-BItw6hxB.js → styles-c10674c1-B8qByPmF.js} +1 -1
  114. package/assets/{styles-c10674c1-8xbCJcrh.js → styles-c10674c1-C9p_NxdH.js} +1 -1
  115. package/assets/{svgDrawCommon-08f97a94-g874uAYr.js → svgDrawCommon-08f97a94-B70KuLtz.js} +1 -1
  116. package/assets/{svgDrawCommon-08f97a94-CHt5Dv13.js → svgDrawCommon-08f97a94-ma-mZ36K.js} +1 -1
  117. package/assets/{timeline-definition-85554ec2-Dk3hiW2p.js → timeline-definition-85554ec2-BSh4ZGyQ.js} +1 -1
  118. package/assets/{timeline-definition-85554ec2-D5Ja3nzz.js → timeline-definition-85554ec2-B_BZaQAc.js} +1 -1
  119. package/assets/{tool-windows-BQxcZHGf.js → tool-windows-ChVAz4nw.js} +333 -333
  120. package/assets/{ttd-dialog-Cm3w3jAe.js → ttd-dialog-B-swxHcn.js} +4 -4
  121. package/assets/{useCharacters-B80SkkDQ.js → useCharacters-CkCGN8B3.js} +2 -2
  122. package/assets/{version-update-prompt-ZW6mU4AR.js → version-update-prompt-DHYu5ZPV.js} +1 -1
  123. package/assets/{video-recovery-service-BfG4clyK.js → video-recovery-service-BzVnp4vf.js} +1 -1
  124. package/assets/{workflow-generation-utils-DYIWYHgT.js → workflow-generation-utils-DBEW-zg6.js} +2 -2
  125. package/assets/{xychartDiagram-e933f94c-CVUa6IPw.js → xychartDiagram-e933f94c-N1szeipW.js} +1 -1
  126. package/assets/{xychartDiagram-e933f94c-COMoDm6Q.js → xychartDiagram-e933f94c-jXBgaoGI.js} +1 -1
  127. package/changelog.json +20 -0
  128. package/idle-prefetch-manifest.json +4 -4
  129. package/manifest.json +3 -3
  130. package/package.json +1 -1
  131. package/precache-manifest.json +266 -266
  132. package/sw.js +2 -2
  133. package/version.json +10 -3
  134. package/assets/channel-C9q--V7u.js +0 -1
  135. package/assets/channel-CD6DlniX.js +0 -1
  136. package/assets/clone-BKInfASP.js +0 -1
  137. package/assets/flowDiagram-v2-96b9c2cf-BWg2VQvf.js +0 -1
  138. package/assets/flowDiagram-v2-96b9c2cf-BqVai9XB.js +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Opentu CDN Assets v0.6.58
1
+ # Opentu CDN Assets v0.6.59
2
2
 
3
3
  > 静态资源包,不含 HTML 文件
4
4
 
5
- - unpkg: https://unpkg.com/aitu-app@0.6.58/
6
- - jsdelivr: https://cdn.jsdelivr.net/npm/aitu-app@0.6.58/
5
+ - unpkg: https://unpkg.com/aitu-app@0.6.59/
6
+ - jsdelivr: https://cdn.jsdelivr.net/npm/aitu-app@0.6.59/
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tool-windows-Cuh0TRgJ.css"])))=>i.map(i=>d[i]);
2
- import{r as s,y as a,z as Ne,bV as q,cP as Ae,cQ as _e,ig as Ee,k0 as Ce,k1 as De,k2 as Ue,k3 as de,k4 as J,k5 as z,k6 as Ve,k7 as qe,k8 as ce,hH as me,k9 as Z,ka as Ie,cr as Se,iB as Te,as as Le,cy as Me,im as te,kb as fe,i6 as oe,kc as le,kd as ge,ke as Re,bw as ze,kf as $e,kg as Oe,da as Fe,kh as Ye,ki as pe,kj as Be,kk as He,_ as We,kl as Qe,km as Xe,bW as Ke,kn as Ge,ko as Je,kp as Ze,kq as ea,kr as aa}from"./tool-windows-BQxcZHGf.js";const ye=5;function ve(e,o,i){const r=Math.max(0,window.innerWidth-o),f=Math.max(0,window.innerHeight-i);return{x:Math.max(0,Math.min(e.x,r)),y:Math.max(0,Math.min(e.y,f))}}function na(e){try{const o=localStorage.getItem(e);if(!o)return null;const i=JSON.parse(o);if(typeof i.x=="number"&&typeof i.y=="number")return i}catch{}return null}function sa(e,o){try{localStorage.setItem(e,JSON.stringify(o))}catch{}}function ia(e){const{storageKey:o,enabled:i=!0}=e,[r,f]=s.useState(()=>i?na(o):null),[v,x]=s.useState(!1),P=s.useRef(!1),N=s.useRef(null),j=s.useRef(null),g=s.useCallback(p=>{if(!i||p.button!==0)return;const y=j.current;if(!y)return;const m=y.getBoundingClientRect();N.current={startPointerX:p.clientX,startPointerY:p.clientY,startElX:m.left,startElY:m.top,activated:!1,frameId:0}},[i]);s.useEffect(()=>{if(!i)return;const p=m=>{const d=N.current;if(!d)return;const b=m.clientX-d.startPointerX,I=m.clientY-d.startPointerY;if(!d.activated){if(Math.abs(b)<ye&&Math.abs(I)<ye)return;d.activated=!0,x(!0)}cancelAnimationFrame(d.frameId),d.frameId=requestAnimationFrame(()=>{const E=j.current;if(!E)return;const c=ve({x:d.startElX+b,y:d.startElY+I},E.offsetWidth,E.offsetHeight);f(c)})},y=()=>{const m=N.current;if(!m)return;cancelAnimationFrame(m.frameId);const d=m.activated;N.current=null,x(!1),d&&(P.current=!0,requestAnimationFrame(()=>{P.current=!1}),f(b=>(b&&sa(o,b),b)))};return window.addEventListener("pointermove",p),window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",y)}},[i,o]),s.useEffect(()=>{if(!i||!r)return;const p=()=>{const y=j.current;y&&f(m=>m&&ve(m,y.offsetWidth,y.offsetHeight))};return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[i,!!r]);const w=s.useCallback(()=>{f(null);try{localStorage.removeItem(o)}catch{}},[o]);return{position:r,isDragging:v,wasDraggedRef:P,elementRef:j,handlePointerDown:g,resetPosition:w}}const ta=({volume:e,onVolumeChange:o})=>{const i=s.useRef(null),r=s.useRef(null),f=s.useRef(!1),v=s.useRef(!1),x=s.useRef(!1),[P,N]=s.useState(!1),[j,g]=s.useState(!1),[w,p]=s.useState(!1),y=Math.round(e*100),m={"--canvas-audio-progress":`${e*100}%`},d=()=>{r.current!==null&&(window.clearTimeout(r.current),r.current=null)},b=()=>{d(),N(!0)},I=()=>{d(),N(c=>!c)},E=()=>{d(),!(v.current||x.current)&&(r.current=window.setTimeout(()=>{N(!1)},180))};return s.useEffect(()=>{v.current=j},[j]),s.useEffect(()=>{x.current=w},[w]),s.useEffect(()=>()=>d(),[]),s.useEffect(()=>{if(!P)return;const c=h=>{var A;(A=i.current)!=null&&A.contains(h.target)||(d(),N(!1),p(!1),g(!1),f.current=!1)};return document.addEventListener("pointerdown",c,!0),()=>document.removeEventListener("pointerdown",c,!0)},[P]),s.useEffect(()=>{if(!w)return;const c=()=>{x.current=!1,p(!1),v.current||(d(),r.current=window.setTimeout(()=>{N(!1)},180))};return window.addEventListener("pointerup",c),()=>window.removeEventListener("pointerup",c)},[w]),a.jsxDEV("div",{ref:i,className:Ne("canvas-audio-player__volume",{"canvas-audio-player__volume--expanded":P}),onPointerDown:c=>c.stopPropagation(),onMouseEnter:()=>{v.current=!0,g(!0),d()},onMouseLeave:()=>{v.current=!1,g(!1),E()},onBlur:c=>{var A;const h=c.relatedTarget;h&&((A=i.current)!=null&&A.contains(h))||E()},children:a.jsxDEV("div",{className:"canvas-audio-player__volume-shell",children:[a.jsxDEV("div",{className:"canvas-audio-player__volume-slider-wrap",children:a.jsxDEV("input",{type:"range",min:0,max:1,step:.01,value:e,onFocus:b,onPointerDown:c=>{c.stopPropagation(),x.current=!0,p(!0),b()},onChange:c=>o(Number(c.target.value)),className:"canvas-audio-player__slider canvas-audio-player__slider--volume",style:m,"aria-label":"Playback volume","aria-valuetext":`${y}%`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:121,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:120,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__volume-value",children:[y,"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:141,columnNumber:9},void 0),a.jsxDEV(q,{content:"音量",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__volume-toggle",onPointerDown:c=>{c.stopPropagation(),f.current=!0},onClick:()=>{f.current=!1,I()},onFocus:()=>{f.current||b()},onBlur:()=>{f.current=!1},"aria-label":"Volume controls","aria-expanded":P,children:e<=.01?a.jsxDEV(Ae,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:166,columnNumber:31},void 0):a.jsxDEV(_e,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:166,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:145,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:144,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:119,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:97,columnNumber:5},void 0)},be="asset:";function oa(e){var o;return(o=e==null?void 0:e.elementId)!=null&&o.startsWith(be)?e.elementId.slice(be.length):null}function he(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return"--:--";const o=Math.floor(e),i=Math.floor(o/60),r=o%60;return`${i}:${String(r).padStart(2,"0")}`}function la(e){var i;const o=((i=e.segments[e.segments.length-1])==null?void 0:i.endMs)||0;return he(o/1e3)}const ua=({queue:e,activeQueueIndex:o,queueSource:i,activePlaylistId:r,playing:f=!1,activeReadingSourceId:v,onSelect:x,onPlayAllTracksItem:P})=>{const{assets:N}=Ee(),{playlists:j,playlistItems:g,favoriteAssetIds:w,createPlaylist:p,addAssetToPlaylist:y,removeAssetFromPlaylist:m,toggleFavorite:d}=Ce(),{contextMenu:b,openAt:I,close:E}=De(),[c,h]=s.useState(!1),[A,U]=s.useState(""),[$,C]=s.useState(null),{noteMetas:L,loadReadingSource:Q,buildReadingQueue:X}=Ue(),[O,F]=s.useState(i==="reading"?de:J),Y=O===de,S=i==="playlist"&&r?r:J,D=e.filter(n=>!z(n)),ee=Ve(D),K=n=>{const t=oa(n);if(t)return t;if(!(n!=null&&n.audioUrl))return null;const u=N.find(k=>k.type===Le.AUDIO&&k.url===n.audioUrl);return(u==null?void 0:u.id)||null},B=s.useMemo(()=>new Set(S!==J?(g[S]||[]).map(n=>n.assetId?qe({kind:"asset",assetId:n.assetId}):null).filter(n=>!!n):[]),[g,S]),T=s.useCallback(async n=>{if(P){P(n);return}const t=await Q(n);t&&(await X(n),x(t))},[P,Q,X,x]),M=s.useMemo(()=>L.map(n=>({id:n.id,title:n.title||"未命名笔记",subtitle:new Date(n.updatedAt).toLocaleDateString("zh-CN"),canFavorite:!1,isActive:(v==null?void 0:v.includes(n.id))===!0,isPlaying:f&&(v==null?void 0:v.includes(n.id))===!0})),[L,v,f]);return i==="reading"?a.jsxDEV("div",{className:"canvas-audio-player__playlist",children:[a.jsxDEV(ce,{className:"canvas-audio-player__playlist-tabs",selectedPlaylistId:O,allCount:D.length,allTracksCount:L.length,playlists:j,playlistItems:g,onSelect:F,onCreate:()=>{U(""),h(!0)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:157,columnNumber:9},void 0),Y?M.length===0?a.jsxDEV("div",{className:"canvas-audio-player__playlist-empty",children:[a.jsxDEV(me,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:173,columnNumber:15},void 0),a.jsxDEV("span",{children:"知识库还没有笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:174,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:172,columnNumber:13},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list",items:M,onSelect:n=>void T(n.id),onTogglePlayback:n=>void T(n.id),showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:177,columnNumber:13},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list audio-track-list--queue",items:e.map((n,t)=>{const u=n;return{id:u.readingSourceId,title:u.title||"朗读轨道",subtitle:la(u),previewImageUrl:u.previewImageUrl,isActive:t===o,isPlaying:t===o,canFavorite:!1}}),onSelect:n=>{const t=e.find(u=>z(u)&&u.readingSourceId===n.id);t&&x(t)},onTogglePlayback:n=>{const t=e.find(u=>z(u)&&u.readingSourceId===n.id);t&&x(t)},showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:186,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:156,columnNumber:7},void 0):a.jsxDEV("div",{className:"canvas-audio-player__playlist",children:[a.jsxDEV(ce,{className:"canvas-audio-player__playlist-tabs",selectedPlaylistId:O,allCount:D.length,allTracksCount:L.length,playlists:j,playlistItems:g,onSelect:F,onCreate:()=>{U(""),h(!0)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:229,columnNumber:7},void 0),Y?M.length===0?a.jsxDEV("div",{className:"canvas-audio-player__playlist-empty",children:[a.jsxDEV(me,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:245,columnNumber:13},void 0),a.jsxDEV("span",{children:"知识库还没有笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:246,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:244,columnNumber:11},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list",items:M,onSelect:n=>void T(n.id),onTogglePlayback:n=>void T(n.id),showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:249,columnNumber:11},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list audio-track-list--queue",items:D.map((n,t)=>{const u=K(n);return{id:`${n.audioUrl}-${t}`,title:n.title||"未命名音频",subtitle:he(ee.get(n.audioUrl)??n.duration),previewImageUrl:n.previewImageUrl,isActive:t===o,isPlaying:t===o,isFavorite:u?w.has(u):!1,canFavorite:!!u}}),onSelect:n=>{const t=D.find((u,k)=>`${u.audioUrl}-${k}`===n.id);t&&x(t)},onContextMenu:(n,t)=>{const u=D.find((H,ae)=>`${H.audioUrl}-${ae}`===n.id),k=K(u);k&&(t.preventDefault(),t.stopPropagation(),I(t.clientX,t.clientY,{kind:"asset",assetId:k}))},onToggleFavorite:n=>{const t=D.find((k,H)=>`${k.audioUrl}-${H}`===n.id),u=K(t);u&&d(u)},onTogglePlayback:n=>{const t=D.find((u,k)=>`${u.audioUrl}-${k}`===n.id);t&&x(t)},showFavoriteButton:!0,showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:258,columnNumber:9},void 0),a.jsxDEV(Ie,{contextMenu:b?{x:b.x,y:b.y,item:b.payload}:null,playlists:j,playlistItems:g,favoriteAssetIds:w,selectedPlaylistId:S===J?null:S,currentPlaylistItemKeys:B,onClose:E,onToggleFavorite:n=>void d(n),onAddToPlaylist:(n,t)=>{n.kind==="asset"&&y(n.assetId,t)},onRemoveFromPlaylist:(n,t)=>{n.kind==="asset"&&m(n.assetId,t)},onCreatePlaylistAndAdd:n=>{n.kind==="asset"&&(C(n.assetId),U(""),h(!0))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:307,columnNumber:7},void 0),a.jsxDEV(Se,{visible:c,header:"新建播放列表",onClose:()=>h(!1),onConfirm:async()=>{const n=await p(A);$&&await y($,n.id),h(!1),U(""),C(null)},onCancel:()=>{h(!1),C(null)},confirmBtn:"确定",cancelBtn:"取消",children:a.jsxDEV(Te,{value:A,onChange:n=>U(String(n)),placeholder:"请输入播放列表名称"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:363,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:343,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:228,columnNumber:5},void 0)},Pe={sequential:a.jsxDEV(ea,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:45,columnNumber:15},void 0),"list-loop":a.jsxDEV(Ze,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:46,columnNumber:16},void 0),"single-loop":a.jsxDEV(Je,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:47,columnNumber:18},void 0),shuffle:a.jsxDEV(Ge,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:48,columnNumber:12},void 0)},ra=Object.keys(le).map(e=>({value:e,content:le[e],prefixIcon:Pe[e]}));function da(e,o){return aa(o).map(i=>{const r=ge(i),f=Math.abs(i-e)<.001;return{value:i,content:f?`✓ ${r}`:r}})}function xe(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return"--:--";const o=Math.floor(e),i=Math.floor(o/60),r=o%60;return`${i}:${String(r).padStart(2,"0")}`}const fa=()=>{const e=Me(),o=s.useRef(null),[i,r]=s.useState(!1),[f,v]=s.useState(()=>{const l=te.getToolState(fe);return(l==null?void 0:l.status)==="open"}),[x,P]=s.useState(()=>{try{return localStorage.getItem(oe.AUDIO_PLAYER_LAYOUT)==="vertical"?"vertical":"horizontal"}catch{return"horizontal"}}),[N,j]=s.useState(()=>typeof window<"u"?window.innerWidth:1024);s.useEffect(()=>{const l=()=>j(window.innerWidth);return window.addEventListener("resize",l),window.addEventListener("orientationchange",l),()=>{window.removeEventListener("resize",l),window.removeEventListener("orientationchange",l)}},[]);const g=N<=768?"vertical":x,[w,p]=s.useState(null),y=N<=768,{position:m,isDragging:d,wasDraggedRef:b,elementRef:I,handlePointerDown:E}=ia({storageKey:oe.AUDIO_PLAYER_POSITION,enabled:!y}),c=s.useMemo(()=>!e.duration||e.duration<=0?0:Math.max(0,Math.min(100,e.currentTime/e.duration*100)),[e.currentTime,e.duration]),h=Number.isFinite(e.currentTime)?e.currentTime:0,A=Number.isFinite(e.duration)?e.duration:0,U=xe(h),$=xe(A),C=e.activeQueueIndex>=0?e.queue[e.activeQueueIndex]:null,L=e.activeTitle||(z(C)?C.title:void 0),Q=e.activePreviewImageUrl||(z(C)?C.previewImageUrl:void 0),X=e.activeQueueIndex>0,O=e.activeQueueIndex>=0&&e.activeQueueIndex<e.queue.length-1,F=e.queue.length>1&&e.activeQueueIndex>=0,Y=F?`${e.activeQueueIndex+1}/${e.queue.length}`:null,S=e.queueSource==="playlist"?e.activePlaylistName||"播放列表":e.activePlaylistName||(e.queueSource==="reading"?"朗读轨道":"画布音频"),D=F?`${S} ${e.activeQueueIndex+1} / ${e.queue.length}`:S,ee=Y?`${Y} · ${U} / ${$}`:`${U} / ${$}`,B=e.queueSource==="reading"&&(!!e.activeReadingSourceId||C!==null&&z(C))||!!e.activeAudioUrl,T=e.mediaType==="audio",M=e.mediaType==="reading"?"reading":"audio",n=le[e.playbackMode],t=Pe[e.playbackMode],u=s.useMemo(()=>da(e.effectivePlaybackRate,M),[e.effectivePlaybackRate,M]),k=ge(e.effectivePlaybackRate),H=`${e.mediaType==="reading"?"语音速度":"播放速度"} ${k}`,ae={"--canvas-audio-progress":`${c}%`},we=s.useCallback(()=>{P(l=>{const _=l==="horizontal"?"vertical":"horizontal";try{localStorage.setItem(oe.AUDIO_PLAYER_LAYOUT,_)}catch{}return _})},[]),ke=s.useCallback(async()=>{try{e.playing?e.pausePlayback():await e.resumePlayback()}catch{}},[e]);if(s.useEffect(()=>{if(!B){r(!1),p(null);return}let l=0;const _=()=>{const re=document.querySelector(".ai-input-bar__container");if(!(re instanceof HTMLElement)){p(null);return}const ie=re.getBoundingClientRect(),G={left:Math.round(ie.left),width:Math.round(ie.width),bottom:Math.max(0,Math.round(window.innerHeight-ie.top))};p(W=>W&&W.left===G.left&&W.width===G.width&&W.bottom===G.bottom?W:G)},V=()=>{window.cancelAnimationFrame(l),l=window.requestAnimationFrame(_)},ne=document.querySelector(".ai-input-bar__container"),se=document.querySelector(".ai-input-bar"),R=typeof ResizeObserver<"u"?new ResizeObserver(()=>V()):null;return R&&ne instanceof HTMLElement&&R.observe(ne),R&&se instanceof HTMLElement&&se!==ne&&R.observe(se),V(),window.addEventListener("resize",V),window.addEventListener("orientationchange",V),()=>{window.cancelAnimationFrame(l),window.removeEventListener("resize",V),window.removeEventListener("orientationchange",V),R==null||R.disconnect()}},[B]),s.useEffect(()=>{if(!i)return;const l=_=>{var V;(V=o.current)!=null&&V.contains(_.target)||r(!1)};return document.addEventListener("pointerdown",l,!0),()=>document.removeEventListener("pointerdown",l,!0)},[i]),s.useEffect(()=>{I.current=o.current}),s.useEffect(()=>{const l=te.observeToolStates().subscribe(()=>{const _=te.getToolState(fe);v((_==null?void 0:_.status)==="open")});return()=>l.unsubscribe()},[]),!B||f)return null;const je=m&&!y?{left:m.x,top:m.y}:{},ue={...w?{"--canvas-audio-mobile-left":`${w.left}px`,"--canvas-audio-mobile-width":`${w.width}px`,"--canvas-audio-mobile-offset":`${w.bottom}px`}:{},...je};return a.jsxDEV("div",{ref:o,className:Ne("canvas-audio-player",{"canvas-audio-player--playlist-open":i,"canvas-audio-player--positioned":!!m,"canvas-audio-player--dragging":d,"canvas-audio-player--vertical":g==="vertical"}),style:Object.keys(ue).length>0?ue:void 0,children:[a.jsxDEV("button",{type:"button",className:"canvas-audio-player__queue-trigger",onPointerDown:E,onClick:()=>{b.current||r(l=>!l)},"aria-expanded":i,"aria-label":"切换播放列表",children:[a.jsxDEV("div",{className:"canvas-audio-player__cover",children:a.jsxDEV(Re,{src:Q,alt:L||"Audio cover",fallbackClassName:"canvas-audio-player__cover-fallback",iconSize:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:370,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:369,columnNumber:9},void 0),a.jsxDEV("div",{className:"canvas-audio-player__meta",children:[a.jsxDEV("div",{className:"canvas-audio-player__title",children:L||"未命名音频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:379,columnNumber:11},void 0),a.jsxDEV("div",{className:"canvas-audio-player__subtitle",children:[a.jsxDEV("span",{className:"canvas-audio-player__subtitle-text canvas-audio-player__subtitle-text--desktop",children:D},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:383,columnNumber:13},void 0),a.jsxDEV("span",{className:"canvas-audio-player__subtitle-text canvas-audio-player__subtitle-text--mobile",children:ee},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:386,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:382,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:378,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__queue-indicator","aria-hidden":"true",children:a.jsxDEV(ze,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:396,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:392,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:359,columnNumber:7},void 0),a.jsxDEV("div",{className:"canvas-audio-player__controls",children:[a.jsxDEV(q,{content:"上一首",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--previous",onClick:()=>void e.playPrevious(),disabled:!X,children:a.jsxDEV($e,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:408,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:402,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:401,columnNumber:9},void 0),a.jsxDEV(q,{content:e.playing?"暂停":"播放",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--primary",onClick:()=>void ke(),children:e.playing?a.jsxDEV(Oe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:417,columnNumber:33},void 0):a.jsxDEV(Fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:417,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:412,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:411,columnNumber:9},void 0),a.jsxDEV(q,{content:"下一首",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--next",onClick:()=>void e.playNext(),disabled:!O,children:a.jsxDEV(Ye,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:427,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:421,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:420,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:400,columnNumber:7},void 0),a.jsxDEV("div",{className:"canvas-audio-player__progress",children:[a.jsxDEV("span",{className:"canvas-audio-player__time",children:U},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:433,columnNumber:9},void 0),a.jsxDEV("input",{type:"range",min:0,max:A||0,step:.1,value:Math.min(h,A||h),onChange:l=>{T&&e.seekTo(Number(l.target.value))},className:"canvas-audio-player__slider canvas-audio-player__slider--progress",style:ae,"aria-label":T?"Audio progress":"Reading progress",disabled:!T},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:434,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__time",children:$},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:450,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:432,columnNumber:7},void 0),a.jsxDEV(ta,{volume:e.volume,onVolumeChange:e.setVolume},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:453,columnNumber:7},void 0),a.jsxDEV(pe,{options:u,trigger:"click",placement:"bottom",minColumnWidth:112,onClick:l=>e.setPlaybackRate(Number(l.value)),children:a.jsxDEV(q,{content:H,children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__speed-toggle","aria-label":`切换播放速度,当前${k}`,children:a.jsxDEV(Be,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:471,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:466,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:465,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:458,columnNumber:7},void 0),a.jsxDEV(pe,{options:ra,trigger:"click",placement:"bottom",minColumnWidth:132,onClick:l=>e.setPlaybackMode(l.value),children:a.jsxDEV(q,{content:n,children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__mode-toggle","aria-label":`切换播放模式,当前${n}`,children:t},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:484,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:483,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:476,columnNumber:7},void 0),a.jsxDEV(q,{content:"打开播放器工具",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__player-switch canvas-audio-player__switch-toggle",onClick:()=>{We(async()=>{const{openMusicPlayerTool:l}=await import("./tool-windows-BQxcZHGf.js").then(_=>_.oz);return{openMusicPlayerTool:l}},__vite__mapDeps([0]),import.meta.url).then(({openMusicPlayerTool:l})=>{l()})},"aria-label":"打开播放器工具",children:a.jsxDEV(He,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:507,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:495,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:494,columnNumber:7},void 0),a.jsxDEV(q,{content:g==="horizontal"?"切换为垂直布局":"切换为水平布局",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__layout-toggle",onClick:we,style:{display:N<=768?"none":""},children:g==="horizontal"?a.jsxDEV(Qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:523,columnNumber:13},void 0):a.jsxDEV(Xe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:525,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:516,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:511,columnNumber:7},void 0),a.jsxDEV(q,{content:"关闭播放器",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__close",onClick:e.stopPlayback,children:a.jsxDEV(Ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:536,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:531,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:530,columnNumber:7},void 0),i?a.jsxDEV(ua,{queue:e.queue,activeQueueIndex:e.activeQueueIndex,queueSource:e.queueSource,activePlaylistId:e.activePlaylistId,playing:e.playing,activeReadingSourceId:e.activeReadingSourceId,onSelect:l=>{z(l)?e.toggleReadingPlayback(l):e.togglePlayback(l),r(!1)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:541,columnNumber:9},void 0):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:349,columnNumber:5},void 0)};export{fa as CanvasAudioPlayer};
2
+ import{r as s,y as a,z as Ne,bV as q,cP as Ae,cQ as _e,ig as Ee,k2 as Ce,k3 as De,k4 as Ue,k5 as de,k6 as J,k7 as z,k8 as Ve,k9 as qe,ka as ce,hH as me,kb as Z,kc as Ie,cr as Se,iB as Te,as as Le,cy as Me,im as te,kd as fe,i6 as oe,ke as le,kf as ge,kg as Re,bw as ze,kh as $e,ki as Oe,da as Fe,kj as Ye,kk as pe,kl as Be,km as He,_ as We,kn as Qe,ko as Xe,bW as Ke,kp as Ge,kq as Je,kr as Ze,ks as ea,kt as aa}from"./tool-windows-ChVAz4nw.js";const ye=5;function ve(e,o,i){const r=Math.max(0,window.innerWidth-o),f=Math.max(0,window.innerHeight-i);return{x:Math.max(0,Math.min(e.x,r)),y:Math.max(0,Math.min(e.y,f))}}function na(e){try{const o=localStorage.getItem(e);if(!o)return null;const i=JSON.parse(o);if(typeof i.x=="number"&&typeof i.y=="number")return i}catch{}return null}function sa(e,o){try{localStorage.setItem(e,JSON.stringify(o))}catch{}}function ia(e){const{storageKey:o,enabled:i=!0}=e,[r,f]=s.useState(()=>i?na(o):null),[v,x]=s.useState(!1),P=s.useRef(!1),N=s.useRef(null),j=s.useRef(null),g=s.useCallback(p=>{if(!i||p.button!==0)return;const y=j.current;if(!y)return;const m=y.getBoundingClientRect();N.current={startPointerX:p.clientX,startPointerY:p.clientY,startElX:m.left,startElY:m.top,activated:!1,frameId:0}},[i]);s.useEffect(()=>{if(!i)return;const p=m=>{const d=N.current;if(!d)return;const b=m.clientX-d.startPointerX,I=m.clientY-d.startPointerY;if(!d.activated){if(Math.abs(b)<ye&&Math.abs(I)<ye)return;d.activated=!0,x(!0)}cancelAnimationFrame(d.frameId),d.frameId=requestAnimationFrame(()=>{const E=j.current;if(!E)return;const c=ve({x:d.startElX+b,y:d.startElY+I},E.offsetWidth,E.offsetHeight);f(c)})},y=()=>{const m=N.current;if(!m)return;cancelAnimationFrame(m.frameId);const d=m.activated;N.current=null,x(!1),d&&(P.current=!0,requestAnimationFrame(()=>{P.current=!1}),f(b=>(b&&sa(o,b),b)))};return window.addEventListener("pointermove",p),window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",y)}},[i,o]),s.useEffect(()=>{if(!i||!r)return;const p=()=>{const y=j.current;y&&f(m=>m&&ve(m,y.offsetWidth,y.offsetHeight))};return window.addEventListener("resize",p),()=>window.removeEventListener("resize",p)},[i,!!r]);const w=s.useCallback(()=>{f(null);try{localStorage.removeItem(o)}catch{}},[o]);return{position:r,isDragging:v,wasDraggedRef:P,elementRef:j,handlePointerDown:g,resetPosition:w}}const ta=({volume:e,onVolumeChange:o})=>{const i=s.useRef(null),r=s.useRef(null),f=s.useRef(!1),v=s.useRef(!1),x=s.useRef(!1),[P,N]=s.useState(!1),[j,g]=s.useState(!1),[w,p]=s.useState(!1),y=Math.round(e*100),m={"--canvas-audio-progress":`${e*100}%`},d=()=>{r.current!==null&&(window.clearTimeout(r.current),r.current=null)},b=()=>{d(),N(!0)},I=()=>{d(),N(c=>!c)},E=()=>{d(),!(v.current||x.current)&&(r.current=window.setTimeout(()=>{N(!1)},180))};return s.useEffect(()=>{v.current=j},[j]),s.useEffect(()=>{x.current=w},[w]),s.useEffect(()=>()=>d(),[]),s.useEffect(()=>{if(!P)return;const c=h=>{var A;(A=i.current)!=null&&A.contains(h.target)||(d(),N(!1),p(!1),g(!1),f.current=!1)};return document.addEventListener("pointerdown",c,!0),()=>document.removeEventListener("pointerdown",c,!0)},[P]),s.useEffect(()=>{if(!w)return;const c=()=>{x.current=!1,p(!1),v.current||(d(),r.current=window.setTimeout(()=>{N(!1)},180))};return window.addEventListener("pointerup",c),()=>window.removeEventListener("pointerup",c)},[w]),a.jsxDEV("div",{ref:i,className:Ne("canvas-audio-player__volume",{"canvas-audio-player__volume--expanded":P}),onPointerDown:c=>c.stopPropagation(),onMouseEnter:()=>{v.current=!0,g(!0),d()},onMouseLeave:()=>{v.current=!1,g(!1),E()},onBlur:c=>{var A;const h=c.relatedTarget;h&&((A=i.current)!=null&&A.contains(h))||E()},children:a.jsxDEV("div",{className:"canvas-audio-player__volume-shell",children:[a.jsxDEV("div",{className:"canvas-audio-player__volume-slider-wrap",children:a.jsxDEV("input",{type:"range",min:0,max:1,step:.01,value:e,onFocus:b,onPointerDown:c=>{c.stopPropagation(),x.current=!0,p(!0),b()},onChange:c=>o(Number(c.target.value)),className:"canvas-audio-player__slider canvas-audio-player__slider--volume",style:m,"aria-label":"Playback volume","aria-valuetext":`${y}%`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:121,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:120,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__volume-value",children:[y,"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:141,columnNumber:9},void 0),a.jsxDEV(q,{content:"音量",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__volume-toggle",onPointerDown:c=>{c.stopPropagation(),f.current=!0},onClick:()=>{f.current=!1,I()},onFocus:()=>{f.current||b()},onBlur:()=>{f.current=!1},"aria-label":"Volume controls","aria-expanded":P,children:e<=.01?a.jsxDEV(Ae,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:166,columnNumber:31},void 0):a.jsxDEV(_e,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:166,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:145,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:144,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:119,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerVolume.tsx",lineNumber:97,columnNumber:5},void 0)},be="asset:";function oa(e){var o;return(o=e==null?void 0:e.elementId)!=null&&o.startsWith(be)?e.elementId.slice(be.length):null}function he(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return"--:--";const o=Math.floor(e),i=Math.floor(o/60),r=o%60;return`${i}:${String(r).padStart(2,"0")}`}function la(e){var i;const o=((i=e.segments[e.segments.length-1])==null?void 0:i.endMs)||0;return he(o/1e3)}const ua=({queue:e,activeQueueIndex:o,queueSource:i,activePlaylistId:r,playing:f=!1,activeReadingSourceId:v,onSelect:x,onPlayAllTracksItem:P})=>{const{assets:N}=Ee(),{playlists:j,playlistItems:g,favoriteAssetIds:w,createPlaylist:p,addAssetToPlaylist:y,removeAssetFromPlaylist:m,toggleFavorite:d}=Ce(),{contextMenu:b,openAt:I,close:E}=De(),[c,h]=s.useState(!1),[A,U]=s.useState(""),[$,C]=s.useState(null),{noteMetas:L,loadReadingSource:Q,buildReadingQueue:X}=Ue(),[O,F]=s.useState(i==="reading"?de:J),Y=O===de,S=i==="playlist"&&r?r:J,D=e.filter(n=>!z(n)),ee=Ve(D),K=n=>{const t=oa(n);if(t)return t;if(!(n!=null&&n.audioUrl))return null;const u=N.find(k=>k.type===Le.AUDIO&&k.url===n.audioUrl);return(u==null?void 0:u.id)||null},B=s.useMemo(()=>new Set(S!==J?(g[S]||[]).map(n=>n.assetId?qe({kind:"asset",assetId:n.assetId}):null).filter(n=>!!n):[]),[g,S]),T=s.useCallback(async n=>{if(P){P(n);return}const t=await Q(n);t&&(await X(n),x(t))},[P,Q,X,x]),M=s.useMemo(()=>L.map(n=>({id:n.id,title:n.title||"未命名笔记",subtitle:new Date(n.updatedAt).toLocaleDateString("zh-CN"),canFavorite:!1,isActive:(v==null?void 0:v.includes(n.id))===!0,isPlaying:f&&(v==null?void 0:v.includes(n.id))===!0})),[L,v,f]);return i==="reading"?a.jsxDEV("div",{className:"canvas-audio-player__playlist",children:[a.jsxDEV(ce,{className:"canvas-audio-player__playlist-tabs",selectedPlaylistId:O,allCount:D.length,allTracksCount:L.length,playlists:j,playlistItems:g,onSelect:F,onCreate:()=>{U(""),h(!0)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:157,columnNumber:9},void 0),Y?M.length===0?a.jsxDEV("div",{className:"canvas-audio-player__playlist-empty",children:[a.jsxDEV(me,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:173,columnNumber:15},void 0),a.jsxDEV("span",{children:"知识库还没有笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:174,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:172,columnNumber:13},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list",items:M,onSelect:n=>void T(n.id),onTogglePlayback:n=>void T(n.id),showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:177,columnNumber:13},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list audio-track-list--queue",items:e.map((n,t)=>{const u=n;return{id:u.readingSourceId,title:u.title||"朗读轨道",subtitle:la(u),previewImageUrl:u.previewImageUrl,isActive:t===o,isPlaying:t===o,canFavorite:!1}}),onSelect:n=>{const t=e.find(u=>z(u)&&u.readingSourceId===n.id);t&&x(t)},onTogglePlayback:n=>{const t=e.find(u=>z(u)&&u.readingSourceId===n.id);t&&x(t)},showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:186,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:156,columnNumber:7},void 0):a.jsxDEV("div",{className:"canvas-audio-player__playlist",children:[a.jsxDEV(ce,{className:"canvas-audio-player__playlist-tabs",selectedPlaylistId:O,allCount:D.length,allTracksCount:L.length,playlists:j,playlistItems:g,onSelect:F,onCreate:()=>{U(""),h(!0)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:229,columnNumber:7},void 0),Y?M.length===0?a.jsxDEV("div",{className:"canvas-audio-player__playlist-empty",children:[a.jsxDEV(me,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:245,columnNumber:13},void 0),a.jsxDEV("span",{children:"知识库还没有笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:246,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:244,columnNumber:11},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list",items:M,onSelect:n=>void T(n.id),onTogglePlayback:n=>void T(n.id),showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:249,columnNumber:11},void 0):a.jsxDEV(Z,{className:"canvas-audio-player__playlist-list audio-track-list--queue",items:D.map((n,t)=>{const u=K(n);return{id:`${n.audioUrl}-${t}`,title:n.title||"未命名音频",subtitle:he(ee.get(n.audioUrl)??n.duration),previewImageUrl:n.previewImageUrl,isActive:t===o,isPlaying:t===o,isFavorite:u?w.has(u):!1,canFavorite:!!u}}),onSelect:n=>{const t=D.find((u,k)=>`${u.audioUrl}-${k}`===n.id);t&&x(t)},onContextMenu:(n,t)=>{const u=D.find((H,ae)=>`${H.audioUrl}-${ae}`===n.id),k=K(u);k&&(t.preventDefault(),t.stopPropagation(),I(t.clientX,t.clientY,{kind:"asset",assetId:k}))},onToggleFavorite:n=>{const t=D.find((k,H)=>`${k.audioUrl}-${H}`===n.id),u=K(t);u&&d(u)},onTogglePlayback:n=>{const t=D.find((u,k)=>`${u.audioUrl}-${k}`===n.id);t&&x(t)},showFavoriteButton:!0,showPlaybackIndicator:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:258,columnNumber:9},void 0),a.jsxDEV(Ie,{contextMenu:b?{x:b.x,y:b.y,item:b.payload}:null,playlists:j,playlistItems:g,favoriteAssetIds:w,selectedPlaylistId:S===J?null:S,currentPlaylistItemKeys:B,onClose:E,onToggleFavorite:n=>void d(n),onAddToPlaylist:(n,t)=>{n.kind==="asset"&&y(n.assetId,t)},onRemoveFromPlaylist:(n,t)=>{n.kind==="asset"&&m(n.assetId,t)},onCreatePlaylistAndAdd:n=>{n.kind==="asset"&&(C(n.assetId),U(""),h(!0))}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:307,columnNumber:7},void 0),a.jsxDEV(Se,{visible:c,header:"新建播放列表",onClose:()=>h(!1),onConfirm:async()=>{const n=await p(A);$&&await y($,n.id),h(!1),U(""),C(null)},onCancel:()=>{h(!1),C(null)},confirmBtn:"确定",cancelBtn:"取消",children:a.jsxDEV(Te,{value:A,onChange:n=>U(String(n)),placeholder:"请输入播放列表名称"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:363,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:343,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayerPlaylist.tsx",lineNumber:228,columnNumber:5},void 0)},Pe={sequential:a.jsxDEV(ea,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:45,columnNumber:15},void 0),"list-loop":a.jsxDEV(Ze,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:46,columnNumber:16},void 0),"single-loop":a.jsxDEV(Je,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:47,columnNumber:18},void 0),shuffle:a.jsxDEV(Ge,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:48,columnNumber:12},void 0)},ra=Object.keys(le).map(e=>({value:e,content:le[e],prefixIcon:Pe[e]}));function da(e,o){return aa(o).map(i=>{const r=ge(i),f=Math.abs(i-e)<.001;return{value:i,content:f?`✓ ${r}`:r}})}function xe(e){if(typeof e!="number"||!Number.isFinite(e)||e<=0)return"--:--";const o=Math.floor(e),i=Math.floor(o/60),r=o%60;return`${i}:${String(r).padStart(2,"0")}`}const fa=()=>{const e=Me(),o=s.useRef(null),[i,r]=s.useState(!1),[f,v]=s.useState(()=>{const l=te.getToolState(fe);return(l==null?void 0:l.status)==="open"}),[x,P]=s.useState(()=>{try{return localStorage.getItem(oe.AUDIO_PLAYER_LAYOUT)==="vertical"?"vertical":"horizontal"}catch{return"horizontal"}}),[N,j]=s.useState(()=>typeof window<"u"?window.innerWidth:1024);s.useEffect(()=>{const l=()=>j(window.innerWidth);return window.addEventListener("resize",l),window.addEventListener("orientationchange",l),()=>{window.removeEventListener("resize",l),window.removeEventListener("orientationchange",l)}},[]);const g=N<=768?"vertical":x,[w,p]=s.useState(null),y=N<=768,{position:m,isDragging:d,wasDraggedRef:b,elementRef:I,handlePointerDown:E}=ia({storageKey:oe.AUDIO_PLAYER_POSITION,enabled:!y}),c=s.useMemo(()=>!e.duration||e.duration<=0?0:Math.max(0,Math.min(100,e.currentTime/e.duration*100)),[e.currentTime,e.duration]),h=Number.isFinite(e.currentTime)?e.currentTime:0,A=Number.isFinite(e.duration)?e.duration:0,U=xe(h),$=xe(A),C=e.activeQueueIndex>=0?e.queue[e.activeQueueIndex]:null,L=e.activeTitle||(z(C)?C.title:void 0),Q=e.activePreviewImageUrl||(z(C)?C.previewImageUrl:void 0),X=e.activeQueueIndex>0,O=e.activeQueueIndex>=0&&e.activeQueueIndex<e.queue.length-1,F=e.queue.length>1&&e.activeQueueIndex>=0,Y=F?`${e.activeQueueIndex+1}/${e.queue.length}`:null,S=e.queueSource==="playlist"?e.activePlaylistName||"播放列表":e.activePlaylistName||(e.queueSource==="reading"?"朗读轨道":"画布音频"),D=F?`${S} ${e.activeQueueIndex+1} / ${e.queue.length}`:S,ee=Y?`${Y} · ${U} / ${$}`:`${U} / ${$}`,B=e.queueSource==="reading"&&(!!e.activeReadingSourceId||C!==null&&z(C))||!!e.activeAudioUrl,T=e.mediaType==="audio",M=e.mediaType==="reading"?"reading":"audio",n=le[e.playbackMode],t=Pe[e.playbackMode],u=s.useMemo(()=>da(e.effectivePlaybackRate,M),[e.effectivePlaybackRate,M]),k=ge(e.effectivePlaybackRate),H=`${e.mediaType==="reading"?"语音速度":"播放速度"} ${k}`,ae={"--canvas-audio-progress":`${c}%`},we=s.useCallback(()=>{P(l=>{const _=l==="horizontal"?"vertical":"horizontal";try{localStorage.setItem(oe.AUDIO_PLAYER_LAYOUT,_)}catch{}return _})},[]),ke=s.useCallback(async()=>{try{e.playing?e.pausePlayback():await e.resumePlayback()}catch{}},[e]);if(s.useEffect(()=>{if(!B){r(!1),p(null);return}let l=0;const _=()=>{const re=document.querySelector(".ai-input-bar__container");if(!(re instanceof HTMLElement)){p(null);return}const ie=re.getBoundingClientRect(),G={left:Math.round(ie.left),width:Math.round(ie.width),bottom:Math.max(0,Math.round(window.innerHeight-ie.top))};p(W=>W&&W.left===G.left&&W.width===G.width&&W.bottom===G.bottom?W:G)},V=()=>{window.cancelAnimationFrame(l),l=window.requestAnimationFrame(_)},ne=document.querySelector(".ai-input-bar__container"),se=document.querySelector(".ai-input-bar"),R=typeof ResizeObserver<"u"?new ResizeObserver(()=>V()):null;return R&&ne instanceof HTMLElement&&R.observe(ne),R&&se instanceof HTMLElement&&se!==ne&&R.observe(se),V(),window.addEventListener("resize",V),window.addEventListener("orientationchange",V),()=>{window.cancelAnimationFrame(l),window.removeEventListener("resize",V),window.removeEventListener("orientationchange",V),R==null||R.disconnect()}},[B]),s.useEffect(()=>{if(!i)return;const l=_=>{var V;(V=o.current)!=null&&V.contains(_.target)||r(!1)};return document.addEventListener("pointerdown",l,!0),()=>document.removeEventListener("pointerdown",l,!0)},[i]),s.useEffect(()=>{I.current=o.current}),s.useEffect(()=>{const l=te.observeToolStates().subscribe(()=>{const _=te.getToolState(fe);v((_==null?void 0:_.status)==="open")});return()=>l.unsubscribe()},[]),!B||f)return null;const je=m&&!y?{left:m.x,top:m.y}:{},ue={...w?{"--canvas-audio-mobile-left":`${w.left}px`,"--canvas-audio-mobile-width":`${w.width}px`,"--canvas-audio-mobile-offset":`${w.bottom}px`}:{},...je};return a.jsxDEV("div",{ref:o,className:Ne("canvas-audio-player",{"canvas-audio-player--playlist-open":i,"canvas-audio-player--positioned":!!m,"canvas-audio-player--dragging":d,"canvas-audio-player--vertical":g==="vertical"}),style:Object.keys(ue).length>0?ue:void 0,children:[a.jsxDEV("button",{type:"button",className:"canvas-audio-player__queue-trigger",onPointerDown:E,onClick:()=>{b.current||r(l=>!l)},"aria-expanded":i,"aria-label":"切换播放列表",children:[a.jsxDEV("div",{className:"canvas-audio-player__cover",children:a.jsxDEV(Re,{src:Q,alt:L||"Audio cover",fallbackClassName:"canvas-audio-player__cover-fallback",iconSize:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:370,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:369,columnNumber:9},void 0),a.jsxDEV("div",{className:"canvas-audio-player__meta",children:[a.jsxDEV("div",{className:"canvas-audio-player__title",children:L||"未命名音频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:379,columnNumber:11},void 0),a.jsxDEV("div",{className:"canvas-audio-player__subtitle",children:[a.jsxDEV("span",{className:"canvas-audio-player__subtitle-text canvas-audio-player__subtitle-text--desktop",children:D},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:383,columnNumber:13},void 0),a.jsxDEV("span",{className:"canvas-audio-player__subtitle-text canvas-audio-player__subtitle-text--mobile",children:ee},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:386,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:382,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:378,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__queue-indicator","aria-hidden":"true",children:a.jsxDEV(ze,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:396,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:392,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:359,columnNumber:7},void 0),a.jsxDEV("div",{className:"canvas-audio-player__controls",children:[a.jsxDEV(q,{content:"上一首",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--previous",onClick:()=>void e.playPrevious(),disabled:!X,children:a.jsxDEV($e,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:408,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:402,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:401,columnNumber:9},void 0),a.jsxDEV(q,{content:e.playing?"暂停":"播放",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--primary",onClick:()=>void ke(),children:e.playing?a.jsxDEV(Oe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:417,columnNumber:33},void 0):a.jsxDEV(Fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:417,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:412,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:411,columnNumber:9},void 0),a.jsxDEV(q,{content:"下一首",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__action canvas-audio-player__action--next",onClick:()=>void e.playNext(),disabled:!O,children:a.jsxDEV(Ye,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:427,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:421,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:420,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:400,columnNumber:7},void 0),a.jsxDEV("div",{className:"canvas-audio-player__progress",children:[a.jsxDEV("span",{className:"canvas-audio-player__time",children:U},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:433,columnNumber:9},void 0),a.jsxDEV("input",{type:"range",min:0,max:A||0,step:.1,value:Math.min(h,A||h),onChange:l=>{T&&e.seekTo(Number(l.target.value))},className:"canvas-audio-player__slider canvas-audio-player__slider--progress",style:ae,"aria-label":T?"Audio progress":"Reading progress",disabled:!T},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:434,columnNumber:9},void 0),a.jsxDEV("span",{className:"canvas-audio-player__time",children:$},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:450,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:432,columnNumber:7},void 0),a.jsxDEV(ta,{volume:e.volume,onVolumeChange:e.setVolume},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:453,columnNumber:7},void 0),a.jsxDEV(pe,{options:u,trigger:"click",placement:"bottom",minColumnWidth:112,onClick:l=>e.setPlaybackRate(Number(l.value)),children:a.jsxDEV(q,{content:H,children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__speed-toggle","aria-label":`切换播放速度,当前${k}`,children:a.jsxDEV(Be,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:471,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:466,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:465,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:458,columnNumber:7},void 0),a.jsxDEV(pe,{options:ra,trigger:"click",placement:"bottom",minColumnWidth:132,onClick:l=>e.setPlaybackMode(l.value),children:a.jsxDEV(q,{content:n,children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__mode-toggle","aria-label":`切换播放模式,当前${n}`,children:t},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:484,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:483,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:476,columnNumber:7},void 0),a.jsxDEV(q,{content:"打开播放器工具",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__player-switch canvas-audio-player__switch-toggle",onClick:()=>{We(async()=>{const{openMusicPlayerTool:l}=await import("./tool-windows-ChVAz4nw.js").then(_=>_.oB);return{openMusicPlayerTool:l}},__vite__mapDeps([0]),import.meta.url).then(({openMusicPlayerTool:l})=>{l()})},"aria-label":"打开播放器工具",children:a.jsxDEV(He,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:507,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:495,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:494,columnNumber:7},void 0),a.jsxDEV(q,{content:g==="horizontal"?"切换为垂直布局":"切换为水平布局",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__toggle canvas-audio-player__layout-toggle",onClick:we,style:{display:N<=768?"none":""},children:g==="horizontal"?a.jsxDEV(Qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:523,columnNumber:13},void 0):a.jsxDEV(Xe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:525,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:516,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:511,columnNumber:7},void 0),a.jsxDEV(q,{content:"关闭播放器",children:a.jsxDEV("button",{type:"button",className:"canvas-audio-player__close",onClick:e.stopPlayback,children:a.jsxDEV(Ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:536,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:531,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:530,columnNumber:7},void 0),i?a.jsxDEV(ua,{queue:e.queue,activeQueueIndex:e.activeQueueIndex,queueSource:e.queueSource,activePlaylistId:e.activePlaylistId,playing:e.playing,activeReadingSourceId:e.activeReadingSourceId,onSelect:l=>{z(l)?e.toggleReadingPlayback(l):e.togglePlayback(l),r(!1)}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:541,columnNumber:9},void 0):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/audio-node-element/CanvasAudioPlayer.tsx",lineNumber:349,columnNumber:5},void 0)};export{fa as CanvasAudioPlayer};