@abtnode/blocklet-services 1.17.6-beta-20251216-081847-bf91c4db → 1.17.6-beta-20251216-223535-283b9ffe

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 (186) hide show
  1. package/api/emails/_components/compose.js +1 -1
  2. package/api/libs/connect/session.js +1 -1
  3. package/api/routes/blocklet.js +2 -0
  4. package/api/services/auth/session.js +9 -6
  5. package/dist/assets/{AdapterDayjs-Bfr4sW4C.js → AdapterDayjs-DqOr9LFk.js} +1 -1
  6. package/dist/assets/{Google-DA3WTnLE.js → Google-CQ1n6aSx.js} +1 -1
  7. package/dist/assets/{access-control-BZvc7AZG.js → access-control-LXesuJ2_.js} +1 -1
  8. package/dist/assets/{add-component-core-CNH5E2RR.js → add-component-core-L7bwC_64.js} +1 -1
  9. package/dist/assets/{add-resource-BWEvlWkH.js → add-resource-DeMXdPX_.js} +1 -1
  10. package/dist/assets/{addon-uM70Qwac.js → addon-kaBWGHOu.js} +1 -1
  11. package/dist/assets/{advanced-Caeqx4XB.js → advanced-DOrtiTqV.js} +1 -1
  12. package/dist/assets/{aigne-B9drp8Pq.js → aigne-BuWtyQrV.js} +1 -1
  13. package/dist/assets/api-2a4FTO9k.js +1 -0
  14. package/dist/assets/{appearance-DM7p-6Wl.js → appearance-DUs_om38.js} +1 -1
  15. package/dist/assets/{audit-logs-L-gO50KL.js → audit-logs-DUV4-vTj.js} +3 -3
  16. package/dist/assets/{authorize-D2d4GCpP.js → authorize-DC7FpxvU.js} +1 -1
  17. package/dist/assets/{base-chart-DSDnGziZ.js → base-chart-CRe-9w5H.js} +1 -1
  18. package/dist/assets/{base32-B-7CnEFd.js → base32-BqL5pnrU.js} +1 -1
  19. package/dist/assets/bind-account-DpXvkxLj.js +1 -0
  20. package/dist/assets/{branding-Dx40btDl.js → branding-BWncfl5y.js} +1 -1
  21. package/dist/assets/{branding-aCdIMhb0.js → branding-Btcz8N1M.js} +3 -3
  22. package/dist/assets/branding-DMOcia4y.js +1 -0
  23. package/dist/assets/{bundle-avatar-B1jZNqcH.js → bundle-avatar-BSv_e0lp.js} +1 -1
  24. package/dist/assets/button-C2uxCAba.js +1 -0
  25. package/dist/assets/click-to-copy-03_3P1nz.js +1 -0
  26. package/dist/assets/{cloneDeep-B_fYlLpl.js → cloneDeep-DqDclz1x.js} +1 -1
  27. package/dist/assets/{complete-Rr-_Zaon.js → complete-AlcncYrN.js} +2 -2
  28. package/dist/assets/{component-DZretbSC.js → component-Bsd478Wd.js} +2 -2
  29. package/dist/assets/{config-BkqISfFO.js → config-B8HbrPnF.js} +4 -4
  30. package/dist/assets/{config-Dw0qq-09.js → config-BBXBmv_e.js} +2 -2
  31. package/dist/assets/{config-Bjbv_xI5.js → config-CvvSF8W2.js} +1 -1
  32. package/dist/assets/{config-navigation-Dj8qf6cK.js → config-navigation-BAqSkXxH.js} +8 -8
  33. package/dist/assets/config-space-DnDf6PO2.js +1 -0
  34. package/dist/assets/{confirm-Bpit6U3-.js → confirm-Dul9DyCY.js} +1 -1
  35. package/dist/assets/connect-BRfx3zbS.js +1 -0
  36. package/dist/assets/{connect-B1ZA3nS8.js → connect-C1kqlbsb.js} +1 -1
  37. package/dist/assets/{connect-to-BsxW3JJi.js → connect-to-DNZM_E4B.js} +1 -1
  38. package/dist/assets/{create-passport-svg-DGPNsGUE.js → create-passport-svg-Cs4mVLsE.js} +1 -1
  39. package/dist/assets/{createClass-B5uCYz0o.js → createClass-BRKh_6kd.js} +1 -1
  40. package/dist/assets/{dashboard-DBwE7l6f.js → dashboard-DHNx2Vjq.js} +7 -7
  41. package/dist/assets/{delete-confirm-L0HXJtqt.js → delete-confirm-BT4RGlre.js} +1 -1
  42. package/dist/assets/did-address-DpdRECuJ.js +1 -0
  43. package/dist/assets/{domain-BoEowNlU.js → domain-Bc5sJ6GV.js} +1 -1
  44. package/dist/assets/{domain-action-card-BB0jQwcH.js → domain-action-card-DaWxksqg.js} +2 -2
  45. package/dist/assets/domains-CGPUezw9.js +1 -0
  46. package/dist/assets/{email-BAr61Jer.js → email-DsXuaICi.js} +2 -2
  47. package/dist/assets/engine-BaNtB6sW.js +1 -0
  48. package/dist/assets/{exchange-passport-BuJUAVgN.js → exchange-passport-DDScDnbP.js} +1 -1
  49. package/dist/assets/{form-kdwSU-mv.js → form-CmTyQIow.js} +2 -2
  50. package/dist/assets/{form-text-input-B_h8beXh.js → form-text-input-CsXLsIFW.js} +2 -2
  51. package/dist/assets/{fuel-C9kfBZ4R.js → fuel-BJDVWtLE.js} +2 -2
  52. package/dist/assets/{gen-access-key-Bh-o1OFU.js → gen-access-key-Ftv91l1v.js} +1 -1
  53. package/dist/assets/gen-simple-access-key-CWrV9bpF.js +1 -0
  54. package/dist/assets/get-safe-url-CqIO9371.js +1 -0
  55. package/dist/assets/{home-Cb5I193s.js → home-CxNed9GY.js} +1 -1
  56. package/dist/assets/{iframe-C233G1py.js → iframe-dmFx9kP7.js} +1 -1
  57. package/dist/assets/{index-MQEkIEm-.js → index-A-uhNQXl.js} +1 -1
  58. package/dist/assets/{index-BScxMPlP.js → index-B4sVJOOj.js} +1 -1
  59. package/dist/assets/{index-C-vVEZcs.js → index-B6IM_Z38.js} +3 -3
  60. package/dist/assets/{index-D-a8pZtp.js → index-BKE6R9dc.js} +1 -1
  61. package/dist/assets/{index-DuDIkjct.js → index-BNiqMLPn.js} +1 -1
  62. package/dist/assets/{index-DjpxFmgG.js → index-BWxvQ-Ka.js} +7 -7
  63. package/dist/assets/index-Bh8glecC.js +29 -0
  64. package/dist/assets/index-C0FXkPiP.js +62 -0
  65. package/dist/assets/{index-Bf3Peb0q.js → index-C6LgIqoY.js} +3 -3
  66. package/dist/assets/{index-CtORPeiq.js → index-CIJYNIAS.js} +2 -2
  67. package/dist/assets/{index-CGP3CGlC.js → index-CbTMv_sq.js} +6 -6
  68. package/dist/assets/{index-D29her4n.js → index-CeGNmiXz.js} +1 -1
  69. package/dist/assets/{index-CaTDaKrX.js → index-CiQKtWIW.js} +1 -1
  70. package/dist/assets/{index-WT6M-zj8.js → index-CiYSV3ew.js} +2 -2
  71. package/dist/assets/{index-D24LKXzO.js → index-Ck7gs4Oo.js} +1 -1
  72. package/dist/assets/{index-BT70k77_.js → index-CmDzr29Q.js} +2 -2
  73. package/dist/assets/index-CqsKmRBp.js +1 -0
  74. package/dist/assets/{index-lK6Pf_qM.js → index-CueIV4dA.js} +2 -2
  75. package/dist/assets/{index-DwJ_NASi.js → index-D4Ik9OgC.js} +2 -2
  76. package/dist/assets/index-DGg3AL9l.js +1039 -0
  77. package/dist/assets/{index-CUlOq3Sr.js → index-DQFDP0zB.js} +3 -3
  78. package/dist/assets/{index-CK3KHeKw.js → index-DTKew0E_.js} +1 -1
  79. package/dist/assets/{index-xE7OidBo.js → index-DVoa7OYS.js} +1 -1
  80. package/dist/assets/{index-CZBIYuko.js → index-DZnXlBSX.js} +1 -1
  81. package/dist/assets/{index-oS8X43Pb.js → index-DjCd3BVH.js} +6 -6
  82. package/dist/assets/{index-D_u0j8BO.js → index-DriYV-w5.js} +1 -1
  83. package/dist/assets/{index-CI3rRJqa.js → index-DzDWMabe.js} +12 -12
  84. package/dist/assets/{index-KIswy2vM.js → index-NpB7Thbw.js} +5 -5
  85. package/dist/assets/{index-CqD-x8pw.js → index-W43xyvqt.js} +2 -2
  86. package/dist/assets/{index-DACtt7qd.js → index-XVoTh0rZ.js} +1 -1
  87. package/dist/assets/{index-LaMi0T4w.js → index-cWpptG8N.js} +1 -1
  88. package/dist/assets/{invitation-C2S2tPzG.js → invitation-DaAeUQvL.js} +5 -5
  89. package/dist/assets/{invitations-Dil5QWBY.js → invitations-DY6AII7i.js} +2 -2
  90. package/dist/assets/{invite-GVnju9RQ.js → invite-BfQp8T_i.js} +1 -1
  91. package/dist/assets/{isURL-ZFgr0DWl.js → isURL-HdHdFI5D.js} +1 -1
  92. package/dist/assets/{issue-passport-BmU6NmKw.js → issue-passport-BKAe--H8.js} +1 -1
  93. package/dist/assets/{item-DfQKizv4.js → item-D8-oGTEp.js} +1 -1
  94. package/dist/assets/{landing-page-C3zTr0-n.js → landing-page-DQd97swG.js} +1 -1
  95. package/dist/assets/{layout-tkk_Lr2y.js → layout-PDwTMZS3.js} +1 -1
  96. package/dist/assets/list-B9c3yQuf.js +2 -0
  97. package/dist/assets/{list-YOpLH3o0.js → list-DYFxkX2y.js} +1 -1
  98. package/dist/assets/localization-XbNv70VN.js +1 -0
  99. package/dist/assets/{log-C0zcaEbO.js → log-ClrACcuw.js} +1 -1
  100. package/dist/assets/logger-D3ELa8t7.js +1 -0
  101. package/dist/assets/login-C3CgZVaH.js +1 -0
  102. package/dist/assets/{login-oauth-callback-DCJMx5J1.js → login-oauth-callback-DVq62YiP.js} +1 -1
  103. package/dist/assets/{logo-uploader-TLOlwvRt.js → logo-uploader-CPZeytzo.js} +1 -1
  104. package/dist/assets/{lost-passport-DE5KGhjz.js → lost-passport-rqbtayK0.js} +2 -2
  105. package/dist/assets/{omit-D_PYZZLm.js → omit-5AwbF-Ja.js} +1 -1
  106. package/dist/assets/{open-window-CPNpPXku.js → open-window-B20A6mUS.js} +1 -1
  107. package/dist/assets/{over-due-invoice-payment-1EZsSUm4.js → over-due-invoice-payment-Dpy6U-OB.js} +1 -1
  108. package/dist/assets/{overview-CMduEuAK.js → overview-DSMOnuTp.js} +2 -2
  109. package/dist/assets/passport-BeTGnBZp.js +1 -0
  110. package/dist/assets/{passport-item-QbgyHapR.js → passport-item-6fDG-tjs.js} +1 -1
  111. package/dist/assets/{permission-C0bmOzVj.js → permission-CjBTXkmT.js} +1 -1
  112. package/dist/assets/{preferences-0l0Zmaom.js → preferences-YojWKSr3.js} +1 -1
  113. package/dist/assets/profile-embed-CRKFFFmF.js +1 -0
  114. package/dist/assets/{publish-resource-ggObFvMi.js → publish-resource-CXd42xoH.js} +1 -1
  115. package/dist/assets/{react-beautiful-dnd.esm-zYw9dagY.js → react-beautiful-dnd.esm-By1RE6ef.js} +1 -1
  116. package/dist/assets/{runtime-BNKE0VfZ.js → runtime-Ydt2KUZV.js} +1 -1
  117. package/dist/assets/{sanitize-CtCDGQB6.js → sanitize-BOo6OPJZ.js} +1 -1
  118. package/dist/assets/sdk-BZuN1V4h.js +1 -0
  119. package/dist/assets/{security-CWEVWbF4.js → security-C6x1zjWI.js} +3 -3
  120. package/dist/assets/{session-Des-0R_y.js → session-Bavobyzn.js} +1 -1
  121. package/dist/assets/{setup-Cps_vpFS.js → setup-x3XlLP1U.js} +1 -1
  122. package/dist/assets/{spaces-2YPkTkBR.js → spaces-DKfk45f5.js} +1 -1
  123. package/dist/assets/start-WYmvvJ-x.js +187 -0
  124. package/dist/assets/{starting-progress-xuCef6_T.js → starting-progress-DbdtjHCx.js} +1 -1
  125. package/dist/assets/status-B7-tZFw7.js +1 -0
  126. package/dist/assets/{step-actions-AHe2MQxo.js → step-actions-BGJwIEbT.js} +1 -1
  127. package/dist/assets/{studio-HfI11Uc3.js → studio-D7UNnkpz.js} +1 -1
  128. package/dist/assets/{switch-control-CzYig10w.js → switch-control-BDwQ53GS.js} +1 -1
  129. package/dist/assets/{switch-rIcJ7tho.js → switch-wqsJ2qIA.js} +1 -1
  130. package/dist/assets/{table-tips-Ba9Kf02z.js → table-tips-BEPJMiqj.js} +1 -1
  131. package/dist/assets/{team-BWkxYdcc.js → team-D2fBm-il.js} +4 -4
  132. package/dist/assets/{traffic-jB6onGHq.js → traffic-BxfS8jav.js} +1 -1
  133. package/dist/assets/{transfer-DspVAdFc.js → transfer-C8A72tJr.js} +1 -1
  134. package/dist/assets/{unsubscribe-CKdMi1Kx.js → unsubscribe-DOgxD7dQ.js} +1 -1
  135. package/dist/assets/{use-app-logo-BAGvxEU-.js → use-app-logo-BwsHVK-l.js} +1 -1
  136. package/dist/assets/{use-window-close-D7QBHj75.js → use-window-close-edYntLdV.js} +1 -1
  137. package/dist/assets/{useAsync-CxjyODHb.js → useAsync-BSd-eaZO.js} +1 -1
  138. package/dist/assets/{useAsync-CgTefzpB.js → useAsync-DOpjtrvS.js} +1 -1
  139. package/dist/assets/{useAsyncRetry-BnuUJFwY.js → useAsyncRetry-v1aVMcV-.js} +1 -1
  140. package/dist/assets/useLocalStorage-8LihN_xG.js +1 -0
  141. package/dist/assets/user-center-9ue_tdF_.js +125 -0
  142. package/dist/assets/user-follower-DXIC4btc.js +32 -0
  143. package/dist/assets/{util-DXf_zMuU.js → util-CqIowTns.js} +1 -1
  144. package/dist/assets/{util-C9cWBCZz.js → util-pUhbKKIP.js} +1 -1
  145. package/dist/assets/{vendor-arcblock-DkdOhPyM.js → vendor-arcblock-DRfhQ9Yl.js} +1 -1
  146. package/dist/assets/{vendor-hooks-BZ19vVZ7.js → vendor-hooks-DpqqC65c.js} +1 -1
  147. package/dist/assets/vendor-utils-BqKQizRf.js +213 -0
  148. package/dist/assets/{vendor-ux-DMZIE6wA.js → vendor-ux-KtPBvlG0.js} +7 -7
  149. package/dist/assets/{wait-connect-D2wPrbE3.js → wait-connect-BwtwczC4.js} +1 -1
  150. package/dist/assets/{wizard-EYZCXWG5.js → wizard-LT-uDnMP.js} +1 -1
  151. package/dist/assets/wizard-components-BmdyIe7R.js +52 -0
  152. package/dist/assets/wrap-locale-C-cgVToU.js +1 -0
  153. package/dist/assets/{zh-CXK3bXGt.js → zh-DZyuEbhr.js} +1 -1
  154. package/dist/index.html +1 -1
  155. package/package.json +24 -24
  156. package/dist/assets/api-C75sLx9p.js +0 -1
  157. package/dist/assets/bind-account-DuzArGdZ.js +0 -1
  158. package/dist/assets/branding-bYH66Nug.js +0 -1
  159. package/dist/assets/button-BnSiFtNt.js +0 -1
  160. package/dist/assets/click-to-copy-CwdgHxjB.js +0 -1
  161. package/dist/assets/config-space-Dw6ITGIj.js +0 -1
  162. package/dist/assets/connect-Bl7-1lbc.js +0 -1
  163. package/dist/assets/did-address-uvYuZ4wv.js +0 -1
  164. package/dist/assets/domains-kgzxNW_C.js +0 -1
  165. package/dist/assets/engine-DWk3y4cO.js +0 -1
  166. package/dist/assets/gen-simple-access-key-DHmIlRFl.js +0 -1
  167. package/dist/assets/get-safe-url-gaxZoVzJ.js +0 -1
  168. package/dist/assets/index-B7DVpLRM.js +0 -63
  169. package/dist/assets/index-BaaFi7Vh.js +0 -1
  170. package/dist/assets/index-DwyzCfdd.js +0 -1041
  171. package/dist/assets/index-OMkyTUNX.js +0 -29
  172. package/dist/assets/list-BvgV1Jbh.js +0 -2
  173. package/dist/assets/localization-DcnSNZHz.js +0 -1
  174. package/dist/assets/logger-BbBkOuwH.js +0 -1
  175. package/dist/assets/login-BR26IXZx.js +0 -1
  176. package/dist/assets/passport-Dg1YWagy.js +0 -1
  177. package/dist/assets/profile-embed-BQzLZZkK.js +0 -1
  178. package/dist/assets/sdk-YVE2MSze.js +0 -1
  179. package/dist/assets/start-CuCNmoqX.js +0 -187
  180. package/dist/assets/status-DleDsf-t.js +0 -1
  181. package/dist/assets/useLocalStorage-Bj52e1ZW.js +0 -1
  182. package/dist/assets/user-center-CL_lKzgJ.js +0 -125
  183. package/dist/assets/user-follower-CfiG4RXf.js +0 -32
  184. package/dist/assets/vendor-utils-D5UG1a5Y.js +0 -213
  185. package/dist/assets/wizard-components-PMRUmw6U.js +0 -52
  186. package/dist/assets/wrap-locale-B4E8Yvgz.js +0 -1
@@ -1,11 +1,11 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=[window.__toCdnUrl("assets/vendor-ux-DYcPPYq2.css"),window.__toCdnUrl("assets/index-DrVXX4fX.css"),window.__toCdnUrl("assets/index-B5LvOF-F.css")])))=>i.map(i=>d[i]);
2
- import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./vendor-react-CTtPmzVP.js";import{J as Oe,j as e,ak as a,b2 as Et,W as n,am as xe,I as ce,d5 as _s,d6 as Ws,cu as go,bi as nt,T as $,d7 as Os,bC as zs,s as ko,cr as jo,d8 as Bs,d9 as Vs,Y as lt,at as ve,av as Us,da as Ms,a5 as He,aZ as it,cC as Pt,cR as Fs,b0 as Hs,bX as Me,bj as Js,bV as et,Q as G,a6 as Se,cG as Xs,O as yo,K as wo,P as Lt,ai as vo,o as Co,M as be,a3 as Gs,b5 as Ro,$ as So,ca as Ks,A as Xe,aJ as Zs,R as To,z as ne,b6 as Re,db as Xt,bO as tt,dc as Do,V as Io,S as At,aP as Eo,bf as Ys,D as Po,cU as Qs,aQ as er,aR as tr,cV as or,cW as sr,by as Lo,aq as rr,dd as nr,a1 as Ao,a0 as ot,cX as Gt,bv as lr,bw as ir,de as cr,df as ar,bZ as vt,y as dr,F as ur,bW as pr,bY as ft}from"./vendor-mui-core-DnR6WYuU.js";import{c as F,Z as ke,Y as De,l as hr,J as me,bT as mr,h as br,q as Kt,bX as fr,am as Zt,bQ as xr,aK as gr,bY as kr,bZ as jr,b_ as yr}from"./index-DwyzCfdd.js";import{V as X,bi as $o,D as wr,J as Ae,b4 as qo,bb as No,bz as vr,aZ as $t,Q as W,bx as qt,bA as Nt,N as ae,_ as _o,aI as We,aU as ct,b3 as Wo}from"./vendor-ux-DMZIE6wA.js";import{C as at}from"./confirm-Bpit6U3-.js";import{u as ze}from"./session-Des-0R_y.js";import{W as Ct}from"./did-address-uvYuZ4wv.js";import{E as Ge}from"./empty-spinner-BYDonf35.js";import{B as _t}from"./bundle-avatar-B1jZNqcH.js";import{S as Te}from"./shorten-label-C4py9TLA.js";import{L as Wt}from"./list-header-Cl3jykCe.js";import{aa as Cr,C as ue,A as Ot,D as Oo,N as Rr}from"./vendor-utils-D5UG1a5Y.js";import{C as zo}from"./click-to-copy-CwdgHxjB.js";import{t as Yt}from"./question-mark-circle.svg-CByEVDhb.js";import{x as Sr,b as Tr}from"./vendor-hooks-BZ19vVZ7.js";import{u as Fe}from"./useSetState-L-f8mSga.js";import{e as Dr}from"./engine-DWk3y4cO.js";import"./api-C75sLx9p.js";import{T as Ir,S as Er}from"./vendor-mui-x-CQc01l4r.js";import{D as Qt,C as eo,P as to}from"./react-beautiful-dnd.esm-zYw9dagY.js";import{u as Bo,a as Pr,b as Lr,d as Ar,e as $r}from"./wait-connect-D2wPrbE3.js";import{f as ge}from"./index-DBs9Ljax.js";import{c as qr,A as Vo,S as Nr,U as _r,r as Wr}from"./item-DfQKizv4.js";import{D as Or}from"./delete-confirm-L0HXJtqt.js";import{g as Uo}from"./get-safe-url-gaxZoVzJ.js";import{u as Le}from"./index-D24LKXzO.js";import{M as zr}from"./index-B0Q9wWG1.js";import{r as Br}from"./index-CRAuhYSg.js";import"./vendor-arcblock-DkdOhPyM.js";import"./lottie-web-4koyQiv_.js";import"./raf-schd.esm-XXBRsnmf.js";function zt({did:t,projectId:o,title:s,logo:r,describe:l}){const i=`${`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${t}/${o}/logo/upload`}/${r}`,[d,u]=k.useState(!1),x=Oe(p=>p.breakpoints.down("md"));return e.jsxs(a,{sx:{display:"flex",flexDirection:"row",color:d?"primary.main":"grey.900",gap:1},onPointerEnter:()=>u(!0),onPointerLeave:()=>u(!1),children:[e.jsx(Et,{sx:{borderRadius:1},src:i}),e.jsxs(a,{children:[e.jsx(Te,{hiddenTip:!0,maxLength:"24",sx:{fontSize:"14px",fontWeight:"500",color:x?"primary.main":""},children:s||"/"}),e.jsx(Te,{hiddenTip:!0,maxLength:"58",sx:{fontSize:"12px",color:x||d?"primary.main":"grey.700"},children:l||"/"})]})]})}zt.propTypes={projectId:n.string.isRequired,did:n.string.isRequired,title:n.string.isRequired,logo:n.string.isRequired,describe:n.string.isRequired};function Mo({initUrl:t=null}){const o=It(),s=t?.searchParams.get("tenantScope")||"",{t:r,locale:l}=X(),{api:c}=ke(),{api:i}=ze(),[d,u]=k.useState(!0),{blocklet:x}=De(),[p,m]=k.useState(null),[f,b]=k.useState(!1),h=Oe(E=>E.breakpoints.down("xl")),j=Oe(E=>E.breakpoints.down("md")),{componentDid:v=""}=rt(),[g,C]=k.useState(null),D=`publish-${x.meta.did}`,R=$o(D),[y,T]=k.useState({searchText:R.searchText||"",pageSize:R.rowsPerPage||10,page:1}),O=()=>{c.getProjects({input:{did:x.meta.did,componentDid:v,tenantScope:s}}).then(E=>{const I=E?.projects||[];u(!1),C(I)}).catch(E=>{u(!1),W.error(E.message)})},N=()=>{o(`${F.UNOWNED_DID}/create/none/0.0.0`,{replace:!0})},z=E=>{m(E)},K=()=>{u(!1),b(!0)},P=()=>{b(!1),m(null)},A=E=>{W.error(E.message),b(!1),m(null)},w=E=>{if(!E?.deleted){W.error("Delete project failed");return}O(),b(!1),m(null)};k.useEffect(()=>{O()},[]);const S=k.useMemo(()=>{if(!y.searchText)return g;let E=y.searchText?.trim();return E?(E=wr.toAddress(E).toLocaleLowerCase(),g.filter(I=>I.blockletTitle.toLowerCase().includes(E)||I.blockletDid.toLowerCase().includes(E))):g},[g,y.searchText]);if(!g&&d)return e.jsx(a,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"40px"},children:e.jsx(Ge,{})});if(!g)return null;if(!g.length)return e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center",pt:10},children:[e.jsx(a,{sx:{fontSize:20,fontWeight:"bold",mb:3},children:r("blocklet.publish.blockletEmptyTip")}),e.jsx(a,{sx:{fontSize:14,color:"text.secondary",mb:3},children:r("blocklet.publish.createBlockletTip")}),e.jsx(Ae,{onClick:N,variant:"contained",children:r("blocklet.publish.createBlocklet")})]});const Y=[{label:"Blocklet",name:"blockletTitle",minWidth:160,options:{customBodyRenderLite:E=>{const I=g[E];return e.jsx(we,{to:`${I.id}`,children:e.jsx(zt,{did:x.meta.did,projectId:I.id,logo:I.blockletLogo,title:I.blockletTitle,describe:I.blockletDescription})})}}},{label:"Version",name:"blockletVersion",options:{searchable:!1,customBodyRender:E=>E?e.jsx(qo,{type:"success",children:E}):""}},{label:"DID",name:"blockletDid",options:{customBodyRender:E=>E?e.jsx(Ct,{size:14,compact:!0,responsive:!1,did:E}):null}},h||v?null:{label:r("common.createdBy"),name:"createdBy",options:{customBodyRender:E=>E?e.jsx(Ct,{onClick:()=>{o(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/admin/members?did=${E}`)},style:{cursor:"pointer"},size:14,compact:!0,copyable:!1,showQrcode:!1,responsive:!1,did:E}):null}},h||v?null:{label:r("common.scope"),name:"componentDid",options:{customBodyRender:E=>{const I=(x.children||[]).find(V=>V.meta.did===E);return I?e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[e.jsx(_t,{size:14,blocklet:I,ancestors:[x]}),e.jsx(a,{sx:{ml:.5,color:"text.primary",fontSize:14},children:I.meta.title})]},E):""}}},h||s?null:{label:r("blocklet.publish.tenantScope"),name:"tenantScope",options:{customBodyRender:E=>e.jsx(a,{sx:{ml:.5,color:"text.primary",fontSize:14},children:e.jsx(Te,{children:E})})}},{label:r("common.updatedAt"),name:"updatedAt",options:{searchable:!1,customBodyRender:E=>e.jsx(No,{value:Number(E),locale:l})}},{label:r("common.actions"),name:"actions",options:{searchable:!1,customBodyRenderLite:E=>{const I=g[E];return e.jsxs(a,{sx:{display:"flex"},children:[e.jsx(we,{to:`${I.id}/new-release/none/${I.lastReleaseId}`,children:e.jsx(xe,{title:r("blocklet.publish.createRelease"),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"create",children:e.jsx(_s,{style:{fontSize:18}})})})}),!!I.lastReleaseId&&e.jsx(xe,{title:r("blocklet.publish.viewLastRelease",{name:I.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"secondary","aria-label":"create",children:e.jsx(we,{style:{display:"flex"},to:`${I.id}/view/${I.lastReleaseId}/${I.blockletVersion}`,children:e.jsx(Ws,{sx:{fontSize:18}})})})}),e.jsx(xe,{title:r("blocklet.publish.delete",{name:I.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"delete",onClick:()=>z(I),children:e.jsx(go,{sx:{fontSize:18}})})})]})}}}].filter(Boolean),H=({page:E,rowsPerPage:I,searchText:V})=>{y.pageSize!==I?T(U=>({...U,searchText:"",pageSize:I,page:1})):y.page!==E+1?T(U=>({...U,searchText:"",page:E+1})):y.searchText!==V&&T(U=>({...U,searchText:V,page:1}))},Q=f?e.jsx(hr,{open:!0,popup:!0,onClose:P,action:"check-has-project-id",locale:l,checkFn:i.get,saveConnect:!1,forceConnected:!1,checkTimeout:5*60*1e3,onSuccess:w,onError:A,extraParams:{projectId:p.id,did:x.meta.did,name:p.blockletTitle},messages:{title:r("blocklet.publish.deleteProject.title",{name:p.blockletTitle}),scan:r("blocklet.publish.deleteProject.scan",{name:p.blockletTitle}),confirm:r("blocklet.publish.deleteProject.confirm"),success:r("blocklet.publish.deleteProject.success")}}):null;return e.jsxs(Vr,{children:[e.jsx(Wt,{sx:{mb:2},left:e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsxs($,{variant:"h4",children:[r("common.blocklets")," (",S.length,")"]}),e.jsx(xe,{title:r("blocklet.publish.createBlockletTip"),arrow:!0,placement:"right",children:e.jsx(Os,{sx:{opacity:.6,fontSize:"1.1em",ml:1}})})]}),actions:e.jsxs(e.Fragment,{children:[e.jsx(vr,{options:{searchPlaceholder:r("blocklet.list.searchPlaceholder"),searchDebounceTime:600,searchAlwaysOpen:j},search:y.searchText,searchText:y.searchText,searchTextUpdate:E=>T(I=>({...I,searchText:E})),searchClose:()=>T(E=>({...E,searchText:""})),onSearchOpen:()=>{}}),e.jsxs(Ae,{onClick:N,variant:"contained",children:[e.jsx(nt,{style:{fontSize:"1.3em",marginRight:4}}),r("blocklet.publish.createBlocklet")]})]})}),e.jsx($t,{className:"main-table",locale:l,data:S,columns:Y,options:{search:!1,sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,searchAlwaysOpen:!0,rowsPerPageOptions:[10,20,50,100]},durable:D,onChange:H}),p&&e.jsx(at,{title:`${r("common.delete")} ${p.blockletTitle}`,description:r("blocklet.publish.deleteProject.description"),confirm:r("common.confirm"),onConfirm:K,onCancel:()=>m(null),children:e.jsx(a,{sx:{marginTop:2},children:[r("blocklet.publish.deleteProject.tip1"),r("blocklet.publish.deleteProject.tip2"),r("blocklet.publish.deleteProject.tip3")].map(E=>e.jsxs(a,{sx:{display:"flex",marginTop:1,flexDirection:"row",alignItems:"flex-start"},children:[e.jsx(zs,{color:"warning",sx:{marginRight:1,fontSize:20,marginTop:"2px"}}),e.jsx($,{component:"span",variant:"inherit",sx:{color:"text.secondary"},children:E})]}))})}),Q]})}const Vr=ko(a)`
2
+ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./vendor-react-CTtPmzVP.js";import{J as Oe,j as e,ak as a,b2 as Et,W as n,am as xe,I as ce,d5 as _s,d6 as Ws,cu as go,bi as nt,T as A,d7 as Os,bC as zs,s as ko,cr as jo,d8 as Bs,d9 as Vs,Y as lt,at as ve,av as Us,da as Ms,a5 as He,aZ as it,cC as Pt,cR as Fs,b0 as Hs,bX as Me,bj as Js,bV as et,Q as G,a6 as Se,cG as Xs,O as yo,K as wo,P as Lt,ai as vo,o as Co,M as be,a3 as Gs,b5 as Ro,$ as So,ca as Ks,A as Xe,aJ as Ys,R as To,z as ne,b6 as Re,db as Xt,bO as tt,dc as Do,V as Io,S as $t,aP as Eo,bf as Zs,D as Po,cU as Qs,aQ as er,aR as tr,cV as or,cW as sr,by as Lo,aq as rr,dd as nr,a1 as $o,a0 as ot,cX as Gt,bv as lr,bw as ir,de as cr,df as ar,bZ as vt,y as dr,F as ur,bW as pr,bY as ft}from"./vendor-mui-core-DnR6WYuU.js";import{c as F,Z as ke,Y as De,l as hr,J as me,bT as mr,h as br,q as Kt,bX as fr,am as Yt,bQ as xr,aK as gr,bY as kr,bZ as jr,b_ as yr}from"./index-DGg3AL9l.js";import{V as X,b7 as Ao,q as wr,w as $e,aV as qo,b0 as No,bp as vr,aO as At,H as W,bn as qt,bq as Nt,z as ae,_ as _o,ay as We,aJ as ct,aU as Wo}from"./vendor-ux-KtPBvlG0.js";import{C as at}from"./confirm-Dul9DyCY.js";import{u as ze}from"./session-Bavobyzn.js";import{W as Ct}from"./did-address-DpdRECuJ.js";import{E as Ge}from"./empty-spinner-BYDonf35.js";import{B as _t}from"./bundle-avatar-BSv_e0lp.js";import{S as Te}from"./shorten-label-C4py9TLA.js";import{L as Wt}from"./list-header-Cl3jykCe.js";import{aa as Cr,C as ue,A as Ot,D as Oo,N as Rr}from"./vendor-utils-BqKQizRf.js";import{C as zo}from"./click-to-copy-03_3P1nz.js";import{t as Zt}from"./question-mark-circle.svg-CByEVDhb.js";import{x as Sr,b as Tr}from"./vendor-hooks-DpqqC65c.js";import{u as Fe}from"./useSetState-L-f8mSga.js";import{e as Dr}from"./engine-BaNtB6sW.js";import"./api-2a4FTO9k.js";import{T as Ir,S as Er}from"./vendor-mui-x-CQc01l4r.js";import{D as Qt,C as eo,P as to}from"./react-beautiful-dnd.esm-By1RE6ef.js";import{u as Bo,a as Pr,b as Lr,d as $r,e as Ar}from"./wait-connect-BwtwczC4.js";import{f as ge}from"./index-DBs9Ljax.js";import{c as qr,A as Vo,S as Nr,U as _r,r as Wr}from"./item-D8-oGTEp.js";import{D as Or}from"./delete-confirm-BT4RGlre.js";import{g as Uo}from"./get-safe-url-CqIO9371.js";import{u as Le}from"./index-Ck7gs4Oo.js";import{M as zr}from"./index-B0Q9wWG1.js";import{r as Br}from"./index-CRAuhYSg.js";import"./vendor-arcblock-DRfhQ9Yl.js";import"./lottie-web-4koyQiv_.js";import"./raf-schd.esm-XXBRsnmf.js";function zt({did:t,projectId:o,title:s,logo:r,describe:l}){const i=`${`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${t}/${o}/logo/upload`}/${r}`,[d,u]=k.useState(!1),x=Oe(p=>p.breakpoints.down("md"));return e.jsxs(a,{sx:{display:"flex",flexDirection:"row",color:d?"primary.main":"grey.900",gap:1},onPointerEnter:()=>u(!0),onPointerLeave:()=>u(!1),children:[e.jsx(Et,{sx:{borderRadius:1},src:i}),e.jsxs(a,{children:[e.jsx(Te,{hiddenTip:!0,maxLength:"24",sx:{fontSize:"14px",fontWeight:"500",color:x?"primary.main":""},children:s||"/"}),e.jsx(Te,{hiddenTip:!0,maxLength:"58",sx:{fontSize:"12px",color:x||d?"primary.main":"grey.700"},children:l||"/"})]})]})}zt.propTypes={projectId:n.string.isRequired,did:n.string.isRequired,title:n.string.isRequired,logo:n.string.isRequired,describe:n.string.isRequired};function Mo({initUrl:t=null}){const o=It(),s=t?.searchParams.get("tenantScope")||"",{t:r,locale:l}=X(),{api:c}=ke(),{api:i}=ze(),[d,u]=k.useState(!0),{blocklet:x}=De(),[p,m]=k.useState(null),[f,b]=k.useState(!1),h=Oe(E=>E.breakpoints.down("xl")),j=Oe(E=>E.breakpoints.down("md")),{componentDid:v=""}=rt(),[g,C]=k.useState(null),D=`publish-${x.meta.did}`,R=Ao(D),[y,T]=k.useState({searchText:R.searchText||"",pageSize:R.rowsPerPage||10,page:1}),O=()=>{c.getProjects({input:{did:x.meta.did,componentDid:v,tenantScope:s}}).then(E=>{const I=E?.projects||[];u(!1),C(I)}).catch(E=>{u(!1),W.error(E.message)})},N=()=>{o(`${F.UNOWNED_DID}/create/none/0.0.0`,{replace:!0})},z=E=>{m(E)},K=()=>{u(!1),b(!0)},P=()=>{b(!1),m(null)},$=E=>{W.error(E.message),b(!1),m(null)},w=E=>{if(!E?.deleted){W.error("Delete project failed");return}O(),b(!1),m(null)};k.useEffect(()=>{O()},[]);const S=k.useMemo(()=>{if(!y.searchText)return g;let E=y.searchText?.trim();return E?(E=wr.toAddress(E).toLocaleLowerCase(),g.filter(I=>I.blockletTitle.toLowerCase().includes(E)||I.blockletDid.toLowerCase().includes(E))):g},[g,y.searchText]);if(!g&&d)return e.jsx(a,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"40px"},children:e.jsx(Ge,{})});if(!g)return null;if(!g.length)return e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center",pt:10},children:[e.jsx(a,{sx:{fontSize:20,fontWeight:"bold",mb:3},children:r("blocklet.publish.blockletEmptyTip")}),e.jsx(a,{sx:{fontSize:14,color:"text.secondary",mb:3},children:r("blocklet.publish.createBlockletTip")}),e.jsx($e,{onClick:N,variant:"contained",children:r("blocklet.publish.createBlocklet")})]});const Z=[{label:"Blocklet",name:"blockletTitle",minWidth:160,options:{customBodyRenderLite:E=>{const I=g[E];return e.jsx(we,{to:`${I.id}`,children:e.jsx(zt,{did:x.meta.did,projectId:I.id,logo:I.blockletLogo,title:I.blockletTitle,describe:I.blockletDescription})})}}},{label:"Version",name:"blockletVersion",options:{searchable:!1,customBodyRender:E=>E?e.jsx(qo,{type:"success",children:E}):""}},{label:"DID",name:"blockletDid",options:{customBodyRender:E=>E?e.jsx(Ct,{size:14,compact:!0,responsive:!1,did:E}):null}},h||v?null:{label:r("common.createdBy"),name:"createdBy",options:{customBodyRender:E=>E?e.jsx(Ct,{onClick:()=>{o(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/admin/members?did=${E}`)},style:{cursor:"pointer"},size:14,compact:!0,copyable:!1,showQrcode:!1,responsive:!1,did:E}):null}},h||v?null:{label:r("common.scope"),name:"componentDid",options:{customBodyRender:E=>{const I=(x.children||[]).find(V=>V.meta.did===E);return I?e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[e.jsx(_t,{size:14,blocklet:I,ancestors:[x]}),e.jsx(a,{sx:{ml:.5,color:"text.primary",fontSize:14},children:I.meta.title})]},E):""}}},h||s?null:{label:r("blocklet.publish.tenantScope"),name:"tenantScope",options:{customBodyRender:E=>e.jsx(a,{sx:{ml:.5,color:"text.primary",fontSize:14},children:e.jsx(Te,{children:E})})}},{label:r("common.updatedAt"),name:"updatedAt",options:{searchable:!1,customBodyRender:E=>e.jsx(No,{value:Number(E),locale:l})}},{label:r("common.actions"),name:"actions",options:{searchable:!1,customBodyRenderLite:E=>{const I=g[E];return e.jsxs(a,{sx:{display:"flex"},children:[e.jsx(we,{to:`${I.id}/new-release/none/${I.lastReleaseId}`,children:e.jsx(xe,{title:r("blocklet.publish.createRelease"),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"create",children:e.jsx(_s,{style:{fontSize:18}})})})}),!!I.lastReleaseId&&e.jsx(xe,{title:r("blocklet.publish.viewLastRelease",{name:I.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"secondary","aria-label":"create",children:e.jsx(we,{style:{display:"flex"},to:`${I.id}/view/${I.lastReleaseId}/${I.blockletVersion}`,children:e.jsx(Ws,{sx:{fontSize:18}})})})}),e.jsx(xe,{title:r("blocklet.publish.delete",{name:I.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"delete",onClick:()=>z(I),children:e.jsx(go,{sx:{fontSize:18}})})})]})}}}].filter(Boolean),H=({page:E,rowsPerPage:I,searchText:V})=>{y.pageSize!==I?T(U=>({...U,searchText:"",pageSize:I,page:1})):y.page!==E+1?T(U=>({...U,searchText:"",page:E+1})):y.searchText!==V&&T(U=>({...U,searchText:V,page:1}))},Q=f?e.jsx(hr,{open:!0,popup:!0,onClose:P,action:"check-has-project-id",locale:l,checkFn:i.get,saveConnect:!1,forceConnected:!1,checkTimeout:5*60*1e3,onSuccess:w,onError:$,extraParams:{projectId:p.id,did:x.meta.did,name:p.blockletTitle},messages:{title:r("blocklet.publish.deleteProject.title",{name:p.blockletTitle}),scan:r("blocklet.publish.deleteProject.scan",{name:p.blockletTitle}),confirm:r("blocklet.publish.deleteProject.confirm"),success:r("blocklet.publish.deleteProject.success")}}):null;return e.jsxs(Vr,{children:[e.jsx(Wt,{sx:{mb:2},left:e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsxs(A,{variant:"h4",children:[r("common.blocklets")," (",S.length,")"]}),e.jsx(xe,{title:r("blocklet.publish.createBlockletTip"),arrow:!0,placement:"right",children:e.jsx(Os,{sx:{opacity:.6,fontSize:"1.1em",ml:1}})})]}),actions:e.jsxs(e.Fragment,{children:[e.jsx(vr,{options:{searchPlaceholder:r("blocklet.list.searchPlaceholder"),searchDebounceTime:600,searchAlwaysOpen:j},search:y.searchText,searchText:y.searchText,searchTextUpdate:E=>T(I=>({...I,searchText:E})),searchClose:()=>T(E=>({...E,searchText:""})),onSearchOpen:()=>{}}),e.jsxs($e,{onClick:N,variant:"contained",children:[e.jsx(nt,{style:{fontSize:"1.3em",marginRight:4}}),r("blocklet.publish.createBlocklet")]})]})}),e.jsx(At,{className:"main-table",locale:l,data:S,columns:Z,options:{search:!1,sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,searchAlwaysOpen:!0,rowsPerPageOptions:[10,20,50,100]},durable:D,onChange:H}),p&&e.jsx(at,{title:`${r("common.delete")} ${p.blockletTitle}`,description:r("blocklet.publish.deleteProject.description"),confirm:r("common.confirm"),onConfirm:K,onCancel:()=>m(null),children:e.jsx(a,{sx:{marginTop:2},children:[r("blocklet.publish.deleteProject.tip1"),r("blocklet.publish.deleteProject.tip2"),r("blocklet.publish.deleteProject.tip3")].map(E=>e.jsxs(a,{sx:{display:"flex",marginTop:1,flexDirection:"row",alignItems:"flex-start"},children:[e.jsx(zs,{color:"warning",sx:{marginRight:1,fontSize:20,marginTop:"2px"}}),e.jsx(A,{component:"span",variant:"inherit",sx:{color:"text.secondary"},children:E})]}))})}),Q]})}const Vr=ko(a)`
3
3
  ${({theme:t})=>t.breakpoints.down("md")} {
4
4
  .MuiTableRow-root {
5
5
  border-color: ${({theme:t})=>t.palette.divider};
6
6
  }
7
7
  }
8
- `;Mo.propTypes={initUrl:n.object};const Fo=(t,o)=>{if(!t)return"";try{return o?JSON.parse(t)[o]:JSON.parse(t)}catch{}return t};function Ur(){const{t,locale:o}=X(),{projectId:s}=rt(),{api:r}=ke(),[l,c]=k.useState(!0),{blocklet:i}=De(),d=Oe(w=>w.breakpoints.down("md")),[u,x]=k.useState(null),[p,m]=k.useState(null),[f,b]=k.useState(null),h=window.env?.serverEndpoint,j=`releases-${i.meta.did}-${s}`,v=$o(j),[g,C]=k.useState({searchText:v.searchText||"",pageSize:v.rowsPerPage||10,page:1}),D=()=>{r.getReleases({input:{did:i.meta.did,projectId:s}}).then(w=>{const S=w?.releases||[];c(!1),x(S)}).catch(w=>{c(!1),W.error(w.message)})},R=()=>{r.doBatchQuery({getProject:{input:{did:i.meta.did,projectId:s}},getReleases:{input:{did:i.meta.did,projectId:s}}}).then(w=>{m(w.getProject.project||{}),x(w.getReleases.releases||[]),c(!1)}).catch(w=>{c(!1),W.error(w.message)})};k.useEffect(()=>{R()},[]);const[y,T]=k.useState(""),O=()=>{c(!1);const w=f.id;r.deleteRelease({input:{did:i.meta.did,projectId:s,releaseId:w}}).then(()=>{c(!1),D(),W.success(t("common.removeSuccess")),b(null)}).catch(S=>{c(!1),W.error(S.message)})},N=w=>{b(w)};if(!u&&l)return e.jsx(a,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"40px"},children:e.jsx(Ge,{})});if(!u)return null;const z=e.jsxs(jo,{className:"breadcrumbs","aria-label":"breadcrumb",children:[e.jsx(we,{to:"..",children:t("common.blockletStudio")}),e.jsx($,{sx:{color:"text.primary"},children:e.jsx(Te,{maxLength:d?6:30,children:p.blockletTitle})})]});if(!u.length)return e.jsxs(e.Fragment,{children:[z,e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center",pt:10},children:[e.jsx(a,{sx:{fontSize:20,fontWeight:"bold",mb:3},children:t("blocklet.publish.releaseEmptyTip")}),e.jsx(a,{sx:{fontSize:14,color:"text.secondary",mb:3},children:t("blocklet.publish.createReleaseTip")}),e.jsx(we,{to:"create/none",children:e.jsx(Ae,{variant:"contained",children:t("blocklet.publish.createRelease")})})]})]});const K=[{label:t("common.version"),name:"blockletVersion",minWidth:160,options:{customBodyRenderLite:w=>{const S=u[w];return e.jsx(we,{to:`view/${S.id}/${S.blockletVersion}`,children:e.jsx(zt,{did:i.meta.did,projectId:p.id,logo:S.blockletLogo,title:S.blockletVersion,describe:S.blockletTitle})})}}},{label:t("blocklet.publish.releaseNote"),name:"note",options:{customBodyRenderLite:w=>{const S=u[w];return e.jsx($,{className:"note",children:Fo(S.note,"note")})}}},{label:t("common.status"),name:"status",options:{customBodyRender:w=>e.jsx(qo,{type:w==="published"?"success":"warning",children:w==="published"?"Released":Cr(w)})}},{label:t("common.lastPublishedAt"),name:"updatedAt",options:{customBodyRenderLite:w=>{const S=u[w];return S.status!==me.PROJECT.RELEASE_STATUS.published?"":e.jsx(No,{value:Number(S.updatedAt),locale:o})}}},{label:t("common.actions"),name:"actions",options:{customBodyRenderLite:w=>{const S=u[w];let Y="",H="";const Q=S.status==="published";if(Q){const I=ue(h,`/api/project/${i.meta.did}/${p.id}/${p.lastReleaseId}/release/blocklet.json`),V=new URL(h);V.pathname=ue(V.pathname,"/launch-blocklet/agreement"),V.searchParams.set("blocklet_meta_url",I),Y=V.href,H=ue(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${i.meta.did}/${p.id}/${S.id}/download/${(S.files||[])[0]}`)}const E=p.blockletComponents?.some(I=>I.included)||S.uploadedResource?"pack":"resource";return e.jsxs(a,{sx:{display:"flex",alignItems:"center"},children:[Q&&E==="pack"&&e.jsx(xe,{title:t("blocklet.publish.install",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"secondary","aria-label":"create",children:e.jsx("a",{style:{display:"flex"},href:Y,target:"_blank",rel:"noreferrer",children:e.jsx(Bs,{sx:{fontSize:18}})})})}),Q&&e.jsx(xe,{title:t("blocklet.publish.download",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"download",children:e.jsx("a",{style:{display:"flex"},href:H,children:e.jsx(Vs,{sx:{fontSize:18}})})})}),e.jsx(xe,{title:t("blocklet.publish.delete",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"delete",onClick:()=>N(S),children:e.jsx(go,{sx:{fontSize:18}})})})]})}}}],P=({page:w,rowsPerPage:S,searchText:Y})=>{g.pageSize!==S?C(H=>({...H,searchText:"",pageSize:S,page:1})):g.page!==w+1?C(H=>({...H,searchText:"",page:w+1})):g.searchText!==Y&&C(H=>({...H,searchText:Y,page:1}))},A=u?.[0]?.blockletVersion||"0.0.0";return e.jsxs(Mr,{children:[e.jsx(Wt,{sx:{mb:2},left:z,actions:e.jsxs(e.Fragment,{children:[e.jsx(Ae,{variant:"outlined",onClick:()=>{const w=ue(h,`/api/project/${i.meta.did}/${s}/blocklet.json`);T(w)},children:t("blocklet.publish.copyInstallUrl")}),e.jsx(we,{to:`new-release/none/${A}`,children:e.jsxs(Ae,{variant:"contained",children:[e.jsx(nt,{style:{fontSize:"1.3em",marginRight:4}}),t("blocklet.publish.createRelease")]})})]})}),e.jsx(lt,{fullWidth:!0,maxWidth:"sm",open:y,onClose:()=>T(""),children:e.jsxs(a,{sx:{py:5,px:4,wordBreak:"break-all"},children:[e.jsx($,{variant:"h6",sx:{mb:2},children:t("blocklet.publish.installResourceTip")}),e.jsx(zo,{children:y}),e.jsxs($,{sx:{mt:2},children:[t("blocklet.publish.installResourceTip2"),e.jsx("a",{style:{marginLeft:4},href:"https://www.arcblock.io/docs/blocklet-developer/how-to-use-install-url",target:"_blank",rel:"noreferrer",children:t("blocklet.publish.installResourceHelp")})]})]})}),e.jsx($t,{className:"main-table",verticalKeyWidth:100,locale:o,data:u,columns:K,durable:j,options:{sort:!1,download:!1,filter:!1,print:!1,search:!1},onChange:P}),f&&e.jsx(at,{title:t(`${t("common.delete")} ${f.blockletVersion}`),description:t("blocklet.publish.deleteReleaseTip"),confirm:t("common.confirm"),onConfirm:O,onCancel:()=>b(null)})]})}const Mr=ve(a)`
8
+ `;Mo.propTypes={initUrl:n.object};const Fo=(t,o)=>{if(!t)return"";try{return o?JSON.parse(t)[o]:JSON.parse(t)}catch{}return t};function Ur(){const{t,locale:o}=X(),{projectId:s}=rt(),{api:r}=ke(),[l,c]=k.useState(!0),{blocklet:i}=De(),d=Oe(w=>w.breakpoints.down("md")),[u,x]=k.useState(null),[p,m]=k.useState(null),[f,b]=k.useState(null),h=window.env?.serverEndpoint,j=`releases-${i.meta.did}-${s}`,v=Ao(j),[g,C]=k.useState({searchText:v.searchText||"",pageSize:v.rowsPerPage||10,page:1}),D=()=>{r.getReleases({input:{did:i.meta.did,projectId:s}}).then(w=>{const S=w?.releases||[];c(!1),x(S)}).catch(w=>{c(!1),W.error(w.message)})},R=()=>{r.doBatchQuery({getProject:{input:{did:i.meta.did,projectId:s}},getReleases:{input:{did:i.meta.did,projectId:s}}}).then(w=>{m(w.getProject.project||{}),x(w.getReleases.releases||[]),c(!1)}).catch(w=>{c(!1),W.error(w.message)})};k.useEffect(()=>{R()},[]);const[y,T]=k.useState(""),O=()=>{c(!1);const w=f.id;r.deleteRelease({input:{did:i.meta.did,projectId:s,releaseId:w}}).then(()=>{c(!1),D(),W.success(t("common.removeSuccess")),b(null)}).catch(S=>{c(!1),W.error(S.message)})},N=w=>{b(w)};if(!u&&l)return e.jsx(a,{sx:{display:"flex",justifyContent:"center",alignItems:"center",marginTop:"40px"},children:e.jsx(Ge,{})});if(!u)return null;const z=e.jsxs(jo,{className:"breadcrumbs","aria-label":"breadcrumb",children:[e.jsx(we,{to:"..",children:t("common.blockletStudio")}),e.jsx(A,{sx:{color:"text.primary"},children:e.jsx(Te,{maxLength:d?6:30,children:p.blockletTitle})})]});if(!u.length)return e.jsxs(e.Fragment,{children:[z,e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center",pt:10},children:[e.jsx(a,{sx:{fontSize:20,fontWeight:"bold",mb:3},children:t("blocklet.publish.releaseEmptyTip")}),e.jsx(a,{sx:{fontSize:14,color:"text.secondary",mb:3},children:t("blocklet.publish.createReleaseTip")}),e.jsx(we,{to:"create/none",children:e.jsx($e,{variant:"contained",children:t("blocklet.publish.createRelease")})})]})]});const K=[{label:t("common.version"),name:"blockletVersion",minWidth:160,options:{customBodyRenderLite:w=>{const S=u[w];return e.jsx(we,{to:`view/${S.id}/${S.blockletVersion}`,children:e.jsx(zt,{did:i.meta.did,projectId:p.id,logo:S.blockletLogo,title:S.blockletVersion,describe:S.blockletTitle})})}}},{label:t("blocklet.publish.releaseNote"),name:"note",options:{customBodyRenderLite:w=>{const S=u[w];return e.jsx(A,{className:"note",children:Fo(S.note,"note")})}}},{label:t("common.status"),name:"status",options:{customBodyRender:w=>e.jsx(qo,{type:w==="published"?"success":"warning",children:w==="published"?"Released":Cr(w)})}},{label:t("common.lastPublishedAt"),name:"updatedAt",options:{customBodyRenderLite:w=>{const S=u[w];return S.status!==me.PROJECT.RELEASE_STATUS.published?"":e.jsx(No,{value:Number(S.updatedAt),locale:o})}}},{label:t("common.actions"),name:"actions",options:{customBodyRenderLite:w=>{const S=u[w];let Z="",H="";const Q=S.status==="published";if(Q){const I=ue(h,`/api/project/${i.meta.did}/${p.id}/${p.lastReleaseId}/release/blocklet.json`),V=new URL(h);V.pathname=ue(V.pathname,"/launch-blocklet/agreement"),V.searchParams.set("blocklet_meta_url",I),Z=V.href,H=ue(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${i.meta.did}/${p.id}/${S.id}/download/${(S.files||[])[0]}`)}const E=p.blockletComponents?.some(I=>I.included)||S.uploadedResource?"pack":"resource";return e.jsxs(a,{sx:{display:"flex",alignItems:"center"},children:[Q&&E==="pack"&&e.jsx(xe,{title:t("blocklet.publish.install",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"secondary","aria-label":"create",children:e.jsx("a",{style:{display:"flex"},href:Z,target:"_blank",rel:"noreferrer",children:e.jsx(Bs,{sx:{fontSize:18}})})})}),Q&&e.jsx(xe,{title:t("blocklet.publish.download",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"download",children:e.jsx("a",{style:{display:"flex"},href:H,children:e.jsx(Vs,{sx:{fontSize:18}})})})}),e.jsx(xe,{title:t("blocklet.publish.delete",{name:p.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"delete",onClick:()=>N(S),children:e.jsx(go,{sx:{fontSize:18}})})})]})}}}],P=({page:w,rowsPerPage:S,searchText:Z})=>{g.pageSize!==S?C(H=>({...H,searchText:"",pageSize:S,page:1})):g.page!==w+1?C(H=>({...H,searchText:"",page:w+1})):g.searchText!==Z&&C(H=>({...H,searchText:Z,page:1}))},$=u?.[0]?.blockletVersion||"0.0.0";return e.jsxs(Mr,{children:[e.jsx(Wt,{sx:{mb:2},left:z,actions:e.jsxs(e.Fragment,{children:[e.jsx($e,{variant:"outlined",onClick:()=>{const w=ue(h,`/api/project/${i.meta.did}/${s}/blocklet.json`);T(w)},children:t("blocklet.publish.copyInstallUrl")}),e.jsx(we,{to:`new-release/none/${$}`,children:e.jsxs($e,{variant:"contained",children:[e.jsx(nt,{style:{fontSize:"1.3em",marginRight:4}}),t("blocklet.publish.createRelease")]})})]})}),e.jsx(lt,{fullWidth:!0,maxWidth:"sm",open:y,onClose:()=>T(""),children:e.jsxs(a,{sx:{py:5,px:4,wordBreak:"break-all"},children:[e.jsx(A,{variant:"h6",sx:{mb:2},children:t("blocklet.publish.installResourceTip")}),e.jsx(zo,{children:y}),e.jsxs(A,{sx:{mt:2},children:[t("blocklet.publish.installResourceTip2"),e.jsx("a",{style:{marginLeft:4},href:"https://www.arcblock.io/docs/blocklet-developer/how-to-use-install-url",target:"_blank",rel:"noreferrer",children:t("blocklet.publish.installResourceHelp")})]})]})}),e.jsx(At,{className:"main-table",verticalKeyWidth:100,locale:o,data:u,columns:K,durable:j,options:{sort:!1,download:!1,filter:!1,print:!1,search:!1},onChange:P}),f&&e.jsx(at,{title:t(`${t("common.delete")} ${f.blockletVersion}`),description:t("blocklet.publish.deleteReleaseTip"),confirm:t("common.confirm"),onConfirm:O,onCancel:()=>b(null)})]})}const Mr=ve(a)`
9
9
  .main-table > div:first-child {
10
10
  display: none;
11
11
  }
@@ -18,7 +18,7 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
18
18
  border-color: ${({theme:t})=>t.palette.divider};
19
19
  }
20
20
  }
21
- `;function Je({children:t,Icon:o=Ms}){return e.jsxs(Us,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"10px",margin:"10px 0px"},children:[e.jsx(a,{sx:{opacity:.3,fontSize:32},children:e.jsx(o,{})}),e.jsx(a,{sx:{mb:2,opacity:.7,fontSize:"small",color:"action"},children:t})]})}Je.propTypes={children:n.node.isRequired,Icon:n.elementType};function Ho({value:t=[],app:o,onChange:s=()=>{},onChangeBlockletResourceType:r=()=>{},disabled:l=!1,resourceRelateComponents:c={},projectType:i,dependentComponentsMode:d="auto",blockletResourceType:u=""}){const{t:x,locale:p}=X(),m=d==="readonly",f=k.useMemo(()=>{const D=t.reduce((R,y)=>(R[y.did]=y.included,R),{});return(o.children||[]).filter(R=>m?c[R.meta.did]||D[R.meta.did]:!0)},[o.children,t,c,m]),b=k.useMemo(()=>f.map(D=>t.find(y=>y.did===D.meta.did)||{did:D.meta.did}),[f,t]),h=b.reduce((D,R)=>(D[R.did]=Ot(R,["required","included"]),D),{}),j=D=>{const R=b.map(y=>{if(y.did===D){const T=!y.included;return{...y,included:T,required:T}}return y});s(R)},v=D=>{const R=b.map(y=>y.did===D?{...y,required:!y.required}:y);s(R)},g=D=>{r(D.target.checked?"resource":"")},C=[{label:x("common.name"),name:"meta.title",width:200,options:{customBodyRenderLite:D=>{const R=f[D],y=h[R.meta.did]?.included;return e.jsxs(a,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(_t,{size:24,blocklet:R,ancestors:[o]}),e.jsx(a,{className:qt("text",{excluded:!y}),sx:{ml:"4px"},children:e.jsx(a,{children:R.meta.title})})]})}}},{label:x("blocklet.publish.componentIncluded"),width:100,options:{customBodyRenderLite:D=>{const R=f[D],y=c[R.meta.did],T=!!h[R.meta.did]?.included;return e.jsx(He,{size:"small",checked:y||T,onClick:()=>j(R.meta.did),disabled:m||y||l})}}},{label:x("blocklet.publish.componentForceRequired"),width:100,options:{customBodyRenderLite:D=>{const R=f[D],y=c[R.meta.did],T=!!h[R.meta.did]?.included,O=!!h[R.meta.did]?.required;return e.jsx(He,{size:"small",checked:y||O&&T,onClick:()=>v(R.meta.did),disabled:m||y||l||!T})}}}];return e.jsx(Fr,{children:f?.length?e.jsxs(e.Fragment,{children:[e.jsxs(it,{severity:"info",style:{width:"100%"},children:[e.jsxs(a,{rel:"noreferrer",sx:{display:"flex",alignItems:"center",ml:"13px"},children:[x(i==="pack"?"blocklet.publish.packTip":"blocklet.publish.resourceTip"),e.jsx(a,{component:"a",target:"_blank",href:i==="pack"?"https://www.arcblock.io/docs/blocklet-developer/en/5PXToZve-5IXAN1bc8rkpxAc":"https://www.arcblock.io/docs/blocklet-developer/en/hB5VWLfg9VnbWsL1JGLuLUfW",children:e.jsx(Pt,{sx:{marginLeft:1}})})]}),e.jsxs(a,{component:"label",style:{cursor:"pointer"},children:[e.jsx(He,{size:"small",style:{marginLeft:"0px"},disabled:l,checked:u==="resource",onChange:g}),x("blocklet.publish.forceResourceBlocklet")]})]}),e.jsx($t,{className:"main-table",verticalKeyWidth:100,locale:p,data:f,columns:C,options:{sort:!1,download:!1,filter:!1,print:!1,search:!1,rowsPerPage:50}})]}):e.jsx(Je,{Icon:Nt,children:x("blocklet.publish.blockletEmptyTip")})})}Ho.propTypes={app:n.object.isRequired,value:n.arrayOf(n.shape({did:n.string.isRequired,required:n.bool,included:n.bool})),onChange:n.func,onChangeBlockletResourceType:n.func,disabled:n.bool,dependentComponentsMode:n.string,resourceRelateComponents:n.object,blockletResourceType:n.string,projectType:n.string.isRequired};const Fr=ve(a)`
21
+ `;function Je({children:t,Icon:o=Ms}){return e.jsxs(Us,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",paddingTop:"10px",margin:"10px 0px"},children:[e.jsx(a,{sx:{opacity:.3,fontSize:32},children:e.jsx(o,{})}),e.jsx(a,{sx:{mb:2,opacity:.7,fontSize:"small",color:"action"},children:t})]})}Je.propTypes={children:n.node.isRequired,Icon:n.elementType};function Ho({value:t=[],app:o,onChange:s=()=>{},onChangeBlockletResourceType:r=()=>{},disabled:l=!1,resourceRelateComponents:c={},projectType:i,dependentComponentsMode:d="auto",blockletResourceType:u=""}){const{t:x,locale:p}=X(),m=d==="readonly",f=k.useMemo(()=>{const D=t.reduce((R,y)=>(R[y.did]=y.included,R),{});return(o.children||[]).filter(R=>m?c[R.meta.did]||D[R.meta.did]:!0)},[o.children,t,c,m]),b=k.useMemo(()=>f.map(D=>t.find(y=>y.did===D.meta.did)||{did:D.meta.did}),[f,t]),h=b.reduce((D,R)=>(D[R.did]=Ot(R,["required","included"]),D),{}),j=D=>{const R=b.map(y=>{if(y.did===D){const T=!y.included;return{...y,included:T,required:T}}return y});s(R)},v=D=>{const R=b.map(y=>y.did===D?{...y,required:!y.required}:y);s(R)},g=D=>{r(D.target.checked?"resource":"")},C=[{label:x("common.name"),name:"meta.title",width:200,options:{customBodyRenderLite:D=>{const R=f[D],y=h[R.meta.did]?.included;return e.jsxs(a,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(_t,{size:24,blocklet:R,ancestors:[o]}),e.jsx(a,{className:qt("text",{excluded:!y}),sx:{ml:"4px"},children:e.jsx(a,{children:R.meta.title})})]})}}},{label:x("blocklet.publish.componentIncluded"),width:100,options:{customBodyRenderLite:D=>{const R=f[D],y=c[R.meta.did],T=!!h[R.meta.did]?.included;return e.jsx(He,{size:"small",checked:y||T,onClick:()=>j(R.meta.did),disabled:m||y||l})}}},{label:x("blocklet.publish.componentForceRequired"),width:100,options:{customBodyRenderLite:D=>{const R=f[D],y=c[R.meta.did],T=!!h[R.meta.did]?.included,O=!!h[R.meta.did]?.required;return e.jsx(He,{size:"small",checked:y||O&&T,onClick:()=>v(R.meta.did),disabled:m||y||l||!T})}}}];return e.jsx(Fr,{children:f?.length?e.jsxs(e.Fragment,{children:[e.jsxs(it,{severity:"info",style:{width:"100%"},children:[e.jsxs(a,{rel:"noreferrer",sx:{display:"flex",alignItems:"center",ml:"13px"},children:[x(i==="pack"?"blocklet.publish.packTip":"blocklet.publish.resourceTip"),e.jsx(a,{component:"a",target:"_blank",href:i==="pack"?"https://www.arcblock.io/docs/blocklet-developer/en/5PXToZve-5IXAN1bc8rkpxAc":"https://www.arcblock.io/docs/blocklet-developer/en/hB5VWLfg9VnbWsL1JGLuLUfW",children:e.jsx(Pt,{sx:{marginLeft:1}})})]}),e.jsxs(a,{component:"label",style:{cursor:"pointer"},children:[e.jsx(He,{size:"small",style:{marginLeft:"0px"},disabled:l,checked:u==="resource",onChange:g}),x("blocklet.publish.forceResourceBlocklet")]})]}),e.jsx(At,{className:"main-table",verticalKeyWidth:100,locale:p,data:f,columns:C,options:{sort:!1,download:!1,filter:!1,print:!1,search:!1,rowsPerPage:50}})]}):e.jsx(Je,{Icon:Nt,children:x("blocklet.publish.blockletEmptyTip")})})}Ho.propTypes={app:n.object.isRequired,value:n.arrayOf(n.shape({did:n.string.isRequired,required:n.bool,included:n.bool})),onChange:n.func,onChangeBlockletResourceType:n.func,disabled:n.bool,dependentComponentsMode:n.string,resourceRelateComponents:n.object,blockletResourceType:n.string,projectType:n.string.isRequired};const Fr=ve(a)`
22
22
  .main-table {
23
23
  .text.excluded {
24
24
  color: ${({theme:t})=>t.palette.grey[400]};
@@ -51,7 +51,7 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
51
51
  `).filter(i=>{const d=i.match(o);if(d===null||!d[1])return!0;const u=d[1];return u.includes(".app/Contents/Resources/electron.asar")||u.includes(".app/Contents/Resources/default_app.asar")?!1:!s.test(u)}).filter(i=>i.trim()!=="").map(i=>c.pretty?i.replace(o,(d,u)=>d.replace(u,u.replace(r,"~"))):i).join(`
52
52
  `)),gt}var kt,ro;function Xr(){if(ro)return kt;ro=1;const t=Hr(),o=Jr(),s=l=>l.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,"");class r extends Error{constructor(c){if(!Array.isArray(c))throw new TypeError(`Expected input to be an Array, got ${typeof c}`);c=[...c].map(d=>d instanceof Error?d:d!==null&&typeof d=="object"?Object.assign(new Error(d.message),d):new Error(d));let i=c.map(d=>typeof d.stack=="string"?s(o(d.stack)):String(d)).join(`
53
53
  `);i=`
54
- `+t(i,4),super(i),this.name="AggregateError",Object.defineProperty(this,"_errors",{value:c})}*[Symbol.iterator](){for(const c of this._errors)yield c}}return kt=r,kt}var jt,no;function Gr(){if(no)return jt;no=1;const t=Xr();return jt=async(o,s,{concurrency:r=1/0,stopOnError:l=!0}={})=>new Promise((c,i)=>{if(typeof s!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===1/0)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);const d=[],u=[],x=o[Symbol.iterator]();let p=!1,m=!1,f=0,b=0;const h=()=>{if(p)return;const j=x.next(),v=b;if(b++,j.done){m=!0,f===0&&(!l&&u.length!==0?i(new t(u)):c(d));return}f++,(async()=>{try{const g=await j.value;d[v]=await s(g,v),f--,h()}catch(g){l?(p=!0,i(g)):(u.push(g),f--,h())}})()};for(let j=0;j<r&&(h(),!m);j++);}),jt}var yt,lo;function Kr(){if(lo)return yt;lo=1;const t=Gr();return yt=(o,s)=>t(o,r=>r(),s),yt}var Zr=Kr();const st=xo(Zr);function Yr(t,o){const s=new Set(o||[]),r=[];function l(c){s.has(c?.id)&&r.push(c?.id),c?.children&&c.children.forEach(l)}return(t||[]).forEach(l),r}function Jo({src:t,alt:o="",...s}){const[r,l]=k.useState(!1),c=k.useRef(null);return k.useEffect(()=>{if(!("IntersectionObserver"in window))return l(!0),()=>{};const i=new IntersectionObserver(d=>{d.forEach(u=>{u.isIntersecting&&(l(!0),i.disconnect())})},{threshold:.1});return c.current&&i.observe(c.current),()=>{i.disconnect()}},[]),e.jsx("img",{ref:c,src:r?t:void 0,alt:o,...s})}Jo.propTypes={src:n.string.isRequired,alt:n.string};function Xo({data:t=[],lazy:o=!1,...s}){return!t||!t.length?null:e.jsx(Qr,{...s,children:t.map(r=>e.jsx("a",{href:r.url,target:"_blank",rel:"noreferrer",children:o?e.jsx(Jo,{src:r.url,alt:r.alt||""}):e.jsx("img",{src:r.url,alt:r.alt||""})},r.url))})}Xo.propTypes={data:n.arrayOf(n.shape({url:n.string,alt:n.string})),lazy:n.bool};const Qr=ve(a)`
54
+ `+t(i,4),super(i),this.name="AggregateError",Object.defineProperty(this,"_errors",{value:c})}*[Symbol.iterator](){for(const c of this._errors)yield c}}return kt=r,kt}var jt,no;function Gr(){if(no)return jt;no=1;const t=Xr();return jt=async(o,s,{concurrency:r=1/0,stopOnError:l=!0}={})=>new Promise((c,i)=>{if(typeof s!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===1/0)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);const d=[],u=[],x=o[Symbol.iterator]();let p=!1,m=!1,f=0,b=0;const h=()=>{if(p)return;const j=x.next(),v=b;if(b++,j.done){m=!0,f===0&&(!l&&u.length!==0?i(new t(u)):c(d));return}f++,(async()=>{try{const g=await j.value;d[v]=await s(g,v),f--,h()}catch(g){l?(p=!0,i(g)):(u.push(g),f--,h())}})()};for(let j=0;j<r&&(h(),!m);j++);}),jt}var yt,lo;function Kr(){if(lo)return yt;lo=1;const t=Gr();return yt=(o,s)=>t(o,r=>r(),s),yt}var Yr=Kr();const st=xo(Yr);function Zr(t,o){const s=new Set(o||[]),r=[];function l(c){s.has(c?.id)&&r.push(c?.id),c?.children&&c.children.forEach(l)}return(t||[]).forEach(l),r}function Jo({src:t,alt:o="",...s}){const[r,l]=k.useState(!1),c=k.useRef(null);return k.useEffect(()=>{if(!("IntersectionObserver"in window))return l(!0),()=>{};const i=new IntersectionObserver(d=>{d.forEach(u=>{u.isIntersecting&&(l(!0),i.disconnect())})},{threshold:.1});return c.current&&i.observe(c.current),()=>{i.disconnect()}},[]),e.jsx("img",{ref:c,src:r?t:void 0,alt:o,...s})}Jo.propTypes={src:n.string.isRequired,alt:n.string};function Xo({data:t=[],lazy:o=!1,...s}){return!t||!t.length?null:e.jsx(Qr,{...s,children:t.map(r=>e.jsx("a",{href:r.url,target:"_blank",rel:"noreferrer",children:o?e.jsx(Jo,{src:r.url,alt:r.alt||""}):e.jsx("img",{src:r.url,alt:r.alt||""})},r.url))})}Xo.propTypes={data:n.arrayOf(n.shape({url:n.string,alt:n.string})),lazy:n.bool};const Qr=ve(a)`
55
55
  display: flex;
56
56
  justify-content: flex-start;
57
57
  flex-wrap: wrap;
@@ -120,7 +120,7 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
120
120
  font-size: 14px;
121
121
  color: ${({theme:t})=>t.palette.text.secondary};
122
122
  }
123
- `,io={},Zo=(t,o,{key:s,cacheTime:r=1e3*3}={})=>{const l=s+JSON.stringify({params:o}),c=io[l];if(c&&c.timestamp>Date.now()-r)return c.promise;const i=t(...o);return io[l]={promise:i,timestamp:Date.now()},i},Yo=(t,o)=>(t.forEach(s=>{o&&(s.parent=o),(s.children||[]).forEach(r=>{r.parent=s.id,Yo(r.children||[],r.id)})}),t),Qo=(t,o,s,r,l)=>{const{exportApi:c="/"}=t?.meta.resource||{},i=new URL(ue("http://127.0.0.1",t?.mountPoint,c||"/").replace(/\/+/g,"/"));return i.searchParams.set("projectId",o),i.searchParams.set("releaseId",s),i.searchParams.set("local",r),l&&i.searchParams.set("resourcesParams",l.searchParams.get("resourcesParams")),`${i.pathname}${i.search}`},tn=async({api:t,appDid:o,component:s,projectId:r,releaseId:l,locale:c,initUrl:i,resources:d})=>{let u;if(i&&i.searchParams.get("resourcesParams"))try{u=JSON.parse(i.searchParams.get("resourcesParams"))}catch(x){W.error(x.message);return}await Oo.post(Qo(s,r,l,c,i),{resources:d,projectId:r,releaseId:l,locale:c,...u?{resourcesParams:u}:{}},{headers:{"x-csrf-token":fr()},timeout:10*60*1e3}),await t.updateSelectedResources({input:{did:o,projectId:r,releaseId:"",componentDid:s.meta.did,resources:d}})},on=(t,o)=>{if(!t)return{};const s=o.reduce((l,c)=>(l[c]=!0,l),{}),r=(l,c)=>(l.forEach(i=>{s[i.id]&&i.dependentComponents?.length&&i.dependentComponents.forEach(d=>{c[d]=!0}),i.children&&r(i.children,c)}),c);return r(t,{})};function es({app:t,component:o,projectId:s,release:r={id:""},loading:l=!1,error:c="",saveSelectedEventsRef:i,readOnly:d,componentDid:u="",initialResources:x={},setResourceComponentsMap:p=()=>{},selectedResourceIds:m,setSelectedResourceIds:f,showTree:b,initUrl:h=null}){const{t:j,locale:v}=X(),{api:g}=ke(),[C,D]=Fe({}),R=k.useRef({}),y=k.useRef(!1),T=r.id;R.current.projectId=s,R.current.releaseId=T;const O=(P,A,w)=>{if(!A)return;const S=on(A,w);p?.({[P]:Object.keys(S)})},N=P=>{i.current[o.meta.did]={resources:P,component:o},f({[o.meta.did]:P}),O(o.meta.did,C[o.meta.did],P)},z=k.useCallback(async P=>{try{const A=await Zo(Oo.get,[Qo(P,s,T,v,h),{timeout:6e4}],{key:"getResources"});return Yo(A?.data?.resources||[])}catch{return[]}},[s,T,v,h]);k.useEffect(()=>{C[o?.meta.did]||z(o).then(P=>{D({[o?.meta.did]:P})}).catch(P=>{W.error(P.message)})},[o,D,C,z]),k.useEffect(()=>{T&&s&&!y.current&&st(t.children.map(P=>async()=>{if(!(u&&u!==P.meta.did)&&!(!P?.mountPoint||!Dr.hasStartEngine(P?.meta)||!P?.meta?.resource?.exportApi))try{const A=await z(P);D({[P?.meta.did]:A});const S=(await g.getSelectedResources({input:{did:t.meta.did,projectId:s,releaseId:T,componentDid:P.meta.did}}))?.resources||[];S?.length&&(f({[P.meta.did]:Yr(A,S)}),O(P.meta.did,A,S),d||(i.current[P?.meta.did]={resources:S,component:P}))}catch(A){W.error(A.message)}}),{concurrency:2}).then(()=>{y.current=!0})},[T,s,d,v,h,D]),k.useEffect(()=>{x&&Object.keys(x).length&&st(t.children.map(async P=>{const A=x[P.meta.did];if(A?.length){const w=await z(P);f({[P.meta.did]:A}),O(P.meta.did,w,A),d||(i.current[P?.meta.did]={resources:A,component:P})}}))},[t,x,d]);let K=null;return(!o||!C[o.meta.did]?.length)&&(K=e.jsx(Je,{Icon:Nt,children:j("blocklet.publish.resourceEmptyTip",{name:Kt.getDisplayName(o)})})),o?.status!=="running"&&(K=e.jsx(Je,{children:j("blocklet.publish.componentNotRunning",{name:Kt.getDisplayName(o)})})),e.jsxs(e.Fragment,{children:[e.jsx(sn,{className:qt(c&&"error"),children:b&&e.jsx(a,{sx:{pb:2,width:"100%"},children:K||e.jsx(Ko,{data:C[o.meta.did]||[],value:m[o.meta.did]||[],onChange:N,disabled:l||d})})}),!!c&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:c})]})}es.propTypes={component:n.object.isRequired,app:n.object.isRequired,projectId:n.string.isRequired,error:n.string,saveSelectedEventsRef:n.object.isRequired,readOnly:n.bool.isRequired,loading:n.bool.isRequired,release:n.shape({id:n.string.isRequired,status:n.string}),initialResources:n.object,initUrl:n.object,setResourceComponentsMap:n.func,componentDid:n.string,selectedResourceIds:n.object.isRequired,setSelectedResourceIds:n.func.isRequired,showTree:n.bool.isRequired};const sn=ve(a)`
123
+ `,io={},Yo=(t,o,{key:s,cacheTime:r=1e3*3}={})=>{const l=s+JSON.stringify({params:o}),c=io[l];if(c&&c.timestamp>Date.now()-r)return c.promise;const i=t(...o);return io[l]={promise:i,timestamp:Date.now()},i},Zo=(t,o)=>(t.forEach(s=>{o&&(s.parent=o),(s.children||[]).forEach(r=>{r.parent=s.id,Zo(r.children||[],r.id)})}),t),Qo=(t,o,s,r,l)=>{const{exportApi:c="/"}=t?.meta.resource||{},i=new URL(ue("http://127.0.0.1",t?.mountPoint,c||"/").replace(/\/+/g,"/"));return i.searchParams.set("projectId",o),i.searchParams.set("releaseId",s),i.searchParams.set("local",r),l&&i.searchParams.set("resourcesParams",l.searchParams.get("resourcesParams")),`${i.pathname}${i.search}`},tn=async({api:t,appDid:o,component:s,projectId:r,releaseId:l,locale:c,initUrl:i,resources:d})=>{let u;if(i&&i.searchParams.get("resourcesParams"))try{u=JSON.parse(i.searchParams.get("resourcesParams"))}catch(x){W.error(x.message);return}await Oo.post(Qo(s,r,l,c,i),{resources:d,projectId:r,releaseId:l,locale:c,...u?{resourcesParams:u}:{}},{headers:{"x-csrf-token":fr()},timeout:10*60*1e3}),await t.updateSelectedResources({input:{did:o,projectId:r,releaseId:"",componentDid:s.meta.did,resources:d}})},on=(t,o)=>{if(!t)return{};const s=o.reduce((l,c)=>(l[c]=!0,l),{}),r=(l,c)=>(l.forEach(i=>{s[i.id]&&i.dependentComponents?.length&&i.dependentComponents.forEach(d=>{c[d]=!0}),i.children&&r(i.children,c)}),c);return r(t,{})};function es({app:t,component:o,projectId:s,release:r={id:""},loading:l=!1,error:c="",saveSelectedEventsRef:i,readOnly:d,componentDid:u="",initialResources:x={},setResourceComponentsMap:p=()=>{},selectedResourceIds:m,setSelectedResourceIds:f,showTree:b,initUrl:h=null}){const{t:j,locale:v}=X(),{api:g}=ke(),[C,D]=Fe({}),R=k.useRef({}),y=k.useRef(!1),T=r.id;R.current.projectId=s,R.current.releaseId=T;const O=(P,$,w)=>{if(!$)return;const S=on($,w);p?.({[P]:Object.keys(S)})},N=P=>{i.current[o.meta.did]={resources:P,component:o},f({[o.meta.did]:P}),O(o.meta.did,C[o.meta.did],P)},z=k.useCallback(async P=>{try{const $=await Yo(Oo.get,[Qo(P,s,T,v,h),{timeout:6e4}],{key:"getResources"});return Zo($?.data?.resources||[])}catch{return[]}},[s,T,v,h]);k.useEffect(()=>{C[o?.meta.did]||z(o).then(P=>{D({[o?.meta.did]:P})}).catch(P=>{W.error(P.message)})},[o,D,C,z]),k.useEffect(()=>{T&&s&&!y.current&&st(t.children.map(P=>async()=>{if(!(u&&u!==P.meta.did)&&!(!P?.mountPoint||!Dr.hasStartEngine(P?.meta)||!P?.meta?.resource?.exportApi))try{const $=await z(P);D({[P?.meta.did]:$});const S=(await g.getSelectedResources({input:{did:t.meta.did,projectId:s,releaseId:T,componentDid:P.meta.did}}))?.resources||[];S?.length&&(f({[P.meta.did]:Zr($,S)}),O(P.meta.did,$,S),d||(i.current[P?.meta.did]={resources:S,component:P}))}catch($){W.error($.message)}}),{concurrency:2}).then(()=>{y.current=!0})},[T,s,d,v,h,D]),k.useEffect(()=>{x&&Object.keys(x).length&&st(t.children.map(async P=>{const $=x[P.meta.did];if($?.length){const w=await z(P);f({[P.meta.did]:$}),O(P.meta.did,w,$),d||(i.current[P?.meta.did]={resources:$,component:P})}}))},[t,x,d]);let K=null;return(!o||!C[o.meta.did]?.length)&&(K=e.jsx(Je,{Icon:Nt,children:j("blocklet.publish.resourceEmptyTip",{name:Kt.getDisplayName(o)})})),o?.status!=="running"&&(K=e.jsx(Je,{children:j("blocklet.publish.componentNotRunning",{name:Kt.getDisplayName(o)})})),e.jsxs(e.Fragment,{children:[e.jsx(sn,{className:qt(c&&"error"),children:b&&e.jsx(a,{sx:{pb:2,width:"100%"},children:K||e.jsx(Ko,{data:C[o.meta.did]||[],value:m[o.meta.did]||[],onChange:N,disabled:l||d})})}),!!c&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:c})]})}es.propTypes={component:n.object.isRequired,app:n.object.isRequired,projectId:n.string.isRequired,error:n.string,saveSelectedEventsRef:n.object.isRequired,readOnly:n.bool.isRequired,loading:n.bool.isRequired,release:n.shape({id:n.string.isRequired,status:n.string}),initialResources:n.object,initUrl:n.object,setResourceComponentsMap:n.func,componentDid:n.string,selectedResourceIds:n.object.isRequired,setSelectedResourceIds:n.func.isRequired,showTree:n.bool.isRequired};const sn=ve(a)`
124
124
  border: 1px solid;
125
125
  border-color: ${({theme:t})=>t.palette.divider};
126
126
  max-height: 600px;
@@ -142,7 +142,7 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
142
142
  background: #fff;
143
143
  z-index: 10;
144
144
  }
145
- `,co="lastWantToConnectStoreId";function rn(t){const[o,s]=k.useState(null),{session:r}=ze(),l=k.useCallback(d=>{s(d),localStorage.setItem(co,d?.id)},[s]),c=k.useMemo(()=>{const d=localStorage.getItem(co),u=d?(t?.settings?.storeList||[]).find(p=>p.id===d):null;if(u)return u;let x=(t?.settings?.storeList||[]).find(p=>!(p.id!==F.BLOCKLET_STORE.id||p.scope&&p.scope!=="studio"&&p.scope!==r?.user?.did));return x||(x=t?.settings?.storeList?.[0]),x},[t?.settings?.storeList,r?.user?.did]);return[o||c||{},l]}const Bt=({fromBlocklet:t,nodeInfo:o,blocklet:s,userDid:r})=>{const l=t?s?.meta?.did:o?.did;let c=t?s?.settings?.storeList||[]:o?.blockletRegistryList||[];return Array.isArray(c)||(c=[]),c=c.filter(i=>i.protected||Rr(i.scope)||i.scope==="studio"||i.scope===r),{teamDid:l,storeList:c}};function ts({blocklet:t=null,store:o=null,onChangeStore:s,onClick:r,disabled:l,loading:c,componentDid:i}){const{t:d}=X(),{session:u}=ze(),{api:x,info:p,inService:m}=ke(),f=De(),[b,h]=k.useState(!1),j=k.useRef(null),[v,g]=k.useState(!1),[C,D]=k.useState(null),R=A=>{s(A),h(!1)},y=()=>{h(!b)},T=A=>{j.current&&j.current.contains(A.target)||h(!1)},O=()=>{g(!0)},N=()=>{g(!1)},z=async()=>{if(C)try{await x.deleteBlockletStore({input:{teamDid:t.meta.did,url:C.url,projectId:"",scope:C.scope||"studio"}}),await f?.actions?.refreshBlocklet()}catch(A){W.error(`Remove Blocklet Store Error: ${ge(A)}`)}finally{D(null)}},{storeList:K}=Bt({fromBlocklet:m,blocklet:t,nodeInfo:p,userDid:u?.user?.did}),P=t?.meta?.did;return e.jsxs(e.Fragment,{children:[e.jsxs(et,{disabled:l,ref:j,variant:"contained",color:"primary","aria-label":"Button group with connect store",children:[e.jsxs(G,{onClick:r,children:[c&&e.jsx(Se,{size:14,sx:{mr:.5}}),`${d("common.connect")} ${o.name||""}`]}),e.jsx(G,{size:"small","aria-controls":b?"split-button-menu":void 0,"aria-expanded":b?"true":void 0,"aria-label":"select merge strategy","aria-haspopup":"menu",onClick:y,children:e.jsx(Xs,{})})]}),e.jsx(yo,{sx:{zIndex:10},open:b,anchorEl:j.current,placement:"bottom-end",role:void 0,transition:!0,disablePortal:!0,children:({TransitionProps:A})=>e.jsx(wo,{...A,style:{transformOrigin:"center top"},children:e.jsx(Lt,{children:e.jsx(vo,{onClickAway:T,children:e.jsxs(Co,{id:"split-button-menu",autoFocusItem:!0,sx:{maxHeight:300,overflowY:"auto",zIndex:10},children:[K?.map(w=>e.jsxs(be,{selected:w.id===o?.id,sx:{height:56},onClick:()=>R(w),children:[e.jsxs(a,{children:[e.jsx(Te,{sx:{fontSize:"16px"},maxLength:24,children:w.name}),e.jsx(Te,{sx:{fontSize:"13px",opacity:.6},maxLength:30,children:w.url})]}),qr({store:w,userDid:u?.user?.did})&&e.jsx(ce,{sx:{ml:1},onClick:S=>{S.preventDefault(),S.stopPropagation(),D(w)},children:e.jsx(ae,{icon:"ic:outline-delete"})})]},w.url)),e.jsx(Gs,{}),e.jsxs(be,{onClick:O,children:[e.jsx(nt,{font:!0}),e.jsx($,{variant:"inherit",children:d("store.blockletRegistry.addRegistry")})]})]})})})})}),v&&e.jsx(Vo,{hiddenChildren:!0,open:!0,onClose:N,teamDid:P,storeList:K,scope:"studio",onAdd:f?.actions?.refreshBlocklet}),C&&e.jsx(at,{displayError:!0,title:`${d("common.delete")} ${C.name}`,description:d("blocklet.publish.deleteStoreTip",{name:C.name}),confirm:d("common.confirm"),onConfirm:z,onCancel:()=>D(null)})]})}ts.propTypes={store:n.object,blocklet:n.object,onChangeStore:n.func.isRequired,onClick:n.func.isRequired,loading:n.bool.isRequired,disabled:n.bool.isRequired,componentDid:n.string.isRequired,projectType:n.string.isRequired,getData:n.func.isRequired};const os=(t,o,s)=>{const r=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${o.meta.did}/${s}/logo/upload`,l=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${o.meta.did}/${s}/screenshot/upload`,c=t?.blockletLogo?`${r}/${t.blockletLogo}`:`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/static/images/logo.png`,i=(t?.blockletScreenshots||[]).filter(Boolean).map(d=>`${l}/${d}`);return{logoUrl:c,screenshotUrls:i,uploadLogoPrefix:r,uploadScreenshotPrefix:l}},nn=t=>{const o=t.includes("youtube.com")||t.includes("youtu.be"),s=t.includes("vimeo.com");return o||s};function Vt({url:t,style:o={},controls:s=1,modestbranding:r=1}){const{t:l}=X(),c=t.includes("youtube.com")||t.includes("youtu.be"),i=t.includes("vimeo.com");if(c){const d=t.split("v=")[1]?.split("&")[0]||t.split("/").pop();return e.jsx("div",{style:{position:"relative",width:"100%",paddingTop:"56.25%",pointerEvents:o?.pointerEvents||"auto"},children:e.jsx("iframe",{src:`https://www.youtube.com/embed/${d}?modestbranding=${r}&controls=${s}&rel=0`,title:"YouTube video player",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",...o},allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}if(i){const d=t.split("/").pop();return e.jsx("div",{style:{position:"relative",width:"100%",paddingTop:"56.25%",pointerEvents:o.pointerEvents||"auto"},children:e.jsx("iframe",{src:`https://player.vimeo.com/video/${d}`,title:"Vimeo video player",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",...o},allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0})})}return e.jsx(a,{style:{position:"relative",width:"100%",paddingTop:"56.25%"},children:e.jsxs(a,{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",backgroundColor:"rgba(0, 0, 0, 0.04)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...o},allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,children:[e.jsx(ae,{icon:"carbon:video-off",style:{fontSize:40,marginBottom:"10px",opacity:.5}}),e.jsx($,{variant:"body1",sx:{opacity:.5},children:l("studio.videoDialogNoSrc")})]})})}Vt.propTypes={url:n.string.isRequired,style:n.object,controls:n.number,modestbranding:n.number};function ss({setParams:t,onClose:o,params:s}){const{t:r}=X(),[l,c]=k.useState(""),i=l&&s.blockletVideos.includes(l),d=nn(l),u=()=>{t(x=>{const p=[...x.blockletVideos];return p.push(l),{...x,blockletVideos:p}}),o()};return e.jsxs(lt,{open:!0,fullWidth:!0,maxWidth:"sm",children:[e.jsx(Ro,{children:r("studio.videoDialogTitle")}),e.jsxs(So,{children:[e.jsx(Ks,{fullWidth:!0,value:l,onChange:x=>c(x.target.value),placeholder:r("studio.videoInputLabel"),endAdornment:l?e.jsx(Xe,{position:"end",children:e.jsx(ce,{onClick:()=>c(""),children:e.jsx(Zs,{})})}):null,error:i}),i&&e.jsx($,{variant:"body2",color:"error",children:r("studio.duplicateVideo")}),e.jsx(Vt,{url:l,style:{marginTop:"20px",borderRadius:"4px"}})]}),e.jsxs(To,{children:[e.jsx(G,{onClick:()=>o(),children:r("studio.cancel")}),e.jsx(G,{disabled:!d||i,onClick:u,children:r("studio.confirm")})]})]})}ss.propTypes={onClose:n.func.isRequired,params:n.object.isRequired,setParams:n.func.isRequired};function Rt({errors:t,storeList:o,...s}){const{t:r}=X();return e.jsxs(a,{...s,sx:[{color:"warning.main",fontSize:"14px",border:"1px solid rgba(214, 164, 64, 0.34)",borderRadius:"4px",py:2,px:1.5,position:"relative"},...Array.isArray(s.sx)?s.sx:[s.sx]],children:[e.jsx($,{variant:"caption",sx:{fontWeight:"bold",position:"absolute",top:-10,left:12,backgroundColor:"white",px:1,width:"fit-content"},children:r("blocklet.publish.storeRule.warning")}),t&&Object.entries(t).map(([l,c])=>{const i=Object.values(c),d=o.find(u=>u.url===l);return i.length>0&&e.jsxs(a,{children:[e.jsx(xe,{title:l,children:e.jsx(a,{component:"span",sx:{cursor:"pointer"},children:d.name})}),i.map(u=>e.jsx(a,{component:"li",sx:{ml:2,wordBreak:!0},children:u},u))]},l)})]})}Rt.propTypes={errors:n.object.isRequired,storeList:n.array.isRequired};const ao=k.lazy(()=>_o(()=>import("./index-BT70k77_.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>({default:t.Uploader})));function rs({projectId:t,readOnly:o,loading:s,blocklet:r,params:l,setParams:c,paramsErrTip:i,setParamsErrTip:d,warning:u,setLoading:x,initUrl:p=null,initLogoUrl:m,setInitLogoUrl:f,componentDid:b=""}){const{t:h,locale:j}=X(),{api:v}=ke(),g=It(),C=k.useRef(null),D=k.useRef(null),[R,y]=rn(r),[T,O]=k.useState(!1),N=Bo({messageType:"connect-store-message",onOpen:()=>x(!0),onClose:()=>x(!1)}),z=async q=>{const Z=setTimeout(()=>{x(!1)},2e4),J=await Lr(v,q);x(!1),clearTimeout(Z),window.parent.postMessage({event:"studioDialog.connected",componentDid:b},"*"),g(window.location.pathname.replace(`${F.UNOWNED_DID}/create`,`${J}/create`),{replace:!0})},K=()=>{if(!l.blockletTitle){W.error(h("blocklet.publish.errorTip.noTitle"));return}if(!R?.url){W.error(h("blocklet.publish.noStoreSelected"));return}const q=Pr();N(async(Z,J)=>{try{const se=await v.connectByStudio({input:{did:r?.meta?.did,blockletTitle:l?.blockletTitle,storeUrl:R.url,storeId:R.id,storeName:R.name,type:l?.blockletComponents?.length>0?"pack":"resource",componentDid:b,messageId:q,tenantScope:p?.searchParams.get("tenantScope")||""}});if(!se?.url){W.error("failed to connect to store");return}J(se.url),z({did:r?.meta?.did,projectId:"",messageId:q})}catch(se){const de=ge(se);W.error(de),x(!1)}})},{logoUrl:P,screenshotUrls:A,uploadLogoPrefix:w,uploadScreenshotPrefix:S}=os(l,r,t),{logoErrors:Y,screenshotErrors:H,storeList:Q,hasLogoWarning:E,hasScreenshotWarning:I}=u,V=()=>o?!1:!t||t===F.UNOWNED_DID?(W.error(h("blocklet.publish.errorTip.noFirstDid")),!1):!0,U=q=>{if(!q.destination)return;const Z=Array.from(l.blockletScreenshots),[J]=Z.splice(q.source.index,1);Z.splice(q.destination.index,0,J),c(se=>({...se,blockletScreenshots:Z}))},ee=q=>{if(!q.destination)return;const Z=Array.from(l.blockletVideos),[J]=Z.splice(q.source.index,1);Z.splice(q.destination.index,0,J),c(se=>({...se,blockletVideos:Z}))};return e.jsxs(ln,{children:[e.jsx(a,{className:"section",sx:{display:"flex"},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.title")}`,placeholder:`Blocklet ${h("common.title")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,required:!0,value:l.blockletTitle||"",onChange:q=>{d({blockletTitle:""}),c({blockletTitle:q.target.value})},error:!!i.blockletTitle,helperText:i.blockletTitle||"",slotProps:{input:{"data-cy":"blocklet-title",readOnly:o}}}),e.jsx(ne,{required:!0,label:"Blocklet DID",fullWidth:!0,readonly:!0,disabled:!0,autoComplete:"off",variant:"outlined",error:!!i.projectId,helperText:i.projectId||"",value:t===F.UNOWNED_DID?"":`did:abt:${t}`,sx:{mt:3},slotProps:{input:{"data-cy":"export-blocklet-did",endAdornment:t===F.UNOWNED_DID&&e.jsx(Xe,{position:"end",children:e.jsx(ts,{blocklet:r,store:R,componentDid:b,onChangeStore:y,disabled:!l.blockletTitle||o||s,loading:s,onClick:K})})}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.description")}`,placeholder:`Blocklet ${h("common.description")}`,required:!0,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletDescription||"",onChange:q=>{d({blockletDescription:""}),c({blockletDescription:q.target.value.slice(0,159)})},error:!!i.blockletDescription,helperText:i.blockletDescription||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-description",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.homepageTip")}`,placeholder:`Blocklet ${h("common.homepageTip")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletHomepage||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)?d({blockletHomepage:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletHomepage:""}),c({blockletHomepage:q.target.value})},error:!!i.blockletHomepage,helperText:i.blockletHomepage||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-homepage",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.community")}`,placeholder:`Blocklet ${h("common.community")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletCommunity||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)?d({blockletCommunity:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletCommunity:""}),c({blockletCommunity:q.target.value})},error:!!i.blockletCommunity,helperText:i.blockletCommunity||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-community",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.support")}`,placeholder:`Blocklet ${h("common.support")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletSupport||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(q.target.value)?d({blockletSupport:h("blocklet.publish.errorTip.invalidUrlOrEmail")}):d({blockletSupport:""}),c({blockletSupport:q.target.value})},error:!!i.blockletSupport,helperText:i.blockletSupport||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-support",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.repository")}`,placeholder:`Blocklet ${h("common.repository")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletRepository||"",onChange:q=>{q.target.value&&!/^(git|https|svn)/.test(q.target.value)?d({blockletRepository:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletRepository:""}),c({blockletRepository:q.target.value})},error:!!i.blockletRepository,helperText:i.blockletRepository||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-repository",readOnly:o}}})]})}),e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1,overflow:"hidden"},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx($,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("common.logo")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.type"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"png, jpg, webp, svg"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.ratio"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"256x256"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.size"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"<500Kb"})]})})]})]}),e.jsx(a,{sx:{flex:1,cursor:o?"default":"pointer",display:"flex",alignItems:"flex-end"},children:e.jsx(Et,{variant:"square",sx:{width:80,height:80},alt:"Blocklet Logo",src:m||P,onClick:()=>{V()&&C.current?.open()}})})]}),E&&e.jsx(Rt,{errors:Y,storeList:Q,mt:3}),e.jsxs(a,{sx:{display:"flex",mt:3,flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx($,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("common.screenshot")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{sx:{border:"none"},variant:"outlined",size:"small",children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.ratio"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"16 / 9"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.count"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"1~5"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.size"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"<5MB"})]})}),!o&&e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.order"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:h("studio.orderTip")})]})})]})]}),e.jsx(Qt,{onDragEnd:o?void 0:U,children:e.jsx(eo,{droppableId:"screenshots",direction:"horizontal",isDropDisabled:o,children:(q,Z)=>e.jsxs(a,{ref:q.innerRef,...q.droppableProps,sx:{display:"flex",alignItems:"center",flex:1,flexWrap:"wrap",minHeight:160,background:Z.isDraggingOver?"grey.100":"transparent",transition:"background-color 0.2s ease",border:Z.isDraggingOver?"2px dashed #999":"none",borderRadius:"4px"},children:[A.map((J,se)=>e.jsx(to,{draggableId:J,index:se,isDragDisabled:o,children:(de,le)=>e.jsxs(a,{ref:de.innerRef,...de.draggableProps,className:"screenshot",sx:{transform:le.isDragging?"scale(1.05)":"none",boxShadow:le.isDragging?"0 5px 10px rgba(0,0,0,0.15)":"none",transition:"transform 0.2s ease, box-shadow 0.2s ease"},children:[e.jsx("img",{alt:"screenshot",src:J}),!o&&e.jsx(ce,{...de.dragHandleProps,className:"action",style:{right:40,zIndex:10,color:"#fff"},children:e.jsx(Xt,{})}),!o&&e.jsx(ce,{className:"action",onClick:()=>{c(pe=>{const he=[...pe.blockletScreenshots];return he.splice(se,1),{...pe,blockletScreenshots:he}})},children:e.jsx(tt,{})})]})},J)),q.placeholder,A.length<5&&e.jsx(a,{onClick:()=>{V()&&D.current?.open()},sx:{display:"flex",justifyContent:"center",alignItems:"center",fontSize:40,width:240,height:135,background:"#eee",cursor:o?"default":"pointer",color:"#999",mb:2},children:"+"})]})})})]}),I&&e.jsx(Rt,{errors:H,storeList:Q}),e.jsxs(a,{sx:{display:"flex",mt:3,flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx($,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("studio.video")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.videoType"),":"," "]}),e.jsxs(a,{component:"span",sx:{color:"secondary.main"},children:[e.jsx("a",{href:"https://www.youtube.com/",target:"_blank",rel:"noreferrer",children:"Youtube"}),","," ",e.jsx("a",{href:"https://vimeo.com/",target:"_blank",rel:"noreferrer",children:"Vimeo"})]})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.count"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"1~3"})]})}),!o&&e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.order"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:h("studio.orderTip")})]})})]})]}),e.jsx(Qt,{onDragEnd:o?void 0:ee,children:e.jsx(eo,{droppableId:"videos",direction:"horizontal",isDropDisabled:o,children:(q,Z)=>e.jsxs(a,{ref:q.innerRef,...q.droppableProps,sx:{display:"flex",alignItems:"center",flex:1,flexWrap:"wrap",minHeight:160,background:Z.isDraggingOver?"#f5f5f5":"transparent",transition:"background-color 0.2s ease",border:Z.isDraggingOver?"2px dashed #999":"none",borderRadius:"4px"},children:[l.blockletVideos.map((J,se)=>e.jsx(to,{draggableId:J,index:se,isDragDisabled:o,children:(de,le)=>e.jsxs(a,{ref:de.innerRef,...de.draggableProps,className:"screenshot",sx:{transform:le.isDragging?"scale(1.05)":"none",boxShadow:le.isDragging?"0 5px 10px rgba(0,0,0,0.15)":"none",transition:"transform 0.2s ease, box-shadow 0.2s ease"},children:[e.jsx(Vt,{url:J,style:{pointerEvents:le.isDragging?"none":"auto"}}),!o&&e.jsx(ce,{...de.dragHandleProps,className:"action",style:{right:40,zIndex:10,color:"#fff"},children:e.jsx(Xt,{})}),!o&&e.jsx(ce,{className:"action",onClick:()=>{c(pe=>{const he=[...pe.blockletVideos];return he.splice(se,1),{...pe,blockletVideos:he}})},children:e.jsx(tt,{})})]})},J)),q.placeholder,l.blockletVideos.length<3&&e.jsx(a,{onClick:()=>{V()&&O(!0)},sx:{display:"flex",justifyContent:"center",alignItems:"center",fontSize:40,width:240,height:135,background:"#eee",cursor:o?"default":"pointer",color:"#999",mb:2},children:"+"})]})})})]})]})}),e.jsxs(k.Suspense,{fallback:e.jsx(Ge,{}),children:[e.jsx(ao,{ref:C,locale:j,popup:!0,onUploadFinish:q=>{c({blockletLogo:q.data.filename}),f(""),C.current?.close()},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:w,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/png","image/jpeg","image/webp","image/svg+xml"],maxFileSize:1024*1024*.5,maxNumberOfFiles:1}},dashboardProps:{autoOpen:"imageEditor"},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,aspectRatio:1,initialAspectRatio:1,autoCropArea:1,croppedCanvasOptions:{minWidth:256,minHeight:256}}}},"uploader-logo"),T&&e.jsx(ss,{onClose:()=>O(!1),params:l,setParams:c}),e.jsx(ao,{ref:D,locale:j,popup:!0,onUploadFinish:q=>{c(Z=>{const J=Z.blockletScreenshots||[];return J.push(q.data?.filename),{...Z,blockletScreenshots:J}}),D.current?.close()},installerProps:{disabled:!0},plugins:["ImageEditor"],apiPathProps:{uploader:S,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/*","image/svg+xml"],maxFileSize:1024*1024*5,maxNumberOfFiles:5-A.length}},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,autoCropArea:1,aspectRatio:16/9,initialAspectRatio:16/9,croppedCanvasOptions:{minWidth:1280,minHeight:720,maxWidth:1280*2,maxHeight:720*2}}}},"uploader-screenshot")]})]})}rs.propTypes={projectId:n.string.isRequired,readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,warning:n.object.isRequired,loading:n.bool.isRequired,blocklet:n.object.isRequired,setLoading:n.func.isRequired,initUrl:n.object,componentDid:n.string,initLogoUrl:n.string.isRequired,setInitLogoUrl:n.func.isRequired};const ln=ve.div`
145
+ `,co="lastWantToConnectStoreId";function rn(t){const[o,s]=k.useState(null),{session:r}=ze(),l=k.useCallback(d=>{s(d),localStorage.setItem(co,d?.id)},[s]),c=k.useMemo(()=>{const d=localStorage.getItem(co),u=d?(t?.settings?.storeList||[]).find(p=>p.id===d):null;if(u)return u;let x=(t?.settings?.storeList||[]).find(p=>!(p.id!==F.BLOCKLET_STORE.id||p.scope&&p.scope!=="studio"&&p.scope!==r?.user?.did));return x||(x=t?.settings?.storeList?.[0]),x},[t?.settings?.storeList,r?.user?.did]);return[o||c||{},l]}const Bt=({fromBlocklet:t,nodeInfo:o,blocklet:s,userDid:r})=>{const l=t?s?.meta?.did:o?.did;let c=t?s?.settings?.storeList||[]:o?.blockletRegistryList||[];return Array.isArray(c)||(c=[]),c=c.filter(i=>i.protected||Rr(i.scope)||i.scope==="studio"||i.scope===r),{teamDid:l,storeList:c}};function ts({blocklet:t=null,store:o=null,onChangeStore:s,onClick:r,disabled:l,loading:c,componentDid:i}){const{t:d}=X(),{session:u}=ze(),{api:x,info:p,inService:m}=ke(),f=De(),[b,h]=k.useState(!1),j=k.useRef(null),[v,g]=k.useState(!1),[C,D]=k.useState(null),R=$=>{s($),h(!1)},y=()=>{h(!b)},T=$=>{j.current&&j.current.contains($.target)||h(!1)},O=()=>{g(!0)},N=()=>{g(!1)},z=async()=>{if(C)try{await x.deleteBlockletStore({input:{teamDid:t.meta.did,url:C.url,projectId:"",scope:C.scope||"studio"}}),await f?.actions?.refreshBlocklet()}catch($){W.error(`Remove Blocklet Store Error: ${ge($)}`)}finally{D(null)}},{storeList:K}=Bt({fromBlocklet:m,blocklet:t,nodeInfo:p,userDid:u?.user?.did}),P=t?.meta?.did;return e.jsxs(e.Fragment,{children:[e.jsxs(et,{disabled:l,ref:j,variant:"contained",color:"primary","aria-label":"Button group with connect store",children:[e.jsxs(G,{onClick:r,children:[c&&e.jsx(Se,{size:14,sx:{mr:.5}}),`${d("common.connect")} ${o.name||""}`]}),e.jsx(G,{size:"small","aria-controls":b?"split-button-menu":void 0,"aria-expanded":b?"true":void 0,"aria-label":"select merge strategy","aria-haspopup":"menu",onClick:y,children:e.jsx(Xs,{})})]}),e.jsx(yo,{sx:{zIndex:10},open:b,anchorEl:j.current,placement:"bottom-end",role:void 0,transition:!0,disablePortal:!0,children:({TransitionProps:$})=>e.jsx(wo,{...$,style:{transformOrigin:"center top"},children:e.jsx(Lt,{children:e.jsx(vo,{onClickAway:T,children:e.jsxs(Co,{id:"split-button-menu",autoFocusItem:!0,sx:{maxHeight:300,overflowY:"auto",zIndex:10},children:[K?.map(w=>e.jsxs(be,{selected:w.id===o?.id,sx:{height:56},onClick:()=>R(w),children:[e.jsxs(a,{children:[e.jsx(Te,{sx:{fontSize:"16px"},maxLength:24,children:w.name}),e.jsx(Te,{sx:{fontSize:"13px",opacity:.6},maxLength:30,children:w.url})]}),qr({store:w,userDid:u?.user?.did})&&e.jsx(ce,{sx:{ml:1},onClick:S=>{S.preventDefault(),S.stopPropagation(),D(w)},children:e.jsx(ae,{icon:"ic:outline-delete"})})]},w.url)),e.jsx(Gs,{}),e.jsxs(be,{onClick:O,children:[e.jsx(nt,{font:!0}),e.jsx(A,{variant:"inherit",children:d("store.blockletRegistry.addRegistry")})]})]})})})})}),v&&e.jsx(Vo,{hiddenChildren:!0,open:!0,onClose:N,teamDid:P,storeList:K,scope:"studio",onAdd:f?.actions?.refreshBlocklet}),C&&e.jsx(at,{displayError:!0,title:`${d("common.delete")} ${C.name}`,description:d("blocklet.publish.deleteStoreTip",{name:C.name}),confirm:d("common.confirm"),onConfirm:z,onCancel:()=>D(null)})]})}ts.propTypes={store:n.object,blocklet:n.object,onChangeStore:n.func.isRequired,onClick:n.func.isRequired,loading:n.bool.isRequired,disabled:n.bool.isRequired,componentDid:n.string.isRequired,projectType:n.string.isRequired,getData:n.func.isRequired};const os=(t,o,s)=>{const r=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${o.meta.did}/${s}/logo/upload`,l=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${o.meta.did}/${s}/screenshot/upload`,c=t?.blockletLogo?`${r}/${t.blockletLogo}`:`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/static/images/logo.png`,i=(t?.blockletScreenshots||[]).filter(Boolean).map(d=>`${l}/${d}`);return{logoUrl:c,screenshotUrls:i,uploadLogoPrefix:r,uploadScreenshotPrefix:l}},nn=t=>{const o=t.includes("youtube.com")||t.includes("youtu.be"),s=t.includes("vimeo.com");return o||s};function Vt({url:t,style:o={},controls:s=1,modestbranding:r=1}){const{t:l}=X(),c=t.includes("youtube.com")||t.includes("youtu.be"),i=t.includes("vimeo.com");if(c){const d=t.split("v=")[1]?.split("&")[0]||t.split("/").pop();return e.jsx("div",{style:{position:"relative",width:"100%",paddingTop:"56.25%",pointerEvents:o?.pointerEvents||"auto"},children:e.jsx("iframe",{src:`https://www.youtube.com/embed/${d}?modestbranding=${r}&controls=${s}&rel=0`,title:"YouTube video player",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",...o},allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0})})}if(i){const d=t.split("/").pop();return e.jsx("div",{style:{position:"relative",width:"100%",paddingTop:"56.25%",pointerEvents:o.pointerEvents||"auto"},children:e.jsx("iframe",{src:`https://player.vimeo.com/video/${d}`,title:"Vimeo video player",style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",...o},allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0})})}return e.jsx(a,{style:{position:"relative",width:"100%",paddingTop:"56.25%"},children:e.jsxs(a,{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",border:"none",backgroundColor:"rgba(0, 0, 0, 0.04)",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...o},allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,children:[e.jsx(ae,{icon:"carbon:video-off",style:{fontSize:40,marginBottom:"10px",opacity:.5}}),e.jsx(A,{variant:"body1",sx:{opacity:.5},children:l("studio.videoDialogNoSrc")})]})})}Vt.propTypes={url:n.string.isRequired,style:n.object,controls:n.number,modestbranding:n.number};function ss({setParams:t,onClose:o,params:s}){const{t:r}=X(),[l,c]=k.useState(""),i=l&&s.blockletVideos.includes(l),d=nn(l),u=()=>{t(x=>{const p=[...x.blockletVideos];return p.push(l),{...x,blockletVideos:p}}),o()};return e.jsxs(lt,{open:!0,fullWidth:!0,maxWidth:"sm",children:[e.jsx(Ro,{children:r("studio.videoDialogTitle")}),e.jsxs(So,{children:[e.jsx(Ks,{fullWidth:!0,value:l,onChange:x=>c(x.target.value),placeholder:r("studio.videoInputLabel"),endAdornment:l?e.jsx(Xe,{position:"end",children:e.jsx(ce,{onClick:()=>c(""),children:e.jsx(Ys,{})})}):null,error:i}),i&&e.jsx(A,{variant:"body2",color:"error",children:r("studio.duplicateVideo")}),e.jsx(Vt,{url:l,style:{marginTop:"20px",borderRadius:"4px"}})]}),e.jsxs(To,{children:[e.jsx(G,{onClick:()=>o(),children:r("studio.cancel")}),e.jsx(G,{disabled:!d||i,onClick:u,children:r("studio.confirm")})]})]})}ss.propTypes={onClose:n.func.isRequired,params:n.object.isRequired,setParams:n.func.isRequired};function Rt({errors:t,storeList:o,...s}){const{t:r}=X();return e.jsxs(a,{...s,sx:[{color:"warning.main",fontSize:"14px",border:"1px solid rgba(214, 164, 64, 0.34)",borderRadius:"4px",py:2,px:1.5,position:"relative"},...Array.isArray(s.sx)?s.sx:[s.sx]],children:[e.jsx(A,{variant:"caption",sx:{fontWeight:"bold",position:"absolute",top:-10,left:12,backgroundColor:"white",px:1,width:"fit-content"},children:r("blocklet.publish.storeRule.warning")}),t&&Object.entries(t).map(([l,c])=>{const i=Object.values(c),d=o.find(u=>u.url===l);return i.length>0&&e.jsxs(a,{children:[e.jsx(xe,{title:l,children:e.jsx(a,{component:"span",sx:{cursor:"pointer"},children:d.name})}),i.map(u=>e.jsx(a,{component:"li",sx:{ml:2,wordBreak:!0},children:u},u))]},l)})]})}Rt.propTypes={errors:n.object.isRequired,storeList:n.array.isRequired};const ao=k.lazy(()=>_o(()=>import("./index-CmDzr29Q.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>({default:t.Uploader})));function rs({projectId:t,readOnly:o,loading:s,blocklet:r,params:l,setParams:c,paramsErrTip:i,setParamsErrTip:d,warning:u,setLoading:x,initUrl:p=null,initLogoUrl:m,setInitLogoUrl:f,componentDid:b=""}){const{t:h,locale:j}=X(),{api:v}=ke(),g=It(),C=k.useRef(null),D=k.useRef(null),[R,y]=rn(r),[T,O]=k.useState(!1),N=Bo({messageType:"connect-store-message",onOpen:()=>x(!0),onClose:()=>x(!1)}),z=async q=>{const Y=setTimeout(()=>{x(!1)},2e4),J=await Lr(v,q);x(!1),clearTimeout(Y),window.parent.postMessage({event:"studioDialog.connected",componentDid:b},"*"),g(window.location.pathname.replace(`${F.UNOWNED_DID}/create`,`${J}/create`),{replace:!0})},K=()=>{if(!l.blockletTitle){W.error(h("blocklet.publish.errorTip.noTitle"));return}if(!R?.url){W.error(h("blocklet.publish.noStoreSelected"));return}const q=Pr();N(async(Y,J)=>{try{const se=await v.connectByStudio({input:{did:r?.meta?.did,blockletTitle:l?.blockletTitle,storeUrl:R.url,storeId:R.id,storeName:R.name,type:l?.blockletComponents?.length>0?"pack":"resource",componentDid:b,messageId:q,tenantScope:p?.searchParams.get("tenantScope")||""}});if(!se?.url){W.error("failed to connect to store");return}J(se.url),z({did:r?.meta?.did,projectId:"",messageId:q})}catch(se){const de=ge(se);W.error(de),x(!1)}})},{logoUrl:P,screenshotUrls:$,uploadLogoPrefix:w,uploadScreenshotPrefix:S}=os(l,r,t),{logoErrors:Z,screenshotErrors:H,storeList:Q,hasLogoWarning:E,hasScreenshotWarning:I}=u,V=()=>o?!1:!t||t===F.UNOWNED_DID?(W.error(h("blocklet.publish.errorTip.noFirstDid")),!1):!0,U=q=>{if(!q.destination)return;const Y=Array.from(l.blockletScreenshots),[J]=Y.splice(q.source.index,1);Y.splice(q.destination.index,0,J),c(se=>({...se,blockletScreenshots:Y}))},ee=q=>{if(!q.destination)return;const Y=Array.from(l.blockletVideos),[J]=Y.splice(q.source.index,1);Y.splice(q.destination.index,0,J),c(se=>({...se,blockletVideos:Y}))};return e.jsxs(ln,{children:[e.jsx(a,{className:"section",sx:{display:"flex"},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.title")}`,placeholder:`Blocklet ${h("common.title")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,required:!0,value:l.blockletTitle||"",onChange:q=>{d({blockletTitle:""}),c({blockletTitle:q.target.value})},error:!!i.blockletTitle,helperText:i.blockletTitle||"",slotProps:{input:{"data-cy":"blocklet-title",readOnly:o}}}),e.jsx(ne,{required:!0,label:"Blocklet DID",fullWidth:!0,readonly:!0,disabled:!0,autoComplete:"off",variant:"outlined",error:!!i.projectId,helperText:i.projectId||"",value:t===F.UNOWNED_DID?"":`did:abt:${t}`,sx:{mt:3},slotProps:{input:{"data-cy":"export-blocklet-did",endAdornment:t===F.UNOWNED_DID&&e.jsx(Xe,{position:"end",children:e.jsx(ts,{blocklet:r,store:R,componentDid:b,onChangeStore:y,disabled:!l.blockletTitle||o||s,loading:s,onClick:K})})}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.description")}`,placeholder:`Blocklet ${h("common.description")}`,required:!0,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletDescription||"",onChange:q=>{d({blockletDescription:""}),c({blockletDescription:q.target.value.slice(0,159)})},error:!!i.blockletDescription,helperText:i.blockletDescription||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-description",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.homepageTip")}`,placeholder:`Blocklet ${h("common.homepageTip")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletHomepage||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)?d({blockletHomepage:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletHomepage:""}),c({blockletHomepage:q.target.value})},error:!!i.blockletHomepage,helperText:i.blockletHomepage||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-homepage",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.community")}`,placeholder:`Blocklet ${h("common.community")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletCommunity||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)?d({blockletCommunity:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletCommunity:""}),c({blockletCommunity:q.target.value})},error:!!i.blockletCommunity,helperText:i.blockletCommunity||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-community",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.support")}`,placeholder:`Blocklet ${h("common.support")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletSupport||"",onChange:q=>{q.target.value&&!/^(http|https):\/\//.test(q.target.value)&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(q.target.value)?d({blockletSupport:h("blocklet.publish.errorTip.invalidUrlOrEmail")}):d({blockletSupport:""}),c({blockletSupport:q.target.value})},error:!!i.blockletSupport,helperText:i.blockletSupport||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-support",readOnly:o}}}),e.jsx(ne,{disabled:s||o,label:`Blocklet ${h("common.repository")}`,placeholder:`Blocklet ${h("common.repository")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:l.blockletRepository||"",onChange:q=>{q.target.value&&!/^(git|https|svn)/.test(q.target.value)?d({blockletRepository:h("blocklet.publish.errorTip.invalidUrl")}):d({blockletRepository:""}),c({blockletRepository:q.target.value})},error:!!i.blockletRepository,helperText:i.blockletRepository||"",sx:{mt:3},slotProps:{input:{"data-cy":"blocklet-repository",readOnly:o}}})]})}),e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1,overflow:"hidden"},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx(A,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("common.logo")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.type"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"png, jpg, webp, svg"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.ratio"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"256x256"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.size"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"<500Kb"})]})})]})]}),e.jsx(a,{sx:{flex:1,cursor:o?"default":"pointer",display:"flex",alignItems:"flex-end"},children:e.jsx(Et,{variant:"square",sx:{width:80,height:80},alt:"Blocklet Logo",src:m||P,onClick:()=>{V()&&C.current?.open()}})})]}),E&&e.jsx(Rt,{errors:Z,storeList:Q,mt:3}),e.jsxs(a,{sx:{display:"flex",mt:3,flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx(A,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("common.screenshot")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{sx:{border:"none"},variant:"outlined",size:"small",children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.ratio"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"16 / 9"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.count"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"1~5"})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.size"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"<5MB"})]})}),!o&&e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.order"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:h("studio.orderTip")})]})})]})]}),e.jsx(Qt,{onDragEnd:o?void 0:U,children:e.jsx(eo,{droppableId:"screenshots",direction:"horizontal",isDropDisabled:o,children:(q,Y)=>e.jsxs(a,{ref:q.innerRef,...q.droppableProps,sx:{display:"flex",alignItems:"center",flex:1,flexWrap:"wrap",minHeight:160,background:Y.isDraggingOver?"grey.100":"transparent",transition:"background-color 0.2s ease",border:Y.isDraggingOver?"2px dashed #999":"none",borderRadius:"4px"},children:[$.map((J,se)=>e.jsx(to,{draggableId:J,index:se,isDragDisabled:o,children:(de,le)=>e.jsxs(a,{ref:de.innerRef,...de.draggableProps,className:"screenshot",sx:{transform:le.isDragging?"scale(1.05)":"none",boxShadow:le.isDragging?"0 5px 10px rgba(0,0,0,0.15)":"none",transition:"transform 0.2s ease, box-shadow 0.2s ease"},children:[e.jsx("img",{alt:"screenshot",src:J}),!o&&e.jsx(ce,{...de.dragHandleProps,className:"action",style:{right:40,zIndex:10,color:"#fff"},children:e.jsx(Xt,{})}),!o&&e.jsx(ce,{className:"action",onClick:()=>{c(pe=>{const he=[...pe.blockletScreenshots];return he.splice(se,1),{...pe,blockletScreenshots:he}})},children:e.jsx(tt,{})})]})},J)),q.placeholder,$.length<5&&e.jsx(a,{onClick:()=>{V()&&D.current?.open()},sx:{display:"flex",justifyContent:"center",alignItems:"center",fontSize:40,width:240,height:135,background:"#eee",cursor:o?"default":"pointer",color:"#999",mb:2},children:"+"})]})})})]}),I&&e.jsx(Rt,{errors:H,storeList:Q}),e.jsxs(a,{sx:{display:"flex",mt:3,flexDirection:"row",flexWrap:"wrap"},children:[e.jsxs(Re,{direction:"column",spacing:1,sx:{mr:2,width:"160px"},children:[e.jsx(A,{variant:"subtitle1",sx:{fontWeight:"bold"},children:h("studio.video")}),e.jsxs(Re,{direction:"column",spacing:1,sx:{alignItems:"flex-start",opacity:.8,fontSize:"12px"},children:[e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.videoType"),":"," "]}),e.jsxs(a,{component:"span",sx:{color:"secondary.main"},children:[e.jsx("a",{href:"https://www.youtube.com/",target:"_blank",rel:"noreferrer",children:"Youtube"}),","," ",e.jsx("a",{href:"https://vimeo.com/",target:"_blank",rel:"noreferrer",children:"Vimeo"})]})]})}),e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.count"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:"1~3"})]})}),!o&&e.jsx(a,{children:e.jsxs(a,{component:"span",children:[e.jsxs(a,{component:"span",sx:{color:"text.secondary"},children:[h("studio.order"),":"," "]}),e.jsx(a,{component:"span",sx:{color:"secondary.main"},children:h("studio.orderTip")})]})})]})]}),e.jsx(Qt,{onDragEnd:o?void 0:ee,children:e.jsx(eo,{droppableId:"videos",direction:"horizontal",isDropDisabled:o,children:(q,Y)=>e.jsxs(a,{ref:q.innerRef,...q.droppableProps,sx:{display:"flex",alignItems:"center",flex:1,flexWrap:"wrap",minHeight:160,background:Y.isDraggingOver?"#f5f5f5":"transparent",transition:"background-color 0.2s ease",border:Y.isDraggingOver?"2px dashed #999":"none",borderRadius:"4px"},children:[l.blockletVideos.map((J,se)=>e.jsx(to,{draggableId:J,index:se,isDragDisabled:o,children:(de,le)=>e.jsxs(a,{ref:de.innerRef,...de.draggableProps,className:"screenshot",sx:{transform:le.isDragging?"scale(1.05)":"none",boxShadow:le.isDragging?"0 5px 10px rgba(0,0,0,0.15)":"none",transition:"transform 0.2s ease, box-shadow 0.2s ease"},children:[e.jsx(Vt,{url:J,style:{pointerEvents:le.isDragging?"none":"auto"}}),!o&&e.jsx(ce,{...de.dragHandleProps,className:"action",style:{right:40,zIndex:10,color:"#fff"},children:e.jsx(Xt,{})}),!o&&e.jsx(ce,{className:"action",onClick:()=>{c(pe=>{const he=[...pe.blockletVideos];return he.splice(se,1),{...pe,blockletVideos:he}})},children:e.jsx(tt,{})})]})},J)),q.placeholder,l.blockletVideos.length<3&&e.jsx(a,{onClick:()=>{V()&&O(!0)},sx:{display:"flex",justifyContent:"center",alignItems:"center",fontSize:40,width:240,height:135,background:"#eee",cursor:o?"default":"pointer",color:"#999",mb:2},children:"+"})]})})})]})]})}),e.jsxs(k.Suspense,{fallback:e.jsx(Ge,{}),children:[e.jsx(ao,{ref:C,locale:j,popup:!0,onUploadFinish:q=>{c({blockletLogo:q.data.filename}),f(""),C.current?.close()},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:w,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/png","image/jpeg","image/webp","image/svg+xml"],maxFileSize:1024*1024*.5,maxNumberOfFiles:1}},dashboardProps:{autoOpen:"imageEditor"},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,aspectRatio:1,initialAspectRatio:1,autoCropArea:1,croppedCanvasOptions:{minWidth:256,minHeight:256}}}},"uploader-logo"),T&&e.jsx(ss,{onClose:()=>O(!1),params:l,setParams:c}),e.jsx(ao,{ref:D,locale:j,popup:!0,onUploadFinish:q=>{c(Y=>{const J=Y.blockletScreenshots||[];return J.push(q.data?.filename),{...Y,blockletScreenshots:J}}),D.current?.close()},installerProps:{disabled:!0},plugins:["ImageEditor"],apiPathProps:{uploader:S,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/*","image/svg+xml"],maxFileSize:1024*1024*5,maxNumberOfFiles:5-$.length}},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,autoCropArea:1,aspectRatio:16/9,initialAspectRatio:16/9,croppedCanvasOptions:{minWidth:1280,minHeight:720,maxWidth:1280*2,maxHeight:720*2}}}},"uploader-screenshot")]})]})}rs.propTypes={projectId:n.string.isRequired,readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,warning:n.object.isRequired,loading:n.bool.isRequired,blocklet:n.object.isRequired,setLoading:n.func.isRequired,initUrl:n.object,componentDid:n.string,initLogoUrl:n.string.isRequired,setInitLogoUrl:n.func.isRequired};const ln=ve.div`
146
146
  margin-top: 24px;
147
147
  .screenshot {
148
148
  margin-bottom: 16px;
@@ -176,7 +176,7 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
176
176
  width: 100%; /* 图像宽度填充容器 */
177
177
  height: auto; /* 图像高度自适应 */
178
178
  }
179
- `,cn=(t,o,s,r)=>{const l=t?[...t]:[],c=(o?.children||[]).reduce((i,d)=>(i[d.meta.did]=!0,i),{});return Object.keys(s).forEach(i=>{if(!c[i])return;let d=!1;r||l.forEach(u=>{u.did===i&&(u.included=!0,u.required=!0,d=!0)}),d||l.push({did:i,included:!0,required:!0})}),l},an=async t=>{if(typeof t!="string")throw new Error("URL must be a string");try{const o=t.split("/").pop().split("?")[0],r=await(await fetch(t)).blob();return new File([r],o,{type:r.type})}catch{throw new Error("Failed to convert Logo URL to file")}};function*dn(t,o){let s=0;for(;s<t.size;)yield t.slice(s,s+o),s+=o}const un=async({did:t,projectId:o,uploadType:s="logo",imageUrl:r})=>{const l=await an(r);new FormData().append("file",l);const i={uploaderId:"Uploader",relativePath:encodeURIComponent(l.name),name:encodeURIComponent(l.name),type:l.type},u=(await Zt.post(ue(F.WELLKNOWN_SERVICE_PATH_PREFIX,"/api/project",t,o,s,"upload"),null,{headers:{"Tus-Resumable":"1.0.0","Upload-Length":l.size,"X-Uploader-File-Ext":l.name.split(".").pop(),"Upload-Metadata":Object.keys(i).map(f=>`${f} ${btoa(i[f])}`).join(",")}})).headers.location,x=2*1024*1024;let p=0,m="";for(const f of dn(l,x)){const b=await Zt.patch(ue(F.WELLKNOWN_SERVICE_PATH_PREFIX,u),f,{headers:{"Tus-Resumable":"1.0.0","Upload-Offset":p,"Content-Type":"application/offset+octet-stream"}});p+=f.size,m=b.data.filename}return m},ns=({params:t,projectId:o,status:s,t:r})=>{const l=[];return t.blockletTitle||l.push({param:"blockletTitle",message:r("blocklet.publish.errorTip.noTitle")}),(!o||o===F.UNOWNED_DID)&&l.push({param:"projectId",message:r("blocklet.publish.errorTip.noDid")}),t.blockletVersion?We.valid(t.blockletVersion)||l.push({param:"blockletVersion",message:r("blocklet.publish.errorTip.inValidVersion")}):l.push({param:"blockletVersion",message:r("blocklet.publish.errorTip.noVersion")}),s===me.PROJECT.RELEASE_STATUS.published&&(t.blockletDescription||l.push({param:"blockletDescription",message:r("blocklet.publish.errorTip.noDescription")}),t.note||l.push({param:"note",message:r("blocklet.publish.errorTip.noNote")})),l.length?l:null},pn=({params:t,step:o,t:s,projectId:r})=>{if(o===0){if(!t.blockletTitle)return s("blocklet.publish.errorTip.noTitle");if(!r||r===F.UNOWNED_DID)return s("blocklet.publish.errorTip.noDid");if(!t.blockletDescription)return s("blocklet.publish.errorTip.noDescription")}if(o>=4){if(!t.blockletVersion)return s("blocklet.publish.errorTip.noVersion");if(!We.valid(t.blockletVersion))return s("blocklet.publish.errorTip.inValidVersion");if(!t.note)return s("blocklet.publish.errorTip.noNote")}return""};function ls({blocklet:t,releaseId:o,connectedStores:s,projectId:r,releaseType:l,publishedStoreIds:c=[],onPublish:i=()=>{},onDelete:d=()=>{},warning:u={},projectType:x="",componentDid:p="",onOpenConnectStore:m=()=>{},behavior:f="connect",version:b,onSelectConnectStore:h=()=>{}}){const{t:j}=X(),{actions:{refreshBlocklet:v}}=De(),{session:g}=ze(),{storeList:C}=Bt({fromBlocklet:!0,blocklet:t,userDid:g?.user?.did}),D=k.useMemo(()=>s?.length?s?.reduce((T,O)=>(T[O.storeId]=O,T),{}):{},[s]),R=t?.meta?.did,y={};return Object.entries(u?.logoErrors||{}).forEach(([T,O])=>{const N=Object.values(O);N.length>0&&(y[T]=N)}),Object.entries(u?.screenshotErrors||{}).forEach(([T,O])=>{const N=Object.values(O);N.length>0&&(y[T]=y[T]?[...y[T],...N]:N)}),e.jsxs(e.Fragment,{children:[f==="connect"&&!!C?.length&&e.jsx(it,{severity:"info",style:{width:"100%"},children:e.jsxs(a,{component:"a",href:x==="pack"?"https://www.arcblock.io/docs/blocklet-developer/en/5PXToZve-5IXAN1bc8rkpxAc":"https://www.arcblock.io/docs/blocklet-developer/en/hB5VWLfg9VnbWsL1JGLuLUfW",target:"_blank",rel:"noreferrer",sx:{color:Do[400],display:"flex",alignItems:"center"},children:[j(x==="pack"?"blocklet.publish.whyCantSeeInStore":"blocklet.publish.whyCantSeeResourceBlockletInStore"),e.jsx(Pt,{sx:{marginLeft:1}})]})}),e.jsx(Io,{children:C?.map(T=>e.jsx(At,{"data-cy":"store-switch",children:e.jsx(Eo,{children:e.jsx(Nr,{behavior:f,onSelectConnectStore:h,releaseId:o,projectId:r,releaseType:l,kind:"publish",teamDid:R,warningList:y[T.url],store:T,version:b,published:c?.indexOf(T.id)>-1,connectedStore:D[T.id],onPublish:i,onDelete:d,scope:T.scope||"studio",onOpenConnectStore:m})})},T.url))}),e.jsx(Vo,{teamDid:R,storeList:C,scope:"studio",onAdd:v})]})}ls.propTypes={blocklet:n.object.isRequired,projectId:n.string.isRequired,releaseId:n.string.isRequired,releaseType:n.string.isRequired,onPublish:n.func,onDelete:n.func,publishedStoreIds:n.arrayOf(n.string),connectedStores:n.arrayOf(n.object).isRequired,projectType:n.string,componentDid:n.string,warning:n.object,onOpenConnectStore:n.func,onSelectConnectStore:n.func,behavior:n.string,version:n.string.isRequired};function is({disabled:t=!1,endpointList:o=[],teamDid:s,onAdd:r=()=>{},hiddenChildren:l=!1,open:c=!1,onClose:i=()=>{}}){const{api:d}=ke(),[u,x]=k.useState(!1),[p,m]=k.useState(!0),[f,b]=k.useState(!1),[h,j]=k.useState(""),[v,g]=k.useState(""),{t:C}=X(),D=()=>{j(""),b(!1),i()},R=async()=>{x(!0);try{const{decoded:y}=xr(h,o);await d.addUploadEndpoint({input:{teamDid:s,url:y}}),r(y),D()}catch(y){const T=`${C("blocklet.publish.endpoint.addFailed")} ${ge(y)}`;g(T)}finally{x(!1)}};return e.jsxs(e.Fragment,{children:[!l&&e.jsxs(At,{button:!0,disabled:t,sx:y=>({marginTop:"8px",justifyContent:"center",color:y.palette.primary.main,lineHeight:"3.2"}),onClick:()=>{b(!0)},children:[e.jsx(nt,{font:!0}),e.jsx($,{variant:"inherit",children:C("blocklet.publish.endpoint.addEndpoint")})]}),e.jsxs(ct,{title:C("blocklet.publish.endpoint.addEndpoint"),fullWidth:!0,maxWidth:"md",open:c||f,onClose:D,PaperProps:{style:{minHeight:"auto"}},actions:e.jsxs(e.Fragment,{children:[e.jsx(Ae,{onClick:y=>{y.stopPropagation(),D()},color:"inherit",children:C("common.cancel")}),e.jsxs(Ae,{onClick:y=>{y.stopPropagation(),R()},color:"primary","data-cy":"install-blocklet-next-step",disabled:u||!h||p,variant:"contained",autoFocus:!0,children:[u&&e.jsx(Se,{size:16}),C("common.confirm")]})]}),children:[e.jsx("div",{style:{paddingTop:12,overflowY:"hidden"},children:e.jsx(Ys,{component:"div",children:e.jsx($,{component:"div",children:e.jsx(ne,{label:C("blocklet.publish.endpoint.addEndpoint"),autoComplete:"off",variant:"outlined",name:"url","data-cy":"add-blocklet-endpoint-url",fullWidth:!0,value:h,onChange:y=>{g(null);let T=!1;y.target.value.trim()||(T=!0),y.target.value.trim()||g(C("blocklet.publish.endpoint.urlEmpty")),j(y.target.value),m(T)},disabled:u,onKeyPress:y=>{y.key==="Enter"&&(y.preventDefault(),y.target.value.trim()?R():g(C("blocklet.publish.endpoint.urlEmpty")))}})})})}),!!v&&e.jsx(it,{severity:"error",style:{width:"100%"},children:v})]})]})}is.propTypes={teamDid:n.string.isRequired,disabled:n.bool,endpointList:n.array,onAdd:n.func,hiddenChildren:n.bool,open:n.bool,onClose:n.func};function cs({endpoint:t,teamDid:o,onDelete:s="",projectId:r="",children:l=null}){const{api:c}=ke(),{t:i}=X(),d=Po(),u=De(),[x,p]=k.useState(!1),[m,f]=k.useState(null),b=()=>{p(!1),f(null)},h=async()=>{try{p(!0),await c.deleteUploadEndpoint({input:{teamDid:o,did:t.id,projectId:r}}),await u?.actions?.refreshBlocklet(),s?.()}catch(g){W.error(`${i("blocklet.publish.endpoint.deleteFailed")}: ${ge(g)}`)}finally{p(!1),f(null)}},j={keyName:t.url,title:i("blocklet.publish.endpoint.deleteEndpoint"),description:i("blocklet.publish.endpoint.deleteDesc",{name:`<b>${t.url}</b>`,color:d.palette.error.main}),confirmPlaceholder:i("blocklet.publish.endpoint.confirmDesc",{name:t.url}),confirm:i("common.delConfirm"),cancel:i("common.cancel"),onConfirm:h,onCancel:b},v=g=>{t.protected||(g.stopPropagation(),f(j))};return e.jsxs(e.Fragment,{children:[l?e.jsx(a,{component:"span",onClick:v,children:l}):e.jsx(G,{"data-cy":"endpoint-action-delete",color:"primary",disabled:x,onClick:v,size:"small",children:e.jsx(tt,{sx:{zoom:.95}})}),m?e.jsx(Or,{keyName:m.keyName,title:m.title,description:m.description,confirmPlaceholder:m.confirmPlaceholder,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel}):null]})}cs.propTypes={endpoint:n.object.isRequired,teamDid:n.string.isRequired,onDelete:n.func,projectId:n.string,children:n.node};function as({connectedEndpoint:t,onDisconnect:o=()=>{},onDelete:s=()=>{},endpoint:r,teamDid:l,projectId:c=""}){const[i,d]=k.useState(null),u=!!i,{t:x}=X(),[p,m]=k.useState(!1),f=g=>{g.stopPropagation(),window.open(Uo(`${ue(r.url)}`,{allowDomains:null}))},b=g=>{d(g.currentTarget)},h=()=>{d(null)},j=()=>{m(!1),o()},v=[{label:x("blocklet.publish.endpoint.visitEndpoint"),action:f,icon:Pt},{label:x("common.disconnect"),action:()=>{h(),m(!0)},icon:Qs,hidden:!t}];return e.jsxs(e.Fragment,{children:[e.jsx(G,{ref:i,color:"primary",onClick:b,size:"small",children:e.jsx(er,{sx:{zoom:.95}})}),e.jsxs(tr,{anchorEl:i,open:u,onClose:h,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[v.map(g=>g.hidden?null:e.jsxs(be,{dense:!0,onClick:g.action,disabled:g.disabled,children:[g.icon&&e.jsx(g.icon,{color:"action",sx:{marginRight:1}}),e.jsx(a,{sx:{color:"action"},children:g.label})]},g.label)),e.jsx(cs,{endpoint:r,teamDid:l,onDelete:s,projectId:c,children:e.jsxs(be,{dense:!0,disabled:r.protected,children:[e.jsx(tt,{sx:{color:r.protected?"action":"error.main",marginRight:1}}),e.jsx(a,{sx:{color:r.protected?"action":"error.main"},children:x("common.delete")})]})})]}),p&&e.jsx(at,{displayError:!0,title:`${x("common.disconnect")} ${r.appName}`,description:x("blocklet.publish.endpoint.disconnectEndpointTip",{url:r.url}),confirm:x("common.confirm"),onConfirm:j,onCancel:()=>m(!1)})]})}as.propTypes={connectedEndpoint:n.object.isRequired,onDisconnect:n.func,onDelete:n.func,endpoint:n.object.isRequired,teamDid:n.string.isRequired,projectId:n.string};function St({developerUrl:t,developerDid:o,sx:s={},...r}){return e.jsx(Et,{sx:{width:24,height:24,...s},src:ue(new URL(t).origin,F.WELLKNOWN_SERVICE_PATH_PREFIX,`/user/avatar/${o}?imageFilter=resize&w=120&h=120`),...r})}St.propTypes={developerDid:n.string.isRequired,developerUrl:n.string.isRequired,sx:n.object};function ds({endpoint:t,published:o}){const{t:s}=X(),r=()=>{window.open(Uo(`${ue(t.url)}`,{allowDomains:null}))};return e.jsxs(a,{children:[e.jsx($,{variant:"subtitle2",children:s(o?"blocklet.publish.endpoint.publishToEndpointSuccess":"blocklet.publish.endpoint.uploadToEndpointSuccess",{name:t.appName})}),e.jsx(G,{size:"small",sx:{mt:1},onClick:r,variant:"contained",color:"success",children:s("common.visitTarget",{name:t.appName})})]})}ds.propTypes={endpoint:n.object.isRequired,published:n.bool.isRequired};const uo=ko(({className:t,...o})=>e.jsx(xe,{...o,classes:{popper:t}}))(({theme:t})=>({[`& .${rr.tooltip}`]:{backgroundColor:"#fff",color:"rgba(0, 0, 0, 0.87)",borderRadius:8,padding:t.spacing(2),fontSize:t.typography.pxToRem(12),border:"1px solid rgba(0,0,0,0.08)",boxShadow:"0px 4px 8px rgba(0, 0, 0, 0.05)"}}));function us({teamDid:t,projectId:o="",releaseId:s="",endpoint:r,warningList:l=[],onDelete:c=()=>{},published:i=!1,onPublish:d=()=>{},connectedEndpoint:u=null,onOpenConnectEndpoint:x=()=>{}}){const{t:p}=X(),{api:m}=ke(),[f,b]=k.useState(!1),h=Bo({messageType:"connect-endpoint-message",onOpen:()=>b(!0),onClose:()=>b(!1)}),j=!!u,v=()=>{h(async(y,T)=>{try{const O=await m.connectToEndpoint({input:{did:t,endpointId:r.id,projectId:o}});if(!O?.url){W.error("failed to connect to endpoint");return}T(O.url),await x({did:t,projectId:o,endpointId:r.id}),b(!1)}catch(O){const N=ge(O);W.error(N),b(!1)}})},g=async()=>{try{await m.disconnectFromEndpoint({input:{did:t,endpointId:r.id,projectId:o}}),c()}catch(y){W.error(ge(y))}},C=()=>{b(!0),m.publishToEndpoint({input:{did:t,endpointId:r.id,projectId:o,releaseId:s}}).then(()=>{W.success(e.jsx(ds,{endpoint:r,published:!0}),{duration:1e4}),d?.(null)}).catch(y=>{W.error(ge(y)),d?.(y)}).finally(()=>{b(!1)})};k.useEffect(()=>{j&&b(!1)},[j]);const D=l.length>0,R=e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130,height:"100%"},disabled:D,onClick:C,children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(or,{sx:{marginRight:1,fontSize:20}}),p("common.upload")]});return e.jsxs(a,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",overflow:"hidden",width:"100%"},children:[e.jsxs(a,{sx:{flexShrink:1,display:"flex",flexDirection:"column",overflow:"hidden",flex:1},children:[e.jsx(a,{sx:{display:"flex",flexDirection:"row"},children:e.jsx($,{component:"span",sx:{fontSize:16,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},variant:"subtitle1",children:r.appName})}),e.jsx($,{sx:{fontSize:14,opacity:.5,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},component:"span",variant:"inherit",children:`${r.url}`})]}),e.jsxs(a,{sx:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-end",alignItems:"center"},children:[u&&e.jsx(uo,{placement:"top",title:e.jsxs(a,{children:[e.jsx($,{component:"span",variant:"caption",sx:{opacity:.7},children:p("blocklet.publish.developerInfo")}),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center",gap:1,mt:1},children:[e.jsx(St,{developerUrl:r.url,developerDid:u.developerDid,sx:{width:42,height:42}}),e.jsxs(a,{sx:{flex:1},children:[e.jsx($,{component:"span",variant:"subtitle1",children:u.developerName}),e.jsx(Ct,{size:14,copyable:!0,compact:!0,responsive:!1,did:u.developerDid})]})]})]}),children:e.jsx(a,{children:e.jsx(St,{developerUrl:r.url,developerDid:u.developerDid,sx:{marginRight:1,cursor:"help"}})})}),e.jsxs(et,{disabled:f,variant:"outlined",sx:{height:38},size:"small",children:[!j&&e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130},onClick:v,children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(sr,{sx:{marginRight:1}}),p("common.connect")]}),j&&i&&e.jsxs(G,{disabled:!0,sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130},children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(Lo,{sx:{marginRight:1}}),p("common.uploaded")]}),j&&!i&&(D?e.jsx(uo,{title:e.jsxs(a,{children:[e.jsx(a,{sx:{color:"error.main",mb:.5},children:p("blocklet.publish.storeRule.warning")}),l.map((y,T)=>e.jsxs(a,{sx:{color:"error.main"},children:[T+1,". ",y]},y))]}),children:e.jsx("div",{children:R})}):R),e.jsx(as,{projectId:o,endpoint:r,teamDid:t,connectedEndpoint:u,onDisconnect:g,onDelete:c})]})]})]})}us.propTypes={teamDid:n.string.isRequired,published:n.bool,connectedEndpoint:n.shape({endpointId:n.string,accessKeyId:n.string,accessKeySecret:n.string,createdBy:n.string,developerDid:n.string,developerName:n.string,developerEmail:n.string}),warningList:n.array,projectId:n.string,releaseId:n.string,endpoint:n.shape({id:n.string.isRequired,appName:n.string,url:n.string.isRequired,endpoint:n.string.isRequired,protected:n.bool,connected:n.bool}).isRequired,onDelete:n.func,onOpenConnectEndpoint:n.func,onPublish:n.func};function ps({releaseId:t,blocklet:o,connectedEndpoints:s,projectId:r,publishedEndpointIds:l=[],onPublish:c=()=>{},onDelete:i=()=>{},warning:d={},onOpenConnectEndpoint:u=()=>{}}){const{actions:{refreshBlocklet:x}}=De(),{session:p}=ze(),{t:m}=X(),f=(o?.settings?.endpointList||[]).filter(v=>v.scope===p?.user?.did),b=k.useMemo(()=>s?.length?s?.reduce((v,g)=>(v[g.endpointId]=g,v),{}):{},[s]),h=o?.meta?.did,j={};return Object.entries(d?.logoErrors||{}).forEach(([v,g])=>{const C=Object.values(g);C.length>0&&(j[v]=C)}),Object.entries(d?.screenshotErrors||{}).forEach(([v,g])=>{const C=Object.values(g);C.length>0&&(j[v]=j[v]?[...j[v],...C]:C)}),e.jsxs(e.Fragment,{children:[!!f?.length&&e.jsx(it,{severity:"info",style:{width:"100%"},children:e.jsx(a,{sx:{color:Do[400]},children:m("blocklet.publish.endpoint.uploadToEndpoint")})}),e.jsx(Io,{sx:{flex:1},children:f?.map(v=>e.jsx(At,{"data-cy":"endpoint-switch",children:e.jsx(Eo,{children:e.jsx(us,{releaseId:t,projectId:r,teamDid:h,warningList:j[v.url],endpoint:v,published:l?.indexOf(v.id)>-1,connectedEndpoint:b[v.id],onPublish:c,onDelete:i,onOpenConnectEndpoint:u})})},v.url))}),e.jsx(is,{teamDid:h,endpointList:f,onAdd:x})]})}ps.propTypes={releaseId:n.string.isRequired,blocklet:n.object.isRequired,projectId:n.string.isRequired,warning:n.object,onPublish:n.func,onOpenConnectEndpoint:n.func,onDelete:n.func,connectedEndpoints:n.arrayOf(n.object).isRequired,publishedEndpointIds:n.arrayOf(n.string)};function hs({did:t,params:o,setParams:s,projectId:r,open:l,onClose:c}){const{t:i}=X(),[d,u]=k.useState(!1),{api:x}=ke(),[p,m]=k.useState(!1),[f,b]=k.useState(!1),h=()=>{m(o.autoUpload),b(o.possibleSameStore),u(!1),c(!1)},j=async()=>{u(!0);try{await x.updateProject({input:{did:t,projectId:r,blockletTitle:o.blockletTitle||"",blockletDescription:o.blockletDescription||"",blockletIntroduction:o.blockletIntroduction||"",autoUpload:!!p,possibleSameStore:!!f}}),s({autoUpload:p,possibleSameStore:f}),c(!1)}catch(g){W.error(g.message)}u(!1)};k.useEffect(()=>{m(o.autoUpload),b(o.possibleSameStore)},[o]);const v=!!(r&&r!==F.UNOWNED_DID);return e.jsx(ct,{title:i("blocklet.publish.projectSettings"),disableEscapeKeyDown:!0,disablePortal:!1,fullWidth:!0,open:l,onClose:h,actions:e.jsxs(e.Fragment,{children:[e.jsx(G,{onClick:g=>{g.stopPropagation(),c()},color:"inherit",children:i("common.cancel")}),v&&e.jsxs(G,{onClick:g=>{g.stopPropagation(),j()},color:"primary","data-cy":"install-blocklet-next-step",disabled:d,variant:"contained",autoFocus:!0,children:[d&&e.jsx(Se,{size:16}),i("common.confirm")]})]}),children:v?e.jsxs(a,{component:"label",sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"ph:upload",sx:{fontSize:24,mr:2}}),e.jsx($,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.autoUploadTip")}),e.jsx(Le,{checked:p,onChange:(g,C)=>m(C)})]}),e.jsxs(a,{component:"label",sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"fluent-mdl2:merge-duplicate",sx:{fontSize:24,mr:2}}),e.jsx($,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.possibleSameStoreTip")}),e.jsx(Le,{checked:f,onChange:(g,C)=>b(C)})]})]}):e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"ph:empty",sx:{fontSize:40,mb:3,opacity:.6}}),e.jsx($,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.needProjectId")})]})})}hs.propTypes={did:n.string.isRequired,params:n.object.isRequired,open:n.bool.isRequired,onClose:n.func.isRequired,setParams:n.func.isRequired,projectId:n.string.isRequired};function ms({downloadUrl:t,installUrl:o,handleSetTip:s,isPack:r,disabled:l}){const{t:c}=X(),[i,d]=k.useState(!1),u=k.useRef(null),x=()=>{d(!i)},p=m=>{u.current&&u.current.contains(m.target)||d(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(G,{disabled:l,ref:u,onClick:x,children:e.jsx(a,{component:ae,sx:{fontSize:18},icon:"bxs:download"})}),e.jsx(yo,{sx:{zIndex:10},open:i,anchorEl:u.current,placement:"bottom-end",role:void 0,transition:!0,disablePortal:!0,children:({TransitionProps:m})=>e.jsx(wo,{...m,style:{transformOrigin:"center top"},children:e.jsx(Lt,{children:e.jsx(vo,{onClickAway:p,children:e.jsxs(Co,{id:"split-button-menu",autoFocusItem:!0,sx:{maxHeight:300,overflowY:"auto",zIndex:10},children:[r&&e.jsx(a,{component:"a",href:o,target:"_blank",rel:"noreferrer",sx:{textDecoration:"none"},children:e.jsxs(be,{sx:{color:"#333"},children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"ic:round-install-desktop"}),e.jsx($,{variant:"inherit",children:c("blocklet.publish.installToThisServer")})]})}),e.jsxs(be,{onClick:s,children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"iconamoon:copy"}),e.jsx($,{variant:"inherit",children:c("blocklet.publish.copyInstallUrl")})]}),e.jsx(a,{component:"a",href:t,target:"_blank",rel:"noreferrer",sx:{textDecoration:"none"},children:e.jsxs(be,{sx:{color:"#333"},children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"ph:download"}),e.jsx($,{variant:"inherit",children:c("common.download")})]})})]})})})})})]})}ms.propTypes={disabled:n.bool.isRequired,isPack:n.bool.isRequired,downloadUrl:n.string.isRequired,installUrl:n.string.isRequired,handleSetTip:n.func.isRequired};const po=window.env?.serverEndpoint;function bs({projectId:t,params:o,setParamsErrTip:s,initUrl:r=null,setParams:l,mode:c,loading:i,blocklet:d,release:u=null,releaseId:x,getData:p,getRelease:m,paramsErrTip:f,warning:b,componentDid:h="",resourceRelateComponents:j,disabledSelectComponents:v=!1,saveSelectedEventsRef:g,hasSelectedResources:C,initLogoUrl:D,setLoading:R,clearHistoryParams:y,projectType:T,readOnly:O}){const{t:N,locale:z}=X(),K=[{label:e.jsx(a,{sx:{textAlign:"center",width:"100%"},children:N("blocklet.publish.store")}),value:"store"},{label:e.jsx(a,{sx:{textAlign:"center",width:"100%"},children:N("blocklet.publish.endpoint.tab")}),value:"endpoint"}],[P,A]=k.useState(K[0].value),{api:w}=ke(),S=It(),[Y,H]=k.useState(!1),[Q,E]=k.useState(!1),[I,V]=k.useState(),U=Oe(re=>re.breakpoints.down("md")),ee=k.useMemo(()=>o?.blockletResourceType?o?.blockletResourceType:o?.blockletComponents?.length>0?o?.blockletComponents.find(Ie=>Ie.included)?"resource":"pack":"resource",[o?.blockletComponents,o?.blockletResourceType]),q=()=>{window.parent.postMessage({event:"studioDialog.uploaded",componentDid:h},"*"),m()},Z=async re=>{if(f?.blockletHomepage||f?.blockletSupport||f?.blockletCommunity){W.error(f?.blockletHomepage||f?.blockletSupport||f?.blockletCommunity);return}const Ie=ns({params:o,projectId:t,status:re,t:N});if(Ie){W.error(Ie.map(B=>B.message).join("; ")),s(Ie.reduce((B,te)=>({...B,[te.param]:te.message}),{}));return}const _={...o};if(_.blockletComponents=cn(_.blockletComponents,d,j,v),_.blockletVersion=We.valid(_.blockletVersion),!_.blockletVersion){W.error("Invalid Blocklet Version"),s({blockletVersion:"Invalid Blocklet Version"});return}if(D)try{const B=await un({did:d.meta.did,projectId:t,imageUrl:D});_.blockletLogo=B,l({blockletLogo:B})}catch(B){W.error(B.message);return}if(o.resourceFromSelect){_.uploadedResource="";try{const B=Object.keys(g.current);await st(B.map(te=>()=>{const je=g.current[te];return tn({api:w,locale:z,projectId:t,releaseId:"",appDid:d.meta.did,component:je.component,resources:je.resources,initUrl:r})}),{concurrency:2})}catch(B){W.error(B?.response?.data?.error?.message||B.message),s({blockletResource:"Invalid save the resource"});return}}else o.blockletDocker?.dockerImage||(_.blockletComponents=[]);_.blockletTitle=(_.blockletTitle||"").trim(),_.blockletDescription=(_.blockletDescription||"").trim(),_.blockletSupport=(_.blockletSupport||"").trim(),_.blockletHomepage=(_.blockletHomepage||"").trim(),_.blockletCommunity=(_.blockletCommunity||"").trim(),_.blockletRepository=(_.blockletRepository||"").trim(),_.blockletIntroduction=(_.blockletIntroduction||"").trim(),_.note=(_.note||"").trim(),_.blockletComponents=(_?.blockletComponents||[]).filter(B=>B.included).map(B=>Ot(B,["did","required"])).map(JSON.stringify),_.contentType!=="docker"&&(_.blockletDocker={dockerImage:"",dockerCommand:"",dockerArgs:[],dockerEnvs:[]}),_.blockletDocker.dockerImage=_.blockletDocker.dockerImage||"",_.blockletDocker.dockerArgs.length>0&&_.blockletDocker.dockerArgs.forEach(B=>{B.proxyBehavior=B.proxyBehavior||"service"});try{await w.createRelease({input:{..._,note:JSON.stringify({note:_.note}),did:d.meta.did,projectId:t,releaseId:"",status:re,blockletSingleton:typeof _.blockletSingleton=="boolean"?_.blockletSingleton:!1}}),y(),W.success(N("blocklet.publish.createReleaseSuccess")),window.parent.postMessage({event:"studioDialog.released",componentDid:h},"*"),s({blockletResource:"",blockletTitle:"",blockletDescription:"",blockletVersion:"",blockletLogo:"",projectId:"",blockletIntroduction:"",note:""})}catch(B){const te=ge(B);W.error(te),(/resource/.test(te)||/zip/.test(te))&&s({blockletResource:te});return}const Be=await w.getProject({input:{did:d.meta.did,projectId:t}}),$e=Be.project.lastReleaseId;o.autoUpload&&await st(Be.project.connectedStores.map(B=>async()=>{try{const te=b.logoErrors[B.storeUrl];if(te){const ye=Object.keys(te).find(Ee=>!!te[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:te[ye]}));return}}const je=b.screenshotErrors[B.storeUrl];if(je){const ye=Object.keys(je).find(Ee=>!!je[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:je[ye]}));return}}const ie=await w.publishToStore({input:{did:d.meta.did,storeId:B.storeId,storeName:B.storeName,projectId:t,releaseId:$e,type:ee}});W.success(e.jsx(_r,{storeName:B.storeName,storeUrl:B.storeUrl,developerDid:B.developerDid,did:t,published:ie.url==="published",version:_.blockletVersion}),{duration:1e4})}catch(te){W.error(ge(te))}}),{concurrency:4}),q?.(),S(`../${t}/view/${$e}/${_.blockletVersion}`,{replace:!0})},J=re=>(R(!0),Z(re).finally(()=>{R(!1)})),se=async re=>{await Ar(w,re),p()},de=async re=>{await $r(w,re),p()},le=()=>{E(!0)},pe=ue(po,`/api/project/${d.meta.did}/${t}/${x}/release/blocklet.json`),he=new URL(po);he.pathname=ue(he.pathname,"/launch-blocklet/agreement"),he.searchParams.set("blocklet_meta_url",pe);const Ke=he.href,Ze=()=>V(pe);return e.jsxs(e.Fragment,{children:[e.jsx(hn,{className:"sticky-header",children:e.jsx(Wt,{left:e.jsxs(jo,{className:"breadcrumbs","aria-label":"breadcrumb",children:[e.jsx(we,{to:"../",children:N("common.blockletStudio")}),t===F.UNOWNED_DID?e.jsx($,{sx:{color:"text.primary"},children:e.jsx(Te,{maxLength:U?6:30,children:o?.blockletTitle||"Blocklet"})}):e.jsx(we,{to:`../${t}`,children:e.jsx(Te,{maxLength:U?6:30,children:o?.blockletTitle||"Blocklet"})}),e.jsx($,{sx:{color:"text.primary"},children:c==="create"?N("common.create"):o?.blockletVersion||N("common.edit")})]}),actions:e.jsxs(e.Fragment,{children:[!O&&e.jsxs(et,{disabled:i,variant:"contained",children:[e.jsxs(G,{variant:"contained",onClick:()=>J(me.PROJECT.RELEASE_STATUS.published),children:[i&&e.jsx(Se,{size:14,sx:{mr:.5},color:"inherit"}),N("blocklet.publish.createRelease")]}),e.jsx(G,{variant:"contained",onClick:le,children:e.jsx(ae,{icon:"mage:settings-fill",fontSize:"16px"})})]}),O&&e.jsxs(e.Fragment,{children:[e.jsx(lt,{fullWidth:!0,maxWidth:"sm",open:I,onClose:()=>V(""),children:e.jsxs(a,{sx:{py:5,px:4,wordBreak:"break-all"},children:[e.jsx($,{variant:"h6",sx:{mb:2},children:N("blocklet.publish.installResourceTip")}),e.jsx(zo,{children:I}),e.jsxs($,{sx:{mt:2},children:[N("blocklet.publish.installResourceTip2"),e.jsx("a",{style:{marginLeft:4},href:"https://www.arcblock.io/docs/blocklet-developer/how-to-use-install-url",target:"_blank",rel:"noreferrer",children:N("blocklet.publish.installResourceHelp")})]})]})}),e.jsxs(et,{disabled:i,variant:"contained",children:[e.jsxs(G,{onClick:()=>H(!0),children:[i?e.jsx(Se,{size:14,sx:{mr:1},color:"inherit"}):e.jsx(nr,{sx:{fontSize:"1.3em",mr:1}}),N(U?"common.upload":"blocklet.publish.connectOrUpload")]}),e.jsx(ms,{isPack:ee==="pack",downloadUrl:ue(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${d.meta.did}/${t}/${x}/download/${(u?.files||[])[0]}`),installUrl:Ke,handleSetTip:Ze}),e.jsx(G,{onClick:le,children:e.jsx(ae,{icon:"mage:settings-fill",fontSize:"16px"})})]})]})]})})}),e.jsx(ct,{title:N("blocklet.publish.connectOrUpload"),disableEscapeKeyDown:!0,disablePortal:!1,fullWidth:!0,open:Y,onClose:()=>H(!1),children:e.jsxs(a,{children:[e.jsx(a,{sx:{mt:-2,mb:2},children:e.jsx(Wo,{tabs:K,current:P,onChange:A})}),P==="store"&&e.jsx(ls,{projectType:T,blocklet:d,version:o.blockletVersion,releaseType:ee,projectId:t,releaseId:x,componentDid:h,warning:b,onPublish:q,onOpenConnectStore:se,onDelete:p,connectedStores:o.connectedStores||[],publishedStoreIds:u?.publishedStoreIds}),P==="endpoint"&&e.jsx(Re,{sx:{minHeight:400},children:e.jsx(ps,{blocklet:d,releaseType:ee,projectId:t,releaseId:x,warning:b,publishedEndpointIds:[],connectedEndpoints:o.connectedEndpoints||[],onPublish:q,onOpenConnectEndpoint:de,onDelete:p})})]})}),e.jsx(hs,{did:d?.meta?.did,params:o,projectId:t,open:Q,setParams:l,onClose:()=>E(!1)})]})}bs.propTypes={projectId:n.string.isRequired,params:n.object.isRequired,mode:n.string.isRequired,loading:n.bool.isRequired,blocklet:n.object.isRequired,release:n.object,releaseId:n.string.isRequired,getData:n.func.isRequired,getRelease:n.func.isRequired,componentDid:n.string,resourceRelateComponents:n.object.isRequired,disabledSelectComponents:n.bool,saveSelectedEventsRef:n.object.isRequired,hasSelectedResources:n.bool.isRequired,initLogoUrl:n.string.isRequired,setLoading:n.func.isRequired,projectType:n.string.isRequired,setParamsErrTip:n.func.isRequired,warning:n.object.isRequired,setParams:n.func.isRequired,initUrl:n.object,paramsErrTip:n.object.isRequired,clearHistoryParams:n.func.isRequired,readOnly:n.bool.isRequired};const hn=ve.div`
179
+ `,cn=(t,o,s,r)=>{const l=t?[...t]:[],c=(o?.children||[]).reduce((i,d)=>(i[d.meta.did]=!0,i),{});return Object.keys(s).forEach(i=>{if(!c[i])return;let d=!1;r||l.forEach(u=>{u.did===i&&(u.included=!0,u.required=!0,d=!0)}),d||l.push({did:i,included:!0,required:!0})}),l},an=async t=>{if(typeof t!="string")throw new Error("URL must be a string");try{const o=t.split("/").pop().split("?")[0],r=await(await fetch(t)).blob();return new File([r],o,{type:r.type})}catch{throw new Error("Failed to convert Logo URL to file")}};function*dn(t,o){let s=0;for(;s<t.size;)yield t.slice(s,s+o),s+=o}const un=async({did:t,projectId:o,uploadType:s="logo",imageUrl:r})=>{const l=await an(r);new FormData().append("file",l);const i={uploaderId:"Uploader",relativePath:encodeURIComponent(l.name),name:encodeURIComponent(l.name),type:l.type},u=(await Yt.post(ue(F.WELLKNOWN_SERVICE_PATH_PREFIX,"/api/project",t,o,s,"upload"),null,{headers:{"Tus-Resumable":"1.0.0","Upload-Length":l.size,"X-Uploader-File-Ext":l.name.split(".").pop(),"Upload-Metadata":Object.keys(i).map(f=>`${f} ${btoa(i[f])}`).join(",")}})).headers.location,x=2*1024*1024;let p=0,m="";for(const f of dn(l,x)){const b=await Yt.patch(ue(F.WELLKNOWN_SERVICE_PATH_PREFIX,u),f,{headers:{"Tus-Resumable":"1.0.0","Upload-Offset":p,"Content-Type":"application/offset+octet-stream"}});p+=f.size,m=b.data.filename}return m},ns=({params:t,projectId:o,status:s,t:r})=>{const l=[];return t.blockletTitle||l.push({param:"blockletTitle",message:r("blocklet.publish.errorTip.noTitle")}),(!o||o===F.UNOWNED_DID)&&l.push({param:"projectId",message:r("blocklet.publish.errorTip.noDid")}),t.blockletVersion?We.valid(t.blockletVersion)||l.push({param:"blockletVersion",message:r("blocklet.publish.errorTip.inValidVersion")}):l.push({param:"blockletVersion",message:r("blocklet.publish.errorTip.noVersion")}),s===me.PROJECT.RELEASE_STATUS.published&&(t.blockletDescription||l.push({param:"blockletDescription",message:r("blocklet.publish.errorTip.noDescription")}),t.note||l.push({param:"note",message:r("blocklet.publish.errorTip.noNote")})),l.length?l:null},pn=({params:t,step:o,t:s,projectId:r})=>{if(o===0){if(!t.blockletTitle)return s("blocklet.publish.errorTip.noTitle");if(!r||r===F.UNOWNED_DID)return s("blocklet.publish.errorTip.noDid");if(!t.blockletDescription)return s("blocklet.publish.errorTip.noDescription")}if(o>=4){if(!t.blockletVersion)return s("blocklet.publish.errorTip.noVersion");if(!We.valid(t.blockletVersion))return s("blocklet.publish.errorTip.inValidVersion");if(!t.note)return s("blocklet.publish.errorTip.noNote")}return""};function ls({blocklet:t,releaseId:o,connectedStores:s,projectId:r,releaseType:l,publishedStoreIds:c=[],onPublish:i=()=>{},onDelete:d=()=>{},warning:u={},projectType:x="",componentDid:p="",onOpenConnectStore:m=()=>{},behavior:f="connect",version:b,onSelectConnectStore:h=()=>{}}){const{t:j}=X(),{actions:{refreshBlocklet:v}}=De(),{session:g}=ze(),{storeList:C}=Bt({fromBlocklet:!0,blocklet:t,userDid:g?.user?.did}),D=k.useMemo(()=>s?.length?s?.reduce((T,O)=>(T[O.storeId]=O,T),{}):{},[s]),R=t?.meta?.did,y={};return Object.entries(u?.logoErrors||{}).forEach(([T,O])=>{const N=Object.values(O);N.length>0&&(y[T]=N)}),Object.entries(u?.screenshotErrors||{}).forEach(([T,O])=>{const N=Object.values(O);N.length>0&&(y[T]=y[T]?[...y[T],...N]:N)}),e.jsxs(e.Fragment,{children:[f==="connect"&&!!C?.length&&e.jsx(it,{severity:"info",style:{width:"100%"},children:e.jsxs(a,{component:"a",href:x==="pack"?"https://www.arcblock.io/docs/blocklet-developer/en/5PXToZve-5IXAN1bc8rkpxAc":"https://www.arcblock.io/docs/blocklet-developer/en/hB5VWLfg9VnbWsL1JGLuLUfW",target:"_blank",rel:"noreferrer",sx:{color:Do[400],display:"flex",alignItems:"center"},children:[j(x==="pack"?"blocklet.publish.whyCantSeeInStore":"blocklet.publish.whyCantSeeResourceBlockletInStore"),e.jsx(Pt,{sx:{marginLeft:1}})]})}),e.jsx(Io,{children:C?.map(T=>e.jsx($t,{"data-cy":"store-switch",children:e.jsx(Eo,{children:e.jsx(Nr,{behavior:f,onSelectConnectStore:h,releaseId:o,projectId:r,releaseType:l,kind:"publish",teamDid:R,warningList:y[T.url],store:T,version:b,published:c?.indexOf(T.id)>-1,connectedStore:D[T.id],onPublish:i,onDelete:d,scope:T.scope||"studio",onOpenConnectStore:m})})},T.url))}),e.jsx(Vo,{teamDid:R,storeList:C,scope:"studio",onAdd:v})]})}ls.propTypes={blocklet:n.object.isRequired,projectId:n.string.isRequired,releaseId:n.string.isRequired,releaseType:n.string.isRequired,onPublish:n.func,onDelete:n.func,publishedStoreIds:n.arrayOf(n.string),connectedStores:n.arrayOf(n.object).isRequired,projectType:n.string,componentDid:n.string,warning:n.object,onOpenConnectStore:n.func,onSelectConnectStore:n.func,behavior:n.string,version:n.string.isRequired};function is({disabled:t=!1,endpointList:o=[],teamDid:s,onAdd:r=()=>{},hiddenChildren:l=!1,open:c=!1,onClose:i=()=>{}}){const{api:d}=ke(),[u,x]=k.useState(!1),[p,m]=k.useState(!0),[f,b]=k.useState(!1),[h,j]=k.useState(""),[v,g]=k.useState(""),{t:C}=X(),D=()=>{j(""),b(!1),i()},R=async()=>{x(!0);try{const{decoded:y}=xr(h,o);await d.addUploadEndpoint({input:{teamDid:s,url:y}}),r(y),D()}catch(y){const T=`${C("blocklet.publish.endpoint.addFailed")} ${ge(y)}`;g(T)}finally{x(!1)}};return e.jsxs(e.Fragment,{children:[!l&&e.jsxs($t,{button:!0,disabled:t,sx:y=>({marginTop:"8px",justifyContent:"center",color:y.palette.primary.main,lineHeight:"3.2"}),onClick:()=>{b(!0)},children:[e.jsx(nt,{font:!0}),e.jsx(A,{variant:"inherit",children:C("blocklet.publish.endpoint.addEndpoint")})]}),e.jsxs(ct,{title:C("blocklet.publish.endpoint.addEndpoint"),fullWidth:!0,maxWidth:"md",open:c||f,onClose:D,PaperProps:{style:{minHeight:"auto"}},actions:e.jsxs(e.Fragment,{children:[e.jsx($e,{onClick:y=>{y.stopPropagation(),D()},color:"inherit",children:C("common.cancel")}),e.jsxs($e,{onClick:y=>{y.stopPropagation(),R()},color:"primary","data-cy":"install-blocklet-next-step",disabled:u||!h||p,variant:"contained",autoFocus:!0,children:[u&&e.jsx(Se,{size:16}),C("common.confirm")]})]}),children:[e.jsx("div",{style:{paddingTop:12,overflowY:"hidden"},children:e.jsx(Zs,{component:"div",children:e.jsx(A,{component:"div",children:e.jsx(ne,{label:C("blocklet.publish.endpoint.addEndpoint"),autoComplete:"off",variant:"outlined",name:"url","data-cy":"add-blocklet-endpoint-url",fullWidth:!0,value:h,onChange:y=>{g(null);let T=!1;y.target.value.trim()||(T=!0),y.target.value.trim()||g(C("blocklet.publish.endpoint.urlEmpty")),j(y.target.value),m(T)},disabled:u,onKeyPress:y=>{y.key==="Enter"&&(y.preventDefault(),y.target.value.trim()?R():g(C("blocklet.publish.endpoint.urlEmpty")))}})})})}),!!v&&e.jsx(it,{severity:"error",style:{width:"100%"},children:v})]})]})}is.propTypes={teamDid:n.string.isRequired,disabled:n.bool,endpointList:n.array,onAdd:n.func,hiddenChildren:n.bool,open:n.bool,onClose:n.func};function cs({endpoint:t,teamDid:o,onDelete:s="",projectId:r="",children:l=null}){const{api:c}=ke(),{t:i}=X(),d=Po(),u=De(),[x,p]=k.useState(!1),[m,f]=k.useState(null),b=()=>{p(!1),f(null)},h=async()=>{try{p(!0),await c.deleteUploadEndpoint({input:{teamDid:o,did:t.id,projectId:r}}),await u?.actions?.refreshBlocklet(),s?.()}catch(g){W.error(`${i("blocklet.publish.endpoint.deleteFailed")}: ${ge(g)}`)}finally{p(!1),f(null)}},j={keyName:t.url,title:i("blocklet.publish.endpoint.deleteEndpoint"),description:i("blocklet.publish.endpoint.deleteDesc",{name:`<b>${t.url}</b>`,color:d.palette.error.main}),confirmPlaceholder:i("blocklet.publish.endpoint.confirmDesc",{name:t.url}),confirm:i("common.delConfirm"),cancel:i("common.cancel"),onConfirm:h,onCancel:b},v=g=>{t.protected||(g.stopPropagation(),f(j))};return e.jsxs(e.Fragment,{children:[l?e.jsx(a,{component:"span",onClick:v,children:l}):e.jsx(G,{"data-cy":"endpoint-action-delete",color:"primary",disabled:x,onClick:v,size:"small",children:e.jsx(tt,{sx:{zoom:.95}})}),m?e.jsx(Or,{keyName:m.keyName,title:m.title,description:m.description,confirmPlaceholder:m.confirmPlaceholder,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel}):null]})}cs.propTypes={endpoint:n.object.isRequired,teamDid:n.string.isRequired,onDelete:n.func,projectId:n.string,children:n.node};function as({connectedEndpoint:t,onDisconnect:o=()=>{},onDelete:s=()=>{},endpoint:r,teamDid:l,projectId:c=""}){const[i,d]=k.useState(null),u=!!i,{t:x}=X(),[p,m]=k.useState(!1),f=g=>{g.stopPropagation(),window.open(Uo(`${ue(r.url)}`,{allowDomains:null}))},b=g=>{d(g.currentTarget)},h=()=>{d(null)},j=()=>{m(!1),o()},v=[{label:x("blocklet.publish.endpoint.visitEndpoint"),action:f,icon:Pt},{label:x("common.disconnect"),action:()=>{h(),m(!0)},icon:Qs,hidden:!t}];return e.jsxs(e.Fragment,{children:[e.jsx(G,{ref:i,color:"primary",onClick:b,size:"small",children:e.jsx(er,{sx:{zoom:.95}})}),e.jsxs(tr,{anchorEl:i,open:u,onClose:h,anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[v.map(g=>g.hidden?null:e.jsxs(be,{dense:!0,onClick:g.action,disabled:g.disabled,children:[g.icon&&e.jsx(g.icon,{color:"action",sx:{marginRight:1}}),e.jsx(a,{sx:{color:"action"},children:g.label})]},g.label)),e.jsx(cs,{endpoint:r,teamDid:l,onDelete:s,projectId:c,children:e.jsxs(be,{dense:!0,disabled:r.protected,children:[e.jsx(tt,{sx:{color:r.protected?"action":"error.main",marginRight:1}}),e.jsx(a,{sx:{color:r.protected?"action":"error.main"},children:x("common.delete")})]})})]}),p&&e.jsx(at,{displayError:!0,title:`${x("common.disconnect")} ${r.appName}`,description:x("blocklet.publish.endpoint.disconnectEndpointTip",{url:r.url}),confirm:x("common.confirm"),onConfirm:j,onCancel:()=>m(!1)})]})}as.propTypes={connectedEndpoint:n.object.isRequired,onDisconnect:n.func,onDelete:n.func,endpoint:n.object.isRequired,teamDid:n.string.isRequired,projectId:n.string};function St({developerUrl:t,developerDid:o,sx:s={},...r}){return e.jsx(Et,{sx:{width:24,height:24,...s},src:ue(new URL(t).origin,F.WELLKNOWN_SERVICE_PATH_PREFIX,`/user/avatar/${o}?imageFilter=resize&w=120&h=120`),...r})}St.propTypes={developerDid:n.string.isRequired,developerUrl:n.string.isRequired,sx:n.object};function ds({endpoint:t,published:o}){const{t:s}=X(),r=()=>{window.open(Uo(`${ue(t.url)}`,{allowDomains:null}))};return e.jsxs(a,{children:[e.jsx(A,{variant:"subtitle2",children:s(o?"blocklet.publish.endpoint.publishToEndpointSuccess":"blocklet.publish.endpoint.uploadToEndpointSuccess",{name:t.appName})}),e.jsx(G,{size:"small",sx:{mt:1},onClick:r,variant:"contained",color:"success",children:s("common.visitTarget",{name:t.appName})})]})}ds.propTypes={endpoint:n.object.isRequired,published:n.bool.isRequired};const uo=ko(({className:t,...o})=>e.jsx(xe,{...o,classes:{popper:t}}))(({theme:t})=>({[`& .${rr.tooltip}`]:{backgroundColor:"#fff",color:"rgba(0, 0, 0, 0.87)",borderRadius:8,padding:t.spacing(2),fontSize:t.typography.pxToRem(12),border:"1px solid rgba(0,0,0,0.08)",boxShadow:"0px 4px 8px rgba(0, 0, 0, 0.05)"}}));function us({teamDid:t,projectId:o="",releaseId:s="",endpoint:r,warningList:l=[],onDelete:c=()=>{},published:i=!1,onPublish:d=()=>{},connectedEndpoint:u=null,onOpenConnectEndpoint:x=()=>{}}){const{t:p}=X(),{api:m}=ke(),[f,b]=k.useState(!1),h=Bo({messageType:"connect-endpoint-message",onOpen:()=>b(!0),onClose:()=>b(!1)}),j=!!u,v=()=>{h(async(y,T)=>{try{const O=await m.connectToEndpoint({input:{did:t,endpointId:r.id,projectId:o}});if(!O?.url){W.error("failed to connect to endpoint");return}T(O.url),await x({did:t,projectId:o,endpointId:r.id}),b(!1)}catch(O){const N=ge(O);W.error(N),b(!1)}})},g=async()=>{try{await m.disconnectFromEndpoint({input:{did:t,endpointId:r.id,projectId:o}}),c()}catch(y){W.error(ge(y))}},C=()=>{b(!0),m.publishToEndpoint({input:{did:t,endpointId:r.id,projectId:o,releaseId:s}}).then(()=>{W.success(e.jsx(ds,{endpoint:r,published:!0}),{duration:1e4}),d?.(null)}).catch(y=>{W.error(ge(y)),d?.(y)}).finally(()=>{b(!1)})};k.useEffect(()=>{j&&b(!1)},[j]);const D=l.length>0,R=e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130,height:"100%"},disabled:D,onClick:C,children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(or,{sx:{marginRight:1,fontSize:20}}),p("common.upload")]});return e.jsxs(a,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",overflow:"hidden",width:"100%"},children:[e.jsxs(a,{sx:{flexShrink:1,display:"flex",flexDirection:"column",overflow:"hidden",flex:1},children:[e.jsx(a,{sx:{display:"flex",flexDirection:"row"},children:e.jsx(A,{component:"span",sx:{fontSize:16,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},variant:"subtitle1",children:r.appName})}),e.jsx(A,{sx:{fontSize:14,opacity:.5,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},component:"span",variant:"inherit",children:`${r.url}`})]}),e.jsxs(a,{sx:{flex:1,display:"flex",flexDirection:"row",justifyContent:"flex-end",alignItems:"center"},children:[u&&e.jsx(uo,{placement:"top",title:e.jsxs(a,{children:[e.jsx(A,{component:"span",variant:"caption",sx:{opacity:.7},children:p("blocklet.publish.developerInfo")}),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center",gap:1,mt:1},children:[e.jsx(St,{developerUrl:r.url,developerDid:u.developerDid,sx:{width:42,height:42}}),e.jsxs(a,{sx:{flex:1},children:[e.jsx(A,{component:"span",variant:"subtitle1",children:u.developerName}),e.jsx(Ct,{size:14,copyable:!0,compact:!0,responsive:!1,did:u.developerDid})]})]})]}),children:e.jsx(a,{children:e.jsx(St,{developerUrl:r.url,developerDid:u.developerDid,sx:{marginRight:1,cursor:"help"}})})}),e.jsxs(et,{disabled:f,variant:"outlined",sx:{height:38},size:"small",children:[!j&&e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130},onClick:v,children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(sr,{sx:{marginRight:1}}),p("common.connect")]}),j&&i&&e.jsxs(G,{disabled:!0,sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130},children:[f?e.jsx(Se,{sx:{marginRight:1},size:16}):e.jsx(Lo,{sx:{marginRight:1}}),p("common.uploaded")]}),j&&!i&&(D?e.jsx(uo,{title:e.jsxs(a,{children:[e.jsx(a,{sx:{color:"error.main",mb:.5},children:p("blocklet.publish.storeRule.warning")}),l.map((y,T)=>e.jsxs(a,{sx:{color:"error.main"},children:[T+1,". ",y]},y))]}),children:e.jsx("div",{children:R})}):R),e.jsx(as,{projectId:o,endpoint:r,teamDid:t,connectedEndpoint:u,onDisconnect:g,onDelete:c})]})]})]})}us.propTypes={teamDid:n.string.isRequired,published:n.bool,connectedEndpoint:n.shape({endpointId:n.string,accessKeyId:n.string,accessKeySecret:n.string,createdBy:n.string,developerDid:n.string,developerName:n.string,developerEmail:n.string}),warningList:n.array,projectId:n.string,releaseId:n.string,endpoint:n.shape({id:n.string.isRequired,appName:n.string,url:n.string.isRequired,endpoint:n.string.isRequired,protected:n.bool,connected:n.bool}).isRequired,onDelete:n.func,onOpenConnectEndpoint:n.func,onPublish:n.func};function ps({releaseId:t,blocklet:o,connectedEndpoints:s,projectId:r,publishedEndpointIds:l=[],onPublish:c=()=>{},onDelete:i=()=>{},warning:d={},onOpenConnectEndpoint:u=()=>{}}){const{actions:{refreshBlocklet:x}}=De(),{session:p}=ze(),{t:m}=X(),f=(o?.settings?.endpointList||[]).filter(v=>v.scope===p?.user?.did),b=k.useMemo(()=>s?.length?s?.reduce((v,g)=>(v[g.endpointId]=g,v),{}):{},[s]),h=o?.meta?.did,j={};return Object.entries(d?.logoErrors||{}).forEach(([v,g])=>{const C=Object.values(g);C.length>0&&(j[v]=C)}),Object.entries(d?.screenshotErrors||{}).forEach(([v,g])=>{const C=Object.values(g);C.length>0&&(j[v]=j[v]?[...j[v],...C]:C)}),e.jsxs(e.Fragment,{children:[!!f?.length&&e.jsx(it,{severity:"info",style:{width:"100%"},children:e.jsx(a,{sx:{color:Do[400]},children:m("blocklet.publish.endpoint.uploadToEndpoint")})}),e.jsx(Io,{sx:{flex:1},children:f?.map(v=>e.jsx($t,{"data-cy":"endpoint-switch",children:e.jsx(Eo,{children:e.jsx(us,{releaseId:t,projectId:r,teamDid:h,warningList:j[v.url],endpoint:v,published:l?.indexOf(v.id)>-1,connectedEndpoint:b[v.id],onPublish:c,onDelete:i,onOpenConnectEndpoint:u})})},v.url))}),e.jsx(is,{teamDid:h,endpointList:f,onAdd:x})]})}ps.propTypes={releaseId:n.string.isRequired,blocklet:n.object.isRequired,projectId:n.string.isRequired,warning:n.object,onPublish:n.func,onOpenConnectEndpoint:n.func,onDelete:n.func,connectedEndpoints:n.arrayOf(n.object).isRequired,publishedEndpointIds:n.arrayOf(n.string)};function hs({did:t,params:o,setParams:s,projectId:r,open:l,onClose:c}){const{t:i}=X(),[d,u]=k.useState(!1),{api:x}=ke(),[p,m]=k.useState(!1),[f,b]=k.useState(!1),h=()=>{m(o.autoUpload),b(o.possibleSameStore),u(!1),c(!1)},j=async()=>{u(!0);try{await x.updateProject({input:{did:t,projectId:r,blockletTitle:o.blockletTitle||"",blockletDescription:o.blockletDescription||"",blockletIntroduction:o.blockletIntroduction||"",autoUpload:!!p,possibleSameStore:!!f}}),s({autoUpload:p,possibleSameStore:f}),c(!1)}catch(g){W.error(g.message)}u(!1)};k.useEffect(()=>{m(o.autoUpload),b(o.possibleSameStore)},[o]);const v=!!(r&&r!==F.UNOWNED_DID);return e.jsx(ct,{title:i("blocklet.publish.projectSettings"),disableEscapeKeyDown:!0,disablePortal:!1,fullWidth:!0,open:l,onClose:h,actions:e.jsxs(e.Fragment,{children:[e.jsx(G,{onClick:g=>{g.stopPropagation(),c()},color:"inherit",children:i("common.cancel")}),v&&e.jsxs(G,{onClick:g=>{g.stopPropagation(),j()},color:"primary","data-cy":"install-blocklet-next-step",disabled:d,variant:"contained",autoFocus:!0,children:[d&&e.jsx(Se,{size:16}),i("common.confirm")]})]}),children:v?e.jsxs(a,{component:"label",sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"ph:upload",sx:{fontSize:24,mr:2}}),e.jsx(A,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.autoUploadTip")}),e.jsx(Le,{checked:p,onChange:(g,C)=>m(C)})]}),e.jsxs(a,{component:"label",sx:{display:"flex",flexDirection:"row",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"fluent-mdl2:merge-duplicate",sx:{fontSize:24,mr:2}}),e.jsx(A,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.possibleSameStoreTip")}),e.jsx(Le,{checked:f,onChange:(g,C)=>b(C)})]})]}):e.jsxs(a,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[e.jsx(a,{component:ae,icon:"ph:empty",sx:{fontSize:40,mb:3,opacity:.6}}),e.jsx(A,{variant:"body1",sx:{flex:1},children:i("blocklet.publish.needProjectId")})]})})}hs.propTypes={did:n.string.isRequired,params:n.object.isRequired,open:n.bool.isRequired,onClose:n.func.isRequired,setParams:n.func.isRequired,projectId:n.string.isRequired};function ms({downloadUrl:t,installUrl:o,handleSetTip:s,isPack:r,disabled:l}){const{t:c}=X(),[i,d]=k.useState(!1),u=k.useRef(null),x=()=>{d(!i)},p=m=>{u.current&&u.current.contains(m.target)||d(!1)};return e.jsxs(e.Fragment,{children:[e.jsx(G,{disabled:l,ref:u,onClick:x,children:e.jsx(a,{component:ae,sx:{fontSize:18},icon:"bxs:download"})}),e.jsx(yo,{sx:{zIndex:10},open:i,anchorEl:u.current,placement:"bottom-end",role:void 0,transition:!0,disablePortal:!0,children:({TransitionProps:m})=>e.jsx(wo,{...m,style:{transformOrigin:"center top"},children:e.jsx(Lt,{children:e.jsx(vo,{onClickAway:p,children:e.jsxs(Co,{id:"split-button-menu",autoFocusItem:!0,sx:{maxHeight:300,overflowY:"auto",zIndex:10},children:[r&&e.jsx(a,{component:"a",href:o,target:"_blank",rel:"noreferrer",sx:{textDecoration:"none"},children:e.jsxs(be,{sx:{color:"#333"},children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"ic:round-install-desktop"}),e.jsx(A,{variant:"inherit",children:c("blocklet.publish.installToThisServer")})]})}),e.jsxs(be,{onClick:s,children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"iconamoon:copy"}),e.jsx(A,{variant:"inherit",children:c("blocklet.publish.copyInstallUrl")})]}),e.jsx(a,{component:"a",href:t,target:"_blank",rel:"noreferrer",sx:{textDecoration:"none"},children:e.jsxs(be,{sx:{color:"#333"},children:[e.jsx(a,{component:ae,sx:{mr:1},icon:"ph:download"}),e.jsx(A,{variant:"inherit",children:c("common.download")})]})})]})})})})})]})}ms.propTypes={disabled:n.bool.isRequired,isPack:n.bool.isRequired,downloadUrl:n.string.isRequired,installUrl:n.string.isRequired,handleSetTip:n.func.isRequired};const po=window.env?.serverEndpoint;function bs({projectId:t,params:o,setParamsErrTip:s,initUrl:r=null,setParams:l,mode:c,loading:i,blocklet:d,release:u=null,releaseId:x,getData:p,getRelease:m,paramsErrTip:f,warning:b,componentDid:h="",resourceRelateComponents:j,disabledSelectComponents:v=!1,saveSelectedEventsRef:g,hasSelectedResources:C,initLogoUrl:D,setLoading:R,clearHistoryParams:y,projectType:T,readOnly:O}){const{t:N,locale:z}=X(),K=[{label:e.jsx(a,{sx:{textAlign:"center",width:"100%"},children:N("blocklet.publish.store")}),value:"store"},{label:e.jsx(a,{sx:{textAlign:"center",width:"100%"},children:N("blocklet.publish.endpoint.tab")}),value:"endpoint"}],[P,$]=k.useState(K[0].value),{api:w}=ke(),S=It(),[Z,H]=k.useState(!1),[Q,E]=k.useState(!1),[I,V]=k.useState(),U=Oe(re=>re.breakpoints.down("md")),ee=k.useMemo(()=>o?.blockletResourceType?o?.blockletResourceType:o?.blockletComponents?.length>0?o?.blockletComponents.find(Ie=>Ie.included)?"resource":"pack":"resource",[o?.blockletComponents,o?.blockletResourceType]),q=()=>{window.parent.postMessage({event:"studioDialog.uploaded",componentDid:h},"*"),m()},Y=async re=>{if(f?.blockletHomepage||f?.blockletSupport||f?.blockletCommunity){W.error(f?.blockletHomepage||f?.blockletSupport||f?.blockletCommunity);return}const Ie=ns({params:o,projectId:t,status:re,t:N});if(Ie){W.error(Ie.map(B=>B.message).join("; ")),s(Ie.reduce((B,te)=>({...B,[te.param]:te.message}),{}));return}const _={...o};if(_.blockletComponents=cn(_.blockletComponents,d,j,v),_.blockletVersion=We.valid(_.blockletVersion),!_.blockletVersion){W.error("Invalid Blocklet Version"),s({blockletVersion:"Invalid Blocklet Version"});return}if(D)try{const B=await un({did:d.meta.did,projectId:t,imageUrl:D});_.blockletLogo=B,l({blockletLogo:B})}catch(B){W.error(B.message);return}if(o.resourceFromSelect){_.uploadedResource="";try{const B=Object.keys(g.current);await st(B.map(te=>()=>{const je=g.current[te];return tn({api:w,locale:z,projectId:t,releaseId:"",appDid:d.meta.did,component:je.component,resources:je.resources,initUrl:r})}),{concurrency:2})}catch(B){W.error(B?.response?.data?.error?.message||B.message),s({blockletResource:"Invalid save the resource"});return}}else o.blockletDocker?.dockerImage||(_.blockletComponents=[]);_.blockletTitle=(_.blockletTitle||"").trim(),_.blockletDescription=(_.blockletDescription||"").trim(),_.blockletSupport=(_.blockletSupport||"").trim(),_.blockletHomepage=(_.blockletHomepage||"").trim(),_.blockletCommunity=(_.blockletCommunity||"").trim(),_.blockletRepository=(_.blockletRepository||"").trim(),_.blockletIntroduction=(_.blockletIntroduction||"").trim(),_.note=(_.note||"").trim(),_.blockletComponents=(_?.blockletComponents||[]).filter(B=>B.included).map(B=>Ot(B,["did","required"])).map(JSON.stringify),_.contentType!=="docker"&&(_.blockletDocker={dockerImage:"",dockerCommand:"",dockerArgs:[],dockerEnvs:[]}),_.blockletDocker.dockerImage=_.blockletDocker.dockerImage||"",_.blockletDocker.dockerArgs.length>0&&_.blockletDocker.dockerArgs.forEach(B=>{B.proxyBehavior=B.proxyBehavior||"service"});try{await w.createRelease({input:{..._,note:JSON.stringify({note:_.note}),did:d.meta.did,projectId:t,releaseId:"",status:re,blockletSingleton:typeof _.blockletSingleton=="boolean"?_.blockletSingleton:!1}}),y(),W.success(N("blocklet.publish.createReleaseSuccess")),window.parent.postMessage({event:"studioDialog.released",componentDid:h},"*"),s({blockletResource:"",blockletTitle:"",blockletDescription:"",blockletVersion:"",blockletLogo:"",projectId:"",blockletIntroduction:"",note:""})}catch(B){const te=ge(B);W.error(te),(/resource/.test(te)||/zip/.test(te))&&s({blockletResource:te});return}const Be=await w.getProject({input:{did:d.meta.did,projectId:t}}),Ae=Be.project.lastReleaseId;o.autoUpload&&await st(Be.project.connectedStores.map(B=>async()=>{try{const te=b.logoErrors[B.storeUrl];if(te){const ye=Object.keys(te).find(Ee=>!!te[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:te[ye]}));return}}const je=b.screenshotErrors[B.storeUrl];if(je){const ye=Object.keys(je).find(Ee=>!!je[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:je[ye]}));return}}const ie=await w.publishToStore({input:{did:d.meta.did,storeId:B.storeId,storeName:B.storeName,projectId:t,releaseId:Ae,type:ee}});W.success(e.jsx(_r,{storeName:B.storeName,storeUrl:B.storeUrl,developerDid:B.developerDid,did:t,published:ie.url==="published",version:_.blockletVersion}),{duration:1e4})}catch(te){W.error(ge(te))}}),{concurrency:4}),q?.(),S(`../${t}/view/${Ae}/${_.blockletVersion}`,{replace:!0})},J=re=>(R(!0),Y(re).finally(()=>{R(!1)})),se=async re=>{await $r(w,re),p()},de=async re=>{await Ar(w,re),p()},le=()=>{E(!0)},pe=ue(po,`/api/project/${d.meta.did}/${t}/${x}/release/blocklet.json`),he=new URL(po);he.pathname=ue(he.pathname,"/launch-blocklet/agreement"),he.searchParams.set("blocklet_meta_url",pe);const Ke=he.href,Ye=()=>V(pe);return e.jsxs(e.Fragment,{children:[e.jsx(hn,{className:"sticky-header",children:e.jsx(Wt,{left:e.jsxs(jo,{className:"breadcrumbs","aria-label":"breadcrumb",children:[e.jsx(we,{to:"../",children:N("common.blockletStudio")}),t===F.UNOWNED_DID?e.jsx(A,{sx:{color:"text.primary"},children:e.jsx(Te,{maxLength:U?6:30,children:o?.blockletTitle||"Blocklet"})}):e.jsx(we,{to:`../${t}`,children:e.jsx(Te,{maxLength:U?6:30,children:o?.blockletTitle||"Blocklet"})}),e.jsx(A,{sx:{color:"text.primary"},children:c==="create"?N("common.create"):o?.blockletVersion||N("common.edit")})]}),actions:e.jsxs(e.Fragment,{children:[!O&&e.jsxs(et,{disabled:i,variant:"contained",children:[e.jsxs(G,{variant:"contained",onClick:()=>J(me.PROJECT.RELEASE_STATUS.published),children:[i&&e.jsx(Se,{size:14,sx:{mr:.5},color:"inherit"}),N("blocklet.publish.createRelease")]}),e.jsx(G,{variant:"contained",onClick:le,children:e.jsx(ae,{icon:"mage:settings-fill",fontSize:"16px"})})]}),O&&e.jsxs(e.Fragment,{children:[e.jsx(lt,{fullWidth:!0,maxWidth:"sm",open:I,onClose:()=>V(""),children:e.jsxs(a,{sx:{py:5,px:4,wordBreak:"break-all"},children:[e.jsx(A,{variant:"h6",sx:{mb:2},children:N("blocklet.publish.installResourceTip")}),e.jsx(zo,{children:I}),e.jsxs(A,{sx:{mt:2},children:[N("blocklet.publish.installResourceTip2"),e.jsx("a",{style:{marginLeft:4},href:"https://www.arcblock.io/docs/blocklet-developer/how-to-use-install-url",target:"_blank",rel:"noreferrer",children:N("blocklet.publish.installResourceHelp")})]})]})}),e.jsxs(et,{disabled:i,variant:"contained",children:[e.jsxs(G,{onClick:()=>H(!0),children:[i?e.jsx(Se,{size:14,sx:{mr:1},color:"inherit"}):e.jsx(nr,{sx:{fontSize:"1.3em",mr:1}}),N(U?"common.upload":"blocklet.publish.connectOrUpload")]}),e.jsx(ms,{isPack:ee==="pack",downloadUrl:ue(`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${d.meta.did}/${t}/${x}/download/${(u?.files||[])[0]}`),installUrl:Ke,handleSetTip:Ye}),e.jsx(G,{onClick:le,children:e.jsx(ae,{icon:"mage:settings-fill",fontSize:"16px"})})]})]})]})})}),e.jsx(ct,{title:N("blocklet.publish.connectOrUpload"),disableEscapeKeyDown:!0,disablePortal:!1,fullWidth:!0,open:Z,onClose:()=>H(!1),children:e.jsxs(a,{children:[e.jsx(a,{sx:{mt:-2,mb:2},children:e.jsx(Wo,{tabs:K,current:P,onChange:$})}),P==="store"&&e.jsx(ls,{projectType:T,blocklet:d,version:o.blockletVersion,releaseType:ee,projectId:t,releaseId:x,componentDid:h,warning:b,onPublish:q,onOpenConnectStore:se,onDelete:p,connectedStores:o.connectedStores||[],publishedStoreIds:u?.publishedStoreIds}),P==="endpoint"&&e.jsx(Re,{sx:{minHeight:400},children:e.jsx(ps,{blocklet:d,releaseType:ee,projectId:t,releaseId:x,warning:b,publishedEndpointIds:[],connectedEndpoints:o.connectedEndpoints||[],onPublish:q,onOpenConnectEndpoint:de,onDelete:p})})]})}),e.jsx(hs,{did:d?.meta?.did,params:o,projectId:t,open:Q,setParams:l,onClose:()=>E(!1)})]})}bs.propTypes={projectId:n.string.isRequired,params:n.object.isRequired,mode:n.string.isRequired,loading:n.bool.isRequired,blocklet:n.object.isRequired,release:n.object,releaseId:n.string.isRequired,getData:n.func.isRequired,getRelease:n.func.isRequired,componentDid:n.string,resourceRelateComponents:n.object.isRequired,disabledSelectComponents:n.bool,saveSelectedEventsRef:n.object.isRequired,hasSelectedResources:n.bool.isRequired,initLogoUrl:n.string.isRequired,setLoading:n.func.isRequired,projectType:n.string.isRequired,setParamsErrTip:n.func.isRequired,warning:n.object.isRequired,setParams:n.func.isRequired,initUrl:n.object,paramsErrTip:n.object.isRequired,clearHistoryParams:n.func.isRequired,readOnly:n.bool.isRequired};const hn=ve.div`
180
180
  .sticky-header {
181
181
  margin-top: -12px;
182
182
  padding: 12px 0;
@@ -190,15 +190,15 @@ import{r as k,u as It,m as rt,L as we,g as xo,i as qs,k as Ns,l as bt}from"./ven
190
190
  padding-bottom: 12px;
191
191
  border-bottom: ${({theme:t})=>`1px solid ${t.palette.divider}`};
192
192
  }
193
- `;function fs({text:t}){const{palette:o}=Po();return t?e.jsx(zr,{style:{backgroundColor:o.background.default,color:o.text.primary},wrapperElement:{"data-color-mode":"light"},source:gr.sanitize(t),rehypePlugins:[[Br,{target:"_blank"}]]}):e.jsx(Je,{Icon:Nt})}fs.propTypes={text:n.string.isRequired};function xs({params:t,setParams:o,paramsErrTip:s,loading:r,setParamsErrTip:l,readOnly:c}){const{t:i}=X(),[d,u]=k.useState(c?"preview":"write"),x=(p,m)=>{u(m)};return e.jsxs(a,{sx:{border:"1px solid transparent",borderRadius:2},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:[e.jsx($,{variant:"h6",sx:{fontWeight:"bold"},children:i("common.introduction")}),e.jsxs(Ao,{value:d,onChange:x,"aria-label":"wrapped label tabs example",children:[e.jsx(ot,{value:"write",label:"Write"}),e.jsx(ot,{value:"preview",label:"Preview"})]})]}),e.jsx(a,{sx:{display:d==="write"?"block":"none",width:"100%",marginTop:3},children:e.jsx(ne,{disabled:r||c,sx:{border:"none"},placeholder:`Blocklet ${i("common.introduction")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,multiline:!0,minRows:4,value:t.blockletIntroduction||"",onChange:p=>{l({blockletIntroduction:""}),o({blockletIntroduction:p.target.value.slice(0,me.PROJECT.MAX_INTRO_LENGTH)})},error:!!s.blockletIntroduction,helperText:s.blockletIntroduction||"",slotProps:{input:{"data-cy":"export-blocklet-introduction",readOnly:c,endAdornment:e.jsxs(Xe,{position:"end",children:[t?.blockletIntroduction?.length||0," / ",me.PROJECT.MAX_INTRO_LENGTH]})}}})}),e.jsx(a,{sx:{display:d==="preview"?"block":"none",mt:3},children:e.jsx(fs,{text:t.blockletIntroduction||""})})]})}xs.propTypes={params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,readOnly:n.bool.isRequired,loading:n.bool.isRequired};function gs({step:t=0,ok:o=!1,active:s=0,error:r="",warning:l=!1}){let c="grey.500",i=t+1;return o&&(i=e.jsx(Lo,{sx:{fontSize:18,margin:0},color:"white"})),r||!o&&s>t?(c="error.main",i=e.jsx(Gt,{sx:{fontSize:18,margin:0},color:"white"})):l?(c="warning.main",i=e.jsx(Gt,{sx:{fontSize:18,margin:0},color:"white"})):s>=t&&(c="primary.main"),e.jsx(a,{sx:{width:24,height:24,bgcolor:c,borderRadius:"100%",color:"white",display:"flex",justifyContent:"center",fontWeight:"bold",fontSize:14,alignItems:"center"},children:i})}gs.propTypes={step:n.number,ok:n.bool,active:n.number,error:n.string,warning:n.bool};function ks({steps:t,activeStep:o,setActiveStep:s,hasSelectedResources:r=!1,params:l,loading:c,paramsErrTip:i,warning:d,viewMode:u="",projectId:x}){const{t:p}=X(),m=()=>{s(j=>j+1)},f=()=>{s(j=>j-1)},b=j=>j===0?i?.blockletTitle||i?.projectId||i?.blockletDescription||i?.blockletHomepage||i?.blockletSupport||i?.blockletCommunity||i?.blockletRepository:j===2?i?.blockletResource||i?.blockletDocker||i?.dockerImageName:j>=4?i?.blockletVersion||i?.note:"",h=u||ns({params:l,projectId:x,t:p})===null;return e.jsxs(a,{sx:{width:300,maxWidth:300,minWidth:300,padding:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[e.jsx(lr,{activeStep:o,orientation:"vertical",children:t.map((j,v)=>{const g={},C=c||!pn({params:l,projectId:x,step:v,t:p}),D=c?"":b(v);return D&&(g.optional=e.jsx($,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:D}),g.error=!0),e.jsxs(ir,{children:[e.jsx(cr,{icon:e.jsx(gs,{error:D,warning:v===0?d.hasWarning:!1,active:h?99:o,step:v,ok:C}),sx:{cursor:"pointer",color:D?"error.main":"inherit"},disabled:!1,onClick:()=>s(v),...g,children:e.jsx($,{fontSize:"14px",fontWeight:"500",color:D||!C&&o>v?"error.main":"inherit",children:j.label})}),e.jsxs(ar,{children:[e.jsx($,{fontSize:12,children:j.description}),!h&&e.jsx(a,{sx:{mb:2},children:e.jsxs("div",{children:[v<t.length-1&&e.jsx(G,{variant:"contained",onClick:m,sx:{mt:1,mr:1},disabled:D||!C,children:p("common.continue")}),v>0&&e.jsx(G,{disabled:v===0,onClick:f,sx:{mt:1,mr:1},children:p("common.back")})]})})]})]},j.label)})}),o>=t.length-1&&e.jsx(Lt,{square:!0,elevation:0,sx:{p:3},children:e.jsx($,{fontSize:12,sx:{opacity:.5},children:"Click right top button to release"})})]})}ks.propTypes={steps:n.array.isRequired,activeStep:n.number.isRequired,setActiveStep:n.func.isRequired,params:n.object.isRequired,viewMode:n.oneOfType([n.string,n.bool]),loading:n.bool.isRequired,projectId:n.string.isRequired,hasSelectedResources:n.oneOfType([n.string,n.bool]),warning:n.object.isRequired,paramsErrTip:n.shape({projectId:n.string,blockletVersion:n.string,blockletTitle:n.string,blockletDescription:n.string,note:n.string,blockletResource:n.string,blockletHomepage:n.string,blockletSupport:n.string,blockletCommunity:n.string,blockletRepository:n.string,blockletDocker:n.object,dockerImageName:n.string}).isRequired};const mn=[".zip",".gz"],bn=1024*1024*100,fn=k.lazy(()=>_o(()=>import("./index-BT70k77_.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>({default:t.Uploader})));function js({app:t,projectId:o,readOnly:s,params:r,setParams:l,setParamsErrTip:c,error:i}){const{t:d,locale:u}=X(),x=k.useRef(null),p=()=>s?!1:!o||o===F.UNOWNED_DID?(W.error(d("blocklet.publish.errorTip.noFirstDid")),!1):!0,m=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${t.meta.did}/${o}/resource/upload`;return e.jsxs(a,{sx:{mt:3},children:[e.jsx($,{gutterBottom:!0,children:d("blocklet.publish.resourceUpload")}),e.jsxs(Re,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1,cursor:s?"default":"pointer"},children:[!!r.uploadedResource&&e.jsx($,{component:"a",href:`${m}/params.uploadedResource`,children:r.uploadedResource}),!s&&e.jsx(G,{variant:"outlined",size:"small",onClick:()=>{p()&&x.current?.open()},children:r.uploadedResource?d("common.change"):d("common.upload")})]}),e.jsx(k.Suspense,{fallback:e.jsx(Ge,{}),children:e.jsx(fn,{ref:x,locale:u,popup:!0,onUploadFinish:f=>{l({uploadedResource:f.data.filename}),c({blockletResource:""}),x.current?.close()},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:m,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileExts:mn,maxFileSize:bn,maxNumberOfFiles:1}}},"uploader-resource")}),!!i&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:i})]})}js.propTypes={app:n.object.isRequired,projectId:n.string.isRequired,readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,error:n.string.isRequired,setParamsErrTip:n.func.isRequired};function Tt({readOnly:t,params:o,setParams:s,paramsErrTip:r,setParamsErrTip:l,loading:c}){const{t:i}=X();return e.jsx(a,{className:"section",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(ne,{required:!0,disabled:c||t,label:`Blocklet ${i("common.version")}`,placeholder:`Blocklet ${i("common.version")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:o.blockletVersion||"",onChange:d=>{l({blockletVersion:""}),s({blockletVersion:d.target.value})},error:!!r.blockletVersion,helperText:r.blockletVersion||"",slotProps:{input:{"data-cy":"blocklet-version",readOnly:t}}}),e.jsx(ne,{label:i("blocklet.publish.releaseNote"),autoComplete:"off",disabled:c||t,variant:"outlined",fullWidth:!0,multiline:!0,minRows:4,required:!0,value:o.note||"",onChange:d=>{l({note:""}),s({note:d.target.value.slice(0,me.PROJECT.MAX_NOTE_LENGTH)})},error:!!r.note,helperText:r.note||"",sx:{mt:3},slotProps:{input:{"data-cy":"release-note",readOnly:t,endAdornment:e.jsxs(Xe,{position:"end",children:[o?.note?.length||0," / ",me.PROJECT.MAX_NOTE_LENGTH]})}}})]})})}Tt.propTypes={readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,loading:n.bool.isRequired};function ys(t){for(const o in t)typeof t[o]=="string"?t[o]=t[o].replace(/\\\\/g,"\\"):typeof t[o]=="object"&&t[o]!==null&&ys(t[o]);return t}var xn=Wr();const oe=xo(xn),gn={"-a":"--attach","-d":"--detach","-e":"--env","-h":"--hostname","-i":"--interactive","-it":"-it","-rm":"-rm","-m":"--memory","-p":"--publish","-P":"--publish-all","-l":"--label","-n":"--name","-q":"--quiet","-x":"--x-registry","-t":"--tty","-u":"--user","-v":"--volume","-w":"--workdir","-cgroupns":"--cgroupns","-cpus":"--cpus","-g":"--gpus","-ip6":"--ip6","--read-only":"--read-only","--add-host":"--add-host","--attach":"--attach","--blkio-weight":"--blkio-weight","--blkio-weight-device":"--blkio-weight-device","--cap-add":"--cap-add","--cap-drop":"--cap-drop","--cgroup-parent":"--cgroup-parent","--cidfile":"--cidfile","--cpu-period":"--cpu-period","--cpu-quota":"--cpu-quota","--cpu-rt-period":"--cpu-rt-period","--cpu-rt-runtime":"--cpu-rt-runtime","--cpu-shares":"--cpu-shares","--cpus":"--cpus","--cpuset-cpus":"--cpuset-cpus","--cpuset-mems":"--cpuset-mems","--detach":"--detach","--detach-keys":"--detach-keys","--device":"--device","--device-cgroup-rule":"--device-cgroup-rule","--device-read-bps":"--device-read-bps","--device-read-iops":"--device-read-iops","--device-write-bps":"--device-write-bps","--device-write-iops":"--device-write-iops","--disable-content-trust":"--disable-content-trust","--dns":"--dns","--dns-opt":"--dns-opt","--dns-search":"--dns-search","--domainname":"--domainname","--entrypoint":"--entrypoint","--env":"--env","--env-file":"--env-file","--expose":"--expose","--gpus":"--gpus","--group-add":"--group-add","--health-cmd":"--health-cmd","--health-interval":"--health-interval","--health-retries":"--health-retries","--health-start-period":"--health-start-period","--health-timeout":"--health-timeout","--help":"--help","--hostname":"--hostname","--init":"--init","--interactive":"--interactive","--ip":"--ip","--ip6":"--ip6","--ipc":"--ipc","--isolation":"--isolation","--kernel-memory":"--kernel-memory","--label":"--label","--label-file":"--label-file","--link":"--link","--link-local-ip":"--link-local-ip","--log-driver":"--log-driver","--log-opt":"--log-opt","--mac-address":"--mac-address","--memory":"--memory","--memory-reservation":"--memory-reservation","--memory-swap":"--memory-swap","--memory-swappiness":"--memory-swappiness","--mount":"--mount","--name":"--name","--network":"--network","--network-alias":"--network-alias","--no-healthcheck":"--no-healthcheck","--oom-kill-disable":"--oom-kill-disable","--oom-score-adj":"--oom-score-adj","--pid":"--pid","--pids-limit":"--pids-limit","--platform":"--platform","--privileged":"--privileged","--publish":"--publish","--publish-all":"--publish-all","--pull":"--pull","--restart":"--restart","--rm":"--rm","--runtime":"--runtime","--security-opt":"--security-opt","--shm-size":"--shm-size","--stop-signal":"--stop-signal","--stop-timeout":"--stop-timeout","--storage-opt":"--storage-opt","--sysctl":"--sysctl","--tmpfs":"--tmpfs","--tty":"--tty","--ulimit":"--ulimit","--user":"--user","--userns":"--userns","--uts":"--uts","--volume":"--volume","--volume-driver":"--volume-driver","--volumes-from":"--volumes-from","--workdir":"--workdir"},Ut={"--env":!0,"--publish":!0,"--volume":!0,"--attach":!0,"--quiet":!0,"--entrypoint":!0,"--workdir":!0,"--cidfile":!0,"--detach-keys":!0,"--disable-content-trust":!0,"--domainname":!0,"--expose":!0,"--ip":!0,"--link-local-ip":!0,"--platform":!0},kn={"--volume":!0,"--publish":!0},jn=new Set(["--publish","--volume"]),ws=t=>{const[o]=t.split(":");return o?.startsWith("/")||o?.startsWith("./")||o?.startsWith("../")||o?.startsWith("~")||o?.startsWith("$BLOCKLET")};function yn(t){return t.map(o=>{if(o.key!=="--volume"||o.value.startsWith("$BLOCKLET_APP_DIR/")||o.value.startsWith("$BLOCKLET_DATA_DIR/"))return o;const[s,...r]=o.value.split(":");if(!s||!ws(o.value))return o;const l=s.startsWith("/")?`$BLOCKLET_DATA_DIR${s}`:`$BLOCKLET_DATA_DIR/${s}`;return{...o,value:[l,...r].join(":")}})}function wn(t){let o=!0;return t.find(r=>r.key==="--publish"&&r.type==="web")?t.map(r=>{if(r.key==="--publish"){const l={...r,type:o?"docker":r.type};return o=r.type==="web",l}return r}):t.map(r=>{if(r.key==="--publish"){const l={...r,type:o?"web":"docker"};return o=!1,l}return r})}function ho(t){if(!t)return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};if(t=t.trim(),t.startsWith("$ docker run")&&(t=t.replace("$ docker run","docker run")),!t.startsWith("docker run"))return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};const s=t.replace(/\\\n/g,"").replace(/\n/g," ").trim().match(/(?:[^\s"']+|'[^']*'|"[^"]*")+/g);if(!s)return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};const r=[],l=[];let c=0,i="",d="";const u=[];for(;c<s.length;){const p=s[c];if(!p){c++;continue}if(p==="docker"||p==="run"){c++;continue}if((p==="-e"||p==="--env")&&c+1<s.length){const m=s[c+1]||"",[f,...b]=m.split("=");if(f){const h=b.join("=").replace(/^['"]|['"]$/g,"");l.push({key:f,value:h})}c+=2;continue}if(p.startsWith("-")&&u.length===0){const m=p.indexOf("=");let f=p,b=null;m!==-1&&(f=p.substring(0,m),b=p.substring(m+1).replace(/^['"]|['"]$/g,""));const h=gn[f];if(!h){c+=2;continue}if(h==="--publish"){let j="";if(b)j=b,r.push({key:h,value:j});else if(c+1<s.length&&!(s[c+1]||"").startsWith("-")){j=(s[c+1]||"").replace(/^['"]|['"]$/g,""),r.push({key:h,value:j}),c+=2;continue}else{r.push({key:h,value:"true"}),c++;continue}c++;continue}if(b!==null){r.push({key:h,value:b}),c++;continue}else if(c+1<s.length&&!(s[c+1]||"").startsWith("-")){const j=(s[c+1]||"").replace(/^['"]|['"]$/g,"");r.push({key:h,value:j}),c+=2;continue}else{r.push({key:h,value:"true"}),c++;continue}}u.push(p),c++}i=u[0]||"",d=u.slice(1).join(" ");const x=[];for(const p of r)p.name="",p.path="",p.prefix="",p.protocol="",p.proxyBehavior="service",p.type="docker",!(jn.has(p.key)&&p.value==="true")&&x.push(p);for(const p of l)p.custom="",p.description="",p.secure=!1,p.shared=!1,p.required=!1;return{dockerArgs:wn(yn(x)),dockerEnvs:l,dockerImage:i,dockerCommand:d}}function vn({dockerArgs:t,dockerEnvs:o,dockerImage:s,dockerCommand:r}){if(t.length===0&&o.length===0&&!s)return"";const l=["docker run \\"],c=new Set(["--publish","--volume","--expose","--device","--mount","--label","--cap-add","--cap-drop","--add-host","--dns","--network-alias","--sysctl","--ulimit","--network"]);for(const i of t){const{key:d,value:u}=i;if(c.has(d))if(u==="true")l.push(` ${d} \\`);else{const x=/[\s"']/g.test(u)?`"${u}"`:u;l.push(` ${d} ${x} \\`)}else if(!l.some(x=>x.startsWith(` ${d}`)))if(u==="true")l.push(` ${d} \\`);else{const x=/[\s"']/g.test(u)?`"${u}"`:u;l.push(` ${d} ${x} \\`)}}for(const i of o){const{key:d,value:u}=i,x=/["']/g.test(u)?u:`"${u}"`;l.push(` -e ${d}=${x} \\`)}return s&&l.push(` ${s} \\`),r&&l.push(` ${r} \\`),l[l.length-1]?.endsWith(" \\")&&(l[l.length-1]=(l[l.length-1]||"").slice(0,-2)),l.join(`
194
- `)}const vs={"--volume":t=>{const[o]=t.split(":");return o?ws(t)&&!t.startsWith("$BLOCKLET_APP_DIR/")&&!t.startsWith("$BLOCKLET_DATA_DIR/")?"Volume must start with $BLOCKLET_APP_DIR or $BLOCKLET_DATA_DIR":t.indexOf("..")>-1?'Volume cannot contain ".."':"":"Volume must start with key:value"}},Qe=t=>t.replace(/^[-]+/,"").replace(/-([a-z])/g,(r,l)=>l.toUpperCase()),Cn=t=>`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`,Rn=[" -- ","~","&","|",">","<","{","}","[","]",";","$","!","*","%","&&","||",","],Sn=["rm ","sudo "];function Cs(t){if(t==="")return;if(/(\n|\\n|\\\n|\t|\\t|\\\t)/.test(t))throw new Error("Docker CMD is invalid");const s=t.toLocaleLowerCase();if(Sn.some(l=>s.indexOf(l)!==-1))throw new Error("Docker CMD is invalid");if(Rn.some(l=>t.indexOf(l)!==-1))throw new Error("Docker CMD is invalid");if(!/^(?:(?:[a-zA-Z0-9\-_.\/:=\s]+)|(?:\@{1,2}[a-zA-Z_][a-zA-Z0-9_]*))+$/.test(t))throw new Error("Docker CMD is invalid")}const Tn=Array.from(new Set(Object.keys(Ut).map(Qe))),Dn=["publish","volume"];oe.object({workdir:oe.string().trim().optional(),image:oe.string().trim().regex(/^[^\s]+$/).optional(),shell:oe.string().trim().optional(),volumes:oe.array().items(oe.string().trim()).optional(),script:oe.string().trim().optional(),installNodeModules:oe.boolean().optional(),skipWrapDockerfile:oe.boolean().optional(),command:oe.string().allow("").default("").optional().custom((t,o)=>{try{return Cs(t),t}catch(s){return o.error("any.invalid",{message:s.message})}},"Docker CMD validation"),runBaseScript:oe.boolean().optional(),...Tn.reduce((t,o)=>{const s=vs[Cn(o)];return Dn.includes(o)?(t[o]=oe.array().items(oe.string().trim()).optional(),s?t[o]=oe.array().items(oe.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r})).optional():t[o]=oe.array().items(oe.string().trim()).optional(),t):(s?t[o]=oe.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r}).optional():t[o]=oe.string().trim().optional(),t)},{})}).optional();function Dt({index:t,item:o,dockerParams:s,setDockerParams:r,dataKey:l,t:c,readOnly:i}){const d=o?.value||"",[u,x]=k.useState(!1),p=()=>{s[l]?.splice(t,1),r({...s,[l]:[...s[l]]})},m=(P,A)=>{s[l]?.[t]&&(A?(s[l][t].custom=s[l][t].value,s[l][t].value=`$${Qe(o.key)}`):(s[l][t].value=s[l][t].custom||"",s[l][t].custom="")),r({...s,[l]:[...s[l]]})},f=(P,A)=>{const w=s[l][t]?.value||"";s[l][t]={...s[l][t],secure:A,value:A&&w===me.BLOCKLET_AUTOMATIC_ENV_VALUE?"":w},r({...s,[l]:[...s[l]]})},b=(P,A)=>{s[l][t]={...s[l][t],shared:A},r({...s,[l]:[...s[l]]})},h=(P,A)=>{const w=s[l][t]?.value||"";s[l][t]={...s[l][t],required:A,value:A&&w===me.BLOCKLET_AUTOMATIC_ENV_VALUE?"":w},r({...s,[l]:[...s[l]]})},j=(P,A)=>{s[l][t]={...s[l][t],value:A?me.BLOCKLET_AUTOMATIC_ENV_VALUE:"",secure:!1,required:!1},r({...s,[l]:[...s[l]]})},v=P=>{s[l][t]={...s[l][t],description:P.target.value},r({...s,[l]:[...s[l]]})},g=P=>{const A=P.target.value==="web"?"web":"docker";A==="web"&&s.dockerArgs.forEach(Y=>{Y.type="docker"});const S=`/${s.dockerImage.replace(/\W/g,"-")}-${t}`;s.dockerArgs[t]={...s.dockerArgs[t],type:A,path:A==="docker"?S:"/",protocol:"http",prefix:A==="docker"?S:"/",name:"publicUrl",port:"BLOCKLET_PORT"},r({...s,dockerArgs:[...s.dockerArgs]})},C=P=>{s.dockerArgs[t]={...s.dockerArgs[t],proxyBehavior:P.target.value==="direct"?"direct":"service"},r({...s,dockerArgs:[...s.dockerArgs]})},D=P=>{const A=P.target.value;s[l][t]={...s[l][t],prefix:A,path:A==="*"?"/":A},r({...s,[l]:[...s[l]]})},R=P=>{s[l]?.[t]&&(s[l][t].value=P.target.value),r({...s,[l]:[...s[l]]})},y=d===`$${Qe(o.key)}`||o.custom,T=l==="dockerArgs"&&!Ut[o.key],O=kn[o.key],N=l==="dockerEnvs",z=o.key==="--publish";let K=o.key;return z&&o.type==="web"?K="--publish (Web)":N&&(K=`--env ${o.key}`),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{width:250},children:e.jsx($,{sx:{textOverflow:"ellipsis",width:"100%",overflow:"hidden"},children:K})}),e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:1,flex:1},children:[e.jsx(ne,{disabled:i||y||T||o.value===me.BLOCKLET_AUTOMATIC_ENV_VALUE,placeholder:"",value:y?`$${Qe(o.key)}`:d,sx:{flex:1},error:T,onChange:R,slotProps:{input:{endAdornment:e.jsxs(Xe,{position:"end",sx:{zoom:.9},children:[(!(O||T)||N||z)&&e.jsx(ce,{onClick:()=>x(!0),children:e.jsx(ae,{icon:"icon-park-outline:setting-config"})}),!i&&e.jsx(ce,{onClick:p,color:T?"error":"default",children:e.jsx(ae,{icon:"ic:round-delete"})})]})}}}),T&&e.jsx($,{variant:"caption",color:"error",children:c("blocklet.publish.docker.noAllowTheArg")}),o.key==="--publish"&&e.jsx($,{variant:"caption",sx:{color:"text.secondary"},children:c("blocklet.publish.docker.publishTips")}),o.key==="--volume"&&vs[o.key](d)&&e.jsx($,{variant:"caption",color:"error",children:c("blocklet.publish.docker.volumeTips")})]}),u&&e.jsx(ct,{open:!0,fullWidth:!0,maxWidth:"sm",PaperProps:{style:{minHeight:0}},title:c(N?"blocklet.publish.docker.modifyEnv":"blocklet.publish.docker.modifyParam"),onClose:()=>x(!1),children:e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:1,paddingBottom:2},children:[O||T||N?null:e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{children:c("blocklet.publish.docker.needCustomInput")}),e.jsx(Le,{disabled:i,checked:y,onChange:m,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{children:c("blocklet.publish.docker.shared")}),e.jsx(Le,{disabled:i,checked:o.shared,onChange:b,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{children:c("blocklet.publish.docker.required")}),e.jsx(Le,{disabled:i,checked:o.required,onChange:h,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{children:c("blocklet.publish.docker.secure")}),e.jsx(Le,{disabled:i,checked:o.secure,onChange:f,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{children:c("blocklet.publish.docker.autoGenerated")}),e.jsx(Le,{disabled:i,checked:o.value===me.BLOCKLET_AUTOMATIC_ENV_VALUE,onChange:j,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{sx:{flex:1},children:c("blocklet.publish.docker.description")}),e.jsx(ne,{disabled:i,value:o.description,onChange:v,sx:{flex:1},label:c("blocklet.publish.docker.description")})]}),z&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{sx:{flex:1},children:c("blocklet.publish.docker.portType")}),e.jsxs(vt,{value:o.type||"docker",onChange:g,children:[e.jsx(be,{value:"docker",children:"Docker"}),e.jsx(be,{value:"web",children:"Web"})]})]}),z&&o.type==="web"&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{sx:{flex:1},children:c("blocklet.publish.docker.proxyBehavior")}),e.jsxs(vt,{value:o.proxyBehavior||"service",onChange:C,children:[e.jsx(be,{value:"service",children:c("blocklet.publish.docker.serviceProxy")}),e.jsx(be,{value:"direct",children:c("blocklet.publish.docker.directProxy")})]})]}),z&&o.type==="web"&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx($,{sx:{flex:1},children:c("blocklet.publish.docker.prefix")}),e.jsx(ne,{disabled:i,value:o.prefix,onChange:D,sx:{flex:1},label:c("blocklet.publish.docker.prefix")})]})]})})]})}Dt.propTypes={dockerParams:n.object.isRequired,setDockerParams:n.func.isRequired,dataKey:n.string.isRequired,item:n.object.isRequired,t:n.func.isRequired,readOnly:n.bool.isRequired,index:n.number.isRequired};const In=`
193
+ `;function fs({text:t}){const{palette:o}=Po();return t?e.jsx(zr,{style:{backgroundColor:o.background.default,color:o.text.primary},wrapperElement:{"data-color-mode":"light"},source:gr.sanitize(t),rehypePlugins:[[Br,{target:"_blank"}]]}):e.jsx(Je,{Icon:Nt})}fs.propTypes={text:n.string.isRequired};function xs({params:t,setParams:o,paramsErrTip:s,loading:r,setParamsErrTip:l,readOnly:c}){const{t:i}=X(),[d,u]=k.useState(c?"preview":"write"),x=(p,m)=>{u(m)};return e.jsxs(a,{sx:{border:"1px solid transparent",borderRadius:2},children:[e.jsxs(a,{sx:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},children:[e.jsx(A,{variant:"h6",sx:{fontWeight:"bold"},children:i("common.introduction")}),e.jsxs($o,{value:d,onChange:x,"aria-label":"wrapped label tabs example",children:[e.jsx(ot,{value:"write",label:"Write"}),e.jsx(ot,{value:"preview",label:"Preview"})]})]}),e.jsx(a,{sx:{display:d==="write"?"block":"none",width:"100%",marginTop:3},children:e.jsx(ne,{disabled:r||c,sx:{border:"none"},placeholder:`Blocklet ${i("common.introduction")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,multiline:!0,minRows:4,value:t.blockletIntroduction||"",onChange:p=>{l({blockletIntroduction:""}),o({blockletIntroduction:p.target.value.slice(0,me.PROJECT.MAX_INTRO_LENGTH)})},error:!!s.blockletIntroduction,helperText:s.blockletIntroduction||"",slotProps:{input:{"data-cy":"export-blocklet-introduction",readOnly:c,endAdornment:e.jsxs(Xe,{position:"end",children:[t?.blockletIntroduction?.length||0," / ",me.PROJECT.MAX_INTRO_LENGTH]})}}})}),e.jsx(a,{sx:{display:d==="preview"?"block":"none",mt:3},children:e.jsx(fs,{text:t.blockletIntroduction||""})})]})}xs.propTypes={params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,readOnly:n.bool.isRequired,loading:n.bool.isRequired};function gs({step:t=0,ok:o=!1,active:s=0,error:r="",warning:l=!1}){let c="grey.500",i=t+1;return o&&(i=e.jsx(Lo,{sx:{fontSize:18,margin:0},color:"white"})),r||!o&&s>t?(c="error.main",i=e.jsx(Gt,{sx:{fontSize:18,margin:0},color:"white"})):l?(c="warning.main",i=e.jsx(Gt,{sx:{fontSize:18,margin:0},color:"white"})):s>=t&&(c="primary.main"),e.jsx(a,{sx:{width:24,height:24,bgcolor:c,borderRadius:"100%",color:"white",display:"flex",justifyContent:"center",fontWeight:"bold",fontSize:14,alignItems:"center"},children:i})}gs.propTypes={step:n.number,ok:n.bool,active:n.number,error:n.string,warning:n.bool};function ks({steps:t,activeStep:o,setActiveStep:s,hasSelectedResources:r=!1,params:l,loading:c,paramsErrTip:i,warning:d,viewMode:u="",projectId:x}){const{t:p}=X(),m=()=>{s(j=>j+1)},f=()=>{s(j=>j-1)},b=j=>j===0?i?.blockletTitle||i?.projectId||i?.blockletDescription||i?.blockletHomepage||i?.blockletSupport||i?.blockletCommunity||i?.blockletRepository:j===2?i?.blockletResource||i?.blockletDocker||i?.dockerImageName:j>=4?i?.blockletVersion||i?.note:"",h=u||ns({params:l,projectId:x,t:p})===null;return e.jsxs(a,{sx:{width:300,maxWidth:300,minWidth:300,padding:2,border:"1px solid",borderColor:"divider",borderRadius:1},children:[e.jsx(lr,{activeStep:o,orientation:"vertical",children:t.map((j,v)=>{const g={},C=c||!pn({params:l,projectId:x,step:v,t:p}),D=c?"":b(v);return D&&(g.optional=e.jsx(A,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:D}),g.error=!0),e.jsxs(ir,{children:[e.jsx(cr,{icon:e.jsx(gs,{error:D,warning:v===0?d.hasWarning:!1,active:h?99:o,step:v,ok:C}),sx:{cursor:"pointer",color:D?"error.main":"inherit"},disabled:!1,onClick:()=>s(v),...g,children:e.jsx(A,{fontSize:"14px",fontWeight:"500",color:D||!C&&o>v?"error.main":"inherit",children:j.label})}),e.jsxs(ar,{children:[e.jsx(A,{fontSize:12,children:j.description}),!h&&e.jsx(a,{sx:{mb:2},children:e.jsxs("div",{children:[v<t.length-1&&e.jsx(G,{variant:"contained",onClick:m,sx:{mt:1,mr:1},disabled:D||!C,children:p("common.continue")}),v>0&&e.jsx(G,{disabled:v===0,onClick:f,sx:{mt:1,mr:1},children:p("common.back")})]})})]})]},j.label)})}),o>=t.length-1&&e.jsx(Lt,{square:!0,elevation:0,sx:{p:3},children:e.jsx(A,{fontSize:12,sx:{opacity:.5},children:"Click right top button to release"})})]})}ks.propTypes={steps:n.array.isRequired,activeStep:n.number.isRequired,setActiveStep:n.func.isRequired,params:n.object.isRequired,viewMode:n.oneOfType([n.string,n.bool]),loading:n.bool.isRequired,projectId:n.string.isRequired,hasSelectedResources:n.oneOfType([n.string,n.bool]),warning:n.object.isRequired,paramsErrTip:n.shape({projectId:n.string,blockletVersion:n.string,blockletTitle:n.string,blockletDescription:n.string,note:n.string,blockletResource:n.string,blockletHomepage:n.string,blockletSupport:n.string,blockletCommunity:n.string,blockletRepository:n.string,blockletDocker:n.object,dockerImageName:n.string}).isRequired};const mn=[".zip",".gz"],bn=1024*1024*100,fn=k.lazy(()=>_o(()=>import("./index-CmDzr29Q.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>({default:t.Uploader})));function js({app:t,projectId:o,readOnly:s,params:r,setParams:l,setParamsErrTip:c,error:i}){const{t:d,locale:u}=X(),x=k.useRef(null),p=()=>s?!1:!o||o===F.UNOWNED_DID?(W.error(d("blocklet.publish.errorTip.noFirstDid")),!1):!0,m=`${F.WELLKNOWN_SERVICE_PATH_PREFIX}/api/project/${t.meta.did}/${o}/resource/upload`;return e.jsxs(a,{sx:{mt:3},children:[e.jsx(A,{gutterBottom:!0,children:d("blocklet.publish.resourceUpload")}),e.jsxs(Re,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1,cursor:s?"default":"pointer"},children:[!!r.uploadedResource&&e.jsx(A,{component:"a",href:`${m}/params.uploadedResource`,children:r.uploadedResource}),!s&&e.jsx(G,{variant:"outlined",size:"small",onClick:()=>{p()&&x.current?.open()},children:r.uploadedResource?d("common.change"):d("common.upload")})]}),e.jsx(k.Suspense,{fallback:e.jsx(Ge,{}),children:e.jsx(fn,{ref:x,locale:u,popup:!0,onUploadFinish:f=>{l({uploadedResource:f.data.filename}),c({blockletResource:""}),x.current?.close()},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:m,disableMediaKitPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileExts:mn,maxFileSize:bn,maxNumberOfFiles:1}}},"uploader-resource")}),!!i&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:i})]})}js.propTypes={app:n.object.isRequired,projectId:n.string.isRequired,readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,error:n.string.isRequired,setParamsErrTip:n.func.isRequired};function Tt({readOnly:t,params:o,setParams:s,paramsErrTip:r,setParamsErrTip:l,loading:c}){const{t:i}=X();return e.jsx(a,{className:"section",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(ne,{required:!0,disabled:c||t,label:`Blocklet ${i("common.version")}`,placeholder:`Blocklet ${i("common.version")}`,autoComplete:"off",variant:"outlined",fullWidth:!0,value:o.blockletVersion||"",onChange:d=>{l({blockletVersion:""}),s({blockletVersion:d.target.value})},error:!!r.blockletVersion,helperText:r.blockletVersion||"",slotProps:{input:{"data-cy":"blocklet-version",readOnly:t}}}),e.jsx(ne,{label:i("blocklet.publish.releaseNote"),autoComplete:"off",disabled:c||t,variant:"outlined",fullWidth:!0,multiline:!0,minRows:4,required:!0,value:o.note||"",onChange:d=>{l({note:""}),s({note:d.target.value.slice(0,me.PROJECT.MAX_NOTE_LENGTH)})},error:!!r.note,helperText:r.note||"",sx:{mt:3},slotProps:{input:{"data-cy":"release-note",readOnly:t,endAdornment:e.jsxs(Xe,{position:"end",children:[o?.note?.length||0," / ",me.PROJECT.MAX_NOTE_LENGTH]})}}})]})})}Tt.propTypes={readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,paramsErrTip:n.object.isRequired,setParamsErrTip:n.func.isRequired,loading:n.bool.isRequired};function ys(t){for(const o in t)typeof t[o]=="string"?t[o]=t[o].replace(/\\\\/g,"\\"):typeof t[o]=="object"&&t[o]!==null&&ys(t[o]);return t}var xn=Wr();const oe=xo(xn),gn={"-a":"--attach","-d":"--detach","-e":"--env","-h":"--hostname","-i":"--interactive","-it":"-it","-rm":"-rm","-m":"--memory","-p":"--publish","-P":"--publish-all","-l":"--label","-n":"--name","-q":"--quiet","-x":"--x-registry","-t":"--tty","-u":"--user","-v":"--volume","-w":"--workdir","-cgroupns":"--cgroupns","-cpus":"--cpus","-g":"--gpus","-ip6":"--ip6","--read-only":"--read-only","--add-host":"--add-host","--attach":"--attach","--blkio-weight":"--blkio-weight","--blkio-weight-device":"--blkio-weight-device","--cap-add":"--cap-add","--cap-drop":"--cap-drop","--cgroup-parent":"--cgroup-parent","--cidfile":"--cidfile","--cpu-period":"--cpu-period","--cpu-quota":"--cpu-quota","--cpu-rt-period":"--cpu-rt-period","--cpu-rt-runtime":"--cpu-rt-runtime","--cpu-shares":"--cpu-shares","--cpus":"--cpus","--cpuset-cpus":"--cpuset-cpus","--cpuset-mems":"--cpuset-mems","--detach":"--detach","--detach-keys":"--detach-keys","--device":"--device","--device-cgroup-rule":"--device-cgroup-rule","--device-read-bps":"--device-read-bps","--device-read-iops":"--device-read-iops","--device-write-bps":"--device-write-bps","--device-write-iops":"--device-write-iops","--disable-content-trust":"--disable-content-trust","--dns":"--dns","--dns-opt":"--dns-opt","--dns-search":"--dns-search","--domainname":"--domainname","--entrypoint":"--entrypoint","--env":"--env","--env-file":"--env-file","--expose":"--expose","--gpus":"--gpus","--group-add":"--group-add","--health-cmd":"--health-cmd","--health-interval":"--health-interval","--health-retries":"--health-retries","--health-start-period":"--health-start-period","--health-timeout":"--health-timeout","--help":"--help","--hostname":"--hostname","--init":"--init","--interactive":"--interactive","--ip":"--ip","--ip6":"--ip6","--ipc":"--ipc","--isolation":"--isolation","--kernel-memory":"--kernel-memory","--label":"--label","--label-file":"--label-file","--link":"--link","--link-local-ip":"--link-local-ip","--log-driver":"--log-driver","--log-opt":"--log-opt","--mac-address":"--mac-address","--memory":"--memory","--memory-reservation":"--memory-reservation","--memory-swap":"--memory-swap","--memory-swappiness":"--memory-swappiness","--mount":"--mount","--name":"--name","--network":"--network","--network-alias":"--network-alias","--no-healthcheck":"--no-healthcheck","--oom-kill-disable":"--oom-kill-disable","--oom-score-adj":"--oom-score-adj","--pid":"--pid","--pids-limit":"--pids-limit","--platform":"--platform","--privileged":"--privileged","--publish":"--publish","--publish-all":"--publish-all","--pull":"--pull","--restart":"--restart","--rm":"--rm","--runtime":"--runtime","--security-opt":"--security-opt","--shm-size":"--shm-size","--stop-signal":"--stop-signal","--stop-timeout":"--stop-timeout","--storage-opt":"--storage-opt","--sysctl":"--sysctl","--tmpfs":"--tmpfs","--tty":"--tty","--ulimit":"--ulimit","--user":"--user","--userns":"--userns","--uts":"--uts","--volume":"--volume","--volume-driver":"--volume-driver","--volumes-from":"--volumes-from","--workdir":"--workdir"},Ut={"--env":!0,"--publish":!0,"--volume":!0,"--attach":!0,"--quiet":!0,"--entrypoint":!0,"--workdir":!0,"--cidfile":!0,"--detach-keys":!0,"--disable-content-trust":!0,"--domainname":!0,"--expose":!0,"--ip":!0,"--link-local-ip":!0,"--platform":!0},kn={"--volume":!0,"--publish":!0},jn=new Set(["--publish","--volume"]),ws=t=>{const[o]=t.split(":");return o?.startsWith("/")||o?.startsWith("./")||o?.startsWith("../")||o?.startsWith("~")||o?.startsWith("$BLOCKLET")};function yn(t){return t.map(o=>{if(o.key!=="--volume"||o.value.startsWith("$BLOCKLET_APP_DIR/")||o.value.startsWith("$BLOCKLET_DATA_DIR/"))return o;const[s,...r]=o.value.split(":");if(!s||!ws(o.value))return o;const l=s.startsWith("/")?`$BLOCKLET_DATA_DIR${s}`:`$BLOCKLET_DATA_DIR/${s}`;return{...o,value:[l,...r].join(":")}})}function wn(t){let o=!0;return t.find(r=>r.key==="--publish"&&r.type==="web")?t.map(r=>{if(r.key==="--publish"){const l={...r,type:o?"docker":r.type};return o=r.type==="web",l}return r}):t.map(r=>{if(r.key==="--publish"){const l={...r,type:o?"web":"docker"};return o=!1,l}return r})}function ho(t){if(!t)return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};if(t=t.trim(),t.startsWith("$ docker run")&&(t=t.replace("$ docker run","docker run")),!t.startsWith("docker run"))return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};const s=t.replace(/\\\n/g,"").replace(/\n/g," ").trim().match(/(?:[^\s"']+|'[^']*'|"[^"]*")+/g);if(!s)return{dockerArgs:[],dockerEnvs:[],dockerImage:"",dockerCommand:""};const r=[],l=[];let c=0,i="",d="";const u=[];for(;c<s.length;){const p=s[c];if(!p){c++;continue}if(p==="docker"||p==="run"){c++;continue}if((p==="-e"||p==="--env")&&c+1<s.length){const m=s[c+1]||"",[f,...b]=m.split("=");if(f){const h=b.join("=").replace(/^['"]|['"]$/g,"");l.push({key:f,value:h})}c+=2;continue}if(p.startsWith("-")&&u.length===0){const m=p.indexOf("=");let f=p,b=null;m!==-1&&(f=p.substring(0,m),b=p.substring(m+1).replace(/^['"]|['"]$/g,""));const h=gn[f];if(!h){c+=2;continue}if(h==="--publish"){let j="";if(b)j=b,r.push({key:h,value:j});else if(c+1<s.length&&!(s[c+1]||"").startsWith("-")){j=(s[c+1]||"").replace(/^['"]|['"]$/g,""),r.push({key:h,value:j}),c+=2;continue}else{r.push({key:h,value:"true"}),c++;continue}c++;continue}if(b!==null){r.push({key:h,value:b}),c++;continue}else if(c+1<s.length&&!(s[c+1]||"").startsWith("-")){const j=(s[c+1]||"").replace(/^['"]|['"]$/g,"");r.push({key:h,value:j}),c+=2;continue}else{r.push({key:h,value:"true"}),c++;continue}}u.push(p),c++}i=u[0]||"",d=u.slice(1).join(" ");const x=[];for(const p of r)p.name="",p.path="",p.prefix="",p.protocol="",p.proxyBehavior="service",p.type="docker",!(jn.has(p.key)&&p.value==="true")&&x.push(p);for(const p of l)p.custom="",p.description="",p.secure=!1,p.shared=!1,p.required=!1;return{dockerArgs:wn(yn(x)),dockerEnvs:l,dockerImage:i,dockerCommand:d}}function vn({dockerArgs:t,dockerEnvs:o,dockerImage:s,dockerCommand:r}){if(t.length===0&&o.length===0&&!s)return"";const l=["docker run \\"],c=new Set(["--publish","--volume","--expose","--device","--mount","--label","--cap-add","--cap-drop","--add-host","--dns","--network-alias","--sysctl","--ulimit","--network"]);for(const i of t){const{key:d,value:u}=i;if(c.has(d))if(u==="true")l.push(` ${d} \\`);else{const x=/[\s"']/g.test(u)?`"${u}"`:u;l.push(` ${d} ${x} \\`)}else if(!l.some(x=>x.startsWith(` ${d}`)))if(u==="true")l.push(` ${d} \\`);else{const x=/[\s"']/g.test(u)?`"${u}"`:u;l.push(` ${d} ${x} \\`)}}for(const i of o){const{key:d,value:u}=i,x=/["']/g.test(u)?u:`"${u}"`;l.push(` -e ${d}=${x} \\`)}return s&&l.push(` ${s} \\`),r&&l.push(` ${r} \\`),l[l.length-1]?.endsWith(" \\")&&(l[l.length-1]=(l[l.length-1]||"").slice(0,-2)),l.join(`
194
+ `)}const vs={"--volume":t=>{const[o]=t.split(":");return o?ws(t)&&!t.startsWith("$BLOCKLET_APP_DIR/")&&!t.startsWith("$BLOCKLET_DATA_DIR/")?"Volume must start with $BLOCKLET_APP_DIR or $BLOCKLET_DATA_DIR":t.indexOf("..")>-1?'Volume cannot contain ".."':"":"Volume must start with key:value"}},Qe=t=>t.replace(/^[-]+/,"").replace(/-([a-z])/g,(r,l)=>l.toUpperCase()),Cn=t=>`--${t.replace(/([A-Z])/g,"-$1").toLowerCase()}`,Rn=[" -- ","~","&","|",">","<","{","}","[","]",";","$","!","*","%","&&","||",","],Sn=["rm ","sudo "];function Cs(t){if(t==="")return;if(/(\n|\\n|\\\n|\t|\\t|\\\t)/.test(t))throw new Error("Docker CMD is invalid");const s=t.toLocaleLowerCase();if(Sn.some(l=>s.indexOf(l)!==-1))throw new Error("Docker CMD is invalid");if(Rn.some(l=>t.indexOf(l)!==-1))throw new Error("Docker CMD is invalid");if(!/^(?:(?:[a-zA-Z0-9\-_.\/:=\s]+)|(?:\@{1,2}[a-zA-Z_][a-zA-Z0-9_]*))+$/.test(t))throw new Error("Docker CMD is invalid")}const Tn=Array.from(new Set(Object.keys(Ut).map(Qe))),Dn=["publish","volume"];oe.object({workdir:oe.string().trim().optional(),image:oe.string().trim().regex(/^[^\s]+$/).optional(),shell:oe.string().trim().optional(),volumes:oe.array().items(oe.string().trim()).optional(),script:oe.string().trim().optional(),installNodeModules:oe.boolean().optional(),skipWrapDockerfile:oe.boolean().optional(),command:oe.string().allow("").default("").optional().custom((t,o)=>{try{return Cs(t),t}catch(s){return o.error("any.invalid",{message:s.message})}},"Docker CMD validation"),runBaseScript:oe.boolean().optional(),...Tn.reduce((t,o)=>{const s=vs[Cn(o)];return Dn.includes(o)?(t[o]=oe.array().items(oe.string().trim()).optional(),s?t[o]=oe.array().items(oe.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r})).optional():t[o]=oe.array().items(oe.string().trim()).optional(),t):(s?t[o]=oe.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r}).optional():t[o]=oe.string().trim().optional(),t)},{})}).optional();function Dt({index:t,item:o,dockerParams:s,setDockerParams:r,dataKey:l,t:c,readOnly:i}){const d=o?.value||"",[u,x]=k.useState(!1),p=()=>{s[l]?.splice(t,1),r({...s,[l]:[...s[l]]})},m=(P,$)=>{s[l]?.[t]&&($?(s[l][t].custom=s[l][t].value,s[l][t].value=`$${Qe(o.key)}`):(s[l][t].value=s[l][t].custom||"",s[l][t].custom="")),r({...s,[l]:[...s[l]]})},f=(P,$)=>{const w=s[l][t]?.value||"";s[l][t]={...s[l][t],secure:$,value:$&&w===me.BLOCKLET_AUTOMATIC_ENV_VALUE?"":w},r({...s,[l]:[...s[l]]})},b=(P,$)=>{s[l][t]={...s[l][t],shared:$},r({...s,[l]:[...s[l]]})},h=(P,$)=>{const w=s[l][t]?.value||"";s[l][t]={...s[l][t],required:$,value:$&&w===me.BLOCKLET_AUTOMATIC_ENV_VALUE?"":w},r({...s,[l]:[...s[l]]})},j=(P,$)=>{s[l][t]={...s[l][t],value:$?me.BLOCKLET_AUTOMATIC_ENV_VALUE:"",secure:!1,required:!1},r({...s,[l]:[...s[l]]})},v=P=>{s[l][t]={...s[l][t],description:P.target.value},r({...s,[l]:[...s[l]]})},g=P=>{const $=P.target.value==="web"?"web":"docker";$==="web"&&s.dockerArgs.forEach(Z=>{Z.type="docker"});const S=`/${s.dockerImage.replace(/\W/g,"-")}-${t}`;s.dockerArgs[t]={...s.dockerArgs[t],type:$,path:$==="docker"?S:"/",protocol:"http",prefix:$==="docker"?S:"/",name:"publicUrl",port:"BLOCKLET_PORT"},r({...s,dockerArgs:[...s.dockerArgs]})},C=P=>{s.dockerArgs[t]={...s.dockerArgs[t],proxyBehavior:P.target.value==="direct"?"direct":"service"},r({...s,dockerArgs:[...s.dockerArgs]})},D=P=>{const $=P.target.value;s[l][t]={...s[l][t],prefix:$,path:$==="*"?"/":$},r({...s,[l]:[...s[l]]})},R=P=>{s[l]?.[t]&&(s[l][t].value=P.target.value),r({...s,[l]:[...s[l]]})},y=d===`$${Qe(o.key)}`||o.custom,T=l==="dockerArgs"&&!Ut[o.key],O=kn[o.key],N=l==="dockerEnvs",z=o.key==="--publish";let K=o.key;return z&&o.type==="web"?K="--publish (Web)":N&&(K=`--env ${o.key}`),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{width:250},children:e.jsx(A,{sx:{textOverflow:"ellipsis",width:"100%",overflow:"hidden"},children:K})}),e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:1,flex:1},children:[e.jsx(ne,{disabled:i||y||T||o.value===me.BLOCKLET_AUTOMATIC_ENV_VALUE,placeholder:"",value:y?`$${Qe(o.key)}`:d,sx:{flex:1},error:T,onChange:R,slotProps:{input:{endAdornment:e.jsxs(Xe,{position:"end",sx:{zoom:.9},children:[(!(O||T)||N||z)&&e.jsx(ce,{onClick:()=>x(!0),children:e.jsx(ae,{icon:"icon-park-outline:setting-config"})}),!i&&e.jsx(ce,{onClick:p,color:T?"error":"default",children:e.jsx(ae,{icon:"ic:round-delete"})})]})}}}),T&&e.jsx(A,{variant:"caption",color:"error",children:c("blocklet.publish.docker.noAllowTheArg")}),o.key==="--publish"&&e.jsx(A,{variant:"caption",sx:{color:"text.secondary"},children:c("blocklet.publish.docker.publishTips")}),o.key==="--volume"&&vs[o.key](d)&&e.jsx(A,{variant:"caption",color:"error",children:c("blocklet.publish.docker.volumeTips")})]}),u&&e.jsx(ct,{open:!0,fullWidth:!0,maxWidth:"sm",PaperProps:{style:{minHeight:0}},title:c(N?"blocklet.publish.docker.modifyEnv":"blocklet.publish.docker.modifyParam"),onClose:()=>x(!1),children:e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:1,paddingBottom:2},children:[O||T||N?null:e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{children:c("blocklet.publish.docker.needCustomInput")}),e.jsx(Le,{disabled:i,checked:y,onChange:m,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{children:c("blocklet.publish.docker.shared")}),e.jsx(Le,{disabled:i,checked:o.shared,onChange:b,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{children:c("blocklet.publish.docker.required")}),e.jsx(Le,{disabled:i,checked:o.required,onChange:h,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{children:c("blocklet.publish.docker.secure")}),e.jsx(Le,{disabled:i,checked:o.secure,onChange:f,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{children:c("blocklet.publish.docker.autoGenerated")}),e.jsx(Le,{disabled:i,checked:o.value===me.BLOCKLET_AUTOMATIC_ENV_VALUE,onChange:j,sx:{zoom:.9}})]}),N&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{sx:{flex:1},children:c("blocklet.publish.docker.description")}),e.jsx(ne,{disabled:i,value:o.description,onChange:v,sx:{flex:1},label:c("blocklet.publish.docker.description")})]}),z&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{sx:{flex:1},children:c("blocklet.publish.docker.portType")}),e.jsxs(vt,{value:o.type||"docker",onChange:g,children:[e.jsx(be,{value:"docker",children:"Docker"}),e.jsx(be,{value:"web",children:"Web"})]})]}),z&&o.type==="web"&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{sx:{flex:1},children:c("blocklet.publish.docker.proxyBehavior")}),e.jsxs(vt,{value:o.proxyBehavior||"service",onChange:C,children:[e.jsx(be,{value:"service",children:c("blocklet.publish.docker.serviceProxy")}),e.jsx(be,{value:"direct",children:c("blocklet.publish.docker.directProxy")})]})]}),z&&o.type==="web"&&e.jsxs(a,{sx:{mt:1,width:"100%",display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(A,{sx:{flex:1},children:c("blocklet.publish.docker.prefix")}),e.jsx(ne,{disabled:i,value:o.prefix,onChange:D,sx:{flex:1},label:c("blocklet.publish.docker.prefix")})]})]})})]})}Dt.propTypes={dockerParams:n.object.isRequired,setDockerParams:n.func.isRequired,dataKey:n.string.isRequired,item:n.object.isRequired,t:n.func.isRequired,readOnly:n.bool.isRequired,index:n.number.isRequired};const In=`
195
195
  docker run --name postgrest
196
196
  -p 3000:3000
197
197
  -e PGRST_DB_URI="postgres://username:password@host:port/database"
198
198
  -e PGRST_DB_SCHEMA="public"
199
199
  -e PGRST_DB_ANON_ROLE="anon"
200
200
  postgrest/postgrest
201
- `.trim();function Rs({readOnly:t,paramsErrTip:o,setParamsErrTip:s,error:r,params:l,setParams:c}){const{t:i}=X(),[d,u]=k.useState("dockerCommand"),[x,p]=k.useState(""),[m,f]=k.useState(!1),[b,h]=k.useState("--volume"),[j,v]=k.useState(""),[g,C]=k.useState(ho(x)),D=g.dockerArgs||[],R=g.dockerEnvs||[],y=g.dockerImage||"",T=g.dockerCommand||"",O=w=>{const{value:S}=w.target;p(S)};k.useEffect(()=>{l.blockletDocker&&l.blockletDocker.dockerImage&&!y&&C(l.blockletDocker)},[l,y,C]);const N=w=>{const S=ho(w.target.value);C(Y=>{const H=Y.dockerArgs.find(I=>I.key==="--publish"&&I.type==="web");let Q=!1;const E=I=>{I.type="web",I.path=H.path||"/",I.protocol=H.protocol||"http",I.prefix=H.prefix||"/",I.name=H.name||"publicUrl",I.port=H.port||"BLOCKLET_PORT"};if(S.dockerArgs.forEach(I=>{const V=Y.dockerArgs.find(U=>U.key===I.key);V&&(Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(I[U]=ee)}),I.proxyBehavior=I.proxyBehavior||"server",I.key==="--publish"&&I.type==="web"&&(Q?I.type="docker":(E(I),Q=!0)))}),H&&!S.dockerArgs.find(V=>V.key==="--publish"&&V.type==="web")){const V=S.dockerArgs.find(U=>U.key==="--publish"&&U.value===H.value);V?E(V):(Q=!1,S.dockerArgs.forEach(U=>{U.key==="--publish"&&!Q&&(E(U),Q=!0)}))}return S.dockerEnvs.forEach(I=>{const V=Y.dockerEnvs.find(U=>U.key===I.key);V&&Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(I[U]=ee)})}),S})},z=()=>{if(f(!1),b==="--env"){C({...g,dockerEnvs:[...R,{key:j,value:"",custom:"",secure:!1,shared:!1,required:!1,description:j}]}),v("");return}C({...g,dockerArgs:[...D,{key:b,value:"",type:"docker",name:"",path:"",prefix:"",protocol:""}]})},K=()=>{f(!1),v("")},P=w=>{const{value:S}=w.target;C({...g,dockerImage:S}),S.indexOf(" ")>-1?s({...o,dockerImageName:i("blocklet.publish.docker.dockerImageNameError")}):s({...o,dockerImageName:""})},A=w=>{const{value:S}=w.target;C({...g,dockerCommand:S});try{Cs(S),s({...o,dockerCMD:""})}catch{s({...o,dockerCMD:i("blocklet.publish.docker.dockerCMDError")})}};return k.useEffect(()=>{d==="dockerCommand"&&p(vn(g))},[g,d]),k.useEffect(()=>{c(w=>({...w,blockletDocker:{dockerImage:g.dockerImage,dockerCommand:g.dockerCommand,dockerArgs:g.dockerArgs,dockerEnvs:g.dockerEnvs}}))},[g,c]),e.jsxs(a,{sx:{mt:3},children:[e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[e.jsx(a,{sx:{borderBottom:1,borderColor:"divider",mb:2},children:e.jsxs(Ao,{value:d,onChange:(w,S)=>u(S),children:[e.jsx(ot,{value:"dockerCommand",label:i("blocklet.publish.docker.dockerCommand")}),e.jsx(ot,{value:"dockerParams",label:i("blocklet.publish.docker.dockerParams")})]})}),d==="dockerCommand"&&e.jsxs(a,{children:[e.jsx(ne,{disabled:t,label:i("blocklet.publish.docker.pleaseInputDockerCommand"),placeholder:In,autoComplete:"off",variant:"outlined",fullWidth:!0,multiline:!0,spellCheck:!1,minRows:10,value:x,onChange:O,onBlur:N,slotProps:{input:{"data-cy":"blocklet-docker-command",readOnly:t}}}),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{flex:1}}),e.jsx(G,{sx:{mt:2},variant:"contained",onClick:()=>u("dockerParams"),children:i("blocklet.publish.docker.nextTab")})]})]}),d==="dockerParams"&&e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsx(ne,{disabled:t,label:i("blocklet.publish.docker.dockerImageName"),placeholder:"Example: docker.io/postgrest/postgrest:latest",value:y,sx:{flex:1},color:o.dockerImageName?"error":"primary",error:!!o.dockerImageName,helperText:o.dockerImageName||"",onChange:P}),e.jsx(ne,{disabled:t,label:`Docker CMD (${i("common.optional")})`,placeholder:"Docker CMD",value:T,sx:{flex:1},color:o.dockerCMD?"error":"primary",error:!!o.dockerCMD,helperText:o.dockerCMD||"",onChange:A}),e.jsx(a,{sx:{height:4}}),D.map((w,S)=>e.jsx(Dt,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerArgs",t:i,readOnly:t},`${w.key}-${S}`)),R.map((w,S)=>e.jsx(Dt,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerEnvs",t:i,readOnly:t},`${w.key}-${S}`)),!t&&e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{flex:1}}),e.jsx(G,{onClick:()=>f(!0),children:i("blocklet.publish.docker.addItem")})]})]})]}),!!r&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:r}),m&&e.jsxs(lt,{fullWidth:!0,open:!0,children:[e.jsx(Ro,{children:i("blocklet.publish.docker.addItem")}),e.jsx(So,{children:e.jsxs(dr,{sx:{mt:1,width:"100%",minWidth:480,maxWidth:"100%"},children:[e.jsx(vt,{labelId:"demo-simple-select-helper-label",id:"demo-simple-select-helper",value:b,sx:{width:"100%"},onChange:w=>h(w.target.value),children:Object.keys(Ut).map(w=>e.jsx(be,{value:w,children:w}))}),b==="--publish"&&e.jsx($,{variant:"caption",sx:{color:"text.secondary"},children:i("blocklet.publish.docker.publishTips")}),b==="--volume"&&e.jsx($,{variant:"caption",sx:{color:"text.secondary"},children:i("blocklet.publish.docker.volumeTips")}),b==="--env"&&e.jsxs(a,{sx:{mt:3,width:"100%"},children:[e.jsx(ne,{value:j,onChange:w=>v(w.target.value),sx:{width:"100%"},label:i("blocklet.publish.docker.envKey")}),e.jsx(ur,{children:i("blocklet.publish.docker.dockerArgValue")})]})]})}),e.jsxs(To,{children:[e.jsx(G,{onClick:K,children:i("common.cancel")}),e.jsx(G,{onClick:z,children:i("common.confirm")})]})]})]})}Rs.propTypes={readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,error:n.string.isRequired,setParamsErrTip:n.func.isRequired,paramsErrTip:n.func.isRequired};function mo(t,o,{ttl:s=1e3*60*60,skipStorage:r=!1,onUpdate:l=()=>{}}={}){const[c,i]=Sr(o),d=k.useRef(null),u=k.useRef(l);k.useEffect(()=>{if(r)return;const p=kr(t);p&&(i(p),d.current=p),u.current(p)},[t,i,r]);const x=k.useCallback(p=>{i(m=>{const f=typeof p=="function"?p(m):{...m,...p};return jr(t,f,s,100),f})},[t,s,i]);return{state:c,setState:r?i:x,historyStateRef:d,removeStorage:()=>{yr(t)}}}const En=({tabs:t,blocklet:o,ancestors:s=[]})=>{const r=o.meta.did;t.push({label:e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[e.jsx(_t,{size:24,blocklet:o,ancestors:s}),e.jsx(a,{className:"text",sx:{ml:"4px"},children:e.jsx(a,{children:o.meta.title})})]},r),value:r})},bo=(t,o)=>{const s=Ot(t,["blockletVersion","blockletTitle","blockletDescription","blockletLogo","blockletIntroduction","blockletVideos","blockletScreenshots","blockletResourceType","blockletSupport","blockletHomepage","blockletCommunity","blockletRepository","blockletDocker","contentType","connectedStores","blockletComponents","lastReleaseId","uploadedResource","autoUpload","possibleSameStore","note","connectedEndpoints","blockletSingleton"]);return s.blockletComponents?s.blockletComponents=s.blockletComponents.map(r=>({...r,included:!0})):s.blockletComponents=(o.children||[]).map(r=>({did:r.meta.did,included:!1,required:!1})),s},Pn={0:"branding",1:"introduction",2:"resources",3:"blocklets",4:"version"},fo={resources:2,blocklets:3};function Ss({initUrl:t=null,...o}){const{projectId:s,mode:r,releaseId:l,lastVersion:c,componentDid:i=""}=rt(),d=s===F.UNOWNED_DID||r==="view",{t:u,locale:x}=X(),{blocklet:p}=De(),{state:m,setState:f,historyStateRef:b,removeStorage:h}=mo(`blocklet-studio-params-${s}-${c}`,{blockletScreenshots:[],blockletVideos:[],publishedStoreIds:[],connectedStores:[],uploadedResource:"",contentType:"blocklet",blockletResourceType:"",blockletSupport:"",blockletCommunity:"",blockletHomepage:"",blockletRepository:"",blockletDocker:{dockerImage:"",dockerArgs:[],dockerEnvs:[]},blockletSingleton:!0},{skipStorage:d}),[j,v]=Fe({}),[g,C]=Fe({}),D=k.useRef(""),[R,y]=k.useState(!1),[T,O]=Fe(null),{api:N}=ke(),z=Oe(L=>L.breakpoints.down("md")),[K,P]=k.useState({}),A=k.useRef({}),{state:w,setState:S}=mo(`blocklet-studio-selectedResourceIds-${s}-${c}`,{},{skipStorage:s===F.UNOWNED_DID||r==="view"}),[Y,H]=k.useState(""),[Q,E]=Fe({}),I=t?.searchParams.get("dependentComponentsMode"),V=I==="readonly",{session:U}=ze(),{storeList:ee}=Bt({fromBlocklet:!0,blocklet:p,userDid:U?.user?.did}),[q,Z]=k.useState([]);k.useEffect(()=>{Array.isArray(ee)&&ee.length>0&&Promise.all(ee.map(async L=>({...(await(await fetch(`${L.url}/__blocklet__.js?type=json`)).json()).preferences,storeInfo:L}))).then(L=>{Z(L)})},[ee.length]),k.useEffect(()=>{const L={},M={},{logoUrl:Ce,screenshotUrls:Pe}=os(m,p,s);Promise.all(q.map(async fe=>{const{maxImageCount:qe,minImageCount:ut,logoImageType:Ne,imageMinHeight:Ve,imageMinWidth:_e}=fe,Ye=Array.isArray(Ne)?Ne:Ne.split(",");L[fe.storeInfo.url]||(L[fe.storeInfo.url]={}),M[fe.storeInfo.url]||(M[fe.storeInfo.url]={});const pt=M[fe.storeInfo.url],Es=L[fe.storeInfo.url];Number(qe)<=Pe.length&&(pt.maxImageCount=u("blocklet.publish.storeRule.maxImageCount",{max:qe,count:Pe.length,unit:qe>1?u("blocklet.publish.storeRule.screenshots"):u("blocklet.publish.storeRule.screenshot")})),Number(fe.minImageCount)>Pe.length&&(pt.minImageCount=u("blocklet.publish.storeRule.minImageCount",{min:ut,count:Pe.length,unit:ut>1?u("blocklet.publish.storeRule.screenshots"):u("blocklet.publish.storeRule.screenshot")}));const Jt=Ce?Ce.split(".").pop():"";Jt&&!(Ye.includes("jpg")?[...Ye,"jpeg"]:Ye).includes(Jt)&&(Es.logoFormat=u("blocklet.publish.storeRule.logoFormat",{format:Ye.join(",")})),await Promise.all(Pe.map((Ps,ht)=>{const mt=new Image;return mt.src=Ps,new Promise(Ls=>{mt.onload=()=>{const{width:As,height:$s}=mt;if(As<Number(_e)||$s<Number(Ve)){let Ue="";switch(ht+1){case 1:Ue=u("blocklet.publish.storeRule.first");break;case 2:Ue=u("blocklet.publish.storeRule.second");break;case 3:Ue=u("blocklet.publish.storeRule.third");break;default:Ue=`${ht+1}`;break}pt[`imageSize-${ht+1}`]=u("blocklet.publish.storeRule.minImageSize",{width:_e,height:Ve,name:Ue})}Ls()}})}))})).then(()=>{const fe=Object.values(L).some(_e=>Object.values(_e).length>0),qe=Object.values(M).some(_e=>Object.values(_e).length>0),Ne={logoErrors:L,screenshotErrors:M,storeList:ee,hasWarning:fe||qe,hasLogoWarning:fe,hasScreenshotWarning:qe},Ve=JSON.stringify(Ne);Ve!==D.current&&(C(Ne),D.current=Ve)})},[m,p.did,s,q,u]);const J=k.useMemo(()=>{const L={};return Object.keys(Q).forEach(M=>{const Ce=Q[M];Ce&&Ce.forEach(Pe=>{L[Pe]=!0})}),L},[Q]),se=k.useCallback(L=>{V&&f({blockletComponents:[]}),E(L)},[V,E,f]),de=k.useCallback((...L)=>{S(...L),v({blockletResource:"",blockletDocker:""})},[]),le=l==="none"?m?.lastReleaseId||"":l,[pe,he]=k.useState(r==="new-release"?4:0),Ke=t?.searchParams.get("resourcesTitle"),Ze=t?.searchParams.get("componentsTitle"),re=[{label:u("blocklet.publish.branding"),description:u("blocklet.publish.steps.branding")},{label:u("common.introduction"),description:u("blocklet.publish.steps.introduction")},{label:Ke||u("blocklet.publish.resourceTitle"),description:u("blocklet.publish.steps.resources")},{label:Ze||u("common.components"),description:u("blocklet.publish.steps.blocklets")},{label:u("blocklet.publish.versionTitle"),description:u("blocklet.publish.steps.version")}],Ie=re[pe]||re[re.length-1],_=Pn[pe];k.useEffect(()=>{s&&v({projectId:""})},[s,v]);const Be=k.useMemo(()=>m?.blockletResourceType==="resource"?"resource":m?.blockletComponents?.some(L=>L.included)||Object.keys(J).length||m?.uploadedResource?"pack":"resource",[m?.blockletComponents,m?.uploadedResource,J,m?.blockletResourceType]),$e=[],B=(p?.children||[]).filter(L=>L.meta.resource?.exportApi).filter(L=>!i||L.meta.did===i);B.forEach(L=>{En({tabs:$e,blocklet:L,ancestors:[p]})});const[te,je]=k.useState($e[0]?.value),ie=r==="view",ye=Tr(()=>{if(!t)return;H(t.searchParams.get("logo")),f(M=>({...M,blockletTitle:M?.blockletTitle||t.searchParams.get("title"),blockletDescription:M?.blockletDescription||t.searchParams.get("description"),blockletIntroduction:M?.blockletIntroduction||t.searchParams.get("introduction")||t.searchParams.get("description"),blockletComponents:M?.blockletComponents?.length?M?.blockletComponents:JSON.parse(t.searchParams.get("components")||"[]"),note:M?.note||t.searchParams.get("note")||"No note"}));const L=t.searchParams.get("resources");try{const M=JSON.parse(L);P(M)}catch{}}),Ee=async()=>{if(le)try{const L=await N.getRelease({input:{did:p.meta.did,projectId:s,releaseId:le}});if(y(!1),!L.release){W.error("Release not found");return}L.release.note=Fo(L.release.note,"note"),L.release=ys(L.release),r!=="view"&&(L.release.note=""),f(M=>({...bo({...M,...L.release,blockletVersion:r==="create"||r==="new-release"?We.inc(L.release.blockletVersion,"patch"):L.release.blockletVersion},p)})),O(L.release)}catch(L){y(!1),W.error(ge(L))}},Mt=async()=>{if(s===F.UNOWNED_DID){f({blockletVersion:"0.0.1",blockletTitle:""});return}if(!s){W.error(u("blocklet.publish.errorTip.noDid"));return}try{const M=(await Zo(N.getProject,[{input:{did:p.meta.did,projectId:s}}],{key:"getProject"})).project||{};M.blockletVersion?(r==="create"||r==="new-release")&&We.valid(M.blockletVersion)&&(M.blockletVersion=We.inc(M.blockletVersion,"patch")):M.blockletVersion="0.0.1";const Ce=bo(M,p);f({...Ce}),M.lastReleaseId||ye()}catch(L){W.error(ge(L))}},dt=k.useCallback(async()=>{if(!R){y(!0);try{if(r==="view"){if(!le){W.error("Empty release id");return}await Mt(),await Ee();return}await Mt(),le&&await Ee()}finally{r!=="view"&&f(L=>({...L,...b.current})),y(!1)}}},[r,le]),Ts=L=>{f({blockletComponents:L})},Ds=L=>{f({blockletResourceType:L})};k.useEffect(()=>{dt()},[dt]),k.useEffect(()=>{s===F.UNOWNED_DID&&(r==="create"||r==="new-release")&&t&&ye()},[s,t,r,ye]),k.useEffect(()=>{m.contentType==="docker"?f({resourceFromSelect:!1}):m.contentType==="blocklet"?f({resourceFromSelect:!0}):m.contentType==="upload"&&f({resourceFromSelect:!1})},[m.contentType,f]);const Ft=k.useMemo(()=>!!Object.keys(w).find(L=>!!w[L].length),[w]);if(!m&&R)return e.jsx(Ge,{});if(!m)return null;const Ht=B.find(L=>L.meta.did===te),Is=L=>{je(L)};return e.jsxs(Ln,{...o,children:[e.jsx(bs,{blocklet:p,release:T,getData:dt,getRelease:Ee,mode:r,params:m,setParams:f,setParamsErrTip:v,warning:g,readOnly:ie,loading:R,setLoading:y,initLogoUrl:Y,releaseId:le,projectId:s,projectType:Be,resourceComponents:B,resourceComponentsMap:Q,resourceRelateComponents:J,resourceItem:Ht,saveSelectedEventsRef:A,hasSelectedResources:Ft,setRelease:O,paramsErrTip:j,clearHistoryParams:h}),e.jsxs(a,{sx:{display:"flex",flexDirection:"column",width:"100%"},children:[e.jsx(a,{sx:{pt:3}}),e.jsxs(a,{sx:{display:"flex",flexDirection:z?"column":"row",gap:3},children:[!z&&e.jsx(ks,{steps:re,loading:R,viewMode:r==="view",params:m,hasSelectedResources:Ft||m.uploadedResource,paramsErrTip:j,warning:g,activeStep:pe,setActiveStep:he,projectId:s,resourcesUrlTitle:Ke,componentsUrlTitle:Ze}),e.jsxs(a,{sx:{flex:"1",maxWidth:"720px"},children:[!z&&_!=="introduction"&&e.jsxs($,{variant:"h6",sx:{fontWeight:"bold",display:"flex",flexDirection:"row",alignItems:"center"},children:[Ie.label,_==="branding"&&e.jsx(xe,{title:u("blocklet.publish.brandingHelp"),placement:"right",children:e.jsx(a,{component:"a",target:"_blank",href:`https://www.arcblock.io/docs/blocklet-store/${x}/blocklet-detail-page`,sx:{paddingTop:1,marginLeft:1},style:{color:"gray"},children:e.jsx(Yt,{})})})]}),(z||_==="branding")&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(rs,{projectId:s,setParams:f,setParamsErrTip:v,warning:g,params:m,componentDid:i,blocklet:p,initUrl:t,loading:R,setLoading:y,paramsErrTip:j,readOnly:ie,initLogoUrl:Y,setInitLogoUrl:H})}),z&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(Tt,{loading:R,params:m,paramsErrTip:j,setParams:f,setParamsErrTip:v,readOnly:ie})}),(z||_==="introduction")&&e.jsx(a,{sx:{display:"flex",flexDirection:"column",mt:z?5:0,width:"100%"},children:e.jsx(xs,{loading:R,readOnly:ie,params:m,setParams:f,paramsErrTip:j,setParamsErrTip:v})}),z&&e.jsx($,{variant:"h6",sx:{fontWeight:"bold",mt:5},children:re[fo.resources].label}),e.jsx(a,{sx:{display:z||_==="resources"?"flex":"none",flexDirection:"column",maxWidth:720},children:e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(Me,{control:e.jsx(He,{size:"small",checked:m.blockletSingleton||!1,onChange:L=>f({blockletSingleton:L.target.checked}),disabled:ie}),label:e.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:.5},children:[u("blocklet.publish.singleton"),e.jsx(xe,{title:u("blocklet.publish.singletonTip"),placement:"right",children:e.jsx(a,{component:"span",sx:{display:"inline-flex",alignItems:"center",cursor:"help",color:"text.secondary"},children:e.jsx(Yt,{})})})]}),sx:{mt:0}}),e.jsxs(pr,{onChange:L=>f({contentType:L.target.value}),children:[e.jsx(Me,{value:"blocklet",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="blocklet"}),label:u("blocklet.publish.resourceSelect")}),e.jsx(Me,{value:"upload",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="upload"}),label:u("blocklet.publish.resourceUpload")}),e.jsx(Me,{value:"docker",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="docker"}),label:u("blocklet.publish.resourceDocker")})]}),e.jsxs(a,{sx:{display:m.contentType==="blocklet"?"block":"none"},children:[!i&&e.jsx(Wo,{tabs:$e,current:te,onChange:Is,sx:{ml:-2,mt:2,maxWidth:z?window.innerWidth-24:"100%"}}),e.jsx(es,{loading:R,initialResources:K,saveSelectedEventsRef:A,selectedResourceIds:w,setSelectedResourceIds:de,setResourceComponentsMap:se,error:j.blockletResource,app:p,readOnly:ie,component:Ht,componentDid:i,initUrl:t,params:m,showTree:m.contentType==="blocklet",setParams:f,projectId:s===F.UNOWNED_DID?"":s,release:{...T,id:le}})]}),m.contentType==="upload"&&e.jsx(js,{app:p,readOnly:ie,projectId:s===F.UNOWNED_DID?"":s,params:m,error:j.blockletResource,setParams:f,setParamsErrTip:v}),m.contentType==="docker"&&e.jsx(Rs,{app:p,readOnly:ie,projectId:s===F.UNOWNED_DID?"":s,params:m,error:j.blockletResource,setParams:f,setParamsErrTip:v,paramsErrTip:j})]})})}),z&&e.jsx($,{variant:"h6",sx:{fontWeight:"bold",mt:5},children:re[fo.blocklets].label}),(z||_==="blocklets")&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsx(a,{sx:{flex:1},children:e.jsx(Ho,{projectType:Be,disabled:R||ie,app:p,value:m?.blockletComponents||[],blockletResourceType:m?.blockletResourceType||"",onChange:Ts,onChangeBlockletResourceType:Ds,resourceRelateComponents:J,dependentComponentsMode:I})})})}),!z&&_==="version"&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(Tt,{loading:R,params:m,paramsErrTip:j,setParams:f,setParamsErrTip:v,readOnly:ie})})]})]})]})]})}Ss.propTypes={initUrl:n.object};const Ln=ve.div`
201
+ `.trim();function Rs({readOnly:t,paramsErrTip:o,setParamsErrTip:s,error:r,params:l,setParams:c}){const{t:i}=X(),[d,u]=k.useState("dockerCommand"),[x,p]=k.useState(""),[m,f]=k.useState(!1),[b,h]=k.useState("--volume"),[j,v]=k.useState(""),[g,C]=k.useState(ho(x)),D=g.dockerArgs||[],R=g.dockerEnvs||[],y=g.dockerImage||"",T=g.dockerCommand||"",O=w=>{const{value:S}=w.target;p(S)};k.useEffect(()=>{l.blockletDocker&&l.blockletDocker.dockerImage&&!y&&C(l.blockletDocker)},[l,y,C]);const N=w=>{const S=ho(w.target.value);C(Z=>{const H=Z.dockerArgs.find(I=>I.key==="--publish"&&I.type==="web");let Q=!1;const E=I=>{I.type="web",I.path=H.path||"/",I.protocol=H.protocol||"http",I.prefix=H.prefix||"/",I.name=H.name||"publicUrl",I.port=H.port||"BLOCKLET_PORT"};if(S.dockerArgs.forEach(I=>{const V=Z.dockerArgs.find(U=>U.key===I.key);V&&(Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(I[U]=ee)}),I.proxyBehavior=I.proxyBehavior||"server",I.key==="--publish"&&I.type==="web"&&(Q?I.type="docker":(E(I),Q=!0)))}),H&&!S.dockerArgs.find(V=>V.key==="--publish"&&V.type==="web")){const V=S.dockerArgs.find(U=>U.key==="--publish"&&U.value===H.value);V?E(V):(Q=!1,S.dockerArgs.forEach(U=>{U.key==="--publish"&&!Q&&(E(U),Q=!0)}))}return S.dockerEnvs.forEach(I=>{const V=Z.dockerEnvs.find(U=>U.key===I.key);V&&Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(I[U]=ee)})}),S})},z=()=>{if(f(!1),b==="--env"){C({...g,dockerEnvs:[...R,{key:j,value:"",custom:"",secure:!1,shared:!1,required:!1,description:j}]}),v("");return}C({...g,dockerArgs:[...D,{key:b,value:"",type:"docker",name:"",path:"",prefix:"",protocol:""}]})},K=()=>{f(!1),v("")},P=w=>{const{value:S}=w.target;C({...g,dockerImage:S}),S.indexOf(" ")>-1?s({...o,dockerImageName:i("blocklet.publish.docker.dockerImageNameError")}):s({...o,dockerImageName:""})},$=w=>{const{value:S}=w.target;C({...g,dockerCommand:S});try{Cs(S),s({...o,dockerCMD:""})}catch{s({...o,dockerCMD:i("blocklet.publish.docker.dockerCMDError")})}};return k.useEffect(()=>{d==="dockerCommand"&&p(vn(g))},[g,d]),k.useEffect(()=>{c(w=>({...w,blockletDocker:{dockerImage:g.dockerImage,dockerCommand:g.dockerCommand,dockerArgs:g.dockerArgs,dockerEnvs:g.dockerEnvs}}))},[g,c]),e.jsxs(a,{sx:{mt:3},children:[e.jsxs(a,{sx:{width:"100%",display:"flex",flexDirection:"column",gap:2},children:[e.jsx(a,{sx:{borderBottom:1,borderColor:"divider",mb:2},children:e.jsxs($o,{value:d,onChange:(w,S)=>u(S),children:[e.jsx(ot,{value:"dockerCommand",label:i("blocklet.publish.docker.dockerCommand")}),e.jsx(ot,{value:"dockerParams",label:i("blocklet.publish.docker.dockerParams")})]})}),d==="dockerCommand"&&e.jsxs(a,{children:[e.jsx(ne,{disabled:t,label:i("blocklet.publish.docker.pleaseInputDockerCommand"),placeholder:In,autoComplete:"off",variant:"outlined",fullWidth:!0,multiline:!0,spellCheck:!1,minRows:10,value:x,onChange:O,onBlur:N,slotProps:{input:{"data-cy":"blocklet-docker-command",readOnly:t}}}),e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{flex:1}}),e.jsx(G,{sx:{mt:2},variant:"contained",onClick:()=>u("dockerParams"),children:i("blocklet.publish.docker.nextTab")})]})]}),d==="dockerParams"&&e.jsxs(a,{sx:{display:"flex",flexDirection:"column",gap:2},children:[e.jsx(ne,{disabled:t,label:i("blocklet.publish.docker.dockerImageName"),placeholder:"Example: docker.io/postgrest/postgrest:latest",value:y,sx:{flex:1},color:o.dockerImageName?"error":"primary",error:!!o.dockerImageName,helperText:o.dockerImageName||"",onChange:P}),e.jsx(ne,{disabled:t,label:`Docker CMD (${i("common.optional")})`,placeholder:"Docker CMD",value:T,sx:{flex:1},color:o.dockerCMD?"error":"primary",error:!!o.dockerCMD,helperText:o.dockerCMD||"",onChange:$}),e.jsx(a,{sx:{height:4}}),D.map((w,S)=>e.jsx(Dt,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerArgs",t:i,readOnly:t},`${w.key}-${S}`)),R.map((w,S)=>e.jsx(Dt,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerEnvs",t:i,readOnly:t},`${w.key}-${S}`)),!t&&e.jsxs(a,{sx:{display:"flex",flexDirection:"row",gap:2,alignItems:"center"},children:[e.jsx(a,{sx:{flex:1}}),e.jsx(G,{onClick:()=>f(!0),children:i("blocklet.publish.docker.addItem")})]})]})]}),!!r&&e.jsx(a,{sx:{color:"error.main",mt:1,fontSize:14},children:r}),m&&e.jsxs(lt,{fullWidth:!0,open:!0,children:[e.jsx(Ro,{children:i("blocklet.publish.docker.addItem")}),e.jsx(So,{children:e.jsxs(dr,{sx:{mt:1,width:"100%",minWidth:480,maxWidth:"100%"},children:[e.jsx(vt,{labelId:"demo-simple-select-helper-label",id:"demo-simple-select-helper",value:b,sx:{width:"100%"},onChange:w=>h(w.target.value),children:Object.keys(Ut).map(w=>e.jsx(be,{value:w,children:w}))}),b==="--publish"&&e.jsx(A,{variant:"caption",sx:{color:"text.secondary"},children:i("blocklet.publish.docker.publishTips")}),b==="--volume"&&e.jsx(A,{variant:"caption",sx:{color:"text.secondary"},children:i("blocklet.publish.docker.volumeTips")}),b==="--env"&&e.jsxs(a,{sx:{mt:3,width:"100%"},children:[e.jsx(ne,{value:j,onChange:w=>v(w.target.value),sx:{width:"100%"},label:i("blocklet.publish.docker.envKey")}),e.jsx(ur,{children:i("blocklet.publish.docker.dockerArgValue")})]})]})}),e.jsxs(To,{children:[e.jsx(G,{onClick:K,children:i("common.cancel")}),e.jsx(G,{onClick:z,children:i("common.confirm")})]})]})]})}Rs.propTypes={readOnly:n.bool.isRequired,params:n.object.isRequired,setParams:n.func.isRequired,error:n.string.isRequired,setParamsErrTip:n.func.isRequired,paramsErrTip:n.func.isRequired};function mo(t,o,{ttl:s=1e3*60*60,skipStorage:r=!1,onUpdate:l=()=>{}}={}){const[c,i]=Sr(o),d=k.useRef(null),u=k.useRef(l);k.useEffect(()=>{if(r)return;const p=kr(t);p&&(i(p),d.current=p),u.current(p)},[t,i,r]);const x=k.useCallback(p=>{i(m=>{const f=typeof p=="function"?p(m):{...m,...p};return jr(t,f,s,100),f})},[t,s,i]);return{state:c,setState:r?i:x,historyStateRef:d,removeStorage:()=>{yr(t)}}}const En=({tabs:t,blocklet:o,ancestors:s=[]})=>{const r=o.meta.did;t.push({label:e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[e.jsx(_t,{size:24,blocklet:o,ancestors:s}),e.jsx(a,{className:"text",sx:{ml:"4px"},children:e.jsx(a,{children:o.meta.title})})]},r),value:r})},bo=(t,o)=>{const s=Ot(t,["blockletVersion","blockletTitle","blockletDescription","blockletLogo","blockletIntroduction","blockletVideos","blockletScreenshots","blockletResourceType","blockletSupport","blockletHomepage","blockletCommunity","blockletRepository","blockletDocker","contentType","connectedStores","blockletComponents","lastReleaseId","uploadedResource","autoUpload","possibleSameStore","note","connectedEndpoints","blockletSingleton"]);return s.blockletComponents?s.blockletComponents=s.blockletComponents.map(r=>({...r,included:!0})):s.blockletComponents=(o.children||[]).map(r=>({did:r.meta.did,included:!1,required:!1})),s},Pn={0:"branding",1:"introduction",2:"resources",3:"blocklets",4:"version"},fo={resources:2,blocklets:3};function Ss({initUrl:t=null,...o}){const{projectId:s,mode:r,releaseId:l,lastVersion:c,componentDid:i=""}=rt(),d=s===F.UNOWNED_DID||r==="view",{t:u,locale:x}=X(),{blocklet:p}=De(),{state:m,setState:f,historyStateRef:b,removeStorage:h}=mo(`blocklet-studio-params-${s}-${c}`,{blockletScreenshots:[],blockletVideos:[],publishedStoreIds:[],connectedStores:[],uploadedResource:"",contentType:"blocklet",blockletResourceType:"",blockletSupport:"",blockletCommunity:"",blockletHomepage:"",blockletRepository:"",blockletDocker:{dockerImage:"",dockerArgs:[],dockerEnvs:[]},blockletSingleton:!0},{skipStorage:d}),[j,v]=Fe({}),[g,C]=Fe({}),D=k.useRef(""),[R,y]=k.useState(!1),[T,O]=Fe(null),{api:N}=ke(),z=Oe(L=>L.breakpoints.down("md")),[K,P]=k.useState({}),$=k.useRef({}),{state:w,setState:S}=mo(`blocklet-studio-selectedResourceIds-${s}-${c}`,{},{skipStorage:s===F.UNOWNED_DID||r==="view"}),[Z,H]=k.useState(""),[Q,E]=Fe({}),I=t?.searchParams.get("dependentComponentsMode"),V=I==="readonly",{session:U}=ze(),{storeList:ee}=Bt({fromBlocklet:!0,blocklet:p,userDid:U?.user?.did}),[q,Y]=k.useState([]);k.useEffect(()=>{Array.isArray(ee)&&ee.length>0&&Promise.all(ee.map(async L=>({...(await(await fetch(`${L.url}/__blocklet__.js?type=json`)).json()).preferences,storeInfo:L}))).then(L=>{Y(L)})},[ee.length]),k.useEffect(()=>{const L={},M={},{logoUrl:Ce,screenshotUrls:Pe}=os(m,p,s);Promise.all(q.map(async fe=>{const{maxImageCount:qe,minImageCount:ut,logoImageType:Ne,imageMinHeight:Ve,imageMinWidth:_e}=fe,Ze=Array.isArray(Ne)?Ne:Ne.split(",");L[fe.storeInfo.url]||(L[fe.storeInfo.url]={}),M[fe.storeInfo.url]||(M[fe.storeInfo.url]={});const pt=M[fe.storeInfo.url],Es=L[fe.storeInfo.url];Number(qe)<=Pe.length&&(pt.maxImageCount=u("blocklet.publish.storeRule.maxImageCount",{max:qe,count:Pe.length,unit:qe>1?u("blocklet.publish.storeRule.screenshots"):u("blocklet.publish.storeRule.screenshot")})),Number(fe.minImageCount)>Pe.length&&(pt.minImageCount=u("blocklet.publish.storeRule.minImageCount",{min:ut,count:Pe.length,unit:ut>1?u("blocklet.publish.storeRule.screenshots"):u("blocklet.publish.storeRule.screenshot")}));const Jt=Ce?Ce.split(".").pop():"";Jt&&!(Ze.includes("jpg")?[...Ze,"jpeg"]:Ze).includes(Jt)&&(Es.logoFormat=u("blocklet.publish.storeRule.logoFormat",{format:Ze.join(",")})),await Promise.all(Pe.map((Ps,ht)=>{const mt=new Image;return mt.src=Ps,new Promise(Ls=>{mt.onload=()=>{const{width:$s,height:As}=mt;if($s<Number(_e)||As<Number(Ve)){let Ue="";switch(ht+1){case 1:Ue=u("blocklet.publish.storeRule.first");break;case 2:Ue=u("blocklet.publish.storeRule.second");break;case 3:Ue=u("blocklet.publish.storeRule.third");break;default:Ue=`${ht+1}`;break}pt[`imageSize-${ht+1}`]=u("blocklet.publish.storeRule.minImageSize",{width:_e,height:Ve,name:Ue})}Ls()}})}))})).then(()=>{const fe=Object.values(L).some(_e=>Object.values(_e).length>0),qe=Object.values(M).some(_e=>Object.values(_e).length>0),Ne={logoErrors:L,screenshotErrors:M,storeList:ee,hasWarning:fe||qe,hasLogoWarning:fe,hasScreenshotWarning:qe},Ve=JSON.stringify(Ne);Ve!==D.current&&(C(Ne),D.current=Ve)})},[m,p.did,s,q,u]);const J=k.useMemo(()=>{const L={};return Object.keys(Q).forEach(M=>{const Ce=Q[M];Ce&&Ce.forEach(Pe=>{L[Pe]=!0})}),L},[Q]),se=k.useCallback(L=>{V&&f({blockletComponents:[]}),E(L)},[V,E,f]),de=k.useCallback((...L)=>{S(...L),v({blockletResource:"",blockletDocker:""})},[]),le=l==="none"?m?.lastReleaseId||"":l,[pe,he]=k.useState(r==="new-release"?4:0),Ke=t?.searchParams.get("resourcesTitle"),Ye=t?.searchParams.get("componentsTitle"),re=[{label:u("blocklet.publish.branding"),description:u("blocklet.publish.steps.branding")},{label:u("common.introduction"),description:u("blocklet.publish.steps.introduction")},{label:Ke||u("blocklet.publish.resourceTitle"),description:u("blocklet.publish.steps.resources")},{label:Ye||u("common.components"),description:u("blocklet.publish.steps.blocklets")},{label:u("blocklet.publish.versionTitle"),description:u("blocklet.publish.steps.version")}],Ie=re[pe]||re[re.length-1],_=Pn[pe];k.useEffect(()=>{s&&v({projectId:""})},[s,v]);const Be=k.useMemo(()=>m?.blockletResourceType==="resource"?"resource":m?.blockletComponents?.some(L=>L.included)||Object.keys(J).length||m?.uploadedResource?"pack":"resource",[m?.blockletComponents,m?.uploadedResource,J,m?.blockletResourceType]),Ae=[],B=(p?.children||[]).filter(L=>L.meta.resource?.exportApi).filter(L=>!i||L.meta.did===i);B.forEach(L=>{En({tabs:Ae,blocklet:L,ancestors:[p]})});const[te,je]=k.useState(Ae[0]?.value),ie=r==="view",ye=Tr(()=>{if(!t)return;H(t.searchParams.get("logo")),f(M=>({...M,blockletTitle:M?.blockletTitle||t.searchParams.get("title"),blockletDescription:M?.blockletDescription||t.searchParams.get("description"),blockletIntroduction:M?.blockletIntroduction||t.searchParams.get("introduction")||t.searchParams.get("description"),blockletComponents:M?.blockletComponents?.length?M?.blockletComponents:JSON.parse(t.searchParams.get("components")||"[]"),note:M?.note||t.searchParams.get("note")||"No note"}));const L=t.searchParams.get("resources");try{const M=JSON.parse(L);P(M)}catch{}}),Ee=async()=>{if(le)try{const L=await N.getRelease({input:{did:p.meta.did,projectId:s,releaseId:le}});if(y(!1),!L.release){W.error("Release not found");return}L.release.note=Fo(L.release.note,"note"),L.release=ys(L.release),r!=="view"&&(L.release.note=""),f(M=>({...bo({...M,...L.release,blockletVersion:r==="create"||r==="new-release"?We.inc(L.release.blockletVersion,"patch"):L.release.blockletVersion},p)})),O(L.release)}catch(L){y(!1),W.error(ge(L))}},Mt=async()=>{if(s===F.UNOWNED_DID){f({blockletVersion:"0.0.1",blockletTitle:""});return}if(!s){W.error(u("blocklet.publish.errorTip.noDid"));return}try{const M=(await Yo(N.getProject,[{input:{did:p.meta.did,projectId:s}}],{key:"getProject"})).project||{};M.blockletVersion?(r==="create"||r==="new-release")&&We.valid(M.blockletVersion)&&(M.blockletVersion=We.inc(M.blockletVersion,"patch")):M.blockletVersion="0.0.1";const Ce=bo(M,p);f({...Ce}),M.lastReleaseId||ye()}catch(L){W.error(ge(L))}},dt=k.useCallback(async()=>{if(!R){y(!0);try{if(r==="view"){if(!le){W.error("Empty release id");return}await Mt(),await Ee();return}await Mt(),le&&await Ee()}finally{r!=="view"&&f(L=>({...L,...b.current})),y(!1)}}},[r,le]),Ts=L=>{f({blockletComponents:L})},Ds=L=>{f({blockletResourceType:L})};k.useEffect(()=>{dt()},[dt]),k.useEffect(()=>{s===F.UNOWNED_DID&&(r==="create"||r==="new-release")&&t&&ye()},[s,t,r,ye]),k.useEffect(()=>{m.contentType==="docker"?f({resourceFromSelect:!1}):m.contentType==="blocklet"?f({resourceFromSelect:!0}):m.contentType==="upload"&&f({resourceFromSelect:!1})},[m.contentType,f]);const Ft=k.useMemo(()=>!!Object.keys(w).find(L=>!!w[L].length),[w]);if(!m&&R)return e.jsx(Ge,{});if(!m)return null;const Ht=B.find(L=>L.meta.did===te),Is=L=>{je(L)};return e.jsxs(Ln,{...o,children:[e.jsx(bs,{blocklet:p,release:T,getData:dt,getRelease:Ee,mode:r,params:m,setParams:f,setParamsErrTip:v,warning:g,readOnly:ie,loading:R,setLoading:y,initLogoUrl:Z,releaseId:le,projectId:s,projectType:Be,resourceComponents:B,resourceComponentsMap:Q,resourceRelateComponents:J,resourceItem:Ht,saveSelectedEventsRef:$,hasSelectedResources:Ft,setRelease:O,paramsErrTip:j,clearHistoryParams:h}),e.jsxs(a,{sx:{display:"flex",flexDirection:"column",width:"100%"},children:[e.jsx(a,{sx:{pt:3}}),e.jsxs(a,{sx:{display:"flex",flexDirection:z?"column":"row",gap:3},children:[!z&&e.jsx(ks,{steps:re,loading:R,viewMode:r==="view",params:m,hasSelectedResources:Ft||m.uploadedResource,paramsErrTip:j,warning:g,activeStep:pe,setActiveStep:he,projectId:s,resourcesUrlTitle:Ke,componentsUrlTitle:Ye}),e.jsxs(a,{sx:{flex:"1",maxWidth:"720px"},children:[!z&&_!=="introduction"&&e.jsxs(A,{variant:"h6",sx:{fontWeight:"bold",display:"flex",flexDirection:"row",alignItems:"center"},children:[Ie.label,_==="branding"&&e.jsx(xe,{title:u("blocklet.publish.brandingHelp"),placement:"right",children:e.jsx(a,{component:"a",target:"_blank",href:`https://www.arcblock.io/docs/blocklet-store/${x}/blocklet-detail-page`,sx:{paddingTop:1,marginLeft:1},style:{color:"gray"},children:e.jsx(Zt,{})})})]}),(z||_==="branding")&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(rs,{projectId:s,setParams:f,setParamsErrTip:v,warning:g,params:m,componentDid:i,blocklet:p,initUrl:t,loading:R,setLoading:y,paramsErrTip:j,readOnly:ie,initLogoUrl:Z,setInitLogoUrl:H})}),z&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(Tt,{loading:R,params:m,paramsErrTip:j,setParams:f,setParamsErrTip:v,readOnly:ie})}),(z||_==="introduction")&&e.jsx(a,{sx:{display:"flex",flexDirection:"column",mt:z?5:0,width:"100%"},children:e.jsx(xs,{loading:R,readOnly:ie,params:m,setParams:f,paramsErrTip:j,setParamsErrTip:v})}),z&&e.jsx(A,{variant:"h6",sx:{fontWeight:"bold",mt:5},children:re[fo.resources].label}),e.jsx(a,{sx:{display:z||_==="resources"?"flex":"none",flexDirection:"column",maxWidth:720},children:e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsxs(a,{sx:{flex:1},children:[e.jsx(Me,{control:e.jsx(He,{size:"small",checked:m.blockletSingleton||!1,onChange:L=>f({blockletSingleton:L.target.checked}),disabled:ie}),label:e.jsxs(a,{sx:{display:"flex",alignItems:"center",gap:.5},children:[u("blocklet.publish.singleton"),e.jsx(xe,{title:u("blocklet.publish.singletonTip"),placement:"right",children:e.jsx(a,{component:"span",sx:{display:"inline-flex",alignItems:"center",cursor:"help",color:"text.secondary"},children:e.jsx(Zt,{})})})]}),sx:{mt:0}}),e.jsxs(pr,{onChange:L=>f({contentType:L.target.value}),children:[e.jsx(Me,{value:"blocklet",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="blocklet"}),label:u("blocklet.publish.resourceSelect")}),e.jsx(Me,{value:"upload",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="upload"}),label:u("blocklet.publish.resourceUpload")}),e.jsx(Me,{value:"docker",disabled:ie,control:e.jsx(ft,{size:"small",checked:m.contentType==="docker"}),label:u("blocklet.publish.resourceDocker")})]}),e.jsxs(a,{sx:{display:m.contentType==="blocklet"?"block":"none"},children:[!i&&e.jsx(Wo,{tabs:Ae,current:te,onChange:Is,sx:{ml:-2,mt:2,maxWidth:z?window.innerWidth-24:"100%"}}),e.jsx(es,{loading:R,initialResources:K,saveSelectedEventsRef:$,selectedResourceIds:w,setSelectedResourceIds:de,setResourceComponentsMap:se,error:j.blockletResource,app:p,readOnly:ie,component:Ht,componentDid:i,initUrl:t,params:m,showTree:m.contentType==="blocklet",setParams:f,projectId:s===F.UNOWNED_DID?"":s,release:{...T,id:le}})]}),m.contentType==="upload"&&e.jsx(js,{app:p,readOnly:ie,projectId:s===F.UNOWNED_DID?"":s,params:m,error:j.blockletResource,setParams:f,setParamsErrTip:v}),m.contentType==="docker"&&e.jsx(Rs,{app:p,readOnly:ie,projectId:s===F.UNOWNED_DID?"":s,params:m,error:j.blockletResource,setParams:f,setParamsErrTip:v,paramsErrTip:j})]})})}),z&&e.jsx(A,{variant:"h6",sx:{fontWeight:"bold",mt:5},children:re[fo.blocklets].label}),(z||_==="blocklets")&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(a,{className:"section full-width",sx:{display:"flex",mt:3},children:e.jsx(a,{sx:{flex:1},children:e.jsx(Ho,{projectType:Be,disabled:R||ie,app:p,value:m?.blockletComponents||[],blockletResourceType:m?.blockletResourceType||"",onChange:Ts,onChangeBlockletResourceType:Ds,resourceRelateComponents:J,dependentComponentsMode:I})})})}),!z&&_==="version"&&e.jsx(a,{sx:{flexDirection:"column"},children:e.jsx(Tt,{loading:R,params:m,paramsErrTip:j,setParams:f,setParamsErrTip:v,readOnly:ie})})]})]})]})]})}Ss.propTypes={initUrl:n.object};const Ln=ve.div`
202
202
  .section {
203
203
  &.full-width {
204
204
  max-width: 100%;
@@ -235,8 +235,8 @@ postgrest/postgrest
235
235
  }
236
236
  font-size: 0.8rem;
237
237
  }
238
- `;function An({padding:t="",initUrl:o=null}){const{blocklet:s}=De(),r=qs(),{componentDid:l}=rt();if(k.useEffect(()=>{if(l&&window.parent){const i=`${r.pathname}${r.search}`;window.parent.postMessage({event:"popstate",page:"publish",componentDid:l,path:i},"*")}},[l,r]),!s)return null;const c={};return t&&(c.padding=t),e.jsx($n,{style:c,children:e.jsxs(Ns,{children:[e.jsx(bt,{path:"/",element:e.jsx(Mo,{initUrl:o})}),e.jsx(bt,{path:"/:projectId",element:e.jsx(Ur,{})}),e.jsx(bt,{path:"/:projectId/:mode/:releaseId/:lastVersion",element:e.jsx(Ss,{initUrl:o})})]})})}An.propTypes={padding:n.oneOfType([n.string,n.number]),initUrl:n.object};const $n=ve(a)`
238
+ `;function $n({padding:t="",initUrl:o=null}){const{blocklet:s}=De(),r=qs(),{componentDid:l}=rt();if(k.useEffect(()=>{if(l&&window.parent){const i=`${r.pathname}${r.search}`;window.parent.postMessage({event:"popstate",page:"publish",componentDid:l,path:i},"*")}},[l,r]),!s)return null;const c={};return t&&(c.padding=t),e.jsx(An,{style:c,children:e.jsxs(Ns,{children:[e.jsx(bt,{path:"/",element:e.jsx(Mo,{initUrl:o})}),e.jsx(bt,{path:"/:projectId",element:e.jsx(Ur,{})}),e.jsx(bt,{path:"/:projectId/:mode/:releaseId/:lastVersion",element:e.jsx(Ss,{initUrl:o})})]})})}$n.propTypes={padding:n.oneOfType([n.string,n.number]),initUrl:n.object};const An=ve(a)`
239
239
  a {
240
240
  color: ${({theme:t})=>t.palette.primary.main};
241
241
  }
242
- `;export{An as default};
242
+ `;export{$n as default};