@abtnode/blocklet-services 1.17.8-beta-20260106-113136-b3c09e14 → 1.17.8-beta-20260108-120904-21cb5fb6
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.
- package/api/util/blocklet-utils.js +9 -4
- package/dist/assets/{AdapterDayjs-DafRMFLg.js → AdapterDayjs-C1bdndja.js} +1 -1
- package/dist/assets/{Google-DRu937I3.js → Google-BI3aC5vK.js} +1 -1
- package/dist/assets/{access-control-cgo5Z15_.js → access-control-BL-PuDiR.js} +1 -1
- package/dist/assets/{actions-Dfiiwkit.js → actions-m1acuA78.js} +1 -1
- package/dist/assets/{add-component-core-BfzNEcS5.js → add-component-core-BzMN094F.js} +1 -1
- package/dist/assets/add-resource-BRF-rYME.js +1 -0
- package/dist/assets/{addon-qN24wAb4.js → addon-yDIBSjIk.js} +1 -1
- package/dist/assets/{advanced-1Vu6rcXU.js → advanced-DEE0XFtQ.js} +1 -1
- package/dist/assets/{aigne-D6MrXXCU.js → aigne-9evgyH7b.js} +1 -1
- package/dist/assets/api-B24x7kOD.js +1 -0
- package/dist/assets/{appearance-DOQHBg9p.js → appearance-C8B414U2.js} +1 -1
- package/dist/assets/{ar-BukCw0OI.js → ar-BHqjWgUQ.js} +2 -2
- package/dist/assets/{audit-logs-ISyoqJFp.js → audit-logs-qNutRhHx.js} +1 -1
- package/dist/assets/{authorize-B9RLEFal.js → authorize-CZSHuYdu.js} +1 -1
- package/dist/assets/{base-chart-DhxjAyBU.js → base-chart-DT--nPCU.js} +1 -1
- package/dist/assets/{base32-_D4eWUeh.js → base32-z3esjJBn.js} +1 -1
- package/dist/assets/{bind-account-CLIjYy96.js → bind-account-QxLU_sxt.js} +1 -1
- package/dist/assets/{branding-iwUveEf5.js → branding-Bk26INk9.js} +1 -1
- package/dist/assets/{branding-C81Kt22j.js → branding-_XszRU-Z.js} +1 -1
- package/dist/assets/branding-tR0gcoY_.js +1 -0
- package/dist/assets/bundle-avatar-2AQWR0ld.js +1 -0
- package/dist/assets/button-LwkniwV9.js +1 -0
- package/dist/assets/{click-to-copy-CMo42VnK.js → click-to-copy-Dk6ZAJOw.js} +1 -1
- package/dist/assets/{omit-CCIQ0Qdi.js → cloneDeep-rgNCMFod.js} +1 -1
- package/dist/assets/{collapse-B7gUzFaX.js → collapse-D72lnPa9.js} +1 -1
- package/dist/assets/{complete-CJ_buCAS.js → complete-CEvsz8uU.js} +2 -2
- package/dist/assets/{component-Dip3v1Iq.js → component-BrZ1DWiw.js} +2 -2
- package/dist/assets/{config-D5KnWqfn.js → config-6tpm84_l.js} +1 -1
- package/dist/assets/{config-D8XZj8JI.js → config-CwlqBQNt.js} +2 -2
- package/dist/assets/config-cdtQwn5t.js +53 -0
- package/dist/assets/{config-navigation-Ni0iczgA.js → config-navigation-CZ9V7otK.js} +2 -2
- package/dist/assets/{config-space-B6_f52sE.js → config-space-CZRqkXsR.js} +1 -1
- package/dist/assets/{confirm-Lb1MrAdS.js → confirm-Ch-CAgUO.js} +1 -1
- package/dist/assets/{connect-JAX_oP3o.js → connect-BNkv99fz.js} +1 -1
- package/dist/assets/connect-CadBIZOq.js +5 -0
- package/dist/assets/connect-i7rkK26L.js +1 -0
- package/dist/assets/connect-to-lX3lujSp.js +1 -0
- package/dist/assets/{content-layout-DmSBGGVm.js → content-layout-Dtfb5X6M.js} +1 -1
- package/dist/assets/{create-passport-svg-5AYzBKFb.js → create-passport-svg-DeDfPZeD.js} +1 -1
- package/dist/assets/{createClass-DXYd7BIe.js → createClass-07c4wbGU.js} +1 -1
- package/dist/assets/{dashboard-C0l2IWWH.js → dashboard-CmJOnF0g.js} +2 -2
- package/dist/assets/{de-Br0tDZam.js → de-QUGQFv2K.js} +1 -1
- package/dist/assets/{delete-confirm-tbfLqDBI.js → delete-confirm-DiU5PO2T.js} +1 -1
- package/dist/assets/{did-address-CsOJBoiY.js → did-address-Cq16cwTy.js} +1 -1
- package/dist/assets/{domain-CnhOsdmM.js → domain-DHqSA0zl.js} +1 -1
- package/dist/assets/{domain-action-card-BsdHbhEi.js → domain-action-card-BsNaII7k.js} +2 -2
- package/dist/assets/domains-BQ_Of9Oo.js +1 -0
- package/dist/assets/{email-Dt_DGuhf.js → email-DXdzQLls.js} +2 -2
- package/dist/assets/{empty-spinner-BYDonf35.js → empty-spinner-BClWI15N.js} +1 -1
- package/dist/assets/engine-D18zeIE7.js +1 -0
- package/dist/assets/{es-D_e0gGgp.js → es-C4w6cL07.js} +2 -2
- package/dist/assets/{exchange-passport-DztKvBat.js → exchange-passport-NOgYhNpm.js} +1 -1
- package/dist/assets/{form-DoC8uBcB.js → form-DhecYoSJ.js} +3 -3
- package/dist/assets/{form-text-input-XjloVwBd.js → form-text-input-BsCymY_c.js} +1 -1
- package/dist/assets/{form-wrapper-PT5ZzMQy.js → form-wrapper-pwkkz4we.js} +1 -1
- package/dist/assets/{fr-DXizOT4b.js → fr-Bq3UipEu.js} +2 -2
- package/dist/assets/{fuel-IaJHNPPW.js → fuel-DgzL5KSX.js} +1 -1
- package/dist/assets/{gen-access-key-BJlDqEhI.js → gen-access-key-BxnyhhCR.js} +1 -1
- package/dist/assets/{gen-simple-access-key-lyiUw0C-.js → gen-simple-access-key-BJI-4yOF.js} +1 -1
- package/dist/assets/get-safe-url-BVTaUfvO.js +1 -0
- package/dist/assets/{hi-D2FEb_Tx.js → hi-DGZy0DLh.js} +2 -2
- package/dist/assets/{home-Bs_5YPbK.js → home-Bibhtg_U.js} +1 -1
- package/dist/assets/{id-Dw9URVwP.js → id-DOzDilAf.js} +2 -2
- package/dist/assets/{iframe-Dqu4MSyW.js → iframe-CqiUrjUO.js} +1 -1
- package/dist/assets/{index-BDH_LtJL.js → index-0ZSFNH-D.js} +1 -1
- package/dist/assets/{index-1HKgA-fz.js → index-BB8sYq-N.js} +1 -1
- package/dist/assets/{index-BWDWEkUF.js → index-BSZ3mQac.js} +2 -2
- package/dist/assets/{index-Dfx19arA.js → index-BhpNA6ar.js} +1 -1
- package/dist/assets/{index-B4YCnemd.js → index-BnOC3Ium.js} +1 -1
- package/dist/assets/index-BszSKE9L.js +1 -0
- package/dist/assets/{index-vP1T6V7V.js → index-CHkWO9t3.js} +4 -4
- package/dist/assets/{index-BsohFwTm.js → index-CaQuyP_U.js} +1 -1
- package/dist/assets/{index-DT5AXPVB.js → index-Cdaohlhu.js} +7 -7
- package/dist/assets/{index-B10SG1vs.js → index-CdsI3g5U.js} +1 -1
- package/dist/assets/index-CsYL8tps.js +1 -0
- package/dist/assets/{index-CRAuhYSg.js → index-D-O_eFad.js} +1 -1
- package/dist/assets/{index-BNhv-9xy.js → index-D88DUiSg.js} +1 -1
- package/dist/assets/{index-TYwJnR0n.js → index-D8NN8LDz.js} +6 -6
- package/dist/assets/{index-CQgzjKgB.js → index-DI4CWTXR.js} +106 -106
- package/dist/assets/{index-BhhZ8IDZ.js → index-DUnMyyWn.js} +9 -9
- package/dist/assets/{index-BSZtxRM0.js → index-D_ckidZn.js} +2 -2
- package/dist/assets/{index-B_SjLIbT.js → index-DlifV2p1.js} +5 -5
- package/dist/assets/{index-dbYkWwF4.js → index-DzdHYw6g.js} +1 -1
- package/dist/assets/{index-Cq6z7yeF.js → index-Ge2WhAk1.js} +4 -4
- package/dist/assets/{index-Cp0b8q3A.js → index-KUC3HPt0.js} +1 -1
- package/dist/assets/index-POuATgdm.js +1 -0
- package/dist/assets/index-TBM4hzrY.js +81 -0
- package/dist/assets/{index-DhHvANH8.js → index-WjASWJcO.js} +4 -4
- package/dist/assets/{index-DctZHPFL.js → index-fC-FqmP3.js} +1 -1
- package/dist/assets/{index-BGhqVqit.js → index-gohmHhDq.js} +1 -1
- package/dist/assets/{index-CRZM3CKo.js → index-hBDzzv6I.js} +1 -1
- package/dist/assets/{index-BWL6HE0j.js → index-iX-pnOjy.js} +1 -1
- package/dist/assets/{index-B7_VUEoc.js → index-jILCQaR3.js} +1 -1
- package/dist/assets/{index-B6DWjLJS.js → index-m_xRKGyG.js} +8 -8
- package/dist/assets/{index-G6Vk78zE.js → index-mt_AKU_F.js} +2 -2
- package/dist/assets/{index-B0Q9wWG1.js → index-oucqu2vy.js} +1 -1
- package/dist/assets/{index-B4KKUWng.js → index-u9tqiWy4.js} +1 -1
- package/dist/assets/{index-BkePHcyK.js → index-uexcv8C-.js} +7 -7
- package/dist/assets/info-outline-rounded-BLwoUxyI.js +1 -0
- package/dist/assets/{invitation-CYFN9u5t.js → invitation-DSs7YT3_.js} +4 -4
- package/dist/assets/{invitations-jY13RXbI.js → invitations-DK7oD-E6.js} +1 -1
- package/dist/assets/{invite-D72FvaiG.js → invite-CdWfDz--.js} +1 -1
- package/dist/assets/{isURL-CJRImg0N.js → isURL-DMMDDAKA.js} +1 -1
- package/dist/assets/{issue-passport-BfqkJF3W.js → issue-passport-yIqheTA0.js} +1 -1
- package/dist/assets/{item-5ZWPft2s.js → item-BV3WfK17.js} +1 -1
- package/dist/assets/{ja-DBxpsmGJ.js → ja-DMq-YXDX.js} +2 -2
- package/dist/assets/{ko-CCAdSyce.js → ko-BrYbXurh.js} +2 -2
- package/dist/assets/{landing-page-DRtId3hN.js → landing-page-BDAr8Hmo.js} +1 -1
- package/dist/assets/{launch-result-message-MNpx7ysR.js → launch-result-message-C04PaKk0.js} +1 -1
- package/dist/assets/{layout-Be1KH57_.js → layout-DzZv-Jny.js} +1 -1
- package/dist/assets/{list-CQtiNSih.js → list-B6eMSw29.js} +1 -1
- package/dist/assets/{list-CHI1rCEg.js → list-BWd3aUjb.js} +2 -2
- package/dist/assets/{list-header-Cl3jykCe.js → list-header-wJF4c6BN.js} +1 -1
- package/dist/assets/localization-oLJXrcTA.js +1 -0
- package/dist/assets/{log-BfCFT05M.js → log-BskdQbRf.js} +1 -1
- package/dist/assets/logger-DhW79f4a.js +1 -0
- package/dist/assets/{login-BtsH3IvI.js → login-CfL0Uf6Y.js} +1 -1
- package/dist/assets/{login-oauth-callback-Ds4uYiRr.js → login-oauth-callback-_6XAZMOE.js} +1 -1
- package/dist/assets/{logo-uploader-lepUW_D7.js → logo-uploader-D5E5QaRF.js} +1 -1
- package/dist/assets/{lost-passport-BtN3h1ya.js → lost-passport-CUtEI06a.js} +1 -1
- package/dist/assets/omit-BeaKJrg9.js +1 -0
- package/dist/assets/{open-window-CNt8gsrN.js → open-window-Bi6zVDJd.js} +1 -1
- package/dist/assets/{over-due-invoice-payment-7TbnqqKX.js → over-due-invoice-payment-B7FQEnNH.js} +1 -1
- package/dist/assets/{overview-Be3tncsL.js → overview-C7QghcRT.js} +1 -1
- package/dist/assets/{page-header-CHAwrgX-.js → page-header-BZv-tfgN.js} +1 -1
- package/dist/assets/passport-B_eTMTmZ.js +1 -0
- package/dist/assets/{passport-item-Bhbm8_m6.js → passport-item-D53yZ-cF.js} +1 -1
- package/dist/assets/{permission-BHvrn0M5.js → permission-DC8i_y8F.js} +1 -1
- package/dist/assets/preferences-DzDUGj-O.js +1 -0
- package/dist/assets/profile-embed-B3QUDkbU.js +1 -0
- package/dist/assets/{provider-icon-DQY2_LaP.js → provider-icon-D15U0Izg.js} +1 -1
- package/dist/assets/{pt-CrMGrBZ6.js → pt-Dl6732JN.js} +2 -2
- package/dist/assets/publish-resource-DCIlLUPS.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-D0JKrMDl.js → react-beautiful-dnd.esm-BwIgGfYj.js} +1 -1
- package/dist/assets/{react-stripe.esm-CVZErl8X.js → react-stripe.esm-5Snjx_mn.js} +1 -1
- package/dist/assets/{required-BQln5OcV.js → required-DHjZE3-Y.js} +1 -1
- package/dist/assets/{ru-up3R57Pv.js → ru-CVUeN9AX.js} +2 -2
- package/dist/assets/{runtime-npJC4gp_.js → runtime-BHekBabT.js} +1 -1
- package/dist/assets/{sanitize-C-shWbtD.js → sanitize-yX1j-ggS.js} +1 -1
- package/dist/assets/sdk-CJUhxOGJ.js +1 -0
- package/dist/assets/{section-jXB9AxBb.js → section-CenHBXqj.js} +1 -1
- package/dist/assets/{security-nSKpCl8B.js → security-BMslI5IZ.js} +3 -3
- package/dist/assets/{session-C2ZBRIpv.js → session-CZpDtsCZ.js} +1 -1
- package/dist/assets/{setup-krkSJpAg.js → setup-CCvGdFDO.js} +1 -1
- package/dist/assets/{shorten-label-C4py9TLA.js → shorten-label-DXFyDHDr.js} +1 -1
- package/dist/assets/{simple-select-i16Vwzvl.js → simple-select-DtCsUIHR.js} +1 -1
- package/dist/assets/{spaces-BdZ_Rv3s.js → spaces-D3H6AchN.js} +1 -1
- package/dist/assets/{start-y3zrboBQ.js → start-SeWUP0mo.js} +4 -4
- package/dist/assets/{starting-progress-DI-J-VlX.js → starting-progress-Y3UjFmoX.js} +1 -1
- package/dist/assets/{status-B8pB_mTB.js → status-MSXp_buG.js} +1 -1
- package/dist/assets/{step-actions-B1ufIDaK.js → step-actions-BNFJWVZI.js} +1 -1
- package/dist/assets/{studio-1jwq0HOw.js → studio-CRjDRBty.js} +1 -1
- package/dist/assets/{switch-CetbUrYR.js → switch-C49IloVU.js} +1 -1
- package/dist/assets/{switch-control-_85hc9FG.js → switch-control-npfWE_aC.js} +1 -1
- package/dist/assets/{table-tips-CMt22HEy.js → table-tips-DMrnJF8e.js} +1 -1
- package/dist/assets/{team-DDjNXwXE.js → team-YWd-FRKh.js} +8 -8
- package/dist/assets/{th-DdNj2Ao6.js → th-32eBNQes.js} +2 -2
- package/dist/assets/{traffic-mcbpWOFq.js → traffic-0IuWlrAD.js} +1 -1
- package/dist/assets/{transfer-C66c3bWd.js → transfer-DRS2VUAN.js} +1 -1
- package/dist/assets/{unsubscribe-Cvz0OKhq.js → unsubscribe-xDow2Z6m.js} +1 -1
- package/dist/assets/{use-app-logo-BuyF983S.js → use-app-logo-hIHAHSSI.js} +1 -1
- package/dist/assets/{use-mobile-BINJTzMb.js → use-mobile-Bz2ML4Gk.js} +1 -1
- package/dist/assets/{use-mobile-D5clNlrm.js → use-mobile-_vjPRYx2.js} +1 -1
- package/dist/assets/{use-server-logo-Pbr_UuiI.js → use-server-logo-Da86xnyt.js} +1 -1
- package/dist/assets/{use-window-close-B16QghYq.js → use-window-close-DUJmRIjM.js} +1 -1
- package/dist/assets/{useAsync-BVTh1KYj.js → useAsync-D0xh4Var.js} +1 -1
- package/dist/assets/{useAsync-ZGLJQow7.js → useAsync-D6IP8T2e.js} +1 -1
- package/dist/assets/{useAsyncRetry-BMmRgSGm.js → useAsyncRetry-B_bXUXWM.js} +1 -1
- package/dist/assets/{useLocalStorage-De-EuH_M.js → useLocalStorage-Brr2PSz9.js} +1 -1
- package/dist/assets/{user-center-DQSoqc_z.js → user-center-COnqQuqE.js} +6 -6
- package/dist/assets/{user-follower-TTyja_sV.js → user-follower-DVX8m-Zk.js} +1 -1
- package/dist/assets/{util-Ff3hwYmy.js → util-Dee1Ybp3.js} +1 -1
- package/dist/assets/{util-DuMKfKo8.js → util-GXkeqbBQ.js} +1 -1
- package/dist/assets/{vendor-arcblock-Cnwtqa7s.js → vendor-arcblock-BCP2x3BR.js} +1 -1
- package/dist/assets/{vendor-hooks-BQWlJm53.js → vendor-hooks-DQAdyHrE.js} +1 -1
- package/dist/assets/{vendor-mui-core-DnR6WYuU.js → vendor-mui-core-CKKG_1TN.js} +2 -2
- package/dist/assets/{vendor-mui-x-CQc01l4r.js → vendor-mui-x-DHGvg6Bj.js} +1 -1
- package/dist/assets/{vendor-utils-DCMKu06e.js → vendor-utils-CUs2ebe7.js} +17 -17
- package/dist/assets/{vendor-ux-B0gV9NvH.js → vendor-ux-DjXlxcvL.js} +115 -115
- package/dist/assets/{vi-HNh41Xxk.js → vi-DF8IinAc.js} +2 -2
- package/dist/assets/{wait-connect-CRZmfXOA.js → wait-connect-CLe9IfYi.js} +1 -1
- package/dist/assets/{wizard-B41kI39b.js → wizard-8Tk0iyxY.js} +1 -1
- package/dist/assets/wizard-components-C10frai0.js +52 -0
- package/dist/assets/wrap-locale-CxYp8fAf.js +1 -0
- package/dist/assets/{zh-BmX_fuoi.js → zh-BRjrClew.js} +1 -1
- package/dist/assets/{zh-MM5bvwO_.js → zh-ByJkLAV1.js} +2 -2
- package/dist/assets/{zh-tw-Dr5DyPwA.js → zh-tw-34G9tsUP.js} +2 -2
- package/dist/index.html +1 -1
- package/package.json +44 -44
- package/dist/assets/add-resource-CYRgZ1ps.js +0 -1
- package/dist/assets/api-DwxIBXZs.js +0 -1
- package/dist/assets/branding-myiZl37D.js +0 -1
- package/dist/assets/bundle-avatar-Cc_6nw01.js +0 -1
- package/dist/assets/button-D-lyR9BW.js +0 -1
- package/dist/assets/cloneDeep-BY8zW7hH.js +0 -1
- package/dist/assets/config-44sI5I0w.js +0 -53
- package/dist/assets/connect-0OZVqJvc.js +0 -1
- package/dist/assets/connect-B9GQZEi7.js +0 -5
- package/dist/assets/connect-to-Djgj6TLg.js +0 -1
- package/dist/assets/domains-DRP2VSvO.js +0 -1
- package/dist/assets/engine-BXGX_w-S.js +0 -1
- package/dist/assets/get-safe-url-BiNPujaX.js +0 -1
- package/dist/assets/index-B9LF8Bep.js +0 -1
- package/dist/assets/index-BmXPp3DU.js +0 -1
- package/dist/assets/index-CI_uwh_J.js +0 -81
- package/dist/assets/index-CbiyJRV7.js +0 -1
- package/dist/assets/info-outline-rounded-BIwvgXCK.js +0 -1
- package/dist/assets/localization-CKE-bHgd.js +0 -1
- package/dist/assets/logger-DU7baop2.js +0 -1
- package/dist/assets/passport-CkJ4B4CG.js +0 -1
- package/dist/assets/preferences-TFWtUYLy.js +0 -1
- package/dist/assets/profile-embed-B9f9hlSS.js +0 -1
- package/dist/assets/publish-resource-CyvkVMG_.js +0 -1
- package/dist/assets/sdk-CoWDgSLO.js +0 -1
- package/dist/assets/wizard-components-Bn72hVOe.js +0 -52
- package/dist/assets/wrap-locale-CF46rj6q.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-DrCTi6nm.css"),window.__toCdnUrl("assets/index-B5LvOF-F.css")])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as k,u as Dt,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
|
|
2
|
+
import{r as k,u as Dt,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 Io,V as Do,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-CKKG_1TN.js";import{c as F,Z as ke,Y as Ie,w as hr,J as me,bS as mr,l as br,q as Kt,bX as fr,am as Yt,bO as xr,aH as gr,bY as kr,bZ as jr,b_ as yr}from"./index-DI4CWTXR.js";import{v as wr,z as ue,x as At,A as Ao,p as vr}from"./vendor-utils-CUs2ebe7.js";import{V as X,bu as qo,bL as Cr,F as $e,ba as No,bk as _o,bM as Rr,b3 as qt,W,bK as Nt,bN as _t,K as ae,_ as Wo,u as We,a_ as ct,bc as Oo}from"./vendor-ux-DjXlxcvL.js";import{C as at}from"./confirm-Ch-CAgUO.js";import{u as ze}from"./session-CZpDtsCZ.js";import{W as Ct}from"./did-address-Cq16cwTy.js";import{E as Ge}from"./empty-spinner-BClWI15N.js";import{B as Wt}from"./bundle-avatar-2AQWR0ld.js";import{S as Te}from"./shorten-label-DXFyDHDr.js";import{L as Ot}from"./list-header-wJF4c6BN.js";import{C as zo}from"./click-to-copy-Dk6ZAJOw.js";import{t as Zt}from"./question-mark-circle.svg-GhTaklFN.js";import{v as Sr,b as Tr}from"./vendor-hooks-DQAdyHrE.js";import{u as Fe}from"./useSetState-L-f8mSga.js";import{e as Ir}from"./engine-D18zeIE7.js";import"./api-B24x7kOD.js";import{T as Dr,S as Er}from"./vendor-mui-x-DHGvg6Bj.js";import{D as Qt,C as eo,P as to}from"./react-beautiful-dnd.esm-BwIgGfYj.js";import{u as Bo,a as Pr,b as Lr,d as $r,e as Ar}from"./wait-connect-CLe9IfYi.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-BV3WfK17.js";import{D as Or}from"./delete-confirm-DiU5PO2T.js";import{g as Uo}from"./get-safe-url-BVTaUfvO.js";import{u as Le}from"./index-BnOC3Ium.js";import{M as zr}from"./index-oucqu2vy.js";import{r as Br}from"./index-D-O_eFad.js";import"./vendor-arcblock-BCP2x3BR.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=Dt(),s=t?.searchParams.get("tenantScope")||"",{t:r,locale:l}=X(),{api:c}=ke(),{api:i}=ze(),[d,u]=k.useState(!0),{blocklet:x}=Ie(),[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),I=`publish-${x.meta.did}`,R=qo(I),[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 D=E?.projects||[];u(!1),C(D)}).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=Cr(E).toLocaleLowerCase(),g.filter(D=>D.blockletTitle.toLowerCase().includes(E)||D.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 D=g[E];return e.jsx(we,{to:`${D.id}`,children:e.jsx(zt,{did:x.meta.did,projectId:D.id,logo:D.blockletLogo,title:D.blockletTitle,describe:D.blockletDescription})})}}},{label:"Version",name:"blockletVersion",options:{searchable:!1,customBodyRender:E=>E?e.jsx(No,{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 D=(x.children||[]).find(V=>V.meta.did===E);return D?e.jsxs(a,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:[e.jsx(Wt,{size:14,blocklet:D,ancestors:[x]}),e.jsx(a,{sx:{ml:.5,color:"text.primary",fontSize:14},children:D.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(_o,{value:Number(E),locale:l})}},{label:r("common.actions"),name:"actions",options:{searchable:!1,customBodyRenderLite:E=>{const D=g[E];return e.jsxs(a,{sx:{display:"flex"},children:[e.jsx(we,{to:`${D.id}/new-release/none/${D.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}})})})}),!!D.lastReleaseId&&e.jsx(xe,{title:r("blocklet.publish.viewLastRelease",{name:D.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"secondary","aria-label":"create",children:e.jsx(we,{style:{display:"flex"},to:`${D.id}/view/${D.lastReleaseId}/${D.blockletVersion}`,children:e.jsx(Ws,{sx:{fontSize:18}})})})}),e.jsx(xe,{title:r("blocklet.publish.delete",{name:D.blockletTitle}),placement:"top",children:e.jsx(ce,{color:"primary","aria-label":"delete",onClick:()=>z(D),children:e.jsx(go,{sx:{fontSize:18}})})})]})}}}].filter(Boolean),H=({page:E,rowsPerPage:D,searchText:V})=>{y.pageSize!==D?T(U=>({...U,searchText:"",pageSize:D,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(Ot,{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(Rr,{options:{searchPlaceholder:r("blocklet.list.searchPlaceholder"),searchDebounceTime:600,searchAlwaysOpen:j},search:y.searchText,searchText:y.searchText,searchTextUpdate:E=>T(D=>({...D,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(qt,{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:I,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}=Ie(),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=qo(j),[g,C]=k.useState({searchText:v.searchText||"",pageSize:v.rowsPerPage||10,page:1}),I=()=>{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),I(),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(No,{type:w==="published"?"success":"warning",children:w==="published"?"Released":wr(w)})}},{label:t("common.lastPublishedAt"),name:"updatedAt",options:{customBodyRenderLite:w=>{const S=u[w];return S.status!==me.PROJECT.RELEASE_STATUS.published?"":e.jsx(_o,{value:Number(S.updatedAt),locale:o})}}},{label:t("common.actions"),name:"actions",options:{customBodyRenderLite:w=>{const S=u[w];let
|
|
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}=Ie(),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=qo(j),[g,C]=k.useState({searchText:v.searchText||"",pageSize:v.rowsPerPage||10,page:1}),I=()=>{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),I(),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(No,{type:w==="published"?"success":"warning",children:w==="published"?"Released":wr(w)})}},{label:t("common.lastPublishedAt"),name:"updatedAt",options:{customBodyRenderLite:w=>{const S=u[w];return S.status!==me.PROJECT.RELEASE_STATUS.published?"":e.jsx(_o,{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 D=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",D),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(D=>D.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(Ot,{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(qt,{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
|
}
|
|
@@ -51,7 +51,7 @@ import{r as k,u as Dt,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
|
|
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 Dt,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={},
|
|
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 Ao.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,I]=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(Ao.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=>{I({[o?.meta.did]:P})}).catch(P=>{W.error(P.message)})},[o,I,C,z]),k.useEffect(()=>{T&&s&&!y.current&&st(t.children.map(P=>async()=>{if(!(u&&u!==P.meta.did)&&!(!P?.mountPoint||!Ir.hasStartEngine(P?.meta)||!P?.meta?.resource?.exportApi))try{const $=await z(P);I({[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,I]),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:_t,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:Nt(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 Dt,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||vr(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=Ie(),[b,h]=k.useState(!1),j=k.useRef(null),[v,g]=k.useState(!1),[C,I]=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{I(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(),I(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:()=>I(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(Zs,{})})}):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(()=>Wo(()=>import("./index-G6Vk78zE.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=Dt(),C=k.useRef(null),I=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:$,uploadLogoPrefix:w,uploadScreenshotPrefix:S}=os(l,r,t),{logoErrors:Y,screenshotErrors:H,storeList:Q,hasLogoWarning:E,hasScreenshotWarning:D}=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(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: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(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,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:[$.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()&&I.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:"+"})]})})})]}),D&&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,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:I,locale:j,popup:!0,onUploadFinish:q=>{c(Z=>{const J=Z.blockletScreenshots||[];return J.push(q.data?.filename),{...Z,blockletScreenshots:J}}),I.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`
|
|
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||vr(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=Ie(),[b,h]=k.useState(!1),j=k.useRef(null),[v,g]=k.useState(!1),[C,I]=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{I(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(),I(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:()=>I(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(()=>Wo(()=>import("./index-mt_AKU_F.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=Dt(),C=k.useRef(null),I=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:D}=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()&&I.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:"+"})]})})})]}),D&&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:I,locale:j,popup:!0,onUploadFinish:q=>{c(Y=>{const J=Y.blockletScreenshots||[];return J.push(q.data?.filename),{...Y,blockletScreenshots:J}}),I.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 Dt,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}}=Ie(),{session:g}=ze(),{storeList:C}=Bt({fromBlocklet:!0,blocklet:t,userDid:g?.user?.did}),I=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:Io[400],display:"flex",alignItems:"center"},children:[j(x==="pack"?"blocklet.publish.whyCantSeeInStore":"blocklet.publish.whyCantSeeResourceBlockletInStore"),e.jsx(Pt,{sx:{marginLeft:1}})]})}),e.jsx(Do,{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:I[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(),I=()=>{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),I()}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:I,PaperProps:{style:{minHeight:"auto"}},actions:e.jsxs(e.Fragment,{children:[e.jsx($e,{onClick:y=>{y.stopPropagation(),I()},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(Ys,{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=Ie(),[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 I=l.length>0,R=e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130,height:"100%"},disabled:I,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&&(I?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}}=Ie(),{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:Io[400]},children:m("blocklet.publish.endpoint.uploadToEndpoint")})}),e.jsx(Do,{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:I,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=Dt(),[Y,H]=k.useState(!1),[Q,E]=k.useState(!1),[D,V]=k.useState(),U=Oe(re=>re.breakpoints.down("md")),ee=k.useMemo(()=>o?.blockletResourceType?o?.blockletResourceType:o?.blockletComponents?.length>0?o?.blockletComponents.find(De=>De.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 De=ns({params:o,projectId:t,status:re,t:N});if(De){W.error(De.map(B=>B.message).join("; ")),s(De.reduce((B,oe)=>({...B,[oe.param]:oe.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(I)try{const B=await un({did:d.meta.did,projectId:t,imageUrl:I});_.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(oe=>()=>{const je=g.current[oe];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=>At(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 oe=ge(B);W.error(oe),(/resource/.test(oe)||/zip/.test(oe))&&s({blockletResource:oe});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 oe=b.logoErrors[B.storeUrl];if(oe){const ye=Object.keys(oe).find(Ee=>!!oe[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:oe[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(oe){W.error(ge(oe))}}),{concurrency:4}),q?.(),S(`../${t}/view/${Ae}/${_.blockletVersion}`,{replace:!0})},J=re=>(R(!0),Z(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,Ze=()=>V(pe);return e.jsxs(e.Fragment,{children:[e.jsx(hn,{className:"sticky-header",children:e.jsx(Ot,{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:D,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:D}),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: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(Oo,{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`
|
|
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}}=Ie(),{session:g}=ze(),{storeList:C}=Bt({fromBlocklet:!0,blocklet:t,userDid:g?.user?.did}),I=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:Io[400],display:"flex",alignItems:"center"},children:[j(x==="pack"?"blocklet.publish.whyCantSeeInStore":"blocklet.publish.whyCantSeeResourceBlockletInStore"),e.jsx(Pt,{sx:{marginLeft:1}})]})}),e.jsx(Do,{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:I[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(),I=()=>{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),I()}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:I,PaperProps:{style:{minHeight:"auto"}},actions:e.jsxs(e.Fragment,{children:[e.jsx($e,{onClick:y=>{y.stopPropagation(),I()},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=Ie(),[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 I=l.length>0,R=e.jsxs(G,{sx:{paddingLeft:2,paddingRight:2,fontSize:15,width:130,height:"100%"},disabled:I,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&&(I?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}}=Ie(),{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:Io[400]},children:m("blocklet.publish.endpoint.uploadToEndpoint")})}),e.jsx(Do,{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:I,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=Dt(),[Z,H]=k.useState(!1),[Q,E]=k.useState(!1),[D,V]=k.useState(),U=Oe(re=>re.breakpoints.down("md")),ee=k.useMemo(()=>o?.blockletResourceType?o?.blockletResourceType:o?.blockletComponents?.length>0?o?.blockletComponents.find(De=>De.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 De=ns({params:o,projectId:t,status:re,t:N});if(De){W.error(De.map(B=>B.message).join("; ")),s(De.reduce((B,oe)=>({...B,[oe.param]:oe.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(I)try{const B=await un({did:d.meta.did,projectId:t,imageUrl:I});_.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(oe=>()=>{const je=g.current[oe];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=>At(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 oe=ge(B);W.error(oe),(/resource/.test(oe)||/zip/.test(oe))&&s({blockletResource:oe});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 oe=b.logoErrors[B.storeUrl];if(oe){const ye=Object.keys(oe).find(Ee=>!!oe[Ee]);if(ye){W.warning(N("blocklet.publish.autoPublishErrorTip",{storeName:B.storeName,error:oe[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(oe){W.error(ge(oe))}}),{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(Ot,{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:D,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:D}),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(Oo,{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 Dt,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:_t})}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}),I=c?"":b(v);return I&&(g.optional=e.jsx(A,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:I}),g.error=!0),e.jsxs(ir,{children:[e.jsx(cr,{icon:e.jsx(gs,{error:I,warning:v===0?d.hasWarning:!1,active:h?99:o,step:v,ok:C}),sx:{cursor:"pointer",color:I?"error.main":"inherit"},disabled:!1,onClick:()=>s(v),...g,children:e.jsx(A,{fontSize:"14px",fontWeight:"500",color:I||!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:I||!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(()=>Wo(()=>import("./index-G6Vk78zE.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 te=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))),In=["publish","volume"];te.object({workdir:te.string().trim().optional(),image:te.string().trim().regex(/^[^\s]+$/).optional(),shell:te.string().trim().optional(),volumes:te.array().items(te.string().trim()).optional(),script:te.string().trim().optional(),installNodeModules:te.boolean().optional(),skipWrapDockerfile:te.boolean().optional(),tmpfs:te.string().trim().optional(),command:te.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:te.boolean().optional(),...Tn.reduce((t,o)=>{const s=vs[Cn(o)];return In.includes(o)?(t[o]=te.array().items(te.string().trim()).optional(),s?t[o]=te.array().items(te.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r})).optional():t[o]=te.array().items(te.string().trim()).optional(),t):(s?t[o]=te.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r}).optional():t[o]=te.string().trim().optional(),t)},{})}).optional();function It({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(
|
|
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:_t})}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}),I=c?"":b(v);return I&&(g.optional=e.jsx(A,{variant:"caption",color:"error",sx:{wordBreak:"break-word"},children:I}),g.error=!0),e.jsxs(ir,{children:[e.jsx(cr,{icon:e.jsx(gs,{error:I,warning:v===0?d.hasWarning:!1,active:h?99:o,step:v,ok:C}),sx:{cursor:"pointer",color:I?"error.main":"inherit"},disabled:!1,onClick:()=>s(v),...g,children:e.jsx(A,{fontSize:"14px",fontWeight:"500",color:I||!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:I||!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(()=>Wo(()=>import("./index-mt_AKU_F.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 te=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))),In=["publish","volume"];te.object({workdir:te.string().trim().optional(),image:te.string().trim().regex(/^[^\s]+$/).optional(),shell:te.string().trim().optional(),volumes:te.array().items(te.string().trim()).optional(),script:te.string().trim().optional(),installNodeModules:te.boolean().optional(),skipWrapDockerfile:te.boolean().optional(),tmpfs:te.string().trim().optional(),command:te.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:te.boolean().optional(),...Tn.reduce((t,o)=>{const s=vs[Cn(o)];return In.includes(o)?(t[o]=te.array().items(te.string().trim()).optional(),s?t[o]=te.array().items(te.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r})).optional():t[o]=te.array().items(te.string().trim()).optional(),t):(s?t[o]=te.string().trim().custom((r,l)=>{const c=s(r);return c?l.message(c):r}).optional():t[o]=te.string().trim().optional(),t)},{})}).optional();function It({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]})},I=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:I,sx:{flex:1},label:c("blocklet.publish.docker.prefix")})]})]})})]})}It.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 Dn=`
|
|
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)),I=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(D=>D.key==="--publish"&&D.type==="web");let Q=!1;const E=D=>{D.type="web",D.path=H.path||"/",D.protocol=H.protocol||"http",D.prefix=H.prefix||"/",D.name=H.name||"publicUrl",D.port=H.port||"BLOCKLET_PORT"};if(S.dockerArgs.forEach(D=>{const V=Y.dockerArgs.find(U=>U.key===D.key);V&&(Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(D[U]=ee)}),D.proxyBehavior=D.proxyBehavior||"server",D.key==="--publish"&&D.type==="web"&&(Q?D.type="docker":(E(D),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(D=>{const V=Y.dockerEnvs.find(U=>U.key===D.key);V&&Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(D[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:[...I,{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:Dn,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}}),I.map((w,S)=>e.jsx(It,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerArgs",t:i,readOnly:t},`${w.key}-${S}`)),R.map((w,S)=>e.jsx(It,{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(Wt,{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=At(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}=Ie(),{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({}),I=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"}),[Y,H]=k.useState(""),[Q,E]=Fe({}),D=t?.searchParams.get("dependentComponentsMode"),V=D==="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:$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!==I.current&&(C(Ne),I.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")}],De=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[oe,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 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})},Is=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===oe),Ds=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:$,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(A,{variant:"h6",sx:{fontWeight:"bold",display:"flex",flexDirection:"row",alignItems:"center"},children:[De.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(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(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(Oo,{tabs:Ae,current:oe,onChange:Ds,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:Is,resourceRelateComponents:J,dependentComponentsMode:D})})})}),!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)),I=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(D=>D.key==="--publish"&&D.type==="web");let Q=!1;const E=D=>{D.type="web",D.path=H.path||"/",D.protocol=H.protocol||"http",D.prefix=H.prefix||"/",D.name=H.name||"publicUrl",D.port=H.port||"BLOCKLET_PORT"};if(S.dockerArgs.forEach(D=>{const V=Z.dockerArgs.find(U=>U.key===D.key);V&&(Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(D[U]=ee)}),D.proxyBehavior=D.proxyBehavior||"server",D.key==="--publish"&&D.type==="web"&&(Q?D.type="docker":(E(D),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(D=>{const V=Z.dockerEnvs.find(U=>U.key===D.key);V&&Object.entries(V).forEach(([U,ee])=>{ee!=null&&U!=="value"&&(D[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:[...I,{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:Dn,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}}),I.map((w,S)=>e.jsx(It,{index:S,item:w,dockerParams:g,setDockerParams:C,dataKey:"dockerArgs",t:i,readOnly:t},`${w.key}-${S}`)),R.map((w,S)=>e.jsx(It,{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(Wt,{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=At(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}=Ie(),{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({}),I=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({}),D=t?.searchParams.get("dependentComponentsMode"),V=D==="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!==I.current&&(C(Ne),I.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")}],De=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[oe,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})},Is=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===oe),Ds=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:[De.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(Oo,{tabs:Ae,current:oe,onChange:Ds,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:Is,resourceRelateComponents:J,dependentComponentsMode:D})})})}),!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%;
|