@abtnode/blocklet-services 1.8.19 → 1.8.21

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css",
4
- "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.5cdb1ae7.js",
4
+ "main.js": "/.blocklet/proxy/blocklet-service/static/js/main.f7daf41f.js",
5
5
  "static/js/560.60bd29f3.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/560.60bd29f3.chunk.js",
6
6
  "static/js/255.a8eba332.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/255.a8eba332.chunk.js",
7
7
  "static/js/472.c389b098.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/472.c389b098.chunk.js",
@@ -13,7 +13,7 @@
13
13
  "static/js/244.6bfddb66.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/244.6bfddb66.chunk.js",
14
14
  "static/js/699.bd2c7001.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/699.bd2c7001.chunk.js",
15
15
  "static/js/575.ceda4e9e.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/575.ceda4e9e.chunk.js",
16
- "static/js/532.2768ffe6.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/532.2768ffe6.chunk.js",
16
+ "static/js/532.df6be59f.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/532.df6be59f.chunk.js",
17
17
  "static/media/ubuntu-mono-all-400-normal.woff": "/.blocklet/proxy/blocklet-service/static/media/ubuntu-mono-all-400-normal.c879328bc62e9c68268f.woff",
18
18
  "static/media/lato-all-400-normal.woff": "/.blocklet/proxy/blocklet-service/static/media/lato-all-400-normal.3dc1eff492ab1f598560.woff",
19
19
  "static/media/lato-all-700-normal.woff": "/.blocklet/proxy/blocklet-service/static/media/lato-all-700-normal.1e7707c9ec98d9b97e7f.woff",
@@ -34,7 +34,7 @@
34
34
  "router-template-styles/styles.css": "/.blocklet/proxy/blocklet-service/router-template-styles/styles.css",
35
35
  "index.html": "/.blocklet/proxy/blocklet-service/index.html",
36
36
  "main.632501d5.css.map": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css.map",
37
- "main.5cdb1ae7.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.5cdb1ae7.js.map",
37
+ "main.f7daf41f.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.f7daf41f.js.map",
38
38
  "560.60bd29f3.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/560.60bd29f3.chunk.js.map",
39
39
  "255.a8eba332.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/255.a8eba332.chunk.js.map",
40
40
  "472.c389b098.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/472.c389b098.chunk.js.map",
@@ -46,10 +46,10 @@
46
46
  "244.6bfddb66.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/244.6bfddb66.chunk.js.map",
47
47
  "699.bd2c7001.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/699.bd2c7001.chunk.js.map",
48
48
  "575.ceda4e9e.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/575.ceda4e9e.chunk.js.map",
49
- "532.2768ffe6.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/532.2768ffe6.chunk.js.map"
49
+ "532.df6be59f.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/532.df6be59f.chunk.js.map"
50
50
  },
51
51
  "entrypoints": [
52
52
  "static/css/main.632501d5.css",
53
- "static/js/main.5cdb1ae7.js"
53
+ "static/js/main.f7daf41f.js"
54
54
  ]
55
55
  }
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.5cdb1ae7.js"></script><link href="/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/.well-known/service/static/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.f7daf41f.js"></script><link href="/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -0,0 +1,2 @@
1
+ (self.webpackChunk_abtnode_blocklet_services=self.webpackChunk_abtnode_blocklet_services||[]).push([[532],{65724:function(e){var t=function(e){return function(t){var n=Object.entries(e).find((function(e){return e[1]===Number(t)}));return n?n[0]:"unknown"}},n=function(e){return function(t){return Object.keys(e).find((function(n){return e[n]===Number(t)}))}},r=Object.freeze({added:0,downloading:1,downloaded:2,installing:3,installed:4,starting:5,running:6,stopping:7,stopped:8,error:9,upgrading:10,restarting:11,corrupted:12,waiting:13,deleted:14}),o=t(r),a=n(r),c=Object.freeze({registry:0,local:1,upload:2,url:3,custom:4}),l=t(c),i=n(c),s=Object.freeze({static:"static",dapp:"dapp",starter:!1,gateway:"gateway"}),u=Object.freeze({added:"blocklet.added",downloadFailed:"blocklet.downloadFailed",installed:"blocklet.installed",installFailed:"blocklet.installFailed",upgraded:"blocklet.upgraded",upgradeFailed:"blocklet.upgradedFailed",downgraded:"blocklet.downgraded",downgradeFailed:"blocklet.downgradedFailed",updated:"blocklet.updated",statusChange:"blocklet.statusChange",removed:"blocklet.removed",started:"blocklet.started",startFailed:"blocklet.startFailed",stopped:"blocklet.stopped",reloaded:"blocklet.reloaded",purchaseChange:"blocklet.purchaseChange"}),d="service",f="wellknown",E=["web",d,f],p="publicUrl",L="wellknownUrl",_=[p],O=[p,L],T="http",C=["tcp","udp",T];e.exports=Object.freeze({BlockletStatus:r,fromBlockletStatus:o,toBlockletStatus:a,BlockletSource:c,fromBlockletSource:l,toBlockletSource:i,BlockletGroup:s,BLOCKLET_GROUPS:["dapp","static","gateway"],BlockletEvents:u,BLOCKLET_PLATFORMS:["aix","darwin","freebsd","linux","openbsd","sunos","win32"],BLOCKLET_ARCHITECTURES:["arm","arm64","ia32","mips","mipsel","ppc","ppc64","s390","s390x","x32","x64"],BLOCKLET_MODES:Object.freeze({PRODUCTION:"production",DEVELOPMENT:"development"}),BLOCKLET_FACTORY_SHARES:{developer:.7,store:.3},BLOCKLET_INTERFACE_PUBLIC:p,BLOCKLET_INTERFACE_WELLKNOWN:L,BLOCKLET_UI_INTERFACES:_,BLOCKLET_STANDARD_INTERFACES:O,BLOCKLET_INTERFACE_TYPE_WEB:"web",BLOCKLET_INTERFACE_TYPE_SERVICE:d,BLOCKLET_INTERFACE_TYPE_WELLKNOWN:f,BLOCKLET_INTERFACE_TYPES:E,BLOCKLET_INTERFACE_PROTOCOL_HTTP:T,BLOCKLET_INTERFACE_PROTOCOL_TCP:"tcp",BLOCKLET_INTERFACE_PROTOCOL_UDP:"udp",BLOCKLET_INTERFACE_PROTOCOLS:C,BLOCKLET_DYNAMIC_PATH_PREFIX:"*",BLOCKLET_DEFAULT_PORT_NAME:"BLOCKLET_PORT",BLOCKLET_DEFAULT_PATH_REWRITE:"/",BLOCKLET_RELEASE_FOLDER:".blocklet/release",BLOCKLET_RELEASE_FILE:"blocklet.json",BLOCKLET_BUNDLE_FOLDER:".blocklet/bundle",BLOCKLET_BUNDLE_FILE:"blocklet.zip",BLOCKLET_ENTRY_FILE:"blocklet.js",BLOCKLET_META_FILE:"blocklet.yml",BLOCKLET_META_FILE_ALT:"blocklet.yaml",BLOCKLET_DEFAULT_VERSION:"1.0.0",BLOCKLET_LATEST_SPEC_VERSION:"1.2.7",BLOCKLET_LATEST_REQUIREMENT_SERVER:">=1.7.0",BLOCKLET_LATEST_REQUIREMENT_ABTNODE:">=1.5.15",BLOCKLET_CONFIGURABLE_KEY:{BLOCKLET_CLUSTER_SIZE:"BLOCKLET_CLUSTER_SIZE",BLOCKLET_APP_NAME:"BLOCKLET_APP_NAME",BLOCKLET_APP_DESCRIPTION:"BLOCKLET_APP_DESCRIPTION",BLOCKLET_APP_SK:"BLOCKLET_APP_SK",BLOCKLET_APP_URL:"BLOCKLET_APP_URL",BLOCKLET_PASSPORT_COLOR:"BLOCKLET_PASSPORT_COLOR",BLOCKLET_WALLET_TYPE:"BLOCKLET_WALLET_TYPE",BLOCKLET_DELETABLE:"BLOCKLET_DELETABLE"}})},7017:function(e,t,n){var r=n(27609).default,o=n(91461).default,a=n(38636).default,c=n(46292),l=n(67179),i=n(19611),s=n(20244),u=s.NODE_SERVICES,d=s.SLOT_FOR_IP_DNS_SITE,f=s.WHO_CAN_ACCESS,E=n(65724),p=E.BlockletGroup,L=E.fromBlockletStatus,_=E.fromBlockletSource,O=E.BLOCKLET_INTERFACE_TYPE_WEB,T=E.BLOCKLET_CONFIGURABLE_KEY,C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return"".concat(t.map((function(e){return e&&e.meta?e.meta.did:""})).join("/")).concat(t.length?"/":"").concat(e&&e.meta?e.meta.did:"")},v=function e(t,n){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l=c.parallel,i=void 0!==l&&l,s=c.sync,u=c.params,d=c._parent,f=c._root,E=c._level,p=void 0===E?0:E,L=c._tasks,_=c._ancestors,O=void 0===_?[]:_,T=f||d||t,v=C(t,O),b=O.concat(t);if(s){var h=n(t,{parent:d,root:T,level:p,params:u,ancestors:O,id:v});if(t.children){var g,m=a(t.children);try{for(m.s();!(g=m.n()).done;){var B=g.value;e(B,n,{sync:s,params:h,_parent:t,_root:T,_level:p+1,_ancestors:b})}}catch(S){m.e(S)}finally{m.f()}}return null}if(!i)return new Promise(function(){var c=o(r().mark((function o(c,l){var i,s,f,E;return r().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,n(t,{parent:d,root:T,level:p,ancestors:O,params:u,id:v});case 3:if(i=r.sent,!t.children){r.next=22;break}s=a(t.children),r.prev=6,s.s();case 8:if((f=s.n()).done){r.next=14;break}return E=f.value,r.next=12,e(E,n,{params:i,_parent:t,_root:T,_level:p+1,_ancestors:b});case 12:r.next=8;break;case 14:r.next=19;break;case 16:r.prev=16,r.t0=r.catch(6),s.e(r.t0);case 19:return r.prev=19,s.f(),r.finish(19);case 22:c(null),r.next=28;break;case 25:r.prev=25,r.t1=r.catch(0),l(r.t1);case 28:case"end":return r.stop()}}),o,null,[[0,25],[6,16,19,22]])})));return function(e,t){return c.apply(this,arguments)}}());var k=L||[];if(k.push(n(t,{parent:d,root:T,level:p,ancestors:O,id:v})),t.children){var A,P=a(t.children);try{for(P.s();!(A=P.n()).done;){var y=A.value;e(y,n,{parallel:i,_parent:t,_root:T,_level:p+1,_tasks:k,_ancestors:b})}}catch(S){P.e(S)}finally{P.f()}}return L?null:Promise.all(k)},b=function(e,t){return v(e,t,{sync:!0})},h=function(e,t,n){return v(e,(function(e,n){return 0===n.level?{}:t(e,n)}),n)},g=function(e,t){var n={};if(!t)return n;for(var r=t.length-1;r>=0;r--){var o=t[r];Array.isArray(o.configs)&&o.configs.forEach((function(t){var r=t.key,o=t.value,a=t.secure,c=t.shared;if(!n[r]&&o&&!1===a&&!1!==c&&!T[r]){var l=(e.configs||[]).find((function(e){return e.key===r}));l&&l.value||(n[r]=o)}}))}return n},m=function(e){if(!e)return null;var t=(e.meta||e||{}).interfaces,n=void 0===t?[]:t;return Array.isArray(n)?n.find((function(e){return e.type===O})):null},B=function(e,t){var n=[t];t===u.AUTH&&n.push(u.AUTH_SERVICE);var r=m(e);return r?(r.services||[]).find((function(e){return n.includes(e.name)})):null};e.exports={isFreeBlocklet:function(e){return!e.payment||(e.payment.price||[]).map((function(e){return e.value||0})).every((function(e){return 0===e}))},isFreeComponent:function(e){return!e.payment||(!e.payment.componentPrice||!e.payment.componentPrice.length)},isComponentBlocklet:function(e){return!1!==c(e,"capabilities.component")},forEachBlocklet:v,forEachBlockletSync:b,forEachChild:h,forEachChildSync:function(e,t){return h(e,t,{sync:!0})},isDeletableBlocklet:function(e){if(!e)return!1;var t=e.environments.find((function(e){return"BLOCKLET_DELETABLE"===e.key}));return!t||"yes"===t.value},getSharedConfigObj:g,getAppMissingConfigs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=[];return b(e,(function(e,n){var r=n.ancestors,o=e.configs||[],a=g(e,r);o.forEach((function(n){!n.required||n.value||a[n.key]||t.push({did:e.meta.did,key:n.key,description:n.description})}))})),t},getComponentMissingConfigs:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=e.configs||[],o=g(e,t);return r.forEach((function(t){!t.required||t.value||o[t.key]||n.push({did:e.meta.did,key:t.key,description:t.description})})),n},wipeSensitiveData:function(e){return e?(v(e,(function(t){(t.configs||[]).forEach((function(e){e.secure&&(e.value=e.value?"__encrypted__":"")})),(t.environments||[]).forEach((function(e){["BLOCKLET_APP_SK"].includes(e.key)&&(e.value="__encrypted__")})),delete e.configObj,delete e.environmentObj}),{sync:!0}),e):e},hasRunnableComponent:function(e){var t=!1;return b(e,(function(e){e.meta.group!==p.gateway&&(t=!0)})),t},getDisplayName:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.meta;if(!n&&e.environments){var o=e.environments.find((function(e){return"BLOCKLET_APP_NAME"===e.key}));o&&o.value&&(t=o.value)}return t||r.title||r.name},fixBlockletStatus:function(e){e&&(b(e,(function(e){e.status=L(e.status),void 0!==e.source&&(e.source=_(e.source))})),e.settings&&(e.settings.children||[]).forEach((function(e){b(e,(function(e){e.status=L(e.status),void 0!==e.source&&(e.source=_(e.source))}))})))},findWebInterface:m,findServiceFromMeta:B,getWhoCanAccess:function(e){if(!e)return f.ALL;if(c(e,"settings.whoCanAccess"))return e.settings.whoCanAccess;var t=B(e.meta,u.AUTH);return c(t,"config.whoCanAccess")?t.config.whoCanAccess:f.ALL},replaceSlotToIp:function(e,t){return(e||"").replace(d,(t||"").replace(/\./g,"-"))},urlFriendly:function(e){return l(e.replace(/^[@./-]/,"").replace(/[@./_]/g,"-"))},getComponentId:C,getComponentName:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return"".concat(t.map((function(e){return e&&e.meta?e.meta.name:""})).join("/")).concat(t.length?"/":"").concat(e&&e.meta?e.meta.name:"")},getComponentBundleId:function(e){return"".concat(e.meta.bundleName,"@").concat(e.meta.version)},findComponentById:function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=r._ancestors,c=void 0===o?[]:o,l=r.returnAncestors,i=void 0!==l&&l,s=C(t,c);if(n===s)return i?{component:t,ancestors:c}:t;var u,d=a(t.children||[]);try{for(d.s();!(u=d.n()).done;){var f=u.value,E=c.concat(t),p=e(f,n,{_ancestors:E,returnAncestors:i});if(p)return p}}catch(L){d.e(L)}finally{d.f()}return null},getParentComponentName:function(e){if(!e)return"";var t=e.split("/");return t.pop(),t.length?(t[t.length-1].startsWith("@")&&t.pop(),t.length?t.join("/"):""):""},getConnectAppUrl:function(e){var t=e.request,n=e.baseUrl,r=t.headers["x-blocklet-did"]||"",o=t.headers["x-blocklet-real-did"]||"",a=t.headers["x-path-prefix"]||"/",c=t.headers["x-group-path-prefix"]||"/",l=n;return r!==o&&a!==c&&(l=i(i(l,"/").replace(a,c),"")),l}}},56229:function(e,t,n){"use strict";t.Z=C;var r,o=n(30969),a=L(n(16380)),c=L(n(24974)),l=L(n(4328)),i=n(4716),s=L(n(85820)),u=L(n(71847)),d=n(42167),f=L(n(46513)),E=L(n(91077)),p=n(37574);function L(e){return e&&e.__esModule?e:{default:e}}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach((function(t){T(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){var t=e.SessionContext,n=e.extraItems,r=e.showLocale,a=e.showHelper,c=e.showSessionManager,L=e.sessionManagerProps,_=(0,o.useContext)(t).session,T=(0,o.useContext)(d.LocaleContext).locale,C=(0,i.useLocation)(),v={"/dashboard":"/introduction/abtnode-overview","/store":"/marketplace","/blocklets":"/blocklet","/router/rules":"/router","/router/engine":"/router","/settings/basic":"/misc","/settings/team":"/misc/member-management","/console":"/misc/graphql-console"};return(0,p.jsxs)(h,{children:[n.map((function(e,t){return(0,o.cloneElement)(e,{key:t})})),r&&(0,p.jsx)(u.default,{"data-cy":"locale-addon",icon:f.default,size:23,showText:!1,className:"locale-addon"}),a&&(0,p.jsx)(l.default,{onClick:function(){var e=C.pathname,t="";e.indexOf("/blocklets")>-1?t=v["/blocklets"]:e.indexOf("/store")>-1?t=v["/store"]:v[e]&&(t=v[e]),window.open("https://docs.arcblock.io/abtnode/".concat(T).concat(t),"_blank")},children:(0,p.jsx)(E.default,{})}),c&&(0,p.jsx)(s.default,O({session:_,size:24,showRole:!0},L))]})}C.propTypes={SessionContext:c.default.object.isRequired,webWalletUrl:c.default.string,extraItems:c.default.array,showLocale:c.default.bool,showSessionManager:c.default.bool,showHelper:c.default.bool,sessionManagerProps:c.default.object},C.defaultProps={webWalletUrl:"",extraItems:[],showLocale:!0,showSessionManager:!0,showHelper:!0,sessionManagerProps:{}};var v,b,h=a.default.div(r||(v=["\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"],b||(b=v.slice(0)),r=Object.freeze(Object.defineProperties(v,{raw:{value:Object.freeze(b)}}))),(function(e){return e.theme.breakpoints.down("md")}))}}]);
2
+ //# sourceMappingURL=532.df6be59f.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/js/532.df6be59f.chunk.js","mappings":"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","sources":["../../../blocklet/meta/lib/constants.js","../../../blocklet/meta/lib/util.js","../../ux/lib/layout/addon.js"],"sourcesContent":["const fromEntry = (entries) => (v) => {\n const match = Object.entries(entries).find((x) => x[1] === Number(v));\n return match ? match[0] : 'unknown';\n};\n\nconst toEntry = (entries) => (v) => Object.keys(entries).find((x) => entries[x] === Number(v));\n\n// Blocklet Status\n\nconst BlockletStatus = Object.freeze({\n added: 0,\n downloading: 1,\n downloaded: 2, // Deprecated\n installing: 3,\n installed: 4,\n starting: 5,\n running: 6,\n stopping: 7,\n stopped: 8,\n error: 9,\n upgrading: 10,\n restarting: 11, // Deprecated\n corrupted: 12,\n waiting: 13,\n deleted: 14,\n});\n\nconst fromBlockletStatus = fromEntry(BlockletStatus);\nconst toBlockletStatus = toEntry(BlockletStatus);\n\n// Blocklet Source\n\nconst BlockletSource = Object.freeze({\n // Installed from Blocklet Store\n registry: 0,\n\n // Installed from local development source folder\n local: 1,\n\n // Installed from uploading bundle directly\n upload: 2,\n\n // Installed from a url (similar to Blocklet Store)\n url: 3,\n\n // Installed by custom creation\n custom: 4,\n});\n\nconst fromBlockletSource = fromEntry(BlockletSource);\nconst toBlockletSource = toEntry(BlockletSource);\n\n// Blocklet Group(Type)\n\nconst BlockletGroup = Object.freeze({\n // Only static website\n // The website is served by by Blocklet Server at runtime\n static: 'static',\n\n // The runtime instance is provided by its own backend server\n dapp: 'dapp',\n\n starter: false, // deprecated\n\n // This type is used to combine other component blocklets\n // No instance will be spawned at runtime\n gateway: 'gateway',\n});\n\nconst BLOCKLET_GROUPS = ['dapp', 'static', 'gateway'];\n\n// Blocklet Events\n\nconst BlockletEvents = Object.freeze({\n added: 'blocklet.added',\n downloadFailed: 'blocklet.downloadFailed',\n installed: 'blocklet.installed',\n installFailed: 'blocklet.installFailed',\n upgraded: 'blocklet.upgraded',\n upgradeFailed: 'blocklet.upgradedFailed',\n downgraded: 'blocklet.downgraded',\n downgradeFailed: 'blocklet.downgradedFailed',\n updated: 'blocklet.updated',\n statusChange: 'blocklet.statusChange',\n removed: 'blocklet.removed',\n started: 'blocklet.started',\n startFailed: 'blocklet.startFailed',\n stopped: 'blocklet.stopped',\n reloaded: 'blocklet.reloaded', // Deprecated\n purchaseChange: 'blocklet.purchaseChange',\n});\n\n// Blocklet Interface\n\nconst BLOCKLET_INTERFACE_TYPE_WEB = 'web';\nconst BLOCKLET_INTERFACE_TYPE_SERVICE = 'service';\n\n// Wellknown interface declares an sub-interface under web interface\n// The path of the wellknown interface must starts with /.well-known, e.g. /.well-known/acme-challenge)\n// The wellknown interface can be mounted to every endpoint of the abtnode and all blocklets on the abtnode\nconst BLOCKLET_INTERFACE_TYPE_WELLKNOWN = 'wellknown';\nconst BLOCKLET_INTERFACE_TYPES = [\n BLOCKLET_INTERFACE_TYPE_WEB,\n BLOCKLET_INTERFACE_TYPE_SERVICE,\n BLOCKLET_INTERFACE_TYPE_WELLKNOWN,\n];\n\nconst BLOCKLET_INTERFACE_PUBLIC = 'publicUrl';\nconst BLOCKLET_INTERFACE_WELLKNOWN = 'wellknownUrl'; // Deprecated\nconst BLOCKLET_UI_INTERFACES = [BLOCKLET_INTERFACE_PUBLIC];\nconst BLOCKLET_STANDARD_INTERFACES = [BLOCKLET_INTERFACE_PUBLIC, BLOCKLET_INTERFACE_WELLKNOWN];\n\nconst BLOCKLET_INTERFACE_PROTOCOL_HTTP = 'http';\nconst BLOCKLET_INTERFACE_PROTOCOL_TCP = 'tcp';\nconst BLOCKLET_INTERFACE_PROTOCOL_UDP = 'udp';\nconst BLOCKLET_INTERFACE_PROTOCOLS = [\n BLOCKLET_INTERFACE_PROTOCOL_TCP,\n BLOCKLET_INTERFACE_PROTOCOL_UDP,\n BLOCKLET_INTERFACE_PROTOCOL_HTTP,\n];\n\nmodule.exports = Object.freeze({\n BlockletStatus,\n fromBlockletStatus,\n toBlockletStatus,\n\n BlockletSource,\n fromBlockletSource,\n toBlockletSource,\n\n BlockletGroup,\n BLOCKLET_GROUPS,\n\n BlockletEvents,\n\n BLOCKLET_PLATFORMS: ['aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos', 'win32'],\n BLOCKLET_ARCHITECTURES: ['arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64'],\n\n BLOCKLET_MODES: Object.freeze({\n PRODUCTION: 'production',\n DEVELOPMENT: 'development',\n }),\n\n BLOCKLET_FACTORY_SHARES: { developer: 0.7, store: 0.3 },\n\n // interface\n BLOCKLET_INTERFACE_PUBLIC,\n BLOCKLET_INTERFACE_WELLKNOWN, // Deprecated\n BLOCKLET_UI_INTERFACES,\n BLOCKLET_STANDARD_INTERFACES,\n\n BLOCKLET_INTERFACE_TYPE_WEB,\n BLOCKLET_INTERFACE_TYPE_SERVICE,\n BLOCKLET_INTERFACE_TYPE_WELLKNOWN,\n BLOCKLET_INTERFACE_TYPES,\n\n BLOCKLET_INTERFACE_PROTOCOL_HTTP,\n BLOCKLET_INTERFACE_PROTOCOL_TCP,\n BLOCKLET_INTERFACE_PROTOCOL_UDP,\n BLOCKLET_INTERFACE_PROTOCOLS,\n\n BLOCKLET_DYNAMIC_PATH_PREFIX: '*',\n BLOCKLET_DEFAULT_PORT_NAME: 'BLOCKLET_PORT',\n BLOCKLET_DEFAULT_PATH_REWRITE: '/',\n\n // bundle\n BLOCKLET_RELEASE_FOLDER: '.blocklet/release',\n BLOCKLET_RELEASE_FILE: 'blocklet.json',\n BLOCKLET_BUNDLE_FOLDER: '.blocklet/bundle',\n BLOCKLET_BUNDLE_FILE: 'blocklet.zip',\n BLOCKLET_ENTRY_FILE: 'blocklet.js',\n BLOCKLET_META_FILE: 'blocklet.yml',\n BLOCKLET_META_FILE_ALT: 'blocklet.yaml',\n\n BLOCKLET_DEFAULT_VERSION: '1.0.0',\n\n BLOCKLET_LATEST_SPEC_VERSION: '1.2.7',\n BLOCKLET_LATEST_REQUIREMENT_SERVER: '>=1.7.0',\n BLOCKLET_LATEST_REQUIREMENT_ABTNODE: '>=1.5.15', // Deprecated\n\n BLOCKLET_CONFIGURABLE_KEY: {\n BLOCKLET_CLUSTER_SIZE: 'BLOCKLET_CLUSTER_SIZE',\n BLOCKLET_APP_NAME: 'BLOCKLET_APP_NAME',\n BLOCKLET_APP_DESCRIPTION: 'BLOCKLET_APP_DESCRIPTION',\n BLOCKLET_APP_SK: 'BLOCKLET_APP_SK',\n BLOCKLET_APP_URL: 'BLOCKLET_APP_URL',\n BLOCKLET_PASSPORT_COLOR: 'BLOCKLET_PASSPORT_COLOR',\n BLOCKLET_WALLET_TYPE: 'BLOCKLET_WALLET_TYPE',\n BLOCKLET_DELETABLE: 'BLOCKLET_DELETABLE',\n },\n});\n","/* eslint-disable no-await-in-loop */\nconst get = require('lodash/get');\nconst slugify = require('slugify');\nconst joinUrl = require('url-join');\n\nconst { NODE_SERVICES, SLOT_FOR_IP_DNS_SITE, WHO_CAN_ACCESS } = require('@abtnode/constant');\n\nconst {\n BlockletGroup,\n fromBlockletStatus,\n fromBlockletSource,\n BLOCKLET_INTERFACE_TYPE_WEB,\n BLOCKLET_CONFIGURABLE_KEY,\n} = require('./constants');\n\nconst getComponentId = (component, ancestors = []) =>\n `${ancestors.map((x) => (x && x.meta ? x.meta.did : '')).join('/')}${ancestors.length ? '/' : ''}${\n component && component.meta ? component.meta.did : ''\n }`;\n\nconst getComponentName = (component, ancestors = []) =>\n `${ancestors.map((x) => (x && x.meta ? x.meta.name : '')).join('/')}${ancestors.length ? '/' : ''}${\n component && component.meta ? component.meta.name : ''\n }`;\n\nconst getComponentBundleId = (component) => `${component.meta.bundleName}@${component.meta.version}`;\n\n/**\n * a => ''\n * @a/b => ''\n * a/b => a\n * @a/b/c => @a/b\n * a/@b/c => a\n * @a/b/@c/d => @a/b\n * @a/b/@c/d/e => @a/b/@c/d\n * @a/b/@c/d/@e/f => @a/b/@c/d\n */\nconst getParentComponentName = (name) => {\n if (!name) {\n return '';\n }\n\n const arr = name.split('/');\n arr.pop();\n\n if (!arr.length) {\n return '';\n }\n\n if (arr[arr.length - 1].startsWith('@')) {\n arr.pop();\n }\n\n if (!arr.length) {\n return '';\n }\n\n return arr.join('/');\n};\n\nconst forEachBlocklet = (\n blocklet,\n cb,\n { parallel = false, sync, params: inputParams, _parent, _root, _level = 0, _tasks: inputTasks, _ancestors = [] } = {}\n) => {\n const root = _root || _parent || blocklet;\n\n // id maybe meaningless if no meta in blocklet or _ancestors\n const id = getComponentId(blocklet, _ancestors);\n\n const newAncestors = _ancestors.concat(blocklet);\n\n // sync\n if (sync) {\n const params = cb(blocklet, {\n parent: _parent,\n root,\n level: _level,\n params: inputParams,\n ancestors: _ancestors,\n id,\n });\n if (blocklet.children) {\n for (const child of blocklet.children) {\n forEachBlocklet(child, cb, {\n sync,\n params,\n _parent: blocklet,\n _root: root,\n _level: _level + 1,\n _ancestors: newAncestors,\n });\n }\n }\n return null;\n }\n\n // serial\n if (!parallel) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise(async (resolve, reject) => {\n try {\n const params = await cb(blocklet, {\n parent: _parent,\n root,\n level: _level,\n ancestors: _ancestors,\n params: inputParams,\n id,\n });\n if (blocklet.children) {\n for (const child of blocklet.children) {\n await forEachBlocklet(child, cb, {\n params,\n _parent: blocklet,\n _root: root,\n _level: _level + 1,\n _ancestors: newAncestors,\n });\n }\n }\n\n resolve(null);\n } catch (err) {\n reject(err);\n }\n });\n }\n\n // parallel\n const tasks = inputTasks || [];\n tasks.push(cb(blocklet, { parent: _parent, root, level: _level, ancestors: _ancestors, id }));\n if (blocklet.children) {\n for (const child of blocklet.children) {\n forEachBlocklet(child, cb, {\n parallel,\n _parent: blocklet,\n _root: root,\n _level: _level + 1,\n _tasks: tasks,\n _ancestors: newAncestors,\n });\n }\n }\n if (inputTasks) {\n return null;\n }\n return Promise.all(tasks);\n};\n\nconst forEachBlockletSync = (blocklet, cb) => forEachBlocklet(blocklet, cb, { sync: true });\n\nconst forEachChild = (blocklet, cb, params) => {\n return forEachBlocklet(\n blocklet,\n (b, opt) => {\n if (opt.level === 0) {\n return {};\n }\n return cb(b, opt);\n },\n params\n );\n};\n\nconst forEachChildSync = (blocklet, cb) => forEachChild(blocklet, cb, { sync: true });\n\nconst findComponentById = (blocklet, componentId, { _ancestors = [], returnAncestors = false } = {}) => {\n const id = getComponentId(blocklet, _ancestors);\n if (componentId === id) {\n if (returnAncestors) {\n return {\n component: blocklet,\n ancestors: _ancestors,\n };\n }\n\n return blocklet;\n }\n\n for (const child of blocklet.children || []) {\n const ancestors = _ancestors.concat(blocklet);\n const component = findComponentById(child, componentId, { _ancestors: ancestors, returnAncestors });\n if (component) {\n return component;\n }\n }\n\n return null;\n};\n\nconst getSharedConfigObj = (component, ancestors) => {\n const res = {};\n if (!ancestors) {\n return res;\n }\n\n for (let i = ancestors.length - 1; i >= 0; i--) {\n const ancestor = ancestors[i];\n if (Array.isArray(ancestor.configs)) {\n ancestor.configs.forEach(({ key, value, secure, shared }) => {\n if (res[key]) {\n return;\n }\n\n if (!value || secure !== false || shared === false || BLOCKLET_CONFIGURABLE_KEY[key]) {\n return;\n }\n\n const config = (component.configs || []).find((x) => x.key === key);\n if (config && config.value) {\n return;\n }\n\n res[key] = value;\n });\n }\n }\n\n return res;\n};\n\nconst getAppMissingConfigs = (blocklet = {}) => {\n const missingConfigs = [];\n\n forEachBlockletSync(blocklet, (b, { ancestors }) => {\n const configs = b.configs || [];\n const sharedConfigObj = getSharedConfigObj(b, ancestors);\n configs.forEach((item) => {\n if (item.required && !item.value && !sharedConfigObj[item.key]) {\n missingConfigs.push({ did: b.meta.did, key: item.key, description: item.description });\n }\n });\n });\n\n return missingConfigs;\n};\n\nconst getComponentMissingConfigs = (component = {}, ancestors = []) => {\n const missingConfigs = [];\n\n const configs = component.configs || [];\n const sharedConfigObj = getSharedConfigObj(component, ancestors);\n configs.forEach((item) => {\n if (item.required && !item.value && !sharedConfigObj[item.key]) {\n missingConfigs.push({ did: component.meta.did, key: item.key, description: item.description });\n }\n });\n\n return missingConfigs;\n};\n\nconst isFreeBlocklet = (meta) => {\n if (!meta.payment) {\n return true;\n }\n\n const priceList = (meta.payment.price || []).map((x) => x.value || 0);\n return priceList.every((x) => x === 0);\n};\n\nconst isFreeComponent = (meta) => {\n if (!meta.payment) {\n return true;\n }\n\n if (!meta.payment.componentPrice) {\n return true;\n }\n\n return !meta.payment.componentPrice.length;\n};\n\nconst isComponentBlocklet = (meta) => {\n return get(meta, 'capabilities.component') !== false;\n};\n\nconst wipeSensitiveData = (blocklet) => {\n if (!blocklet) {\n return blocklet;\n }\n\n forEachBlocklet(\n blocklet,\n (d) => {\n (d.configs || []).forEach((x) => {\n if (x.secure) {\n x.value = x.value ? '__encrypted__' : '';\n }\n });\n (d.environments || []).forEach((x) => {\n if (['BLOCKLET_APP_SK'].includes(x.key)) {\n x.value = '__encrypted__';\n }\n });\n\n delete blocklet.configObj;\n delete blocklet.environmentObj;\n },\n { sync: true }\n );\n\n return blocklet;\n};\n\nconst isDeletableBlocklet = (blocklet) => {\n if (!blocklet) {\n return false;\n }\n\n const config = blocklet.environments.find((x) => x.key === 'BLOCKLET_DELETABLE');\n if (!config) {\n return true;\n }\n\n return config.value === 'yes';\n};\n\nconst hasRunnableComponent = (blocklet) => {\n let has = false;\n forEachBlockletSync(blocklet, (x) => {\n if (x.meta.group !== BlockletGroup.gateway) {\n has = true;\n }\n });\n\n return has;\n};\n\n/**\n * 获取 blocklet 的 name\n * @param {Object} blocklet 应用数据\n * @param {Boolean} onlyUseMeta 优先使用应用元数据的name\n * @returns blocklet display name\n */\nconst getDisplayName = (blocklet, onlyUseMeta = false) => {\n const { meta } = blocklet;\n let displayName;\n\n if (!onlyUseMeta && blocklet.environments) {\n const target = blocklet.environments.find((e) => e.key === 'BLOCKLET_APP_NAME');\n if (target && target.value) {\n displayName = target.value;\n }\n }\n return displayName || meta.title || meta.name;\n};\n\nconst fixBlockletStatus = (blocklet) => {\n if (!blocklet) {\n return;\n }\n\n forEachBlockletSync(blocklet, (b) => {\n b.status = fromBlockletStatus(b.status);\n if (b.source !== undefined) {\n b.source = fromBlockletSource(b.source);\n }\n });\n\n if (blocklet.settings) {\n (blocklet.settings.children || []).forEach((child) => {\n forEachBlockletSync(child, (b) => {\n b.status = fromBlockletStatus(b.status);\n if (b.source !== undefined) {\n b.source = fromBlockletSource(b.source);\n }\n });\n });\n }\n};\n\nconst findWebInterface = (blocklet) => {\n if (!blocklet) {\n return null;\n }\n\n const meta = blocklet.meta || blocklet || {};\n const { interfaces = [] } = meta;\n\n if (!Array.isArray(interfaces)) {\n return null;\n }\n\n return interfaces.find((x) => x.type === BLOCKLET_INTERFACE_TYPE_WEB);\n};\n\nconst findServiceFromMeta = (meta, ServiceName) => {\n const names = [ServiceName];\n\n // backward compatible\n if (ServiceName === NODE_SERVICES.AUTH) {\n names.push(NODE_SERVICES.AUTH_SERVICE);\n }\n\n const webInterface = findWebInterface(meta);\n\n if (!webInterface) {\n return null;\n }\n\n return (webInterface.services || []).find((x) => names.includes(x.name));\n};\n\nconst getWhoCanAccess = (blocklet) => {\n if (!blocklet) {\n return WHO_CAN_ACCESS.ALL;\n }\n\n if (get(blocklet, 'settings.whoCanAccess')) {\n return blocklet.settings.whoCanAccess;\n }\n\n const service = findServiceFromMeta(blocklet.meta, NODE_SERVICES.AUTH);\n if (get(service, 'config.whoCanAccess')) {\n return service.config.whoCanAccess;\n }\n\n return WHO_CAN_ACCESS.ALL;\n};\n\nconst getConnectAppUrl = ({ request, baseUrl }) => {\n const blockletDid = request.headers['x-blocklet-did'] || '';\n const blockletRealDid = request.headers['x-blocklet-real-did'] || '';\n const pathPrefix = request.headers['x-path-prefix'] || '/';\n const groupPathPrefix = request.headers['x-group-path-prefix'] || '/';\n\n // Child blocklets should set appInfo.link to exactly the same path as the root blocklet\n let appUrl = baseUrl;\n if (blockletDid !== blockletRealDid && pathPrefix !== groupPathPrefix) {\n appUrl = joinUrl(joinUrl(appUrl, '/').replace(pathPrefix, groupPathPrefix), '');\n }\n\n return appUrl;\n};\n\nconst replaceSlotToIp = (url, ip) => (url || '').replace(SLOT_FOR_IP_DNS_SITE, (ip || '').replace(/\\./g, '-'));\n\nconst urlFriendly = (name) => slugify(name.replace(/^[@./-]/, '').replace(/[@./_]/g, '-'));\n\nmodule.exports = {\n isFreeBlocklet,\n isFreeComponent,\n isComponentBlocklet,\n forEachBlocklet,\n forEachBlockletSync,\n forEachChild,\n forEachChildSync,\n isDeletableBlocklet,\n getSharedConfigObj,\n getAppMissingConfigs,\n getComponentMissingConfigs,\n wipeSensitiveData,\n hasRunnableComponent,\n getDisplayName,\n fixBlockletStatus,\n findWebInterface,\n findServiceFromMeta,\n getWhoCanAccess,\n replaceSlotToIp,\n urlFriendly,\n getComponentId,\n getComponentName,\n getComponentBundleId,\n findComponentById,\n getParentComponentName,\n getConnectAppUrl,\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HeaderAddon;\n\nvar _react = require(\"react\");\n\nvar _styled = _interopRequireDefault(require(\"@emotion/styled\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _IconButton = _interopRequireDefault(require(\"@mui/material/IconButton\"));\n\nvar _reactRouterDom = require(\"react-router-dom\");\n\nvar _SessionManager = _interopRequireDefault(require(\"@arcblock/did-connect/lib/SessionManager\"));\n\nvar _selector = _interopRequireDefault(require(\"@arcblock/ux/lib/Locale/selector\"));\n\nvar _context = require(\"@arcblock/ux/lib/Locale/context\");\n\nvar _Globe = _interopRequireDefault(require(\"@arcblock/icons/lib/Globe\"));\n\nvar _QuestionMarkCircle = _interopRequireDefault(require(\"@arcblock/icons/lib/QuestionMarkCircle\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _templateObject;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }\n\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; }\n\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; }\n\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; }\n\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 docPaths = {\n '/dashboard': '/introduction/abtnode-overview',\n '/store': '/marketplace',\n '/blocklets': '/blocklet',\n '/router/rules': '/router',\n '/router/engine': '/router',\n '/settings/basic': '/misc',\n '/settings/team': '/misc/member-management',\n '/console': '/misc/graphql-console'\n };\n\n const onHelpClick = () => {\n const pathName = location.pathname;\n let path = '';\n\n if (pathName.indexOf('/blocklets') > -1) {\n path = docPaths['/blocklets'];\n } else if (pathName.indexOf('/store') > -1) {\n path = docPaths['/store'];\n } else if (docPaths[pathName]) {\n path = docPaths[pathName];\n }\n\n window.open(\"https://docs.arcblock.io/abtnode/\".concat(locale).concat(path), '_blank');\n };\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}\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};\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":["fromEntry","entries","v","match","Object","find","x","Number","toEntry","keys","BlockletStatus","freeze","added","downloading","downloaded","installing","installed","starting","running","stopping","stopped","error","upgrading","restarting","corrupted","waiting","deleted","fromBlockletStatus","toBlockletStatus","BlockletSource","registry","local","upload","url","custom","fromBlockletSource","toBlockletSource","BlockletGroup","static","dapp","starter","gateway","BlockletEvents","downloadFailed","installFailed","upgraded","upgradeFailed","downgraded","downgradeFailed","updated","statusChange","removed","started","startFailed","reloaded","purchaseChange","BLOCKLET_INTERFACE_TYPE_SERVICE","BLOCKLET_INTERFACE_TYPE_WELLKNOWN","BLOCKLET_INTERFACE_TYPES","BLOCKLET_INTERFACE_PUBLIC","BLOCKLET_INTERFACE_WELLKNOWN","BLOCKLET_UI_INTERFACES","BLOCKLET_STANDARD_INTERFACES","BLOCKLET_INTERFACE_PROTOCOL_HTTP","BLOCKLET_INTERFACE_PROTOCOLS","module","exports","BLOCKLET_GROUPS","BLOCKLET_PLATFORMS","BLOCKLET_ARCHITECTURES","BLOCKLET_MODES","PRODUCTION","DEVELOPMENT","BLOCKLET_FACTORY_SHARES","developer","store","BLOCKLET_INTERFACE_TYPE_WEB","BLOCKLET_INTERFACE_PROTOCOL_TCP","BLOCKLET_INTERFACE_PROTOCOL_UDP","BLOCKLET_DYNAMIC_PATH_PREFIX","BLOCKLET_DEFAULT_PORT_NAME","BLOCKLET_DEFAULT_PATH_REWRITE","BLOCKLET_RELEASE_FOLDER","BLOCKLET_RELEASE_FILE","BLOCKLET_BUNDLE_FOLDER","BLOCKLET_BUNDLE_FILE","BLOCKLET_ENTRY_FILE","BLOCKLET_META_FILE","BLOCKLET_META_FILE_ALT","BLOCKLET_DEFAULT_VERSION","BLOCKLET_LATEST_SPEC_VERSION","BLOCKLET_LATEST_REQUIREMENT_SERVER","BLOCKLET_LATEST_REQUIREMENT_ABTNODE","BLOCKLET_CONFIGURABLE_KEY","BLOCKLET_CLUSTER_SIZE","BLOCKLET_APP_NAME","BLOCKLET_APP_DESCRIPTION","BLOCKLET_APP_SK","BLOCKLET_APP_URL","BLOCKLET_PASSPORT_COLOR","BLOCKLET_WALLET_TYPE","BLOCKLET_DELETABLE","get","require","slugify","joinUrl","NODE_SERVICES","SLOT_FOR_IP_DNS_SITE","WHO_CAN_ACCESS","getComponentId","component","ancestors","map","meta","did","join","length","forEachBlocklet","blocklet","cb","parallel","sync","inputParams","params","_parent","_root","_level","inputTasks","_tasks","_ancestors","root","id","newAncestors","concat","parent","level","children","child","Promise","resolve","reject","tasks","push","all","forEachBlockletSync","forEachChild","b","opt","getSharedConfigObj","res","i","ancestor","Array","isArray","configs","forEach","key","value","secure","shared","config","findWebInterface","interfaces","type","findServiceFromMeta","ServiceName","names","AUTH","AUTH_SERVICE","webInterface","services","includes","name","isFreeBlocklet","payment","price","every","isFreeComponent","componentPrice","isComponentBlocklet","forEachChildSync","isDeletableBlocklet","environments","getAppMissingConfigs","missingConfigs","sharedConfigObj","item","required","description","getComponentMissingConfigs","wipeSensitiveData","d","configObj","environmentObj","hasRunnableComponent","has","group","getDisplayName","displayName","onlyUseMeta","target","e","title","fixBlockletStatus","status","undefined","source","settings","getWhoCanAccess","ALL","whoCanAccess","service","replaceSlotToIp","ip","replace","urlFriendly","getComponentName","getComponentBundleId","bundleName","version","findComponentById","componentId","returnAncestors","getParentComponentName","arr","split","pop","startsWith","getConnectAppUrl","request","baseUrl","blockletDid","headers","blockletRealDid","pathPrefix","groupPathPrefix","appUrl","HeaderAddon","_templateObject","_react","_styled","_interopRequireDefault","_propTypes","_IconButton","_reactRouterDom","_SessionManager","_selector","_context","_Globe","_QuestionMarkCircle","_jsxRuntime","obj","__esModule","default","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","configurable","writable","_ref","SessionContext","extraItems","showLocale","showHelper","showSessionManager","sessionManagerProps","session","useContext","locale","LocaleContext","location","useLocation","docPaths","jsxs","Div","index","cloneElement","jsx","icon","size","showText","className","onClick","pathName","pathname","path","indexOf","window","open","showRole","propTypes","isRequired","webWalletUrl","string","array","bool","defaultProps","strings","raw","div","slice","props","theme","breakpoints","down"],"sourceRoot":""}