@abtnode/blocklet-services 1.8.35 → 1.8.36

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.
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_abtnode_blocklet_services=self.webpackChunk_abtnode_blocklet_services||[]).push([[729],{97729:function(e,n,t){t.r(n),t.d(n,{default:function(){return un}});var r,o=t(71171),i=t(33028),a=t(32723),s=t(34795),c=t(30969),l=t(30734),u=t(16380),d=t(19611),p=t.n(d),f=t(54470),h=t(58165),m=t(90445),x=t(71464),g=t(71901),v=t(42167),b=t(61802),j=t(56229),y=t(19006),k=t(47650),Z=t(20244),w=t(7017),C=t(59505),S=t(38507),O=t(18757),P=t(4485),E=t(7284),L=t(54177),N=t(37574);function T(e){var n=e.onNext,t=(0,v.useLocaleContext)(),r=t.t,o=t.locale,i=(0,P.Tt)(),c=i.api,l=i.session,u=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(t,r){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(0,S.ZB)(r(t.sessionToken)),e.prev=1,e.next=4,l.refresh();case 4:n(),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),L.default.error(e.t0.message);case 10:case"end":return e.stop()}}),e,null,[[1,7]])})));return function(n,t){return e.apply(this,arguments)}}();return(0,N.jsx)(I,{popup:!0,open:!0,hideCloseButton:!0,action:"setup",checkFn:c.get,checkTimeout:6e5,socketUrl:c.socketUrl,webWalletUrl:(0,S.yP)(),onSuccess:u,locale:o,messages:{title:r("setup.connect.title"),scan:r("setup.connect.scan"),confirm:r("setup.connect.confirm"),success:r("setup.connect.success")},extraParams:{setup:!0,launchType:(0,S.tX)("launch_type")}})}T.defaultProps={onNext:function(){}};var _,A,B,I=(0,u.default)(E.default)(r||(r=(0,o.Z)(["\n .action-info-desc {\n padding: 0 72px;\n }\n"]))),W=t(59740),R=t(68079),D=t(96234),U=t(88674),F=t.n(U),K=t(12700),z=t.n(K),M=t(43260),q=t.n(M),G=t(79476),H=t(65063),Y=t(47768),X=t(65724),V=t(98465),Q=(0,u.default)(V.Z)(_||(_=(0,o.Z)(["\n display: flex;\n flex-direction: column;\n padding-bottom: 16px;\n "," {\n padding-top: 34px;\n padding-bottom: 34px;\n }\n .header {\n width: 100%;\n margin-bottom: 34px;\n "," {\n margin-bottom: 64px;\n }\n }\n .container-main {\n position: relative;\n flex: 1;\n width: 100%;\n }\n .container-inner {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n overflow-y: auto;\n }\n"])),(function(e){return e.theme.breakpoints.up("md")}),(function(e){return e.theme.breakpoints.up("md")})),$=t(88029);function J(e){var n=e.blocklet,t=e.onStartNow,r=e.children,o=e.disabled,i=(0,v.useLocaleContext)().t;return!n||(0,S.bg)(n.meta)?(0,N.jsx)(ee,{children:r}):(0,N.jsxs)(ne,{children:[(0,N.jsx)($.default,{className:"start-now",variant:"contained",color:"primary",disabled:o,onClick:function(){return t()},children:i("setup.startNow")}),(0,N.jsx)(h.Z,{display:"flex",alignItems:"center",children:r})]})}J.defaultProps={blocklet:null,onStartNow:function(){},children:null,disabled:!1};var ee=(0,u.default)(h.Z)(A||(A=(0,o.Z)(["\n padding-top: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n .bottom-button {\n min-width: 200px;\n }\n "," {\n .bottom-button {\n min-width: 150px;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")})),ne=(0,u.default)(h.Z)(B||(B=(0,o.Z)(["\n padding-bottom: 48px;\n padding-top: 24px;\n margin: 0 auto;\n width: 80%;\n display: flex;\n align-items: center;\n justify-content: space-around;\n .start-now {\n min-width: 140px;\n }\n .bottom-button {\n min-width: 120px;\n }\n "," {\n width: 100%;\n }\n\n "," {\n .start-now {\n min-width: 100px;\n }\n .bottom-button {\n min-width: 80px;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("lg")}),(function(e){return e.theme.breakpoints.down("md")})),te=t(33665);function re(e){var n=Object.assign({},((0,te.Z)(e),e));return(0,N.jsx)($.default,(0,i.Z)({className:"bottom-button",variant:"contained",color:"primary"},n))}var oe=["childDid"],ie=["value"];function ae(e){var n=e.onNext,t=e.onPrevious,r=(0,g.Z)((function(e){return e.breakpoints.down("md")})),o=(0,v.useLocaleContext)().t,l=(0,c.useState)(!1),u=(0,D.Z)(l,2),d=u[0],p=u[1],f=(0,c.useState)(null),m=(0,D.Z)(f,2),x=m[0],b=m[1],j=(0,O.y0)(),y=j.blocklet,k=j.actions,Z=(y.configs||[]).filter((function(e){return!X.BLOCKLET_CONFIGURABLE_KEY[e.key]})),C=y.environments.find((function(e){return"BLOCKLET_PASSPORT_COLOR"===e.key})),S=[{key:X.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,description:o("blocklet.config.name"),value:y.environments.find((function(e){return"BLOCKLET_APP_NAME"===e.key})).value,custom:!0},{key:X.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,description:o("blocklet.config.description"),value:y.environments.find((function(e){return"BLOCKLET_APP_DESCRIPTION"===e.key})).value,custom:!0},{key:X.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,description:o("blocklet.config.passportColor"),value:C?C.value:"auto",custom:!0,componentType:"passport",componentProps:{blocklet:y}}],P=[];(0,w.forEachChildSync)(y,(function(e,n){var t=n.ancestors.slice(1).map((function(e){return e.meta.did}));P.push((e.configs||[]).map((function(n){return(0,i.Z)((0,i.Z)({},n),{},{childDid:t.concat(e.meta.did)})})))}));var E=z()(q()([].concat((0,R.Z)(Z),P)),"key").filter((function(e){return!!e.key})).sort((function(e,n){return e.required&&!n.required?-1:n.required&&!e.required?1:0})),T=(0,w.getAppMissingConfigs)(y).length,_=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t,r,o;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=x.childDid,r=(0,W.Z)(x,oe),o=[(0,i.Z)((0,i.Z)({},F()(r,["componentType","componentProps"])),{},{value:n})],e.prev=2,p(!0),e.next=6,k.configBlocklet({configs:o,childDid:t});case 6:e.next=11;break;case 8:e.prev=8,e.t0=e.catch(2),L.default.error(e.t0.message);case 11:return e.prev=11,p(!1),e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[2,8,11,14]])})));return function(n){return e.apply(this,arguments)}}(),A={},B=[].concat(S,(0,R.Z)(E)).map((function(e){var n=e.value,t=(0,W.Z)(e,ie);return A[e.key]=n,(0,i.Z)({},t)}));return(0,N.jsxs)(Q,{children:[(0,N.jsx)("div",{className:"header",style:{marginBottom:16},children:(0,N.jsx)(Y.Z,{title:o("setup.config.title"),subTitle:o("setup.config.subTitle"),onClickBack:function(){t()}})}),(0,N.jsx)("div",{className:"container-main",children:(0,N.jsx)("div",{className:"container-inner",children:(0,N.jsx)(H.Z,{bottom:(0,N.jsx)(J,{mt:8,disabled:d||x,blocklet:y,onStartNow:function(){return n("complete")},children:(0,N.jsx)(h.Z,{display:"flex",alignItems:"center",children:(0,N.jsx)(re,{disabled:d||T||x,onClick:function(){k.refreshFuel({showError:!1}),n()},children:o("setup.next")})})}),children:(0,N.jsx)(G.default,{style:{margin:"0 auto 20px",paddingTop:r?0:38},loading:d,schema:B,defaultValue:A,onChange:function(e,n){var t=n.action,r=n.currentItem;"edit"===t?b(r):["cancel","confirm"].includes(t)&&b(null),"confirm"===t&&_(e[r.key])}})})})})]})}ae.defaultProps={onNext:function(){},onPrevious:function(){}};var se,ce,le=t(35436),ue=t(50576),de=t(95803),pe=t.n(de),fe=t(70054),he=t(48952);function me(e){var n,t,r,o=e.onNext,l=e.onPrevious,u=(0,c.useContext)(v.LocaleContext),d=u.t,f=u.locale,m=(0,c.useState)(""),x=(0,D.Z)(m,1)[0],g=(0,c.useState)(!1),b=(0,D.Z)(g,2),j=b[0],y=b[1],k=(0,O.y0)(),Z=k.blocklet,w=k.meta,S=(0,c.useState)((null===(n=Z.environments.find((function(e){return e.key===C.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_STORAGE_ENDPOINT})))||void 0===n?void 0:n.value)||""),P=(0,D.Z)(S,2),T=P[0],_=P[1],A=(0,c.useState)("https://storage.staging.abtnet.io/app"),B=(0,D.Z)(A,2),I=B[0],W=B[1],R=window.blocklet,U=R.appId,F=R.appName,K=R.appDescription;function z(e,n){return M.apply(this,arguments)}function M(){return(M=(0,s.Z)((0,a.Z)().mark((function e(n,t){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,he.Z.configBlocklet({input:{did:[n],configs:[{key:C.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_STORAGE_ENDPOINT,value:t}]}}).then((function(){L.default.success(d("setup.didStorage.getStorageAuthorizeSuccessfully",f))})).catch((function(e){console.error(e),L.default.error(e.message)}));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var q=(0,c.useState)({open:!1,action:"one-click-authorization",checkTimeout:3e5,checkFn:pe().create({baseURL:p()(I,"storage")}).get,onSuccess:function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n,t){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return _(t(n.endpoint)),e.next=3,z(Z.meta.did,t(n.endpoint));case 3:setTimeout((function(){X((function(e){return(0,i.Z)((0,i.Z)({},e),{},{open:!1})}))}),3e3);case 4:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),onClose:function(){X((function(e){return(0,i.Z)((0,i.Z)({},e),{},{open:!1})}))}}),G=(0,D.Z)(q,2),H=G[0],X=G[1],V=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(0,ue.isEmpty)(I)){e.next=3;break}return L.default.error(d("setup.didStorage.addressCannotEmpty",f)),e.abrupt("return");case 3:X((function(e){return(0,i.Z)((0,i.Z)({},e),{},{prefix:p()(I,"storage/api/did"),baseUrl:new URL(I).origin,checkFn:pe().create({baseURL:p()(I,"storage")}).get,extraParams:{appDid:U,appName:F,appDescription:K,scopes:"list:object read:object write:object"},open:!0})}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,c.useEffect)((function(){X((function(e){return(0,i.Z)((0,i.Z)({},e),{},{messages:{title:d("setup.didStorage.authorize.title",{appName:F}),scan:d("setup.didStorage.authorize.scan",{appName:F}),confirm:"",success:(0,N.jsx)(fe.Z,{gutterBottom:!0,children:d("setup.didStorage.authorize.success")})}})}))}),[F,f,d]),(0,N.jsxs)(ge,{children:[(0,N.jsx)("div",{className:"header",children:(0,N.jsx)(Y.Z,{title:d("setup.didStorage.title"),subTitle:d("setup.didStorage.subTitle"),onClickBack:l})}),(0,N.jsx)(ve,{label:d("setup.didStorage.label"),value:I,onChange:function(e){var n=e.target.value;(0,ue.isEmpty)(n)?y(d("setup.didStorage.addressCannotEmpty",f)):y(null),W(n)},autoFocus:!0,size:"small",error:!!j,helperText:j,InputProps:{endAdornment:(0,N.jsx)(re,{color:"primary",onClick:V,size:"small",sx:{position:"absolute",right:0,display:"flex",justifyContent:"center",alignItems:"center",width:"140px",height:"100%"},children:d(T?"setup.didStorage.reAuthorization":"setup.didStorage.goToAuthorization")})}}),T&&(0,N.jsx)(h.Z,{color:"text.secondary",children:(0,N.jsx)(h.Z,{display:"flex",children:(0,N.jsxs)(h.Z,{display:"inline",children:[d("setup.didStorage.tips"),": \xa0"," ",(0,N.jsx)(h.Z,{display:"inline",color:"primary.main",fontWeight:"fontWeightBold",children:d("setup.didStorage.getStorageAuthorizeSuccessfully")})]})})}),"required"===(null===w||void 0===w||null===(t=w.capabilities)||void 0===t?void 0:t.didStorage)&&(0,N.jsx)(J,{mt:8,children:(0,N.jsx)(re,{loading:!!x,disabled:j||!!x||!I||!T,onClick:function(){return o()},children:x||d("setup.next")})}),"optional"===(null===w||void 0===w||null===(r=w.capabilities)||void 0===r?void 0:r.didStorage)&&(0,N.jsx)(J,{mt:8,disabled:!!x,blocklet:Z,onStartNow:function(){return o("complete")},children:(0,N.jsx)(re,{loading:!!x,disabled:!!x,onClick:function(){return o()},children:x||d(T?"setup.continue":"setup.skip")})}),(0,N.jsx)(E.default,{prefix:H.prefix,open:H.open,popup:!0,action:H.action,baseUrl:H.baseUrl,checkFn:H.checkFn,onSuccess:H.onSuccess,onClose:H.onClose,checkTimeout:H.checkTimeout,extraParams:H.extraParams,messages:H.messages,locale:f})]})}me.defaultProps={onNext:function(){},onPrevious:function(){}};var xe,ge=(0,u.default)(Q)(se||(se=(0,o.Z)(["\n height: 100%;\n overflow-y: auto;\n"]))),ve=(0,u.default)(le.Z)(ce||(ce=(0,o.Z)(["\n height: 56px;\n width: 580px;\n "," {\n width: 75%;\n }\n input.MuiInputBase-input {\n width: calc(100% - 144px);\n }\n"])),(function(e){return e.theme.breakpoints.down("md")})),be=me,je=t(85710),ye=t(62068),ke=t(99042),Ze=function(e){return["waiting","creating","renewaling"].includes(null===e||void 0===e?void 0:e.status)},we=function(e){return new Promise((function(n,t){var r=setInterval((0,s.Z)((0,a.Z)().mark((function o(){var i,s;return(0,a.Z)().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,he.Z.findCertificateByDomain({input:{domain:e}});case 3:if(i=o.sent,"generated"!==(null===(s=i.cert)||void 0===s?void 0:s.status)){o.next=9;break}return clearInterval(r),n(!0),o.abrupt("return");case 9:Ze(s)||(clearInterval(r),n(!1)),o.next=16;break;case 12:o.prev=12,o.t0=o.catch(0),clearInterval(r),t(o.t0);case 16:case"end":return o.stop()}}),o,null,[[0,12]])}))),1e3)}))},Ce=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,he.Z.issueLetsEncryptCert({input:{domain:n}});case 2:return e.abrupt("return",we(n));case 3:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}();function Se(e){var n,t=e.onNext,r=e.onPrevious,o=(0,c.useContext)(v.LocaleContext),i=o.t,l=o.locale,u=(0,c.useState)(""),d=(0,D.Z)(u,2),p=d[0],f=d[1],m=(0,c.useState)(!1),x=(0,D.Z)(m,2),g=x[0],b=x[1],j=(0,O.y0)().blocklet,y=(0,c.useState)(""),k=(0,D.Z)(y,2),Z=k[0],C=k[1],S=(0,c.useState)(!1),P=(0,D.Z)(S,2),E=P[0],T=P[1],_=((null===j||void 0===j?void 0:j.site)||{}).domainAliases||[],A=(null===(n=_.filter((function(e){return!e.isProtected}))[0])||void 0===n?void 0:n.value)||"",B=_.filter((function(e){return e.isProtected})).map((function(e){return(0,w.replaceSlotToIp)(e.value,Z)})),I=(0,c.useState)(A),W=(0,D.Z)(I,2),R=W[0],U=W[1],F=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f(i("setup.domain.addingDomain")),e.next=3,(0,je.sleep)(1500);case 3:if(_.some((function(e){return e.value===R}))){e.next=8;break}return e.next=6,he.Z.addDomainAlias({input:{id:j.site.id,domainAlias:R}});case 6:return e.next=8,he.Z.takeRoutingSnapshot({input:{dryRun:!1,message:"add domain ".concat(R," from blocklet services")}});case 8:return e.next=10,he.Z.configBlocklet({input:{did:[j.meta.did],configs:[{key:X.BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL,value:"http".concat(n?"s":"","://").concat(R)}]}});case 10:t();case 11:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),K=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n,t,r,o,s;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,f(i("setup.domain.checkingResolvable")),e.next=6,(0,je.sleep)(1500);case 6:return e.next=8,ke.Z.get("/dns-resolve?hostname=".concat(R));case 8:if(n=e.sent,t=n.data.address){e.next=12;break}throw new Error(i("setup.domain.cannotResolve",{domain:R}));case 12:if(t===Z){e.next=14;break}throw new Error(i("setup.domain.resolvedAddressError",{domain:R,curDomain:window.location.hostname}));case 14:return f(i("setup.domain.addingCert")),r=!1,e.next=18,he.Z.findCertificateByDomain({input:{domain:R}});case 18:if(o=e.sent,s=o.cert){e.next=26;break}return e.next=23,Ce(R,l);case 23:r=e.sent,e.next=39;break;case 26:if("generated"!==s.status){e.next=30;break}r=!0,e.next=39;break;case 30:if(!["waiting","creating","renewaling"].includes(s.status)){e.next=36;break}return e.next=33,we(R);case 33:r=e.sent,e.next=39;break;case 36:return e.next=38,Ce(R,l);case 38:r=e.sent;case 39:r?F(r):T(!0),e.next=46;break;case 42:e.prev=42,e.t0=e.catch(2),L.default.error(e.t0.message),f("");case 46:case"end":return e.stop()}}),e,null,[[2,42]])})));return function(){return e.apply(this,arguments)}}();return(0,c.useEffect)((function(){ke.Z.get("/dns-resolve?hostname=".concat(window.location.hostname)).then((function(e){var n=e.data;C(n.address||"")})).catch((function(e){console.error(e.message)}))}),[]),(0,N.jsxs)(Oe,{children:[(0,N.jsx)("div",{className:"header",children:(0,N.jsx)(Y.Z,{title:i("setup.domain.title"),subTitle:i("setup.domain.subTitle"),onClickBack:r})}),E&&(0,N.jsx)(ye.default,{PaperProps:{style:{minHeight:"auto"}},open:E,showCloseButton:!1,title:i("setup.domain.genCertFailed"),actions:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(re,{color:"reverse",variant:"text",onClick:function(){f(""),T(!1)},children:i("setup.cancel")}),(0,N.jsx)(re,{color:"primary",variant:"text",onClick:function(){T(!1),F(!1)},children:i("setup.confirm")})]}),children:i("setup.domain.certFailedDesc")}),(0,N.jsxs)(h.Z,{className:"form",children:[(0,N.jsxs)(h.Z,{children:[(0,N.jsxs)(h.Z,{mb:1,color:"text.primary",fontWeight:"fontWeightBold",children:[(0,N.jsx)(h.Z,{display:"inline",children:i("setup.domain.skipStart")}),(0,N.jsx)(re,{variant:"text",size:"small",disabled:!!p,onClick:function(){return t()},style:{paddingTop:0},children:(0,N.jsx)("span",{style:{textDecoration:"underline"},children:i("setup.domain.skip")})}),(0,N.jsx)(h.Z,{display:"inline",children:i("setup.domain.skipEnd")})]}),B.map((function(e){return(0,N.jsx)(h.Z,{component:"li",fontWeight:"fontWeightBold",color:"primary.main",children:e})})),(0,N.jsx)(h.Z,{mt:1,fontWeight:"fontWeightBold",color:"text.secondary",children:i("setup.domain.certTip")}),(0,N.jsx)(h.Z,{})]}),(0,N.jsx)(h.Z,{mt:4,fontWeight:"fontWeightBold",children:i("setup.domain.subTitle")}),(0,N.jsx)(le.Z,{style:{marginTop:16,minHeight:64},label:i("setup.domain.label"),fullWidth:!0,value:R,onChange:function(e){var n=e.target.value;U(n);var t=(0,je.validateDomain)(n,l);b(t)},autoFocus:!0,size:"small",variant:"outlined",error:!!g,helperText:g}),R&&(0,N.jsxs)(h.Z,{color:"text.secondary",children:[(0,N.jsxs)(h.Z,{display:"flex",children:[i("setup.domain.tipStart"),(0,N.jsx)(h.Z,{mx:.5,color:"primary.main",fontWeight:"fontWeightBold",children:R}),i("setup.domain.tipEnd")]}),(0,N.jsxs)(h.Z,{component:"li",children:[i("setup.domain.recordType"),":"," ",(0,N.jsx)(h.Z,{display:"inline",fontWeight:"fontWeightBold",color:"primary.main",children:"A"})]}),(0,N.jsxs)(h.Z,{component:"li",children:[i("setup.domain.recordValue"),":"," ",(0,N.jsx)(h.Z,{display:"inline",fontWeight:"fontWeightBold",color:"primary.main",children:Z})]})]})]}),(0,N.jsx)(J,{mt:8,disabled:!!p,blocklet:j,onStartNow:function(){return t("complete")},children:R?(0,N.jsx)(re,{loading:!!p,disabled:g||!!p||!R,onClick:function(){return K()},children:p||i("setup.next")}):(0,N.jsx)(re,{variant:"outlined",disabled:!!p,onClick:function(){return t()},children:i("setup.skip")})})]})}Se.defaultProps={onNext:function(){},onPrevious:function(){}};var Oe=(0,u.default)(Q)(xe||(xe=(0,o.Z)(["\n height: 100%;\n overflow-y: auto;\n .form {\n width: 580px;\n word-break: break-all;\n "," {\n width: 80%;\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")})),Pe=t(52849),Ee=t(72243),Le=t(78742),Ne=t(3562),Te=t(21268),_e=t(94702),Ae=t(15508),Be=t(55829),Ie=t(21777),We=t(66581);function Re(e){var n=e.children,t=(0,v.useLocaleContext)().t;return(0,N.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[n,(0,N.jsx)(Ie.Z,{title:t("blocklet.config.access.publicInstanceTip"),children:(0,N.jsx)(We.Z,{children:(0,N.jsx)(Be.default,{fontSize:"small"})})})]})}var De,Ue=(0,c.memo)(Re);function Fe(e){var n=e.onNext,t=(0,_e.default)(),r=(0,v.useLocaleContext)(),o=r.t,i=r.locale,l=(0,c.useState)(!1),u=(0,D.Z)(l,2),d=u[0],p=u[1],f=(0,c.useState)(""),m=(0,D.Z)(f,2),x=m[0],g=m[1],b=(0,c.useState)(!1),j=(0,D.Z)(b,2),y=j[0],k=j[1],C=(0,O.y0)(),S=C.blocklet,P=C.actions,E=C.getPublicInstance;(0,c.useEffect)((function(){g((0,w.getWhoCanAccess)(S)),k(E(S))}),[S]);var T=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,p(!0),e.next=4,(0,je.sleep)(800);case 4:return e.next=6,P.configWhoCanAccess(n);case 6:p(!1),e.next=13;break;case 9:e.prev=9,e.t0=e.catch(0),p(!1),L.default.error(e.t0.message);case 13:case"end":return e.stop()}}),e,null,[[0,9]])})));return function(n){return e.apply(this,arguments)}}(),_=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!d){e.next=2;break}return e.abrupt("return");case 2:return g(n.target.value),e.next=5,T(n.target.value);case 5:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),A=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.target.checked,e.prev=1,p(!0),e.next=5,P.configPublicToStore(t);case 5:p(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(1),p(!1),L.default.error(e.t0.message);case 12:case"end":return e.stop()}}),e,null,[[1,8]])})));return function(n){return e.apply(this,arguments)}}(),B={marginRight:4,fontSize:18,verticalAlign:"text-bottom",color:t.palette.text.secondary};return(0,N.jsxs)(Me,{children:[(0,N.jsx)("div",{className:"header",children:(0,N.jsx)(Y.Z,{title:o("blocklet.config.access.description")})}),(0,N.jsx)(Ne.Z,{component:"fieldset",children:(0,N.jsx)(Ee.Z,{name:"inherit",value:x,onChange:_,children:Ae.default.map((function(e){return(0,N.jsxs)("div",{style:{marginBottom:16},children:[(0,N.jsx)(Le.Z,{value:e.value,control:(0,N.jsx)(Pe.Z,{color:"primary"}),label:(0,N.jsxs)("span",{children:[(0,N.jsx)(e.icon,{style:B}),e.title[i]]})}),(0,N.jsxs)(h.Z,{className:"tip",children:[e.description[i],e.value===Z.WHO_CAN_ACCESS.ALL&&x===Z.WHO_CAN_ACCESS.ALL&&"registry"===S.source&&(0,N.jsx)(Ue,{children:(0,N.jsx)(Le.Z,{style:{marginRight:0},value:e.value,control:(0,N.jsx)(Te.Z,{size:"small"}),label:(0,N.jsx)("span",{children:o("blocklet.config.access.publicToStore")}),onChange:A,checked:y,disabled:d})})]})]},e.value)}))})}),(0,N.jsx)(J,{mt:8,disabled:d,blocklet:S,onStartNow:function(){return n("complete")},children:(0,N.jsx)(h.Z,{display:"flex",alignItems:"center",children:(0,N.jsx)(re,{loading:d,disabled:d,onClick:function(){return n()},children:o("setup.continue")})})})]})}Fe.defaultProps={onNext:function(){}};var Ke,ze,Me=(0,u.default)(Q)(De||(De=(0,o.Z)(["\n height: 100%;\n overflow-y: auto;\n .header {\n width: 100%;\n }\n .tip {\n margin-left: 32px;\n font-size: 12px;\n margin-top: -8px;\n color: ",";\n }\n"])),(function(e){return e.theme.palette.text.secondary})),qe=u.default.span(Ke||(Ke=(0,o.Z)(["\n color: ",";\n &::before {\n content: '*';\n }\n"])),(function(e){return e.theme.palette.error.main})),Ge=t(77491),He=t(11909),Ye=t(51193),Xe=t.n(Ye);function Ve(e){var n=e.onNext,t=e.onPrevious,r=(0,c.useContext)(v.LocaleContext),o=r.locale,a=r.t,s=(0,O.y0)(),l=s.blocklet,u=s.gas,d=s.tokenInfo,f=s.actions,m=(0,P.Tt)().api,x=(0,c.useState)(!1),g=(0,D.Z)(x,2),j=g[0],y=g[1],k=u||{},Z=k.need,w=void 0===Z?"":Z,C=k.current,S=void 0===C?"":C,L=k.owe,T=void 0===L?99999:L,_=k.deficiency,A=k.symbol,B=void 0===A?"":A,I=k.endpoint,W=(I?new URL(I):{}).origin,R=void 0===W?"/":W;(0,c.useEffect)((function(){var e=setInterval((function(){f.refreshFuel()}),2e3);return function(){clearInterval(e)}}),[]);return u?(0,N.jsxs)(en,{children:[(0,N.jsx)("div",{className:"header",children:(0,N.jsx)(Y.Z,{title:a("setup.fuel.title"),onClickBack:t})}),(0,N.jsxs)(h.Z,{className:"qr-body",children:[(0,N.jsxs)(h.Z,{mb:6,className:"tip",children:[a("setup.fuel.tipStart").replace("slot",""),(0,N.jsx)("span",{className:"amount",children:"".concat(w," ").concat(B)}),a("setup.fuel.tipEnd")]}),(0,N.jsx)(h.Z,{fontSize:16,fontWeight:"fontWeightBold",mb:.5,children:a("setup.fuel.addressTitle")}),(0,N.jsxs)(h.Z,{display:"flex",alignItems:"center",children:[(0,N.jsx)(Xe(),{className:"address",children:l.appDid}),(0,N.jsx)(Ge.Z,{style:{lineHeight:1},target:"_blank",href:p()(R,"/explorer/accounts/",l.appDid),underline:"hover",children:(0,N.jsx)(He.default,{className:"icon-launch"})})]}),(0,N.jsx)(h.Z,{my:2,children:(0,N.jsx)(re,{color:"primary",onClick:function(){return y(!0)},disabled:!T,children:a("setup.fuel.fuelApp")})}),(0,N.jsx)(E.default,{popup:!0,open:j,action:"fuel",checkFn:m.get,checkTimeout:6e5,socketUrl:m.socketUrl,onSuccess:function(){y(!1)},onClose:function(){return y(!1)},locale:o,messages:{title:a("setup.connect.title"),scan:a("setup.connect.scan"),confirm:a("setup.connect.confirm"),success:a("setup.connect.success")},extraParams:(0,i.Z)((0,i.Z)({amount:_},d),{},{endpoint:I})}),(0,N.jsxs)(h.Z,{display:"flex",color:"text.secondary",children:[(0,N.jsxs)(h.Z,{display:"flex",children:[(0,N.jsxs)(h.Z,{children:[a("setup.fuel.need"),":"]}),(0,N.jsx)(h.Z,{ml:.5,color:"primary.main",fontWeight:"fontWeightBold",children:w})]}),(0,N.jsxs)(h.Z,{display:"flex",ml:3,children:[(0,N.jsxs)(h.Z,{children:[a("setup.fuel.current"),":"]}),(0,N.jsx)(h.Z,{ml:.5,color:T>0?"error.main":"primary.main",fontWeight:"fontWeightBold",children:S})]})]})]}),(0,N.jsx)(J,{mt:8,children:(0,N.jsx)(re,{disabled:T>0,onClick:function(){return n()},children:a("setup.next")})})]}):(0,N.jsx)(h.Z,{display:"flex",justifyContent:"center",alignItems:"center",width:"100%",children:(0,N.jsx)(b.default,{})})}Ve.defaultProps={onNext:function(){},onPrevious:function(){}};var Qe,$e,Je,en=(0,u.default)(Q)(ze||(ze=(0,o.Z)(["\n .qr-body {\n width: 580px;\n "," {\n width: 80%;\n }\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .tip {\n font-size: 16px;\n font-weight: bold;\n }\n\n .address {\n width: 100%;\n text-align: center;\n }\n\n .amount {\n color: ",";\n }\n\n .icon-launch {\n font-size: 16px;\n margin-left: 6px;\n line-height: 1;\n color: ",";\n }\n }\n"])),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.palette.primary.main}),(function(e){return e.theme.palette.primary.main})),nn=t(23426),tn=t(67615);function rn(e){var n=e.onPrevious,t=(0,v.useLocaleContext)().t,r=(0,c.useState)(!1),o=(0,D.Z)(r,2),i=o[0],l=o[1],u=(0,c.useState)("starting"),d=(0,D.Z)(u,2),p=d[0],f=d[1],m=(0,c.useState)(),x=(0,D.Z)(m,2),g=x[0],j=x[1],y=(0,O.y0)().blocklet,k=(0,c.useState)(""),Z=(0,D.Z)(k,2),w=Z[0],C=Z[1],P=(0,S.tX)("from_launcher"),E=!["starting","running"].includes(p),T="starting"===p,_={stopped:t("blocklet.start"),starting:t("blocklet.starting"),running:t("blocklet.open")},A=function(){var e=new URL(window.location.href).searchParams.get("redirect");window.location.href=e?new URL(e,w).href:w},B=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n,t;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),f("starting"),e.prev=2,e.next=5,ke.Z.post("/blocklet/start",{fromSetup:!0});case 5:l(!1),f("running"),e.next=16;break;case 9:e.prev=9,e.t0=e.catch(2),t=(null===e.t0||void 0===e.t0||null===(n=e.t0.response)||void 0===n?void 0:n.data)||e.t0.message,L.default.error(t),l(!1),f("stopped"),j(t);case 16:case"end":return e.stop()}}),e,null,[[2,9]])})));return function(){return e.apply(this,arguments)}}();(0,c.useEffect)((function(){f(y.status),["starting","running"].includes(y.status)||B()}),[]),(0,c.useEffect)((function(){var e=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(){var n;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,tn.evaluateURLs)(y.site.domainAliases.map((function(e){return(0,je.getAccessUrl)(e.value,S.Bq)})));case 2:n=e.sent,C(n[0].url);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();w||e()}),[y,w]);var I=localStorage.getItem("blocklet-server-url"),W=t(g?"setup.complete.failedTitle":"setup.complete.title"),R=T||!w;return P&&!R&&(E?B():A()),(0,N.jsx)(on,{children:(0,N.jsx)(an,{variant:g?"error":"success",title:W,footer:(0,N.jsxs)(J,{children:[E&&(0,N.jsx)(re,{variant:"outlined",disabled:i,onClick:function(){return n()},children:t("setup.previous")}),P?(0,N.jsxs)(ln,{rel:"noreferrer",children:[(0,N.jsx)(b.default,{size:[16,10],style:{marginRight:14}})," ",t("common.redirecting")]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(re,{style:{marginLeft:E?24:0},disabled:i||T,onClick:function(){return E?B():A()},loading:R,children:_[p]||_.stopped}),("running"===p||g)&&!!I&&(0,N.jsx)(h.Z,{width:"100%",mt:2,children:(0,N.jsx)("a",{href:I,target:"_blank",rel:"noopener noreferrer",className:"back-to-server-link",children:t("setup.complete.backToServer")})})]})]})})})}var on=(0,u.default)(Q)(Qe||(Qe=(0,o.Z)(["\n justify-content: center;\n .icon-success {\n width: 64px;\n height: 64px;\n color: ",";\n }\n .back-to-server-link {\n color: ",";\n }\n"])),(function(e){return e.theme.palette.success.main}),(function(e){return e.theme.palette.primary.main})),an=(0,u.default)(nn.Z)($e||($e=(0,o.Z)(["\n && .result-footer {\n height: 120px;\n > div {\n flex-wrap: wrap;\n }\n }\n"])));rn.defaultProps={onPrevious:function(){}};var sn,cn,ln=u.default.a(Je||(Je=(0,o.Z)(["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 36px;\n color: ",";\n"])),(function(e){return e.theme.palette.primary.main}));function un(){var e,n,t,r=(0,g.Z)((function(e){return e.breakpoints.down("md")})),o=(0,v.useLocaleContext)(),u=o.t,d=o.locale,x=(0,l.s0)(),E=(0,O.y0)(),L=E.meta,_=E.blocklet,A=E.actions,B=localStorage.getItem("blocklet-server-url"),I=(0,S.tX)("from_launcher");(0,c.useEffect)((function(){A.refreshMeta(),A.refreshBlocklet({showError:!1}),(0,S.NU)()}),[]),(0,c.useEffect)((function(){A.refreshFuel({showError:!1})}),[null===_||void 0===_||null===(e=_.meta)||void 0===e?void 0:e.did]);var W="".concat(Z.WELLKNOWN_SERVICE_PATH_PREFIX,"/setup"),R=[{key:"connect",name:u("setup.steps.connect"),path:p()(W,"connect")},{key:"access",name:u("setup.steps.access"),path:p()(W,"access")},{key:"domain",name:u("setup.steps.domain"),path:p()(W,"domain")},function(e){var n,t=null===e||void 0===e||null===(n=e.capabilities)||void 0===n?void 0:n.didStorage;if(!t)return null;if(t===C.BLOCKLET_APP_STORAGE_ENDPOINTS.REQUIRED)return{key:"did-storage",name:(0,N.jsxs)(N.Fragment,{children:[u("setup.steps.didStorage")," ",(0,N.jsx)(qe,{})]}),path:p()(W,"did-storage")};if(t===C.BLOCKLET_APP_STORAGE_ENDPOINTS.OPTIONAL)return{key:"did-storage",name:(0,N.jsx)(N.Fragment,{children:u("setup.steps.didStorage")}),path:p()(W,"did-storage")};throw new Error("capabilities.didStorage cannot take the value ".concat(t))}(L),{key:"config",name:(0,N.jsxs)(N.Fragment,{children:[u("setup.steps.config")," ",(0,S.o2)(L)&&(0,N.jsx)(qe,{})]}),path:p()(W,"config")},null!==L&&void 0!==L&&null!==(n=L.requirements)&&void 0!==n&&null!==(t=n.fuels)&&void 0!==t&&t.length?{key:"fuel",name:(0,N.jsxs)(N.Fragment,{children:[u("setup.steps.fuel")," ",(0,N.jsx)(qe,{})]}),path:p()(W,"fuel")}:null].filter(Boolean),D=R.findIndex((function(e){return"".concat(S.Bq.replace(/\/$/,"")).concat(W,"/").concat(e.key)===window.location.pathname})),U=p()(S.Bq,Z.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),F=function(){var e=(0,s.Z)((0,a.Z)().mark((function e(n){var t,r,o;return(0,a.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=new URL(window.location.href),r=t.search,n?(o=R.findIndex((function(e){return e.key===n})),x(o>-1?"".concat(p()(W,R[o].key)).concat(r):"".concat(p()(W,"complete")).concat(r))):R[D+1]?x("".concat(p()(W,R[D+1].key)).concat(r)):x("".concat(p()(W,"complete")).concat(r)),e.next=4,A.refreshBlocklet();case 4:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),K=function(){x(-1)};function z(e,n){return _?(0,N.jsx)(e,(0,i.Z)((0,i.Z)({blocklet:_},n),{},{onNext:F,onPrevious:K})):(0,N.jsx)(h.Z,{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",children:(0,N.jsx)(b.default,{})})}var M=function(){window.open(B)},q=r?(0,N.jsx)(y.Z,{onClick:M,width:"32",height:"32",style:{cursor:"pointer"}}):(0,N.jsx)(k.Z,{onClick:M,width:"128",height:"48",style:{marginTop:-1,cursor:"pointer"}}),G=[{key:"agreement",name:u("setup.steps.introduction")},{key:"select-node",name:u("setup.steps.selectNodeDesc")},{key:"install",name:u("setup.steps.launchAppDesc")},{key:"setup",name:u("setup.steps.setupAppDesc"),children:R},{key:"complete",name:u("setup.steps.launched"),path:p()(W,"complete")}];return I||G.splice(1,1),(0,N.jsxs)(pn,{steps:G,children:[(0,N.jsx)(f.Global,{styles:dn}),(0,N.jsx)(m.Z,{locale:d,blockletMeta:(0,i.Z)((0,i.Z)({},L),{},{title:(0,w.getDisplayName)((0,i.Z)((0,i.Z)({},_),{},{meta:L}))}),navLogo:q,pcWidth:"80%",style:{height:"100%"},logoUrl:U,useOfSkeleton:!1,headerEndAddons:(0,N.jsx)(j.Z,{SessionContext:P.B3,sessionManagerProps:{disableLogout:!0}}),launchingText:u("setup.title"),children:(0,N.jsxs)(l.Z5,{children:[(0,N.jsx)(l.AW,{path:"connect",element:(0,N.jsx)(T,{onNext:F})}),(0,N.jsx)(l.AW,{path:"domain",element:z(Se)}),(0,N.jsx)(l.AW,{path:"did-storage",element:z(be)}),(0,N.jsx)(l.AW,{path:"config",element:z(ae)}),(0,N.jsx)(l.AW,{path:"access",element:z(Fe)}),(0,N.jsx)(l.AW,{path:"fuel",element:z(Ve)}),(0,N.jsx)(l.AW,{path:"complete",element:z(rn)}),(0,N.jsx)(l.AW,{path:"*",element:(0,N.jsx)(l.Fg,{to:"connect".concat(window.location.search),replace:!0})})]})})]})}var dn=(0,f.css)(sn||(sn=(0,o.Z)(["\n html,\n body,\n #root,\n #root > .wrapper {\n height: 100%;\n }\n"]))),pn=(0,u.default)(x.StepProvider)(cn||(cn=(0,o.Z)([""])))},98465:function(e,n,t){n.Z=f;var r,o=c(t(16380)),i=c(t(24974)),a=t(37574),s=["children"];function c(e){return e&&e.__esModule?e:{default:e}}function l(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function u(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?l(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):l(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}function f(e){var n=e.children,t=p(e,s);return(0,a.jsx)(x,u(u({},t),{},{children:n}))}f.propTypes={children:i.default.any.isRequired};var h,m,x=o.default.div(r||(h=["\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n height: 100%;\n\n .header {\n text-align: center;\n }\n\n .body {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 30px;\n width: 100%;\n min-height: 200px;\n flex: 1;\n\n "," {\n padding: 24px;\n }\n\n "," {\n padding: 0 16px 16px;\n }\n }\n\n .footer {\n display: flex;\n justify-content: center;\n\n "," {\n padding-bottom: 34px;\n }\n\n "," {\n margin-top: auto;\n padding-bottom: 10px;\n }\n }\n"],m||(m=h.slice(0)),r=Object.freeze(Object.defineProperties(h,{raw:{value:Object.freeze(m)}}))),(function(e){return e.theme.breakpoints.up("md")}),(function(e){return e.theme.breakpoints.down("md")}),(function(e){return e.theme.breakpoints.up("sm")}),(function(e){return e.theme.breakpoints.down("md")}))},56229:function(e,n,t){n.Z=b;var r,o=t(30969),i=m(t(16380)),a=m(t(24974)),s=m(t(4328)),c=t(86822),l=m(t(85820)),u=m(t(71847)),d=t(42167),p=m(t(46513)),f=m(t(91077)),h=t(37574);function m(e){return e&&e.__esModule?e:{default:e}}function x(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function g(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?x(Object(t),!0).forEach((function(n){v(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):x(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function v(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function b(e){var n=e.SessionContext,t=e.extraItems,r=e.showLocale,i=e.showHelper,a=e.showSessionManager,m=e.sessionManagerProps,x=(0,o.useContext)(n).session,v=(0,o.useContext)(d.LocaleContext).locale,b=(0,c.useLocation)(),j={"/store":{endpoint:"https://store.blocklet.io"},"/dashboard":{path:"/conceptual/overview"},"/settings/router":{path:"/conceptual/server-architecture"}};return(0,h.jsxs)(k,{children:[t.map((function(e,n){return(0,o.cloneElement)(e,{key:n})})),r&&(0,h.jsx)(u.default,{"data-cy":"locale-addon",icon:p.default,size:23,showText:!1,className:"locale-addon"}),i&&(0,h.jsx)(s.default,{onClick:function(){var e=b.pathname,n={};e.indexOf("/store")>-1?n=j["/store"]:j[e]&&(n=j[e]),window.open("".concat(n.endpoint||"https://developer.blocklet.io/docs","/").concat(v).concat(n.path||""),"_blank")},children:(0,h.jsx)(f.default,{})}),a&&(0,h.jsx)(l.default,g({session:x,size:24,showRole:!0},m))]})}b.propTypes={SessionContext:a.default.object.isRequired,webWalletUrl:a.default.string,extraItems:a.default.array,showLocale:a.default.bool,showSessionManager:a.default.bool,showHelper:a.default.bool,sessionManagerProps:a.default.object},b.defaultProps={webWalletUrl:"",extraItems:[],showLocale:!0,showSessionManager:!0,showHelper:!0,sessionManagerProps:{}};var j,y,k=i.default.div(r||(j=["\n display: flex;\n justify-content: center;\n align-items: center;\n\n .MuiIconButton-root svg {\n width: 26px;\n height: 26px;\n }\n\n .user-addon {\n .user-avatar {\n width: 28px;\n border-radius: 14px;\n height: auto;\n }\n }\n\n "," {\n > button,\n > a {\n padding-left: 8px;\n padding-right: 8px;\n }\n }\n"],y||(y=j.slice(0)),r=Object.freeze(Object.defineProperties(j,{raw:{value:Object.freeze(y)}}))),(function(e){return e.theme.breakpoints.down("md")}))}}]);
2
+ //# sourceMappingURL=729.6e541d5f.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/729.6e541d5f.chunk.js","mappings":"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","sources":["components/setup/connect.js","components/setup/layout.js","components/setup/step-actions.js","components/setup/button.js","components/setup/config.js","components/setup/did-storage.js","components/setup/domain.js","components/setup/public-instance.js","components/setup/access-control.js","components/setup/required.js","components/setup/fuel.js","components/setup/complete.js","pages/setup.js","../../ux/lib/launch-blocklet/content-layout.js","../../ux/lib/layout/addon.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport DidConnect from '@arcblock/did-connect/lib/Connect';\nimport Toast from '@abtnode/ux/lib/toast';\nimport styled from '@emotion/styled';\n\nimport { useSessionContext } from '../../contexts/session';\nimport { getFromQuery, getWebWalletUrl, setSessionToken } from '../../util';\n\nexport default function Connect({ onNext }) {\n const { t, locale } = useLocaleContext();\n const { api, session } = useSessionContext();\n\n const onConnect = async (result, decrypt) => {\n setSessionToken(decrypt(result.sessionToken));\n try {\n await session.refresh();\n onNext();\n } catch (err) {\n Toast.error(err.message);\n }\n };\n\n return (\n <WrapConnect\n popup\n open\n hideCloseButton\n action=\"setup\"\n checkFn={api.get}\n checkTimeout={10 * 60 * 1000}\n socketUrl={api.socketUrl}\n webWalletUrl={getWebWalletUrl()}\n onSuccess={onConnect}\n locale={locale}\n messages={{\n title: t('setup.connect.title'),\n scan: t('setup.connect.scan'),\n confirm: t('setup.connect.confirm'),\n success: t('setup.connect.success'),\n }}\n extraParams={{ setup: true, launchType: getFromQuery('launch_type') }}\n />\n );\n}\n\nConnect.propTypes = {\n onNext: PropTypes.func,\n};\n\nConnect.defaultProps = {\n onNext: () => {},\n};\n\nconst WrapConnect = styled(DidConnect)`\n .action-info-desc {\n padding: 0 72px;\n }\n`;\n","import styled from '@emotion/styled';\n\nimport ContentLayout from '@abtnode/ux/lib/launch-blocklet/content-layout';\n\nconst Container = styled(ContentLayout)`\n display: flex;\n flex-direction: column;\n padding-bottom: 16px;\n ${(props) => props.theme.breakpoints.up('md')} {\n padding-top: 34px;\n padding-bottom: 34px;\n }\n .header {\n width: 100%;\n margin-bottom: 34px;\n ${(props) => props.theme.breakpoints.up('md')} {\n margin-bottom: 64px;\n }\n }\n .container-main {\n position: relative;\n flex: 1;\n width: 100%;\n }\n .container-inner {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n overflow-y: auto;\n }\n`;\n\nexport default Container;\n","import PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport Box from '@mui/material/Box';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Button from '@arcblock/ux/lib/Button';\n\nimport { hasRequiredSteps } from '../../util';\n\nexport default function StepActions({ blocklet, onStartNow, children, disabled }) {\n const { t } = useLocaleContext();\n\n if (!blocklet || hasRequiredSteps(blocklet.meta)) {\n return <Center>{children}</Center>;\n }\n\n return (\n <Between>\n <Button\n className=\"start-now\"\n variant=\"contained\"\n color=\"primary\"\n disabled={disabled}\n onClick={() => onStartNow()}>\n {t('setup.startNow')}\n </Button>\n <Box display=\"flex\" alignItems=\"center\">\n {children}\n </Box>\n </Between>\n );\n}\n\nStepActions.propTypes = {\n blocklet: PropTypes.object,\n onStartNow: PropTypes.func,\n children: PropTypes.any,\n disabled: PropTypes.bool,\n};\nStepActions.defaultProps = {\n blocklet: null,\n onStartNow: () => {},\n children: null,\n disabled: false,\n};\n\nconst Center = styled(Box)`\n padding-top: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n .bottom-button {\n min-width: 200px;\n }\n ${(props) => props.theme.breakpoints.down('md')} {\n .bottom-button {\n min-width: 150px;\n }\n }\n`;\n\nconst Between = styled(Box)`\n padding-bottom: 48px;\n padding-top: 24px;\n margin: 0 auto;\n width: 80%;\n display: flex;\n align-items: center;\n justify-content: space-around;\n .start-now {\n min-width: 140px;\n }\n .bottom-button {\n min-width: 120px;\n }\n ${(props) => props.theme.breakpoints.down('lg')} {\n width: 100%;\n }\n\n ${(props) => props.theme.breakpoints.down('md')} {\n .start-now {\n min-width: 100px;\n }\n .bottom-button {\n min-width: 80px;\n }\n }\n`;\n","import Button from '@arcblock/ux/lib/Button';\n\nexport default function StyledButton({ ...props }) {\n return <Button className=\"bottom-button\" variant=\"contained\" color=\"primary\" {...props} />;\n}\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport omit from 'lodash/omit';\nimport uniqBy from 'lodash/uniqBy';\nimport flatten from 'lodash/flatten';\n\nimport Box from '@mui/material/Box';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport SchemaForm from '@abtnode/ux/lib/schema-form';\nimport Toast from '@abtnode/ux/lib/toast';\nimport CompactLayout from '@blocklet/launcher-layout/lib/compact-layout';\n\nimport PageHeader from '@blocklet/launcher-layout/lib/page-header';\n\nimport { getAppMissingConfigs, forEachChildSync } from '@blocklet/meta/lib/util';\nimport { BLOCKLET_CONFIGURABLE_KEY } from '@blocklet/meta/lib/constants';\n\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport Layout from './layout';\nimport StepActions from './step-actions';\nimport Button from './button';\n\nexport default function Config({ onNext, onPrevious }) {\n const isMobile = useMediaQuery((theme) => theme.breakpoints.down('md'));\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [editingItem, setEditingItem] = useState(null);\n const { blocklet, actions } = useBlockletContext();\n\n const selfConfigs = (blocklet.configs || []).filter((x) => !BLOCKLET_CONFIGURABLE_KEY[x.key]);\n const customColor = blocklet.environments.find((x) => x.key === 'BLOCKLET_PASSPORT_COLOR');\n\n const configurableEnvs = [\n {\n key: BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_NAME,\n description: t('blocklet.config.name'),\n value: blocklet.environments.find((x) => x.key === 'BLOCKLET_APP_NAME').value,\n custom: true,\n },\n {\n key: BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_DESCRIPTION,\n description: t('blocklet.config.description'),\n value: blocklet.environments.find((x) => x.key === 'BLOCKLET_APP_DESCRIPTION').value,\n custom: true,\n },\n {\n key: BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_PASSPORT_COLOR,\n description: t('blocklet.config.passportColor'),\n value: customColor ? customColor.value : 'auto',\n custom: true,\n componentType: 'passport',\n componentProps: {\n blocklet,\n },\n },\n ];\n\n const childrenConfigs = [];\n forEachChildSync(blocklet, (b, { ancestors }) => {\n const ancestorDids = ancestors.slice(1).map((x) => x.meta.did);\n\n childrenConfigs.push((b.configs || []).map((x) => ({ ...x, childDid: ancestorDids.concat(b.meta.did) })));\n });\n\n const filteredConfigs = uniqBy(flatten([...selfConfigs, ...childrenConfigs]), 'key').filter((x) => !!x.key);\n\n const sortedConfig = filteredConfigs.sort((a, b) => {\n if (a.required && !b.required) {\n return -1;\n }\n\n if (b.required && !a.required) {\n return 1;\n }\n\n return 0;\n });\n\n const missingRequiredConfigs = getAppMissingConfigs(blocklet).length;\n\n const onSubmitConfig = async (value) => {\n const { childDid, ...config } = editingItem;\n\n const configs = [\n {\n // omit the backend unused configs\n ...omit(config, ['componentType', 'componentProps']),\n value,\n },\n ];\n\n try {\n setLoading(true);\n await actions.configBlocklet({\n configs,\n childDid,\n });\n } catch (err) {\n Toast.error(err.message);\n } finally {\n setLoading(false);\n }\n };\n\n const defaultValue = {};\n\n const schemaList = [...configurableEnvs, ...sortedConfig].map((item) => {\n const { value, ...rest } = item;\n defaultValue[item.key] = value;\n return {\n ...rest,\n };\n });\n\n const clickBack = () => {\n onPrevious();\n };\n\n return (\n <Layout>\n <div className=\"header\" style={{ marginBottom: 16 }}>\n <PageHeader title={t('setup.config.title')} subTitle={t('setup.config.subTitle')} onClickBack={clickBack} />\n </div>\n <div className=\"container-main\">\n <div className=\"container-inner\">\n <CompactLayout\n bottom={\n <StepActions\n mt={8}\n disabled={loading || editingItem}\n blocklet={blocklet}\n onStartNow={() => onNext('complete')}>\n <Box display=\"flex\" alignItems=\"center\">\n <Button\n disabled={loading || missingRequiredConfigs || editingItem}\n onClick={() => {\n actions.refreshFuel({ showError: false });\n onNext();\n }}>\n {t('setup.next')}\n </Button>\n </Box>\n </StepActions>\n }>\n <SchemaForm\n style={{ margin: '0 auto 20px', paddingTop: isMobile ? 0 : 38 }}\n loading={loading}\n schema={schemaList}\n defaultValue={defaultValue}\n onChange={(changeValue, { action, currentItem }) => {\n if (action === 'edit') {\n setEditingItem(currentItem);\n } else if (['cancel', 'confirm'].includes(action)) {\n setEditingItem(null);\n }\n if (action === 'confirm') {\n onSubmitConfig(changeValue[currentItem.key]);\n }\n }}\n />\n </CompactLayout>\n </div>\n </div>\n </Layout>\n );\n}\n\nConfig.propTypes = {\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\n\nConfig.defaultProps = {\n onNext: () => {},\n onPrevious: () => {},\n};\n","import { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport TextField from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Toast from '@abtnode/ux/lib/toast';\nimport PageHeader from '@blocklet/launcher-layout/lib/page-header';\nimport { isEmpty } from 'lodash';\nimport { BLOCKLET_CONFIGURABLE_KEY } from '@blocklet/constant';\nimport axios from 'axios';\nimport urljoin from 'url-join';\nimport DidConnect from '@arcblock/did-connect/lib/Connect';\nimport { Typography } from '@mui/material';\nimport client from '../../libs/client';\nimport Button from './button';\nimport StepActions from './step-actions';\nimport Layout from './layout';\nimport { useBlockletContext } from '../../contexts/blocklet';\n\nfunction DidStorage({ onNext, onPrevious }) {\n const { t, locale } = useContext(LocaleContext);\n const [loadingText] = useState('');\n const [errorMessage, setErrorMessage] = useState(false);\n const { blocklet, meta } = useBlockletContext();\n const [endpoint, setEndpoint] = useState(\n blocklet.environments.find((e) => e.key === BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_STORAGE_ENDPOINT)?.value || ''\n );\n const [didStorageUrl, setDidStorageUrl] = useState('https://storage.staging.abtnet.io/app');\n const { appId: appDid, appName, appDescription } = window.blocklet;\n\n async function saveStorageEndpoint(did, storageEndpoint) {\n await client\n .configBlocklet({\n input: {\n did: [did],\n configs: [\n {\n key: BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_STORAGE_ENDPOINT,\n value: storageEndpoint,\n },\n ],\n },\n })\n .then(() => {\n Toast.success(t('setup.didStorage.getStorageAuthorizeSuccessfully', locale));\n })\n .catch((error) => {\n console.error(error);\n Toast.error(error.message);\n });\n }\n const [authorizeConnect, setAuthorizeConnect] = useState({\n open: false,\n action: 'one-click-authorization',\n checkTimeout: 1000 * 300,\n checkFn: axios.create({ baseURL: urljoin(didStorageUrl, 'storage') }).get,\n /**\n *\n * @param {{endpoint: string}} response\n */\n onSuccess: async (response, decrypt) => {\n setEndpoint(decrypt(response.endpoint));\n\n await saveStorageEndpoint(blocklet.meta.did, decrypt(response.endpoint));\n setTimeout(() => {\n setAuthorizeConnect((preValue) => ({\n ...preValue,\n open: false,\n }));\n }, 3000);\n },\n onClose: () => {\n setAuthorizeConnect((preValue) => ({\n ...preValue,\n open: false,\n }));\n },\n });\n\n const handleOnClickAuthorize = async () => {\n if (isEmpty(didStorageUrl)) {\n Toast.error(t('setup.didStorage.addressCannotEmpty', locale));\n return;\n }\n\n setAuthorizeConnect((preValue) => ({\n ...preValue,\n prefix: urljoin(didStorageUrl, 'storage/api/did'),\n baseUrl: new URL(didStorageUrl).origin,\n checkFn: axios.create({ baseURL: urljoin(didStorageUrl, 'storage') }).get,\n extraParams: {\n appDid,\n appName,\n appDescription,\n scopes: 'list:object read:object write:object',\n },\n open: true,\n }));\n };\n\n const onDidStorageUrlChange = (event) => {\n const { value } = event.target;\n if (isEmpty(value)) {\n setErrorMessage(t('setup.didStorage.addressCannotEmpty', locale));\n } else {\n setErrorMessage(null);\n }\n setDidStorageUrl(value);\n };\n\n useEffect(() => {\n setAuthorizeConnect((preValue) => ({\n ...preValue,\n messages: {\n title: t('setup.didStorage.authorize.title', { appName }),\n scan: t('setup.didStorage.authorize.scan', { appName }),\n confirm: '',\n success: <Typography gutterBottom>{t('setup.didStorage.authorize.success')}</Typography>,\n },\n }));\n }, [appName, locale, t]);\n\n return (\n <Container>\n {/* 标题区 */}\n <div className=\"header\">\n <PageHeader\n title={t('setup.didStorage.title')}\n subTitle={t('setup.didStorage.subTitle')}\n onClickBack={onPrevious}\n />\n </div>\n\n {/* 填写 did storage 的实例地址 */}\n <StorageUrlTextField\n label={t('setup.didStorage.label')}\n value={didStorageUrl}\n onChange={onDidStorageUrlChange}\n autoFocus\n size=\"small\"\n error={!!errorMessage}\n helperText={errorMessage}\n InputProps={{\n endAdornment: (\n <Button\n color=\"primary\"\n onClick={handleOnClickAuthorize}\n size=\"small\"\n sx={{\n position: 'absolute',\n right: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '140px',\n height: '100%',\n }}>\n {endpoint ? t('setup.didStorage.reAuthorization') : t('setup.didStorage.goToAuthorization')}\n </Button>\n ),\n }}\n />\n {/* 友情提示区 */}\n {endpoint && (\n <Box color=\"text.secondary\">\n <Box display=\"flex\">\n <Box display=\"inline\">\n {t('setup.didStorage.tips')}: &nbsp;{' '}\n <Box display=\"inline\" color=\"primary.main\" fontWeight=\"fontWeightBold\">\n {t('setup.didStorage.getStorageAuthorizeSuccessfully')}\n </Box>\n </Box>\n </Box>\n </Box>\n )}\n\n {meta?.capabilities?.didStorage === 'required' && (\n <StepActions mt={8}>\n <Button\n loading={!!loadingText}\n disabled={errorMessage || !!loadingText || !didStorageUrl || !endpoint}\n onClick={() => onNext()}>\n {loadingText || t('setup.next')}\n </Button>\n </StepActions>\n )}\n {meta?.capabilities?.didStorage === 'optional' && (\n <StepActions mt={8} disabled={!!loadingText} blocklet={blocklet} onStartNow={() => onNext('complete')}>\n <Button loading={!!loadingText} disabled={!!loadingText} onClick={() => onNext()}>\n {loadingText || (endpoint ? t('setup.continue') : t('setup.skip'))}\n </Button>\n </StepActions>\n )}\n {/* 获得endpoint */}\n <DidConnect\n prefix={authorizeConnect.prefix}\n open={authorizeConnect.open}\n popup\n action={authorizeConnect.action}\n baseUrl={authorizeConnect.baseUrl}\n checkFn={authorizeConnect.checkFn}\n onSuccess={authorizeConnect.onSuccess}\n onClose={authorizeConnect.onClose}\n checkTimeout={authorizeConnect.checkTimeout}\n extraParams={authorizeConnect.extraParams}\n messages={authorizeConnect.messages}\n locale={locale}\n />\n </Container>\n );\n}\n\nDidStorage.propTypes = {\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\nDidStorage.defaultProps = {\n onNext: () => {},\n onPrevious: () => {},\n};\n\nconst Container = styled(Layout)`\n height: 100%;\n overflow-y: auto;\n`;\n\nconst StorageUrlTextField = styled(TextField)`\n height: 56px;\n width: 580px;\n ${(props) => props.theme.breakpoints.down('md')} {\n width: 75%;\n }\n input.MuiInputBase-input {\n width: calc(100% - 144px);\n }\n`;\n\nexport default DidStorage;\n","import { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\n\nimport TextField from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport Toast from '@abtnode/ux/lib/toast';\nimport PageHeader from '@blocklet/launcher-layout/lib/page-header';\nimport { validateDomain, sleep } from '@abtnode/ux/lib/util';\nimport { BLOCKLET_CONFIGURABLE_KEY } from '@blocklet/meta/lib/constants';\nimport Dialog from '@arcblock/ux/lib/Dialog';\nimport { replaceSlotToIp } from '@blocklet/meta/lib/util';\n\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport api from '../../libs/api';\nimport client from '../../libs/client';\nimport Layout from './layout';\nimport StepActions from './step-actions';\nimport Button from './button';\n\nconst isCertInProgress = (cert) => ['waiting', 'creating', 'renewaling'].includes(cert?.status);\n\nconst waitForCert = (domain) =>\n new Promise((resolve, reject) => {\n const timer = setInterval(async () => {\n try {\n const { cert } = await client.findCertificateByDomain({ input: { domain } });\n\n if (cert?.status === 'generated') {\n clearInterval(timer);\n resolve(true);\n return;\n }\n\n if (!isCertInProgress(cert)) {\n clearInterval(timer);\n resolve(false);\n }\n } catch (err) {\n clearInterval(timer);\n reject(err);\n }\n }, 1000);\n });\n\nconst addCert = async (domain) => {\n await client.issueLetsEncryptCert({ input: { domain } });\n return waitForCert(domain);\n};\n\nexport default function Domain({ onNext, onPrevious }) {\n const { t, locale } = useContext(LocaleContext);\n const [loadingText, setLoadingText] = useState('');\n const [error, setError] = useState(false);\n const { blocklet } = useBlockletContext();\n const [ip, setIp] = useState('');\n const [showCertFailed, setShowCertFailed] = useState(false);\n\n const site = blocklet?.site || {};\n const domains = site.domainAliases || [];\n const defaultCustomDomain = domains.filter((x) => !x.isProtected)[0]?.value || '';\n const systemDomains = domains.filter((x) => x.isProtected).map((x) => replaceSlotToIp(x.value, ip));\n const [domain, setDomain] = useState(defaultCustomDomain);\n\n const addDomain = async (secure) => {\n setLoadingText(t('setup.domain.addingDomain'));\n await sleep(1500);\n if (!domains.some((x) => x.value === domain)) {\n await client.addDomainAlias({ input: { id: blocklet.site.id, domainAlias: domain } });\n await client.takeRoutingSnapshot({\n input: { dryRun: false, message: `add domain ${domain} from blocklet services` },\n });\n }\n await client.configBlocklet({\n input: {\n did: [blocklet.meta.did],\n configs: [{ key: BLOCKLET_CONFIGURABLE_KEY.BLOCKLET_APP_URL, value: `http${secure ? 's' : ''}://${domain}` }],\n },\n });\n onNext();\n };\n\n const submitDomain = async () => {\n if (loadingText) {\n return;\n }\n\n try {\n setLoadingText(t('setup.domain.checkingResolvable'));\n await sleep(1500);\n const {\n data: { address },\n } = await api.get(`/dns-resolve?hostname=${domain}`);\n if (!address) {\n throw new Error(t('setup.domain.cannotResolve', { domain }));\n }\n\n if (address !== ip) {\n throw new Error(t('setup.domain.resolvedAddressError', { domain, curDomain: window.location.hostname }));\n }\n\n setLoadingText(t('setup.domain.addingCert'));\n let generated = false;\n const { cert } = await client.findCertificateByDomain({ input: { domain } });\n if (!cert) {\n generated = await addCert(domain, locale);\n } else if (cert.status === 'generated') {\n generated = true;\n } else if (['waiting', 'creating', 'renewaling'].includes(cert.status)) {\n generated = await waitForCert(domain, locale);\n } else {\n generated = await addCert(domain, locale);\n }\n\n if (generated) {\n addDomain(generated);\n } else {\n setShowCertFailed(true);\n }\n } catch (err) {\n Toast.error(err.message);\n setLoadingText('');\n }\n };\n\n useEffect(() => {\n api\n .get(`/dns-resolve?hostname=${window.location.hostname}`)\n .then(({ data }) => {\n setIp(data.address || '');\n })\n .catch((err) => {\n console.error(err.message);\n });\n }, []);\n\n return (\n <Container>\n <div className=\"header\">\n <PageHeader title={t('setup.domain.title')} subTitle={t('setup.domain.subTitle')} onClickBack={onPrevious} />\n </div>\n {showCertFailed && (\n <Dialog\n PaperProps={{\n style: {\n minHeight: 'auto',\n },\n }}\n open={showCertFailed}\n showCloseButton={false}\n title={t('setup.domain.genCertFailed')}\n actions={\n <>\n <Button\n color=\"reverse\"\n variant=\"text\"\n onClick={() => {\n setLoadingText('');\n setShowCertFailed(false);\n }}>\n {t('setup.cancel')}\n </Button>\n <Button\n color=\"primary\"\n variant=\"text\"\n onClick={() => {\n setShowCertFailed(false);\n addDomain(false);\n }}>\n {t('setup.confirm')}\n </Button>\n </>\n }>\n {t('setup.domain.certFailedDesc')}\n </Dialog>\n )}\n <Box className=\"form\">\n <Box>\n <Box mb={1} color=\"text.primary\" fontWeight=\"fontWeightBold\">\n <Box display=\"inline\">{t('setup.domain.skipStart')}</Box>\n <Button\n variant=\"text\"\n size=\"small\"\n disabled={!!loadingText}\n onClick={() => onNext()}\n style={{ paddingTop: 0 }}>\n <span style={{ textDecoration: 'underline' }}>{t('setup.domain.skip')}</span>\n </Button>\n <Box display=\"inline\">{t('setup.domain.skipEnd')}</Box>\n </Box>\n {systemDomains.map((x) => (\n <Box component=\"li\" fontWeight=\"fontWeightBold\" color=\"primary.main\">\n {x}\n </Box>\n ))}\n <Box mt={1} fontWeight=\"fontWeightBold\" color=\"text.secondary\">\n {t('setup.domain.certTip')}\n </Box>\n <Box />\n </Box>\n\n <Box mt={4} fontWeight=\"fontWeightBold\">\n {t('setup.domain.subTitle')}\n </Box>\n <TextField\n style={{ marginTop: 16, minHeight: 64 }}\n label={t('setup.domain.label')}\n fullWidth\n value={domain}\n onChange={(e) => {\n const { value } = e.target;\n setDomain(value);\n const errMessage = validateDomain(value, locale);\n setError(errMessage);\n }}\n autoFocus\n size=\"small\"\n variant=\"outlined\"\n error={!!error}\n helperText={error}\n />\n\n {domain && (\n <Box color=\"text.secondary\">\n <Box display=\"flex\">\n {t('setup.domain.tipStart')}\n <Box mx={0.5} color=\"primary.main\" fontWeight=\"fontWeightBold\">\n {domain}\n </Box>\n {t('setup.domain.tipEnd')}\n </Box>\n <Box component=\"li\">\n {t('setup.domain.recordType')}:{' '}\n <Box display=\"inline\" fontWeight=\"fontWeightBold\" color=\"primary.main\">\n A\n </Box>\n </Box>\n <Box component=\"li\">\n {t('setup.domain.recordValue')}:{' '}\n <Box display=\"inline\" fontWeight=\"fontWeightBold\" color=\"primary.main\">\n {ip}\n </Box>\n </Box>\n </Box>\n )}\n </Box>\n <StepActions mt={8} disabled={!!loadingText} blocklet={blocklet} onStartNow={() => onNext('complete')}>\n {!domain ? (\n <Button variant=\"outlined\" disabled={!!loadingText} onClick={() => onNext()}>\n {t('setup.skip')}\n </Button>\n ) : (\n <Button loading={!!loadingText} disabled={error || !!loadingText || !domain} onClick={() => submitDomain()}>\n {loadingText || t('setup.next')}\n </Button>\n )}\n </StepActions>\n </Container>\n );\n}\n\nDomain.propTypes = {\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\nDomain.defaultProps = {\n onNext: () => {},\n onPrevious: () => {},\n};\n\nconst Container = styled(Layout)`\n height: 100%;\n overflow-y: auto;\n .form {\n width: 580px;\n word-break: break-all;\n ${(props) => props.theme.breakpoints.down('md')} {\n width: 80%;\n }\n }\n`;\n","import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\n\nimport InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';\nimport Tooltip from '@mui/material/Tooltip';\nimport IconButton from '@mui/material/IconButton';\n\nfunction PublicInstance({ children }) {\n const { t } = useLocaleContext();\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {children}\n <Tooltip title={t('blocklet.config.access.publicInstanceTip')}>\n <IconButton>\n <InfoOutlinedIcon fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </div>\n );\n}\nPublicInstance.propTypes = {\n children: PropTypes.any.isRequired,\n};\n\nexport default memo(PublicInstance);\n","import { useState, useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport PropTypes from 'prop-types';\n\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Box from '@mui/material/Box';\nimport Checkbox from '@mui/material/Checkbox';\nimport useTheme from '@mui/material/styles/useTheme';\n\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Toast from '@abtnode/ux/lib/toast';\nimport { WHO_CAN_ACCESS } from '@abtnode/constant';\n\nimport { getWhoCanAccess } from '@blocklet/meta/lib/util';\n\nimport PageHeader from '@blocklet/launcher-layout/lib/page-header';\nimport { sleep } from '@abtnode/ux/lib/util';\nimport AccessConfig from '@abtnode/ux/lib/who-can-access/config';\n\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport Layout from './layout';\nimport StepActions from './step-actions';\nimport Button from './button';\nimport PublicInstance from './public-instance';\n\nexport default function AccessControl({ onNext }) {\n const theme = useTheme();\n const { t, locale } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [value, setValue] = useState('');\n const [publicToStore, setPublicToStore] = useState(false);\n const { blocklet, actions, getPublicInstance } = useBlockletContext();\n\n useEffect(() => {\n setValue(getWhoCanAccess(blocklet));\n setPublicToStore(getPublicInstance(blocklet));\n }, [blocklet]); // eslint-disable-line\n\n const submit = async (whoCanAccess) => {\n try {\n setLoading(true);\n await sleep(800);\n await actions.configWhoCanAccess(whoCanAccess);\n setLoading(false);\n } catch (err) {\n setLoading(false);\n Toast.error(err.message);\n }\n };\n\n const handleChange = async (event) => {\n if (loading) {\n return;\n }\n setValue(event.target.value);\n await submit(event.target.value);\n };\n const handleCheckBox = async (event) => {\n const isPublic = event.target.checked;\n try {\n setLoading(true);\n await actions.configPublicToStore(isPublic);\n setLoading(false);\n } catch (error) {\n setLoading(false);\n Toast.error(error.message);\n }\n };\n\n const iconStyle = {\n marginRight: 4,\n fontSize: 18,\n verticalAlign: 'text-bottom',\n color: theme.palette.text.secondary,\n };\n\n return (\n <Container>\n <div className=\"header\">\n <PageHeader title={t('blocklet.config.access.description')} />\n </div>\n\n <FormControl component=\"fieldset\">\n <RadioGroup name=\"inherit\" value={value} onChange={handleChange}>\n {AccessConfig.map((rule) => {\n return (\n <div key={rule.value} style={{ marginBottom: 16 }}>\n <FormControlLabel\n value={rule.value}\n control={<Radio color=\"primary\" />}\n label={\n <span>\n <rule.icon style={iconStyle} />\n {rule.title[locale]}\n </span>\n }\n />\n <Box className=\"tip\">\n {rule.description[locale]}\n {rule.value === WHO_CAN_ACCESS.ALL && value === WHO_CAN_ACCESS.ALL && blocklet.source === 'registry' && (\n <PublicInstance>\n <FormControlLabel\n style={{ marginRight: 0 }}\n value={rule.value}\n control={<Checkbox size=\"small\" />}\n label={<span>{t('blocklet.config.access.publicToStore')}</span>}\n onChange={handleCheckBox}\n checked={publicToStore}\n disabled={loading}\n />\n </PublicInstance>\n )}\n </Box>\n </div>\n );\n })}\n </RadioGroup>\n </FormControl>\n\n <StepActions mt={8} disabled={loading} blocklet={blocklet} onStartNow={() => onNext('complete')}>\n <Box display=\"flex\" alignItems=\"center\">\n <Button loading={loading} disabled={loading} onClick={() => onNext()}>\n {t('setup.continue')}\n </Button>\n </Box>\n </StepActions>\n </Container>\n );\n}\n\nAccessControl.propTypes = {\n onNext: PropTypes.func,\n};\n\nAccessControl.defaultProps = {\n onNext: () => {},\n};\n\nconst Container = styled(Layout)`\n height: 100%;\n overflow-y: auto;\n .header {\n width: 100%;\n }\n .tip {\n margin-left: 32px;\n font-size: 12px;\n margin-top: -8px;\n color: ${(props) => props.theme.palette.text.secondary};\n }\n`;\n","import styled from '@emotion/styled';\n\nconst Required = styled.span`\n color: ${(props) => props.theme.palette.error.main};\n &::before {\n content: '*';\n }\n`;\n\nexport default Required;\n","import { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from '@emotion/styled';\nimport joinUrl from 'url-join';\n\nimport Box from '@mui/material/Box';\nimport Link from '@mui/material/Link';\nimport LaunchIcon from '@mui/icons-material/Launch';\nimport { LocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport DidConnect from '@arcblock/did-connect/lib/Connect';\nimport DidAddress from '@arcblock/did-connect/lib/Address';\nimport Spinner from '@arcblock/ux/lib/Spinner';\n\nimport PageHeader from '@blocklet/launcher-layout/lib/page-header';\n\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport { useSessionContext } from '../../contexts/session';\nimport Layout from './layout';\nimport StepActions from './step-actions';\nimport Button from './button';\n\nexport default function Fuel({ onNext, onPrevious }) {\n const { locale, t } = useContext(LocaleContext);\n const { blocklet, gas, tokenInfo, actions } = useBlockletContext();\n const { api } = useSessionContext();\n const [open, setOpen] = useState(false);\n const { need = '', current = '', owe = 99999, deficiency, symbol = '', endpoint } = gas || {};\n const { origin: explorer = '/' } = endpoint ? new URL(endpoint) : {};\n\n useEffect(() => {\n const timer = setInterval(() => {\n actions.refreshFuel();\n }, 2000);\n\n return () => {\n clearInterval(timer);\n };\n }, []); // eslint-disable-line\n\n const onSuccess = () => {\n setOpen(false);\n };\n\n if (!gas) {\n return (\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"center\" width=\"100%\">\n <Spinner />\n </Box>\n );\n }\n\n return (\n <Container>\n <div className=\"header\">\n <PageHeader title={t('setup.fuel.title')} onClickBack={onPrevious} />\n </div>\n\n <Box className=\"qr-body\">\n <Box mb={6} className=\"tip\">\n {t('setup.fuel.tipStart').replace('slot', '')}\n <span className=\"amount\">{`${need} ${symbol}`}</span>\n {t('setup.fuel.tipEnd')}\n </Box>\n <Box fontSize={16} fontWeight=\"fontWeightBold\" mb={0.5}>\n {t('setup.fuel.addressTitle')}\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <DidAddress className=\"address\">{blocklet.appDid}</DidAddress>\n <Link\n style={{ lineHeight: 1 }}\n target=\"_blank\"\n href={joinUrl(explorer, '/explorer/accounts/', blocklet.appDid)}\n underline=\"hover\">\n <LaunchIcon className=\"icon-launch\" />\n </Link>\n </Box>\n <Box my={2}>\n <Button color=\"primary\" onClick={() => setOpen(true)} disabled={!owe}>\n {t('setup.fuel.fuelApp')}\n </Button>\n </Box>\n <DidConnect\n popup\n open={open}\n action=\"fuel\"\n checkFn={api.get}\n checkTimeout={10 * 60 * 1000}\n socketUrl={api.socketUrl}\n onSuccess={onSuccess}\n onClose={() => setOpen(false)}\n locale={locale}\n messages={{\n title: t('setup.connect.title'),\n scan: t('setup.connect.scan'),\n confirm: t('setup.connect.confirm'),\n success: t('setup.connect.success'),\n }}\n extraParams={{ amount: deficiency, ...tokenInfo, endpoint }}\n />\n\n <Box display=\"flex\" color=\"text.secondary\">\n <Box display=\"flex\">\n <Box>{t('setup.fuel.need')}:</Box>\n <Box ml={0.5} color=\"primary.main\" fontWeight=\"fontWeightBold\">\n {need}\n </Box>\n </Box>\n <Box display=\"flex\" ml={3}>\n <Box>{t('setup.fuel.current')}:</Box>\n <Box ml={0.5} color={owe > 0 ? 'error.main' : 'primary.main'} fontWeight=\"fontWeightBold\">\n {current}\n </Box>\n </Box>\n </Box>\n </Box>\n\n <StepActions mt={8}>\n <Button disabled={owe > 0} onClick={() => onNext()}>\n {t('setup.next')}\n </Button>\n </StepActions>\n </Container>\n );\n}\n\nFuel.propTypes = {\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\nFuel.defaultProps = {\n onNext: () => {},\n onPrevious: () => {},\n};\n\nconst Container = styled(Layout)`\n .qr-body {\n width: 580px;\n ${(props) => props.theme.breakpoints.down('md')} {\n width: 80%;\n }\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .tip {\n font-size: 16px;\n font-weight: bold;\n }\n\n .address {\n width: 100%;\n text-align: center;\n }\n\n .amount {\n color: ${(props) => props.theme.palette.primary.main};\n }\n\n .icon-launch {\n font-size: 16px;\n margin-left: 6px;\n line-height: 1;\n color: ${(props) => props.theme.palette.primary.main};\n }\n }\n`;\n","import { useState, useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport PropTypes from 'prop-types';\n\nimport ResultMessage from '@blocklet/launcher-layout/lib/launch-result-message';\n\nimport Box from '@mui/material/Box';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Toast from '@abtnode/ux/lib/toast';\nimport { getAccessUrl } from '@abtnode/ux/lib/util';\nimport { evaluateURLs } from '@abtnode/util/lib/url-evaluation';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport api from '../../libs/api';\nimport Layout from './layout';\nimport StepActions from './step-actions';\nimport Button from './button';\nimport { useBlockletContext } from '../../contexts/blocklet';\nimport { getFromQuery, PREFIX } from '../../util';\n\nexport default function Complete({ onPrevious }) {\n const { t } = useLocaleContext();\n const [loading, setLoading] = useState(false);\n const [status, setStatus] = useState('starting'); // stopped, starting, running\n const [startupError, setStartupError] = useState();\n const { blocklet } = useBlockletContext();\n const [recommendedURL, setRecommendedURL] = useState('');\n const fromLauncher = getFromQuery('from_launcher');\n\n const isStopped = !['starting', 'running'].includes(status);\n const isStarting = status === 'starting';\n const statusText = {\n stopped: t('blocklet.start'),\n starting: t('blocklet.starting'),\n running: t('blocklet.open'),\n };\n\n const visitBlocklet = () => {\n const url = new URL(window.location.href);\n const redirect = url.searchParams.get('redirect');\n if (redirect) {\n window.location.href = new URL(redirect, recommendedURL).href;\n } else {\n window.location.href = recommendedURL;\n }\n };\n\n const startBlocklet = async () => {\n setLoading(true);\n setStatus('starting');\n try {\n await api.post('/blocklet/start', {\n fromSetup: true,\n });\n setLoading(false);\n setStatus('running');\n } catch (err) {\n const errMsg = err?.response?.data || err.message;\n Toast.error(errMsg);\n setLoading(false);\n setStatus('stopped');\n setStartupError(errMsg);\n }\n };\n\n useEffect(() => {\n setStatus(blocklet.status);\n if (!['starting', 'running'].includes(blocklet.status)) {\n startBlocklet();\n }\n }, []); // eslint-disable-line\n\n useEffect(() => {\n const _setRecommendedURL = async () => {\n const results = await evaluateURLs(blocklet.site.domainAliases.map((item) => getAccessUrl(item.value, PREFIX)));\n setRecommendedURL(results[0].url);\n };\n if (!recommendedURL) {\n _setRecommendedURL();\n }\n }, [blocklet, recommendedURL]);\n\n const serverUrl = localStorage.getItem('blocklet-server-url');\n const title = startupError ? t('setup.complete.failedTitle') : t('setup.complete.title');\n\n const isButtonLoading = isStarting || !recommendedURL;\n\n if (fromLauncher && !isButtonLoading) {\n if (isStopped) {\n startBlocklet();\n } else {\n visitBlocklet();\n }\n }\n\n return (\n <Container>\n <StyledResultMessage\n variant={startupError ? 'error' : 'success'}\n title={title}\n footer={\n <StepActions>\n {isStopped && (\n <Button variant=\"outlined\" disabled={loading} onClick={() => onPrevious()}>\n {t('setup.previous')}\n </Button>\n )}\n\n {fromLauncher ? (\n <LinkEle rel=\"noreferrer\">\n <Spinner size={[16, 10]} style={{ marginRight: 14 }} /> {t('common.redirecting')}\n </LinkEle>\n ) : (\n <>\n <Button\n style={{ marginLeft: isStopped ? 24 : 0 }}\n disabled={loading || isStarting}\n onClick={() => (isStopped ? startBlocklet() : visitBlocklet())}\n loading={isButtonLoading}>\n {statusText[status] || statusText.stopped}\n </Button>\n\n {(status === 'running' || startupError) && !!serverUrl && (\n <Box width=\"100%\" mt={2}>\n <a href={serverUrl} target=\"_blank\" rel=\"noopener noreferrer\" className=\"back-to-server-link\">\n {t('setup.complete.backToServer')}\n </a>\n </Box>\n )}\n </>\n )}\n </StepActions>\n }\n />\n </Container>\n );\n}\n\nconst Container = styled(Layout)`\n justify-content: center;\n .icon-success {\n width: 64px;\n height: 64px;\n color: ${(props) => props.theme.palette.success.main};\n }\n .back-to-server-link {\n color: ${(props) => props.theme.palette.primary.main};\n }\n`;\n\nconst StyledResultMessage = styled(ResultMessage)`\n && .result-footer {\n height: 120px;\n > div {\n flex-wrap: wrap;\n }\n }\n`;\n\nComplete.propTypes = {\n onPrevious: PropTypes.func,\n};\n\nComplete.defaultProps = {\n onPrevious: () => {},\n};\n\nconst LinkEle = styled.a`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 36px;\n color: ${(props) => props.theme.palette.primary.main};\n`;\n","import { useEffect } from 'react';\nimport { Routes, Route, Navigate, useNavigate } from 'react-router-dom';\nimport styled from '@emotion/styled';\nimport joinUrl from 'url-join';\nimport { Global, css } from '@emotion/react';\n\nimport Box from '@mui/material/Box';\nimport Layout from '@blocklet/launcher-layout';\nimport { StepProvider } from '@blocklet/launcher-layout/lib/context/step';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport { useLocaleContext } from '@arcblock/ux/lib/Locale/context';\nimport Spinner from '@arcblock/ux/lib/Spinner';\nimport HeaderAddon from '@abtnode/ux/lib/layout/addon';\nimport ServerLogoNotext from '@arcblock/icons/lib/ServerLogoNotext';\nimport ServerLogo from '@arcblock/icons/lib/ServerLogo';\n\nimport { WELLKNOWN_SERVICE_PATH_PREFIX } from '@abtnode/constant';\nimport { getDisplayName } from '@blocklet/meta/lib/util';\n\nimport { BLOCKLET_APP_STORAGE_ENDPOINTS } from '@blocklet/constant';\nimport { hasRequiredEnvironments, saveServerUrl, PREFIX, getFromQuery } from '../util';\nimport { useBlockletContext } from '../contexts/blocklet';\nimport { SessionContext } from '../contexts/session';\nimport Connect from '../components/setup/connect';\nimport Config from '../components/setup/config';\nimport DidStorage from '../components/setup/did-storage';\nimport Domain from '../components/setup/domain';\nimport AccessControl from '../components/setup/access-control';\nimport Required from '../components/setup/required';\nimport Fuel from '../components/setup/fuel';\nimport Complete from '../components/setup/complete';\n\nexport default function BlockletSetup() {\n const isMobile = useMediaQuery((theme) => theme.breakpoints.down('md'));\n const { t, locale } = useLocaleContext();\n const navigate = useNavigate();\n const { meta, blocklet, actions } = useBlockletContext();\n const serverUrl = localStorage.getItem('blocklet-server-url');\n\n const fromLauncher = getFromQuery('from_launcher');\n\n useEffect(() => {\n actions.refreshMeta();\n actions.refreshBlocklet({ showError: false });\n // setup 流程刚开始时, 保存 serverUrl 到 localStorage, 方便在 setup 流程结束后返回 server\n saveServerUrl();\n }, []); // eslint-disable-line\n\n useEffect(() => {\n actions.refreshFuel({ showError: false });\n }, [blocklet?.meta?.did]); // eslint-disable-line\n\n const basePath = `${WELLKNOWN_SERVICE_PATH_PREFIX}/setup`;\n\n const getDidStorageStep = (blockletMeta) => {\n /**\n * @type {'required' | 'optional' | undefined}\n */\n const didStorageCapability = blockletMeta?.capabilities?.didStorage;\n\n if (!didStorageCapability) {\n return null;\n }\n\n if (didStorageCapability === BLOCKLET_APP_STORAGE_ENDPOINTS.REQUIRED) {\n return {\n key: 'did-storage',\n name: (\n <>\n {t('setup.steps.didStorage')} <Required />\n </>\n ),\n path: joinUrl(basePath, 'did-storage'),\n };\n }\n\n if (didStorageCapability === BLOCKLET_APP_STORAGE_ENDPOINTS.OPTIONAL) {\n return {\n key: 'did-storage',\n name: <>{t('setup.steps.didStorage')}</>,\n path: joinUrl(basePath, 'did-storage'),\n };\n }\n\n throw new Error(`capabilities.didStorage cannot take the value ${didStorageCapability}`);\n };\n\n const steps = [\n {\n key: 'connect',\n name: t('setup.steps.connect'),\n path: joinUrl(basePath, 'connect'),\n },\n {\n key: 'access',\n name: t('setup.steps.access'),\n path: joinUrl(basePath, 'access'),\n },\n {\n key: 'domain',\n name: t('setup.steps.domain'),\n path: joinUrl(basePath, 'domain'),\n },\n getDidStorageStep(meta),\n {\n key: 'config',\n name: (\n <>\n {t('setup.steps.config')} {hasRequiredEnvironments(meta) && <Required />}\n </>\n ),\n path: joinUrl(basePath, 'config'),\n },\n meta?.requirements?.fuels?.length\n ? {\n key: 'fuel',\n name: (\n <>\n {t('setup.steps.fuel')} <Required />\n </>\n ),\n path: joinUrl(basePath, 'fuel'),\n }\n : null,\n ].filter(Boolean);\n\n const stepIndex = steps.findIndex(\n (x) => `${PREFIX.replace(/\\/$/, '')}${basePath}/${x.key}` === window.location.pathname\n );\n\n const logoUrl = joinUrl(PREFIX, WELLKNOWN_SERVICE_PATH_PREFIX, '/blocklet/logo');\n\n const onNext = async (key) => {\n const { search } = new URL(window.location.href);\n if (!key) {\n if (steps[stepIndex + 1]) {\n navigate(`${joinUrl(basePath, steps[stepIndex + 1].key)}${search}`);\n } else {\n navigate(`${joinUrl(basePath, 'complete')}${search}`);\n }\n } else {\n const index = steps.findIndex((x) => x.key === key);\n if (index > -1) {\n navigate(`${joinUrl(basePath, steps[index].key)}${search}`);\n } else {\n navigate(`${joinUrl(basePath, 'complete')}${search}`);\n }\n }\n\n await actions.refreshBlocklet();\n };\n\n const onPrevious = () => {\n navigate(-1);\n };\n\n function withSetup(Component, props) {\n if (!blocklet) {\n return (\n <Box width=\"100%\" height=\"100%\" display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Spinner />\n </Box>\n );\n }\n\n return <Component blocklet={blocklet} {...props} onNext={onNext} onPrevious={onPrevious} />;\n }\n\n const clickLogo = () => {\n window.open(serverUrl);\n };\n\n const logo = !isMobile ? (\n <ServerLogo onClick={clickLogo} width=\"128\" height=\"48\" style={{ marginTop: -1, cursor: 'pointer' }} />\n ) : (\n <ServerLogoNotext onClick={clickLogo} width=\"32\" height=\"32\" style={{ cursor: 'pointer' }} />\n );\n\n const totalSteps = [\n {\n key: 'agreement',\n name: t('setup.steps.introduction'),\n },\n {\n key: 'select-node',\n name: t('setup.steps.selectNodeDesc'),\n },\n {\n key: 'install',\n name: t('setup.steps.launchAppDesc'),\n },\n {\n key: 'setup',\n name: t('setup.steps.setupAppDesc'),\n children: steps,\n },\n {\n key: 'complete',\n name: t('setup.steps.launched'),\n path: joinUrl(basePath, 'complete'),\n },\n ];\n\n if (!fromLauncher) {\n totalSteps.splice(1, 1);\n }\n\n return (\n <StyledStepProvider steps={totalSteps}>\n <Global styles={launcherGlobalStyle} />\n <Layout\n locale={locale}\n blockletMeta={{ ...meta, title: getDisplayName({ ...blocklet, meta }) }}\n navLogo={logo}\n pcWidth=\"80%\"\n style={{ height: '100%' }}\n logoUrl={logoUrl}\n useOfSkeleton={false}\n headerEndAddons={<HeaderAddon SessionContext={SessionContext} sessionManagerProps={{ disableLogout: true }} />}\n launchingText={t('setup.title')}>\n <Routes>\n <Route path=\"connect\" element={<Connect onNext={onNext} />} />\n <Route path=\"domain\" element={withSetup(Domain)} />\n <Route path=\"did-storage\" element={withSetup(DidStorage)} />\n <Route path=\"config\" element={withSetup(Config)} />\n <Route path=\"access\" element={withSetup(AccessControl)} />\n <Route path=\"fuel\" element={withSetup(Fuel)} />\n <Route path=\"complete\" element={withSetup(Complete)} />\n <Route path=\"*\" element={<Navigate to={`connect${window.location.search}`} replace />} />\n </Routes>\n </Layout>\n </StyledStepProvider>\n );\n}\n\nconst launcherGlobalStyle = css`\n html,\n body,\n #root,\n #root > .wrapper {\n height: 100%;\n }\n`;\n\nconst StyledStepProvider = styled(StepProvider)``;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ContentLayout;\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _jsxRuntime = require(\"react/jsx-runtime\");\nvar _templateObject;\nconst _excluded = [\"children\"];\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 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 ContentLayout(_ref) {\n let {\n children\n } = _ref,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, _objectSpread(_objectSpread({}, props), {}, {\n children: children\n }));\n}\nContentLayout.propTypes = {\n children: _propTypes.default.any.isRequired\n};\nconst Container = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n height: 100%;\\n\\n .header {\\n text-align: center;\\n }\\n\\n .body {\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n margin-top: 30px;\\n width: 100%;\\n min-height: 200px;\\n flex: 1;\\n\\n \", \" {\\n padding: 24px;\\n }\\n\\n \", \" {\\n padding: 0 16px 16px;\\n }\\n }\\n\\n .footer {\\n display: flex;\\n justify-content: center;\\n\\n \", \" {\\n padding-bottom: 34px;\\n }\\n\\n \", \" {\\n margin-top: auto;\\n padding-bottom: 10px;\\n }\\n }\\n\"])), props => props.theme.breakpoints.up('md'), props => props.theme.breakpoints.down('md'), props => props.theme.breakpoints.up('sm'), props => props.theme.breakpoints.down('md'));","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HeaderAddon;\nvar _react = require(\"react\");\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\nvar _reactRouterDom = require(\"react-router-dom\");\nvar _SessionManager = _interopRequireDefault(require(\"@arcblock/did-connect/lib/SessionManager\"));\nvar _selector = _interopRequireDefault(require(\"@arcblock/ux/lib/Locale/selector\"));\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\nvar _Globe = _interopRequireDefault(require(\"@arcblock/icons/lib/Globe\"));\nvar _QuestionMarkCircle = _interopRequireDefault(require(\"@arcblock/icons/lib/QuestionMarkCircle\"));\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 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 HeaderAddon(_ref) {\n let {\n SessionContext,\n extraItems,\n showLocale,\n showHelper,\n showSessionManager,\n sessionManagerProps\n } = _ref;\n const {\n session\n } = (0, _react.useContext)(SessionContext);\n const {\n locale\n } = (0, _react.useContext)(_context.LocaleContext);\n const location = (0, _reactRouterDom.useLocation)();\n const defaultEndpoint = 'https://developer.blocklet.io/docs';\n const docMap = {\n '/store': {\n endpoint: 'https://store.blocklet.io'\n },\n '/dashboard': {\n path: '/conceptual/overview'\n },\n '/settings/router': {\n path: '/conceptual/server-architecture'\n }\n };\n const onHelpClick = () => {\n const pathName = location.pathname;\n let doc = {};\n if (pathName.indexOf('/store') > -1) {\n doc = docMap['/store'];\n } else if (docMap[pathName]) {\n doc = docMap[pathName];\n }\n window.open(\"\".concat(doc.endpoint || defaultEndpoint, \"/\").concat(locale).concat(doc.path || ''), '_blank');\n };\n return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Div, {\n children: [extraItems.map((x, index) => /*#__PURE__*/(0, _react.cloneElement)(x, {\n key: index\n })), showLocale && /*#__PURE__*/(0, _jsxRuntime.jsx)(_selector.default, {\n \"data-cy\": \"locale-addon\",\n icon: _Globe.default,\n size: 23,\n showText: false,\n className: \"locale-addon\"\n }), showHelper && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {\n onClick: onHelpClick,\n children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuestionMarkCircle.default, {})\n }), showSessionManager && /*#__PURE__*/(0, _jsxRuntime.jsx)(_SessionManager.default, _objectSpread({\n session: session,\n size: 24,\n showRole: true\n }, sessionManagerProps))]\n });\n}\nHeaderAddon.propTypes = {\n SessionContext: _propTypes.default.object.isRequired,\n webWalletUrl: _propTypes.default.string,\n extraItems: _propTypes.default.array,\n showLocale: _propTypes.default.bool,\n showSessionManager: _propTypes.default.bool,\n showHelper: _propTypes.default.bool,\n sessionManagerProps: _propTypes.default.object\n};\nHeaderAddon.defaultProps = {\n webWalletUrl: '',\n extraItems: [],\n showLocale: true,\n showSessionManager: true,\n showHelper: true,\n sessionManagerProps: {}\n};\nconst Div = _styled.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\\n .MuiIconButton-root svg {\\n width: 26px;\\n height: 26px;\\n }\\n\\n .user-addon {\\n .user-avatar {\\n width: 28px;\\n border-radius: 14px;\\n height: auto;\\n }\\n }\\n\\n \", \" {\\n > button,\\n > a {\\n padding-left: 8px;\\n padding-right: 8px;\\n }\\n }\\n\"])), props => props.theme.breakpoints.down('md'));"],"names":["Connect","onNext","useLocaleContext","t","locale","useSessionContext","api","session","onConnect","result","decrypt","setSessionToken","sessionToken","refresh","Toast","message","WrapConnect","popup","open","hideCloseButton","action","checkFn","get","checkTimeout","socketUrl","webWalletUrl","getWebWalletUrl","onSuccess","messages","title","scan","confirm","success","extraParams","setup","launchType","getFromQuery","defaultProps","styled","DidConnect","ContentLayout","props","theme","breakpoints","up","StepActions","blocklet","onStartNow","children","disabled","hasRequiredSteps","meta","Center","Between","Button","className","variant","color","onClick","Box","display","alignItems","down","StyledButton","Config","onPrevious","isMobile","useMediaQuery","useState","loading","setLoading","editingItem","setEditingItem","useBlockletContext","actions","selfConfigs","configs","filter","x","BLOCKLET_CONFIGURABLE_KEY","key","customColor","environments","find","configurableEnvs","description","value","custom","componentType","componentProps","childrenConfigs","forEachChildSync","b","ancestorDids","ancestors","slice","map","did","push","childDid","concat","sortedConfig","uniqBy","flatten","sort","a","required","missingRequiredConfigs","getAppMissingConfigs","length","onSubmitConfig","config","omit","configBlocklet","defaultValue","schemaList","item","rest","style","marginBottom","subTitle","onClickBack","bottom","mt","refreshFuel","showError","margin","paddingTop","schema","onChange","changeValue","currentItem","includes","DidStorage","useContext","LocaleContext","loadingText","errorMessage","setErrorMessage","e","endpoint","setEndpoint","didStorageUrl","setDidStorageUrl","window","appDid","appId","appName","appDescription","saveStorageEndpoint","storageEndpoint","client","input","then","catch","error","console","axios","baseURL","urljoin","response","setTimeout","setAuthorizeConnect","preValue","onClose","authorizeConnect","handleOnClickAuthorize","isEmpty","prefix","baseUrl","URL","origin","scopes","useEffect","Typography","gutterBottom","StorageUrlTextField","label","event","target","autoFocus","size","helperText","InputProps","endAdornment","sx","position","right","justifyContent","width","height","fontWeight","capabilities","didStorage","Container","Layout","TextField","isCertInProgress","cert","status","waitForCert","domain","Promise","resolve","reject","timer","setInterval","clearInterval","addCert","Domain","setLoadingText","setError","ip","setIp","showCertFailed","setShowCertFailed","domains","site","domainAliases","defaultCustomDomain","isProtected","systemDomains","replaceSlotToIp","setDomain","addDomain","secure","sleep","some","id","domainAlias","dryRun","submitDomain","address","data","Error","curDomain","location","hostname","generated","err","Dialog","PaperProps","minHeight","showCloseButton","mb","textDecoration","component","marginTop","fullWidth","errMessage","validateDomain","mx","PublicInstance","Tooltip","IconButton","InfoOutlined","fontSize","memo","AccessControl","useTheme","setValue","publicToStore","setPublicToStore","getPublicInstance","getWhoCanAccess","submit","whoCanAccess","configWhoCanAccess","handleChange","handleCheckBox","isPublic","checked","configPublicToStore","iconStyle","marginRight","verticalAlign","palette","text","secondary","FormControl","RadioGroup","name","AccessConfig","rule","FormControlLabel","control","Radio","icon","WHO_CAN_ACCESS","source","Checkbox","main","Fuel","gas","tokenInfo","setOpen","need","current","owe","deficiency","symbol","explorer","replace","Link","lineHeight","href","joinUrl","underline","Launch","my","amount","ml","Spinner","primary","Complete","setStatus","startupError","setStartupError","recommendedURL","setRecommendedURL","fromLauncher","isStopped","isStarting","statusText","stopped","starting","running","visitBlocklet","redirect","searchParams","startBlocklet","fromSetup","errMsg","_setRecommendedURL","evaluateURLs","getAccessUrl","PREFIX","results","url","serverUrl","localStorage","getItem","isButtonLoading","StyledResultMessage","footer","LinkEle","rel","marginLeft","ResultMessage","BlockletSetup","navigate","useNavigate","refreshMeta","refreshBlocklet","saveServerUrl","basePath","WELLKNOWN_SERVICE_PATH_PREFIX","steps","path","blockletMeta","didStorageCapability","BLOCKLET_APP_STORAGE_ENDPOINTS","getDidStorageStep","hasRequiredEnvironments","requirements","fuels","Boolean","stepIndex","findIndex","pathname","logoUrl","search","index","withSetup","Component","clickLogo","logo","ServerLogoNotext","cursor","ServerLogo","totalSteps","splice","StyledStepProvider","Global","styles","launcherGlobalStyle","getDisplayName","navLogo","pcWidth","useOfSkeleton","headerEndAddons","SessionContext","sessionManagerProps","disableLogout","launchingText","element","to","css","StepProvider","exports","_templateObject","_styled","_interopRequireDefault","require","_propTypes","_jsxRuntime","_excluded","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","i","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_ref","jsx","propTypes","any","isRequired","strings","raw","div","freeze","HeaderAddon","_react","_IconButton","_reactRouterDom","_SessionManager","_selector","_context","_Globe","_QuestionMarkCircle","extraItems","showLocale","showHelper","showSessionManager","useLocation","docMap","jsxs","Div","cloneElement","showText","pathName","doc","showRole","string","array","bool"],"sourceRoot":""}