@abtnode/blocklet-services 1.17.8-beta-20260116-080047-9fdd00d3 → 1.17.8-beta-20260119-102944-6ba93a16
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/dist/assets/{AdapterDayjs-BI3dme25.js → AdapterDayjs-CYW0YvmK.js} +1 -1
- package/dist/assets/{Google-BMSeyXdi.js → Google-DKRt92nm.js} +1 -1
- package/dist/assets/{access-control-CSfPgD_B.js → access-control-RI6LQbSm.js} +1 -1
- package/dist/assets/{actions-Ng-YRTer.js → actions-BlWED76c.js} +2 -2
- package/dist/assets/{actions-Dktj9pEF.js → actions-DydkTgA0.js} +1 -1
- package/dist/assets/{add-component-core-DOIm-W83.js → add-component-core-nc1ps0ni.js} +32 -32
- package/dist/assets/{add-resource-_wuuBiJJ.js → add-resource-BVOdOQSW.js} +1 -1
- package/dist/assets/{addon-N_sS-Sx6.js → addon-DfWedLEC.js} +1 -1
- package/dist/assets/{advanced-BhbxG-_n.js → advanced-CuKHqbLO.js} +2 -2
- package/dist/assets/{aigne-DElJAbjP.js → aigne-6nMSoyeQ.js} +1 -1
- package/dist/assets/{appearance-D71HSeGD.js → appearance-C9TkbSjV.js} +1 -1
- package/dist/assets/{ar-BHqjWgUQ.js → ar-DOhYGTlW.js} +1 -1
- package/dist/assets/{audit-logs-Ci_HlT4m.js → audit-logs-DKGke9hI.js} +2 -2
- package/dist/assets/{authorize-DQERA3Vv.js → authorize-DkSqywe8.js} +1 -1
- package/dist/assets/{base-chart-DWXZOkNE.js → base-chart-DcZV4ZCI.js} +1 -1
- package/dist/assets/{base32-Cpvj2sD4.js → base32-7iZvvdX8.js} +1 -1
- package/dist/assets/{bind-account-BIzFrnLk.js → bind-account-DOwM9Nhe.js} +1 -1
- package/dist/assets/branding-Cak2s8bn.js +1 -0
- package/dist/assets/{branding-BHJqY7Mz.js → branding-CwSyd5WC.js} +1 -1
- package/dist/assets/{branding-DAdwbyWZ.js → branding-lcfxmmPp.js} +1 -1
- package/dist/assets/{bundle-avatar-sDqev1Fh.js → bundle-avatar-DwiOyeMO.js} +1 -1
- package/dist/assets/button-uUU4Wycr.js +1 -0
- package/dist/assets/{click-to-copy-RBTqACSW.js → click-to-copy-BgIYUMoo.js} +1 -1
- package/dist/assets/{collapse-DWmyzfnW.js → collapse-RMuUWnK3.js} +1 -1
- package/dist/assets/{complete-D6XDZtnV.js → complete-Udiv_yFp.js} +1 -1
- package/dist/assets/{component-B2qSKMGx.js → component-CuKviNC8.js} +2 -2
- package/dist/assets/{config-oF-A1tKe.js → config-6IwEgT3b.js} +1 -1
- package/dist/assets/{config-Ca5tnO9j.js → config-CJwxv2uK.js} +1 -1
- package/dist/assets/{config-fYkZxdEr.js → config-D1OcHGlN.js} +4 -4
- package/dist/assets/{config-navigation-BEYJ5bSz.js → config-navigation-hDihVsjx.js} +2 -2
- package/dist/assets/{config-space-HmsYCb6s.js → config-space-DfstlHnF.js} +1 -1
- package/dist/assets/{confirm-DQYDHHdS.js → confirm-CdVn5WdC.js} +1 -1
- package/dist/assets/{connect-COLwEMSx.js → connect-CT2vMz6l.js} +3 -3
- package/dist/assets/{connect-ydb7rKXe.js → connect-DA7RO2yv.js} +1 -1
- package/dist/assets/{connect-BeWeBwCA.js → connect-Dy0Y8HRB.js} +1 -1
- package/dist/assets/{connect-to-C3ac4B-g.js → connect-to-CQMUbQkH.js} +1 -1
- package/dist/assets/{content-layout-CanSZTqf.js → content-layout-Dlmn5DW6.js} +1 -1
- package/dist/assets/{create-passport-svg-De1vqcmo.js → create-passport-svg-hldNORaB.js} +1 -1
- package/dist/assets/{createClass-CRUn7w67.js → createClass-CgfWUrk8.js} +1 -1
- package/dist/assets/{dashboard-BZiea8Z_.js → dashboard-BvI3ii8Z.js} +2 -2
- package/dist/assets/{de-QUGQFv2K.js → de-CtKPdGk6.js} +1 -1
- package/dist/assets/{delete-confirm-CpaOkuin.js → delete-confirm-CkiUXocp.js} +1 -1
- package/dist/assets/{did-address-DRYM96gB.js → did-address-CG36eCOx.js} +1 -1
- package/dist/assets/{domain-D9Kc4Rgt.js → domain-CDTeLbkZ.js} +1 -1
- package/dist/assets/{domain-action-card-ugKl692S.js → domain-action-card-kMPYS2Nj.js} +1 -1
- package/dist/assets/domains-TI6o1CvX.js +1 -0
- package/dist/assets/{email-DDyG3qPR.js → email-DHRHueET.js} +2 -2
- package/dist/assets/{empty-spinner-ChYvCNCV.js → empty-spinner-DB1GKIOS.js} +1 -1
- package/dist/assets/engine-D_fEFx9_.js +1 -0
- package/dist/assets/{es-C4w6cL07.js → es-BSYtSZPg.js} +1 -1
- package/dist/assets/{exchange-passport-DoiXZo5M.js → exchange-passport-Cc872mjQ.js} +1 -1
- package/dist/assets/{fallback-CZRO9TTQ.js → fallback-D-IHOW-7.js} +1 -1
- package/dist/assets/{form--iZWaH7Y.js → form-Co-tgocU.js} +1 -1
- package/dist/assets/{form-text-input-Cs-LuCu0.js → form-text-input-CPLafaTk.js} +1 -1
- package/dist/assets/{form-wrapper-EixE0Jkw.js → form-wrapper-kWYD3nZz.js} +1 -1
- package/dist/assets/{fr-Bq3UipEu.js → fr-C35fi7h9.js} +1 -1
- package/dist/assets/{fuel-C85y6XSK.js → fuel-BFx1ShM2.js} +1 -1
- package/dist/assets/{gen-access-key-DxF-VBeV.js → gen-access-key-DrgLVRbm.js} +1 -1
- package/dist/assets/{gen-simple-access-key-Cxq1_uy6.js → gen-simple-access-key-B24d6k7g.js} +1 -1
- package/dist/assets/get-safe-url-beob4f2C.js +1 -0
- package/dist/assets/{hi-DGZy0DLh.js → hi-5fpYJkiW.js} +1 -1
- package/dist/assets/{home-EzPPxjBW.js → home-Dw18IODa.js} +1 -1
- package/dist/assets/{id-DOzDilAf.js → id-DoVb0JYr.js} +1 -1
- package/dist/assets/{iframe-C5nvJ0m0.js → iframe-DUzp97tk.js} +1 -1
- package/dist/assets/{index-B3ArnS-X.js → index--WQuhwJL.js} +1 -1
- package/dist/assets/{index-Cw8Yly1u.js → index-2M4w6J9r.js} +1 -1
- package/dist/assets/{index-D3fA5iF-.js → index-3H6a5edM.js} +1 -1
- package/dist/assets/{index-_uJPC7_n.js → index-8RHrVCC6.js} +1 -1
- package/dist/assets/{index-BM9QepzF.js → index-B-8044Gs.js} +22 -11
- package/dist/assets/{index-Ba_SJ3UV.js → index-B6l4xGy5.js} +2 -2
- package/dist/assets/{index-CbZQvtgh.js → index-B9FojAjj.js} +1 -1
- package/dist/assets/{index-BQFgfBFX.js → index-BOPR4Iyc.js} +2 -2
- package/dist/assets/{index-VlFqUdI2.js → index-BUhEyicQ.js} +1 -1
- package/dist/assets/{index-DGU5RA0-.js → index-BeunkI-Z.js} +3 -3
- package/dist/assets/{index-_bvucGkF.js → index-Bo9KtpTY.js} +1 -1
- package/dist/assets/{index-r7svI4rK.js → index-Bpic07NM.js} +7 -7
- package/dist/assets/{index-BuucS_rQ.js → index-C1fKsLzf.js} +1 -1
- package/dist/assets/{index-D_ymA2Th.js → index-C4ZzROeE.js} +5 -5
- package/dist/assets/{index-sb6EjUcD.js → index-CEJb82tA.js} +1 -1
- package/dist/assets/{index-Ca33rdd_.js → index-CXp5SI_f.js} +82 -82
- package/dist/assets/{index-zkaWHEAS.js → index-C_kNXHsF.js} +1 -1
- package/dist/assets/{index-DvQIPWQ6.js → index-Cax1AxL9.js} +1 -1
- package/dist/assets/{index-Ca5zgzpl.js → index-CfvGuvbD.js} +1 -1
- package/dist/assets/{index-BbO4pSmm.js → index-CqCXPf7W.js} +1 -1
- package/dist/assets/{index-p0MfrvgW.js → index-Cx0E03Bs.js} +1 -1
- package/dist/assets/{index-CL5ZGYlc.js → index-D3BuekEe.js} +3 -3
- package/dist/assets/{index-D4_8N2le.js → index-D6pCyJv8.js} +1 -1
- package/dist/assets/{index-Ddl9fWMP.js → index-DFUM0Pvk.js} +1 -1
- package/dist/assets/{index-B3fG443w.js → index-DH4rC-7M.js} +1 -1
- package/dist/assets/{index-B2PeJoug.js → index-DKzBOJCu.js} +2 -2
- package/dist/assets/index-DL0wTcgx.js +1 -0
- package/dist/assets/{index-C9V4aWeM.js → index-DWHFecw2.js} +4 -4
- package/dist/assets/{index-Dxb3MonW.js → index-DcW3jqfL.js} +1 -1
- package/dist/assets/{index-CxOxF1pg.js → index-Di2nSesc.js} +1 -1
- package/dist/assets/{index-CiCryHDZ.js → index-DqcciDRh.js} +2 -2
- package/dist/assets/{index-DCxNOCc2.js → index-VKjWmvRV.js} +1 -1
- package/dist/assets/{index-DVOweIMx.js → index-Vf51dp11.js} +1 -1
- package/dist/assets/{index-2AyCotIy.js → index-ZzcJ7eKO.js} +1 -1
- package/dist/assets/{index-Bwibx9MU.js → index-bEFOmVth.js} +1 -1
- package/dist/assets/{info-outline-rounded-DVdLJtdi.js → info-outline-rounded-DlgANjBB.js} +1 -1
- package/dist/assets/{invitation-CUluW5mi.js → invitation-BP8hOEFv.js} +1 -1
- package/dist/assets/invitations-C8aZLxdl.js +3 -0
- package/dist/assets/{invite-zC3nU84H.js → invite-Cd5zEHFb.js} +1 -1
- package/dist/assets/{issue-passport-B_pYDft0.js → issue-passport-D7zqv3Al.js} +1 -1
- package/dist/assets/{item-DoUn7xhc.js → item-DNj7ORqk.js} +1 -1
- package/dist/assets/{ja-DMq-YXDX.js → ja-DZPUwZ9l.js} +1 -1
- package/dist/assets/{ko-BrYbXurh.js → ko-q4i4r9g6.js} +1 -1
- package/dist/assets/{landing-page-BJAji-kI.js → landing-page-JLA-ZD1t.js} +1 -1
- package/dist/assets/{launch-result-message-B2nhmkKt.js → launch-result-message-DJqF-slD.js} +1 -1
- package/dist/assets/{layout-CydCBGqn.js → layout-Cwvm7lmD.js} +1 -1
- package/dist/assets/{list-BIwaCPhs.js → list-3MUy-8Ol.js} +2 -2
- package/dist/assets/{list-CO8Xp7iX.js → list-BSXHuqLM.js} +1 -1
- package/dist/assets/{list-header-DQZTNnUc.js → list-header-BEZSwSji.js} +1 -1
- package/dist/assets/localization-Dond4H78.js +1 -0
- package/dist/assets/{log-JZXyzrRA.js → log-Bq445Z1e.js} +1 -1
- package/dist/assets/logger-CCAAJ2Xo.js +1 -0
- package/dist/assets/{login-CU5Tw5QB.js → login-dc2t9Qyo.js} +1 -1
- package/dist/assets/{login-method-item-KhJ672kA.js → login-method-item-CyTsqz88.js} +1 -1
- package/dist/assets/{login-oauth-callback-Bz7N73Sg.js → login-oauth-callback-Bext19kc.js} +1 -1
- package/dist/assets/{logo-uploader-DjKJkvts.js → logo-uploader-CyZuvhwV.js} +1 -1
- package/dist/assets/{lost-passport-CyJVtH1V.js → lost-passport-BiYg3QQI.js} +1 -1
- package/dist/assets/{metadata-CkzdOpl3.js → metadata-B2-Ltdko.js} +1 -1
- package/dist/assets/{nav-menu-5M0Q4jYU.js → nav-menu-DSdXRbfg.js} +1 -1
- package/dist/assets/{open-window-DphH3aTv.js → open-window-Dyu79ome.js} +1 -1
- package/dist/assets/over-due-invoice-payment-DzUsy6q0.js +1 -0
- package/dist/assets/{overview-CGIG2I_w.js → overview-0TBmi-_i.js} +1 -1
- package/dist/assets/{page-header-B0HpJClf.js → page-header-qdK3sAJh.js} +1 -1
- package/dist/assets/{passport-DKYg_d4G.js → passport-BhEaZ-sr.js} +1 -1
- package/dist/assets/{passport-item-CjcqN_g-.js → passport-item-DHwif94N.js} +1 -1
- package/dist/assets/{permission-DhyiLNfC.js → permission-CvrrGfG6.js} +1 -1
- package/dist/assets/preferences-BBSWzZiT.js +1 -0
- package/dist/assets/profile-embed-shcOdRUI.js +1 -0
- package/dist/assets/{provider-icon-DX-QfJQN.js → provider-icon-DO2PqSth.js} +1 -1
- package/dist/assets/{pt-Dl6732JN.js → pt-BFCHl6F1.js} +1 -1
- package/dist/assets/{publish-resource-vCC9AfJK.js → publish-resource-CMuHIOUf.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-bkXlrjYw.js → react-beautiful-dnd.esm-CWJ5I9Zv.js} +1 -1
- package/dist/assets/{react-stripe.esm-BBCEegrE.js → react-stripe.esm-B-FTN8ep.js} +1 -1
- package/dist/assets/{required-11pmtzQr.js → required-DnQpCGsD.js} +1 -1
- package/dist/assets/{ru-CVUeN9AX.js → ru-CSTl62kK.js} +1 -1
- package/dist/assets/{runtime-BjKYEBG_.js → runtime-B_ZLP4FF.js} +1 -1
- package/dist/assets/sdk-CktKu_IW.js +1 -0
- package/dist/assets/{section-ewv0pNWr.js → section-CZylgxjz.js} +1 -1
- package/dist/assets/{security-Xrnc8Gqe.js → security-DHRU8k0u.js} +1 -1
- package/dist/assets/{session-lE2gmzzF.js → session-Bp3LV7zJ.js} +1 -1
- package/dist/assets/{setup-p5LUFpYK.js → setup-B6-Ei_3X.js} +1 -1
- package/dist/assets/{shorten-label-1iJcvGQT.js → shorten-label-CuBHsWUR.js} +1 -1
- package/dist/assets/{simple-select-BKXEgxog.js → simple-select-nI-W90c_.js} +1 -1
- package/dist/assets/{spaces-Ckljlc4d.js → spaces-ix8u0ZiI.js} +1 -1
- package/dist/assets/{start-BE-C9MhV.js → start-oRp78RMQ.js} +1 -1
- package/dist/assets/{starting-progress-DC-J-5Os.js → starting-progress-CWp5fTY0.js} +1 -1
- package/dist/assets/{status-DR5t3VVx.js → status-Dn_LKaNp.js} +1 -1
- package/dist/assets/{step-actions-CArEuzNw.js → step-actions-DIZRcnXf.js} +1 -1
- package/dist/assets/{studio-BEzAGvQT.js → studio-CVIa8-XY.js} +1 -1
- package/dist/assets/{switch-CmVFEdik.js → switch-BbyTGEOo.js} +1 -1
- package/dist/assets/{switch-control-DbLHF-NB.js → switch-control-BRjXGc1d.js} +1 -1
- package/dist/assets/{table-tips-DQIh1EQR.js → table-tips-Dvmdodc5.js} +1 -1
- package/dist/assets/{team-7-48iuwj.js → team-BTz28XqK.js} +1 -1
- package/dist/assets/{th-32eBNQes.js → th-D75Dlluo.js} +1 -1
- package/dist/assets/theme-mode-toggle-D3bcd10D.js +1 -0
- package/dist/assets/{traffic-Dwd2RNqG.js → traffic-Cea69sMW.js} +1 -1
- package/dist/assets/{transfer-BwnSX6wY.js → transfer-BydXCVCg.js} +1 -1
- package/dist/assets/unsubscribe-BjAjx-Fl.js +1 -0
- package/dist/assets/{use-app-logo-BzsLZwwK.js → use-app-logo-IRizt64R.js} +1 -1
- package/dist/assets/{use-blocklet-logo-BWPJOOVd.js → use-blocklet-logo-Cf1j7pQz.js} +1 -1
- package/dist/assets/{use-mobile-DgmmfWdl.js → use-mobile-CyUZDIaX.js} +1 -1
- package/dist/assets/{use-mobile-BSL5RsRd.js → use-mobile-DFkQ5N0b.js} +1 -1
- package/dist/assets/{use-mobile-TAIHvgoJ.js → use-mobile-DwGMuJlg.js} +1 -1
- package/dist/assets/{use-server-logo-BLcfNvrR.js → use-server-logo-KZn9RrZd.js} +1 -1
- package/dist/assets/{use-window-close-D2_118dJ.js → use-window-close-Dpj5UcYT.js} +1 -1
- package/dist/assets/{useAsyncRetry-B-Txlvk6.js → useAsyncRetry-C4R9ufi-.js} +1 -1
- package/dist/assets/{useLocalStorage-D6axLnAi.js → useLocalStorage-BQfIniHX.js} +1 -1
- package/dist/assets/{user-center-DBscV1le.js → user-center-6K47tx8j.js} +5 -5
- package/dist/assets/{user-follower-Di51icra.js → user-follower-BwzTutxU.js} +1 -1
- package/dist/assets/{util-DCHBQZpP.js → util-DkTwHdRu.js} +1 -1
- package/dist/assets/{util-ad0rjUA1.js → util-DySzCymV.js} +1 -1
- package/dist/assets/{vendor-arcblock-ivFYo5vP.js → vendor-arcblock-Dll6qxMT.js} +1 -1
- package/dist/assets/{vendor-mui-core-D7t4vMS5.js → vendor-mui-core-CV-FnYH_.js} +1 -1
- package/dist/assets/{vendor-mui-x-BpPw6UfF.js → vendor-mui-x-DwN6dcQH.js} +1 -1
- package/dist/assets/{vendor-ux-Dl3wVbv_.js → vendor-ux-CLT2i3Pv.js} +2 -2
- package/dist/assets/{vi-DF8IinAc.js → vi-D1mKYrmb.js} +1 -1
- package/dist/assets/{wait-connect-DOIonmAv.js → wait-connect-q0_7mz_u.js} +1 -1
- package/dist/assets/wallet-hidden-topbar-joIVZ1nl.js +68 -0
- package/dist/assets/{wizard-CrkxQgBY.js → wizard-C5Kl-g70.js} +1 -1
- package/dist/assets/{wizard-components-BzPyRFRt.js → wizard-components-DQrlaeeW.js} +1 -1
- package/dist/assets/wrap-locale-5DJTJTXP.js +1 -0
- package/dist/assets/{zh-DQQBhbva.js → zh-CJ9vCpmv.js} +1 -1
- package/dist/assets/{zh-ByJkLAV1.js → zh-G2I44gfs.js} +1 -1
- package/dist/assets/{zh-tw-34G9tsUP.js → zh-tw-C4Juvs-i.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +31 -31
- package/dist/assets/branding-D-ShZ8m2.js +0 -1
- package/dist/assets/button-B_Qd9K_t.js +0 -1
- package/dist/assets/domains-B9b2gmbn.js +0 -1
- package/dist/assets/engine-L1SEogaX.js +0 -1
- package/dist/assets/get-safe-url-D4zRnTpF.js +0 -1
- package/dist/assets/index-BoJbHOhC.js +0 -1
- package/dist/assets/invitations-gJ3uAWGN.js +0 -3
- package/dist/assets/localization-BYdi6ljV.js +0 -1
- package/dist/assets/logger-BMHd-C1S.js +0 -1
- package/dist/assets/over-due-invoice-payment-DD_j5vb4.js +0 -1
- package/dist/assets/preferences-DHjRWgwZ.js +0 -1
- package/dist/assets/profile-embed-Gc79_Dhj.js +0 -1
- package/dist/assets/sdk-CXEy5Pgp.js +0 -1
- package/dist/assets/theme-mode-toggle-BltDSXhy.js +0 -1
- package/dist/assets/unsubscribe-CP0mTwWi.js +0 -1
- package/dist/assets/wallet-hidden-topbar-DKISAPb3.js +0 -68
- package/dist/assets/wrap-locale-BJF_SaOe.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{W as $,Q as P,Y as he,bD as ke,df as Lt,dg as Ct,b3 as ce,ar as N,aO as we,b4 as M,a6 as Q,dh as It,di as Dt,ba as Fe,dj as Tt,aQ as At,bb as Ne}from"./vendor-ux-Dl3wVbv_.js";import{b as g,a as ne,h as Pt,i as be,f as Et}from"./vendor-hooks-DAZ1H6Va.js";import{r as L,L as Ot}from"./vendor-react-DX7tU9aY.js";import{j as e,al as m,z as V,A as q,X as u,bK as Y,R as X,T as te,I as ge,a4 as pe,G as Le,b3 as _,ct as _e,c3 as qe,d$ as Ft,aT as Je,ai as Ke,e0 as Ge,a7 as Re,an as qt,e1 as Rt,bb as Wt,d1 as Bt,d2 as zt,dW as Ut,bB as Nt,bR as _t,d3 as Vt,V as Ze,Z as Ht,b1 as Mt,a0 as $t,bN as Jt,M as Kt,S as Gt,e2 as Zt}from"./vendor-mui-core-D7t4vMS5.js";import{M as se}from"./provider-icon-DX-QfJQN.js";import{x as re,n as R,z as le,F as Ve,E as Xe,b as je,$ as Qe,aD as Xt,a as Ye}from"./vendor-utils-BzQg432x.js";import{W as K,V as J,c as ie,c4 as We,am as et,b3 as Qt,G as Be,k as Yt}from"./index-Ca33rdd_.js";import{u as oe,C as A,a as He}from"./index.esm-C4tuRtuv.js";import{S as I}from"./section-ewv0pNWr.js";import{S as en}from"./switch-control-DbLHF-NB.js";import{d as tn,a as nn}from"./edit-rounded-CnMn6J-D.js";import{S as on}from"./simple-select-BKXEgxog.js";import{u as tt}from"./index-zkaWHEAS.js";import{v as an}from"./index-CxOxF1pg.js";import{r as sn}from"./base32-Cpvj2sD4.js";import{C as rn}from"./click-to-copy-RBTqACSW.js";import{u as ln}from"./use-mobile-BSL5RsRd.js";import"./google-icon-vNOJy67F.js";import"./passkey-rounded-_WDHIZVd.js";import"./vendor-arcblock-ivFYo5vP.js";import"./required-11pmtzQr.js";import"./arrow-down.svg-Dz9H9vM-.js";const Ce={domain:"",clientId:"",clientSecret:""};function nt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ce},n?.settings?.authentication?.auth0||{}),h=(n.environments||[]).find(a=>a.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ce))}),x=g(async a=>{try{const{blocklet:o}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,auth0:{...a,order:c.auth0?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),C=Object.assign({...Ce},o?.settings?.authentication?.auth0||{});b(C),P.success(t("common.saveSuccess")),s()}catch(o){P.error(o.message||t("common.saveFailed"))}}),D=g(a=>a?.trim()?!0:t("authentication.auth0.domainDescription")),S=g(a=>a?.trim()?!0:t("authentication.auth0.clientIdDescription")),T=g(a=>a?.trim()?!0:t("authentication.auth0.clientSecretDescription")),v=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-auth0":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-auth0",[l]),j=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/auth0");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:v,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[v,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[j,e.jsx(ke,{locale:l,content:j,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.auth0.domain"),children:e.jsx(A,{name:"domain",control:w,rules:{validate:D},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",label:t("authentication.auth0.domain"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.auth0.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:S},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",label:t("authentication.auth0.clientId"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.auth0.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:T},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",type:"password",label:t("authentication.auth0.clientSecret"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})})]})})}nt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Ie={clientId:"",clientSecret:""};function it({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ie},n?.settings?.authentication?.github||{}),h=(n.environments||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ie))}),x=g(async j=>{try{const{blocklet:a}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,github:{...j,order:c.github?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),o=Object.assign({...Ie},a?.settings?.authentication?.github||{});b(o),P.success(t("common.saveSuccess")),s()}catch(a){P.error(a.message||t("common.saveFailed"))}}),D=g(j=>j?.trim()?!0:t("authentication.github.clientIdDescription")),S=g(j=>j?.trim()?!0:t("authentication.github.clientSecretDescription")),T=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-github":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-github",[l]),v=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/github");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:T,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[T,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[v,e.jsx(ke,{locale:l,content:v,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.github.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",label:t("authentication.github.clientId"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.github.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",type:"password",label:t("authentication.github.clientSecret"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})})]})})}it.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const De={showQrcode:!0};function ot({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t}=$(),l=n?.meta?.did,d=Object.assign({...De},n?.settings?.authentication?.wallet||{}),{handleSubmit:f,control:h,reset:y}=oe({defaultValues:re(d,Object.keys(De))}),w=g(async p=>{try{const{blocklet:b}=await i.configAuthentication({input:{did:l,authentication:JSON.stringify({...c,wallet:{...p,order:c.wallet?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),x=Object.assign({...De},b?.settings?.authentication?.wallet||{});y(x),P.success(t("common.saveSuccess")),s()}catch(b){P.error(b.message||t("common.saveFailed"))}});return L.useImperativeHandle(r,()=>({submit:f(w)}),[f,w]),e.jsx(m,{children:e.jsx("form",{children:e.jsx(I,{title:t("authentication.wallet.showQrcode"),children:e.jsx(A,{name:"showQrcode",control:h,render:({field:p})=>e.jsx(Y,{control:e.jsx(en,{sx:{ml:1},checked:p.value,...p})})})})})})}ot.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};function at({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i,inService:n}=K(),{blocklet:t}=J(),{t:l}=$(),d=t?.meta?.did,f=g(async()=>{try{await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,email:{order:c.email?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),P.success(l("common.saveSuccess")),s()}catch(y){P.error(y.message||l("common.saveFailed"))}}),h=ne(()=>n?Ve(le(ie.WELLKNOWN_BLOCKLET_ADMIN_PATH,"/notification/settings"),{type:"email"}):Ve(le("/blocklets",t.appPid,"/configuration"),{tab:"notification",type:"email"}),[n,t.appPid]);return L.useImperativeHandle(r,()=>({submit:f}),[f]),e.jsxs(m,{children:[l("authentication.emailLoginDescription"),e.jsx("br",{}),l("authentication.emailNotificationRequired"),e.jsx("br",{}),e.jsx(m,{component:Ot,to:h,sx:{mt:1,display:"inline-block"},children:e.jsx(X,{size:"small",variant:"outlined",children:l("authentication.gotoEmailNotification")})})]})}at.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};function st({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t}=$(),l=n?.meta?.did,d=g(async()=>{try{await i.configAuthentication({input:{did:l,authentication:JSON.stringify({...c,passkey:{order:c.passkey?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),P.success(t("common.saveSuccess")),s()}catch(f){P.error(f.message||t("common.saveFailed"))}});return L.useImperativeHandle(r,()=>({submit:d}),[d]),null}st.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Te={clientId:"",clientSecret:""};function rt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Te},n?.settings?.authentication?.google||{}),h=(n.environments||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Te))}),x=g(async j=>{try{const{blocklet:a}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,google:{...j,order:c.google?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),o=Object.assign({...Te},a?.settings?.authentication?.google||{});b(o),P.success(t("common.saveSuccess")),s()}catch(a){P.error(a.message||t("common.saveFailed"))}}),D=g(j=>j?.trim()?!0:t("authentication.google.clientIdDescription")),S=g(j=>j?.trim()?!0:t("authentication.google.clientSecretDescription")),T=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-google":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-google",[l]),v=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/google");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:T,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[T,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[v,e.jsx(ke,{locale:l,content:v,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.google.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",label:t("authentication.google.clientId"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.google.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",type:"password",label:t("authentication.google.clientSecret"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})})]})})}rt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Ae={teamId:"",serviceId:"",keyId:"",authKey:"",bundleId:""};function lt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ae},n?.settings?.authentication?.apple||{}),h=(n.environments||[]).find(o=>o.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ae))}),x=g(async o=>{try{const{blocklet:C}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,apple:{...o,order:c.apple?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),B=Object.assign({...Ae},C?.settings?.authentication?.apple||{});b(B),P.success(t("common.saveSuccess")),s()}catch(C){P.error(C.message||t("common.saveFailed"))}}),D=g(o=>o?.trim()?!0:t("authentication.apple.teamIdDescription")),S=g(o=>o?.trim()?!0:t("authentication.apple.serviceIdDescription")),T=g(o=>o?.trim()?!0:t("authentication.apple.keyIdDescription")),v=g(o=>o?.trim()?!0:t("authentication.apple.authKeyDescription")),j=g(o=>o?.trim()?!0:t("authentication.apple.bundleIdDescription")),a=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/apple");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{children:[e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[a,e.jsx(ke,{locale:l,content:a,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.apple.teamId"),children:e.jsx(A,{name:"teamId",control:w,rules:{validate:D},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.teamId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.bundleId"),children:e.jsx(A,{name:"bundleId",control:w,rules:{validate:j},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.bundleId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.serviceId"),children:e.jsx(A,{name:"serviceId",control:w,rules:{validate:S},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.serviceId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.keyId"),children:e.jsx(A,{name:"keyId",control:w,rules:{validate:T},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.keyId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.authKey"),children:e.jsx(A,{name:"authKey",control:w,rules:{validate:v},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",type:"password",label:t("authentication.apple.authKey"),multiline:!0,rows:4,error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" ",slotProps:{input:{sx:{WebkitTextSecurity:"disc",fontFamily:"text-security-disc, monospace"}}}})})})})]})})}lt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Pe={clientId:"",clientSecret:""};function ct({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Pe},n?.settings?.authentication?.twitter||{}),h=(n.environments||[]).find(v=>v.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Pe))}),x=g(async v=>{try{const{blocklet:j}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,twitter:{...v,order:c.twitter?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),a=Object.assign({...Pe},j?.settings?.authentication?.twitter||{});b(a),P.success(t("common.saveSuccess")),s()}catch(j){P.error(j.message||t("common.saveFailed"))}}),D=g(v=>v?.trim()?!0:t("authentication.twitter.clientIdDescription")),S=g(v=>v?.trim()?!0:t("authentication.twitter.clientSecretDescription")),T=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/twitter");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[T,e.jsx(ke,{locale:l,content:T,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.twitter.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:v})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...v,size:"small",label:t("authentication.twitter.clientId"),error:!!p.errors[v.name],helperText:p.errors[v.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.twitter.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:v})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...v,size:"small",type:"password",label:t("authentication.twitter.clientSecret"),error:!!p.errors[v.name],helperText:p.errors[v.name]?.message||" "})})})})]})})}ct.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const cn={width:24,height:24,body:'<path fill="currentColor" d="M9 20q-.825 0-1.413-.588T7 18q0-.825.588-1.413T9 16q.825 0 1.413.588T11 18q0 .825-.588 1.413T9 20Zm6 0q-.825 0-1.413-.588T13 18q0-.825.588-1.413T15 16q.825 0 1.413.588T17 18q0 .825-.588 1.413T15 20Zm-6-6q-.825 0-1.413-.588T7 12q0-.825.588-1.413T9 10q.825 0 1.413.588T11 12q0 .825-.588 1.413T9 14Zm6 0q-.825 0-1.413-.588T13 12q0-.825.588-1.413T15 10q.825 0 1.413.588T17 12q0 .825-.588 1.413T15 14ZM9 8q-.825 0-1.413-.588T7 6q0-.825.588-1.413T9 4q.825 0 1.413.588T11 6q0 .825-.588 1.413T9 8Zm6 0q-.825 0-1.413-.588T13 6q0-.825.588-1.413T15 4q.825 0 1.413.588T17 6q0 .825-.588 1.413T15 8Z"/>'};function dt({id:r,title:s,index:c,onBegin:i=R,onMove:n,onEnd:t,onEditItem:l=R,onDeleteItem:d=R,disableDelete:f=!1,icon:h=null}){const y=L.useRef(null),w=L.useRef(null),[{handlerId:p},b]=Lt({accept:"dragItem",collect(T){return{handlerId:T.getHandlerId()}},hover(T,v){if(!y.current)return;const j=T.index,a=c;if(j===a)return;const o=y.current?.getBoundingClientRect(),C=w.current?.getBoundingClientRect(),B=(C.bottom-C.top)/2,fe=v.getClientOffset().y-o.top;j<a&&fe<B||j>a&&fe>B||(n(j,a),T.index=a)}}),[{isDragging:x},D]=Ct({item:{index:c,type:"dragItem"},collect:T=>({isDragging:T.isDragging()}),begin:i,end:t});D(w),b(y);const S=x?.3:1;return e.jsx(m,{ref:y,children:e.jsxs(m,{sx:{cursor:"pointer","&:hover":{backgroundColor:"grey.100"}},ref:w,"data-handler-id":p,children:[e.jsxs(m,{sx:{py:2,px:1,opacity:S,display:"flex",alignItems:"center",gap:.5},draggable:!1,children:[e.jsx(m,{sx:{pointerEvents:"auto",cursor:"grab","&:active":{cursor:"grabbing"},fontSize:0,color:"text.hint","&:hover":{color:"text.secondary"}},children:e.jsx(he,{fontSize:20,icon:cn})}),e.jsx(m,{sx:{display:"flex",alignItems:"center",flexShrink:0,mr:.5,transform:"translateY(-1px)"},children:h}),e.jsx(te,{sx:{flex:1},children:s}),e.jsx(ge,{size:"small",color:"primary",onClick:()=>{l(r)},children:e.jsx(he,{icon:tn})}),e.jsx(ge,{size:"small",color:"error",onClick:()=>{d(r)},disabled:f,children:e.jsx(he,{icon:nn})})]}),e.jsx(pe,{})]})})}dt.propTypes={title:u.string.isRequired,id:u.string.isRequired,index:u.number.isRequired,onBegin:u.func,onMove:u.func.isRequired,onEnd:u.func.isRequired,onEditItem:u.func,onDeleteItem:u.func,disableDelete:u.bool,icon:u.any};function ut({ref:r=null,providers:s=[],sortMaps:c={}}){const i=L.useRef(null),{t:n}=L.useContext(ce),t=Le(),{control:l,watch:d,setValue:f,reset:h}=oe({mode:"onChange",defaultValues:{provider:""}}),y=d("provider"),w=s.find(a=>a.name===y),p=Pt(w),b=t?.transitions?.duration?.leavingScreen||300,x=be({initMode:"add",mode:"add",show:!1,callback:R,get dialogTitle(){return this.mode==="edit"?n("authentication.updateLoginProvider",{provider:p.current?.title}):n("authentication.addLoginProvider")}}),D=g(()=>{h(),x.mode="add",x.initMode="add"}),S=g(()=>{x.show=!1,setTimeout(()=>{D()},b)}),T=g((a,o=null)=>{if(x.show=!0,o)x.initMode="edit",x.mode="edit",f("provider",o.provider);else{const C=s.find(B=>B.enabled===!1)?.name||s[0]?.name||N.WALLET;f("provider",C)}a?x.callback=a:x.callback=R});L.useImperativeHandle(r,()=>({open:T,close:S}),[T,S]);const v=g(()=>{i.current.submit()}),j=s.map(a=>({value:a.name,title:a.title,description:a.enabled?n("common.enabled"):""}));return L.useEffect(()=>{w?.enabled?x.mode="edit":x.mode="add"},[w?.enabled]),e.jsxs(we,{open:x.show,title:x.dialogTitle,onClose:S,fullWidth:!0,maxWidth:"sm",PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:v,disabled:!y,children:x.mode==="add"?n("common.confirm"):n("common.update")}),children:[x.initMode==="edit"?null:e.jsx(A,{name:"provider",control:l,render:({field:a})=>e.jsx(on,{required:!0,fullWidth:!0,margin:"dense",size:"small",label:n("authentication.chooseProvider"),placeholder:n("authentication.chooseProviderPlaceholder"),options:j,...Xe(a,"ref"),slotProps:{optionItem:{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%"}}}})}),e.jsx(m,{sx:{mt:2,".section":{mb:1,gap:4},".section-left":{width:150}},children:w?.component&&e.jsx(w.component,{ref:i,onSuccess:S,sortMaps:c})})]})}ut.propTypes={ref:u.any,providers:u.array,sortMaps:u.object};function dn(){const{confirmApi:r,confirmHolder:s}=et(),c=L.useRef(),{t:i}=$(),{api:n}=K(),{blocklet:t}=J(),l=t?.meta?.did,d=t?.settings?.authentication||{},f=[{name:N.WALLET,title:Q[N.WALLET],icon:e.jsx(se,{provider:"wallet",sx:{width:20,height:20,scale:.9}}),component:ot},{name:N.EMAIL,title:Q[N.EMAIL],icon:e.jsx(se,{provider:"email",sx:{width:20,height:20,scale:.9}}),component:at},{name:N.PASSKEY,title:Q[N.PASSKEY],icon:e.jsx(se,{provider:"passkey",sx:{width:20,height:20,scale:.9}}),component:st},{name:N.GOOGLE,title:Q[N.GOOGLE],icon:e.jsx(se,{provider:"google",sx:{width:20,height:20}}),component:rt},{name:N.APPLE,title:Q[N.APPLE],icon:e.jsx(se,{provider:"apple",sx:{width:20,height:20}}),component:lt},{name:N.GITHUB,title:Q[N.GITHUB],icon:e.jsx(se,{provider:"github",sx:{width:20,height:20}}),component:it},{name:N.TWITTER,title:Q[N.TWITTER],icon:e.jsx(se,{provider:"twitter",sx:{width:20,height:20}}),component:ct},{name:N.AUTH0,title:Q[N.AUTH0],icon:e.jsx(se,{provider:"auth0",sx:{width:20,height:20}}),component:nt,hidden:!0}].map(a=>({...a,enabled:d[a.name]?.enabled??!1,order:d[a.name]?.order??null})),h=f.filter(a=>a.enabled),y=h.sort((a,o)=>!je(a?.order)&&!je(o?.order)?a.order-o.order:je(a?.order)?1:-1),w=y.reduce((a,o,C)=>Object.assign(a,{[o.name]:{order:C}}),{}),p=be(y.reduce((a,o,C)=>Object.assign(a,{[o.name]:C}),{})),b=[...h].sort((a,o)=>p[a.name]-p[o.name]),x={};typeof window<"u"&&(x.context=window);const D=g((a,o)=>{const C=b[a],B=b[o];p[C.name]=o,p[B.name]=a}),S=g(async()=>{const a=Object.keys(p).reduce((o,C)=>(o[C]={order:p[C]},o),{});await n.configAuthentication({input:{did:l,authentication:JSON.stringify(a)}})}),T=()=>{c.current.open(()=>{c.current.close()})},v=g(a=>{c.current.open(R,{provider:a})}),j=g(a=>{r.open({title:i("authentication.deleteLoginProvider",{provider:Q[a]}),content:i("authentication.deleteLoginProviderDescription",{provider:Q[a]}),confirmButtonText:i("common.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:i("common.cancel"),async onConfirm(o){try{await n.configAuthentication({input:{did:l,authentication:JSON.stringify({[a]:{enabled:!1,order:null}})}}),delete p[a],P.success(i("common.removeSuccess")),o()}catch(C){P.error(C.message||i("common.deleteFailed"))}}})});return e.jsxs(m,{children:[e.jsx(M,{variant:"contained",onClick:T,sx:{mb:1},children:i("authentication.addLoginProvider")}),e.jsx(It,{backend:Dt,...x,children:b.map((a,o)=>e.jsx(dt,{index:o,id:a.name,title:a.title,icon:a.icon,onMove:D,onEnd:S,onEditItem:v,onDeleteItem:j,disableDelete:y.length<=1,children:a.component},a.name))}),e.jsx(ut,{ref:c,providers:f,sortMaps:w}),s]})}const me={ttl:ie.SESSION_TTL,cacheTtl:ie.SESSION_CACHE_TTL,email:{enabled:!1,requireVerified:!1,requireUnique:!1,trustOauthProviders:!1,trustedIssuers:[],enableDomainBlackList:!1,domainBlackList:[],enableDomainWhiteList:!1,domainWhiteList:[]},phone:{enabled:!1,requireVerified:!1,requireUnique:!1,regionBlackList:[],trustedIssuers:[]},enableBlacklist:!1};function Z(r){return e.jsx(tt,{...r,sx:{transform:"scale(0.75)"}})}function Ee(r,s=!1){const c=s?r.ttl*86400:r.ttl/86400;return{...r,ttl:c}}function un(){const{api:r}=K(),{blocklet:s}=J(),c=s?.meta?.did,i=Qe({},me,s?.settings?.session||{});je(i.ttl)&&(i.ttl=me.ttl),je(i.cacheTtl)&&(i.cacheTtl=me.cacheTtl),i.phone||(i.phone=me.phone),i.email||(i.email=me.email),je(i.enableBlacklist)&&(i.enableBlacklist=me.enableBlacklist);const{handleSubmit:n,control:t,formState:l,reset:d,watch:f}=oe({defaultValues:re(Ee(i),["ttl","cacheTtl","email","phone","enableBlacklist"])}),{t:h}=$(),y=f("email.enabled"),w=f("phone.enabled"),p=f("email.enableDomainBlackList"),b=f("email.enableDomainWhiteList"),{fields:x,append:D,remove:S}=He({control:t,name:"email.domainBlackList"}),{fields:T,append:v,remove:j}=He({control:t,name:"email.domainWhiteList"}),a=g(async o=>{try{const{blocklet:C}=await r.updateAppSessionConfig({input:{did:c,config:Xe(Ee(o,!0),["phone"])}}),B=Object.assign({},me,re(C?.settings?.session||{},["ttl","cacheTtl","email","phone","enableBlacklist"]));d(Ee(B)),P.success(h("common.configSuccess"))}catch(C){P.error(C.message)}});return e.jsx(mn,{onSubmit:n(a),children:e.jsxs(_,{direction:"column",sx:{gap:6},children:[e.jsxs(m,{children:[e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.profile")}),e.jsx(m,{component:pe,sx:{my:3}})]}),e.jsxs(_,{sx:{gap:2},children:[e.jsx(I,{title:h("blocklet.config.session.fullNameEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(Z,{disabled:!0,checked:!0})})}),e.jsx(I,{title:h("blocklet.config.session.avatarEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(Z,{disabled:!0,checked:!0})})}),e.jsx(I,{title:h("blocklet.config.session.emailEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enabled",control:t,render:({field:o})=>e.jsx(Z,{...o,checked:o.value})})})}),y&&e.jsxs(_,{direction:"column",sx:{ml:2,gap:.5},children:[e.jsx(I,{title:h("blocklet.config.session.emailRequireVerified"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.requireVerified",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.emailRequireUnique"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.requireUnique",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.emailTrustOauthProviders"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.trustOauthProviders",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.enableDomainBlackList"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enableDomainBlackList",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),p&&e.jsxs(m,{children:[x.map((o,C)=>e.jsxs(_,{direction:"row",sx:{alignItems:"center",my:1,maxWidth:"720px"},children:[e.jsx(A,{name:`email.domainBlackList.${C}`,control:t,render:B=>e.jsx(q,{...B.field,size:"small",fullWidth:!0})}),e.jsx(ge,{onClick:()=>S(C),children:e.jsx(_e,{})})]},o.id)),e.jsx(X,{startIcon:e.jsx(qe,{}),onClick:()=>D(""),children:h("blocklet.config.session.addDomain")})]}),e.jsx(I,{title:h("blocklet.config.session.enableDomainWhiteList"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enableDomainWhiteList",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),b&&e.jsxs(m,{children:[T.map((o,C)=>e.jsxs(_,{direction:"row",sx:{alignItems:"center",my:1,maxWidth:"720px"},children:[e.jsx(A,{name:`email.domainWhiteList.${C}`,control:t,render:B=>e.jsx(q,{...B.field,size:"small",fullWidth:!0})}),e.jsx(ge,{onClick:()=>j(C),children:e.jsx(_e,{})})]},o.id)),e.jsx(X,{startIcon:e.jsx(qe,{}),onClick:()=>v(""),children:h("blocklet.config.session.addDomain")})]})]}),e.jsxs(m,{sx:{display:"none"},children:[e.jsx(I,{title:h("blocklet.config.session.phoneEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.enabled",control:t,disabled:!0,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),w&&e.jsxs(_,{direction:"column",sx:{ml:2,mt:1},children:[e.jsx(I,{title:h("blocklet.config.session.phoneRequireVerified"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.requireVerified",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.phoneRequireUnique"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.requireUnique",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})})]})]})]})]}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.period")}),e.jsx(m,{component:pe,sx:{my:3}}),e.jsx(_,{direction:"column",spacing:2,children:e.jsx(A,{name:"ttl",control:t,rules:{min:1,max:30},render:({field:o})=>e.jsx(V,{fullWidth:!0,sx:{mb:2},children:e.jsx(I,{title:h("blocklet.config.session.ttl",{day:o.value}),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{width:"100%",maxWidth:500,px:2},children:e.jsx(Ft,{...o,defaultValue:7,step:1,marks:[{value:1,label:h("blocklet.config.session.day",{day:1})},{value:7,label:h("blocklet.config.session.days",{day:7})},{value:14,label:h("blocklet.config.session.days",{day:14})},{value:21,label:h("blocklet.config.session.days",{day:21})},{value:30,label:h("blocklet.config.session.days",{day:30})}],min:1,max:30,valueLabelDisplay:"auto"})})})})})})]}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.experimentalSettings")}),e.jsx(m,{component:pe,sx:{my:3}}),e.jsx(_,{direction:"column",spacing:2,children:e.jsx(I,{title:h("blocklet.config.session.enableBlacklist"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"enableBlacklist",control:t,render:({field:o})=>e.jsx(Y,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})})})]}),e.jsx(m,{children:e.jsx(X,{type:"submit",variant:"contained",disabled:!l.isDirty,children:h("common.save")})})]})})}const mn=Je.form`
|
|
1
|
+
import{W as $,Q as P,Y as he,bF as ke,dh as Lt,di as Ct,b4 as ce,ar as N,aO as we,b5 as M,a6 as Y,dj as It,dk as Dt,bb as Fe,dl as Tt,aR as At,bc as Ne}from"./vendor-ux-CLT2i3Pv.js";import{b as g,a as ne,h as Pt,i as be,f as Et}from"./vendor-hooks-DAZ1H6Va.js";import{r as L,L as Ot}from"./vendor-react-DX7tU9aY.js";import{j as e,al as m,z as V,A as q,X as u,bK as Q,R as X,T as te,I as ge,a4 as pe,G as Le,b3 as _,cr as _e,ct as qe,d$ as Ft,aT as Je,ai as Ke,e0 as Ge,a7 as Re,an as qt,e1 as Rt,bb as Wt,d1 as Bt,d2 as zt,dW as Ut,bB as Nt,bR as _t,d3 as Vt,V as Ze,Z as Ht,b1 as Mt,a0 as $t,bN as Jt,M as Kt,S as Gt,e2 as Zt}from"./vendor-mui-core-CV-FnYH_.js";import{M as se}from"./provider-icon-DO2PqSth.js";import{x as re,n as R,z as le,F as Ve,E as Xe,b as je,$ as Ye,aD as Xt,a as Qe}from"./vendor-utils-BzQg432x.js";import{W as K,V as J,c as ie,c4 as We,am as et,b3 as Yt,G as Be,k as Qt}from"./index-CXp5SI_f.js";import{u as oe,C as A,a as He}from"./index.esm-C4tuRtuv.js";import{S as I}from"./section-CZylgxjz.js";import{S as en}from"./switch-control-BRjXGc1d.js";import{d as tn,a as nn}from"./edit-rounded-CnMn6J-D.js";import{S as on}from"./simple-select-nI-W90c_.js";import{u as tt}from"./index-C_kNXHsF.js";import{v as an}from"./index-Di2nSesc.js";import{r as sn}from"./base32-7iZvvdX8.js";import{C as rn}from"./click-to-copy-BgIYUMoo.js";import{u as ln}from"./use-mobile-DwGMuJlg.js";import"./google-icon-vNOJy67F.js";import"./passkey-rounded-_WDHIZVd.js";import"./vendor-arcblock-Dll6qxMT.js";import"./required-DnQpCGsD.js";import"./arrow-down.svg-Dz9H9vM-.js";const Ce={domain:"",clientId:"",clientSecret:""};function nt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ce},n?.settings?.authentication?.auth0||{}),h=(n.environments||[]).find(a=>a.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ce))}),x=g(async a=>{try{const{blocklet:o}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,auth0:{...a,order:c.auth0?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),C=Object.assign({...Ce},o?.settings?.authentication?.auth0||{});b(C),P.success(t("common.saveSuccess")),s()}catch(o){P.error(o.message||t("common.saveFailed"))}}),D=g(a=>a?.trim()?!0:t("authentication.auth0.domainDescription")),S=g(a=>a?.trim()?!0:t("authentication.auth0.clientIdDescription")),T=g(a=>a?.trim()?!0:t("authentication.auth0.clientSecretDescription")),v=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-auth0":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-auth0",[l]),j=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/auth0");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:v,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[v,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[j,e.jsx(ke,{locale:l,content:j,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.auth0.domain"),children:e.jsx(A,{name:"domain",control:w,rules:{validate:D},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",label:t("authentication.auth0.domain"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.auth0.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:S},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",label:t("authentication.auth0.clientId"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.auth0.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:T},render:({field:a})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...a,size:"small",type:"password",label:t("authentication.auth0.clientSecret"),error:!!p.errors[a.name],helperText:p.errors[a.name]?.message||" "})})})})]})})}nt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Ie={clientId:"",clientSecret:""};function it({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ie},n?.settings?.authentication?.github||{}),h=(n.environments||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ie))}),x=g(async j=>{try{const{blocklet:a}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,github:{...j,order:c.github?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),o=Object.assign({...Ie},a?.settings?.authentication?.github||{});b(o),P.success(t("common.saveSuccess")),s()}catch(a){P.error(a.message||t("common.saveFailed"))}}),D=g(j=>j?.trim()?!0:t("authentication.github.clientIdDescription")),S=g(j=>j?.trim()?!0:t("authentication.github.clientSecretDescription")),T=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-github":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-github",[l]),v=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/github");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:T,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[T,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[v,e.jsx(ke,{locale:l,content:v,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.github.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",label:t("authentication.github.clientId"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.github.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",type:"password",label:t("authentication.github.clientSecret"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})})]})})}it.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const De={showQrcode:!0};function ot({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t}=$(),l=n?.meta?.did,d=Object.assign({...De},n?.settings?.authentication?.wallet||{}),{handleSubmit:f,control:h,reset:y}=oe({defaultValues:re(d,Object.keys(De))}),w=g(async p=>{try{const{blocklet:b}=await i.configAuthentication({input:{did:l,authentication:JSON.stringify({...c,wallet:{...p,order:c.wallet?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),x=Object.assign({...De},b?.settings?.authentication?.wallet||{});y(x),P.success(t("common.saveSuccess")),s()}catch(b){P.error(b.message||t("common.saveFailed"))}});return L.useImperativeHandle(r,()=>({submit:f(w)}),[f,w]),e.jsx(m,{children:e.jsx("form",{children:e.jsx(I,{title:t("authentication.wallet.showQrcode"),children:e.jsx(A,{name:"showQrcode",control:h,render:({field:p})=>e.jsx(Q,{control:e.jsx(en,{sx:{ml:1},checked:p.value,...p})})})})})})}ot.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};function at({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i,inService:n}=K(),{blocklet:t}=J(),{t:l}=$(),d=t?.meta?.did,f=g(async()=>{try{await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,email:{order:c.email?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),P.success(l("common.saveSuccess")),s()}catch(y){P.error(y.message||l("common.saveFailed"))}}),h=ne(()=>n?Ve(le(ie.WELLKNOWN_BLOCKLET_ADMIN_PATH,"/notification/settings"),{type:"email"}):Ve(le("/blocklets",t.appPid,"/configuration"),{tab:"notification",type:"email"}),[n,t.appPid]);return L.useImperativeHandle(r,()=>({submit:f}),[f]),e.jsxs(m,{children:[l("authentication.emailLoginDescription"),e.jsx("br",{}),l("authentication.emailNotificationRequired"),e.jsx("br",{}),e.jsx(m,{component:Ot,to:h,sx:{mt:1,display:"inline-block"},children:e.jsx(X,{size:"small",variant:"outlined",children:l("authentication.gotoEmailNotification")})})]})}at.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};function st({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t}=$(),l=n?.meta?.did,d=g(async()=>{try{await i.configAuthentication({input:{did:l,authentication:JSON.stringify({...c,passkey:{order:c.passkey?.order??Object.keys(c).length,enabled:!0,type:"builtin"}})}}),P.success(t("common.saveSuccess")),s()}catch(f){P.error(f.message||t("common.saveFailed"))}});return L.useImperativeHandle(r,()=>({submit:d}),[d]),null}st.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Te={clientId:"",clientSecret:""};function rt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Te},n?.settings?.authentication?.google||{}),h=(n.environments||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Te))}),x=g(async j=>{try{const{blocklet:a}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,google:{...j,order:c.google?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),o=Object.assign({...Te},a?.settings?.authentication?.google||{});b(o),P.success(t("common.saveSuccess")),s()}catch(a){P.error(a.message||t("common.saveFailed"))}}),D=g(j=>j?.trim()?!0:t("authentication.google.clientIdDescription")),S=g(j=>j?.trim()?!0:t("authentication.google.clientSecretDescription")),T=ne(()=>l==="zh"?"https://www.arcblock.io/blog/docs/did-connect/zh/oauth-config-google":"https://www.arcblock.io/blog/docs/did-connect/en/oauth-config-google",[l]),v=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/google");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.viewDocument"),children:e.jsxs(m,{component:"a",href:T,target:"_blank",rel:"noopener noreferrer",sx:{verticalAlign:"middle",color:"inherit",fontSize:"14px","&:hover":{textDecoration:"underline"}},children:[T,e.jsx(m,{component:he,icon:We,sx:{marginLeft:"6px",verticalAlign:"middle",lineHeight:1,scale:1.1}})]})}),e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[v,e.jsx(ke,{locale:l,content:v,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.google.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",label:t("authentication.google.clientId"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.google.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:j})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...j,size:"small",type:"password",label:t("authentication.google.clientSecret"),error:!!p.errors[j.name],helperText:p.errors[j.name]?.message||" "})})})})]})})}rt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Ae={teamId:"",serviceId:"",keyId:"",authKey:"",bundleId:""};function lt({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Ae},n?.settings?.authentication?.apple||{}),h=(n.environments||[]).find(o=>o.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Ae))}),x=g(async o=>{try{const{blocklet:C}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,apple:{...o,order:c.apple?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),B=Object.assign({...Ae},C?.settings?.authentication?.apple||{});b(B),P.success(t("common.saveSuccess")),s()}catch(C){P.error(C.message||t("common.saveFailed"))}}),D=g(o=>o?.trim()?!0:t("authentication.apple.teamIdDescription")),S=g(o=>o?.trim()?!0:t("authentication.apple.serviceIdDescription")),T=g(o=>o?.trim()?!0:t("authentication.apple.keyIdDescription")),v=g(o=>o?.trim()?!0:t("authentication.apple.authKeyDescription")),j=g(o=>o?.trim()?!0:t("authentication.apple.bundleIdDescription")),a=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/apple");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{children:[e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[a,e.jsx(ke,{locale:l,content:a,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.apple.teamId"),children:e.jsx(A,{name:"teamId",control:w,rules:{validate:D},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.teamId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.bundleId"),children:e.jsx(A,{name:"bundleId",control:w,rules:{validate:j},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.bundleId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.serviceId"),children:e.jsx(A,{name:"serviceId",control:w,rules:{validate:S},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.serviceId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.keyId"),children:e.jsx(A,{name:"keyId",control:w,rules:{validate:T},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",label:t("authentication.apple.keyId"),error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.apple.authKey"),children:e.jsx(A,{name:"authKey",control:w,rules:{validate:v},render:({field:o})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...o,size:"small",type:"password",label:t("authentication.apple.authKey"),multiline:!0,rows:4,error:!!p.errors[o.name],helperText:p.errors[o.name]?.message||" ",slotProps:{input:{sx:{WebkitTextSecurity:"disc",fontFamily:"text-security-disc, monospace"}}}})})})})]})})}lt.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const Pe={clientId:"",clientSecret:""};function ct({ref:r=null,onSuccess:s=R,sortMaps:c={}}){const{api:i}=K(),{blocklet:n}=J(),{t,locale:l}=$(),d=n?.meta?.did,f=Object.assign({...Pe},n?.settings?.authentication?.twitter||{}),h=(n.environments||[]).find(v=>v.key==="BLOCKLET_APP_URL")?.value||window.location.origin,{handleSubmit:y,control:w,formState:p,reset:b}=oe({defaultValues:re(f,Object.keys(Pe))}),x=g(async v=>{try{const{blocklet:j}=await i.configAuthentication({input:{did:d,authentication:JSON.stringify({...c,twitter:{...v,order:c.twitter?.order??Object.keys(c).length,enabled:!0,type:"oauth"}})}}),a=Object.assign({...Pe},j?.settings?.authentication?.twitter||{});b(a),P.success(t("common.saveSuccess")),s()}catch(j){P.error(j.message||t("common.saveFailed"))}}),D=g(v=>v?.trim()?!0:t("authentication.twitter.clientIdDescription")),S=g(v=>v?.trim()?!0:t("authentication.twitter.clientSecretDescription")),T=le(h,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"oauth/callback/twitter");return L.useImperativeHandle(r,()=>({submit:y(x)}),[y,x]),e.jsx(m,{children:e.jsxs("form",{onSubmit:y(x),disabled:!0,children:[e.jsx(I,{title:t("authentication.oauthCallbackUrl"),children:e.jsxs(m,{sx:{mb:1,verticalAlign:"middle",fontSize:"14px",wordBreak:"break-all"},children:[T,e.jsx(ke,{locale:l,content:T,style:{marginLeft:"6px",verticalAlign:"middle",scale:.8,lineHeight:1}})]})}),e.jsx(I,{title:t("authentication.twitter.clientId"),children:e.jsx(A,{name:"clientId",control:w,rules:{validate:D},render:({field:v})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...v,size:"small",label:t("authentication.twitter.clientId"),error:!!p.errors[v.name],helperText:p.errors[v.name]?.message||" "})})})}),e.jsx(I,{title:t("authentication.twitter.clientSecret"),children:e.jsx(A,{name:"clientSecret",control:w,rules:{validate:S},render:({field:v})=>e.jsx(V,{fullWidth:!0,children:e.jsx(q,{...v,size:"small",type:"password",label:t("authentication.twitter.clientSecret"),error:!!p.errors[v.name],helperText:p.errors[v.name]?.message||" "})})})})]})})}ct.propTypes={ref:u.any,onSuccess:u.func,sortMaps:u.object};const cn={width:24,height:24,body:'<path fill="currentColor" d="M9 20q-.825 0-1.413-.588T7 18q0-.825.588-1.413T9 16q.825 0 1.413.588T11 18q0 .825-.588 1.413T9 20Zm6 0q-.825 0-1.413-.588T13 18q0-.825.588-1.413T15 16q.825 0 1.413.588T17 18q0 .825-.588 1.413T15 20Zm-6-6q-.825 0-1.413-.588T7 12q0-.825.588-1.413T9 10q.825 0 1.413.588T11 12q0 .825-.588 1.413T9 14Zm6 0q-.825 0-1.413-.588T13 12q0-.825.588-1.413T15 10q.825 0 1.413.588T17 12q0 .825-.588 1.413T15 14ZM9 8q-.825 0-1.413-.588T7 6q0-.825.588-1.413T9 4q.825 0 1.413.588T11 6q0 .825-.588 1.413T9 8Zm6 0q-.825 0-1.413-.588T13 6q0-.825.588-1.413T15 4q.825 0 1.413.588T17 6q0 .825-.588 1.413T15 8Z"/>'};function dt({id:r,title:s,index:c,onBegin:i=R,onMove:n,onEnd:t,onEditItem:l=R,onDeleteItem:d=R,disableDelete:f=!1,icon:h=null}){const y=L.useRef(null),w=L.useRef(null),[{handlerId:p},b]=Lt({accept:"dragItem",collect(T){return{handlerId:T.getHandlerId()}},hover(T,v){if(!y.current)return;const j=T.index,a=c;if(j===a)return;const o=y.current?.getBoundingClientRect(),C=w.current?.getBoundingClientRect(),B=(C.bottom-C.top)/2,fe=v.getClientOffset().y-o.top;j<a&&fe<B||j>a&&fe>B||(n(j,a),T.index=a)}}),[{isDragging:x},D]=Ct({item:{index:c,type:"dragItem"},collect:T=>({isDragging:T.isDragging()}),begin:i,end:t});D(w),b(y);const S=x?.3:1;return e.jsx(m,{ref:y,children:e.jsxs(m,{sx:{cursor:"pointer","&:hover":{backgroundColor:"grey.100"}},ref:w,"data-handler-id":p,children:[e.jsxs(m,{sx:{py:2,px:1,opacity:S,display:"flex",alignItems:"center",gap:.5},draggable:!1,children:[e.jsx(m,{sx:{pointerEvents:"auto",cursor:"grab","&:active":{cursor:"grabbing"},fontSize:0,color:"text.hint","&:hover":{color:"text.secondary"}},children:e.jsx(he,{fontSize:20,icon:cn})}),e.jsx(m,{sx:{display:"flex",alignItems:"center",flexShrink:0,mr:.5,transform:"translateY(-1px)"},children:h}),e.jsx(te,{sx:{flex:1},children:s}),e.jsx(ge,{size:"small",color:"primary",onClick:()=>{l(r)},children:e.jsx(he,{icon:tn})}),e.jsx(ge,{size:"small",color:"error",onClick:()=>{d(r)},disabled:f,children:e.jsx(he,{icon:nn})})]}),e.jsx(pe,{})]})})}dt.propTypes={title:u.string.isRequired,id:u.string.isRequired,index:u.number.isRequired,onBegin:u.func,onMove:u.func.isRequired,onEnd:u.func.isRequired,onEditItem:u.func,onDeleteItem:u.func,disableDelete:u.bool,icon:u.any};function ut({ref:r=null,providers:s=[],sortMaps:c={}}){const i=L.useRef(null),{t:n}=L.useContext(ce),t=Le(),{control:l,watch:d,setValue:f,reset:h}=oe({mode:"onChange",defaultValues:{provider:""}}),y=d("provider"),w=s.find(a=>a.name===y),p=Pt(w),b=t?.transitions?.duration?.leavingScreen||300,x=be({initMode:"add",mode:"add",show:!1,callback:R,get dialogTitle(){return this.mode==="edit"?n("authentication.updateLoginProvider",{provider:p.current?.title}):n("authentication.addLoginProvider")}}),D=g(()=>{h(),x.mode="add",x.initMode="add"}),S=g(()=>{x.show=!1,setTimeout(()=>{D()},b)}),T=g((a,o=null)=>{if(x.show=!0,o)x.initMode="edit",x.mode="edit",f("provider",o.provider);else{const C=s.find(B=>B.enabled===!1)?.name||s[0]?.name||N.WALLET;f("provider",C)}a?x.callback=a:x.callback=R});L.useImperativeHandle(r,()=>({open:T,close:S}),[T,S]);const v=g(()=>{i.current.submit()}),j=s.map(a=>({value:a.name,title:a.title,description:a.enabled?n("common.enabled"):""}));return L.useEffect(()=>{w?.enabled?x.mode="edit":x.mode="add"},[w?.enabled]),e.jsxs(we,{open:x.show,title:x.dialogTitle,onClose:S,fullWidth:!0,maxWidth:"sm",PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:v,disabled:!y,children:x.mode==="add"?n("common.confirm"):n("common.update")}),children:[x.initMode==="edit"?null:e.jsx(A,{name:"provider",control:l,render:({field:a})=>e.jsx(on,{required:!0,fullWidth:!0,margin:"dense",size:"small",label:n("authentication.chooseProvider"),placeholder:n("authentication.chooseProviderPlaceholder"),options:j,...Xe(a,"ref"),slotProps:{optionItem:{sx:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",width:"100%"}}}})}),e.jsx(m,{sx:{mt:2,".section":{mb:1,gap:4},".section-left":{width:150}},children:w?.component&&e.jsx(w.component,{ref:i,onSuccess:S,sortMaps:c})})]})}ut.propTypes={ref:u.any,providers:u.array,sortMaps:u.object};function dn(){const{confirmApi:r,confirmHolder:s}=et(),c=L.useRef(),{t:i}=$(),{api:n}=K(),{blocklet:t}=J(),l=t?.meta?.did,d=t?.settings?.authentication||{},f=[{name:N.WALLET,title:Y[N.WALLET],icon:e.jsx(se,{provider:"wallet",sx:{width:20,height:20,scale:.9}}),component:ot},{name:N.EMAIL,title:Y[N.EMAIL],icon:e.jsx(se,{provider:"email",sx:{width:20,height:20,scale:.9}}),component:at},{name:N.PASSKEY,title:Y[N.PASSKEY],icon:e.jsx(se,{provider:"passkey",sx:{width:20,height:20,scale:.9}}),component:st},{name:N.GOOGLE,title:Y[N.GOOGLE],icon:e.jsx(se,{provider:"google",sx:{width:20,height:20}}),component:rt},{name:N.APPLE,title:Y[N.APPLE],icon:e.jsx(se,{provider:"apple",sx:{width:20,height:20}}),component:lt},{name:N.GITHUB,title:Y[N.GITHUB],icon:e.jsx(se,{provider:"github",sx:{width:20,height:20}}),component:it},{name:N.TWITTER,title:Y[N.TWITTER],icon:e.jsx(se,{provider:"twitter",sx:{width:20,height:20}}),component:ct},{name:N.AUTH0,title:Y[N.AUTH0],icon:e.jsx(se,{provider:"auth0",sx:{width:20,height:20}}),component:nt,hidden:!0}].map(a=>({...a,enabled:d[a.name]?.enabled??!1,order:d[a.name]?.order??null})),h=f.filter(a=>a.enabled),y=h.sort((a,o)=>!je(a?.order)&&!je(o?.order)?a.order-o.order:je(a?.order)?1:-1),w=y.reduce((a,o,C)=>Object.assign(a,{[o.name]:{order:C}}),{}),p=be(y.reduce((a,o,C)=>Object.assign(a,{[o.name]:C}),{})),b=[...h].sort((a,o)=>p[a.name]-p[o.name]),x={};typeof window<"u"&&(x.context=window);const D=g((a,o)=>{const C=b[a],B=b[o];p[C.name]=o,p[B.name]=a}),S=g(async()=>{const a=Object.keys(p).reduce((o,C)=>(o[C]={order:p[C]},o),{});await n.configAuthentication({input:{did:l,authentication:JSON.stringify(a)}})}),T=()=>{c.current.open(()=>{c.current.close()})},v=g(a=>{c.current.open(R,{provider:a})}),j=g(a=>{r.open({title:i("authentication.deleteLoginProvider",{provider:Y[a]}),content:i("authentication.deleteLoginProviderDescription",{provider:Y[a]}),confirmButtonText:i("common.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:i("common.cancel"),async onConfirm(o){try{await n.configAuthentication({input:{did:l,authentication:JSON.stringify({[a]:{enabled:!1,order:null}})}}),delete p[a],P.success(i("common.removeSuccess")),o()}catch(C){P.error(C.message||i("common.deleteFailed"))}}})});return e.jsxs(m,{children:[e.jsx(M,{variant:"contained",onClick:T,sx:{mb:1},children:i("authentication.addLoginProvider")}),e.jsx(It,{backend:Dt,...x,children:b.map((a,o)=>e.jsx(dt,{index:o,id:a.name,title:a.title,icon:a.icon,onMove:D,onEnd:S,onEditItem:v,onDeleteItem:j,disableDelete:y.length<=1,children:a.component},a.name))}),e.jsx(ut,{ref:c,providers:f,sortMaps:w}),s]})}const me={ttl:ie.SESSION_TTL,cacheTtl:ie.SESSION_CACHE_TTL,email:{enabled:!1,requireVerified:!1,requireUnique:!1,trustOauthProviders:!1,trustedIssuers:[],enableDomainBlackList:!1,domainBlackList:[],enableDomainWhiteList:!1,domainWhiteList:[]},phone:{enabled:!1,requireVerified:!1,requireUnique:!1,regionBlackList:[],trustedIssuers:[]},enableBlacklist:!1};function Z(r){return e.jsx(tt,{...r,sx:{transform:"scale(0.75)"}})}function Ee(r,s=!1){const c=s?r.ttl*86400:r.ttl/86400;return{...r,ttl:c}}function un(){const{api:r}=K(),{blocklet:s}=J(),c=s?.meta?.did,i=Ye({},me,s?.settings?.session||{});je(i.ttl)&&(i.ttl=me.ttl),je(i.cacheTtl)&&(i.cacheTtl=me.cacheTtl),i.phone||(i.phone=me.phone),i.email||(i.email=me.email),je(i.enableBlacklist)&&(i.enableBlacklist=me.enableBlacklist);const{handleSubmit:n,control:t,formState:l,reset:d,watch:f}=oe({defaultValues:re(Ee(i),["ttl","cacheTtl","email","phone","enableBlacklist"])}),{t:h}=$(),y=f("email.enabled"),w=f("phone.enabled"),p=f("email.enableDomainBlackList"),b=f("email.enableDomainWhiteList"),{fields:x,append:D,remove:S}=He({control:t,name:"email.domainBlackList"}),{fields:T,append:v,remove:j}=He({control:t,name:"email.domainWhiteList"}),a=g(async o=>{try{const{blocklet:C}=await r.updateAppSessionConfig({input:{did:c,config:Xe(Ee(o,!0),["phone"])}}),B=Object.assign({},me,re(C?.settings?.session||{},["ttl","cacheTtl","email","phone","enableBlacklist"]));d(Ee(B)),P.success(h("common.configSuccess"))}catch(C){P.error(C.message)}});return e.jsx(mn,{onSubmit:n(a),children:e.jsxs(_,{direction:"column",sx:{gap:6},children:[e.jsxs(m,{children:[e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.profile")}),e.jsx(m,{component:pe,sx:{my:3}})]}),e.jsxs(_,{sx:{gap:2},children:[e.jsx(I,{title:h("blocklet.config.session.fullNameEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(Z,{disabled:!0,checked:!0})})}),e.jsx(I,{title:h("blocklet.config.session.avatarEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(Z,{disabled:!0,checked:!0})})}),e.jsx(I,{title:h("blocklet.config.session.emailEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enabled",control:t,render:({field:o})=>e.jsx(Z,{...o,checked:o.value})})})}),y&&e.jsxs(_,{direction:"column",sx:{ml:2,gap:.5},children:[e.jsx(I,{title:h("blocklet.config.session.emailRequireVerified"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.requireVerified",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.emailRequireUnique"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.requireUnique",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.emailTrustOauthProviders"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.trustOauthProviders",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.enableDomainBlackList"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enableDomainBlackList",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),p&&e.jsxs(m,{children:[x.map((o,C)=>e.jsxs(_,{direction:"row",sx:{alignItems:"center",my:1,maxWidth:"720px"},children:[e.jsx(A,{name:`email.domainBlackList.${C}`,control:t,render:B=>e.jsx(q,{...B.field,size:"small",fullWidth:!0})}),e.jsx(ge,{onClick:()=>S(C),children:e.jsx(_e,{})})]},o.id)),e.jsx(X,{startIcon:e.jsx(qe,{}),onClick:()=>D(""),children:h("blocklet.config.session.addDomain")})]}),e.jsx(I,{title:h("blocklet.config.session.enableDomainWhiteList"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"email.enableDomainWhiteList",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),b&&e.jsxs(m,{children:[T.map((o,C)=>e.jsxs(_,{direction:"row",sx:{alignItems:"center",my:1,maxWidth:"720px"},children:[e.jsx(A,{name:`email.domainWhiteList.${C}`,control:t,render:B=>e.jsx(q,{...B.field,size:"small",fullWidth:!0})}),e.jsx(ge,{onClick:()=>j(C),children:e.jsx(_e,{})})]},o.id)),e.jsx(X,{startIcon:e.jsx(qe,{}),onClick:()=>v(""),children:h("blocklet.config.session.addDomain")})]})]}),e.jsxs(m,{sx:{display:"none"},children:[e.jsx(I,{title:h("blocklet.config.session.phoneEnabled"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.enabled",control:t,disabled:!0,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),w&&e.jsxs(_,{direction:"column",sx:{ml:2,mt:1},children:[e.jsx(I,{title:h("blocklet.config.session.phoneRequireVerified"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.requireVerified",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})}),e.jsx(I,{title:h("blocklet.config.session.phoneRequireUnique"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"phone.requireUnique",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})})]})]})]})]}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.period")}),e.jsx(m,{component:pe,sx:{my:3}}),e.jsx(_,{direction:"column",spacing:2,children:e.jsx(A,{name:"ttl",control:t,rules:{min:1,max:30},render:({field:o})=>e.jsx(V,{fullWidth:!0,sx:{mb:2},children:e.jsx(I,{title:h("blocklet.config.session.ttl",{day:o.value}),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{width:"100%",maxWidth:500,px:2},children:e.jsx(Ft,{...o,defaultValue:7,step:1,marks:[{value:1,label:h("blocklet.config.session.day",{day:1})},{value:7,label:h("blocklet.config.session.days",{day:7})},{value:14,label:h("blocklet.config.session.days",{day:14})},{value:21,label:h("blocklet.config.session.days",{day:21})},{value:30,label:h("blocklet.config.session.days",{day:30})}],min:1,max:30,valueLabelDisplay:"auto"})})})})})})]}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",sx:{fontWeight:600},children:h("blocklet.config.session.experimentalSettings")}),e.jsx(m,{component:pe,sx:{my:3}}),e.jsx(_,{direction:"column",spacing:2,children:e.jsx(I,{title:h("blocklet.config.session.enableBlacklist"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"enableBlacklist",control:t,render:({field:o})=>e.jsx(Q,{sx:{ml:0},control:e.jsx(Z,{...o,checked:o.value})})})})})})]}),e.jsx(m,{children:e.jsx(X,{type:"submit",variant:"contained",disabled:!l.isDirty,children:h("common.save")})})]})})}const mn=Je.form`
|
|
2
2
|
max-width: 1536px;
|
|
3
3
|
|
|
4
4
|
.advanced-config {
|
|
@@ -38,7 +38,7 @@ import{W as $,Q as P,Y as he,bD as ke,df as Lt,dg as Ct,b3 as ce,ar as N,aO as w
|
|
|
38
38
|
.form-item {
|
|
39
39
|
margin-top: 0;
|
|
40
40
|
}
|
|
41
|
-
`,hn={width:24,height:24,body:'<path fill="currentColor" d="M6 12.05q0 1.125.425 2.188T7.75 16.2l.25.25V15q0-.425.288-.713T9 14q.425 0 .713.288T10 15v4q0 .425-.288.713T9 20H5q-.425 0-.713-.288T4 19q0-.425.288-.713T5 18h1.75l-.4-.35q-1.3-1.15-1.825-2.625T4 12.05Q4 9.7 5.2 7.787T8.425 4.85q.35-.2.738-.025t.512.575q.125.375-.013.75t-.487.575q-1.45.8-2.313 2.213T6 12.05Zm12-.1q0-1.125-.425-2.187T16.25 7.8L16 7.55V9q0 .425-.288.713T15 10q-.425 0-.713-.288T14 9V5q0-.425.288-.713T15 4h4q.425 0 .713.288T20 5q0 .425-.288.713T19 6h-1.75l.4.35q1.225 1.225 1.788 2.663T20 11.95q0 2.35-1.2 4.263t-3.225 2.937q-.35.2-.737.025t-.513-.575q-.125-.375.013-.75t.487-.575q1.45-.8 2.313-2.212T18 11.95Z"/>'};var Oe,Me;function pn(){if(Me)return Oe;Me=1;const{DEFAULT_IP_DOMAIN_SUFFIX:r,SLOT_FOR_IP_DNS_SITE:s,DEFAULT_DID_DOMAIN:c}=Qt(),{encode:i}=sn();return Oe={getIpDnsDomainForBlocklet:l=>`${i(l.meta.did)}-${s}.${r}`,getDidDomainForBlocklet:({did:l,didDomain:d=c})=>`${i(l)}.${d}`},Oe}var gn=pn();function mt({ref:r=null}){const{t:s}=L.useContext(ce),{blocklet:c}=J(),{api:i}=K(),n=be({loadingReject:!1,loadingApprove:!1,mode:"view",show:!1,data:{},callback:R}),l=Le()?.transitions?.duration?.leavingScreen||300,d=g(()=>{n.mode="view",n.data={},n.callback=R}),f=g(()=>{n.show=!1,setTimeout(()=>{d()},l)}),h=g(D=>{n.mode="view",n.show=!0,n.data=D}),y=g((D,S=R)=>{n.mode="approve",n.show=!0,n.data=D,n.callback=S});L.useImperativeHandle(r,()=>({open:h,close:f,approve:y}),[h,f,y]);const w=ne(()=>{if(!n.show)return[];n.data.migratedFrom=[n.data.appId,n.data.appPid];const D=["appName","appLogo","appId","appPid","migratedFrom","appDescription","appUrl","version","appliedAt","status","serverId","serverVersion"];return n.data.isMaster!==!1&&Xt(D,"appliedAt","status"),D.map(S=>{const T=s(`federated.info.${S}`);let v=n.data[S];if(S==="appName"&&n.data.isMaster&&(v=e.jsxs(m,{children:[e.jsx(Ke,{component:Ge}),v]})),["appId","appPid","serverId"].includes(S)&&(v=e.jsx(Fe,{children:v})),["appUrl"].includes(S)&&(v=e.jsx(m,{component:"a",href:v,target:"_blank",children:v})),["appLogo"].includes(S)){const j=le(`https://${gn.getDidDomainForBlocklet({did:n.data.appPid})}`,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo");try{const a=new URL(j);a.searchParams.set("imageFilter","resize"),a.searchParams.set("w","80"),a.searchParams.set("h","80"),v=e.jsx("img",{src:a.href,width:"60",height:"60",alt:n.data.appName})}catch{v=e.jsx("img",{src:j,width:"60",height:"60",alt:n.data.appName})}}return S==="status"&&(v=v&&s(`federated.status.${v}`)),S==="migratedFrom"&&(v=(n.data.migratedFrom||[]).filter(o=>![n.data.appId,n.data.appPid].includes(o)).map(o=>e.jsx(Fe,{children:o}))),Ye(v)&&(v="-"),{name:T,value:v}})},[n.data]),p=n.mode==="approve",b=g(async()=>{try{n.loadingReject=!0,await i.auditFederatedLogin({input:{memberPid:n.data.appPid,did:c.appPid,status:"rejected"}}),f(),n?.callback(!1)}finally{n.loadingReject=!1}}),x=g(async()=>{try{n.loadingApprove=!0,await i.auditFederatedLogin({input:{memberPid:n.data.appPid,did:c.appPid,status:"approved"}}),f(),n?.callback(!0)}finally{n.loadingApprove=!1}});return e.jsx(we,{open:n.show,title:s(p?"federated.approveToJoinLogin":"federated.siteDetail"),onClose:f,actions:p?e.jsxs(e.Fragment,{children:[e.jsxs(X,{color:"error",variant:"contained",onClick:b,disabled:n.loadingReject,children:[n.loadingReject?e.jsx(Re,{size:16,color:"grey"}):null,s("common.reject")]}),e.jsxs(X,{variant:"contained",onClick:x,disabled:n.loadingApprove,children:[n.loadingApprove?e.jsx(Re,{size:16,color:"grey"}):null,s("common.approve")]})]}):e.jsx(X,{variant:"outlined",onClick:f,children:s("common.close")}),children:w.map(D=>e.jsx(an,{style:{alignItems:"flex-start"},valueComponent:"div",nameWidth:180,name:D.name,children:D.value},D.name))})}mt.propTypes={ref:u.any};function ze({ref:r=null}){const c=Le()?.transitions?.duration?.leavingScreen||300,{t:i}=L.useContext(ce),n=be({show:!1,data:{link:""}}),t=g(()=>{n.data.link=""}),l=g(()=>{n.show=!1,setTimeout(()=>{t()},c)}),d=g(({link:h})=>{n.show=!0,n.data.link=h});L.useImperativeHandle(r,()=>({open:d,close:l}),[d,l]);const f=g(()=>{Et(n.data.link),l()});return e.jsxs(we,{open:n.show,title:i("federated.joinFederatedLogin"),onClose:l,PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:f,children:i("common.copyAndClose")}),children:[e.jsx(m,{sx:{mb:2},children:i("federated.inviteJoinFederatedLoginDescription")}),e.jsx(m,{sx:{"& .copy-button":{display:"none !important"}},children:e.jsx(rn,{children:n.data.link})})]})}ze.propTypes={ref:u.any};function ht({mode:r="member"}){const s=L.useRef(null),c=L.useRef(null),{t:i,locale:n}=L.useContext(ce),{blocklet:t,actions:{refreshBlocklet:l}}=J(),{confirmApi:d,confirmHolder:f}=et(),{api:h}=K(),y=t.settings.federated?.sites||[],w=t.settings.federated?.config||{},p=w.isMaster!==!1,b=y.find(E=>E.appPid===t.appPid),x=be({loadingSync:!1}),D=g(E=>{c.current?.open(E)}),S=g(E=>{c.current?.approve(E,l)}),T=g(E=>{d.open({title:i("federated.removeFederatedLogin"),content:i("federated.removeFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(W){await h.quitFederatedLogin({input:{did:t.appPid,targetDid:E.appPid}}),W()}})}),v=g(E=>{d.open({title:i("federated.disableFederatedLogin"),content:i("federated.disableFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(W){await h.auditFederatedLogin({input:{memberPid:E.appPid,did:t.appPid,status:"revoked"}}),W()}})}),j=g(E=>{d.open({title:i("federated.enableFederatedLogin"),content:i("federated.enableFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),async onConfirm(W){await h.auditFederatedLogin({input:{memberPid:E.appPid,did:t.appPid,status:"approved"}}),W()}})}),a=ne(()=>{const E=[{label:i("common.name"),name:"appName",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{sx:{display:"inline-block"},children:e.jsxs(m,{component:"a",href:O.appUrl,target:"_blank",onClick:H=>{H.stopPropagation()},sx:{display:"flex",alignItems:"center"},children:[de&&e.jsx(Ke,{component:Ge,style:{marginRight:"4px"}}),O.appName]})})}}},{label:i("common.did"),name:"appId",options:{customBodyRenderLite:W=>{const O=y[W];return e.jsx(Fe,{children:O.appId})}}},{label:i("common.status"),name:"status",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{children:de?"-":i(`federated.status.${O.status}`)})}}}];return p&&E.push({label:i("common.actions"),name:"actions",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{sx:{display:"flex",gap:1},children:de?e.jsxs(e.Fragment,{children:[O.status==="rejected"&&e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation()},children:i("federated.status.rejected")}),O.status==="revoked"&&e.jsx(M,{variant:"contained",color:"secondary",size:"small",onClick:H=>{H.stopPropagation()},children:i("federated.status.revoked")})]}):e.jsxs(e.Fragment,{children:[e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation(),T(O)},children:i("federated.quitMember")},"quiteSite"),O.status==="pending"&&e.jsx(M,{variant:"contained",color:"primary",size:"small",onClick:H=>{H.stopPropagation(),S(O)},children:i("federated.status.pending")},"auditSite"),O.status==="approved"&&e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation(),v(O)},style:{whiteSpace:"nowrap"},children:i("federated.revoke")},"revokeSite"),O.status==="revoked"&&e.jsx(M,{variant:"contained",color:"warning",size:"small",onClick:H=>{H.stopPropagation(),j(O)},style:{whiteSpace:"nowrap"},children:i("federated.approve")},"approveSite")]})})}}}),E},[w.appId,y,p,i]),o=ne(()=>({sort:!0,download:!1,filter:!1,print:!1,expandableRowsOnClick:!0,onRowClick(E,{dataIndex:W}){const O=y[W];D(O)}}),[]),C=g(()=>{const E=t.environments.find(W=>W.key===Be.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL);E?.value?s.current?.open({link:E.value}):P.error(i("federated.failedToGetFederatedLoginLink"))},[t.site?.domainAliases?.[0]?.href]),B=g(()=>{d.open({title:i("federated.quitFederatedLogin"),content:i("federated.quitFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(E){await h.quitFederatedLogin({input:{did:t.appPid}}),E()}})}),ve=g(()=>{d.open({title:i("federated.disbandFederatedLogin"),content:i("federated.disbandFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(E){await h.disbandFederatedLogin({input:{did:t.appPid}}),E()}})}),fe=g(async()=>{try{x.loadingSync=!0,await Promise.all([await h.syncFederatedConfig({input:{did:t.appPid}}),Tt(500)]),P.success(i("common.succeeded"))}finally{x.loadingSync=!1}}),ae=[];return b.status!=="pending"&&ae.push(e.jsx(qt,{title:i("federated.syncConfig"),children:e.jsx(ge,{size:"small",onClick:fe,disabled:x.loadingSync,sx:[{"@keyframes spin":{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}}},x.loadingSync?{animation:"spin 1s linear infinite"}:{}],children:e.jsx(he,{icon:hn,style:{fontSize:24}})},"syncConfig")})),r==="master"?(ae.push(e.jsx(M,{size:"small",variant:"contained",onClick:C,sx:{ml:1},children:i("federated.inviteJoinFederatedLogin")},"inviteJoinFederatedLogin")),ae.push(e.jsx(M,{color:"error",size:"small",variant:"contained",onClick:ve,sx:{ml:1},children:i("federated.disbandFederatedLogin")},"disbandFederatedLogin"))):ae.push(e.jsx(M,{size:"small",variant:"contained",color:"error",onClick:B,sx:{ml:1},children:i("federated.quitFederatedLogin")},"quitFederatedLogin")),e.jsxs(e.Fragment,{children:[e.jsx(At,{className:"main-table",locale:n,data:y,columns:a,customButtons:ae,title:e.jsx(m,{className:"table-toolbar-left",children:i("authentication.federated")}),options:o}),f,e.jsx(ze,{ref:s}),e.jsx(mt,{ref:c})]})}ht.propTypes={mode:u.oneOf(["member","master"])};function pt({ref:r=null}){const{t:s}=L.useContext(ce),{api:c}=K(),{blocklet:i}=J(),n=i?.appPid,l=Le()?.transitions?.duration?.leavingScreen||300,d=be({loading:!1,show:!1,appUrl:"",appUrlError:"",callback:R}),f=g(()=>{d.appUrl="",d.appUrlError="",d.callback=R}),h=g(()=>{d.show=!1,setTimeout(()=>{f()},l)}),y=g((b=R)=>{d.show=!0,d.callback=b});L.useImperativeHandle(r,()=>({open:y,close:h}),[y,h]);const w=g(b=>{if(!b)throw new Error(s("federated.federatedJoinAppUrlRequired"));if(!Yt(b))throw new Error(s("federated.federatedJoinAppUrlInvalid"))}),p=g(async()=>{try{w(d.appUrl),d.loading=!0;const b=await c.joinFederatedLogin({input:{did:n,appUrl:d.appUrl}});d.show=!1,h(),d?.callback(b)}catch(b){d.appUrlError=b.message}finally{d.loading=!1}});return e.jsxs(we,{open:d.show,title:s("federated.joinFederatedLogin"),onClose:h,PaperProps:{style:{minHeight:"unset"}},actions:e.jsxs(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:p,disabled:d.loading,children:[d.loading?e.jsx(Re,{size:16,sx:{mr:1},color:"grey"}):null,s("common.confirm")]}),children:[e.jsx(m,{sx:{mb:1},children:s("federated.joinFederatedLoginDescription")}),e.jsx(q,{fullWidth:!0,variant:"outlined",margin:"dense",placeholder:s("federated.federatedJoinAppUrl"),label:s("federated.federatedJoinAppUrl"),value:d.appUrl,error:!!d.appUrlError,helperText:d.appUrlError||"eg: https://www.arcblock.io",onChange:b=>{d.appUrl=b.target.value}})]})}pt.propTypes={ref:u.any};function fn(){const{t:r}=L.useContext(ce);return e.jsxs(_,{direction:"row",spacing:2,sx:{alignItems:"flex-start",p:2},children:[e.jsx(Rt,{fontSize:"large",color:"primary"}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",gutterBottom:!0,children:r("federated.title")}),e.jsx(te,{variant:"body2",sx:{color:"text.secondary"},children:r("federated.description")}),e.jsx(Wt,{href:"https://www.arcblock.io/blog/zh/did-connect-federated-login-support",underline:"hover",variant:"body2",color:"primary",target:"_blank",sx:{display:"inline-flex",alignItems:"center",mt:1},children:r("federated.link")})]})]})}function xn(){const r=L.useRef(null),s=L.useRef(null),{t:c}=L.useContext(ce),{blocklet:i,actions:{refreshBlocklet:n}}=J(),t=g(()=>{const d=i.site?.domainAliases?.[0]?.href;if(d)try{const f=new URL(d);r.current?.open({link:f.origin})}catch{P.error(c("federated.failedToGetFederatedLoginLink"))}},[i.site?.domainAliases?.[0]?.href]),l=g(()=>{s.current?.open(()=>{n()})});if(i.settings.federated?.sites.length>0){const d=i.settings.federated?.config.isMaster!==!1;return e.jsx(ht,{mode:d?"master":"member"})}return e.jsxs(e.Fragment,{children:[e.jsx(m,{sx:{display:"flex",flexDirection:"column",gap:2,justifyContent:"center",alignItems:"center",minHeight:"200px"},children:e.jsxs(m,{sx:{maxWidth:400,borderRadius:2,border:"1px solid",borderColor:"divider"},children:[e.jsx(fn,{}),e.jsx(pe,{sx:{width:1}}),e.jsxs(_,{sx:{width:1,p:2,gap:1.5},children:[e.jsx(M,{variant:"contained",onClick:t,sx:{width:1},children:c("federated.inviteJoinFederatedLogin")}),e.jsx(M,{variant:"outlined",onClick:l,sx:{width:1},children:c("federated.joinFederatedLogin")})]})]})}),e.jsx(ze,{ref:r}),e.jsx(pt,{ref:s})]})}const Ue={login:{en:{title:"Login",scan:"Login with one of the following methods",confirm:"Confirm connection in your DID Wallet",success:"Successfully logged in"},zh:{title:"登录",scan:"请使用下面的方式完成登录",confirm:"在 DID Wallet 中确认连接",success:"登录成功"}},"switch-profile":{en:{title:"Switch Profile",scan:"Use DID Wallet to switch profile",confirm:"Select profile in your DID Wallet",success:"Profile updated"},zh:{title:"切换个人信息",scan:"请使用 DID Wallet 来切换个人信息",confirm:"在 DID Wallet 中选择个人信息",success:"个人信息已经更新"}},"switch-passport":{en:{title:"Switch Passport",scan:"Use DID Wallet to switch passport",confirm:"Select passport in your DID Wallet",success:"Passport and session updated"},zh:{title:"切换通行证",scan:"请使用 DID Wallet 来切换通行证",confirm:"在 DID Wallet 中选择通行证",success:"通行证和会话已经更新"}}},jn={en:{title:"",scan:"",confirm:"",success:""},zh:{title:"",scan:"",confirm:"",success:""}},xe="new-action",gt=Object.keys(Ue),ft=["zh","en"],xt=r=>/^[a-z][a-z-]*$/.test(r),bn=r=>{const s=[];return r.includes("zh")&&s.push("zh"),r.includes("en")&&s.push("en"),r.filter(c=>!ft.includes(c)).forEach(c=>s.push(c)),s},jt=r=>{const s=Be.baseLanguages.find(c=>c.code===r);return s?s.name:r};function bt({value:r="",onChange:s=()=>{},onBlur:c=()=>{},onKeyDown:i=()=>{},isDuplicate:n=!1}){const{t}=$(),l=r&&!xt(r);let d="";return l?d=t("authentication.didConnect.actionNameError"):n&&(d=t("authentication.didConnect.actionNameDuplicate")),e.jsx(q,{value:r,onChange:s,onBlur:c,onKeyDown:i,onClick:f=>f.stopPropagation(),size:"small",variant:"standard",autoFocus:!0,placeholder:"action-name",helperText:d,error:l||n,sx:{"& .MuiInputBase-input":{py:0,fontSize:14,fontWeight:500}}})}bt.propTypes={value:u.string,onChange:u.func,onBlur:u.func,onKeyDown:u.func,isDuplicate:u.bool};function vt({langCode:r,isSelected:s=!1,canDelete:c=!1,onSelect:i=()=>{},onDelete:n=()=>{}}){return e.jsx(Ze,{label:jt(r),onClick:i,onDelete:c?n:void 0,size:"small",sx:{bgcolor:s?"primary.main":"grey.100",color:s?"primary.contrastText":"text.primary","&:hover":{bgcolor:s?"primary.dark":"grey.200"},"& .MuiChip-deleteIcon":{color:s?"primary.contrastText":"text.secondary","&:hover":{color:s?"primary.contrastText":"error.main"}}}})}vt.propTypes={langCode:u.string.isRequired,isSelected:u.bool,canDelete:u.bool,onSelect:u.func,onDelete:u.func};function yt({actionKey:r,actionData:s={},expanded:c=!1,selectedLang:i="",editing:n={},onChange:t={}}){const{t:l}=$(),d=!gt.includes(r),f=bn(Object.keys(s)),h=s[i]||{},y=n?.actionKey===r,w=n?.name&&n.name!==r&&n.allActions?.[n.name];return e.jsxs(Bt,{expanded:c,onChange:(p,b)=>t.accordion(b),elevation:0,sx:{border:"1px solid",borderColor:"grey.200",borderRadius:"8px !important","&:before":{display:"none"},"&.Mui-expanded":{margin:0}},children:[e.jsxs(zt,{expandIcon:e.jsx(_t,{}),sx:{minHeight:48,"& .MuiAccordionSummary-content":{alignItems:"center",gap:1}},children:[y?e.jsx(bt,{value:n.name,onChange:t.editingName,onBlur:t.finishEditing,onKeyDown:t.editingKeyDown,isDuplicate:w}):e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:.5,"&:hover .edit-icon":{opacity:1}},children:[e.jsx(te,{sx:{fontWeight:500},children:r}),d&&e.jsx(ge,{className:"edit-icon",size:"small",onClick:t.startEditing,sx:{p:.25,opacity:0,transition:"opacity 0.2s",color:"text.secondary","&:hover":{color:"primary.main",bgcolor:"transparent"}},children:e.jsx(Ut,{sx:{fontSize:16}})})]}),d&&e.jsx(ge,{size:"small",onClick:t.delete,sx:{ml:"auto",mr:1,p:.5,color:"error.main","&:hover":{bgcolor:"error.lighter"}},children:e.jsx(Nt,{sx:{fontSize:20}})})]}),e.jsxs(Vt,{sx:{pt:0},children:[e.jsxs(m,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:1,mb:2},children:[e.jsx(te,{variant:"body2",color:"text.secondary",sx:{flexShrink:0},children:"Languages:"}),f.map(p=>e.jsx(vt,{langCode:p,isSelected:i===p,canDelete:!ft.includes(p),onSelect:()=>t.language(p),onDelete:b=>t.deleteLanguage(p,b)},p)),e.jsx(Ze,{label:`${l("common.add")}`,onClick:t.addLanguage,size:"small",variant:"outlined",icon:e.jsx(qe,{sx:{fontSize:16}}),sx:{borderStyle:"dashed","&:hover":{bgcolor:"action.hover"}}})]}),e.jsxs(_,{spacing:2,children:[e.jsx(q,{label:"Title",value:h.title||"",onChange:p=>t.field("title",p.target.value),fullWidth:!0,size:"small"}),e.jsx(q,{label:"Scan",value:h.scan||"",onChange:p=>t.field("scan",p.target.value),fullWidth:!0,size:"small",multiline:!0,minRows:2})]})]})]})}yt.propTypes={actionKey:u.string.isRequired,actionData:u.object,expanded:u.bool,selectedLang:u.string,editing:u.shape({actionKey:u.string,name:u.string,allActions:u.object}),onChange:u.shape({accordion:u.func,language:u.func,field:u.func,startEditing:u.func,editingName:u.func,finishEditing:u.func,editingKeyDown:u.func,delete:u.func,addLanguage:u.func,deleteLanguage:u.func})};function kt({open:r,onClose:s,existingLanguages:c,selectedLanguage:i,onLanguageChange:n,onAdd:t}){const{t:l}=$(),d=Be.baseLanguages.filter(f=>!c.includes(f.code));return e.jsxs(Ht,{open:r,onClose:s,maxWidth:"xs",fullWidth:!0,children:[e.jsx(Mt,{children:l("authentication.didConnect.addLanguage")}),e.jsx($t,{children:e.jsx(V,{fullWidth:!0,sx:{mt:1},children:e.jsx(Jt,{value:i,onChange:f=>n(f.target.value),displayEmpty:!0,size:"small",renderValue:f=>f?jt(f):e.jsx(te,{color:"text.secondary",children:l("authentication.didConnect.selectLanguage")}),children:d.map(f=>e.jsx(Kt,{value:f.code,children:f.name},f.code))})})}),e.jsxs(Gt,{children:[e.jsx(X,{onClick:s,children:l("common.cancel")}),e.jsx(X,{onClick:t,variant:"contained",disabled:!i,children:l("common.add")})]})]})}kt.propTypes={open:u.bool.isRequired,onClose:u.func.isRequired,existingLanguages:u.array.isRequired,selectedLanguage:u.string.isRequired,onLanguageChange:u.func.isRequired,onAdd:u.func.isRequired};function wt({open:r=!1,onClose:s=()=>{},onSave:c=()=>{},initialConfig:i=null}){const{t:n,locale:t}=$(),[l,d]=L.useState({}),[f,h]=L.useState("login"),[y,w]=L.useState({}),[p,b]=L.useState(!1),[x,D]=L.useState(""),[S,T]=L.useState(""),[v,j]=L.useState(null),[a,o]=L.useState(""),C=t||"en";L.useEffect(()=>{if(!r)return;const k=i||Ue;d(k);const F=Object.keys(k);h(F[0]||"login");const z={};F.forEach(G=>{const U=Object.keys(k[G]||{});z[G]=U.includes(C)?C:U[0]||"en"}),w(z),j(null)},[r,i,C]);const B=g(k=>k?Object.values(k).every(F=>!F?.title?.trim()&&!F?.scan?.trim()):!0),ve=g(()=>!Object.keys(l).some(F=>!gt.includes(F)&&B(l[F]))&&!l[xe]);g(()=>{ve()&&(d(k=>({...k,[xe]:jn})),h(xe),w(k=>({...k,[xe]:C})),j(xe),o(xe))});const fe=g(k=>{const{value:F}=k.target;(F===""||/^[a-z-]*$/.test(F))&&o(F)}),ae=g(()=>{const k=a.trim();if(!k||!xt(k)||k!==v&&l[k]){j(null);return}if(k!==v){const F={};Object.keys(l).forEach(z=>{F[z===v?k:z]=l[z]}),d(F),f===v&&h(k),y[v]&&w(z=>{const G={...z,[k]:z[v]};return delete G[v],G})}j(null)}),E=g(k=>{k.key==="Enter"?ae():k.key==="Escape"&&j(null)}),W=g((k,F)=>{F.stopPropagation();const z={...l};delete z[k],d(z),f===k&&h(Object.keys(z)[0]||!1)}),O=g(()=>{!S||!x||(d(k=>({...k,[x]:{...k[x],[S]:{title:"",scan:"",confirm:"",success:""}}})),w(k=>({...k,[x]:S})),b(!1))}),de=g((k,F,z)=>{z.stopPropagation();const G=l[k];if(Object.keys(G||{}).length<=1)return;const ee={...G};delete ee[F],d(ue=>({...ue,[k]:ee})),y[k]===F&&w(ue=>({...ue,[k]:Object.keys(ee)[0]||"en"}))}),H=g(()=>{c(JSON.stringify(l)),s()});ve();const St=e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:s,variant:"outlined",children:n("common.cancel")}),e.jsx(X,{onClick:H,variant:"contained",startIcon:e.jsx(Zt,{}),children:n("common.confirm")})]});return e.jsxs(we,{open:r,onClose:s,maxWidth:"md",fullWidth:!0,title:n("authentication.didConnect.configDialogTitle"),actions:St,children:[e.jsxs(_,{spacing:1.5,children:[Object.keys(l).map(k=>{const F=l[k]||{},z=Object.keys(F),G=y[k]||z[0]||"en";return e.jsx(yt,{actionKey:k,actionData:F,expanded:f===k,selectedLang:G,editing:{actionKey:v,name:a,allActions:l},onChange:{accordion:U=>h(U?k:!1),language:U=>w(ee=>({...ee,[k]:U})),field:(U,ee)=>d(ue=>({...ue,[k]:{...ue[k],[G]:{...ue[k]?.[G],[U]:ee}}})),startEditing:U=>{U.stopPropagation(),j(k),o(k)},editingName:fe,finishEditing:ae,editingKeyDown:E,delete:U=>W(k,U),addLanguage:U=>{U.stopPropagation(),D(k),T(""),b(!0)},deleteLanguage:(U,ee)=>de(k,U,ee)}},k)}),!1]}),e.jsx(kt,{open:p,onClose:()=>b(!1),existingLanguages:Object.keys(l[x]||{}),selectedLanguage:S,onLanguageChange:T,onAdd:O})]})}wt.propTypes={open:u.bool,onClose:u.func,onSave:u.func,initialConfig:u.object};const Se={showDidColor:!0,showAppInfo:!0};function $e(r){return e.jsx(tt,{...r,sx:{transform:"scale(0.75)"}})}function vn(){const{api:r}=K(),{blocklet:s}=J(),c=s?.meta?.did,{control:i,reset:n}=oe({defaultValues:Qe({},Se,s?.settings?.didConnect||{})}),t=ne(()=>{const b=s?.settings?.actionConfig;return b&&!Ye(b)?b:Ue},[s?.settings?.actionConfig]),{t:l}=$(),[d,f]=L.useState(!1),h=g(async(b,x)=>{try{const D={showDidColor:i._defaultValues?.showDidColor??Se.showDidColor,showAppInfo:i._defaultValues?.showAppInfo??Se.showAppInfo};D[b]=x;const{blocklet:S}=await r.configDidConnect({input:{did:c,didConnect:JSON.stringify(D)}}),T=Object.assign({},Se,S?.settings?.didConnect||{});n(T),P.success(l("common.configSuccess"))}catch(D){P.error(D.message),n(i._defaultValues)}}),y=g(()=>{f(!1)}),w=g(()=>{f(!0)}),p=g(async b=>{try{await r.configDidConnectActions({input:{did:c,actionConfig:b}}),P.success(l("common.configSuccess"))}catch(x){console.error(x),P.error(x.message)}});return e.jsxs(yn,{children:[e.jsxs(_,{direction:"column",sx:{gap:4},children:[e.jsxs(m,{children:[e.jsx(m,{children:l("authentication.didConnect.basicSettings")}),e.jsx(pe,{sx:{my:2}}),e.jsxs(_,{sx:{gap:2},children:[e.jsx(I,{title:l("authentication.didConnect.showDidColor"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"showDidColor",control:i,render:({field:b})=>e.jsx($e,{...b,checked:b.value,onChange:x=>{h("showDidColor",x.target.checked),b.onChange(x)}})})})}),e.jsx(I,{title:l("authentication.didConnect.showAppInfo"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"showAppInfo",control:i,render:({field:b})=>e.jsx($e,{...b,checked:b.value,onChange:x=>{h("showAppInfo",x.target.checked),b.onChange(x)}})})})})]})]}),e.jsxs(m,{children:[e.jsx(m,{children:l("authentication.didConnect.customSettings")}),e.jsx(pe,{sx:{my:2}}),e.jsx(_,{direction:"row",sx:{gap:2},children:e.jsx(X,{variant:"outlined",onClick:w,children:l("authentication.didConnect.configDialogTitle")})})]})]}),e.jsx(wt,{open:d,onClose:y,onSave:p,initialConfig:t})]})}const yn=Je.div`
|
|
41
|
+
`,hn={width:24,height:24,body:'<path fill="currentColor" d="M6 12.05q0 1.125.425 2.188T7.75 16.2l.25.25V15q0-.425.288-.713T9 14q.425 0 .713.288T10 15v4q0 .425-.288.713T9 20H5q-.425 0-.713-.288T4 19q0-.425.288-.713T5 18h1.75l-.4-.35q-1.3-1.15-1.825-2.625T4 12.05Q4 9.7 5.2 7.787T8.425 4.85q.35-.2.738-.025t.512.575q.125.375-.013.75t-.487.575q-1.45.8-2.313 2.213T6 12.05Zm12-.1q0-1.125-.425-2.187T16.25 7.8L16 7.55V9q0 .425-.288.713T15 10q-.425 0-.713-.288T14 9V5q0-.425.288-.713T15 4h4q.425 0 .713.288T20 5q0 .425-.288.713T19 6h-1.75l.4.35q1.225 1.225 1.788 2.663T20 11.95q0 2.35-1.2 4.263t-3.225 2.937q-.35.2-.737.025t-.513-.575q-.125-.375.013-.75t.487-.575q1.45-.8 2.313-2.212T18 11.95Z"/>'};var Oe,Me;function pn(){if(Me)return Oe;Me=1;const{DEFAULT_IP_DOMAIN_SUFFIX:r,SLOT_FOR_IP_DNS_SITE:s,DEFAULT_DID_DOMAIN:c}=Yt(),{encode:i}=sn();return Oe={getIpDnsDomainForBlocklet:l=>`${i(l.meta.did)}-${s}.${r}`,getDidDomainForBlocklet:({did:l,didDomain:d=c})=>`${i(l)}.${d}`},Oe}var gn=pn();function mt({ref:r=null}){const{t:s}=L.useContext(ce),{blocklet:c}=J(),{api:i}=K(),n=be({loadingReject:!1,loadingApprove:!1,mode:"view",show:!1,data:{},callback:R}),l=Le()?.transitions?.duration?.leavingScreen||300,d=g(()=>{n.mode="view",n.data={},n.callback=R}),f=g(()=>{n.show=!1,setTimeout(()=>{d()},l)}),h=g(D=>{n.mode="view",n.show=!0,n.data=D}),y=g((D,S=R)=>{n.mode="approve",n.show=!0,n.data=D,n.callback=S});L.useImperativeHandle(r,()=>({open:h,close:f,approve:y}),[h,f,y]);const w=ne(()=>{if(!n.show)return[];n.data.migratedFrom=[n.data.appId,n.data.appPid];const D=["appName","appLogo","appId","appPid","migratedFrom","appDescription","appUrl","version","appliedAt","status","serverId","serverVersion"];return n.data.isMaster!==!1&&Xt(D,"appliedAt","status"),D.map(S=>{const T=s(`federated.info.${S}`);let v=n.data[S];if(S==="appName"&&n.data.isMaster&&(v=e.jsxs(m,{children:[e.jsx(Ke,{component:Ge}),v]})),["appId","appPid","serverId"].includes(S)&&(v=e.jsx(Fe,{children:v})),["appUrl"].includes(S)&&(v=e.jsx(m,{component:"a",href:v,target:"_blank",children:v})),["appLogo"].includes(S)){const j=le(`https://${gn.getDidDomainForBlocklet({did:n.data.appPid})}`,ie.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo");try{const a=new URL(j);a.searchParams.set("imageFilter","resize"),a.searchParams.set("w","80"),a.searchParams.set("h","80"),v=e.jsx("img",{src:a.href,width:"60",height:"60",alt:n.data.appName})}catch{v=e.jsx("img",{src:j,width:"60",height:"60",alt:n.data.appName})}}return S==="status"&&(v=v&&s(`federated.status.${v}`)),S==="migratedFrom"&&(v=(n.data.migratedFrom||[]).filter(o=>![n.data.appId,n.data.appPid].includes(o)).map(o=>e.jsx(Fe,{children:o}))),Qe(v)&&(v="-"),{name:T,value:v}})},[n.data]),p=n.mode==="approve",b=g(async()=>{try{n.loadingReject=!0,await i.auditFederatedLogin({input:{memberPid:n.data.appPid,did:c.appPid,status:"rejected"}}),f(),n?.callback(!1)}finally{n.loadingReject=!1}}),x=g(async()=>{try{n.loadingApprove=!0,await i.auditFederatedLogin({input:{memberPid:n.data.appPid,did:c.appPid,status:"approved"}}),f(),n?.callback(!0)}finally{n.loadingApprove=!1}});return e.jsx(we,{open:n.show,title:s(p?"federated.approveToJoinLogin":"federated.siteDetail"),onClose:f,actions:p?e.jsxs(e.Fragment,{children:[e.jsxs(X,{color:"error",variant:"contained",onClick:b,disabled:n.loadingReject,children:[n.loadingReject?e.jsx(Re,{size:16,color:"grey"}):null,s("common.reject")]}),e.jsxs(X,{variant:"contained",onClick:x,disabled:n.loadingApprove,children:[n.loadingApprove?e.jsx(Re,{size:16,color:"grey"}):null,s("common.approve")]})]}):e.jsx(X,{variant:"outlined",onClick:f,children:s("common.close")}),children:w.map(D=>e.jsx(an,{style:{alignItems:"flex-start"},valueComponent:"div",nameWidth:180,name:D.name,children:D.value},D.name))})}mt.propTypes={ref:u.any};function ze({ref:r=null}){const c=Le()?.transitions?.duration?.leavingScreen||300,{t:i}=L.useContext(ce),n=be({show:!1,data:{link:""}}),t=g(()=>{n.data.link=""}),l=g(()=>{n.show=!1,setTimeout(()=>{t()},c)}),d=g(({link:h})=>{n.show=!0,n.data.link=h});L.useImperativeHandle(r,()=>({open:d,close:l}),[d,l]);const f=g(()=>{Et(n.data.link),l()});return e.jsxs(we,{open:n.show,title:i("federated.joinFederatedLogin"),onClose:l,PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:f,children:i("common.copyAndClose")}),children:[e.jsx(m,{sx:{mb:2},children:i("federated.inviteJoinFederatedLoginDescription")}),e.jsx(m,{sx:{"& .copy-button":{display:"none !important"}},children:e.jsx(rn,{children:n.data.link})})]})}ze.propTypes={ref:u.any};function ht({mode:r="member"}){const s=L.useRef(null),c=L.useRef(null),{t:i,locale:n}=L.useContext(ce),{blocklet:t,actions:{refreshBlocklet:l}}=J(),{confirmApi:d,confirmHolder:f}=et(),{api:h}=K(),y=t.settings.federated?.sites||[],w=t.settings.federated?.config||{},p=w.isMaster!==!1,b=y.find(E=>E.appPid===t.appPid),x=be({loadingSync:!1}),D=g(E=>{c.current?.open(E)}),S=g(E=>{c.current?.approve(E,l)}),T=g(E=>{d.open({title:i("federated.removeFederatedLogin"),content:i("federated.removeFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(W){await h.quitFederatedLogin({input:{did:t.appPid,targetDid:E.appPid}}),W()}})}),v=g(E=>{d.open({title:i("federated.disableFederatedLogin"),content:i("federated.disableFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(W){await h.auditFederatedLogin({input:{memberPid:E.appPid,did:t.appPid,status:"revoked"}}),W()}})}),j=g(E=>{d.open({title:i("federated.enableFederatedLogin"),content:i("federated.enableFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),async onConfirm(W){await h.auditFederatedLogin({input:{memberPid:E.appPid,did:t.appPid,status:"approved"}}),W()}})}),a=ne(()=>{const E=[{label:i("common.name"),name:"appName",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{sx:{display:"inline-block"},children:e.jsxs(m,{component:"a",href:O.appUrl,target:"_blank",onClick:H=>{H.stopPropagation()},sx:{display:"flex",alignItems:"center"},children:[de&&e.jsx(Ke,{component:Ge,style:{marginRight:"4px"}}),O.appName]})})}}},{label:i("common.did"),name:"appId",options:{customBodyRenderLite:W=>{const O=y[W];return e.jsx(Fe,{children:O.appId})}}},{label:i("common.status"),name:"status",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{children:de?"-":i(`federated.status.${O.status}`)})}}}];return p&&E.push({label:i("common.actions"),name:"actions",options:{customBodyRenderLite:W=>{const O=y[W],de=O.isMaster!==!1;return e.jsx(m,{sx:{display:"flex",gap:1},children:de?e.jsxs(e.Fragment,{children:[O.status==="rejected"&&e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation()},children:i("federated.status.rejected")}),O.status==="revoked"&&e.jsx(M,{variant:"contained",color:"secondary",size:"small",onClick:H=>{H.stopPropagation()},children:i("federated.status.revoked")})]}):e.jsxs(e.Fragment,{children:[e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation(),T(O)},children:i("federated.quitMember")},"quiteSite"),O.status==="pending"&&e.jsx(M,{variant:"contained",color:"primary",size:"small",onClick:H=>{H.stopPropagation(),S(O)},children:i("federated.status.pending")},"auditSite"),O.status==="approved"&&e.jsx(M,{variant:"contained",color:"error",size:"small",onClick:H=>{H.stopPropagation(),v(O)},style:{whiteSpace:"nowrap"},children:i("federated.revoke")},"revokeSite"),O.status==="revoked"&&e.jsx(M,{variant:"contained",color:"warning",size:"small",onClick:H=>{H.stopPropagation(),j(O)},style:{whiteSpace:"nowrap"},children:i("federated.approve")},"approveSite")]})})}}}),E},[w.appId,y,p,i]),o=ne(()=>({sort:!0,download:!1,filter:!1,print:!1,expandableRowsOnClick:!0,onRowClick(E,{dataIndex:W}){const O=y[W];D(O)}}),[]),C=g(()=>{const E=t.environments.find(W=>W.key===Be.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL);E?.value?s.current?.open({link:E.value}):P.error(i("federated.failedToGetFederatedLoginLink"))},[t.site?.domainAliases?.[0]?.href]),B=g(()=>{d.open({title:i("federated.quitFederatedLogin"),content:i("federated.quitFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(E){await h.quitFederatedLogin({input:{did:t.appPid}}),E()}})}),ve=g(()=>{d.open({title:i("federated.disbandFederatedLogin"),content:i("federated.disbandFederatedLoginDescription"),confirmButtonText:i("common.confirm"),cancelButtonText:i("common.cancel"),confirmButtonProps:{color:"error"},async onConfirm(E){await h.disbandFederatedLogin({input:{did:t.appPid}}),E()}})}),fe=g(async()=>{try{x.loadingSync=!0,await Promise.all([await h.syncFederatedConfig({input:{did:t.appPid}}),Tt(500)]),P.success(i("common.succeeded"))}finally{x.loadingSync=!1}}),ae=[];return b.status!=="pending"&&ae.push(e.jsx(qt,{title:i("federated.syncConfig"),children:e.jsx(ge,{size:"small",onClick:fe,disabled:x.loadingSync,sx:[{"@keyframes spin":{from:{transform:"rotate(0deg)"},to:{transform:"rotate(360deg)"}}},x.loadingSync?{animation:"spin 1s linear infinite"}:{}],children:e.jsx(he,{icon:hn,style:{fontSize:24}})},"syncConfig")})),r==="master"?(ae.push(e.jsx(M,{size:"small",variant:"contained",onClick:C,sx:{ml:1},children:i("federated.inviteJoinFederatedLogin")},"inviteJoinFederatedLogin")),ae.push(e.jsx(M,{color:"error",size:"small",variant:"contained",onClick:ve,sx:{ml:1},children:i("federated.disbandFederatedLogin")},"disbandFederatedLogin"))):ae.push(e.jsx(M,{size:"small",variant:"contained",color:"error",onClick:B,sx:{ml:1},children:i("federated.quitFederatedLogin")},"quitFederatedLogin")),e.jsxs(e.Fragment,{children:[e.jsx(At,{className:"main-table",locale:n,data:y,columns:a,customButtons:ae,title:e.jsx(m,{className:"table-toolbar-left",children:i("authentication.federated")}),options:o}),f,e.jsx(ze,{ref:s}),e.jsx(mt,{ref:c})]})}ht.propTypes={mode:u.oneOf(["member","master"])};function pt({ref:r=null}){const{t:s}=L.useContext(ce),{api:c}=K(),{blocklet:i}=J(),n=i?.appPid,l=Le()?.transitions?.duration?.leavingScreen||300,d=be({loading:!1,show:!1,appUrl:"",appUrlError:"",callback:R}),f=g(()=>{d.appUrl="",d.appUrlError="",d.callback=R}),h=g(()=>{d.show=!1,setTimeout(()=>{f()},l)}),y=g((b=R)=>{d.show=!0,d.callback=b});L.useImperativeHandle(r,()=>({open:y,close:h}),[y,h]);const w=g(b=>{if(!b)throw new Error(s("federated.federatedJoinAppUrlRequired"));if(!Qt(b))throw new Error(s("federated.federatedJoinAppUrlInvalid"))}),p=g(async()=>{try{w(d.appUrl),d.loading=!0;const b=await c.joinFederatedLogin({input:{did:n,appUrl:d.appUrl}});d.show=!1,h(),d?.callback(b)}catch(b){d.appUrlError=b.message}finally{d.loading=!1}});return e.jsxs(we,{open:d.show,title:s("federated.joinFederatedLogin"),onClose:h,PaperProps:{style:{minHeight:"unset"}},actions:e.jsxs(M,{color:"primary",autoFocus:!0,variant:"contained",onClick:p,disabled:d.loading,children:[d.loading?e.jsx(Re,{size:16,sx:{mr:1},color:"grey"}):null,s("common.confirm")]}),children:[e.jsx(m,{sx:{mb:1},children:s("federated.joinFederatedLoginDescription")}),e.jsx(q,{fullWidth:!0,variant:"outlined",margin:"dense",placeholder:s("federated.federatedJoinAppUrl"),label:s("federated.federatedJoinAppUrl"),value:d.appUrl,error:!!d.appUrlError,helperText:d.appUrlError||"eg: https://www.arcblock.io",onChange:b=>{d.appUrl=b.target.value}})]})}pt.propTypes={ref:u.any};function fn(){const{t:r}=L.useContext(ce);return e.jsxs(_,{direction:"row",spacing:2,sx:{alignItems:"flex-start",p:2},children:[e.jsx(Rt,{fontSize:"large",color:"primary"}),e.jsxs(m,{children:[e.jsx(te,{variant:"h6",gutterBottom:!0,children:r("federated.title")}),e.jsx(te,{variant:"body2",sx:{color:"text.secondary"},children:r("federated.description")}),e.jsx(Wt,{href:"https://www.arcblock.io/blog/zh/did-connect-federated-login-support",underline:"hover",variant:"body2",color:"primary",target:"_blank",sx:{display:"inline-flex",alignItems:"center",mt:1},children:r("federated.link")})]})]})}function xn(){const r=L.useRef(null),s=L.useRef(null),{t:c}=L.useContext(ce),{blocklet:i,actions:{refreshBlocklet:n}}=J(),t=g(()=>{const d=i.site?.domainAliases?.[0]?.href;if(d)try{const f=new URL(d);r.current?.open({link:f.origin})}catch{P.error(c("federated.failedToGetFederatedLoginLink"))}},[i.site?.domainAliases?.[0]?.href]),l=g(()=>{s.current?.open(()=>{n()})});if(i.settings.federated?.sites.length>0){const d=i.settings.federated?.config.isMaster!==!1;return e.jsx(ht,{mode:d?"master":"member"})}return e.jsxs(e.Fragment,{children:[e.jsx(m,{sx:{display:"flex",flexDirection:"column",gap:2,justifyContent:"center",alignItems:"center",minHeight:"200px"},children:e.jsxs(m,{sx:{maxWidth:400,borderRadius:2,border:"1px solid",borderColor:"divider"},children:[e.jsx(fn,{}),e.jsx(pe,{sx:{width:1}}),e.jsxs(_,{sx:{width:1,p:2,gap:1.5},children:[e.jsx(M,{variant:"contained",onClick:t,sx:{width:1},children:c("federated.inviteJoinFederatedLogin")}),e.jsx(M,{variant:"outlined",onClick:l,sx:{width:1},children:c("federated.joinFederatedLogin")})]})]})}),e.jsx(ze,{ref:r}),e.jsx(pt,{ref:s})]})}const Ue={login:{en:{title:"Login",scan:"Login with one of the following methods",confirm:"Confirm connection in your DID Wallet",success:"Successfully logged in"},zh:{title:"登录",scan:"请使用下面的方式完成登录",confirm:"在 DID Wallet 中确认连接",success:"登录成功"}},"switch-profile":{en:{title:"Switch Profile",scan:"Use DID Wallet to switch profile",confirm:"Select profile in your DID Wallet",success:"Profile updated"},zh:{title:"切换个人信息",scan:"请使用 DID Wallet 来切换个人信息",confirm:"在 DID Wallet 中选择个人信息",success:"个人信息已经更新"}},"switch-passport":{en:{title:"Switch Passport",scan:"Use DID Wallet to switch passport",confirm:"Select passport in your DID Wallet",success:"Passport and session updated"},zh:{title:"切换通行证",scan:"请使用 DID Wallet 来切换通行证",confirm:"在 DID Wallet 中选择通行证",success:"通行证和会话已经更新"}}},jn={en:{title:"",scan:"",confirm:"",success:""},zh:{title:"",scan:"",confirm:"",success:""}},xe="new-action",gt=Object.keys(Ue),ft=["zh","en"],xt=r=>/^[a-z][a-z-]*$/.test(r),bn=r=>{const s=[];return r.includes("zh")&&s.push("zh"),r.includes("en")&&s.push("en"),r.filter(c=>!ft.includes(c)).forEach(c=>s.push(c)),s},jt=r=>{const s=Be.baseLanguages.find(c=>c.code===r);return s?s.name:r};function bt({value:r="",onChange:s=()=>{},onBlur:c=()=>{},onKeyDown:i=()=>{},isDuplicate:n=!1}){const{t}=$(),l=r&&!xt(r);let d="";return l?d=t("authentication.didConnect.actionNameError"):n&&(d=t("authentication.didConnect.actionNameDuplicate")),e.jsx(q,{value:r,onChange:s,onBlur:c,onKeyDown:i,onClick:f=>f.stopPropagation(),size:"small",variant:"standard",autoFocus:!0,placeholder:"action-name",helperText:d,error:l||n,sx:{"& .MuiInputBase-input":{py:0,fontSize:14,fontWeight:500}}})}bt.propTypes={value:u.string,onChange:u.func,onBlur:u.func,onKeyDown:u.func,isDuplicate:u.bool};function vt({langCode:r,isSelected:s=!1,canDelete:c=!1,onSelect:i=()=>{},onDelete:n=()=>{}}){return e.jsx(Ze,{label:jt(r),onClick:i,onDelete:c?n:void 0,size:"small",sx:{bgcolor:s?"primary.main":"grey.100",color:s?"primary.contrastText":"text.primary","&:hover":{bgcolor:s?"primary.dark":"grey.200"},"& .MuiChip-deleteIcon":{color:s?"primary.contrastText":"text.secondary","&:hover":{color:s?"primary.contrastText":"error.main"}}}})}vt.propTypes={langCode:u.string.isRequired,isSelected:u.bool,canDelete:u.bool,onSelect:u.func,onDelete:u.func};function yt({actionKey:r,actionData:s={},expanded:c=!1,selectedLang:i="",editing:n={},onChange:t={}}){const{t:l}=$(),d=!gt.includes(r),f=bn(Object.keys(s)),h=s[i]||{},y=n?.actionKey===r,w=n?.name&&n.name!==r&&n.allActions?.[n.name];return e.jsxs(Bt,{expanded:c,onChange:(p,b)=>t.accordion(b),elevation:0,sx:{border:"1px solid",borderColor:"grey.200",borderRadius:"8px !important","&:before":{display:"none"},"&.Mui-expanded":{margin:0}},children:[e.jsxs(zt,{expandIcon:e.jsx(_t,{}),sx:{minHeight:48,"& .MuiAccordionSummary-content":{alignItems:"center",gap:1}},children:[y?e.jsx(bt,{value:n.name,onChange:t.editingName,onBlur:t.finishEditing,onKeyDown:t.editingKeyDown,isDuplicate:w}):e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:.5,"&:hover .edit-icon":{opacity:1}},children:[e.jsx(te,{sx:{fontWeight:500},children:r}),d&&e.jsx(ge,{className:"edit-icon",size:"small",onClick:t.startEditing,sx:{p:.25,opacity:0,transition:"opacity 0.2s",color:"text.secondary","&:hover":{color:"primary.main",bgcolor:"transparent"}},children:e.jsx(Ut,{sx:{fontSize:16}})})]}),d&&e.jsx(ge,{size:"small",onClick:t.delete,sx:{ml:"auto",mr:1,p:.5,color:"error.main","&:hover":{bgcolor:"error.lighter"}},children:e.jsx(Nt,{sx:{fontSize:20}})})]}),e.jsxs(Vt,{sx:{pt:0},children:[e.jsxs(m,{sx:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:1,mb:2},children:[e.jsx(te,{variant:"body2",color:"text.secondary",sx:{flexShrink:0},children:"Languages:"}),f.map(p=>e.jsx(vt,{langCode:p,isSelected:i===p,canDelete:!ft.includes(p),onSelect:()=>t.language(p),onDelete:b=>t.deleteLanguage(p,b)},p)),e.jsx(Ze,{label:`${l("common.add")}`,onClick:t.addLanguage,size:"small",variant:"outlined",icon:e.jsx(qe,{sx:{fontSize:16}}),sx:{borderStyle:"dashed","&:hover":{bgcolor:"action.hover"}}})]}),e.jsxs(_,{spacing:2,children:[e.jsx(q,{label:"Title",value:h.title||"",onChange:p=>t.field("title",p.target.value),fullWidth:!0,size:"small"}),e.jsx(q,{label:"Scan",value:h.scan||"",onChange:p=>t.field("scan",p.target.value),fullWidth:!0,size:"small",multiline:!0,minRows:2})]})]})]})}yt.propTypes={actionKey:u.string.isRequired,actionData:u.object,expanded:u.bool,selectedLang:u.string,editing:u.shape({actionKey:u.string,name:u.string,allActions:u.object}),onChange:u.shape({accordion:u.func,language:u.func,field:u.func,startEditing:u.func,editingName:u.func,finishEditing:u.func,editingKeyDown:u.func,delete:u.func,addLanguage:u.func,deleteLanguage:u.func})};function kt({open:r,onClose:s,existingLanguages:c,selectedLanguage:i,onLanguageChange:n,onAdd:t}){const{t:l}=$(),d=Be.baseLanguages.filter(f=>!c.includes(f.code));return e.jsxs(Ht,{open:r,onClose:s,maxWidth:"xs",fullWidth:!0,children:[e.jsx(Mt,{children:l("authentication.didConnect.addLanguage")}),e.jsx($t,{children:e.jsx(V,{fullWidth:!0,sx:{mt:1},children:e.jsx(Jt,{value:i,onChange:f=>n(f.target.value),displayEmpty:!0,size:"small",renderValue:f=>f?jt(f):e.jsx(te,{color:"text.secondary",children:l("authentication.didConnect.selectLanguage")}),children:d.map(f=>e.jsx(Kt,{value:f.code,children:f.name},f.code))})})}),e.jsxs(Gt,{children:[e.jsx(X,{onClick:s,children:l("common.cancel")}),e.jsx(X,{onClick:t,variant:"contained",disabled:!i,children:l("common.add")})]})]})}kt.propTypes={open:u.bool.isRequired,onClose:u.func.isRequired,existingLanguages:u.array.isRequired,selectedLanguage:u.string.isRequired,onLanguageChange:u.func.isRequired,onAdd:u.func.isRequired};function wt({open:r=!1,onClose:s=()=>{},onSave:c=()=>{},initialConfig:i=null}){const{t:n,locale:t}=$(),[l,d]=L.useState({}),[f,h]=L.useState("login"),[y,w]=L.useState({}),[p,b]=L.useState(!1),[x,D]=L.useState(""),[S,T]=L.useState(""),[v,j]=L.useState(null),[a,o]=L.useState(""),C=t||"en";L.useEffect(()=>{if(!r)return;const k=i||Ue;d(k);const F=Object.keys(k);h(F[0]||"login");const z={};F.forEach(G=>{const U=Object.keys(k[G]||{});z[G]=U.includes(C)?C:U[0]||"en"}),w(z),j(null)},[r,i,C]);const B=g(k=>k?Object.values(k).every(F=>!F?.title?.trim()&&!F?.scan?.trim()):!0),ve=g(()=>!Object.keys(l).some(F=>!gt.includes(F)&&B(l[F]))&&!l[xe]);g(()=>{ve()&&(d(k=>({...k,[xe]:jn})),h(xe),w(k=>({...k,[xe]:C})),j(xe),o(xe))});const fe=g(k=>{const{value:F}=k.target;(F===""||/^[a-z-]*$/.test(F))&&o(F)}),ae=g(()=>{const k=a.trim();if(!k||!xt(k)||k!==v&&l[k]){j(null);return}if(k!==v){const F={};Object.keys(l).forEach(z=>{F[z===v?k:z]=l[z]}),d(F),f===v&&h(k),y[v]&&w(z=>{const G={...z,[k]:z[v]};return delete G[v],G})}j(null)}),E=g(k=>{k.key==="Enter"?ae():k.key==="Escape"&&j(null)}),W=g((k,F)=>{F.stopPropagation();const z={...l};delete z[k],d(z),f===k&&h(Object.keys(z)[0]||!1)}),O=g(()=>{!S||!x||(d(k=>({...k,[x]:{...k[x],[S]:{title:"",scan:"",confirm:"",success:""}}})),w(k=>({...k,[x]:S})),b(!1))}),de=g((k,F,z)=>{z.stopPropagation();const G=l[k];if(Object.keys(G||{}).length<=1)return;const ee={...G};delete ee[F],d(ue=>({...ue,[k]:ee})),y[k]===F&&w(ue=>({...ue,[k]:Object.keys(ee)[0]||"en"}))}),H=g(()=>{c(JSON.stringify(l)),s()});ve();const St=e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:s,variant:"outlined",children:n("common.cancel")}),e.jsx(X,{onClick:H,variant:"contained",startIcon:e.jsx(Zt,{}),children:n("common.confirm")})]});return e.jsxs(we,{open:r,onClose:s,maxWidth:"md",fullWidth:!0,title:n("authentication.didConnect.configDialogTitle"),actions:St,children:[e.jsxs(_,{spacing:1.5,children:[Object.keys(l).map(k=>{const F=l[k]||{},z=Object.keys(F),G=y[k]||z[0]||"en";return e.jsx(yt,{actionKey:k,actionData:F,expanded:f===k,selectedLang:G,editing:{actionKey:v,name:a,allActions:l},onChange:{accordion:U=>h(U?k:!1),language:U=>w(ee=>({...ee,[k]:U})),field:(U,ee)=>d(ue=>({...ue,[k]:{...ue[k],[G]:{...ue[k]?.[G],[U]:ee}}})),startEditing:U=>{U.stopPropagation(),j(k),o(k)},editingName:fe,finishEditing:ae,editingKeyDown:E,delete:U=>W(k,U),addLanguage:U=>{U.stopPropagation(),D(k),T(""),b(!0)},deleteLanguage:(U,ee)=>de(k,U,ee)}},k)}),!1]}),e.jsx(kt,{open:p,onClose:()=>b(!1),existingLanguages:Object.keys(l[x]||{}),selectedLanguage:S,onLanguageChange:T,onAdd:O})]})}wt.propTypes={open:u.bool,onClose:u.func,onSave:u.func,initialConfig:u.object};const Se={showDidColor:!0,showAppInfo:!0};function $e(r){return e.jsx(tt,{...r,sx:{transform:"scale(0.75)"}})}function vn(){const{api:r}=K(),{blocklet:s}=J(),c=s?.meta?.did,{control:i,reset:n}=oe({defaultValues:Ye({},Se,s?.settings?.didConnect||{})}),t=ne(()=>{const b=s?.settings?.actionConfig;return b&&!Qe(b)?b:Ue},[s?.settings?.actionConfig]),{t:l}=$(),[d,f]=L.useState(!1),h=g(async(b,x)=>{try{const D={showDidColor:i._defaultValues?.showDidColor??Se.showDidColor,showAppInfo:i._defaultValues?.showAppInfo??Se.showAppInfo};D[b]=x;const{blocklet:S}=await r.configDidConnect({input:{did:c,didConnect:JSON.stringify(D)}}),T=Object.assign({},Se,S?.settings?.didConnect||{});n(T),P.success(l("common.configSuccess"))}catch(D){P.error(D.message),n(i._defaultValues)}}),y=g(()=>{f(!1)}),w=g(()=>{f(!0)}),p=g(async b=>{try{await r.configDidConnectActions({input:{did:c,actionConfig:b}}),P.success(l("common.configSuccess"))}catch(x){console.error(x),P.error(x.message)}});return e.jsxs(yn,{children:[e.jsxs(_,{direction:"column",sx:{gap:4},children:[e.jsxs(m,{children:[e.jsx(m,{children:l("authentication.didConnect.basicSettings")}),e.jsx(pe,{sx:{my:2}}),e.jsxs(_,{sx:{gap:2},children:[e.jsx(I,{title:l("authentication.didConnect.showDidColor"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"showDidColor",control:i,render:({field:b})=>e.jsx($e,{...b,checked:b.value,onChange:x=>{h("showDidColor",x.target.checked),b.onChange(x)}})})})}),e.jsx(I,{title:l("authentication.didConnect.showAppInfo"),sectionLeftSx:{width:"600px"},children:e.jsx(m,{sx:{alignSelf:"flex-start"},children:e.jsx(A,{name:"showAppInfo",control:i,render:({field:b})=>e.jsx($e,{...b,checked:b.value,onChange:x=>{h("showAppInfo",x.target.checked),b.onChange(x)}})})})})]})]}),e.jsxs(m,{children:[e.jsx(m,{children:l("authentication.didConnect.customSettings")}),e.jsx(pe,{sx:{my:2}}),e.jsx(_,{direction:"row",sx:{gap:2},children:e.jsx(X,{variant:"outlined",onClick:w,children:l("authentication.didConnect.configDialogTitle")})})]})]}),e.jsx(wt,{open:d,onClose:y,onSave:p,initialConfig:t})]})}const yn=Je.div`
|
|
42
42
|
max-width: 1536px;
|
|
43
43
|
|
|
44
44
|
.advanced-config {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as r}from"./vendor-ux-CLT2i3Pv.js";import{aL as _,aM as e}from"./index-CXp5SI_f.js";const m={en:_(e),ar:()=>r(()=>import("./ar-DOhYGTlW.js"),[],import.meta.url).then(t=>_(t.default)),de:()=>r(()=>import("./de-CtKPdGk6.js"),[],import.meta.url).then(t=>_(t.default)),es:()=>r(()=>import("./es-BSYtSZPg.js"),[],import.meta.url).then(t=>_(t.default)),fr:()=>r(()=>import("./fr-C35fi7h9.js"),[],import.meta.url).then(t=>_(t.default)),hi:()=>r(()=>import("./hi-5fpYJkiW.js"),[],import.meta.url).then(t=>_(t.default)),id:()=>r(()=>import("./id-DoVb0JYr.js"),[],import.meta.url).then(t=>_(t.default)),ja:()=>r(()=>import("./ja-DZPUwZ9l.js"),[],import.meta.url).then(t=>_(t.default)),ko:()=>r(()=>import("./ko-q4i4r9g6.js"),[],import.meta.url).then(t=>_(t.default)),pt:()=>r(()=>import("./pt-BFCHl6F1.js"),[],import.meta.url).then(t=>_(t.default)),ru:()=>r(()=>import("./ru-CSTl62kK.js"),[],import.meta.url).then(t=>_(t.default)),th:()=>r(()=>import("./th-D75Dlluo.js"),[],import.meta.url).then(t=>_(t.default)),vi:()=>r(()=>import("./vi-D1mKYrmb.js"),[],import.meta.url).then(t=>_(t.default)),"zh-TW":()=>r(()=>import("./zh-tw-C4Juvs-i.js"),[],import.meta.url).then(t=>_(t.default)),zh:()=>r(()=>import("./zh-G2I44gfs.js"),[],import.meta.url).then(t=>_(t.default))};export{m as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as g}from"./vendor-react-DX7tU9aY.js";import{j as e,z as O,y as X,bN as G,M as Q,al as m,X as x,a7 as ke,
|
|
1
|
+
import{r as g}from"./vendor-react-DX7tU9aY.js";import{j as e,z as O,y as X,bN as G,M as Q,al as m,X as x,a7 as ke,ct as ve,b3 as J,A as U,bK as Te,a6 as Ae,aT as P,T as E,cu as Ke,cr as Re,b4 as De,R as Ie,cC as Se}from"./vendor-mui-core-CV-FnYH_.js";import{W as I,bm as $,b5 as F,b4 as $e,aO as oe,bG as H,Q as Be,bI as M,bE as Ne,a1 as Ee,bb as _e,aR as Pe,aQ as We}from"./vendor-ux-CLT2i3Pv.js";import{f as ze}from"./index-DBs9Ljax.js";import{c as z,W as S,B as Me,aX as qe,V as Le,aI as ie,aJ as ae,aK as re,o as Ue}from"./index-CXp5SI_f.js";import{r as ce}from"./passport-item-DHwif94N.js";import{b as W}from"./team-BTz28XqK.js";import{t as le}from"./arrow-down.svg-Dz9H9vM-.js";import{T as de}from"./index-CfvGuvbD.js";import{C as pe}from"./confirm-CdVn5WdC.js";import{a4 as Fe,z as _}from"./vendor-utils-BzQg432x.js";import{u as He}from"./session-Bp3LV7zJ.js";import{C as V}from"./click-to-copy-BgIYUMoo.js";import{f as Ve}from"./index-BojVbZw0.js";import{D as Oe}from"./delete-confirm-CkiUXocp.js";import{P as Xe}from"./permission-CvrrGfG6.js";import{B as Ge}from"./bundle-avatar-DwiOyeMO.js";import{W as Qe}from"./did-address-CG36eCOx.js";import{u as me}from"./use-mobile-DwGMuJlg.js";import{A as Je}from"./actions-DydkTgA0.js";import{T as ne}from"./table-tips-Dvmdodc5.js";import{D as Ye}from"./vendor-hooks-DAZ1H6Va.js";import"./vendor-arcblock-Dll6qxMT.js";import"./ua-parser-D6QF1h5N.js";import"./util-DkTwHdRu.js";import"./base32-7iZvvdX8.js";import"./purify.es-HRjpPm7y.js";import"./wallet-hidden-topbar-joIVZ1nl.js";import"./theme-mode-toggle-D3bcd10D.js";import"./use-mobile-CyUZDIaX.js";import"./index-CEJb82tA.js";import"./isURL-CpQHQuaa.js";import"./isIP-BBY240SU.js";import"./use-blocklet-logo-Cf1j7pQz.js";import"./use-app-logo-IRizt64R.js";import"./vendor-mui-x-DwN6dcQH.js";import"./AdapterDayjs-CYW0YvmK.js";function Y({value:s}){const{t,locale:n}=I(),a=new Date;return new Date(s)<a?e.jsxs("span",{style:{color:"red"},children:[e.jsx($,{value:s,locale:n}),`${t("setting.accessKey.expired",{time:""})}`]}):e.jsx($,{mode:"daysLeft",value:s,locale:n,type:"all"})}Y.propTypes={value:x.string.isRequired};function Z({value:s,onChange:t,...n}){const{t:a}=I(),i=g.useMemo(()=>[{value:"signature",title:a("setting.accessKey.signature"),description:a("setting.accessKey.signatureDesc")},{value:"simple",title:a("setting.accessKey.simple"),description:a("setting.accessKey.simpleDesc")}],[a]);return e.jsxs(O,{style:{width:"100%"},variant:"outlined",...n,children:[e.jsx(X,{children:a("setting.accessKey.authType")}),e.jsx(G,{value:s,onChange:t,fullWidth:!0,label:a("setting.accessKey.authType"),IconComponent:l=>e.jsx(le,{...l,width:20,height:20}),children:i.map(l=>e.jsx(Q,{value:l.value,children:e.jsxs(m,{children:[e.jsx("span",{children:l.title}),e.jsx(m,{sx:{maxWidth:510,fontSize:12,color:"#999",whiteSpace:"normal"},children:l.description})]})},l.value))})]})}Z.propTypes={value:x.string.isRequired,onChange:x.func.isRequired};const ee=()=>{const s=z.RBAC_CONFIG.roles.filter(i=>i.passport),{inService:t}=S(),{roles:n}=W(),a=[...s,...t?n:[]];return Fe(a,"name").filter(i=>i.name!==z.ROLES.OWNER)};function ue(){const{session:s}=He(),t=ee();return g.useMemo(()=>{if(!s?.user?.role)return[];if(["owner","admin"].includes(s.user.role))return t;const a=t.filter(l=>l.name==="guest");return[...t.filter(l=>l.name!=="guest").filter(l=>s.user.passports.find(b=>b.role===l.name)),...a]},[t,s?.user?.passports,s?.user?.role])}function xe({onCreate:s=()=>{},remark:t=""}){const{api:n}=S(),{teamDid:a}=W(),{t:i}=I(),[l,b]=g.useState(!1),[p,j]=g.useState(null),u=ue(),K=()=>{b(!1),j(null)},C=async r=>{const{remark:w,passport:f,authType:o}=r;b(!0);const v=await n.createAccessKey({input:{teamDid:a,remark:w.trim(),passport:f,expireAt:r.expireAt?new Date(r.expireAt).getTime():null,authType:o}}),{data:R}=v;s(R),j(null),b(!1)},d={title:`${i("common.create")} ${i("accessKey")}`,description:(r,w,f)=>e.jsxs(J,{sx:{gap:3},children:[e.jsx(U,{label:i("setting.accessKey.tip"),autoComplete:"off",variant:"outlined",name:"remark",fullWidth:!0,autoFocus:!0,margin:"dense",value:r.remark,onChange:o=>{w({...r,remark:o.target.value,__disableConfirm:!r.passport||!o.target.value.trim()}),o.target.value.trim()?f(""):f(i("setting.accessKey.remarkInvalid"))},slotProps:{htmlInput:{"data-cy":"remark-input"}}}),e.jsxs(O,{style:{width:"100%"},variant:"outlined",children:[e.jsx(X,{sx:{width:"calc(100% - 46px)"},children:i("setting.accessKey.passport")}),e.jsx(G,{"data-cy":"create-access-key-select-passport",value:r.passport,onChange:o=>{const v=o.target.value;f(null),w({...r,passport:v,__disableConfirm:!r.remark||!v})},fullWidth:!0,label:i("setting.accessKey.passport"),disabled:l,IconComponent:o=>e.jsx(le,{...o,width:20,height:20}),children:u.map(o=>e.jsx(Q,{value:o.name,"data-cy":`create-access-key-passport-option-${o.name}`,children:e.jsxs(m,{children:[e.jsx("span",{children:o.title||o.name}),e.jsx(m,{sx:{maxWidth:440,fontSize:12,color:"#999",whiteSpace:"normal",textAlign:"justify"},children:o.description})]})},o.name))})]}),e.jsx(Z,{value:r.authType,onChange:o=>{w({...r,authType:o.target.value})}}),e.jsx(de,{placeholder:i("setting.accessKey.expireTime"),value:r.expireAt,onChange:o=>{w({...r,expireAt:o,__disableConfirm:!r.passport||!r.remark||!o})}})]}),confirm:i("common.confirm"),cancel:i("common.cancel"),color:"primary",params:{remark:t,authType:"signature",__disableConfirm:!t.trim()},onConfirm:C,onCancel:K};return e.jsxs(e.Fragment,{children:[e.jsxs(F,{edge:"end",variant:"contained",color:"primary","data-cy":"add-access-key-btn",onClick:r=>{r.stopPropagation(),j(d)},className:"rule-action",children:[l?e.jsx(ke,{size:16}):e.jsx(ve,{style:{fontSize:16}}),i("common.create")]}),p&&e.jsx(pe,{title:p.title,description:p.description,confirm:p.confirm,color:p.color,cancel:p.cancel,params:p.params,onConfirm:p.onConfirm,onCancel:p.onCancel})]})}xe.propTypes={remark:x.string,onCreate:x.func};function fe({onConfirm:s=()=>{},accessKeyId:t,accessKeySecret:n,hideSecret:a=!0}){const{t:i}=g.useContext($e),[l,b]=g.useState(!1),[p,j]=g.useState(()=>a),u=S(),K=()=>{j(!p)},C=f=>{b(f.target.checked)},d=_(window.location.origin,u?.info?.routing?.adminPath),r=g.useMemo(()=>a?`const Client = require('@blocklet/server-js');
|
|
2
2
|
const ensureServerEndpoint = require('@abtnode/util/lib/ensure-server-endpoint');
|
|
3
3
|
const { joinURL } = require('ufo');
|
|
4
4
|
|
|
@@ -27,14 +27,14 @@ const result = await client.getBlocklet(
|
|
|
27
27
|
`,Ze=P.div`
|
|
28
28
|
font-size: 16px;
|
|
29
29
|
font-weight: bold;
|
|
30
|
-
`;function he({accessKeyId:s,time:t,remark:n,onDelete:a=()=>{},onClose:i=()=>{}}){const{t:l,locale:b}=
|
|
30
|
+
`;function he({accessKeyId:s,time:t,remark:n,onDelete:a=()=>{},onClose:i=()=>{}}){const{t:l,locale:b}=I(),{api:p}=S(),{teamDid:j}=W(),u=()=>{i()},K=async()=>{try{await p.deleteAccessKey({input:{teamDid:j,accessKeyId:s}}),a()}catch(r){Be.error(r?.message)}finally{u()}},C=r=>({key:`<b>${s}</b>`,name:`<b>${n}</b>`,time:Me(r,b),timeAge:Ve(new Date(r),qe(b))}),d={keyName:n,title:l("setting.accessKey.title"),description:t?`${l("setting.accessKey.description",C(t))}`:`${l("setting.accessKey.descriptionNoTime",{key:`<b>${s}</b>`,name:`<b>${n}</b>`})}`,confirmPlaceholder:l("setting.accessKey.confirm_desc",{name:n}),confirm:l("common.delConfirm"),cancel:l("common.cancel"),onConfirm:K,onCancel:u};return e.jsx(Oe,{keyName:d.keyName,title:d.title,description:d.description,confirmPlaceholder:d.confirmPlaceholder,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel})}he.propTypes={accessKeyId:x.string.isRequired,time:x.string.isRequired,remark:x.string.isRequired,onDelete:x.func,onClose:x.func};function ge({accessKeyId:s,remark:t="",onUpdate:n=()=>{},passport:a="",expireAt:i="",authType:l="signature",onClose:b=()=>{}}){const{api:p}=S(),{teamDid:j}=W(),{t:u}=I(),[K,C]=g.useState(!1),d=ue(),r=()=>{C(!1),b()},w=async o=>{const{accessKeyId:v,remark:R="",passport:h,expireAt:y,authType:B}=o;C(!0),await p.updateAccessKey({input:{teamDid:j,accessKeyId:v,remark:R.trim(),passport:h,expireAt:y?new Date(y).getTime():null,authType:B}}),n(),r()},f={title:`${u("common.update")} ${u("accessKey")}`,description:(o,v,R)=>e.jsxs(J,{sx:{gap:3},children:[e.jsx(U,{label:u("setting.accessKey.accessKeyId"),autoComplete:"off",variant:"outlined",name:"accessKeyId",fullWidth:!0,autoFocus:!0,margin:"dense",value:o.accessKeyId,disabled:!0}),e.jsx(U,{label:u("common.remark"),autoComplete:"off",variant:"outlined",name:"remark",fullWidth:!0,autoFocus:!0,value:o.remark,onChange:h=>{v({...o,remark:h.target.value,__disableConfirm:!h.target.value.trim()}),h.target.value.trim()?R(""):R(u("setting.accessKey.remarkInvalid"))}}),e.jsxs(O,{style:{width:"100%"},variant:"outlined",children:[e.jsx(X,{children:u("setting.accessKey.passport")}),e.jsx(G,{"data-cy":"update-access-key-select-passport",value:o.passport,onChange:h=>{const y=h.target.value;R(null),v({...o,passport:y,__disableConfirm:!o.remark||!y})},fullWidth:!0,label:u("setting.accessKey.passport"),disabled:K,children:d.map(h=>e.jsx(Q,{value:h.name,"data-cy":`update-access-key-passport-option-${h.name}`,children:e.jsxs(m,{children:[e.jsx("span",{children:h.title||h.name}),e.jsx(m,{sx:{maxWidth:440,fontSize:12,color:"#999",whiteSpace:"normal",textAlign:"justify"},children:h.description})]})},h.name))})]}),e.jsx(Z,{disabled:!0,value:o.authType,onChange:h=>{v({...o,authType:h.target.value})}}),e.jsx(de,{placeholder:u("setting.accessKey.expireTime"),value:o.expireAt,onChange:h=>{v({...o,expireAt:h,__disableConfirm:!o.passport||!o.remark||!h})}})]}),confirm:u("common.confirm"),cancel:u("common.cancel"),color:"primary",params:{accessKeyId:s,remark:t,passport:a,expireAt:i,authType:l},onConfirm:w,onCancel:r};return e.jsx(pe,{title:f.title,description:f.description,confirm:f.confirm,color:f.color,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel})}ge.propTypes={accessKeyId:x.string.isRequired,remark:x.string,passport:x.string,expireAt:x.string,authType:x.string,onUpdate:x.func,onClose:x.func};function ye({accessKey:s,onCancel:t}){const{t:n}=I();return e.jsx(oe,{title:n("accessKey"),onClose:t,open:!0,PaperProps:{sx:{maxWidth:800,"@media (max-width: 768px)":{margin:"16px",maxWidth:"calc(100vw - 32px)"}}},fullWidth:!0,children:e.jsx(et,{children:e.jsx(be,{accessKey:s})})})}ye.propTypes={accessKey:x.object.isRequired,onCancel:x.func.isRequired};const et=P(m)`
|
|
31
31
|
margin-top: -16px;
|
|
32
32
|
|
|
33
33
|
.tabs {
|
|
34
34
|
margin-left: 0;
|
|
35
35
|
margin-right: 0;
|
|
36
36
|
}
|
|
37
|
-
`;function be({accessKey:s}){const{t,locale:n}=
|
|
37
|
+
`;function be({accessKey:s}){const{t,locale:n}=I(),{blocklet:a}=Le(),i=S(),l=ee(),b=me(),p=(a?.children||[]).find(d=>d?.meta?.did===s.componentDid),j=l.find(d=>d.name===s.passport),u=j?j.title:s.passport,K=g.useMemo(()=>i.inService?`curl -H "Authorization: Bearer blocklet-${M(s.accessKeyPublic)}" "${_(window.blocklet?.appUrl,z.WELLKNOWN_SERVICE_PATH_PREFIX,"/api/did/session")}"`:`curl -H "Authorization: Bearer blocklet-${M(s.accessKeyPublic)}" "${_(window.location.origin,i?.info?.routing?.adminPath,"/api/did/session")}"`,[s.accessKeyPublic,i.inService,i?.info?.routing?.adminPath]),C=[{title:t("common.baseInfo"),items:[{label:t("setting.accessKey.accessKeyId"),content:e.jsx(Qe,{did:s.accessKeyId,showQrcode:!0})},...s.authType==="simple"?[{label:t("setting.accessKey.accessKeySecret"),content:e.jsx(V,{children:`blocklet-${M(s.accessKeyPublic)}`})}]:[],{label:t("common.role"),content:e.jsx(m,{children:ce(u,s.passport)})},{label:t("common.createdVia"),content:s.createdVia},{label:t("common.createdBy"),content:s.createdBy?e.jsx(ie,{showDid:!0,did:s.createdBy,cardType:re.Detailed,infoType:ae.Minimal,sx:{border:0,padding:0}}):"-"}]},{title:t("common.timeInfo"),items:[{label:t("common.createdAt"),content:s.createdAt?e.jsx($,{value:s.createdAt,type:b?"absolute":"all",locale:n}):"-"},{label:t("common.lastUsedAt"),content:s.lastUsedAt?e.jsx($,{value:s.lastUsedAt,type:b?"absolute":"all",locale:n}):"-"},{label:t("common.expiredAt"),content:s.expireAt?e.jsx(Y,{value:s.expireAt}):t("common.neverExpired")}]},{title:t("common.otherInfo"),items:[{label:t("setting.accessKey.authType"),content:s.authType},{label:t("common.remark"),content:s.remark},...s.authType!=="signature"?[{label:t("setting.accessKey.resourceType"),content:s.resourceType||"-"},{label:t("setting.accessKey.resourceId"),content:s.resourceId||"-"}]:[],...p?[{label:t("setting.accessKey.component"),content:e.jsxs(m,{sx:{width:{xs:250,sm:400},display:"flex",alignItems:"center"},children:[e.jsx(Ge,{blocklet:p,ancestors:[a]}),e.jsx(m,{sx:{ml:"16px",minWidth:0},children:e.jsxs(m,{className:"component-header",children:[e.jsx(m,{className:"component-name",children:Ue.getDisplayName(p,!0)}),e.jsx(m,{className:"component-version",children:p?.meta?.version})]})})]},p)}]:[],s.authType!=="signature"?{label:t("setting.accessKey.usage"),content:e.jsx(H,{code:K,language:"shell",showDefaultText:!1})}:null].filter(Boolean)}];return e.jsx(tt,{gap:3,children:e.jsx(m,{className:"info-area",children:C.map(d=>e.jsxs(m,{sx:{mb:3},children:[e.jsx(E,{variant:"h6",sx:{mb:1.5},children:d.title}),e.jsx(m,{className:"info-grid",children:d.items.map(r=>e.jsxs(m,{className:"info-item",children:[e.jsx(m,{className:"info-label",children:e.jsx(E,{variant:"subtitle2",color:"textSecondary",children:r.label})}),e.jsx(m,{className:"info-content",sx:{flex:1,minWidth:0,"@media (max-width: 768px)":{width:"100%",flex:"none"}},children:r.content})]},r.label))})]},d.title))})})}be.propTypes={accessKey:x.object.isRequired};const tt=P(J)`
|
|
38
38
|
.info-card {
|
|
39
39
|
margin-bottom: 24px;
|
|
40
40
|
overflow: hidden;
|
|
@@ -147,4 +147,4 @@ const result = await client.getBlocklet(
|
|
|
147
147
|
margin: 0;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
-
`;function st({isSelf:s=!1,columnSx:t={}}){const{t:n,locale:a}=
|
|
150
|
+
`;function st({isSelf:s=!1,columnSx:t={}}){const{t:n,locale:a}=I(),{api:i,inService:l}=S(),{teamDid:b}=W(),[p,j]=g.useState({}),[u,K]=g.useState(null),[C,d]=g.useState(null),[r,w]=g.useState(null),f=me(),o=ee(),v=g.useRef(null),R=`access-keys-${b}`,h=Ne(R),[y,B]=g.useState({searchText:h.searchText||"",pageSize:h.rowsPerPage||10,page:1}),D=Ye(async()=>{const c={teamDid:b,paging:{page:y.page,pageSize:y.pageSize}};return y.searchText&&(c.remark=y.searchText),await i.getAccessKeys({input:c})},[y.page,y.pageSize,y.searchText]),{loading:je,error:te}=D,N=g.useMemo(()=>D.value?.list||[],[D.value?.list]),se=g.useMemo(()=>s?["accessKeyId","createdVia","createdBy","createdBy"]:[],[s]),Ce=g.useMemo(()=>[{label:n("common.name"),name:"remark",options:{customBodyRender:(c,{rowIndex:T})=>{const A=N[T];return e.jsx(m,{className:"remark",sx:Ee({display:"flex",alignItems:"center",gap:2},t),children:e.jsx(E,{children:A.remark||"N/A"})})}}},{label:"Access Key ID",name:"accessKeyId",options:{customBodyRender:c=>e.jsx(m,{sx:t,children:e.jsx(_e,{showDidLogo:!1,children:c})})}},{label:n("common.role"),name:"passport",options:{customBodyRender:c=>{const T=o.find(k=>k.name===c),A=T?T.title:c;return e.jsx(m,{sx:t,children:ce(A,c)})}}},{label:n("common.createdVia"),name:"createdVia",options:{customBodyRender:c=>e.jsx(E,{sx:t,children:c})}},{label:n("setting.accessKey.authType"),name:"authType",options:{customBodyRender:c=>e.jsx(E,{sx:t,children:n(`setting.accessKey.${c}`)})}},{label:n("common.createdAt"),name:"createdAt",options:{customBodyRender:c=>e.jsx(m,{sx:t,children:c?e.jsx($,{value:c,locale:a}):"-"})}},{label:n("common.lastUsedAt"),name:"lastUsedAt",options:{customBodyRender:c=>e.jsx(m,{sx:t,children:c?e.jsx($,{value:c,locale:a}):"-"})}},{label:n("common.expiredAt"),name:"expireAt",options:{customBodyRender:c=>e.jsx(m,{className:"expired-at",sx:t,children:c?e.jsx(Y,{value:c}):n("common.neverExpired")})}},{label:n("common.createdBy"),name:"createdBy",width:100,options:{customBodyRender:c=>e.jsx(m,{sx:t,children:c?e.jsx(ie,{showDid:!0,did:c,cardType:re.Detailed,infoType:ae.Minimal,sx:{border:0,padding:0,...f&&{minWidth:"unset"}}}):"-"})}},{label:n("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(c,{rowIndex:T})=>{const A=N[T];return e.jsx(m,{sx:t,children:e.jsx(Je,{"data-cy":"access-key-actions",actions:[{icon:e.jsx(Ke,{}),text:n("common.edit"),onClick:k=>{k.stopPropagation(),w(A)}},{icon:e.jsx(Re,{}),text:n("common.delete"),onClick:k=>{k.stopPropagation(),d(A)}}]})})}}}].filter(c=>!se.includes(c.name)),[N,a,n,o,d,w,t,f,se]),we=({page:c,rowsPerPage:T,searchText:A})=>{y.pageSize!==T?B(k=>({...k,pageSize:T,page:1})):y.page!==c+1?B(k=>({...k,searchText:A,page:c+1})):y.searchText!==A&&B(k=>({...k,searchText:A,page:1}))};return te?e.jsx(De,{severity:"error",children:ze(te)}):e.jsxs(m,{ref:v,sx:{".custom-toobar-btns":{gap:"8px"},".custom-toobar-title .custom-toobar-title-inner>span":{display:"flex",alignItems:"center","white-space":"inherit",height:"100%"}},children:[f?e.jsx(ne,{title:n("setting.accessKey.listTitle"),tooltipTitle:n("setting.accessKey.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${a}/access-key`}):null,e.jsx(Pe,{durable:R,durableKeys:["page","rowsPerPage","searchText"],data:N,locale:a,columns:Ce,className:"pc-access-key-table",options:{sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,page:y.page-1,rowsPerPage:y.pageSize,count:D.value?.paging?.total||0,searchText:y.searchText,searchDebounceTime:600,onRowClick(c,{dataIndex:T},A){if(v.current?.contains(A.target)){const k=N[T];K(k)}}},loading:je,onChange:we,title:f?null:e.jsx(ne,{title:n("setting.accessKey.listTitle"),tooltipTitle:n("setting.accessKey.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${a}/access-key`}),customButtons:[e.jsx(Xe,{permission:l?"":"mutate_accessKey",children:e.jsx(xe,{onCreate:c=>{const{accessKeyId:T,accessKeySecret:A,authType:k}=c;j({show:!0,accessKeyId:T,accessKeySecret:A,authType:k})}})}),e.jsx(Ie,{variant:"contained",color:"primary",startIcon:e.jsx(Se,{}),onClick:()=>{D.retry()},children:n("common.refresh")})],emptyNode:e.jsx(We,{children:n("oauth.client.empty")})}),p.show&&e.jsx(fe,{hideSecret:p.authType==="signature",onConfirm:()=>{D.retry(),j({show:!1})},...p}),u&&e.jsx(ye,{onCancel:()=>K(null),accessKey:u}),C&&e.jsx(he,{accessKeyId:C.accessKeyId,time:C.lastUsedAt,remark:C.remark||"N/A",onDelete:D.retry,onClose:()=>d(null)}),r&&e.jsx(ge,{...r,onUpdate:D.retry,onClose:()=>w(null)})]})}st.propTypes={isSelf:x.bool,columnSx:x.object};export{st as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,al as m,aY as st,X as h,as as A,cq as ot,bb as it,T as N,cr as at,cs as lt,G as ct,W as dt,I as Oe,ct as oe,V as Z,n as ce,U as mt,c2 as ut,R as J,aj as gt,an as de,b6 as pt,c3 as xt,cu as ht,b3 as Re,bX as ft,cm as bt,cn as vt,cv as yt,cw as jt,s as Ct,L as wt,bO as Ot,A as me,c1 as Ne,b4 as St,a7 as Tt,cx as Pt,ak as It,z as kt,y as Dt,bN as Mt,M as Rt}from"./vendor-mui-core-D7t4vMS5.js";import{W as B,Q as O,aQ as Be,bk as Se,Y as ze,aP as _e,b3 as zt,bC as Et,aO as ge,b4 as Ee}from"./vendor-ux-Dl3wVbv_.js";import{i as V,b as j,r as qe,a as Wt,o as Lt,v as At,f as Nt}from"./vendor-hooks-DAZ1H6Va.js";import{r as C,u as Ue,i as Bt}from"./vendor-react-DX7tU9aY.js";import{aI as ie,aK as ae,c as Pe,W as He,am as _t,aJ as ue,G as qt,ap as Ut,B as Ht}from"./index-Ca33rdd_.js";import{b as Fe}from"./team-7-48iuwj.js";import{u as $e}from"./use-mobile-BSL5RsRd.js";import{A as Ft}from"./actions-Dktj9pEF.js";import{u as Je}from"./session-lE2gmzzF.js";import{f as E}from"./index-DBs9Ljax.js";import{v as Ce}from"./index-CxOxF1pg.js";import{e as Ge,x as $t,n as te}from"./vendor-utils-BzQg432x.js";import{F as We}from"./form-text-input-Cs-LuCu0.js";import{e as Jt}from"./edit.svg-BGhTyO6h.js";import{c as Gt}from"./lock.svg-BOhdQlHW.js";import{D as Kt,P as Vt,a as Xt,M as Qt}from"./index-BQFgfBFX.js";import{c as Yt}from"./passport-DKYg_d4G.js";import{C as Zt}from"./click-to-copy-RBTqACSW.js";import{I as er}from"./invitations-gJ3uAWGN.js";function Ke({members:t,total:o}){return e.jsxs(m,{className:"members-avatar-group",sx:{display:"flex",alignItems:"center","& > *:not(:first-of-type)":{ml:-1}},children:[t.map((a,i)=>e.jsx(m,{sx:{position:"relative",zIndex:i},children:e.jsx(ie,{did:a.userDid,avatarSize:32,cardType:ae.AvatarOnly,showHoverCard:!1})},a.userDid)),o>5&&e.jsxs(st,{sx:{width:32,height:32,bgcolor:"grey",fontSize:14},children:["+",o-5]})]})}Ke.propTypes={members:h.array.isRequired,total:h.number.isRequired};function Ve({org:t={},loading:o=!1}){const{t:a,locale:i}=B();return t.id?o?e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(A,{variant:"text",width:50,height:24}),e.jsx(A,{variant:"text",width:20,height:24})]}):e.jsxs(ot,{"aria-label":"breadcrumb",children:[e.jsx(it,{underline:"hover",color:"inherit",href:`${Pe.WELLKNOWN_SERVICE_PATH_PREFIX}/user/orgs?locale=${i}`,children:a("common.orgs")}),e.jsx(N,{children:t.name})]}):null}Ve.propTypes={org:h.object.isRequired,loading:h.bool};function tr(t){if(!t)return"";if(/[\u4e00-\u9fa5]/.test(t.charAt(0)))return t.charAt(0);const o=t.trim().split(/\s+/);return o.length>1?o.slice(0,2).map(a=>a.charAt(0).toUpperCase()).join(""):t.charAt(0).toUpperCase()}function Xe({org:t,loading:o=!1}){return e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:2},children:[e.jsx(m,{sx:{width:56,height:56,borderRadius:1,backgroundColor:"grey.100",display:"flex",alignItems:"center",justifyContent:"center"},children:o?e.jsx(A,{variant:"text",width:25,height:25}):e.jsx(N,{sx:{fontSize:30,fontWeight:600},children:tr(t.name)})}),e.jsxs(m,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[e.jsx(N,{variant:"h4",sx:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",textOverflow:"ellipsis"},children:o?e.jsx(A,{variant:"text",width:"10%",height:24}):t.name||"-"}),e.jsx(N,{variant:"body1",sx:{fontSize:14,lineHeight:1.2,overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:o?e.jsx(A,{variant:"text",width:"30%",height:24}):t.description||"-"})]})]})}Xe.propTypes={org:h.shape({name:h.string,description:h.string}).isRequired,loading:h.bool};function Ie({tabs:t,currentTab:o,onTabChange:a,loading:i=!1,extra:r=null}){return e.jsxs(m,{sx:{display:"flex",gap:1,alignItems:"center",justifyContent:"space-between",flexWrap:"wrap"},children:[i?e.jsx(A,{variant:"text",width:300,height:56}):e.jsx(at,{color:"primary",size:"small",value:o,exclusive:!0,onChange:(s,u)=>{u!==null&&a(u)},disabled:i,children:t.map(s=>e.jsx(lt,{size:"small",value:s.value,children:s.label},s.value))}),e.jsx(m,{children:r})]})}Ie.propTypes={tabs:h.array.isRequired,currentTab:h.string.isRequired,onTabChange:h.func.isRequired,loading:h.bool,extra:h.node};const Qe=C.createContext({}),{Provider:rr,Consumer:zr}=Qe,we={type:"",org:{},paging:{page:1,pageSize:10}};function nr({children:t,editable:o=!0,mode:a="user-center",id:i=""}){const{t:r}=B(),{api:s}=He(),{teamDid:u}=Fe(),{session:b}=Je(),[g,y]=C.useState(!1),[I,d]=C.useState(0),[w,T]=C.useState(0),f=V({loading:!1,org:null,members:[],membersPaging:{page:1,pageSize:10},invitations:[],refresh:null,editable:!1,roles:[],error:null}),x=C.useMemo(()=>b?.user?.did,[b?.user?.did]),R=V({all:JSON.parse(JSON.stringify(we)),myCreated:JSON.parse(JSON.stringify({...we,type:"owned"})),myJoined:JSON.parse(JSON.stringify({...we,type:"joined"}))}),k=V({mode:"",org:null}),v=V({loading:!1,org:null,showInvite:!1,showInviting:!1,inviteLink:"",roles:[],mode:"list"}),S=V({mode:"create",item:null,loading:!1,org:null,visible:!1}),U=C.useMemo(()=>window.blocklet?.settings?.org||{},[]),{confirmApi:H,confirmHolder:X}=_t(),re=j(async({org:n={},type:c="",paging:p={page:1,pageSize:10}})=>{try{y(!0);const z=await s.getOrgs({input:{teamDid:u,paging:p,org:n,...c?{type:c}:{}}});return R.all={org:n,paging:p,type:c},z}catch(z){console.error(z),O.error(E(z));return}finally{y(!1)}}),M=j(async({org:n={},paging:c={page:1,pageSize:10}})=>{try{y(!0);const p=await s.getOrgs({input:{teamDid:u,paging:c,org:n,type:"owned"}});return d(p?.paging?.total||0),R.myCreated={org:n,paging:c,type:"owned"},p}catch(p){console.error(p),O.error(E(p));return}finally{y(!1)}}),W=j(async({org:n={},paging:c={page:1,pageSize:10}})=>{try{y(!0);const p=await s.getOrgs({input:{teamDid:u,paging:c,org:n,type:"joined"}});return R.myJoined={org:n,paging:c,type:"joined"},p}catch(p){console.error(p),O.error(E(p));return}finally{y(!1)}}),D=j(()=>{T(n=>n+1)}),F=j(async n=>{try{await s.deleteOrg({input:{teamDid:u,id:n.id}}),D()}catch(c){console.error(c),O.error(E(c))}}),pe=j(n=>new Promise((c,p)=>{H.open({title:r("team.orgs.deleteConfirm",{name:n.name}),content:r("team.orgs.deleteConfirmDescription"),confirmButtonText:r("common.delete"),cancelButtonText:r("common.cancel"),confirmButtonProps:{color:"error"},onConfirm:async z=>{await F(n),z(),c()},onCancel:()=>{p()}})})),xe=j(async n=>{try{await s.updateOrg({input:{teamDid:u,org:n}}),O.success(r("team.orgs.mutate.updateSuccess"))}catch(c){console.error(c),O.error(E(c))}}),ee=j(async n=>{try{await s.createOrg({input:{teamDid:u,name:n.name,description:n.description}}),O.success(r("team.orgs.mutate.createSuccess")),D()}catch(c){console.error(c),O.error(E(c))}}),G=j(async(n,c=f.membersPaging)=>{try{const p=await s.getOrgMembers({input:{teamDid:u,orgId:n,paging:c}});f.members=p.users,f.membersPaging=p.paging}catch(p){console.error(p),O.error(E(p))}}),ne=j(async(n,c={page:1,pageSize:10})=>{try{const p=await s.getInvitations({input:{teamDid:u,orgId:n,paging:c}});f.invitations=p.invitations}catch(p){console.error(p),O.error(E(p))}}),Q=j(async n=>{try{const c=await s.getRoles({input:{teamDid:u,orgId:n}});f.roles=c.roles,v.roles=c.roles}catch(c){console.error(c),O.error(E(c))}}),he=j(async(n,c)=>{try{await s.removeOrgMember({input:{teamDid:u,orgId:n,userDid:c}}),O.success(r("team.orgs.invite.removeSuccess")),Promise.all([G(n),ne(n)])}catch(p){console.error(p),O.error(E(p))}}),Y=j((n,c)=>{const{user:p,status:z}=c,$=z==="inviting";return new Promise((ye,le)=>{H.open({title:$?r("team.orgs.member.removeInvitingMember",{name:p.fullName}):r("team.orgs.member.removeMemberConfirm",{name:p.fullName}),content:$?r("team.orgs.member.removeInvitingMemberDescription",{name:p.fullName}):r("team.orgs.member.removeMemberConfirmDescription"),confirmButtonProps:{color:"error"},onConfirm:async je=>{await he(n,p.did),je(),ye()},onCancel:()=>{le()}})})}),se=j(async n=>{try{const c=await s.getOrg({input:{teamDid:u,id:n}});f.org=c.org,f.error=null,f.editable=o?c?.org?.ownerDid===x:!1}catch(c){f.error=E(c),console.error(c),O.error(E(c))}}),fe=j(n=>{if(!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}k.org=n,k.mode="update"}),be=j(()=>{if(!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}const{maxOrgPerUser:n=10}=U;if(n<=I){O.error(r("team.orgs.mutate.maxOrgPerUser",{maxOrgPerUser:n}));return}k.org={},k.mode="create"}),ve=j(({org:n,open:c=!1,mode:p="list"})=>{if(c&&n){if(v.org=n,v.mode=p,!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}const{maxMemberPerOrg:z=100}=U;if(n.membersCount=n.membersCount||1,z<=(n?.membersCount??1)){O.error(r("team.orgs.mutate.maxMemberPerOrg",{maxMemberPerOrg:z}));return}Q(n.id)}else v.mode="list",v.org=null,v.roles=[],v.inviteLink="";v.showInvite=c}),Me=j(({org:n,open:c=!1})=>{v.showInviting=c,v.org=c?n:null}),K=j(()=>{k.org=null,k.mode=""}),l=j(async n=>{try{if(f.loading=!0,await se(n),f.error)return;f.editable?await Promise.all([G(n),ne(n),Q(n)]):await Promise.all([G(n),Q(n)])}catch(c){console.error(c)}finally{f.loading=!1}}),P=j(async({userDids:n,role:c,email:p,inviteType:z})=>{try{const{org:$}=v||{};if(!$)throw new Error(400,"Org is not found");v.loading=!0;const ye=await s.inviteMembersToOrg({input:{userDids:n,email:p,teamDid:u,orgId:$.id,role:c,inviteType:z}}),{failedDids:le,inviteLink:je}=ye.data||{};z==="external"?v.inviteLink=je:le.length?O.success(r("team.orgs.invite.failed",{count:le.length})):O.success(r("team.orgs.invite.success")),v.mode==="detail"?l($.id):D()}catch($){console.error($),O.error(E($))}finally{v.loading=!1}}),L=j(({org:n,mode:c="create",open:p=!1,item:z=null})=>{S.visible=p,S.org=p?n:null,S.mode=p?c:"create",S.item=p&&c==="update"?z:null});C.useEffect(()=>{i&&l(i)},[i,l]);const q={editable:o,refresh:D,refreshTrigger:w,loading:g,mode:a,teamDid:u,onTriggerEditOrg:fe,onTriggerCreateOrg:be,onCancelMutateOrg:K,mutationParams:k,inviteParams:{...v,onTriggerInviteDialog:ve,onTriggerInvitingDialog:Me},orgDetail:{...f,refresh:l},passportParams:{...S,onTriggerPassportDialog:L},requests:{getAllOrgs:re,getMyCreatedOrgs:M,getMyJoinedOrgs:W,deleteOrg:pe,updateOrg:xe,createOrg:ee,getOrgMembers:G,getOrgInvitations:ne,removeOrgMember:Y,getOrg:se,inviteMembers:P,getOrgRoles:Q}};return e.jsxs(rr,{value:q,children:[t,X]})}function _(){return C.useContext(Qe)}function Ye({index:t=0}){const o=[{name:"75%",info:"45%",detail:"60%"},{name:"65%",info:"55%",detail:"40%"},{name:"90%",info:"30%",detail:"65%"}],a=o[t%o.length];return e.jsxs(mt,{sx:{px:0,py:1},children:[e.jsx(ut,{children:e.jsx(A,{variant:"circular",width:32,height:32})}),e.jsxs(m,{sx:{flex:1},children:[e.jsx(A,{variant:"text",width:a.name,height:20,sx:{mb:.5}}),e.jsx(A,{variant:"text",width:a.info,height:16,sx:{mb:.25}})]})]})}Ye.propTypes={index:h.number};function sr(){const{t,locale:o}=B(),{orgDetail:a,requests:i}=_(),{org:r,members:s,loading:u,editable:b,membersPaging:g}=a||{},y=ct(),I=(T,f)=>{f==="changePage"&&(g.page=T.page+1,i.getOrgMembers(r.id,g)),f==="changeRowsPerPage"&&(g.page=1,g.pageSize=T.rowsPerPage,i.getOrgMembers(r.id,g))},d=[{name:"user",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const{user:R}=x,k=x.userDid===r.ownerDid;return e.jsx(m,{sx:{py:{xs:.5,sm:1}},children:e.jsx(ie,{avatarSize:32,user:R,showDid:!0,cardType:ae.Detailed,infoType:ue.Minimal,sx:{border:0,padding:0},showHoverCard:!1,renderTopRightContent:b&&!k?()=>e.jsx(m,{sx:{display:{xs:"block",sm:"none"}},children:e.jsx(Oe,{size:"small",color:"error","aria-label":"delete",title:t("team.orgs.invite.remove"),onClick:v=>{v.stopPropagation(),i.removeOrgMember(r.id,x)},children:e.jsx(oe,{fontSize:"small"})})}):void 0})})}}},{name:"status",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const{user:R}=x,{passports:k=[]}=R;return e.jsxs(m,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:.5,alignItems:"flex-start",py:{xs:.5,sm:1}},children:[e.jsxs(m,{sx:{display:{xs:"flex",sm:"none"},flexDirection:"row",gap:.5,alignItems:"center",flexWrap:"nowrap",overflow:"auto",maxWidth:"100%"},children:[k.map(v=>e.jsx(Z,{label:v.title,size:"small",sx:{flexShrink:0}},v.id)),x.status==="inviting"?e.jsx(Z,{label:t("common.inviting"),size:"small",sx:{backgroundColor:ce(y.palette.warning.main,.15),color:y.palette.warning.dark,flexShrink:0}}):e.jsx(Z,{label:t("team.orgs.active"),size:"small",sx:{backgroundColor:ce(y.palette.success.main,.15),color:y.palette.success.dark,flexShrink:0}}),x.updatedAt&&e.jsxs(N,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap",flexShrink:0},children:[x.status==="inviting"?t("team.orgs.invitedAt"):t("team.orgs.joinedAt")," ",e.jsx(Se,{value:x.updatedAt})]})]}),e.jsxs(m,{sx:{display:{xs:"none",sm:"flex"},flexDirection:"row",gap:.5,alignItems:"center"},children:[k.map(v=>e.jsx(Z,{label:v.title,size:"small"},v.id)),x.status==="inviting"?e.jsx(Z,{label:t("common.inviting"),size:"small",sx:{backgroundColor:ce(y.palette.warning.main,.15),color:y.palette.warning.dark}}):e.jsx(Z,{label:t("team.orgs.active"),size:"small",sx:{backgroundColor:ce(y.palette.success.main,.15),color:y.palette.success.dark}})]})]})}}},{name:"updatedAt",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];return!x||!x.updatedAt?null:e.jsx(m,{sx:{py:{xs:.5,sm:1},display:{xs:"none",sm:"flex"},flexDirection:"column",gap:.5,minWidth:0},children:e.jsxs(N,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:[x.status==="inviting"?t("team.orgs.invitedAt"):t("team.orgs.joinedAt"),e.jsx(Se,{value:x.updatedAt})]})})}}},{name:"actions",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"80px",minWidth:"80px",maxWidth:"80px"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const R=x.userDid===r.ownerDid;return!b||R?null:e.jsx(m,{sx:{py:{xs:.5,sm:1},display:{xs:"none",sm:"block"}},children:e.jsx(Oe,{color:"error","aria-label":"delete",title:t("team.orgs.invite.remove"),onClick:()=>i.removeOrgMember(r.id,x),children:e.jsx(oe,{})})})}}}],w={sort:!1,download:!1,filter:!1,print:!1,search:!1,viewColumns:!1,selectableRows:"none",expandableRowsOnClick:!1,page:g.page-1,rowsPerPage:g.pageSize,count:g.total||0,pagination:g.pageCount>1};return u?e.jsx(m,{className:"members-list",children:e.jsx(dt,{sx:{width:"100%",bgcolor:"background.paper"},children:Array.from({length:3},(T,f)=>e.jsx(Ye,{index:f},`skeleton-${f}`))})}):e.jsx(m,{className:"members-list",sx:{width:"100%","& .org-members-table > div":{overflow:"hidden"},"& .MuiPaper-root":{overflow:{xs:"hidden",sm:"auto"}},"& table":{width:{xs:"100%",sm:"auto"},tableLayout:{xs:"fixed",sm:"auto"}},"& .MuiTableRow-root .MuiTableCell-root":{py:{xs:.5,sm:1}},"& tbody tr":{display:{xs:"grid",sm:"table-row"},gridTemplateColumns:{xs:"1fr",sm:"auto"},gridTemplateRows:{xs:"auto auto",sm:"auto"},"& td":{display:{xs:"block !important",sm:"table-cell !important"},"&:nth-of-type(1)":{gridColumn:{xs:"1",sm:"auto"},gridRow:{xs:"1",sm:"auto"}},"&:nth-of-type(2)":{gridColumn:{xs:"1",sm:"auto"},gridRow:{xs:"2",sm:"auto"},minWidth:{xs:0,sm:"auto"}},"&:nth-of-type(3), &:nth-of-type(4)":{display:{xs:"none !important",sm:"table-cell !important"}}}}},children:e.jsx(Be,{className:"org-members-table",data:s,columns:d,loading:u,onChange:I,locale:o,options:w})})}function or(){const{t}=B(),{orgDetail:o,inviteParams:a}=_(),{invitations:i,editable:r,org:s}=o||{};return r?e.jsxs(m,{sx:{display:"flex",gap:1},children:[e.jsxs(J,{variant:"outlined",style:{flexShrink:0},color:"primary",size:"small",onClick:()=>{a.onTriggerInvitingDialog({org:s,open:!0})},children:[e.jsx(ze,{style:{height:"1em",marginRight:4},icon:"tabler:user"}),t("common.inviting"),i.length?` (${i.length})`:""]}),e.jsx(J,{variant:"contained",size:"small",onClick:()=>{a.onTriggerInviteDialog({org:s,open:!0,mode:"detail"})},startIcon:e.jsx(ze,{style:{fontSize:14},icon:"tabler:user-plus"}),children:t("common.invite")})]}):null}function ke({children:t,...o}){const a=$e(),[i,r]=C.useState(!1),s=j(()=>{r(!i)});return C.useEffect(()=>{r(!1)},[a]),a?e.jsx(gt,{onClickAway:()=>r(!1),children:e.jsx(de,{...o,disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,slotProps:{popper:{disablePortal:!0}},open:i,onClose:s,children:C.cloneElement(t,{onClick:s})})}):e.jsx(de,{...o,children:t})}ke.propTypes=de.propTypes;ke.defaultProps=de.defaultProps;function ir(){const{orgDetail:t,requests:o}=_(),{org:a,loading:i,editable:r}=t||{},{t:s,locale:u}=B(),b=Ue(),g=C.useMemo(()=>{const{settings:d={}}=window.blocklet||{};return Ge(d,"org.maxMemberPerOrg",100)},[]),y=j(async(d,w)=>{const T={...$t(a,["id","name","description"]),[d]:w};await o.updateOrg(T),t.refresh(T.id)}),I=j(async()=>{await o.deleteOrg(a),b(`${Pe.WELLKNOWN_SERVICE_PATH_PREFIX}/user/orgs?locale=${u}`)});return e.jsxs(m,{children:[e.jsxs(m,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:2},children:[e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:s("team.orgs.mutate.name"),children:r?e.jsx(We,{style:{marginTop:0},disabled:i,loading:i,initialValue:a.name,onSubmit:d=>y("name",d)}):a.name},a.name),e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:s("common.description"),children:r?e.jsx(We,{style:{marginTop:0},disabled:i,loading:i,initialValue:a.description,type:"textarea",rows:3,onSubmit:d=>y("description",d)}):a.description},a.description),e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:e.jsxs(N,{sx:{display:"flex",alignItems:"center",gap:.5},children:[s("team.orgs.invite.maxMembers"),e.jsx(ke,{title:s("team.orgs.invite.maxMembersTip"),children:e.jsx(pt,{fontSize:"small",sx:{cursor:"pointer",fontSize:14}})})]}),children:g},a.id)]}),r&&e.jsx(m,{display:"flex",justifyContent:"flex-end",children:e.jsx(J,{variant:"contained",color:"error",size:"small",startIcon:e.jsx(oe,{style:{fontSize:16}}),onClick:I,children:s("team.orgs.deleteOrg")})})]})}function ar(){const{orgDetail:t,requests:o}=_(),{roles:a,org:i,editable:r}=t||{},[s,u]=C.useState(!1),b=(window.blocklet?.environments||[]).find(g=>g.key===qt.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR)?.value||"auto";return e.jsxs(Kt,{children:[e.jsx(m,{className:"list",children:a.map(g=>e.jsx(Vt,{role:g,createPassportSvg:Yt,onUpdate:u,actions:r?e.jsx("div",{className:"action",children:Ut(g.name)?e.jsx(Gt,{}):e.jsx(Jt,{})}):null,passportProps:{issuer:i.name,issuerDid:i.ownerDid,ownerDid:i.ownerDid,preferredColor:b}},g.name))}),s&&e.jsx(Xt,{onCancel:()=>u(!1),roles:a,onSuccess:()=>{u(!1),o.getOrgRoles(i.id)},onDelete:()=>{u(!1),o.getOrgRoles(i.id)},mode:"update",roleName:s.name,item:s,orgId:i.id,hasPermission:r})]})}function lr(){const{t}=B(),{orgDetail:o,passportParams:a}=_(),{org:i,editable:r}=o||{};return r?e.jsx(m,{sx:{display:"flex",gap:1},children:e.jsx(J,{variant:"contained",size:"small",onClick:()=>{a.onTriggerPassportDialog({org:i,open:!0})},startIcon:e.jsx(xt,{}),children:t("team.passport.create.title")})}):null}function cr(){const{teamDid:t,passportParams:o,requests:a}=_(),{visible:i,org:r}=o||{};return i?e.jsx(Qt,{teamDid:t,orgId:r.id,onCancel:()=>o.onTriggerPassportDialog({open:!1}),onSuccess:()=>{o.onTriggerPassportDialog({open:!1}),a.getOrgRoles(r.id)}}):null}function De({id:t="",inDialog:o=!1}){const{orgDetail:a}=_(),{t:i}=B(),[r,s]=C.useState("members"),{org:u,loading:b,refresh:g,error:y}=a||{},I=[{label:i("team.orgs.members"),value:"members"},{label:i("common.settings"),value:"settings"},{label:i("team.member.passports"),value:"passports"}];if(C.useEffect(()=>{t&&o&&g(t)},[t,o]),y)return e.jsx(_e,{children:y});if(!u)return null;const d=()=>r==="members"?e.jsx(or,{}):r==="passports"?e.jsx(lr,{}):null;return e.jsxs(m,{children:[!o&&e.jsx(Ve,{org:u,loading:b}),e.jsxs(m,{sx:{mt:2},children:[e.jsx(Xe,{org:u,loading:b}),e.jsxs(m,{sx:{mt:1,p:2,border:w=>`1px solid ${w.palette.divider}`,borderRadius:1},children:[e.jsx(Ie,{tabs:I,currentTab:r,onTabChange:s,loading:b,extra:d()}),e.jsxs(m,{sx:{mt:2},children:[r==="members"&&e.jsx(sr,{}),r==="settings"&&e.jsx(ir,{}),r==="passports"&&e.jsx(ar,{})]})]})]})]})}De.propTypes={id:h.string,inDialog:h.bool};function dr(){const{t,locale:o}=C.useContext(zt),{teamDid:a}=Fe(),i=C.useRef(null),[r,s]=C.useState(null),[u,b]=C.useState(0),g=$e(),y=`orgs-${a}`,I=Et(y),d=V({searchText:I.searchText||"",pageSize:I.rowsPerPage||10,page:1}),{editable:w,loading:T,requests:f,onTriggerEditOrg:x,onTriggerCreateOrg:R,refreshTrigger:k}=_(),{data:v,refresh:S}=qe(async()=>{const M={};d.searchText&&(M.name=d.searchText,M.description=d.searchText);const{orgs:W,paging:D}=await f.getAllOrgs({org:M,paging:{page:d.page,pageSize:d.pageSize}});return b(D.total),W},{refreshDeps:[a,d.page,d.pageSize,d.searchText],onError:M=>{O.error(E(M))}}),U=({page:M,rowsPerPage:W,searchText:D})=>{d.pageSize!==W?(d.pageSize=W,d.page=1):d.page!==M+1?d.page=M+1:d.searchText!==D&&(d.searchText=D,d.page=1)};C.useEffect(()=>{k>0&&S&&S()},[k,S]);const H=[{label:t("common.orgs"),name:"name"},{label:t("common.members"),name:"members",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(Ke,{members:D.members,total:D.membersCount})}}},{label:t("team.orgs.description"),name:"description"},{label:t("common.createdBy"),name:"owner",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(m,{children:e.jsx(ie,{showHoverCard:!1,avatarSize:32,did:D.ownerDid,cardType:ae.Detailed,infoType:ue.Minimal,sx:{border:0,padding:0,...g&&{minWidth:"unset"}}})})}}},{label:t("common.createdAt"),name:"createdAt",options:{customBodyRender:M=>e.jsx(m,{children:M?e.jsx(Se,{value:M,locale:o}):"-"})}},w&&{label:t("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(m,{children:e.jsx(Ft,{"data-cy":"orgs-table-actions",actions:[{icon:e.jsx(ht,{}),text:t("common.edit"),onClick:F=>{F.stopPropagation(),x(D)}},{icon:e.jsx(oe,{}),text:t("common.delete"),onClick:F=>{F.stopPropagation(),f.deleteOrg(D)}}]})})}}}],X={sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!0,onRowClick(M,W,D){if(i.current?.contains(D.target)){const F=v[W.dataIndex];s(F)}},page:d.page-1,rowsPerPage:d.pageSize,count:u,searchDebounceTime:600},re=w?[e.jsx(J,{variant:"contained",size:"small",onClick:()=>{R()},children:t("common.create")},"add")]:[];return e.jsxs(m,{children:[e.jsx("div",{ref:i,className:"orgs-table",children:e.jsx(Be,{className:"orgs-table",verticalKeyWidth:100,loading:T,columns:H,data:v||[],locale:o,durable:y,durableKeys:["page","rowsPerPage"],customButtons:re,options:X,onChange:U})}),r&&e.jsx(ge,{fullWidth:!0,maxWidth:"lg",title:r.name,open:!!r,onClose:()=>s(null),sx:{".MuiDialogContent-root":{pt:0}},children:e.jsx(De,{id:r.id,inDialog:!0})})]})}function Ze({org:t,onInviteUser:o=te,onDelete:a=te,onClick:i=te,loading:r=!1,editable:s=!0}){const{t:u}=B(),{session:b}=Je(),g=C.useMemo(()=>b?.user?.did===t.ownerDid,[b?.user?.did,t.ownerDid]),y=()=>s?e.jsxs(e.Fragment,{children:[e.jsx(Le,{variant:"outlined",size:"small",startIcon:e.jsx(jt,{style:{fontSize:16}}),onClick:d=>{d.stopPropagation(),o?.(t)},children:u("common.invite")}),e.jsx(Le,{variant:"contained",color:"error",size:"small",startIcon:e.jsx(oe,{style:{fontSize:16}}),onClick:d=>{d.stopPropagation(),a?.(t)},children:u("common.delete")})]}):null,I=j(()=>g?null:t?.passports?.length>0?e.jsx(Z,{label:t.passports[0].title,size:"small"}):null);return e.jsx(Re,{sx:{flexDirection:{xs:"column",md:"row"},gap:{xs:2,md:2},cursor:"pointer",minWidth:300},onClick:()=>i?.(t),children:e.jsxs(ft,{sx:{boxShadow:1,border:"1px solid",borderColor:"divider",backgroundColor:"background.default",flex:1,display:"flex",flexDirection:"column"},children:[e.jsx(bt,{title:e.jsxs(Re,{direction:"row",spacing:1,sx:{alignItems:"center",justifyContent:"space-between"},children:[r?e.jsx(A,{variant:"text",width:"100%",height:24}):e.jsx(N,{variant:"h4",sx:{fontWeight:600},children:t.name}),r?e.jsx(A,{variant:"text",width:50,height:24}):I()]}),sx:{pb:2}}),e.jsxs(vt,{sx:{pt:0,flex:1,display:"flex",flexDirection:"column",gap:1,"&.MuiCardContent-root":{pb:2}},children:[e.jsx(N,{variant:"body2",sx:{color:"text.secondary",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",height:56},children:r?e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"text",width:"100%",height:24}),e.jsx(A,{variant:"text",width:"80%",height:24})]}):t.description}),e.jsxs(m,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[r?e.jsx(A,{variant:"text",width:"30%",height:24}):e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:.5,color:"text.secondary",fontSize:14},children:[e.jsx(yt,{sx:{fontSize:"18px"}}),e.jsxs("span",{children:[t.membersCount||t.members?.length||1," ",u("team.orgs.members")]})]}),e.jsx(m,{sx:{display:"flex",alignItems:"center",gap:1},children:r?e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"text",width:50,height:24}),e.jsx(A,{variant:"text",width:50,height:24})]}):y()})]})]})]})})}Ze.propTypes={org:h.object.isRequired,onInviteUser:h.func,onDelete:h.func,onClick:h.func,loading:h.bool,editable:h.bool};const Le=Ct(J)`
|
|
1
|
+
import{j as e,al as m,aY as st,X as h,as as A,co as ot,bb as it,T as N,cp as at,cq as lt,G as ct,W as dt,I as Oe,cr as oe,V as Z,n as ce,U as mt,cs as ut,R as J,aj as gt,an as de,b6 as pt,ct as xt,cu as ht,b3 as Re,bX as ft,cj as bt,ck as vt,cv as yt,cw as jt,s as Ct,L as wt,bO as Ot,A as me,cn as Ne,b4 as St,a7 as Tt,cx as Pt,ak as It,z as kt,y as Dt,bN as Mt,M as Rt}from"./vendor-mui-core-CV-FnYH_.js";import{W as B,Q as O,aR as Be,bm as Se,Y as ze,aQ as _e,b4 as zt,bE as Et,aO as ge,b5 as Ee}from"./vendor-ux-CLT2i3Pv.js";import{i as V,b as j,r as qe,a as Wt,o as Lt,v as At,f as Nt}from"./vendor-hooks-DAZ1H6Va.js";import{r as C,u as Ue,i as Bt}from"./vendor-react-DX7tU9aY.js";import{aI as ie,aK as ae,c as Pe,W as He,am as _t,aJ as ue,G as qt,ap as Ut,B as Ht}from"./index-CXp5SI_f.js";import{b as Fe}from"./team-BTz28XqK.js";import{u as $e}from"./use-mobile-DwGMuJlg.js";import{A as Ft}from"./actions-DydkTgA0.js";import{u as Je}from"./session-Bp3LV7zJ.js";import{f as E}from"./index-DBs9Ljax.js";import{v as Ce}from"./index-Di2nSesc.js";import{e as Ge,x as $t,n as te}from"./vendor-utils-BzQg432x.js";import{F as We}from"./form-text-input-CPLafaTk.js";import{e as Jt}from"./edit.svg-BGhTyO6h.js";import{c as Gt}from"./lock.svg-BOhdQlHW.js";import{D as Kt,P as Vt,a as Xt,M as Qt}from"./index-BOPR4Iyc.js";import{c as Yt}from"./passport-BhEaZ-sr.js";import{C as Zt}from"./click-to-copy-BgIYUMoo.js";import{I as er}from"./invitations-C8aZLxdl.js";function Ke({members:t,total:o}){return e.jsxs(m,{className:"members-avatar-group",sx:{display:"flex",alignItems:"center","& > *:not(:first-of-type)":{ml:-1}},children:[t.map((a,i)=>e.jsx(m,{sx:{position:"relative",zIndex:i},children:e.jsx(ie,{did:a.userDid,avatarSize:32,cardType:ae.AvatarOnly,showHoverCard:!1})},a.userDid)),o>5&&e.jsxs(st,{sx:{width:32,height:32,bgcolor:"grey",fontSize:14},children:["+",o-5]})]})}Ke.propTypes={members:h.array.isRequired,total:h.number.isRequired};function Ve({org:t={},loading:o=!1}){const{t:a,locale:i}=B();return t.id?o?e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(A,{variant:"text",width:50,height:24}),e.jsx(A,{variant:"text",width:20,height:24})]}):e.jsxs(ot,{"aria-label":"breadcrumb",children:[e.jsx(it,{underline:"hover",color:"inherit",href:`${Pe.WELLKNOWN_SERVICE_PATH_PREFIX}/user/orgs?locale=${i}`,children:a("common.orgs")}),e.jsx(N,{children:t.name})]}):null}Ve.propTypes={org:h.object.isRequired,loading:h.bool};function tr(t){if(!t)return"";if(/[\u4e00-\u9fa5]/.test(t.charAt(0)))return t.charAt(0);const o=t.trim().split(/\s+/);return o.length>1?o.slice(0,2).map(a=>a.charAt(0).toUpperCase()).join(""):t.charAt(0).toUpperCase()}function Xe({org:t,loading:o=!1}){return e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:2},children:[e.jsx(m,{sx:{width:56,height:56,borderRadius:1,backgroundColor:"grey.100",display:"flex",alignItems:"center",justifyContent:"center"},children:o?e.jsx(A,{variant:"text",width:25,height:25}):e.jsx(N,{sx:{fontSize:30,fontWeight:600},children:tr(t.name)})}),e.jsxs(m,{sx:{flex:1,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[e.jsx(N,{variant:"h4",sx:{overflow:"hidden",display:"-webkit-box",WebkitLineClamp:1,WebkitBoxOrient:"vertical",textOverflow:"ellipsis"},children:o?e.jsx(A,{variant:"text",width:"10%",height:24}):t.name||"-"}),e.jsx(N,{variant:"body1",sx:{fontSize:14,lineHeight:1.2,overflow:"hidden",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:o?e.jsx(A,{variant:"text",width:"30%",height:24}):t.description||"-"})]})]})}Xe.propTypes={org:h.shape({name:h.string,description:h.string}).isRequired,loading:h.bool};function Ie({tabs:t,currentTab:o,onTabChange:a,loading:i=!1,extra:r=null}){return e.jsxs(m,{sx:{display:"flex",gap:1,alignItems:"center",justifyContent:"space-between",flexWrap:"wrap"},children:[i?e.jsx(A,{variant:"text",width:300,height:56}):e.jsx(at,{color:"primary",size:"small",value:o,exclusive:!0,onChange:(s,u)=>{u!==null&&a(u)},disabled:i,children:t.map(s=>e.jsx(lt,{size:"small",value:s.value,children:s.label},s.value))}),e.jsx(m,{children:r})]})}Ie.propTypes={tabs:h.array.isRequired,currentTab:h.string.isRequired,onTabChange:h.func.isRequired,loading:h.bool,extra:h.node};const Qe=C.createContext({}),{Provider:rr,Consumer:zr}=Qe,we={type:"",org:{},paging:{page:1,pageSize:10}};function nr({children:t,editable:o=!0,mode:a="user-center",id:i=""}){const{t:r}=B(),{api:s}=He(),{teamDid:u}=Fe(),{session:b}=Je(),[g,y]=C.useState(!1),[I,d]=C.useState(0),[w,T]=C.useState(0),f=V({loading:!1,org:null,members:[],membersPaging:{page:1,pageSize:10},invitations:[],refresh:null,editable:!1,roles:[],error:null}),x=C.useMemo(()=>b?.user?.did,[b?.user?.did]),R=V({all:JSON.parse(JSON.stringify(we)),myCreated:JSON.parse(JSON.stringify({...we,type:"owned"})),myJoined:JSON.parse(JSON.stringify({...we,type:"joined"}))}),k=V({mode:"",org:null}),v=V({loading:!1,org:null,showInvite:!1,showInviting:!1,inviteLink:"",roles:[],mode:"list"}),S=V({mode:"create",item:null,loading:!1,org:null,visible:!1}),U=C.useMemo(()=>window.blocklet?.settings?.org||{},[]),{confirmApi:H,confirmHolder:X}=_t(),re=j(async({org:n={},type:c="",paging:p={page:1,pageSize:10}})=>{try{y(!0);const z=await s.getOrgs({input:{teamDid:u,paging:p,org:n,...c?{type:c}:{}}});return R.all={org:n,paging:p,type:c},z}catch(z){console.error(z),O.error(E(z));return}finally{y(!1)}}),M=j(async({org:n={},paging:c={page:1,pageSize:10}})=>{try{y(!0);const p=await s.getOrgs({input:{teamDid:u,paging:c,org:n,type:"owned"}});return d(p?.paging?.total||0),R.myCreated={org:n,paging:c,type:"owned"},p}catch(p){console.error(p),O.error(E(p));return}finally{y(!1)}}),W=j(async({org:n={},paging:c={page:1,pageSize:10}})=>{try{y(!0);const p=await s.getOrgs({input:{teamDid:u,paging:c,org:n,type:"joined"}});return R.myJoined={org:n,paging:c,type:"joined"},p}catch(p){console.error(p),O.error(E(p));return}finally{y(!1)}}),D=j(()=>{T(n=>n+1)}),F=j(async n=>{try{await s.deleteOrg({input:{teamDid:u,id:n.id}}),D()}catch(c){console.error(c),O.error(E(c))}}),pe=j(n=>new Promise((c,p)=>{H.open({title:r("team.orgs.deleteConfirm",{name:n.name}),content:r("team.orgs.deleteConfirmDescription"),confirmButtonText:r("common.delete"),cancelButtonText:r("common.cancel"),confirmButtonProps:{color:"error"},onConfirm:async z=>{await F(n),z(),c()},onCancel:()=>{p()}})})),xe=j(async n=>{try{await s.updateOrg({input:{teamDid:u,org:n}}),O.success(r("team.orgs.mutate.updateSuccess"))}catch(c){console.error(c),O.error(E(c))}}),ee=j(async n=>{try{await s.createOrg({input:{teamDid:u,name:n.name,description:n.description}}),O.success(r("team.orgs.mutate.createSuccess")),D()}catch(c){console.error(c),O.error(E(c))}}),G=j(async(n,c=f.membersPaging)=>{try{const p=await s.getOrgMembers({input:{teamDid:u,orgId:n,paging:c}});f.members=p.users,f.membersPaging=p.paging}catch(p){console.error(p),O.error(E(p))}}),ne=j(async(n,c={page:1,pageSize:10})=>{try{const p=await s.getInvitations({input:{teamDid:u,orgId:n,paging:c}});f.invitations=p.invitations}catch(p){console.error(p),O.error(E(p))}}),Q=j(async n=>{try{const c=await s.getRoles({input:{teamDid:u,orgId:n}});f.roles=c.roles,v.roles=c.roles}catch(c){console.error(c),O.error(E(c))}}),he=j(async(n,c)=>{try{await s.removeOrgMember({input:{teamDid:u,orgId:n,userDid:c}}),O.success(r("team.orgs.invite.removeSuccess")),Promise.all([G(n),ne(n)])}catch(p){console.error(p),O.error(E(p))}}),Y=j((n,c)=>{const{user:p,status:z}=c,$=z==="inviting";return new Promise((ye,le)=>{H.open({title:$?r("team.orgs.member.removeInvitingMember",{name:p.fullName}):r("team.orgs.member.removeMemberConfirm",{name:p.fullName}),content:$?r("team.orgs.member.removeInvitingMemberDescription",{name:p.fullName}):r("team.orgs.member.removeMemberConfirmDescription"),confirmButtonProps:{color:"error"},onConfirm:async je=>{await he(n,p.did),je(),ye()},onCancel:()=>{le()}})})}),se=j(async n=>{try{const c=await s.getOrg({input:{teamDid:u,id:n}});f.org=c.org,f.error=null,f.editable=o?c?.org?.ownerDid===x:!1}catch(c){f.error=E(c),console.error(c),O.error(E(c))}}),fe=j(n=>{if(!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}k.org=n,k.mode="update"}),be=j(()=>{if(!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}const{maxOrgPerUser:n=10}=U;if(n<=I){O.error(r("team.orgs.mutate.maxOrgPerUser",{maxOrgPerUser:n}));return}k.org={},k.mode="create"}),ve=j(({org:n,open:c=!1,mode:p="list"})=>{if(c&&n){if(v.org=n,v.mode=p,!U?.enabled){O.error(r("team.orgs.mutate.orgNotEnabled"));return}const{maxMemberPerOrg:z=100}=U;if(n.membersCount=n.membersCount||1,z<=(n?.membersCount??1)){O.error(r("team.orgs.mutate.maxMemberPerOrg",{maxMemberPerOrg:z}));return}Q(n.id)}else v.mode="list",v.org=null,v.roles=[],v.inviteLink="";v.showInvite=c}),Me=j(({org:n,open:c=!1})=>{v.showInviting=c,v.org=c?n:null}),K=j(()=>{k.org=null,k.mode=""}),l=j(async n=>{try{if(f.loading=!0,await se(n),f.error)return;f.editable?await Promise.all([G(n),ne(n),Q(n)]):await Promise.all([G(n),Q(n)])}catch(c){console.error(c)}finally{f.loading=!1}}),P=j(async({userDids:n,role:c,email:p,inviteType:z})=>{try{const{org:$}=v||{};if(!$)throw new Error(400,"Org is not found");v.loading=!0;const ye=await s.inviteMembersToOrg({input:{userDids:n,email:p,teamDid:u,orgId:$.id,role:c,inviteType:z}}),{failedDids:le,inviteLink:je}=ye.data||{};z==="external"?v.inviteLink=je:le.length?O.success(r("team.orgs.invite.failed",{count:le.length})):O.success(r("team.orgs.invite.success")),v.mode==="detail"?l($.id):D()}catch($){console.error($),O.error(E($))}finally{v.loading=!1}}),L=j(({org:n,mode:c="create",open:p=!1,item:z=null})=>{S.visible=p,S.org=p?n:null,S.mode=p?c:"create",S.item=p&&c==="update"?z:null});C.useEffect(()=>{i&&l(i)},[i,l]);const q={editable:o,refresh:D,refreshTrigger:w,loading:g,mode:a,teamDid:u,onTriggerEditOrg:fe,onTriggerCreateOrg:be,onCancelMutateOrg:K,mutationParams:k,inviteParams:{...v,onTriggerInviteDialog:ve,onTriggerInvitingDialog:Me},orgDetail:{...f,refresh:l},passportParams:{...S,onTriggerPassportDialog:L},requests:{getAllOrgs:re,getMyCreatedOrgs:M,getMyJoinedOrgs:W,deleteOrg:pe,updateOrg:xe,createOrg:ee,getOrgMembers:G,getOrgInvitations:ne,removeOrgMember:Y,getOrg:se,inviteMembers:P,getOrgRoles:Q}};return e.jsxs(rr,{value:q,children:[t,X]})}function _(){return C.useContext(Qe)}function Ye({index:t=0}){const o=[{name:"75%",info:"45%",detail:"60%"},{name:"65%",info:"55%",detail:"40%"},{name:"90%",info:"30%",detail:"65%"}],a=o[t%o.length];return e.jsxs(mt,{sx:{px:0,py:1},children:[e.jsx(ut,{children:e.jsx(A,{variant:"circular",width:32,height:32})}),e.jsxs(m,{sx:{flex:1},children:[e.jsx(A,{variant:"text",width:a.name,height:20,sx:{mb:.5}}),e.jsx(A,{variant:"text",width:a.info,height:16,sx:{mb:.25}})]})]})}Ye.propTypes={index:h.number};function sr(){const{t,locale:o}=B(),{orgDetail:a,requests:i}=_(),{org:r,members:s,loading:u,editable:b,membersPaging:g}=a||{},y=ct(),I=(T,f)=>{f==="changePage"&&(g.page=T.page+1,i.getOrgMembers(r.id,g)),f==="changeRowsPerPage"&&(g.page=1,g.pageSize=T.rowsPerPage,i.getOrgMembers(r.id,g))},d=[{name:"user",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const{user:R}=x,k=x.userDid===r.ownerDid;return e.jsx(m,{sx:{py:{xs:.5,sm:1}},children:e.jsx(ie,{avatarSize:32,user:R,showDid:!0,cardType:ae.Detailed,infoType:ue.Minimal,sx:{border:0,padding:0},showHoverCard:!1,renderTopRightContent:b&&!k?()=>e.jsx(m,{sx:{display:{xs:"block",sm:"none"}},children:e.jsx(Oe,{size:"small",color:"error","aria-label":"delete",title:t("team.orgs.invite.remove"),onClick:v=>{v.stopPropagation(),i.removeOrgMember(r.id,x)},children:e.jsx(oe,{fontSize:"small"})})}):void 0})})}}},{name:"status",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const{user:R}=x,{passports:k=[]}=R;return e.jsxs(m,{sx:{display:"flex",flexDirection:{xs:"column",sm:"row"},gap:.5,alignItems:"flex-start",py:{xs:.5,sm:1}},children:[e.jsxs(m,{sx:{display:{xs:"flex",sm:"none"},flexDirection:"row",gap:.5,alignItems:"center",flexWrap:"nowrap",overflow:"auto",maxWidth:"100%"},children:[k.map(v=>e.jsx(Z,{label:v.title,size:"small",sx:{flexShrink:0}},v.id)),x.status==="inviting"?e.jsx(Z,{label:t("common.inviting"),size:"small",sx:{backgroundColor:ce(y.palette.warning.main,.15),color:y.palette.warning.dark,flexShrink:0}}):e.jsx(Z,{label:t("team.orgs.active"),size:"small",sx:{backgroundColor:ce(y.palette.success.main,.15),color:y.palette.success.dark,flexShrink:0}}),x.updatedAt&&e.jsxs(N,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap",flexShrink:0},children:[x.status==="inviting"?t("team.orgs.invitedAt"):t("team.orgs.joinedAt")," ",e.jsx(Se,{value:x.updatedAt})]})]}),e.jsxs(m,{sx:{display:{xs:"none",sm:"flex"},flexDirection:"row",gap:.5,alignItems:"center"},children:[k.map(v=>e.jsx(Z,{label:v.title,size:"small"},v.id)),x.status==="inviting"?e.jsx(Z,{label:t("common.inviting"),size:"small",sx:{backgroundColor:ce(y.palette.warning.main,.15),color:y.palette.warning.dark}}):e.jsx(Z,{label:t("team.orgs.active"),size:"small",sx:{backgroundColor:ce(y.palette.success.main,.15),color:y.palette.success.dark}})]})]})}}},{name:"updatedAt",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"33.33%"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];return!x||!x.updatedAt?null:e.jsx(m,{sx:{py:{xs:.5,sm:1},display:{xs:"none",sm:"flex"},flexDirection:"column",gap:.5,minWidth:0},children:e.jsxs(N,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:[x.status==="inviting"?t("team.orgs.invitedAt"):t("team.orgs.joinedAt"),e.jsx(Se,{value:x.updatedAt})]})})}}},{name:"actions",label:" ",options:{filter:!1,sort:!1,setCellHeaderProps:()=>({style:{display:"none"}}),setCellProps:()=>({style:{width:"80px",minWidth:"80px",maxWidth:"80px"}}),customBodyRender:(T,f)=>{const x=s[f.rowIndex];if(!x||!x.user)return null;const R=x.userDid===r.ownerDid;return!b||R?null:e.jsx(m,{sx:{py:{xs:.5,sm:1},display:{xs:"none",sm:"block"}},children:e.jsx(Oe,{color:"error","aria-label":"delete",title:t("team.orgs.invite.remove"),onClick:()=>i.removeOrgMember(r.id,x),children:e.jsx(oe,{})})})}}}],w={sort:!1,download:!1,filter:!1,print:!1,search:!1,viewColumns:!1,selectableRows:"none",expandableRowsOnClick:!1,page:g.page-1,rowsPerPage:g.pageSize,count:g.total||0,pagination:g.pageCount>1};return u?e.jsx(m,{className:"members-list",children:e.jsx(dt,{sx:{width:"100%",bgcolor:"background.paper"},children:Array.from({length:3},(T,f)=>e.jsx(Ye,{index:f},`skeleton-${f}`))})}):e.jsx(m,{className:"members-list",sx:{width:"100%","& .org-members-table > div":{overflow:"hidden"},"& .MuiPaper-root":{overflow:{xs:"hidden",sm:"auto"}},"& table":{width:{xs:"100%",sm:"auto"},tableLayout:{xs:"fixed",sm:"auto"}},"& .MuiTableRow-root .MuiTableCell-root":{py:{xs:.5,sm:1}},"& tbody tr":{display:{xs:"grid",sm:"table-row"},gridTemplateColumns:{xs:"1fr",sm:"auto"},gridTemplateRows:{xs:"auto auto",sm:"auto"},"& td":{display:{xs:"block !important",sm:"table-cell !important"},"&:nth-of-type(1)":{gridColumn:{xs:"1",sm:"auto"},gridRow:{xs:"1",sm:"auto"}},"&:nth-of-type(2)":{gridColumn:{xs:"1",sm:"auto"},gridRow:{xs:"2",sm:"auto"},minWidth:{xs:0,sm:"auto"}},"&:nth-of-type(3), &:nth-of-type(4)":{display:{xs:"none !important",sm:"table-cell !important"}}}}},children:e.jsx(Be,{className:"org-members-table",data:s,columns:d,loading:u,onChange:I,locale:o,options:w})})}function or(){const{t}=B(),{orgDetail:o,inviteParams:a}=_(),{invitations:i,editable:r,org:s}=o||{};return r?e.jsxs(m,{sx:{display:"flex",gap:1},children:[e.jsxs(J,{variant:"outlined",style:{flexShrink:0},color:"primary",size:"small",onClick:()=>{a.onTriggerInvitingDialog({org:s,open:!0})},children:[e.jsx(ze,{style:{height:"1em",marginRight:4},icon:"tabler:user"}),t("common.inviting"),i.length?` (${i.length})`:""]}),e.jsx(J,{variant:"contained",size:"small",onClick:()=>{a.onTriggerInviteDialog({org:s,open:!0,mode:"detail"})},startIcon:e.jsx(ze,{style:{fontSize:14},icon:"tabler:user-plus"}),children:t("common.invite")})]}):null}function ke({children:t,...o}){const a=$e(),[i,r]=C.useState(!1),s=j(()=>{r(!i)});return C.useEffect(()=>{r(!1)},[a]),a?e.jsx(gt,{onClickAway:()=>r(!1),children:e.jsx(de,{...o,disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,slotProps:{popper:{disablePortal:!0}},open:i,onClose:s,children:C.cloneElement(t,{onClick:s})})}):e.jsx(de,{...o,children:t})}ke.propTypes=de.propTypes;ke.defaultProps=de.defaultProps;function ir(){const{orgDetail:t,requests:o}=_(),{org:a,loading:i,editable:r}=t||{},{t:s,locale:u}=B(),b=Ue(),g=C.useMemo(()=>{const{settings:d={}}=window.blocklet||{};return Ge(d,"org.maxMemberPerOrg",100)},[]),y=j(async(d,w)=>{const T={...$t(a,["id","name","description"]),[d]:w};await o.updateOrg(T),t.refresh(T.id)}),I=j(async()=>{await o.deleteOrg(a),b(`${Pe.WELLKNOWN_SERVICE_PATH_PREFIX}/user/orgs?locale=${u}`)});return e.jsxs(m,{children:[e.jsxs(m,{sx:{display:"grid",gridTemplateColumns:"1fr",gap:2},children:[e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:s("team.orgs.mutate.name"),children:r?e.jsx(We,{style:{marginTop:0},disabled:i,loading:i,initialValue:a.name,onSubmit:d=>y("name",d)}):a.name},a.name),e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:s("common.description"),children:r?e.jsx(We,{style:{marginTop:0},disabled:i,loading:i,initialValue:a.description,type:"textarea",rows:3,onSubmit:d=>y("description",d)}):a.description},a.description),e.jsx(Ce,{valueComponent:"div",nameWidth:180,name:e.jsxs(N,{sx:{display:"flex",alignItems:"center",gap:.5},children:[s("team.orgs.invite.maxMembers"),e.jsx(ke,{title:s("team.orgs.invite.maxMembersTip"),children:e.jsx(pt,{fontSize:"small",sx:{cursor:"pointer",fontSize:14}})})]}),children:g},a.id)]}),r&&e.jsx(m,{display:"flex",justifyContent:"flex-end",children:e.jsx(J,{variant:"contained",color:"error",size:"small",startIcon:e.jsx(oe,{style:{fontSize:16}}),onClick:I,children:s("team.orgs.deleteOrg")})})]})}function ar(){const{orgDetail:t,requests:o}=_(),{roles:a,org:i,editable:r}=t||{},[s,u]=C.useState(!1),b=(window.blocklet?.environments||[]).find(g=>g.key===qt.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR)?.value||"auto";return e.jsxs(Kt,{children:[e.jsx(m,{className:"list",children:a.map(g=>e.jsx(Vt,{role:g,createPassportSvg:Yt,onUpdate:u,actions:r?e.jsx("div",{className:"action",children:Ut(g.name)?e.jsx(Gt,{}):e.jsx(Jt,{})}):null,passportProps:{issuer:i.name,issuerDid:i.ownerDid,ownerDid:i.ownerDid,preferredColor:b}},g.name))}),s&&e.jsx(Xt,{onCancel:()=>u(!1),roles:a,onSuccess:()=>{u(!1),o.getOrgRoles(i.id)},onDelete:()=>{u(!1),o.getOrgRoles(i.id)},mode:"update",roleName:s.name,item:s,orgId:i.id,hasPermission:r})]})}function lr(){const{t}=B(),{orgDetail:o,passportParams:a}=_(),{org:i,editable:r}=o||{};return r?e.jsx(m,{sx:{display:"flex",gap:1},children:e.jsx(J,{variant:"contained",size:"small",onClick:()=>{a.onTriggerPassportDialog({org:i,open:!0})},startIcon:e.jsx(xt,{}),children:t("team.passport.create.title")})}):null}function cr(){const{teamDid:t,passportParams:o,requests:a}=_(),{visible:i,org:r}=o||{};return i?e.jsx(Qt,{teamDid:t,orgId:r.id,onCancel:()=>o.onTriggerPassportDialog({open:!1}),onSuccess:()=>{o.onTriggerPassportDialog({open:!1}),a.getOrgRoles(r.id)}}):null}function De({id:t="",inDialog:o=!1}){const{orgDetail:a}=_(),{t:i}=B(),[r,s]=C.useState("members"),{org:u,loading:b,refresh:g,error:y}=a||{},I=[{label:i("team.orgs.members"),value:"members"},{label:i("common.settings"),value:"settings"},{label:i("team.member.passports"),value:"passports"}];if(C.useEffect(()=>{t&&o&&g(t)},[t,o]),y)return e.jsx(_e,{children:y});if(!u)return null;const d=()=>r==="members"?e.jsx(or,{}):r==="passports"?e.jsx(lr,{}):null;return e.jsxs(m,{children:[!o&&e.jsx(Ve,{org:u,loading:b}),e.jsxs(m,{sx:{mt:2},children:[e.jsx(Xe,{org:u,loading:b}),e.jsxs(m,{sx:{mt:1,p:2,border:w=>`1px solid ${w.palette.divider}`,borderRadius:1},children:[e.jsx(Ie,{tabs:I,currentTab:r,onTabChange:s,loading:b,extra:d()}),e.jsxs(m,{sx:{mt:2},children:[r==="members"&&e.jsx(sr,{}),r==="settings"&&e.jsx(ir,{}),r==="passports"&&e.jsx(ar,{})]})]})]})]})}De.propTypes={id:h.string,inDialog:h.bool};function dr(){const{t,locale:o}=C.useContext(zt),{teamDid:a}=Fe(),i=C.useRef(null),[r,s]=C.useState(null),[u,b]=C.useState(0),g=$e(),y=`orgs-${a}`,I=Et(y),d=V({searchText:I.searchText||"",pageSize:I.rowsPerPage||10,page:1}),{editable:w,loading:T,requests:f,onTriggerEditOrg:x,onTriggerCreateOrg:R,refreshTrigger:k}=_(),{data:v,refresh:S}=qe(async()=>{const M={};d.searchText&&(M.name=d.searchText,M.description=d.searchText);const{orgs:W,paging:D}=await f.getAllOrgs({org:M,paging:{page:d.page,pageSize:d.pageSize}});return b(D.total),W},{refreshDeps:[a,d.page,d.pageSize,d.searchText],onError:M=>{O.error(E(M))}}),U=({page:M,rowsPerPage:W,searchText:D})=>{d.pageSize!==W?(d.pageSize=W,d.page=1):d.page!==M+1?d.page=M+1:d.searchText!==D&&(d.searchText=D,d.page=1)};C.useEffect(()=>{k>0&&S&&S()},[k,S]);const H=[{label:t("common.orgs"),name:"name"},{label:t("common.members"),name:"members",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(Ke,{members:D.members,total:D.membersCount})}}},{label:t("team.orgs.description"),name:"description"},{label:t("common.createdBy"),name:"owner",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(m,{children:e.jsx(ie,{showHoverCard:!1,avatarSize:32,did:D.ownerDid,cardType:ae.Detailed,infoType:ue.Minimal,sx:{border:0,padding:0,...g&&{minWidth:"unset"}}})})}}},{label:t("common.createdAt"),name:"createdAt",options:{customBodyRender:M=>e.jsx(m,{children:M?e.jsx(Se,{value:M,locale:o}):"-"})}},w&&{label:t("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(M,{rowIndex:W})=>{const D=v[W];return e.jsx(m,{children:e.jsx(Ft,{"data-cy":"orgs-table-actions",actions:[{icon:e.jsx(ht,{}),text:t("common.edit"),onClick:F=>{F.stopPropagation(),x(D)}},{icon:e.jsx(oe,{}),text:t("common.delete"),onClick:F=>{F.stopPropagation(),f.deleteOrg(D)}}]})})}}}],X={sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!0,onRowClick(M,W,D){if(i.current?.contains(D.target)){const F=v[W.dataIndex];s(F)}},page:d.page-1,rowsPerPage:d.pageSize,count:u,searchDebounceTime:600},re=w?[e.jsx(J,{variant:"contained",size:"small",onClick:()=>{R()},children:t("common.create")},"add")]:[];return e.jsxs(m,{children:[e.jsx("div",{ref:i,className:"orgs-table",children:e.jsx(Be,{className:"orgs-table",verticalKeyWidth:100,loading:T,columns:H,data:v||[],locale:o,durable:y,durableKeys:["page","rowsPerPage"],customButtons:re,options:X,onChange:U})}),r&&e.jsx(ge,{fullWidth:!0,maxWidth:"lg",title:r.name,open:!!r,onClose:()=>s(null),sx:{".MuiDialogContent-root":{pt:0}},children:e.jsx(De,{id:r.id,inDialog:!0})})]})}function Ze({org:t,onInviteUser:o=te,onDelete:a=te,onClick:i=te,loading:r=!1,editable:s=!0}){const{t:u}=B(),{session:b}=Je(),g=C.useMemo(()=>b?.user?.did===t.ownerDid,[b?.user?.did,t.ownerDid]),y=()=>s?e.jsxs(e.Fragment,{children:[e.jsx(Le,{variant:"outlined",size:"small",startIcon:e.jsx(jt,{style:{fontSize:16}}),onClick:d=>{d.stopPropagation(),o?.(t)},children:u("common.invite")}),e.jsx(Le,{variant:"contained",color:"error",size:"small",startIcon:e.jsx(oe,{style:{fontSize:16}}),onClick:d=>{d.stopPropagation(),a?.(t)},children:u("common.delete")})]}):null,I=j(()=>g?null:t?.passports?.length>0?e.jsx(Z,{label:t.passports[0].title,size:"small"}):null);return e.jsx(Re,{sx:{flexDirection:{xs:"column",md:"row"},gap:{xs:2,md:2},cursor:"pointer",minWidth:300},onClick:()=>i?.(t),children:e.jsxs(ft,{sx:{boxShadow:1,border:"1px solid",borderColor:"divider",backgroundColor:"background.default",flex:1,display:"flex",flexDirection:"column"},children:[e.jsx(bt,{title:e.jsxs(Re,{direction:"row",spacing:1,sx:{alignItems:"center",justifyContent:"space-between"},children:[r?e.jsx(A,{variant:"text",width:"100%",height:24}):e.jsx(N,{variant:"h4",sx:{fontWeight:600},children:t.name}),r?e.jsx(A,{variant:"text",width:50,height:24}):I()]}),sx:{pb:2}}),e.jsxs(vt,{sx:{pt:0,flex:1,display:"flex",flexDirection:"column",gap:1,"&.MuiCardContent-root":{pb:2}},children:[e.jsx(N,{variant:"body2",sx:{color:"text.secondary",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:3,WebkitBoxOrient:"vertical",height:56},children:r?e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"text",width:"100%",height:24}),e.jsx(A,{variant:"text",width:"80%",height:24})]}):t.description}),e.jsxs(m,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[r?e.jsx(A,{variant:"text",width:"30%",height:24}):e.jsxs(m,{sx:{display:"flex",alignItems:"center",gap:.5,color:"text.secondary",fontSize:14},children:[e.jsx(yt,{sx:{fontSize:"18px"}}),e.jsxs("span",{children:[t.membersCount||t.members?.length||1," ",u("team.orgs.members")]})]}),e.jsx(m,{sx:{display:"flex",alignItems:"center",gap:1},children:r?e.jsxs(e.Fragment,{children:[e.jsx(A,{variant:"text",width:50,height:24}),e.jsx(A,{variant:"text",width:50,height:24})]}):y()})]})]})]})})}Ze.propTypes={org:h.object.isRequired,onInviteUser:h.func,onDelete:h.func,onClick:h.func,loading:h.bool,editable:h.bool};const Le=Ct(J)`
|
|
2
2
|
font-weight: 500;
|
|
3
3
|
.MuiButton-icon {
|
|
4
4
|
margin-right: 4px;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,T as i}from"./vendor-mui-core-
|
|
1
|
+
import{j as e,T as i}from"./vendor-mui-core-CV-FnYH_.js";import{v as p,aj as c}from"./vendor-utils-BzQg432x.js";import{l as x}from"./vendor-ux-CLT2i3Pv.js";function v({name:t,nameFormatter:r=o=>typeof o=="string"?o.split(" ").map(f=>p(c(f))).join(" "):o,layout:n="horizontal",children:a,valueComponent:l="div",nameWidth:m=90,...s}){return e.jsxs(d,{layout:n,width:m,...s,children:[e.jsx(i,{color:"textSecondary",className:"info-row__name",children:r(t)}),a&&e.jsx(i,{color:"textPrimary",component:l,className:"info-row__value",children:a})]})}const d=x("div")`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: ${t=>t.layout==="vertical"?"column":"row"};
|
|
4
4
|
justify-content: flex-start;
|