aitu-app 0.5.37 → 0.5.39

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 (133) hide show
  1. package/README.md +3 -3
  2. package/assets/{ChatMessagesArea-4R5uSEvc.js → ChatMessagesArea-DBsSaQfM.js} +3 -3
  3. package/assets/{DialogTaskList-s41NUoZM.js → DialogTaskList-Fy2YnTcK.js} +1 -1
  4. package/assets/{Serializer-CrbKWfwv.js → Serializer-BBbyVbcD.js} +1 -1
  5. package/assets/{ToolboxDrawer-BkXaNTSp.css → ToolboxDrawer-BGGMfGy1.css} +1 -1
  6. package/assets/ToolboxDrawer-DrkR1kan.js +91 -0
  7. package/assets/{_baseUniq-D2Iraxur.js → _baseUniq-ItLLAPPG.js} +1 -1
  8. package/assets/{advancedFormat-DVUzgFdS.js → advancedFormat-Cyt8ycVj.js} +1 -1
  9. package/assets/{ai-analyze-DYDblQ8D.js → ai-analyze-hCO9RVDQ.js} +1 -1
  10. package/assets/{ai-image-generation-DG3sOclU.js → ai-image-generation-k6P0qCkq.js} +1 -1
  11. package/assets/{ai-video-generation-DPixqh5_.js → ai-video-generation-zbeqUVxV.js} +1 -1
  12. package/assets/{arc-Cr7q4CkH.js → arc-BqKX1pNT.js} +1 -1
  13. package/assets/{architectureDiagram-VXUJARFQ-B7cvfCql.js → architectureDiagram-VXUJARFQ-oG-5UYdQ.js} +1 -1
  14. package/assets/batch-image-generation-Dq5gE6pJ.js +6 -0
  15. package/assets/{blockDiagram-38ab4fdb-F7hdyvyW.js → blockDiagram-38ab4fdb-B9R_268e.js} +1 -1
  16. package/assets/{blockDiagram-VD42YOAC-CDvOdKgv.js → blockDiagram-VD42YOAC-Ffi9rZ54.js} +1 -1
  17. package/assets/{c4Diagram-3d4e48cf-BRMF3Est.js → c4Diagram-3d4e48cf-B420fEns.js} +1 -1
  18. package/assets/{c4Diagram-YG6GDRKO-DiFWTiBc.js → c4Diagram-YG6GDRKO-BYPf3pLk.js} +1 -1
  19. package/assets/channel-CDS_Qf4B.js +1 -0
  20. package/assets/{chunk-4BX2VUAB-Pth0j0Tj.js → chunk-4BX2VUAB-ClMWk9EW.js} +1 -1
  21. package/assets/{chunk-55IACEB6-BMUQal2Y.js → chunk-55IACEB6-DDJ68Z6q.js} +1 -1
  22. package/assets/{chunk-B4BG7PRW-BRCyw1dO.js → chunk-B4BG7PRW-ClXSfaDb.js} +1 -1
  23. package/assets/{chunk-DI55MBZ5-hFdwndrs.js → chunk-DI55MBZ5-BfZfImW7.js} +1 -1
  24. package/assets/{chunk-FMBD7UC4-Bf-NmkqH.js → chunk-FMBD7UC4-DA2q3AyT.js} +1 -1
  25. package/assets/{chunk-QN33PNHL-DpBaMDxk.js → chunk-QN33PNHL-CY28Hdcd.js} +1 -1
  26. package/assets/{chunk-QZHKN3VN-DtbXLXUL.js → chunk-QZHKN3VN-B9bTwnHc.js} +1 -1
  27. package/assets/{chunk-TZMSLE5B-D0ZfSst5.js → chunk-TZMSLE5B-BRq1BWUZ.js} +1 -1
  28. package/assets/classDiagram-2ON5EDUG-Dz5m-vOe.js +1 -0
  29. package/assets/{classDiagram-70f12bd4-CxlVdSmR.js → classDiagram-70f12bd4-DNzQyAPw.js} +1 -1
  30. package/assets/classDiagram-v2-WZHVMYZB-Dz5m-vOe.js +1 -0
  31. package/assets/{classDiagram-v2-f2320105-HZT-eVj7.js → classDiagram-v2-f2320105-XTvONY-O.js} +1 -1
  32. package/assets/clone-B85cFPZq.js +1 -0
  33. package/assets/{cose-bilkent-S5V4N54A-DRiLweDS.js → cose-bilkent-S5V4N54A-wTQBClc3.js} +1 -1
  34. package/assets/{createText-2e5e7dd3-BTdiXD_R.js → createText-2e5e7dd3-Cpz7ChtF.js} +1 -1
  35. package/assets/{cytoscape-cose-bilkent-CW1aHa8q.js → cytoscape-cose-bilkent-BtkKO3EV.js} +1 -1
  36. package/assets/{dagre-6UL2VRFP-BN8PFmpv.js → dagre-6UL2VRFP-CLAcQT8D.js} +1 -1
  37. package/assets/{diagram-PSM6KHXK-ByvtQHnD.js → diagram-PSM6KHXK-BGrxmpLC.js} +1 -1
  38. package/assets/{diagram-QEK2KX5R-CEpkMkqO.js → diagram-QEK2KX5R-C39Q2zPM.js} +1 -1
  39. package/assets/{diagram-S2PKOQOG-DtjWqn8w.js → diagram-S2PKOQOG-CQsKcR2w.js} +1 -1
  40. package/assets/{edges-e0da2a9e-Bs7hlmE3.js → edges-e0da2a9e-DyDxahje.js} +1 -1
  41. package/assets/{erDiagram-9861fffd-DS-W0hHi.js → erDiagram-9861fffd-C8pPIiys.js} +1 -1
  42. package/assets/{erDiagram-Q2GNP2WA-vHsYpiEl.js → erDiagram-Q2GNP2WA-WsIShkjS.js} +1 -1
  43. package/assets/{flowDb-956e92f1-NbAwjRKz.js → flowDb-956e92f1-D7f_AaMZ.js} +1 -1
  44. package/assets/{flowDiagram-66a62f08-D5VVHUei.js → flowDiagram-66a62f08-CEZu2OG2.js} +1 -1
  45. package/assets/{flowDiagram-NV44I4VS-DMsTQeJg.js → flowDiagram-NV44I4VS-DN9cNNDH.js} +1 -1
  46. package/assets/flowDiagram-v2-96b9c2cf-aHk-L0CX.js +1 -0
  47. package/assets/{flowchart-elk-definition-4a651766-DOdRAhnj.js → flowchart-elk-definition-4a651766-Byz0W5JX.js} +1 -1
  48. package/assets/{ganttDiagram-JELNMOA3-Kc9B0VEX.js → ganttDiagram-JELNMOA3-BEtoPRCT.js} +1 -1
  49. package/assets/{ganttDiagram-c361ad54-COmEUt2G.js → ganttDiagram-c361ad54-D8cDKIDW.js} +1 -1
  50. package/assets/{gitGraphDiagram-72cf32ee-Cy4EC3CJ.js → gitGraphDiagram-72cf32ee-CeR12uHG.js} +1 -1
  51. package/assets/{gitGraphDiagram-NY62KEGX-CqyL21WR.js → gitGraphDiagram-NY62KEGX-DEkOgNji.js} +1 -1
  52. package/assets/{graph-BKV5on9y.js → graph-BuEKTPWn.js} +1 -1
  53. package/assets/{graph-oG3LeP7H.js → graph-DF6C7Pb4.js} +1 -1
  54. package/assets/{grid-image-CdvDGYAI.js → grid-image-S8DxjybO.js} +1 -1
  55. package/assets/{has-BHsqYbx0.js → has-B9f4jyaz.js} +1 -1
  56. package/assets/{hasIn-Co4aQICy.js → hasIn-CzYnYdke.js} +1 -1
  57. package/assets/{index-C4tTkKSZ.js → index--_4Ju5mY.js} +1 -1
  58. package/assets/{index-3862675e-COzZpf9r.js → index-3862675e-B5v1keEn.js} +1 -1
  59. package/assets/{index-B8QKLkjB.js → index-B5HQGfrF.js} +1 -1
  60. package/assets/{index-vL7QTGOg.js → index-BALzTgAE.js} +1 -1
  61. package/assets/index-BXp-gQxZ.js +2081 -0
  62. package/assets/index-BfW_kMkx.js +6 -0
  63. package/assets/{index-CSHw3wuM.js → index-BjOQVure.js} +1 -1
  64. package/assets/{index-DorTmaqo.js → index-C43H8OQj.js} +1 -1
  65. package/assets/{index-PoRskjQd.js → index-CljpoCtv.js} +14 -14
  66. package/assets/index-CwbXCuSp.css +9 -0
  67. package/assets/index-DIqMR4S4.css +1 -0
  68. package/assets/{index-BOWLxz8H.js → index-DsTb49bw.js} +1 -1
  69. package/assets/{index-Bfs1HbrZ.js → index-e40yW5SA.js} +10 -10
  70. package/assets/{infoDiagram-WHAUD3N6-BQsNIg3B.js → infoDiagram-WHAUD3N6-CkRZTQlJ.js} +1 -1
  71. package/assets/{infoDiagram-f8f76790-C6N_enwT.js → infoDiagram-f8f76790-DnJUQA5f.js} +1 -1
  72. package/assets/{inspiration-board-CZhQ2eNe.js → inspiration-board-BBS7Ggir.js} +1 -1
  73. package/assets/{isEmpty-DNjFjE1X.js → isEmpty-Cb-sxNzj.js} +1 -1
  74. package/assets/{journeyDiagram-49397b02-CHHC72m6.js → journeyDiagram-49397b02-C15lY7d_.js} +1 -1
  75. package/assets/{journeyDiagram-XKPGCS4Q-BTBm9K6M.js → journeyDiagram-XKPGCS4Q-BrVPMh4M.js} +1 -1
  76. package/assets/{kanban-definition-3W4ZIXB7-CSRkDI3S.js → kanban-definition-3W4ZIXB7-CiDmOTP0.js} +1 -1
  77. package/assets/{layout-Dw3kRoNR.js → layout-DOUBEDJ0.js} +1 -1
  78. package/assets/{layout-CuFQpR54.js → layout-LlEK-Af9.js} +1 -1
  79. package/assets/{line-M1K0EZk9.js → line-5DqkKu5a.js} +1 -1
  80. package/assets/{linear-BCayEq5f.js → linear-nORGeaV4.js} +1 -1
  81. package/assets/{mermaid.core-BRR3s9np.js → mermaid.core-CeadxHhK.js} +4 -4
  82. package/assets/{min-CigzM_E9.js → min-BqFoyXNs.js} +1 -1
  83. package/assets/{mindmap-definition-VGOIOE7T-CMnA43f1.js → mindmap-definition-VGOIOE7T-CAqwaVIW.js} +1 -1
  84. package/assets/{mindmap-definition-fc14e90a-CfNedaN0.js → mindmap-definition-fc14e90a-D-DDHujP.js} +1 -1
  85. package/assets/{photo-wall-splitter-CbtwGiS9.js → photo-wall-splitter-fKX9Yhjh.js} +1 -1
  86. package/assets/{pick-BLCtT8Rq.js → pick-BGF0ULYb.js} +1 -1
  87. package/assets/{pie-BrHter5G.js → pie-C-K0-SKW.js} +1 -1
  88. package/assets/{pieDiagram-8a3498a8-Dw2RcEhd.js → pieDiagram-8a3498a8-COAeUCCn.js} +1 -1
  89. package/assets/{pieDiagram-ADFJNKIX-_mngjs9u.js → pieDiagram-ADFJNKIX-D5mQZmnj.js} +1 -1
  90. package/assets/{quadrantDiagram-120e2f19-CWKx-2y3.js → quadrantDiagram-120e2f19-BVZGZWy5.js} +1 -1
  91. package/assets/{quadrantDiagram-AYHSOK5B-DCeWXXYz.js → quadrantDiagram-AYHSOK5B-DTN7IUf6.js} +1 -1
  92. package/assets/{requirementDiagram-UZGBJVZJ-3CRoO-y4.js → requirementDiagram-UZGBJVZJ-B7uIb-QP.js} +1 -1
  93. package/assets/{requirementDiagram-deff3bca-B_T4Xshy.js → requirementDiagram-deff3bca-3s56zRS3.js} +1 -1
  94. package/assets/{sankeyDiagram-04a897e0-CyYgIDMn.js → sankeyDiagram-04a897e0-NCf_QTUH.js} +1 -1
  95. package/assets/{sankeyDiagram-TZEHDZUN-CX2706qE.js → sankeyDiagram-TZEHDZUN-DN8QnN_i.js} +1 -1
  96. package/assets/{sequenceDiagram-704730f1-B_YVOpNP.js → sequenceDiagram-704730f1-DGwqPawx.js} +1 -1
  97. package/assets/{sequenceDiagram-WL72ISMW-CEaFRaB_.js → sequenceDiagram-WL72ISMW-Chuzy8HN.js} +1 -1
  98. package/assets/{settings-dialog-DdSeK4jE.js → settings-dialog-FRnZQ5kM.js} +1 -1
  99. package/assets/{stateDiagram-587899a1-C2j7YGa-.js → stateDiagram-587899a1-DYbD44BX.js} +1 -1
  100. package/assets/{stateDiagram-FKZM4ZOC-9THCO5NX.js → stateDiagram-FKZM4ZOC-DYfvAmje.js} +1 -1
  101. package/assets/stateDiagram-v2-4FDKWEC3-BWDNmR_6.js +1 -0
  102. package/assets/{stateDiagram-v2-d93cdb3a-DbDM5mM2.js → stateDiagram-v2-d93cdb3a-BoJkxeLI.js} +1 -1
  103. package/assets/{styles-6aaf32cf-CjtwIcXX.js → styles-6aaf32cf-DKg2ECnu.js} +1 -1
  104. package/assets/{styles-9a916d00-U2SyZx3N.js → styles-9a916d00-D69GuT3h.js} +1 -1
  105. package/assets/{styles-c10674c1-CzwOLZtE.js → styles-c10674c1-C_CUHqzf.js} +1 -1
  106. package/assets/{svgDrawCommon-08f97a94-BYSIub7f.js → svgDrawCommon-08f97a94-BXpHAhFM.js} +1 -1
  107. package/assets/{timeline-definition-85554ec2-BqCOOkln.js → timeline-definition-85554ec2-D30-0j4U.js} +1 -1
  108. package/assets/{timeline-definition-IT6M3QCI-CY9ZUPfV.js → timeline-definition-IT6M3QCI-B4FEc43V.js} +1 -1
  109. package/assets/{treemap-KMMF4GRG-BTycpGPx.js → treemap-KMMF4GRG-pDyLkft9.js} +1 -1
  110. package/assets/{ttd-dialog-CIhnIZ3I.js → ttd-dialog-DeCpGM5R.js} +4 -4
  111. package/assets/{union-DJUPbTpR.js → union-Dp_E3U6e.js} +1 -1
  112. package/assets/{upload-DWEsVOUe.js → upload-T9XlfBAZ.js} +1 -1
  113. package/assets/{video-recovery-service-5uRKw655.js → video-recovery-service-CBUtwYI8.js} +1 -1
  114. package/assets/{xychartDiagram-PRI3JC2R-BbrUvkRB.js → xychartDiagram-PRI3JC2R-m_qKGk-m.js} +1 -1
  115. package/assets/{xychartDiagram-e933f94c-DpNCMQAe.js → xychartDiagram-e933f94c-Bup4w7yN.js} +1 -1
  116. package/assets/zipObject-nNXDWpiI.js +1 -0
  117. package/package.json +1 -1
  118. package/precache-manifest.json +240 -240
  119. package/sw.js +7 -7
  120. package/version.json +11 -3
  121. package/assets/ToolboxDrawer-UoRROBuP.js +0 -87
  122. package/assets/batch-image-generation-IdsT9Hgo.js +0 -6
  123. package/assets/channel-BnjxhLNk.js +0 -1
  124. package/assets/classDiagram-2ON5EDUG-CvvgXUsI.js +0 -1
  125. package/assets/classDiagram-v2-WZHVMYZB-CvvgXUsI.js +0 -1
  126. package/assets/clone-0GA3G7Gj.js +0 -1
  127. package/assets/flowDiagram-v2-96b9c2cf-CcZZ9TC9.js +0 -1
  128. package/assets/index-BJdbZLDA.js +0 -2128
  129. package/assets/index-C4AKKbpQ.css +0 -1
  130. package/assets/index-CNP-5X5K.css +0 -1
  131. package/assets/index-D1UJ7CQO.js +0 -42
  132. package/assets/stateDiagram-v2-4FDKWEC3-0fkBazf8.js +0 -1
  133. package/assets/zipObject-DvKKL1BC.js +0 -1
@@ -1,42 +0,0 @@
1
- import{aV as Se,ca as bt,aT as be,aW as ee,aX as Z,r as l,cb as ve,ah as L,cc as wt,cd as ue,ce as yt,aU as jt,cf as Ot,cg as xt,ch as _t,ci as Ct,I as se,_ as le,R as Ae,U as ae,W as Dt,X as Pt,cj as Et,ck as ge,Y as $e,Z as me,cl as It,a8 as J,J as o,cm as St,aq as Y,bc as xe,cn as Le,b6 as Nt,b$ as Pe,c0 as kt,b9 as nt,bb as At,co as Fe,b8 as Me,cp as $t}from"./index-BJdbZLDA.js";import{U as Lt}from"./upload-DWEsVOUe.js";/**
2
- * tdesign v1.16.3
3
- * (c) 2026 tdesign
4
- * @license MIT
5
- */var Ft={align:"center",dashed:!1,layout:"horizontal"};/**
6
- * tdesign v1.16.3
7
- * (c) 2026 tdesign
8
- * @license MIT
9
- */var Mt=["layout","dashed","align","className","style","children","content","size"];function He(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function _e(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?He(Object(e),!0).forEach(function(t){Z(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):He(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var at=function(r){var e=Se(r,Ft),t=e.layout,a=e.dashed,u=e.align,p=e.className,S=e.style,g=e.children,k=e.content,A=e.size,h=bt(e,Mt),m=be(),y=m.classPrefix,N=k||g,b=t!=="vertical",d=b&&!!N,f=ee("".concat(y,"-divider"),p,Z(Z(Z(Z({},"".concat(y,"-divider--").concat(t),t),"".concat(y,"-divider--dashed"),!!a),"".concat(y,"-divider--with-text"),d),"".concat(y,"-divider--with-text-").concat(u),d)),x=l.useMemo(function(){if(A){var j=b?"".concat(ve(A)," 0"):"0 ".concat(ve(A));return _e({margin:j},S)}return S},[b,A,S]);return L.createElement("div",_e(_e({},h),{},{className:f,style:x}),d?L.createElement("span",{className:"".concat(y,"-divider__inner-text")},N):null)};at.displayName="Divider";/**
10
- * tdesign v1.16.3
11
- * (c) 2026 tdesign
12
- * @license MIT
13
- */var Re=at;/**
14
- * tdesign v1.16.3
15
- * (c) 2026 tdesign
16
- * @license MIT
17
- */var Ht={direction:"right",hideAfterItemClick:!0,maxColumnWidth:100,maxHeight:300,minColumnWidth:10,placement:"bottom-left",trigger:"hover"},Rt={active:!1,disabled:!1,divider:!1,theme:"default"};/**
18
- * tdesign v1.16.3
19
- * (c) 2026 tdesign
20
- * @license MIT
21
- */function Ve(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function Vt(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ve(Object(e),!0).forEach(function(t){Z(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ve(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var oe=l.forwardRef(function(n,r){var e=Se(n,Rt),t=e.children,a=e.className,u=e.active,p=e.disabled,S=e.value,g=e.theme,k=e.prefixIcon,A=e.maxColumnWidth,h=e.minColumnWidth,m=e.onClick,y=e.style,N=e.isSubmenu,b=be(),d=b.classPrefix,f=wt(),x=ue(f,2),j=x[0],F=x[1];yt(N||p?null:(r==null?void 0:r.current)||j);var _=function(i){p||m==null||m(S,{e:i})};return L.createElement(L.Fragment,null,L.createElement("li",{className:ee(a,"".concat(d,"-dropdown__item--theme-").concat(g),Z(Z({},"".concat(d,"-dropdown__item--active"),u),"".concat(d,"-dropdown__item--disabled"),p)),onClick:_,style:Vt({maxWidth:ve(A),minWidth:ve(h)},y),ref:r||F},k?L.createElement("div",{className:"".concat(d,"-dropdown__item-icon")},k):null,t))});oe.displayName="DropdownItem";/**
22
- * tdesign v1.16.3
23
- * (c) 2026 tdesign
24
- * @license MIT
25
- */function Te(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function Ce(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Te(Object(e),!0).forEach(function(t){Z(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Te(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var ne=function(r){var e=r.options,t=e===void 0?[]:e,a=r.maxHeight,u=a===void 0?300:a,p=r.minColumnWidth,S=p===void 0?10:p,g=r.maxColumnWidth,k=g===void 0?160:g,A=r.direction,h=r.panelTopContent,m=r.panelBottomContent,y=be(),N=y.classPrefix,b="".concat(N,"-dropdown"),d="".concat(b,"__menu"),f=l.useState(null),x=ue(f,2),j=x[0],F=x[1],_=jt({ChevronRightIcon:Ot}),M=_.ChevronRightIcon,i=l.useRef(null),W=l.useState(!1),T=ue(W,2),z=T[0],R=T[1],G=l.useState({}),K=ue(G,2),U=K[0],B=K[1];l.useEffect(function(){var w=i.current;if(w){var v,s=((v=w.childNodes)===null||v===void 0?void 0:v.length)*30;requestAnimationFrame(function(){if(h){var D,P,E=parseInt((D=getComputedStyle((P=w.childNodes)===null||P===void 0?void 0:P[0]))===null||D===void 0?void 0:D.height,10)||0;F(E)}}),s>=u&&R(!0)}},[u,h]);var q=function(v){var s,D,P=v.data,E=v.context;P==null||(s=P.onClick)===null||s===void 0||s.call(P,P,E),(D=r.onClick)===null||D===void 0||D.call(r,P,E)},Q=function(v){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,D=v.target.scrollTop;B(Ce(Ce({},U),{},Z({},s,D)))},te=xt(Q,100),X=function(v,s){var D,P=[],E;return(D=v.forEach)===null||D===void 0||D.call(v,function(V,I){var c=Ce({},V),re=Math.ceil(U[s]/30),ye=I>=re,ie=h&&s>0,je=ye?I-re:I;c.children?(c.children=X(c.children,s+1),E=L.createElement("div",{key:I},L.createElement(oe,{className:ee(c.className,"".concat(b,"__item"),"".concat(b,"__item--suffix")),style:c.style,value:c.value,theme:c.theme,active:c.active,prefixIcon:c.prefixIcon,disabled:c.disabled,minColumnWidth:S,maxColumnWidth:k,isSubmenu:!0},L.createElement("div",{className:"".concat(b,"__item-content")},L.createElement("span",{className:"".concat(b,"__item-text")},c.content),L.createElement(M,{className:"".concat(b,"__item-direction"),size:"16"})),L.createElement("div",{className:ee("".concat(b,"__submenu-wrapper"),Z({},"".concat(b,"__submenu-wrapper--").concat(r.direction),r.direction)),style:{position:"absolute",top:"".concat(je*30+(ie?0:j),"px")}},L.createElement("div",{className:ee("".concat(b,"__submenu"),Z({},"".concat(b,"__submenu--disabled"),c.disabled)),style:{position:"static",maxHeight:"".concat(r.maxHeight,"px")},onScroll:function(ce){return Q(ce,s+1)}},L.createElement("ul",null,c.children)))),c.divider?L.createElement(Re,null):null)):E=L.createElement("div",{key:I},L.createElement(oe,{className:ee(c.className,"".concat(b,"__item")),style:c.style,value:c.value,theme:c.theme,active:c.active,prefixIcon:c.prefixIcon,disabled:c.disabled,minColumnWidth:S,maxColumnWidth:k,onClick:c.disabled||c.children?function(){return null}:function(Oe,ce){return q({data:c,context:ce})}},L.createElement("span",{className:"".concat(b,"__item-text")},c.content)),c.divider?L.createElement(Re,null):null),P.push(E)}),P};return L.createElement("div",{className:ee(d,"".concat(d,"--").concat(A),Z({},"".concat(d,"--overflow"),z)),style:{maxHeight:"".concat(u,"px")},ref:i,onScroll:te},h?L.createElement("div",{className:"".concat(b,"__top-content")},h):null,X(t,0),m?L.createElement("div",{className:"".concat(b,"__bottom-content")},m):null)};ne.displayName="DropdownMenu";/**
26
- * tdesign v1.16.3
27
- * (c) 2026 tdesign
28
- * @license MIT
29
- */function We(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function he(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?We(Object(e),!0).forEach(function(t){Z(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):We(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Ee=function(r){if(!r)return[];if(r.type===ne){var e=r.props.children;if(Array.isArray(e))return Ee(e)}return L.Children.toArray(r).map(function(t){var a,u,p=(a=t.props)===null||a===void 0?void 0:a.children,S=(u=t.props)===null||u===void 0?void 0:u.content;if(Array.isArray(p)){var g,k,A=p==null||(g=p.filter)===null||g===void 0?void 0:g.call(p,function(m){return![oe,ne].includes(m.type)}),h=p==null||(k=p.filter)===null||k===void 0?void 0:k.call(p,function(m){return[oe,ne].includes(m.type)});return he(he({},t.props),{},{content:A||p,children:h.length>0?Ee(p[1]):null})}return he(he({},t.props),{},{content:p||S,children:null})}).filter(function(t){return!!t.content})};function Tt(n,r){var e=l.useMemo(function(){if(r&&r.length>0)return r;var t;return L.Children.forEach(n,function(a){L.isValidElement(a)&&a.type===ne&&a.props.children&&(t=a.props.children)}),Ee(t)},[r,n]);return e}/**
30
- * tdesign v1.16.3
31
- * (c) 2026 tdesign
32
- * @license MIT
33
- */function ze(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function de(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?ze(Object(e),!0).forEach(function(t){Z(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):ze(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var we=function(r){var e=Se(r,Ht),t=e.popupProps,a=t===void 0?{}:t,u=e.disabled,p=e.placement,S=e.trigger,g=e.className,k=e.children,A=e.hideAfterItemClick,h=e.options,m=e.style,y=L.Children.toArray(k),N=be(),b=N.classPrefix,d=l.useState(!1),f=ue(d,2),x=f[0],j=f[1],F="".concat(b,"-dropdown"),_=Tt(y,h),M=function(K,U){var B;if(A){var q;j(!1),a==null||(q=a.onVisibleChange)===null||q===void 0||q.call(a,!1,U)}(B=e.onClick)===null||B===void 0||B.call(e,K,U)},i=function(K,U){var B;u||!_.length||(j(K),a==null||(B=a.onVisibleChange)===null||B===void 0||B.call(a,K,U))},W=L.createElement(ne,de(de({},e),{},{options:_,onClick:M})),T=de(de({disabled:u,placement:p,trigger:S,showArrow:!1,content:W},_t(a,"onVisibleChange")),{},{overlayInnerClassName:ee(F,g,a==null?void 0:a.overlayInnerClassName),overlayInnerStyle:m}),z=y==null?void 0:y[0],R=l.isValidElement(z)?L.cloneElement(z,{disabled:u}):z;return L.createElement(Ct,de({expandAnimation:!0,destroyOnClose:!0,visible:x,onVisibleChange:i},T),R)};we.DropdownItem=oe;we.DropdownMenu=ne;we.displayName="Dropdown";/**
34
- * tdesign v1.16.3
35
- * (c) 2026 tdesign
36
- * @license MIT
37
- */var Ze=we;function Ke(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function Be(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ke(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ke(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Wt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8 2V6L16 6V2L18 2V6L22 6V8L18 8L18 16L22 16V18L18 18V22H16L16 18L8 18V22H6L6 18H2L2 16H6L6 8L2 8L2 6L6 6L6 2L8 2ZM8 8L8 16L16 16V8L8 8Z"}}]},ot=l.forwardRef(function(n,r){return l.createElement(se,Be(Be({},n),{},{id:"artboard",ref:r,icon:Wt}))});ot.displayName="ArtboardIcon";function Ue(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function Je(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ue(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ue(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var zt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M6 1H15.4142L21 6.58579V19H6V1ZM8 3V17H19V9H13V3H8ZM15 3.41421V7H18.5858L15 3.41421ZM4 5V21H15V23H2V5H4Z"}}]},st=l.forwardRef(function(n,r){return l.createElement(se,Je(Je({},n),{},{id:"file-copy",ref:r,icon:zt}))});st.displayName="FileCopyIcon";function Ge(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function qe(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ge(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ge(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Zt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1 2.5L9.48063 2.5L11.4806 5H23V12H21V7H10.5194L8.51938 4.5L3 4.5L3 19H14V21H1L1 2.5ZM21 14V17H24V19H21V22H19V19H16V17H19V14H21Z"}}]},Ne=l.forwardRef(function(n,r){return l.createElement(se,qe(qe({},n),{},{id:"folder-add",ref:r,icon:Zt}))});Ne.displayName="FolderAddIcon";function Ye(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function Qe(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ye(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ye(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Kt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1 2.5L11.4806 2.5L13.4806 5H23V7H12.5194L10.5194 4.5L1 4.5L1 2.5ZM1 6.5L9.48063 6.5L11.4806 9H23V21H1L1 6.5ZM3 8.5L3 19H21V11H10.5194L8.51938 8.5L3 8.5Z"}}]},lt=l.forwardRef(function(n,r){return l.createElement(se,Qe(Qe({},n),{},{id:"folder-open",ref:r,icon:Kt}))});lt.displayName="FolderOpenIcon";function Xe(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function et(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Xe(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Xe(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Bt={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1 2.5L9.48063 2.5L11.4806 5L23 5L23 21L1 21L1 2.5ZM3 4.5L3 19L21 19L21 7L10.5194 7L8.51937 4.5L3 4.5Z"}}]},it=l.forwardRef(function(n,r){return l.createElement(se,et(et({},n),{},{id:"folder",ref:r,icon:Bt}))});it.displayName="FolderIcon";function tt(n,r){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(n);r&&(t=t.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),e.push.apply(e,t)}return e}function rt(n){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?tt(Object(e),!0).forEach(function(t){le(n,t,e[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):tt(Object(e)).forEach(function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))})}return n}var Ut={tag:"svg",attrs:{fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M10.5 3H13.5V6H10.5V3ZM10.5 10.5H13.5V13.5H10.5V10.5ZM10.5 18H13.5V21H10.5V18Z"}}]},Ie=l.forwardRef(function(n,r){return l.createElement(se,rt(rt({},n),{},{id:"more",ref:r,icon:Ut}))});Ie.displayName="MoreIcon";class Jt{async exportToZip(r){const{onProgress:e}=r||{},t=new Ae;e==null||e(5,"正在加载数据...");const[a,u]=await Promise.all([ae.loadAllFolders(),ae.loadAllBoards()]);e==null||e(15,"正在构建目录结构...");const p=this.buildFolderPathMap(a),S=this.collectAssetIds(u);e==null||e(20,"正在加载素材...");const g=await this.loadAssets(S);e==null||e(30,"正在创建文件夹...");for(const h of a){const m=p.get(h.id)||h.name;t.folder(m)}e==null||e(40,"正在导出画板...");const k=u.length;for(let h=0;h<u.length;h++){const m=u[h],y=m.folderId?p.get(m.folderId):null,N=this.sanitizeFileName(m.name),b=y?`${y}/${N}.drawnix`:`${N}.drawnix`,d={type:Dt.drawnix,version:Pt.drawnix,source:"web",elements:m.elements||[],viewport:m.viewport||{zoom:1},theme:m.theme,boardMeta:{id:m.id,name:m.name,order:m.order,createdAt:m.createdAt,updatedAt:m.updatedAt}};if(t.file(b,JSON.stringify(d,null,2)),k>0){const f=40+Math.round((h+1)/k*20);e==null||e(f,`正在导出画板 (${h+1}/${k})...`)}}if(e==null||e(60,"正在导出素材..."),g.length>0){const h=t.folder("_assets");if(h){const m=g.length;for(let y=0;y<g.length;y++){const N=g[y],{blobData:b,...d}=N;h.file(`${N.id}.meta.json`,JSON.stringify(d,null,2)),b&&h.file(`${N.id}.blob`,b);const f=60+Math.round((y+1)/m*20);e==null||e(f,`正在导出素材 (${y+1}/${m})...`)}}}e==null||e(85,"正在压缩文件...");const A=await t.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:6}},h=>{const m=85+Math.round(h.percent*.14),y=h.currentFile||"",N=y.length>30?"..."+y.slice(-27):y;e==null||e(m,`正在压缩: ${N||"..."}`)});return e==null||e(100,"导出完成"),A}buildFolderPathMap(r){const e=new Map,t=new Map;for(const u of r)t.set(u.id,u);const a=u=>{if(e.has(u))return e.get(u);const p=t.get(u);if(!p)return"";const S=this.sanitizeFileName(p.name);if(p.parentId){const g=a(p.parentId),k=g?`${g}/${S}`:S;return e.set(u,k),k}return e.set(u,S),S};for(const u of r)a(u.id);return e}sanitizeFileName(r){return r.replace(/[<>:"/\\|?*]/g,"_").replace(/\s+/g," ").trim()||"unnamed"}async importFromZip(r,e={}){var k;const{merge:t=!1,onProgress:a}=e,u=[];let p=0,S=0,g=0;try{a==null||a(5,"正在读取文件...");const A=await Ae.loadAsync(r);a==null||a(10,"正在验证文件格式...");const h=Object.keys(A.files).filter(d=>d.endsWith(".drawnix")&&!d.startsWith("_"));if(h.length===0)throw new Error("无效的导出文件:未找到画板文件");t||(a==null||a(15,"正在清理现有数据..."),await ae.clearAll(),await Et.clearAll(),await ae.saveState({currentBoardId:null,expandedFolderIds:[],sidebarWidth:ge.SIDEBAR_WIDTH,sidebarCollapsed:!1,migrationCompleted:!0})),a==null||a(20,"正在导入素材...");const m=Object.keys(A.files).filter(d=>d.startsWith("_assets/")&&d.endsWith(".meta.json"));for(let d=0;d<m.length;d++){const f=m[d],x=f.replace("_assets/","").replace(".meta.json",""),j=f.replace(".meta.json",".blob");try{const F=A.file(f),_=A.file(j);if(F&&_){const M=await F.async("string"),i=JSON.parse(M),W=await _.async("blob"),T={...i,blobData:W};await this.saveStoredAsset(T),g++}}catch(F){const _=F instanceof Error?F.message:String(F);u.push(`素材 ${x} 导入失败: ${_}`)}if(m.length>0){const F=20+(d+1)/m.length*30;a==null||a(F,`正在导入素材 (${d+1}/${m.length})...`)}}a==null||a(55,"正在分析目录结构...");const y=new Set,N=new Map;for(const d of h){const f=d.split("/");if(f.length>1){let x="";for(let j=0;j<f.length-1;j++)x=x?`${x}/${f[j]}`:f[j],y.add(x)}}const b=Array.from(y).sort((d,f)=>{const x=d.split("/").length,j=f.split("/").length;return x-j||d.localeCompare(f)});a==null||a(60,"正在导入文件夹...");for(let d=0;d<b.length;d++){const f=b[d],x=f.split("/"),j=x[x.length-1],F=x.length>1?x.slice(0,-1).join("/"):null,_=F&&N.get(F)||null;try{const M=this.generateId();N.set(f,M);const i={id:M,name:j,parentId:_,order:d,isExpanded:!0,createdAt:Date.now(),updatedAt:Date.now()};await ae.saveFolder(i),p++}catch(M){const i=M instanceof Error?M.message:String(M);u.push(`文件夹 "${j}" 导入失败: ${i}`)}}a==null||a(70,"正在导入画板...");for(let d=0;d<h.length;d++){const f=h[d];try{const j=A.file(f);if(j){const F=await j.async("string"),_=JSON.parse(F),M=f.split("/").pop()||"unnamed.drawnix",i=((k=_.boardMeta)==null?void 0:k.name)||M.replace(".drawnix",""),W=f.split("/"),T=W.length>1?W.slice(0,-1).join("/"):null,z=T&&N.get(T)||null,R=_.boardMeta,G={id:(R==null?void 0:R.id)||this.generateId(),name:i,folderId:z,order:(R==null?void 0:R.order)??d,elements:_.elements||[],viewport:_.viewport,theme:_.theme,createdAt:(R==null?void 0:R.createdAt)||Date.now(),updatedAt:(R==null?void 0:R.updatedAt)||Date.now()};await ae.saveBoard(G),S++}}catch(j){const F=f.split("/").pop()||f,_=j instanceof Error?j.message:String(j);u.push(`画板 "${F}" 导入失败: ${_}`)}const x=70+(d+1)/h.length*25;a==null||a(x,`正在导入画板 (${d+1}/${h.length})...`)}return a==null||a(100,"导入完成"),{success:u.length===0,folders:p,boards:S,assets:g,errors:u}}catch(A){const h=A instanceof Error?A.message:String(A);return{success:!1,folders:p,boards:S,assets:g,errors:[...u,h]}}}generateId(){return`${Date.now().toString(36)}-${Math.random().toString(36).substring(2,11)}`}collectAssetIds(r){const e=new Set;for(const t of r)t.elements&&this.findAssetIdsInElements(t.elements,e);return e}findAssetIdsInElements(r,e){for(const t of r)t.assetId&&e.add(t.assetId),t.imageAssetId&&e.add(t.imageAssetId),t.videoAssetId&&e.add(t.videoAssetId),t.children&&Array.isArray(t.children)&&this.findAssetIdsInElements(t.children,e)}async loadAssets(r){const e=[],t=$e.createInstance({name:me.STORAGE_NAME,storeName:me.STORE_NAME});for(const a of r)try{const u=await t.getItem(a);u&&e.push(u)}catch(u){console.warn(`[WorkspaceExport] Failed to load asset ${a}:`,u)}return e}async saveStoredAsset(r){await $e.createInstance({name:me.STORAGE_NAME,storeName:me.STORE_NAME}).setItem(r.id,r)}downloadZip(r,e){const t=new Date,a=t.toISOString().split("T")[0],u=t.toTimeString().split(" ")[0].replace(/:/g,""),p=`aitu_workspace_${a}_${u}.zip`,S=URL.createObjectURL(r),g=document.createElement("a");g.href=S,g.download=e||p,document.body.appendChild(g),g.click(),document.body.removeChild(g),URL.revokeObjectURL(S)}}const De=new Jt,Gt="project-drawer-width",qt=({tree:n,currentBoard:r,onBoardClick:e,onCreateBoard:t,onCreateFolder:a,onRename:u,onDelete:p,onCopyBoard:S,onMoveBoard:g,onMoveFolder:k,toggleFolderExpanded:A,autoEditBoardId:h,onAutoEditDone:m})=>{const[y,N]=l.useState(null),[b,d]=l.useState("");l.useEffect(()=>{h&&(N(h),d(ge.DEFAULT_BOARD_NAME),m==null||m())},[h,m]);const[f,x]=l.useState(null),[j,F]=l.useState(null),[_,M]=l.useState(null),i=l.useRef(null);l.useEffect(()=>()=>{i.current&&(clearTimeout(i.current),i.current=null)},[]);const W=l.useCallback((w,v)=>{const s=v.e.target;s&&s.select&&s.select()},[]),T=l.useCallback((w,v)=>{if(!b.trim()){N(null);return}u(w,v,b.trim()),N(null)},[b,u]),z=l.useCallback((w,v)=>{N(w),d(v)},[]),R=l.useCallback(w=>{const v=[{content:"根目录",value:"root"}],s=(D,P="")=>{D.forEach(E=>{if(E.type==="folder"){const V=E.data;V.id!==w&&(v.push({content:P+V.name,value:V.id}),E.children&&s(E.children,P+" "))}})};return s(n),v},[n]),G=l.useCallback((w,v,s)=>{const D={type:v,id:s};x(D),w.dataTransfer.effectAllowed="move",w.dataTransfer.setData("application/json",JSON.stringify(D))},[]),K=l.useCallback(()=>{x(null),F(null),M(null)},[]),U=l.useCallback((w,v,s)=>{if(!f||f.id===v)return;w.preventDefault(),w.dataTransfer.dropEffect="move";const D=w.currentTarget.getBoundingClientRect(),P=w.clientY-D.top,E=D.height;let V;s==="folder"?P<E*.25?V="before":P>E*.75?V="after":V="inside":V=P<E/2?"before":"after",(j!==v||_!==V)&&(F(v),M(V))},[f,j,_]),B=l.useCallback(w=>{const v=w.relatedTarget;w.currentTarget.contains(v)||(F(null),M(null))},[]),q=l.useCallback((w,v,s,D)=>{if(w.preventDefault(),!f||!_)return;const{type:P,id:E}=f;_==="inside"&&s==="folder"?P==="board"?g(E,v):k(E,v):(_==="before"||_==="after")&&(P==="board"?g(E,D,v,_):k(E,D,v,_)),K()},[f,_,g,k,K]),Q=w=>{if(j!==w)return"";switch(_){case"before":return"project-drawer-node__row--drag-over-before";case"after":return"project-drawer-node__row--drag-over-after";case"inside":return"project-drawer-node__row--drag-over-inside";default:return""}},te=(w,v=0)=>{const{data:s,children:D}=w,P=s.isExpanded,E=y===s.id,V=(f==null?void 0:f.id)===s.id,I=v*16+8;return o.jsxs("div",{className:"project-drawer-node",children:[o.jsxs("div",{className:`project-drawer-node__row project-drawer-node__row--folder
38
- ${V?"project-drawer-node__row--dragging":""}
39
- ${Q(s.id)}`,style:{paddingLeft:I},draggable:!E,onClick:()=>{E||(i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{A(s.id)},200))},onDragStart:c=>G(c,"folder",s.id),onDragEnd:K,onDragOver:c=>U(c,s.id,"folder"),onDragLeave:B,onDrop:c=>q(c,s.id,"folder",s.parentId),children:[o.jsx("span",{className:"project-drawer-node__expand",onClick:c=>{c.stopPropagation(),A(s.id)},children:o.jsx(At,{style:{transform:P?"rotate(90deg)":"none",transition:"transform 0.2s"}})}),o.jsx("span",{className:"project-drawer-node__icon",children:P?o.jsx(lt,{}):o.jsx(it,{})}),E?o.jsx(Pe,{value:b,size:"small",autofocus:!0,onFocus:W,onClick:c=>c.e.stopPropagation(),onChange:c=>d(c),onBlur:()=>T("folder",s.id),onKeydown:(c,re)=>{re.e.key==="Enter"?T("folder",s.id):re.e.key==="Escape"&&N(null)}}):o.jsx("span",{className:"project-drawer-node__label",onDoubleClick:c=>{c.stopPropagation(),i.current&&(clearTimeout(i.current),i.current=null),z(s.id,s.name)},children:s.name}),o.jsx("div",{className:"project-drawer-node__actions",onClick:c=>c.stopPropagation(),children:o.jsx(Ze,{options:[{content:"新建画板",value:"new-board",prefixIcon:o.jsx(nt,{})},{content:"新建文件夹",value:"new-folder",prefixIcon:o.jsx(Ne,{})},{content:"重命名",value:"rename",prefixIcon:o.jsx(Fe,{})},{content:"删除",value:"delete",prefixIcon:o.jsx(Me,{})}],onClick:c=>{c.value==="new-board"?t(s.id):c.value==="new-folder"?a(s.id):c.value==="rename"?z(s.id,s.name):c.value==="delete"&&p("folder",s.id,s.name)},children:o.jsx(Y,{variant:"text",size:"small",icon:o.jsx(Ie,{})})})})]}),P&&D&&D.length>0&&o.jsx("div",{className:"project-drawer-node__children",children:D.map(c=>c.type==="folder"?te(c,v+1):X(c,v+1))})]},s.id)},X=(w,v=0)=>{const{data:s}=w,D=s.id===(r==null?void 0:r.id),P=y===s.id,E=(f==null?void 0:f.id)===s.id,V=v*16+8;return o.jsx("div",{className:"project-drawer-node",children:o.jsxs("div",{className:`project-drawer-node__row
40
- ${D?"project-drawer-node__row--active":""}
41
- ${E?"project-drawer-node__row--dragging":""}
42
- ${Q(s.id)}`,style:{paddingLeft:V},draggable:!P,onClick:()=>{P||(i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{e(s)},200))},onDragStart:I=>G(I,"board",s.id),onDragEnd:K,onDragOver:I=>U(I,s.id,"board"),onDragLeave:B,onDrop:I=>q(I,s.id,"board",s.folderId),children:[o.jsx("span",{className:"project-drawer-node__expand"}),o.jsx("span",{className:"project-drawer-node__icon",children:o.jsx(ot,{})}),P?o.jsx(Pe,{value:b,size:"small",autofocus:!0,onFocus:W,onClick:I=>I.e.stopPropagation(),onChange:I=>d(I),onBlur:()=>T("board",s.id),onKeydown:(I,c)=>{c.e.key==="Enter"?T("board",s.id):c.e.key==="Escape"&&N(null)}}):o.jsx("span",{className:"project-drawer-node__label",onDoubleClick:I=>{I.stopPropagation(),i.current&&(clearTimeout(i.current),i.current=null),z(s.id,s.name)},children:s.name}),o.jsx("div",{className:"project-drawer-node__actions",onClick:I=>I.stopPropagation(),children:o.jsx(Ze,{options:[{content:"复制",value:"copy",prefixIcon:o.jsx(st,{})},{content:"重命名",value:"rename",prefixIcon:o.jsx(Fe,{})},{content:"移动到",value:"move",prefixIcon:o.jsx($t,{}),children:R()},{content:"删除",value:"delete",prefixIcon:o.jsx(Me,{})}],onClick:I=>{I.value==="copy"?S(s.id):I.value==="rename"?z(s.id,s.name):I.value==="delete"?p("board",s.id,s.name):I.value==="root"?g(s.id,null):typeof I.value=="string"&&I.value!=="move"&&g(s.id,I.value)},children:o.jsx(Y,{variant:"text",size:"small",icon:o.jsx(Ie,{})})})})]})},s.id)};return o.jsx("div",{className:"project-drawer__tree",children:n.map(w=>w.type==="folder"?te(w):X(w))})},er=({isOpen:n=!1,onOpenChange:r,onBeforeSwitch:e,onBoardSwitch:t})=>{const{isLoading:a,tree:u,currentBoard:p,createFolder:S,renameFolder:g,deleteFolder:k,deleteFolderWithContents:A,moveFolder:h,toggleFolderExpanded:m,createBoard:y,renameBoard:N,deleteBoard:b,moveBoard:d,copyBoard:f,switchBoard:x}=It(),[j,F]=l.useState(""),[_,M]=l.useState(!1),[i,W]=l.useState(null),[T,z]=l.useState(!1),[R,G]=l.useState(!1),[K,U]=l.useState(!1),[B,q]=l.useState(!1),[Q,te]=l.useState({progress:0,message:""}),[X,w]=l.useState({progress:0,message:""}),[v,s]=l.useState(null),D=l.useRef(null),P=l.useCallback(()=>{r==null||r(!1)},[r]),E=l.useCallback(async O=>{e&&await e();const $=await y({name:ge.DEFAULT_BOARD_NAME,folderId:O||null});if($){const C=await x($.id);C&&t&&t(C),s($.id),J.success("画板已创建")}},[y,x,e,t]),V=l.useCallback(async O=>{await S({name:ge.DEFAULT_FOLDER_NAME,parentId:O||null})},[S]),I=l.useCallback(async(O,$,C)=>{O==="folder"?await g($,C):await N($,C)},[g,N]),c=l.useCallback((O,$,C)=>{W({type:O,id:$,name:C}),M(!0)},[]),re=l.useCallback(async()=>{if(!i||i.type!=="folder")return;await k(i.id)&&J.success("删除成功"),M(!1),W(null)},[i,k]),ye=l.useCallback(async()=>{if(!i||i.type!=="folder")return;await A(i.id)&&J.success("删除成功"),M(!1),W(null)},[i,A]),ie=l.useCallback((O,$)=>{for(const C of O){if(C.type==="board"&&C.data.id!==$)return C.data;if(C.type==="folder"&&C.children){const H=ie(C.children,$);if(H)return H}}return null},[]),je=l.useCallback(async()=>{if(!i||i.type!=="board")return;const O=i.id===(p==null?void 0:p.id);if(await b(i.id)&&(J.success("删除成功"),O)){const C=ie(u,i.id);if(C){e&&await e();const H=await x(C.id);H&&t&&t(H)}}M(!1),W(null)},[i,b,p,u,ie,e,x,t]),Oe=l.useCallback(async O=>{await f(O)&&J.success("画板已复制")},[f]),ce=l.useCallback(async(O,$,C,H)=>{await d(O,$,C,H)},[d]),ct=l.useCallback(async(O,$,C,H)=>{await h(O,$,C,H)||J.error("无法移动文件夹到其子目录")},[h]),dt=l.useCallback(async()=>{if(!T)try{z(!0),q(!0),w({progress:0,message:"准备导出..."}),e&&await e();const O=await De.exportToZip({onProgress:($,C)=>{w({progress:$,message:C})}});De.downloadZip(O),J.success("导出成功")}catch(O){console.error("[ProjectDrawer] Export failed:",O),J.error(`导出失败: ${O.message}`)}finally{z(!1),q(!1)}},[T,e]),ut=l.useCallback(()=>{var O;(O=D.current)==null||O.click()},[]),pt=l.useCallback(async O=>{var C;const $=(C=O.target.files)==null?void 0:C[0];if($){if(O.target.value="",!$.name.endsWith(".zip")){J.error("请选择 ZIP 文件");return}U(!0),G(!0),te({progress:0,message:"准备导入..."});try{e&&await e();const H=await De.importFromZip($,{merge:!1,onProgress:(pe,fe)=>{te({progress:pe,message:fe})}});H.success?(J.success(`导入成功:${H.folders} 个文件夹,${H.boards} 个画板,${H.assets} 个素材`),window.location.reload()):(H.errors.length>0&&(J.warning(`导入完成,但有 ${H.errors.length} 个错误`),console.warn("[ProjectDrawer] Import errors:",H.errors)),window.location.reload())}catch(H){console.error("[ProjectDrawer] Import failed:",H),J.error(`导入失败: ${H.message}`)}finally{G(!1),U(!1)}}},[e]),ft=l.useCallback(async O=>{if(O.id===(p==null?void 0:p.id))return;e&&await e();const $=await x(O.id);$&&t&&t($)},[p,e,t,x]),ke=l.useMemo(()=>{if(!j.trim())return u;const O=j.toLowerCase().trim(),$=C=>{if(C.type==="board")return C.data.name.toLowerCase().includes(O)?C:null;if(C.type==="folder"){const H=C,pe=H.data,fe=H.children?H.children.map($).filter(gt=>gt!==null):[];return pe.name.toLowerCase().includes(O)||fe.length>0?{...H,children:fe}:null}return null};return u.map($).filter(C=>C!==null)},[u,j]),mt=o.jsxs(o.Fragment,{children:[o.jsx(Y,{variant:"text",size:"small",icon:o.jsx(nt,{}),onClick:()=>E(),title:"新建画板"}),o.jsx(Y,{variant:"text",size:"small",icon:o.jsx(Ne,{}),onClick:()=>V(),title:"新建文件夹"})]}),ht=o.jsx(Pe,{placeholder:"搜索...",value:j,onChange:F,prefixIcon:o.jsx(kt,{}),size:"small"}),vt=o.jsxs("div",{className:"project-drawer__footer-actions",children:[o.jsx(Y,{variant:"outline",size:"small",icon:o.jsx(Lt,{}),onClick:ut,disabled:R,title:"从 ZIP 文件导入",children:"导入"}),o.jsx(Y,{variant:"outline",size:"small",icon:o.jsx(Nt,{}),onClick:dt,loading:T,title:"导出为 ZIP 文件",children:"导出"}),o.jsx("input",{ref:D,type:"file",accept:".zip",style:{display:"none"},onChange:pt})]});return o.jsxs(o.Fragment,{children:[o.jsx(St,{isOpen:n,onClose:P,title:"项目",headerActions:mt,filterSection:ht,footer:vt,position:"toolbar-right",width:"narrow",storageKey:Gt,resizable:!0,className:"project-drawer",contentClassName:"project-drawer__content",children:a?o.jsx("div",{className:"project-drawer__loading",children:"加载中..."}):ke.length===0?o.jsxs("div",{className:"project-drawer__empty",children:[o.jsx("p",{children:"暂无画板"}),o.jsx(Y,{size:"small",onClick:()=>E(),children:"创建第一个画板"})]}):o.jsx(qt,{tree:ke,currentBoard:p,onBoardClick:ft,onCreateBoard:E,onCreateFolder:V,onRename:I,onDelete:c,onCopyBoard:Oe,onMoveBoard:ce,onMoveFolder:ct,toggleFolderExpanded:m,autoEditBoardId:v,onAutoEditDone:()=>s(null)})}),o.jsx(xe,{visible:_,header:"确认删除",onClose:()=>M(!1),footer:(i==null?void 0:i.type)==="folder"?o.jsxs("div",{className:"project-drawer__delete-dialog-footer",children:[o.jsx(Y,{variant:"outline",onClick:()=>M(!1),children:"取消"}),o.jsx(Y,{theme:"default",onClick:re,children:"仅删目录"}),o.jsx(Y,{theme:"danger",onClick:ye,children:"删除目录及文件"})]}):void 0,onConfirm:(i==null?void 0:i.type)==="board"?je:void 0,confirmBtn:(i==null?void 0:i.type)==="board"?"删除":void 0,cancelBtn:(i==null?void 0:i.type)==="board"?"取消":void 0,children:o.jsxs("p",{children:["确定要删除 ",(i==null?void 0:i.type)==="folder"?"文件夹":"画板",' "',i==null?void 0:i.name,'" 吗?',(i==null?void 0:i.type)==="folder"&&o.jsx("span",{style:{color:"var(--td-text-color-secondary)",display:"block",marginTop:"8px"},children:"仅删目录时,文件夹内的所有内容将被移动到根目录。"})]})}),o.jsx(xe,{visible:K,header:"正在导入",closeOnOverlayClick:!1,closeOnEscKeydown:!1,showOverlay:!0,footer:!1,children:o.jsxs("div",{className:"project-drawer__import-progress",children:[o.jsx(Le,{loading:!0,size:"medium"}),o.jsx("p",{className:"project-drawer__import-message",children:Q.message}),o.jsx("div",{className:"project-drawer__import-bar",children:o.jsx("div",{className:"project-drawer__import-bar-fill",style:{width:`${Q.progress}%`}})}),o.jsxs("p",{className:"project-drawer__import-percent",children:[Math.round(Q.progress),"%"]})]})}),o.jsx(xe,{visible:B,header:"正在导出",closeOnOverlayClick:!1,closeOnEscKeydown:!1,showOverlay:!0,footer:!1,children:o.jsxs("div",{className:"project-drawer__import-progress",children:[o.jsx(Le,{loading:!0,size:"medium"}),o.jsx("p",{className:"project-drawer__import-message",children:X.message}),o.jsx("div",{className:"project-drawer__import-bar",children:o.jsx("div",{className:"project-drawer__import-bar-fill",style:{width:`${X.progress}%`}})}),o.jsxs("p",{className:"project-drawer__import-percent",children:[Math.round(X.progress),"%"]})]})})]})};export{er as ProjectDrawer};
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as i}from"./chunk-DI55MBZ5-hFdwndrs.js";import{_ as s}from"./mermaid.core-BRR3s9np.js";import"./Serializer-CrbKWfwv.js";import"./chunk-55IACEB6-BMUQal2Y.js";import"./chunk-QN33PNHL-DpBaMDxk.js";import"./index-BJdbZLDA.js";import"./line-M1K0EZk9.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./isEmpty-DNjFjE1X.js";var g={parser:a,get db(){return new i(2)},renderer:e,styles:r,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{cJ as L,al as x,cK as m,cL as O,cM as P,m as B,z,cN as E,cO as G,aQ as w,aP as o,ak as s,n as V,aD as q,cP as J,am as Q,cQ as T,aJ as l}from"./index-BJdbZLDA.js";import{d as e,e as p,g as M,h as F}from"./_baseUniq-D2Iraxur.js";import{b as A,a as K,c as N}from"./min-CigzM_E9.js";var v=1/0,U=17976931348623157e292;function h(r){if(!r)return r===0?r:0;if(r=L(r),r===v||r===-v){var n=r<0?-1:1;return n*U}return r===r?r:0}function X(r){var n=h(r),i=n%1;return n===n?i?n-i:n:0}var C=Object.prototype,Y=C.hasOwnProperty,tn=x(function(r,n){r=Object(r);var i=-1,u=n.length,f=u>2?n[2]:void 0;for(f&&m(n[0],n[1],f)&&(u=1);++i<u;)for(var a=n[i],t=O(a),d=-1,c=t.length;++d<c;){var g=t[d],b=r[g];(b===void 0||P(b,C[g])&&!Y.call(r,g))&&(r[g]=a[g])}return r});function Z(r){return function(n,i,u){var f=Object(n);if(!B(n)){var a=e(i);n=z(n),i=function(d){return a(f[d],d,f)}}var t=r(n,i,u);return t>-1?f[a?n[t]:t]:void 0}}var _=Math.max;function $(r,n,i){var u=r==null?0:r.length;if(!u)return-1;var f=i==null?0:X(i);return f<0&&(f=_(u+f,0)),p(r,e(n),f)}var dn=Z($);function gn(r,n){return r==null?r:E(r,M(n),O)}function cn(r,n){return r&&F(r,M(n))}function H(r,n){return r>n}function en(r,n){var i={};return n=e(n),F(r,function(u,f,a){G(i,f,n(u,f,a))}),i}function hn(r){return r&&r.length?A(r,w,H):void 0}function mn(r,n){return r&&r.length?A(r,e(n),K):void 0}function R(r,n){var i=r.length;for(r.sort(n);i--;)r[i]=r[i].value;return r}function W(r,n){if(r!==n){var i=r!==void 0,u=r===null,f=r===r,a=o(r),t=n!==void 0,d=n===null,c=n===n,g=o(n);if(!d&&!g&&!a&&r>n||a&&t&&c&&!d&&!g||u&&t&&c||!i&&c||!f)return 1;if(!u&&!a&&!g&&r<n||g&&i&&f&&!u&&!a||d&&i&&f||!t&&f||!c)return-1}return 0}function k(r,n,i){for(var u=-1,f=r.criteria,a=n.criteria,t=f.length,d=i.length;++u<t;){var c=W(f[u],a[u]);if(c){if(u>=d)return c;var g=i[u];return c*(g=="desc"?-1:1)}}return r.index-n.index}function j(r,n,i){n.length?n=s(n,function(a){return V(a)?function(t){return q(t,a.length===1?a[0]:a)}:a}):n=[w];var u=-1;n=s(n,J(e));var f=N(r,function(a,t,d){var c=s(n,function(g){return g(a)});return{criteria:c,index:++u,value:a}});return R(f,function(a,t){return k(a,t,i)})}var D=Math.ceil,S=Math.max;function y(r,n,i,u){for(var f=-1,a=S(D((n-r)/(i||1)),0),t=Array(a);a--;)t[++f]=r,r+=i;return t}function I(r){return function(n,i,u){return u&&typeof u!="number"&&m(n,i,u)&&(i=u=void 0),n=h(n),i===void 0?(i=n,n=0):i=h(i),u=u===void 0?n<i?1:-1:h(u),y(n,i,u)}}var sn=I(),bn=x(function(r,n){if(r==null)return[];var i=n.length;return i>1&&m(r,n[0],n[1])?n=[]:i>2&&m(n[0],n[1],n[2])&&(n=[n[0]]),j(r,Q(n),[])}),nn=0;function on(r){var n=++nn;return T(r)+n}function rn(r,n,i){for(var u=-1,f=r.length,a=n.length,t={};++u<f;){var d=u<a?n[u]:void 0;i(t,r[u],d)}return t}function vn(r,n){return rn(r||[],n||[],l)}export{mn as a,en as b,gn as c,tn as d,cn as e,dn as f,hn as m,sn as r,bn as s,on as u,vn as z};