@abtnode/blocklet-services 1.16.44-beta-20250528-003415-7a5e5d90 → 1.16.44-beta-20250529-004636-15e80e20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/api/middlewares/proxy-to-daemon.js +2 -1
  2. package/api/routes/env.js +5 -0
  3. package/dist/assets/{AdapterDayjs-gCvKcGfu.js → AdapterDayjs-CDDcwz3P.js} +1 -1
  4. package/dist/assets/{ArrowDropDown-D32FY-Mt.js → ArrowDropDown-DPqiF9Rw.js} +1 -1
  5. package/dist/assets/{CheckCircle-BBSSDlcc.js → CheckCircle-Caqp5gKY.js} +1 -1
  6. package/dist/assets/{ChevronLeft-CF24ouxR.js → ChevronLeft-DONyUbIg.js} +1 -1
  7. package/dist/assets/{ChevronRight-DA9t_C-l.js → ChevronRight-DgAwWLdY.js} +1 -1
  8. package/dist/assets/{DeleteOutline-CzIOFoFP.js → DeleteOutline-DpNyWtNL.js} +1 -1
  9. package/dist/assets/{Done-MQdb8YLa.js → Done-BTd13H2U.js} +1 -1
  10. package/dist/assets/{Download-IxxF4Ujs.js → Download-Bm8sKXA2.js} +1 -1
  11. package/dist/assets/{Edit-DSht16TX.js → Edit-CUl1Rt8i.js} +1 -1
  12. package/dist/assets/{Error-CkoCqY66.js → Error-DEKvwVoF.js} +1 -1
  13. package/dist/assets/{ExpandLess-CudE_1oQ.js → ExpandLess-t1cH-Bc4.js} +1 -1
  14. package/dist/assets/{Google-AZBuQJFI.js → Google-Bn3zPWiu.js} +1 -1
  15. package/dist/assets/{Home-BaA3V3I7.js → Home-C3ax1tQ7.js} +1 -1
  16. package/dist/assets/{InfoOutlined-Cd28U1Oc.js → InfoOutlined-D3XnF0Vg.js} +1 -1
  17. package/dist/assets/{Launch-Ddo_WSQI.js → Launch-Dz9mQnYC.js} +1 -1
  18. package/dist/assets/{LaunchOutlined-CO4dugwH.js → LaunchOutlined-E7HcQu_6.js} +1 -1
  19. package/dist/assets/{MoreHoriz-D-L8sA4c.js → MoreHoriz-DpKn_fkc.js} +1 -1
  20. package/dist/assets/{PlayArrow-CLKgdv6H.js → PlayArrow-CDOOUxMp.js} +1 -1
  21. package/dist/assets/{TuneOutlined-BWqIZK2m.js → TuneOutlined-D0gGDoIJ.js} +1 -1
  22. package/dist/assets/{ViewList-DWudZTBg.js → ViewList-C8G9e3ft.js} +1 -1
  23. package/dist/assets/{access-control-DlT-JQML.js → access-control-eEjmzQYf.js} +1 -1
  24. package/dist/assets/{actions-azdiYocL.js → actions-DP7pj6xB.js} +1 -1
  25. package/dist/assets/{add-component-core-Cm8Y0zkt.js → add-component-core-pJP41zEE.js} +1 -1
  26. package/dist/assets/{add-resource-CVCoahx_.js → add-resource-CZeL421l.js} +1 -1
  27. package/dist/assets/{addon-3ZMGwARO.js → addon-CRj4Enw7.js} +1 -1
  28. package/dist/assets/{advanced-Nvg1CqJg.js → advanced-P0pT0XgG.js} +3 -3
  29. package/dist/assets/appearance-DeIbdwlo.js +1 -0
  30. package/dist/assets/{ar-T0OvMFDJ.js → ar-CSZJf27k.js} +1 -1
  31. package/dist/assets/{audit-logs-BPjUleS-.js → audit-logs-DdN0-QQr.js} +1 -1
  32. package/dist/assets/authorize-C_rSdM9R.js +1 -0
  33. package/dist/assets/{base32-CLrnUJal.js → base32-WurN0cIW.js} +1 -1
  34. package/dist/assets/{branding-B8r8EJ2R.js → branding-C6umqmKR.js} +2 -2
  35. package/dist/assets/{branding-Cr4GBUXi.js → branding-HedBd6t0.js} +1 -1
  36. package/dist/assets/{bundle-avatar-Br48PGS5.js → bundle-avatar-B9he3Bf1.js} +1 -1
  37. package/dist/assets/{button-8G90WP8a.js → button-_1HExv7r.js} +1 -1
  38. package/dist/assets/{click-to-copy-ByEMWZD_.js → click-to-copy-R7MF4AwY.js} +1 -1
  39. package/dist/assets/{collapse-Cliwxlbv.js → collapse-l9wHY9gJ.js} +1 -1
  40. package/dist/assets/{complete-CzlLydJT.js → complete-D7dveRTo.js} +1 -1
  41. package/dist/assets/{component-5_wmVxpp.js → component-cssFwqtY.js} +1 -1
  42. package/dist/assets/{config-BnObxTpi.js → config-Cd14MJHa.js} +1 -1
  43. package/dist/assets/{config-emhMgKqq.js → config-eQ2Et0RC.js} +1 -1
  44. package/dist/assets/{config-navigation-DbyhYIMw.js → config-navigation-0pU9J0da.js} +3 -3
  45. package/dist/assets/{config-space-TsP5osn9.js → config-space-CQ7Atb1l.js} +1 -1
  46. package/dist/assets/{confirm-DI8TUyRK.js → confirm-Tue92P8p.js} +1 -1
  47. package/dist/assets/{connect-D55qWQWC.js → connect-Cm-sTMiW.js} +1 -1
  48. package/dist/assets/{connect-B_BnGQjp.js → connect-PdQoyrqe.js} +1 -1
  49. package/dist/assets/{connect-to-DzPwhREN.js → connect-to-FvVJBIsZ.js} +1 -1
  50. package/dist/assets/{dashboard-AdC8-kkA.js → dashboard-BhR1WNzF.js} +3 -3
  51. package/dist/assets/{de-WYW4JJdA.js → de-C-F2uwju.js} +1 -1
  52. package/dist/assets/de-CA1MfHz7.js +1 -0
  53. package/dist/assets/{delete-confirm-Bn1HZjaL.js → delete-confirm-CHnQ2leb.js} +1 -1
  54. package/dist/assets/{did-address-BlAXR08O.js → did-address-Dq-4__HB.js} +1 -1
  55. package/dist/assets/{domain-Cod_zL8_.js → domain-FY9-unAU.js} +1 -1
  56. package/dist/assets/{domain-action-card-C4FpSn67.js → domain-action-card-Jvzi8kyL.js} +1 -1
  57. package/dist/assets/domains-CiBZW8yk.js +1 -0
  58. package/dist/assets/{email-CqVIYJc4.js → email-z4l1k3Mi.js} +1 -1
  59. package/dist/assets/{es-DaHPJdAX.js → es-B2TJqtV4.js} +1 -1
  60. package/dist/assets/{es-B6GuFK3b.js → es-CXgvF2gS.js} +1 -1
  61. package/dist/assets/{exchange-passport-C-hTCqg0.js → exchange-passport-DSoEjAA_.js} +1 -1
  62. package/dist/assets/fr-CzO5Th4h.js +1 -0
  63. package/dist/assets/{fr-Sdn9hi8k.js → fr-DN38boH3.js} +1 -1
  64. package/dist/assets/{fuel-M5L6Wmxz.js → fuel-CzrPInoR.js} +1 -1
  65. package/dist/assets/{gen-access-key-D6jr4e_G.js → gen-access-key-BU2nGVgA.js} +1 -1
  66. package/dist/assets/{get-safe-url-CRv5HbAK.js → get-safe-url-Q70tRxL7.js} +1 -1
  67. package/dist/assets/{get-safe-url-DrR-6D-i.js → get-safe-url-c4iAcpvA.js} +1 -1
  68. package/dist/assets/{hi-dJuR0lt2.js → hi-5tixPGqk.js} +1 -1
  69. package/dist/assets/hi-lZ18vyMl.js +1 -0
  70. package/dist/assets/{home-C7e6Ftxj.js → home-BZ8WpcWZ.js} +1 -1
  71. package/dist/assets/{id-DuYS34H0.js → id-CIDM1ypY.js} +1 -1
  72. package/dist/assets/id-QM66qYoI.js +1 -0
  73. package/dist/assets/{iframe-DSG-Hd99.js → iframe-Dl8NEFc5.js} +1 -1
  74. package/dist/assets/{index-C4vmLohg.js → index-5EytSaVA.js} +1 -1
  75. package/dist/assets/{index-BJHSgjnI.js → index-BKKwhjBs.js} +1 -1
  76. package/dist/assets/{index-DSoHmrHd.js → index-BUHyq-oP.js} +1 -1
  77. package/dist/assets/{index-YbYWmpAT.js → index-B_NDUfon.js} +22 -22
  78. package/dist/assets/{index-yvg4DpNi.js → index-C1XrZATd.js} +4 -4
  79. package/dist/assets/{index-BM1ZGOPs.js → index-C3le1atN.js} +2 -2
  80. package/dist/assets/{index-rn2nf2kX.js → index-ChHy6AQ7.js} +1 -1
  81. package/dist/assets/{index-AetYfL_f.js → index-D0F0qx_R.js} +1 -1
  82. package/dist/assets/{index-Bj2-CpPI.js → index-D1kTR2xk.js} +1 -1
  83. package/dist/assets/{index-bIHubQ8z.js → index-D2a97Hdb.js} +3 -3
  84. package/dist/assets/{index-CtLialsm.js → index-DC3jOsuk.js} +6 -6
  85. package/dist/assets/{index-DthGrDK3.js → index-DQD2rqsI.js} +1 -1
  86. package/dist/assets/{index-C2F-GVrD.js → index-DrHUHp5S.js} +1 -1
  87. package/dist/assets/index-DutfRO7F.js +284 -0
  88. package/dist/assets/{index-BFWnCQrF.js → index-I6_gMaPh.js} +1 -1
  89. package/dist/assets/{index-iQsPOXlb.js → index-NQMMaHuW.js} +1 -1
  90. package/dist/assets/{index-CEeLwMYO.js → index-P2m0RlAs.js} +1 -1
  91. package/dist/assets/{index-B5_fBwtl.js → index-hkk3GUEf.js} +1 -1
  92. package/dist/assets/{index-BUrgmCmL.js → index-klBzz5vO.js} +1 -1
  93. package/dist/assets/{index-BLbU4gf9.js → index-m831cH-_.js} +2 -2
  94. package/dist/assets/{invitation-StUiuLYU.js → invitation-CGjIZ62g.js} +1 -1
  95. package/dist/assets/{invite-E96eT2DF.js → invite-CS_4jRwt.js} +1 -1
  96. package/dist/assets/{issue-passport-DrGPTNsG.js → issue-passport-B6-OzJX7.js} +1 -1
  97. package/dist/assets/{item-Dgu9vLko.js → item-CuLwkmbx.js} +1 -1
  98. package/dist/assets/{ja-ACgKScTi.js → ja-C8AmHPMo.js} +1 -1
  99. package/dist/assets/{ja-Dh60q0r5.js → ja-pJLB4V2E.js} +1 -1
  100. package/dist/assets/{ko-CoqvBZUf.js → ko-D2NP5Ixe.js} +1 -1
  101. package/dist/assets/ko-xDWtmcv7.js +1 -0
  102. package/dist/assets/{landing-page-BOy_W1aP.js → landing-page-DrVLCVAm.js} +1 -1
  103. package/dist/assets/{layout-CYJJYqb_.js → layout-CNC_rrzE.js} +1 -1
  104. package/dist/assets/list-BNMEncjS.js +2 -0
  105. package/dist/assets/{list-uPz9xAWJ.js → list-BTBbj1K4.js} +1 -1
  106. package/dist/assets/localization-Bb0kc8SQ.js +1 -0
  107. package/dist/assets/{log-CzRRb9lq.js → log-29oTWiWO.js} +1 -1
  108. package/dist/assets/{logger-B4ZKcD6x.js → logger-BAVOmOw2.js} +1 -1
  109. package/dist/assets/{login-D3GnBJn4.js → login-C52vMwpY.js} +1 -1
  110. package/dist/assets/{login-oauth-callback-CVS9TwNM.js → login-oauth-callback-BrnNJIOK.js} +1 -1
  111. package/dist/assets/{logo-uploader-CbM-N8qP.js → logo-uploader-Cir_HrSm.js} +3 -3
  112. package/dist/assets/{lost-passport-5P2EFbv0.js → lost-passport-C2-kDXqq.js} +1 -1
  113. package/dist/assets/{open-window-c9TGr49M.js → open-window-Bl24RBAD.js} +1 -1
  114. package/dist/assets/{overview-BZRXhA-K.js → overview-BKOb0zVP.js} +1 -1
  115. package/dist/assets/{page-header-D_m0ANZl.js → page-header-BWqvvXOk.js} +1 -1
  116. package/dist/assets/{passport-item-DE-9Q-Cx.js → passport-item-OEfv-Vh7.js} +1 -1
  117. package/dist/assets/{permission-fpFyADH8.js → permission-DSHe73ba.js} +1 -1
  118. package/dist/assets/{preferences-0RYr2e_y.js → preferences-BzGNV3pM.js} +1 -1
  119. package/dist/assets/{profile-embed-BwbGy3El.js → profile-embed-iA-d50c3.js} +1 -1
  120. package/dist/assets/{pt-DCcbs0d0.js → pt-D1apbJwE.js} +1 -1
  121. package/dist/assets/pt-DSj10b9i.js +1 -0
  122. package/dist/assets/{publish-resource-CWz86TY0.js → publish-resource-DayX-x8-.js} +1 -1
  123. package/dist/assets/{react-beautiful-dnd.esm-G9cRB9Uf.js → react-beautiful-dnd.esm-Ck4xzwyU.js} +1 -1
  124. package/dist/assets/ru-BNuzbw_f.js +1 -0
  125. package/dist/assets/{ru-WYTV5VzH.js → ru-D2AG9Iea.js} +1 -1
  126. package/dist/assets/{runtime-63aIXcah.js → runtime-BbgMhX7n.js} +1 -1
  127. package/dist/assets/sdk-DeS3iq37.js +1 -0
  128. package/dist/assets/{section-BB6hVmdO.js → section-Ccxg0x_Y.js} +1 -1
  129. package/dist/assets/{security-YPRPQuQL.js → security-DFHcsUZl.js} +1 -1
  130. package/dist/assets/{session-Djj2U6sa.js → session-C_8V_o-O.js} +1 -1
  131. package/dist/assets/{setup-C9DGbmM7.js → setup-Do62jucF.js} +3 -3
  132. package/dist/assets/{spaces-fGcGlx-U.js → spaces-DApg1wzn.js} +1 -1
  133. package/dist/assets/{start-Cz_j6UYt.js → start-B8F850CZ.js} +1 -1
  134. package/dist/assets/{starting-progress-DHv9oucO.js → starting-progress-BHUTOY2b.js} +1 -1
  135. package/dist/assets/{status-B5ff49WY.js → status-D5JgbTyM.js} +1 -1
  136. package/dist/assets/{step-actions-CPiUgWLW.js → step-actions-1pM57149.js} +1 -1
  137. package/dist/assets/{studio-DnKLD9XD.js → studio-1mTu0Fgs.js} +1 -1
  138. package/dist/assets/{switch-control-DWjnOuBy.js → switch-control-CpCSorUo.js} +1 -1
  139. package/dist/assets/{table-tips-DEGQUNJa.js → table-tips-BfSSGl9N.js} +1 -1
  140. package/dist/assets/{th-Da4lMKTX.js → th-CRGgyPc5.js} +1 -1
  141. package/dist/assets/th-CsJSfFsn.js +1 -0
  142. package/dist/assets/{traffic-C262RTgV.js → traffic-Dvs1P0Re.js} +1 -1
  143. package/dist/assets/{transfer-CXfjw5Xg.js → transfer-bax-fMxe.js} +1 -1
  144. package/dist/assets/{unsubscribe-CdFXzPwR.js → unsubscribe-DwUfpwja.js} +1 -1
  145. package/dist/assets/{use-blocklet-logo-C_pDvfYN.js → use-blocklet-logo-BZU9LLmz.js} +1 -1
  146. package/dist/assets/use-server-logo-CxuMvwKh.js +1 -1
  147. package/dist/assets/{useLocalStorage-DO6t2PeQ.js → useLocalStorage-D6gvgmEW.js} +1 -1
  148. package/dist/assets/{user-center-DR1kV4iN.js → user-center-DQ_Kc4sL.js} +3 -3
  149. package/dist/assets/{util-Cs-QbPU0.js → util-BiCOL9ao.js} +1 -1
  150. package/dist/assets/{util-VM27PwRk.js → util-DMfPwzVN.js} +1 -1
  151. package/dist/assets/{vendor-arcblock-DuPySS9V.js → vendor-arcblock-BlrkGjK9.js} +1 -1
  152. package/dist/assets/{vendor-ux-did-connect-DIlRfE_S.js → vendor-ux-did-connect-2jRoUb28.js} +3 -3
  153. package/dist/assets/vi-Ce8JEW56.js +1 -0
  154. package/dist/assets/{vi-BxzaqoH9.js → vi-IIi6v-et.js} +1 -1
  155. package/dist/assets/wrap-locale-0GIFYj8p.js +1 -0
  156. package/dist/assets/{zh-Do6onry4.js → zh-DQX0RFjY.js} +1 -1
  157. package/dist/assets/zh-S-Nv5zr-.js +1 -0
  158. package/dist/assets/{zh-tw-BNgoHsYW.js → zh-tw-6n1CYpHc.js} +1 -1
  159. package/dist/assets/zh-tw-C-FYOTmO.js +1 -0
  160. package/dist/index.html +3 -3
  161. package/dist/service-worker.js +1 -1
  162. package/package.json +30 -30
  163. package/api/middlewares/check-admin-permission.js +0 -15
  164. package/dist/assets/appearance-CAsFMLaC.js +0 -1
  165. package/dist/assets/authorize-CdTK5Air.js +0 -1
  166. package/dist/assets/de-BWtUXhCw.js +0 -1
  167. package/dist/assets/domains-BhqtMbC1.js +0 -1
  168. package/dist/assets/fr-DjhyyiEi.js +0 -1
  169. package/dist/assets/hi-CtKbt1J4.js +0 -1
  170. package/dist/assets/id-CCuL3FP-.js +0 -1
  171. package/dist/assets/index-BJbAX71g.js +0 -284
  172. package/dist/assets/ko-gvJH4zFR.js +0 -1
  173. package/dist/assets/list-C8X2Voou.js +0 -2
  174. package/dist/assets/localization-CI5Q0B2F.js +0 -1
  175. package/dist/assets/pt-DzswFIpl.js +0 -1
  176. package/dist/assets/ru-EZJWVu3M.js +0 -1
  177. package/dist/assets/sdk-D4BoQHdn.js +0 -1
  178. package/dist/assets/th-Bn3Ch7SK.js +0 -1
  179. package/dist/assets/vi-CgnGroV4.js +0 -1
  180. package/dist/assets/wrap-locale-BWx2hEb7.js +0 -1
  181. package/dist/assets/zh-BWgwGxeZ.js +0 -1
  182. package/dist/assets/zh-tw-Ciod1pFs.js +0 -1
@@ -1,284 +0,0 @@
1
- import{r as P,t as gn,g as xn,e as Ct,a as yn}from"./vendor-react-DEoibe3W.js";import{a9 as Et,j as e,aa as E,bo as Be,br as Fe,bn as $e,q as Ce,T as Y,O as de,ab as oe,bx as qe,ak as re,H as v,ah as M,e as vn,ad as me,w as bn,y as Ot,b4 as Cn,b5 as jn,I as Sn,bh as wn,bs as Pn,bR as kn}from"./vendor-mui-core-BV2FUxWJ.js";import{B as jt,e as We,$ as In,ay as Tn,n as St,A as Dn,b as An}from"./vendor-utils-rHXShPKm.js";import{r as Nt,aL as _t,bE as Rn,h as Ln,a as V,$ as En,Z as On,a0 as Z,ao as te,B as z,e as Nn,aq as _n,d as Un,b4 as ue,bu as Bn,j as Q,a2 as Ut,ak as Fn,I as $n,au as Wn,Y as ze,b6 as zn,a9 as Bt,a8 as Ft,bA as Mn}from"./vendor-ux-did-connect-DIlRfE_S.js";import{c as G,a as qn,P as $t,B as je,w as Hn,Q as Vn}from"./vendor-arcblock-DuPySS9V.js";import{d as Kn}from"./ViewList-DWudZTBg.js";import{a2 as Zn,f as Yn,D as H,ax as Se,n as pe,a3 as Qn,V as ne,ay as Gn,G as Wt,az as zt,y as Jn,b as Xn}from"./index-YbYWmpAT.js";import{U as Mt,C as qt,I as es}from"./index-Bj2-CpPI.js";import{k as ts,u as He,a as Ve,c as ns,m as ss,f as rs}from"./vendor-hooks-BgUTpb6X.js";import{l as os}from"./index-BJHSgjnI.js";import{u as K,d as wt,W as Ht}from"./dashboard-AdC8-kkA.js";import{W as Ke}from"./did-address-BlAXR08O.js";import{P as J}from"./permission-fpFyADH8.js";import{C as Ie}from"./click-to-copy-ByEMWZD_.js";import{T as Vt}from"./index-iQsPOXlb.js";import{f as X}from"./index-8eXqqyHQ.js";import{_ as is}from"./useAsync-510ntT1B.js";import{I as q}from"./index-DSoHmrHd.js";import{d as as}from"./DeleteOutline-CzIOFoFP.js";import{C as fe}from"./confirm-DI8TUyRK.js";import{u as he}from"./session-Djj2U6sa.js";import{i as Kt,a as we,p as Zt}from"./util-VM27PwRk.js";import{b as ls}from"./sdk-D4BoQHdn.js";import{A as cs}from"./actions-azdiYocL.js";import{S as ds}from"./shorten-label-DPIZ5X7v.js";import"./lottie-web-jYmAQWuC.js";import"./Phone-BkOMNOMO.js";import"./Location-DxPzfR_p.js";import"./Email-BirbvqZ3.js";import"./Timezone-D91Of94T.js";import"./useLocalStorage-DO6t2PeQ.js";import"./PlayArrow-CLKgdv6H.js";import"./get-safe-url-DrR-6D-i.js";import"./use-blocklet-logo-C_pDvfYN.js";import"./InfoOutlined-Cd28U1Oc.js";import"./dot-itVN8XTt.js";import"./useSetState-CWq0AVWn.js";import"./use-mobile-BAa0wi8o.js";import"./vendor-mui-x-Bo-XOtzq.js";import"./AdapterDayjs-gCvKcGfu.js";import"./base32-CLrnUJal.js";import"./MoreHoriz-D-L8sA4c.js";var Ze={},ms=Et;Object.defineProperty(Ze,"__esModule",{value:!0});var Yt=Ze.default=void 0,ps=ms(Nt()),us=e;Yt=Ze.default=(0,ps.default)((0,us.jsx)("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8m0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4z"}),"Loop");var Ye=function(t){return e.jsxs("svg",{...t,children:[e.jsx("g",{clipPath:"url(#clip0)",children:e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.99997 1.59778C8.19071 1.59778 7.39961 1.83775 6.72673 2.28736C6.05385 2.73697 5.5294 3.37601 5.21971 4.12367C4.91001 4.87134 4.82898 5.69405 4.98686 6.48777C5.14474 7.28149 5.53444 8.01056 6.10668 8.5828C6.67892 9.15504 7.408 9.54474 8.20172 9.70262C8.99544 9.8605 9.81815 9.77947 10.5658 9.46978C11.3135 9.16009 11.9525 8.63564 12.4021 7.96276C12.8517 7.28987 13.0917 6.49878 13.0917 5.68951C13.0917 4.60432 12.6606 3.56357 11.8933 2.79622C11.1259 2.02887 10.0852 1.59778 8.99997 1.59778ZM7.27426 3.9638C7.73195 3.50611 8.35271 3.24899 8.99997 3.24899C9.48266 3.24899 9.95452 3.39212 10.3559 3.66029C10.7572 3.92846 11.07 4.30962 11.2547 4.75556C11.4394 5.20151 11.4878 5.69222 11.3936 6.16563C11.2994 6.63905 11.067 7.07391 10.7257 7.41522C10.3844 7.75654 9.94951 7.98897 9.4761 8.08314C9.00268 8.17731 8.51197 8.12898 8.06603 7.94426C7.62008 7.75954 7.23892 7.44674 6.97075 7.04539C6.70258 6.64405 6.55945 6.1722 6.55945 5.68951C6.55945 5.04224 6.81658 4.42149 7.27426 3.9638ZM7.36691 10.3075C6.28172 10.3075 5.24097 10.7385 4.47362 11.5059C3.70627 12.2732 3.27518 13.314 3.27518 14.3992V17.121C3.27518 17.2763 3.4011 17.4022 3.55643 17.4022H4.64514C4.80047 17.4022 4.92639 17.2763 4.92639 17.121V14.3992C4.92639 13.7519 5.18351 13.1312 5.6412 12.6735C6.09889 12.2158 6.71964 11.9587 7.36691 11.9587H10.633C10.9535 11.9587 11.2709 12.0218 11.567 12.1444C11.8631 12.2671 12.1321 12.4469 12.3588 12.6735C12.5854 12.9001 12.7651 13.1691 12.8878 13.4652C13.0104 13.7613 13.0736 14.0787 13.0736 14.3992V17.121C13.0736 17.2763 13.1995 17.4022 13.3548 17.4022H14.4435C14.5989 17.4022 14.7248 17.2763 14.7248 17.121V14.3992C14.7248 13.314 14.2937 12.2732 13.5263 11.5059C12.759 10.7385 11.7182 10.3075 10.633 10.3075H7.36691Z"})}),e.jsx("defs",{children:e.jsx("clipPath",{id:"clip0",children:e.jsx("rect",{width:"18",height:"18",transform:"translate(0 0.5)"})})})]})};Ye.defaultProps={width:"18",height:"19",viewBox:"0 0 18 19",xmlns:"http://www.w3.org/2000/svg"};Ye.displayName="person";const fs=Ye;var Qe=function(t){return e.jsxs("svg",{...t,children:[e.jsx("path",{d:"M1.25 2.7087C1.25 2.24826 1.62326 1.875 2.0837 1.875H14.339C14.7995 1.875 15.1727 2.24826 15.1727 2.7087V9.31574C15.1727 9.77618 14.7995 10.1494 14.339 10.1494C13.8786 10.1494 13.5053 9.77618 13.5053 9.31574V3.54239H2.91739V16.7565H6.53772H8.34788H9.32435C9.78479 16.7565 10.158 17.1297 10.158 17.5902C10.158 18.0506 9.78479 18.4239 9.32435 18.4239H8.34788H2.0837C1.62326 18.4239 1.25 18.0506 1.25 17.5902V2.7087Z"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M8.21129 7.91935C7.70481 7.91935 7.29422 8.32993 7.29422 8.83641C7.29422 9.34289 7.70481 9.75348 8.21129 9.75348C8.71777 9.75348 9.12836 9.34289 9.12836 8.83641C9.12836 8.32993 8.71777 7.91935 8.21129 7.91935ZM5.62683 8.83641C5.62683 7.40905 6.78393 6.25195 8.21129 6.25195C9.63865 6.25195 10.7957 7.40905 10.7957 8.83641C10.7957 10.2638 9.63865 11.4209 8.21129 11.4209C6.78393 11.4209 5.62683 10.2638 5.62683 8.83641Z"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.62683 13.2133C5.62683 12.7529 6.00009 12.3796 6.46053 12.3796H9.96205C10.4225 12.3796 10.7957 12.7529 10.7957 13.2133C10.7957 13.6737 10.4225 14.047 9.96205 14.047H6.46053C6.00009 14.047 5.62683 13.6737 5.62683 13.2133Z"}),e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M15.6406 11.3125C15.8547 11.3125 16.0503 11.434 16.145 11.626L17.1779 13.7184L19.4876 14.056C19.6994 14.087 19.8753 14.2355 19.9413 14.4391C20.0074 14.6427 19.9521 14.8662 19.7987 15.0156L18.1279 16.643L18.5222 18.9421C18.5584 19.1532 18.4716 19.3665 18.2984 19.4923C18.1252 19.6182 17.8955 19.6347 17.706 19.5351L15.6406 18.4489L13.5753 19.5351C13.3858 19.6347 13.1561 19.6182 12.9829 19.4923C12.8096 19.3665 12.7229 19.1532 12.7591 18.9421L13.1534 16.643L11.4825 15.0156C11.3292 14.8662 11.2739 14.6427 11.3399 14.4391C11.406 14.2355 11.5818 14.087 11.7937 14.056L14.1034 13.7184L15.1362 11.626C15.231 11.434 15.4265 11.3125 15.6406 11.3125ZM15.6406 13.1458L14.9815 14.4813C14.8996 14.6471 14.7414 14.7621 14.5584 14.7889L13.0835 15.0044L14.1503 16.0435C14.283 16.1727 14.3435 16.359 14.3122 16.5416L14.0606 18.0088L15.3788 17.3155C15.5427 17.2293 15.7386 17.2293 15.9025 17.3155L17.2207 18.0088L16.969 16.5416C16.9377 16.359 16.9983 16.1727 17.131 16.0435L18.1978 15.0044L16.7229 14.7889C16.5399 14.7621 16.3817 14.6471 16.2998 14.4813L15.6406 13.1458Z"})]})};Qe.defaultProps={width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"};Qe.displayName="external-issuer";const Qt=Qe;var be={},hs=t=>encodeURIComponent(t).replace(/[!'()*]/g,r=>`%${r.charCodeAt(0).toString(16).toUpperCase()}`),Gt="%[a-f0-9]{2}",Pt=new RegExp("("+Gt+")|([^%]+?)","gi"),kt=new RegExp("("+Gt+")+","gi");function Me(t,r){try{return[decodeURIComponent(t.join(""))]}catch{}if(t.length===1)return t;r=r||1;var l=t.slice(0,r),p=t.slice(r);return Array.prototype.concat.call([],Me(l),Me(p))}function gs(t){try{return decodeURIComponent(t)}catch{for(var r=t.match(Pt)||[],l=1;l<r.length;l++)t=Me(r,l).join(""),r=t.match(Pt)||[];return t}}function xs(t){for(var r={"%FE%FF":"��","%FF%FE":"��"},l=kt.exec(t);l;){try{r[l[0]]=decodeURIComponent(l[0])}catch{var p=gs(l[0]);p!==l[0]&&(r[l[0]]=p)}l=kt.exec(t)}r["%C2"]="�";for(var d=Object.keys(r),g=0;g<d.length;g++){var S=d[g];t=t.replace(new RegExp(S,"g"),r[S])}return t}var ys=function(t){if(typeof t!="string")throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof t+"`");try{return t=t.replace(/\+/g," "),decodeURIComponent(t)}catch{return xs(t)}},vs=(t,r)=>{if(!(typeof t=="string"&&typeof r=="string"))throw new TypeError("Expected the arguments to be of type `string`");if(r==="")return[t];const l=t.indexOf(r);return l===-1?[t]:[t.slice(0,l),t.slice(l+r.length)]},bs=function(t,r){for(var l={},p=Object.keys(t),d=Array.isArray(r),g=0;g<p.length;g++){var S=p[g],u=t[S];(d?r.indexOf(S)!==-1:r(S,u,t))&&(l[S]=u)}return l};(function(t){const r=hs,l=ys,p=vs,d=bs,g=n=>n==null;function S(n){switch(n.arrayFormat){case"index":return s=>(a,c)=>{const x=a.length;return c===void 0||n.skipNull&&c===null||n.skipEmptyString&&c===""?a:c===null?[...a,[h(s,n),"[",x,"]"].join("")]:[...a,[h(s,n),"[",h(x,n),"]=",h(c,n)].join("")]};case"bracket":return s=>(a,c)=>c===void 0||n.skipNull&&c===null||n.skipEmptyString&&c===""?a:c===null?[...a,[h(s,n),"[]"].join("")]:[...a,[h(s,n),"[]=",h(c,n)].join("")];case"comma":case"separator":return s=>(a,c)=>c==null||c.length===0?a:a.length===0?[[h(s,n),"=",h(c,n)].join("")]:[[a,h(c,n)].join(n.arrayFormatSeparator)];default:return s=>(a,c)=>c===void 0||n.skipNull&&c===null||n.skipEmptyString&&c===""?a:c===null?[...a,h(s,n)]:[...a,[h(s,n),"=",h(c,n)].join("")]}}function u(n){let s;switch(n.arrayFormat){case"index":return(a,c,x)=>{if(s=/\[(\d*)\]$/.exec(a),a=a.replace(/\[\d*\]$/,""),!s){x[a]=c;return}x[a]===void 0&&(x[a]={}),x[a][s[1]]=c};case"bracket":return(a,c,x)=>{if(s=/(\[\])$/.exec(a),a=a.replace(/\[\]$/,""),!s){x[a]=c;return}if(x[a]===void 0){x[a]=[c];return}x[a]=[].concat(x[a],c)};case"comma":case"separator":return(a,c,x)=>{const y=typeof c=="string"&&c.includes(n.arrayFormatSeparator),w=typeof c=="string"&&!y&&o(c,n).includes(n.arrayFormatSeparator);c=w?o(c,n):c;const U=y||w?c.split(n.arrayFormatSeparator).map(F=>o(F,n)):c===null?c:o(c,n);x[a]=U};default:return(a,c,x)=>{if(x[a]===void 0){x[a]=c;return}x[a]=[].concat(x[a],c)}}}function b(n){if(typeof n!="string"||n.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function h(n,s){return s.encode?s.strict?r(n):encodeURIComponent(n):n}function o(n,s){return s.decode?l(n):n}function T(n){return Array.isArray(n)?n.sort():typeof n=="object"?T(Object.keys(n)).sort((s,a)=>Number(s)-Number(a)).map(s=>n[s]):n}function C(n){const s=n.indexOf("#");return s!==-1&&(n=n.slice(0,s)),n}function k(n){let s="";const a=n.indexOf("#");return a!==-1&&(s=n.slice(a)),s}function i(n){n=C(n);const s=n.indexOf("?");return s===-1?"":n.slice(s+1)}function I(n,s){return s.parseNumbers&&!Number.isNaN(Number(n))&&typeof n=="string"&&n.trim()!==""?n=Number(n):s.parseBooleans&&n!==null&&(n.toLowerCase()==="true"||n.toLowerCase()==="false")&&(n=n.toLowerCase()==="true"),n}function m(n,s){s=Object.assign({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},s),b(s.arrayFormatSeparator);const a=u(s),c=Object.create(null);if(typeof n!="string"||(n=n.trim().replace(/^[?#&]/,""),!n))return c;for(const x of n.split("&")){if(x==="")continue;let[y,w]=p(s.decode?x.replace(/\+/g," "):x,"=");w=w===void 0?null:["comma","separator"].includes(s.arrayFormat)?w:o(w,s),a(o(y,s),w,c)}for(const x of Object.keys(c)){const y=c[x];if(typeof y=="object"&&y!==null)for(const w of Object.keys(y))y[w]=I(y[w],s);else c[x]=I(y,s)}return s.sort===!1?c:(s.sort===!0?Object.keys(c).sort():Object.keys(c).sort(s.sort)).reduce((x,y)=>{const w=c[y];return w&&typeof w=="object"&&!Array.isArray(w)?x[y]=T(w):x[y]=w,x},Object.create(null))}t.extract=i,t.parse=m,t.stringify=(n,s)=>{if(!n)return"";s=Object.assign({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},s),b(s.arrayFormatSeparator);const a=w=>s.skipNull&&g(n[w])||s.skipEmptyString&&n[w]==="",c=S(s),x={};for(const w of Object.keys(n))a(w)||(x[w]=n[w]);const y=Object.keys(x);return s.sort!==!1&&y.sort(s.sort),y.map(w=>{const U=n[w];return U===void 0?"":U===null?h(w,s):Array.isArray(U)?U.reduce(c(w),[]).join("&"):h(w,s)+"="+h(U,s)}).filter(w=>w.length>0).join("&")},t.parseUrl=(n,s)=>{s=Object.assign({decode:!0},s);const[a,c]=p(n,"#");return Object.assign({url:a.split("?")[0]||"",query:m(i(n),s)},s&&s.parseFragmentIdentifier&&c?{fragmentIdentifier:o(c,s)}:{})},t.stringifyUrl=(n,s)=>{s=Object.assign({encode:!0,strict:!0},s);const a=C(n.url).split("?")[0]||"",c=t.extract(n.url),x=t.parse(c,{sort:!1}),y=Object.assign(x,n.query);let w=t.stringify(y,s);w&&(w=`?${w}`);let U=k(n.url);return n.fragmentIdentifier&&(U=`#${h(n.fragmentIdentifier,s)}`),`${a}${w}${U}`},t.pick=(n,s,a)=>{a=Object.assign({parseFragmentIdentifier:!0},a);const{url:c,query:x,fragmentIdentifier:y}=t.parseUrl(n,a);return t.stringifyUrl({url:c,query:d(x,s),fragmentIdentifier:y},a)},t.exclude=(n,s,a)=>{const c=Array.isArray(s)?x=>!s.includes(x):(x,y)=>!s(x,y);return t.pick(n,c,a)}})(be);const ae=gn,Cs={parseNumbers:!1,parseBooleans:!1},js={skipNull:!1,skipEmptyString:!1},Ss=(t,r)=>{var l,p;const{navigateMode:d="push",parseOptions:g,stringifyOptions:S}={},u=Object.assign(Object.assign({},Cs),g),b=Object.assign(Object.assign({},js),S),h=ae.useLocation(),o=(l=ae.useHistory)===null||l===void 0?void 0:l.call(ae),T=(p=ae.useNavigate)===null||p===void 0?void 0:p.call(ae),C=ts(),k=P.useRef(typeof t=="function"?t():t||{}),i=P.useMemo(()=>be.parse(h.search,u),[h.search]),I=P.useMemo(()=>Object.assign(Object.assign({},k.current),i),[i]);return[I,He(n=>{const s=typeof n=="function"?n(I):n;C(),o&&o[d]({hash:h.hash,search:be.stringify(Object.assign(Object.assign({},i),s),b)||"?"},h.state),T&&T({hash:h.hash,search:be.stringify(Object.assign(Object.assign({},i),s),b)||"?"},{replace:d==="replace",state:h.state})})]},ws=Ss,Ps=_t,Ne=Rn,_e=Ln,ks=os,It={role:Ps.types.RoleType.ROLE_APPLICATION},Is=(t,r,l,p)=>{let d=l||It;const g=(0,_e.isEthereumType)((0,_e.DidType)(l));if(g?d=(0,Ne.WalletType)(l):d=(0,Ne.WalletType)(It),!(0,_e.isValid)(t)){let S="";try{return g?S=t.slice(0,66):S=t,(0,Ne.fromSecretKey)(S,d)}catch(u){throw new Error(`Cannot get blocklet wallet with invalid blocklet did or custom sk: ${u.message}`)}}if(!r)throw new Error("Cannot get blocklet wallet with empty node sk");return(0,ks.fromAppDid)(t,r,d,p||0)};var Ts=Is,Jt=Ct&&Ct.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const le=Jt(Zn),Ds=_t,ye=Jt(Ts),As=Yn,Rs=(t,r,{returnWallet:l=!0}={})=>{var F,A;if(!t||typeof t!="object"||!Array.isArray(t.environments)||!(0,le.default)(t,"meta.did"))throw new Error("Blocklet state must be an object");const{environments:p,configs:d=[]}=t,g=[...d,...p],S=g.find(D=>D.key==="BLOCKLET_APP_DESCRIPTION"),u=g.find(D=>D.key==="BLOCKLET_PASSPORT_COLOR"),b=g.find(D=>D.key==="BLOCKLET_APP_URL"),h=g.find(D=>D.key==="BLOCKLET_APP_TENANT_MODE"),{did:o,version:T}=t.meta,C=(0,As.getDisplayName)(t),k=(0,le.default)(S,"value",t.meta.description),i=(0,le.default)(u,"value","auto"),I=(0,le.default)(b,"value",""),m=(0,le.default)(h,"value","");if(!l)return{did:o,version:T,name:C,description:k,passportColor:i,appUrl:I,secret:"",wallet:null,permanentWallet:null,tenantMode:m};const n=g.find(D=>D.key==="BLOCKLET_APP_SK"),s=g.find(D=>D.key==="BLOCKLET_APP_CHAIN_TYPE")||g.find(D=>D.key==="BLOCKLET_WALLET_TYPE"),a=g.find(D=>D.key==="BLOCKLET_APP_PSK");let c;s&&(s.value==="ethereum"||s.value==="eth")&&(c=s.value);let x=null,y=null;if(n&&n.value)x=(0,ye.default)(n.value,void 0,c),a&&a.value&&a.value!==n.value&&(y=(0,ye.default)(a.value,void 0,c));else{if(!r||typeof r!="string")throw new Error("Node secret key must be a string");s?x=(0,ye.default)(t.meta.did,r,c):x=(0,ye.default)(t.meta.did,r)}const w=((A=(F=t.settings)==null?void 0:F.session)==null?void 0:A.salt)||"",U=Ds.Hasher.SHA3.hash256(jt.concat([x.secretKey,x.address,w].filter(Boolean).map(D=>jt.from(D))));return{did:o,version:T,name:C,description:k,passportColor:i,appUrl:I,secret:U,wallet:x,permanentWallet:y||x,tenantMode:m}};var Ls=Rs;const Es=xn(Ls);function Ge({teamDid:t,roles:r,apps:l,onCancel:p,onSuccess:d,onError:g,endpoint:S}){var I;const{api:u}=H(),{t:b,locale:h}=V(),o=Ve({loading:!1,error:null,activeStep:0,inviteInfo:null,role:"",remark:"",sourceAppPid:l.length>0?l[0].appPid:null,display:null,passportExpireTime:null,showPicker:!1}),T=async()=>{if(!o.role){o.error=b("team.member.error.passportEmpty");return}const m=o.remark.trim();o.error=null,o.loading=!0;try{let n=o.sourceAppPid??null;n===t&&(n=null);const s={teamDid:t,role:o.role,remark:m,sourceAppPid:n,passportExpireTime:o.passportExpireTime?o.passportExpireTime.toISOString():""};o.display&&(s.display={type:"url",content:o.display});const{inviteInfo:a}=await u.createMemberInvitation({input:s});o.inviteInfo=a,o.activeStep=1}catch(n){const s=X(n);o.error=s,g(n)}finally{o.loading=!1}},C=r.find(m=>m.name===o.role),i=[{body:e.jsxs(E,{sx:{display:"flex",flexDirection:"column",gap:3},children:[l.length>1?e.jsxs(Be,{fullWidth:!0,children:[e.jsx(Fe,{children:b("common.sourceApp")}),e.jsx($e,{value:o.sourceAppPid,onChange:m=>{o.error=null,o.sourceAppPid=m.target.value},fullWidth:!0,label:b("common.passport"),disabled:o.loading,children:l.map(m=>e.jsx(Ce,{value:m.appPid,children:e.jsxs(E,{sx:{display:"flex",justifyContent:"space-between",gap:2,width:"100%"},children:[e.jsxs(E,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(En,{did:m.appPid,size:28}),m.appName]}),e.jsx(On,{did:m.appPid,compact:!0,responsive:!1})]})},m.appPid))})]}):null,e.jsxs(Be,{fullWidth:!0,variant:"outlined",children:[e.jsx(Fe,{children:b("common.passport")}),e.jsx($e,{"data-cy":"invite-member-select-role",value:o.role,onChange:m=>{o.error=null,o.role=m.target.value},fullWidth:!0,label:b("common.passport"),disabled:o.loading,onKeyPress:m=>{m.key==="Enter"&&(m.preventDefault(),T())},children:r.filter(m=>m.name!=="owner").map(m=>e.jsx(Ce,{value:m.name,"data-cy":`invite-member-select-option-${m.name}`,children:e.jsxs(E,{sx:{display:"flex",flexDirection:"column"},children:[e.jsx(Y,{variant:"subtitle1",children:m.title||m.name}),e.jsx(Y,{variant:"caption",sx:{opacity:.7},children:m.description})]})},m.name))})]}),((I=C==null?void 0:C.extra)==null?void 0:I.display)==="custom"&&e.jsx(de,{label:b("common.display"),type:"url",value:o.display,onChange:m=>{o.error=null,o.display=m.target.value},fullWidth:!0,variant:"outlined",margin:"normal"}),e.jsx(de,{label:b("common.remark"),autoComplete:"off",variant:"outlined",fullWidth:!0,value:o.remark,onChange:m=>{o.error=null,o.remark=m.target.value},disabled:o.loading,"data-cy":"invite-member-input-remark"}),e.jsx(Vt,{value:o.passportExpireTime,onChange:m=>{o.passportExpireTime=m}})]}),cancel:b("common.cancel"),confirm:b("team.member.inviteDialog.createInviteLink"),onCancel:p,onConfirm:T},{body:()=>{var n,s;const m=Se({inviteId:(n=o.inviteInfo)==null?void 0:n.inviteId,endpoint:S});return e.jsxs("div",{children:[e.jsx(E,{sx:{fontSize:16,fontWeight:"bold"},children:b("team.member.inviteDialog.createSuccessTip",{expireDate:pe((s=o.inviteInfo)==null?void 0:s.expireDate,h)})}),e.jsx("div",{style:{marginTop:"40px"}}),e.jsx(Ie,{children:m})]})},confirm:b("common.copy"),onConfirm:()=>{var n;const m=Se({inviteId:(n=o.inviteInfo)==null?void 0:n.inviteId,endpoint:S});ns(m),Z.success(b("common.copied")),d()},cancel:b("common.cancel"),onCancel:p}][o.activeStep];return e.jsxs(te,{title:b("common.invite"),fullWidth:!0,open:!0,showCloseButton:!1,actions:e.jsxs(e.Fragment,{children:[i.cancel&&e.jsx(z,{onClick:i.onCancel,color:"inherit",children:i.cancel}),e.jsxs(z,{onClick:i.onConfirm,color:"primary",disabled:o.loading||!o.role,variant:"contained",autoFocus:!0,children:[o.loading&&e.jsx(oe,{size:16}),i.confirm]})]}),children:[e.jsx(qe,{component:"div",children:typeof i.body=="function"?i.body():i.body}),!!o.error&&e.jsx(re,{severity:"error",variant:"icon",children:o.error})]})}Ge.propTypes={teamDid:v.string.isRequired,onCancel:v.func.isRequired,onSuccess:v.func.isRequired,onError:v.func,roles:v.array,apps:v.array,endpoint:v.string};Ge.defaultProps={onError:()=>{},roles:[],apps:[],endpoint:""};function Je({teamDid:t,onCancel:r,onSuccess:l,onError:p,endpoint:d}){const{api:g,info:S}=H(),{api:u}=P.useContext(Nn),[b,h]=P.useState(!1),{t:o,locale:T}=V(),[C,k]=P.useState(""),[i,I]=P.useState(!1),[m,n]=P.useState(0),[s,a]=P.useState(""),[c,x]=P.useState(""),y=!!We(S,"ownerNft.did"),w=is(async()=>{if(y){const{state:R}=await g.getDelegationState();return R}return{delegated:!0}});if(w.loading)return e.jsx(te,{title:o("team.transferNode.inviteDialog.title"),fullWidth:!0,open:!0,onClose:r,children:e.jsx("div",{style:{display:"flex",justifyContent:"center"},children:e.jsx(oe,{})})});if(w.error)return e.jsx(te,{title:o("team.transferNode.inviteDialog.title"),fullWidth:!0,open:!0,onClose:r,children:e.jsx(re,{severity:"error",variant:"icon",children:X(w.error)})});const U=async()=>{k(null),h(!0);try{const{inviteInfo:R}=await g.createTransferInvitation({input:{teamDid:t,role:"owner",remark:c.trim()}});a(R),n(D.length-1)}catch(R){const W=X(R);k(W),p(R)}finally{h(!1)}},F=()=>{I(!0),n(1)},A=()=>{I(!1),n(0)},D=[{body:e.jsxs(Y,{component:"div",children:[e.jsxs(re,{severity:"warning",children:[e.jsx(Y,{children:o("team.transferNode.inviteDialog.tips.progress")}),e.jsx(Y,{children:o("team.transferNode.inviteDialog.tips.newOwnerPermissions")})]}),e.jsx(re,{severity:"warning",children:e.jsx(Y,{children:o("team.transferNode.inviteDialog.tips.revoke")})}),e.jsx("div",{style:{marginTop:20,marginBottom:10}}),e.jsx(de,{label:o("common.remark"),autoComplete:"off",variant:"outlined",fullWidth:!0,style:{marginBottom:8},value:c,onChange:R=>{k(null),x(R.target.value)},disabled:b,"data-cy":"transfer-node-input-remark"}),e.jsx("div",{style:{marginTop:20,marginBottom:10}})]}),cancel:o("common.cancel"),confirm:o("team.transferNode.inviteDialog.createInviteLink"),onCancel:r,onConfirm:y&&!We(w,"value.delegated")?F:U},{body:()=>e.jsx(_n,{action:"delegate-transfer-nft",open:i,locale:T,checkFn:u.get,onClose:A,onSuccess:U,checkTimeout:5*60*1e3,webWalletUrl:Qn(S),extraParams:{targetDID:S.did},messages:{title:o("team.transferNode.delegateDialog.title"),scan:o("team.transferNode.delegateDialog.scan"),confirm:o("team.transferNode.delegateDialog.confirm"),success:o("team.transferNode.delegateDialog.success")},popup:!0})},{body:()=>{const R=Se({inviteId:s.inviteId,endpoint:d});return e.jsxs("div",{children:[e.jsx(Os,{children:o("team.transferNode.inviteDialog.createSuccessTip",{expireDate:pe(s.expireDate,T)})}),e.jsx("div",{style:{marginTop:"40px"}}),e.jsx(Ie,{children:R})]})},confirm:o("common.confirm"),onConfirm:l}],O=D[m];return e.jsxs(te,{title:o("team.transferNode.inviteDialog.title"),fullWidth:!0,open:!0,showCloseButton:!1,actions:e.jsxs(e.Fragment,{children:[O.cancel&&e.jsx(z,{onClick:O.onCancel,color:"inherit",children:O.cancel}),e.jsxs(z,{onClick:O.onConfirm,color:"primary",disabled:b,variant:"contained",autoFocus:!0,children:[b&&e.jsx(oe,{size:16}),O.confirm]})]}),children:[e.jsx(qe,{component:"div",children:typeof O.body=="function"?O.body():O.body}),!!C&&e.jsx(re,{severity:"error",variant:"icon",children:C})]})}Je.propTypes={teamDid:v.string.isRequired,onCancel:v.func.isRequired,onSuccess:v.func.isRequired,onError:v.func,endpoint:v.string};Je.defaultProps={onError:()=>{},endpoint:""};const Os=M.div`
2
- font-size: 16px;
3
- font-weight: bold;
4
- `;var Xe=function(t){return e.jsxs("svg",{...t,children:[e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.88619 1.875C5.0541 1.875 4.24071 2.12174 3.54885 2.58402C2.857 3.0463 2.31777 3.70336 1.99934 4.47211C1.68092 5.24085 1.5976 6.08676 1.75994 6.90285C1.92227 7.71895 2.32295 8.46858 2.91133 9.05695C3.4997 9.64532 4.24933 10.046 5.06543 10.2083C5.88152 10.3707 6.72743 10.2874 7.49617 9.96893C8.26492 9.65051 8.92198 9.11128 9.38426 8.41942C9.84654 7.72757 10.0933 6.91417 10.0933 6.08209C10.0933 4.9663 9.65003 3.89621 8.86105 3.10723C8.07207 2.31825 7.00198 1.875 5.88619 1.875ZM4.11182 4.30773C4.58242 3.83714 5.22067 3.57276 5.88619 3.57276C6.38249 3.57276 6.86764 3.71993 7.2803 3.99566C7.69295 4.27139 8.01458 4.66329 8.20451 5.12181C8.39443 5.58033 8.44413 6.08487 8.3473 6.57164C8.25048 7.0584 8.01149 7.50552 7.66055 7.85645C7.30962 8.20739 6.8625 8.44638 6.37574 8.5432C5.88897 8.64003 5.38443 8.59033 4.92591 8.40041C4.46739 8.21048 4.07549 7.88885 3.79976 7.4762C3.52403 7.06354 3.37686 6.57839 3.37686 6.08209C3.37686 5.41657 3.64123 4.77832 4.11182 4.30773ZM4.20709 10.8302C3.0913 10.8302 2.02121 11.2735 1.23223 12.0624C0.443246 12.8514 0 13.9215 0 15.0373V17.8358C0 17.9955 0.12947 18.125 0.289179 18.125H1.40858C1.56829 18.125 1.69776 17.9955 1.69776 17.8358V15.0373C1.69776 14.3718 1.96214 13.7335 2.43273 13.2629C2.90332 12.7924 3.54157 12.528 4.20709 12.528H7.5653C7.89483 12.528 8.22113 12.5929 8.52558 12.719C8.83002 12.8451 9.10665 13.0299 9.33966 13.2629C9.57267 13.496 9.75751 13.7726 9.88361 14.077C10.0097 14.3815 10.0746 14.7078 10.0746 15.0373V17.8358C10.0746 17.9955 10.2041 18.125 10.3638 18.125H11.4832C11.6429 18.125 11.7724 17.9955 11.7724 17.8358V15.0373C11.7724 13.9215 11.3291 12.8514 10.5402 12.0624C9.75118 11.2735 8.68109 10.8302 7.5653 10.8302H4.20709Z"}),e.jsx("rect",{x:"12.5",y:"9.375",width:"7.5",height:"1.875",rx:"0.9375"})]})};Xe.defaultProps={width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"};Xe.displayName="forbid-login";const Xt=Xe;var et=function(t){return e.jsxs("svg",{...t,children:[e.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.88619 1.875C5.0541 1.875 4.24071 2.12174 3.54885 2.58402C2.857 3.0463 2.31777 3.70336 1.99934 4.47211C1.68092 5.24085 1.5976 6.08676 1.75994 6.90285C1.92227 7.71895 2.32295 8.46858 2.91133 9.05695C3.4997 9.64532 4.24933 10.046 5.06543 10.2083C5.88152 10.3707 6.72743 10.2874 7.49617 9.96893C8.26492 9.65051 8.92198 9.11128 9.38426 8.41942C9.84654 7.72757 10.0933 6.91417 10.0933 6.08209C10.0933 4.9663 9.65003 3.89621 8.86105 3.10723C8.07207 2.31825 7.00198 1.875 5.88619 1.875ZM4.11182 4.30773C4.58242 3.83714 5.22067 3.57276 5.88619 3.57276C6.38249 3.57276 6.86764 3.71993 7.2803 3.99566C7.69295 4.27139 8.01458 4.66329 8.20451 5.12181C8.39443 5.58033 8.44413 6.08487 8.3473 6.57164C8.25048 7.0584 8.01149 7.50552 7.66055 7.85645C7.30962 8.20739 6.8625 8.44638 6.37574 8.5432C5.88897 8.64003 5.38443 8.59033 4.92591 8.40041C4.46739 8.21048 4.07549 7.88885 3.79976 7.4762C3.52403 7.06354 3.37686 6.57839 3.37686 6.08209C3.37686 5.41657 3.64123 4.77832 4.11182 4.30773ZM4.20709 10.8302C3.0913 10.8302 2.02121 11.2735 1.23223 12.0624C0.443246 12.8514 0 13.9215 0 15.0373V17.8358C0 17.9955 0.12947 18.125 0.289179 18.125H1.40858C1.56829 18.125 1.69776 17.9955 1.69776 17.8358V15.0373C1.69776 14.3718 1.96214 13.7335 2.43273 13.2629C2.90332 12.7924 3.54157 12.528 4.20709 12.528H7.5653C7.89483 12.528 8.22113 12.5929 8.52558 12.719C8.83002 12.8451 9.10665 13.0299 9.33966 13.2629C9.57267 13.496 9.75751 13.7726 9.88361 14.077C10.0097 14.3815 10.0746 14.7078 10.0746 15.0373V17.8358C10.0746 17.9955 10.2041 18.125 10.3638 18.125H11.4832C11.6429 18.125 11.7724 17.9955 11.7724 17.8358V15.0373C11.7724 13.9215 11.3291 12.8514 10.5402 12.0624C9.75118 11.2735 8.68109 10.8302 7.5653 10.8302H4.20709Z"}),e.jsx("rect",{x:"12.5",y:"9.375",width:"7.5",height:"1.875",rx:"0.9375"}),e.jsx("rect",{x:"15.3125",y:"14.0625",width:"7.5",height:"1.875",rx:"0.9375",transform:"rotate(-90 15.3125 14.0625)"})]})};et.defaultProps={width:"20",height:"20",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"};et.displayName="allow-login";const en=et;function Pe(t){const{passport:r,onDelete:l,...p}=t;return e.jsxs(Ns,{...p,children:[r.title||r.name," ",!!l&&e.jsx(Un,{"data-cy":"delete-issuance",className:"delete",onClick:l})]})}Pe.propTypes={passport:v.object.isRequired,onDelete:v.func};Pe.defaultProps={onDelete:null};const Ns=M.span`
5
- display: inline-flex;
6
- padding: 2px 8px;
7
- background: ${t=>t.theme.palette.primary.main};
8
- border-radius: 100vw;
9
- font-weight: 400;
10
- font-size: 12px;
11
- line-height: 22px;
12
- color: #fff;
13
- align-items: center;
14
- .delete {
15
- font-size: 1em;
16
- margin-left: 6px;
17
- cursor: pointer;
18
- }
19
- `;function tt({issuances:t,teamDid:r,onRefresh:l}){const{api:p,inService:d}=H(),{t:g,locale:S}=P.useContext(ue),[u,b]=P.useState(null),[h,o]=P.useState(!1),{endpoint:T}=K(),C=async({id:m})=>{if(!h){o(!0);try{await p.deletePassportIssuance({input:{teamDid:r,sessionId:m}}),l()}catch(n){Z.error(n.message)}finally{o(!1),b(null)}}},k=()=>{o(!1),b(null)},i=m=>T?Gn({id:m.id,endpoint:T}):"";function I({data:m}){return e.jsxs("div",{className:"issuance",children:[e.jsxs(E,{display:"flex",justifyContent:"space-between",children:[e.jsx(J,{permission:d?"":"mutate_team",role:d?ne:[],children:n=>n?e.jsx(Pe,{passport:{title:m.title,name:m.name},onDelete:()=>b({title:g("team.passport.issuance.delete.title"),description:g("team.passport.issuance.delete.description",{link:i(m)}),confirm:g("common.delConfirm"),cancel:g("common.cancel"),onConfirm:()=>{C(m)},onCancel:k})}):e.jsx(Pe,{passport:{title:m.title,name:m.name}})}),e.jsxs("div",{style:{color:"#999"},children:[g("common.expires"),": ",pe(m.expireDate,S)]})]}),e.jsx(E,{mt:2,children:e.jsx(Ie,{children:i(m)})})]})}return e.jsxs(_s,{children:[t.map(m=>e.jsx(I,{data:m})),u&&e.jsx(fe,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel})]})}const _s=M.div`
20
- .MuiTableHead-root {
21
- display: none;
22
- }
23
- .issuance {
24
- padding: 16px 0;
25
- border-bottom: 1px solid #f0f0f0;
26
- .MuiTypography-root {
27
- display: inline-block;
28
- width: 100%;
29
- background: #f3f3f3;
30
- border-radius: 4px;
31
- padding-top: 6px;
32
- padding-bottom: 6px;
33
- }
34
- }
35
- `;tt.propTypes={teamDid:v.string.isRequired,issuances:v.array,onRefresh:v.func};tt.defaultProps={issuances:[],onRefresh:()=>{}};var ee={};Object.defineProperty(ee,"__esModule",{value:!0});ee.getPermanentDid=Us;ee.getConnectedAccounts=Te;ee.getConnectedDids=Bs;ee.getWallet=sn;var tn=ee.getWalletDid=Fs;ee.getSourceProvider=$s;ee.getSourceProviders=Ws;const nn=G;function Us(t){return t==null?void 0:t.did}function Te(t){return(t==null?void 0:t.connectedAccounts)||[]}function Bs(t){return Te(t).map(p=>p.did)}function sn(t){return Te(t).find(p=>p.provider===nn.LOGIN_PROVIDER.WALLET)}function Fs(t){const r=sn(t);return r==null?void 0:r.did}function $s(t){return(t==null?void 0:t.sourceProvider)||nn.LOGIN_PROVIDER.WALLET}function Ws(t){return Te(t).map(l=>l.provider)}const zs=M(({children:t,...r})=>e.jsx(de,{...r,id:"outlined-basic",variant:"outlined",InputProps:{startAdornment:e.jsx(Bn,{})},size:"small",children:t}))`
36
- .MuiOutlinedInput-root {
37
- color: #999;
38
- &.MuiInputBase-adornedStart .MuiSvgIcon-root {
39
- color: #bfbfbf;
40
- }
41
- opacity: 1;
42
- border-radius: 36px;
43
- background: #f8f8f8;
44
- padding-left: 16px;
45
- input {
46
- padding-left: 8px;
47
- font-weight: bold;
48
- &::placeholder {
49
- opacity: 1;
50
- color: #bfbfbf;
51
- }
52
- padding-top: 8.5px;
53
- padding-bottom: 8.5px;
54
- }
55
- }
56
-
57
- .MuiOutlinedInput-notchedOutline,
58
- .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,
59
- .Mui-focused .MuiOutlinedInput-notchedOutline {
60
- border-color: #eee;
61
- border-width: 1px;
62
- }
63
- `,Ms=zs,qs=M.div`
64
- display: flex;
65
- justify-content: space-between;
66
- align-items: center;
67
- font-size: 14px;
68
-
69
- .right {
70
- display: flex;
71
- align-items: center;
72
- }
73
-
74
- .tabs {
75
- .MuiButton-root {
76
- border: none;
77
- color: #999;
78
- &.active {
79
- color: #222;
80
- }
81
- }
82
- }
83
-
84
- @media (max-width: 600px) {
85
- display: block;
86
- .right {
87
- margin-top: 12px;
88
- }
89
- }
90
- `,Hs=qs;function De({teamDid:t,ownerDid:r,needReceive:l,roles:p,onCancel:d,onSuccess:g,onError:S,showOwnerPassport:u}){var x;const{api:b}=H(),[h,o]=P.useState(!1),[T,C]=P.useState(""),{t:k}=V(),[i,I]=P.useState(""),[m,n]=P.useState(""),s=Ve({passportExpireTime:null});P.useEffect(()=>{p.length>0&&I(p[0].name)},[]);const a=async()=>{if(!i){C(k("team.member.error.passportEmpty"));return}C(null),o(!0);try{const y={teamDid:t,name:i,ownerDid:r,passportExpireTime:s.passportExpireTime?s.passportExpireTime.toISOString():""};m&&(y.display={type:"url",content:m}),await b.createPassportIssuance({input:y}),g()}catch(y){const w=X(y);C(w),S(y)}finally{o(!1)}},c=p.find(y=>y.name===i);return e.jsxs(te,{title:k("team.passport.issue"),fullWidth:!0,open:!0,onClick:y=>y.stopPropagation(),onClose:d,disableEscapeKeyDown:!0,PaperProps:{style:{minHeight:"auto"}},actions:e.jsxs(e.Fragment,{children:[e.jsx(z,{onClick:d,color:"inherit",size:"small",children:k("common.cancel")}),e.jsxs(z,{onClick:a,color:"primary",size:"small",disabled:h||!i,variant:"contained",autoFocus:!0,"data-cy":"issue-passport-create-btn",children:[h&&e.jsx(oe,{size:16}),k(l?"team.passport.issuance.create.title":"oauth.issued")]})]}),children:[e.jsx(qe,{component:"div",children:e.jsxs(E,{sx:{display:"flex",flexDirection:"column",gap:3},children:[e.jsxs(Be,{style:{width:"100%"},variant:"outlined",children:[e.jsx(Fe,{children:k("common.passport")}),e.jsx($e,{"data-cy":"issue-passport-select-passport",value:i,onChange:y=>{C(null),I(y.target.value)},fullWidth:!0,label:k("common.passport"),disabled:h,onKeyPress:y=>{y.key==="Enter"&&(y.preventDefault(),a())},children:p.filter(y=>u||y.name!=="owner").map(y=>e.jsx(Ce,{value:y.name,"data-cy":`issue-passport-select-option-${y.name}`,children:e.jsxs(E,{sx:{display:"flex",flexDirection:"column"},children:[e.jsx(Y,{variant:"subtitle1",children:y.title||y.name}),e.jsx(Y,{variant:"caption",sx:{opacity:.7},children:y.description})]})},y.name))})]}),((x=c==null?void 0:c.extra)==null?void 0:x.display)==="custom"&&e.jsx(de,{label:k("common.display"),type:"url",value:m,onChange:y=>n(y.target.value),fullWidth:!0,variant:"outlined",margin:"normal"}),e.jsx(Vt,{value:s.passportExpireTime,onChange:y=>{s.passportExpireTime=y}})]})}),!!T&&e.jsx(re,{severity:"error",variant:"icon",children:T})]})}De.propTypes={teamDid:v.string.isRequired,ownerDid:v.string.isRequired,needReceive:v.bool,onCancel:v.func.isRequired,onSuccess:v.func.isRequired,onError:v.func,roles:v.array,showOwnerPassport:v.bool};De.defaultProps={onError:()=>{},roles:[],showOwnerPassport:!1,needReceive:!0};function nt({passport:t,user:r,color:l,width:p,icon:d,children:g,createPassportSvg:S,...u}){const{t:b,locale:h}=V();return e.jsxs(Vs,{display:"flex",alignItems:"center",...u,children:[!!t.display&&e.jsx("div",{className:"passport-item__display",style:{width:p},children:e.jsx(qn,{address:t.id,data:t.display,style:{width:"100%"},imageFilter:typeof p=="number"?{imageFilter:"resize",w:p}:null})}),!t.display&&e.jsx("div",{dangerouslySetInnerHTML:{__html:S({scope:t.scope,role:t.role,title:t.scope==="kyc"?t.name:t.title,issuer:t.issuer&&t.issuer.name,issuerDid:t.issuer&&t.issuer.id,ownerName:r.fullName,ownerDid:r.did,ownerAvatarUrl:r.avatar,revoked:t.revoked,preferredColor:l,width:p,extra:t.scope==="kyc"?{key:"Email",value:t.name}:void 0})}}),e.jsxs("div",{className:"body",children:[e.jsxs(E,{className:"title",display:"flex",alignItems:"center",children:[In(t.title),e.jsxs("div",{className:"status-icons",children:[d,t.revoked&&e.jsx($t,{})]})]}),t.issuanceDate&&e.jsx(E,{className:"title",display:"flex",alignItems:"center",children:b("team.passport.issuanceDate",{date:pe(t.issuanceDate,h)})}),t.expirationDate&&e.jsx(E,{className:"title",display:"flex",alignItems:"center",children:b("team.passport.validUntil",{date:pe(t.expirationDate,h)})}),g]})]})}nt.propTypes={passport:v.any.isRequired,user:v.any.isRequired,color:v.string.isRequired,createPassportSvg:v.func.isRequired,icon:v.any,children:v.any,width:v.number};nt.defaultProps={icon:null,children:null,width:150};const Vs=M(E)`
91
- .body {
92
- padding: 0;
93
- margin-left: 24px;
94
- margin-top: 0;
95
- }
96
- .title {
97
- font-weight: 400;
98
- font-size: 16px;
99
- line-height: 19px;
100
- color: ${({theme:t})=>t.palette.text.primary};
101
- margin-bottom: 8px;
102
- }
103
- .tip {
104
- display: flex;
105
- align-items: center;
106
- font-size: 14px;
107
- margin-top: 6px;
108
- color: ${({theme:t})=>t.palette.text.secondary};
109
- }
110
- .status-icons {
111
- svg {
112
- fill: ${({theme:t})=>t.palette.text.secondary};
113
- height: 1.2em;
114
- margin-left: 0.4em;
115
- }
116
- }
117
- `;function ke({action:t,passport:r}){const{t:l}=V(),{roles:p}=K(),d=p.find(g=>g.name===r.role);return e.jsxs("div",{children:[e.jsx("div",{children:l(t==="enable"?"team.member.enablePassportDescription":"team.member.revokePassportDescription")}),d&&e.jsx(E,{mt:3,fontWeight:"bold",children:l("team.member.passportPermissionTitle")}),d&&e.jsx(E,{mt:1,children:d.description})]})}ke.propTypes={action:v.string.isRequired,passport:v.object.isRequired};ke.defaultProps={};function st({user:t,onCreate:r,createPassportSvg:l}){var ge;const p=vn(),{t:d}=V(),{session:g}=he(),{roles:S,teamDid:u,teamIssuerDid:b,refresh:h,enablePassportIssuance:o,trustedPassports:T,passportColor:C,blocklet:k}=K(),{appIdList:i}=Wt(),{api:I,inService:m}=H(),[n,s]=P.useState(!1),[a,c]=P.useState(null),[x,y]=P.useState(!1),[w,U]=P.useState(""),F=[b,...i||[]].filter(Boolean),A=(We(t,"passports")||[]).map(L=>({...L,revoked:L.status===Q.PASSPORT_STATUS.REVOKED})),D=async L=>{if(!n){s(!0);try{const _=L.status===Q.PASSPORT_STATUS.REVOKED?"enableUserPassport":"revokeUserPassport";await I[_]({input:{teamDid:u,userDid:t.did,passportId:L.id}}),h()}catch(_){Z.error(X(_))}finally{s(!1),c(null)}}},O=L=>L.status===Q.PASSPORT_STATUS.REVOKED?c({title:d("team.member.enablePassport"),description:e.jsx(ke,{action:"enable",passport:L}),confirm:d("common.enable"),cancel:d("common.cancel"),onConfirm:()=>{D(L)},onCancel:()=>{s(!1),c(null)},color:"primary"}):c({title:d("team.member.revokePassport"),description:e.jsx(ke,{action:"revoke",passport:L}),confirm:d("common.revoke"),cancel:d("common.cancel"),onConfirm:()=>{D(L)},onCancel:()=>{s(!1),c(null)}}),R=(L,_)=>t.did===g.user.did&&g.user.passportId&&g.user.passportId===_.id?{revokable:!1,message:d("team.passport.shouldNotDeleteCurrent")}:L?u===_.issuer.id&&_.name==="owner"?{revokable:!1,message:d("team.passport.noPermission")}:{revokable:!0}:{revokable:!1,message:d("team.passport.noPermission")},W=A.filter(L=>!w||L.title.includes(w)||L.name.includes(w)),se=(L,_)=>_.status===Q.PASSPORT_STATUS.EXPIRED?e.jsx(z,{variant:"outlined",disabled:!0,children:d("common.expired")}):R(L,_).revokable?e.jsxs(z,{variant:"outlined",color:_.revoked?"primary":"secondary",onClick:()=>O(_),children:[_.revoked?e.jsx(je,{style:{fontSize:16,marginRight:4}}):e.jsx($t,{style:{height:16,marginRight:4}}),_.revoked?d("common.enable"):d("common.revoke")]}):e.jsx(me,{title:R(L,_).message,children:e.jsx(wt,{style:{color:p.palette.grey[600]}})});return e.jsxs(Ks,{children:[e.jsxs(Hs,{children:[e.jsx("div",{className:"left",children:e.jsx(Ms,{placeholder:d("team.passport.search"),value:w,onChange:L=>U(L.target.value)})}),e.jsx("div",{className:"right",children:o&&!!t.approved&&e.jsx(J,{permission:m?"":"mutate_team",role:m?ne:[],children:e.jsxs(z,{variant:"contained",color:"primary","data-cy":"issue-passport",onClick:()=>y(!0),children:[e.jsx(je,{style:{fontSize:16,marginRight:4}}),d("team.passport.issue")]})})})]}),e.jsxs(E,{children:[W.map(L=>e.jsx(J,{permission:m?"":"mutate_team",role:m?ne:[],children:_=>e.jsxs(E,{className:"passport-item",display:"flex",justifyContent:"space-between",alignItems:"center",mt:3,children:[e.jsx(nt,{passport:L,user:t,color:C,createPassportSvg:l,icon:F.length&&!F.includes(L.issuer.id)?e.jsx(Qt,{}):null,children:!!F.length&&!F.includes(L.issuer.id)&&e.jsxs("div",{className:"tip",children:[L.issuer.id!==b&&!T.some(Re=>Re.issuerDid===L.issuer.id)&&e.jsx(me,{title:d("team.passport.notTrustedIssuerTip"),children:e.jsx(E,{component:wt,style:{fontSize:"1.3em"},color:"error.main",mr:.5})}),e.jsx("span",{children:d("team.passport.issueBy",{name:L.issuer.name})})]})}),e.jsx(E,{children:se(_,L)})]})},L.id)),!W.length&&e.jsx(Ut,{children:d("common.empty")})]}),x&&e.jsx(De,{teamDid:u,ownerDid:t.did,needReceive:tn(t)===t.did,roles:S,onCancel:()=>y(!1),onSuccess:()=>{r(),y(!1)},showOwnerPassport:k&&!((ge=k.settings)!=null&&ge.owner)}),a&&e.jsx(fe,{title:a.title,description:a.description,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel,color:a.color})]})}st.propTypes={user:v.object.isRequired,createPassportSvg:v.func.isRequired,onCreate:v.func};st.defaultProps={onCreate:()=>{}};const Ks=M.div`
118
- .passport-item {
119
- .MuiButton-outlinedSecondary {
120
- color: #f16e6e;
121
- fill: #f16e6e;
122
- background: #fcf3f3;
123
- border: 0;
124
- &:hover {
125
- border: 0;
126
- }
127
- }
128
- }
129
- `,Zs=yn(Tn),Tt=Zs,{ROLES:Ys,PASSPORT_STATUS:rn}=Q,Qs=t=>((t==null?void 0:t.passports)||[]).some(r=>r.role===Ys.OWNER&&r.status===rn.VALID),Gs=(t,r=[])=>{const l=p=>p.status!==rn.VALID||!r.includes(p.issuer.id)?!1:!(p.expirationDate&&Date.now()>new Date(p.expirationDate).getTime());return Tt((t.passports||[]).filter(p=>!p.display).filter(l),"name").concat(Tt((t.passports||[]).filter(p=>p.display).filter(l),"display.content"))};var on={hasActiveOwnerPassport:Qs,getActivePassports:Gs};function Ae({user:t,onCancel:r,onSuccess:l,onError:p,children:d}){const{api:g,info:S,inService:u}=H(),{session:b}=he(),{teamDid:h,refresh:o}=K(),{t:T}=V(),[C,k]=P.useState(!1),[i,I]=P.useState(!1),m=()=>I(!0),n=async c=>{const{did:x,approved:y}=c;if(!C){k(!0);try{await g.updateUserApproval({input:{teamDid:h,user:{did:x,approved:!y}}}),I(!1),l(),o()}catch(w){Z.error(X(w)),p()}finally{k(!1)}}},s={title:t.approved?T("team.member.blockAccess"):T("team.member.allowAccess"),description:t.approved?T("team.member.blockAccessDescription"):T("team.member.allowAccessDescription"),confirm:T("common.confirm"),cancel:T("common.cancel"),onConfirm:()=>{n(t)},onCancel:()=>{k(!1),I(!1),r()},color:t.approved?"error":"primary"};let a;return on.hasActiveOwnerPassport(t)?a=!1:u?a=!we(b.user,t.did):a=S.nodeOwner&&!Kt(S,t.did)&&!we(b.user,t.did),a?e.jsxs(e.Fragment,{children:[typeof d=="function"?d({can:a,open:m}):d,i?e.jsx(fe,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel,color:s.color}):null]}):null}Ae.propTypes={user:v.object,onSuccess:v.func,onCancel:v.func,onError:v.func,children:v.oneOfType([v.object,v.func])};Ae.defaultProps={user:{},onSuccess:()=>{},onCancel:()=>{},onError:()=>{},children:null};function rt({user:t,onCancel:r,onSuccess:l,onError:p,children:d}){const{api:g,info:S,inService:u}=H(),{session:b}=he(),{teamDid:h}=K(),{t:o}=V(),[T,C]=P.useState(!1),[k,i]=P.useState(!1),I=()=>i(!0),m=async a=>{const{did:c}=a;if(!T){C(!0);try{await g.removeUser({input:{teamDid:h,user:{did:c}}}),i(!1),l(),Z.success(o("team.member.removeUserSuccess")),setTimeout(()=>{window.location.reload()},1e3)}catch(x){Z.error(X(x)),p()}finally{C(!1)}}},n={title:o("team.member.removeUser"),description:o("team.member.removeUserDescription",{did:t.did}),confirm:o("common.confirm"),cancel:o("common.cancel"),onConfirm:()=>{m(t)},onCancel:()=>{C(!1),i(!1),r()},color:"error"};let s;return on.hasActiveOwnerPassport(t)?s=!1:u?s=!we(b.user,t.did):s=S.nodeOwner&&!Kt(S,t.did)&&!we(b.user,t.did),s?e.jsxs(e.Fragment,{children:[typeof d=="function"?d({can:s,open:I}):d,k?e.jsx(fe,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel,color:n.color}):null]}):null}rt.propTypes={user:v.object,onSuccess:v.func,onCancel:v.func,onError:v.func,children:v.oneOfType([v.object,v.func])};rt.defaultProps={user:{},onSuccess:()=>{},onCancel:()=>{},onError:()=>{},children:null};function ot({hasPasskey:t}){const{isNodeTeam:r}=K();return r?e.jsx(Fn,{behavior:"only-new",action:"connect",createMode:"connect",createButtonText:t?"Add New Passkey":"Add Passkey",onSuccess:St,onError:St,dense:!0}):null}ot.propTypes={hasPasskey:v.bool};ot.defaultProps={hasPasskey:!1};function it({user:t,onChangeUser:r}){const l=t.connectedAccounts||[],{t:p}=V(),{session:d}=he(),{disconnectPasskey:g}=d.usePasskey(),S=l.some(u=>u.provider===G.LOGIN_PROVIDER.PASSKEY&&u.did);return e.jsxs("div",{children:[l.map(u=>e.jsxs("div",{children:[e.jsx(q,{style:{alignItems:"flex-start",cursor:"pointer"},valueComponent:"div",nameWidth:120,name:u.provider,onClick:()=>{const b=document.getElementById(`account-details-${u.did}`);b&&(b.style.display=b.style.display==="none"?"block":"none")},children:e.jsx(Ke,{did:u.did,showQrcode:!0})},u.did),e.jsxs(bn,{id:`account-details-${u.did}`,sx:{display:"none",mt:-1,mb:1,pt:1,pl:1,pr:1,boxShadow:"none",border:"1px solid #e0e0e0"},children:[u.did&&e.jsx(q,{nameWidth:120,name:"DID",children:u.did}),u.pk&&e.jsx(q,{nameWidth:120,name:"PublicKey",children:u.pk}),u.id&&e.jsx(q,{nameWidth:120,name:"ID",children:u.id}),u.sub&&e.jsx(q,{nameWidth:120,name:"Sub",children:u.sub}),u.lastLoginAt&&e.jsx(q,{nameWidth:120,name:"Last Login",children:u.lastLoginAt}),u.counter&&e.jsx(q,{nameWidth:120,name:"Counter",children:u.counter}),u.userInfo&&e.jsx(q,{nameWidth:120,name:"User Info",children:e.jsx("pre",{style:{margin:0,fontSize:12},children:JSON.stringify(u.userInfo,null,2)})}),u.extra&&e.jsx(q,{nameWidth:120,name:"Extra",children:e.jsx("pre",{style:{margin:0,fontSize:12},children:JSON.stringify(u.extra,null,2)})}),u.provider===G.LOGIN_PROVIDER.PASSKEY&&e.jsx(Ot,{size:"small",variant:"contained",color:"error",sx:{mb:1},onClick:async()=>{await g({session:d,connectedAccount:u}),await r(t)},children:p("common.disconnect")})]})]},u.did)),e.jsx(ot,{hasPasskey:S})]})}it.propTypes={user:v.object.isRequired,onChangeUser:v.func};it.defaultProps={onChangeUser:()=>{}};function Dt({info:t,verified:r}){return e.jsxs(E,{display:"flex",alignItems:"center",children:[t,r&&e.jsx(Hn,{color:"success",style:{fontSize:16,marginLeft:4}})]})}v.string.isRequired;const ce="info";function at({userDid:t,onCancel:r,initTab:l,createPassportSvg:p}){var F;const{api:d,ws:{useSubscription:g},inService:S}=H(),{session:u}=he(),{roles:b,teamDid:h,isNodeTeam:o,enablePassportIssuance:T}=K(),{t:C,locale:k}=V(),i=Ve({user:null,issuances:null,tab:l||ce}),[I,m]=P.useState(""),n=async(A,D)=>{try{const O=await d.doBatchQuery({getUser:{input:{teamDid:A,user:{did:D},options:{includeTags:!0}}},getPassportIssuances:{input:{teamDid:A,ownerDid:D}}});O.getUser.user&&(O.getUser.user.avatar=Zt(O.getUser.user.avatar,A,S),O.getUser.user.passports=(O.getUser.user.passports||[]).filter(R=>R.issuer)),i.user=O.getUser.user||{},i.issuances=O.getPassportIssuances.list||[]}catch(O){Z.error(X(O))}};P.useEffect(()=>{h&&n(h,t)},[t,h]);const s=A=>{A.teamDid===h&&A.user&&A.user.did===t&&n(h,t)};g(G.TeamEvents.userUpdated,s,[t,h]),P.useEffect(()=>{i.issuances&&!i.issuances.length&&i.tab==="issuances"&&(i.tab=ce)},[i.issuances]),P.useEffect(()=>{var A;ls.user.getProfileUrl({did:(A=i.user)==null?void 0:A.did,locale:k}).then(m)},[(F=i.user)==null?void 0:F.did,k]);const a=async A=>{await n(h,A.did),i.tab=i.tab||ce},c=()=>{var D,O;return(i.user?[{name:C("team.member.name"),value:i.user.fullName},{name:C("common.email"),value:i.user.email?e.jsx(Dt,{info:i.user.email,verified:i.user.emailVerified}):"-"},{name:C("common.phone"),value:i.user.phone?e.jsx(Dt,{info:i.user.phone,verified:i.user.phoneVerified}):"-"},{name:C("team.member.source"),value:e.jsx(E,{display:"flex",alignItems:"center",children:G.PROVIDER_NAME[((D=i.user)==null?void 0:D.sourceProvider)||Q.USER_TYPE.WALLET]||((O=i.user)==null?void 0:O.sourceProvider)})},{name:C("team.member.allowAccess"),value:i.user.approved?C("common.yes"):C("common.no")},{name:C("common.createdAt"),value:i.user.createdAt?e.jsx(ze,{value:i.user.createdAt,type:"all",locale:k}):"-"},{name:C("team.member.lastLogin"),value:i.user.lastLoginAt?e.jsx(ze,{value:i.user.lastLoginAt,type:"all",locale:k}):"-"},{name:C("team.member.lastLoginIp"),value:i.user.lastLoginIp||""},{name:C("common.remark"),value:i.user.remark||"-"},{name:C("team.invite.inviter"),value:i.user.inviter?e.jsx(Ke,{compact:!0,responsive:!0,did:i.user.inviter,showQrcode:!0}):"-"},Array.isArray(i.user.tags)&&i.user.tags.length>0?{name:C("common.tags"),value:i.user.tags.map(R=>e.jsx(Ht,{style:{background:R.color,color:zt(R.color),marginRight:4},children:R.title},R.id))}:null].filter(Boolean):[]).map(R=>R.name===C("common.did")?e.jsx(q,{valueComponent:"div",nameWidth:120,name:R.name,nameFormatter:()=>C("common.did"),children:R.value},R.name):e.jsx(q,{style:{alignItems:"flex-start"},valueComponent:"div",nameWidth:120,name:R.name,children:R.value},R.name))},x={info:{label:C("common.basicInfo"),value:ce,component:c},oauth:{label:C("team.member.connectedAccounts"),value:"oauth",component:()=>e.jsx(it,{user:i.user,onChangeUser:a})},passports:{label:C("common.passport"),value:"passports",component:()=>e.jsx(st,{user:i.user,teamDid:h,roles:b,createPassportSvg:p,onCreate:()=>{n(h,t).then(()=>{T&&i.issuances&&i.issuances.length&&(i.tab="issuances")})},onRefresh:()=>{n(h,t)}})},issuances:{label:C("team.passport.issuance.pending"),value:"issuances",component:()=>e.jsx(tt,{issuances:i.issuances||[],teamDid:h,onRefresh:()=>n(h,t)})}},y=Object.values(x).map(({label:A,value:D})=>({label:A,value:D})).filter(A=>{var D,O;return A.value==="issuances"?T&&i.issuances&&!!i.issuances.length:A.value==="oauth"?o&&((D=u.user)==null?void 0:D.did)===t?!0:(((O=i.user)==null?void 0:O.connectedAccounts)||[]).find(W=>{var se;return W.did!==((se=i.user)==null?void 0:se.did)}):!0}),w=x[i.tab]||x.info,U=A=>{i.tab=A};return e.jsx(te,{title:C("common.member"),onClose:r,open:!0,PaperProps:{style:{maxWidth:632,minHeight:"80vh"}},fullWidth:!0,actions:i.user&&e.jsxs(J,{permission:S?"":"mutate_team",role:S?ne:[],children:[e.jsx(Ae,{user:i.user,children:({open:A})=>e.jsxs(At,{onClick:A,children:[i.user.approved?e.jsx(Xt,{style:{fontSize:"1.2em",marginRight:"0.4em"}}):e.jsx(en,{style:{fontSize:"1.2em",marginRight:"0.4em"}}),i.user.approved?C("team.member.blockAccess"):C("team.member.allowAccess")]})}),e.jsx(rt,{user:i.user,onSuccess:r,children:({open:A})=>e.jsxs(At,{onClick:A,children:[e.jsx(as,{style:{fontSize:"1.2em",marginRight:"0.4em"}}),C("team.member.removeUser")]})})]}),children:e.jsxs(Js,{children:[!i.user&&e.jsx(Xs,{children:e.jsx(oe,{})}),i.user&&e.jsxs("div",{children:[e.jsxs(E,{sx:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between",overflow:"hidden"},children:[e.jsx(E,{sx:{display:"flex",alignItems:"center",width:"100%",overflow:"hidden"},className:"info",children:e.jsx(Mt,{user:i.user,cardType:qt.Detailed,infoType:es.Minimal,avatarSize:48,sx:{padding:0,border:"none"},showDid:!0,didProps:{compact:!0,responsive:!1,showQrcode:!0}})}),!!S&&e.jsx(E,{href:I,target:"_blank",rel:"noreferrer",component:"a",sx:{flexShrink:0},children:e.jsxs(Ot,{variant:"contained",color:"primary","data-cy":"issue-passport",children:[e.jsx($n,{icon:"majesticons:open-line",style:{fontSize:16,marginRight:4}}),C("team.member.openProfile")]})})]}),e.jsx(E,{mx:3,className:"tabs",children:e.jsx(Wn,{tabs:y,current:i.tab,onChange:U,scrollButtons:"auto"})}),e.jsx("div",{className:"body",children:e.jsx(w.component,{})})]})]})})}at.propTypes={userDid:v.string.isRequired,onCancel:v.func.isRequired,createPassportSvg:v.func.isRequired,initTab:v.string};at.defaultProps={initTab:ce};const Js=M.div`
130
- .info {
131
- .name {
132
- font-weight: 400;
133
- font-size: 18px;
134
- line-height: 25px;
135
- color: ${({theme:t})=>t.palette.text.primary};
136
- }
137
- }
138
-
139
- .tabs {
140
- margin-top: 24px;
141
- margin-left: 0;
142
- margin-right: 0;
143
- }
144
-
145
- .body {
146
- margin-top: 24px;
147
- }
148
- `,Xs=M.div`
149
- flex: 1;
150
- display: flex;
151
- justify-content: center;
152
- align-items: center;
153
- height: 200px;
154
- `,At=M.div`
155
- flex-shrink: 0;
156
- width: 50%;
157
- height: 64px;
158
- display: flex;
159
- justify-content: center;
160
- align-items: center;
161
- cursor: pointer;
162
- font-size: 16px;
163
- position: sticky;
164
- bottom: 0;
165
- z-index: 10;
166
- color: #999;
167
- fill: #999;
168
- `;function lt(){const{api:t,inService:r}=H(),{t:l,locale:p}=P.useContext(ue),{teamDid:d,invitations:g,refresh:S,endpoint:u,roles:b}=K(),[h,o]=P.useState(null),[T,C]=P.useState(!1),k=async({inviteId:n})=>{if(!T){C(!0);try{await t.deleteInvitation({input:{teamDid:d,inviteId:n}}),S(),await Xn(800)}catch(s){console.error(s)}finally{C(!1),o(null)}}},i=()=>{C(!1),o(null)},I=n=>u?Se({inviteId:n.inviteId,endpoint:u}):"",m=[{label:l("team.inviting.link"),name:"inviteId",options:{sort:!1,customBodyRenderLite:n=>{const s=g[n];return u?e.jsx(Ie,{children:I(s)}):e.jsx(oe,{size:16})}}},{label:l("common.role"),name:"role",widtn:70,options:{sort:!1,customBodyRender:n=>{const s=b.find(a=>a.name===n);return s!=null&&s.title?e.jsx(me,{title:n,children:s.title}):n||"--"}}},{label:l("common.remark"),name:"remark",options:{sort:!1,customBodyRender:n=>n||"--"}},{label:l("team.inviting.inviter"),name:"inviter.fullName",options:{sort:!1,customBodyRender:(n,{rowIndex:s})=>{var c;const a=g[s];return(c=a==null?void 0:a.inviter)==null?void 0:c.fullName}}},{label:l("common.expires"),name:"expireDate",options:{sort:!1,customBodyRender:n=>e.jsx(E,{children:Jn(n).format("YYYY-MM-DD HH:mm")})}},{label:l("common.actions"),name:"",width:100,align:"center",options:{sort:!1,customBodyRenderLite:n=>{const s=g[n];return e.jsx(J,{permission:r?"":"mutate_team",role:r?ne:[],children:e.jsxs(z,{onClick:()=>o({title:l("team.inviting.delete.title"),description:l("team.inviting.delete.description",{link:I(s)}),confirm:l("common.delConfirm"),cancel:l("common.cancel"),onConfirm:()=>k(s),onCancel:i}),size:"small",color:"error",variant:"text",children:[e.jsx(zn,{style:{fontSize:"1.2em"}}),l("common.delete")]})})}}}];return e.jsxs(er,{children:[g.length?e.jsx(Bt,{locale:p,data:[...g],columns:m,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1,search:!1,viewColumns:!1}}):e.jsx(Ut,{sx:{minHeight:200},children:l("common.empty")}),h&&e.jsx(fe,{title:h.title,description:h.description,confirm:h.confirm,cancel:h.cancel,params:h.params,onConfirm:h.onConfirm,onCancel:h.onCancel})]})}const er=M.div`
169
- margin-top: -20px;
170
- `;lt.propTypes={};lt.defaultProps={};var ct={},tr=Et;Object.defineProperty(ct,"__esModule",{value:!0});var an=ct.default=void 0,nr=tr(Nt()),sr=e;an=ct.default=(0,nr.default)((0,sr.jsx)("path",{d:"m17 7-1.41 1.41L18.17 11H8v2h10.17l-2.58 2.58L17 17l5-5zM4 5h8V3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h8v-2H4z"}),"Logout");function dt({type:t,user:r,onIssuePassport:l,onRefresh:p}){const{teamDid:d,roles:g}=K(),{confirmHolder:S,confirmApi:u}=Ft(),{t:b}=P.useContext(ue),[h,o]=P.useState(!1),{api:T}=H(),C=He(async()=>{await T.logoutUser({input:{teamDid:d,appPid:d,userDid:r.did}})});return e.jsxs(e.Fragment,{children:[S,e.jsx(cs,{"data-cy":"member-actions",actions:[{icon:e.jsx(je,{fontSize:"small"}),text:b("team.passport.issue"),"data-cy":"action-issue-passport",onClick:k=>{k.stopPropagation(),o(!0)}},({close:k})=>e.jsx(Ae,{user:r,children:({open:i})=>e.jsxs(Ce,{dense:!0,onClick:I=>{I.stopPropagation(),k(),i(I)},"data-cy":"action-toggle-block",children:[e.jsx(Cn,{style:{minWidth:24,marginRight:8},children:r.approved?e.jsx(Xt,{}):e.jsx(en,{})}),e.jsx(jn,{primary:r.approved?b("team.member.blockAccess"):b("team.member.allowAccess")})]})},"toggle-approval"),t==="blocklet"&&{icon:e.jsx(an,{fontSize:"small"}),text:b("team.member.forceLogout"),onClick:k=>{k.stopPropagation(),u.open({title:b("team.member.forceLogout"),content:b("team.member.forceLogoutDescription"),confirmButtonText:b("common.confirm"),cancelButtonText:b("common.cancel"),onClick:i=>i.stopPropagation(),onConfirm:async()=>{await C(),await u.close(),p()}})}}].filter(Boolean)}),h&&e.jsx(De,{teamDid:d,ownerDid:r.did,needReceive:tn(r)===r.did,roles:g,onCancel:()=>o(!1),onSuccess:()=>{l(),o(!1)}})]})}dt.propTypes={type:v.oneOf(["server","blocklet"]).isRequired,user:v.object.isRequired,onIssuePassport:v.func,onRefresh:v.func};dt.defaultProps={onIssuePassport:()=>{},onRefresh:()=>{}};const Ue="$all",Rt="$none",Lt="$blocked",ve=(t,r)=>{const l=t.find(p=>p.key===r);return(l==null?void 0:l.value)||0},rr=(t,r)=>{const l=t.passports||[];return l.length?!l.some(p=>{var d;return r.includes((d=p.issuer)==null?void 0:d.id)}):!1};function ln({user:t}){const{t:r}=P.useContext(ue),l=rs(()=>({...t,avatar:`${t.avatar}?imageFilter=resize&w=48&h=48`}),[t]),p=e.jsxs("div",{className:"member-block",children:[e.jsxs("div",{className:"member-avatar",children:[e.jsx(Mt,{user:l,avatarSize:32,cardType:qt.AvatarOnly,showHoverCard:!1}),!t.approved&&e.jsx("did",{className:"badge-block"}),t.isFromExternal&&e.jsx(me,{title:r("team.passport.externalPassport"),children:e.jsx(E,{ml:1,className:"icon",children:e.jsx(Qt,{})})})]}),e.jsxs("div",{className:"member-meta",children:[e.jsx("div",{className:"member-text",children:e.jsx(ds,{children:t.fullName})}),Array.isArray(t.tags)&&t.tags.length>0&&e.jsx("div",{className:"member-tags",children:t.tags.map(d=>e.jsx(Ht,{style:{background:d.color,color:zt(d.color),marginRight:4},children:d.title},d.id))})]})]});return t.approved?p:e.jsx(E,{display:"flex",alignItems:"center",children:e.jsx(me,{title:r("team.member.blockAccessDescription"),children:p})})}ln.propTypes={user:v.object.isRequired};function or({type:t,createPassportSvg:r}){var xt,yt,vt,bt;const{confirmApi:l,confirmHolder:p}=Ft({sx:{".MuiDialog-paper":{borderRadius:2,maxWidth:1e3},".ux-dialog_title":{fontWeight:600},".ux-dialog_closeButton":{p:1},".MuiDialogActions-root":{display:{xs:"none",md:"flex"}}}}),{appIdList:d=[],blocklet:g}=Wt(),{teamDid:S,invitations:u,teamIssuerDid:b,roles:h,refresh:o,enablePassportIssuance:T,endpoint:C,api:k}=K(),{api:i,inService:I,ws:{useSubscription:m}}=H(),n=[];if(g){const f=(((yt=(xt=g.settings)==null?void 0:xt.federated)==null?void 0:yt.sites)||[]).find(N=>N.isMaster!==!1),j=(((bt=(vt=g.settings)==null?void 0:vt.federated)==null?void 0:bt.sites)||[]).find(N=>N.appId===g.appDid);if((j==null?void 0:j.status)==="approved"&&n.push({appId:f==null?void 0:f.appId,appName:f==null?void 0:f.appName,appDescription:f==null?void 0:f.appDescription,appLogo:f==null?void 0:f.appLogo,appPid:f==null?void 0:f.appPid,appUrl:f==null?void 0:f.appUrl,version:f==null?void 0:f.version,sourceAppPid:f==null?void 0:f.appPid,provider:"wallet"}),j)n.push({appId:(j==null?void 0:j.appId)||g.appDid,appName:j==null?void 0:j.appName,appDescription:j==null?void 0:j.appDescription,appLogo:j==null?void 0:j.appLogo,appPid:j==null?void 0:j.appPid,appUrl:j==null?void 0:j.appUrl,version:j==null?void 0:j.version,sourceAppPid:null,provider:"wallet"});else{const N=Es(g,void 0,{returnWallet:!1});n.push({appId:N.did,appName:N.name,appDescription:N.description,appLogo:Dn(N.appUrl,Q.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),appPid:g==null?void 0:g.appPid,appUrl:N.appUrl,version:N.version,sourceAppPid:null,provider:"wallet"})}}const{t:s,locale:a}=P.useContext(ue),[c,x]=P.useState(!1),[y,w]=P.useState(!1),[U,F]=P.useState(!1),[A,D]=P.useState(!1),[O,R]=P.useState(!1),[W,se]=P.useState([]),[ge,L]=P.useState(),[_,Re]=P.useState([]),[mt]=ws({did:void 0}),pt=`members-${S}`,ut=Mn(pt),[B,ie]=P.useState({role:Ue,searchText:ut.searchText||"",hideBlocked:!1,pageSize:ut.rowsPerPage||10,page:1});ss(async()=>{if(mt.did){const{user:f}=await k.getUser({did:mt.did});f&&D(f)}});const xe=(h||[]).map(f=>({name:f.name,title:f.title,num:ve(_,f.name)}));xe.unshift({name:Ue,title:"All Members",num:ve(_,Ue)}),xe.push({name:Rt,title:"Other",num:ve(_,Rt)}),xe.push({name:Lt,title:"Blocked",num:ve(_,Lt)});const ft=()=>{const f={includeTags:!0,includeUserSessions:t==="blocklet"};B.hideBlocked&&(f.approved=!0),f.role=B.role,B.searchText&&(f.search=B.searchText),R(!0),k.getUsers({query:f,paging:{page:B.page,pageSize:B.pageSize}}).then(j=>{R(!1),(j.users||[]).forEach(N=>{N.isFromExternal=rr(N,An(d)?[b]:d),N.avatar=Zt(N.avatar,S,I),N.passports=(N.passports||[]).filter($=>$.issuer)}),se(j.users||[]),L(j.paging.total)}).catch(j=>{R(!1),Z.error(j.message)})},ht=()=>{k.getUsersCountPerRole().then(f=>{Re(f.counts||[])}).catch(f=>{Z.error(f.message)})},Le=f=>{f.teamDid===S&&(ft(),ht())};P.useEffect(()=>{ft()},[`${B.hideBlocked}-${B.role}-${B.page}-${B.pageSize}-${B.searchText}`]),P.useEffect(()=>{ht()},[]),m(G.TeamEvents.userUpdated,Le,[B]),m(G.TeamEvents.userAdded,Le,[B]);const cn=T,dn=He(f=>{const j=async({page:N=1,pageSize:$=10,status:Oe}={})=>await i.getUserSessions({input:{teamDid:S,query:{userDid:f.did,appPid:S,status:Oe},paging:{pageSize:$,page:N}}});l.open({title:"User Sessions",content:e.jsx(Vn,{user:f,showAction:!1,showUser:!1,showOffline:!0,getUserSessions:j}),onConfirm(){l.close()},confirmButtonText:s("common.close"),showCancelButton:!1})}),mn=[{label:s("common.name"),name:"fullName",options:{customBodyRenderLite:f=>{const j=W[f];return e.jsx("div",{"data-cy":`member-name-${j.fullName}`,children:e.jsx(ln,{user:j})},j.did)}}},{label:s("common.address"),name:"did",options:{customBodyRender:f=>e.jsx(Ke,{size:14,responsive:!1,compact:!0,copyable:!1,did:f})}},{label:s("team.member.lastLogin"),name:"lastLoginAt",options:{customBodyRender:f=>e.jsx(E,{sx:{minWidth:"100px"},children:e.jsx(ze,{value:f,locale:a})})}},{label:s("team.member.lastLoginIp"),name:"lastLoginIp",options:{customBodyRender:f=>f||"-"}},{label:s("team.member.source"),name:"sourceProvider",options:{customBodyRenderLite:f=>{const j=W[f],N=j.sourceProvider||Q.USER_TYPE.WALLET,$=G.PROVIDER_NAME[N]||N;return j.sourceAppPid?`${$} (${s("team.member.federated")})`:$}}},t==="blocklet"&&{label:s("team.member.activeUserSessions"),name:"userSessions",options:{customBodyRenderLite:f=>{const j=W[f];return e.jsx(Sn,{onClick:N=>{N.stopPropagation(),dn(j)},children:e.jsx(wn,{badgeContent:j==null?void 0:j.userSessionsCount,color:(j==null?void 0:j.userSessionsCount)>0?"primary":"default",sx:(j==null?void 0:j.userSessionsCount)>0?{}:{".MuiBadge-badge":{backgroundColor:"grey",color:"white"}},showZero:!0,children:e.jsx(Kn,{})})})}}},{label:s("common.actions"),name:"",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRenderLite:f=>{const j=W[f];return e.jsx(J,{permission:I?"":"mutate_team",role:I?ne:[],children:e.jsx(dt,{type:t,user:j,onIssuePassport:()=>D({...j,initTab:"issuances"}),onRefresh:()=>Le({teamDid:S})})})}}}].filter(Boolean),Ee=[];cn&&(Ee.push(e.jsxs(z,{variant:"outlined",style:{flexShrink:0,marginRight:16},color:"primary",size:"small",onClick:()=>{F(!0)},children:[e.jsx(fs,{style:{height:"1em",marginRight:4}}),s("common.inviting"),u.length?` (${u.length})`:""]}),e.jsx(J,{permission:I?"":"mutate_team",role:I?ne:[],children:e.jsxs(z,{style:{flexShrink:0,marginRight:16},variant:"contained",edge:"end",color:"primary",size:"small","data-cy":"invite-member",onClick:()=>x(!0),children:[e.jsx(je,{style:{fontSize:"1.3em",marginRight:4}}),s("team.invite.action")]})})),t==="server"&&Ee.push(e.jsx(J,{role:"owner",children:e.jsxs(z,{style:{flexShrink:0},variant:"contained",edge:"end",color:"error",size:"small","data-cy":"invite-member",onClick:()=>w(!0),children:[e.jsx(Yt,{style:{fontSize:"1.3em",marginRight:4}}),s("team.transferNode.name")]})})));const pn=f=>{O||ie(j=>({...j,role:f,hideBlocked:!1,searchText:"",page:1}))},un=f=>{ie(j=>({...j,hideBlocked:f,page:1}))},fn=({page:f,rowsPerPage:j,searchText:N})=>{B.pageSize!==j?ie($=>({...$,pageSize:j,page:1})):B.page!==f+1?ie($=>({...$,page:f+1})):B.searchText!==N&&ie($=>({...$,searchText:N,page:1}))},gt=P.useRef(null),hn={sort:!1,download:!1,filter:!1,print:!1,expandableRowsOnClick:!0,onRowClick(f,{dataIndex:j},N){var $;if(($=gt.current)!=null&&$.contains(N.target)){const Oe=W[j];D(Oe)}},page:B.page-1,rowsPerPage:B.pageSize,count:ge,searchDebounceTime:600};return e.jsxs(ir,{children:[p,e.jsxs(E,{className:"main",display:"flex",gap:3,children:[e.jsx("div",{className:"left",children:e.jsx("div",{className:"tabs",children:xe.map(f=>e.jsxs("div",{className:`tab ${B.role===f.name?"active":""}`,onClick:()=>pn(f.name),children:[e.jsx("span",{className:"text",children:f.title}),e.jsx(E,{sx:{color:"text.secondary"},children:f.num})]},f.name))})}),e.jsx("div",{ref:gt,className:"right",children:e.jsx(Bt,{className:"main-table",verticalKeyWidth:100,locale:a,durable:pt,durableKeys:["page","rowsPerPage"],title:e.jsx("div",{className:"table-toolbar-left",children:e.jsx(Pn,{control:e.jsx(kn,{sx:{display:"flex !important"},disabled:O,color:"primary",checked:B.hideBlocked,onChange:f=>un(f.target.checked)}),label:s("team.member.onlyApprovedMember")})}),data:W,columns:mn,customButtons:Ee,options:hn,loading:O,onChange:fn})})]}),e.jsx(te,{title:s("common.inviting"),onClose:()=>F(!1),open:U,maxWidth:"lg",fullWidth:!0,children:e.jsx(lt,{})}),A&&e.jsx(at,{onCancel:()=>D(null),userDid:A.did,createPassportSvg:r,initTab:A.initTab}),c&&e.jsx(Ge,{teamDid:S,endpoint:C,roles:h,apps:n,onCancel:()=>x(!1),onSuccess:()=>{o(),x(!1)}}),y&&e.jsx(Je,{teamDid:S,endpoint:C,roles:h,onCancel:()=>w(!1),onSuccess:()=>{o(),w(!1)}})]})}const ir=M.div`
171
- .main {
172
- .left {
173
- width: 256px;
174
- flex-shrink: 0;
175
-
176
- .tabs {
177
- padding-top: 16px;
178
- .tab {
179
- display: flex;
180
- justify-content: space-between;
181
- align-items: center;
182
- padding: 8px 16px;
183
- transition: background 0.4s;
184
-
185
- width: 256px;
186
- height: 36px;
187
- border-radius: 8px;
188
-
189
- cursor: pointer;
190
- user-select: none;
191
-
192
- &:nth-child(n + 2) {
193
- margin-top: 24px;
194
- }
195
-
196
- &.active {
197
- background-color: ${({theme:t})=>t.palette.grey[100]};
198
- }
199
-
200
- &:hover {
201
- background-color: ${({theme:t})=>t.palette.grey[100]};
202
- }
203
-
204
- .text {
205
- font-weight: 400;
206
- font-size: 16px;
207
- line-height: 19px;
208
- color: ${({theme:t})=>t.palette.text.primary};
209
- }
210
-
211
- .badge {
212
- display: flex;
213
- flex-shrink: 0;
214
- justify-content: center;
215
- align-items: center;
216
- width: 20px;
217
- height: 20px;
218
- border-radius: 100%;
219
- color: #fff;
220
- background: #666666;
221
- font-size: 10px;
222
- font-weight: 400;
223
- &.is-rect {
224
- width: auto;
225
- border-radius: 8px;
226
- padding: 0 4px;
227
- }
228
- }
229
- }
230
- }
231
- @media (max-width: ${t=>t.theme.breakpoints.values.md}px) {
232
- display: none;
233
- }
234
- }
235
- .right {
236
- flex: 1;
237
- overflow: auto;
238
- }
239
- }
240
-
241
- .member-block {
242
- display: flex;
243
- justify-content: flex-start;
244
- align-items: center;
245
- .member-avatar {
246
- position: relative;
247
- display: flex;
248
- justify-content: center;
249
- align-items: center;
250
- }
251
- .member-meta {
252
- margin-left: 10px;
253
- display: flex;
254
- flex-direction: column;
255
- justify-content: center;
256
- align-items: flex-start;
257
- }
258
- .badge-block {
259
- width: 14px;
260
- height: 14px;
261
- position: absolute;
262
- right: -4px;
263
- top: -4px;
264
- background: #ff5757;
265
- border-radius: 100%;
266
- display: flex;
267
- align-items: center;
268
- justify-content: center;
269
- &::after {
270
- content: '';
271
- width: 6px;
272
- height: 2px;
273
- background: #fefefe;
274
- }
275
- }
276
- }
277
-
278
- .table-toolbar-left {
279
- display: flex;
280
- justify-content: center;
281
- align-items: center;
282
- padding: 7px 0;
283
- }
284
- `;or.propTypes={type:v.oneOf(["server","blocklet"]).isRequired,createPassportSvg:v.func.isRequired};export{or as default};
@@ -1 +0,0 @@
1
- const e={auth:{noPermission:{title:"권한이 없습니다",description:"당신은 블록렛의 관리자가 아닙니다"}},login:{reLogin:"재연결",description:"{name}에 액세스하려면 DID 지갑을 연결해야합니다",already:"{name}으로 연결되었습니다",connectWallet:"DID 지갑 연결하기",closeWindow:"창 닫기",accessLimit:{title:"페이지 액세스가 제한되었습니다",description:"이 페이지에 액세스하려면 다음 여권이 필요합니다. 지갑에 연결하여 해당 패스를 변경하거나 신청하십시오.",alreadyHavePassport:"이미 여권이 있습니다",connectWithPassport:"이 여권으로 연결하세요",buyPassport:"여권 구매하기"},switchDid:{title:"계정 전환",scan:"다음 방법으로 계정을 추가하십시오",confirm:"DID 지갑에서의 전환을 확인하세요",success:"성공적으로 전환되었습니다"},switchSpecifiedDid:{title:"계정 전환",scan:"다음 동작을 완료하려면 DID를 {did}로 전환해야 합니다",confirm:"DID 지갑에서의 전환을 확인하세요",success:"성공적으로 전환되었습니다"},connect:{title:"연결",scan:"다음 방법을 사용하여 연결을 완료하십시오",confirm:"DID 지갑에서 확인해주세요",success:"성공적으로 연결되었습니다"},needManualClose:"로그인 성공, 이 창이 자동으로 닫히지 않는 경우 직접 닫아 주세요",connectWithPassport:"이 여권과 연결",invalidRedirectUrl:"잘못된 리디렉션 URL",issueKyc:{pageDescription:"계정을 안전하게 보호하고 다른 사이트에서 신뢰할 수 있는 재사용 가능한 NFT를 획득하려면 확인을 완료하세요 (한 번 확인하고 모든 곳에서 표시).",verifyButton:"확인하다",sendCodeButton:"인증 코드 받기",codeSentMessage:"{email}로 인증 코드를 전송했습니다. 해당 코드의 유효 기간은 30 분이며, 받은 편지함이나 스팸함을 확인하십시오.",codeSentSuccess:"인증 코드가 성공적으로 전송되었습니다",claim:"인증된 이메일 인증서 요청",scan:"인증서를 받으려면 DID 지갑을 연결하세요",confirm:"귀하의 DID 지갑에서 확인",success:"축하합니다! 귀하의 이메일 인증 및 DID 지갑에서 인증서를 성공적으로 완료했습니다.",backToHome:"홈으로 돌아가기",emailPlaceholder:"귀하의 이메일 주소",verifyTitle:"이메일 주소를 확인하세요",issueTitle:"청구 이메일 인증 NFT",verifyAction:"확인 중",issueAction:"주장",issueTarget:"다음 DID에 대해 {action} 중입니다, 다른 DID를 추가하려면 아바타를 클릭하십시오"},updateKyc:{button:"선물 증명서",title:"현재 확인된 이메일 인증서",scan:"인증서를 제출하려면 DID 지갑에 연결하십시오",confirm:"귀하의 DID 지갑에서 확인하십시오",success:"축하합니다! 귀하의 NFT가 확인되었고 수락되었습니다."},invalidOpenerUrl:"잘못된 오프너 URL"},studio:{home:"스튜디오",preferences:"선호도 빌더",localization:"로컬라이제이션",branding:"브랜딩 이미지",ratio:"비율",size:"크기",count:"계산",tip:"팁",change:"로고를 클릭하여 변경하세요.",order:"주문",orderTip:"드래그하여 변경",orderTipLong:"드래그하여 변경, 디스크에서 스크린샷을 삭제하면 페이지 새로 고침을 해 주세요.",type:"유형",videoTipLong:"커버를 클릭하여 비디오 링크를 편집하세요.",video:"비디오",videoTooltip:"드래그하여 순서 변경.",videoType:"지원되는 웹사이트",videoDialogTitle:"비디오 추가",videoDialogEditTitle:"편집/삭제 비디오",videoInputLabel:"YouTube 또는 Vimeo 동영상 링크를 입력하세요",videoDialogNoSrc:"유효한 비디오 링크를 입력하세요",duplicateVideo:"이 비디오가 추가되었습니다",confirm:"확인",cancel:"취소",preview:"미리보기",delete:"삭제",title:"{title}에 이미지 제공",description:"자세한 내용은",documentation:"문서"},blocklet:{startApplication:"애플리케이션 시작",startDescription:"{name}님, 시작할 준비가 되었습니다.",start:"시작",starting:"시작 중...",open:"열다",suspended:"앱이 일시 중지되었습니다",manageSubscription:"구독 관리",suspendedCausedByExpired:"이 애플리케이션은 구독 취소로 인해 종료되었으며, {canceledAt}에 취소되었습니다. {deadline} 이전에 구독을 재개할 수 있습니다.",suspendedCausedByPastDue:"이 애플리케이션은 구독 미납으로 인해 중지되었습니다. {deadline} 이전에 갱신을 완료하면 재개할 수 있으며, 기한이 지나면 갱신 및 재개가 불가능합니다.",willBeSuspendedSoon:"이 애플리케이션은 구독이 곧 취소될 예정이어서 {deadline}에 서비스가 중단됩니다. 계속 사용하려면 구독을 복구하세요.",suspendedCausedByTerminated:"구독이 취소되어 애플리케이션이 종료되었습니다. {canceledAt}에 취소되었으며 데이터는 {deadline}까지 보관됩니다. 데이터가 삭제되기 전에 DID Spaces에 데이터를 백업할 수 있습니다.",terminated:"애플리케이션이 종료되었습니다",gotoVisitError:"Blocklet URL 에 접근할 수 없습니다, 나중에 다시 시도해 주세요",payNow:"지금 결제",startLoadingText:"서비스가 시작 중이며 몇 분 정도 걸릴 수 있습니다. 잠시 기다려 주세요...",startingProgress:{starting:"시작 {name}...",success:"{name} 이(가) 성공적으로 시작되었습니다",failed:"{name} 시작 실패"}},setup:{steps:{connect:"연결하기",didSpace:"DID 공간",config:"구성",domain:"도메인",access:"접근 제어",fuel:"연료",complete:"완료",introduction:"소개",selectNodeDesc:"블록렛 서버를 선택하세요",launchAppDesc:"서버에 Blocklet을 설치하십시오",setupAppDesc:"Blocklet 설정",launched:"완료"},connect:{title:"애플리케이션에 연결하세요",scan:"다음 방법을 사용하여 사용자 프로필과 Blocklet 의 소유자 권한을 제공한 후 앱을 구성하고 실행할 수 있습니다.",confirm:"DID 지갑에서 확인해주세요",success:"성공적으로 연결되었습니다"},domain:{addTitle:"기존 도메인 바인딩 (선택 사항)",title:"도메인 선택",subTitle:"애플리케이션의 도메인을 사용자 지정",label:"유효한 도메인 이름을 입력해주세요",tipStart:"확인해주세요",tipEnd:"현재 서버를 가리킵니다",addingCert:"인증서 생성 중...",recordType:"레코드 유형",recordValue:"레코드 값",genCertSuccess:"{domain} 인증서가 성공적으로 발급되었습니다",genCertFailed:"{domain}에 대한 인증서 발급에 실패했습니다: {message}",genCertFailedForNFTDomain:"NFT 도메인이 성공적으로 추가되었지만 HTTPS 인증서 생성에 실패했습니다. 나중에 다시 시도해주세요.",buyDIDDomainTitle:"DID 도메인 구매 (선택사항)",buyDIDDomainTips:"DID 도메인을 구매한 후 도메인은 애플리케이션에 자동으로 바인딩됩니다.",buyOrConnect:"기존 도메인을 구매하거나 구성할 수 있습니다",skipDescription:"기본 도메인을 임시로 사용할 수 있습니다. 이러한 도메인은 프로덕션 환경에 적합하지 않으며 고객과 공유해서는 안 됩니다."},didSpace:{title:"DID 공간 구성하기",subTitle:"DID Spaces에 애플리케이션 데이터를 저장하려면 다음 연결 프로세스를 완료하세요",tips:"팁",description:"성공적인 연결 후에 DID Spaces 인스턴스 주소를 구성하고 애플리케이션 데이터를 DID Spaces에 저장하세요",label:"DID Spaces 서비스를 선택해주세요",connected:"DID Spaces에 성공적으로 연결되었습니다",connect:"지금 연결하기",reconnect:"다시 연결",addressCannotEmpty:"주소는 비워둘 수 없습니다",addressNotValid:"{url} 는 유효한 주소가 아닙니다",authorize:{title:"{appName}을(를) DID 공간에 연결하세요",scan:"다음 방법을 사용하여 앱 {appName}이 DID Spaces에 연결할 수 있도록 허용합니다",success:"성공적으로 연결됨"}},config:{title:"설정",subTitle:"기타 구성 항목 (다음 항목도 설정해야 함)"},complete:{title:"애플리케이션이 준비되었습니다",failedTitle:"애플리케이션 시작에 실패했습니다",backToServer:"블록렛 서버로 돌아가기",notRunning:"앱이 첫 시도에서 시작하지 못했습니다. 다시 시도해 주세요",readyToStart:"앱이 곧 준비됩니다"},fuel:{title:"시작에 필요한 연료",tipStart:"슬롯",tipEnd:"이 애플리케이션의 정상 작동을 위해 자금이 응용 프로그램 지갑에 저장되어 트랜잭션 수수료로 사용될 수 있어야합니다. 앱을 사용하지 않을 때 언제든지 잔액을 인출 할 수 있습니다.",addressTitle:"앱 계정",addressTip:"DID 지갑으로 애플리케이션에 연료를 공급하세요",need:"필요합니다",current:"현재",fuelApp:"앱에 연료 공급"},title:"설정",next:"다음",previous:"이전",continue:"계속",skip:"건너뛰기",startNow:"지금 시작",confirm:"확인",cancel:"취소"},user:{walletNotification:"DID 지갑 알림",emailNotification:"이메일 알림",smsNotification:"SMS 알림",addWebhook:"새로운 Webhook 추가하기"},pageTitle:{login:"로그인",dashboard:"블록렛 대시보드",userCenter:"사용자 센터",invite:"초대하다",issuePassport:"여권 발급",lostPassport:"잃어버린 여권"},errorPage:{404:{title:"이런! 페이지를 찾을 수 없습니다",description:"찾고 있는 페이지가 존재하지 않는 것 같습니다.",backHome:'방문자라면 <a href="{url}">홈페이지로 돌아갈 수 있습니다</a>',goToDashboard:"사이트 소유자라면 <a href={url}>대시보드에 로그인</a>할 수 있습니다."}},common:{branding:"브랜드",theming:"테마",navigation:"탐색",sitemap:"사이트맵",advanced:"고급",performance:"성능",docs:"문서",comingSoon:"곧 출시 예정",accessKeys:"액세스 키"},connectCli:{title:"연결하여 액세스 키 생성",scan:"다음 QR코드를 스캔하여 연결하고 액세스 키를 생성하세요",success:"액세스 키를 생성하기 위해 성공적으로 연결되었습니다",successDesc:"액세스 키가 성공적으로 생성되었습니다. 이 페이지는 안전하게 닫을 수 있습니다. 생성된 액세스 키를 사용하여 로컬 Blocklets을 업로드할 수 있습니다.",invalidSession:"세션이 무효합니다",invalidSessionDesc:"세션이 존재하지 않거나 만료되었습니다. 'blocklet deploy --endpoint {endpoint}' 명령어를 사용하여 액세스 키를 재생성하십시오",connectionError:"액세스 키 생성 실패",home:"홈으로 돌아가기",tips:{title:"액세스 키 생성",item1:"현재 애플리케이션에 Blocklets를 로컬로 배포할 수 있습니다",item2:"애플리케이션의 액세스 키 목록에 표시됩니다",item3:"언제든지 목록에서 액세스 키를 취소할 수 있습니다"}},notFoundOauthClient:"OAuth 앱을 찾을 수 없습니다. OAuth 설정을 확인한 후 다시 시도하십시오."};export{e as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-bIHubQ8z.js","assets/vendor-ux-did-connect-DIlRfE_S.js","assets/vendor-react-DEoibe3W.js","assets/vendor-utils-rHXShPKm.js","assets/vendor-mui-core-BV2FUxWJ.js","assets/vendor-hooks-BgUTpb6X.js","assets/lottie-web-jYmAQWuC.js","assets/vendor-ux-did-connect-DpSGLE7B.css","assets/vendor-arcblock-DuPySS9V.js","assets/index-Bs1kxR8_.js","assets/index-YbYWmpAT.js","assets/index-DOq-_YXu.css","assets/index-DVQCgvFb.js","assets/index-AgKpYdvC.css"])))=>i.map(i=>d[i]);
2
- import{r as b,b as ve}from"./vendor-react-DEoibe3W.js";import{a as F,d as H,j as K,a0 as M,_ as ye,$ as ne,Y as $,b6 as Ce,a9 as we,a2 as Te}from"./vendor-ux-did-connect-DIlRfE_S.js";import{H as n,j as e,D as G,aj as Q,I as X,t as Y,al as D,T as I,aa as p,O as T,bq as y,bK as ke,bQ as oe,bs as se,bR as ae,X as J,ak as ce,z as ue,y as E,ab as Z,ad as Se}from"./vendor-mui-core-BV2FUxWJ.js";import{B as de}from"./vendor-arcblock-DuPySS9V.js";import{d as Ie}from"./Edit-DSht16TX.js";import{_ as Re}from"./dot-itVN8XTt.js";import{l as pe}from"./index-BJHSgjnI.js";import{D as B,aA as he,aB as S,G as qe}from"./index-YbYWmpAT.js";import{u as _}from"./dashboard-AdC8-kkA.js";import{o as Ae,c as Oe,A as re}from"./vendor-utils-rHXShPKm.js";import{E as Pe}from"./empty-spinner-BdaCO6xq.js";import{C as v}from"./click-to-copy-ByEMWZD_.js";import{D as Ne}from"./delete-confirm-Bn1HZjaL.js";import{b as We}from"./passport-item-DE-9Q-Cx.js";import{A as De}from"./actions-azdiYocL.js";import{T as le}from"./table-tips-DEGQUNJa.js";import{u as ze}from"./use-mobile-C21X4TYN.js";import"./vendor-hooks-BgUTpb6X.js";import"./lottie-web-jYmAQWuC.js";import"./useAsync-510ntT1B.js";import"./useLocalStorage-DO6t2PeQ.js";import"./index-8eXqqyHQ.js";import"./confirm-DI8TUyRK.js";import"./PlayArrow-CLKgdv6H.js";import"./get-safe-url-DrR-6D-i.js";import"./session-Djj2U6sa.js";import"./use-blocklet-logo-C_pDvfYN.js";import"./InfoOutlined-Cd28U1Oc.js";import"./useSetState-CWq0AVWn.js";import"./use-mobile-BAa0wi8o.js";import"./index-Bj2-CpPI.js";import"./Phone-BkOMNOMO.js";import"./Location-DxPzfR_p.js";import"./Email-BirbvqZ3.js";import"./Timezone-D91Of94T.js";import"./did-address-BlAXR08O.js";import"./util-VM27PwRk.js";import"./base32-CLrnUJal.js";import"./MoreHoriz-D-L8sA4c.js";const Le={clientName:"",clientUri:"",redirectUris:"",scope:["profile:read"],contacts:"",tosUri:"",policyUri:""};function me({onCreated:r,onClose:d}){const[t,m]=b.useState(!1),{t:l,locale:s}=F(),{api:g}=B(),{teamDid:h}=_(),{control:f,handleSubmit:A,formState:{errors:a},watch:k,setValue:x}=he({defaultValues:Le,mode:"onChange"}),w=k("scope"),R=c=>{c!=="profile:read"&&x("scope",w.includes(c)?w.filter(u=>u!==c):[...w,c])},N=async c=>{m(!0);try{const u={...c,redirectUris:c.redirectUris,contacts:c.contacts?c.contacts.split(",").map(O=>O.trim()):[],scope:c.scope.join(" ")};await g.createOAuthClient({input:{teamDid:h,input:Ae(u,Oe)}}),r(u)}catch(u){M.error(u.message||"Failed to create OAuth App")}finally{m(!1)}};return e.jsxs(G,{open:!0,onClose:d,maxWidth:"md",fullWidth:!0,children:[e.jsxs(Q,{children:[l("oauth.client.register")," ",e.jsx(X,{onClick:d,sx:{position:"absolute",right:8,top:8},children:e.jsx(H,{})})]}),e.jsx(Y,{children:e.jsxs(D,{spacing:4,sx:{mt:2},children:[e.jsx(I,{variant:"h6",gutterBottom:!0,children:l("oauth.client.requiredInformation")}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:f,rules:{required:l("oauth.client.validate.clientName"),minLength:{value:3,message:l("oauth.client.validate.clientNameMinLength")}},render:({field:c})=>{var u;return e.jsxs(e.Fragment,{children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.name"),required:!0,fullWidth:!0,placeholder:l("oauth.client.input.clientNamePlaceholder"),error:!!a.clientName,helperText:(u=a.clientName)==null?void 0:u.message}),e.jsx(y,{children:l("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:f,rules:{required:l("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:l("oauth.client.validate.clientUriInvalid")}},render:({field:c})=>{var u;return e.jsxs(e.Fragment,{children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.input.clientUri"),required:!0,fullWidth:!0,placeholder:l("oauth.client.input.clientUriPlaceholder"),error:!!a.clientUri,helperText:(u=a.clientUri)==null?void 0:u.message}),e.jsx(y,{children:l("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:f,rules:{required:l("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:l("oauth.client.validate.redirectUrisInvalid")}},render:({field:c})=>{var u;return e.jsxs(e.Fragment,{children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,placeholder:l("oauth.client.input.redirectUrisPlaceholder"),error:!!a.redirectUris,helperText:(u=a.redirectUris)==null?void 0:u.message}),e.jsxs(p,{sx:{display:"flex",gap:"2px"},children:[e.jsx(y,{children:l("oauth.client.helperText.redirectUris")}),e.jsx(y,{children:l("oauth.client.helperText.read")}),e.jsx(y,{sx:{color:"info.main"},component:"a",href:`https://www.arcblock.io/docs/blocklet-developer/${s}/oauth-service`,target:"_blank",rel:"noopener noreferrer",children:l("oauth.client.helperText.document")}),e.jsx(y,{children:l("oauth.client.helperText.more")})]})]})}})}),e.jsxs(ke,{variant:"outlined",sx:{p:2,display:"none"},children:[e.jsx(I,{variant:"subtitle2",gutterBottom:!0,children:l("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(K.OAUTH_SCOPES).map(([c,u])=>e.jsx(se,{control:e.jsx(ae,{checked:w.includes(c),onChange:()=>R(c),disabled:c==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(I,{variant:"body2",sx:{fontWeight:500},children:u})})},c))})})]}),e.jsx(J,{}),e.jsx(I,{variant:"h6",gutterBottom:!0,children:l("oauth.client.optionalInformation")}),e.jsx(D,{children:e.jsx(S,{name:"contacts",control:f,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:l("oauth.client.validate.contacts")}},render:({field:c})=>{var u;return e.jsxs(e.Fragment,{children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.input.contacts"),fullWidth:!0,placeholder:l("oauth.client.input.contactsPlaceholder"),error:!!a.contacts,helperText:(u=a.contacts)==null?void 0:u.message}),e.jsx(y,{children:l("oauth.client.helperText.contacts")})]})}})}),e.jsxs(D,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:l("oauth.client.validate.tosUriInvalid")}},render:({field:c})=>{var u;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.input.tosUri"),fullWidth:!0,placeholder:l("oauth.client.input.tosUriPlaceholder"),error:!!a.tosUri,helperText:(u=a.tosUri)==null?void 0:u.message}),e.jsx(y,{children:l("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:l("oauth.client.validate.policyUriInvalid")}},render:({field:c})=>{var u;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(T,{size:"small",...c,label:l("oauth.client.input.policyUri"),fullWidth:!0,placeholder:l("oauth.client.input.policyUriPlaceholder"),error:!!a.policyUri,helperText:(u=a.policyUri)==null?void 0:u.message}),e.jsx(y,{children:l("oauth.client.helperText.policyUri")})]})}})]}),a.error&&e.jsx(ce,{severity:"error",children:a.error.message})]})}),e.jsxs(ue,{children:[e.jsx(E,{onClick:d,children:l("common.cancel")}),e.jsxs(E,{onClick:A(N),disabled:t,variant:"contained",color:"primary",children:[t?e.jsx(Z,{size:20,sx:{mr:1}}):null,l("oauth.client.registerButton")]})]})]})}me.propTypes={onCreated:n.func.isRequired,onClose:n.func.isRequired};function V({scope:r,...d}){if(!r)return null;const t=r.split(" ").filter(Boolean);return e.jsx(D,{direction:"row",flexWrap:"wrap",gap:1,...d,children:t.map(m=>e.jsx(ve.Fragment,{children:e.jsx(Se,{title:K.OAUTH_SCOPES[m],children:e.jsx(v,{children:m})})},m))})}V.propTypes={scope:n.string};V.defaultProps={scope:""};const ee=r=>{const{prefix:d}=B(),{blocklet:t}=qe(),m=re(d,"/api/media/upload",t.appPid),l=b.useCallback(g=>g?g.startsWith("http")?g:`${re(d,"/api/media/upload",t.appPid)}/${g}`:"",[d,t.appPid]);return{clientLogoUrl:b.useMemo(()=>l(r),[r,l]),apiPath:m,getClientLogoUrl:l}},Ee=b.lazy(()=>ye(()=>import("./index-bIHubQ8z.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(r=>({default:r.Uploader})));function xe({client:r,onUpdate:d,onClose:t}){const[m,l]=b.useState(!1),{t:s,locale:g}=F(),h=b.useRef(null),{api:f}=B(),{teamDid:A}=_(),{control:a,handleSubmit:k,formState:{errors:x},watch:w,setValue:R,getValues:N}=he({defaultValues:{clientName:r.clientName||"",clientUri:r.clientUri||"",redirectUris:Array.isArray(r.redirectUris)?r.redirectUris.join(","):"",scope:r.scope?r.scope.split(" "):["profile:read"],contacts:Array.isArray(r.contacts)?r.contacts.join(","):"",tosUri:r.tosUri||"",policyUri:r.policyUri||"",logoUri:r.logoUri||""},mode:"onChange"}),c=w("scope"),u=w("logoUri"),{clientLogoUrl:O,apiPath:W}=ee(u),q=o=>{o!=="profile:read"&&R("scope",c.includes(o)?c.filter(i=>i!==o):[...c,o])},z=async o=>{const i={clientId:r.clientId,clientName:o.clientName.trim(),clientUri:o.clientUri,redirectUris:o.redirectUris.split(",").map(C=>C.trim()).filter(Boolean),contacts:o.contacts?o.contacts.split(",").map(C=>C.trim()):[],scope:o.scope.join(" "),tosUri:o.tosUri,policyUri:o.policyUri,logoUri:o.logoUri};await f.updateOAuthClient({input:{teamDid:A,input:i}})},L=async o=>{l(!0);try{await z(o),d(),t()}catch(i){M.error(i.message||s("oauth.client.updateFailed"))}finally{l(!1)}};return e.jsxs(G,{open:!0,onClose:t,maxWidth:"md",fullWidth:!0,children:[e.jsxs(Q,{children:[s("oauth.client.update")," ",e.jsx(X,{onClick:t,sx:{position:"absolute",right:8,top:8},children:e.jsx(H,{})})]}),e.jsx(Y,{children:e.jsxs(D,{spacing:3,sx:{mt:2},children:[e.jsxs(p,{sx:{mb:3},children:[e.jsx(I,{variant:"subtitle1",sx:{fontWeight:500,mb:1},children:s("oauth.client.logo")}),e.jsxs(p,{children:[e.jsx(p,{sx:{width:120,height:120,position:"relative",borderRadius:"4px",overflow:"hidden"},children:O?e.jsx(p,{children:e.jsx("img",{src:O,alt:"client-logo",style:{width:"100%",height:"100%"}})}):e.jsx(p,{onClick:()=>{var o;(o=h.current)==null||o.open()},sx:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"grey.200"},children:e.jsx(de,{sx:{fontSize:40,color:"common.white"}})})}),e.jsx(E,{sx:{mt:2},variant:"outlined",size:"small",onClick:()=>{var o;(o=h.current)==null||o.open()},children:s(O?"common.change":"common.upload")})]}),e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:e.jsx(b.Suspense,{fallback:e.jsx(Pe,{}),children:e.jsx(Ee,{ref:h,locale:g,popup:!0,onUploadFinish:o=>{R("logoUri",o.data.filename),z(N()).then(()=>{d()}).catch(i=>{M.error(i.message||s("oauth.client.updateFailed"))}).finally(()=>{var i;(i=h.current)==null||i.close()})},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:W,disableMediaKitPrefix:!0,disableAutoPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/png","image/jpeg","image/webp","image/svg+xml"],maxFileSize:1024*1024*.5,maxNumberOfFiles:1}},dashboardProps:{autoOpen:"imageEditor"},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,aspectRatio:1,initialAspectRatio:1,autoCropArea:1,croppedCanvasOptions:{minWidth:256,minHeight:256}}}},"uploader-logo")})})]}),e.jsx(I,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.requiredInformation")}),e.jsx(T,{label:"Client Id",fullWidth:!0,value:r.clientId,disabled:!0}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:a,rules:{required:s("oauth.client.validate.clientName"),minLength:{value:3,message:s("oauth.client.validate.clientNameMinLength")}},render:({field:o})=>{var i;return e.jsxs(e.Fragment,{children:[e.jsx(T,{...o,label:s("oauth.client.name"),required:!0,fullWidth:!0,error:!!x.clientName,helperText:(i=x.clientName)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:a,rules:{required:s("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.clientUriInvalid")}},render:({field:o})=>{var i;return e.jsxs(e.Fragment,{children:[e.jsx(T,{...o,label:s("oauth.client.input.clientUri"),required:!0,fullWidth:!0,error:!!x.clientUri,helperText:(i=x.clientUri)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:a,rules:{required:s("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.redirectUrisInvalid")}},render:({field:o})=>{var i;return e.jsxs(e.Fragment,{children:[e.jsx(T,{...o,label:s("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,multiline:!0,rows:2,error:!!x.redirectUris,helperText:(i=x.redirectUris)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.redirectUris")})]})}})}),e.jsxs(p,{sx:{display:"none"},children:[e.jsx(I,{variant:"subtitle2",sx:{mb:1},children:s("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(K.OAUTH_SCOPES).map(([o,i])=>e.jsx(se,{control:e.jsx(ae,{checked:c.includes(o),onChange:()=>q(o),disabled:o==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(I,{variant:"body2",sx:{fontWeight:500},children:i})})},o))})})]}),e.jsx(J,{}),e.jsx(I,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.optionalInformation")}),e.jsx(p,{children:e.jsx(S,{name:"contacts",control:a,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:s("oauth.client.validate.contacts")}},render:({field:o})=>{var i;return e.jsxs(e.Fragment,{children:[e.jsx(T,{...o,label:s("oauth.client.input.contacts"),fullWidth:!0,error:!!x.contacts,helperText:(i=x.contacts)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.contacts")})]})}})}),e.jsxs(D,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.tosUriInvalid")}},render:({field:o})=>{var i;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(T,{...o,label:s("oauth.client.input.tosUri"),fullWidth:!0,error:!!x.tosUri,helperText:(i=x.tosUri)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.policyUriInvalid")}},render:({field:o})=>{var i;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(T,{...o,label:s("oauth.client.input.policyUri"),fullWidth:!0,error:!!x.policyUri,helperText:(i=x.policyUri)==null?void 0:i.message}),e.jsx(y,{children:s("oauth.client.helperText.policyUri")})]})}})]}),x.error&&e.jsx(ce,{severity:"error",children:x.error.message})]})}),e.jsxs(ue,{children:[e.jsx(E,{onClick:t,children:s("common.cancel")}),e.jsx(E,{onClick:k(L),disabled:m,variant:"contained",color:"primary",children:m?e.jsx(Z,{size:16}):s("common.update")})]})]})}xe.propTypes={client:n.shape({clientId:n.string.isRequired,clientName:n.string.isRequired,clientUri:n.string,redirectUris:n.arrayOf(n.string),scope:n.string,contacts:n.arrayOf(n.string),tosUri:n.string,policyUri:n.string,logoUri:n.string}).isRequired,onUpdate:n.func.isRequired,onClose:n.func.isRequired};function je({client:r,onUpdate:d,onClose:t}){return e.jsx(xe,{client:r,onUpdate:m=>d(m),onClose:t})}je.propTypes={client:n.shape({clientId:n.string.isRequired,clientName:n.string.isRequired,clientUri:n.string,redirectUris:n.arrayOf(n.string),scope:n.string,contacts:n.arrayOf(n.string),tosUri:n.string,policyUri:n.string,logoUri:n.string}).isRequired,onUpdate:n.func.isRequired,onClose:n.func.isRequired};function te(r){const{t:d}=F(),{api:t}=B(),{teamDid:m}=_(),{clientId:l,clientName:s,onDelete:g=()=>{},onClose:h=()=>{}}=r,f=()=>{h()},A=async()=>{try{await t.deleteOAuthClient({input:{teamDid:m,clientId:l}}),g()}catch(k){M.error(k==null?void 0:k.message)}finally{f()}},a={keyName:s,title:d("oauth.client.delete.title"),description:d("oauth.client.delete.description",{name:`<b>${s}</b>`}),confirmPlaceholder:d("oauth.client.delete.description",{name:s}),confirm:d("common.delConfirm"),cancel:d("common.cancel"),onConfirm:A,onCancel:f};return e.jsx(Ne,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})}te.propTypes={clientId:n.string.isRequired,clientName:n.string.isRequired,onDelete:n.func,onClose:n.func};te.defaultProps={onDelete:()=>{},onClose:()=>{}};function ge({title:r,items:d}){return e.jsxs(p,{mb:3,children:[e.jsx(I,{variant:"h6",sx:{mb:1.5},children:r}),e.jsx(D,{spacing:1.5,children:d.map(({label:t,value:m})=>e.jsxs(p,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(I,{variant:"subtitle2",color:"textSecondary",sx:{minWidth:200},children:t}),e.jsx(I,{sx:{wordBreak:"break-all"},children:m||"-"})]},t))})]})}ge.propTypes={title:n.string.isRequired,items:n.arrayOf(n.shape({label:n.string.isRequired,value:n.any})).isRequired};function fe({client:r,onClose:d}){const{t,locale:m}=F(),{teamDid:l}=_(),{clientName:s,clientId:g,clientSecret:h,redirectUris:f,scope:A,clientUri:a,logoUri:k,contacts:x,tosUri:w,policyUri:R,jwksUri:N,jwks:c,softwareId:u,softwareVersion:O,clientIdIssuedAt:W,clientSecretExpiresAt:q,updatedAt:z,createUser:L}=r,{clientLogoUrl:o}=ee(k),i=j=>{try{const P=new URL(window.blocklet.appUrl);return P.pathname=j,P.toString()}catch{return"-"}},C=pe.fromAppDid(g,l),U=[{title:t("common.baseInfo"),items:[{label:t("oauth.client.name"),value:s},{label:t("oauth.client.logoUri"),value:e.jsx(ne,{variant:"rounded",shape:"square",src:o,did:C.address,size:64})},{label:t("oauth.client.clientUri"),value:a?e.jsx(v,{children:a}):"-"},{label:t("oauth.client.clientId"),value:e.jsx(v,{children:g})},{label:t("oauth.client.clientSecret"),value:e.jsx(v,{children:h})},{label:t("oauth.client.redirectUris"),value:e.jsx(v,{children:(f||[]).join(", ")})},{label:t("oauth.client.scope"),value:e.jsx(V,{scope:A})},{label:t("oauth.client.createUser"),value:L?We(L,!0):t("oauth.client.openRegistration")}]},{title:t("oauth.client.oauthEndpoints"),items:[{label:t("oauth.client.openidConfiguration"),value:e.jsx(v,{children:i("/.well-known/openid-configuration")})},{label:t("oauth.client.authorizationEndpoint"),value:e.jsx(v,{children:i("/.well-known/service/oauth/authorize")})},{label:t("oauth.client.tokenEndpoint"),value:e.jsx(v,{children:i("/.well-known/service/oauth/token")})},{label:t("oauth.client.userinfoEndpoint"),value:e.jsx(v,{children:i("/.well-known/service/oauth/userinfo")})},{label:t("oauth.client.jwksUri"),value:e.jsx(v,{children:i("/.well-known/service/oauth/jwks")})},{label:t("oauth.client.registrationEndpoint"),value:e.jsx(v,{children:i("/.well-known/service/oauth/register")})},{label:t("oauth.client.endSessionEndpoint"),value:e.jsx(v,{children:i("/.well-known/service/oauth/logout")})}]},{title:t("oauth.client.metaContact"),items:[{label:t("oauth.client.contacts"),value:x.length?e.jsx(v,{children:(x||[]).join(", ")}):"-"},{label:t("oauth.client.tosUri"),value:w?e.jsx(v,{children:w}):"-"},{label:t("oauth.client.policyUri"),value:R?e.jsx(v,{children:R}):"-"},{label:t("oauth.client.jwksUri"),value:N},{label:t("oauth.client.jwks"),value:c},{label:t("oauth.client.softwareId"),value:u},{label:t("oauth.client.softwareVersion"),value:O}]},{title:t("common.timeInfo"),items:[{label:t("oauth.client.clientIdIssuedAt"),value:W?e.jsx($,{value:W*1e3,type:"all",locale:m}):"-"},{label:t("oauth.client.clientSecretExpiresAt"),value:q?e.jsx($,{value:q*1e3,type:"all",locale:m}):"-"},{label:t("common.updatedAt"),value:z?e.jsx($,{value:z,type:"all",locale:m}):"-"}]}].filter(Boolean);return e.jsxs(G,{open:!0,onClose:d,maxWidth:"lg",fullWidth:!0,children:[e.jsxs(Q,{children:[t("oauth.client.oauthAppDetails"),e.jsx(X,{onClick:d,sx:{position:"absolute",right:8,top:8},children:e.jsx(H,{})})]}),e.jsx(Y,{children:e.jsx(p,{mt:1,children:U.map((j,P)=>e.jsxs(p,{children:[e.jsx(ge,{title:j.title,items:j.items}),P!==U.length-1&&e.jsx(J,{sx:{my:2}})]},j.title))})})]})}fe.propTypes={client:n.object.isRequired,onClose:n.func.isRequired};function Fe(r){return e.jsx($,{value:r*1e3})}function ie({selected:r,onClose:d}){return r?e.jsx(fe,{client:r,onClose:d}):null}ie.propTypes={selected:n.object,onClose:n.func.isRequired};ie.defaultProps={selected:null};function Ue({open:r,onCreated:d,onClose:t}){return r?e.jsx(me,{onCreated:d,onClose:t}):null}Ue.propTypes={open:n.bool.isRequired,onCreated:n.func.isRequired,onClose:n.func.isRequired};function kt(){var o;const[r,d]=b.useState({searchText:"",pageSize:10,page:1}),[t,m]=b.useState(null),[l,s]=b.useState(!1),g=b.useRef(null),{t:h,locale:f}=F(),{api:A}=B(),{teamDid:a}=_(),[k,x]=b.useState(null),[w,R]=b.useState(null),N=ze(),{getClientLogoUrl:c}=ee(),u=Re(async()=>await A.getOAuthClients({input:{teamDid:a,paging:{page:r.page,pageSize:r.pageSize}}}),[r.page,r.pageSize]),{loading:O}=u,W=b.useMemo(()=>{var i;return((i=u.value)==null?void 0:i.list)||[]},[(o=u.value)==null?void 0:o.list]),q=b.useMemo(()=>r.searchText?W.filter(i=>i.clientName.toLowerCase().includes(r.searchText.toLowerCase())||i.clientId.toLowerCase().includes(r.searchText.toLowerCase())||i.scope.toLowerCase().includes(r.searchText.toLowerCase())):W,[r.searchText,W]),z=b.useMemo(()=>[{label:h("oauth.client.name"),name:"clientName",options:{customBodyRender:(i,{rowIndex:C})=>{const U=q[C],j=c(U.logoUri),P=pe.fromAppDid(U.clientId,a);return e.jsx(p,{sx:{display:"flex",alignItems:"center",gap:2},children:e.jsxs(p,{display:"flex",alignItems:"center",gap:2,sx:{cursor:"pointer"},onClick:be=>{be.stopPropagation(),window.open(U.clientUri,"_blank")},children:[e.jsx(ne,{variant:"rounded",shape:"square",did:P.address,src:j,size:48}),e.jsxs(D,{gap:.5,children:[e.jsx(p,{sx:{color:"text.primary"},children:U.clientName}),e.jsx(p,{sx:{color:"text.secondary"},children:U.clientUri})]})]})})}}},{label:h("oauth.client.clientId"),name:"clientId"},{label:h("oauth.client.scope"),name:"scope",options:{customBodyRender:i=>e.jsx(V,{scope:i})}},{label:h("common.createdAt"),name:"clientIdIssuedAt",options:{customBodyRender:Fe}},{label:h("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(i,{rowIndex:C})=>{const U=q[C];return e.jsx(De,{actions:[{icon:e.jsx(Ie,{}),text:h("common.edit"),onClick:j=>{j.stopPropagation(),x(U)}},{icon:e.jsx(Ce,{}),text:h("common.delete"),onClick:j=>{j.stopPropagation(),R(U)}}]})}}}],[q,h,c,a,x,R]),L=({page:i,rowsPerPage:C,searchText:U})=>{r.pageSize!==C?d(j=>({...j,searchText:"",pageSize:C,page:1})):r.page!==i+1?d(j=>({...j,searchText:"",page:i+1})):r.searchText!==U&&d(j=>({...j,searchText:U,page:1}))};return e.jsxs(p,{ref:g,sx:{".custom-toobar-btns":{gap:"8px"},".custom-toobar-title .custom-toobar-title-inner>span":{display:"flex",alignItems:"center","white-space":"inherit",height:"100%"}},children:[N?e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}):null,e.jsx(we,{data:q,columns:z,options:{sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,page:r.page-1,rowsPerPage:r.pageSize,count:q.length,searchDebounceTime:400,onRowClick(i,{dataIndex:C},U){var j;if((j=g.current)!=null&&j.contains(U.target)){const P=q[C];m(P)}}},onChange:L,title:N?null:e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}),customButtons:[e.jsxs(E,{variant:"contained",size:"small",onClick:()=>s(!0),children:[O?e.jsx(Z,{size:16}):e.jsx(de,{style:{fontSize:16}}),h("common.create")]},"add")],loading:!1,emptyNode:e.jsx(Te,{children:h("oauth.client.empty")})}),e.jsx(ie,{selected:t,onClose:()=>m(null)}),e.jsx(Ue,{open:l,onCreated:()=>{s(!1),u.retry()},onClose:()=>s(!1)}),k&&e.jsx(je,{client:k,onUpdate:u.retry,onClose:()=>x(null)}),w&&e.jsx(te,{...w,onDelete:u.retry,onClose:()=>R(null)})]})}export{kt as default};
@@ -1 +0,0 @@
1
- import{j as o}from"./vendor-mui-core-BV2FUxWJ.js";import"./vendor-react-DEoibe3W.js";import{S as t}from"./studio-DnKLD9XD.js";import"./vendor-ux-did-connect-DIlRfE_S.js";import"./vendor-utils-rHXShPKm.js";import"./vendor-hooks-BgUTpb6X.js";import"./lottie-web-jYmAQWuC.js";import"./vendor-arcblock-DuPySS9V.js";import"./TuneOutlined-BWqIZK2m.js";function d(){return o.jsx(t,{children:"Coming soon..."})}export{d as default};
@@ -1 +0,0 @@
1
- const e={auth:{noPermission:{title:"Sem permissão",description:"Você não é o administrador do blocklet"}},login:{reLogin:"Reconectar",description:"Você deve conectar sua Carteira DID para acessar {name}",already:"Você está conectado como",connectWallet:"Conectar a Carteira DID",closeWindow:"Fechar janela",accessLimit:{title:"Acesso à página restrito",description:"Esta página requer os seguintes passaportes para acessar, por favor conecte-se à carteira para alterar ou solicitar o passe correspondente.",alreadyHavePassport:"Já tenho o passaporte",connectWithPassport:"Conecte-se com este passaporte",buyPassport:"ComprePassaporte"},switchDid:{title:"Mudar Conta",scan:"Use os seguintes métodos para adicionar conta",confirm:"Confirmar a troca na sua Carteira DID",success:"Troca efetuada com sucesso"},switchSpecifiedDid:{title:"Alternar Conta",scan:"Você precisa trocar o DID para {did} para completar as seguintes ações",confirm:"Confirmar alteração em sua Carteira DID",success:"Troca realizada com sucesso"},connect:{title:"Conectar",scan:"Utilize os seguintes métodos para completar a conexão",confirm:"Confirme em sua carteira de DIDs",success:"Você está conectado com sucesso"},needManualClose:"Login efetuado com sucesso. Se esta janela não fechar automaticamente, feche-a.",connectWithPassport:"Conecte-se com este passaporte",invalidRedirectUrl:"URL de redireccionamento inválida",issueKyc:{pageDescription:"Complete a verificação para proteger sua conta e obter um NFT reutilizável, que pode ser confiável por outros sites (verificar uma vez e apresentar em qualquer lugar).",verifyButton:"Verificar",sendCodeButton:"Obter Código de Verificação",codeSentMessage:"Acabamos de enviar um código de verificação para {email}, o código será válido por 30 minutos, por favor, verifique sua caixa de entrada ou pasta de spam.",codeSentSuccess:"Código de verificação enviado com sucesso",claim:"Certificado de E-mail Verificado Reivindicado",scan:"Conecte sua Carteira DID para receber o certificado",confirm:"Confirmar na sua Carteira DID",success:"Parabéns! Você verificou com sucesso seu e-mail e reivindicou o certificado em sua Carteira DID.",backToHome:"Voltar para Casa",emailPlaceholder:"Seu endereço de e-mail",verifyTitle:"Verifique Seu Endereço de E-mail",issueTitle:"Reivindique a verificação por email NFT",verifyAction:"Verificando",issueAction:"Reivindicando",issueTarget:"Você está {action} para o seguinte DID, clique no avatar para adicionar outro DID"},updateKyc:{button:"Certificado de Presente",title:"Certificado de E-mail Verificado Presente",scan:"Conecte sua Carteira DID para apresentar o certificado",confirm:"Confirmar em sua carteira DID",success:"Parabéns! Seu NFT foi verificado e aceito."},invalidOpenerUrl:"URL de abertura inválido"},studio:{home:"Estúdio",preferences:"Criador de preferências",localization:"Localização",branding:"Imagens de Marca",ratio:"Rácio",size:"Tamanho",count:"Contagem",tip:"Dica",change:"Clique no logotipo para mudar.",order:"Pedido",orderTip:"arraste para alterar",orderTipLong:"Arraste para alterar, se você excluir alguma captura de tela no disco, por favor, atualize a página.",type:"Tipo",videoTipLong:"Clique na capa para editar o link do vídeo.",video:"Vídeo",videoTooltip:"Arraste para mudar a ordem",videoType:"Sites suportados",videoDialogTitle:"Adicionar Vídeo",videoDialogEditTitle:"Editar/Eliminar Vídeo",videoInputLabel:"Insira o link do vídeo do YouTube ou Vimeo",videoDialogNoSrc:"Insira um link de vídeo válido",duplicateVideo:"Este vídeo foi adicionado",confirm:"Confirmar",cancel:"Cancelar",preview:"Pré-visualizar",delete:"Excluir",title:"Fornecer imagens para {title}",description:"Para mais informações, consulte o",documentation:"Documentação"},blocklet:{startApplication:"Iniciar aplicação",startDescription:"Pronto para começar, {name}",start:"Iniciar",starting:"Iniciando...",open:"Abrir",suspended:"Aplicativo suspenso",manageSubscription:"Gerenciar Assinatura",suspendedCausedByExpired:"Este aplicativo foi encerrado devido ao cancelamento da assinatura, cancelado em {canceledAt}, a assinatura pode ser retomada antes de {deadline}.",suspendedCausedByPastDue:"Este aplicativo foi suspenso devido ao pagamento atrasado da assinatura, complete a renovação antes de {deadline} para retomá-lo, após o prazo não será possível renovar nem retomar.",willBeSuspendedSoon:"Este aplicativo interromperá o serviço em {deadline} porque a assinatura será cancelada em breve, recupere a assinatura em tempo hábil se desejar continuar usando.",suspendedCausedByTerminated:"O aplicativo foi encerrado devido ao cancelamento da assinatura, que foi cancelada em {canceledAt}, e os dados serão mantidos até {deadline}; antes que os dados sejam excluídos, você pode fazer backup dos dados no DID Spaces.",terminated:"Aplicativo encerrado",gotoVisitError:"Impossível acessar a URL do Blocklet, tente novamente mais tarde",payNow:"Pagar Agora",startLoadingText:"O serviço está iniciando e pode levar alguns minutos, por favor aguarde...",startingProgress:{starting:"Iniciando {name}...",success:"{name} iniciado com sucesso",failed:"{name} falhou ao iniciar"}},setup:{steps:{connect:"Conectar",didSpace:"DID Spaces",config:"Configuração",domain:"Domínio",access:"Controle de Acesso",fuel:"Combustível",complete:"Completo",introduction:"Introdução",selectNodeDesc:"Selecione o servidor Blocklet",launchAppDesc:"Instale o Blocklet no Servidor",setupAppDesc:"Configurar Bloquete",launched:"Completo"},connect:{title:"Conectar ao Aplicativo",scan:"Use os seguintes métodos para fornecer o perfil do usuário e os privilégios de proprietário do Blocklet, então você poderá configurar e iniciar o aplicativo.",confirm:"Confirme em sua Carteira DID",success:"Você foi conectado com sucesso"},domain:{addTitle:"Vincular um domínio existente (Opcional)",title:"Escolha o Domínio",subTitle:"Personalize seu domínio para o aplicativo",label:"Por favor, forneça um nome de domínio válido",tipStart:"Por favor, certifique-se",tipEnd:"tem ponto para o Servidor atual",addingCert:"Gerando certificado...",recordType:"Tipo de Registro",recordValue:"Valor do registro",genCertSuccess:"O certificado {domain} foi emitido com sucesso",genCertFailed:"Falha ao emitir certificado para {domain}: {message}",genCertFailedForNFTDomain:"Domínio NFT adicionado com sucesso, mas falha ao gerar o certificado HTTPS, por favor, tente novamente mais tarde",buyDIDDomainTitle:"Comprar um domínio DID (Opcional)",buyDIDDomainTips:"Após comprar um DID Domain, o domínio será automaticamente vinculado ao aplicativo.",buyOrConnect:"Você pode comprar ou configurar um domínio existente",skipDescription:"Você pode usar temporariamente os domínios padrão. Esses domínios não são adequados para uso em produção e não devem ser compartilhados com clientes."},didSpace:{title:"Configurar DID Spaces",subTitle:"Complete o processo de conexão a seguir para armazenar dados do aplicativo em DID Spaces",tips:"Dicas",description:"Configure o endereço da instância Espaços DID e armazene os dados do aplicativo nos Espaços DID após uma conexão bem-sucedida",label:"Por favor, selecione o serviço de DID Spaces",connected:"Você conectou-se com sucesso aos DID Spaces",connect:"Conectar Agora",reconnect:"Reconectar",addressCannotEmpty:"O endereço não pode estar vazio",addressNotValid:"{url} não é um endereço válido",authorize:{title:"Conecte {appName} ao DID Spaces",scan:"Use os seguintes métodos para permitir que o app {appName} se conecte ao DID Spaces",success:"Conexão estabelecida com sucesso"}},config:{title:"Configuração",subTitle:"Outros itens de configuração (você também precisará definir os seguintes itens)"},complete:{title:"Seu aplicativo está pronto",failedTitle:"Falha ao iniciar o aplicativo",backToServer:"Voltar ao servidor Blocklet",notRunning:"Aplicativo falhou ao iniciar na primeira tentativa, por favor, tente novamente",readyToStart:"Seu app estará pronto em breve"},fuel:{title:"Combustível necessário para iniciar",tipStart:"slot",tipEnd:"é necessário para que este aplicativo funcione corretamente, os fundos são salvos na carteira do aplicativo e podem ser usados para gastos de transação. Você pode sacar seu saldo a qualquer momento quando não estiver mais com o aplicativo em execução.",addressTitle:"Conta de Aplicativo",addressTip:"Alimente o aplicativo com a Carteira de DID",need:"Preciso",current:"Atual",fuelApp:"Abasteça o aplicativo"},title:"Configuração",next:"Próximo",previous:"Anterior",continue:"Continue",skip:"Pular",startNow:"Começar agora",confirm:"Confirmar",cancel:"Cancelar"},user:{walletNotification:"Notificação de carteira DID",emailNotification:"Notificação por email",smsNotification:"Notificação por SMS",addWebhook:"Adicionar Novo Webhook"},pageTitle:{login:"Login",dashboard:"Painel do Blocklet",userCenter:"Centro do Usuário",invite:"Convidar",issuePassport:"Emitir passaporte",lostPassport:"Passaporte perdido"},errorPage:{404:{title:"Ops! Página não encontrada",description:"Parece que a página que você procura não existe.",backHome:'Se você é um visitante, pode <a href="{url}">voltar para a página inicial</a>',goToDashboard:"Se você é o proprietário do site, você pode <a href={url}>fazer login no painel</a>."}},common:{branding:"Branding",theming:"Temas",navigation:"Navegação",sitemap:"Mapa do site",advanced:"Avançado",performance:"Desempenho",docs:"Docs",comingSoon:"Em breve",accessKeys:"Chaves de Acesso"},connectCli:{title:"Conectar para gerar chave de acesso",scan:"Scaneie o QR Code para conectar e gerar a chave de acesso",success:"Conectado com sucesso para gerar chave de acesso",successDesc:"Chave de acesso gerada com sucesso, esta página pode ser fechada com segurança. Agora você pode carregar Blocklets locais usando a chave de acesso gerada.",invalidSession:"Sessão inválida",invalidSessionDesc:"Sessão inexistente ou expirada. Use o comando 'blocklet deploy --endpoint {endpoint}' para regenerar a chave de acesso.",connectionError:"Falha ao gerar chave de acesso",home:"Voltar para a página inicial",tips:{title:"Gerar chave de acesso",item1:"Suporta implantação local de Blocklets no aplicativo atual",item2:"Será exibido na lista de Chaves de Acesso do aplicativo",item3:"Pode revogar a Chave de Acesso na lista a qualquer momento"}},notFoundOauthClient:"Aplicativo OAuth não encontrado, verifique sua configuração OAuth e tente novamente."};export{e as default};
@@ -1 +0,0 @@
1
- const e={auth:{noPermission:{title:"Нет разрешения",description:"Вы не являетесь администратором блоклета"}},login:{reLogin:"Переподключение",description:"Вы должны подключить свой кошелек DID, чтобы получить доступ к {name}",already:"Вы подключены как",connectWallet:"Подключите кошелек DID",closeWindow:"Закрыть окно",accessLimit:{title:"Доступ к странице ограничен",description:"Для доступа к этой странице требуются следующие паспорта, пожалуйста, подключитесь к кошельку, чтобы изменить или подать заявку на соответствующий проходной документ.",alreadyHavePassport:"У меня уже есть паспорт",connectWithPassport:"Подключиться с помощью этого паспорта",buyPassport:"Купить паспорт"},switchDid:{title:"Сменить аккаунт",scan:"Используйте следующие способы для смены учетной записи",confirm:"Подтвердите переключение в вашем кошельке DID",success:"Успешно переключено"},switchSpecifiedDid:{title:"Сменить аккаунт",scan:"Вам нужно переключиться на DID {did}, чтобы выполнить следующие действия.",confirm:"Подтвердите переключение в вашем кошельке DID",success:"Успешно переключено"},connect:{title:"Подключиться",scan:"Пожалуйста, используйте следующие методы для завершения подключения",confirm:"Подтвердите в своем кошельке DID",success:"Вы успешно подключены"},needManualClose:"Вход выполнен успешно. Если это окно не закрывается автоматически, пожалуйста, закройте его.",connectWithPassport:"Подключитесь к этому паспорту",invalidRedirectUrl:"Неверный URL-адрес перенаправления",issueKyc:{pageDescription:"Завершите проверку, чтобы защитить свою учетную запись и получить многоразовый NFT, который стоит доверять другим сайтам (проверьте один раз и представьте везде).",verifyButton:"Проверить",sendCodeButton:"Получить код подтверждения",codeSentMessage:"Мы только что отправили код подтверждения на {email}, код будет действителен в течение 30 минут, пожалуйста, проверьте вашу папку входящих или спам.",codeSentSuccess:"Код подтверждения успешно отправлен",claim:"Сертификат подтверждения электронной почты",scan:"Подключите свой кошелек DID, чтобы получить сертификат",confirm:"Подтвердите в своем кошельке DID",success:"Поздравляем! Вы успешно подтвердили свой адрес электронной почты и запросили сертификат в своем кошельке DID.",backToHome:"Вернуться на главную",emailPlaceholder:"Ваш адрес электронной почты",verifyTitle:"Подтвердите свой адрес электронной почты",issueTitle:"Претензия Проверка по электронной почте NFT",verifyAction:"Проверка",issueAction:"претензия",issueTarget:"Вы {action} для следующего DID, нажмите на аватар, чтобы добавить еще один DID"},updateKyc:{button:"Представить сертификат",title:"Представьте подтвержденный электронный сертификат",scan:"Подключите свой кошелек DID, чтобы предъявить сертификат",confirm:"Подтвердите на своем кошельке DID",success:"Поздравляю! Ваш NFT проверен и принят."},invalidOpenerUrl:"Неверный URL-адрес открытия"},studio:{home:"Студия",preferences:"Создатель предпочтений",localization:"Локализация",branding:"Брендовые изображения",ratio:"Соотношение",size:"Размер",count:"Считать",tip:"Совет",change:"Нажмите на логотип, чтобы изменить.",order:"Заказ",orderTip:"Перетащите, чтобы изменить",orderTipLong:"Перетащите для изменения. Если вы удалите какие-либо скриншоты на диске, пожалуйста, обновите страницу.",type:"Тип",videoTipLong:"Нажмите на обложку, чтобы изменить ссылку на видео.",video:"Видео",videoTooltip:"Перетащите, чтобы изменить порядок.",videoType:"Поддерживаемые веб-сайты",videoDialogTitle:"Добавить видео",videoDialogEditTitle:"Редактировать/Удалить видео",videoInputLabel:"Введите ссылку на видео YouTube или Vimeo",videoDialogNoSrc:"Пожалуйста, введите действительную ссылку на видео",duplicateVideo:"Это видео добавлено",confirm:"Подтвердить",cancel:"Отмена",preview:"Предварительный просмотр",delete:"Удалить",title:"Предоставить изображения для {title}",description:"Для получения дополнительной информации, пожалуйста, обратитесь к",documentation:"Документация"},blocklet:{startApplication:"Запустить приложение",startDescription:"Готов начать {name}",start:"Начать",starting:"Начинаю...",open:"Открыть",suspended:"Приложение приостановлено",manageSubscription:"Управление подпиской",suspendedCausedByExpired:"Это приложение прекращено из-за отмены подписки, отменено {canceledAt}, подписку можно возобновить до {deadline}.",suspendedCausedByPastDue:"Это приложение приостановлено из-за просроченной оплаты подписки, выполните продление до {deadline} для возобновления, после истечения срока оплата и возобновление станут невозможны.",willBeSuspendedSoon:"Это приложение прекратит работу {deadline} из-за предстоящей отмены подписки, восстановите подписку своевременно, если хотите продолжить использование.",suspendedCausedByTerminated:"Приложение было завершено из-за отмены подписки, которая была отменена в {canceledAt}, и данные будут храниться до {deadline}; перед тем, как данные будут удалены, вы можете сделать резервную копию данных в DID Spaces.",terminated:"Приложение завершено",gotoVisitError:"Не удается получить доступ к URL blocklet, пожалуйста, попробуйте снова позже.",payNow:"Платить сейчас",startLoadingText:"Запуск сервиса может занять несколько минут, пожалуйста, подождите...",startingProgress:{starting:"Запуск {name}...",success:"{name} успешно запущен",failed:"{name} не удалось запустить"}},setup:{steps:{connect:"Подключиться",didSpace:"Пространство DID",config:"Конфигурация",domain:"Домен",access:"Контроль доступа",fuel:"Топливо",complete:"Полный",introduction:"Введение",selectNodeDesc:"Выберите сервер Blocklet",launchAppDesc:"Установите блоклет на сервер",setupAppDesc:"Настройка блоклета",launched:"Завершить"},connect:{title:"Подключиться к приложению",scan:"Используйте следующие методы для предоставления профиля пользователя и прав владельца Blocklet, после чего вы сможете настроить и запустить приложение.",confirm:"Подтвердите в своем кошельке DID",success:"Вы успешно подключены"},domain:{addTitle:"Привязать существующий домен (необязательно)",title:"Выберите домен",subTitle:"Настройте свой домен для приложения",label:"Пожалуйста, укажите действительное имя домена",tipStart:"Пожалуйста, убедитесь",tipEnd:"Имеет указатель на текущий сервер",addingCert:"Генерация сертификата...",recordType:"Тип записи",recordValue:"Значение записи",genCertSuccess:"{domain} сертификат успешно выдан",genCertFailed:"Не удалось выдать сертификат для {domain}: {message}",genCertFailedForNFTDomain:"Домен NFT успешно добавлен, но не удалось сгенерировать HTTPS-сертификат. Пожалуйста, попробуйте позже.",buyDIDDomainTitle:"Купить DID домен (Необязательно)",buyDIDDomainTips:"После покупки DID-домена, домен будет автоматически привязан к приложению.",buyOrConnect:"Вы можете приобрести или настроить существующий домен",skipDescription:"Вы можете временно использовать домены по умолчанию. Эти домены не подходят для использования в продакшене и не должны предоставляться клиентам."},didSpace:{title:"Настройте пространства DID",subTitle:"Пожалуйста, выполните следующий процесс подключения, чтобы сохранить данные приложения в пространствах DID.",tips:"Советы",description:"Настройте адрес экземпляра пространства DID и сохраните данные приложения в пространстве DID после успешного подключения",label:"Пожалуйста, выберите сервис DID Spaces",connected:"Вы успешно подключились к пространствам DID",connect:"Подключиться сейчас",reconnect:"Переподключить",addressCannotEmpty:"Адрес не может быть пустым",addressNotValid:"{url} не является корректным адресом.",authorize:{title:"Подключите {appName} к пространству Децентрализованных идентификаторов (DID)",scan:"Используйте следующие методы, чтобы разрешить приложению {appName} подключиться к DID Spaces",success:"Успешно подключено"}},config:{title:"Конфигурация",subTitle:"Другие элементы конфигурации (вам также потребуется настроить следующие элементы)"},complete:{title:"Ваше приложение готово",failedTitle:"Не удалось запустить приложение",backToServer:"Вернуться на сервер Blocklet",notRunning:"Приложению не удалось запуститься с первой попытки, попробуйте снова",readyToStart:"Ваше приложение скоро будет готово"},fuel:{title:"Требуется топливо для запуска",tipStart:"слот",tipEnd:"Для правильной работы этого приложения требуется баланс, средства хранятся в кошельке приложения и могут использоваться в качестве комиссии за транзакции. Вы можете вывести свой баланс в любое время, когда приложение больше не запущено.",addressTitle:"Учетная запись приложения",addressTip:"Заполните приложение кошельком DID",need:"Нужда",current:"Текущий",fuelApp:"Заполнить приложение топливом"},title:"Настройка",next:"Следующий",previous:"Предыдущий",continue:"Продолжить",skip:"Пропустить",startNow:"Начать сейчас",confirm:"Подтвердить",cancel:"Отменить"},user:{walletNotification:"Уведомление кошелька DID",emailNotification:"Уведомление по электронной почте",smsNotification:"SMS уведомление",addWebhook:"Добавить новый вебхук"},pageTitle:{login:"Вход",dashboard:"Панель инструментов Blocklet",userCenter:"Пользовательский центр",invite:"Пригласить",issuePassport:"Выдать паспорт",lostPassport:"Потерянный паспорт"},errorPage:{404:{title:"Упс! Страница не найдена",description:"Кажется, страница, которую вы ищете, не существует.",backHome:'Если вы посетитель, вы можете <a href="{url}">вернуться на главную страницу</a>',goToDashboard:"Если вы владелец сайта, вы можете <a href={url}>войти в панель управления</a>."}},common:{branding:"Брендинг",theming:"Тема",navigation:"Навигация",sitemap:"Карта сайта",advanced:"Расширенный",performance:"Производительность",docs:"Документы",comingSoon:"Скоро",accessKeys:"Ключи доступа"},connectCli:{title:"Подключиться для генерации ключа доступа",scan:"Отсканируйте следующий QR-код, чтобы сгенерировать ключ доступа",success:"Успешно подключено для генерации ключа доступа",successDesc:"Ключ доступа успешно сгенерирован, эту страницу можно безопасно закрыть. Теперь вы можете загрузить локальные Blocklets, используя сгенерированный ключ доступа.",invalidSession:"Неверный сеанс",invalidSessionDesc:"Сессия не существует или истекла. Используйте команду 'blocklet deploy --endpoint {endpoint}', чтобы сгенерировать ключ доступа заново.",connectionError:"Не удалось сгенерировать ключ доступа",home:"Назад на главную",tips:{title:"Сгенерировать ключ доступа",item1:"Поддерживает локальное развертывание Blocklets в текущем приложении",item2:"Будет отображаться в списке ключей доступа приложения",item3:"Вы можете отозвать ключ доступа в списке в любое время"}},notFoundOauthClient:"Приложение OAuth не найдено, пожалуйста, проверьте конфигурацию OAuth и попробуйте ещё раз."};export{e as default};
@@ -1 +0,0 @@
1
- import{aZ as o}from"./vendor-ux-did-connect-DIlRfE_S.js";const e=o();export{e as b};