@abtnode/blocklet-services 1.16.44 → 1.16.45-beta-20250609-025419-7fd1f86c
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/cache.js +122 -138
- package/api/index.js +6 -9
- package/api/libs/email.js +1 -1
- package/api/libs/jwt.js +1 -1
- package/api/routes/dns-resolver.js +11 -10
- package/api/services/auth/session.js +6 -2
- package/api/util/attach-shared-utils.js +15 -21
- package/dist/assets/{AdapterDayjs-eMGLd9qK.js → AdapterDayjs-BXVfASrK.js} +1 -1
- package/dist/assets/{ArrowDropDown-QAD1r6CI.js → ArrowDropDown-Ce8TY3aP.js} +1 -1
- package/dist/assets/{CheckCircle-DKl6wFCW.js → CheckCircle-M9NlpTm_.js} +1 -1
- package/dist/assets/{ChevronLeft-BTvoFtZ-.js → ChevronLeft-02OWcWpH.js} +1 -1
- package/dist/assets/{ChevronRight-CB-tzzK0.js → ChevronRight-CB8w0u2n.js} +1 -1
- package/dist/assets/{DeleteOutline-D--wbiEJ.js → DeleteOutline-1-hBNY1U.js} +1 -1
- package/dist/assets/{Done-D5w4g3Ux.js → Done-CcJLRcBY.js} +1 -1
- package/dist/assets/{Download-CSPVh6pQ.js → Download-HHknpEZd.js} +1 -1
- package/dist/assets/{Edit-Dp6PSucO.js → Edit-hd-cDU5C.js} +1 -1
- package/dist/assets/{Error-7F2F0yXi.js → Error-D0rGqAKE.js} +1 -1
- package/dist/assets/{ExpandLess-BiXZAaWu.js → ExpandLess-Fb-uW6u_.js} +1 -1
- package/dist/assets/{Google-B-pSveIB.js → Google-WGwK551e.js} +1 -1
- package/dist/assets/{Home-BxZHmRym.js → Home-DeTVRhMG.js} +1 -1
- package/dist/assets/{InfoOutlined-Bpx0eOkP.js → InfoOutlined-CLiL5VeK.js} +1 -1
- package/dist/assets/{Launch-akp2B3sE.js → Launch-BwVeOcBz.js} +1 -1
- package/dist/assets/{LaunchOutlined-BorUV5ev.js → LaunchOutlined-CPurmWuM.js} +1 -1
- package/dist/assets/{MoreHoriz-B0f55Tf5.js → MoreHoriz-9E3q8aHi.js} +1 -1
- package/dist/assets/{PlayArrow-RuC30CX1.js → PlayArrow-B_ZNrQDa.js} +1 -1
- package/dist/assets/{TuneOutlined-D5FWo3d6.js → TuneOutlined-0oMZE8a4.js} +1 -1
- package/dist/assets/{ViewList-BqZC98em.js → ViewList-ColSGL1_.js} +1 -1
- package/dist/assets/{access-control-f_Q0xNEr.js → access-control-Bu9cwoFT.js} +1 -1
- package/dist/assets/{actions-DBL5WgL-.js → actions-DtL6bYnA.js} +1 -1
- package/dist/assets/{add-component-core-lxVDVv-g.js → add-component-core-CsW-bf6w.js} +1 -1
- package/dist/assets/{add-resource-DHuVcGqm.js → add-resource-D1GK1xW7.js} +1 -1
- package/dist/assets/{addon-DPZv8EDi.js → addon-e-JO0VU3.js} +1 -1
- package/dist/assets/advanced-BSxn1YDX.js +14 -0
- package/dist/assets/api-CQoRx33p.js +1 -0
- package/dist/assets/{appearance-CjjdXxDr.js → appearance-rcoe4DP4.js} +1 -1
- package/dist/assets/{audit-logs-9UAh1pea.js → audit-logs-XAopC8XN.js} +1 -1
- package/dist/assets/{authorize-f7rwXyK0.js → authorize-DNwNxF9-.js} +1 -1
- package/dist/assets/{base-chart-C6ehpmPk.js → base-chart-BYonGucU.js} +1 -1
- package/dist/assets/{base32-BwYE-4Kz.js → base32-CmYq1ikq.js} +1 -1
- package/dist/assets/{branding-DgYdp8Fj.js → branding-DpIlP_xM.js} +1 -1
- package/dist/assets/{branding-DyNgn-Bl.js → branding-moJCZl3a.js} +2 -2
- package/dist/assets/{bundle-avatar-eYIyRJCN.js → bundle-avatar-D28BGkcC.js} +1 -1
- package/dist/assets/{button-BJsVm63u.js → button-C0Vra3Ak.js} +1 -1
- package/dist/assets/{click-to-copy-BBibsDSl.js → click-to-copy-BUVqg1RQ.js} +1 -1
- package/dist/assets/{cloneDeep-IATUBtZS.js → cloneDeep-ro06l5HL.js} +1 -1
- package/dist/assets/{collapse-C0MB7y7w.js → collapse--nd2JDBL.js} +1 -1
- package/dist/assets/{complete-x6sLfw6B.js → complete-C6_ojDUa.js} +1 -1
- package/dist/assets/{component-B-zaossI.js → component-OYgpJSh4.js} +1 -1
- package/dist/assets/{config-BedCVCOB.js → config-C_hb7xhJ.js} +1 -1
- package/dist/assets/{config-kZ6x7NWW.js → config-QpBBpp7d.js} +1 -1
- package/dist/assets/{config-navigation-DWYn0QbT.js → config-navigation-VPQM3i1K.js} +3 -3
- package/dist/assets/{config-space-BKyIMqyn.js → config-space-CBoUabjP.js} +1 -1
- package/dist/assets/{confirm-W9aiB3ZK.js → confirm-BjCmRSAF.js} +1 -1
- package/dist/assets/{connect-BDcfioWR.js → connect-B6S3YIgF.js} +1 -1
- package/dist/assets/{connect-7xjSPaIL.js → connect-CQ-AWW94.js} +1 -1
- package/dist/assets/{connect-to-CjAmbMcq.js → connect-to-kM9lCXLX.js} +1 -1
- package/dist/assets/{dashboard-DTpUsE7s.js → dashboard-B7qE-Md0.js} +3 -3
- package/dist/assets/{delete-confirm-CR9GWuZW.js → delete-confirm-Dow_C0jR.js} +1 -1
- package/dist/assets/{did-address-C3GRjuMv.js → did-address-bJAfhuZx.js} +1 -1
- package/dist/assets/{domain-C5GTtUcW.js → domain-B8NapX5o.js} +1 -1
- package/dist/assets/{domain-action-card-DZFY_-cJ.js → domain-action-card-CCtkcxNz.js} +1 -1
- package/dist/assets/domains-DzI4bWdK.js +1 -0
- package/dist/assets/{dot-DGdAPqTT.js → dot-BID2dzD_.js} +1 -1
- package/dist/assets/{email-0L0UoCI5.js → email-DDPCqu4Z.js} +1 -1
- package/dist/assets/{exchange-passport-Cz76Mvqo.js → exchange-passport-xdsOlfWE.js} +1 -1
- package/dist/assets/{fuel-H0bbfYDc.js → fuel-D1fw-gpI.js} +1 -1
- package/dist/assets/{gen-access-key-CVMgx_Do.js → gen-access-key-R0_DUG_D.js} +1 -1
- package/dist/assets/{get-safe-url-CISc2x16.js → get-safe-url-BWDUV79Q.js} +1 -1
- package/dist/assets/{get-safe-url-DvHrYSqa.js → get-safe-url-CwT4-jkw.js} +1 -1
- package/dist/assets/{home-frxjPVWF.js → home-D1kBU1RC.js} +1 -1
- package/dist/assets/{iframe-BiCAYvW4.js → iframe-DsIqy16E.js} +1 -1
- package/dist/assets/{index-C0jIKgVd.js → index-At5NExT-.js} +1 -1
- package/dist/assets/{index-CsOtcFM5.js → index-B-K0Nvyz.js} +1 -1
- package/dist/assets/{index-BFxPxs1o.js → index-B4FABIlz.js} +1 -1
- package/dist/assets/{index-C9xycxde.js → index-BBuUqC0B.js} +1 -1
- package/dist/assets/{index-Bp39ibX1.js → index-BDw54V1q.js} +1 -1
- package/dist/assets/{index-CTJ98R3F.js → index-BSiKOdsD.js} +1 -1
- package/dist/assets/{index-CmGpTnGy.js → index-BY-e9TG4.js} +1 -1
- package/dist/assets/{index-Dsf-Dx7V.js → index-BnR8uU0R.js} +1 -1
- package/dist/assets/{index-DZ-_hefE.js → index-BpvW-cUy.js} +1 -1
- package/dist/assets/{index-NqsjhbFu.js → index-Brd3-BIC.js} +1 -1
- package/dist/assets/{index-CXZIC-uq.js → index-By1VEzOz.js} +1 -1
- package/dist/assets/{index-D2TrKFIL.js → index-CCrgDhTM.js} +1 -1
- package/dist/assets/{index-BPMh7nrj.js → index-CZgWTJXl.js} +1 -1
- package/dist/assets/{index-Rx6rf5TL.js → index-DQjZ74P0.js} +43 -43
- package/dist/assets/{index-DVfId0OB.js → index-DVLOAsDQ.js} +1 -1
- package/dist/assets/{index-CNP49TJ1.js → index-DWZfwLDs.js} +1 -1
- package/dist/assets/{index-DtuVp5SU.js → index-DnDFazyx.js} +3 -3
- package/dist/assets/{index-KHBjePpP.js → index-Dntq1ezd.js} +1 -1
- package/dist/assets/{index-Ch5CE_Xo.js → index-Drni9chH.js} +1 -1
- package/dist/assets/{index-B778V4Al.js → index-Hs7lhrID.js} +4 -4
- package/dist/assets/{index-CqQ_qPcW.js → index-NE1bWD-Q.js} +1 -1
- package/dist/assets/{invitation-BrPENaxX.js → invitation-Sx6eoeir.js} +1 -1
- package/dist/assets/{invite-B0YEiWAC.js → invite-CZ68j_lY.js} +1 -1
- package/dist/assets/{issue-passport-Dz3BWjAa.js → issue-passport-IkLenFGe.js} +1 -1
- package/dist/assets/{item-CALJuG3t.js → item-RUDvbSOI.js} +1 -1
- package/dist/assets/{layout-BpG5xw8B.js → layout-BCvTd67o.js} +1 -1
- package/dist/assets/{list-DyU1G1ER.js → list-BeFxJZxl.js} +1 -1
- package/dist/assets/{list-BZl1XCaf.js → list-DjvUHEwY.js} +2 -2
- package/dist/assets/localization-BNjdHo-G.js +1 -0
- package/dist/assets/{log-CTKJhZ_E.js → log-BGQO-I2s.js} +1 -1
- package/dist/assets/{logger-DAjuoBTQ.js → logger-KwxABgLK.js} +1 -1
- package/dist/assets/{login-Cg8geEoU.js → login-BF0iOJJn.js} +1 -1
- package/dist/assets/{login-oauth-callback-HckguQey.js → login-oauth-callback-Dt9V4GRH.js} +1 -1
- package/dist/assets/{logo-uploader-oD7wBJlZ.js → logo-uploader-BecsVnr8.js} +3 -3
- package/dist/assets/{lost-passport-BxZlOTiO.js → lost-passport-CaF7MO2m.js} +1 -1
- package/dist/assets/{omit-CsI4VeYr.js → omit-O1pUD7ku.js} +1 -1
- package/dist/assets/{open-window-Ct0k45Ir.js → open-window-Dn44K3ur.js} +1 -1
- package/dist/assets/overview-DwmambxV.js +85 -0
- package/dist/assets/{page-header-CVBmdH9B.js → page-header-JH9JWGMg.js} +1 -1
- package/dist/assets/{passport-item-D1UYvMW_.js → passport-item-DEX2NwJD.js} +1 -1
- package/dist/assets/{permission-CMjo9z-z.js → permission-B7ZHEOJv.js} +1 -1
- package/dist/assets/{preferences-Dtk7H5V2.js → preferences-DUSp_pAb.js} +1 -1
- package/dist/assets/{profile-embed-yHOg7opg.js → profile-embed-BIjwkrGW.js} +1 -1
- package/dist/assets/publish-resource-Bk548CMo.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-CaWQHB2l.js → react-beautiful-dnd.esm-DCPrD7-r.js} +1 -1
- package/dist/assets/{runtime-BGMX9PTT.js → runtime-xdMFSsvP.js} +1 -1
- package/dist/assets/{sanitize-qIr4ImjO.js → sanitize-DbZs1H_T.js} +1 -1
- package/dist/assets/sdk-BJQcHaGO.js +1 -0
- package/dist/assets/{security-DDqACA_P.js → security-DCYPNDg3.js} +1 -1
- package/dist/assets/{session-N9ogZkBO.js → session-1k8BRnYA.js} +1 -1
- package/dist/assets/{setup--FMKBbd7.js → setup-CQ7O7nI0.js} +3 -3
- package/dist/assets/{spaces-ClWdZraZ.js → spaces-CpSu6mVL.js} +1 -1
- package/dist/assets/{start-D7GkMfm4.js → start-t5ebRJzD.js} +1 -1
- package/dist/assets/{starting-progress-COPiu29g.js → starting-progress-a7uoLG-L.js} +1 -1
- package/dist/assets/{status-D5ypXFOB.js → status-C4-MBX3k.js} +1 -1
- package/dist/assets/{step-actions-X0m-Hu2A.js → step-actions-Brohu3S-.js} +1 -1
- package/dist/assets/{studio-LXKuDXYf.js → studio-Cua13-ul.js} +1 -1
- package/dist/assets/{switch-control-ByXecLFy.js → switch-control-CzaI2YNK.js} +1 -1
- package/dist/assets/{table-tips-CbVGFubR.js → table-tips-Czrj7r52.js} +1 -1
- package/dist/assets/{traffic-GgX3Erg7.js → traffic-BI_ofO44.js} +1 -1
- package/dist/assets/{transfer-Dq6dS0l-.js → transfer-SwfyIGYE.js} +1 -1
- package/dist/assets/{unsubscribe-BZAVKPXL.js → unsubscribe-DFPfNrme.js} +1 -1
- package/dist/assets/{use-blocklet-logo-CmMzePwG.js → use-blocklet-logo-6YMz11ob.js} +1 -1
- package/dist/assets/use-server-logo-BbYHFDuK.js +1 -1
- package/dist/assets/{useAsync-QkUcWOv0.js → useAsync-B6ZHbOEG.js} +1 -1
- package/dist/assets/{useLocalStorage-COrhSWV-.js → useLocalStorage-BF3BqN1O.js} +1 -1
- package/dist/assets/{user-center-DVO5FZd_.js → user-center-BjGMsOGg.js} +3 -3
- package/dist/assets/{util-DZiavuQJ.js → util-BBMAZSVn.js} +1 -1
- package/dist/assets/{util-Ayf5_DBX.js → util-CS4PqVkK.js} +1 -1
- package/dist/assets/{vendor-arcblock-CATQui2x.js → vendor-arcblock-B4hgrXYM.js} +74 -74
- package/dist/assets/{vendor-hooks-TMGmpw5W.js → vendor-hooks-BCm626KH.js} +1 -1
- package/dist/assets/vendor-utils-B3iZkn2R.js +208 -0
- package/dist/assets/vendor-ux-did-connect-CX7qG3_M.js +2305 -0
- package/dist/assets/{wrap-locale-BD27EgAf.js → wrap-locale-378mdIBS.js} +1 -1
- package/dist/index.html +5 -5
- package/dist/service-worker.js +1 -1
- package/package.json +45 -45
- package/dist/assets/advanced-iHTV3yj0.js +0 -14
- package/dist/assets/api-DB7tZ-Xo.js +0 -1
- package/dist/assets/domains-BjYCkCPj.js +0 -1
- package/dist/assets/localization-BpRT0W0W.js +0 -1
- package/dist/assets/overview-B_ZqHpwj.js +0 -85
- package/dist/assets/publish-resource-H3WaTgcl.js +0 -1
- package/dist/assets/sdk-b4mKK9kW.js +0 -1
- package/dist/assets/vendor-utils-CxrPpJZS.js +0 -208
- package/dist/assets/vendor-ux-did-connect-Bh011lgb.js +0 -2305
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as r,ah as m}from"./vendor-mui-core-wlbruq2I.js";import{C as c}from"./content-layout-DuPlKBe3.js";import{a as p,a3 as s}from"./vendor-ux-did-connect-
|
|
1
|
+
import{j as r,ah as m}from"./vendor-mui-core-wlbruq2I.js";import{C as c}from"./content-layout-DuPlKBe3.js";import{a as p,a3 as s}from"./vendor-ux-did-connect-CX7qG3_M.js";import{c as i}from"./vendor-arcblock-B4hgrXYM.js";import{L as u}from"./index-DQjZ74P0.js";const d=m(c)`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
width: 100%;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as p}from"./vendor-react-DEoibe3W.js";import{H as o,j as r,aq as ee,e as $,ap as ae,aa as h,ah as L,T as S,v as W,X as le,bL as Me,ad as tt,bM as rt,au as nt,ai as st,a9 as Pe,m as it,bY as ot,y as at,s as lt,I as ct}from"./vendor-mui-core-wlbruq2I.js";import{b as z,u as se,m as dt}from"./vendor-hooks-
|
|
1
|
+
import{r as p}from"./vendor-react-DEoibe3W.js";import{H as o,j as r,aq as ee,e as $,ap as ae,aa as h,ah as L,T as S,v as W,X as le,bL as Me,ad as tt,bM as rt,au as nt,ai as st,a9 as Pe,m as it,bY as ot,y as at,s as lt,I as ct}from"./vendor-mui-core-wlbruq2I.js";import{b as z,u as se,m as dt}from"./vendor-hooks-BCm626KH.js";import{a as ce,$ as ut,i as pt,aR as ht,k as de,D as U,a1 as ue,bb as pe,bf as ft,r as Ne,I as Ae,bs as mt,bt as gt,bu as xt,bv as yt}from"./vendor-ux-did-connect-CX7qG3_M.js";import{S as vt}from"./index-DU8cx_m6.js";import{B as bt}from"./bundle-avatar-D28BGkcC.js";import{a as jt,g as he,b as fe,c as B,s as Q,H as wt,u as ze,M as Le,d as X,e as kt,m as Rt,i as Tt}from"./use-blocklet-logo-6YMz11ob.js";import{A as O,ah as It,z as De,b as D,a1 as Ct}from"./vendor-utils-B3iZkn2R.js";import{u as Y,p as St,h as J,f as Ee,l as $t}from"./vendor-arcblock-B4hgrXYM.js";import{d as Mt}from"./InfoOutlined-CLiL5VeK.js";import{d as Pt}from"./CheckCircle-M9NlpTm_.js";import{p as Nt}from"./util-CS4PqVkK.js";import{D as At}from"./index-DQjZ74P0.js";function me({blocklet:e,style:t,size:s,...n}){const a=jt({blocklet:e,square:!0}),{variant:c}=n;return r.jsx(ee,{variant:c||"square",style:Object.assign({backgroundColor:"transparent",width:s,height:s,borderRadius:10},t),...n,children:r.jsx("img",{src:a,alt:"",style:{width:s}})})}me.propTypes={blocklet:o.object.isRequired,style:o.object,size:o.oneOfType([o.number,o.string])};me.defaultProps={style:{},size:40};function zt(e){return e.includes(" ")?new Date(e.replace(" ","T").replace(" ","")).getTime():new Date(e).getTime()}function te({value:e,shouldUpdate:t=!1,...s}){const{locale:n}=ce(),[a,c]=p.useState(0);if(p.useEffect(()=>{let l;if(t){const u=new Date(e).getTime(),y=Date.now(),m=Math.abs(Math.floor((u-y)/1e3)),b=()=>{c(j=>{const k=Math.random()*1e3;return parseFloat((j+k).toFixed(4))})};m<60?l=setInterval(b,1e3):m<60*60?l=setInterval(b,6e4):l=setInterval(b,36e5)}return()=>{clearInterval(l)}},[e,a,t]),!e)return"-";const i=zt(e);return r.jsx(ut,{value:i,locale:n,...s})}te.propTypes={value:o.any,shouldUpdate:o.bool};te.defaultProps={value:"",shouldUpdate:!1};const Lt=e=>{let t="rgba(0, 0, 0, 0.12)";return e==="warning"?t="#DE9E37":e==="error"?t="#F16E6E":t="rgba(0, 0, 0, 0.12)",t},Dt=e=>e.every(t=>t.type==="text"),Et=e=>e.every(t=>t.type==="image"),_t=e=>It(e,2).map(t=>({type:"combined",items:t})).filter(t=>(t.items||[]).every(s=>{var n,a,c;return(c=(a=(n=s==null?void 0:s.data)==null?void 0:n.text)==null?void 0:a.trim)==null?void 0:c.call(a)})),Ht=e=>{if(!e.length||e.length<=1)return!1;const t=e[0].type;return e.every(s=>s.type===t)},qt=(e,t)=>{try{const s=pt.toTypeInfo(e);if(!(s.role!==void 0&&s.role!==ht.types.RoleType.ACCOUNT))return;const a=O(de.WELLKNOWN_SERVICE_PATH_PREFIX,"user");return De(a,{did:e,locale:t})}catch(s){console.error(s);return}},Wt=(e,t)=>{var n;const s=(n=t==null?void 0:t.componentMountPoints)==null?void 0:n.find(a=>a.did===e);return s==null?void 0:s.mountPoint},Bt=(e,t)=>{var a,c,i;if(!e)return null;if(((a=e.actions)==null?void 0:a.length)===1)return e.actions[0].link||null;const s=he(e.activity),n=(s==null?void 0:s.metaLink)||(s==null?void 0:s.targetLink);if(n)return fe(n)?n:O(t,n);if(((c=e.attachments)==null?void 0:c.length)===1){const l=e.attachments[0];if(l.type==="link")return((i=l.data)==null?void 0:i.url)||null}return null},ie=e=>{const{receivers:t=[]}=e;return t.length?t.every(s=>s.read):!0};function Ut(e){const t=e.getBoundingClientRect(),s=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,a=t.height,c=t.width;let i=0;t.top>=0&&t.bottom<=n?i=a:t.top<0&&t.bottom>0&&t.bottom<=n?i=t.bottom:t.top>=0&&t.top<n&&t.bottom>n?i=n-t.top:t.top<0&&t.bottom>n&&(i=n);let l=0;return t.left>=0&&t.right<=s?l=c:t.left<0&&t.right>0&&t.right<=s?l=t.right:t.left>=0&&t.left<s&&t.right>s?l=s-t.left:t.left<0&&t.right>s&&(l=s),i*l/(a*c)>=.5}const Ot=e=>{if(!e)return[];const t=[],s=5,n=Array.from(e.querySelectorAll(".notification-row")),a=n.length;for(let c=0;c<a;c+=s){const i=n.slice(c,c+s);let l=!0;for(const u of i){const y=u.id;if(Ut(u))t.push(y);else{l=!1;break}}if(!l)break}return t},_e=e=>{var s;const t=[];return e&&((s=e.items)!=null&&s.length?e.items.forEach(n=>{ie(n)||t.push(n)}):ie(e)||t.push(e)),t},Ft=(e,t)=>{let s=[];return t.length&&t.forEach(n=>{const a=e.get(n);a&&(s=s.concat(_e(a)))}),s},E=(e,t)=>({...e,...t?{filter:"invert(1)"}:{}}),F=e=>{if(!e)return null;try{return new URL(e).protocol!=="https:"?(console.warn("Image URL must use HTTPS protocol:",e),null):`${de.WELLKNOWN_SERVICE_PATH_PREFIX}/proxy?url=${e}`}catch(t){return console.warn("Invalid image URL format:",e,t),null}};function He({attachment:e}){const{data:t}=e,s=$();let n="";try{n=new URL(t.url).host}catch{n=t.url}return r.jsxs(ae,{target:"_blank",rel:"noopener noreferrer",href:t.url,className:"link",style:{wordBreak:"break-all"},onClick:a=>{a.customPreventRedirect=!0},children:[!!n&&r.jsx("span",{className:"url",children:n}),!!t.title&&r.jsx(h,{className:"title",style:{whiteSpace:"unset"},children:t.title}),!!t.description&&r.jsx(h,{className:"description",style:{whiteSpace:"unset",color:s.palette.text.secondary},children:t.description}),!!t.image&&r.jsx(U,{src:Y.getImagePath(t.image),alt:t.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},fallback:F(Y.getImagePath(t.image))})]})}He.propTypes={attachment:o.object.isRequired};function qe({attachment:e}){const{data:t}=e;return r.jsx(U,{src:Y.getImagePath(t.url),alt:t.title||"",height:128,style:{borderRadius:"8px",maxWidth:"256px",objectFit:"cover"},fallback:F(Y.getImagePath(t.url))})}qe.propTypes={attachment:o.object.isRequired};function We({attachment:e,...t}){var l;const{data:s}=e,n=((l=s.color)==null?void 0:l.toLowerCase())||t.color,a=s.size||t.size,c=s.fontWeight||t.fontWeight||400;let i="14px";return a==="small"?i="12px":a==="normal"?i="14px":a==="big"?i="16px":a==="large"&&(i="18px"),r.jsx(Vt,{className:"title",style:{fontSize:i,color:n,whiteSpace:"unset",fontWeight:c},children:s.text})}We.propTypes={attachment:o.object.isRequired};const Vt=L.span`
|
|
2
2
|
width: 100%;
|
|
3
3
|
display: -webkit-box;
|
|
4
4
|
-webkit-box-orient: vertical;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{r as b,b as Ue}from"./vendor-react-DEoibe3W.js";import{a as F,d as K,k as W,a3 as H,_ as ye,a2 as ne,$ as V,bs as ve,bt as Ce,bu as Te,bd as we,ac as Se,a5 as Ie}from"./vendor-ux-did-connect-Bh011lgb.js";import{H as o,j as e,D as X,aj as G,I as J,t as Q,al as L,T as R,aa as p,O as w,br as v,bL as Re,bR as oe,bt as se,bS as ae,X as Y,ak as ce,z as de,y as z,ab as Z,ad as Ee}from"./vendor-mui-core-wlbruq2I.js";import{v as ue}from"./vendor-arcblock-CATQui2x.js";import{d as Ae}from"./Edit-Dp6PSucO.js";import{_ as ke}from"./dot-DGdAPqTT.js";import{l as pe}from"./index-BPMh7nrj.js";import{D as $,aC as he,aD as S,G as Pe}from"./index-Rx6rf5TL.js";import{u as B}from"./dashboard-DTpUsE7s.js";import{o as Ne,c as We,A as re}from"./vendor-utils-CxrPpJZS.js";import{T as Oe}from"./index-BFxPxs1o.js";import{E as qe}from"./empty-spinner-DSwpCqdd.js";import{C as y}from"./click-to-copy-BBibsDSl.js";import{D as Le}from"./delete-confirm-CR9GWuZW.js";import{b as _e}from"./passport-item-D1UYvMW_.js";import{A as De}from"./actions-DBL5WgL-.js";import{T as le}from"./table-tips-CbVGFubR.js";import{u as ze}from"./use-mobile-CXU9YBvX.js";import"./vendor-hooks-TMGmpw5W.js";import"./lottie-web-jYmAQWuC.js";import"./useAsync-QkUcWOv0.js";import"./useLocalStorage-COrhSWV-.js";import"./index-8eXqqyHQ.js";import"./confirm-W9aiB3ZK.js";import"./PlayArrow-RuC30CX1.js";import"./get-safe-url-DvHrYSqa.js";import"./session-N9ogZkBO.js";import"./use-blocklet-logo-CmMzePwG.js";import"./InfoOutlined-Bpx0eOkP.js";import"./useSetState-CWq0AVWn.js";import"./use-mobile-CiFFAdJf.js";import"./vendor-mui-x-BKgL6hAa.js";import"./AdapterDayjs-eMGLd9qK.js";import"./did-address-C3GRjuMv.js";import"./util-Ayf5_DBX.js";import"./base32-BwYE-4Kz.js";import"./MoreHoriz-B0f55Tf5.js";const Fe={clientName:"",clientUri:"",redirectUris:"",scope:["profile:read"],contacts:"",tosUri:"",policyUri:""};function me({onCreated:r,onClose:u}){const[i,m]=b.useState(!1),{t:n,locale:s}=F(),{api:g}=$(),{teamDid:h}=B(),{control:f,handleSubmit:k,formState:{errors:a},watch:I,setValue:x}=he({defaultValues:Fe,mode:"onChange"}),T=I("scope"),E=c=>{c!=="profile:read"&&x("scope",T.includes(c)?T.filter(d=>d!==c):[...T,c])},O=async c=>{m(!0);try{const d={...c,redirectUris:c.redirectUris,contacts:c.contacts?c.contacts.split(",").map(P=>P.trim()):[],scope:c.scope.join(" ")};await g.createOAuthClient({input:{teamDid:h,input:Ne(d,We)}}),r(d)}catch(d){H.error(d.message||"Failed to create OAuth App")}finally{m(!1)}};return e.jsxs(X,{open:!0,onClose:u,maxWidth:"md",fullWidth:!0,children:[e.jsxs(G,{children:[n("oauth.client.register")," ",e.jsx(J,{onClick:u,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsxs(L,{spacing:4,sx:{mt:2},children:[e.jsx(R,{variant:"h6",gutterBottom:!0,children:n("oauth.client.requiredInformation")}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:f,rules:{required:n("oauth.client.validate.clientName"),minLength:{value:3,message:n("oauth.client.validate.clientNameMinLength")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.name"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.clientNamePlaceholder"),error:!!a.clientName,helperText:(d=a.clientName)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:f,rules:{required:n("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:n("oauth.client.validate.clientUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.clientUri"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.clientUriPlaceholder"),error:!!a.clientUri,helperText:(d=a.clientUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:f,rules:{required:n("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:n("oauth.client.validate.redirectUrisInvalid")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.redirectUrisPlaceholder"),error:!!a.redirectUris,helperText:(d=a.redirectUris)==null?void 0:d.message}),e.jsxs(p,{sx:{display:"flex",gap:"2px"},children:[e.jsx(v,{children:n("oauth.client.helperText.redirectUris")}),e.jsx(v,{children:n("oauth.client.helperText.read")}),e.jsx(v,{sx:{color:"info.main"},component:"a",href:`https://www.arcblock.io/docs/blocklet-developer/${s}/oauth-service`,target:"_blank",rel:"noopener noreferrer",children:n("oauth.client.helperText.document")}),e.jsx(v,{children:n("oauth.client.helperText.more")})]})]})}})}),e.jsxs(Re,{variant:"outlined",sx:{p:2,display:"none"},children:[e.jsx(R,{variant:"subtitle2",gutterBottom:!0,children:n("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(W.OAUTH_SCOPES).map(([c,d])=>e.jsx(se,{control:e.jsx(ae,{checked:T.includes(c),onChange:()=>E(c),disabled:c==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(R,{variant:"body2",sx:{fontWeight:500},children:d})})},c))})})]}),e.jsx(Y,{}),e.jsx(R,{variant:"h6",gutterBottom:!0,children:n("oauth.client.optionalInformation")}),e.jsx(L,{children:e.jsx(S,{name:"contacts",control:f,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:n("oauth.client.validate.contacts")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.contacts"),fullWidth:!0,placeholder:n("oauth.client.input.contactsPlaceholder"),error:!!a.contacts,helperText:(d=a.contacts)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.contacts")})]})}})}),e.jsxs(L,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:n("oauth.client.validate.tosUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.tosUri"),fullWidth:!0,placeholder:n("oauth.client.input.tosUriPlaceholder"),error:!!a.tosUri,helperText:(d=a.tosUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:n("oauth.client.validate.policyUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.policyUri"),fullWidth:!0,placeholder:n("oauth.client.input.policyUriPlaceholder"),error:!!a.policyUri,helperText:(d=a.policyUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.policyUri")})]})}})]}),a.error&&e.jsx(ce,{severity:"error",children:a.error.message})]})}),e.jsxs(de,{children:[e.jsx(z,{onClick:u,children:n("common.cancel")}),e.jsxs(z,{onClick:k(O),disabled:i,variant:"contained",color:"primary",children:[i?e.jsx(Z,{size:20,sx:{mr:1}}):null,n("oauth.client.registerButton")]})]})]})}me.propTypes={onCreated:o.func.isRequired,onClose:o.func.isRequired};function M({scope:r,...u}){if(!r)return null;const i=r.split(" ").filter(Boolean);return e.jsx(L,{direction:"row",flexWrap:"wrap",gap:1,...u,children:i.map(m=>e.jsx(Ue.Fragment,{children:e.jsx(Ee,{title:W.OAUTH_SCOPES[m],children:e.jsx(y,{children:m})})},m))})}M.propTypes={scope:o.string};M.defaultProps={scope:""};const ee=r=>{const{prefix:u}=$(),{blocklet:i}=Pe(),m=re(u,"/api/media/upload",i.appPid),n=b.useCallback(g=>g?g.startsWith("http")?g:`${re(u,"/api/media/upload",i.appPid)}/${g}`:"",[u,i.appPid]);return{clientLogoUrl:b.useMemo(()=>n(r),[r,n]),apiPath:m,getClientLogoUrl:n}},$e=b.lazy(()=>ye(()=>import("./index-DtuVp5SU.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(r=>({default:r.Uploader})));function xe({client:r,onUpdate:u,onClose:i}){const[m,n]=b.useState(!1),{t:s,locale:g}=F(),h=b.useRef(null),{api:f}=$(),{teamDid:k}=B(),{control:a,handleSubmit:I,formState:{errors:x},watch:T,setValue:E,getValues:O}=he({defaultValues:{clientName:r.clientName||"",clientUri:r.clientUri||"",redirectUris:Array.isArray(r.redirectUris)?r.redirectUris.join(","):"",scope:r.scope?r.scope.split(" "):["profile:read"],contacts:Array.isArray(r.contacts)?r.contacts.join(","):"",tosUri:r.tosUri||"",policyUri:r.policyUri||"",logoUri:r.logoUri||"",clientSecretExpiresAt:r.clientSecretExpiresAt||null},mode:"onChange"}),c=T("scope"),d=T("logoUri"),{clientLogoUrl:P,apiPath:q}=ee(d),A=l=>{l!=="profile:read"&&E("scope",c.includes(l)?c.filter(t=>t!==l):[...c,l])},_=async l=>{const t={clientId:r.clientId,clientName:l.clientName.trim(),clientUri:l.clientUri,redirectUris:l.redirectUris.split(",").map(C=>C.trim()).filter(Boolean),contacts:l.contacts?l.contacts.split(",").map(C=>C.trim()):[],scope:l.scope.join(" "),tosUri:l.tosUri,policyUri:l.policyUri,logoUri:l.logoUri,clientSecretExpiresAt:l.clientSecretExpiresAt?parseInt(l.clientSecretExpiresAt/1e3,10):null};await f.updateOAuthClient({input:{teamDid:k,input:t}})},D=async l=>{n(!0);try{await _(l),u(),i()}catch(t){H.error(t.message||s("oauth.client.updateFailed"))}finally{n(!1)}};return e.jsxs(X,{open:!0,onClose:i,maxWidth:"md",fullWidth:!0,children:[e.jsxs(G,{children:[s("oauth.client.update")," ",e.jsx(J,{onClick:i,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsxs(L,{spacing:3,sx:{mt:2},children:[e.jsxs(p,{sx:{mb:3},children:[e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500,mb:1},children:s("oauth.client.logo")}),e.jsxs(p,{children:[e.jsx(p,{sx:{width:120,height:120,position:"relative",borderRadius:"4px",overflow:"hidden"},children:P?e.jsx(p,{children:e.jsx("img",{src:P,alt:"client-logo",style:{width:"100%",height:"100%"}})}):e.jsx(p,{onClick:()=>{var l;(l=h.current)==null||l.open()},sx:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"grey.200"},children:e.jsx(ue,{sx:{fontSize:40,color:"common.white"}})})}),e.jsx(z,{sx:{mt:2},variant:"outlined",size:"small",onClick:()=>{var l;(l=h.current)==null||l.open()},children:s(P?"common.change":"common.upload")})]}),e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:e.jsx(b.Suspense,{fallback:e.jsx(qe,{}),children:e.jsx($e,{ref:h,locale:g,popup:!0,onUploadFinish:l=>{E("logoUri",l.data.filename),_(O()).then(()=>{u()}).catch(t=>{H.error(t.message||s("oauth.client.updateFailed"))}).finally(()=>{var t;(t=h.current)==null||t.close()})},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:q,disableMediaKitPrefix:!0,disableAutoPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/png","image/jpeg","image/webp","image/svg+xml"],maxFileSize:1024*1024*.5,maxNumberOfFiles:1}},dashboardProps:{autoOpen:"imageEditor"},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,aspectRatio:1,initialAspectRatio:1,autoCropArea:1,croppedCanvasOptions:{minWidth:256,minHeight:256}}}},"uploader-logo")})})]}),e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.requiredInformation")}),e.jsx(w,{label:"Client Id",fullWidth:!0,value:r.clientId,disabled:!0}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:a,rules:{required:s("oauth.client.validate.clientName"),minLength:{value:3,message:s("oauth.client.validate.clientNameMinLength")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.name"),required:!0,fullWidth:!0,error:!!x.clientName,helperText:(t=x.clientName)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:a,rules:{required:s("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.clientUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.clientUri"),required:!0,fullWidth:!0,error:!!x.clientUri,helperText:(t=x.clientUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:a,rules:{required:s("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.redirectUrisInvalid")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,multiline:!0,rows:2,error:!!x.redirectUris,helperText:(t=x.redirectUris)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.redirectUris")})]})}})}),e.jsx(S,{name:"clientSecretExpiresAt",control:a,render:({field:l})=>e.jsx(Oe,{placeholder:s("oauth.client.input.expireTime"),value:l.value*1e3,onChange:t=>{l.onChange(t)}})}),e.jsxs(p,{sx:{display:"none"},children:[e.jsx(R,{variant:"subtitle2",sx:{mb:1},children:s("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(W.OAUTH_SCOPES).map(([l,t])=>e.jsx(se,{control:e.jsx(ae,{checked:c.includes(l),onChange:()=>A(l),disabled:l==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(R,{variant:"body2",sx:{fontWeight:500},children:t})})},l))})})]}),e.jsx(Y,{}),e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.optionalInformation")}),e.jsx(p,{children:e.jsx(S,{name:"contacts",control:a,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:s("oauth.client.validate.contacts")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.contacts"),fullWidth:!0,error:!!x.contacts,helperText:(t=x.contacts)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.contacts")})]})}})}),e.jsxs(L,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.tosUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{...l,label:s("oauth.client.input.tosUri"),fullWidth:!0,error:!!x.tosUri,helperText:(t=x.tosUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.policyUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{...l,label:s("oauth.client.input.policyUri"),fullWidth:!0,error:!!x.policyUri,helperText:(t=x.policyUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.policyUri")})]})}})]}),x.error&&e.jsx(ce,{severity:"error",children:x.error.message})]})}),e.jsxs(de,{children:[e.jsx(z,{onClick:i,children:s("common.cancel")}),e.jsx(z,{onClick:I(D),disabled:m,variant:"contained",color:"primary",children:m?e.jsx(Z,{size:16}):s("common.update")})]})]})}xe.propTypes={client:o.shape({clientId:o.string.isRequired,clientName:o.string.isRequired,clientUri:o.string,redirectUris:o.arrayOf(o.string),scope:o.string,contacts:o.arrayOf(o.string),tosUri:o.string,policyUri:o.string,logoUri:o.string,clientSecretExpiresAt:o.number}).isRequired,onUpdate:o.func.isRequired,onClose:o.func.isRequired};function je({client:r,onUpdate:u,onClose:i}){return e.jsx(xe,{client:r,onUpdate:m=>u(m),onClose:i})}je.propTypes={client:o.shape({clientId:o.string.isRequired,clientName:o.string.isRequired,clientUri:o.string,redirectUris:o.arrayOf(o.string),scope:o.string,contacts:o.arrayOf(o.string),tosUri:o.string,policyUri:o.string,logoUri:o.string,clientSecretExpiresAt:o.number}).isRequired,onUpdate:o.func.isRequired,onClose:o.func.isRequired};function te(r){const{t:u}=F(),{api:i}=$(),{teamDid:m}=B(),{clientId:n,clientName:s,onDelete:g=()=>{},onClose:h=()=>{}}=r,f=()=>{h()},k=async()=>{try{await i.deleteOAuthClient({input:{teamDid:m,clientId:n}}),g()}catch(I){H.error(I==null?void 0:I.message)}finally{f()}},a={keyName:s,title:u("oauth.client.delete.title"),description:u("oauth.client.delete.description",{name:`<b>${s}</b>`}),confirmPlaceholder:u("oauth.client.delete.description",{name:s}),confirm:u("common.delConfirm"),cancel:u("common.cancel"),onConfirm:k,onCancel:f};return e.jsx(Le,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})}te.propTypes={clientId:o.string.isRequired,clientName:o.string.isRequired,onDelete:o.func,onClose:o.func};te.defaultProps={onDelete:()=>{},onClose:()=>{}};function ge({title:r,items:u}){return e.jsxs(p,{mb:3,children:[e.jsx(R,{variant:"h6",sx:{mb:1.5},children:r}),e.jsx(L,{spacing:1.5,children:u.map(({label:i,value:m})=>e.jsxs(p,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(R,{variant:"subtitle2",color:"textSecondary",sx:{minWidth:200},children:i}),e.jsx(R,{sx:{wordBreak:"break-all"},children:m||"-"})]},i))})]})}ge.propTypes={title:o.string.isRequired,items:o.arrayOf(o.shape({label:o.string.isRequired,value:o.any})).isRequired};function fe({client:r,onClose:u}){const{t:i,locale:m}=F(),{teamDid:n}=B(),{clientName:s,clientId:g,clientSecret:h,redirectUris:f,scope:k,clientUri:a,logoUri:I,contacts:x,tosUri:T,policyUri:E,jwksUri:O,jwks:c,softwareId:d,softwareVersion:P,clientIdIssuedAt:q,clientSecretExpiresAt:A,updatedAt:_,createUser:D}=r,{clientLogoUrl:l}=ee(I),t=j=>{try{const N=new URL(window.blocklet.appUrl);return N.pathname=j,N.toString()}catch{return"-"}},C=pe.fromAppDid(g,n),U=[{title:i("common.baseInfo"),items:[{label:i("oauth.client.name"),value:s},{label:i("oauth.client.logoUri"),value:e.jsx(ne,{variant:"rounded",shape:"square",src:l,did:C.address,size:64})},{label:i("oauth.client.clientUri"),value:a?e.jsx(y,{children:a}):"-"},{label:i("oauth.client.clientId"),value:e.jsx(y,{children:g})},{label:i("oauth.client.clientSecret"),value:e.jsx(y,{children:h})},{label:i("oauth.client.redirectUris"),value:e.jsx(y,{children:(f||[]).join(", ")})},{label:i("oauth.client.scope"),value:e.jsx(M,{scope:k})},{label:i("oauth.client.createUser"),value:D?_e(D,!0):i("oauth.client.openRegistration")}]},{title:i("oauth.client.oauthEndpoints"),items:[{label:i("oauth.client.openidConfiguration"),value:e.jsx(y,{children:t("/.well-known/openid-configuration")})},{label:i("oauth.client.authorizationEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/authorize`)})},{label:i("oauth.client.tokenEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/token`)})},{label:i("oauth.client.userinfoEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/userinfo`)})},{label:i("oauth.client.jwksUri"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/jwks`)})},{label:i("oauth.client.registrationEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/register`)})},{label:i("oauth.client.endSessionEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/logout`)})}]},{title:i("oauth.client.metaContact"),items:[{label:i("oauth.client.contacts"),value:x.length?e.jsx(y,{children:(x||[]).join(", ")}):"-"},{label:i("oauth.client.tosUri"),value:T?e.jsx(y,{children:T}):"-"},{label:i("oauth.client.policyUri"),value:E?e.jsx(y,{children:E}):"-"},{label:i("oauth.client.jwksUri"),value:O},{label:i("oauth.client.jwks"),value:c},{label:i("oauth.client.softwareId"),value:d},{label:i("oauth.client.softwareVersion"),value:P}]},{title:i("common.timeInfo"),items:[{label:i("oauth.client.clientIdIssuedAt"),value:q?e.jsx(V,{value:q*1e3,type:"all",locale:m}):"-"},{label:i("oauth.client.clientSecretExpiresAt"),value:A?e.jsx(V,{value:A*1e3,type:"all",locale:m}):"-"},{label:i("common.updatedAt"),value:_?e.jsx(V,{value:_,type:"all",locale:m}):"-"}]}].filter(Boolean);return e.jsxs(X,{open:!0,onClose:u,maxWidth:"lg",fullWidth:!0,children:[e.jsxs(G,{children:[i("oauth.client.oauthAppDetails"),e.jsx(J,{onClick:u,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsx(p,{mt:1,children:U.map((j,N)=>e.jsxs(p,{children:[e.jsx(ge,{title:j.title,items:j.items}),N!==U.length-1&&e.jsx(Y,{sx:{my:2}})]},j.title))})})]})}fe.propTypes={client:o.object.isRequired,onClose:o.func.isRequired};function Be(r){return e.jsx(V,{value:r*1e3})}function ie({selected:r,onClose:u}){return r?e.jsx(fe,{client:r,onClose:u}):null}ie.propTypes={selected:o.object,onClose:o.func.isRequired};ie.defaultProps={selected:null};function be({open:r,onCreated:u,onClose:i}){return r?e.jsx(me,{onCreated:u,onClose:i}):null}be.propTypes={open:o.bool.isRequired,onCreated:o.func.isRequired,onClose:o.func.isRequired};function It(){var l;const[r,u]=b.useState({searchText:"",pageSize:10,page:1}),[i,m]=b.useState(null),[n,s]=b.useState(!1),g=b.useRef(null),{t:h,locale:f}=F(),{api:k}=$(),{teamDid:a}=B(),[I,x]=b.useState(null),[T,E]=b.useState(null),O=ze(),{getClientLogoUrl:c}=ee(),d=ke(async()=>await k.getOAuthClients({input:{teamDid:a,paging:{page:r.page,pageSize:r.pageSize}}}),[r.page,r.pageSize]),{loading:P}=d,q=b.useMemo(()=>{var t;return((t=d.value)==null?void 0:t.list)||[]},[(l=d.value)==null?void 0:l.list]),A=b.useMemo(()=>r.searchText?q.filter(t=>t.clientName.toLowerCase().includes(r.searchText.toLowerCase())||t.clientId.toLowerCase().includes(r.searchText.toLowerCase())||t.scope.toLowerCase().includes(r.searchText.toLowerCase())):q,[r.searchText,q]),_=b.useMemo(()=>[{label:h("oauth.client.name"),name:"clientName",options:{customBodyRender:(t,{rowIndex:C})=>{const U=A[C],j=c(U.logoUri),N=pe.fromAppDid(U.clientId,a);return e.jsx(p,{sx:{display:"flex",alignItems:"center",gap:2},children:e.jsxs(p,{display:"flex",alignItems:"center",gap:2,sx:{cursor:"pointer"},children:[e.jsx(ne,{variant:"rounded",shape:"square",did:N.address,src:j,size:48}),e.jsxs(L,{gap:.5,children:[e.jsx(p,{sx:{color:"text.primary"},children:U.clientName}),e.jsx(p,{sx:{color:"text.secondary"},children:U.clientUri})]})]})})}}},{label:h("oauth.client.clientId"),name:"clientId"},{label:h("oauth.client.scope"),name:"scope",options:{customBodyRender:t=>e.jsx(M,{scope:t})}},{label:h("common.createdAt"),name:"clientIdIssuedAt",options:{customBodyRender:Be}},{label:h("common.createdBy"),name:"createdBy",width:100,options:{customBodyRender:t=>t?e.jsx(ve,{showDid:!0,did:t,cardType:Ce.Detailed,infoType:Te.Minimal,sx:{border:0,padding:0}}):h("oauth.client.openRegistration")}},{label:h("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(t,{rowIndex:C})=>{const U=A[C];return e.jsx(De,{actions:[{icon:e.jsx(Ae,{}),text:h("common.edit"),onClick:j=>{j.stopPropagation(),x(U)}},{icon:e.jsx(we,{}),text:h("common.delete"),onClick:j=>{j.stopPropagation(),E(U)}}]})}}}],[A,h,c,a,x,E]),D=({page:t,rowsPerPage:C,searchText:U})=>{r.pageSize!==C?u(j=>({...j,searchText:"",pageSize:C,page:1})):r.page!==t+1?u(j=>({...j,searchText:"",page:t+1})):r.searchText!==U&&u(j=>({...j,searchText:U,page:1}))};return e.jsxs(p,{ref:g,sx:{".custom-toobar-btns":{gap:"8px"},".custom-toobar-title .custom-toobar-title-inner>span":{display:"flex",alignItems:"center","white-space":"inherit",height:"100%"}},children:[O?e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}):null,e.jsx(Se,{data:A,columns:_,options:{sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,page:r.page-1,rowsPerPage:r.pageSize,count:A.length,searchDebounceTime:400,onRowClick(t,{dataIndex:C},U){var j;if((j=g.current)!=null&&j.contains(U.target)){const N=A[C];m(N)}}},onChange:D,title:O?null:e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}),customButtons:[e.jsxs(z,{variant:"contained",size:"small",onClick:()=>s(!0),children:[P?e.jsx(Z,{size:16}):e.jsx(ue,{style:{fontSize:16}}),h("common.create")]},"add")],loading:!1,emptyNode:e.jsx(Ie,{children:h("oauth.client.empty")})}),e.jsx(ie,{selected:i,onClose:()=>m(null)}),e.jsx(be,{open:n,onCreated:()=>{s(!1),d.retry()},onClose:()=>s(!1)}),I&&e.jsx(je,{client:I,onUpdate:d.retry,onClose:()=>x(null)}),T&&e.jsx(te,{...T,onDelete:d.retry,onClose:()=>E(null)})]})}export{It as default};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DnDFazyx.js","assets/vendor-ux-did-connect-CX7qG3_M.js","assets/vendor-react-DEoibe3W.js","assets/vendor-utils-B3iZkn2R.js","assets/vendor-mui-core-wlbruq2I.js","assets/vendor-hooks-BCm626KH.js","assets/lottie-web-jYmAQWuC.js","assets/vendor-ux-did-connect-DpSGLE7B.css","assets/vendor-arcblock-B4hgrXYM.js","assets/index-BpvW-cUy.js","assets/index-DQjZ74P0.js","assets/index-DOq-_YXu.css","assets/index-DVQCgvFb.js","assets/index-AgKpYdvC.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as b,b as Ue}from"./vendor-react-DEoibe3W.js";import{a as F,d as K,k as W,a3 as H,_ as ye,a2 as ne,$ as V,bs as ve,bt as Ce,bu as Te,bd as we,ac as Se,a5 as Ie}from"./vendor-ux-did-connect-CX7qG3_M.js";import{H as o,j as e,D as X,aj as G,I as J,t as Q,al as L,T as R,aa as p,O as w,br as v,bL as Re,bR as oe,bt as se,bS as ae,X as Y,ak as ce,z as de,y as z,ab as Z,ad as Ee}from"./vendor-mui-core-wlbruq2I.js";import{v as ue}from"./vendor-arcblock-B4hgrXYM.js";import{d as Ae}from"./Edit-hd-cDU5C.js";import{_ as ke}from"./dot-BID2dzD_.js";import{l as pe}from"./index-CZgWTJXl.js";import{D as $,aC as he,aD as S,G as Pe}from"./index-DQjZ74P0.js";import{u as B}from"./dashboard-B7qE-Md0.js";import{o as Ne,c as We,A as re}from"./vendor-utils-B3iZkn2R.js";import{T as Oe}from"./index-B4FABIlz.js";import{E as qe}from"./empty-spinner-DSwpCqdd.js";import{C as y}from"./click-to-copy-BUVqg1RQ.js";import{D as Le}from"./delete-confirm-Dow_C0jR.js";import{b as _e}from"./passport-item-DEX2NwJD.js";import{A as De}from"./actions-DtL6bYnA.js";import{T as le}from"./table-tips-Czrj7r52.js";import{u as ze}from"./use-mobile-CiFFAdJf.js";import"./vendor-hooks-BCm626KH.js";import"./lottie-web-jYmAQWuC.js";import"./useAsync-B6ZHbOEG.js";import"./useLocalStorage-BF3BqN1O.js";import"./index-8eXqqyHQ.js";import"./confirm-BjCmRSAF.js";import"./PlayArrow-B_ZNrQDa.js";import"./get-safe-url-BWDUV79Q.js";import"./session-1k8BRnYA.js";import"./use-blocklet-logo-6YMz11ob.js";import"./InfoOutlined-CLiL5VeK.js";import"./useSetState-CWq0AVWn.js";import"./use-mobile-CXU9YBvX.js";import"./vendor-mui-x-BKgL6hAa.js";import"./AdapterDayjs-BXVfASrK.js";import"./did-address-bJAfhuZx.js";import"./util-CS4PqVkK.js";import"./base32-CmYq1ikq.js";import"./MoreHoriz-9E3q8aHi.js";const Fe={clientName:"",clientUri:"",redirectUris:"",scope:["profile:read"],contacts:"",tosUri:"",policyUri:""};function me({onCreated:r,onClose:u}){const[i,m]=b.useState(!1),{t:n,locale:s}=F(),{api:g}=$(),{teamDid:h}=B(),{control:f,handleSubmit:k,formState:{errors:a},watch:I,setValue:x}=he({defaultValues:Fe,mode:"onChange"}),T=I("scope"),E=c=>{c!=="profile:read"&&x("scope",T.includes(c)?T.filter(d=>d!==c):[...T,c])},O=async c=>{m(!0);try{const d={...c,redirectUris:c.redirectUris,contacts:c.contacts?c.contacts.split(",").map(P=>P.trim()):[],scope:c.scope.join(" ")};await g.createOAuthClient({input:{teamDid:h,input:Ne(d,We)}}),r(d)}catch(d){H.error(d.message||"Failed to create OAuth App")}finally{m(!1)}};return e.jsxs(X,{open:!0,onClose:u,maxWidth:"md",fullWidth:!0,children:[e.jsxs(G,{children:[n("oauth.client.register")," ",e.jsx(J,{onClick:u,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsxs(L,{spacing:4,sx:{mt:2},children:[e.jsx(R,{variant:"h6",gutterBottom:!0,children:n("oauth.client.requiredInformation")}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:f,rules:{required:n("oauth.client.validate.clientName"),minLength:{value:3,message:n("oauth.client.validate.clientNameMinLength")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.name"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.clientNamePlaceholder"),error:!!a.clientName,helperText:(d=a.clientName)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:f,rules:{required:n("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:n("oauth.client.validate.clientUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.clientUri"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.clientUriPlaceholder"),error:!!a.clientUri,helperText:(d=a.clientUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:f,rules:{required:n("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:n("oauth.client.validate.redirectUrisInvalid")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,placeholder:n("oauth.client.input.redirectUrisPlaceholder"),error:!!a.redirectUris,helperText:(d=a.redirectUris)==null?void 0:d.message}),e.jsxs(p,{sx:{display:"flex",gap:"2px"},children:[e.jsx(v,{children:n("oauth.client.helperText.redirectUris")}),e.jsx(v,{children:n("oauth.client.helperText.read")}),e.jsx(v,{sx:{color:"info.main"},component:"a",href:`https://www.arcblock.io/docs/blocklet-developer/${s}/oauth-service`,target:"_blank",rel:"noopener noreferrer",children:n("oauth.client.helperText.document")}),e.jsx(v,{children:n("oauth.client.helperText.more")})]})]})}})}),e.jsxs(Re,{variant:"outlined",sx:{p:2,display:"none"},children:[e.jsx(R,{variant:"subtitle2",gutterBottom:!0,children:n("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(W.OAUTH_SCOPES).map(([c,d])=>e.jsx(se,{control:e.jsx(ae,{checked:T.includes(c),onChange:()=>E(c),disabled:c==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(R,{variant:"body2",sx:{fontWeight:500},children:d})})},c))})})]}),e.jsx(Y,{}),e.jsx(R,{variant:"h6",gutterBottom:!0,children:n("oauth.client.optionalInformation")}),e.jsx(L,{children:e.jsx(S,{name:"contacts",control:f,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:n("oauth.client.validate.contacts")}},render:({field:c})=>{var d;return e.jsxs(e.Fragment,{children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.contacts"),fullWidth:!0,placeholder:n("oauth.client.input.contactsPlaceholder"),error:!!a.contacts,helperText:(d=a.contacts)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.contacts")})]})}})}),e.jsxs(L,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:n("oauth.client.validate.tosUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.tosUri"),fullWidth:!0,placeholder:n("oauth.client.input.tosUriPlaceholder"),error:!!a.tosUri,helperText:(d=a.tosUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:f,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:n("oauth.client.validate.policyUriInvalid")}},render:({field:c})=>{var d;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{size:"small",...c,label:n("oauth.client.input.policyUri"),fullWidth:!0,placeholder:n("oauth.client.input.policyUriPlaceholder"),error:!!a.policyUri,helperText:(d=a.policyUri)==null?void 0:d.message}),e.jsx(v,{children:n("oauth.client.helperText.policyUri")})]})}})]}),a.error&&e.jsx(ce,{severity:"error",children:a.error.message})]})}),e.jsxs(de,{children:[e.jsx(z,{onClick:u,children:n("common.cancel")}),e.jsxs(z,{onClick:k(O),disabled:i,variant:"contained",color:"primary",children:[i?e.jsx(Z,{size:20,sx:{mr:1}}):null,n("oauth.client.registerButton")]})]})]})}me.propTypes={onCreated:o.func.isRequired,onClose:o.func.isRequired};function M({scope:r,...u}){if(!r)return null;const i=r.split(" ").filter(Boolean);return e.jsx(L,{direction:"row",flexWrap:"wrap",gap:1,...u,children:i.map(m=>e.jsx(Ue.Fragment,{children:e.jsx(Ee,{title:W.OAUTH_SCOPES[m],children:e.jsx(y,{children:m})})},m))})}M.propTypes={scope:o.string};M.defaultProps={scope:""};const ee=r=>{const{prefix:u}=$(),{blocklet:i}=Pe(),m=re(u,"/api/media/upload",i.appPid),n=b.useCallback(g=>g?g.startsWith("http")?g:`${re(u,"/api/media/upload",i.appPid)}/${g}`:"",[u,i.appPid]);return{clientLogoUrl:b.useMemo(()=>n(r),[r,n]),apiPath:m,getClientLogoUrl:n}},$e=b.lazy(()=>ye(()=>import("./index-DnDFazyx.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(r=>({default:r.Uploader})));function xe({client:r,onUpdate:u,onClose:i}){const[m,n]=b.useState(!1),{t:s,locale:g}=F(),h=b.useRef(null),{api:f}=$(),{teamDid:k}=B(),{control:a,handleSubmit:I,formState:{errors:x},watch:T,setValue:E,getValues:O}=he({defaultValues:{clientName:r.clientName||"",clientUri:r.clientUri||"",redirectUris:Array.isArray(r.redirectUris)?r.redirectUris.join(","):"",scope:r.scope?r.scope.split(" "):["profile:read"],contacts:Array.isArray(r.contacts)?r.contacts.join(","):"",tosUri:r.tosUri||"",policyUri:r.policyUri||"",logoUri:r.logoUri||"",clientSecretExpiresAt:r.clientSecretExpiresAt||null},mode:"onChange"}),c=T("scope"),d=T("logoUri"),{clientLogoUrl:P,apiPath:q}=ee(d),A=l=>{l!=="profile:read"&&E("scope",c.includes(l)?c.filter(t=>t!==l):[...c,l])},_=async l=>{const t={clientId:r.clientId,clientName:l.clientName.trim(),clientUri:l.clientUri,redirectUris:l.redirectUris.split(",").map(C=>C.trim()).filter(Boolean),contacts:l.contacts?l.contacts.split(",").map(C=>C.trim()):[],scope:l.scope.join(" "),tosUri:l.tosUri,policyUri:l.policyUri,logoUri:l.logoUri,clientSecretExpiresAt:l.clientSecretExpiresAt?parseInt(l.clientSecretExpiresAt/1e3,10):null};await f.updateOAuthClient({input:{teamDid:k,input:t}})},D=async l=>{n(!0);try{await _(l),u(),i()}catch(t){H.error(t.message||s("oauth.client.updateFailed"))}finally{n(!1)}};return e.jsxs(X,{open:!0,onClose:i,maxWidth:"md",fullWidth:!0,children:[e.jsxs(G,{children:[s("oauth.client.update")," ",e.jsx(J,{onClick:i,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsxs(L,{spacing:3,sx:{mt:2},children:[e.jsxs(p,{sx:{mb:3},children:[e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500,mb:1},children:s("oauth.client.logo")}),e.jsxs(p,{children:[e.jsx(p,{sx:{width:120,height:120,position:"relative",borderRadius:"4px",overflow:"hidden"},children:P?e.jsx(p,{children:e.jsx("img",{src:P,alt:"client-logo",style:{width:"100%",height:"100%"}})}):e.jsx(p,{onClick:()=>{var l;(l=h.current)==null||l.open()},sx:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"grey.200"},children:e.jsx(ue,{sx:{fontSize:40,color:"common.white"}})})}),e.jsx(z,{sx:{mt:2},variant:"outlined",size:"small",onClick:()=>{var l;(l=h.current)==null||l.open()},children:s(P?"common.change":"common.upload")})]}),e.jsx(p,{sx:{display:"flex",alignItems:"center"},children:e.jsx(b.Suspense,{fallback:e.jsx(qe,{}),children:e.jsx($e,{ref:h,locale:g,popup:!0,onUploadFinish:l=>{E("logoUri",l.data.filename),_(O()).then(()=>{u()}).catch(t=>{H.error(t.message||s("oauth.client.updateFailed"))}).finally(()=>{var t;(t=h.current)==null||t.close()})},plugins:["ImageEditor"],installerProps:{disabled:!0},apiPathProps:{uploader:q,disableMediaKitPrefix:!0,disableAutoPrefix:!0,disableMediaKitStatus:!0},coreProps:{restrictions:{allowedFileTypes:["image/png","image/jpeg","image/webp","image/svg+xml"],maxFileSize:1024*1024*.5,maxNumberOfFiles:1}},dashboardProps:{autoOpen:"imageEditor"},imageEditorProps:{actions:{revert:!0,rotate:!0,granularRotate:!0,flip:!0,zoomIn:!0,zoomOut:!0,cropSquare:!1,cropWidescreen:!1,cropWidescreenVertical:!1},cropperOptions:{autoCrop:!0,aspectRatio:1,initialAspectRatio:1,autoCropArea:1,croppedCanvasOptions:{minWidth:256,minHeight:256}}}},"uploader-logo")})})]}),e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.requiredInformation")}),e.jsx(w,{label:"Client Id",fullWidth:!0,value:r.clientId,disabled:!0}),e.jsx(p,{children:e.jsx(S,{name:"clientName",control:a,rules:{required:s("oauth.client.validate.clientName"),minLength:{value:3,message:s("oauth.client.validate.clientNameMinLength")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.name"),required:!0,fullWidth:!0,error:!!x.clientName,helperText:(t=x.clientName)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.clientName")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"clientUri",control:a,rules:{required:s("oauth.client.validate.clientUri"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.clientUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.clientUri"),required:!0,fullWidth:!0,error:!!x.clientUri,helperText:(t=x.clientUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.clientUri")})]})}})}),e.jsx(p,{children:e.jsx(S,{name:"redirectUris",control:a,rules:{required:s("oauth.client.validate.redirectUris"),pattern:{value:/^https?:\/\/.+/,message:s("oauth.client.validate.redirectUrisInvalid")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.redirectUris"),required:!0,fullWidth:!0,multiline:!0,rows:2,error:!!x.redirectUris,helperText:(t=x.redirectUris)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.redirectUris")})]})}})}),e.jsx(S,{name:"clientSecretExpiresAt",control:a,render:({field:l})=>e.jsx(Oe,{placeholder:s("oauth.client.input.expireTime"),value:l.value*1e3,onChange:t=>{l.onChange(t)}})}),e.jsxs(p,{sx:{display:"none"},children:[e.jsx(R,{variant:"subtitle2",sx:{mb:1},children:s("oauth.client.input.permissions")}),e.jsx(p,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1,p:2},children:e.jsx(oe,{children:Object.entries(W.OAUTH_SCOPES).map(([l,t])=>e.jsx(se,{control:e.jsx(ae,{checked:c.includes(l),onChange:()=>A(l),disabled:l==="profile:read",color:"primary"}),label:e.jsx(p,{children:e.jsx(R,{variant:"body2",sx:{fontWeight:500},children:t})})},l))})})]}),e.jsx(Y,{}),e.jsx(R,{variant:"subtitle1",sx:{fontWeight:500},children:s("oauth.client.optionalInformation")}),e.jsx(p,{children:e.jsx(S,{name:"contacts",control:a,rules:{pattern:{value:/^$|^[^@\s]+@[^@\s]+\.[^@\s]+(\s*,\s*[^@\s]+@[^@\s]+\.[^@\s]+)*$/,message:s("oauth.client.validate.contacts")}},render:({field:l})=>{var t;return e.jsxs(e.Fragment,{children:[e.jsx(w,{...l,label:s("oauth.client.input.contacts"),fullWidth:!0,error:!!x.contacts,helperText:(t=x.contacts)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.contacts")})]})}})}),e.jsxs(L,{direction:{xs:"column",sm:"row"},spacing:2,children:[e.jsx(S,{name:"tosUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.tosUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{...l,label:s("oauth.client.input.tosUri"),fullWidth:!0,error:!!x.tosUri,helperText:(t=x.tosUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.tosUri")})]})}}),e.jsx(S,{name:"policyUri",control:a,rules:{pattern:{value:/^$|^https?:\/\/.+/,message:s("oauth.client.validate.policyUriInvalid")}},render:({field:l})=>{var t;return e.jsxs(p,{sx:{width:"50%"},children:[e.jsx(w,{...l,label:s("oauth.client.input.policyUri"),fullWidth:!0,error:!!x.policyUri,helperText:(t=x.policyUri)==null?void 0:t.message}),e.jsx(v,{children:s("oauth.client.helperText.policyUri")})]})}})]}),x.error&&e.jsx(ce,{severity:"error",children:x.error.message})]})}),e.jsxs(de,{children:[e.jsx(z,{onClick:i,children:s("common.cancel")}),e.jsx(z,{onClick:I(D),disabled:m,variant:"contained",color:"primary",children:m?e.jsx(Z,{size:16}):s("common.update")})]})]})}xe.propTypes={client:o.shape({clientId:o.string.isRequired,clientName:o.string.isRequired,clientUri:o.string,redirectUris:o.arrayOf(o.string),scope:o.string,contacts:o.arrayOf(o.string),tosUri:o.string,policyUri:o.string,logoUri:o.string,clientSecretExpiresAt:o.number}).isRequired,onUpdate:o.func.isRequired,onClose:o.func.isRequired};function je({client:r,onUpdate:u,onClose:i}){return e.jsx(xe,{client:r,onUpdate:m=>u(m),onClose:i})}je.propTypes={client:o.shape({clientId:o.string.isRequired,clientName:o.string.isRequired,clientUri:o.string,redirectUris:o.arrayOf(o.string),scope:o.string,contacts:o.arrayOf(o.string),tosUri:o.string,policyUri:o.string,logoUri:o.string,clientSecretExpiresAt:o.number}).isRequired,onUpdate:o.func.isRequired,onClose:o.func.isRequired};function te(r){const{t:u}=F(),{api:i}=$(),{teamDid:m}=B(),{clientId:n,clientName:s,onDelete:g=()=>{},onClose:h=()=>{}}=r,f=()=>{h()},k=async()=>{try{await i.deleteOAuthClient({input:{teamDid:m,clientId:n}}),g()}catch(I){H.error(I==null?void 0:I.message)}finally{f()}},a={keyName:s,title:u("oauth.client.delete.title"),description:u("oauth.client.delete.description",{name:`<b>${s}</b>`}),confirmPlaceholder:u("oauth.client.delete.description",{name:s}),confirm:u("common.delConfirm"),cancel:u("common.cancel"),onConfirm:k,onCancel:f};return e.jsx(Le,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})}te.propTypes={clientId:o.string.isRequired,clientName:o.string.isRequired,onDelete:o.func,onClose:o.func};te.defaultProps={onDelete:()=>{},onClose:()=>{}};function ge({title:r,items:u}){return e.jsxs(p,{mb:3,children:[e.jsx(R,{variant:"h6",sx:{mb:1.5},children:r}),e.jsx(L,{spacing:1.5,children:u.map(({label:i,value:m})=>e.jsxs(p,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(R,{variant:"subtitle2",color:"textSecondary",sx:{minWidth:200},children:i}),e.jsx(R,{sx:{wordBreak:"break-all"},children:m||"-"})]},i))})]})}ge.propTypes={title:o.string.isRequired,items:o.arrayOf(o.shape({label:o.string.isRequired,value:o.any})).isRequired};function fe({client:r,onClose:u}){const{t:i,locale:m}=F(),{teamDid:n}=B(),{clientName:s,clientId:g,clientSecret:h,redirectUris:f,scope:k,clientUri:a,logoUri:I,contacts:x,tosUri:T,policyUri:E,jwksUri:O,jwks:c,softwareId:d,softwareVersion:P,clientIdIssuedAt:q,clientSecretExpiresAt:A,updatedAt:_,createUser:D}=r,{clientLogoUrl:l}=ee(I),t=j=>{try{const N=new URL(window.blocklet.appUrl);return N.pathname=j,N.toString()}catch{return"-"}},C=pe.fromAppDid(g,n),U=[{title:i("common.baseInfo"),items:[{label:i("oauth.client.name"),value:s},{label:i("oauth.client.logoUri"),value:e.jsx(ne,{variant:"rounded",shape:"square",src:l,did:C.address,size:64})},{label:i("oauth.client.clientUri"),value:a?e.jsx(y,{children:a}):"-"},{label:i("oauth.client.clientId"),value:e.jsx(y,{children:g})},{label:i("oauth.client.clientSecret"),value:e.jsx(y,{children:h})},{label:i("oauth.client.redirectUris"),value:e.jsx(y,{children:(f||[]).join(", ")})},{label:i("oauth.client.scope"),value:e.jsx(M,{scope:k})},{label:i("oauth.client.createUser"),value:D?_e(D,!0):i("oauth.client.openRegistration")}]},{title:i("oauth.client.oauthEndpoints"),items:[{label:i("oauth.client.openidConfiguration"),value:e.jsx(y,{children:t("/.well-known/openid-configuration")})},{label:i("oauth.client.authorizationEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/authorize`)})},{label:i("oauth.client.tokenEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/token`)})},{label:i("oauth.client.userinfoEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/userinfo`)})},{label:i("oauth.client.jwksUri"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/jwks`)})},{label:i("oauth.client.registrationEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/register`)})},{label:i("oauth.client.endSessionEndpoint"),value:e.jsx(y,{children:t(`${W.WELLKNOWN_SERVICE_PATH_PREFIX}/oauth/logout`)})}]},{title:i("oauth.client.metaContact"),items:[{label:i("oauth.client.contacts"),value:x.length?e.jsx(y,{children:(x||[]).join(", ")}):"-"},{label:i("oauth.client.tosUri"),value:T?e.jsx(y,{children:T}):"-"},{label:i("oauth.client.policyUri"),value:E?e.jsx(y,{children:E}):"-"},{label:i("oauth.client.jwksUri"),value:O},{label:i("oauth.client.jwks"),value:c},{label:i("oauth.client.softwareId"),value:d},{label:i("oauth.client.softwareVersion"),value:P}]},{title:i("common.timeInfo"),items:[{label:i("oauth.client.clientIdIssuedAt"),value:q?e.jsx(V,{value:q*1e3,type:"all",locale:m}):"-"},{label:i("oauth.client.clientSecretExpiresAt"),value:A?e.jsx(V,{value:A*1e3,type:"all",locale:m}):"-"},{label:i("common.updatedAt"),value:_?e.jsx(V,{value:_,type:"all",locale:m}):"-"}]}].filter(Boolean);return e.jsxs(X,{open:!0,onClose:u,maxWidth:"lg",fullWidth:!0,children:[e.jsxs(G,{children:[i("oauth.client.oauthAppDetails"),e.jsx(J,{onClick:u,sx:{position:"absolute",right:8,top:8},children:e.jsx(K,{})})]}),e.jsx(Q,{children:e.jsx(p,{mt:1,children:U.map((j,N)=>e.jsxs(p,{children:[e.jsx(ge,{title:j.title,items:j.items}),N!==U.length-1&&e.jsx(Y,{sx:{my:2}})]},j.title))})})]})}fe.propTypes={client:o.object.isRequired,onClose:o.func.isRequired};function Be(r){return e.jsx(V,{value:r*1e3})}function ie({selected:r,onClose:u}){return r?e.jsx(fe,{client:r,onClose:u}):null}ie.propTypes={selected:o.object,onClose:o.func.isRequired};ie.defaultProps={selected:null};function be({open:r,onCreated:u,onClose:i}){return r?e.jsx(me,{onCreated:u,onClose:i}):null}be.propTypes={open:o.bool.isRequired,onCreated:o.func.isRequired,onClose:o.func.isRequired};function It(){var l;const[r,u]=b.useState({searchText:"",pageSize:10,page:1}),[i,m]=b.useState(null),[n,s]=b.useState(!1),g=b.useRef(null),{t:h,locale:f}=F(),{api:k}=$(),{teamDid:a}=B(),[I,x]=b.useState(null),[T,E]=b.useState(null),O=ze(),{getClientLogoUrl:c}=ee(),d=ke(async()=>await k.getOAuthClients({input:{teamDid:a,paging:{page:r.page,pageSize:r.pageSize}}}),[r.page,r.pageSize]),{loading:P}=d,q=b.useMemo(()=>{var t;return((t=d.value)==null?void 0:t.list)||[]},[(l=d.value)==null?void 0:l.list]),A=b.useMemo(()=>r.searchText?q.filter(t=>t.clientName.toLowerCase().includes(r.searchText.toLowerCase())||t.clientId.toLowerCase().includes(r.searchText.toLowerCase())||t.scope.toLowerCase().includes(r.searchText.toLowerCase())):q,[r.searchText,q]),_=b.useMemo(()=>[{label:h("oauth.client.name"),name:"clientName",options:{customBodyRender:(t,{rowIndex:C})=>{const U=A[C],j=c(U.logoUri),N=pe.fromAppDid(U.clientId,a);return e.jsx(p,{sx:{display:"flex",alignItems:"center",gap:2},children:e.jsxs(p,{display:"flex",alignItems:"center",gap:2,sx:{cursor:"pointer"},children:[e.jsx(ne,{variant:"rounded",shape:"square",did:N.address,src:j,size:48}),e.jsxs(L,{gap:.5,children:[e.jsx(p,{sx:{color:"text.primary"},children:U.clientName}),e.jsx(p,{sx:{color:"text.secondary"},children:U.clientUri})]})]})})}}},{label:h("oauth.client.clientId"),name:"clientId"},{label:h("oauth.client.scope"),name:"scope",options:{customBodyRender:t=>e.jsx(M,{scope:t})}},{label:h("common.createdAt"),name:"clientIdIssuedAt",options:{customBodyRender:Be}},{label:h("common.createdBy"),name:"createdBy",width:100,options:{customBodyRender:t=>t?e.jsx(ve,{showDid:!0,did:t,cardType:Ce.Detailed,infoType:Te.Minimal,sx:{border:0,padding:0}}):h("oauth.client.openRegistration")}},{label:h("common.actions"),name:"actions",width:100,align:"center",verticalKeyAlign:"center",options:{customBodyRender:(t,{rowIndex:C})=>{const U=A[C];return e.jsx(De,{actions:[{icon:e.jsx(Ae,{}),text:h("common.edit"),onClick:j=>{j.stopPropagation(),x(U)}},{icon:e.jsx(we,{}),text:h("common.delete"),onClick:j=>{j.stopPropagation(),E(U)}}]})}}}],[A,h,c,a,x,E]),D=({page:t,rowsPerPage:C,searchText:U})=>{r.pageSize!==C?u(j=>({...j,searchText:"",pageSize:C,page:1})):r.page!==t+1?u(j=>({...j,searchText:"",page:t+1})):r.searchText!==U&&u(j=>({...j,searchText:U,page:1}))};return e.jsxs(p,{ref:g,sx:{".custom-toobar-btns":{gap:"8px"},".custom-toobar-title .custom-toobar-title-inner>span":{display:"flex",alignItems:"center","white-space":"inherit",height:"100%"}},children:[O?e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}):null,e.jsx(Se,{data:A,columns:_,options:{sort:!1,download:!1,filter:!1,print:!1,viewColumns:!1,page:r.page-1,rowsPerPage:r.pageSize,count:A.length,searchDebounceTime:400,onRowClick(t,{dataIndex:C},U){var j;if((j=g.current)!=null&&j.contains(U.target)){const N=A[C];m(N)}}},onChange:D,title:O?null:e.jsx(le,{title:h("oauth.client.listTitle"),tooltipTitle:h("oauth.client.tooltipTitle"),link:`https://www.arcblock.io/docs/blocklet-developer/${f}/oauth-service`}),customButtons:[e.jsxs(z,{variant:"contained",size:"small",onClick:()=>s(!0),children:[P?e.jsx(Z,{size:16}):e.jsx(ue,{style:{fontSize:16}}),h("common.create")]},"add")],loading:!1,emptyNode:e.jsx(Ie,{children:h("oauth.client.empty")})}),e.jsx(ie,{selected:i,onClose:()=>m(null)}),e.jsx(be,{open:n,onCreated:()=>{s(!1),d.retry()},onClose:()=>s(!1)}),I&&e.jsx(je,{client:I,onUpdate:d.retry,onClose:()=>x(null)}),T&&e.jsx(te,{...T,onDelete:d.retry,onClose:()=>E(null)})]})}export{It as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./vendor-mui-core-wlbruq2I.js";import"./vendor-react-DEoibe3W.js";import{S as t}from"./studio-Cua13-ul.js";import"./vendor-ux-did-connect-CX7qG3_M.js";import"./vendor-utils-B3iZkn2R.js";import"./vendor-hooks-BCm626KH.js";import"./lottie-web-jYmAQWuC.js";import"./vendor-arcblock-B4hgrXYM.js";import"./TuneOutlined-0oMZE8a4.js";function d(){return o.jsx(t,{children:"Coming soon..."})}export{d as default};
|