@abtnode/blocklet-services 1.17.4-beta-20251202-122551-267b614d → 1.17.4-beta-20251203-225234-75da41dd

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 (139) hide show
  1. package/dist/assets/{access-control-B9EJ5tQF.js → access-control-D1ovo6-o.js} +1 -1
  2. package/dist/assets/{add-component-core-VVqL08Uq.js → add-component-core-BIhDwpuV.js} +1 -1
  3. package/dist/assets/{add-resource-DPXu2LFD.js → add-resource-C4TkG7UD.js} +1 -1
  4. package/dist/assets/{addon-DimuRKXu.js → addon-DAMRKj2r.js} +1 -1
  5. package/dist/assets/{advanced-C-M8n1zk.js → advanced-BPAoOjLm.js} +1 -1
  6. package/dist/assets/{aigne-Blnb_Xmg.js → aigne-B6ByRL09.js} +1 -1
  7. package/dist/assets/{appearance-DcbXeaDh.js → appearance-EkIyryBQ.js} +1 -1
  8. package/dist/assets/{ar-DW15ct8A.js → ar-oq8oqbkp.js} +1 -1
  9. package/dist/assets/{arrow-down.svg-CNh-MHKv.js → arrow-down.svg-Cn1jfZom.js} +1 -1
  10. package/dist/assets/{audit-logs-D0mYj6Ut.js → audit-logs-C9C7P-Sv.js} +1 -1
  11. package/dist/assets/{authorize-CZdmLVec.js → authorize-DrmC8YuR.js} +1 -1
  12. package/dist/assets/{bind-account-GnACtKqD.js → bind-account-BBEcbwvl.js} +1 -1
  13. package/dist/assets/{branding-CFP8OuF1.js → branding-BznRcuN9.js} +1 -1
  14. package/dist/assets/{branding-DmNLEN0a.js → branding-ChfGbwwx.js} +1 -1
  15. package/dist/assets/{branding-CihykCDo.js → branding-GuXEK2Lx.js} +1 -1
  16. package/dist/assets/{bundle-avatar-D3mFZG-3.js → bundle-avatar-DGFHJNB_.js} +1 -1
  17. package/dist/assets/{complete-BDYaBiHT.js → complete-DGRt8hbz.js} +1 -1
  18. package/dist/assets/{component-D_iXTtDp.js → component-7HXhlkqA.js} +2 -2
  19. package/dist/assets/{config--X9TgCMx.js → config-De0LSoek.js} +1 -1
  20. package/dist/assets/{config-C_UzRk_x.js → config-hYngbDX9.js} +1 -1
  21. package/dist/assets/{config-xLf7B5vm.js → config-jsIGlbhn.js} +1 -1
  22. package/dist/assets/{config-navigation-zOEBEK_N.js → config-navigation-Dnu_lIYd.js} +2 -2
  23. package/dist/assets/{config-space-D1vOxWrR.js → config-space-Cjm8zHqm.js} +1 -1
  24. package/dist/assets/{confirm-CC1M9sYT.js → confirm-g44rz8hw.js} +1 -1
  25. package/dist/assets/{connect-4mXUuWwC.js → connect-CdDqD7_5.js} +1 -1
  26. package/dist/assets/{connect-BpoYmTzp.js → connect-DiOZmi5p.js} +1 -1
  27. package/dist/assets/{connect-to-YDMOcSyq.js → connect-to-Bi5k3ZXU.js} +1 -1
  28. package/dist/assets/dashboard-Bcb81CDA.js +106 -0
  29. package/dist/assets/{de-DomrlJGv.js → de-CvWwatyh.js} +1 -1
  30. package/dist/assets/{delete-confirm-DF03c_mf.js → delete-confirm-Cw0wPOzJ.js} +1 -1
  31. package/dist/assets/{domain-DdkBc4bt.js → domain-BpCcezRq.js} +1 -1
  32. package/dist/assets/{domain-action-card-B8tM4_TO.js → domain-action-card-FG12ETj5.js} +1 -1
  33. package/dist/assets/{domains-CdpvlDLA.js → domains-Cgl-LcPh.js} +1 -1
  34. package/dist/assets/{email-DOKW1a_7.js → email-DmAbJJ8K.js} +1 -1
  35. package/dist/assets/engine-BXpJ8aB3.js +1 -0
  36. package/dist/assets/{es-BWRncAvl.js → es-DS01ke5n.js} +1 -1
  37. package/dist/assets/{exchange-passport-Dnbu3e66.js → exchange-passport-C3TLdHrh.js} +1 -1
  38. package/dist/assets/{form-mmswDYpL.js → form-BGvxztTN.js} +1 -1
  39. package/dist/assets/{fr-DkEISw5U.js → fr-DzxE_CQq.js} +1 -1
  40. package/dist/assets/{fuel-CpCUHgkW.js → fuel-BHnBcNst.js} +1 -1
  41. package/dist/assets/{gen-access-key-OHc0npoi.js → gen-access-key-DMekoh9G.js} +1 -1
  42. package/dist/assets/{gen-simple-access-key-C6tIufX7.js → gen-simple-access-key-CKo8-San.js} +1 -1
  43. package/dist/assets/{get-safe-url-DUB5fSqh.js → get-safe-url-DHtEly1m.js} +1 -1
  44. package/dist/assets/{hi-CNLsAFCp.js → hi-BNIc0EGT.js} +1 -1
  45. package/dist/assets/{home-BFI-HNBw.js → home-Disgh1zw.js} +1 -1
  46. package/dist/assets/{id-CiNosIvh.js → id-AeuJFLj9.js} +1 -1
  47. package/dist/assets/{iframe-DB0OcQ6i.js → iframe-DWt09ONv.js} +1 -1
  48. package/dist/assets/{index-BuIBrsUM.js → index--6oAMl0L.js} +1 -1
  49. package/dist/assets/{index-wS_uPsSR.js → index-B87ktLq-.js} +1 -1
  50. package/dist/assets/{index-D8w8SYuc.js → index-BC_wNmTA.js} +1 -1
  51. package/dist/assets/{index-3hHmW6B5.js → index-BnfJXuxc.js} +1 -1
  52. package/dist/assets/{index-Bksy_mMO.js → index-CG-mH6e1.js} +1 -1
  53. package/dist/assets/{index-DUFdTykg.js → index-CJ1a35hD.js} +1 -1
  54. package/dist/assets/{index-BphmxdkH.js → index-CPDkpfNV.js} +1 -1
  55. package/dist/assets/{index-BsP0-mXD.js → index-CSfyeeXh.js} +1 -1
  56. package/dist/assets/{index-CHbWK92_.js → index-CYxU-iOV.js} +1 -1
  57. package/dist/assets/{index-DWuLUiY3.js → index-C_W4n3wb.js} +1 -1
  58. package/dist/assets/{index-WCk612vr.js → index-Cbz9zwoD.js} +1 -1
  59. package/dist/assets/{index-Xg-It3qI.js → index-Cke5eCl6.js} +1 -1
  60. package/dist/assets/{index-D0pDhWRx.js → index-CwAM1jrM.js} +1 -1
  61. package/dist/assets/{index-CeWTwSLE.js → index-Cx5JU0Ln.js} +4 -4
  62. package/dist/assets/{index-V1TR40-z.js → index-D5tCTUjA.js} +1 -1
  63. package/dist/assets/{index-Duwa2sz8.js → index-DLvroCDC.js} +1 -1
  64. package/dist/assets/{index-CtouYMiN.js → index-Dgb4cDcB.js} +1 -1
  65. package/dist/assets/index-Duu9lR4r.js +281 -0
  66. package/dist/assets/{index-Bns8G6yV.js → index-DxQFjZlw.js} +2 -2
  67. package/dist/assets/{index-CDE0c6ul.js → index-DxaRhCwJ.js} +1 -1
  68. package/dist/assets/{index-CEyMJtzZ.js → index-EH5vv2Ba.js} +3 -3
  69. package/dist/assets/{index-BMkJtBkv.js → index-Hh69Xj8u.js} +1 -1
  70. package/dist/assets/{index-Bj8J6jnM.js → index-bb9HF7R1.js} +1 -1
  71. package/dist/assets/{index-Bw9XS3Zt.js → index-fJzIwqxQ.js} +2 -2
  72. package/dist/assets/{index-C3BK6ln_.js → index-gy2ZIEt_.js} +1 -1
  73. package/dist/assets/{index-ohq48KFN.js → index-k8gDRcJR.js} +1 -1
  74. package/dist/assets/{invitation-BqyhoSaQ.js → invitation-C9uUexLK.js} +1 -1
  75. package/dist/assets/{invitations-Dmx5LkD1.js → invitations-sELORD_h.js} +1 -1
  76. package/dist/assets/{invite-E-ZdmNWy.js → invite-CXR3ZLRS.js} +1 -1
  77. package/dist/assets/{isURL-HS60va5G.js → isURL-CohjRVvR.js} +1 -1
  78. package/dist/assets/{issue-passport-DhA2Aw2n.js → issue-passport-q8H-mSA2.js} +1 -1
  79. package/dist/assets/{item-B8ah25gH.js → item-BIqA21iq.js} +1 -1
  80. package/dist/assets/{ja-D5EfJGvg.js → ja-DVjbOvSw.js} +1 -1
  81. package/dist/assets/{ko-DIYdQvvz.js → ko-ThcaJAOD.js} +1 -1
  82. package/dist/assets/{landing-page-DQBBERn_.js → landing-page-DgPDUi6Y.js} +1 -1
  83. package/dist/assets/{layout-DUsIwJhf.js → layout-Cr6KApqq.js} +1 -1
  84. package/dist/assets/{list-CLMUEykk.js → list-DZKko9y8.js} +1 -1
  85. package/dist/assets/{list-C6OYD0M-.js → list-DaqruRvJ.js} +1 -1
  86. package/dist/assets/{localization-CutEJG9u.js → localization-B72YTR3I.js} +1 -1
  87. package/dist/assets/{log-CaIfb_mj.js → log-DwPeERno.js} +1 -1
  88. package/dist/assets/{login-N9lwWO_e.js → login-Fd_qnrRk.js} +1 -1
  89. package/dist/assets/{login-oauth-callback-U2rdasmV.js → login-oauth-callback-BWKfq40w.js} +1 -1
  90. package/dist/assets/{logo-uploader-BgXq5jHQ.js → logo-uploader-_reea4L6.js} +1 -1
  91. package/dist/assets/{lost-passport-CPwExoAp.js → lost-passport-DmkXn2Nz.js} +1 -1
  92. package/dist/assets/{open-window-BPgl9r9H.js → open-window-DCReXykr.js} +1 -1
  93. package/dist/assets/{over-due-invoice-payment-Hi-FNl9O.js → over-due-invoice-payment-Bsp5V3AP.js} +1 -1
  94. package/dist/assets/{overview-DPJo9CyG.js → overview-CXMCgIAo.js} +1 -1
  95. package/dist/assets/{passport-DMZiwbhL.js → passport-Dsw-sETA.js} +1 -1
  96. package/dist/assets/{passport-item-yqBy6NcY.js → passport-item-CEM3FQ2i.js} +1 -1
  97. package/dist/assets/{permission-CiiVpApl.js → permission-G7gi0qR2.js} +1 -1
  98. package/dist/assets/{preferences-YgFBqLbX.js → preferences-DalbRqbk.js} +1 -1
  99. package/dist/assets/{profile-embed-C35dSucs.js → profile-embed-CQgwIw3w.js} +1 -1
  100. package/dist/assets/{pt-aIOBgpHE.js → pt-DKZZkfsB.js} +1 -1
  101. package/dist/assets/{publish-resource-DUDgKqzf.js → publish-resource-BqB_XJ-d.js} +1 -1
  102. package/dist/assets/{ru-Bt8-v101.js → ru-DuAqnhp6.js} +1 -1
  103. package/dist/assets/{runtime-B_yu4wL5.js → runtime-k8xPJwHr.js} +1 -1
  104. package/dist/assets/sdk-BLKW-lxg.js +1 -0
  105. package/dist/assets/{security-YhrYNktK.js → security-CnSkbe_3.js} +1 -1
  106. package/dist/assets/{session-CJQ7HeL8.js → session-CAOgTWka.js} +1 -1
  107. package/dist/assets/{setup-DVxC6L1D.js → setup-B6xOe2m-.js} +1 -1
  108. package/dist/assets/{simple-select-BW6-FLlf.js → simple-select-Cg51s1gv.js} +1 -1
  109. package/dist/assets/{spaces-DB-xtAK9.js → spaces-3bFBxoYi.js} +1 -1
  110. package/dist/assets/{start-CnOduVio.js → start-CkQJJ_tn.js} +1 -1
  111. package/dist/assets/{starting-progress-Qp2T3eDZ.js → starting-progress-C1yUqqL2.js} +1 -1
  112. package/dist/assets/{status-B2iiuI6t.js → status-6KTOVV9E.js} +1 -1
  113. package/dist/assets/{step-actions-D7ku0W0o.js → step-actions-DHdqImlg.js} +1 -1
  114. package/dist/assets/{studio-DtnYEBjZ.js → studio-B65PiAI_.js} +1 -1
  115. package/dist/assets/{team-CKeHAIQC.js → team-CG74iq-4.js} +1 -1
  116. package/dist/assets/{th-QYkziTlm.js → th-d9fJJu30.js} +1 -1
  117. package/dist/assets/{traffic-NcU-KhYi.js → traffic-Cyi-eL2B.js} +1 -1
  118. package/dist/assets/{transfer-CB2s8PFZ.js → transfer-BNHZEvsT.js} +1 -1
  119. package/dist/assets/{unsubscribe-a8AJuSFd.js → unsubscribe-DmlsM6iA.js} +1 -1
  120. package/dist/assets/{use-app-logo-D38VoM1R.js → use-app-logo-BAJtA-EN.js} +1 -1
  121. package/dist/assets/{user-center-BNMJJTvG.js → user-center-CNFpJssw.js} +2 -2
  122. package/dist/assets/{user-follower-BXm4RUI2.js → user-follower-BsFDOo99.js} +1 -1
  123. package/dist/assets/{util-DPC-rfKa.js → util-B41ySVcQ.js} +1 -1
  124. package/dist/assets/{util-MwdZAHoO.js → util-DkhTntVV.js} +1 -1
  125. package/dist/assets/{vi-BIkODa3n.js → vi-C8B_KLxV.js} +1 -1
  126. package/dist/assets/{wait-connect-Of13xq9u.js → wait-connect-48vXA6Ey.js} +1 -1
  127. package/dist/assets/{wizard-BXTkkerl.js → wizard-BwJoQAJL.js} +1 -1
  128. package/dist/assets/{wizard-components-BZ6jYzgt.js → wizard-components-C4msLQny.js} +1 -1
  129. package/dist/assets/{wrap-locale-CPp4ppiN.js → wrap-locale-D5uKJYzr.js} +1 -1
  130. package/dist/assets/{zh-8l1HXCDx.js → zh-BNKpRkuo.js} +1 -1
  131. package/dist/assets/{zh-CPf0Aw2x.js → zh-qzgEmNi8.js} +1 -1
  132. package/dist/assets/{zh-tw-CYPf8U5U.js → zh-tw-Bu0-uVuH.js} +1 -1
  133. package/dist/index.html +1 -1
  134. package/dist/service-worker.js +1 -1
  135. package/package.json +23 -23
  136. package/dist/assets/dashboard-DeaTlS85.js +0 -106
  137. package/dist/assets/engine-BsqbrwXE.js +0 -1
  138. package/dist/assets/index-CDFYQ7q2.js +0 -281
  139. package/dist/assets/sdk-D9qYMy_G.js +0 -1
@@ -1,4 +1,4 @@
1
- import{j as e,at as $,W as b,J as A,ak as r,b4 as F,b0 as U,T as N,bP as z,bQ as X,bR as H,a$ as B,av as J,bF as V,bS as G,bT as Q}from"./vendor-mui-core-BPQ6AEW_.js";import{p as O,d as q,n as I,_ as K,s as Y,V as Z}from"./vendor-ux-D507n6h6.js";import{r as m}from"./vendor-react-CUXIiAnY.js";import{g as ee,n as te}from"./vendor-hooks-fhL5FJET.js";import{v as D,J as L,H as se,S as oe,s as ne,b as ae,av as re}from"./index-CeWTwSLE.js";import{T as ie}from"./vendor-utils-BSZ4yJws.js";import{N as ce}from"./index-ohq48KFN.js";import{W as le}from"./did-address-BOsJWqi1.js";import{w as pe}from"./wrap-locale-CPp4ppiN.js";import{u as de}from"./use-passport-id-B-b-_oYF.js";import{g as me}from"./get-safe-url-DUB5fSqh.js";import{c as ue}from"./passport-DMZiwbhL.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-Duwa2sz8.js";import"./create-passport-svg-BLBQxsEK.js";function W({list:s=[],width:l=300,height:u=400,cardSpace:p=40,onSelect:i=()=>{},defaultIndex:f=0}){const[x,g]=m.useState(0),[o,d]=m.useState(0),w=m.useRef(null),v=a=>{if(a<0||a>s.length-1)return;g(a);const c=w.current.clientWidth;d(a*(l+p)-(c-l)/2+p*.5),i(a)};m.useEffect(()=>{v(f);const a=c=>c.preventDefault();w.current.addEventListener("touchmove",a,{passive:!1})},[]);let n;const k=a=>{n=a.touches[0].clientX},y=a=>{const c=a.changedTouches[0],j=n-c.clientX;Math.abs(j)>60&&(j>0?v(x+1):v(x-1))};return e.jsx(he,{ref:w,onTouchStart:k,onTouchEnd:y,children:e.jsx("div",{className:"card-container",style:{transform:`translate(${-o}px, 0)`},children:s.map((a,c)=>e.jsx("div",{className:`card-item ${c===x?"selected":""}`,style:{width:l,height:u,margin:p/2},onClick:()=>v(c),children:a.display?e.jsx("div",{className:"card-content",children:e.jsx(ce,{data:a.display,style:{width:"100%",height:"100%"}})}):e.jsx("div",{className:"card-content",dangerouslySetInnerHTML:{__html:a.src}})},a.id))})})}const he=$.div`
1
+ import{j as e,at as $,W as b,J as A,ak as r,b4 as F,b0 as U,T as N,bP as z,bQ as X,bR as H,a$ as B,av as J,bF as V,bS as G,bT as Q}from"./vendor-mui-core-BPQ6AEW_.js";import{p as O,d as q,n as I,_ as K,s as Y,V as Z}from"./vendor-ux-D507n6h6.js";import{r as m}from"./vendor-react-CUXIiAnY.js";import{g as ee,n as te}from"./vendor-hooks-fhL5FJET.js";import{v as D,J as L,H as se,S as oe,s as ne,b as ae,av as re}from"./index-Cx5JU0Ln.js";import{T as ie}from"./vendor-utils-BSZ4yJws.js";import{N as ce}from"./index-k8gDRcJR.js";import{W as le}from"./did-address-BOsJWqi1.js";import{w as pe}from"./wrap-locale-D5uKJYzr.js";import{u as de}from"./use-passport-id-B-b-_oYF.js";import{g as me}from"./get-safe-url-DHtEly1m.js";import{c as ue}from"./passport-Dsw-sETA.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-DLvroCDC.js";import"./create-passport-svg-BLBQxsEK.js";function W({list:s=[],width:l=300,height:u=400,cardSpace:p=40,onSelect:i=()=>{},defaultIndex:f=0}){const[x,g]=m.useState(0),[o,d]=m.useState(0),w=m.useRef(null),v=a=>{if(a<0||a>s.length-1)return;g(a);const c=w.current.clientWidth;d(a*(l+p)-(c-l)/2+p*.5),i(a)};m.useEffect(()=>{v(f);const a=c=>c.preventDefault();w.current.addEventListener("touchmove",a,{passive:!1})},[]);let n;const k=a=>{n=a.touches[0].clientX},y=a=>{const c=a.changedTouches[0],j=n-c.clientX;Math.abs(j)>60&&(j>0?v(x+1):v(x-1))};return e.jsx(he,{ref:w,onTouchStart:k,onTouchEnd:y,children:e.jsx("div",{className:"card-container",style:{transform:`translate(${-o}px, 0)`},children:s.map((a,c)=>e.jsx("div",{className:`card-item ${c===x?"selected":""}`,style:{width:l,height:u,margin:p/2},onClick:()=>v(c),children:a.display?e.jsx("div",{className:"card-content",children:e.jsx(ce,{data:a.display,style:{width:"100%",height:"100%"}})}):e.jsx("div",{className:"card-content",dangerouslySetInnerHTML:{__html:a.src}})},a.id))})})}const he=$.div`
2
2
  overflow: hidden;
3
3
  mask-image: linear-gradient(to left, transparent, black 3%, black 97%, transparent);
4
4
  overflow: hidden;
@@ -1 +1 @@
1
- import{j as s}from"./vendor-mui-core-BPQ6AEW_.js";import{r as e}from"./vendor-react-CUXIiAnY.js";import{g as m}from"./get-safe-url-DUB5fSqh.js";import"./index-CeWTwSLE.js";import"./vendor-ux-D507n6h6.js";import"./vendor-utils-BSZ4yJws.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";function S(){const r=e.useRef(null),n=e.useRef(Date.now());return e.useEffect(()=>{const t=`open-window-url-${new URLSearchParams(window.location.search).get("key")}`;return r.current=setInterval(()=>{if(Date.now()-n.current>10*1e3){localStorage.removeItem(t),clearInterval(r.current);return}const o=localStorage.getItem(t);if(o)try{const{url:a,time:i}=JSON.parse(o);localStorage.removeItem(t),Date.now()-i<10*1e3&&(window.location.href=m(a,{allowDomains:null}))}catch{}},200),()=>clearInterval(r.current)},[]),s.jsx("div",{})}export{S as default};
1
+ import{j as s}from"./vendor-mui-core-BPQ6AEW_.js";import{r as e}from"./vendor-react-CUXIiAnY.js";import{g as m}from"./get-safe-url-DHtEly1m.js";import"./index-Cx5JU0Ln.js";import"./vendor-ux-D507n6h6.js";import"./vendor-utils-BSZ4yJws.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";function S(){const r=e.useRef(null),n=e.useRef(Date.now());return e.useEffect(()=>{const t=`open-window-url-${new URLSearchParams(window.location.search).get("key")}`;return r.current=setInterval(()=>{if(Date.now()-n.current>10*1e3){localStorage.removeItem(t),clearInterval(r.current);return}const o=localStorage.getItem(t);if(o)try{const{url:a,time:i}=JSON.parse(o);localStorage.removeItem(t),Date.now()-i<10*1e3&&(window.location.href=m(a,{allowDomains:null}))}catch{}},200),()=>clearInterval(r.current)},[]),s.jsx("div",{})}export{S as default};
@@ -1 +1 @@
1
- import{D as ge,j as t,b1 as h,aX as ie,Q as M,T as S,b0 as Ce}from"./vendor-mui-core-BPQ6AEW_.js";import{r as d}from"./vendor-react-CUXIiAnY.js";import{V as je,d as ke,b as Se,H as x}from"./vendor-ux-D507n6h6.js";import{C as w,d as we}from"./vendor-utils-BSZ4yJws.js";import{k as Pe}from"./vendor-hooks-fhL5FJET.js";import{w as De,x as z,y as Ee,z as Re,C as H,D as $e,E as Te,F as _e,L as ce,G as Ie}from"./index-CeWTwSLE.js";const q=async r=>{if(!r.subscriptionId&&!r.customerId)throw new Error("Either subscriptionId or customerId must be provided");let f;return r.subscriptionId?f=`/api/subscriptions/${r.subscriptionId}/overdue/invoices`:f=`/api/customers/${r.customerId}/overdue/invoices`,(await $e.get(r.authToken?w(f,`?authToken=${r.authToken}`):f)).data};function Oe({subscriptionId:r=void 0,customerId:f=void 0,mode:O="default",dialogProps:g={open:!0},children:P=void 0,onPaid:N=()=>{},detailLinkOptions:y={enabled:!0},successToast:U=!0,alertMessage:V="",authToken:D=void 0}){const{t:n,locale:ae}=je(),W=ke()?.arcSphere,E=ge(),{connect:R,session:ue}=De(),[le,de]=d.useState(""),[G,v]=d.useState(!1),[me,$]=d.useState(g.open||!1),[pe,ye]=d.useState({}),[fe,p]=d.useState({}),[T,_]=d.useState({}),K=d.useRef(T),L=r?"subscription":"customer",u=f||ue?.user?.did,Q=r||u,C=d.useRef(u);d.useEffect(()=>{K.current=T},[T]);const{data:c={summary:{},invoices:[]},error:X,loading:ve,runAsync:J}=Pe(()=>q({subscriptionId:r,customerId:u,authToken:D}),{ready:!!r||!!u,onSuccess:e=>{e.customer?.id&&e.customer?.id!==C.current&&(C.current=e.customer?.id)}}),I=d.useMemo(()=>r?w(z(),`/customer/subscription/${r}`):u?w(z(),"/customer/invoice/past-due"):"",[r,u]),l=d.useMemo(()=>c?.summary?Object.values(c.summary):[],[c?.summary]),Y=async e=>{if(K.current[e])try{if((await q({subscriptionId:r,customerId:u,authToken:D})).invoices?.some(a=>a.currency_id===e))return;_(a=>{const m={...a};return delete m[e],m}),p(a=>({...a,[e]:"success"}))}catch(i){console.error("Error checking Stripe payment completion:",i);return}U&&(x.close(),x.success(n("payment.customer.invoice.paySuccess"))),v(!1),(await J()).invoices?.length===0&&($(!1),N(Q,e,L))},he=we(e=>Y(e),1e3,{leading:!1,trailing:!0,maxWait:5e3}),F=Ee(),j=Re("events"),xe=async e=>{let s=!1;return await Ie(async()=>(s=!(await q({subscriptionId:r,customerId:u,authToken:D})).invoices?.some(a=>a.currency_id===e),s),{interval:2e3,timeout:3*60*1e3}),s},Z=async(e,s=!1)=>{if(F||W)try{if(await xe(e)){p(a=>({...a,[e]:"success"}));const o=await J();U&&(x.close(),x.success(n("payment.customer.invoice.paySuccess"))),o.invoices?.length===0&&($(!1),N(Q,e,L))}}catch(i){console.error("Check payment status failed:",i),p(o=>({...o,[e]:"error"}))}finally{v(!1)}else s&&(_(i=>({...i,[e]:!0})),p(i=>({...i,[e]:"processing"})))};d.useEffect(()=>{if(!j||F||W)return;const e=({response:s})=>{const o=`${r||s.customer_id}-${s.currency_id}`;(r&&s.subscription_id===r||u&&u===s.customer_id||C.current&&C.current===s.customer_id)&&(pe[o]||(ye(a=>({...a,[o]:1})),he(s.currency_id)))};return j.on("invoice.paid",e),()=>{j.off("invoice.paid",e)}},[j,r,u]);const ee=e=>{const{currency:s,method:i}=e;if(i.type==="stripe"){x.error(n("payment.subscription.overdue.notSupport"));return}if(!G&&(de(s.id),v(!0),p(o=>({...o,[s.id]:"idle"})),["arcblock","ethereum","base"].includes(i.type))){const o={currencyId:s.id};r?o.subscriptionId=r:u&&(o.customerId=u),R.open({locale:ae,containerEl:void 0,saveConnect:!1,action:"collect-batch",prefix:w(z(),"/api/did"),useSocket:!F,extraParams:o,messages:{scan:n("common.connect.defaultScan"),title:n("payment.customer.invoice.payBatch"),confirm:n("common.connect.confirm")},onSuccess:()=>{R.close(),Z(s.id),v(!1),p(a=>({...a,[s.id]:"success"}))},onClose:()=>{R.close(),v(!1)},onError:a=>{x.error(Te(a)),p(m=>({...m,[s.id]:"error"})),v(!1)}})}},k=()=>{$(!1),g.onClose?.()},te=e=>{y.onClick?(e.preventDefault(),y.onClick(e)):y.enabled||(e.preventDefault(),k())};if(ve)return null;const re=()=>y.title?y.title:n(r?"payment.subscription.overdue.view":"payment.customer.pastDue.view"),ne=(e,s=!0,i={variant:"contained"})=>{const{currency:o}=e,a=G&&le===o.id,m=fe[o.id]||"idle";if(m==="success")return t.jsx(M,{variant:i?.variant||"contained",size:"small",onClick:()=>Y(o.id),...s?{}:{color:"success",startIcon:t.jsx(Ce,{})},children:n("payment.subscription.overdue.paid")});if(e.method.type==="stripe"){let B=n("payment.subscription.overdue.payNow");return m==="error"?B=n("payment.subscription.overdue.retry"):m==="processing"&&(B=n("payment.subscription.overdue.processing")),t.jsx(_e,{subscriptionId:r,customerId:r?void 0:u,currencyId:o.id,paymentMethod:e.method,onSuccess:()=>{Z(o.id,!0)},onError:()=>{p(b=>({...b,[o.id]:"error"})),_(b=>({...b,[o.id]:!1}))},children:(b,oe)=>t.jsx(ce,{variant:i?.variant||"contained",size:"small",disabled:oe||m==="processing",loading:oe||m==="processing",onClick:b,sx:i?.sx,children:B})})}return t.jsx(ce,{variant:i?.variant||"contained",size:"small",disabled:a,loading:a,onClick:()=>ee(e),sx:i?.sx,children:n(m==="error"?"payment.subscription.overdue.retry":"payment.subscription.overdue.payNow")})},A=e=>e.name&&e.type!=="arcblock"?` (${e.name})`:"",se=()=>{if(r&&c.subscription)return l.length===1?n("payment.subscription.overdue.title",{name:c.subscription?.description,count:c.invoices?.length,total:H(l[0]?.amount,l[0]?.currency?.decimal),symbol:l[0]?.currency?.symbol,method:A(l[0]?.method)}):n("payment.subscription.overdue.simpleTitle",{name:c.subscription?.description,count:c.invoices?.length});if(u){let e="";return l.length===1?e=n("payment.customer.overdue.title",{subscriptionCount:c.subscriptionCount||0,count:c.invoices?.length,total:H(l[0]?.amount,l[0]?.currency?.decimal),symbol:l[0]?.currency?.symbol,method:A(l[0]?.method)}):e=n("payment.customer.overdue.simpleTitle",{subscriptionCount:c.subscriptionCount||0,count:c.invoices?.length}),V?`${e}${V}`:`${e}${n("payment.customer.overdue.defaultAlert")}`}return""},be=()=>r&&c.subscription?n("payment.subscription.overdue.empty",{name:c.subscription?.description}):n("payment.customer.overdue.empty");return O==="custom"&&P&&typeof P=="function"?t.jsx(h,{children:P(ee,{subscription:c?.subscription,summary:c?.summary,invoices:c?.invoices,subscriptionCount:c?.subscriptionCount,detailUrl:I})}):t.jsx(Se,{PaperProps:{style:{minHeight:"auto"}},...g||{},open:me,title:g?.title||n("payment.subscription.overdue.pastDue"),sx:{"& .MuiDialogContent-root":{pt:0}},onClose:k,children:X?t.jsx(ie,{severity:"error",children:X.message}):t.jsxs(h,{sx:{gap:1},children:[l.length===0&&t.jsxs(t.Fragment,{children:[t.jsx(ie,{severity:"success",children:be()}),t.jsx(h,{direction:"row",sx:{justifyContent:"flex-end",mt:2},children:t.jsx(M,{variant:"outlined",color:"primary",onClick:k,sx:{width:"fit-content"},children:n("common.know")})})]}),l.length===1&&t.jsxs(t.Fragment,{children:[t.jsxs(S,{variant:"body1",sx:{color:"text.secondary"},children:[se(),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("br",{}),n("payment.subscription.overdue.description"),t.jsx("a",{href:I,target:"_blank",onClick:te,rel:"noreferrer",style:{color:E.palette.text.link},children:re()})]})]}),t.jsxs(h,{direction:"row",sx:{justifyContent:"flex-end",gap:2,mt:2},children:[t.jsx(M,{variant:"outlined",color:"primary",onClick:k,children:n("common.cancel")}),ne(l[0])]})]}),l.length>1&&t.jsxs(t.Fragment,{children:[t.jsxs(S,{variant:"body1",sx:{color:"text.secondary"},children:[se(),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("br",{}),n("payment.subscription.overdue.description"),t.jsx("a",{href:I,target:"_blank",rel:"noreferrer",onClick:te,style:{color:E.palette.text.link},children:re()})]})]}),t.jsx(S,{variant:"body1",sx:{color:"text.secondary"},children:n("payment.subscription.overdue.list")}),t.jsx(h,{children:l.map(e=>t.jsxs(h,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center",py:1,px:.5,borderBottom:"1px solid",borderColor:"divider","&:hover":{backgroundColor:()=>E.palette.grey[100]},mt:0},children:[t.jsx(S,{children:n("payment.subscription.overdue.total",{total:H(e?.amount,e?.currency?.decimal),currency:e?.currency?.symbol,method:A(e?.method)})}),ne(e,!1,{variant:"text",sx:{color:"text.link"}})]},e?.currency?.id))})]})]})})}export{Oe as O};
1
+ import{D as ge,j as t,b1 as h,aX as ie,Q as M,T as S,b0 as Ce}from"./vendor-mui-core-BPQ6AEW_.js";import{r as d}from"./vendor-react-CUXIiAnY.js";import{V as je,d as ke,b as Se,H as x}from"./vendor-ux-D507n6h6.js";import{C as w,d as we}from"./vendor-utils-BSZ4yJws.js";import{k as Pe}from"./vendor-hooks-fhL5FJET.js";import{w as De,x as z,y as Ee,z as Re,C as H,D as $e,E as Te,F as _e,L as ce,G as Ie}from"./index-Cx5JU0Ln.js";const q=async r=>{if(!r.subscriptionId&&!r.customerId)throw new Error("Either subscriptionId or customerId must be provided");let f;return r.subscriptionId?f=`/api/subscriptions/${r.subscriptionId}/overdue/invoices`:f=`/api/customers/${r.customerId}/overdue/invoices`,(await $e.get(r.authToken?w(f,`?authToken=${r.authToken}`):f)).data};function Oe({subscriptionId:r=void 0,customerId:f=void 0,mode:O="default",dialogProps:g={open:!0},children:P=void 0,onPaid:N=()=>{},detailLinkOptions:y={enabled:!0},successToast:U=!0,alertMessage:V="",authToken:D=void 0}){const{t:n,locale:ae}=je(),W=ke()?.arcSphere,E=ge(),{connect:R,session:ue}=De(),[le,de]=d.useState(""),[G,v]=d.useState(!1),[me,$]=d.useState(g.open||!1),[pe,ye]=d.useState({}),[fe,p]=d.useState({}),[T,_]=d.useState({}),K=d.useRef(T),L=r?"subscription":"customer",u=f||ue?.user?.did,Q=r||u,C=d.useRef(u);d.useEffect(()=>{K.current=T},[T]);const{data:c={summary:{},invoices:[]},error:X,loading:ve,runAsync:J}=Pe(()=>q({subscriptionId:r,customerId:u,authToken:D}),{ready:!!r||!!u,onSuccess:e=>{e.customer?.id&&e.customer?.id!==C.current&&(C.current=e.customer?.id)}}),I=d.useMemo(()=>r?w(z(),`/customer/subscription/${r}`):u?w(z(),"/customer/invoice/past-due"):"",[r,u]),l=d.useMemo(()=>c?.summary?Object.values(c.summary):[],[c?.summary]),Y=async e=>{if(K.current[e])try{if((await q({subscriptionId:r,customerId:u,authToken:D})).invoices?.some(a=>a.currency_id===e))return;_(a=>{const m={...a};return delete m[e],m}),p(a=>({...a,[e]:"success"}))}catch(i){console.error("Error checking Stripe payment completion:",i);return}U&&(x.close(),x.success(n("payment.customer.invoice.paySuccess"))),v(!1),(await J()).invoices?.length===0&&($(!1),N(Q,e,L))},he=we(e=>Y(e),1e3,{leading:!1,trailing:!0,maxWait:5e3}),F=Ee(),j=Re("events"),xe=async e=>{let s=!1;return await Ie(async()=>(s=!(await q({subscriptionId:r,customerId:u,authToken:D})).invoices?.some(a=>a.currency_id===e),s),{interval:2e3,timeout:3*60*1e3}),s},Z=async(e,s=!1)=>{if(F||W)try{if(await xe(e)){p(a=>({...a,[e]:"success"}));const o=await J();U&&(x.close(),x.success(n("payment.customer.invoice.paySuccess"))),o.invoices?.length===0&&($(!1),N(Q,e,L))}}catch(i){console.error("Check payment status failed:",i),p(o=>({...o,[e]:"error"}))}finally{v(!1)}else s&&(_(i=>({...i,[e]:!0})),p(i=>({...i,[e]:"processing"})))};d.useEffect(()=>{if(!j||F||W)return;const e=({response:s})=>{const o=`${r||s.customer_id}-${s.currency_id}`;(r&&s.subscription_id===r||u&&u===s.customer_id||C.current&&C.current===s.customer_id)&&(pe[o]||(ye(a=>({...a,[o]:1})),he(s.currency_id)))};return j.on("invoice.paid",e),()=>{j.off("invoice.paid",e)}},[j,r,u]);const ee=e=>{const{currency:s,method:i}=e;if(i.type==="stripe"){x.error(n("payment.subscription.overdue.notSupport"));return}if(!G&&(de(s.id),v(!0),p(o=>({...o,[s.id]:"idle"})),["arcblock","ethereum","base"].includes(i.type))){const o={currencyId:s.id};r?o.subscriptionId=r:u&&(o.customerId=u),R.open({locale:ae,containerEl:void 0,saveConnect:!1,action:"collect-batch",prefix:w(z(),"/api/did"),useSocket:!F,extraParams:o,messages:{scan:n("common.connect.defaultScan"),title:n("payment.customer.invoice.payBatch"),confirm:n("common.connect.confirm")},onSuccess:()=>{R.close(),Z(s.id),v(!1),p(a=>({...a,[s.id]:"success"}))},onClose:()=>{R.close(),v(!1)},onError:a=>{x.error(Te(a)),p(m=>({...m,[s.id]:"error"})),v(!1)}})}},k=()=>{$(!1),g.onClose?.()},te=e=>{y.onClick?(e.preventDefault(),y.onClick(e)):y.enabled||(e.preventDefault(),k())};if(ve)return null;const re=()=>y.title?y.title:n(r?"payment.subscription.overdue.view":"payment.customer.pastDue.view"),ne=(e,s=!0,i={variant:"contained"})=>{const{currency:o}=e,a=G&&le===o.id,m=fe[o.id]||"idle";if(m==="success")return t.jsx(M,{variant:i?.variant||"contained",size:"small",onClick:()=>Y(o.id),...s?{}:{color:"success",startIcon:t.jsx(Ce,{})},children:n("payment.subscription.overdue.paid")});if(e.method.type==="stripe"){let B=n("payment.subscription.overdue.payNow");return m==="error"?B=n("payment.subscription.overdue.retry"):m==="processing"&&(B=n("payment.subscription.overdue.processing")),t.jsx(_e,{subscriptionId:r,customerId:r?void 0:u,currencyId:o.id,paymentMethod:e.method,onSuccess:()=>{Z(o.id,!0)},onError:()=>{p(b=>({...b,[o.id]:"error"})),_(b=>({...b,[o.id]:!1}))},children:(b,oe)=>t.jsx(ce,{variant:i?.variant||"contained",size:"small",disabled:oe||m==="processing",loading:oe||m==="processing",onClick:b,sx:i?.sx,children:B})})}return t.jsx(ce,{variant:i?.variant||"contained",size:"small",disabled:a,loading:a,onClick:()=>ee(e),sx:i?.sx,children:n(m==="error"?"payment.subscription.overdue.retry":"payment.subscription.overdue.payNow")})},A=e=>e.name&&e.type!=="arcblock"?` (${e.name})`:"",se=()=>{if(r&&c.subscription)return l.length===1?n("payment.subscription.overdue.title",{name:c.subscription?.description,count:c.invoices?.length,total:H(l[0]?.amount,l[0]?.currency?.decimal),symbol:l[0]?.currency?.symbol,method:A(l[0]?.method)}):n("payment.subscription.overdue.simpleTitle",{name:c.subscription?.description,count:c.invoices?.length});if(u){let e="";return l.length===1?e=n("payment.customer.overdue.title",{subscriptionCount:c.subscriptionCount||0,count:c.invoices?.length,total:H(l[0]?.amount,l[0]?.currency?.decimal),symbol:l[0]?.currency?.symbol,method:A(l[0]?.method)}):e=n("payment.customer.overdue.simpleTitle",{subscriptionCount:c.subscriptionCount||0,count:c.invoices?.length}),V?`${e}${V}`:`${e}${n("payment.customer.overdue.defaultAlert")}`}return""},be=()=>r&&c.subscription?n("payment.subscription.overdue.empty",{name:c.subscription?.description}):n("payment.customer.overdue.empty");return O==="custom"&&P&&typeof P=="function"?t.jsx(h,{children:P(ee,{subscription:c?.subscription,summary:c?.summary,invoices:c?.invoices,subscriptionCount:c?.subscriptionCount,detailUrl:I})}):t.jsx(Se,{PaperProps:{style:{minHeight:"auto"}},...g||{},open:me,title:g?.title||n("payment.subscription.overdue.pastDue"),sx:{"& .MuiDialogContent-root":{pt:0}},onClose:k,children:X?t.jsx(ie,{severity:"error",children:X.message}):t.jsxs(h,{sx:{gap:1},children:[l.length===0&&t.jsxs(t.Fragment,{children:[t.jsx(ie,{severity:"success",children:be()}),t.jsx(h,{direction:"row",sx:{justifyContent:"flex-end",mt:2},children:t.jsx(M,{variant:"outlined",color:"primary",onClick:k,sx:{width:"fit-content"},children:n("common.know")})})]}),l.length===1&&t.jsxs(t.Fragment,{children:[t.jsxs(S,{variant:"body1",sx:{color:"text.secondary"},children:[se(),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("br",{}),n("payment.subscription.overdue.description"),t.jsx("a",{href:I,target:"_blank",onClick:te,rel:"noreferrer",style:{color:E.palette.text.link},children:re()})]})]}),t.jsxs(h,{direction:"row",sx:{justifyContent:"flex-end",gap:2,mt:2},children:[t.jsx(M,{variant:"outlined",color:"primary",onClick:k,children:n("common.cancel")}),ne(l[0])]})]}),l.length>1&&t.jsxs(t.Fragment,{children:[t.jsxs(S,{variant:"body1",sx:{color:"text.secondary"},children:[se(),y.enabled&&t.jsxs(t.Fragment,{children:[t.jsx("br",{}),n("payment.subscription.overdue.description"),t.jsx("a",{href:I,target:"_blank",rel:"noreferrer",onClick:te,style:{color:E.palette.text.link},children:re()})]})]}),t.jsx(S,{variant:"body1",sx:{color:"text.secondary"},children:n("payment.subscription.overdue.list")}),t.jsx(h,{children:l.map(e=>t.jsxs(h,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center",py:1,px:.5,borderBottom:"1px solid",borderColor:"divider","&:hover":{backgroundColor:()=>E.palette.grey[100]},mt:0},children:[t.jsx(S,{children:n("payment.subscription.overdue.total",{total:H(e?.amount,e?.currency?.decimal),currency:e?.currency?.symbol,method:A(e?.method)})}),ne(e,!1,{variant:"text",sx:{color:"text.link"}})]},e?.currency?.id))})]})]})})}export{Oe as O};
@@ -1,4 +1,4 @@
1
- import{j as e,ak as n,ar as E,a$ as te,at as Q,W as p,am as k,cq as ne,T,c2 as L,bf as M}from"./vendor-mui-core-BPQ6AEW_.js";import{r as u,a as oe}from"./vendor-react-CUXIiAnY.js";import{U as h,V as A,n as se,z as ae,Q as ie}from"./vendor-ux-D507n6h6.js";import{d as re}from"./keyboard-arrow-down-rounded-8U0_i9QO.js";import{f as D}from"./index-BojVbZw0.js";import{p as le}from"./dashboard-DeaTlS85.js";import{_ as ce,ac as me,ae as de,aU as pe,ad as ue,c as _,e as he,a1 as q}from"./index-CeWTwSLE.js";import{v as xe}from"./index-Ca4Ccmqm.js";import{u as ge}from"./useAsyncRetry-a2Wewn3F.js";import{C as fe}from"./vendor-utils-BSZ4yJws.js";import{u as ve}from"./team-CKeHAIQC.js";import{W as v}from"./did-address-BOsJWqi1.js";import{V as be}from"./status-B2iiuI6t.js";import{c as je}from"./spaces-DB-xtAK9.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./useLocalStorage-BBhMedc2.js";import"./index-DBs9Ljax.js";import"./confirm-CC1M9sYT.js";import"./get-safe-url-DUB5fSqh.js";import"./session-CJQ7HeL8.js";import"./passport-DMZiwbhL.js";import"./create-passport-svg-BLBQxsEK.js";import"./useSetState-cWrp7qoX.js";import"./index-Xg-It3qI.js";import"./over-due-invoice-payment-Hi-FNl9O.js";import"./use-mobile-C5RjvO7g.js";import"./useAsync-Cc-dQGZL.js";import"./isURL-HS60va5G.js";import"./use-app-logo-D38VoM1R.js";import"./omit-W13eVnqC.js";import"./api-DIucIOLX.js";const ke={width:24,height:24,body:'<path fill="currentColor" d="m12 10.8l-3.9 3.9q-.275.275-.7.275t-.7-.275q-.275-.275-.275-.7t.275-.7l4.6-4.6q.3-.3.7-.3t.7.3l4.6 4.6q.275.275.275.7t-.275.7q-.275.275-.7.275t-.7-.275L12 10.8Z"/>'},ye={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 17a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm12 0a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM6 15v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1m-6-6v3"/>'},we={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85"/>'},Se={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 12h3v4H7z"/><path d="M10 6H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6"/><path d="M10 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zm4 12h2m-2-4h4"/></g>'},_e={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19.5 7A9 9 0 0 0 12 3a8.991 8.991 0 0 0-7.484 4"/><path d="M11.5 3a16.989 16.989 0 0 0-1.826 4M12.5 3a16.989 16.989 0 0 1 1.828 4M19.5 17a9 9 0 0 1-7.5 4a8.991 8.991 0 0 1-7.484-4"/><path d="M11.5 21a16.989 16.989 0 0 1-1.826-4m2.826 4a16.989 16.989 0 0 0 1.828-4M2 10l1 4l1.5-4L6 14l1-4m10 0l1 4l1.5-4l1.5 4l1-4M9.5 10l1 4l1.5-4l1.5 4l1-4"/></g>'},O={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0"/><path d="M12 7v5l3 3"/></g>'},Te={width:24,height:24,body:'<path fill="currentColor" d="M12 14q-.825 0-1.413-.588T10 12q0-.825.588-1.413T12 10q.825 0 1.413.588T14 12q0 .825-.588 1.413T12 14Zm0 7q-3.475 0-6.025-2.288T3.05 13H5.1q.35 2.6 2.313 4.3T12 19q2.925 0 4.963-2.038T19 12q0-2.925-2.038-4.963T12 5q-1.725 0-3.225.8T6.25 8H9v2H3V4h2v2.35q1.275-1.6 3.113-2.475T12 3q1.875 0 3.513.713t2.85 1.924q1.212 1.213 1.925 2.85T21 12q0 1.875-.713 3.513t-1.924 2.85q-1.213 1.212-2.85 1.925T12 21Z"/>'};function W({icon:t,value:s,name:o,url:i="",animated:l=!1,LinkComponent:d=te,loading:x=!1}){const g=()=>oe.isValidElement(t)?t:e.jsx(n,{component:h,icon:t,alt:typeof o=="string"?o:"",sx:{fontSize:30}});if(x)return e.jsxs(V,{children:[t&&e.jsx(n,{className:"metric__image",children:e.jsx(E,{variant:"circular",width:32,height:32})}),e.jsxs(n,{children:[e.jsx(E,{className:`metric__number ${l?"metric__number--animated":""}`,variant:"rounded",width:160,height:"36px",sx:{mb:1}}),e.jsx(E,{className:"metric__name",variant:"rounded",width:80,height:20})]})]});const f=e.jsxs(e.Fragment,{children:[t&&e.jsx(n,{className:"metric__image",children:g()}),e.jsxs(n,{children:[u.isValidElement(s)?e.jsx(n,{className:`metric__number ${l?"metric__number--animated":""}`,children:s}):e.jsx(n,{className:`metric__number ${l?"metric__number--animated":""}`,dangerouslySetInnerHTML:{__html:s}}),e.jsx(n,{className:"metric__name",children:o})]})]});return e.jsx(V,{children:i?e.jsx(d,{href:i,sx:{textDecoration:"none"},children:f}):f})}W.propTypes={icon:p.string.isRequired,value:p.string.isRequired,name:p.string.isRequired,url:p.string,animated:p.bool,LinkComponent:p.elementType,loading:p.bool};const V=Q(n)`
1
+ import{j as e,ak as n,ar as E,a$ as te,at as Q,W as p,am as k,cq as ne,T,c2 as L,bf as M}from"./vendor-mui-core-BPQ6AEW_.js";import{r as u,a as oe}from"./vendor-react-CUXIiAnY.js";import{U as h,V as A,n as se,z as ae,Q as ie}from"./vendor-ux-D507n6h6.js";import{d as re}from"./keyboard-arrow-down-rounded-8U0_i9QO.js";import{f as D}from"./index-BojVbZw0.js";import{p as le}from"./dashboard-Bcb81CDA.js";import{_ as ce,ac as me,ae as de,aU as pe,ad as ue,c as _,e as he,a1 as q}from"./index-Cx5JU0Ln.js";import{v as xe}from"./index-Ca4Ccmqm.js";import{u as ge}from"./useAsyncRetry-a2Wewn3F.js";import{C as fe}from"./vendor-utils-BSZ4yJws.js";import{u as ve}from"./team-CG74iq-4.js";import{W as v}from"./did-address-BOsJWqi1.js";import{V as be}from"./status-6KTOVV9E.js";import{c as je}from"./spaces-3bFBxoYi.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./useLocalStorage-BBhMedc2.js";import"./index-DBs9Ljax.js";import"./confirm-g44rz8hw.js";import"./get-safe-url-DHtEly1m.js";import"./session-CAOgTWka.js";import"./passport-Dsw-sETA.js";import"./create-passport-svg-BLBQxsEK.js";import"./useSetState-cWrp7qoX.js";import"./index-Cke5eCl6.js";import"./over-due-invoice-payment-Bsp5V3AP.js";import"./use-mobile-C5RjvO7g.js";import"./useAsync-Cc-dQGZL.js";import"./isURL-CohjRVvR.js";import"./use-app-logo-BAJtA-EN.js";import"./omit-W13eVnqC.js";import"./api-DIucIOLX.js";const ke={width:24,height:24,body:'<path fill="currentColor" d="m12 10.8l-3.9 3.9q-.275.275-.7.275t-.7-.275q-.275-.275-.275-.7t.275-.7l4.6-4.6q.3-.3.7-.3t.7.3l4.6 4.6q.275.275.275.7t-.275.7q-.275.275-.7.275t-.7-.275L12 10.8Z"/>'},ye={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 17a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2zm12 0a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2zM6 15v-1a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v1m-6-6v3"/>'},we={width:24,height:24,body:'<path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 7a4 4 0 1 0 8 0a4 4 0 1 0-8 0M3 21v-2a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v2m1-17.87a4 4 0 0 1 0 7.75M21 21v-2a4 4 0 0 0-3-3.85"/>'},Se={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M7 12h3v4H7z"/><path d="M10 6H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-6"/><path d="M10 4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zm4 12h2m-2-4h4"/></g>'},_e={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19.5 7A9 9 0 0 0 12 3a8.991 8.991 0 0 0-7.484 4"/><path d="M11.5 3a16.989 16.989 0 0 0-1.826 4M12.5 3a16.989 16.989 0 0 1 1.828 4M19.5 17a9 9 0 0 1-7.5 4a8.991 8.991 0 0 1-7.484-4"/><path d="M11.5 21a16.989 16.989 0 0 1-1.826-4m2.826 4a16.989 16.989 0 0 0 1.828-4M2 10l1 4l1.5-4L6 14l1-4m10 0l1 4l1.5-4l1.5 4l1-4M9.5 10l1 4l1.5-4l1.5 4l1-4"/></g>'},O={width:24,height:24,body:'<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0-18 0"/><path d="M12 7v5l3 3"/></g>'},Te={width:24,height:24,body:'<path fill="currentColor" d="M12 14q-.825 0-1.413-.588T10 12q0-.825.588-1.413T12 10q.825 0 1.413.588T14 12q0 .825-.588 1.413T12 14Zm0 7q-3.475 0-6.025-2.288T3.05 13H5.1q.35 2.6 2.313 4.3T12 19q2.925 0 4.963-2.038T19 12q0-2.925-2.038-4.963T12 5q-1.725 0-3.225.8T6.25 8H9v2H3V4h2v2.35q1.275-1.6 3.113-2.475T12 3q1.875 0 3.513.713t2.85 1.924q1.212 1.213 1.925 2.85T21 12q0 1.875-.713 3.513t-1.924 2.85q-1.213 1.212-2.85 1.925T12 21Z"/>'};function W({icon:t,value:s,name:o,url:i="",animated:l=!1,LinkComponent:d=te,loading:x=!1}){const g=()=>oe.isValidElement(t)?t:e.jsx(n,{component:h,icon:t,alt:typeof o=="string"?o:"",sx:{fontSize:30}});if(x)return e.jsxs(V,{children:[t&&e.jsx(n,{className:"metric__image",children:e.jsx(E,{variant:"circular",width:32,height:32})}),e.jsxs(n,{children:[e.jsx(E,{className:`metric__number ${l?"metric__number--animated":""}`,variant:"rounded",width:160,height:"36px",sx:{mb:1}}),e.jsx(E,{className:"metric__name",variant:"rounded",width:80,height:20})]})]});const f=e.jsxs(e.Fragment,{children:[t&&e.jsx(n,{className:"metric__image",children:g()}),e.jsxs(n,{children:[u.isValidElement(s)?e.jsx(n,{className:`metric__number ${l?"metric__number--animated":""}`,children:s}):e.jsx(n,{className:`metric__number ${l?"metric__number--animated":""}`,dangerouslySetInnerHTML:{__html:s}}),e.jsx(n,{className:"metric__name",children:o})]})]});return e.jsx(V,{children:i?e.jsx(d,{href:i,sx:{textDecoration:"none"},children:f}):f})}W.propTypes={icon:p.string.isRequired,value:p.string.isRequired,name:p.string.isRequired,url:p.string,animated:p.bool,LinkComponent:p.elementType,loading:p.bool};const V=Q(n)`
2
2
  border-left: 1px solid ${t=>t.theme.palette.divider};
3
3
  padding: 10px 0 10px 16px;
4
4
  @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
@@ -1 +1 @@
1
- import{c as r}from"./create-passport-svg-BLBQxsEK.js";import{C as t}from"./vendor-utils-BSZ4yJws.js";import{c as s}from"./index-CeWTwSLE.js";const e=o=>r({...o,issuerAvatarUrl:t(window.location.origin,s.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo")});export{e as c};
1
+ import{c as r}from"./create-passport-svg-BLBQxsEK.js";import{C as t}from"./vendor-utils-BSZ4yJws.js";import{c as s}from"./index-Cx5JU0Ln.js";const e=o=>r({...o,issuerAvatarUrl:t(window.location.origin,s.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo")});export{e as c};
@@ -1 +1 @@
1
- import{j as t,b1 as b,b4 as k,T as m,am as M,W as s,s as T,U as $,ak as g,bH as f,bI as x,bJ as q,bK as N,bL as L,bM as R,bN as B}from"./vendor-mui-core-BPQ6AEW_.js";import{V as h,z as F,A as S}from"./vendor-ux-D507n6h6.js";import{ar as E,as as P,at as V}from"./index-CeWTwSLE.js";import{U as H}from"./ua-parser-DP5omx3I.js";import{a as w}from"./vendor-react-CUXIiAnY.js";import{a as G}from"./vendor-hooks-fhL5FJET.js";import{W as j}from"./did-address-BOsJWqi1.js";import{p as J}from"./util-DPC-rfKa.js";import{u as K}from"./team-CKeHAIQC.js";function Y(e){return!e||typeof e!="string"?"break-all":e.includes(" ")?"break-word":"break-all"}function z({logo:e="",name:r="",description:n="",size:l=40,variant:a="rounded",sx:d={},className:p="",logoName:u="",tooltip:o=null}){const i={width:l,height:l,...d},y=typeof r=="string"?r:e,v=t.jsxs(b,{direction:"row",spacing:1,className:`info-card-wrapper ${p}`,sx:{alignItems:"center",cursor:o?"pointer":"default"},children:[e?t.jsx(k,{src:e,alt:u??y,variant:a,sx:i}):t.jsx(k,{variant:a,sx:i,children:y?.slice(0,1)}),t.jsxs(b,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around",wordBreak:Y(r),minWidth:{xs:100,sm:140}},children:[t.jsx(m,{variant:"body1",component:"div",sx:{color:"text.primary"},children:r}),n&&t.jsx(m,{variant:"subtitle1",sx:{color:"text.secondary"},children:n})]})]});return o?t.jsx(M,{title:o,placement:"top-start",slotProps:{tooltip:{sx:{bgcolor:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff",color:c=>c.palette.mode==="dark"?"#ffffff":c.palette.text.primary,boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",borderRadius:2,padding:"10px 16px",fontSize:14,maxWidth:400,minWidth:240,wordBreak:"break-word",border:c=>c.palette.mode==="dark"?"1px solid #3a3f48":"1px solid #e0e0e0","& .MuiTooltip-arrow":{color:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff","&::before":{border:c=>c.palette.mode==="dark"?"1px solid #3a3f48":"1px solid #e0e0e0",backgroundColor:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff"}}}}},children:v}):v}z.propTypes={logo:s.string,name:s.oneOfType([s.string,s.node]).isRequired,description:s.oneOfType([s.string,s.node]),size:s.oneOfType([s.number,s.string]),variant:s.oneOf(["square","rounded","circular"]),sx:s.object,className:s.string,logoName:s.string,tooltip:s.oneOfType([s.string,s.node])};function _(e){try{if(!e.trim())return{device:{icon:t.jsx(x,{fontSize:"small"}),text:"Unknown Device"},os:{icon:null,text:"Unknown OS"},browser:{icon:t.jsx(f,{fontSize:"small"}),text:"Unknown Browser"}};const n=new H(e).getResult();let l="";const a=e.split(/\s+/).find(o=>o.startsWith("arcwallet"));if(a){const o=a.split("/");o.length>1&&S.coerce(o[1])&&(l=S.coerce(o[1]).version)}const d=(()=>{const{type:o="",model:i=""}=n.device;return o==="mobile"?{icon:t.jsx(q,{fontSize:"small"}),text:i||"Mobile Device"}:o==="tablet"?{icon:t.jsx(N,{fontSize:"small"}),text:i||"Tablet"}:{icon:t.jsx(L,{fontSize:"small"}),text:i||"Desktop"}})(),p=(()=>{const{name:o="",version:i=""}=n.os;return o.toLowerCase().includes("mac")?{icon:t.jsx(R,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("ios")?{icon:t.jsx(R,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("android")?{icon:t.jsx(B,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("windows")?{icon:t.jsx(x,{fontSize:"small"}),text:`${o} ${i}`}:{icon:null,text:o?`${o} ${i}`:"Unknown OS"}})(),u=(()=>{const{name:o="",version:i=""}=n.browser;return{icon:t.jsx(f,{fontSize:"small"}),text:o?`${o} ${i}`:"Unknown Browser"}})();return{device:d,os:p,browser:u,...l?{walletVersion:{icon:null,text:l}}:{}}}catch(r){return console.error("Error parsing user agent:",r),{device:{icon:t.jsx(x,{fontSize:"small"}),text:"Unknown Device"},os:{icon:null,text:"Unknown OS"},browser:{icon:t.jsx(f,{fontSize:"small"}),text:"Unknown Browser"}}}}function C({ua:e}){const r=_(e);return t.jsx(b,{spacing:1,children:Object.entries(r).map(([n,{icon:l,text:a}])=>t.jsxs(g,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(g,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:l}),t.jsx(m,{variant:"body2",sx:{display:"flex"},children:a})]},n))})}C.propTypes={ua:s.string.isRequired};const Q=()=>{const{t:e}=h(),r={$all:e("common.all"),owner:"Owner",admin:"Admin",member:"Member",guest:"Guest"};return{SYSTEM_ROLES:r,formatRoleName:l=>{const a=(l||"").toLowerCase();return a.startsWith("$")?r[a]||a.slice(1):r[a]||a}}},X=(e,r=!1)=>{const n=r?1:.6;switch(e){case"owner":return`rgba(232, 222, 255, ${n})`;case"admin":return`rgba(227, 242, 253, ${n})`;case"member":return`rgba(232, 245, 233, ${n})`;case"guest":return`rgba(245, 245, 245, ${n})`;default:return`rgba(245, 245, 245, ${n})`}},Z=T($)(({role:e})=>({backgroundColor:X(e.toLowerCase()),color:"#000000"})),ee=e=>{switch(e){case"valid":return r=>r.palette.success.light;case"expired":return r=>r.palette.text.disabled;case"revoked":return r=>r.palette.error.light;default:return r=>r.palette.warning.light}},re=T($)(({theme:e,status:r})=>({backgroundColor:ee(r)(e),color:"#FFFFFF"}));function U({did:e}){return t.jsx(j,{size:14,responsive:!1,compact:!0,copyable:!1,did:e})}U.propTypes={did:s.string.isRequired};function I({timestamp:e,locale:r}){return t.jsx(g,{sx:{minWidth:"100px"},children:t.jsx(F,{value:e,locale:r})})}I.propTypes={timestamp:s.number.isRequired,locale:s.string.isRequired};function W({name:e="",role:r}){const{formatRoleName:n}=Q();return t.jsx(Z,{label:n(e||r),size:"small",role:e||r,sx:{borderRadius:1}})}W.propTypes={role:s.string.isRequired,name:s.string};function O({status:e}){const{t:r}=h();return t.jsx(re,{label:r(`team.passport.statusMap.${e}`),size:"small",status:e,sx:{borderRadius:1}})}O.propTypes={status:s.string.isRequired};function A({source:e}){const{t:r}=h();return e?r(`team.passport.sourceMaps.${e}`):"-"}A.propTypes={source:s.string.isRequired};function D({user:e,size:r="default",tooltip:n=!1,inService:l=!1}){const{teamDid:a}=K(),d=w.useMemo(()=>J(e.avatar,a,l),[e.avatar,a,l]),p=w.useMemo(()=>t.jsx(j,{did:e?.did,compact:!0,responsive:!1,sx:{whiteSpace:"nowrap"},size:12}),[e?.did]),u=G(()=>({...e,avatar:d}),[e,d]);return r==="small"?t.jsx(z,{variant:"circular",logo:d,name:t.jsx(m,{sx:{maxWidth:320,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},className:"customer-link-name",children:e.fullName||e.email}),...r==="small"?{tooltip:n?t.jsx(j,{did:e?.did}):!1,size:24}:{description:p,size:36}}):t.jsx(E,{user:u,avatarSize:r==="small"?24:36,cardType:V.Detailed,infoType:P.Minimal,sx:{padding:0,border:"none"},showDid:!0,didProps:{compact:!0,responsive:!1},showHoverCard:!1})}D.propTypes={user:s.object.isRequired,size:s.string,tooltip:s.bool,inService:s.bool};const te=w.memo(D),ue=e=>t.jsx(U,{did:e}),me=(e,r)=>t.jsx(W,{name:e,role:r}),fe=e=>t.jsx(O,{status:e}),xe=(e,r)=>t.jsx(I,{timestamp:e,locale:r}),be=e=>t.jsx(A,{source:e}),ge=(e,r=!1)=>t.jsx(te,{user:e,inService:r}),we=e=>t.jsx(C,{ua:e});export{me as a,fe as b,xe as c,be as d,we as e,ue as f,ge as r,Q as u};
1
+ import{j as t,b1 as b,b4 as k,T as m,am as M,W as s,s as T,U as $,ak as g,bH as f,bI as x,bJ as q,bK as N,bL as L,bM as R,bN as B}from"./vendor-mui-core-BPQ6AEW_.js";import{V as h,z as F,A as S}from"./vendor-ux-D507n6h6.js";import{ar as E,as as P,at as V}from"./index-Cx5JU0Ln.js";import{U as H}from"./ua-parser-DP5omx3I.js";import{a as w}from"./vendor-react-CUXIiAnY.js";import{a as G}from"./vendor-hooks-fhL5FJET.js";import{W as j}from"./did-address-BOsJWqi1.js";import{p as J}from"./util-B41ySVcQ.js";import{u as K}from"./team-CG74iq-4.js";function Y(e){return!e||typeof e!="string"?"break-all":e.includes(" ")?"break-word":"break-all"}function z({logo:e="",name:r="",description:n="",size:l=40,variant:a="rounded",sx:d={},className:p="",logoName:u="",tooltip:o=null}){const i={width:l,height:l,...d},y=typeof r=="string"?r:e,v=t.jsxs(b,{direction:"row",spacing:1,className:`info-card-wrapper ${p}`,sx:{alignItems:"center",cursor:o?"pointer":"default"},children:[e?t.jsx(k,{src:e,alt:u??y,variant:a,sx:i}):t.jsx(k,{variant:a,sx:i,children:y?.slice(0,1)}),t.jsxs(b,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around",wordBreak:Y(r),minWidth:{xs:100,sm:140}},children:[t.jsx(m,{variant:"body1",component:"div",sx:{color:"text.primary"},children:r}),n&&t.jsx(m,{variant:"subtitle1",sx:{color:"text.secondary"},children:n})]})]});return o?t.jsx(M,{title:o,placement:"top-start",slotProps:{tooltip:{sx:{bgcolor:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff",color:c=>c.palette.mode==="dark"?"#ffffff":c.palette.text.primary,boxShadow:"0 2px 10px rgba(0, 0, 0, 0.15)",borderRadius:2,padding:"10px 16px",fontSize:14,maxWidth:400,minWidth:240,wordBreak:"break-word",border:c=>c.palette.mode==="dark"?"1px solid #3a3f48":"1px solid #e0e0e0","& .MuiTooltip-arrow":{color:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff","&::before":{border:c=>c.palette.mode==="dark"?"1px solid #3a3f48":"1px solid #e0e0e0",backgroundColor:c=>c.palette.mode==="dark"?"#2a2e37":"#ffffff"}}}}},children:v}):v}z.propTypes={logo:s.string,name:s.oneOfType([s.string,s.node]).isRequired,description:s.oneOfType([s.string,s.node]),size:s.oneOfType([s.number,s.string]),variant:s.oneOf(["square","rounded","circular"]),sx:s.object,className:s.string,logoName:s.string,tooltip:s.oneOfType([s.string,s.node])};function _(e){try{if(!e.trim())return{device:{icon:t.jsx(x,{fontSize:"small"}),text:"Unknown Device"},os:{icon:null,text:"Unknown OS"},browser:{icon:t.jsx(f,{fontSize:"small"}),text:"Unknown Browser"}};const n=new H(e).getResult();let l="";const a=e.split(/\s+/).find(o=>o.startsWith("arcwallet"));if(a){const o=a.split("/");o.length>1&&S.coerce(o[1])&&(l=S.coerce(o[1]).version)}const d=(()=>{const{type:o="",model:i=""}=n.device;return o==="mobile"?{icon:t.jsx(q,{fontSize:"small"}),text:i||"Mobile Device"}:o==="tablet"?{icon:t.jsx(N,{fontSize:"small"}),text:i||"Tablet"}:{icon:t.jsx(L,{fontSize:"small"}),text:i||"Desktop"}})(),p=(()=>{const{name:o="",version:i=""}=n.os;return o.toLowerCase().includes("mac")?{icon:t.jsx(R,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("ios")?{icon:t.jsx(R,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("android")?{icon:t.jsx(B,{fontSize:"small"}),text:`${o} ${i}`}:o.toLowerCase().includes("windows")?{icon:t.jsx(x,{fontSize:"small"}),text:`${o} ${i}`}:{icon:null,text:o?`${o} ${i}`:"Unknown OS"}})(),u=(()=>{const{name:o="",version:i=""}=n.browser;return{icon:t.jsx(f,{fontSize:"small"}),text:o?`${o} ${i}`:"Unknown Browser"}})();return{device:d,os:p,browser:u,...l?{walletVersion:{icon:null,text:l}}:{}}}catch(r){return console.error("Error parsing user agent:",r),{device:{icon:t.jsx(x,{fontSize:"small"}),text:"Unknown Device"},os:{icon:null,text:"Unknown OS"},browser:{icon:t.jsx(f,{fontSize:"small"}),text:"Unknown Browser"}}}}function C({ua:e}){const r=_(e);return t.jsx(b,{spacing:1,children:Object.entries(r).map(([n,{icon:l,text:a}])=>t.jsxs(g,{sx:{display:"flex",alignItems:"center",gap:1},children:[t.jsx(g,{sx:{display:"flex",alignItems:"center",justifyContent:"center"},children:l}),t.jsx(m,{variant:"body2",sx:{display:"flex"},children:a})]},n))})}C.propTypes={ua:s.string.isRequired};const Q=()=>{const{t:e}=h(),r={$all:e("common.all"),owner:"Owner",admin:"Admin",member:"Member",guest:"Guest"};return{SYSTEM_ROLES:r,formatRoleName:l=>{const a=(l||"").toLowerCase();return a.startsWith("$")?r[a]||a.slice(1):r[a]||a}}},X=(e,r=!1)=>{const n=r?1:.6;switch(e){case"owner":return`rgba(232, 222, 255, ${n})`;case"admin":return`rgba(227, 242, 253, ${n})`;case"member":return`rgba(232, 245, 233, ${n})`;case"guest":return`rgba(245, 245, 245, ${n})`;default:return`rgba(245, 245, 245, ${n})`}},Z=T($)(({role:e})=>({backgroundColor:X(e.toLowerCase()),color:"#000000"})),ee=e=>{switch(e){case"valid":return r=>r.palette.success.light;case"expired":return r=>r.palette.text.disabled;case"revoked":return r=>r.palette.error.light;default:return r=>r.palette.warning.light}},re=T($)(({theme:e,status:r})=>({backgroundColor:ee(r)(e),color:"#FFFFFF"}));function U({did:e}){return t.jsx(j,{size:14,responsive:!1,compact:!0,copyable:!1,did:e})}U.propTypes={did:s.string.isRequired};function I({timestamp:e,locale:r}){return t.jsx(g,{sx:{minWidth:"100px"},children:t.jsx(F,{value:e,locale:r})})}I.propTypes={timestamp:s.number.isRequired,locale:s.string.isRequired};function W({name:e="",role:r}){const{formatRoleName:n}=Q();return t.jsx(Z,{label:n(e||r),size:"small",role:e||r,sx:{borderRadius:1}})}W.propTypes={role:s.string.isRequired,name:s.string};function O({status:e}){const{t:r}=h();return t.jsx(re,{label:r(`team.passport.statusMap.${e}`),size:"small",status:e,sx:{borderRadius:1}})}O.propTypes={status:s.string.isRequired};function A({source:e}){const{t:r}=h();return e?r(`team.passport.sourceMaps.${e}`):"-"}A.propTypes={source:s.string.isRequired};function D({user:e,size:r="default",tooltip:n=!1,inService:l=!1}){const{teamDid:a}=K(),d=w.useMemo(()=>J(e.avatar,a,l),[e.avatar,a,l]),p=w.useMemo(()=>t.jsx(j,{did:e?.did,compact:!0,responsive:!1,sx:{whiteSpace:"nowrap"},size:12}),[e?.did]),u=G(()=>({...e,avatar:d}),[e,d]);return r==="small"?t.jsx(z,{variant:"circular",logo:d,name:t.jsx(m,{sx:{maxWidth:320,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},className:"customer-link-name",children:e.fullName||e.email}),...r==="small"?{tooltip:n?t.jsx(j,{did:e?.did}):!1,size:24}:{description:p,size:36}}):t.jsx(E,{user:u,avatarSize:r==="small"?24:36,cardType:V.Detailed,infoType:P.Minimal,sx:{padding:0,border:"none"},showDid:!0,didProps:{compact:!0,responsive:!1},showHoverCard:!1})}D.propTypes={user:s.object.isRequired,size:s.string,tooltip:s.bool,inService:s.bool};const te=w.memo(D),ue=e=>t.jsx(U,{did:e}),me=(e,r)=>t.jsx(W,{name:e,role:r}),fe=e=>t.jsx(O,{status:e}),xe=(e,r)=>t.jsx(I,{timestamp:e,locale:r}),be=e=>t.jsx(A,{source:e}),ge=(e,r=!1)=>t.jsx(te,{user:e,inService:r}),we=e=>t.jsx(C,{ua:e});export{me as a,fe as b,xe as c,be as d,we as e,ue as f,ge as r,Q as u};
@@ -1 +1 @@
1
- import{j as l,W as n}from"./vendor-mui-core-BPQ6AEW_.js";import{u as m}from"./session-CJQ7HeL8.js";function c({permission:i="",role:t="",component:e=null,children:o=null}){const{session:r}=m();let s=!0;const u=[].concat(i).filter(Boolean),f=[].concat(t).filter(Boolean);if(u.length){const p=r.user&&r.user.permissions||[];s=u.some(a=>p.includes(a))}return s&&f.length&&(s=f.includes(r.user.role)),typeof e=="function"?e(s):typeof o=="function"?o(s):s&&(e||o)||null}function x(i,t,e){return function(r){return l.jsx(c,{permission:t,role:e,children:s=>l.jsx(i,{...r,hasPermission:s})})}}c.propTypes={permission:n.oneOfType([n.string,n.arrayOf(n.string)]),role:n.oneOfType([n.string,n.arrayOf(n.string)]),component:n.oneOfType([n.func,n.node]),children:n.oneOfType([n.func,n.node])};export{c as P,x as w};
1
+ import{j as l,W as n}from"./vendor-mui-core-BPQ6AEW_.js";import{u as m}from"./session-CAOgTWka.js";function c({permission:i="",role:t="",component:e=null,children:o=null}){const{session:r}=m();let s=!0;const u=[].concat(i).filter(Boolean),f=[].concat(t).filter(Boolean);if(u.length){const p=r.user&&r.user.permissions||[];s=u.some(a=>p.includes(a))}return s&&f.length&&(s=f.includes(r.user.role)),typeof e=="function"?e(s):typeof o=="function"?o(s):s&&(e||o)||null}function x(i,t,e){return function(r){return l.jsx(c,{permission:t,role:e,children:s=>l.jsx(i,{...r,hasPermission:s})})}}c.propTypes={permission:n.oneOfType([n.string,n.arrayOf(n.string)]),role:n.oneOfType([n.string,n.arrayOf(n.string)]),component:n.oneOfType([n.func,n.node]),children:n.oneOfType([n.func,n.node])};export{c as P,x as w};
@@ -1 +1 @@
1
- import{j as o}from"./vendor-mui-core-BPQ6AEW_.js";import{C as t}from"./vendor-utils-BSZ4yJws.js";import{I as s}from"./iframe-DB0OcQ6i.js";import{c as e}from"./index-CeWTwSLE.js";import{S as m}from"./studio-DtnYEBjZ.js";import"./vendor-react-CUXIiAnY.js";import"./vendor-ux-D507n6h6.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-Xg-It3qI.js";function L(){const r=new URLSearchParams;r.set("title","Preference Builder"),r.set("schemaKey",t(window.location.origin,e.WELLKNOWN_SERVICE_PATH_PREFIX,"/api/studio/preferences"));const i=`${t(window.location.origin,e.WELLKNOWN_SERVICE_PATH_PREFIX,"/hosted/form-builder/")}?${r.toString()}`;return o.jsx(m,{children:o.jsx(s,{url:i,width:"100%",height:"100%",frameBorder:0,styles:{border:0}})})}export{L as default};
1
+ import{j as o}from"./vendor-mui-core-BPQ6AEW_.js";import{C as t}from"./vendor-utils-BSZ4yJws.js";import{I as s}from"./iframe-DWt09ONv.js";import{c as e}from"./index-Cx5JU0Ln.js";import{S as m}from"./studio-B65PiAI_.js";import"./vendor-react-CUXIiAnY.js";import"./vendor-ux-D507n6h6.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-Cke5eCl6.js";function L(){const r=new URLSearchParams;r.set("title","Preference Builder"),r.set("schemaKey",t(window.location.origin,e.WELLKNOWN_SERVICE_PATH_PREFIX,"/api/studio/preferences"));const i=`${t(window.location.origin,e.WELLKNOWN_SERVICE_PATH_PREFIX,"/hosted/form-builder/")}?${r.toString()}`;return o.jsx(m,{children:o.jsx(s,{url:i,width:"100%",height:"100%",frameBorder:0,styles:{border:0}})})}export{L as default};
@@ -1 +1 @@
1
- import{j as r}from"./vendor-mui-core-BPQ6AEW_.js";import{$ as o}from"./user-center-BNMJJTvG.js";import{H as i}from"./index-CeWTwSLE.js";import{V as e}from"./vendor-ux-D507n6h6.js";import"./vendor-react-CUXIiAnY.js";import"./vendor-hooks-fhL5FJET.js";import"./vendor-utils-BSZ4yJws.js";import"./index-DUFdTykg.js";import"./arrow-down.svg-CNh-MHKv.js";import"./revoke.svg-CuiCGfVW.js";import"./index-ohq48KFN.js";import"./index-C3cD5fjJ.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-C3BK6ln_.js";import"./index-DRYJ0xIl.js";import"./index-BojVbZw0.js";import"./index-BIJNkmLb.js";import"./lottie-web-4koyQiv_.js";function R(){const{t}=e();return r.jsxs(r.Fragment,{children:[r.jsx(i,{children:r.jsx("title",{children:t("pageTitle.userCenter")})}),r.jsx(o,{onlyProfile:!0,currentTab:"",disableAutoRedirect:!0})]})}export{R as default};
1
+ import{j as r}from"./vendor-mui-core-BPQ6AEW_.js";import{$ as o}from"./user-center-CNFpJssw.js";import{H as i}from"./index-Cx5JU0Ln.js";import{V as e}from"./vendor-ux-D507n6h6.js";import"./vendor-react-CUXIiAnY.js";import"./vendor-hooks-fhL5FJET.js";import"./vendor-utils-BSZ4yJws.js";import"./index-CJ1a35hD.js";import"./arrow-down.svg-Cn1jfZom.js";import"./revoke.svg-CuiCGfVW.js";import"./index-k8gDRcJR.js";import"./index-C3cD5fjJ.js";import"./vendor-arcblock-BL_VyzmH.js";import"./index-gy2ZIEt_.js";import"./index-DRYJ0xIl.js";import"./index-BojVbZw0.js";import"./index-BIJNkmLb.js";import"./lottie-web-4koyQiv_.js";function R(){const{t}=e();return r.jsxs(r.Fragment,{children:[r.jsx(i,{children:r.jsx("title",{children:t("pageTitle.userCenter")})}),r.jsx(o,{onlyProfile:!0,currentTab:"",disableAutoRedirect:!0})]})}export{R as default};
@@ -1 +1 @@
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:"Confirmar na sua conta",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:"Confirme em sua conta",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:"Confirme em sua conta",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 em {canceledAt}. Você pode retomar sua assinatura 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:"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",aigne:"AIGNE Hub",branding:"Marca",accessTitle:"Controle de Acesso"},connect:{title:"Conectar ao Blocklet",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ê pode configurar e iniciar o blocklet.",confirm:"Confirme na sua conta",success:"Você foi conectado com sucesso"},domain:{addTitle:"Vincular um domínio existente (Opcional)",title:"Escolha o Domínio",subTitle:"Escolha ou compre um domínio personalizado para o seu Blocklet",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 Domínio DID, o domínio será automaticamente vinculado ao Blocklet.",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:"Conecte-se ao DID Spaces para armazenar com segurança os seus dados Blocklet",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",opening:"Abrindo..."},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",subTitle:"Fornecer combustível para a aplicação para garantir que a aplicação funcione normalmente"},title:"Configuração",next:"Próximo",previous:"Anterior",continue:"Continue",skip:"Pular",startNow:"Começar agora",confirm:"Confirmar",cancel:"Cancelar",aigne:{config:"Configuração",observability:"Observabilidade",playground:"Playground",title:"Configurar AIGNE Hub",subTitle:"Conecte o AIGNE Hub para ativar as capacidades de IA para seu Blocklet"},connectAccount:{title:"Conectar Conta",subTitle:"Conecte múltiplos métodos de login para acesso fácil e seguro ao seu blocklet",wallet:"Carteira DID",walletDesc:"Mais seguro, funciona em todos os dispositivos, altamente recomendado",passkey:"Chave de acesso",passkeyDesc:"Impressão digital ou reconhecimento facial, login seguro com um toque",email:"Conta de Email",emailDesc:"Método padrão do sistema, recomenda-se conectar outras contas para maior segurança",recommended:"Recomendado",connect:"Conectar",connected:"Conectado",statusSuccess:"Perfeito! Você configurou {count} métodos de login e pode escolher a forma mais conveniente de acessar o blocklet.",statusSuggestion:"Recomendamos conectar vários métodos de login para conveniência e segurança - você sempre poderá acessar seu blocklet facilmente.",securityTip:"Importante: Atualmente você só tem login por e-mail. Se perder o acesso, não poderá gerenciar o aplicativo. Recomendamos fortemente conectar carteira ou biometria como backup.",skipBinding:"Pular por agora"},wizardTitle:"Assistente de Configuração",wizardSubTitle:"Parabéns! Blocklet está pronto, vamos configurar rapidamente o conteúdo personalizado",wizardTooltip:"Clique aqui para abrir o assistente novamente",stepOf:"Passo {current} de {total}",finished:"Concluir",branding:{title:"Marca e Logótipo",subTitle:"Dê ao seu Blocklet um nome, descrição e logotipo para destacá-lo."},wizardLoading:"Iniciando o assistente de configuração, aguarde...",accessControl:{title:"Controle de Acesso",subTitle:"Definir o controle de acesso para gerenciar quem pode usar seu Blocklet"},later:"Configurar Mais Tarde"},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",required:"Necessário"},connectCli:{title:"Conectar para gerar chave de acesso",scan:"Scaneie o QR Code para conectar e gerar a chave de acesso",success:"Autorizado com sucesso",successDesc:"Chave de acesso gerada com sucesso. Pode fechar esta página com segurança.",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"},upload:"Agora você pode enviar Blocklets locais usando a chave de acesso gerada.",closeDelay:"Esta página será fechada em {seconds} segundos."},notFoundOauthClient:"Aplicativo OAuth não encontrado, verifique sua configuração OAuth e tente novamente.",userCenter:{addWebhook:"Adicionar notificação externa",cancel:"Cancelar",common:{cancel:"Cancelar",confirm:"Confirmar",invalid:"Inválido",nft:"NFTs",noNFT:"Sem NFT",required:"Obrigatório"},commonSetting:{locale:"Idioma preferido",title:"Configurações Comuns"},confirm:"Confirmar",createdAt:"Primeiro Tempo Ativo",currentPassport:"Passaporte atualmente em uso",currentSession:"Sessão Atual",dangerZone:{deleteAccount:"Excluir Conta",title:"Zona de Perigo",deleteAccountDescription:"Excluir a conta impedirá o login com essa conta, seus dados serão completamente excluídos da plataforma e não poderão ser recuperados.",delete:"Excluir"},destroyMyself:{error:"Falha ao excluir conta"},deviceType:"Tipo de Dispositivo",emailNotification:"Notificação por email",expired:"Expirado",lastLoginIp:"Último IP de Login",logout:"Sair",logoutThisSession:"Sair desta sessão",logoutThisSessionConfirm:"Tem certeza de que deseja sair desta sessão?",noPassport:"Sem passaporte ainda",notificationManagement:"Notificações",offline:"Offline",online:"Ativo",passport:"Passaportes",platform:"Plataforma",privacyManagement:"Privacidade",pushNotification:"Notificação Push (alimentada por PushKit)",remove:"Remover",saveSuccess:"Salvo com sucesso",sessionManagement:"Gerenciamento de Sessão",storage:{spaces:{tips:"Dicas",label:"Entrar no DID Spaces Gateway",connectedWithName:"Você conectou com sucesso ao {name}",gateway:{delete:{failed:"Falha ao excluir gateway"}},provideNFT:{title:"Por favor, mostre o DID Spaces NFT para {appName}",scan:"Use sua Carteira DID para permitir que o app {appName} mostre NFT do DID space",success:"Conectado com sucesso"},connect:{useWallet:"Conectar com DID Wallet",useWalletReconnect:"Reconectar com DID Wallet",providerForStorage:"Por favor, conecte seu DID Spaces"},connected:{title:"DID Spaces Conectados",tag:"Conectado",switch:"Alternar DID Spaces"}}},thirdPartyLogin:{connect:"Conectar",disconnect:"Desconectar",mainProviderCantRemove:"Conta principal não permite remoção",title:"Contas Conectadas",confirmUnbind:"Tem certeza de desvincular {name}?",confirmUnbindDescription:"Você não poderá fazer login nesta conta usando {name} após o desagrupamento. Se ainda estiver logado com {name} após o desagrupamento, uma nova conta será criada automaticamente!",disconnectPasskey:"Tem certeza de remover {name}?",disconnectPasskeyDescription:"Você não poderá entrar com esta passkey após removê-la. Se continuar logado com esta passkey após removê-la, uma nova conta será criada automaticamente!",walletAccountCantRemove:"Conta da carteira não permitida para remover",mainAccount:"Conta Principal",walletAccount:"Conta da Carteira",dontSupportRemoveinArcSphere:"Não suporte remover passkey no ArcSphere, por favor remova no navegador desktop",confirmBindWallet:"Conecte sua carteira DID?",confirmBindWalletDescription:"Uma vez conectado, você poderá fazer login usando o seu DID Wallet. Esta conexão é permanente e não pode ser alterada, portanto certifique-se de que está conectando a conta correta."},unknown:"Desconhecido",updatedAt:"Última Hora Ativa",user:"Usuário",walletNotification:"Notificação da DID Wallet",walletOS:"Wallet OS",webhook:{slack:"Slack",url:"URL personalizada"},webhookTested:"Mensagem de teste enviada",toPublic:'Página pública "{name}"',logoutAll:"Sair de todas as sessões {type}",logoutAllTips:"Não irá sair da sessão atual",logoutAllSession:"Sair de todas as sessões {type}",logoutAllSessionConfirm:"Tem certeza de que deseja sair de todas as sessões {type}?",actions:"Ações"},aigne:{notAuthorized:"Não autorizado",connectTo:"Conectar ao {appName}",accessTips:{tips1:"{appName} poderá acessar {accessAppName} e agir como você",tips2:"Só prossiga se você confiar em {appName}",tips3:'Você pode revogar o acesso a qualquer momento em <a href="{url}" target="_blank">Configurações do {accessAppName}</a>',switchPassport:"Passport {required_roles} será usado para completar a autorização",switchPassportRequired:"Um passaporte {required_roles} é necessário para concluir a autorização; por favor altere a permissão."},cli:"AIGNE CLI"}};export{e as default};
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:"Confirmar na sua conta",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:"Confirme em sua conta",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:"Confirme em sua conta",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 em {canceledAt}. Você pode retomar sua assinatura 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:"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",aigne:"AIGNE Hub",branding:"Marca",accessTitle:"Controle de Acesso"},connect:{title:"Conectar ao Blocklet",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ê pode configurar e iniciar o blocklet.",confirm:"Confirme na sua conta",success:"Você foi conectado com sucesso"},domain:{addTitle:"Vincular um domínio existente (Opcional)",title:"Escolha o Domínio",subTitle:"Escolha ou compre um domínio personalizado para o seu Blocklet",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 Domínio DID, o domínio será automaticamente vinculado ao Blocklet.",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:"Conecte-se ao DID Spaces para armazenar com segurança os seus dados Blocklet",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",opening:"Abrindo..."},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",subTitle:"Fornecer combustível para a aplicação para garantir que a aplicação funcione normalmente"},title:"Configuração",next:"Próximo",previous:"Anterior",continue:"Continue",skip:"Pular",startNow:"Começar agora",confirm:"Confirmar",cancel:"Cancelar",aigne:{config:"Configuração",observability:"Observabilidade",playground:"Playground",title:"Configurar AIGNE Hub",subTitle:"Conecte o AIGNE Hub para ativar as capacidades de IA para seu Blocklet"},connectAccount:{title:"Conectar Conta",subTitle:"Conecte múltiplos métodos de login para acesso fácil e seguro ao seu blocklet",wallet:"Carteira DID",walletDesc:"Mais seguro, funciona em todos os dispositivos, altamente recomendado",passkey:"Chave de acesso",passkeyDesc:"Impressão digital ou reconhecimento facial, login seguro com um toque",email:"Conta de Email",emailDesc:"Método padrão do sistema, recomenda-se conectar outras contas para maior segurança",recommended:"Recomendado",connect:"Conectar",connected:"Conectado",statusSuccess:"Perfeito! Você configurou {count} métodos de login e pode escolher a forma mais conveniente de acessar o blocklet.",statusSuggestion:"Recomendamos conectar vários métodos de login para conveniência e segurança - você sempre poderá acessar seu blocklet facilmente.",securityTip:"Importante: Atualmente você só tem login por e-mail. Se perder o acesso, não poderá gerenciar o aplicativo. Recomendamos fortemente conectar carteira ou biometria como backup.",skipBinding:"Pular por agora"},wizardTitle:"Assistente de Configuração",wizardSubTitle:"Parabéns! Blocklet está pronto, vamos configurar rapidamente o conteúdo personalizado",wizardTooltip:"Clique aqui para abrir o assistente novamente",stepOf:"Passo {current} de {total}",finished:"Concluir",branding:{title:"Marca e Logótipo",subTitle:"Dê ao seu Blocklet um nome, descrição e logotipo para destacá-lo."},wizardLoading:"Iniciando o assistente de configuração, aguarde...",accessControl:{title:"Controle de Acesso",subTitle:"Definir o controle de acesso para gerenciar quem pode usar seu Blocklet"},later:"Configurar Mais Tarde"},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",required:"Necessário"},connectCli:{title:"Conectar para gerar chave de acesso",scan:"Scaneie o QR Code para conectar e gerar a chave de acesso",success:"Autorizado com sucesso",successDesc:"Chave de acesso gerada com sucesso. Pode fechar esta página com segurança.",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"},upload:"Agora você pode enviar Blocklets locais usando a chave de acesso gerada.",closeDelay:"Esta página será fechada em {seconds} segundos."},notFoundOauthClient:"Aplicativo OAuth não encontrado, verifique sua configuração OAuth e tente novamente.",userCenter:{addWebhook:"Adicionar notificação externa",cancel:"Cancelar",common:{cancel:"Cancelar",confirm:"Confirmar",invalid:"Inválido",nft:"NFTs",noNFT:"Sem NFT",required:"Obrigatório"},commonSetting:{locale:"Idioma preferido",title:"Configurações Comuns"},confirm:"Confirmar",createdAt:"Primeiro Tempo Ativo",currentPassport:"Passaporte atualmente em uso",currentSession:"Sessão Atual",dangerZone:{deleteAccount:"Excluir Conta",title:"Zona de Perigo",deleteAccountDescription:"Excluir a conta impedirá o login com essa conta, seus dados serão completamente excluídos da plataforma e não poderão ser recuperados.",delete:"Excluir"},destroyMyself:{error:"Falha ao excluir conta"},deviceType:"Tipo de Dispositivo",emailNotification:"Notificação por email",expired:"Expirado",lastLoginIp:"Último IP de Login",logout:"Sair",logoutThisSession:"Sair desta sessão",logoutThisSessionConfirm:"Tem certeza de que deseja sair desta sessão?",noPassport:"Sem passaporte ainda",notificationManagement:"Notificações",offline:"Offline",online:"Ativo",passport:"Passaportes",platform:"Plataforma",privacyManagement:"Privacidade",pushNotification:"Notificação Push (alimentada por PushKit)",remove:"Remover",saveSuccess:"Salvo com sucesso",sessionManagement:"Gerenciamento de Sessão",storage:{spaces:{tips:"Dicas",label:"Entrar no DID Spaces Gateway",connectedWithName:"Você conectou com sucesso ao {name}",gateway:{delete:{failed:"Falha ao excluir gateway"}},provideNFT:{title:"Por favor, mostre o DID Spaces NFT para {appName}",scan:"Use sua Carteira DID para permitir que o app {appName} mostre NFT do DID space",success:"Conectado com sucesso"},connect:{useWallet:"Conectar com DID Wallet",useWalletReconnect:"Reconectar com DID Wallet",providerForStorage:"Por favor, conecte seu DID Spaces"},connected:{title:"DID Spaces Conectados",tag:"Conectado",switch:"Alternar DID Spaces"}}},thirdPartyLogin:{connect:"Conectar",disconnect:"Desconectar",mainProviderCantRemove:"Conta principal não permite remoção",title:"Contas Conectadas",confirmUnbind:"Tem certeza de desvincular {name}?",confirmUnbindDescription:"Você não poderá fazer login nesta conta usando {name} após o desagrupamento. Se ainda estiver logado com {name} após o desagrupamento, uma nova conta será criada automaticamente!",disconnectPasskey:"Tem certeza de remover {name}?",disconnectPasskeyDescription:"Você não poderá entrar com esta passkey após removê-la. Se continuar logado com esta passkey após removê-la, uma nova conta será criada automaticamente!",walletAccountCantRemove:"Conta da carteira não permitida para remover",mainAccount:"Conta Principal",walletAccount:"Conta da Carteira",dontSupportRemoveinArcSphere:"Não suporte remover passkey no ArcSphere, por favor remova no navegador desktop",confirmBindWallet:"Conecte sua carteira DID?",confirmBindWalletDescription:"Uma vez conectado, você poderá fazer login usando o seu DID Wallet. Esta conexão é permanente e não pode ser alterada, portanto certifique-se de que está conectando a conta correta."},unknown:"Desconhecido",updatedAt:"Última Hora Ativa",user:"Usuário",walletNotification:"Notificação da DID Wallet",walletOS:"Wallet OS",webhook:{slack:"Slack",url:"URL personalizada"},webhookTested:"Mensagem de teste enviada",toPublic:'Página pública "{name}"',logoutAll:"Sair de todas as sessões {type}",logoutAllTips:"Não irá sair da sessão atual",logoutAllSession:"Sair de todas as sessões {type}",logoutAllSessionConfirm:"Tem certeza de que deseja sair de todas as sessões {type}?",actions:"Ações"},aigne:{notAuthorized:"Não autorizado",connectTo:"Conectar ao {appName}",accessTips:{tips1:"{appName} poderá acessar {accessAppName} e agir como você",tips2:"Só prossiga se você confiar em {appName}",tips3:'Você pode revogar o acesso a qualquer momento em <a href="{url}" target="_blank">Configurações do {accessAppName}</a>',switchPassport:"Passport {required_roles} será usado para completar a autorização",switchPassportRequired:"Um passaporte {required_roles} é necessário para concluir a autorização; por favor altere a permissão."},cli:"AIGNE CLI"},invalidAppUrl:{desc:"O URL do App configurado não está na lista de domínios, verifique a configuração.",viewConfig:"Ver Configuração",viewDomains:"Ver Lista de Domínios"}};export{e as default};
@@ -1 +1 @@
1
- import{J as n,j as i,ak as l}from"./vendor-mui-core-BPQ6AEW_.js";import{j as d,r as c}from"./vendor-react-CUXIiAnY.js";import{V as u,b as h}from"./vendor-ux-D507n6h6.js";import g from"./index-CEyMJtzZ.js";import"./vendor-utils-BSZ4yJws.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./index-CeWTwSLE.js";import"./vendor-arcblock-BL_VyzmH.js";import"./confirm-CC1M9sYT.js";import"./index-DBs9Ljax.js";import"./session-CJQ7HeL8.js";import"./did-address-BOsJWqi1.js";import"./empty-spinner-G6osPzkH.js";import"./bundle-avatar-D3mFZG-3.js";import"./shorten-label-D6jbe4l0.js";import"./list-header-Cv_gaaAc.js";import"./click-to-copy-CAd3nEo4.js";import"./question-mark-circle.svg-DK9nTUDZ.js";import"./useSetState-cWrp7qoX.js";import"./engine-BsqbrwXE.js";import"./api-DIucIOLX.js";import"./vendor-mui-x-CWNb8fsW.js";import"./react-beautiful-dnd.esm-Clor-N66.js";import"./raf-schd.esm-JNUhxcps.js";import"./wait-connect-Of13xq9u.js";import"./get-safe-url-DUB5fSqh.js";import"./item-B8ah25gH.js";import"./delete-confirm-DF03c_mf.js";import"./index-C3cD5fjJ.js";import"./index-Dx6HKVtJ.js";import"./index-Dy3yCmIK.js";const r=new URL(window.location.href),s=r.searchParams.get("mode")==="dialog",w=s?"":r.searchParams.get("padding")||"";function T(){const{t:p}=u(),{componentDid:o}=d(),m=n(t=>t.breakpoints.down("md")),a=t=>{t.stopPropagation(),window.parent.postMessage({event:"resourceDialog.close",componentDid:o},"*")};c.useEffect(()=>{window.parent.postMessage({event:"resourceDialog.loaded",componentDid:o},"*")},[o]);const e=i.jsx(g,{padding:w,initUrl:r});return s?i.jsx(h,{className:"studio-dialog",title:p("blocklet.publish.blockletStudio"),maxWidth:!1,fullWidth:!1,PaperProps:{style:m?{width:"100%",height:window.innerHeight}:{maxWidth:1350,minWidth:930,width:"80%"}},onClose:a,showCloseButton:!0,disableEscapeKeyDown:!0,open:!0,children:i.jsx(l,{sx:{height:"72vh",overflow:"auto",position:"relative"},children:e})}):e}export{T as default};
1
+ import{J as n,j as i,ak as l}from"./vendor-mui-core-BPQ6AEW_.js";import{j as d,r as c}from"./vendor-react-CUXIiAnY.js";import{V as u,b as h}from"./vendor-ux-D507n6h6.js";import g from"./index-EH5vv2Ba.js";import"./vendor-utils-BSZ4yJws.js";import"./vendor-hooks-fhL5FJET.js";import"./lottie-web-4koyQiv_.js";import"./index-Cx5JU0Ln.js";import"./vendor-arcblock-BL_VyzmH.js";import"./confirm-g44rz8hw.js";import"./index-DBs9Ljax.js";import"./session-CAOgTWka.js";import"./did-address-BOsJWqi1.js";import"./empty-spinner-G6osPzkH.js";import"./bundle-avatar-DGFHJNB_.js";import"./shorten-label-D6jbe4l0.js";import"./list-header-Cv_gaaAc.js";import"./click-to-copy-CAd3nEo4.js";import"./question-mark-circle.svg-DK9nTUDZ.js";import"./useSetState-cWrp7qoX.js";import"./engine-BXpJ8aB3.js";import"./api-DIucIOLX.js";import"./vendor-mui-x-CWNb8fsW.js";import"./react-beautiful-dnd.esm-Clor-N66.js";import"./raf-schd.esm-JNUhxcps.js";import"./wait-connect-48vXA6Ey.js";import"./get-safe-url-DHtEly1m.js";import"./item-BIqA21iq.js";import"./delete-confirm-Cw0wPOzJ.js";import"./index-C3cD5fjJ.js";import"./index-Dx6HKVtJ.js";import"./index-Dy3yCmIK.js";const r=new URL(window.location.href),s=r.searchParams.get("mode")==="dialog",w=s?"":r.searchParams.get("padding")||"";function T(){const{t:p}=u(),{componentDid:o}=d(),m=n(t=>t.breakpoints.down("md")),a=t=>{t.stopPropagation(),window.parent.postMessage({event:"resourceDialog.close",componentDid:o},"*")};c.useEffect(()=>{window.parent.postMessage({event:"resourceDialog.loaded",componentDid:o},"*")},[o]);const e=i.jsx(g,{padding:w,initUrl:r});return s?i.jsx(h,{className:"studio-dialog",title:p("blocklet.publish.blockletStudio"),maxWidth:!1,fullWidth:!1,PaperProps:{style:m?{width:"100%",height:window.innerHeight}:{maxWidth:1350,minWidth:930,width:"80%"}},onClose:a,showCloseButton:!0,disableEscapeKeyDown:!0,open:!0,children:i.jsx(l,{sx:{height:"72vh",overflow:"auto",position:"relative"},children:e})}):e}export{T as default};
@@ -1 +1 @@
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:"Подтвердите в своем аккаунте",success:"Вы успешно подключены"},needManualClose:"Вход выполнен успешно. Если это окно не закрывается автоматически, пожалуйста, закройте его.",connectWithPassport:"Подключитесь к этому паспорту",invalidRedirectUrl:"Неверный URL-адрес перенаправления",issueKyc:{pageDescription:"Завершите проверку, чтобы защитить свою учетную запись и получить многоразовый NFT, который стоит доверять другим сайтам (проверьте один раз и представьте везде).",verifyButton:"Проверить",sendCodeButton:"Получить код подтверждения",codeSentMessage:"Мы только что отправили код подтверждения на {email}, код будет действителен в течение 30 минут, пожалуйста, проверьте вашу папку входящих или спам.",codeSentSuccess:"Код подтверждения успешно отправлен",claim:"Сертификат подтверждения электронной почты",scan:"Подключите свой кошелек DID, чтобы получить сертификат",confirm:"Подтвердите в своем аккаунте",success:"Поздравляем! Вы успешно подтвердили свой адрес электронной почты и запросили сертификат в своем кошельке DID.",backToHome:"Вернуться на главную",emailPlaceholder:"Ваш адрес электронной почты",verifyTitle:"Подтвердите свой адрес электронной почты",issueTitle:"Претензия Проверка по электронной почте NFT",verifyAction:"Проверка",issueAction:"претензия",issueTarget:"Вы {action} для следующего DID, нажмите на аватар, чтобы добавить еще один DID"},updateKyc:{button:"Представить сертификат",title:"Представьте подтвержденный электронный сертификат",scan:"Подключите свой кошелек DID, чтобы предъявить сертификат",confirm:"Подтвердите в вашем аккаунте",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:"Завершить",aigne:"AIGNE Hub",branding:"Брендинг",accessTitle:"Контроль доступа"},connect:{title:"Подключиться к Blocklet",scan:"Используйте следующие методы, чтобы предоставить профиль пользователя и права владельца Blocklet, затем вы можете настроить и запустить Blocklet.",confirm:"Подтвердите в вашем аккаунте",success:"Вы успешно подключены"},domain:{addTitle:"Привязать существующий домен (необязательно)",title:"Выберите домен",subTitle:"Выберите или купите персональный домен для вашего Blocklet",label:"Пожалуйста, укажите действительное имя домена",tipStart:"Пожалуйста, убедитесь",tipEnd:"Имеет указатель на текущий сервер",addingCert:"Генерация сертификата...",recordType:"Тип записи",recordValue:"Значение записи",genCertSuccess:"{domain} сертификат успешно выдан",genCertFailed:"Не удалось выдать сертификат для {domain}: {message}",genCertFailedForNFTDomain:"Домен NFT успешно добавлен, но не удалось сгенерировать HTTPS-сертификат. Пожалуйста, попробуйте позже.",buyDIDDomainTitle:"Купить DID домен (Необязательно)",buyDIDDomainTips:"После покупки DID Domain, домен будет автоматически привязан к Blocklet.",buyOrConnect:"Вы можете приобрести или настроить существующий домен",skipDescription:"Вы можете временно использовать домены по умолчанию. Эти домены не подходят для использования в продакшене и не должны предоставляться клиентам."},didSpace:{title:"Настройте пространства DID",subTitle:"Подключитесь к DID Spaces для безопасного хранения ваших данных Blocklet",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:"Ваше приложение скоро будет готово",opening:"Открытие..."},fuel:{title:"Требуется топливо для запуска",tipStart:"слот",tipEnd:"Для правильной работы этого приложения требуется баланс, средства хранятся в кошельке приложения и могут использоваться в качестве комиссии за транзакции. Вы можете вывести свой баланс в любое время, когда приложение больше не запущено.",addressTitle:"Учетная запись приложения",addressTip:"Заполните приложение кошельком DID",need:"Нужда",current:"Текущий",fuelApp:"Заполнить приложение топливом",subTitle:"Обеспечьте приложение топливом для обеспечения нормальной работы."},title:"Настройка",next:"Следующий",previous:"Предыдущий",continue:"Продолжить",skip:"Пропустить",startNow:"Начать сейчас",confirm:"Подтвердить",cancel:"Отменить",aigne:{config:"Конфигурация",observability:"Наблюдаемость",playground:"Площадка",title:"Конфиг AIGNE Hub",subTitle:"Подключите AIGNE Hub, чтобы включить функции ИИ для вашего Blocklet."},connectAccount:{title:"Подключить аккаунт",subTitle:"Подключите несколько способов входа для легкого и безопасного доступа к вашему Blocklet",wallet:"DID Wallet",walletDesc:"Более безопасно, работает на разных устройствах, настоятельно рекомендуется",passkey:"Ключ доступа",passkeyDesc:"Отпечаток пальца или распознавание лица, безопасный вход в систему одним касанием",email:"Учетная запись электронной почты",emailDesc:"Системный метод по умолчанию, рекомендуется подключить другие учетные записи для повышения безопасности",recommended:"Рекомендуемое",connect:"Подключить",connected:"Подключено",statusSuccess:"Отлично! Вы настроили {count} способов входа и можете выбрать наиболее удобный способ доступа к Blocklet.",statusSuggestion:"Мы рекомендуем подключить несколько способов входа для удобства и безопасности — вы всегда сможете легко получить доступ к своему blocklet.",securityTip:"Важно: В настоящее время у вас есть только вход по электронной почте. В случае потери вы не сможете управлять приложением. Настоятельно рекомендуется подключить кошелек или биометрию в качестве резервной копии.",skipBinding:"Пропустить сейчас"},wizardTitle:"Мастер настройки",wizardSubTitle:"Поздравляем! Blocklet готов, давайте быстро настроим пользовательский контент",wizardTooltip:"Нажмите здесь, чтобы снова открыть мастер",stepOf:"Шаг {current} из {total}",finished:"Завершить",branding:{title:"Брендинг и логотип",subTitle:"Дайте своему Blocklet имя, описание и логотип, чтобы он выделялся"},wizardLoading:"Запуск мастера установки, пожалуйста, подождите...",accessControl:{title:"Контроль доступа",subTitle:"Установите контроль доступа, чтобы управлять тем, кто может использовать ваш Blocklet"},later:"Настроить позже"},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:"Ключи доступа",required:"Обязательно"},connectCli:{title:"Подключиться для генерации ключа доступа",scan:"Отсканируйте следующий QR-код, чтобы сгенерировать ключ доступа",success:"Успешно авторизовано",successDesc:"Ключ доступа успешно создан. Вы можете безопасно закрыть эту страницу.",invalidSession:"Неверный сеанс",invalidSessionDesc:"Сессия не существует или истекла. Используйте команду 'blocklet deploy --endpoint {endpoint}', чтобы сгенерировать ключ доступа заново.",connectionError:"Не удалось сгенерировать ключ доступа",home:"Назад на главную",tips:{title:"Сгенерировать ключ доступа",item1:"Поддерживает локальное развертывание Blocklets в текущем приложении",item2:"Будет отображаться в списке ключей доступа приложения",item3:"Вы можете отозвать ключ доступа в списке в любое время"},upload:"Теперь вы можете загружать локальные Blocklets с использованием сгенерированного ключа доступа.",closeDelay:"Эта страница будет закрыта через {seconds} секунд."},notFoundOauthClient:"Приложение OAuth не найдено, пожалуйста, проверьте конфигурацию OAuth и попробуйте ещё раз.",userCenter:{addWebhook:"Добавить внешнее уведомление",cancel:"Отмена",common:{cancel:"Отмена",confirm:"Подтвердить",invalid:"Недействительный",nft:"NFTs",noNFT:"Нет NFT",required:"Требуется"},commonSetting:{locale:"Предпочитаемый язык",title:"Общие настройки"},confirm:"Подтвердить",createdAt:"Первое активное время",currentPassport:"Паспорт",currentSession:"Текущая сессия",dangerZone:{deleteAccount:"Удалить аккаунт",title:"Опасная зона",deleteAccountDescription:"Удаление аккаунта сделает невозможным вход с этим аккаунтом, ваши данные будут полностью удалены с платформы и не подлежат восстановлению.",delete:"Удалить"},destroyMyself:{error:"Удаление аккаунта не удалось"},deviceType:"Тип устройства",emailNotification:"Уведомление по электронной почте",expired:"Истекший",lastLoginIp:"Последний IP входа",logout:"Выйти",logoutThisSession:"Выйти из этой сессии",logoutThisSessionConfirm:"Вы уверены, что хотите выйти из этой сессии?",noPassport:"Паспорт еще нет",notificationManagement:"Уведомления",offline:"Не в сети",online:"Активный",passport:"Паспорта",platform:"Платформа",privacyManagement:"Конфиденциальность",pushNotification:"Push-уведомление (powered by PushKit)",remove:"Удалить",saveSuccess:"Сохранение успешно",sessionManagement:"Управление сессиями",storage:{spaces:{tips:"Советы",label:"Введите DID Spaces Gateway",connectedWithName:"Вы успешно подключены к {name}",gateway:{delete:{failed:"Не удалось удалить gateway"}},provideNFT:{title:"Пожалуйста, покажите DID Spaces NFT для {appName}",scan:"Используйте свой DID Wallet, чтобы разрешить приложению {appName} показывать DID Space NFT",success:"Успешно подключено"},connect:{useWallet:"Подключиться к DID Wallet",useWalletReconnect:"Повторно подключиться к DID Wallet",providerForStorage:"Пожалуйста, подключите ваши DID Spaces"},connected:{title:"Подключенные DID Spaces",tag:"Подключено",switch:"Сменить DID Spaces"}}},thirdPartyLogin:{connect:"Подключить",disconnect:"Отключить",mainProviderCantRemove:"Основной аккаунт нельзя удалить",title:"Подключённые аккаунты",confirmUnbind:"Вы уверены, что хотите отвязать {name}?",confirmUnbindDescription:"Вы не сможете войти в этот аккаунт с помощью {name} после разъединения. Если вы все еще вошли с {name} после разъединения, новый аккаунт будет создан автоматически!",disconnectPasskey:"Вы уверены, что хотите удалить {name}?",disconnectPasskeyDescription:"Вы не сможете войти с этим passkey после удаления. Если вы останетесь в системе с этим passkey после удаления, новый аккаунт будет создан автоматически!",walletAccountCantRemove:"Аккаунт Wallet нельзя удалить",mainAccount:"Основной аккаунт",walletAccount:"Аккаунт Wallet",dontSupportRemoveinArcSphere:"Удаление passkey в ArcSphere не поддерживается, пожалуйста, удалите в настольном браузере",confirmBindWallet:"Подключите ваш DID-кошелек?",confirmBindWalletDescription:"После подключения вы сможете войти, используя ваш DID-кошелек. Это соединение постоянно и не может быть изменено, поэтому убедитесь, что вы подключаете правильную учетную запись."},unknown:"Неизвестно",updatedAt:"Время последней активности",user:"Пользователь",walletNotification:"Уведомление DID Wallet",walletOS:"Wallet OS",webhook:{slack:"Slack",url:"Пользовательский URL"},webhookTested:"Тестовое сообщение отправлено",toPublic:'Публичная страница "{name}"',logoutAll:"Выйти из всех сессий {type}",logoutAllTips:"Текущая сессия не будет завершена",logoutAllSession:"Выйти из всех сессий {type}",logoutAllSessionConfirm:"Вы уверены, что хотите выйти из всех сеансов {type}?",actions:"Действия"},aigne:{notAuthorized:"Не авторизован",connectTo:"Подключиться к {appName}",accessTips:{tips1:"{appName} сможет получить доступ к {accessAppName} и действовать от вашего имени",tips2:"Продолжайте только если вы доверяете {appName}",tips3:'Вы можете отозвать доступ в любое время в <a href="{url}" target="_blank">Настройках {accessAppName}</a>',switchPassport:"Passport {required_roles} будет использоваться для завершения авторизации",switchPassportRequired:"Требуется паспорт {required_roles} для завершения авторизации, пожалуйста, измените разрешение."},cli:"AIGNE CLI"}};export{e as default};
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:"Подтвердите в своем аккаунте",success:"Вы успешно подключены"},needManualClose:"Вход выполнен успешно. Если это окно не закрывается автоматически, пожалуйста, закройте его.",connectWithPassport:"Подключитесь к этому паспорту",invalidRedirectUrl:"Неверный URL-адрес перенаправления",issueKyc:{pageDescription:"Завершите проверку, чтобы защитить свою учетную запись и получить многоразовый NFT, который стоит доверять другим сайтам (проверьте один раз и представьте везде).",verifyButton:"Проверить",sendCodeButton:"Получить код подтверждения",codeSentMessage:"Мы только что отправили код подтверждения на {email}, код будет действителен в течение 30 минут, пожалуйста, проверьте вашу папку входящих или спам.",codeSentSuccess:"Код подтверждения успешно отправлен",claim:"Сертификат подтверждения электронной почты",scan:"Подключите свой кошелек DID, чтобы получить сертификат",confirm:"Подтвердите в своем аккаунте",success:"Поздравляем! Вы успешно подтвердили свой адрес электронной почты и запросили сертификат в своем кошельке DID.",backToHome:"Вернуться на главную",emailPlaceholder:"Ваш адрес электронной почты",verifyTitle:"Подтвердите свой адрес электронной почты",issueTitle:"Претензия Проверка по электронной почте NFT",verifyAction:"Проверка",issueAction:"претензия",issueTarget:"Вы {action} для следующего DID, нажмите на аватар, чтобы добавить еще один DID"},updateKyc:{button:"Представить сертификат",title:"Представьте подтвержденный электронный сертификат",scan:"Подключите свой кошелек DID, чтобы предъявить сертификат",confirm:"Подтвердите в вашем аккаунте",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:"Завершить",aigne:"AIGNE Hub",branding:"Брендинг",accessTitle:"Контроль доступа"},connect:{title:"Подключиться к Blocklet",scan:"Используйте следующие методы, чтобы предоставить профиль пользователя и права владельца Blocklet, затем вы можете настроить и запустить Blocklet.",confirm:"Подтвердите в вашем аккаунте",success:"Вы успешно подключены"},domain:{addTitle:"Привязать существующий домен (необязательно)",title:"Выберите домен",subTitle:"Выберите или купите персональный домен для вашего Blocklet",label:"Пожалуйста, укажите действительное имя домена",tipStart:"Пожалуйста, убедитесь",tipEnd:"Имеет указатель на текущий сервер",addingCert:"Генерация сертификата...",recordType:"Тип записи",recordValue:"Значение записи",genCertSuccess:"{domain} сертификат успешно выдан",genCertFailed:"Не удалось выдать сертификат для {domain}: {message}",genCertFailedForNFTDomain:"Домен NFT успешно добавлен, но не удалось сгенерировать HTTPS-сертификат. Пожалуйста, попробуйте позже.",buyDIDDomainTitle:"Купить DID домен (Необязательно)",buyDIDDomainTips:"После покупки DID Domain, домен будет автоматически привязан к Blocklet.",buyOrConnect:"Вы можете приобрести или настроить существующий домен",skipDescription:"Вы можете временно использовать домены по умолчанию. Эти домены не подходят для использования в продакшене и не должны предоставляться клиентам."},didSpace:{title:"Настройте пространства DID",subTitle:"Подключитесь к DID Spaces для безопасного хранения ваших данных Blocklet",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:"Ваше приложение скоро будет готово",opening:"Открытие..."},fuel:{title:"Требуется топливо для запуска",tipStart:"слот",tipEnd:"Для правильной работы этого приложения требуется баланс, средства хранятся в кошельке приложения и могут использоваться в качестве комиссии за транзакции. Вы можете вывести свой баланс в любое время, когда приложение больше не запущено.",addressTitle:"Учетная запись приложения",addressTip:"Заполните приложение кошельком DID",need:"Нужда",current:"Текущий",fuelApp:"Заполнить приложение топливом",subTitle:"Обеспечьте приложение топливом для обеспечения нормальной работы."},title:"Настройка",next:"Следующий",previous:"Предыдущий",continue:"Продолжить",skip:"Пропустить",startNow:"Начать сейчас",confirm:"Подтвердить",cancel:"Отменить",aigne:{config:"Конфигурация",observability:"Наблюдаемость",playground:"Площадка",title:"Конфиг AIGNE Hub",subTitle:"Подключите AIGNE Hub, чтобы включить функции ИИ для вашего Blocklet."},connectAccount:{title:"Подключить аккаунт",subTitle:"Подключите несколько способов входа для легкого и безопасного доступа к вашему Blocklet",wallet:"DID Wallet",walletDesc:"Более безопасно, работает на разных устройствах, настоятельно рекомендуется",passkey:"Ключ доступа",passkeyDesc:"Отпечаток пальца или распознавание лица, безопасный вход в систему одним касанием",email:"Учетная запись электронной почты",emailDesc:"Системный метод по умолчанию, рекомендуется подключить другие учетные записи для повышения безопасности",recommended:"Рекомендуемое",connect:"Подключить",connected:"Подключено",statusSuccess:"Отлично! Вы настроили {count} способов входа и можете выбрать наиболее удобный способ доступа к Blocklet.",statusSuggestion:"Мы рекомендуем подключить несколько способов входа для удобства и безопасности — вы всегда сможете легко получить доступ к своему blocklet.",securityTip:"Важно: В настоящее время у вас есть только вход по электронной почте. В случае потери вы не сможете управлять приложением. Настоятельно рекомендуется подключить кошелек или биометрию в качестве резервной копии.",skipBinding:"Пропустить сейчас"},wizardTitle:"Мастер настройки",wizardSubTitle:"Поздравляем! Blocklet готов, давайте быстро настроим пользовательский контент",wizardTooltip:"Нажмите здесь, чтобы снова открыть мастер",stepOf:"Шаг {current} из {total}",finished:"Завершить",branding:{title:"Брендинг и логотип",subTitle:"Дайте своему Blocklet имя, описание и логотип, чтобы он выделялся"},wizardLoading:"Запуск мастера установки, пожалуйста, подождите...",accessControl:{title:"Контроль доступа",subTitle:"Установите контроль доступа, чтобы управлять тем, кто может использовать ваш Blocklet"},later:"Настроить позже"},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:"Ключи доступа",required:"Обязательно"},connectCli:{title:"Подключиться для генерации ключа доступа",scan:"Отсканируйте следующий QR-код, чтобы сгенерировать ключ доступа",success:"Успешно авторизовано",successDesc:"Ключ доступа успешно создан. Вы можете безопасно закрыть эту страницу.",invalidSession:"Неверный сеанс",invalidSessionDesc:"Сессия не существует или истекла. Используйте команду 'blocklet deploy --endpoint {endpoint}', чтобы сгенерировать ключ доступа заново.",connectionError:"Не удалось сгенерировать ключ доступа",home:"Назад на главную",tips:{title:"Сгенерировать ключ доступа",item1:"Поддерживает локальное развертывание Blocklets в текущем приложении",item2:"Будет отображаться в списке ключей доступа приложения",item3:"Вы можете отозвать ключ доступа в списке в любое время"},upload:"Теперь вы можете загружать локальные Blocklets с использованием сгенерированного ключа доступа.",closeDelay:"Эта страница будет закрыта через {seconds} секунд."},notFoundOauthClient:"Приложение OAuth не найдено, пожалуйста, проверьте конфигурацию OAuth и попробуйте ещё раз.",userCenter:{addWebhook:"Добавить внешнее уведомление",cancel:"Отмена",common:{cancel:"Отмена",confirm:"Подтвердить",invalid:"Недействительный",nft:"NFTs",noNFT:"Нет NFT",required:"Требуется"},commonSetting:{locale:"Предпочитаемый язык",title:"Общие настройки"},confirm:"Подтвердить",createdAt:"Первое активное время",currentPassport:"Паспорт",currentSession:"Текущая сессия",dangerZone:{deleteAccount:"Удалить аккаунт",title:"Опасная зона",deleteAccountDescription:"Удаление аккаунта сделает невозможным вход с этим аккаунтом, ваши данные будут полностью удалены с платформы и не подлежат восстановлению.",delete:"Удалить"},destroyMyself:{error:"Удаление аккаунта не удалось"},deviceType:"Тип устройства",emailNotification:"Уведомление по электронной почте",expired:"Истекший",lastLoginIp:"Последний IP входа",logout:"Выйти",logoutThisSession:"Выйти из этой сессии",logoutThisSessionConfirm:"Вы уверены, что хотите выйти из этой сессии?",noPassport:"Паспорт еще нет",notificationManagement:"Уведомления",offline:"Не в сети",online:"Активный",passport:"Паспорта",platform:"Платформа",privacyManagement:"Конфиденциальность",pushNotification:"Push-уведомление (powered by PushKit)",remove:"Удалить",saveSuccess:"Сохранение успешно",sessionManagement:"Управление сессиями",storage:{spaces:{tips:"Советы",label:"Введите DID Spaces Gateway",connectedWithName:"Вы успешно подключены к {name}",gateway:{delete:{failed:"Не удалось удалить gateway"}},provideNFT:{title:"Пожалуйста, покажите DID Spaces NFT для {appName}",scan:"Используйте свой DID Wallet, чтобы разрешить приложению {appName} показывать DID Space NFT",success:"Успешно подключено"},connect:{useWallet:"Подключиться к DID Wallet",useWalletReconnect:"Повторно подключиться к DID Wallet",providerForStorage:"Пожалуйста, подключите ваши DID Spaces"},connected:{title:"Подключенные DID Spaces",tag:"Подключено",switch:"Сменить DID Spaces"}}},thirdPartyLogin:{connect:"Подключить",disconnect:"Отключить",mainProviderCantRemove:"Основной аккаунт нельзя удалить",title:"Подключённые аккаунты",confirmUnbind:"Вы уверены, что хотите отвязать {name}?",confirmUnbindDescription:"Вы не сможете войти в этот аккаунт с помощью {name} после разъединения. Если вы все еще вошли с {name} после разъединения, новый аккаунт будет создан автоматически!",disconnectPasskey:"Вы уверены, что хотите удалить {name}?",disconnectPasskeyDescription:"Вы не сможете войти с этим passkey после удаления. Если вы останетесь в системе с этим passkey после удаления, новый аккаунт будет создан автоматически!",walletAccountCantRemove:"Аккаунт Wallet нельзя удалить",mainAccount:"Основной аккаунт",walletAccount:"Аккаунт Wallet",dontSupportRemoveinArcSphere:"Удаление passkey в ArcSphere не поддерживается, пожалуйста, удалите в настольном браузере",confirmBindWallet:"Подключите ваш DID-кошелек?",confirmBindWalletDescription:"После подключения вы сможете войти, используя ваш DID-кошелек. Это соединение постоянно и не может быть изменено, поэтому убедитесь, что вы подключаете правильную учетную запись."},unknown:"Неизвестно",updatedAt:"Время последней активности",user:"Пользователь",walletNotification:"Уведомление DID Wallet",walletOS:"Wallet OS",webhook:{slack:"Slack",url:"Пользовательский URL"},webhookTested:"Тестовое сообщение отправлено",toPublic:'Публичная страница "{name}"',logoutAll:"Выйти из всех сессий {type}",logoutAllTips:"Текущая сессия не будет завершена",logoutAllSession:"Выйти из всех сессий {type}",logoutAllSessionConfirm:"Вы уверены, что хотите выйти из всех сеансов {type}?",actions:"Действия"},aigne:{notAuthorized:"Не авторизован",connectTo:"Подключиться к {appName}",accessTips:{tips1:"{appName} сможет получить доступ к {accessAppName} и действовать от вашего имени",tips2:"Продолжайте только если вы доверяете {appName}",tips3:'Вы можете отозвать доступ в любое время в <a href="{url}" target="_blank">Настройках {accessAppName}</a>',switchPassport:"Passport {required_roles} будет использоваться для завершения авторизации",switchPassportRequired:"Требуется паспорт {required_roles} для завершения авторизации, пожалуйста, измените разрешение."},cli:"AIGNE CLI"},invalidAppUrl:{desc:"Настроенный URL-адрес приложения отсутствует в списке доменов. Проверьте конфигурацию.",viewConfig:"Просмотр конфигурации",viewDomains:"Просмотреть список доменов"}};export{e as default};
@@ -1 +1 @@
1
- import{r as v}from"./vendor-react-CUXIiAnY.js";import{D,n as B,j as t,W as r,ak as h,T as b,c2 as k,at as T,am as $,c3 as O,c4 as _}from"./vendor-mui-core-BPQ6AEW_.js";import{B as q,p as J}from"./dashboard-DeaTlS85.js";import{V as L,i as V,U as K,h as Q}from"./vendor-ux-D507n6h6.js";import{aH as w,aI as C,_ as X,ac as N,e as f,aJ as Y}from"./index-CeWTwSLE.js";import{W as Z}from"./vendor-utils-BSZ4yJws.js";import{x as P}from"./index-DRYJ0xIl.js";import{B as S}from"./base-chart-DJyGks5q.js";import{B as ee}from"./bundle-avatar-D3mFZG-3.js";import"./vendor-arcblock-BL_VyzmH.js";import"./vendor-hooks-fhL5FJET.js";import"./useLocalStorage-BBhMedc2.js";import"./index-DBs9Ljax.js";import"./confirm-CC1M9sYT.js";import"./get-safe-url-DUB5fSqh.js";import"./session-CJQ7HeL8.js";import"./team-CKeHAIQC.js";import"./isURL-HS60va5G.js";import"./use-app-logo-D38VoM1R.js";import"./passport-DMZiwbhL.js";import"./create-passport-svg-BLBQxsEK.js";import"./useAsyncRetry-a2Wewn3F.js";import"./useAsync-Cc-dQGZL.js";import"./useSetState-cWrp7qoX.js";import"./index-Xg-It3qI.js";import"./over-due-invoice-payment-Hi-FNl9O.js";import"./use-mobile-C5RjvO7g.js";import"./lottie-web-4koyQiv_.js";import"./index-DA2Pny4B.js";function U({title:i="",cpus:y=[],currentLoad:s=0,history:p=[],empty:l=null,onHover:u=()=>{},hoverIndex:a=null}){const{t:d,locale:x}=L(),e=D(),n=`${i||d("common.cpu")} (${Math.floor(s||0)}%)`,o=100,m=80,c=H=>`${H}%`,M=[{max:m,color:B(e.palette.primary.main,e.palette.mode==="dark"?.15:.08)},{min:m,max:100,color:B(e.palette.warning.main,e.palette.mode==="dark"?.18:.12)},{min:100,color:B(e.palette.error.main,e.palette.mode==="dark"?.25:.18)}],j={silent:!0,symbol:["none","none"],data:[{yAxis:100,lineStyle:{color:e.palette.error.main,type:"dashed",width:1.5},label:{formatter:`${c(100)}`,position:"insideEndTop",color:e.palette.text.secondary,padding:[2,4],borderRadius:2}},{yAxis:m,lineStyle:{color:e.palette.warning.light,type:"dashed",width:1.5},label:{formatter:`${c(m)}`,position:"insideEndTop",color:e.palette.text.secondary,padding:[2,4],borderRadius:2}}]},I=t.jsx("span",{children:`${d("system.cores")}: ${y?.length||0}`}),R=H=>w(Number(H),"HH:mm",x);return t.jsx(S,{title:n,total:o,history:p,valueFn:c,xAxisFormat:R,visualMapPieces:M,markLineData:j,extraInfo:I,empty:l,onHover:u,hoverIndex:a})}U.propTypes={title:r.string,cpus:r.array,currentLoad:r.number,history:r.array,empty:r.node,onHover:r.func,hoverIndex:r.number};function z({instanceCount:i=null,title:y="",total:s=null,used:p=null,history:l=[],empty:u=null,onHover:a=()=>{},hoverIndex:d=null}){const{t:x,locale:e}=L(),n=D(),o=!!s,m=s-p,c=o?`(${C(p)}, ${Math.floor(p/s*100)}%)`:"",M=`${y||x("common.memory")} ${c}`,j=Math.ceil(s*.8),I=g=>P(g,{short:!0,iec:!0}),R=[];i&&R.push({title:x("system.instances"),metric:i}),o&&R.push({title:x("system.free"),metric:I(m)});const H=[{max:j,color:B(n.palette.primary.main,n.palette.mode==="dark"?.15:.08)},{min:j,max:s,color:B(n.palette.warning.main,n.palette.mode==="dark"?.18:.12)},{min:s,color:B(n.palette.error.main,n.palette.mode==="dark"?.25:.18)}],F={silent:!0,symbol:["none","none"],data:[{yAxis:s,lineStyle:{color:n.palette.error.main,type:"dashed",width:1.5},label:{formatter:`${I(s)}`,position:"insideEndTop",color:n.palette.text.secondary,padding:[2,4],borderRadius:2}},{yAxis:j,lineStyle:{color:n.palette.warning.light,type:"dashed",width:1.5},label:{formatter:`${I(j)}`,position:"insideEndTop",color:n.palette.text.secondary,padding:[2,4],borderRadius:2}}]},A=t.jsx(t.Fragment,{children:R.map((g,G)=>t.jsxs(h,{sx:{marginLeft:G===0?0:1,display:"inline-flex"},children:[g.title,": ",g.metric]},g.title))}),W=g=>w(Number(g),"HH:mm",e);return t.jsx(S,{title:M,total:s,history:l,valueFn:I,xAxisFormat:W,visualMapPieces:H,markLineData:F,extraInfo:A,empty:u,onHover:a,hoverIndex:d})}z.propTypes={title:r.string,instanceCount:r.number,total:r.number,used:r.number,history:r.array,empty:r.node,onHover:r.func,hoverIndex:r.number};function E({blocklet:i,cpuHistory:y=[],memoryHistory:s=[],...p}){const{t:l}=L(),{info:u}=X(),{runtimeHistory:a}=N(),[d,x]=v.useState(null),e=v.useCallback(o=>i.status!=="running"?t.jsx(b,{children:l("blocklet.runtimeInfo.noRunning")}):o.length?null:t.jsx(V,{children:l("common.empty")}),[i.status,l]),n=v.useCallback(o=>{x(o)},[]);return a.length===0?t.jsx(b,{children:l("blocklet.runtimeInfo.noRunning")}):t.jsxs(te,{component:"div",...p,memoryHistory:s,cpuHistory:y,children:[t.jsxs(k,{className:"page-metrics",container:!0,spacing:5,children:[t.jsx(k,{sx:{pt:"16px !important"},size:12,children:t.jsx(b,{sx:{fontSize:"16px",fontWeight:"bold"},children:"CPU"})}),a?.map(o=>t.jsx(k,{sx:{pt:"16px !important"},size:{lg:4,md:6,sm:6,xs:12},children:t.jsx(U,{title:`${o.name} CPU`,empty:e(o.cpu),currentLoad:o.appRuntimeInfo?.cpuUsage||0,cpus:o.appRuntimeInfo?.cpus||[],history:o.cpu,onHover:n,hoverIndex:d,style:{height:150}})},`${o.key}-cpu`))]}),t.jsxs(k,{className:"page-metrics",container:!0,spacing:5,sx:{mt:1},children:[t.jsx(k,{sx:{pt:"16px !important"},size:12,children:t.jsx(b,{sx:{fontSize:"16px",fontWeight:"bold"},children:"Memory"})}),a?.map(o=>t.jsx(k,{sx:{pt:"16px !important"},size:{lg:4,md:6,sm:6,xs:12},children:t.jsx(z,{title:`${o.name} Memory`,empty:e(o.memory),total:u.runtimeConfig?.blockletMaxMemoryLimit?P.parseSize(`${u.runtimeConfig.blockletMaxMemoryLimit*(o.key===i?.meta?.did?a.length-1:1)}MiB`):0,used:o.appRuntimeInfo?.memoryUsage||0,history:o.memory,onHover:n,hoverIndex:d,style:{height:150}})},`${o.key}-memory`))]})]})}E.propTypes={blocklet:r.object.isRequired,cpuHistory:r.arrayOf(r.shape({date:r.number,value:r.number})),memoryHistory:r.arrayOf(r.shape({date:r.number,value:r.number}))};const te=T(b)``;function we(){const{t:i,locale:y}=L(),[s,p]=v.useState(6),{blocklet:l,actions:{refreshBlocklet:u}}=N(),a=v.useMemo(()=>{const e=[];return f.forEachBlockletSync(l,(n,{ancestors:o,id:m,level:c})=>{n?.meta?.did&&n.meta.did!==l.meta.did&&e.push({type:"blocklet",groupId:l.meta.did,groupName:f.getDisplayName(l),id:m,name:f.getDisplayName(n,!0),blocklet:l,component:n,level:c-1>=0?c-1:0,runtimeInfo:n.runtimeInfo,ancestors:o})}),e},[l]);v.useEffect(()=>{u({hours:s});const e=setInterval(()=>{u({hours:s})},1e3*10);return()=>{clearInterval(e)}},[s]);const d=e=>J(Number(e||0),{locale:Y(y)}),x=[{label:i("common.name"),name:"name",options:{customBodyRenderLite(e){const{name:n,component:o,level:m,ancestors:c}=a[e];return t.jsxs(h,{sx:{display:"flex",alignItems:"center",pl:m*2},children:[t.jsx(ee,{size:20,blocklet:o,ancestors:c}),t.jsx(h,{sx:{ml:1},children:n}),t.jsx(q,{variant:"pin",style:{marginLeft:8},status:f.isBlockletRunning(o)?"running":o.status,source:o.source,progress:o.progress})]})}}},{label:i("common.uptime"),name:"runtimeInfo.uptime",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?d(n?.uptime):t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.memoryUsage"),name:"runtimeInfo.memoryUsage",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?C(n?.memoryUsage||0):t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.cpuUsage"),name:"runtimeInfo.cpuUsage",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?`${(n?.cpuUsage||0).toFixed(1)}%`:t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("analytics.runtime"),name:"runtimeInfo.runtime",options:{customBodyRenderLite(e){const{runtimeInfo:n}=a[e];return n?.uptime?t.jsxs(h,{sx:{display:"flex",alignItems:"center"},children:[t.jsx(K,{icon:n?.runningDocker?"catppuccin:docker-ignore":"logos:nodejs-icon"}),t.jsx(h,{sx:{ml:1},children:n?.runningDocker?"Docker":"Nodejs"})]}):null}}},{label:i("blocklet.runtimeInfo.processId"),name:"runtimeInfo.pid",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?n?.pid:t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.port"),name:"runtimeInfo.port",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?n?.port:t.jsx($,{title:i("common.noData"),children:"--"})}}}];return t.jsxs(ne,{component:"div",children:[t.jsxs(h,{sx:{display:"flex",justifyContent:"space-between",flexDirection:"row",mb:2},children:[t.jsx(b,{component:"h3",variant:"h5",color:"textPrimary",style:{fontSize:18,fontWeight:"bold"},sx:{mb:2},children:i("analytics.trend")}),t.jsx(O,{size:"small",exclusive:!0,value:s,onChange:(e,n)=>{Z(n)&&p(n)},children:[1,3,6,12,24].map(e=>t.jsxs(_,{value:e,children:[e,"H"]},e))})]}),t.jsx(h,{children:t.jsx(E,{blocklet:l})}),t.jsx(h,{sx:{mt:3},children:t.jsx(Q,{title:i("analytics.detail"),className:"monitor-table",locale:y,data:a,columns:x,options:{search:!1,download:!1,filter:!1,print:!1,viewColumns:!1,pagination:!1,rowsPerPage:100}})})]})}const ne=T(b)``;export{we as default};
1
+ import{r as v}from"./vendor-react-CUXIiAnY.js";import{D,n as B,j as t,W as r,ak as h,T as b,c2 as k,at as T,am as $,c3 as O,c4 as _}from"./vendor-mui-core-BPQ6AEW_.js";import{B as q,p as J}from"./dashboard-Bcb81CDA.js";import{V as L,i as V,U as K,h as Q}from"./vendor-ux-D507n6h6.js";import{aH as w,aI as C,_ as X,ac as N,e as f,aJ as Y}from"./index-Cx5JU0Ln.js";import{W as Z}from"./vendor-utils-BSZ4yJws.js";import{x as P}from"./index-DRYJ0xIl.js";import{B as S}from"./base-chart-DJyGks5q.js";import{B as ee}from"./bundle-avatar-DGFHJNB_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./vendor-hooks-fhL5FJET.js";import"./useLocalStorage-BBhMedc2.js";import"./index-DBs9Ljax.js";import"./confirm-g44rz8hw.js";import"./get-safe-url-DHtEly1m.js";import"./session-CAOgTWka.js";import"./team-CG74iq-4.js";import"./isURL-CohjRVvR.js";import"./use-app-logo-BAJtA-EN.js";import"./passport-Dsw-sETA.js";import"./create-passport-svg-BLBQxsEK.js";import"./useAsyncRetry-a2Wewn3F.js";import"./useAsync-Cc-dQGZL.js";import"./useSetState-cWrp7qoX.js";import"./index-Cke5eCl6.js";import"./over-due-invoice-payment-Bsp5V3AP.js";import"./use-mobile-C5RjvO7g.js";import"./lottie-web-4koyQiv_.js";import"./index-DA2Pny4B.js";function U({title:i="",cpus:y=[],currentLoad:s=0,history:p=[],empty:l=null,onHover:u=()=>{},hoverIndex:a=null}){const{t:d,locale:x}=L(),e=D(),n=`${i||d("common.cpu")} (${Math.floor(s||0)}%)`,o=100,m=80,c=H=>`${H}%`,M=[{max:m,color:B(e.palette.primary.main,e.palette.mode==="dark"?.15:.08)},{min:m,max:100,color:B(e.palette.warning.main,e.palette.mode==="dark"?.18:.12)},{min:100,color:B(e.palette.error.main,e.palette.mode==="dark"?.25:.18)}],j={silent:!0,symbol:["none","none"],data:[{yAxis:100,lineStyle:{color:e.palette.error.main,type:"dashed",width:1.5},label:{formatter:`${c(100)}`,position:"insideEndTop",color:e.palette.text.secondary,padding:[2,4],borderRadius:2}},{yAxis:m,lineStyle:{color:e.palette.warning.light,type:"dashed",width:1.5},label:{formatter:`${c(m)}`,position:"insideEndTop",color:e.palette.text.secondary,padding:[2,4],borderRadius:2}}]},I=t.jsx("span",{children:`${d("system.cores")}: ${y?.length||0}`}),R=H=>w(Number(H),"HH:mm",x);return t.jsx(S,{title:n,total:o,history:p,valueFn:c,xAxisFormat:R,visualMapPieces:M,markLineData:j,extraInfo:I,empty:l,onHover:u,hoverIndex:a})}U.propTypes={title:r.string,cpus:r.array,currentLoad:r.number,history:r.array,empty:r.node,onHover:r.func,hoverIndex:r.number};function z({instanceCount:i=null,title:y="",total:s=null,used:p=null,history:l=[],empty:u=null,onHover:a=()=>{},hoverIndex:d=null}){const{t:x,locale:e}=L(),n=D(),o=!!s,m=s-p,c=o?`(${C(p)}, ${Math.floor(p/s*100)}%)`:"",M=`${y||x("common.memory")} ${c}`,j=Math.ceil(s*.8),I=g=>P(g,{short:!0,iec:!0}),R=[];i&&R.push({title:x("system.instances"),metric:i}),o&&R.push({title:x("system.free"),metric:I(m)});const H=[{max:j,color:B(n.palette.primary.main,n.palette.mode==="dark"?.15:.08)},{min:j,max:s,color:B(n.palette.warning.main,n.palette.mode==="dark"?.18:.12)},{min:s,color:B(n.palette.error.main,n.palette.mode==="dark"?.25:.18)}],F={silent:!0,symbol:["none","none"],data:[{yAxis:s,lineStyle:{color:n.palette.error.main,type:"dashed",width:1.5},label:{formatter:`${I(s)}`,position:"insideEndTop",color:n.palette.text.secondary,padding:[2,4],borderRadius:2}},{yAxis:j,lineStyle:{color:n.palette.warning.light,type:"dashed",width:1.5},label:{formatter:`${I(j)}`,position:"insideEndTop",color:n.palette.text.secondary,padding:[2,4],borderRadius:2}}]},A=t.jsx(t.Fragment,{children:R.map((g,G)=>t.jsxs(h,{sx:{marginLeft:G===0?0:1,display:"inline-flex"},children:[g.title,": ",g.metric]},g.title))}),W=g=>w(Number(g),"HH:mm",e);return t.jsx(S,{title:M,total:s,history:l,valueFn:I,xAxisFormat:W,visualMapPieces:H,markLineData:F,extraInfo:A,empty:u,onHover:a,hoverIndex:d})}z.propTypes={title:r.string,instanceCount:r.number,total:r.number,used:r.number,history:r.array,empty:r.node,onHover:r.func,hoverIndex:r.number};function E({blocklet:i,cpuHistory:y=[],memoryHistory:s=[],...p}){const{t:l}=L(),{info:u}=X(),{runtimeHistory:a}=N(),[d,x]=v.useState(null),e=v.useCallback(o=>i.status!=="running"?t.jsx(b,{children:l("blocklet.runtimeInfo.noRunning")}):o.length?null:t.jsx(V,{children:l("common.empty")}),[i.status,l]),n=v.useCallback(o=>{x(o)},[]);return a.length===0?t.jsx(b,{children:l("blocklet.runtimeInfo.noRunning")}):t.jsxs(te,{component:"div",...p,memoryHistory:s,cpuHistory:y,children:[t.jsxs(k,{className:"page-metrics",container:!0,spacing:5,children:[t.jsx(k,{sx:{pt:"16px !important"},size:12,children:t.jsx(b,{sx:{fontSize:"16px",fontWeight:"bold"},children:"CPU"})}),a?.map(o=>t.jsx(k,{sx:{pt:"16px !important"},size:{lg:4,md:6,sm:6,xs:12},children:t.jsx(U,{title:`${o.name} CPU`,empty:e(o.cpu),currentLoad:o.appRuntimeInfo?.cpuUsage||0,cpus:o.appRuntimeInfo?.cpus||[],history:o.cpu,onHover:n,hoverIndex:d,style:{height:150}})},`${o.key}-cpu`))]}),t.jsxs(k,{className:"page-metrics",container:!0,spacing:5,sx:{mt:1},children:[t.jsx(k,{sx:{pt:"16px !important"},size:12,children:t.jsx(b,{sx:{fontSize:"16px",fontWeight:"bold"},children:"Memory"})}),a?.map(o=>t.jsx(k,{sx:{pt:"16px !important"},size:{lg:4,md:6,sm:6,xs:12},children:t.jsx(z,{title:`${o.name} Memory`,empty:e(o.memory),total:u.runtimeConfig?.blockletMaxMemoryLimit?P.parseSize(`${u.runtimeConfig.blockletMaxMemoryLimit*(o.key===i?.meta?.did?a.length-1:1)}MiB`):0,used:o.appRuntimeInfo?.memoryUsage||0,history:o.memory,onHover:n,hoverIndex:d,style:{height:150}})},`${o.key}-memory`))]})]})}E.propTypes={blocklet:r.object.isRequired,cpuHistory:r.arrayOf(r.shape({date:r.number,value:r.number})),memoryHistory:r.arrayOf(r.shape({date:r.number,value:r.number}))};const te=T(b)``;function we(){const{t:i,locale:y}=L(),[s,p]=v.useState(6),{blocklet:l,actions:{refreshBlocklet:u}}=N(),a=v.useMemo(()=>{const e=[];return f.forEachBlockletSync(l,(n,{ancestors:o,id:m,level:c})=>{n?.meta?.did&&n.meta.did!==l.meta.did&&e.push({type:"blocklet",groupId:l.meta.did,groupName:f.getDisplayName(l),id:m,name:f.getDisplayName(n,!0),blocklet:l,component:n,level:c-1>=0?c-1:0,runtimeInfo:n.runtimeInfo,ancestors:o})}),e},[l]);v.useEffect(()=>{u({hours:s});const e=setInterval(()=>{u({hours:s})},1e3*10);return()=>{clearInterval(e)}},[s]);const d=e=>J(Number(e||0),{locale:Y(y)}),x=[{label:i("common.name"),name:"name",options:{customBodyRenderLite(e){const{name:n,component:o,level:m,ancestors:c}=a[e];return t.jsxs(h,{sx:{display:"flex",alignItems:"center",pl:m*2},children:[t.jsx(ee,{size:20,blocklet:o,ancestors:c}),t.jsx(h,{sx:{ml:1},children:n}),t.jsx(q,{variant:"pin",style:{marginLeft:8},status:f.isBlockletRunning(o)?"running":o.status,source:o.source,progress:o.progress})]})}}},{label:i("common.uptime"),name:"runtimeInfo.uptime",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?d(n?.uptime):t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.memoryUsage"),name:"runtimeInfo.memoryUsage",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?C(n?.memoryUsage||0):t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.cpuUsage"),name:"runtimeInfo.cpuUsage",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?`${(n?.cpuUsage||0).toFixed(1)}%`:t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("analytics.runtime"),name:"runtimeInfo.runtime",options:{customBodyRenderLite(e){const{runtimeInfo:n}=a[e];return n?.uptime?t.jsxs(h,{sx:{display:"flex",alignItems:"center"},children:[t.jsx(K,{icon:n?.runningDocker?"catppuccin:docker-ignore":"logos:nodejs-icon"}),t.jsx(h,{sx:{ml:1},children:n?.runningDocker?"Docker":"Nodejs"})]}):null}}},{label:i("blocklet.runtimeInfo.processId"),name:"runtimeInfo.pid",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?n?.pid:t.jsx($,{title:i("common.noData"),children:"--"})}}},{label:i("blocklet.runtimeInfo.port"),name:"runtimeInfo.port",options:{customBodyRenderLite(e){const{runtimeInfo:n,component:o}=a[e];return f.isBlockletRunning(o)?n?.port:t.jsx($,{title:i("common.noData"),children:"--"})}}}];return t.jsxs(ne,{component:"div",children:[t.jsxs(h,{sx:{display:"flex",justifyContent:"space-between",flexDirection:"row",mb:2},children:[t.jsx(b,{component:"h3",variant:"h5",color:"textPrimary",style:{fontSize:18,fontWeight:"bold"},sx:{mb:2},children:i("analytics.trend")}),t.jsx(O,{size:"small",exclusive:!0,value:s,onChange:(e,n)=>{Z(n)&&p(n)},children:[1,3,6,12,24].map(e=>t.jsxs(_,{value:e,children:[e,"H"]},e))})]}),t.jsx(h,{children:t.jsx(E,{blocklet:l})}),t.jsx(h,{sx:{mt:3},children:t.jsx(Q,{title:i("analytics.detail"),className:"monitor-table",locale:y,data:a,columns:x,options:{search:!1,download:!1,filter:!1,print:!1,viewColumns:!1,pagination:!1,rowsPerPage:100}})})]})}const ne=T(b)``;export{we as default};
@@ -0,0 +1 @@
1
+ import{g as o}from"./index-Cx5JU0Ln.js";const e=o();export{e as b};
@@ -1,4 +1,4 @@
1
- import{V as Z,U as O,p as ee,H as E,b as ae,n as de,h as ue,j as De}from"./vendor-ux-D507n6h6.js";import{g as oe,k as K,b as w,a as me,h as ge}from"./vendor-hooks-fhL5FJET.js";import{r as k}from"./vendor-react-CUXIiAnY.js";import{j as e,ak as P,am as q,I as N,bg as Y,W as g,D as te,z as _,A as We,Q as X,T as Fe,cP as Ne,cQ as Le,M as Ve,y as L,b5 as J,b6 as V,a5 as G,F as Me,U as Ue,b7 as Ze,a7 as $e,b9 as Xe,bq as ve,br as Ce,b1 as Ge,at as Ke}from"./vendor-mui-core-BPQ6AEW_.js";import{ac as se,_ as re,c as T,aA as fe,bd as Pe}from"./index-CeWTwSLE.js";import{n as U,a1 as Q,Z as $,a2 as Ye,C as Je,G as be,a3 as ye,c as M,o as je}from"./vendor-utils-BSZ4yJws.js";import{u as pe,C as F}from"./index.esm-DTmS4tth.js";import{S as le}from"./simple-select-BW6-FLlf.js";import{u as Se}from"./team-CKeHAIQC.js";import{l as Qe}from"./arrow-down.svg-CNh-MHKv.js";import{A as we}from"./config-xLf7B5vm.js";import{u as eo}from"./use-mobile-ajdJIsoX.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./session-CJQ7HeL8.js";import"./isURL-HS60va5G.js";import"./use-app-logo-D38VoM1R.js";const oo={width:24,height:24,body:'<path fill="currentColor" d="M11 14.2V6q0-.425.288-.713T12 5q.425 0 .713.288T13 6v8.2l2.9-2.9q.275-.275.7-.275t.7.275q.275.275.275.7t-.275.7l-4.6 4.6q-.3.3-.7.3t-.7-.3l-4.6-4.6q-.275-.275-.275-.7t.275-.7q.275-.275.7-.275t.7.275l2.9 2.9Z"/>'},to={width:24,height:24,body:'<path fill="currentColor" d="m11 8.8l-2.9 2.9q-.275.275-.7.275t-.7-.275q-.275-.275-.275-.7t.275-.7l4.6-4.6q.3-.3.7-.3t.7.3l4.6 4.6q.275.275.275.7t-.275.7q-.275.275-.7.275t-.7-.275L13 8.8V17q0 .425-.288.713T12 18q-.425 0-.713-.288T11 17V8.8Z"/>'},he={width:24,height:24,body:'<path fill="currentColor" d="M7 21q-.825 0-1.413-.588T5 19V6q-.425 0-.713-.288T4 5q0-.425.288-.713T5 4h4q0-.425.288-.713T10 3h4q.425 0 .713.288T15 4h4q.425 0 .713.288T20 5q0 .425-.288.713T19 6v13q0 .825-.588 1.413T17 21H7Zm2-4h2V8H9v9Zm4 0h2V8h-2v9Z"/>'},xe={width:24,height:24,body:'<path fill="currentColor" d="M4 21q-.425 0-.713-.288T3 20v-2.425q0-.4.15-.763t.425-.637L16.2 3.575q.3-.275.663-.425t.762-.15q.4 0 .775.15t.65.45L20.425 5q.3.275.437.65T21 6.4q0 .4-.138.763t-.437.662l-12.6 12.6q-.275.275-.638.425t-.762.15H4ZM17.6 7.8L19 6.4L17.6 5l-1.4 1.4l1.4 1.4Z"/>'};function He({enabled:o,showUp:t=!0,showDown:c=!0,showSwitch:n=!0,showDelete:s=!0,showEdit:i=!0,disableEdit:d=!1,disableSwitch:u=!1,onClickUp:l=()=>{},onClickDown:r=()=>{},onClickSwitch:f=()=>{},onClickDelete:h=()=>{},onClickEdit:H=()=>{}}){const{t:x}=Z();return e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:0},onClick:I=>I.stopPropagation(),children:[i?e.jsx(q,{title:x("common.edit"),children:e.jsx(N,{size:"small",onClick:H,color:"success",disabled:d,children:e.jsx(O,{icon:xe,fontSize:18})})}):null,s?e.jsx(q,{title:x("common.delete"),children:e.jsx(N,{size:"small",onClick:h,color:"error",children:e.jsx(O,{icon:he,fontSize:18})})}):null,n?e.jsx(q,{title:x(o?"common.enabled":"common.disabled"),children:e.jsx(Y,{size:"small",checked:o,onClick:f,disabled:u})}):null,t?e.jsx(q,{title:x("common.moveUp"),children:e.jsx(N,{size:"small",onClick:l,disabled:d,children:e.jsx(O,{icon:to,fontSize:20})})}):null,c?e.jsx(q,{title:x("common.moveDown"),children:e.jsx(N,{size:"small",onClick:r,disabled:d,children:e.jsx(O,{icon:oo,fontSize:20})})}):null]})}He.propTypes={enabled:g.bool.isRequired,showUp:g.bool,showDown:g.bool,showSwitch:g.bool,showDelete:g.bool,showEdit:g.bool,disableEdit:g.bool,disableSwitch:g.bool,onClickUp:g.func,onClickDown:g.func,onClickSwitch:g.func,onClickDelete:g.func,onClickEdit:g.func};function Re({ref:o=null}){const{t}=k.useContext(ee),{blocklet:c}=se(),{api:n}=re(),s=c?.meta?.did,d=te()?.transitions?.duration?.leavingScreen||300,u=oe({mode:"add",show:!1,isDefaultRule:!1,callback:U,get dialogTitle(){return this.mode==="edit"?t("securityRule.edit"):this.mode==="view"?t("securityRule.view"):t("securityRule.add")}}),l=K(async()=>{const{accessPolicies:y}=await n.getBlockletAccessPolicies({input:{did:s}});return Q(y,C=>C.isProtected?1:0)},{manual:!0}),r=K(async()=>{const{responseHeaderPolicies:y}=await n.getBlockletResponseHeaderPolicies({input:{did:s}});return Q(y,C=>C.isProtected?1:0)},{manual:!0}),{handleSubmit:f,control:h,watch:H,setValue:x,getValues:I,reset:B,formState:{errors:A}}=pe({mode:"onChange",defaultValues:{componentDid:"",pathPattern:"",responseHeaderPolicyId:"",accessPolicyId:"",remark:""}}),D=w(()=>{B(),u.mode="add"}),S=w(()=>{u.show=!1,setTimeout(()=>{D()},d)}),b=w((y,C=null)=>{u.show=!0,C&&(u.isDefaultRule=C.id===T.SECURITY_RULE_DEFAULT_ID,u.mode="edit",x("componentDid",C.componentDid),x("pathPattern",C.pathPattern),x("responseHeaderPolicyId",C.responseHeaderPolicyId),x("accessPolicyId",C.accessPolicyId),x("remark",C.remark||"")),y?u.callback=y:u.mode="view",l.run(),r.run()});k.useImperativeHandle(o,()=>({open:b,close:S}),[b,S]);const m=w(()=>{const[y,C]=I(["accessPolicyId","responseHeaderPolicyId"]);return!y&&!C?t("securityRule.form.accessPolicyOrResponseHeaderPolicyRequired"):!0}),a=w(y=>{const C=m();if(C===!0){const ne=u.isDefaultRule?$(y,"componentDid"):y;u.callback(ne,S)}else E.error(C)}),j=H("componentDid"),z=w(y=>{const C=y?.trim();if(!C)return t("common.requiredErrorText",{name:t("securityRule.form.pathPattern")});if(j){if(C.startsWith("/"))return t("securityRule.form.pathPatternErrorText")}else if(!C.startsWith("/")&&C!=="*")return t("securityRule.form.pathPatternErrorText");return!0}),p=w(y=>y?.trim()?!0:t("common.requiredErrorText",{name:t("securityRule.form.accessPolicy")})),v=w(y=>y?.trim()?!0:t("common.requiredErrorText",{name:t("securityRule.form.responseHeaderPolicy")})),R=me(()=>{const C=(c?.children||[]).find(ne=>ne.meta.did===j);return C?.mountPoint?Ye(C.mountPoint):null},[c,j]);return e.jsx(ae,{open:u.show,title:u.dialogTitle,onClose:S,PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(de,{color:"primary",autoFocus:!0,variant:"contained",onClick:f(a),children:t("common.confirm")}),children:e.jsxs("form",{noValidate:!0,autoComplete:"off",children:[u.isDefaultRule?null:e.jsx(F,{name:"componentDid",control:h,render:({field:y})=>e.jsx(le,{fullWidth:!0,margin:"dense",size:"small",label:t("securityRule.form.component"),placeholer:t("securityRule.form.componentPlaceholder"),options:c.children.map(C=>({title:C.meta.title,value:C.meta.did,description:C.mountPoint})),error:!!A?.componentDid?.message,helperText:A?.componentDid?.message||"Choose belong to component",...$(y,"ref"),readOnly:u.mode==="view"})}),e.jsx(F,{name:"pathPattern",control:h,rules:{validate:z},render:({field:y})=>e.jsx(_,{fullWidth:!0,required:!0,margin:"dense",size:"small",placeholder:t("securityRule.form.pathPatternPlaceholder"),label:t("securityRule.form.pathPattern"),error:!!A?.pathPattern?.message,helperText:A?.pathPattern?.message||"/abc/bcd or /abc or /abc/*",...y,disabled:u.isDefaultRule||u.mode==="view",slotProps:{input:{startAdornment:R?e.jsx(We,{position:"start",children:R}):null}}})}),e.jsx(F,{name:"accessPolicyId",control:h,rules:{validate:u.isDefaultRule?p:U},render:({field:y})=>e.jsx(le,{fullWidth:!0,required:u.isDefaultRule,margin:"dense",size:"small",label:t("securityRule.form.accessPolicy"),placeholer:t("securityRule.form.accessPolicyPlaceholder"),options:(l.data||[]).map(C=>({value:C.id,title:C.name,description:C.description})),error:!!A?.accessPolicyId?.message,helperText:A?.accessPolicyId?.message||t("securityRule.form.accessPolicyHelperText"),...$(y,"ref"),disabled:u.mode==="view"})}),e.jsx(F,{name:"responseHeaderPolicyId",control:h,rules:{validate:u.isDefaultRule?v:U},render:({field:y})=>e.jsx(le,{fullWidth:!0,required:u.isDefaultRule,margin:"dense",size:"small",label:t("securityRule.form.responseHeaderPolicy"),placeholer:t("securityRule.form.responseHeaderPolicyPlaceholder"),options:(r.data||[]).map(C=>({title:C.name,value:C.id,description:C.description})),error:!!A?.responseHeaderPolicyId?.message,helperText:A?.responseHeaderPolicyId?.message||t("securityRule.form.responseHeaderPolicyHelperText"),...$(y,"ref"),disabled:u.mode==="view"})}),e.jsx(F,{name:"remark",control:h,render:({field:y})=>e.jsx(_,{fullWidth:!0,multiline:!0,minRows:3,maxRows:7,size:"small",margin:"dense",placeholder:t("securityRule.form.remarkPlaceholder"),label:t("securityRule.form.remark"),helperText:A?.message,...y,disabled:u.mode==="view"})})]})})}Re.propTypes={ref:g.any};const W=async(o,t="Failed to saved")=>{try{await o()}catch(c){E.error(c?.message||t)}};function so(){const{t:o,locale:t}=Z(),{blocklet:c}=se(),{api:n}=re(),s=c?.meta?.did,i=te(),d=k.useRef(null),u=k.useRef(null),{confirmApi:l,confirmHolder:r}=fe(),f=K(async()=>{const{securityRules:p}=await n.getBlockletSecurityRules({input:{did:s,includeDisabled:!0}});return p}),h=p=>p.id===T.SECURITY_RULE_DEFAULT_ID,H=w(p=>(c?.children||[]).find(R=>R.meta.did===p)?.mountPoint),x=(f.data||[]).map(p=>{if(p.componentDid){const v=H(p.componentDid);p._disabled=v===void 0}return p}),I=x.filter(p=>!h(p)),B=(p,v)=>{W(async()=>{const R=p.target.checked;await n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,enabled:R}}}),E.success(o("common.succeeded")),f.run()})},A=(p,v,R)=>{W(async()=>{const y=R-1,C=x[y];await Promise.all([n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,priority:C.priority}}}),n.updateBlockletSecurityRule({input:{did:s,data:{id:C.id,priority:v.priority}}})]),E.success(o("common.succeeded")),f.run()})},D=(p,v,R)=>{W(async()=>{const y=R+1,C=x[y];await Promise.all([n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,priority:C.priority}}}),n.updateBlockletSecurityRule({input:{did:s,data:{id:C.id,priority:v.priority}}})]),E.success(o("common.succeeded")),f.run()})},S=()=>{d.current.open((p,v)=>{W(async()=>{await n.addBlockletSecurityRule({input:{did:s,data:p}}),E.success(o("common.succeeded")),f.run(),v()})})},b=(p,v)=>{d.current.open((R,y)=>{W(async()=>{await n.updateBlockletSecurityRule({input:{did:s,data:{...R,id:v.id}}}),E.success(o("common.succeeded")),f.run(),y()})},v)},m=(p,v)=>{l.open({title:o("securityRule.delete.title"),content:o("securityRule.delete.description"),confirmButtonText:o("common.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:o("common.cancel"),onConfirm(R){W(async()=>{await n.deleteBlockletSecurityRule({input:{did:s,id:v.id}}),E.success(o("common.succeeded")),f.run(),R()})}})},a={sort:!1,download:!1,filter:!1,print:!1,search:!1,viewColumns:!1,expandableRowsOnClick:!0,searchDebounceTime:600,onRowClick(p,{dataIndex:v},R){if(u.current?.contains(R.target)){const y=x[v];d.current.open(void 0,y)}},setRowProps:(p,v)=>x[v]._disabled?{title:o("securityRule.useless"),style:{backgroundColor:i.palette.action.disabledBackground,cursor:"default"}}:{}},j=[e.jsx(X,{size:"small",variant:"outlined",onClick:()=>{f.run()},sx:{mr:1},children:o("common.refresh")},"refresh"),e.jsx(X,{size:"small",variant:"contained",onClick:S,children:o("common.add")})],z=[{label:o("securityRule.form.pathPattern"),name:"pathPattern",options:{customBodyRenderLite(p){const v=x[p];return e.jsx(P,{sx:{whiteSpace:"nowrap"},children:v.id===T.SECURITY_RULE_DEFAULT_ID?"Default":Je(H(v.componentDid),v.pathPattern)})}}},{label:o("responseHeaderPolicy.title"),name:"responseHeaderPolicy",options:{customBodyRenderLite(p){return x[p].responseHeaderPolicy?.name}}},{label:o("accessPolicy.title"),name:"accessPolicyId",options:{customBodyRenderLite(p){return x[p].accessPolicy?.name}}},{label:o("securityRule.form.remark"),name:"remark"},{label:o("common.actions"),name:"",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRenderLite(p){const v=x[p],R=h(v);return e.jsx(He,{disableEdit:v._disabled,disableSwitch:v._disabled,enabled:v.enabled,showSwitch:!R,showDelete:!R,showUp:p>0&&!R,showDown:p<I.length-1&&!R,onClickSwitch:y=>{B(y,v)},onClickUp:y=>{A(y,v,p)},onClickDown:y=>{D(y,v,p)},onClickEdit:y=>{b(y,v)},onClickDelete:y=>{m(y,v)}})}}}].filter(Boolean);return e.jsxs(P,{sx:{display:"flex",flexDirection:"column",gap:2},ref:u,children:[e.jsx(ue,{verticalKeyWidth:100,locale:t,title:e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:1},children:[o("securityRule.title")," ",e.jsx(Fe,{variant:"body2",children:o("securityRule.sortByDescription")})]}),data:x,columns:z,customButtons:j,options:a,loading:f.loading}),e.jsx(Re,{ref:d}),r]})}const Te={width:24,height:24,body:'<path fill="currentColor" d="M5 21q-.825 0-1.413-.588T3 19V5q0-.825.588-1.413T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.588 1.413T19 21H5Zm0-2h14V7H5v12Zm7-2q-2.05 0-3.663-1.113T6 13q.725-1.775 2.337-2.888T12 9q2.05 0 3.663 1.113T18 13q-.725 1.775-2.337 2.888T12 17Zm0-2.5q-.625 0-1.063-.438T10.5 13q0-.625.438-1.063T12 11.5q.625 0 1.063.438T13.5 13q0 .625-.438 1.063T12 14.5Zm0 1q1.05 0 1.775-.725T14.5 13q0-1.05-.725-1.775T12 10.5q-1.05 0-1.775.725T9.5 13q0 1.05.725 1.775T12 15.5Z"/>'};function ke({value:o,onChange:t,...c}){const n="roles",s="roles_reverse",{t:i,locale:d}=Z(),u=[...we,{value:n,icon:Ne,title:{zh:"指定通行证可访问",en:"Accessible to selected passports"},description:{zh:"只有指定的通行证可以访问",en:"Only specified passports can access"}},{value:s,icon:Le,title:{zh:"指定通行证不可以访问",en:"Accessible to not selected passports"},description:{zh:"只有指定的通行证不可以访问",en:"Only specified passports can't access"}}];return e.jsx(_,{...c,label:i("blocklet.config.access.description"),select:!0,fullWidth:!0,value:o,onChange:t,sx:{"& .MuiInputBase-input":{width:"calc(100% - 46px)","& > .MuiBox-root:first-of-type":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},slotProps:{select:{renderValue:l=>{const r=u.find(f=>f.value===l);return r?e.jsxs(P,{children:[e.jsx(P,{component:r.icon,sx:{mr:1,fontSize:18,verticalAlign:"text-bottom",color:"text.secondary"}}),r.title[d]||r.title.en]}):null},IconComponent:l=>e.jsx(Qe,{...l,width:20,height:20})}},children:u.map(l=>e.jsxs(Ve,{value:l.value,sx:{display:"block","& .tip":{fontSize:"12px",color:`${({theme:r})=>r.palette.text.secondary}`}},children:[e.jsxs(P,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(P,{component:l.icon,sx:{mr:1,fontSize:18,verticalAlign:"text-bottom",color:"text.secondary"}}),e.jsx(P,{children:l.title[d]||l.title.en})]}),e.jsx(P,{className:"tip",children:l.description[d]||l.description.en})]}))})}ke.propTypes={value:g.string,onChange:g.func};const Ae=o=>{const t={name:o.name,description:o.description},{roles:c=null,reverse:n}=o;return c===null?n===!1&&(t.whoCanAccess=T.WHO_CAN_ACCESS.ALL,t.roles=null):c.length===0&&n===!0?(t.whoCanAccess=T.WHO_CAN_ACCESS.INVITED,t.roles=[]):ye(c,[T.WHO_CAN_ACCESS.OWNER])&&n===!1?(t.whoCanAccess=T.WHO_CAN_ACCESS.OWNER,t.roles=[T.WHO_CAN_ACCESS.OWNER]):ye(c,[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN])&&n===!1?(t.whoCanAccess=T.WHO_CAN_ACCESS.ADMIN,t.roles=[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN]):(t.whoCanAccess=n?"roles_reverse":"roles",t.roles=c),t},ro=o=>{const t={name:o.name,description:o.description},{roles:c=null,whoCanAccess:n}=o;return n==="roles"?(t.roles=c,t.reverse=!1):n==="roles_reverse"?(t.roles=c,t.reverse=!0):n===T.WHO_CAN_ACCESS.ALL?(t.roles=null,t.reverse=!1):n===T.WHO_CAN_ACCESS.INVITED?(t.roles=[],t.reverse=!0):n===T.WHO_CAN_ACCESS.OWNER?(t.roles=[T.WHO_CAN_ACCESS.OWNER],t.reverse=!1):n===T.WHO_CAN_ACCESS.ADMIN&&(t.roles=[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN],t.reverse=!1),t},no=o=>o instanceof Object?{origin:o.origin?{override:o.origin?.override??!0,value:o.origin?.value?.join(`
1
+ import{V as Z,U as O,p as ee,H as E,b as ae,n as de,h as ue,j as De}from"./vendor-ux-D507n6h6.js";import{g as oe,k as K,b as w,a as me,h as ge}from"./vendor-hooks-fhL5FJET.js";import{r as k}from"./vendor-react-CUXIiAnY.js";import{j as e,ak as P,am as q,I as N,bg as Y,W as g,D as te,z as _,A as We,Q as X,T as Fe,cP as Ne,cQ as Le,M as Ve,y as L,b5 as J,b6 as V,a5 as G,F as Me,U as Ue,b7 as Ze,a7 as $e,b9 as Xe,bq as ve,br as Ce,b1 as Ge,at as Ke}from"./vendor-mui-core-BPQ6AEW_.js";import{ac as se,_ as re,c as T,aA as fe,bd as Pe}from"./index-Cx5JU0Ln.js";import{n as U,a1 as Q,Z as $,a2 as Ye,C as Je,G as be,a3 as ye,c as M,o as je}from"./vendor-utils-BSZ4yJws.js";import{u as pe,C as F}from"./index.esm-DTmS4tth.js";import{S as le}from"./simple-select-Cg51s1gv.js";import{u as Se}from"./team-CG74iq-4.js";import{l as Qe}from"./arrow-down.svg-Cn1jfZom.js";import{A as we}from"./config-jsIGlbhn.js";import{u as eo}from"./use-mobile-ajdJIsoX.js";import"./lottie-web-4koyQiv_.js";import"./vendor-arcblock-BL_VyzmH.js";import"./session-CAOgTWka.js";import"./isURL-CohjRVvR.js";import"./use-app-logo-BAJtA-EN.js";const oo={width:24,height:24,body:'<path fill="currentColor" d="M11 14.2V6q0-.425.288-.713T12 5q.425 0 .713.288T13 6v8.2l2.9-2.9q.275-.275.7-.275t.7.275q.275.275.275.7t-.275.7l-4.6 4.6q-.3.3-.7.3t-.7-.3l-4.6-4.6q-.275-.275-.275-.7t.275-.7q.275-.275.7-.275t.7.275l2.9 2.9Z"/>'},to={width:24,height:24,body:'<path fill="currentColor" d="m11 8.8l-2.9 2.9q-.275.275-.7.275t-.7-.275q-.275-.275-.275-.7t.275-.7l4.6-4.6q.3-.3.7-.3t.7.3l4.6 4.6q.275.275.275.7t-.275.7q-.275.275-.7.275t-.7-.275L13 8.8V17q0 .425-.288.713T12 18q-.425 0-.713-.288T11 17V8.8Z"/>'},he={width:24,height:24,body:'<path fill="currentColor" d="M7 21q-.825 0-1.413-.588T5 19V6q-.425 0-.713-.288T4 5q0-.425.288-.713T5 4h4q0-.425.288-.713T10 3h4q.425 0 .713.288T15 4h4q.425 0 .713.288T20 5q0 .425-.288.713T19 6v13q0 .825-.588 1.413T17 21H7Zm2-4h2V8H9v9Zm4 0h2V8h-2v9Z"/>'},xe={width:24,height:24,body:'<path fill="currentColor" d="M4 21q-.425 0-.713-.288T3 20v-2.425q0-.4.15-.763t.425-.637L16.2 3.575q.3-.275.663-.425t.762-.15q.4 0 .775.15t.65.45L20.425 5q.3.275.437.65T21 6.4q0 .4-.138.763t-.437.662l-12.6 12.6q-.275.275-.638.425t-.762.15H4ZM17.6 7.8L19 6.4L17.6 5l-1.4 1.4l1.4 1.4Z"/>'};function He({enabled:o,showUp:t=!0,showDown:c=!0,showSwitch:n=!0,showDelete:s=!0,showEdit:i=!0,disableEdit:d=!1,disableSwitch:u=!1,onClickUp:l=()=>{},onClickDown:r=()=>{},onClickSwitch:f=()=>{},onClickDelete:h=()=>{},onClickEdit:H=()=>{}}){const{t:x}=Z();return e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:0},onClick:I=>I.stopPropagation(),children:[i?e.jsx(q,{title:x("common.edit"),children:e.jsx(N,{size:"small",onClick:H,color:"success",disabled:d,children:e.jsx(O,{icon:xe,fontSize:18})})}):null,s?e.jsx(q,{title:x("common.delete"),children:e.jsx(N,{size:"small",onClick:h,color:"error",children:e.jsx(O,{icon:he,fontSize:18})})}):null,n?e.jsx(q,{title:x(o?"common.enabled":"common.disabled"),children:e.jsx(Y,{size:"small",checked:o,onClick:f,disabled:u})}):null,t?e.jsx(q,{title:x("common.moveUp"),children:e.jsx(N,{size:"small",onClick:l,disabled:d,children:e.jsx(O,{icon:to,fontSize:20})})}):null,c?e.jsx(q,{title:x("common.moveDown"),children:e.jsx(N,{size:"small",onClick:r,disabled:d,children:e.jsx(O,{icon:oo,fontSize:20})})}):null]})}He.propTypes={enabled:g.bool.isRequired,showUp:g.bool,showDown:g.bool,showSwitch:g.bool,showDelete:g.bool,showEdit:g.bool,disableEdit:g.bool,disableSwitch:g.bool,onClickUp:g.func,onClickDown:g.func,onClickSwitch:g.func,onClickDelete:g.func,onClickEdit:g.func};function Re({ref:o=null}){const{t}=k.useContext(ee),{blocklet:c}=se(),{api:n}=re(),s=c?.meta?.did,d=te()?.transitions?.duration?.leavingScreen||300,u=oe({mode:"add",show:!1,isDefaultRule:!1,callback:U,get dialogTitle(){return this.mode==="edit"?t("securityRule.edit"):this.mode==="view"?t("securityRule.view"):t("securityRule.add")}}),l=K(async()=>{const{accessPolicies:y}=await n.getBlockletAccessPolicies({input:{did:s}});return Q(y,C=>C.isProtected?1:0)},{manual:!0}),r=K(async()=>{const{responseHeaderPolicies:y}=await n.getBlockletResponseHeaderPolicies({input:{did:s}});return Q(y,C=>C.isProtected?1:0)},{manual:!0}),{handleSubmit:f,control:h,watch:H,setValue:x,getValues:I,reset:B,formState:{errors:A}}=pe({mode:"onChange",defaultValues:{componentDid:"",pathPattern:"",responseHeaderPolicyId:"",accessPolicyId:"",remark:""}}),D=w(()=>{B(),u.mode="add"}),S=w(()=>{u.show=!1,setTimeout(()=>{D()},d)}),b=w((y,C=null)=>{u.show=!0,C&&(u.isDefaultRule=C.id===T.SECURITY_RULE_DEFAULT_ID,u.mode="edit",x("componentDid",C.componentDid),x("pathPattern",C.pathPattern),x("responseHeaderPolicyId",C.responseHeaderPolicyId),x("accessPolicyId",C.accessPolicyId),x("remark",C.remark||"")),y?u.callback=y:u.mode="view",l.run(),r.run()});k.useImperativeHandle(o,()=>({open:b,close:S}),[b,S]);const m=w(()=>{const[y,C]=I(["accessPolicyId","responseHeaderPolicyId"]);return!y&&!C?t("securityRule.form.accessPolicyOrResponseHeaderPolicyRequired"):!0}),a=w(y=>{const C=m();if(C===!0){const ne=u.isDefaultRule?$(y,"componentDid"):y;u.callback(ne,S)}else E.error(C)}),j=H("componentDid"),z=w(y=>{const C=y?.trim();if(!C)return t("common.requiredErrorText",{name:t("securityRule.form.pathPattern")});if(j){if(C.startsWith("/"))return t("securityRule.form.pathPatternErrorText")}else if(!C.startsWith("/")&&C!=="*")return t("securityRule.form.pathPatternErrorText");return!0}),p=w(y=>y?.trim()?!0:t("common.requiredErrorText",{name:t("securityRule.form.accessPolicy")})),v=w(y=>y?.trim()?!0:t("common.requiredErrorText",{name:t("securityRule.form.responseHeaderPolicy")})),R=me(()=>{const C=(c?.children||[]).find(ne=>ne.meta.did===j);return C?.mountPoint?Ye(C.mountPoint):null},[c,j]);return e.jsx(ae,{open:u.show,title:u.dialogTitle,onClose:S,PaperProps:{style:{minHeight:"unset"}},actions:e.jsx(de,{color:"primary",autoFocus:!0,variant:"contained",onClick:f(a),children:t("common.confirm")}),children:e.jsxs("form",{noValidate:!0,autoComplete:"off",children:[u.isDefaultRule?null:e.jsx(F,{name:"componentDid",control:h,render:({field:y})=>e.jsx(le,{fullWidth:!0,margin:"dense",size:"small",label:t("securityRule.form.component"),placeholer:t("securityRule.form.componentPlaceholder"),options:c.children.map(C=>({title:C.meta.title,value:C.meta.did,description:C.mountPoint})),error:!!A?.componentDid?.message,helperText:A?.componentDid?.message||"Choose belong to component",...$(y,"ref"),readOnly:u.mode==="view"})}),e.jsx(F,{name:"pathPattern",control:h,rules:{validate:z},render:({field:y})=>e.jsx(_,{fullWidth:!0,required:!0,margin:"dense",size:"small",placeholder:t("securityRule.form.pathPatternPlaceholder"),label:t("securityRule.form.pathPattern"),error:!!A?.pathPattern?.message,helperText:A?.pathPattern?.message||"/abc/bcd or /abc or /abc/*",...y,disabled:u.isDefaultRule||u.mode==="view",slotProps:{input:{startAdornment:R?e.jsx(We,{position:"start",children:R}):null}}})}),e.jsx(F,{name:"accessPolicyId",control:h,rules:{validate:u.isDefaultRule?p:U},render:({field:y})=>e.jsx(le,{fullWidth:!0,required:u.isDefaultRule,margin:"dense",size:"small",label:t("securityRule.form.accessPolicy"),placeholer:t("securityRule.form.accessPolicyPlaceholder"),options:(l.data||[]).map(C=>({value:C.id,title:C.name,description:C.description})),error:!!A?.accessPolicyId?.message,helperText:A?.accessPolicyId?.message||t("securityRule.form.accessPolicyHelperText"),...$(y,"ref"),disabled:u.mode==="view"})}),e.jsx(F,{name:"responseHeaderPolicyId",control:h,rules:{validate:u.isDefaultRule?v:U},render:({field:y})=>e.jsx(le,{fullWidth:!0,required:u.isDefaultRule,margin:"dense",size:"small",label:t("securityRule.form.responseHeaderPolicy"),placeholer:t("securityRule.form.responseHeaderPolicyPlaceholder"),options:(r.data||[]).map(C=>({title:C.name,value:C.id,description:C.description})),error:!!A?.responseHeaderPolicyId?.message,helperText:A?.responseHeaderPolicyId?.message||t("securityRule.form.responseHeaderPolicyHelperText"),...$(y,"ref"),disabled:u.mode==="view"})}),e.jsx(F,{name:"remark",control:h,render:({field:y})=>e.jsx(_,{fullWidth:!0,multiline:!0,minRows:3,maxRows:7,size:"small",margin:"dense",placeholder:t("securityRule.form.remarkPlaceholder"),label:t("securityRule.form.remark"),helperText:A?.message,...y,disabled:u.mode==="view"})})]})})}Re.propTypes={ref:g.any};const W=async(o,t="Failed to saved")=>{try{await o()}catch(c){E.error(c?.message||t)}};function so(){const{t:o,locale:t}=Z(),{blocklet:c}=se(),{api:n}=re(),s=c?.meta?.did,i=te(),d=k.useRef(null),u=k.useRef(null),{confirmApi:l,confirmHolder:r}=fe(),f=K(async()=>{const{securityRules:p}=await n.getBlockletSecurityRules({input:{did:s,includeDisabled:!0}});return p}),h=p=>p.id===T.SECURITY_RULE_DEFAULT_ID,H=w(p=>(c?.children||[]).find(R=>R.meta.did===p)?.mountPoint),x=(f.data||[]).map(p=>{if(p.componentDid){const v=H(p.componentDid);p._disabled=v===void 0}return p}),I=x.filter(p=>!h(p)),B=(p,v)=>{W(async()=>{const R=p.target.checked;await n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,enabled:R}}}),E.success(o("common.succeeded")),f.run()})},A=(p,v,R)=>{W(async()=>{const y=R-1,C=x[y];await Promise.all([n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,priority:C.priority}}}),n.updateBlockletSecurityRule({input:{did:s,data:{id:C.id,priority:v.priority}}})]),E.success(o("common.succeeded")),f.run()})},D=(p,v,R)=>{W(async()=>{const y=R+1,C=x[y];await Promise.all([n.updateBlockletSecurityRule({input:{did:s,data:{id:v.id,priority:C.priority}}}),n.updateBlockletSecurityRule({input:{did:s,data:{id:C.id,priority:v.priority}}})]),E.success(o("common.succeeded")),f.run()})},S=()=>{d.current.open((p,v)=>{W(async()=>{await n.addBlockletSecurityRule({input:{did:s,data:p}}),E.success(o("common.succeeded")),f.run(),v()})})},b=(p,v)=>{d.current.open((R,y)=>{W(async()=>{await n.updateBlockletSecurityRule({input:{did:s,data:{...R,id:v.id}}}),E.success(o("common.succeeded")),f.run(),y()})},v)},m=(p,v)=>{l.open({title:o("securityRule.delete.title"),content:o("securityRule.delete.description"),confirmButtonText:o("common.confirm"),confirmButtonProps:{color:"error"},cancelButtonText:o("common.cancel"),onConfirm(R){W(async()=>{await n.deleteBlockletSecurityRule({input:{did:s,id:v.id}}),E.success(o("common.succeeded")),f.run(),R()})}})},a={sort:!1,download:!1,filter:!1,print:!1,search:!1,viewColumns:!1,expandableRowsOnClick:!0,searchDebounceTime:600,onRowClick(p,{dataIndex:v},R){if(u.current?.contains(R.target)){const y=x[v];d.current.open(void 0,y)}},setRowProps:(p,v)=>x[v]._disabled?{title:o("securityRule.useless"),style:{backgroundColor:i.palette.action.disabledBackground,cursor:"default"}}:{}},j=[e.jsx(X,{size:"small",variant:"outlined",onClick:()=>{f.run()},sx:{mr:1},children:o("common.refresh")},"refresh"),e.jsx(X,{size:"small",variant:"contained",onClick:S,children:o("common.add")})],z=[{label:o("securityRule.form.pathPattern"),name:"pathPattern",options:{customBodyRenderLite(p){const v=x[p];return e.jsx(P,{sx:{whiteSpace:"nowrap"},children:v.id===T.SECURITY_RULE_DEFAULT_ID?"Default":Je(H(v.componentDid),v.pathPattern)})}}},{label:o("responseHeaderPolicy.title"),name:"responseHeaderPolicy",options:{customBodyRenderLite(p){return x[p].responseHeaderPolicy?.name}}},{label:o("accessPolicy.title"),name:"accessPolicyId",options:{customBodyRenderLite(p){return x[p].accessPolicy?.name}}},{label:o("securityRule.form.remark"),name:"remark"},{label:o("common.actions"),name:"",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRenderLite(p){const v=x[p],R=h(v);return e.jsx(He,{disableEdit:v._disabled,disableSwitch:v._disabled,enabled:v.enabled,showSwitch:!R,showDelete:!R,showUp:p>0&&!R,showDown:p<I.length-1&&!R,onClickSwitch:y=>{B(y,v)},onClickUp:y=>{A(y,v,p)},onClickDown:y=>{D(y,v,p)},onClickEdit:y=>{b(y,v)},onClickDelete:y=>{m(y,v)}})}}}].filter(Boolean);return e.jsxs(P,{sx:{display:"flex",flexDirection:"column",gap:2},ref:u,children:[e.jsx(ue,{verticalKeyWidth:100,locale:t,title:e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:1},children:[o("securityRule.title")," ",e.jsx(Fe,{variant:"body2",children:o("securityRule.sortByDescription")})]}),data:x,columns:z,customButtons:j,options:a,loading:f.loading}),e.jsx(Re,{ref:d}),r]})}const Te={width:24,height:24,body:'<path fill="currentColor" d="M5 21q-.825 0-1.413-.588T3 19V5q0-.825.588-1.413T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.588 1.413T19 21H5Zm0-2h14V7H5v12Zm7-2q-2.05 0-3.663-1.113T6 13q.725-1.775 2.337-2.888T12 9q2.05 0 3.663 1.113T18 13q-.725 1.775-2.337 2.888T12 17Zm0-2.5q-.625 0-1.063-.438T10.5 13q0-.625.438-1.063T12 11.5q.625 0 1.063.438T13.5 13q0 .625-.438 1.063T12 14.5Zm0 1q1.05 0 1.775-.725T14.5 13q0-1.05-.725-1.775T12 10.5q-1.05 0-1.775.725T9.5 13q0 1.05.725 1.775T12 15.5Z"/>'};function ke({value:o,onChange:t,...c}){const n="roles",s="roles_reverse",{t:i,locale:d}=Z(),u=[...we,{value:n,icon:Ne,title:{zh:"指定通行证可访问",en:"Accessible to selected passports"},description:{zh:"只有指定的通行证可以访问",en:"Only specified passports can access"}},{value:s,icon:Le,title:{zh:"指定通行证不可以访问",en:"Accessible to not selected passports"},description:{zh:"只有指定的通行证不可以访问",en:"Only specified passports can't access"}}];return e.jsx(_,{...c,label:i("blocklet.config.access.description"),select:!0,fullWidth:!0,value:o,onChange:t,sx:{"& .MuiInputBase-input":{width:"calc(100% - 46px)","& > .MuiBox-root:first-of-type":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}},slotProps:{select:{renderValue:l=>{const r=u.find(f=>f.value===l);return r?e.jsxs(P,{children:[e.jsx(P,{component:r.icon,sx:{mr:1,fontSize:18,verticalAlign:"text-bottom",color:"text.secondary"}}),r.title[d]||r.title.en]}):null},IconComponent:l=>e.jsx(Qe,{...l,width:20,height:20})}},children:u.map(l=>e.jsxs(Ve,{value:l.value,sx:{display:"block","& .tip":{fontSize:"12px",color:`${({theme:r})=>r.palette.text.secondary}`}},children:[e.jsxs(P,{sx:{display:"flex",alignItems:"center"},children:[e.jsx(P,{component:l.icon,sx:{mr:1,fontSize:18,verticalAlign:"text-bottom",color:"text.secondary"}}),e.jsx(P,{children:l.title[d]||l.title.en})]}),e.jsx(P,{className:"tip",children:l.description[d]||l.description.en})]}))})}ke.propTypes={value:g.string,onChange:g.func};const Ae=o=>{const t={name:o.name,description:o.description},{roles:c=null,reverse:n}=o;return c===null?n===!1&&(t.whoCanAccess=T.WHO_CAN_ACCESS.ALL,t.roles=null):c.length===0&&n===!0?(t.whoCanAccess=T.WHO_CAN_ACCESS.INVITED,t.roles=[]):ye(c,[T.WHO_CAN_ACCESS.OWNER])&&n===!1?(t.whoCanAccess=T.WHO_CAN_ACCESS.OWNER,t.roles=[T.WHO_CAN_ACCESS.OWNER]):ye(c,[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN])&&n===!1?(t.whoCanAccess=T.WHO_CAN_ACCESS.ADMIN,t.roles=[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN]):(t.whoCanAccess=n?"roles_reverse":"roles",t.roles=c),t},ro=o=>{const t={name:o.name,description:o.description},{roles:c=null,whoCanAccess:n}=o;return n==="roles"?(t.roles=c,t.reverse=!1):n==="roles_reverse"?(t.roles=c,t.reverse=!0):n===T.WHO_CAN_ACCESS.ALL?(t.roles=null,t.reverse=!1):n===T.WHO_CAN_ACCESS.INVITED?(t.roles=[],t.reverse=!0):n===T.WHO_CAN_ACCESS.OWNER?(t.roles=[T.WHO_CAN_ACCESS.OWNER],t.reverse=!1):n===T.WHO_CAN_ACCESS.ADMIN&&(t.roles=[T.WHO_CAN_ACCESS.OWNER,T.WHO_CAN_ACCESS.ADMIN],t.reverse=!1),t},no=o=>o instanceof Object?{origin:o.origin?{override:o.origin?.override??!0,value:o.origin?.value?.join(`
2
2
  `),smart:o.origin?.smart??!0}:void 0,methods:o.methods,allowedHeaders:o.allowedHeaders?{override:o.allowedHeaders?.override??!0,value:o.allowedHeaders?.value?.join(`
3
3
  `)}:void 0,exposedHeaders:o.exposedHeaders?{override:o.exposedHeaders?.override??!0,value:o.exposedHeaders?.value?.join(`
4
4
  `)}:void 0,maxAge:o.maxAge,optionsSuccessStatus:o.optionsSuccessStatus,preflightContinue:o.preflightContinue,credentials:o.credentials}:void 0,lo=o=>o instanceof Object?{origin:{override:o.origin?.override,value:o.origin?.value?.split(`
@@ -1 +1 @@
1
- import{r as o}from"./vendor-react-CUXIiAnY.js";import{X as t}from"./index-CeWTwSLE.js";function s(){return o.useContext(t)}export{s as u};
1
+ import{r as o}from"./vendor-react-CUXIiAnY.js";import{X as t}from"./index-Cx5JU0Ln.js";function s(){return o.useContext(t)}export{s as u};