@abtnode/webapp 1.8.29 → 1.8.31
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/blocklet.js +1 -1
- package/blocklet.yml +1 -1
- package/build/asset-manifest.json +15 -15
- package/build/index.html +1 -1
- package/build/static/js/4897.d9c2e84e.chunk.js +2 -0
- package/build/static/js/4897.d9c2e84e.chunk.js.map +1 -0
- package/build/static/js/{5306.7904606c.chunk.js → 5306.e57185ac.chunk.js} +2 -2
- package/build/static/js/5306.e57185ac.chunk.js.map +1 -0
- package/build/static/js/5720.cebd5eb8.chunk.js +2 -0
- package/build/static/js/{5720.6a664a49.chunk.js.map → 5720.cebd5eb8.chunk.js.map} +1 -1
- package/build/static/js/7595.2d41497d.chunk.js +2 -0
- package/build/static/js/7595.2d41497d.chunk.js.map +1 -0
- package/build/static/js/8440.0d3e6baf.chunk.js +2 -0
- package/build/static/js/{8440.ad893b9c.chunk.js.map → 8440.0d3e6baf.chunk.js.map} +1 -1
- package/build/static/js/976.d320954f.chunk.js +3 -0
- package/build/static/js/{976.5c646415.chunk.js.LICENSE.txt → 976.d320954f.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/976.d320954f.chunk.js.map +1 -0
- package/build/static/js/main.89f26b95.js +3 -0
- package/build/static/js/{main.b38edd14.js.LICENSE.txt → main.89f26b95.js.LICENSE.txt} +0 -0
- package/build/static/js/main.89f26b95.js.map +1 -0
- package/package.json +1 -1
- package/build/static/js/4897.2d04c339.chunk.js +0 -2
- package/build/static/js/4897.2d04c339.chunk.js.map +0 -1
- package/build/static/js/5306.7904606c.chunk.js.map +0 -1
- package/build/static/js/5720.6a664a49.chunk.js +0 -2
- package/build/static/js/7595.7fbdecd8.chunk.js +0 -2
- package/build/static/js/7595.7fbdecd8.chunk.js.map +0 -1
- package/build/static/js/8440.ad893b9c.chunk.js +0 -2
- package/build/static/js/976.5c646415.chunk.js +0 -3
- package/build/static/js/976.5c646415.chunk.js.map +0 -1
- package/build/static/js/main.b38edd14.js +0 -3
- package/build/static/js/main.b38edd14.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[5720],{65834:function(e,n,t){t.d(n,{BZ:function(){return Z},ZN:function(){return _}});var r=t(56666),a=t(33028),c=t(32723),s=t(34795),o=t(96234),i=t(30969),l=t(19611),u=t.n(l),d=t(20244),m=t(32860),f=t(67615),p=t(67626),h=t.n(p),x=t(32198),v=t.n(x),y=t(42167),g=t(35258),j=t(78685),b=v()((function(e){return h()(u()(new URL(e).origin,d.WELLKNOWN_PING_PREFIX))})),k={};function C(e){var n=e.urls,t=e.checkAccessible,r=void 0===t?h():t,a=e.disableCache,l=void 0!==a&&a,u=(0,i.useRef)(n.filter((function(e){return k[e]})).map((function(e){return k[e]}))),d=u.current.length===n.length,m=(0,i.useState)(d?u.current:[]),p=(0,o.Z)(m,2),x=p[0],v=p[1],y=(0,i.useState)(!d),g=(0,o.Z)(y,2),j=g[0],b=g[1],C=(0,i.useMemo)((function(){return!j&&x.length?x[0]:null}),[x,j]);return(0,i.useEffect)((function(){if((null===n||void 0===n?void 0:n.length)>0&&!d){var e=function(){var e=(0,s.Z)((0,c.Z)().mark((function e(){var t;return(0,c.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(b(!0),!l){e.next=8;break}return e.next=4,(0,f.evaluateURLs)(n,{checkAccessible:r});case 4:(t=e.sent).forEach((function(e){k[e.url]=e})),e.next=13;break;case 8:return e.next=10,(0,f.evaluateURLs)(n.filter((function(e){return!k[e]})),{checkAccessible:r});case 10:e.sent.forEach((function(e){k[e.url]=e})),t=n.map((function(e){return k[e]})).sort((function(e,n){return n.score-e.score}));case 13:v(t),b(!1);case 15:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[n,l,d]),{urlsState:x,loading:j,recommendedUrlState:C,recommendedUrl:null===C||void 0===C?void 0:C.url}}function Z(e){var n=(0,g.lX)().siteMap,t=(0,i.useContext)(y.LocaleContext).locale,r=(0,i.useMemo)((function(){return e?(0,g.A6)({did:e.meta.did,siteMap:n,params:(0,j.f0)(e,t)}):[]}),[e,t,n]),a=C({urls:r,checkAccessible:b});return{urls:r,loading:a.loading,recommendedUrlState:a.recommendedUrlState,recommendedUrl:a.recommendedUrl}}function _(e){var n,t=C({urls:(0,i.useMemo)((function(){return e.map((function(e){return(0,m.Sk)(e)}))}),[e]),checkAccessible:b}),c=t.urlsState,s=t.loading,o=t.recommendedUrl;if(s)n={domainsAccessibility:e.reduce((function(e,n){return(0,a.Z)((0,a.Z)({},e),{},(0,r.Z)({},n,{loading:!0}))}),{}),recommendedDomain:null};else{var l,u=c.reduce((function(e,n){var t=new URL(n.url).hostname;return e[t]=(0,a.Z)((0,a.Z)({},n),{},{domain:t}),e}),{}),d=(null===(l=c.find((function(e){return e.accessible})))||void 0===l?void 0:l.url)||o;n={domainsAccessibility:u,recommendedDomain:d?new URL(d).hostname:null}}return n}},21121:function(e,n,t){t.r(n),t.d(n,{default:function(){return de}});var r=t(71171),a=t(30969),c=t(16380),s=t(30734),o=t(70054),i=t(3037),l=t(42167),u=t(95050),d=t(98395),m=t(65233),f=t(5954),p=t(79670),h=t(33028),x=t(32723),v=t(34795),y=t(96234),g=t(73930),j=t(70048),b=function(e,n){void 0===n&&(n=[]);var t=(0,a.useState)(0),r=t[0],c=t[1],s=(0,j.Z)(e,(0,g.__spreadArrays)(n,[r])),o=s.loading,i=(0,a.useCallback)((function(){o||c((function(e){return e+1}))}),(0,g.__spreadArrays)(n,[o]));return(0,g.__assign)((0,g.__assign)({},s),{retry:i})},k=t(75066),C=t(90042),Z=t(58165),_=t(61802),w=t(24972),K=t(51193),S=t.n(K),N=t(20244),A=t(1289),U=t(78685),I=t(3715),z=t(35436),L=t(28712),R=t(89003),W=t(49197),P=t(3562),B=t(88029),D=t(70517),M=t(57016),O=t(37574);function F(e){var n=e.remark,t=e.onCreate,r=(0,l.useLocaleContext)().t,c=(0,a.useState)(!1),s=(0,y.Z)(c,2),i=s[0],u=s[1],d=(0,a.useState)(null),m=(0,y.Z)(d,2),f=m[0],p=m[1],g=(0,M.Z)(),j=N.RBAC_CONFIG.roles.filter((function(e){return e.passport&&e.name!==N.ROLES.OWNER})),b=function(){var e=(0,v.Z)((0,x.Z)().mark((function e(n){var r,a,c,s;return(0,x.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.remark,a=n.passport,u(!0),e.next=4,g.createAccessKey({input:{remark:r.trim(),passport:a}});case 4:c=e.sent,s=c.data,t(s),p(null),u(!1);case 9:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),k={title:"".concat(r("common.create")," ").concat(r("common.accessKey")),description:function(e,n,t){return(0,O.jsxs)(o.Z,{component:"div",children:[(0,O.jsx)(z.Z,{label:r("setting.accessKey.tip"),autoComplete:"off",variant:"outlined",name:"remark","data-cy":"remark-input",fullWidth:!0,autoFocus:!0,style:{marginBottom:32},margin:"dense",value:e.remark,onChange:function(a){n((0,h.Z)((0,h.Z)({},e),{},{remark:a.target.value,__disableConfirm:!e.passport||!a.target.value.trim()})),a.target.value.trim()?t(""):t(r("setting.accessKey.remarkInvalid"))}}),(0,O.jsxs)(P.Z,{style:{width:"100%"},variant:"outlined",children:[(0,O.jsx)(W.Z,{children:r("common.passport")}),(0,O.jsx)(R.Z,{"data-cy":"create-access-key-select-passport",value:e.passport,onChange:function(r){var a=r.target.value;t(null),n((0,h.Z)((0,h.Z)({},e),{},{passport:a,__disableConfirm:!e.remark||!a}))},fullWidth:!0,label:r("common.passport"),disabled:i,children:j.map((function(e){return(0,O.jsx)(L.Z,{value:e.name,"data-cy":"create-access-key-passport-option-".concat(e.name),children:(0,O.jsxs)(Z.Z,{children:[(0,O.jsx)("span",{children:e.title||e.name}),(0,O.jsx)(Z.Z,{maxWidth:440,fontSize:12,color:"#999",whiteSpace:"normal",textAlign:"justify",children:e.description})]})},e.name)}))})]})]})},confirm:r("common.confirm"),cancel:r("common.cancel"),color:"primary",params:{remark:n,__disableConfirm:!n.trim()},onConfirm:b,onCancel:function(){u(!1),p(null)}};return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(B.default,{edge:"end",variant:"contained",color:"primary","data-cy":"add-access-key-btn",onClick:function(){return p(k)},className:"rule-action",children:[i?(0,O.jsx)(_.default,{size:[16,10]}):(0,O.jsx)(I.default,{style:{fontSize:16}}),r("common.create")]}),f&&(0,O.jsx)(D.Z,{title:f.title,description:f.description,confirm:f.confirm,color:f.color,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel})]})}F.defaultProps={onCreate:function(){},remark:""};var E,T,G,$=t(62068),q=t(78742),H=t(21268),X=t(54258);function V(e){var n=e.onConfirm,t=e.accessKeyId,r=e.accessKeySecret,c=(0,a.useContext)(l.LocaleContext).t,s=(0,a.useState)(!1),o=(0,y.Z)(s,2),i=o[0],u=o[1],d=(0,a.useState)(!0),m=(0,y.Z)(d,2),f=m[0],p=m[1];return(0,O.jsxs)($.default,{title:c("common.createSuccess"),fullWidth:!0,open:!0,disableEscapeKeyDown:!0,onClose:n,showCloseButton:!1,actions:(0,O.jsx)("div",{children:(0,O.jsx)(B.default,{disabled:!i,onClick:n,color:"primary",autoFocus:!0,variant:"contained","data-cy":"submit-confirm-dialog",children:c("common.confirm")})}),"aria-labelledby":"simple-dialog-title",children:[(0,O.jsx)("div",{children:(0,O.jsx)(Y,{children:c("setting.accessKey.saveSecretTip")})}),(0,O.jsx)("div",{style:{marginTop:"20px"}}),(0,O.jsxs)(Q,{children:[(0,O.jsx)(J,{children:"Access Key"}),(0,O.jsx)(X.default,{children:t})]}),(0,O.jsxs)(Q,{children:[(0,O.jsx)(J,{children:"Access Secret"}),f?(0,O.jsx)(B.default,{"data-cy":"show-secret-btn",color:"primary",onClick:function(){p(!f)},children:c("setting.accessKey.showSecret")}):(0,O.jsx)(X.default,{children:r})]}),(0,O.jsx)("div",{children:(0,O.jsx)(q.Z,{value:"end",disabled:f,control:(0,O.jsx)(H.Z,{checked:i,onChange:function(e){u(e.target.checked)}}),label:c("setting.accessKey.iKnow"),labelPlacement:"end"})})]})}V.defaultProps={onConfirm:function(){}};var J=c.default.div(E||(E=(0,r.Z)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 16px;\n margin-bottom: 8px;\n"]))),Q=c.default.div(T||(T=(0,r.Z)(["\n margin-bottom: 24px;\n"]))),Y=c.default.div(G||(G=(0,r.Z)(["\n font-size: 16px;\n font-weight: bold;\n"]))),ee=t(5543),ne=t(10814),te=t(22128);function re(e){var n,t=(0,l.useLocaleContext)(),r=t.t,c=t.locale,s=(0,a.useState)(!1),o=(0,y.Z)(s,2),i=o[0],u=o[1],d=(0,a.useState)(null),m=(0,y.Z)(d,2),f=m[0],p=m[1],h=e.accessKeyId,g=e.time,j=e.remark,b=e.onDelete,k=void 0===b?function(){}:b,C=(0,M.Z)(),Z=function(){var e=(0,v.Z)((0,x.Z)().mark((function e(){return(0,x.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.prev=1,e.next=4,C.deleteAccessKey({input:{accessKeyId:h}});case 4:k(),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),console.error(e.t0);case 10:return e.prev=10,u(!1),p(null),e.finish(10);case 14:case"end":return e.stop()}}),e,null,[[1,7,10,14]])})));return function(){return e.apply(this,arguments)}}(),w={keyName:j,title:r("setting.accessKey.title"),description:"".concat(g?r("setting.accessKey.description",(n=g,{key:"<b>".concat(h,"</b>"),name:"<b>".concat(j,"</b>"),time:(0,U.B2)(n),timeAge:(0,ee.WU)(new Date(n),(0,U.FF)(c))})):r("setting.accessKey.descriptionNoTime",{key:"<b>".concat(h,"</b>"),name:"<b>".concat(j,"</b>")})),confirmPlaceholder:r("setting.accessKey.confirm_desc",{name:j}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:Z,onCancel:function(){u(!1),p(null)}};return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(B.default,{edge:"end",onClick:function(){return p(w)},size:"small",className:"rule-action",color:"error",children:[i?(0,O.jsx)(_.default,{size:[16,10]}):(0,O.jsx)(ne.default,{style:{fontSize:16}}),r("common.delete")]}),f&&(0,O.jsx)(te.Z,{keyName:f.keyName,title:f.title,description:f.description,confirmPlaceholder:f.confirmPlaceholder,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel})]})}re.defaultProps={onDelete:function(){}};var ae=t(88356);function ce(e){var n=e.accessKeyId,t=e.remark,r=e.onUpdate,c=e.passport,s=(0,l.useLocaleContext)().t,i=(0,a.useState)(!1),u=(0,y.Z)(i,2),d=u[0],m=u[1],f=(0,a.useState)(null),p=(0,y.Z)(f,2),g=p[0],j=p[1],b=(0,M.Z)(),k=N.RBAC_CONFIG.roles.filter((function(e){return e.passport&&e.name!==N.ROLES.OWNER})),C=function(){var e=(0,v.Z)((0,x.Z)().mark((function e(n){var t,a,c;return(0,x.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.accessKeyId,a=n.remark,c=n.passport,m(!0),e.next=4,b.updateAccessKey({input:{accessKeyId:t,remark:a.trim(),passport:c}});case 4:r(),j(null),m(!1);case 7:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),Z={title:"".concat(s("common.update")," ").concat(s("common.accessKey")),description:function(e,n,t){return(0,O.jsxs)(o.Z,{component:"div",children:[(0,O.jsx)(z.Z,{label:s("setting.accessKey.accessKeyId"),autoComplete:"off",variant:"outlined",name:"accessKeyId",fullWidth:!0,autoFocus:!0,style:{marginBottom:32},margin:"dense",value:e.accessKeyId,disabled:!0}),(0,O.jsx)(z.Z,{label:s("common.remark"),autoComplete:"off",variant:"outlined",name:"remark",fullWidth:!0,autoFocus:!0,style:{marginBottom:32},value:e.remark,onChange:function(r){n((0,h.Z)((0,h.Z)({},e),{},{remark:r.target.value,__disableConfirm:!r.target.value.trim()})),r.target.value.trim()?t(""):t(s("setting.accessKey.remarkInvalid"))}}),(0,O.jsxs)(P.Z,{style:{width:"100%"},variant:"outlined",children:[(0,O.jsx)(W.Z,{children:s("common.passport")}),(0,O.jsx)(R.Z,{"data-cy":"update-access-key-select-passport",value:e.passport,onChange:function(r){var a=r.target.value;t(null),n((0,h.Z)((0,h.Z)({},e),{},{passport:a,__disableConfirm:!e.remark||!a}))},fullWidth:!0,label:s("common.passport"),disabled:d,children:k.map((function(e){return(0,O.jsx)(L.Z,{value:e.name,"data-cy":"update-access-key-passport-option-".concat(e.name),children:(0,O.jsx)("span",{children:e.title||e.name})},e.name)}))})]})]})},confirm:s("common.confirm"),cancel:s("common.cancel"),color:"primary",params:{accessKeyId:n,remark:t,passport:c},onConfirm:C,onCancel:function(){m(!1),j(null)}};return(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(B.default,{edge:"end",onClick:function(){return j(Z)},size:"small",className:"rule-action",color:"primary",children:[d?(0,O.jsx)(_.default,{size:[16,10]}):(0,O.jsx)(ae.default,{style:{fontSize:16}}),s("common.update")]}),g&&(0,O.jsx)(D.Z,{title:g.title,description:g.description,confirm:g.confirm,color:g.color,cancel:g.cancel,params:g.params,onConfirm:g.onConfirm,onCancel:g.onCancel})]})}ce.defaultProps={onUpdate:function(){},remark:"",passport:""};var se,oe=t(61627);function ie(){var e=(0,a.useContext)(l.LocaleContext).t,n=(0,f.h6)().api,t=(0,a.useState)({}),r=(0,y.Z)(t,2),c=r[0],s=r[1],o=b((0,v.Z)((0,x.Z)().mark((function e(){var t,r;return(0,x.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.getAccessKeys();case 2:return t=e.sent,r=t.list,e.abrupt("return",r);case 5:case"end":return e.stop()}}),e)})))),i=o.value||[],u=o.loading,d=o.error;return!i.length&&u?(0,O.jsx)("div",{style:{textAlign:"center",marginTop:"50px"},children:(0,O.jsx)(_.default,{})}):!i.length&&d?(0,O.jsx)(C.Z,{severity:"error",children:(0,U.Z)(d)}):(0,O.jsxs)("div",{children:[(0,O.jsxs)(Z.Z,{mb:1,textAlign:"right",children:[(0,O.jsx)(oe.Z,{permission:"mutate_node",children:(0,O.jsx)(F,{onCreate:function(e){var n=e.accessKeyId,t=e.accessKeySecret;s({show:!0,accessKeyId:n,accessKeySecret:t})}})}),c.show&&(0,O.jsx)(V,(0,h.Z)({onConfirm:function(){o.retry(),s({show:!1})}},c))]}),!i.length&&(0,O.jsx)(Z.Z,{mt:8,children:(0,O.jsx)(w.default,{children:e("common.noData")})}),!!i.length&&(0,O.jsx)(ue,{children:i.map((function(e){var n=e.remark||"N/A",t=N.RBAC_CONFIG.roles.find((function(n){return n.name===e.passport}));return(0,O.jsxs)("div",{className:"access-key-item",children:[(0,O.jsxs)("div",{className:"access-key-item_info-warpper",children:[(0,O.jsx)("div",{className:"access-key-item_icon",children:(0,O.jsx)(k.Z,{})}),(0,O.jsxs)("div",{className:"access-key-item_info",children:[(0,O.jsx)(Z.Z,{fontWeight:700,children:n}),(0,O.jsx)(Z.Z,{minWidth:0,children:(0,O.jsx)(S(),{showDidLogo:!1,children:e.accessKeyId})}),(0,O.jsxs)("div",{children:["Created at ",(0,U.B2)(e.createdAt)]}),(0,O.jsxs)("div",{children:["Created by ",e.createdBy]}),e.updatedBy&&(0,O.jsxs)("div",{children:["Updated by ",e.updatedBy]}),e.lastUsedAt&&(0,O.jsxs)("div",{children:["Last used at ",(0,U.B2)(e.lastUsedAt)]}),(0,O.jsx)("div",{className:"access-key-item_passport",children:(0,O.jsx)(A.default,{passport:{title:t?t.title:e.passport}})})]})]}),(0,O.jsxs)("div",{className:"access-key-item_actions",children:[(0,O.jsx)(ce,(0,h.Z)((0,h.Z)({},e),{},{onUpdate:o.retry})),(0,O.jsx)(re,{accessKeyId:e.accessKeyId,time:e.lastUsedAt,remark:e.remark||"N/A",onDelete:o.retry})]})]})}))})]})}var le,ue=c.default.div(se||(se=(0,r.Z)(["\n border: 1px solid\n ",";\n border-radius: 8px;\n\n .access-key-item {\n display: flex;\n justify-content: space-between;\n padding: 16px 32px;\n .access-key-item_info-warpper {\n display: flex;\n flex-grow: 1;\n .access-key-item_icon {\n display: flex;\n align-items: center;\n color: ",";\n svg {\n font-size: 44px;\n }\n }\n .access-key-item_info {\n flex: 1;\n max-width: 400px;\n padding-left: 44px;\n }\n }\n .access-key-item_actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .access-key-item_passport span {\n margin-top: 4px;\n padding: 2px 12px;\n font-size: 12px;\n }\n }\n .access-key-item + .access-key-item {\n border-top: 1px solid\n ","};\n }\n "," {\n .access-key-item {\n padding: 16px;\n .access-key-item_info-warpper {\n min-width: 0;\n .access-key-item_icon {\n svg {\n font-size: 24px;\n }\n }\n .access-key-item_info {\n max-width: 100%;\n padding-left: 16px;\n }\n }\n .access-key-item_actions {\n flex-direction: column;\n justify-content: center;\n }\n }\n }\n"])),(function(e){return e.theme.palette.grey[300]}),(function(e){return e.theme.palette.grey[400]}),(function(e){return e.theme.palette.grey[300]}),(function(e){return e.theme.breakpoints.down("md")}));function de(){var e=(0,s.s0)(),n=(0,l.useLocaleContext)().t,t=(0,f.h6)().info,r=(0,s.UO)().tab,c=void 0===r?"members":r,h=(0,a.useCallback)((function(){return(0,O.jsx)(u.Z,{})}),[]),x=(0,a.useCallback)((function(){return(0,O.jsx)(d.Z,{type:"server"})}),[]),v=t.did,y={members:{label:n("common.members"),value:"members",component:x},passports:{label:n("common.passport"),value:"passports",component:m.Z},"access-keys":{label:n("common.accessKey"),value:"access-keys",component:ie},"audit-logs":{label:n("common.auditLogs"),value:"audit-logs",component:h}},g=Object.values(y).map((function(e){return{label:e.label,value:e.value}})),j=y[c]||y.member;return(0,O.jsx)(p.G6,{teamDid:v,children:(0,O.jsxs)(me,{children:[(0,O.jsx)(o.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.team")}),(0,O.jsx)(i.default,{tabs:g,current:c,onChange:function(n){e("/team/".concat(n))},scrollButtons:"auto"}),(0,O.jsx)("div",{className:"page-content",children:(0,O.jsx)(j.component,{})})]})})}var me=c.default.main(le||(le=(0,r.Z)(["\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 24px;\n }\n"])))},8144:function(e,n,t){var r=t(27609).default,a=t(91461).default,c=t(43681).default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=_;var s,o=t(30969),i=Z(t(24974)),l=Z(t(16380)),u=Z(t(52897)),d=Z(t(61802)),m=Z(t(24757)),f=Z(t(45201)),p=Z(t(85865)),h=Z(t(52051)),x=Z(t(95018)),v=Z(t(94702)),y=Z(t(87335)),g=t(42167),j=Z(t(88029)),b=t(85710),k=Z(t(78853)),C=t(37574);function Z(e){return e&&e.__esModule?e:{default:e}}function _(e){var n=e.title,t=e.description,s=e.showCancel,i=e.cancel,l=e.confirm,u=e.color,Z=e.params,_=e.onCancel,w=e.onConfirm,K=(0,o.useState)(Z),N=c(K,2),A=N[0],U=N[1],I=(0,o.useState)(!0),z=c(I,2),L=z[0],R=z[1],W=(0,o.useState)(!1),P=c(W,2),B=P[0],D=P[1],M=(0,o.useState)(""),O=c(M,2),F=O[0],E=O[1],T=(0,g.useLocaleContext)().t,G=(0,v.default)(),$=function(){var e=a(r().mark((function e(n){return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!==typeof n){e.next=17;break}return D(!0),e.prev=2,e.next=5,n(A);case 5:R(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(2),E((0,b.formatError)(e.t0)),console.error(e.t0);case 12:return e.prev=12,D(!1),e.finish(12);case 15:e.next=18;break;case 17:R(!1);case 18:case"end":return e.stop()}}),e,null,[[2,8,12,15]])})));return function(n){return e.apply(this,arguments)}}(),q="function"===typeof n?n():n,H="function"===typeof t?t(A,U,E):t,X=(0,y.default)(G.breakpoints.down("md")),V=(0,k.default)().minWidth;return(0,C.jsxs)(S,{onClick:function(e){e.stopPropagation()},fullScreen:X,open:L,style:{minWidth:V},children:[(0,C.jsx)(h.default,{children:q}),(0,C.jsxs)(f.default,{style:{minWidth:V},children:[(0,C.jsx)(p.default,{component:"div",children:H}),!!F&&(0,C.jsx)(x.default,{severity:"error",style:{width:"100%",marginTop:8},children:F})]}),(0,C.jsxs)(m.default,{className:"delete-actions",style:{padding:"8px 24px 24px"},children:[s&&(0,C.jsx)(j.default,{onClick:function(e){e.stopPropagation(),$(_)},color:"inherit","data-cy":"cancel-confirm-dialog",children:i||T("common.cancel")}),(0,C.jsxs)(j.default,{onClick:function(e){e.stopPropagation(),$(w)},color:u,disabled:A.__disableConfirm||B,variant:"contained","data-cy":"submit-confirm-dialog",autoFocus:!0,children:[B&&(0,C.jsx)(d.default,{size:[16,10]}),l]})]})]})}_.propTypes={title:i.default.any.isRequired,description:i.default.any.isRequired,showCancel:i.default.bool,cancel:i.default.string,color:i.default.string,confirm:i.default.string,params:i.default.object,onCancel:i.default.func,onConfirm:i.default.func.isRequired},_.defaultProps={onCancel:function(){},showCancel:!0,cancel:"",confirm:"Confirm",color:"error",params:{}};var w,K,S=(0,l.default)(u.default)(s||(w=["\n .delete-actions .Mui-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n box-shadow: none;\n background-color: rgba(0, 0, 0, 0.12) !important;\n }\n"],K||(K=w.slice(0)),s=Object.freeze(Object.defineProperties(w,{raw:{value:Object.freeze(K)}}))))},78853:function(e,n,t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r,a=t(28440),c=(r=t(87335))&&r.__esModule?r:{default:r};var s=function(){var e=(0,a.useTheme)();return{minWidth:(0,c.default)(e.breakpoints.down("md"))?300:e.breakpoints.values.sm}};n.default=s},75066:function(e,n,t){var r=t(71600);n.Z=void 0;var a=r(t(48035)),c=t(37574),s=(0,a.default)((0,c.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");n.Z=s},70048:function(e,n,t){t.d(n,{Z:function(){return s}});var r=t(30969),a=t(73930);function c(e,n,t){void 0===n&&(n=[]),void 0===t&&(t={loading:!1});var c=(0,r.useRef)(0),s=function(){var e=(0,r.useRef)(!1),n=(0,r.useCallback)((function(){return e.current}),[]);return(0,r.useEffect)((function(){return e.current=!0,function(){e.current=!1}}),[]),n}(),o=(0,r.useState)(t),i=o[0],l=o[1],u=(0,r.useCallback)((function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=++c.current;return i.loading||l((function(e){return(0,a.__assign)((0,a.__assign)({},e),{loading:!0})})),e.apply(void 0,n).then((function(e){return s()&&r===c.current&&l({value:e,loading:!1}),e}),(function(e){return s()&&r===c.current&&l({error:e,loading:!1}),e}))}),n);return[i,u]}function s(e,n){void 0===n&&(n=[]);var t=c(e,n,{loading:!0}),a=t[0],s=t[1];return(0,r.useEffect)((function(){s()}),[s]),a}},5543:function(e,n,t){t.d(n,{WU:function(){return l}});var r=["second","minute","hour","day","week","month","year"];var a=["\u79d2","\u5206\u949f","\u5c0f\u65f6","\u5929","\u5468","\u4e2a\u6708","\u5e74"];var c={},s=function(e,n){c[e]=n},o=[60,60,24,7,365/7/12,12];function i(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var l=function(e,n,t){var r=function(e,n){return(+(n?i(n):new Date)-+i(e))/1e3}(e,t&&t.relativeDate);return function(e,n){for(var t=e<0?1:0,r=e=Math.abs(e),a=0;e>=o[a]&&a<o.length;a++)e/=o[a];return(e=Math.floor(e))>(0===(a*=2)?9:1)&&(a+=1),n(e,a,r)[t].replace("%s",e.toString())}(r,function(e){return c[e]||c.en_US}(n))};s("en_US",(function(e,n){if(0===n)return["just now","right now"];var t=r[Math.floor(n/2)];return e>1&&(t+="s"),[e+" "+t+" ago","in "+e+" "+t]})),s("zh_CN",(function(e,n){if(0===n)return["\u521a\u521a","\u7247\u523b\u540e"];var t=a[~~(n/2)];return[e+" "+t+"\u524d",e+" "+t+"\u540e"]}))}}]);
|
|
2
|
+
//# sourceMappingURL=5720.cebd5eb8.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static/js/5720.6a664a49.chunk.js","mappings":"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","sources":["hooks/url-evaluation.js","../../../node_modules/react-use/esm/useAsyncRetry.js","components/access-key/create.js","components/access-key/confirm.js","components/access-key/delete.js","components/access-key/update.js","components/team/access-key.js","pages/team/index.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/VpnKey.js","../../../node_modules/react-use/esm/useAsyncFn.js","../../../node_modules/react-use/esm/useMountedState.js","../../../node_modules/react-use/esm/useAsync.js","../../../src/lang/en_US.ts","../../../src/lang/zh_CN.ts","../../src/register.ts","../../../src/utils/date.ts","../../src/format.ts","../../src/index.ts"],"sourcesContent":["import { useState, useEffect, useMemo, useRef, useContext } from 'react';\nimport joinURL from 'url-join';\nimport { WELLKNOWN_PING_PREFIX } from '@abtnode/constant';\nimport { getAccessUrl } from '@abtnode/ux/src/util';\nimport { evaluateURLs } from '@abtnode/util/lib/url-evaluation';\nimport defaultCheckAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-browser';\nimport memoize from 'lodash/memoize';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { useRoutingContext, getBlockletUrls } from '../contexts/routing';\nimport { getBlockletUrlParams } from '../libs/util';\n\n// 如果同一个页面中存在多个部分同时对同一个 url 检测 url 可访问性, 避免造成重复请求\nconst ping = memoize(url => defaultCheckAccessible(joinURL(new URL(url).origin, WELLKNOWN_PING_PREFIX)));\n\n// url <-> evaluation cache\nconst CACHE = {};\n\nexport function useUrlEvaluation({ urls, checkAccessible = defaultCheckAccessible, disableCache = false }) {\n // 基于 CACHE 初始化该 hook 的状态\n // FIXME: 最好解决源头的 material-table 渲染 BlockletInterface 时的 re-mount 问题 (#4897)\n const initialCachedRef = useRef(urls.filter(url => CACHE[url]).map(url => CACHE[url]));\n const allCached = initialCachedRef.current.length === urls.length;\n const [urlsState, setUrlsState] = useState(allCached ? initialCachedRef.current : []);\n const [loading, setLoading] = useState(!allCached);\n const recommendedUrlState = useMemo(() => {\n if (!loading && urlsState.length) {\n return urlsState[0];\n }\n return null;\n }, [urlsState, loading]);\n\n useEffect(() => {\n if (urls?.length > 0 && !allCached) {\n const evaluate = async () => {\n let results;\n setLoading(true);\n if (disableCache) {\n results = await evaluateURLs(urls, { checkAccessible });\n results.forEach(item => {\n CACHE[item.url] = item;\n });\n } else {\n const misses = await evaluateURLs(\n urls.filter(url => !CACHE[url]),\n { checkAccessible }\n );\n misses.forEach(item => {\n CACHE[item.url] = item;\n });\n results = urls.map(url => CACHE[url]).sort((a, b) => b.score - a.score);\n }\n setUrlsState(results);\n setLoading(false);\n };\n evaluate();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [urls, disableCache, allCached]);\n\n return {\n urlsState,\n loading,\n recommendedUrlState,\n recommendedUrl: recommendedUrlState?.url,\n };\n}\n\n/**\n * 主要对 blocklet 访问 urls 进行评估\n * @param {object} blocklet\n */\nexport function useBlockletUrlEvaluation(blocklet) {\n const { siteMap } = useRoutingContext();\n const { locale } = useContext(LocaleContext);\n const urls = useMemo(() => {\n if (!blocklet) {\n return [];\n }\n // getBlockletUrlParams 的调用是必须的, 会根据 blocklet 状态决定是否添加 \"__start__\" 参数, 以保证 blocklet 启动按钮可以正确的跳转到启动页面\n return getBlockletUrls({ did: blocklet.meta.did, siteMap, params: getBlockletUrlParams(blocklet, locale) });\n }, [blocklet, locale, siteMap]);\n const { loading, recommendedUrlState, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n return { urls, loading, recommendedUrlState, recommendedUrl };\n}\n\n/**\n * 主要对 blocklet domains 对应的 urls 进行评估, 配合 DomainStatusProvider 使用\n * @param {string[]} domains\n */\nexport function useDomainsAccessibility(domains) {\n // 获取 blocklet domain 对应的访问 url\n const urls = useMemo(() => domains.map(item => getAccessUrl(item)), [domains]);\n const { urlsState, loading, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n let result;\n if (loading) {\n result = {\n domainsAccessibility: domains.reduce((acc, cur) => ({ ...acc, [cur]: { loading: true } }), {}),\n recommendedDomain: null,\n };\n } else {\n const domainsAccessibility = urlsState.reduce((acc, cur) => {\n // 检测对象是 domain, 但检测可访问性用的是 domain 对应的 ping url, 所以需要取 hostname 作为结果\n const domain = new URL(cur.url).hostname;\n acc[domain] = { ...cur, domain };\n return acc;\n }, {});\n // 从排好优先级的 urls 中选择第一个可访问的 url 作为 recommendedDomain (对于自定义域名, 可能存在评分最高但不可访问的情况) (#5195)\n const accessibleUrl = urlsState.find(item => item.accessible)?.url || recommendedUrl;\n result = {\n domainsAccessibility,\n recommendedDomain: accessibleUrl ? new URL(accessibleUrl).hostname : null,\n };\n }\n return result;\n}\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { useCallback, useState } from 'react';\nimport useAsync from './useAsync';\nvar useAsyncRetry = function (fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useState(0), attempt = _a[0], setAttempt = _a[1];\n var state = useAsync(fn, __spreadArrays(deps, [attempt]));\n var stateLoading = state.loading;\n var retry = useCallback(function () {\n if (stateLoading) {\n if (process.env.NODE_ENV === 'development') {\n console.log('You are calling useAsyncRetry hook retry() method while loading in progress, this is a no-op.');\n }\n return;\n }\n setAttempt(function (currentAttempt) { return currentAttempt + 1; });\n }, __spreadArrays(deps, [stateLoading]));\n return __assign(__assign({}, state), { retry: retry });\n};\nexport default useAsyncRetry;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Box from '@mui/material/Box';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function CreateAccessKey(props) {\n const { remark, onCreate } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { remark, passport } = params;\n setLoading(true);\n const res = await client.createAccessKey({\n input: {\n remark: remark.trim(),\n passport,\n },\n });\n const { data } = res;\n onCreate(data);\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.create')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.tip')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n data-cy=\"remark-input\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.remark}\n onChange={e => {\n setParams({\n ...params,\n remark: e.target.value,\n __disableConfirm: !params.passport || !e.target.value.trim(),\n });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"create-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`create-access-key-passport-option-${r.name}`}>\n <Box>\n <span>{r.title || r.name}</span>\n <Box maxWidth={440} fontSize={12} color=\"#999\" whiteSpace=\"normal\" textAlign=\"justify\">\n {r.description}\n </Box>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n remark,\n __disableConfirm: !remark.trim(),\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n variant=\"contained\"\n color=\"primary\"\n data-cy=\"add-access-key-btn\"\n onClick={() => setConfirmSetting(setting)}\n className=\"rule-action\">\n {loading ? <Spinner size={[16, 10]} /> : <AddIcon style={{ fontSize: 16 }} />}\n {t('common.create')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nCreateAccessKey.propTypes = {\n remark: PropTypes.string,\n onCreate: PropTypes.func,\n};\n\nCreateAccessKey.defaultProps = {\n onCreate: () => {},\n remark: '',\n};\n","import { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Dialog from '@arcblock/ux/lib/Dialog';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nexport default function ConfirmAccessKey(props) {\n const { onConfirm, accessKeyId, accessKeySecret } = props;\n const { t } = useContext(LocaleContext);\n const [checked, setChecked] = useState(false);\n const [hideAccessSecret, setHideAccessSecret] = useState(true);\n\n const onChangeSwitch = () => {\n setHideAccessSecret(!hideAccessSecret);\n };\n\n const handleChange = event => {\n setChecked(event.target.checked);\n };\n\n return (\n <Dialog\n title={t('common.createSuccess')}\n fullWidth\n open\n disableEscapeKeyDown\n onClose={onConfirm}\n showCloseButton={false}\n actions={\n <div>\n <Button\n disabled={!checked}\n onClick={onConfirm}\n color=\"primary\"\n autoFocus\n variant=\"contained\"\n data-cy=\"submit-confirm-dialog\">\n {t('common.confirm')}\n </Button>\n </div>\n }\n aria-labelledby=\"simple-dialog-title\">\n <div>\n <Bold>{t('setting.accessKey.saveSecretTip')}</Bold>\n </div>\n <div style={{ marginTop: '20px' }} />\n <Item>\n <Label>Access Key</Label>\n <ClickToCopy>{accessKeyId}</ClickToCopy>\n </Item>\n <Item>\n <Label>Access Secret</Label>\n {hideAccessSecret ? (\n <Button data-cy=\"show-secret-btn\" color=\"primary\" onClick={onChangeSwitch}>\n {t('setting.accessKey.showSecret')}\n </Button>\n ) : (\n <ClickToCopy>{accessKeySecret}</ClickToCopy>\n )}\n </Item>\n <div>\n <FormControlLabel\n value=\"end\"\n disabled={hideAccessSecret}\n control={<Checkbox checked={checked} onChange={handleChange} />}\n label={t('setting.accessKey.iKnow')}\n labelPlacement=\"end\"\n />\n </div>\n </Dialog>\n );\n}\n\nConfirmAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n accessKeySecret: PropTypes.string.isRequired,\n onConfirm: PropTypes.func,\n};\n\nConfirmAccessKey.defaultProps = {\n onConfirm: () => {},\n};\n\nconst Label = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 16px;\n margin-bottom: 8px;\n`;\nconst Item = styled.div`\n margin-bottom: 24px;\n`;\nconst Bold = styled.div`\n font-size: 16px;\n font-weight: bold;\n`;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { format } from 'timeago.js';\n\nimport ActionIcon from '@mui/icons-material/Delete';\nimport Spinner from '@arcblock/ux/lib/Spinner';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { formatLocale, formatToDatetime } from '../../libs/util';\n\nimport DelConfirm from '../delete-confirm';\nimport getClient from '../../libs/node';\n\nexport default function DeleteAccessKey(props) {\n const { t, locale } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const { accessKeyId, time, remark, onDelete = () => {} } = props;\n\n const client = getClient();\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async () => {\n setLoading(true);\n try {\n await client.deleteAccessKey({ input: { accessKeyId } });\n onDelete();\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n\n const descData = formatTime => ({\n key: `<b>${accessKeyId}</b>`,\n name: `<b>${remark}</b>`,\n time: formatToDatetime(formatTime),\n timeAge: format(new Date(formatTime), formatLocale(locale)),\n });\n\n const setting = {\n keyName: remark,\n title: t('setting.accessKey.title'),\n description: time\n ? `${t('setting.accessKey.description', descData(time))}`\n : `${t('setting.accessKey.descriptionNoTime', { key: `<b>${accessKeyId}</b>`, name: `<b>${remark}</b>` })}`,\n confirmPlaceholder: t('setting.accessKey.confirm_desc', { name: remark }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button edge=\"end\" onClick={() => setConfirmSetting(setting)} size=\"small\" className=\"rule-action\" color=\"error\">\n {loading ? <Spinner size={[16, 10]} /> : <ActionIcon style={{ fontSize: 16 }} />}\n {t('common.delete')}\n </Button>\n {confirmSetting && (\n <DelConfirm\n keyName={confirmSetting.keyName}\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirmPlaceholder={confirmSetting.confirmPlaceholder}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nDeleteAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n time: PropTypes.string.isRequired,\n remark: PropTypes.string.isRequired,\n onDelete: PropTypes.func,\n};\n\nDeleteAccessKey.defaultProps = {\n onDelete: () => {},\n};\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport EditIcon from '@mui/icons-material/Edit';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function UpdateAccessKey(props) {\n const { accessKeyId, remark, onUpdate, passport } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { accessKeyId, remark, passport } = params;\n setLoading(true);\n await client.updateAccessKey({\n input: {\n accessKeyId,\n remark: remark.trim(),\n passport,\n },\n });\n onUpdate();\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.update')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.accessKeyId')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"accessKeyId\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.accessKeyId}\n disabled\n />\n <TextField\n label={t('common.remark')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n value={params.remark}\n onChange={e => {\n setParams({ ...params, remark: e.target.value, __disableConfirm: !e.target.value.trim() });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"update-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n // eslint-disable-next-line no-shadow\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`update-access-key-passport-option-${r.name}`}>\n <span>{r.title || r.name}</span>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n accessKeyId,\n remark,\n passport,\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n onClick={() => setConfirmSetting(setting)}\n size=\"small\"\n className=\"rule-action\"\n color=\"primary\">\n {loading ? <Spinner size={[16, 10]} /> : <EditIcon style={{ fontSize: 16 }} />}\n {t('common.update')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nUpdateAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n remark: PropTypes.string,\n passport: PropTypes.string,\n onUpdate: PropTypes.func,\n};\n\nUpdateAccessKey.defaultProps = {\n onUpdate: () => {},\n remark: '',\n passport: '',\n};\n","import { useContext, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { useAsyncRetry } from 'react-use';\n\nimport VpnKey from '@mui/icons-material/VpnKey';\nimport Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Empty from '@arcblock/ux/lib/Empty';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG } from '@abtnode/constant';\nimport PassportTag from '@abtnode/ux/lib/passport-tag';\n\nimport { formatError, formatToDatetime } from '../../libs/util';\nimport { useNodeContext } from '../../contexts/node';\n\nimport CreateAccessKey from '../access-key/create';\nimport ConfirmAccessKey from '../access-key/confirm';\nimport DeleteAccessKey from '../access-key/delete';\nimport UpdateAccessKey from '../access-key/update';\nimport Permission from '../permission';\n\nexport default function AccessKey() {\n const { t } = useContext(LocaleContext);\n const { api } = useNodeContext();\n const [confirmInfo, setConfirmInfo] = useState({});\n\n const state = useAsyncRetry(async () => {\n const response = await api.getAccessKeys();\n const { list } = response;\n return list;\n });\n\n const list = state.value || [];\n const { loading, error } = state;\n\n if (!list.length && loading) {\n return (\n <div style={{ textAlign: 'center', marginTop: '50px' }}>\n <Spinner />\n </div>\n );\n }\n if (!list.length && error) {\n return <Alert severity=\"error\">{formatError(error)}</Alert>;\n }\n\n return (\n <div>\n <Box mb={1} textAlign=\"right\">\n <Permission permission=\"mutate_node\">\n <CreateAccessKey\n onCreate={data => {\n const { accessKeyId, accessKeySecret } = data;\n setConfirmInfo({\n show: true,\n accessKeyId,\n accessKeySecret,\n });\n }}\n />\n </Permission>\n {confirmInfo.show && (\n <ConfirmAccessKey\n onConfirm={() => {\n state.retry();\n setConfirmInfo({ show: false });\n }}\n {...confirmInfo}\n />\n )}\n </Box>\n\n {!list.length && (\n <Box mt={8}>\n <Empty>{t('common.noData')}</Empty>\n </Box>\n )}\n {!!list.length && (\n <AccessKeyList>\n {list.map(item => {\n const remark = item.remark || 'N/A';\n const p = RBAC_CONFIG.roles.find(x => x.name === item.passport);\n return (\n <div className=\"access-key-item\">\n <div className=\"access-key-item_info-warpper\">\n <div className=\"access-key-item_icon\">\n <VpnKey />\n </div>\n <div className=\"access-key-item_info\">\n <Box fontWeight={700}>{remark}</Box>\n <Box minWidth={0}>\n <DidAddress showDidLogo={false}>{item.accessKeyId}</DidAddress>\n </Box>\n <div>Created at {formatToDatetime(item.createdAt)}</div>\n <div>Created by {item.createdBy}</div>\n {item.updatedBy && <div>Updated by {item.updatedBy}</div>}\n {item.lastUsedAt && <div>Last used at {formatToDatetime(item.lastUsedAt)}</div>}\n <div className=\"access-key-item_passport\">\n <PassportTag passport={{ title: p ? p.title : item.passport }} />\n </div>\n </div>\n </div>\n <div className=\"access-key-item_actions\">\n <UpdateAccessKey {...item} onUpdate={state.retry} />\n <DeleteAccessKey\n accessKeyId={item.accessKeyId}\n time={item.lastUsedAt}\n remark={item.remark || 'N/A'}\n onDelete={state.retry}\n />\n </div>\n </div>\n );\n })}\n </AccessKeyList>\n )}\n </div>\n );\n}\n\nconst AccessKeyList = styled.div`\n border: 1px solid\n ${({ theme }) => theme.palette.grey[300]};\n border-radius: 8px;\n\n .access-key-item {\n display: flex;\n justify-content: space-between;\n padding: 16px 32px;\n .access-key-item_info-warpper {\n display: flex;\n flex-grow: 1;\n .access-key-item_icon {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.palette.grey[400]};\n svg {\n font-size: 44px;\n }\n }\n .access-key-item_info {\n flex: 1;\n max-width: 400px;\n padding-left: 44px;\n }\n }\n .access-key-item_actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .access-key-item_passport span {\n margin-top: 4px;\n padding: 2px 12px;\n font-size: 12px;\n }\n }\n .access-key-item + .access-key-item {\n border-top: 1px solid\n ${({ theme }) => theme.palette.grey[300]}};\n }\n ${({ theme }) => theme.breakpoints.down('md')} {\n .access-key-item {\n padding: 16px;\n .access-key-item_info-warpper {\n min-width: 0;\n .access-key-item_icon {\n svg {\n font-size: 24px;\n }\n }\n .access-key-item_info {\n max-width: 100%;\n padding-left: 16px;\n }\n }\n .access-key-item_actions {\n flex-direction: column;\n justify-content: center;\n }\n }\n }\n`;\n","/* eslint-disable react/jsx-one-expression-per-line */\nimport { useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { useParams, useNavigate } from 'react-router-dom';\n\nimport Typography from '@mui/material/Typography';\n\nimport Tabs from '@arcblock/ux/lib/Tabs';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport AuditLogs from '@abtnode/ux/lib/blocklet/audit-logs';\nimport Members from '@abtnode/ux/lib/team/members';\nimport Passports from '@abtnode/ux/lib/team/passports';\n\nimport { useNodeContext } from '../../contexts/node';\nimport { TeamProvider } from '../../contexts/team';\nimport AccessKeySettings from '../../components/team/access-key';\n\nexport default function TeamPage() {\n const navigate = useNavigate();\n const { t } = useLocaleContext();\n const { info: nodeInfo } = useNodeContext();\n const { tab = 'members' } = useParams(); // members, passports\n const renderAuditLogs = useCallback(() => <AuditLogs />, []);\n const renderMember = useCallback(() => <Members type=\"server\" />, []);\n\n const teamDid = nodeInfo.did;\n\n const onTabChange = newTab => {\n navigate(`/team/${newTab}`);\n };\n\n const tabConfigs = {\n members: {\n label: t('common.members'),\n value: 'members',\n component: renderMember,\n },\n passports: {\n label: t('common.passport'),\n value: 'passports',\n component: Passports,\n },\n 'access-keys': {\n label: t('common.accessKey'),\n value: 'access-keys',\n component: AccessKeySettings,\n },\n 'audit-logs': {\n label: t('common.auditLogs'),\n value: 'audit-logs',\n component: renderAuditLogs,\n },\n };\n\n const tabs = Object.values(tabConfigs).map(({ label, value }) => ({ label, value }));\n\n const tabConfig = tabConfigs[tab] || tabConfigs.member;\n\n return (\n <TeamProvider teamDid={teamDid}>\n <Main>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('common.team')}\n </Typography>\n <Tabs tabs={tabs} current={tab} onChange={onTabChange} scrollButtons=\"auto\" />\n <div className=\"page-content\">\n <tabConfig.component />\n </div>\n </Main>\n </TeamProvider>\n );\n}\n\nconst Main = styled.main`\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 24px;\n }\n`;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import { __assign } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useMountedState from './useMountedState';\nexport default function useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = useRef(0);\n var isMounted = useMountedState();\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var callback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nexport default function useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\n"],"names":["ping","memoize","url","defaultCheckAccessible","joinURL","URL","origin","WELLKNOWN_PING_PREFIX","CACHE","useUrlEvaluation","urls","checkAccessible","disableCache","initialCachedRef","useRef","filter","map","allCached","current","length","useState","urlsState","setUrlsState","loading","setLoading","recommendedUrlState","useMemo","useEffect","evaluate","evaluateURLs","results","forEach","item","sort","a","b","score","recommendedUrl","useBlockletUrlEvaluation","blocklet","siteMap","useRoutingContext","locale","useContext","LocaleContext","getBlockletUrls","did","meta","params","getBlockletUrlParams","useDomainsAccessibility","domains","result","getAccessUrl","domainsAccessibility","reduce","acc","cur","recommendedDomain","domain","hostname","accessibleUrl","find","accessible","fn","deps","_a","attempt","setAttempt","state","useAsync","__spreadArrays","stateLoading","retry","useCallback","currentAttempt","__assign","CreateAccessKey","props","remark","onCreate","t","useLocaleContext","confirmSetting","setConfirmSetting","client","getClient","roles","RBAC_CONFIG","x","passport","name","ROLES","onConfirm","createAccessKey","input","trim","res","data","setting","title","description","setParams","setError","Typography","component","TextField","label","autoComplete","variant","fullWidth","autoFocus","style","marginBottom","margin","value","onChange","e","target","__disableConfirm","FormControl","width","InputLabel","Select","disabled","r","MenuItem","Box","maxWidth","fontSize","color","whiteSpace","textAlign","confirm","cancel","onCancel","Button","edge","onClick","className","Spinner","size","Add","defaultProps","ConfirmAccessKey","accessKeyId","accessKeySecret","checked","setChecked","hideAccessSecret","setHideAccessSecret","Dialog","open","disableEscapeKeyDown","onClose","showCloseButton","actions","Bold","marginTop","Item","Label","FormControlLabel","control","Checkbox","event","labelPlacement","styled","DeleteAccessKey","formatTime","time","onDelete","deleteAccessKey","console","error","keyName","key","formatToDatetime","timeAge","format","Date","formatLocale","confirmPlaceholder","UpdateAccessKey","onUpdate","updateAccessKey","Edit","AccessKey","api","useNodeContext","confirmInfo","setConfirmInfo","useAsyncRetry","getAccessKeys","response","list","Alert","severity","formatError","mb","permission","show","mt","Empty","AccessKeyList","p","VpnKey","fontWeight","minWidth","showDidLogo","createdAt","createdBy","updatedBy","lastUsedAt","theme","palette","grey","breakpoints","down","TeamPage","navigate","useNavigate","nodeInfo","info","useParams","tab","renderAuditLogs","renderMember","type","teamDid","tabConfigs","members","passports","Passports","AccessKeySettings","tabs","Object","values","tabConfig","member","Main","Tabs","newTab","scrollButtons","defineProperty","exports","ConfirmDialog","_templateObject","_react","require","_propTypes","_interopRequireDefault","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_context","_Button","_util","_mobileWidth","_jsxRuntime","obj","__esModule","default","_ref","showCancel","initialParams","setOpen","changeLocale","onCallback","cb","d","isBreakpointsDownSm","jsxs","StyledDialog","stopPropagation","fullScreen","children","jsx","padding","propTypes","any","isRequired","bool","string","object","func","strings","raw","slice","freeze","defineProperties","_styles","_default","useTheme","sm","_createSvgIcon","useAsyncFn","initialState","lastCallId","isMounted","mountedRef","get","useMountedState","set","callback","args","_i","arguments","callId","prevState","apply","then","EN_US","ZH_CN","Locales","register","SEC_ARRAY","toDate","isNaN","test","parseInt","replace","date","opts","sec","relativeDate","diffSec","diff","localeFunc","agoIn","totalSec","Math","abs","idx","floor","toString","formatDiff","getLocale","unit"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"static/js/5720.cebd5eb8.chunk.js","mappings":"sXAYMA,EAAOC,KAAQ,SAAAC,GAAG,OAAIC,IAAuBC,IAAQ,IAAIC,IAAIH,GAAKI,OAAQC,EAAAA,uBAAuB,IAGjGC,EAAQ,CAAC,EAER,SAASC,EAAiB,GAA2E,IAAzEC,EAAI,EAAJA,KAAK,EAAD,EAAEC,gBAAAA,OAAe,MAAGR,IAAsB,MAAES,aAAAA,OAAY,OAAQ,EAG/FC,GAAmBC,EAAAA,EAAAA,QAAOJ,EAAKK,QAAO,SAAAb,GAAG,OAAIM,EAAMN,EAAI,IAAEc,KAAI,SAAAd,GAAG,OAAIM,EAAMN,EAAI,KAC9Ee,EAAYJ,EAAiBK,QAAQC,SAAWT,EAAKS,OAC3D,GAAkCC,EAAAA,EAAAA,UAASH,EAAYJ,EAAiBK,QAAU,IAAG,eAA9EG,EAAS,KAAEC,EAAY,KAC9B,GAA8BF,EAAAA,EAAAA,WAAUH,GAAU,eAA3CM,EAAO,KAAEC,EAAU,KACpBC,GAAsBC,EAAAA,EAAAA,UAAQ,WAClC,OAAKH,GAAWF,EAAUF,OACjBE,EAAU,GAEZ,IACT,GAAG,CAACA,EAAWE,IA8Bf,OA5BAI,EAAAA,EAAAA,YAAU,WACR,IAAQ,OAAJjB,QAAI,IAAJA,OAAI,EAAJA,EAAMS,QAAS,IAAMF,EAAW,CAClC,IAAMW,EAAQ,yCAAG,yFAEE,GAAjBJ,GAAW,IACPZ,EAAa,CAAD,gCACEiB,EAAAA,EAAAA,cAAanB,EAAM,CAAEC,gBAAAA,IAAmB,KAAD,GAAvDmB,EAAO,QACCC,SAAQ,SAAAC,GACdxB,EAAMwB,EAAK9B,KAAO8B,CACpB,IAAG,yCAEkBH,EAAAA,EAAAA,cACnBnB,EAAKK,QAAO,SAAAb,GAAG,OAAKM,EAAMN,EAAI,IAC9B,CAAES,gBAAAA,IACF,KAAD,GAHW,OAILoB,SAAQ,SAAAC,GACbxB,EAAMwB,EAAK9B,KAAO8B,CACpB,IACAF,EAAUpB,EAAKM,KAAI,SAAAd,GAAG,OAAIM,EAAMN,EAAI,IAAE+B,MAAK,SAACC,EAAGC,GAAC,OAAKA,EAAEC,MAAQF,EAAEE,KAAK,IAAE,QAE1Ed,EAAaQ,GACbN,GAAW,GAAO,4CACnB,kBApBa,mCAqBdI,GACF,CAEF,GAAG,CAAClB,EAAME,EAAcK,IAEjB,CACLI,UAAAA,EACAE,QAAAA,EACAE,oBAAAA,EACAY,eAAmC,OAAnBZ,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBvB,IAEzC,CAMO,SAASoC,EAAyBC,GACvC,IAAQC,GAAYC,EAAAA,EAAAA,MAAZD,QACAE,GAAWC,EAAAA,EAAAA,YAAWC,EAAAA,eAAtBF,OACFhC,GAAOgB,EAAAA,EAAAA,UAAQ,WACnB,OAAKa,GAIEM,EAAAA,EAAAA,IAAgB,CAAEC,IAAKP,EAASQ,KAAKD,IAAKN,QAAAA,EAASQ,QAAQC,EAAAA,EAAAA,IAAqBV,EAAUG,KAHxF,EAIX,GAAG,CAACH,EAAUG,EAAQF,IACtB,EAAyD/B,EAAiB,CAAEC,KAAAA,EAAMC,gBAAiBX,IACnG,MAAO,CAAEU,KAAAA,EAAMa,QADA,EAAPA,QACgBE,oBADY,EAAnBA,oBAC4BY,eADO,EAAdA,eAExC,CAMO,SAASa,EAAwBC,GAEtC,IAEIC,EADJ,EAA+C3C,EAAiB,CAAEC,MADrDgB,EAAAA,EAAAA,UAAQ,kBAAMyB,EAAQnC,KAAI,SAAAgB,GAAI,OAAIqB,EAAAA,EAAAA,IAAarB,EAAK,GAAC,GAAE,CAACmB,IACGxC,gBAAiBX,IAAjFqB,EAAS,EAATA,UAAWE,EAAO,EAAPA,QAASc,EAAc,EAAdA,eAE5B,GAAId,EACF6B,EAAS,CACPE,qBAAsBH,EAAQI,QAAO,SAACC,EAAKC,GAAG,yBAAWD,GAAG,cAAGC,EAAM,CAAElC,SAAS,IAAM,GAAK,CAAC,GAC5FmC,kBAAmB,UAEhB,CAAC,IAAD,EACCJ,EAAuBjC,EAAUkC,QAAO,SAACC,EAAKC,GAElD,IAAME,EAAS,IAAItD,IAAIoD,EAAIvD,KAAK0D,SAEhC,OADAJ,EAAIG,IAAO,kBAAQF,GAAG,IAAEE,OAAAA,IACjBH,CACT,GAAG,CAAC,GAEEK,GAAuD,QAAvC,EAAAxC,EAAUyC,MAAK,SAAA9B,GAAI,OAAIA,EAAK+B,UAAU,WAAC,aAAvC,EAAyC7D,MAAOmC,EACtEe,EAAS,CACPE,qBAAAA,EACAI,kBAAmBG,EAAgB,IAAIxD,IAAIwD,GAAeD,SAAW,KAEzE,CACA,OAAOR,CACT,C,8QC/FA,EAhBoB,SAAUY,EAAIC,QACjB,IAATA,IAAmBA,EAAO,IAC9B,IAAIC,GAAK9C,EAAAA,EAAAA,UAAS,GAAI+C,EAAUD,EAAG,GAAIE,EAAaF,EAAG,GACnDG,GAAQC,EAAAA,EAAAA,GAASN,GAAIO,EAAAA,EAAAA,gBAAeN,EAAM,CAACE,KAC3CK,EAAeH,EAAM9C,QACrBkD,GAAQC,EAAAA,EAAAA,cAAY,WAChBF,GAMJJ,GAAW,SAAUO,GAAkB,OAAOA,EAAiB,CAAG,GACtE,IAAGJ,EAAAA,EAAAA,gBAAeN,EAAM,CAACO,KACzB,OAAOI,EAAAA,EAAAA,WAASA,EAAAA,EAAAA,UAAS,CAAC,EAAGP,GAAQ,CAAEI,MAAOA,GAClD,E,uNCGe,SAASI,EAAgBC,GACtC,IAAQC,EAAqBD,EAArBC,OAAQC,EAAaF,EAAbE,SACRC,GAAMC,EAAAA,EAAAA,oBAAND,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAClCC,GAASC,EAAAA,EAAAA,KAETC,EAAQC,EAAAA,YAAAA,MAAAA,QAAyB,SAAAC,GAAC,OAAIA,EAAEC,UAAYD,EAAEE,OAASC,EAAAA,MAAAA,KAAW,IAO1EC,EAAS,yCAAG,WAAM7C,GAAM,kFAGX,OADT+B,EAAqB/B,EAArB+B,OAAQW,EAAa1C,EAAb0C,SAChBlE,GAAW,GAAM,SACC6D,EAAOS,gBAAgB,CACvCC,MAAO,CACLhB,OAAQA,EAAOiB,OACfN,SAAAA,KAED,KAAD,EALIO,EAAG,OAMDC,EAASD,EAATC,KACRlB,EAASkB,GACTd,EAAkB,MAClB5D,GAAW,GAAO,2CACnB,gBAdc,sCAgBT2E,EAAU,CACdC,MAAM,GAAD,OAAKnB,EAAE,iBAAgB,YAAIA,EAAE,qBAElCoB,YAAa,SAACrD,EAAQsD,EAAWC,GAAQ,OACvC,UAACC,EAAA,EAAU,CAACC,UAAU,MAAK,WACzB,SAACC,EAAA,EAAS,CACRC,MAAO1B,EAAE,yBACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,SACL,UAAQ,eACRmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBC,OAAO,QACPC,MAAOnE,EAAO+B,OACdqC,SAAU,SAAAC,GACRf,GAAU,kBACLtD,GAAM,IACT+B,OAAQsC,EAAEC,OAAOH,MACjBI,kBAAmBvE,EAAO0C,WAAa2B,EAAEC,OAAOH,MAAMnB,UAEnDqB,EAAEC,OAAOH,MAAMnB,OAGlBO,EAAS,IAFTA,EAAStB,EAAE,mCAIf,KAGF,UAACuC,EAAA,EAAW,CAACR,MAAO,CAAES,MAAO,QAAUZ,QAAQ,WAAU,WACvD,SAACa,EAAA,EAAU,UAAEzC,EAAE,sBACf,SAAC0C,EAAA,EAAM,CACL,UAAQ,oCACRR,MAAOnE,EAAO0C,SACd0B,SAAU,SAAAC,GACR,IAAM3B,EAAW2B,EAAEC,OAAOH,MAC1BZ,EAAS,MACTD,GAAU,kBACLtD,GAAM,IACT0C,SAAAA,EACA6B,kBAAmBvE,EAAO+B,SAAWW,IAEzC,EACAoB,WAAS,EACTH,MAAO1B,EAAE,mBACT2C,SAAUrG,EAAQ,SACjBgE,EAAMvE,KAAI,SAAA6G,GAAC,OACV,SAACC,EAAA,EAAQ,CAAcX,MAAOU,EAAElC,KAAM,sDAA8CkC,EAAElC,MAAO,UAC3F,UAACoC,EAAA,EAAG,YACF,0BAAOF,EAAEzB,OAASyB,EAAElC,QACpB,SAACoC,EAAA,EAAG,CAACC,SAAU,IAAKC,SAAU,GAAIC,MAAM,OAAOC,WAAW,SAASC,UAAU,UAAS,SACnFP,EAAExB,kBAJMwB,EAAElC,KAON,WAIN,EAEf0C,QAASpD,EAAE,kBACXqD,OAAQrD,EAAE,iBACViD,MAAO,UACPlF,OAAQ,CACN+B,OAAAA,EACAwC,kBAAmBxC,EAAOiB,QAE5BH,UAAAA,EACA0C,SA1Fe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GA0FA,OACE,iCACE,UAACoD,EAAA,QAAM,CACLC,KAAK,MACL5B,QAAQ,YACRqB,MAAM,UACN,UAAQ,qBACRQ,QAAS,kBAAMtD,EAAkBe,EAAQ,EACzCwC,UAAU,cAAa,UACtBpH,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAACC,EAAA,QAAO,CAAC9B,MAAO,CAAEiB,SAAU,MACpEhD,EAAE,oBAEJE,IACC,SAAC,IAAO,CACNiB,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgC,QAASlD,EAAekD,QACxBH,MAAO/C,EAAe+C,MACtBI,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CAOA1D,EAAgBkE,aAAe,CAC7B/D,SAAU,WAAO,EACjBD,OAAQ,I,sDClJK,SAASiE,EAAiBlE,GACvC,IAAQe,EAA4Cf,EAA5Ce,UAAWoD,EAAiCnE,EAAjCmE,YAAaC,EAAoBpE,EAApBoE,gBACxBjE,GAAMtC,EAAAA,EAAAA,YAAWC,EAAAA,eAAjBqC,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtC+H,EAAO,KAAEC,EAAU,KAC1B,GAAgDhI,EAAAA,EAAAA,WAAS,GAAK,eAAvDiI,EAAgB,KAAEC,EAAmB,KAU5C,OACE,UAACC,EAAA,QAAM,CACLnD,MAAOnB,EAAE,wBACT6B,WAAS,EACT0C,MAAI,EACJC,sBAAoB,EACpBC,QAAS7D,EACT8D,iBAAiB,EACjBC,SACE,0BACE,SAACpB,EAAA,QAAM,CACLZ,UAAWuB,EACXT,QAAS7C,EACTqC,MAAM,UACNnB,WAAS,EACTF,QAAQ,YACR,UAAQ,wBAAuB,SAC9B5B,EAAE,sBAIT,kBAAgB,sBAAqB,WACrC,0BACE,SAAC4E,EAAI,UAAE5E,EAAE,wCAEX,gBAAK+B,MAAO,CAAE8C,UAAW,WACzB,UAACC,EAAI,YACH,SAACC,EAAK,0BACN,SAAC,UAAW,UAAEf,QAEhB,UAACc,EAAI,YACH,SAACC,EAAK,4BACLX,GACC,SAACb,EAAA,QAAM,CAAC,UAAQ,kBAAkBN,MAAM,UAAUQ,QAzCnC,WACrBY,GAAqBD,EACvB,EAuCkF,SACvEpE,EAAE,mCAGL,SAAC,UAAW,UAAEiE,QAGlB,0BACE,SAACe,EAAA,EAAgB,CACf9C,MAAM,MACNS,SAAUyB,EACVa,SAAS,SAACC,EAAA,EAAQ,CAAChB,QAASA,EAAS/B,SAhDxB,SAAAgD,GACnBhB,EAAWgB,EAAM9C,OAAO6B,QAC1B,IA+CQxC,MAAO1B,EAAE,2BACToF,eAAe,YAKzB,CAQArB,EAAiBD,aAAe,CAC9BlD,UAAW,WAAO,GAGpB,IAAMmE,EAAQM,EAAAA,QAAAA,IAAU,gJAOlBP,EAAOO,EAAAA,QAAAA,IAAU,gDAGjBT,EAAOS,EAAAA,QAAAA,IAAU,kE,mCCpFR,SAASC,GAAgBzF,GACtC,IAyBiB0F,EAzBjB,GAAsBtF,EAAAA,EAAAA,oBAAdD,EAAC,EAADA,EAAGvC,EAAM,EAANA,OACX,GAA8BtB,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAChC6D,EAAmDnE,EAAnDmE,YAAawB,EAAsC3F,EAAtC2F,KAAM1F,EAAgCD,EAAhCC,OAAO,EAAyBD,EAAxB4F,SAAAA,OAAQ,MAAG,WAAO,EAAC,EAEhDrF,GAASC,EAAAA,EAAAA,KAOTO,EAAS,yCAAG,mFACC,OAAjBrE,GAAW,GAAM,kBAET6D,EAAOsF,gBAAgB,CAAE5E,MAAO,CAAEkD,YAAAA,KAAiB,KAAD,EACxDyB,IAAW,gDAEXE,QAAQC,MAAM,EAAD,IAAQ,QAGG,OAHH,UAErBrJ,GAAW,GACX4D,EAAkB,MAAM,4EAE3B,kBAXc,mCAoBTe,EAAU,CACd2E,QAAS/F,EACTqB,MAAOnB,EAAE,2BACToB,YAAiB,UAAJoE,EACNxF,EAAE,iCAXMuF,EAWoCC,EAXrB,CAC9BM,IAAI,MAAD,OAAQ9B,EAAW,QACtBtD,KAAK,MAAD,OAAQZ,EAAM,QAClB0F,MAAMO,EAAAA,EAAAA,IAAiBR,GACvBS,SAASC,EAAAA,GAAAA,IAAO,IAAIC,KAAKX,IAAaY,EAAAA,EAAAA,IAAa1I,OAQ5CuC,EAAE,sCAAuC,CAAE8F,IAAI,MAAD,OAAQ9B,EAAW,QAAQtD,KAAK,MAAD,OAAQZ,EAAM,WAClGsG,mBAAoBpG,EAAE,iCAAkC,CAAEU,KAAMZ,IAChEsD,QAASpD,EAAE,qBACXqD,OAAQrD,EAAE,iBACVY,UAAAA,EACA0C,SAnCe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GAmCA,OACE,iCACE,UAACoD,EAAA,QAAM,CAACC,KAAK,MAAMC,QAAS,kBAAMtD,EAAkBe,EAAQ,EAAE0C,KAAK,QAAQF,UAAU,cAAcT,MAAM,QAAO,UAC7G3G,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAAC,WAAU,CAAC7B,MAAO,CAAEiB,SAAU,MACvEhD,EAAE,oBAEJE,IACC,SAAC,KAAU,CACT2F,QAAS3F,EAAe2F,QACxB1E,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgF,mBAAoBlG,EAAekG,mBACnChD,QAASlD,EAAekD,QACxBC,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CASAgC,GAAgBxB,aAAe,CAC7B2B,SAAU,WAAO,G,gBCxEJ,SAASY,GAAgBxG,GACtC,IAAQmE,EAA4CnE,EAA5CmE,YAAalE,EAA+BD,EAA/BC,OAAQwG,EAAuBzG,EAAvByG,SAAU7F,EAAaZ,EAAbY,SAC/BT,GAAMC,EAAAA,EAAAA,oBAAND,EACR,GAA8B7D,EAAAA,EAAAA,WAAS,GAAM,eAAtCG,EAAO,KAAEC,EAAU,KAC1B,GAA4CJ,EAAAA,EAAAA,UAAS,MAAK,eAAnD+D,EAAc,KAAEC,EAAiB,KAClCC,GAASC,EAAAA,EAAAA,KAETC,EAAQC,EAAAA,YAAAA,MAAAA,QAAyB,SAAAC,GAAC,OAAIA,EAAEC,UAAYD,EAAEE,OAASC,EAAAA,MAAAA,KAAW,IAO1EC,EAAS,yCAAG,WAAM7C,GAAM,gFAGX,OADTiG,EAAkCjG,EAAlCiG,YAAalE,EAAqB/B,EAArB+B,OAAQW,EAAa1C,EAAb0C,SAC7BlE,GAAW,GAAM,SACX6D,EAAOmG,gBAAgB,CAC3BzF,MAAO,CACLkD,YAAAA,EACAlE,OAAQA,EAAOiB,OACfN,SAAAA,KAED,KAAD,EACF6F,IACAnG,EAAkB,MAClB5D,GAAW,GAAO,2CACnB,gBAdc,sCAgBT2E,EAAU,CACdC,MAAM,GAAD,OAAKnB,EAAE,iBAAgB,YAAIA,EAAE,qBAElCoB,YAAa,SAACrD,EAAQsD,EAAWC,GAAQ,OACvC,UAACC,EAAA,EAAU,CAACC,UAAU,MAAK,WACzB,SAACC,EAAA,EAAS,CACRC,MAAO1B,EAAE,iCACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,cACLmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBC,OAAO,QACPC,MAAOnE,EAAOiG,YACdrB,UAAQ,KAEV,SAAClB,EAAA,EAAS,CACRC,MAAO1B,EAAE,iBACT2B,aAAa,MACbC,QAAQ,WACRlB,KAAK,SACLmB,WAAS,EACTC,WAAS,EACTC,MAAO,CAAEC,aAAc,IACvBE,MAAOnE,EAAO+B,OACdqC,SAAU,SAAAC,GACRf,GAAU,kBAAKtD,GAAM,IAAE+B,OAAQsC,EAAEC,OAAOH,MAAOI,kBAAmBF,EAAEC,OAAOH,MAAMnB,UAC5EqB,EAAEC,OAAOH,MAAMnB,OAGlBO,EAAS,IAFTA,EAAStB,EAAE,mCAIf,KAGF,UAACuC,EAAA,EAAW,CAACR,MAAO,CAAES,MAAO,QAAUZ,QAAQ,WAAU,WACvD,SAACa,EAAA,EAAU,UAAEzC,EAAE,sBACf,SAAC0C,EAAA,EAAM,CACL,UAAQ,oCACRR,MAAOnE,EAAO0C,SACd0B,SAAU,SAAAC,GAER,IAAM3B,EAAW2B,EAAEC,OAAOH,MAC1BZ,EAAS,MACTD,GAAU,kBACLtD,GAAM,IACT0C,SAAAA,EACA6B,kBAAmBvE,EAAO+B,SAAWW,IAEzC,EACAoB,WAAS,EACTH,MAAO1B,EAAE,mBACT2C,SAAUrG,EAAQ,SACjBgE,EAAMvE,KAAI,SAAA6G,GAAC,OACV,SAACC,EAAA,EAAQ,CAAcX,MAAOU,EAAElC,KAAM,sDAA8CkC,EAAElC,MAAO,UAC3F,0BAAOkC,EAAEzB,OAASyB,EAAElC,QADPkC,EAAElC,KAEN,WAIN,EAEf0C,QAASpD,EAAE,kBACXqD,OAAQrD,EAAE,iBACViD,MAAO,UACPlF,OAAQ,CACNiG,YAAAA,EACAlE,OAAAA,EACAW,SAAAA,GAEFG,UAAAA,EACA0C,SA7Fe,WACf/G,GAAW,GACX4D,EAAkB,KACpB,GA6FA,OACE,iCACE,UAACoD,EAAA,QAAM,CACLC,KAAK,MACLC,QAAS,kBAAMtD,EAAkBe,EAAQ,EACzC0C,KAAK,QACLF,UAAU,cACVT,MAAM,UAAS,UACd3G,GAAU,SAACqH,EAAA,QAAO,CAACC,KAAM,CAAC,GAAI,OAAU,SAAC4C,GAAA,QAAQ,CAACzE,MAAO,CAAEiB,SAAU,MACrEhD,EAAE,oBAEJE,IACC,SAAC,IAAO,CACNiB,MAAOjB,EAAeiB,MACtBC,YAAalB,EAAekB,YAC5BgC,QAASlD,EAAekD,QACxBH,MAAO/C,EAAe+C,MACtBI,OAAQnD,EAAemD,OACvBtF,OAAQmC,EAAenC,OACvB6C,UAAWV,EAAeU,UAC1B0C,SAAUpD,EAAeoD,aAKnC,CASA+C,GAAgBvC,aAAe,CAC7BwC,SAAU,WAAO,EACjBxG,OAAQ,GACRW,SAAU,I,mBC3IG,SAASgG,KACtB,IAAQzG,GAAMtC,EAAAA,EAAAA,YAAWC,EAAAA,eAAjBqC,EACA0G,GAAQC,EAAAA,EAAAA,MAARD,IACR,GAAsCvK,EAAAA,EAAAA,UAAS,CAAC,GAAE,eAA3CyK,EAAW,KAAEC,EAAc,KAE5BzH,EAAQ0H,GAAa,uBAAC,2GACHJ,EAAIK,gBAAgB,KAAD,EAC9B,OADNC,EAAQ,OACNC,EAASD,EAATC,KAAI,kBACLA,GAAI,4CAGPA,EAAO7H,EAAM8C,OAAS,GACpB5F,EAAmB8C,EAAnB9C,QAASsJ,EAAUxG,EAAVwG,MAEjB,OAAKqB,EAAK/K,QAAUI,GAEhB,gBAAKyF,MAAO,CAAEoB,UAAW,SAAU0B,UAAW,QAAS,UACrD,SAAClB,EAAA,QAAO,OAITsD,EAAK/K,QAAU0J,GACX,SAACsB,EAAA,EAAK,CAACC,SAAS,QAAO,UAAEC,EAAAA,EAAAA,GAAYxB,MAI5C,4BACE,UAAC9C,EAAA,EAAG,CAACuE,GAAI,EAAGlE,UAAU,QAAO,WAC3B,SAAC,KAAU,CAACmE,WAAW,cAAa,UAClC,SAAC1H,EAAe,CACdG,SAAU,SAAAkB,GACR,IAAQ+C,EAAiC/C,EAAjC+C,YAAaC,EAAoBhD,EAApBgD,gBACrB4C,EAAe,CACbU,MAAM,EACNvD,YAAAA,EACAC,gBAAAA,GAEJ,MAGH2C,EAAYW,OACX,SAACxD,GAAgB,QACfnD,UAAW,WACTxB,EAAMI,QACNqH,EAAe,CAAEU,MAAM,GACzB,GACIX,QAKRK,EAAK/K,SACL,SAAC4G,EAAA,EAAG,CAAC0E,GAAI,EAAE,UACT,SAACC,EAAA,QAAK,UAAEzH,EAAE,uBAGXiH,EAAK/K,SACN,SAACwL,GAAa,UACXT,EAAKlL,KAAI,SAAAgB,GACR,IAAM+C,EAAS/C,EAAK+C,QAAU,MACxB6H,EAAIpH,EAAAA,YAAAA,MAAAA,MAAuB,SAAAC,GAAC,OAAIA,EAAEE,OAAS3D,EAAK0D,QAAQ,IAC9D,OACE,iBAAKiD,UAAU,kBAAiB,WAC9B,iBAAKA,UAAU,+BAA8B,WAC3C,gBAAKA,UAAU,uBAAsB,UACnC,SAACkE,EAAA,EAAM,OAET,iBAAKlE,UAAU,uBAAsB,WACnC,SAACZ,EAAA,EAAG,CAAC+E,WAAY,IAAI,SAAE/H,KACvB,SAACgD,EAAA,EAAG,CAACgF,SAAU,EAAE,UACf,SAAC,IAAU,CAACC,aAAa,EAAM,SAAEhL,EAAKiH,iBAExC,0CAAiB+B,EAAAA,EAAAA,IAAiBhJ,EAAKiL,eACvC,yCAAiBjL,EAAKkL,aACrBlL,EAAKmL,YAAa,yCAAiBnL,EAAKmL,aACxCnL,EAAKoL,aAAc,4CAAmBpC,EAAAA,EAAAA,IAAiBhJ,EAAKoL,gBAC7D,gBAAKzE,UAAU,2BAA0B,UACvC,SAAC,UAAW,CAACjD,SAAU,CAAEU,MAAOwG,EAAIA,EAAExG,MAAQpE,EAAK0D,qBAIzD,iBAAKiD,UAAU,0BAAyB,WACtC,SAAC2C,IAAe,kBAAKtJ,GAAI,IAAEuJ,SAAUlH,EAAMI,UAC3C,SAAC8F,GAAe,CACdtB,YAAajH,EAAKiH,YAClBwB,KAAMzI,EAAKoL,WACXrI,OAAQ/C,EAAK+C,QAAU,MACvB2F,SAAUrG,EAAMI,aAK1B,QAKV,CAEA,I,GAAMkI,GAAgBrC,EAAAA,QAAAA,IAAU,k0CAE1B,YAAQ,SAAL+C,MAAkBC,QAAQC,KAAK,IAAI,IAa3B,YAAQ,SAALF,MAAkBC,QAAQC,KAAK,IAAI,IAyB/C,YAAQ,SAALF,MAAkBC,QAAQC,KAAK,IAAI,IAE1C,YAAQ,SAALF,MAAkBG,YAAYC,KAAK,KAAK,ICnJhC,SAASC,KACtB,IAAMC,GAAWC,EAAAA,EAAAA,MACT3I,GAAMC,EAAAA,EAAAA,oBAAND,EACM4I,GAAajC,EAAAA,EAAAA,MAAnBkC,KAC+B,GAAXC,EAAAA,EAAAA,MAApBC,IAAAA,OAAG,MAAG,UAAS,EACjBC,GAAkBvJ,EAAAA,EAAAA,cAAY,kBAAM,SAAC,IAAS,GAAG,GAAE,IACnDwJ,GAAexJ,EAAAA,EAAAA,cAAY,kBAAM,SAAC,IAAO,CAACyJ,KAAK,UAAW,GAAE,IAE5DC,EAAUP,EAAS/K,IAMnBuL,EAAa,CACjBC,QAAS,CACP3H,MAAO1B,EAAE,kBACTkC,MAAO,UACPV,UAAWyH,GAEbK,UAAW,CACT5H,MAAO1B,EAAE,mBACTkC,MAAO,YACPV,UAAW+H,EAAAA,GAEb,cAAe,CACb7H,MAAO1B,EAAE,oBACTkC,MAAO,cACPV,UAAWgI,IAEb,aAAc,CACZ9H,MAAO1B,EAAE,oBACTkC,MAAO,aACPV,UAAWwH,IAITS,EAAOC,OAAOC,OAAOP,GAAYrN,KAAI,YAAe,MAAQ,CAAE2F,MAAjB,EAALA,MAA6BQ,MAAjB,EAALA,MAA6B,IAE5E0H,EAAYR,EAAWL,IAAQK,EAAWS,OAEhD,OACE,SAAC,KAAY,CAACV,QAASA,EAAQ,UAC7B,UAACW,GAAI,YACH,SAACvI,EAAA,EAAU,CAACC,UAAU,KAAKI,QAAQ,KAAK8B,UAAU,cAAcT,MAAM,cAAa,SAChFjD,EAAE,kBAEL,SAAC+J,EAAA,QAAI,CAACN,KAAMA,EAAMxN,QAAS8M,EAAK5G,SArClB,SAAA6H,GAClBtB,EAAS,SAAD,OAAUsB,GACpB,EAmC6DC,cAAc,UACrE,gBAAKvG,UAAU,eAAc,UAC3B,SAACkG,EAAUpI,UAAS,UAK9B,CAEA,IAAMsI,GAAOzE,EAAAA,QAAAA,KAAW,oL,uBCzEX,6DAEbqE,OAAOQ,eAAeC,EAAS,aAAc,CAC3CjI,OAAO,IAETiI,EAAAA,QAAkBC,EAClB,IAiBIC,EAjBAC,EAASC,EAAQ,OACjBC,EAAaC,EAAuBF,EAAQ,QAC5CG,EAAUD,EAAuBF,EAAQ,QACzCI,EAAUF,EAAuBF,EAAQ,QACzCK,EAAWH,EAAuBF,EAAQ,QAC1CM,EAAiBJ,EAAuBF,EAAQ,QAChDO,EAAiBL,EAAuBF,EAAQ,QAChDQ,EAAqBN,EAAuBF,EAAQ,QACpDS,EAAeP,EAAuBF,EAAQ,QAC9CU,EAASR,EAAuBF,EAAQ,QACxCW,EAAYT,EAAuBF,EAAQ,QAC3CY,EAAiBV,EAAuBF,EAAQ,QAChDa,EAAWb,EAAQ,OACnBc,EAAUZ,EAAuBF,EAAQ,QACzCe,EAAQf,EAAQ,OAChBgB,EAAed,EAAuBF,EAAQ,QAC9CiB,EAAcjB,EAAQ,OAE1B,SAASE,EAAuBgB,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,EAAO,CAE9F,SAASrB,EAAcwB,GACrB,IACEzK,EASEyK,EATFzK,MACAC,EAQEwK,EARFxK,YACAyK,EAOED,EAPFC,WACAxI,EAMEuI,EANFvI,OACAD,EAKEwI,EALFxI,QACAH,EAIE2I,EAJF3I,MACQ6I,EAGNF,EAHF7N,OACAuF,EAEEsI,EAFFtI,SACA1C,EACEgL,EADFhL,UAEF,GAA4B,EAAI0J,EAAOnO,UAAU2P,GAAc,SAAxD/N,EAAM,KAAEsD,EAAS,KACxB,GAAwB,EAAIiJ,EAAOnO,WAAU,GAAK,SAA3CoI,EAAI,KAAEwH,EAAO,KACpB,GAA8B,EAAIzB,EAAOnO,WAAU,GAAM,SAAlDG,EAAO,KAAEC,EAAU,KAC1B,GAA0B,EAAI+N,EAAOnO,UAAU,IAAG,SAA3CyJ,EAAK,KAAEtE,EAAQ,KAEjB0K,GACD,EAAIZ,EAASnL,oBADfD,EAEIoI,GAAQ,EAAI8C,EAAUS,WACtBM,EAAU,6BAAG,WAAMC,GAAE,oEACP,oBAAPA,EAAiB,iBACT,OAAjB3P,GAAW,GAAM,kBAET2P,EAAGnO,GAAO,OAChBgO,GAAQ,GAAO,gDAEfzK,GAAS,EAAIgK,EAAMlE,aAAa,EAAF,KAC9BzB,QAAQC,MAAM,EAAD,IAAM,QAED,OAFC,UAEnBrJ,GAAW,GAAO,6CAGpBwP,GAAQ,GAAO,+DAElB,gBAfe,sCAgBV/L,EAAqB,oBAAVmB,EAAuBA,IAAUA,EAC5CgL,EAA2B,oBAAhB/K,EAA6BA,EAAYrD,EAAQsD,EAAWC,GAAYF,EACnFgL,GAAsB,EAAIjB,EAAeQ,SAASvD,EAAMG,YAAYC,KAAK,OAK7EV,GACE,EAAIyD,EAAaI,WADnB7D,SAEF,OAAoB,EAAI0D,EAAYa,MAAMC,EAAc,CACtD7I,QAPkB,SAAArB,GAClBA,EAAEmK,iBACJ,EAMEC,WAAYJ,EACZ7H,KAAMA,EACNxC,MAAO,CACL+F,SAAAA,GAEF2E,SAAU,EAAc,EAAIjB,EAAYkB,KAAK1B,EAAaW,QAAS,CACjEc,SAAUzM,KACK,EAAIwL,EAAYa,MAAMvB,EAAea,QAAS,CAC7D5J,MAAO,CACL+F,SAAAA,GAEF2E,SAAU,EAAc,EAAIjB,EAAYkB,KAAK3B,EAAmBY,QAAS,CACvEnK,UAAW,MACXiL,SAAUN,MACNvG,IAAsB,EAAI4F,EAAYkB,KAAKzB,EAAOU,QAAS,CAC/DxE,SAAU,QACVpF,MAAO,CACLS,MAAO,OACPqC,UAAW,GAEb4H,SAAU7G,QAEG,EAAI4F,EAAYa,MAAMxB,EAAec,QAAS,CAC7DjI,UAAW,iBACX3B,MAAO,CACL4K,QAAS,iBAEXF,SAAU,CAACZ,IAA2B,EAAIL,EAAYkB,KAAKrB,EAAQM,QAAS,CAC1ElI,QAAS,SAAArB,GACPA,EAAEmK,kBACFN,EAAW3I,EACb,EACAL,MAAO,UACP,UAAW,wBACXwJ,SAAUpJ,GAAU2I,EAAa,oBAClB,EAAIR,EAAYa,MAAMhB,EAAQM,QAAS,CACtDlI,QAAS,SAAArB,GACPA,EAAEmK,kBACFN,EAAWrL,EACb,EACAqC,MAAOA,EAGPN,SAAU5E,EAAOuE,kBAAoBhG,EACrCsF,QAAS,YACT,UAAW,wBACXE,WAAW,EACX2K,SAAU,CAACnQ,IAAwB,EAAIkP,EAAYkB,KAAK9B,EAASe,QAAS,CACxE/H,KAAM,CAAC,GAAI,MACTR,UAIZ,CACAgH,EAAcwC,UAAY,CACxBzL,MAAOqJ,EAAWmB,QAAQkB,IAAIC,WAC9B1L,YAAaoJ,EAAWmB,QAAQkB,IAAIC,WAEpCjB,WAAYrB,EAAWmB,QAAQoB,KAC/B1J,OAAQmH,EAAWmB,QAAQqB,OAC3B/J,MAAOuH,EAAWmB,QAAQqB,OAC1B5J,QAASoH,EAAWmB,QAAQqB,OAC5BjP,OAAQyM,EAAWmB,QAAQsB,OAE3B3J,SAAUkH,EAAWmB,QAAQuB,KAC7BtM,UAAW4J,EAAWmB,QAAQuB,KAAKJ,YAErC1C,EAActG,aAAe,CAC3BR,SAAU,WAAO,EACjBuI,YAAY,EACZxI,OAAQ,GACRD,QAAS,UACTH,MAAO,QACPlF,OAAQ,CAAC,GAEX,IA3HgCoP,EAASC,EA2HnCd,GAAe,EAAI5B,EAAQiB,SAAShB,EAAQgB,QAA7B,CAAsCtB,IA3H3B8C,EA2HwF,CAAC,wKA3HpEC,IAAOA,EAAMD,EAAQE,MAAM,IA2HDhD,EA3HcX,OAAO4D,OAAO5D,OAAO6D,iBAAiBJ,EAAS,CAAEC,IAAK,CAAElL,MAAOwH,OAAO4D,OAAOF,Q,wBCvB1K1D,OAAOQ,eAAeC,EAAS,aAAc,CAC3CjI,OAAO,IAETiI,EAAAA,aAAkB,EAClB,IAEgCsB,EAF5B+B,EAAUjD,EAAQ,OAClBY,GAC4BM,EADYlB,EAAQ,SACCkB,EAAIC,WAAaD,EAAM,CAAEE,QAASF,GASvF,IAAIgC,EARJ,WACE,IAAMrF,GAAQ,EAAIoF,EAAQE,YAG1B,MAAO,CACL5F,UAH0B,EAAIqD,EAAeQ,SAASvD,EAAMG,YAAYC,KAAK,OACxC,IAAMJ,EAAMG,YAAYoB,OAAOgE,GAIxE,EAEAxD,EAAAA,QAAkBsD,C,4BChBdhD,EAAyBF,EAAQ,OAKrCJ,EAAQ,OAAU,EAElB,IAAIyD,EAAiBnD,EAAuBF,EAAQ,QAEhDiB,EAAcjB,EAAQ,OAEtBkD,GAAW,EAAIG,EAAejC,UAAuB,EAAIH,EAAYkB,KAAK,OAAQ,CACpFP,EAAG,iKACD,UAEJhC,EAAQ,EAAUsD,C,kFCdH,SAASI,EAAW9O,EAAIC,EAAM8O,QAC5B,IAAT9O,IAAmBA,EAAO,SACT,IAAjB8O,IAA2BA,EAAe,CAAExR,SAAS,IACzD,IAAIyR,GAAalS,EAAAA,EAAAA,QAAO,GACpBmS,ECNO,WACX,IAAIC,GAAapS,EAAAA,EAAAA,SAAO,GACpBqS,GAAMzO,EAAAA,EAAAA,cAAY,WAAc,OAAOwO,EAAWhS,OAAS,GAAG,IAOlE,OANAS,EAAAA,EAAAA,YAAU,WAEN,OADAuR,EAAWhS,SAAU,EACd,WACHgS,EAAWhS,SAAU,CACzB,CACJ,GAAG,IACIiS,CACX,CDJoBC,GACZlP,GAAK9C,EAAAA,EAAAA,UAAS2R,GAAe1O,EAAQH,EAAG,GAAImP,EAAMnP,EAAG,GACrDoP,GAAW5O,EAAAA,EAAAA,cAAY,WAEvB,IADA,IAAI6O,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUtS,OAAQqS,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,IAAWV,EAAW9R,QAI1B,OAHKmD,EAAM9C,SACP8R,GAAI,SAAUM,GAAa,OAAQ/O,EAAAA,EAAAA,WAASA,EAAAA,EAAAA,UAAS,CAAC,EAAG+O,GAAY,CAAEpS,SAAS,GAAU,IAEvFyC,EAAG4P,WAAM,EAAQL,GAAMM,MAAK,SAAU1M,GAEzC,OADA8L,KAAeS,IAAWV,EAAW9R,SAAWmS,EAAI,CAAElM,MAAOA,EAAO5F,SAAS,IACtE4F,CACX,IAAG,SAAU0D,GAET,OADAoI,KAAeS,IAAWV,EAAW9R,SAAWmS,EAAI,CAAExI,MAAOA,EAAOtJ,SAAS,IACtEsJ,CACX,GACJ,GAAG5G,GACH,MAAO,CAACI,EAAOiP,EACnB,CEzBe,SAAShP,EAASN,EAAIC,QACpB,IAATA,IAAmBA,EAAO,IAC9B,IAAIC,EAAK4O,EAAW9O,EAAIC,EAAM,CAC1B1C,SAAS,IACT8C,EAAQH,EAAG,GAAIoP,EAAWpP,EAAG,GAIjC,OAHAvC,EAAAA,EAAAA,YAAU,WACN2R,GACJ,GAAG,CAACA,IACGjP,CACX,C,wDCXA,IAAMyP,EAAQ,CAAC,SAAU,SAAU,OAAQ,MAAO,OAAQ,QAAS,QCAnE,IAAMC,EAAQ,CAAC,SAAK,eAAM,eAAM,SAAK,SAAK,eAAM,UCUhD,IAAMC,EAAqB,GAOdC,EAAW,SAACvR,EAAgByP,GACvC6B,EAAQtR,GAAUyP,CACpB,ECZM+B,EAAY,CAChB,GACA,GACA,GACA,EACA,IAAM,EAAI,GACV,IAQI,SAAUC,EAAOpO,GACrB,OAAIA,aAAiBoF,KAAapF,GAE7BqO,MAAMrO,IAAU,QAAQsO,KAAKtO,GAAe,IAAIoF,KAAKmJ,SAASvO,KACnEA,GAASA,GAAS,IAEfC,OACAuO,QAAQ,QAAS,IACjBA,QAAQ,IAAK,KACbA,QAAQ,IAAK,KACbA,QAAQ,YAAa,SACrBA,QAAQ,IAAK,QACbA,QAAQ,qBAAsB,SAC1B,IAAIpJ,KAAKpF,GAClB,CCzBO,IAAMmF,EAAS,SAACsJ,EAAa9R,EAAiB+R,GAEnD,IAAMC,EDyFF,SAAkBF,EAAaG,GAEnC,SADgBA,EAAeR,EAAOQ,GAAgB,IAAIxJ,OACtCgJ,EAAOK,IAAS,GACtC,CC5FcI,CAAQJ,EAAMC,GAAQA,EAAKE,cAEvC,OD6BI,SAAqBE,EAAcC,GA6BvC,IApBA,IAAMC,EAAQF,EAAO,EAAI,EAAI,EAavBG,EALNH,EAAOI,KAAKC,IAAIL,GAUZM,EAAM,EAEHN,GAAQX,EAAUiB,IAAQA,EAAMjB,EAAU/S,OAAQgU,IACvDN,GAAQX,EAAUiB,GAmBpB,OANAN,EAAOI,KAAKG,MAAMP,KAIE,KAFpBM,GAAO,GAEiB,EAAI,KAAIA,GAAO,GAEhCL,EAAWD,EAAMM,EAAKH,GAAUD,GAAOR,QAAQ,KAAMM,EAAKQ,WACnE,CC/ESC,CAAWZ,EFYK,SAAChS,GACxB,OAAOsR,EAAQtR,IAAWsR,EAAe,KAC3C,CEdyBuB,CAAU7S,GACnC,ECLAuR,EAAS,SLRK,SAAUY,EAAcM,GACpC,GAAY,IAARA,EAAW,MAAO,CAAC,WAAY,aACnC,IAAIK,EAAO1B,EAAMmB,KAAKG,MAAMD,EAAM,IAElC,OADIN,EAAO,IAAGW,GAAQ,KACf,CAAIX,EAAI,IAAIW,EAAI,OAAQ,MAAMX,EAAI,IAAIW,EAC/C,IKIAvB,EAAS,SJTK,SAAUY,EAAcM,GACpC,GAAY,IAARA,EAAW,MAAO,CAAC,eAAM,sBAC7B,IAAMK,EAAOzB,KAASoB,EAAM,IAC5B,MAAO,CAAIN,EAAI,IAAIW,EAAI,SAAQX,EAAI,IAAIW,EAAI,SAC7C,G","sources":["hooks/url-evaluation.js","../../../node_modules/react-use/esm/useAsyncRetry.js","components/access-key/create.js","components/access-key/confirm.js","components/access-key/delete.js","components/access-key/update.js","components/team/access-key.js","pages/team/index.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/VpnKey.js","../../../node_modules/react-use/esm/useAsyncFn.js","../../../node_modules/react-use/esm/useMountedState.js","../../../node_modules/react-use/esm/useAsync.js","../../../src/lang/en_US.ts","../../../src/lang/zh_CN.ts","../../src/register.ts","../../../src/utils/date.ts","../../src/format.ts","../../src/index.ts"],"sourcesContent":["import { useState, useEffect, useMemo, useRef, useContext } from 'react';\nimport joinURL from 'url-join';\nimport { WELLKNOWN_PING_PREFIX } from '@abtnode/constant';\nimport { getAccessUrl } from '@abtnode/ux/src/util';\nimport { evaluateURLs } from '@abtnode/util/lib/url-evaluation';\nimport defaultCheckAccessible from '@abtnode/util/lib/url-evaluation/check-accessible-browser';\nimport memoize from 'lodash/memoize';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { useRoutingContext, getBlockletUrls } from '../contexts/routing';\nimport { getBlockletUrlParams } from '../libs/util';\n\n// 如果同一个页面中存在多个部分同时对同一个 url 检测 url 可访问性, 避免造成重复请求\nconst ping = memoize(url => defaultCheckAccessible(joinURL(new URL(url).origin, WELLKNOWN_PING_PREFIX)));\n\n// url <-> evaluation cache\nconst CACHE = {};\n\nexport function useUrlEvaluation({ urls, checkAccessible = defaultCheckAccessible, disableCache = false }) {\n // 基于 CACHE 初始化该 hook 的状态\n // FIXME: 最好解决源头的 material-table 渲染 BlockletInterface 时的 re-mount 问题 (#4897)\n const initialCachedRef = useRef(urls.filter(url => CACHE[url]).map(url => CACHE[url]));\n const allCached = initialCachedRef.current.length === urls.length;\n const [urlsState, setUrlsState] = useState(allCached ? initialCachedRef.current : []);\n const [loading, setLoading] = useState(!allCached);\n const recommendedUrlState = useMemo(() => {\n if (!loading && urlsState.length) {\n return urlsState[0];\n }\n return null;\n }, [urlsState, loading]);\n\n useEffect(() => {\n if (urls?.length > 0 && !allCached) {\n const evaluate = async () => {\n let results;\n setLoading(true);\n if (disableCache) {\n results = await evaluateURLs(urls, { checkAccessible });\n results.forEach(item => {\n CACHE[item.url] = item;\n });\n } else {\n const misses = await evaluateURLs(\n urls.filter(url => !CACHE[url]),\n { checkAccessible }\n );\n misses.forEach(item => {\n CACHE[item.url] = item;\n });\n results = urls.map(url => CACHE[url]).sort((a, b) => b.score - a.score);\n }\n setUrlsState(results);\n setLoading(false);\n };\n evaluate();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [urls, disableCache, allCached]);\n\n return {\n urlsState,\n loading,\n recommendedUrlState,\n recommendedUrl: recommendedUrlState?.url,\n };\n}\n\n/**\n * 主要对 blocklet 访问 urls 进行评估\n * @param {object} blocklet\n */\nexport function useBlockletUrlEvaluation(blocklet) {\n const { siteMap } = useRoutingContext();\n const { locale } = useContext(LocaleContext);\n const urls = useMemo(() => {\n if (!blocklet) {\n return [];\n }\n // getBlockletUrlParams 的调用是必须的, 会根据 blocklet 状态决定是否添加 \"__start__\" 参数, 以保证 blocklet 启动按钮可以正确的跳转到启动页面\n return getBlockletUrls({ did: blocklet.meta.did, siteMap, params: getBlockletUrlParams(blocklet, locale) });\n }, [blocklet, locale, siteMap]);\n const { loading, recommendedUrlState, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n return { urls, loading, recommendedUrlState, recommendedUrl };\n}\n\n/**\n * 主要对 blocklet domains 对应的 urls 进行评估, 配合 DomainStatusProvider 使用\n * @param {string[]} domains\n */\nexport function useDomainsAccessibility(domains) {\n // 获取 blocklet domain 对应的访问 url\n const urls = useMemo(() => domains.map(item => getAccessUrl(item)), [domains]);\n const { urlsState, loading, recommendedUrl } = useUrlEvaluation({ urls, checkAccessible: ping });\n let result;\n if (loading) {\n result = {\n domainsAccessibility: domains.reduce((acc, cur) => ({ ...acc, [cur]: { loading: true } }), {}),\n recommendedDomain: null,\n };\n } else {\n const domainsAccessibility = urlsState.reduce((acc, cur) => {\n // 检测对象是 domain, 但检测可访问性用的是 domain 对应的 ping url, 所以需要取 hostname 作为结果\n const domain = new URL(cur.url).hostname;\n acc[domain] = { ...cur, domain };\n return acc;\n }, {});\n // 从排好优先级的 urls 中选择第一个可访问的 url 作为 recommendedDomain (对于自定义域名, 可能存在评分最高但不可访问的情况) (#5195)\n const accessibleUrl = urlsState.find(item => item.accessible)?.url || recommendedUrl;\n result = {\n domainsAccessibility,\n recommendedDomain: accessibleUrl ? new URL(accessibleUrl).hostname : null,\n };\n }\n return result;\n}\n","import { __assign, __spreadArrays } from \"tslib\";\nimport { useCallback, useState } from 'react';\nimport useAsync from './useAsync';\nvar useAsyncRetry = function (fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useState(0), attempt = _a[0], setAttempt = _a[1];\n var state = useAsync(fn, __spreadArrays(deps, [attempt]));\n var stateLoading = state.loading;\n var retry = useCallback(function () {\n if (stateLoading) {\n if (process.env.NODE_ENV === 'development') {\n console.log('You are calling useAsyncRetry hook retry() method while loading in progress, this is a no-op.');\n }\n return;\n }\n setAttempt(function (currentAttempt) { return currentAttempt + 1; });\n }, __spreadArrays(deps, [stateLoading]));\n return __assign(__assign({}, state), { retry: retry });\n};\nexport default useAsyncRetry;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Box from '@mui/material/Box';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function CreateAccessKey(props) {\n const { remark, onCreate } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { remark, passport } = params;\n setLoading(true);\n const res = await client.createAccessKey({\n input: {\n remark: remark.trim(),\n passport,\n },\n });\n const { data } = res;\n onCreate(data);\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.create')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.tip')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n data-cy=\"remark-input\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.remark}\n onChange={e => {\n setParams({\n ...params,\n remark: e.target.value,\n __disableConfirm: !params.passport || !e.target.value.trim(),\n });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"create-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`create-access-key-passport-option-${r.name}`}>\n <Box>\n <span>{r.title || r.name}</span>\n <Box maxWidth={440} fontSize={12} color=\"#999\" whiteSpace=\"normal\" textAlign=\"justify\">\n {r.description}\n </Box>\n </Box>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n remark,\n __disableConfirm: !remark.trim(),\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n variant=\"contained\"\n color=\"primary\"\n data-cy=\"add-access-key-btn\"\n onClick={() => setConfirmSetting(setting)}\n className=\"rule-action\">\n {loading ? <Spinner size={[16, 10]} /> : <AddIcon style={{ fontSize: 16 }} />}\n {t('common.create')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nCreateAccessKey.propTypes = {\n remark: PropTypes.string,\n onCreate: PropTypes.func,\n};\n\nCreateAccessKey.defaultProps = {\n onCreate: () => {},\n remark: '',\n};\n","import { useContext, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Dialog from '@arcblock/ux/lib/Dialog';\nimport FormControlLabel from '@mui/material/FormControlLabel';\n\nimport Button from '@arcblock/ux/lib/Button';\nimport Checkbox from '@mui/material/Checkbox';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nexport default function ConfirmAccessKey(props) {\n const { onConfirm, accessKeyId, accessKeySecret } = props;\n const { t } = useContext(LocaleContext);\n const [checked, setChecked] = useState(false);\n const [hideAccessSecret, setHideAccessSecret] = useState(true);\n\n const onChangeSwitch = () => {\n setHideAccessSecret(!hideAccessSecret);\n };\n\n const handleChange = event => {\n setChecked(event.target.checked);\n };\n\n return (\n <Dialog\n title={t('common.createSuccess')}\n fullWidth\n open\n disableEscapeKeyDown\n onClose={onConfirm}\n showCloseButton={false}\n actions={\n <div>\n <Button\n disabled={!checked}\n onClick={onConfirm}\n color=\"primary\"\n autoFocus\n variant=\"contained\"\n data-cy=\"submit-confirm-dialog\">\n {t('common.confirm')}\n </Button>\n </div>\n }\n aria-labelledby=\"simple-dialog-title\">\n <div>\n <Bold>{t('setting.accessKey.saveSecretTip')}</Bold>\n </div>\n <div style={{ marginTop: '20px' }} />\n <Item>\n <Label>Access Key</Label>\n <ClickToCopy>{accessKeyId}</ClickToCopy>\n </Item>\n <Item>\n <Label>Access Secret</Label>\n {hideAccessSecret ? (\n <Button data-cy=\"show-secret-btn\" color=\"primary\" onClick={onChangeSwitch}>\n {t('setting.accessKey.showSecret')}\n </Button>\n ) : (\n <ClickToCopy>{accessKeySecret}</ClickToCopy>\n )}\n </Item>\n <div>\n <FormControlLabel\n value=\"end\"\n disabled={hideAccessSecret}\n control={<Checkbox checked={checked} onChange={handleChange} />}\n label={t('setting.accessKey.iKnow')}\n labelPlacement=\"end\"\n />\n </div>\n </Dialog>\n );\n}\n\nConfirmAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n accessKeySecret: PropTypes.string.isRequired,\n onConfirm: PropTypes.func,\n};\n\nConfirmAccessKey.defaultProps = {\n onConfirm: () => {},\n};\n\nconst Label = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 16px;\n margin-bottom: 8px;\n`;\nconst Item = styled.div`\n margin-bottom: 24px;\n`;\nconst Bold = styled.div`\n font-size: 16px;\n font-weight: bold;\n`;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { format } from 'timeago.js';\n\nimport ActionIcon from '@mui/icons-material/Delete';\nimport Spinner from '@arcblock/ux/lib/Spinner';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { formatLocale, formatToDatetime } from '../../libs/util';\n\nimport DelConfirm from '../delete-confirm';\nimport getClient from '../../libs/node';\n\nexport default function DeleteAccessKey(props) {\n const { t, locale } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const { accessKeyId, time, remark, onDelete = () => {} } = props;\n\n const client = getClient();\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async () => {\n setLoading(true);\n try {\n await client.deleteAccessKey({ input: { accessKeyId } });\n onDelete();\n } catch (error) {\n console.error(error);\n } finally {\n setLoading(false);\n setConfirmSetting(null);\n }\n };\n\n const descData = formatTime => ({\n key: `<b>${accessKeyId}</b>`,\n name: `<b>${remark}</b>`,\n time: formatToDatetime(formatTime),\n timeAge: format(new Date(formatTime), formatLocale(locale)),\n });\n\n const setting = {\n keyName: remark,\n title: t('setting.accessKey.title'),\n description: time\n ? `${t('setting.accessKey.description', descData(time))}`\n : `${t('setting.accessKey.descriptionNoTime', { key: `<b>${accessKeyId}</b>`, name: `<b>${remark}</b>` })}`,\n confirmPlaceholder: t('setting.accessKey.confirm_desc', { name: remark }),\n confirm: t('common.delConfirm'),\n cancel: t('common.cancel'),\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button edge=\"end\" onClick={() => setConfirmSetting(setting)} size=\"small\" className=\"rule-action\" color=\"error\">\n {loading ? <Spinner size={[16, 10]} /> : <ActionIcon style={{ fontSize: 16 }} />}\n {t('common.delete')}\n </Button>\n {confirmSetting && (\n <DelConfirm\n keyName={confirmSetting.keyName}\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirmPlaceholder={confirmSetting.confirmPlaceholder}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nDeleteAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n time: PropTypes.string.isRequired,\n remark: PropTypes.string.isRequired,\n onDelete: PropTypes.func,\n};\n\nDeleteAccessKey.defaultProps = {\n onDelete: () => {},\n};\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport EditIcon from '@mui/icons-material/Edit';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\n\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG, ROLES } from '@abtnode/constant';\n\nimport Confirm from '../confirm';\nimport getClient from '../../libs/node';\n\nexport default function UpdateAccessKey(props) {\n const { accessKeyId, remark, onUpdate, passport } = props;\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [confirmSetting, setConfirmSetting] = useState(null);\n const client = getClient();\n\n const roles = RBAC_CONFIG.roles.filter(x => x.passport && x.name !== ROLES.OWNER);\n\n const onCancel = () => {\n setLoading(false);\n setConfirmSetting(null);\n };\n\n const onConfirm = async params => {\n // eslint-disable-next-line no-shadow\n const { accessKeyId, remark, passport } = params;\n setLoading(true);\n await client.updateAccessKey({\n input: {\n accessKeyId,\n remark: remark.trim(),\n passport,\n },\n });\n onUpdate();\n setConfirmSetting(null);\n setLoading(false);\n };\n\n const setting = {\n title: `${t('common.update')} ${t('common.accessKey')}`,\n // eslint-disable-next-line react/no-unstable-nested-components\n description: (params, setParams, setError) => (\n <Typography component=\"div\">\n <TextField\n label={t('setting.accessKey.accessKeyId')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"accessKeyId\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n margin=\"dense\"\n value={params.accessKeyId}\n disabled\n />\n <TextField\n label={t('common.remark')}\n autoComplete=\"off\"\n variant=\"outlined\"\n name=\"remark\"\n fullWidth\n autoFocus\n style={{ marginBottom: 32 }}\n value={params.remark}\n onChange={e => {\n setParams({ ...params, remark: e.target.value, __disableConfirm: !e.target.value.trim() });\n if (!e.target.value.trim()) {\n setError(t('setting.accessKey.remarkInvalid'));\n } else {\n setError('');\n }\n }}\n />\n\n <FormControl style={{ width: '100%' }} variant=\"outlined\">\n <InputLabel>{t('common.passport')}</InputLabel>\n <Select\n data-cy=\"update-access-key-select-passport\"\n value={params.passport}\n onChange={e => {\n // eslint-disable-next-line no-shadow\n const passport = e.target.value;\n setError(null);\n setParams({\n ...params,\n passport,\n __disableConfirm: !params.remark || !passport,\n });\n }}\n fullWidth\n label={t('common.passport')}\n disabled={loading}>\n {roles.map(r => (\n <MenuItem key={r.name} value={r.name} data-cy={`update-access-key-passport-option-${r.name}`}>\n <span>{r.title || r.name}</span>\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Typography>\n ),\n confirm: t('common.confirm'),\n cancel: t('common.cancel'),\n color: 'primary',\n params: {\n accessKeyId,\n remark,\n passport,\n },\n onConfirm,\n onCancel,\n };\n\n return (\n <>\n <Button\n edge=\"end\"\n onClick={() => setConfirmSetting(setting)}\n size=\"small\"\n className=\"rule-action\"\n color=\"primary\">\n {loading ? <Spinner size={[16, 10]} /> : <EditIcon style={{ fontSize: 16 }} />}\n {t('common.update')}\n </Button>\n {confirmSetting && (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n color={confirmSetting.color}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n )}\n </>\n );\n}\n\nUpdateAccessKey.propTypes = {\n accessKeyId: PropTypes.string.isRequired,\n remark: PropTypes.string,\n passport: PropTypes.string,\n onUpdate: PropTypes.func,\n};\n\nUpdateAccessKey.defaultProps = {\n onUpdate: () => {},\n remark: '',\n passport: '',\n};\n","import { useContext, useState } from 'react';\nimport styled from '@emotion/styled';\nimport { useAsyncRetry } from 'react-use';\n\nimport VpnKey from '@mui/icons-material/VpnKey';\nimport Alert from '@mui/material/Alert';\nimport Box from '@mui/material/Box';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport Empty from '@arcblock/ux/lib/Empty';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport { RBAC_CONFIG } from '@abtnode/constant';\nimport PassportTag from '@abtnode/ux/lib/passport-tag';\n\nimport { formatError, formatToDatetime } from '../../libs/util';\nimport { useNodeContext } from '../../contexts/node';\n\nimport CreateAccessKey from '../access-key/create';\nimport ConfirmAccessKey from '../access-key/confirm';\nimport DeleteAccessKey from '../access-key/delete';\nimport UpdateAccessKey from '../access-key/update';\nimport Permission from '../permission';\n\nexport default function AccessKey() {\n const { t } = useContext(LocaleContext);\n const { api } = useNodeContext();\n const [confirmInfo, setConfirmInfo] = useState({});\n\n const state = useAsyncRetry(async () => {\n const response = await api.getAccessKeys();\n const { list } = response;\n return list;\n });\n\n const list = state.value || [];\n const { loading, error } = state;\n\n if (!list.length && loading) {\n return (\n <div style={{ textAlign: 'center', marginTop: '50px' }}>\n <Spinner />\n </div>\n );\n }\n if (!list.length && error) {\n return <Alert severity=\"error\">{formatError(error)}</Alert>;\n }\n\n return (\n <div>\n <Box mb={1} textAlign=\"right\">\n <Permission permission=\"mutate_node\">\n <CreateAccessKey\n onCreate={data => {\n const { accessKeyId, accessKeySecret } = data;\n setConfirmInfo({\n show: true,\n accessKeyId,\n accessKeySecret,\n });\n }}\n />\n </Permission>\n {confirmInfo.show && (\n <ConfirmAccessKey\n onConfirm={() => {\n state.retry();\n setConfirmInfo({ show: false });\n }}\n {...confirmInfo}\n />\n )}\n </Box>\n\n {!list.length && (\n <Box mt={8}>\n <Empty>{t('common.noData')}</Empty>\n </Box>\n )}\n {!!list.length && (\n <AccessKeyList>\n {list.map(item => {\n const remark = item.remark || 'N/A';\n const p = RBAC_CONFIG.roles.find(x => x.name === item.passport);\n return (\n <div className=\"access-key-item\">\n <div className=\"access-key-item_info-warpper\">\n <div className=\"access-key-item_icon\">\n <VpnKey />\n </div>\n <div className=\"access-key-item_info\">\n <Box fontWeight={700}>{remark}</Box>\n <Box minWidth={0}>\n <DidAddress showDidLogo={false}>{item.accessKeyId}</DidAddress>\n </Box>\n <div>Created at {formatToDatetime(item.createdAt)}</div>\n <div>Created by {item.createdBy}</div>\n {item.updatedBy && <div>Updated by {item.updatedBy}</div>}\n {item.lastUsedAt && <div>Last used at {formatToDatetime(item.lastUsedAt)}</div>}\n <div className=\"access-key-item_passport\">\n <PassportTag passport={{ title: p ? p.title : item.passport }} />\n </div>\n </div>\n </div>\n <div className=\"access-key-item_actions\">\n <UpdateAccessKey {...item} onUpdate={state.retry} />\n <DeleteAccessKey\n accessKeyId={item.accessKeyId}\n time={item.lastUsedAt}\n remark={item.remark || 'N/A'}\n onDelete={state.retry}\n />\n </div>\n </div>\n );\n })}\n </AccessKeyList>\n )}\n </div>\n );\n}\n\nconst AccessKeyList = styled.div`\n border: 1px solid\n ${({ theme }) => theme.palette.grey[300]};\n border-radius: 8px;\n\n .access-key-item {\n display: flex;\n justify-content: space-between;\n padding: 16px 32px;\n .access-key-item_info-warpper {\n display: flex;\n flex-grow: 1;\n .access-key-item_icon {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.palette.grey[400]};\n svg {\n font-size: 44px;\n }\n }\n .access-key-item_info {\n flex: 1;\n max-width: 400px;\n padding-left: 44px;\n }\n }\n .access-key-item_actions {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n }\n\n .access-key-item_passport span {\n margin-top: 4px;\n padding: 2px 12px;\n font-size: 12px;\n }\n }\n .access-key-item + .access-key-item {\n border-top: 1px solid\n ${({ theme }) => theme.palette.grey[300]}};\n }\n ${({ theme }) => theme.breakpoints.down('md')} {\n .access-key-item {\n padding: 16px;\n .access-key-item_info-warpper {\n min-width: 0;\n .access-key-item_icon {\n svg {\n font-size: 24px;\n }\n }\n .access-key-item_info {\n max-width: 100%;\n padding-left: 16px;\n }\n }\n .access-key-item_actions {\n flex-direction: column;\n justify-content: center;\n }\n }\n }\n`;\n","/* eslint-disable react/jsx-one-expression-per-line */\nimport { useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { useParams, useNavigate } from 'react-router-dom';\n\nimport Typography from '@mui/material/Typography';\n\nimport Tabs from '@arcblock/ux/lib/Tabs';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport AuditLogs from '@abtnode/ux/lib/blocklet/audit-logs';\nimport Members from '@abtnode/ux/lib/team/members';\nimport Passports from '@abtnode/ux/lib/team/passports';\n\nimport { useNodeContext } from '../../contexts/node';\nimport { TeamProvider } from '../../contexts/team';\nimport AccessKeySettings from '../../components/team/access-key';\n\nexport default function TeamPage() {\n const navigate = useNavigate();\n const { t } = useLocaleContext();\n const { info: nodeInfo } = useNodeContext();\n const { tab = 'members' } = useParams(); // members, passports\n const renderAuditLogs = useCallback(() => <AuditLogs />, []);\n const renderMember = useCallback(() => <Members type=\"server\" />, []);\n\n const teamDid = nodeInfo.did;\n\n const onTabChange = newTab => {\n navigate(`/team/${newTab}`);\n };\n\n const tabConfigs = {\n members: {\n label: t('common.members'),\n value: 'members',\n component: renderMember,\n },\n passports: {\n label: t('common.passport'),\n value: 'passports',\n component: Passports,\n },\n 'access-keys': {\n label: t('common.accessKey'),\n value: 'access-keys',\n component: AccessKeySettings,\n },\n 'audit-logs': {\n label: t('common.auditLogs'),\n value: 'audit-logs',\n component: renderAuditLogs,\n },\n };\n\n const tabs = Object.values(tabConfigs).map(({ label, value }) => ({ label, value }));\n\n const tabConfig = tabConfigs[tab] || tabConfigs.member;\n\n return (\n <TeamProvider teamDid={teamDid}>\n <Main>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('common.team')}\n </Typography>\n <Tabs tabs={tabs} current={tab} onChange={onTabChange} scrollButtons=\"auto\" />\n <div className=\"page-content\">\n <tabConfig.component />\n </div>\n </Main>\n </TeamProvider>\n );\n}\n\nconst Main = styled.main`\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 24px;\n }\n`;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","import { __assign } from \"tslib\";\nimport { useCallback, useRef, useState } from 'react';\nimport useMountedState from './useMountedState';\nexport default function useAsyncFn(fn, deps, initialState) {\n if (deps === void 0) { deps = []; }\n if (initialState === void 0) { initialState = { loading: false }; }\n var lastCallId = useRef(0);\n var isMounted = useMountedState();\n var _a = useState(initialState), state = _a[0], set = _a[1];\n var callback = useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callId = ++lastCallId.current;\n if (!state.loading) {\n set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });\n }\n return fn.apply(void 0, args).then(function (value) {\n isMounted() && callId === lastCallId.current && set({ value: value, loading: false });\n return value;\n }, function (error) {\n isMounted() && callId === lastCallId.current && set({ error: error, loading: false });\n return error;\n });\n }, deps);\n return [state, callback];\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useMountedState() {\n var mountedRef = useRef(false);\n var get = useCallback(function () { return mountedRef.current; }, []);\n useEffect(function () {\n mountedRef.current = true;\n return function () {\n mountedRef.current = false;\n };\n }, []);\n return get;\n}\n","import { useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nexport default function useAsync(fn, deps) {\n if (deps === void 0) { deps = []; }\n var _a = useAsyncFn(fn, deps, {\n loading: true,\n }), state = _a[0], callback = _a[1];\n useEffect(function () {\n callback();\n }, [callback]);\n return state;\n}\n"],"names":["ping","memoize","url","defaultCheckAccessible","joinURL","URL","origin","WELLKNOWN_PING_PREFIX","CACHE","useUrlEvaluation","urls","checkAccessible","disableCache","initialCachedRef","useRef","filter","map","allCached","current","length","useState","urlsState","setUrlsState","loading","setLoading","recommendedUrlState","useMemo","useEffect","evaluate","evaluateURLs","results","forEach","item","sort","a","b","score","recommendedUrl","useBlockletUrlEvaluation","blocklet","siteMap","useRoutingContext","locale","useContext","LocaleContext","getBlockletUrls","did","meta","params","getBlockletUrlParams","useDomainsAccessibility","domains","result","getAccessUrl","domainsAccessibility","reduce","acc","cur","recommendedDomain","domain","hostname","accessibleUrl","find","accessible","fn","deps","_a","attempt","setAttempt","state","useAsync","__spreadArrays","stateLoading","retry","useCallback","currentAttempt","__assign","CreateAccessKey","props","remark","onCreate","t","useLocaleContext","confirmSetting","setConfirmSetting","client","getClient","roles","RBAC_CONFIG","x","passport","name","ROLES","onConfirm","createAccessKey","input","trim","res","data","setting","title","description","setParams","setError","Typography","component","TextField","label","autoComplete","variant","fullWidth","autoFocus","style","marginBottom","margin","value","onChange","e","target","__disableConfirm","FormControl","width","InputLabel","Select","disabled","r","MenuItem","Box","maxWidth","fontSize","color","whiteSpace","textAlign","confirm","cancel","onCancel","Button","edge","onClick","className","Spinner","size","Add","defaultProps","ConfirmAccessKey","accessKeyId","accessKeySecret","checked","setChecked","hideAccessSecret","setHideAccessSecret","Dialog","open","disableEscapeKeyDown","onClose","showCloseButton","actions","Bold","marginTop","Item","Label","FormControlLabel","control","Checkbox","event","labelPlacement","styled","DeleteAccessKey","formatTime","time","onDelete","deleteAccessKey","console","error","keyName","key","formatToDatetime","timeAge","format","Date","formatLocale","confirmPlaceholder","UpdateAccessKey","onUpdate","updateAccessKey","Edit","AccessKey","api","useNodeContext","confirmInfo","setConfirmInfo","useAsyncRetry","getAccessKeys","response","list","Alert","severity","formatError","mb","permission","show","mt","Empty","AccessKeyList","p","VpnKey","fontWeight","minWidth","showDidLogo","createdAt","createdBy","updatedBy","lastUsedAt","theme","palette","grey","breakpoints","down","TeamPage","navigate","useNavigate","nodeInfo","info","useParams","tab","renderAuditLogs","renderMember","type","teamDid","tabConfigs","members","passports","Passports","AccessKeySettings","tabs","Object","values","tabConfig","member","Main","Tabs","newTab","scrollButtons","defineProperty","exports","ConfirmDialog","_templateObject","_react","require","_propTypes","_interopRequireDefault","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_context","_Button","_util","_mobileWidth","_jsxRuntime","obj","__esModule","default","_ref","showCancel","initialParams","setOpen","changeLocale","onCallback","cb","d","isBreakpointsDownSm","jsxs","StyledDialog","stopPropagation","fullScreen","children","jsx","padding","propTypes","any","isRequired","bool","string","object","func","strings","raw","slice","freeze","defineProperties","_styles","_default","useTheme","sm","_createSvgIcon","useAsyncFn","initialState","lastCallId","isMounted","mountedRef","get","useMountedState","set","callback","args","_i","arguments","callId","prevState","apply","then","EN_US","ZH_CN","Locales","register","SEC_ARRAY","toDate","isNaN","test","parseInt","replace","date","opts","sec","relativeDate","diffSec","diff","localeFunc","agoIn","totalSec","Math","abs","idx","floor","toString","formatDiff","getLocale","unit"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[7595],{70517:function(e,t,n){"use strict";n.d(t,{Z:function(){return r.default}});var r=n(8144)},22128:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r=n(33028),o=n(70054),i=n(35436),a=n(90042),c=n(42167),u=n(54258),l=n(70517),s=n(37574);function f(e){var t=e.title,n=e.description,f=e.confirmPlaceholder,d=e.cancel,p=e.confirm,m=e.params,h=e.onCancel,b=e.onConfirm,v=e.keyName,g=(0,c.useLocaleContext)().t,y={title:function(){return(0,s.jsxs)("div",{children:[t," (".concat(v,")")]})},description:function(e,t){return(0,s.jsxs)("div",{children:[(0,s.jsx)(a.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,s.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,s.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,s.jsx)(u.default,{"data-cy":"click-copy",children:v})]}),(0,s.jsx)(o.Z,{component:"div",children:(0,s.jsx)(i.Z,{label:f,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:function(n){var o;o=(0,r.Z)((0,r.Z)({},e),{},{inputVal:n.target.value,__disableConfirm:v!==n.target.value}),t((0,r.Z)((0,r.Z)({},o),{},{__disableConfirm:o.__disableConfirm}))}})})]})},confirm:p,cancel:d,onConfirm:b,onCancel:h,params:(0,r.Z)({inputVal:"",__disableConfirm:!0},m)};return(0,s.jsx)(l.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}f.defaultProps={onCancel:function(){},cancel:"",confirm:"Confirm",params:{}}},18721:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return v}});var r,o=n(71171),i=n(30969),a=n(19611),c=n.n(a),u=n(16380),l=n(70054),s=n(58165),f=n(78632),d=(n(23633),n(76129),n(42167)),p=n(5954),m=n(5907),h=n(978),b=n(37574);function v(){var e=(0,d.useLocaleContext)().t,t=(0,p.h6)().info.routing.adminPath,n=c()(window.location.origin,t),r=(0,i.useRef)(null);return(0,b.jsxs)(g,{children:[(0,b.jsxs)(f.Z,{separator:"\u203a","aria-label":"breadcrumb",className:"page-breadcrumb",children:[(0,b.jsx)(l.Z,{color:"textPrimary",children:e("common.store")}),(0,b.jsx)(h.Z,{ref:r})]}),(0,b.jsx)(s.Z,{className:"store-header",display:"flex",justifyContent:"space-between",p:0,m:0,children:(0,b.jsx)(l.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:e("store.headerDescription")})}),(0,b.jsx)(m.Z,{className:"blocklet-list",handleSearchSelect:function(e){var t=e.detailUrl,r=new URL(t);r.searchParams.set("server-url",n);var o=document.createElement("a");o.setAttribute("target","_blank"),o.setAttribute("href",r.href),o.click()}})]})}var g=u.default.main(r||(r=(0,o.Z)(["\n @media (max-width: ","px) {\n .store-header {\n flex-direction: column;\n margin-bottom: 32px !important;\n }\n\n .page-header {\n margin-bottom: 16px !important;\n }\n }\n .blocklet-list {\n aside:hover {\n height: calc(100vh - 235px);\n }\n }\n"])),(function(e){return e.theme.breakpoints.values.sm}))},17128:function(e,t,n){var r=n(44765).Buffer,o=n(64029).types,i=n(2073).toHex,a=n(54186).fromPublicKey;e.exports=function(e){var t=i(r.from("string"===typeof e?e.trim():e));return a(t,{role:o.RoleType.ROLE_ANY})}},1934:function(e,t,n){"use strict";var r=n(27609).default,o=n(91461).default;Object.defineProperty(t,"__esModule",{value:!0}),t.downloadExportedSource=function(e){return g.apply(this,arguments)},t.genExportedMeta=function(e,t){var n=(0,a.default)((0,i.default)(t.meta),(function(e){return null!==e}));return n.name=e,n.did=(0,f.default)(e),n.logo="logo.png",n.interfaces.forEach((function(e){e.services||delete e.services})),t.children.forEach((function(e){e.dynamic&&e.bundleSource&&n.children.push({name:e.meta.name,source:e.bundleSource,title:e.meta.title,mountPoint:e.mountPoint})})),n.environments=(t.configs||[]).map((function(e){return{name:e.key,description:"Automatically generated when exporting",required:!!e.required,secure:!!e.secure,default:e.secure?"":e.value||""}})),n.capabilities.component=!1,n},t.getLaunchURL=t.getLaunchAgreementUrl=void 0,t.getNameByTitle=function(e){return e.replace(/[\s/@_]/g,"-").replace(/[^a-zA-Z0-9_-]/g,"").replace(/(^[-\s]+)|([-\s]+$)/g,"").toLowerCase()};var i=p(n(74082)),a=p(n(35483)),c=p(n(39591)),u=p(n(94920)),l=p(n(21918)),s=p(n(19611)),f=p(n(17128)),d=n(9214);function p(e){return e&&e.__esModule?e:{default:e}}var m=function(e){return function(e){for(var t=window.atob(e),n=new Uint8Array(t.length),r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}((0,d.toDataURL)(e,{size:200}).replace(/^[^,]*,/,""))};var h=function(e){return"Copyright \xa9 2022 ".concat(e||"","\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \u201cSoftware\u201d), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \u201cAS IS\u201d, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.")},b=".DS_Store\n.blocklet",v="name: Deploy\n\non:\n push:\n branches:\n - main\n\njobs:\n Deploy:\n runs-on: ubuntu-latest\n\n steps:\n - name: Checkout repo\n uses: actions/checkout@v2\n\n - name: Blocklet workflow\n uses: blocklet/action-workflow@v1\n with:\n skip-upload: true\n skip-deploy: true\n bundle-command: blocklet bundle --create-release\n github-token: ${{ secrets.GITHUB_TOKEN }}";function g(){return g=o(r().mark((function e(t){var n,o,i,a,s,f,d=arguments;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>1&&void 0!==d[1]?d[1]:{},o=n.holder,i="".concat(t.name.split("/").pop()),a="# ".concat(t.title,"\n\n## Introduction\n\n").concat(t.description),s=new c.default,(f=s.folder(i)).file("blocklet.yml",u.default.dump(t)),f.file("blocklet.md",a),f.file("README.md",a),f.file("logo.png",m(t.did)),f.file("LICENSE",h(o)),f.file(".gitignore",b),f.folder("screenshots").file(".gitkeep",""),f.folder(".github").folder("workflows").file("main.yml",v),e.next=15,new Promise((function(e,t){s.generateAsync({type:"blob"}).then((function(t){(0,l.default)(t,"".concat(i,".zip")),e()})).catch((function(e){t(e)}))}));case 15:case"end":return e.stop()}}),e)}))),g.apply(this,arguments)}var y=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=t.routing.adminPath,o=n?encodeURIComponent((0,s.default)(window.location.origin,r)):(0,s.default)(window.location.origin,r),i=(0,s.default)(null===t||void 0===t?void 0:t.blockletRegistry,"/api/blocklets/".concat(e.did,"/blocklet.json"));return{serverUrl:o,metaUrl:i}};t.getLaunchURL=y;t.getLaunchAgreementUrl=function(e,t){var n=y(e,t),r=n.metaUrl,o=n.serverUrl,i=new URL((0,s.default)(o,"/launch-blocklet/agreement"));return i.searchParams.set("blocklet_meta_url",r),i.searchParams.set("from",window.location.href),i.href}},54258:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=m;var r=n(30969),o=l(n(24974)),i=l(n(86186)),a=n(42167),c=n(37574),u=["children"];function l(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(e){var t=e.children,n=p(e,u),o=(0,r.useContext)(a.LocaleContext).t;return(0,c.jsx)(i.default,f(f({tip:o("common.copyTip"),copiedTip:o("common.copiedTip")},n),{},{children:t}))}m.propTypes={children:o.default.any.isRequired}},8144:function(e,t,n){"use strict";var r=n(27609).default,o=n(91461).default,i=n(43681).default;Object.defineProperty(t,"__esModule",{value:!0}),t.default=j;var a,c=n(30969),u=E(n(24974)),l=E(n(16380)),s=E(n(52897)),f=E(n(61802)),d=E(n(24757)),p=E(n(45201)),m=E(n(85865)),h=E(n(52051)),b=E(n(95018)),v=E(n(94702)),g=E(n(87335)),y=n(42167),w=E(n(88029)),O=n(85710),T=E(n(78853)),x=n(37574);function E(e){return e&&e.__esModule?e:{default:e}}function j(e){var t=e.title,n=e.description,a=e.showCancel,u=e.cancel,l=e.confirm,s=e.color,E=e.params,j=e.onCancel,I=e.onConfirm,k=(0,c.useState)(E),N=i(k,2),R=N[0],S=N[1],P=(0,c.useState)(!0),Z=i(P,2),_=Z[0],A=Z[1],L=(0,c.useState)(!1),U=i(L,2),D=U[0],M=U[1],H=(0,c.useState)(""),F=i(H,2),W=F[0],B=F[1],V=(0,y.useLocaleContext)().t,Y=(0,v.default)(),z=function(){var e=o(r().mark((function e(t){return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!==typeof t){e.next=17;break}return M(!0),e.prev=2,e.next=5,t(R);case 5:A(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(2),B((0,O.formatError)(e.t0)),console.error(e.t0);case 12:return e.prev=12,M(!1),e.finish(12);case 15:e.next=18;break;case 17:A(!1);case 18:case"end":return e.stop()}}),e,null,[[2,8,12,15]])})));return function(t){return e.apply(this,arguments)}}(),G="function"===typeof t?t():t,q="function"===typeof n?n(R,S,B):n,K=(0,g.default)(Y.breakpoints.down("md")),$=(0,T.default)().minWidth;return(0,x.jsxs)(C,{onClick:function(e){e.stopPropagation()},fullScreen:K,open:_,style:{minWidth:$},children:[(0,x.jsx)(h.default,{children:G}),(0,x.jsxs)(p.default,{style:{minWidth:$},children:[(0,x.jsx)(m.default,{component:"div",children:q}),!!W&&(0,x.jsx)(b.default,{severity:"error",style:{width:"100%",marginTop:8},children:W})]}),(0,x.jsxs)(d.default,{className:"delete-actions",style:{padding:"8px 24px 24px"},children:[a&&(0,x.jsx)(w.default,{onClick:function(e){e.stopPropagation(),z(j)},color:"inherit","data-cy":"cancel-confirm-dialog",children:u||V("common.cancel")}),(0,x.jsxs)(w.default,{onClick:function(e){e.stopPropagation(),z(I)},color:s,disabled:R.__disableConfirm||D,variant:"contained","data-cy":"submit-confirm-dialog",autoFocus:!0,children:[D&&(0,x.jsx)(f.default,{size:[16,10]}),l]})]})]})}j.propTypes={title:u.default.any.isRequired,description:u.default.any.isRequired,showCancel:u.default.bool,cancel:u.default.string,color:u.default.string,confirm:u.default.string,params:u.default.object,onCancel:u.default.func,onConfirm:u.default.func.isRequired},j.defaultProps={onCancel:function(){},showCancel:!0,cancel:"",confirm:"Confirm",color:"error",params:{}};var I,k,C=(0,l.default)(s.default)(a||(I=["\n .delete-actions .Mui-disabled {\n color: rgba(0, 0, 0, 0.26) !important;\n box-shadow: none;\n background-color: rgba(0, 0, 0, 0.12) !important;\n }\n"],k||(k=I.slice(0)),a=Object.freeze(Object.defineProperties(I,{raw:{value:Object.freeze(k)}}))))},78853:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=n(28440),i=(r=n(87335))&&r.__esModule?r:{default:r};var a=function(){var e=(0,o.useTheme)();return{minWidth:(0,i.default)(e.breakpoints.down("md"))?300:e.breakpoints.values.sm}};t.default=a},23633:function(e,t,n){"use strict";var r=n(71600);t.Z=void 0;var o=r(n(48035)),i=n(37574),a=(0,o.default)((0,i.jsx)("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownwardSharp");t.Z=a},76129:function(e,t,n){"use strict";var r=n(71600);t.Z=void 0;var o=r(n(48035)),i=n(37574),a=(0,o.default)((0,i.jsx)("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpwardSharp");t.Z=a},76032:function(e,t,n){var r=n(43746),o=n(28342),i=n(32824),a=n(49756),c=n(66274),u=n(25377),l=n(91121),s=n(29239),f=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(c(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||s(e)||i(e)))return!e.length;var t=o(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(l(e))return!r(e).length;for(var n in e)if(f.call(e,n))return!1;return!0}},86539:function(){},33196:function(){},38087:function(){},8092:function(){},50936:function(){},66604:function(e,t,n){"use strict";n.d(t,{Z:function(){return b}});var r=n(32723),o=n(34795),i=n(33028),a=n(87371),c=n(9249),u=n(45754),l=n(13820),s=n(25991),f=function(e){(0,u.Z)(n,e);var t=(0,l.Z)(n);function n(e){var r;return(0,c.Z)(this,n),(r=t.call(this,e)).name="TimeoutError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),d=function(e){(0,u.Z)(n,e);var t=(0,l.Z)(n);function n(e){var r;return(0,c.Z)(this,n),(r=t.call(this)).name="AbortError",r.message=e,r}return(0,a.Z)(n)}((0,s.Z)(Error)),p=function(e){return void 0===globalThis.DOMException?new d(e):new DOMException(e)},m=function(e){var t=void 0===e.reason?p("This operation was aborted."):e.reason;return t instanceof Error?t:p(t)};function h(e,t,n,a){var c,u=new Promise((function(u,l){if("number"!==typeof t||1!==Math.sign(t))throw new TypeError("Expected `milliseconds` to be a positive number, got `".concat(t,"`"));if(t!==Number.POSITIVE_INFINITY){if((a=(0,i.Z)({customTimers:{setTimeout:setTimeout,clearTimeout:clearTimeout}},a)).signal){var s=a.signal;s.aborted&&l(m(s)),s.addEventListener("abort",(function(){l(m(s))}))}c=a.customTimers.setTimeout.call(void 0,(function(){if("function"!==typeof n){var r="string"===typeof n?n:"Promise timed out after ".concat(t," milliseconds"),o=n instanceof Error?n:new f(r);"function"===typeof e.cancel&&e.cancel(),l(o)}else try{u(n())}catch(i){l(i)}}),t),(0,o.Z)((0,r.Z)().mark((function t(){return(0,r.Z)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.t0=u,t.next=4,e;case 4:t.t1=t.sent,(0,t.t0)(t.t1),t.next=11;break;case 8:t.prev=8,t.t2=t.catch(0),l(t.t2);case 11:return t.prev=11,a.customTimers.clearTimeout.call(void 0,c),t.finish(11);case 14:case"end":return t.stop()}}),t,null,[[0,8,11,14]])})))()}else u(e)}));return u.clear=function(){clearTimeout(c),c=void 0},u}function b(e){return v.apply(this,arguments)}function v(){return v=(0,o.Z)((0,r.Z)().mark((function e(t){var n,i,a,c,u,l,s,f,d,p=arguments;return(0,r.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=p.length>1&&void 0!==p[1]?p[1]:{},i=n.interval,a=void 0===i?20:i,c=n.timeout,u=void 0===c?Number.POSITIVE_INFINITY:c,l=n.before,s=void 0===l||l,d=new Promise((function(e,n){var i=function(){var c=(0,o.Z)((0,r.Z)().mark((function o(){var c;return(0,r.Z)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,t();case 3:if("boolean"===typeof(c=r.sent)){r.next=6;break}throw new TypeError("Expected condition to return a boolean");case 6:!0===c?e():f=setTimeout(i,a),r.next=12;break;case 9:r.prev=9,r.t0=r.catch(0),n(r.t0);case 12:case"end":return r.stop()}}),o,null,[[0,9]])})));return function(){return c.apply(this,arguments)}}();s?i():f=setTimeout(i,a)})),u===Number.POSITIVE_INFINITY){e.next=14;break}return e.prev=4,e.next=7,h(d,u);case 7:return e.abrupt("return",e.sent);case 10:throw e.prev=10,e.t0=e.catch(4),f&&clearTimeout(f),e.t0;case 14:return e.abrupt("return",d);case 15:case"end":return e.stop()}}),e,null,[[4,10]])}))),v.apply(this,arguments)}}}]);
|
|
2
|
+
//# sourceMappingURL=7595.2d41497d.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/js/7595.2d41497d.chunk.js","mappings":"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","sources":["components/delete-confirm.js","pages/store/index.js","../../../blocklet/meta/lib/did.js","../../ux/lib/blocklet/util.js","../../ux/lib/click-to-copy.js","../../ux/lib/confirm.js","../../ux/lib/hooks/mobile-width.js","../../../node_modules/@mui/icons-material/ArrowDownwardSharp.js","../../../node_modules/@mui/icons-material/ArrowUpwardSharp.js","../../../node_modules/lodash/isEmpty.js","../node_modules/p-timeout/index.js","../node_modules/p-wait-for/index.js"],"sourcesContent":["/* eslint-disable react/no-unstable-nested-components */\n/* eslint-disable react/no-danger */\n/* eslint-disable react/prop-types */\nimport PropTypes from 'prop-types';\n\nimport Typography from '@mui/material/Typography';\nimport TextField from '@mui/material/TextField';\n\nimport Alert from '@mui/material/Alert';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport ClickToCopy from '@abtnode/ux/lib/click-to-copy';\n\nimport Confirm from './confirm';\n\nexport default function CancelConfirm({\n title,\n description,\n confirmPlaceholder,\n cancel,\n confirm,\n params: initialParams,\n onCancel,\n onConfirm,\n keyName,\n}) {\n const { t } = useLocaleContext();\n\n const confirmSetting = {\n title: () => (\n <div>\n {title}\n {` (${keyName})`}\n </div>\n ),\n description: (params, setParams) => {\n const setValue = value => {\n // eslint-disable-next-line no-underscore-dangle\n setParams({ ...value, __disableConfirm: value.__disableConfirm });\n };\n\n return (\n <div>\n <Alert severity=\"warning\" style={{ width: '100%' }}>\n {t('common.notice')}\n </Alert>\n <div style={{ marginTop: 24, marginBottom: 24 }} dangerouslySetInnerHTML={{ __html: description }} />\n <div style={{ marginBottom: 24 }}>\n {t('common.click')}:<ClickToCopy data-cy=\"click-copy\">{keyName}</ClickToCopy>\n </div>\n <Typography component=\"div\">\n <TextField\n label={confirmPlaceholder}\n autoComplete=\"off\"\n data-cy=\"delete-confirm-input\"\n variant=\"outlined\"\n fullWidth\n autoFocus\n value={params.inputVal}\n onChange={e => {\n setValue({ ...params, inputVal: e.target.value, __disableConfirm: keyName !== e.target.value });\n }}\n />\n </Typography>\n </div>\n );\n },\n confirm,\n cancel,\n onConfirm,\n onCancel,\n params: {\n inputVal: '',\n __disableConfirm: true,\n ...initialParams,\n },\n };\n\n return (\n <Confirm\n title={confirmSetting.title}\n description={confirmSetting.description}\n confirm={confirmSetting.confirm}\n cancel={confirmSetting.cancel}\n params={confirmSetting.params}\n onConfirm={confirmSetting.onConfirm}\n onCancel={confirmSetting.onCancel}\n />\n );\n}\n\nCancelConfirm.propTypes = {\n title: PropTypes.any.isRequired,\n keyName: PropTypes.any.isRequired,\n description: PropTypes.any.isRequired, // can be a function that renders different content based on params\n confirmPlaceholder: PropTypes.any.isRequired,\n cancel: PropTypes.string,\n confirm: PropTypes.string,\n params: PropTypes.object, // This object holds states managed in the dialog\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func.isRequired,\n};\n\nCancelConfirm.defaultProps = {\n onCancel: () => {},\n cancel: '',\n confirm: 'Confirm',\n params: {},\n};\n","/* eslint-disable react/jsx-one-expression-per-line */\n/* eslint-disable operator-linebreak */\nimport { useRef } from 'react';\nimport joinURL from 'url-join';\nimport styled from '@emotion/styled';\nimport PropTypes from 'prop-types';\n\nimport Typography from '@mui/material/Typography';\nimport Box from '@mui/material/Box';\nimport Breadcrumbs from '@mui/material/Breadcrumbs';\nimport ArrowDownwardSharpIcon from '@mui/icons-material/ArrowDownwardSharp';\nimport ArrowUpwardSharpIcon from '@mui/icons-material/ArrowUpwardSharp';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport { useNodeContext } from '../../contexts/node';\nimport BlockletList from '../../components/blocklet/list';\nimport SwitchBlockletRegistry from '../../components/registry/switch';\n\nfunction SortIcon({ direction }) {\n return direction === 'desc' ? <ArrowDownwardSharpIcon /> : <ArrowUpwardSharpIcon />;\n}\n\nSortIcon.propTypes = {\n direction: PropTypes.string,\n};\nSortIcon.defaultProps = {\n direction: 'asc',\n};\n\nexport default function BlockletStore() {\n const { t } = useLocaleContext();\n const { info } = useNodeContext();\n\n const adminPath = process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';\n const serverUrl = joinURL(window.location.origin, adminPath);\n const handleSearchSelect = ({ detailUrl }) => {\n const tmp = new URL(detailUrl);\n tmp.searchParams.set('server-url', serverUrl);\n const aEle = document.createElement('a');\n aEle.setAttribute('target', '_blank');\n aEle.setAttribute('href', tmp.href);\n aEle.click();\n };\n\n const switchEl = useRef(null);\n\n return (\n <Main>\n <Breadcrumbs separator=\"›\" aria-label=\"breadcrumb\" className=\"page-breadcrumb\">\n <Typography color=\"textPrimary\">{t('common.store')}</Typography>\n <SwitchBlockletRegistry ref={switchEl} />\n </Breadcrumbs>\n <Box className=\"store-header\" display=\"flex\" justifyContent=\"space-between\" p={0} m={0}>\n <Typography component=\"h2\" variant=\"h4\" className=\"page-header\" color=\"textPrimary\">\n {t('store.headerDescription')}\n </Typography>\n </Box>\n <BlockletList className=\"blocklet-list\" handleSearchSelect={handleSearchSelect} />\n </Main>\n );\n}\n\nconst Main = styled.main`\n @media (max-width: ${props => props.theme.breakpoints.values.sm}px) {\n .store-header {\n flex-direction: column;\n margin-bottom: 32px !important;\n }\n\n .page-header {\n margin-bottom: 16px !important;\n }\n }\n .blocklet-list {\n aside:hover {\n height: calc(100vh - 235px);\n }\n }\n`;\n","const { types } = require('@ocap/mcrypto');\nconst { toHex } = require('@ocap/util');\nconst { fromPublicKey } = require('@arcblock/did');\n\nconst toBlockletDid = (name) => {\n const pk = toHex(Buffer.from(typeof name === 'string' ? name.trim() : name));\n return fromPublicKey(pk, { role: types.RoleType.ROLE_ANY });\n};\n\nmodule.exports = toBlockletDid;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.downloadExportedSource = downloadExportedSource;\nexports.genExportedMeta = genExportedMeta;\nexports.getLaunchURL = exports.getLaunchAgreementUrl = void 0;\nexports.getNameByTitle = getNameByTitle;\nvar _cloneDeep = _interopRequireDefault(require(\"lodash/cloneDeep\"));\nvar _pickBy = _interopRequireDefault(require(\"lodash/pickBy\"));\nvar _jszip = _interopRequireDefault(require(\"jszip\"));\nvar _jsYaml = _interopRequireDefault(require(\"js-yaml\"));\nvar _fileSaver = _interopRequireDefault(require(\"file-saver\"));\nvar _urlJoin = _interopRequireDefault(require(\"url-join\"));\nvar _did = _interopRequireDefault(require(\"@blocklet/meta/lib/did\"));\nvar _didMotif = require(\"@arcblock/did-motif\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nconst base64ToArrayBuffer = base64 => {\n const bufStr = window.atob(base64);\n const bytes = new Uint8Array(bufStr.length);\n for (let i = 0; i < bufStr.length; i++) {\n bytes[i] = bufStr.charCodeAt(i);\n }\n return bytes;\n};\nconst getLogo = did => {\n const url = (0, _didMotif.toDataURL)(did, {\n size: 200\n });\n const base64 = url.replace(/^[^,]*,/, '');\n return base64ToArrayBuffer(base64);\n};\nfunction getNameByTitle(title) {\n return title.replace(/[\\s/@_]/g, '-').replace(/[^a-zA-Z0-9_-]/g, '').replace(/(^[-\\s]+)|([-\\s]+$)/g, '').toLowerCase();\n}\nfunction genExportedMeta(name, blocklet) {\n const meta = (0, _pickBy.default)((0, _cloneDeep.default)(blocklet.meta), x => x !== null);\n meta.name = name;\n meta.did = (0, _did.default)(name);\n meta.logo = 'logo.png';\n meta.interfaces.forEach(x => {\n // filter null or undefined\n if (!x.services) {\n delete x.services;\n }\n });\n blocklet.children.forEach(child => {\n if (child.dynamic && child.bundleSource) {\n meta.children.push({\n name: child.meta.name,\n source: child.bundleSource,\n title: child.meta.title,\n mountPoint: child.mountPoint\n });\n }\n });\n meta.environments = (blocklet.configs || []).map(x => ({\n name: x.key,\n description: 'Automatically generated when exporting',\n required: !!x.required,\n secure: !!x.secure,\n default: x.secure ? '' : x.value || ''\n }));\n meta.capabilities.component = false;\n return meta;\n}\nconst license = holder => \"Copyright \\xA9 2022 \".concat(holder || '', \"\\n\\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\u201CSoftware\\u201D), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\\n\\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\\n\\nTHE SOFTWARE IS PROVIDED \\u201CAS IS\\u201D, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\");\nconst Gitignore = \".DS_Store\\n.blocklet\";\nconst GithubAction = \"name: Deploy\\n\\non:\\n push:\\n branches:\\n - main\\n\\njobs:\\n Deploy:\\n runs-on: ubuntu-latest\\n\\n steps:\\n - name: Checkout repo\\n uses: actions/checkout@v2\\n\\n - name: Blocklet workflow\\n uses: blocklet/action-workflow@v1\\n with:\\n skip-upload: true\\n skip-deploy: true\\n bundle-command: blocklet bundle --create-release\\n github-token: ${{ secrets.GITHUB_TOKEN }}\";\nasync function downloadExportedSource(meta) {\n let {\n holder\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const folderName = \"\".concat(meta.name.split('/').pop());\n const readme = \"# \".concat(meta.title, \"\\n\\n## Introduction\\n\\n\").concat(meta.description);\n const zip = new _jszip.default();\n const folder = zip.folder(folderName);\n folder.file('blocklet.yml', _jsYaml.default.dump(meta));\n folder.file('blocklet.md', readme);\n folder.file('README.md', readme);\n folder.file('logo.png', getLogo(meta.did));\n folder.file('LICENSE', license(holder));\n folder.file('.gitignore', Gitignore);\n folder.folder('screenshots').file('.gitkeep', '');\n folder.folder('.github').folder('workflows').file('main.yml', GithubAction);\n await new Promise((resolve, reject) => {\n zip.generateAsync({\n type: 'blob'\n }).then(content => {\n (0, _fileSaver.default)(content, \"\".concat(folderName, \".zip\"));\n resolve();\n }).catch(err => {\n reject(err);\n });\n });\n}\nconst getLaunchURL = function getLaunchURL(meta, info) {\n let encodeURI = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n const adminPath = process.env.NODE_ENV === 'production' ? info.routing.adminPath : '';\n const serverUrl = encodeURI ? encodeURIComponent((0, _urlJoin.default)(window.location.origin, adminPath)) : (0, _urlJoin.default)(window.location.origin, adminPath);\n const metaUrl = (0, _urlJoin.default)(info === null || info === void 0 ? void 0 : info.blockletRegistry, \"/api/blocklets/\".concat(meta.did, \"/blocklet.json\"));\n return {\n serverUrl,\n metaUrl\n };\n};\nexports.getLaunchURL = getLaunchURL;\nconst getLaunchAgreementUrl = (meta, info) => {\n const {\n metaUrl,\n serverUrl\n } = getLaunchURL(meta, info);\n const url = new URL((0, _urlJoin.default)(serverUrl, '/launch-blocklet/agreement'));\n url.searchParams.set('blocklet_meta_url', metaUrl);\n url.searchParams.set('from', window.location.href);\n return url.href;\n};\nexports.getLaunchAgreementUrl = getLaunchAgreementUrl;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ClickToCopy;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _ClickToCopy = _interopRequireDefault(require(\"@arcblock/ux/lib/ClickToCopy\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nconst _excluded = [\"children\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ClickToCopy(_ref) {\n let {\n children\n } = _ref,\n rest = _objectWithoutProperties(_ref, _excluded);\n const {\n t\n } = (0, _react.useContext)(_context.LocaleContext);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickToCopy.default, _objectSpread(_objectSpread({\n tip: t('common.copyTip'),\n copiedTip: t('common.copiedTip')\n }, rest), {}, {\n children: children\n }));\n}\nClickToCopy.propTypes = {\n children: _propTypes.default.any.isRequired\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ConfirmDialog;\nvar _react = require(\"react\");\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _Dialog = _interopRequireDefault(require(\"@mui/material/Dialog\"));\nvar _Spinner = _interopRequireDefault(require(\"@arcblock/ux/lib/Spinner\"));\nvar _DialogActions = _interopRequireDefault(require(\"@mui/material/DialogActions\"));\nvar _DialogContent = _interopRequireDefault(require(\"@mui/material/DialogContent\"));\nvar _DialogContentText = _interopRequireDefault(require(\"@mui/material/DialogContentText\"));\nvar _DialogTitle = _interopRequireDefault(require(\"@mui/material/DialogTitle\"));\nvar _Alert = _interopRequireDefault(require(\"@mui/material/Alert\"));\nvar _useTheme = _interopRequireDefault(require(\"@mui/material/styles/useTheme\"));\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Button = _interopRequireDefault(require(\"@arcblock/ux/lib/Button\"));\nvar _util = require(\"./util\");\nvar _mobileWidth = _interopRequireDefault(require(\"./hooks/mobile-width\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\nfunction ConfirmDialog(_ref) {\n let {\n title,\n description,\n showCancel,\n cancel,\n confirm,\n color,\n params: initialParams,\n onCancel,\n onConfirm\n } = _ref;\n const [params, setParams] = (0, _react.useState)(initialParams);\n const [open, setOpen] = (0, _react.useState)(true);\n const [loading, setLoading] = (0, _react.useState)(false);\n const [error, setError] = (0, _react.useState)('');\n const {\n t: changeLocale\n } = (0, _context.useLocaleContext)();\n const theme = (0, _useTheme.default)();\n const onCallback = async cb => {\n if (typeof cb === 'function') {\n setLoading(true);\n try {\n await cb(params);\n setOpen(false);\n } catch (err) {\n setError((0, _util.formatError)(err));\n console.error(err);\n } finally {\n setLoading(false);\n }\n } else {\n setOpen(false);\n }\n };\n const t = typeof title === 'function' ? title() : title;\n const d = typeof description === 'function' ? description(params, setParams, setError) : description;\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const handleClick = e => {\n e.stopPropagation();\n };\n const {\n minWidth\n } = (0, _mobileWidth.default)();\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledDialog, {\n onClick: handleClick,\n fullScreen: isBreakpointsDownSm,\n open: open,\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogTitle.default, {\n children: t\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogContent.default, {\n style: {\n minWidth\n },\n children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_DialogContentText.default, {\n component: \"div\",\n children: d\n }), !!error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {\n severity: \"error\",\n style: {\n width: '100%',\n marginTop: 8\n },\n children: error\n })]\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DialogActions.default, {\n className: \"delete-actions\",\n style: {\n padding: '8px 24px 24px'\n },\n children: [showCancel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onCancel);\n },\n color: \"inherit\",\n \"data-cy\": \"cancel-confirm-dialog\",\n children: cancel || changeLocale('common.cancel')\n }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {\n onClick: e => {\n e.stopPropagation();\n onCallback(onConfirm);\n },\n color: color\n // eslint-disable-next-line no-underscore-dangle\n ,\n disabled: params.__disableConfirm || loading,\n variant: \"contained\",\n \"data-cy\": \"submit-confirm-dialog\",\n autoFocus: true,\n children: [loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {\n size: [16, 10]\n }), confirm]\n })]\n })]\n });\n}\nConfirmDialog.propTypes = {\n title: _propTypes.default.any.isRequired,\n description: _propTypes.default.any.isRequired,\n // can be a function that renders different content based on params\n showCancel: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n color: _propTypes.default.string,\n confirm: _propTypes.default.string,\n params: _propTypes.default.object,\n // This object holds states managed in the dialog\n onCancel: _propTypes.default.func,\n onConfirm: _propTypes.default.func.isRequired\n};\nConfirmDialog.defaultProps = {\n onCancel: () => {},\n showCancel: true,\n cancel: '',\n confirm: 'Confirm',\n color: 'error',\n params: {}\n};\nconst StyledDialog = (0, _styled.default)(_Dialog.default)(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n .delete-actions .Mui-disabled {\\n color: rgba(0, 0, 0, 0.26) !important;\\n box-shadow: none;\\n background-color: rgba(0, 0, 0, 0.12) !important;\\n }\\n\"])));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _styles = require(\"@mui/styles\");\nvar _useMediaQuery = _interopRequireDefault(require(\"@mui/material/useMediaQuery\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction useMobileWidth() {\n const theme = (0, _styles.useTheme)();\n const isBreakpointsDownSm = (0, _useMediaQuery.default)(theme.breakpoints.down('md'));\n const minWidth = isBreakpointsDownSm ? 300 : theme.breakpoints.values.sm;\n return {\n minWidth\n };\n}\nvar _default = useMobileWidth;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n}), 'ArrowDownwardSharp');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\"\n}), 'ArrowUpwardSharp');\n\nexports.default = _default;","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","export class TimeoutError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'TimeoutError';\n\t}\n}\n\n/**\nAn error to be thrown when the request is aborted by AbortController.\nDOMException is thrown instead of this Error when DOMException is available.\n*/\nexport class AbortError extends Error {\n\tconstructor(message) {\n\t\tsuper();\n\t\tthis.name = 'AbortError';\n\t\tthis.message = message;\n\t}\n}\n\n/**\nTODO: Remove AbortError and just throw DOMException when targeting Node 18.\n*/\nconst getDOMException = errorMessage => globalThis.DOMException === undefined ?\n\tnew AbortError(errorMessage) :\n\tnew DOMException(errorMessage);\n\n/**\nTODO: Remove below function and just 'reject(signal.reason)' when targeting Node 18.\n*/\nconst getAbortedReason = signal => {\n\tconst reason = signal.reason === undefined ?\n\t\tgetDOMException('This operation was aborted.') :\n\t\tsignal.reason;\n\n\treturn reason instanceof Error ? reason : getDOMException(reason);\n};\n\nexport default function pTimeout(promise, milliseconds, fallback, options) {\n\tlet timer;\n\n\tconst cancelablePromise = new Promise((resolve, reject) => {\n\t\tif (typeof milliseconds !== 'number' || Math.sign(milliseconds) !== 1) {\n\t\t\tthrow new TypeError(`Expected \\`milliseconds\\` to be a positive number, got \\`${milliseconds}\\``);\n\t\t}\n\n\t\tif (milliseconds === Number.POSITIVE_INFINITY) {\n\t\t\tresolve(promise);\n\t\t\treturn;\n\t\t}\n\n\t\toptions = {\n\t\t\tcustomTimers: {setTimeout, clearTimeout},\n\t\t\t...options\n\t\t};\n\n\t\tif (options.signal) {\n\t\t\tconst {signal} = options;\n\t\t\tif (signal.aborted) {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t}\n\n\t\t\tsignal.addEventListener('abort', () => {\n\t\t\t\treject(getAbortedReason(signal));\n\t\t\t});\n\t\t}\n\n\t\ttimer = options.customTimers.setTimeout.call(undefined, () => {\n\t\t\tif (typeof fallback === 'function') {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(fallback());\n\t\t\t\t} catch (error) {\n\t\t\t\t\treject(error);\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst message = typeof fallback === 'string' ? fallback : `Promise timed out after ${milliseconds} milliseconds`;\n\t\t\tconst timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);\n\n\t\t\tif (typeof promise.cancel === 'function') {\n\t\t\t\tpromise.cancel();\n\t\t\t}\n\n\t\t\treject(timeoutError);\n\t\t}, milliseconds);\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tresolve(await promise);\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t} finally {\n\t\t\t\toptions.customTimers.clearTimeout.call(undefined, timer);\n\t\t\t}\n\t\t})();\n\t});\n\n\tcancelablePromise.clear = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = undefined;\n\t};\n\n\treturn cancelablePromise;\n}\n","import pTimeout from 'p-timeout';\n\nexport default async function pWaitFor(condition, options = {}) {\n\tconst {\n\t\tinterval = 20,\n\t\ttimeout = Number.POSITIVE_INFINITY,\n\t\tbefore = true\n\t} = options;\n\n\tlet retryTimeout;\n\n\tconst promise = new Promise((resolve, reject) => {\n\t\tconst check = async () => {\n\t\t\ttry {\n\t\t\t\tconst value = await condition();\n\n\t\t\t\tif (typeof value !== 'boolean') {\n\t\t\t\t\tthrow new TypeError('Expected condition to return a boolean');\n\t\t\t\t}\n\n\t\t\t\tif (value === true) {\n\t\t\t\t\tresolve();\n\t\t\t\t} else {\n\t\t\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\n\t\tif (before) {\n\t\t\tcheck();\n\t\t} else {\n\t\t\tretryTimeout = setTimeout(check, interval);\n\t\t}\n\t});\n\n\tif (timeout !== Number.POSITIVE_INFINITY) {\n\t\ttry {\n\t\t\treturn await pTimeout(promise, timeout);\n\t\t} catch (error) {\n\t\t\tif (retryTimeout) {\n\t\t\t\tclearTimeout(retryTimeout);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\treturn promise;\n}\n\nexport {TimeoutError} from 'p-timeout';\n"],"names":["CancelConfirm","title","description","confirmPlaceholder","cancel","confirm","initialParams","params","onCancel","onConfirm","keyName","t","useLocaleContext","confirmSetting","setParams","severity","style","width","marginTop","marginBottom","dangerouslySetInnerHTML","__html","component","label","autoComplete","variant","fullWidth","autoFocus","value","inputVal","onChange","e","target","__disableConfirm","defaultProps","BlockletStore","adminPath","useNodeContext","info","routing","serverUrl","joinURL","window","location","origin","switchEl","useRef","Main","separator","className","color","ref","display","justifyContent","p","m","handleSearchSelect","detailUrl","tmp","URL","searchParams","set","aEle","document","createElement","setAttribute","href","click","styled","props","theme","breakpoints","values","sm","types","require","toHex","fromPublicKey","module","exports","name","pk","Buffer","from","trim","role","RoleType","ROLE_ANY","Object","defineProperty","downloadExportedSource","genExportedMeta","blocklet","meta","_pickBy","default","_cloneDeep","x","did","_did","logo","interfaces","forEach","services","children","child","dynamic","bundleSource","push","source","mountPoint","environments","configs","map","key","required","secure","capabilities","getLaunchURL","getLaunchAgreementUrl","getNameByTitle","replace","toLowerCase","_interopRequireDefault","_jszip","_jsYaml","_fileSaver","_urlJoin","_didMotif","obj","__esModule","getLogo","base64","bufStr","atob","bytes","Uint8Array","length","i","charCodeAt","base64ToArrayBuffer","toDataURL","size","license","holder","concat","Gitignore","GithubAction","undefined","folderName","split","pop","readme","zip","folder","file","dump","Promise","resolve","reject","generateAsync","type","then","content","catch","err","encodeURI","arguments","encodeURIComponent","metaUrl","blockletRegistry","url","ClickToCopy","_react","_propTypes","_ClickToCopy","_context","_jsxRuntime","_excluded","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_ref","rest","useContext","LocaleContext","jsx","tip","copiedTip","propTypes","any","isRequired","ConfirmDialog","_templateObject","_styled","_Dialog","_Spinner","_DialogActions","_DialogContent","_DialogContentText","_DialogTitle","_Alert","_useTheme","_useMediaQuery","_Button","_util","_mobileWidth","showCancel","useState","open","setOpen","loading","setLoading","error","setError","changeLocale","onCallback","cb","formatError","console","d","isBreakpointsDownSm","down","minWidth","jsxs","StyledDialog","onClick","stopPropagation","fullScreen","padding","disabled","bool","string","func","strings","raw","slice","freeze","_styles","_default","useTheme","_createSvgIcon","baseKeys","getTag","isArguments","isArray","isArrayLike","isBuffer","isPrototype","isTypedArray","hasOwnProperty","splice","tag","TimeoutError","message","Error","AbortError","getDOMException","errorMessage","globalThis","DOMException","getAbortedReason","signal","reason","pTimeout","promise","milliseconds","fallback","options","timer","cancelablePromise","Math","sign","TypeError","Number","POSITIVE_INFINITY","customTimers","setTimeout","clearTimeout","aborted","addEventListener","timeoutError","clear","pWaitFor","condition","interval","timeout","before","check","retryTimeout"],"sourceRoot":""}
|