@abtnode/webapp 1.16.26-beta-351de484 → 1.16.26-beta-63f52a83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/build/asset-manifest.json +42 -40
  4. package/build/index.html +1 -1
  5. package/build/service-worker.js +1 -1
  6. package/build/static/js/1059.40eaf71e.chunk.js +1 -0
  7. package/build/static/js/1575.1224630c.chunk.js +1 -0
  8. package/build/static/js/1641.529fa061.chunk.js +1 -0
  9. package/build/static/js/175.b8f52054.chunk.js +1 -0
  10. package/build/static/js/{1846.7c384de2.chunk.js → 1846.6e3f3612.chunk.js} +1 -1
  11. package/build/static/js/2019.2c30b069.chunk.js +1 -0
  12. package/build/static/js/233.610f0c5d.chunk.js +1 -0
  13. package/build/static/js/243.7a6f7438.chunk.js +1 -0
  14. package/build/static/js/2537.10cf10fb.chunk.js +1 -0
  15. package/build/static/js/3803.28541be2.chunk.js +1 -0
  16. package/build/static/js/3930.bc6e9b32.chunk.js +1 -0
  17. package/build/static/js/{4296.1d4de443.chunk.js → 4296.62f838a8.chunk.js} +1 -1
  18. package/build/static/js/4423.bb44f34f.chunk.js +1 -0
  19. package/build/static/js/4465.4f7d20c2.chunk.js +1 -0
  20. package/build/static/js/4527.6d3ce631.chunk.js +2 -0
  21. package/build/static/js/4545.4f5c0bd5.chunk.js +1 -0
  22. package/build/static/js/4549.3a768671.chunk.js +1 -0
  23. package/build/static/js/4804.0799b676.chunk.js +2 -0
  24. package/build/static/js/4906.7f0752d1.chunk.js +1 -0
  25. package/build/static/js/{5059.b4303ef8.chunk.js → 5059.92ba11ba.chunk.js} +1 -1
  26. package/build/static/js/506.fe1f4c17.chunk.js +1 -0
  27. package/build/static/js/5312.fa7da622.chunk.js +1 -0
  28. package/build/static/js/5570.744c0299.chunk.js +2 -0
  29. package/build/static/js/5748.b434b126.chunk.js +1 -0
  30. package/build/static/js/6179.fbea7365.chunk.js +1 -0
  31. package/build/static/js/6511.7e5a293c.chunk.js +1 -0
  32. package/build/static/js/6629.5fc65d11.chunk.js +2 -0
  33. package/build/static/js/6703.7c9ac00a.chunk.js +1 -0
  34. package/build/static/js/6906.9e06617c.chunk.js +1 -0
  35. package/build/static/js/6944.04eb32cb.chunk.js +1 -0
  36. package/build/static/js/7865.9cfee717.chunk.js +1 -0
  37. package/build/static/js/8170.358324c6.chunk.js +1 -0
  38. package/build/static/js/8590.6308ba32.chunk.js +1 -0
  39. package/build/static/js/9132.4a1a304f.chunk.js +1 -0
  40. package/build/static/js/9282.9940b6e0.chunk.js +2 -0
  41. package/build/static/js/9371.a03ab63e.chunk.js +1 -0
  42. package/build/static/js/9450.5a43999b.chunk.js +1 -0
  43. package/build/static/js/{9552.024c3ae2.chunk.js → 9552.becd4013.chunk.js} +1 -1
  44. package/build/static/js/9586.b0bc364f.chunk.js +1 -0
  45. package/build/static/js/9590.694b5369.chunk.js +2 -0
  46. package/build/static/js/main.bfd9a5e2.js +2 -0
  47. package/package.json +1 -1
  48. package/build/static/js/1059.577f662e.chunk.js +0 -1
  49. package/build/static/js/1575.aac11098.chunk.js +0 -1
  50. package/build/static/js/1641.28b81b2a.chunk.js +0 -1
  51. package/build/static/js/2019.a2d8670f.chunk.js +0 -1
  52. package/build/static/js/2080.1b558a42.chunk.js +0 -1
  53. package/build/static/js/233.b8ef7cd9.chunk.js +0 -1
  54. package/build/static/js/3216.04d7e546.chunk.js +0 -1
  55. package/build/static/js/3803.54aaf418.chunk.js +0 -1
  56. package/build/static/js/3930.8a91ec91.chunk.js +0 -1
  57. package/build/static/js/4235.82e1ffd8.chunk.js +0 -1
  58. package/build/static/js/4423.f9aa4282.chunk.js +0 -1
  59. package/build/static/js/4465.e11fb354.chunk.js +0 -1
  60. package/build/static/js/4549.c4d87199.chunk.js +0 -1
  61. package/build/static/js/475.f8cdcb9d.chunk.js +0 -1
  62. package/build/static/js/4804.c4932a07.chunk.js +0 -2
  63. package/build/static/js/4906.f8af0bfa.chunk.js +0 -1
  64. package/build/static/js/506.7795a2df.chunk.js +0 -1
  65. package/build/static/js/5296.5812dffa.chunk.js +0 -2
  66. package/build/static/js/5312.f3f7c64e.chunk.js +0 -1
  67. package/build/static/js/5570.eca72753.chunk.js +0 -2
  68. package/build/static/js/5745.e717f338.chunk.js +0 -1
  69. package/build/static/js/5748.a2be56d1.chunk.js +0 -1
  70. package/build/static/js/6179.4333ab0e.chunk.js +0 -1
  71. package/build/static/js/6511.072d29a7.chunk.js +0 -1
  72. package/build/static/js/6906.22761c9e.chunk.js +0 -1
  73. package/build/static/js/6944.80d9f271.chunk.js +0 -1
  74. package/build/static/js/8170.fcb2e3fb.chunk.js +0 -1
  75. package/build/static/js/8427.591d6dee.chunk.js +0 -2
  76. package/build/static/js/8590.71bbe56c.chunk.js +0 -1
  77. package/build/static/js/8721.4095221a.chunk.js +0 -2
  78. package/build/static/js/9132.8820847d.chunk.js +0 -1
  79. package/build/static/js/9282.21ff751b.chunk.js +0 -2
  80. package/build/static/js/9476.883b7a77.chunk.js +0 -1
  81. package/build/static/js/9586.19d0a41d.chunk.js +0 -1
  82. package/build/static/js/main.6e41cfc3.js +0 -2
  83. /package/build/static/js/{5296.5812dffa.chunk.js.LICENSE.txt → 4527.6d3ce631.chunk.js.LICENSE.txt} +0 -0
  84. /package/build/static/js/{4804.c4932a07.chunk.js.LICENSE.txt → 4804.0799b676.chunk.js.LICENSE.txt} +0 -0
  85. /package/build/static/js/{5570.eca72753.chunk.js.LICENSE.txt → 5570.744c0299.chunk.js.LICENSE.txt} +0 -0
  86. /package/build/static/js/{8427.591d6dee.chunk.js.LICENSE.txt → 6629.5fc65d11.chunk.js.LICENSE.txt} +0 -0
  87. /package/build/static/js/{9282.21ff751b.chunk.js.LICENSE.txt → 9282.9940b6e0.chunk.js.LICENSE.txt} +0 -0
  88. /package/build/static/js/{8721.4095221a.chunk.js.LICENSE.txt → 9590.694b5369.chunk.js.LICENSE.txt} +0 -0
  89. /package/build/static/js/{main.6e41cfc3.js.LICENSE.txt → main.bfd9a5e2.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[4906],{7199:(e,t,s)=>{s.d(t,{V:()=>n.V,Z:()=>n.Z});var n=s(63406)},44906:(e,t,s)=>{s.r(t),s.d(t,{default:()=>le});var n=s(71171),o=s(5057),r=s(6352),a=s.n(r),l=s(33518),i=s(67654),c=s(11750),d=s(39948),u=s(39434),h=s(68420),m=s(5952),p=s(75793),f=s(38898),x=s(52439),b=s(71569),g=s(44040),k=s(35432),v=s(44727),y=s(4651),j=s(74094),Z=s(85493),w=s(38242),P=s(75239),S=s(44846),R=s(28726),C=s(88577),D=s(86229),E=s(77277),U=s(23484),F=s(34937);var L=s(7199),N=s(10458),T=s.n(N),_=s(13128),B=s(73170),M=s(96266);function W(e){let{meta:t,onCancel:s,handlePaySuccess:n,storeUrl:r}=e;const{t:l}=(0,h.PE)(),{info:i}=(0,p.h6)(),[d,u]=(0,o.useState)("both"),[m,f]=(0,o.useState)(1),x=(0,j.yP)(i),b=(0,y.FM)(t,i,r),g=()=>{n(b)},k=(0,w.getDisplayName)({meta:t});if("purchase"===d&&2===m)return(0,M.jsx)(C.Z,{open:!0,popup:!0,baseUrl:r,action:"acquire-asset",checkFn:T().create({baseURL:a()(r,"/store")}).get,onSuccess:g,onClose:s,checkTimeout:3e5,extraParams:{factory:t.nftFactory},webWalletUrl:x,disableClose:!0,saveConnect:!1,showDownload:!1,messages:{title:l("store.purchase.auth.title",{name:k}),scan:l("store.purchase.auth.scan"),confirm:l("store.purchase.auth.confirm"),success:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(c.Z,{gutterBottom:!0,children:l("store.purchase.auth.success")}),(0,M.jsxs)(c.Z,{variant:"subtitle2",children:[" ",l("store.purchase.autoLaunch",{name:k})]})]})}});const v=_.ZP;return(0,M.jsx)(v,{title:l("store.purchase.title",{name:k}),disableEscapeKeyDown:!0,open:!0,fullWidth:!0,onClose:(e,t)=>{"backdropClick"!==t&&s()},children:(0,M.jsx)("div",{style:{marginBottom:16},children:(0,M.jsx)(B.AP,{action:d,onNext:()=>{d&&(f(2),"verify"===d&&(window.location.href=b))},onSelect:e=>{e!==d&&u(e)}})})})}W.defaultProps={handlePaySuccess:e=>{setTimeout((()=>{window.location.href=e}),1e3)}};const I=W;var A,K=s(25339);function O(e){let{meta:t,buttonText:s,storeUrl:n,isResource:r}=e;const{t:a}=(0,h.PE)(),l=(0,Z.useNavigate)(),{info:c}=(0,p.h6)(),{api:d}=(0,K.Tt)(),u=!1===(0,w.isFreeBlocklet)(t),[m,f]=(0,o.useState)(!1),{hasPurchased:x}=function(e){const t=(0,U.Z)(),s=(0,Z.useNavigate)(),[n,r]=(0,i.Z)("sid:blocklet:purchase:".concat(e)),[a,l]=(0,o.useState)(!1),[c,d]=(0,o.useState)(null),u=()=>{const{pathname:e,searchParams:t}=new URL(window.location.href),n=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";t.get("sid")&&(r(""),s(e.replace(n,"/"),{replace:!0}))},h=!(!t.get("assetDid")||!n||t.get("sid")!==n);return(0,F.mU)(E.BlockletEvents.purchaseChange,(t=>{t.did===e&&(d(t.session),["declined","confirmed","error"].includes(t.session.status)&&(l(!0),setTimeout(u,2e3)))})),(0,o.useEffect)((()=>{c&&c.id!==n&&r(c.id)}),[c]),{hasCompleted:a,hasPurchased:h,session:c,setSession:d,doRedirect:u}}(t.did),[b,g]=(0,o.useState)(!1),[k]=(0,i.Z)("instant-blocklet-install",!1),[N,T]=(0,o.useState)(!1),_=(0,o.useMemo)((()=>m?a(u?"blocklet.status.purchasing":"blocklet.status.waiting"):""),[m,a,u]),B=(0,o.useMemo)((()=>r?a("blocklet.status.resource"):u?s.purchase:s.launch),[u,s,r]),W=e=>{e.preventDefault(),e.stopPropagation();try{if(f(!0),u)return void g(!0);if(k)return void T(!0);if(!u){const e=(0,y.FM)(t,c,n);return void(window.location.href=e)}}catch(s){D.Z.error((0,j.Z)(s),{autoHideDuration:5e3}),console.error("Blocklet installed failed",s)}finally{f(!1)}};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(v.Kk,{children:(0,M.jsx)(L.Z,{permission:"mutate_blocklets",children:e=>(0,M.jsx)(P.Z,{title:r?a("launchBlocklet.error.resourceBlocklet"):"",children:(0,M.jsx)(R.Z,{onClick:W,size:"small",sx:{cursor:r?"not-allowed":"pointer"},disabled:Boolean(_||!e),variant:"outlined",color:"primary","data-cy":"install-blocklet",children:_?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(S.Z,{size:16,style:{marginRight:3}}),_]}):B},t.did)})})}),(x||b)&&(0,M.jsx)(I,{method:"launch",meta:t,mode:"both",onCancel:()=>{f(!1),g(!1)},storeUrl:n}),N&&(0,M.jsx)(C.Z,{popup:!0,open:!0,forceConnected:!1,className:"launch-from-url-auth",action:"launch-free-blocklet-by-session",checkFn:d.get,checkTimeout:3e5,onSuccess:e=>{f(!1),T(!1),l("/blocklets/".concat(e.appDid,"/components"))},extraParams:{title:t.title,blockletMetaUrl:decodeURIComponent((0,j.Rn)(n,t.did).trim())},messages:{title:a("setup.keyPair.title"),scan:a("setup.keyPair.scan"),confirm:a("setup.keyPair.confirm"),success:a("setup.keyPair.success")},onClose:()=>{f(!1),T(!1)}})]})}O.defaultProps={isResource:!1};const V=(e,t,s)=>{const n=(0,y.RU)(t);return a()(s,"/blocklets/".concat(e.did,"/?server-url=").concat(n))},z=e=>{let{meta:t,attribute:s,value:n}=e;return t._formatted?t._formatted[s]:n};function H(e){let{blocklet:t,endpoint:s}=e;const{t:n}=(0,h.PE)(),o=(0,p.h6)();let r=a()(o.imgPrefix,"blocklet.png");const l=s;if(l.startsWith("http")&&t.logo)r=a()(l,(0,j.lk)(t.did,t.logo));else{let e=(window.env.apiPrefix||"/").replace(/^\/+/,"").replace(/\/+$/,"");e&&(e="/".concat(e)),r=a()(e,"/blocklet/logo/".concat(t.did))}try{const e=new URL(r);e.searchParams.set("v",t.version||+new Date),r=e.href}catch{}const i=(null===o||void 0===o?void 0:o.info.mode)!==k.NODE_MODES.SERVERLESS,c={meta:t,buttonText:{purchase:n("common.purchase"),launch:n("common.launch")},storeUrl:l};let d=null;return i&&(d=(0,M.jsx)("div",{style:{display:"flex",alignItems:"center"},children:(0,M.jsx)(O,{isResource:!t.group,...c})})),(0,M.jsx)(f.Z,{href:V(t,o.info,s),style:{color:"initial",textDecoration:"none"},onClick:e=>!!e.currentTarget.contains(e.target)||(e.preventDefault(),!1),target:"_blank",children:(0,M.jsx)($,{title:z({meta:t,attribute:"title",value:t.title||t.name}),did:t.did,description:z({meta:t,attribute:"description",value:t.description}),cover:t.logo?r:"",version:t.version,button:d})})}function q(e){var t;let{storeUrl:s,handleSearchSelect:n,extraFilter:r,...a}=e;const{locale:l}=(0,h.PE)(),i=(0,p.h6)(),[c,d]=(0,o.useState)({}),u=s,m=null===i||void 0===i||null===(t=i.info)||void 0===t?void 0:t.version;return(0,o.useEffect)((()=>{d({})}),[u]),(0,M.jsx)(x.ErrorBoundary,{FallbackComponent:b.H,resetKeys:[u],children:(0,M.jsx)("div",{...a,children:(0,M.jsx)(g.Z,{blockletRender:e=>{const t={...e,endpoint:u};return(0,M.jsx)(H,{...t})},baseSearch:!0,endpoint:u,locale:l,onFilterChange:e=>{d(e)},onSearchSelect:n,filters:c,extraFilter:r,serverVersion:m})})})}H.defaultProps={endpoint:""},q.defaultProps={handleSearchSelect:null,extraFilter:void 0};const $=(0,l.Z)(v.ZP)(A||(A=(0,n.Z)(["\n .ms-highlight {\n color: ",";\n }\n"])),(e=>e.theme.palette.primary.main));var G=s(92877),J=s(19577),Q=s(2478),X=s(44067),Y=s(46954),ee=s(49390),te=s(22714),se=s(80678);const ne=(0,G.Z)((()=>({buttonText:{textTransform:"none !important"},iconRoot:{minWidth:24},menuName:{display:"flex",flexDirection:"column",marginRight:"100px","& span":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}}))),oe=(0,o.forwardRef)(((e,t)=>{let{onChange:s,onDelete:n}=e;const{info:r}=(0,p.h6)(),{t:a}=(0,h.PE)(),[l,d]=(0,o.useState)(!1),[u,f]=(0,o.useState)(!1),[x,b]=(0,o.useState)(-1),g=ne(),[k,v]=(0,i.Z)(m.WC),y=Math.max(r.blockletRegistryList.findIndex((e=>e.url===k)),0);return(0,o.useImperativeHandle)(t,(()=>({setOpen:f}))),(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(L.Z,{permission:"mutate_node",children:e=>(0,M.jsx)(R.Z,{disabled:!e,classes:{text:g.buttonText},color:"secondary","data-cy":"store-toggle",onClick:()=>{f(!0)},endIcon:(0,M.jsx)(ee.Z,{}),children:(0,M.jsx)(c.Z,{color:"secondary",children:r.blockletRegistryList[y].name})})}),(0,M.jsx)(_.ZP,{title:a("store.blockletRegistry.switchRegistry"),disableEscapeKeyDown:!0,disablePortal:!1,fullWidth:!0,open:u,onClose:()=>f(!1),children:(0,M.jsxs)(J.Z,{className:g.tabPanel,children:[r.blockletRegistryList.map(((e,t)=>(0,M.jsxs)(Q.ZP,{button:!0,disabled:l,selected:y===t,"data-cy":"store-switch",onClick:()=>{l||(t!==y?(e=>{try{d(!0),b(e);const t=r.blockletRegistryList[e];v(t.url),s(t.url),f(!1)}catch(t){console.error(t),D.Z.error("".concat(a("store.blockletRegistry.changeFailed")," ").concat((0,j.Z)(t)))}finally{d(!1)}})(t):f(!1))},children:[x===t&&l&&(0,M.jsx)(Y.Z,{className:g.iconRoot,children:(0,M.jsx)(S.Z,{size:16})}),(0,M.jsx)(X.Z,{children:(0,M.jsx)(se.Z,{teamDid:r.did,store:e,onDelete:()=>n(e.url)})})]},e.url))),(0,M.jsx)(te.Z,{disabled:l,onAdd:s,teamDid:r.did,blockletRegistryList:r.blockletRegistryList})]})})]})}));oe.defaultProps={onChange:()=>{},onDelete:()=>{}};const re=oe;var ae;function le(){const{t:e}=(0,h.PE)(),{info:t}=(0,p.h6)(),[s]=(0,i.Z)(m.WC),{blockletRegistryList:n}=t,r=n.find((e=>s===e.url))||n[0],[l,f]=(0,o.useState)(r.url),x=t.routing.adminPath,b=a()(window.location.origin,x),g=(0,o.useRef)(null);return(0,M.jsxs)(ie,{children:[(0,M.jsxs)(u.Z,{separator:"\u203a","aria-label":"breadcrumb",className:"page-breadcrumb",children:[(0,M.jsx)(c.Z,{color:"textPrimary",children:e("common.store")}),(0,M.jsx)(re,{ref:g,onChange:e=>f(e),onDelete:e=>{var s;l===e&&f(null===(s=t.blockletRegistryList[0])||void 0===s?void 0:s.url)}})]}),(0,M.jsx)(d.Z,{className:"store-header",display:"flex",justifyContent:"space-between",p:0,m:0,children:(0,M.jsx)(c.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:e("store.headerDescription")})}),(0,M.jsx)(q,{className:"blocklet-list",handleSearchSelect:e=>{let{detailUrl:t}=e;const s=new URL(t);s.searchParams.set("server-url",b);const n=document.createElement("a");n.setAttribute("target","_blank"),n.setAttribute("href",s.href),n.click()},storeUrl:l})]})}const ie=l.Z.main(ae||(ae=(0,n.Z)(["\n @media (max-width: ","px) {\n .store-header {\n flex-direction: column;\n margin-bottom: 32px !important;\n }\n\n .page-header {\n margin-bottom: 16px !important;\n }\n }\n .blocklet-list {\n aside:hover {\n height: calc(100vh - 235px);\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm))}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[5059],{43120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(70461)},30756:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(71363)},7199:(e,t,n)=>{"use strict";n.d(t,{V:()=>r.V,Z:()=>r.Z});var r=n(63406)},24138:(e,t,n)=>{"use strict";n.d(t,{BZ:()=>g,ZN:()=>y});var r=n(5057),i=n(6352),a=n.n(i),o=n(35432),l=n(49714),s=n(41365),c=n.n(s),d=n(32243),m=n.n(d),u=n(68420),p=n(46090);const f=m()((e=>c()(a()(new URL(e).origin,o.WELLKNOWN_PING_PREFIX)))),h={};function x(e){let{urls:t,checkAccessible:n=c(),disableCache:i=!1}=e;const a=(0,r.useRef)(t.filter((e=>h[e])).map((e=>h[e]))),o=a.current.length===t.length,[s,d]=(0,r.useState)(o?a.current:[]),[m,u]=(0,r.useState)(!o),p=(0,r.useMemo)((()=>!m&&s.length?s[0]:null),[s,m]);return(0,r.useEffect)((()=>{if((null===t||void 0===t?void 0:t.length)>0&&!o){(async()=>{let e;if(u(!0),i)e=await(0,l.evaluateURLs)(t,{checkAccessible:n}),e.forEach((e=>{h[e.url]=e}));else{(await(0,l.evaluateURLs)(t.filter((e=>!h[e])),{checkAccessible:n})).forEach((e=>{h[e.url]=e})),e=t.map((e=>h[e])).sort(((e,t)=>t.score-e.score))}d(e),u(!1)})()}}),[t,i,o]),{urlsState:s,loading:m,recommendedUrlState:p,recommendedUrl:null===p||void 0===p?void 0:p.url}}function g(e){const{locale:t}=(0,r.useContext)(u.RD),n=(0,r.useMemo)((()=>e?(0,p.A6)({blocklet:e,params:(0,p.f0)(e,t)}):[]),[e,t]),{loading:i,recommendedUrlState:a,recommendedUrl:o}=x({urls:n,checkAccessible:f});return{urls:n,loading:i,recommendedUrlState:a,recommendedUrl:o}}function y(e){const t=(0,r.useMemo)((()=>e.map((e=>(0,p.Sk)(e)))),[e]),{urlsState:n,loading:i,recommendedUrl:a}=x({urls:t,checkAccessible:f});let o;if(i)o={domainsAccessibility:e.reduce(((e,t)=>({...e,[t]:{loading:!0}})),{}),recommendedDomain:null};else{var l;const e=n.reduce(((e,t)=>{const n=new URL(t.url).hostname;return e[n]={...t,domain:n},e}),{}),t=(null===(l=n.find((e=>e.accessible)))||void 0===l?void 0:l.url)||a;o={domainsAccessibility:e,recommendedDomain:t?new URL(t).hostname:null}}return o}},55059:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>ur});var r=n(71171),i=n(5057),a=n(33518),o=n(85493),l=n(11750),s=n(94464),c=n(68420),d=n(62219),m=n.n(d),u=n(74511),p=n(57156),f=n.n(p),h=n(35432),x=n(46090),g=n(4651),y=n(33234),j=n(75793),v=n(10155),b=n(74094),Z=n(96266);const C="Dashboard",w=(0,i.createContext)({}),{Provider:P,Consumer:E}=w,S=[C,h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP],_=(e,t)=>{if(e.name===h.DOMAIN_FOR_DEFAULT_SITE)return-1;if(t.name===h.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=S.includes(e.name),r=S.includes(t.name);return n&&r?(0,b.W8)(e.name,t.name):n?-1:r?1:(0,b.W8)(e.name,t.name)},T=e=>{let{sites:t,nodePort:n}=e;const r=window.location.host,i=(t||[]).map((e=>{const{id:t,rules:i=[],corsAllowedOrigins:a=[]}=e;let{domain:o,domainAliases:l}=e;l=l||[],[h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP].includes(o)&&(o=C,l.find((e=>e.value===r))||l.unshift({protected:!1,value:r}));const s={id:t,name:o,type:"domain",items:[],domainAliases:l,isProtected:e.isProtected,corsAllowedOrigins:a};return(i||[]).forEach((e=>{const{id:t,isProtected:r,from:{pathPrefix:i},to:a}=e;if(a.type===h.ROUTING_RULE_TYPES.BLOCKLET){let e="";Number.parseInt(a.port,10)===Number.parseInt(n,10)?(e="Blocklet Server Dashboard",a.type=h.ROUTING_RULE_TYPES.DAEMON):e=a.did,s.items.push({id:t,name:f()(i||"/"),title:e,type:"rule",isProtected:r,pathPrefix:i,to:a})}else s.items.push({id:t,pathPrefix:i,name:f()(i||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:r,to:a})})),s.items=m()(s.items,(e=>e.name)),s})).sort(_),a=i.reduce(((e,t)=>{let{name:n}=t;return n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&([n]=n.split(".")),e[n]={...t,rules:t.items},e}),{});return{sites:i,siteMap:a}},R=function(){let{did:e,domain:t,mountPoint:n,siteMap:r,params:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r)return null;const a=r[e];if(!a)return null;const o=t||(a.domainAliases||[])[0];if(!o)return null;let l=n;if(!l){const e=a.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];l=e?e.name:"/"}return(0,x.Sk)(o.value,l,i)},k=function(){let{did:e,mountPoint:t,siteMap:n,params:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!n)return[];const i=n[e];if(!i)return[];const a=i.domainAliases||[];if(!a.length)return[];let o=t;if(!o){const e=i.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];o=e?e.name:"/"}return a.map((e=>(0,x.Sk)(e.value,o,r)))},N=e=>{const t=e.map((e=>e.domain)).filter((e=>![h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE].includes(e)));let n=[];return e.forEach((e=>n.push(...e.domainAliases||[]))),n=n.map((e=>"string"===typeof e?{value:e,isProtected:!1}:e)),{domains:t,domainsAliases:n}};function A(e){let{children:t}=e;const n=(0,v.Z)(),{info:r}=(0,j.h6)(),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)([]),[c,d]=(0,i.useState)([]),m=(0,u.Z)((async()=>{const{sites:e}=await n.getRoutingSites({input:{snapshotHash:""}}),t=e||[];await Promise.all(t.map((async e=>(e.domainAliases=await(0,g.Q6)(e.domainAliases,{getIP:y.Z}),e))));const r=N(t);o(t),s(r.domains),d([window.location.hostname,...r.domains,...r.domainsAliases.map((e=>e.value))])}),[r]),p=(e,t)=>{o((n=>n.map((n=>n.id===e?t.domain?t:{...t,domain:n.domain}:n))))},f={loading:m.loading,error:m.error,refresh:m.retry,api:n,actions:{addSite:async e=>{const t=await n.addRoutingSite({input:e});o(a.concat(t.site))},updateSite:async(e,t)=>{const r=await n.updateRoutingSite({input:{id:e,...t}});if(r.site&&r.site.id){const e=a.findIndex((e=>e.id===r.site.id));-1!==e&&(a.splice(e,1,r.site),o([].concat(a)))}},deleteSite:async e=>{await n.deleteRoutingSite({input:{id:e}}),o(a.filter((t=>t.id!==e)))},addDomainAlias:async(e,t,r)=>{const i=await n.addDomainAlias({input:{id:e,domainAlias:t,force:r}});p(e,i.site)},deleteDomainAlias:async(e,t)=>{const r=await n.deleteDomainAlias({input:{id:e,domainAlias:t}});p(e,r.site)},takeSnapshot:e=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(e)}}),addRule:async(e,t)=>{const{site:r}=await n.addRoutingRule({input:{id:e,rule:t}});p(e,r)},updateRule:async(e,t)=>{const{site:r}=await n.updateRoutingRule({input:{id:e,rule:t}});p(e,r)},deleteRule:async(e,t)=>{const{site:r}=await n.deleteRoutingRule({input:{id:e,ruleId:t}});p(e,r)}}},{sites:h,siteMap:x}=T({sites:a,nodePort:r.port});return f.sites=h,f.siteMap=x,f.domains=l,f.allDomains=c,f.getBlockletUrl=e=>{let{did:t,domain:n,mountPoint:r,params:i}=e;return R({did:t,domain:n,mountPoint:r,siteMap:f.siteMap,params:i})},f.getBlockletUrls=e=>{let{did:t,mountPoint:n,params:r}=e;return k({did:t,mountPoint:n,siteMap:f.siteMap,params:r})},(0,Z.jsx)(P,{value:{routing:f},children:t})}function L(){const{routing:e}=(0,i.useContext)(w);return e}function U(e){const t=[h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE,h.DOMAIN_FOR_IP_SITE];return"undefined"!==typeof window&&"undefined"!==typeof window.location&&t.push(window.location.hostname),t.includes(e)}var I,D=n(39948),O=n(55673),F=n(49390),z=n(86229),B=n(28726),M=n(80506),W=n(47020),G=n(88574),q=n(44846),Y=n(44784),K=n(24065),H=n(43120);function V(){return null}function Q(e){let{confirm:t}=e;const[n,r]=(0,i.useState)(null),{t:a}=(0,c.PE)();return(0,Z.jsxs)(X,{children:[(0,Z.jsx)(V,{message:function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];let l="function"===typeof t?t(e,...i):t;return!l||("string"===typeof l&&(l={description:l}),r({title:a("common.noticeTitle"),description:a("common.leavePageTip"),confirm:a("common.confirm"),cancel:a("common.cancel"),onConfirm:()=>(async e=>{if(e){let t=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";"/"===t?K.Z.push("".concat(e.pathname)):(t.endsWith("/")&&(t=t.substring(0,t.length-1)),K.Z.push("".concat(t).concat(e.pathname))),window.location.reload()}})(e),onCancel:()=>{r(null)},...l}),!1)}}),n&&(0,Z.jsx)(H.Z,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Q.defaultProps={confirm:null};const X=a.Z.div(I||(I=(0,r.Z)(["\n margin-bottom: 24px;\n .top-btns-alert {\n @media (max-width: ","px) {\n flex-direction: column;\n padding-bottom: 15px;\n padding-right: 20px;\n }\n }\n .top-btns-action {\n @media (max-width: ","px) {\n margin-right: 0px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var J,$=n(7199);function ee(e){let{children:t,...n}=e;return(0,Z.jsx)(te,{children:(0,Z.jsx)("form",{...n,children:t})})}const te=a.Z.div(J||(J=(0,r.Z)(["\n width: 100%;\n\n form {\n width: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n\n .form-submit {\n margin-top: 32px;\n margin-right: 32px;\n width: 180px;\n }\n\n .form-actions {\n display: flex;\n @media (max-width: ","px) {\n flex-direction: column;\n width: 100%;\n button {\n width: 100%;\n margin-right: 0;\n }\n }\n }\n\n .form-item {\n margin-top: 16px;\n margin-right: 0;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));var ne;const re=e=>({name:e.name,description:e.description,registerUrl:e.registerUrl,webWalletUrl:e.webWalletUrl,nftDomainUrl:e.nftDomainUrl,diskAlertThreshold:e.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1});function ie(e){let{onSaved:t,title:n,submit:r,disabled:a,...o}=e;const s=(0,j.h6)(),{t:d}=(0,c.PE)(),{control:m,handleSubmit:u,formState:p,reset:f}=(0,M.cI)({defaultValues:re(s.info)}),[x,g]=(0,i.useState)(""),[y,C]=(0,i.useState)(""),[w,P]=(0,i.useState)(!1),[E,S]=(0,i.useState)(s.info.autoUpgrade),[_,T]=(0,i.useState)(!!s.info.enableWelcomePage),[R,k]=(0,i.useState)(!!s.info.enableBetaRelease);(0,i.useEffect)((()=>{let e="";(p.isDirty||E!==s.info.autoUpgrade||_!==!!s.info.enableWelcomePage)&&(e=d("setting.unSavedTip")),C(e)}),[d,s,E,_,p]);const N=async e=>{g(""),P(!0);try{const n=await(0,v.Z)().updateNodeInfo({input:{...e,name:e.name.trim(),description:e.description.trim(),registerUrl:e.registerUrl.trim(),webWalletUrl:e.webWalletUrl.trim(),diskAlertThreshold:e.diskAlertThreshold,autoUpgrade:E,enableWelcomePage:_,enableBetaRelease:R}});await(0,b._v)(1e3),f(re(n.info)),"function"===typeof t&&t(n)}catch(n){g((0,b.Z)(n))}finally{P(!1)}},{errors:A}=p;return(0,Z.jsxs)(ae,{...o,children:[(0,Z.jsxs)(ee,{noValidate:!0,autoComplete:"off",onSubmit:u(N),children:[!!n&&(0,Z.jsx)(l.Z,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>{var t;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M.Qr,{name:"name",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.nameRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.name"),placeholder:d("setting.form.namePlaceholder"),disabled:w||!e,"data-cy":"node-name-input",error:A.name&&!!A.name.message,helperText:A.name?A.name.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"description",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.descriptionRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.description"),placeholder:d("setting.form.descriptionHolder"),disabled:w||!e,"data-cy":"node-description-input",error:A.description&&!!A.description.message,helperText:A.description?A.description.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"registerUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.registerUrl"),placeholder:d("setting.form.registerUrlPlaceholder"),disabled:w||!e,error:A.registerUrl&&!!A.registerUrl.message,helperText:A.registerUrl?A.registerUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"nftDomainUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.nftDomainUrl"),placeholder:d("setting.form.nftDomainUrlPlaceholder"),disabled:w||!e,error:A.nftDomainUrl&&!!A.nftDomainUrl.message,helperText:A.nftDomainUrl?A.nftDomainUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"webWalletUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.webWalletUrl"),placeholder:d("setting.form.webWalletUrlPlaceholder"),disabled:w||!e,error:A.webWalletUrl&&!!A.webWalletUrl.message,helperText:A.webWalletUrl?A.webWalletUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"diskAlertThreshold",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{type:"number",variant:"outlined",label:d("setting.form.monitor.diskThreshold"),placeholder:d("setting.form.monitor.diskThresholdPlaceholder"),disabled:w||!e,error:A.diskAlertThreshold&&!!A.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:A.diskAlertThreshold?A.diskAlertThreshold.message:"",margin:"normal",...n})}}),(0,Z.jsx)(Y.Z,{checked:E,onChange:()=>S(!E),name:"autoUpgrade",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),E&&(0,Z.jsx)(Y.Z,{checked:R,onChange:()=>k(!R),name:"enableBetaRelease",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(null===(t=s.info)||void 0===t?void 0:t.mode)!==h.NODE_MODES.SERVERLESS&&(0,Z.jsx)(Y.Z,{checked:_,onChange:()=>T(!_),name:"enableWelcomePage",disabled:!e,labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.welcome.switchLabel")})})},style:{marginTop:16}})]})}}),!!y&&(0,Z.jsx)(G.Z,{type:"warning",variant:"icon",children:y}),(0,Z.jsx)("div",{className:"form-actions",children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:(0,Z.jsxs)(B.Z,{onClick:u(N),disabled:a||w,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",w?(0,Z.jsx)(q.Z,{size:16}):null]})})}),!!x&&(0,Z.jsx)(G.Z,{type:"error",variant:"icon",error:x,children:x})]}),y&&(0,Z.jsx)(Q,{confirm:d("setting.unSavedLeaveTip")})]})}ie.defaultProps={disabled:!1};const ae=a.Z.div(ne||(ne=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var oe;function le(){const{refresh:e,info:t}=(0,j.h6)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e({silent:!0})}),[]);return(0,Z.jsx)(se,{children:(0,Z.jsxs)(D.Z,{mb:4,children:[(0,Z.jsx)(ie,{onSaved:()=>{e({silent:!0}),z.Z.success(n("setting.saveSuccess"))},submit:n("common.saveChanges"),title:""}),(0,Z.jsx)(D.Z,{mt:6,style:{marginLeft:-8},children:(0,Z.jsxs)(B.Z,{onClick:()=>{a((e=>!e))},children:[n("common.readMore"),r?(0,Z.jsx)(O.Z,{}):(0,Z.jsx)(F.Z,{})]})}),r&&(0,Z.jsxs)(D.Z,{fontSize:12,color:"text.secondary",children:[(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",t.runtimeConfig.blockletMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",t.runtimeConfig.daemonMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",t.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const se=a.Z.div(oe||(oe=(0,r.Z)(["\n .eula-btn {\n text-decoration-line: underline;\n margin-top: 32px;\n margin-bottom: 32px;\n }\n\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n max-width: 720px;\n }\n"])));var ce,de,me,ue=n(93938),pe=n(49384),fe=n(75760),he=n(33271),xe=n(84639),ge=n(27773),ye=n(30756);function je(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{item:l,onDelete:s=(()=>{})}=e,{id:d,title:m}=l,u=(0,v.Z)(),p={keyName:d,title:t("setting.webhook.delTitle"),description:"".concat(t("setting.webhook.description",{name:"<b>".concat(m,"</b>"),id:"<b>".concat(d,"</b>")})),confirmPlaceholder:t("setting.webhook.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{r(!0);try{await u.deleteWebHook({input:{id:d}}),s()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>o(p),size:"small",className:"rule-action",color:"error",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("common.delete")]}),a&&(0,Z.jsx)(ye.Z,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function ve(){const{api:e,imgPrefix:t}=(0,j.h6)(),{t:n,locale:r}=(0,i.useContext)(c.RD),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)(null),d=(0,u.Z)((async()=>{const[{webhooks:t},{senders:n}]=await Promise.all([e.getWebHooks(),e.getWebhookSenders()]);return o(n),t})),m=d.value||[],{loading:p,error:f}=d,h=()=>{s(null)},x=t=>{const r={title:t.title,description:(e,t,r)=>{const i=e.list||[];return(0,Z.jsx)(be,{children:i.map(((e,a)=>(0,Z.jsx)(Ze,{children:(0,Z.jsx)(W.Z,{label:e.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:e.value||e.defaultValue,onChange:o=>{e.required&&(e.disable=!0);const l=o.target.value.trim();var s;e.value=l,i[a]=e,l?(0,b.rg)(e.type,l)?(e.disable=!1,r("")):(e.disable=!0,r(n("setting.webhook.requiredError",{type:e.type}))):(e.required&&(e.disable=!0),r("")),s=[...i],t({list:s,__disableConfirm:s.some((e=>e.disable))})}})},e.name)))})},params:{list:t.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:n=>{t.params=n.list,(async t=>{try{await e.createWebHook({input:t}),d.retry()}catch(n){z.Z.error((0,b.Z)(n),{autoHideDuration:4e3}),console.error("create webhook error",n)}s(null)})(t)},onCancel:h};s(r)},g=e=>"slack"===e.type?(0,Z.jsx)("img",{src:"".concat(t,"/").concat(e.type,".png"),alt:"icon",style:{width:20,height:20}}):(0,Z.jsx)(he.Z,{}),y=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e],n=a.find((e=>e.name===t.name));return(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[g(t),(0,Z.jsxs)("div",{style:{marginLeft:10},children:[(0,Z.jsxs)("b",{children:["ID: ",t.id]}),(0,Z.jsx)("div",{children:n?n.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e].params.map((e=>(0,Z.jsx)("div",{children:e.value})));return(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:t})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Number(t.createdAt),locale:r})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:t=>{const r=m[t],i=a.find((e=>e.name===r.name))||{};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(je,{item:{...r,title:i.title},onDelete:()=>{d.retry()}}),(0,Z.jsxs)(B.Z,{size:"small",color:"secondary",onClick:()=>{(async t=>{const n={webhookId:t.id,message:"This is a test notification in order to test the integration"};await e.sendTestMessage({input:n})})(r)},children:[(0,Z.jsx)(Ce,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&p)return(0,Z.jsx)("div",{style:{textAlign:"center",marginTop:"50px"},children:(0,Z.jsx)(q.Z,{})});if(!m.length&&f)return(0,Z.jsx)(ue.Z,{severity:"error",children:(0,b.Z)(f)});const v=a.map((e=>({icon:g(e),title:"".concat(n("common.add")," ").concat(e.title),onClick:()=>{x(e)}})));return(0,Z.jsxs)(be,{children:[l&&(0,Z.jsx)(H.Z,{color:"primary",title:l.title,description:l.description,confirm:l.confirm,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel}),(0,Z.jsx)(fe.Z,{columns:y,data:m,locale:r,customButtons:v,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}je.defaultProps={onDelete:()=>{}};const be=a.Z.div(ce||(ce=(0,r.Z)(["\n .button-addon {\n text-align: right;\n }\n\n .add-list {\n width: 420px;\n max-width: calc(100vw - 10px);\n text-align: left;\n background: #fff;\n border-radius: 5px;\n }\n"]))),Ze=a.Z.div(de||(de=(0,r.Z)(["\n display: flex;\n"]))),Ce=(0,a.Z)(xe.Z)(me||(me=(0,r.Z)(["\n font-size: 16px !important;\n margin-right: 3px;\n"])));var we,Pe,Ee=n(43681),Se=n.n(Ee),_e=n(64886),Te=n(19778),Re=n(17450),ke=n(52581);function Ne(e){let{title:t,description:n,children:r}=e;return(0,Z.jsxs)(Ae,{children:[(0,Z.jsxs)(l.Z,{component:"div",className:"danger-item-info",children:[(0,Z.jsx)(l.Z,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),(0,Z.jsx)(l.Z,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),(0,Z.jsx)(l.Z,{component:"div",className:"danger-item-action",children:r})]})}const Ae=a.Z.div(we||(we=(0,r.Z)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .danger-item-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n .title {\n word-break: break-word;\n }\n .desc {\n word-break: break-word;\n }\n }\n\n .danger-item-action {\n width: 160px;\n flex-shrink: 0;\n text-align: right;\n cursor: pointer;\n @media (max-width: ","px) {\n width: auto;\n margin-left: 10px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));function Le(e){let{children:t,...n}=e;return(0,Z.jsx)(Ue,{...n,children:t})}const Ue=a.Z.div(Pe||(Pe=(0,r.Z)(["\n border: 1px solid #dedede;\n padding: 16px;\n"])));function Ie(e){let{action:t}=e;const{t:n}=(0,c.PE)(),{info:r,api:a}=(0,j.h6)(),[o,l]=(0,i.useState)(!1),[s,d]=(0,i.useState)(null);if("upgrade"===t&&!r.nextVersion)return null;const m={title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".dialog")),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:async()=>{try{l(!0),"upgrade"===t&&await a.upgradeNodeVersion(),"restart"===t&&await a.restartServer()}catch(e){z.Z.error((0,b.Z)(e))}finally{l(!1),d(null)}},onCancel:()=>{l(!1),d(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".description")),children:(0,Z.jsxs)(B.Z,{onClick:()=>d(m),color:"error",variant:"outlined",size:"large",children:[o?(0,Z.jsx)(q.Z,{size:16,style:{marginRight:3}}):null,n("setting.form.".concat(t,".confirm"))]})})}),s&&(0,Z.jsx)(H.Z,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}var De=n(67654),Oe=n(74976),Fe=n(39067),ze=n(24103);function Be(){const{t:e}=(0,c.PE)(),{api:t}=(0,j.h6)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),[s,d]=(0,De.Z)("last-check-server-version-time"),m=()=>{r(!1),o(null)},u={title:e("setting.form.upgrade.check"),description:e("setting.form.upgrade.latest"),confirm:e("common.confirm"),showCancel:!1,color:"primary",onConfirm:m,onCancel:m},p=async e=>{try{r(!0);const{version:n}=await t.checkNodeVersion();!n&&e&&o(u),d(Date.now())}catch(n){console.error("Failed to check new version: ".concat(n.message))}finally{r(!1)}};return(0,i.useEffect)((()=>{(!s||Date.now()-Number(s)>6e4)&&p(!1)}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Fe.Z,{sx:{ml:2},color:"primary",variant:"outlined",onClick:p,size:"small",loadingPosition:"end",loading:n,children:(0,Z.jsxs)(ze.Z,{direction:"row",alignItems:"center",spacing:.5,children:[(0,Z.jsx)(Oe.Z,{fontSize:"small"}),(0,Z.jsx)(l.Z,{component:"span",children:e("server.checkUpgrade")})]})}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Me=n(78410);function We(){const{t:e}=(0,c.PE)(),{info:t}=(0,j.h6)();return(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e("blocklet.config.clearCache.name"),description:e("blocklet.config.clearCache.purpose"),children:(0,Z.jsx)(Me.Z,{teamDid:t.did,size:"large"})})})}var Ge,qe=n(26796),Ye=n(94874),Ke=n.n(Ye);const He="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ve(){const{t:e,locale:t}=(0,c.PE)(),{info:n}=(0,j.h6)(),r=(0,i.useRef)(null),a=(0,g.RU)(n),[o,l]=(0,i.useState)(!1),s=(0,i.useRef)(null),[d,m]=(0,i.useState)({}),{createdAt:u,did:p,description:f,name:h}=n,x=(0,i.useMemo)((()=>(0,b.i7)()),[]),y=(0,qe.default)((async()=>{var e;let{registerUrl:t}=n;localStorage.getItem("__registerUrl")&&(t=localStorage.getItem("__registerUrl"));const r=new URL(t);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:i}=await Ke().get(r.toString()),a=null===i||void 0===i||null===(e=i.componentMountPoints)||void 0===e?void 0:e.find((e=>e.did===He)),o=new URL(t);return o.pathname=(null===a||void 0===a?void 0:a.mountPoint)||"",o.toString()})),v={did:p,name:h,createdAt:u,description:f,url:a},C=(0,i.useMemo)((()=>d.type&&"notAdded"!==d.type),[d]),w=(0,i.useMemo)((()=>o?e("setting.form.register.detecting"):"update"===d.type?e("setting.form.register.update"):e(C?"setting.form.register.added":"setting.form.register.btn")),[o,d,t]),P=(0,i.useMemo)((()=>"update"!==d.type&&!!C),[d]),E=()=>{clearTimeout(s.current),l(!1),x&&r.current.contentWindow.postMessage({...v,action:"queryRegisterInfo"},"*")};if((0,i.useEffect)((()=>{let t;return window.addEventListener("message",t=t=>{const{data:n}=t;"launcher init"===n?E():"registerNode"===(null===n||void 0===n?void 0:n.action)&&(m(n),"addSucceed"===n.type&&z.Z.success(e("setting.form.register.addSucceed")),"updateSucceed"===n.type&&z.Z.success(e("setting.form.register.updateSucceed")))}),x&&(l(!0),s.current=setTimeout((()=>{z.Z.error(e("setting.form.register.timeout")),l(!1)}),6e3)),()=>{window.removeEventListener("message",t),clearTimeout(s.current)}}),[]),y.loading)return"";const S=y.value,_=x?(0,Z.jsx)(B.Z,{disabled:P,loading:o,onClick:()=>{r.current.contentWindow.postMessage({...v,action:"registerNode"},"*")},color:"primary",variant:"contained",size:"large",children:w}):(0,Z.jsx)(B.Z,{color:"primary",loading:o,component:"a",href:"".concat(S,"?register-server=").concat(encodeURIComponent(JSON.stringify(v))),target:"_blank",variant:"contained",size:"large",children:e("setting.form.register.btn")});return(0,Z.jsxs)(Qe,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e(C?"setting.form.register.titleAdded":"setting.form.register.title"),description:e(C?"setting.form.register.descriptionOnAdded":"setting.form.register.description",{url:S}),children:_})}),x&&(0,Z.jsx)("iframe",{ref:r,src:"".concat(S,"?register-detect=1"),title:"register",style:{display:"none"}})]})}const Qe=a.Z.div(Ge||(Ge=(0,r.Z)(["\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n }\n"])));var Xe;function Je(){const e=(0,o.useNavigate)(),{api:t,info:n}=(0,j.h6)(),{t:r}=(0,c.PE)(),i=(0,u.Z)((async()=>{const e=await t.getNodeEnv();return Object.assign({},e.info||{})})),a=[];return a.push({name:r("dashboard.nodeDid"),value:(0,Z.jsx)(Re.Z,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:r("dashboard.ownerDid"),value:(0,Z.jsx)(Re.Z,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:r("dashboard.routingEngine"),value:n.routing.provider}),i.value&&a.push({name:"".concat(r("common.os")),value:i.value.os},i.value.docker?{name:"".concat(r("common.docker")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null,i.value.gitpod?{name:"".concat(r("common.gitpod")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null),Array.isArray(Se()(i,"value.blockletEngines",null))&&i.value.blockletEngines.filter((e=>e.visible&&e.available)).forEach((e=>{a.push({name:e.displayName,value:e.version})})),(0,Z.jsxs)($e,{children:[(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(D.Z,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[(0,Z.jsx)(D.Z,{width:50,height:50,children:(0,Z.jsx)("img",{src:ke.Z,height:50,alt:""})}),(0,Z.jsxs)(D.Z,{ml:2,children:[(0,Z.jsx)("h2",{style:{margin:0},children:n.name}),(0,Z.jsx)("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),(0,Z.jsxs)(_e.Z,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:r("common.version"),children:[n.version,e&&(0,Z.jsx)(Be,{})]},"version"),a.filter(Boolean).map((e=>(0,Z.jsx)(_e.Z,{valueComponent:"div",nameWidth:150,name:e.name,children:e.value},e.name))),e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"upgrade"})})]})}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"restart"})})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(We,{})})}),(0,Z.jsx)($.Z,{permission:"mutate_blocklets",children:!!n.registerUrl&&(0,Z.jsx)("div",{style:{maxWidth:720,marginTop:"-1vw"},children:(0,Z.jsx)(Ve,{})})}),(0,Z.jsx)(D.Z,{mt:10,style:{marginLeft:-8},children:(0,Z.jsx)(B.Z,{className:"eula-btn",onClick:()=>{e("/eula")},children:r("common.goEULA")})})]})}const $e=a.Z.div(Xe||(Xe=(0,r.Z)(["\n display: flex;\n flex-direction: column;\n margin-top: 32px;\n"])));var et=n(19577),tt=n(44919),nt=n(52926),rt=n(34937),it=n(24138);const at=(0,i.createContext)({}),{Provider:ot,Consumer:lt}=at;function st(e){let{children:t,domains:n}=e;const r=(0,v.Z)(),a=JSON.stringify(n),[o,l]=(0,i.useState)({}),s=(0,i.useMemo)((()=>n.filter((e=>(0,b.rM)(e)))),[a]);(0,rt.mU)(h.EVENTS.DOMAIN_STATUS,(e=>{e&&l((t=>({...t,[e.domain]:{...t[e.domain],...e}})))}));const{domainsAccessibility:c,recommendedDomain:d}=(0,it.ZN)(s),m=(0,i.useMemo)((()=>{const e={...o};return Object.keys(c).forEach((t=>{const n=e[t]||{};e[t]={...n,...c[t]}})),e}),[o,c]),u=()=>{s.length>0&&r.checkDomains({input:{domains:s}})};(0,i.useEffect)((()=>{u()}),[s]);const p={refresh:u,updateStatus:e=>{e&&r.checkDomains({input:{domains:[e]}})},api:r,status:m,recommendedDomain:d,recommendedDomainStatus:m[d]};return(0,Z.jsx)(ot,{value:p,children:t})}function ct(){const{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}=(0,i.useContext)(at);return{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}}var dt=n(53906),mt=n(74490),ut=n(77277),pt=n(81010);const ft=e=>(Se()(e,"meta.interfaces")||[]).find((e=>e.type===ut.BLOCKLET_INTERFACE_TYPE_WEB));function ht(e){let{params:t,blocklets:n,setParams:r,setError:a,serviceTypes:o}=e;const{t:l}=(0,c.PE)(),s={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},d=m()(n,(e=>e.meta.name)),u=(e,n)=>{if(!n)return{};let{port:r}=e;n&&e.ports&&n.port&&(e.ports[n.port]&&(r=e.ports[n.port]),e.ports[n.port.internal]&&(r=e.ports[n.port.internal]));let{pathPrefix:i}=t;return n&&n.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(i=n.prefix),{port:r,pathPrefix:i}},p=e=>{const t=d.find((t=>t.meta.did===e)),n=ft(t);return{...u(t,n),interfaceName:n?n.name:""}};return(0,i.useEffect)((()=>{t.interfaceName||t.type!==h.ROUTING_RULE_TYPES.BLOCKLET||r({...t,...p(t.did),__disableConfirm:!1})}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{select:!0,label:l("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:e=>{a(""),r({...t,type:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map((e=>{let{name:t,value:n}=e;return(0,Z.jsx)(mt.Z,{value:n,children:t},n)}))}),t.type===h.ROUTING_RULE_TYPES.BLOCKLET&&(0,Z.jsxs)(W.Z,{select:!0,label:l("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:e=>{r({...t,...p(e.target.value),did:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[d.map((e=>(0,Z.jsxs)(mt.Z,{value:e.meta.did,children:["".concat(e.meta.name," v").concat(e.meta.version),(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:e.status,progress:e.progress})})]},e.meta.did))),0===n.length&&(0,Z.jsx)(mt.Z,{value:"",children:l("common.empty")},"empty")]}),t.type===h.ROUTING_RULE_TYPES.REDIRECT&&[(0,Z.jsx)(W.Z,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:e=>r({...t,redirectCode:e.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(s).map((e=>(0,Z.jsx)(mt.Z,{value:e,children:"".concat(s[e]," - ").concat(e)},e)))}),(0,Z.jsx)(W.Z,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:e=>{r({...t,url:e.target.value,__disableConfirm:!e.target.value.trim()}),e.target.value.trim()?a(""):a(l("router.validation.redirectUrlRequired"))}})]]})}ht.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:h.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:h.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:h.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};var xt=n(44543),gt=n.n(xt);const yt=(e,t)=>{if(e.type===h.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error("".concat(t("router.validation.redirectUrlRequired")));if(!e.redirectCode)return new Error("redirect ".concat(t("router.validation.redirectCodeRequired")))}else if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},jt=(e,t)=>e?e.endsWith(h.DEFAULT_IP_DOMAIN_SUFFIX)?t("router.domain.validate.suffixTip",{suffix:h.DEFAULT_IP_DOMAIN_SUFFIX}):null:t("router.domain.validate.emptyTip"),vt=(e,t)=>{const n=yt(e,t);if(n)return n;const r=jt(e.domain,t);return r?new Error(r):null},bt=(e,t)=>{const n=yt(e,t);return n||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},Zt=e=>{let{params:t,blocklets:n,blocklet:r,locale:i="en"}=e;if(r){let e=(r.children||[]).find((e=>gt()(e.mountPoint,t.pathPrefix)));if("gateway"!==r.meta.group&&"/"===t.pathPrefix&&(e="/"),e)return{zh:"\u6302\u8f7d\u70b9 ".concat(t.pathPrefix," \u5df2\u5b58\u5728\uff0c\u8bf7\u4f7f\u7528\u5176\u4ed6\u6302\u8f7d\u70b9"),en:"The mount point ".concat(t.pathPrefix," already exist, please use another mount point")}[i]}const a=n.find((e=>e.meta.did===t.did));if(!a)return"";const o=a.meta.interfaces.find((e=>"web"===e.type));return o&&o.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==o.prefix?{zh:"\u8be5 blocklet \u53ea\u80fd\u6302\u8f7d\u5728 ".concat(o.prefix),en:"This blocklet can only be mounted on ".concat(o.prefix)}[i]:""},Ct=e=>{if(0===e.length)return"";const{searchParams:t}=new URL(window.location.href),n=t.get("fromDid");if(n){const t=e.find((e=>e.meta.did===n));if(t)return t.meta.did}return e[0].meta.did};function wt(e){let{blocklets:t,onActivate:n=(()=>{}),children:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),{info:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),f={title:a("router.domain.addSite"),description:(e,n,r)=>{const i=e=>{const t=e.__disableConfirm||!!vt(e,a);n({...e,__disableConfirm:t})};return(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:a("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:t=>{const n=t.target.value.trim(),o=jt(n,a);i({...e,domain:t.target.value,__disableConfirm:!!o}),r(o||"")}}),(0,Z.jsx)(ht,{blocklets:t,params:e,setParams:i,setError:r})]})},confirm:a("router.domain.add.confirm"),cancel:a("router.domain.add.cancel"),params:{domain:"",did:Ct(t),port:"",interfaceName:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{m(!0);const n={from:{pathPrefix:"/"},to:{type:e.type}},r={domain:e.domain.trim()===s.ip?"":e.domain.trim()};if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET){const i=t.find((t=>t.meta.did===e.did)),a=Se()(i,"meta.interfaces",[]).find((t=>t.name===e.interfaceName));a&&a.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(n.from.pathPrefix=a.prefix),n.to.port=e.port,n.to.did=e.did,n.to.interfaceName=e.interfaceName,r.rules=[n]}else e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(n.to.url=e.url,n.to.redirectCode=e.redirectCode,r.rules=[n]);await o.addSite(r),m(!1),p(null)},onCancel:()=>{m(!1),p(null)}},x=e=>{e.stopPropagation(),p(f)||n()};return(0,i.useEffect)((()=>{const{searchParams:e}=new URL(window.location.href);e.get("fromDid")&&p(f)}),[]),(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof r?r({loading:d,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(dt.Z,{style:{fontSize:18,marginRight:5}}),a("router.domain.add.title")]}),u&&(0,Z.jsx)(H.Z,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}wt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Pt=n(15849),Et=n(82434),St=n.n(Et),_t=n(76005),Tt=n(8732),Rt=n(21017),kt=n(50725),Nt=n(75239),At=n(2478),Lt=n(46954),Ut=n(44067),It=n(38898),Dt=n(83580),Ot=n(48342),Ft=n(76720),zt=n(92273),Bt=n(38242),Mt=n(61533),Wt=n(83294),Gt=n(67680);function qt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,name:d}=e;if(U(d))return null;const m={title:t("router.domain.delete.title"),description:t("router.domain.delete.description",{name:"<b>".concat(d,"</b>")}),confirmPlaceholder:t("router.domain.delete.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{a(!0),await n.deleteSite(s),a(!1),l(null)},onCancel:()=>{a(!1),l(null)},keyName:d};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:t=>{t.stopPropagation(),l(m)||e.onActivate()},className:"rule-action","data-cy":"action-delete-domain",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.domain.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Yt=n(45239),Kt=n.n(Yt);function Ht(e){let{id:t,blocklets:n,onActivate:r=(()=>{}),onRuleAdded:a=(()=>{}),children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),y={title:d("router.rule.add.title"),description:(e,t,r)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:i=>{let a=!1;const o=Zt({params:{...e,pathPrefix:i.target.value},blocklets:n});r(o),e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&o&&(a=!0),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(a=!0),i.target.value.trim()||(a=!0,r(d("router.validation.pathPrefixRequired"))),a||r("");const l=d("common.slugifyHint",{value:(0,x.LN)(i.target.value)});t({...e,pathPrefix:i.target.value,helperText:l,__disableConfirm:a})}}),(0,Z.jsx)(ht,{blocklets:n,params:e,setParams:e=>{r(null);bt(e,d)?t({...e,__disableConfirm:!0}):t({...e})},setError:r})]}),confirm:d("router.rule.add.confirm"),cancel:d("common.cancel"),params:{pathPrefix:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,did:Ct(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{const n=await bt(e,d);if(n)throw n;p(!0);const r={from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url.trim(),r.to.redirectCode=e.redirectCode),await m.addRule(t,r,s),g(null),p(!1),a()},onCancel:()=>{p(!1),g(null)}},j=e=>{e.stopPropagation(),g(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-rule",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(he.Z,{style:{fontSize:18,marginRight:5}}),d("router.rule.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function Vt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,parent:{id:d},name:m,children:u,onActivate:p,teamDid:f}=e,h={keyName:m,title:t("router.rule.delete.title"),description:t("router.rule.delete.description",{name:"<b>".concat(m,"</b>")}),confirmPlaceholder:t("router.rule.delete.confirm_desc",{name:m}),confirm:t("common.delConfirm"),cancel:t("router.rule.delete.cancel"),onConfirm:async()=>{a(!0),await n.deleteRule(d,s,f),a(!1),l(null)},onCancel:()=>{a(!1),l(null)}},x=e=>{e.stopPropagation(),l(h)||p()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof u?u({loading:r,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-delete-rule",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.rule.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Ht.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""},Vt.defaultProps={onActivate:()=>{},children:null,teamDid:""};var Qt=n(76667);function Xt(e){const{id:t,name:n,did:r,parent:a,blocklets:o,to:s,children:d,onActivate:m,teamDid:u}=e,{t:p}=(0,c.PE)(),{actions:f}=L(),[g,y]=(0,i.useState)(!1),[j,v]=(0,i.useState)(null),b={title:p("router.rule.update.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:p("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||p("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:r=>{let i=!1;const a=Zt({params:{...e,pathPrefix:r.target.value},blocklets:o});e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&a&&(i=!0,n(a)),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(i=!0),r.target.value.trim()||(i=!0,n(p("router.validation.pathPrefixRequired"))),i||n("");const l=p("common.slugifyHint",{value:(0,x.LN)(r.target.value)});t({...e,pathPrefix:r.target.value,helperText:l,__disableConfirm:i})}}),(0,Z.jsx)(ht,{blocklets:o,params:e,setParams:e=>{bt(e,p)?t({...e,__disableConfirm:!0}):t({...e})},setError:n})]}),confirm:p("router.rule.update.confirm"),cancel:p("router.rule.update.cancel"),color:"primary",params:{pathPrefix:"/"===n?n:n.replace(/^\/+/,"").replace(/\/+$/,""),type:s.type||h.ROUTING_RULE_TYPES.BLOCKLET,did:r||Ct(o),port:s.port||"",interfaceName:s.interfaceName||"",redirectCode:s.redirectCode||302,url:s.url||"",__disableConfirm:!1},onConfirm:async e=>{const n=await bt(e,p);if(n)throw n;y(!0);const r={id:t,from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url,r.to.redirectCode=e.redirectCode),await f.updateRule(a.id,r,u),v(null),y(!1)},onCancel:()=>{y(!1),v(null)}},C=e=>{e.stopPropagation(),v(b)||m()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof d?d({loading:g,open:C}):(0,Z.jsxs)(mt.Z,{onClick:C,className:"rule-action","data-cy":"action-update-rule",children:[g?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),p("router.rule.update.title")]}),j&&(0,Z.jsx)(H.Z,{title:j.title,description:j.description,confirm:j.confirm,color:j.color,cancel:j.cancel,params:j.params,onConfirm:j.onConfirm,onCancel:j.onCancel})]})}Xt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};var Jt=n(11593),$t=n(26174),en=n(88092);function tn(e){let{id:t,name:n,onActivate:r,children:a,title:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(h.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=async e=>{p(!0),await m.addDomainAlias(t,e.domain.trim(),!!e.force,s),p(!1),x(null)},y={title:o||d("router.domainAlias.add.title"),description:(e,t,n)=>(0,Z.jsxs)(l.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:e.domain,style:{marginBottom:8},margin:"dense",onChange:r=>{const i=r.target.value.trim(),a=jt(i,d);t({...e,domain:i,__disableConfirm:!!a}),n(a||"")},onKeyPress:t=>{if("Enter"===t.key){t.preventDefault();const r=t.target.value.trim(),i=jt(r,d);i?n(i):(async(e,t,n)=>{try{await t(e)}catch(r){n((0,b.Z)(r))}finally{p(!1)}})(e,g,n)}}}),(0,Z.jsx)($t.Z,{control:(0,Z.jsx)(en.Z,{checked:e.force,onChange:n=>{t({...e,force:n.target.checked})},name:"checkedB",color:"primary"}),label:d("router.domainAlias.add.forceTip")})]}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:g,onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof a?a({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Jt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainAlias.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function nn(e){let{id:t,name:n,corsAllowedOrigins:r,onActivate:a,children:o,teamDid:s}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(U(n))return null;let g=n;n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&(g="".concat(d("common.the")," Blocklet"));const y={title:d("router.domainSecurity.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:d("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:e.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:d("router.domainSecurity.cors.description",{name:g}),onChange:r=>{t({...e,corsAllowedOrigins:r.target.value,__disableConfirm:!r.target.value.trim()}),r.target.value.trim()?n(""):n(d("router.domainSecurity.cors.domainInvalid"))}})}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:async e=>{p(!0),await m.updateSite(t,{corsAllowedOrigins:e.corsAllowedOrigins.split(",").map((e=>e.trim()))},s),p(!1),x(null)},onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||a()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainSecurity.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function rn(e){let{id:t,name:n,onActivate:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),[s,d]=(0,i.useState)(!1),[m,u]=(0,i.useState)(null);if(U(n))return null;const p={title:a("router.domain.update.title"),description:(e,t,n)=>(0,Z.jsx)(l.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:a("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginBottom:32},margin:"dense",helperText:a("router.domain.update.description"),onChange:r=>{const i=r.target.value.trim(),o=jt(i,a);t({...e,domain:r.target.value,__disableConfirm:!!o}),n(o||"")}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:async e=>{d(!0),await o.updateSite(t,{domain:e.domain.trim()}),d(!1),u(null)},onCancel:()=>{d(!1),u(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:e=>{e.stopPropagation(),u(p)||r()},className:"rule-action",children:[s?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),a("router.domain.update.title")]}),m&&(0,Z.jsx)(H.Z,{title:m.title,description:m.description,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel,color:"primary"})]})}function an(e){const[t,n]=(0,i.useState)(null),r=e=>{e&&e.stopPropagation(),n(null)},a=[];if("root"===e.type&&a.push((0,Z.jsx)(wt,{...e,onActivate:r},"add-domain")),"domain"===e.type&&a.push((0,Z.jsx)(rn,{...e,onActivate:r},"update-domain"),(0,Z.jsx)(Ht,{...e,onActivate:r,onRuleAdded:e.onRuleAdded},"add-rule"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"rule"===e.type&&a.push((0,Z.jsx)(Xt,{...e,onActivate:r},"update-rule"),(0,Z.jsx)(Vt,{...e,onActivate:r},"delete-rule")),e.type===h.ROUTING_RULE_TYPES.REDIRECT&&a.push((0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"dashboard_domain"!==e.type&&"blocklet_domain"!==e.type||a.push((0,Z.jsx)(Ht,{...e,onActivate:r},"add-rule"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias")),0===a.length)return null;const o=e=>{e.stopPropagation()};return(0,Z.jsxs)("div",{children:[(0,Z.jsx)(Gt.Z,{onMouseDown:o,onClick:e=>{e.stopPropagation(),n(e.currentTarget)},"data-cy":"action-trigger",size:"large",children:(0,Z.jsx)(Wt.Z,{})}),(0,Z.jsx)(Mt.Z,{keepMounted:!0,onMouseDown:o,open:!!t,onClose:r,anchorEl:t,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:a})]})}tn.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""},nn.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""},an.defaultProps={onRuleAdded:()=>{},blocklet:{}};var on=n(55898),ln=n.n(on),sn=n(31942),cn=n(11819),dn=n(38763),mn=n(75392),un=n(69569);function pn(e){let{certificate:t}=e;const[n,r]=(0,i.useState)(null),a=(0,j.h6)(),{t:o,locale:s}=(0,c.PE)(),d=()=>{r(null)},m=Boolean(n);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sn.Z,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:e=>{r(e.currentTarget)},onMouseLeave:d,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),(0,Z.jsx)(cn.ZP,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:d,disableRestoreFocus:!0,children:(0,Z.jsx)(dn.Z,{children:(0,Z.jsxs)(mn.Z,{style:{display:"flex"},children:[(0,Z.jsx)("div",{children:(0,Z.jsx)("img",{src:"".concat(a.imgPrefix,"/https-certificate-icon.png"),alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),(0,Z.jsxs)(l.Z,{component:"div",style:{marginLeft:"16px"},children:[(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"bold"},children:t.domain}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("common.issuer"),": ").concat(Se()(t,"issuer.commonName",""))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.issuedOn"),": ").concat((0,b.pz)(t.validFrom,s))}),(0,Z.jsx)(l.Z,{component:"div",children:"".concat(o("router.cert.expiryOn"),": ").concat((0,b.pz)(t.validTo,s))})]})]})})})]})}function fn(e){const{name:t,type:n,filters:r}=e,{t:a}=(0,c.PE)(),{status:o}=ct();if("domain"!==n)return null;if(!(0,b.rM)(t))return null;let l=null,s=null;const{isHttps:d,matchedCert:m}=o[t]||{};if(!(0,b.ao)(t)){const{dns:{resolved:e,ip:n}={}}=o[t]||{};l=e||"127.0.0.1"===n?(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.ok"),children:(0,Z.jsx)(un.Z,{color:"success"})}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.notResolved"),children:(0,Z.jsx)(un.Z,{color:"error"})})}s=d?(0,Z.jsx)(pn,{certificate:m}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.https.bad"),children:(0,Z.jsx)(sn.Z,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const u=r.map((e=>"domain"===e?l:"http"===e?s:null));return(0,i.createElement)(i.Fragment,null,...u)}pn.defaultProps={certificate:{}},fn.propTypes={type:ln().string.isRequired,name:ln().string.isRequired,filters:ln().array},fn.defaultProps={filters:["domain","http"]};const hn=e=>["waiting","creating","renewaling"].includes(e);function xn(e){var t;const{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{domain:s,onAdd:d,children:m,siteId:p}=e,{api:f}=(0,j.h6)(),[x,g]=(0,i.useState)(!1),{updateStatus:y}=ct(),b=(0,v.Z)(),C=(0,u.Z)((async()=>{const{cert:e}=await b.findCertificateByDomain({input:{domain:s}});return e})),w=e=>{e.domain===s&&g(!1)};if((0,i.useEffect)((()=>{var e;!C.loading&&hn(null===(e=C.value)||void 0===e?void 0:e.status)&&g(!0)}),[C]),(0,rt.mU)(h.EVENTS.CERT_ERROR,w),(0,rt.mU)(h.EVENTS.CERT_ISSUED,(e=>{C.retry(),y(e.domain),w(e)})),C.loading)return"";if("normal"===(null===(t=C.value)||void 0===t?void 0:t.status))return"";const P={title:n("router.cert.genLetsEncryptCert.title"),description:(0,Z.jsxs)("div",{children:[(0,Z.jsx)(G.Z,{type:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:async()=>{a(!0);try{await f.issueLetsEncryptCert({input:{domain:s,siteId:p}}),d(),g(!0)}catch(e){console.error(e),g(!1)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[x?(0,Z.jsx)(Nt.Z,{title:n("router.cert.issuing"),children:(0,Z.jsx)(q.Z,{size:12})}):m({loading:r,open:e=>{e.stopPropagation(),l(P)}}),o&&(0,Z.jsx)(H.Z,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function gn(e){var t;const{status:n}=ct(),{domain:r}=e;return!(0,b.rM)(r)||null!==(t=n[r])&&void 0!==t&&t.isHttps?"":(0,Z.jsx)(xn,{...e})}function yn(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{id:l,domain:s,onDelete:d,children:m,teamDid:u}=e,{actions:p}=L();if(s===window.location.hostname)return"";const f={title:t("router.domainAlias.delete.title"),description:t("router.domainAlias.delete.description"),confirm:t("common.confirm"),onConfirm:async()=>{r(!0);try{await p.deleteDomainAlias(l,s,u),d()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}},h=e=>{e.stopPropagation(),o(f)};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof m?m({loading:n,open:h}):(0,Z.jsxs)(B.Z,{edge:"end",onClick:h,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("router.domainAlias.delete.title")]}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var jn,vn;function bn(e){let{domain:t,isHttps:n,toUrl:r}=e;const i=n?"https":"http",{t:a}=(0,c.PE)();let o=r;return St()(o)||(o="".concat(i,"://").concat(t).concat(r)),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:a("common.redirect")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsx)(It.Z,{href:o,target:"_blank",underline:"hover",children:r},o)]})}function Zn(){const{t:e}=(0,c.PE)();return(0,Z.jsx)(l.Z,{className:"arrow-name-middle",children:e("common.page404")})}function Cn(e){const{t:t}=(0,c.PE)(),{data:n}=(0,nt.RJ)(),{info:r}=(0,j.h6)(),{status:a}=ct(),o=n.map((e=>({meta:{did:e.meta.did,name:(0,Bt.getDisplayName)(e,!0),version:e.meta.version,interfaces:e.meta.interfaces},port:e.port,ports:e.ports,status:e.status}))),{id:s,type:d,name:m,title:u,items:p=[],depth:f,to:g,expand:y,isProtected:v,pathPrefix:b,parent:w,domainAliases:P}=e;let E=m;const S=m.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX);let _=d;m===C&&(_="dashboard_domain"),S&&(_="blocklet_domain");const[T,R]=(0,i.useState)(y),k={root:Rt.Z,domain:dt.Z,rule:kt.Z}[d];if("domain"===d){if(v&&!S)return null;if(S){const W=m.replace(h.BLOCKLET_SITE_GROUP_SUFFIX,""),G=o.find((e=>e.meta.did===W));if(!G)return null;if(G.controller)return null;E=G.meta.title||G.meta.name}function F(e){let{domain:t,primaryDomain:n,rules:i}=e,a="http://".concat(t);return n===C?a="".concat(a,"/").concat(r.routing.adminPath.replace(/^\/+/,"")):i&&i.length&&i[0].pathPrefix&&(a="".concat(a,"/").concat(i[0].pathPrefix.replace(/^\/+/,""))),t!==C?(0,Z.jsx)(Pn,{href:a,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),children:t}):t}const z=()=>{R(!0)};let M=(P||[]).filter((e=>e.value!==m));return M=(0,x.oE)(M),[(0,Z.jsxs)(wn,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[(0,Z.jsxs)(Lt.Z,{onClick:()=>R((e=>!e)),children:[p.length>0&&(T?(0,Z.jsx)(Ft.Z,{}):(0,Z.jsx)(zt.default,{})),(0,Z.jsx)(k,{style:{fontSize:22}})]}),(0,Z.jsx)(Ut.Z,{onClick:()=>R((e=>!e)),className:"rule-name rule-name--depth".concat(f),style:{flex:1},secondary:p.length<=0?(0,Z.jsx)("span",{className:"site-secondary",children:t("router.empty")}):"",primary:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"site-header",children:[m===h.DOMAIN_FOR_DEFAULT_SITE&&t("router.defaultSite"),m!==h.DOMAIN_FOR_DEFAULT_SITE&&!S&&(0,Z.jsx)(F,{domain:m,primaryDomain:m,rules:p}),S&&E,p.length&&!T?(0,Z.jsx)("span",{style:{marginLeft:5},children:"(".concat(p.length," URL)")}):null,(0,Z.jsx)("span",{style:{marginLeft:12}}),"domain"===d&&m!==h.DOMAIN_FOR_DEFAULT_SITE&&m!==C&&!S&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(fn,{type:d,name:m},m),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(gn,{siteId:s,domain:m,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}})]})]}),M.map((n=>{const r="string"!==typeof n?n.value:n;return(0,Z.jsxs)("div",{className:"site-alias",children:[(0,Z.jsx)(F,{domain:r,primaryDomain:m,rules:p}),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(fn,{type:d,name:r},"domain-status-".concat(m)),(0,Z.jsx)(gn,{siteId:s,domain:r,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}}),!n.isProtected&&(0,Z.jsx)(yn,{id:e.id,domain:r},"delete-domain-alias"),r!==C&&r!==window.location.hostname&&(0,Z.jsx)(an,{...e,domain:r,type:"domainAlias",onRuleAdded:z},"action-".concat(m))]},r)}))]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,onRuleAdded:z,type:_},m)})})]},"parent"),(0,Z.jsx)(Ot.Z,{in:T,children:p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{...t,parent:e,depth:f+1},t.id)))},"children")},"rules")]}if("root"===d)return[(0,Z.jsxs)(wn,{disableGutters:!0,"data-cy":"rule-root",children:[(0,Z.jsx)(Lt.Z,{children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:m}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e})})})]},"root"),p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{expand:!v,...t,parent:e,depth:f+1},t.id)))},"children")];let N="/blocklets/".concat(g.did,"/overview");g.type===h.ROUTING_RULE_TYPES.DAEMON&&(N="/");const A={meta:{did:r.did,name:"Blocklet Server Dashboard",version:r.version},status:"running",port:r.port},L=g.did===r.did?A:o.find((e=>e.meta.did===g.did)),U=L&&"running"===L.status||g.type===h.ROUTING_RULE_TYPES.DAEMON,I=t(U?"router.healthy.ok":"router.healthy.error"),O=a[w.name]||{};return(0,Z.jsxs)(wn,{className:"hover-item",divider:!0,disableGutters:!0,style:{paddingBottom:8,paddingLeft:8},"data-cy":"rule-item",children:[(0,Z.jsx)(Lt.Z,{className:"arrow-icon",children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:(0,Z.jsxs)(l.Z,{component:"div",className:"arrow-name",children:[(0,Z.jsx)(l.Z,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:m}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(g.type===h.ROUTING_RULE_TYPES.DAEMON||g.type===h.ROUTING_RULE_TYPES.BLOCKLET)&&(0,Z.jsxs)(Z.Fragment,{children:[w.name!==h.DOMAIN_FOR_DEFAULT_SITE&&U&&(0,Z.jsx)(D.Z,{className:"arrow-name-middle",children:(0,Z.jsx)(It.Z,{href:(0,x.Sk)(w.name,b),target:"_blank",underline:"hover",children:t("common.open")})}),w.name===h.DOMAIN_FOR_DEFAULT_SITE&&(0,Z.jsx)(l.Z,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!U&&(0,Z.jsx)("span",{className:"arrow-name-middle",children:t("common.unavailable")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsxs)(Pt.Link,{to:N,className:"arrow-name-right",children:[(0,Z.jsx)(Nt.Z,{title:I,children:U?(0,Z.jsx)(_t.Z,{style:{color:"#44cdc6",fontSize:20}}):(0,Z.jsx)(Tt.Z,{style:{color:"red",fontSize:20}})}),(0,Z.jsx)("span",{children:L?L.meta.name:u}),L&&(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:L.status,progress:L.progress})})]})]}),g.type===h.ROUTING_RULE_TYPES.REDIRECT&&(0,Z.jsx)(bn,{prefix:b,domain:w.name,toUrl:g.url,isHttps:O.isHttps}),g.type===h.ROUTING_RULE_TYPES.NONE&&(0,Z.jsx)(Zn,{})]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,did:g.did})})})]},m)}xn.defaultProps={onAdd:()=>{},children:null},gn.defaultProps={onAdd:()=>{},children:null},yn.defaultProps={onDelete:()=>{},children:null,teamDid:""},bn.defaultProps={isHttps:!1},Zn.defaultProps={},Cn.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const wn=(0,a.Z)(At.ZP)(jn||(jn=(0,r.Z)(["\n .MuiListItemText-root {\n padding-right: 48px;\n }\n .MuiListItemSecondaryAction-root {\n right: 0;\n }\n .site-header {\n display: unset !important;\n vertical-align: middle;\n .MuiSvgIcon-root {\n vertical-align: middle;\n }\n }\n"]))),Pn=(0,a.Z)("a")(vn||(vn=(0,r.Z)(["\n color: #000;\n white-space: normal;\n word-break: break-all;\n :hover {\n color: rgba(0, 0, 0, 0.6);\n }\n"])));var En;function Sn(){const{sites:e,allDomains:t}=L(),{data:n}=(0,nt.RJ)(),{t:r}=(0,c.PE)(),a=e.map((e=>{const t=e.items.filter((e=>!e.isProtected));return{...e,items:t}}));return(0,Z.jsx)(st,{domains:t,children:(0,Z.jsxs)(_n,{children:[(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(D.Z,{textAlign:"right",mb:1,children:(0,Z.jsx)(wt,{blocklets:n,children:e=>{let{open:t}=e;return(0,Z.jsxs)(B.Z,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:t,children:[(0,Z.jsx)(tt.Z,{style:{fontSize:"1.3em",marginRight:4}}),r("router.domain.addSite")]})}})})}),(0,Z.jsx)(et.Z,{component:"div",disablePadding:!0,children:a.map((e=>(0,i.createElement)(Cn,{...e,depth:1,key:e.id})))})]})})}const _n=a.Z.main(En||(En=(0,r.Z)(["\n margin-top: ",";\n min-height: 60vh;\n\n .MuiListItemIcon-root {\n min-width: ",";\n }\n\n .site-header {\n display: flex;\n align-items: center;\n margin-left: ",";\n font-size: 1.2rem;\n }\n\n .site-alias {\n display: flex;\n align-items: center;\n margin-left: ",";\n }\n\n .site-secondary {\n margin-left: ",";\n }\n\n .rule-list--depth1 {\n padding-left: ",";\n }\n\n .rule-list--depth2 {\n padding-left: ",";\n }\n\n .rule-action {\n margin-left: ",";\n }\n\n .rule-name--depth2 span {\n font-weight: bold;\n }\n\n .arrow-name {\n display: flex;\n align-items: center;\n .arrow-name-left {\n width: 400px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-middle {\n width: 150px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-arrow {\n width: 40px;\n flex-shrink: 0;\n margin: auto 16px;\n font-size: 24px;\n color: #0000008a;\n }\n .arrow-name-right {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n\n span {\n margin: 0 8px;\n }\n }\n }\n\n @media (max-width: ","px) {\n .rule-list--depth1,\n .rule-list--depth2 {\n padding-left: 0;\n }\n\n .MuiListItem-secondaryAction {\n padding-right: 0;\n }\n }\n\n @media (max-width: ","px) {\n .arrow-icon {\n margin-top: 4px;\n align-self: flex-start;\n }\n\n .arrow-name {\n flex-direction: column;\n align-items: flex-start;\n .arrow-name-left {\n width: auto;\n }\n .arrow-name-middle {\n margin: 5px 0;\n }\n .arrow-name-arrow {\n display: none;\n }\n }\n }\n"])),(e=>e.theme.spacing(2)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(5)),(e=>e.theme.spacing(2)),(e=>e.theme.breakpoints.values.md),(e=>e.theme.breakpoints.values.lg));var Tn=n(34966),Rn=n(22228),kn=n(23484),Nn=n(49525),An=n(65140),Ln=n(20783),Un=n(13128),In=n(55372);const Dn=51200,On=e=>new Promise(((t,n)=>{const r=new FileReader;r.readAsText(e),r.onload=()=>{t(r.result)},r.onerror=e=>n(e)}));function Fn(e){let{certificate:t={},onRefresh:n,mode:r,...a}=e;const{t:o}=(0,c.PE)(),{api:s}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(),[f,h]=(0,i.useState)(),[x,g]=(0,i.useState)(!1),[y,v]=(0,i.useState)(""),[C,w]=(0,i.useState)("upload"),{handleSubmit:P,formState:E,control:S}=(0,M.cI)({defaultValues:{name:t.name||t.domain}}),_=(0,M.qo)({control:S,name:"name"}),T=(0,M.qo)({control:S,name:"domain"}),R=()=>{m(!1),g(!1)},k={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:async e=>{if("add"===r){const t=(await On(f)).replace(/\r\n/g,"\n"),n=(await On(u)).replace(/\r\n/g,"\n");await s.addCertificate({input:{name:e.name.trim(),certificate:t.split("\n").join("|"),privateKey:n.split("\n").join("|")}})}else await s.updateCertificate({input:{id:t.id,name:e.name.trim()}})}},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:e=>s.issueLetsEncryptCert({input:{domain:e.domain}})}},N=async e=>{m(!0);try{const t=k[C];if(!t)throw new Error("Invaid certificate source");await t.onSubmit(e),n(),g(!1)}catch(t){v((0,b.Z)(t)||"unknown error, may be you can check file permission")}finally{m(!1)}},A=e=>{e.length>0&&v(Se()(e[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:L,getInputProps:U}=(0,Nn.uI)({accept:[".pem",".crt"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{h(e[0])}}),{getRootProps:I,getInputProps:O}=(0,Nn.uI)({accept:[".pem",".key"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{p(e[0])}}),{errors:F}=E;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>{p(null),h(null),g(!0),v("")},className:"rule-action",color:"primary","data-cy":"add-cert",...a,children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:16}}),o("add"===r?"common.add":"common.update")]}),x&&(0,Z.jsx)(Un.ZP,{title:o("add"===r?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:R,actions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B.Z,{onClick:R,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),(0,Z.jsxs)(B.Z,{onClick:P(N),color:"secondary",disabled:!!d||("upload"===C&&"update"===r?!_:"upload"===C&&"add"===r?!_||!u||!f:"lets_encrypt"===C&&!T),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),d&&(0,Z.jsx)(q.Z,{size:16})]})]}),children:(0,Z.jsx)("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:P(N),children:(0,Z.jsxs)(D.Z,{minWidth:{sm:480},children:[(0,Z.jsxs)(In.Z,{component:"div",children:["add"===r&&(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.source")}),(0,Z.jsx)(Ln.Z,{"aria-label":"cert-source",name:"certSource",value:C,onChange:e=>{w(e.target.value)},children:Object.values(k).map((e=>(0,Z.jsx)($t.Z,{value:e.value,control:(0,Z.jsx)(An.Z,{}),label:e.name},e.value)))})]}),"upload"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.name")}),(0,Z.jsx)(M.Qr,{name:"name",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,onChange:n,error:!!F.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:F.name&&F.name.message})}})]}),"add"===r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...L({className:"dropzone"}),children:[(0,Z.jsx)("input",{...U(),"data-cy":"pem-input"}),f&&(0,Z.jsx)(l.Z,{color:"secondary",children:f.name}),!f&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...I({className:"dropzone"}),children:[(0,Z.jsx)("input",{...O(),"data-cy":"key-input"}),u&&(0,Z.jsx)(l.Z,{color:"secondary",children:u.name}),!u&&(0,Z.jsx)(l.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(l.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),"lets_encrypt"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("section",{className:"form-item",children:(0,Z.jsx)(G.Z,{type:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("common.domain")}),(0,Z.jsx)(M.Qr,{name:"domain",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,error:!!F.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:F.domain&&F.domain.message,onChange:n})}})]})]})]}),!!y&&(0,Z.jsx)(G.Z,{type:"error",style:{marginTop:8},children:y})]})})})]})}var zn=n(96366);function Bn(e){const t=(0,zn.Z)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(null),{id:s,domain:d,onDelete:m=(()=>{}),...u}=e,{refresh:p}=L(),f=(0,v.Z)(),h={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:async()=>{a(!0);try{await f.deleteCertificate({input:{id:s}}),p(),m()}catch(e){console.error(e)}finally{a(!1),l(null)}},onCancel:()=>{a(!1),l(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>l(h),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:t.palette.error.main},...u,children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),n("common.delete")]}),o&&(0,Z.jsx)(H.Z,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Mn,Wn,Gn=n(1577),qn=n.n(Gn),Yn=n(95335),Kn=n(45568),Hn=n(29034);function Vn(e){const{certificate:t={},...n}=e,{t:r,locale:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=(0,Yn.Z)(),m=[{id:"matchedSites",name:r("router.cert.matchedSites"),value:(t.matchedSites||[]).map((e=>(0,Z.jsx)(l.Z,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:e.domain},e.id)))},{id:"updatedAt",name:r("common.updatedAt"),value:(0,b.B2)(t.updatedAt,a)},{id:"createdAt",name:r("common.createdAt"),value:(0,b.B2)(t.createdAt,a)}],u=[{id:"boundDomains",name:r("router.cert.boundDomains"),value:(0,Z.jsx)(l.Z,{component:"span",style:{fontSize:"1.1rem"},children:(Se()(t,"sans")||[]).join(", ")})},{id:"issuer",name:r("common.issuer"),value:Se()(t,"meta.issuer.commonName","")},{id:"fingerprint",name:r("common.fingerprint"),value:Se()(t,"meta.fingerprint")},{id:"fingerprintAlg",name:r("router.cert.fingerprintAlg"),value:Se()(t,"meta.fingerprintAlg")},{id:"validityPeriod",name:r("router.cert.validityPeriod"),value:qn().duration(Se()(t,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:r("router.cert.issuedOn"),value:(0,b.pz)(Se()(t,"meta.validFrom"),a)},{id:"expiryOn",name:r("router.cert.expiryOn"),value:(0,b.pz)(Se()(t,"meta.validTo"),a)}];return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>s(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[(0,Z.jsx)(Kn.Z,{style:{fontSize:16}}),r("common.detail")]}),(0,Z.jsxs)(Un.ZP,{title:r("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:o,showCloseButton:!1,actions:(0,Z.jsx)(B.Z,{autoFocus:!0,variant:"contained",onClick:()=>{s(!1)},color:"secondary",children:r("common.close")}),children:[(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:m.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cert-basic"),(0,Z.jsx)(Hn.Z,{}),(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:u.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cer-info"),(0,Z.jsx)(Hn.Z,{})]})]})}function Qn(e){const{certificate:t,style:n,...r}=e,{t:a}=(0,c.PE)(),[o,s]=(0,i.useState)(!1),d=t.matchedSites||[];return(0,Z.jsxs)(l.Z,{component:"ul",...r,style:{...n,listStyle:"none"},children:[(o?d:d.slice(0,4)).map((e=>(0,Z.jsx)(l.Z,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:e.domain},e.id))),d.length>4&&(0,Z.jsx)(B.Z,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{s(!o)},children:a(o?"common.collapseAll":"common.expandAll")})]})}Qn.defaultProps={style:{}};const Xn=e=>{if(!e)return!1;return e-+new Date<=0},Jn="ssl-certificates-table";function $n(e){let{name:t,value:n,style:r={},icon:i,...a}=e;return(0,Z.jsxs)(er,{style:{display:"flex",alignItems:"center",...r},...a,children:[(0,Z.jsxs)("span",{children:[t,":"]}),(0,Z.jsx)("span",{children:n}),i&&i]})}const er=a.Z.div(Mn||(Mn=(0,r.Z)(["\n & > span {\n margin: 5px;\n }\n"])));function tr(e){let{status:t,source:n,expiresTime:r}=e;const{t:i}=(0,c.PE)();return Xn(r)?(0,Z.jsx)(Rn.Z,{type:"error",children:i("router.cert.expired")}):"upload"===n?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):"error"===t?(0,Z.jsx)(Rn.Z,{type:"error",children:i("common.error")}):"generated"===t?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):""}tr.defaultProps={status:"",source:""};const nr=(e,t)=>{if(!t)return e;const n=(t.site.domainAliases||[]).map((e=>e.value));return e.filter((e=>(0,x.kO)(n,e.matchedSites)))};function rr(){var e;const{t:t,locale:n}=(0,i.useContext)(c.RD),r=(0,v.Z)(),{api:a}=(0,j.h6)(),o=(0,kn.Z)().get("did"),s=(0,u.Z)((async()=>{const{certificates:e}=await r.getCertificates();let t=null;if(o){const{blocklet:e}=await a.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});t=e}return{certificates:nr(e,t)}})),d=()=>{s.retry()},m=null===(e=s.value)||void 0===e?void 0:e.certificates,p=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return(0,Z.jsxs)(Z.Fragment,{children:[n.name&&(0,Z.jsx)($n,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:n.name}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Se()(n,"meta.issuer.commonName","")}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:(0,Z.jsx)(Nt.Z,{title:n.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:(0,Z.jsx)(Tn.Z,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:n.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(l.Z,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Se()(t,"meta.sans")||[],t.domain])].map((e=>(0,Z.jsx)(l.Z,{component:"li",title:e,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:e},e)))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return t("router.cert.sourceTypes.".concat(n.source))}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(tr,{status:t.status,source:t.source,expiresTime:Se()(t,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Se()(t,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(Qn,{id:t.id,certificate:t,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsxs)(Z.Fragment,{children:[!t.isProtected&&(0,Z.jsxs)(Z.Fragment,{children:["upload"===t.source&&(0,Z.jsx)("div",{children:(0,Z.jsx)(Fn,{mode:"update",certificate:t,onRefresh:d})}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Bn,{id:t.id,domain:t.domain,onDelete:d})})]}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Vn,{id:t.id,certificate:t})})]})})}}}];if(s.error)return(0,Z.jsx)(G.Z,{type:"error",children:(0,x.Z)(s.error)});if(s.loading)return(0,Z.jsx)(q.Z,{});const f=(0,fe.$)(Jn);return(0,Z.jsx)(ir,{children:(0,Z.jsx)(fe.Z,{title:(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Fn,{mode:"add",onRefresh:d,variant:"contained"})}),locale:n,data:s.value.certificates,columns:p,verticalKeyWidth:100,durable:Jn,options:{search:!1,download:!1,filter:!1,print:!1,...f}})})}const ir=a.Z.div(Wn||(Wn=(0,r.Z)(["\n .header {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-top: 20px;\n }\n\n margin-bottom: 24px;\n .table-cell {\n span {\n font-size: 18px;\n }\n @media (max-width: ","px) {\n span {\n font-size: 15px;\n }\n }\n }\n .match-sites-cell,\n .expires-cell {\n min-width: 100px;\n }\n .actions {\n text-align: center;\n @media (max-width: ","px) {\n .MuiButton-root {\n padding: 6px;\n }\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var ar,or=n(62362),lr=n(90067);const sr=(0,n(50844).Z)((e=>({root:{color:e.palette.primary.main,height:8},thumb:{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},valueLabel:{left:"calc(-50% + 4px)"},track:{height:8,borderRadius:4},rail:{height:8,borderRadius:4}})))(or.ZP);function cr(){const{info:{routing:e}}=(0,j.h6)(),{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),a=e.requestLimit||{};"boolean"!==typeof a.enabled&&(a.enabled=!1),"number"!==typeof a.rate&&(a.rate=h.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");const{handleSubmit:o,control:s,watch:d}=(0,M.cI)({defaultValues:{requestLimit:a,cacheEnabled:"boolean"!==typeof e.cacheEnabled||e.cacheEnabled}}),m=d("requestLimit.enabled"),u=d("requestLimit.rate"),p=async e=>{try{r(!0),await(0,v.Z)().updateGateway({input:e}),await(0,b._v)(1e3),z.Z.success(t("common.saveSuccess"))}catch(n){z.Z.error((0,b.Z)(n))}finally{r(!1)}};return(0,Z.jsx)(dr,{children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(ee,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:o(p),children:[(0,Z.jsx)(M.Qr,{name:"cacheEnabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.cacheEnabled.switchLabel")})})},style:{marginTop:16}})}}),(0,Z.jsx)(M.Qr,{name:"requestLimit.enabled",control:s,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(l.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.reqLimit.switchLabel")})})},style:{marginTop:16}})}}),m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"form-item",children:[(0,Z.jsx)(l.Z,{id:"request-limit-rate-label",gutterBottom:!0,children:t("router.gateway.reqLimit.rate",{rate:u})}),(0,Z.jsx)(M.Qr,{name:"requestLimit.rate",control:s,render:t=>{let{field:{value:n,onChange:r}}=t;return(0,Z.jsx)(sr,{disabled:!e,onChange:(e,t)=>r(t),defaultValue:n,valueLabelDisplay:"auto",step:1,min:h.GATEWAY_REQ_LIMIT.min,max:h.GATEWAY_REQ_LIMIT.max})}})]}),(0,Z.jsx)(M.Qr,{name:"requestLimit.ipHeader",control:s,render:r=>{let{field:{value:i,onChange:a}}=r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{variant:"outlined",disabled:n||!e,className:"form-item",label:t("router.gateway.reqLimit.ipHeaderLabel"),margin:"normal",value:i,onChange:a}),(0,Z.jsx)(lr.Z,{id:"req-limit-ip_header-desc",children:t("router.gateway.reqLimit.ipHeaderDesc")})]})}})]}),(0,Z.jsx)("div",{className:"form-actions",children:e&&(0,Z.jsxs)(B.Z,{disabled:n,onClick:o(p),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[t("common.save")," ",n&&(0,Z.jsx)(q.Z,{size:16})]})})]})})})}const dr=a.Z.div(ar||(ar=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var mr;function ur(){const e=(0,o.useNavigate)(),{node:t}=(0,i.useContext)(j.sy),{t:n}=(0,i.useContext)(c.RD),{tab:r="basic"}=(0,o.useParams)(),a=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],d={basic:le,integration:ve,about:Je,router:(0,Z.jsx)(A,{children:(0,Z.jsx)(Sn,{})}),gateway:cr,cert:(0,Z.jsx)(A,{children:(0,Z.jsx)(rr,{})})},m=d[r]||d.basic;return(0,Z.jsxs)(pr,{children:[(0,Z.jsx)(l.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(s.Z,{tabs:a,current:r,onChange:t=>{e("/settings/".concat(t))},scrollButtons:"auto"}),(0,Z.jsx)("div",{className:"page-content",children:(0,i.isValidElement)(m)?m:(0,Z.jsx)(m,{node:t})})]})]})}const pr=a.Z.main(mr||(mr=(0,r.Z)(["\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 16px;\n }\n"])))},44543:(e,t,n)=>{const r=n(57156);e.exports=(e,t)=>r(e)===r(t)},44784:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r,i=n(71171),a=n(33518),o=n(82790),l=n(96266);function s(e){let{labelProps:t,className:n,style:r,...i}=e;const a={...t,labelPlacement:(null===t||void 0===t?void 0:t.labelPlacement)||"start"};return(0,l.jsx)(c,{className:n,style:r,children:(0,l.jsx)(o.Z,{labelProps:a,...i})})}s.propTypes=o.Z.propTypes,s.defaultProps=o.Z.defaultProps;const c=a.Z.div(r||(r=(0,i.Z)(["\n max-width: 300px;\n > label {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n "," {\n max-width: 100%;\n }\n"])),(e=>{let{theme:t}=e;return t.breakpoints.down("sm")})),d=s},81010:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5057),i=n(55898),a=n.n(i),o=n(44846),l=n(75239),s=n(68420),c=n(38242),d=n(69569),m=n(22228),u=n(96266);const p={yellow:"#FFCF71",grey:"#888888"};function f(e){let{status:t,variant:n,source:i,progress:a,...f}=e;const{t:h}=(0,r.useContext)(s.RD),x={added:p.grey,waiting:p.yellow,downloading:p.yellow,extracting:p.yellow,downloaded:p.grey,installing:p.yellow,installed:p.grey,starting:p.yellow,running:"success",stopping:p.yellow,stopped:p.grey,error:"error",upgrading:p.yellow,restarting:p.yellow,corrupted:"error",deleting:p.yellow},g=(0,c.isInProgress)(t),y=h("blocklet.status.".concat(t));return"dot"===n?(0,u.jsx)(l.Z,{title:h("blocklet.statusTip",{status:y}),children:(0,u.jsx)(d.Z,{color:x[t],...f})}):(0,u.jsxs)(m.Z,{type:{added:"primary",waiting:"warning",downloading:"warning",extracting:"warning",downloaded:"primary",installing:"warning",installed:"primary",starting:"warning",running:"success",stopping:"warning",stopped:"reverse",error:"error",upgrading:"warning",restarting:"warning",corrupted:"error",deleting:"warning"}[t],...f,children:[g&&(0,u.jsx)(o.Z,{size:12,color:"inherit",style:{marginRight:5}}),y,"downloading"===t&&a?(0,u.jsx)("div",{style:{marginLeft:5},children:"".concat(a," %")}):null]})}f.propTypes={status:a().string.isRequired,variant:a().oneOf(["dot","tag"]),source:a().string,progress:a().number},f.defaultProps={variant:"tag",source:"",progress:0}},78410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5057),i=n(86229),a=n(28726),o=n(44846),l=n(68420),s=n(46090),c=n(58238),d=n(70461),m=n(96266);function u(e){let{teamDid:t,size:n="small",...u}=e;const{t:p}=(0,l.PE)(),{api:f}=(0,c.h6)(),[h,x]=(0,r.useState)(!1),[g,y]=(0,r.useState)(null),j={title:p("blocklet.config.clearCache.title"),description:p("blocklet.config.clearCache.description"),confirm:p("common.confirm"),cancel:p("common.cancel"),onConfirm:async()=>{try{var e;x(!0);const n=await f.clearCache({input:{teamDid:t}});i.Z.success(p("blocklet.config.clearCache.success",{count:(null===(e=n.removed)||void 0===e?void 0:e.length)||0}))}catch(n){i.Z.error((0,s.Z)(n))}finally{x(!1),y(null)}},onCancel:()=>{x(!1),y(null)}};return(0,m.jsxs)("div",{...u,children:[(0,m.jsxs)(a.Z,{onClick:()=>y(j),color:"error",variant:"outlined",size:n,children:[h?(0,m.jsx)(o.Z,{size:16,style:{marginRight:5}}):null,p("blocklet.config.clearCache.action")]}),g&&(0,m.jsx)(d.Z,{title:g.title,description:g.description,confirm:g.confirm,cancel:g.cancel,onConfirm:g.onConfirm,onCancel:g.onCancel})]})}},50185:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(5057),i=n(55898),a=n.n(i),o=n(12937),l=n(68420),s=n(96266);function c(e){let{children:t,...n}=e;const{t:i}=(0,r.useContext)(l.RD);return(0,s.jsx)(o.Z,{tip:i("common.copyTip"),copiedTip:i("common.copiedTip"),...n,children:t})}c.propTypes={children:a().any.isRequired}},71363:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(55898),i=n.n(r),a=n(11750),o=n(47020),l=n(93938),s=n(68420),c=n(50185),d=n(70461),m=n(96266);function u(e){let{title:t,description:n,confirmPlaceholder:r,cancel:i,confirm:u,params:p,onCancel:f,onConfirm:h,keyName:x}=e;const{t:g}=(0,s.PE)(),y={title:()=>(0,m.jsxs)("div",{children:[t," (".concat(x,")")]}),description:(e,t)=>(0,m.jsxs)("div",{children:[(0,m.jsx)(l.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,m.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,m.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,m.jsx)(c.Z,{"data-cy":"click-copy",children:x})]}),(0,m.jsx)(a.Z,{component:"div",children:(0,m.jsx)(o.Z,{label:r,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:n=>{var r;r={...e,inputVal:n.target.value,__disableConfirm:x!==n.target.value},t({...r,__disableConfirm:r.__disableConfirm})}})})]}),confirm:u,cancel:i,onConfirm:h,onCancel:f,params:{inputVal:"",__disableConfirm:!0,...p}};return(0,m.jsx)(d.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}u.propTypes={title:i().any.isRequired,keyName:i().any.isRequired,description:i().any.isRequired,confirmPlaceholder:i().any.isRequired,cancel:i().string,confirm:i().string,params:i().object,onCancel:i().func,onConfirm:i().func.isRequired},u.defaultProps={onCancel:()=>{},cancel:"",confirm:"Confirm",params:{}}},69569:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r,i=n(71171),a=n(33518);const o={success:"#3ab39d",error:"#D0021B"},l="10px",s=a.Z.div(r||(r=(0,i.Z)(["\n display: inline-block;\n min-width: ",";\n min-height: ",";\n background: ",";\n border-radius: 100%;\n"])),(e=>e.size||l),(e=>e.size||l),(e=>o[e.color]||e.color||o.success))},22228:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r=n(55898),i=n.n(r),a=n(19778),o=n(96266);function l(e){let{children:t,style:n,...r}=e;return(0,o.jsx)(a.Z,{style:n,...r,children:t})}l.propTypes={children:i().any.isRequired,style:i().object},l.defaultProps={style:{}}}}]);
1
+ (self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[5059],{43120:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(70461)},30756:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r.Z});var r=n(71363)},7199:(e,t,n)=>{"use strict";n.d(t,{V:()=>r.V,Z:()=>r.Z});var r=n(63406)},24138:(e,t,n)=>{"use strict";n.d(t,{BZ:()=>g,ZN:()=>y});var r=n(5057),i=n(6352),a=n.n(i),o=n(35432),s=n(49714),l=n(41365),c=n.n(l),d=n(32243),m=n.n(d),u=n(68420),p=n(46090);const f=m()((e=>c()(a()(new URL(e).origin,o.WELLKNOWN_PING_PREFIX)))),h={};function x(e){let{urls:t,checkAccessible:n=c(),disableCache:i=!1}=e;const a=(0,r.useRef)(t.filter((e=>h[e])).map((e=>h[e]))),o=a.current.length===t.length,[l,d]=(0,r.useState)(o?a.current:[]),[m,u]=(0,r.useState)(!o),p=(0,r.useMemo)((()=>!m&&l.length?l[0]:null),[l,m]);return(0,r.useEffect)((()=>{if((null===t||void 0===t?void 0:t.length)>0&&!o){(async()=>{let e;if(u(!0),i)e=await(0,s.evaluateURLs)(t,{checkAccessible:n}),e.forEach((e=>{h[e.url]=e}));else{(await(0,s.evaluateURLs)(t.filter((e=>!h[e])),{checkAccessible:n})).forEach((e=>{h[e.url]=e})),e=t.map((e=>h[e])).sort(((e,t)=>t.score-e.score))}d(e),u(!1)})()}}),[t,i,o]),{urlsState:l,loading:m,recommendedUrlState:p,recommendedUrl:null===p||void 0===p?void 0:p.url}}function g(e){const{locale:t}=(0,r.useContext)(u.RD),n=(0,r.useMemo)((()=>e?(0,p.A6)({blocklet:e,params:(0,p.f0)(e,t)}):[]),[e,t]),{loading:i,recommendedUrlState:a,recommendedUrl:o}=x({urls:n,checkAccessible:f});return{urls:n,loading:i,recommendedUrlState:a,recommendedUrl:o}}function y(e){const t=(0,r.useMemo)((()=>e.map((e=>(0,p.Sk)(e)))),[e]),{urlsState:n,loading:i,recommendedUrl:a}=x({urls:t,checkAccessible:f});let o;if(i)o={domainsAccessibility:e.reduce(((e,t)=>({...e,[t]:{loading:!0}})),{}),recommendedDomain:null};else{var s;const e=n.reduce(((e,t)=>{const n=new URL(t.url).hostname;return e[n]={...t,domain:n},e}),{}),t=(null===(s=n.find((e=>e.accessible)))||void 0===s?void 0:s.url)||a;o={domainsAccessibility:e,recommendedDomain:t?new URL(t).hostname:null}}return o}},55059:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>ur});var r=n(71171),i=n(5057),a=n(33518),o=n(85493),s=n(11750),l=n(94464),c=n(68420),d=n(62219),m=n.n(d),u=n(74511),p=n(57156),f=n.n(p),h=n(35432),x=n(46090),g=n(4651),y=n(33234),j=n(75793),v=n(10155),b=n(74094),Z=n(96266);const C="Dashboard",w=(0,i.createContext)({}),{Provider:P,Consumer:E}=w,S=[C,h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP],_=(e,t)=>{if(e.name===h.DOMAIN_FOR_DEFAULT_SITE)return-1;if(t.name===h.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=S.includes(e.name),r=S.includes(t.name);return n&&r?(0,b.W8)(e.name,t.name):n?-1:r?1:(0,b.W8)(e.name,t.name)},T=e=>{let{sites:t,nodePort:n}=e;const r=window.location.host,i=(t||[]).map((e=>{const{id:t,rules:i=[],corsAllowedOrigins:a=[]}=e;let{domain:o,domainAliases:s}=e;s=s||[],[h.DOMAIN_FOR_IP_SITE,h.DOMAIN_FOR_IP_SITE_REGEXP].includes(o)&&(o=C,s.find((e=>e.value===r))||s.unshift({protected:!1,value:r}));const l={id:t,name:o,type:"domain",items:[],domainAliases:s,isProtected:e.isProtected,corsAllowedOrigins:a};return(i||[]).forEach((e=>{const{id:t,isProtected:r,from:{pathPrefix:i},to:a}=e;if(a.type===h.ROUTING_RULE_TYPES.BLOCKLET){let e="";Number.parseInt(a.port,10)===Number.parseInt(n,10)?(e="Blocklet Server Dashboard",a.type=h.ROUTING_RULE_TYPES.DAEMON):e=a.did,l.items.push({id:t,name:f()(i||"/"),title:e,type:"rule",isProtected:r,pathPrefix:i,to:a})}else l.items.push({id:t,pathPrefix:i,name:f()(i||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:r,to:a})})),l.items=m()(l.items,(e=>e.name)),l})).sort(_),a=i.reduce(((e,t)=>{let{name:n}=t;return n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&([n]=n.split(".")),e[n]={...t,rules:t.items},e}),{});return{sites:i,siteMap:a}},R=function(){let{did:e,domain:t,mountPoint:n,siteMap:r,params:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r)return null;const a=r[e];if(!a)return null;const o=t||(a.domainAliases||[])[0];if(!o)return null;let s=n;if(!s){const e=a.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];s=e?e.name:"/"}return(0,x.Sk)(o.value,s,i)},k=function(){let{did:e,mountPoint:t,siteMap:n,params:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!n)return[];const i=n[e];if(!i)return[];const a=i.domainAliases||[];if(!a.length)return[];let o=t;if(!o){const e=i.rules.filter((e=>!e.name.startsWith(h.WELLKNOWN_PATH_PREFIX)))[0];o=e?e.name:"/"}return a.map((e=>(0,x.Sk)(e.value,o,r)))},N=e=>{const t=e.map((e=>e.domain)).filter((e=>![h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE].includes(e)));let n=[];return e.forEach((e=>n.push(...e.domainAliases||[]))),n=n.map((e=>"string"===typeof e?{value:e,isProtected:!1}:e)),{domains:t,domainsAliases:n}};function A(e){let{children:t}=e;const n=(0,v.Z)(),{info:r}=(0,j.h6)(),[a,o]=(0,i.useState)([]),[s,l]=(0,i.useState)([]),[c,d]=(0,i.useState)([]),m=(0,u.Z)((async()=>{const{sites:e}=await n.getRoutingSites({input:{snapshotHash:""}}),t=e||[];await Promise.all(t.map((async e=>(e.domainAliases=await(0,g.Q6)(e.domainAliases,{getIP:y.Z}),e))));const r=N(t);o(t),l(r.domains),d([window.location.hostname,...r.domains,...r.domainsAliases.map((e=>e.value))])}),[r]),p=(e,t)=>{o((n=>n.map((n=>n.id===e?t.domain?t:{...t,domain:n.domain}:n))))},f={loading:m.loading,error:m.error,refresh:m.retry,api:n,actions:{addSite:async e=>{const t=await n.addRoutingSite({input:e});o(a.concat(t.site))},updateSite:async(e,t)=>{const r=await n.updateRoutingSite({input:{id:e,...t}});if(r.site&&r.site.id){const e=a.findIndex((e=>e.id===r.site.id));-1!==e&&(a.splice(e,1,r.site),o([].concat(a)))}},deleteSite:async e=>{await n.deleteRoutingSite({input:{id:e}}),o(a.filter((t=>t.id!==e)))},addDomainAlias:async(e,t,r)=>{const i=await n.addDomainAlias({input:{id:e,domainAlias:t,force:r}});p(e,i.site)},deleteDomainAlias:async(e,t)=>{const r=await n.deleteDomainAlias({input:{id:e,domainAlias:t}});p(e,r.site)},takeSnapshot:e=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(e)}}),addRule:async(e,t)=>{const{site:r}=await n.addRoutingRule({input:{id:e,rule:t}});p(e,r)},updateRule:async(e,t)=>{const{site:r}=await n.updateRoutingRule({input:{id:e,rule:t}});p(e,r)},deleteRule:async(e,t)=>{const{site:r}=await n.deleteRoutingRule({input:{id:e,ruleId:t}});p(e,r)}}},{sites:h,siteMap:x}=T({sites:a,nodePort:r.port});return f.sites=h,f.siteMap=x,f.domains=s,f.allDomains=c,f.getBlockletUrl=e=>{let{did:t,domain:n,mountPoint:r,params:i}=e;return R({did:t,domain:n,mountPoint:r,siteMap:f.siteMap,params:i})},f.getBlockletUrls=e=>{let{did:t,mountPoint:n,params:r}=e;return k({did:t,mountPoint:n,siteMap:f.siteMap,params:r})},(0,Z.jsx)(P,{value:{routing:f},children:t})}function L(){const{routing:e}=(0,i.useContext)(w);return e}function U(e){const t=[h.DOMAIN_FOR_IP_SITE_REGEXP,h.DOMAIN_FOR_DEFAULT_SITE,h.DOMAIN_FOR_IP_SITE];return"undefined"!==typeof window&&"undefined"!==typeof window.location&&t.push(window.location.hostname),t.includes(e)}var I,D=n(39948),O=n(55673),F=n(49390),z=n(86229),B=n(28726),M=n(80506),W=n(47020),G=n(88574),q=n(44846),Y=n(44784),K=n(24065),H=n(43120);function V(){return null}function Q(e){let{confirm:t}=e;const[n,r]=(0,i.useState)(null),{t:a}=(0,c.PE)();return(0,Z.jsxs)(X,{children:[(0,Z.jsx)(V,{message:function(e){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];let s="function"===typeof t?t(e,...i):t;return!s||("string"===typeof s&&(s={description:s}),r({title:a("common.noticeTitle"),description:a("common.leavePageTip"),confirm:a("common.confirm"),cancel:a("common.cancel"),onConfirm:()=>(async e=>{if(e){let t=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";"/"===t?K.Z.push("".concat(e.pathname)):(t.endsWith("/")&&(t=t.substring(0,t.length-1)),K.Z.push("".concat(t).concat(e.pathname))),window.location.reload()}})(e),onCancel:()=>{r(null)},...s}),!1)}}),n&&(0,Z.jsx)(H.Z,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Q.defaultProps={confirm:null};const X=a.Z.div(I||(I=(0,r.Z)(["\n margin-bottom: 24px;\n .top-btns-alert {\n @media (max-width: ","px) {\n flex-direction: column;\n padding-bottom: 15px;\n padding-right: 20px;\n }\n }\n .top-btns-action {\n @media (max-width: ","px) {\n margin-right: 0px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var J,$=n(7199);function ee(e){let{children:t,...n}=e;return(0,Z.jsx)(te,{children:(0,Z.jsx)("form",{...n,children:t})})}const te=a.Z.div(J||(J=(0,r.Z)(["\n width: 100%;\n\n form {\n width: 100%;\n flex: 1;\n display: flex;\n flex-direction: column;\n\n .form-submit {\n margin-top: 32px;\n margin-right: 32px;\n width: 180px;\n }\n\n .form-actions {\n display: flex;\n @media (max-width: ","px) {\n flex-direction: column;\n width: 100%;\n button {\n width: 100%;\n margin-right: 0;\n }\n }\n }\n\n .form-item {\n margin-top: 16px;\n margin-right: 0;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));var ne;const re=e=>({name:e.name,description:e.description,registerUrl:e.registerUrl,webWalletUrl:e.webWalletUrl,nftDomainUrl:e.nftDomainUrl,diskAlertThreshold:e.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1});function ie(e){let{onSaved:t,title:n,submit:r,disabled:a,...o}=e;const l=(0,j.h6)(),{t:d}=(0,c.PE)(),{control:m,handleSubmit:u,formState:p,reset:f}=(0,M.cI)({defaultValues:re(l.info)}),[x,g]=(0,i.useState)(""),[y,C]=(0,i.useState)(""),[w,P]=(0,i.useState)(!1),[E,S]=(0,i.useState)(l.info.autoUpgrade),[_,T]=(0,i.useState)(!!l.info.enableWelcomePage),[R,k]=(0,i.useState)(!!l.info.enableBetaRelease);(0,i.useEffect)((()=>{let e="";(p.isDirty||E!==l.info.autoUpgrade||_!==!!l.info.enableWelcomePage)&&(e=d("setting.unSavedTip")),C(e)}),[d,l,E,_,p]);const N=async e=>{g(""),P(!0);try{const n=await(0,v.Z)().updateNodeInfo({input:{...e,name:e.name.trim(),description:e.description.trim(),registerUrl:e.registerUrl.trim(),webWalletUrl:e.webWalletUrl.trim(),diskAlertThreshold:e.diskAlertThreshold,autoUpgrade:E,enableWelcomePage:_,enableBetaRelease:R}});await(0,b._v)(1e3),f(re(n.info)),"function"===typeof t&&t(n)}catch(n){g((0,b.Z)(n))}finally{P(!1)}},{errors:A}=p;return(0,Z.jsxs)(ae,{...o,children:[(0,Z.jsxs)(ee,{noValidate:!0,autoComplete:"off",onSubmit:u(N),children:[!!n&&(0,Z.jsx)(s.Z,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>{var t;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M.Qr,{name:"name",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.nameRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.name"),placeholder:d("setting.form.namePlaceholder"),disabled:w||!e,"data-cy":"node-name-input",error:A.name&&!!A.name.message,helperText:A.name?A.name.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"description",control:m,rules:{validate:e=>!!e.trim()||d("setting.form.descriptionRequired")},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.description"),placeholder:d("setting.form.descriptionHolder"),disabled:w||!e,"data-cy":"node-description-input",error:A.description&&!!A.description.message,helperText:A.description?A.description.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"registerUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.registerUrl"),placeholder:d("setting.form.registerUrlPlaceholder"),disabled:w||!e,error:A.registerUrl&&!!A.registerUrl.message,helperText:A.registerUrl?A.registerUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"nftDomainUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.nftDomainUrl"),placeholder:d("setting.form.nftDomainUrlPlaceholder"),disabled:w||!e,error:A.nftDomainUrl&&!!A.nftDomainUrl.message,helperText:A.nftDomainUrl?A.nftDomainUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"webWalletUrl",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{variant:"outlined",label:d("setting.form.webWalletUrl"),placeholder:d("setting.form.webWalletUrlPlaceholder"),disabled:w||!e,error:A.webWalletUrl&&!!A.webWalletUrl.message,helperText:A.webWalletUrl?A.webWalletUrl.message:"",margin:"normal",...n})}}),(0,Z.jsx)(M.Qr,{name:"diskAlertThreshold",control:m,rules:{},render:t=>{let{field:n}=t;return(0,Z.jsx)(W.Z,{type:"number",variant:"outlined",label:d("setting.form.monitor.diskThreshold"),placeholder:d("setting.form.monitor.diskThresholdPlaceholder"),disabled:w||!e,error:A.diskAlertThreshold&&!!A.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:A.diskAlertThreshold?A.diskAlertThreshold.message:"",margin:"normal",...n})}}),(0,Z.jsx)(Y.Z,{checked:E,onChange:()=>S(!E),name:"autoUpgrade",disabled:!e,labelProps:{label:(0,Z.jsx)(s.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),E&&(0,Z.jsx)(Y.Z,{checked:R,onChange:()=>k(!R),name:"enableBetaRelease",disabled:!e,labelProps:{label:(0,Z.jsx)(s.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(null===(t=l.info)||void 0===t?void 0:t.mode)!==h.NODE_MODES.SERVERLESS&&(0,Z.jsx)(Y.Z,{checked:_,onChange:()=>T(!_),name:"enableWelcomePage",disabled:!e,labelProps:{label:(0,Z.jsx)(s.Z,{children:(0,Z.jsx)("span",{children:d("setting.form.welcome.switchLabel")})})},style:{marginTop:16}})]})}}),!!y&&(0,Z.jsx)(G.Z,{type:"warning",variant:"icon",children:y}),(0,Z.jsx)("div",{className:"form-actions",children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:(0,Z.jsxs)(B.Z,{onClick:u(N),disabled:a||w,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",w?(0,Z.jsx)(q.Z,{size:16}):null]})})}),!!x&&(0,Z.jsx)(G.Z,{type:"error",variant:"icon",error:x,children:x})]}),y&&(0,Z.jsx)(Q,{confirm:d("setting.unSavedLeaveTip")})]})}ie.defaultProps={disabled:!1};const ae=a.Z.div(ne||(ne=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var oe;function se(){const{refresh:e,info:t}=(0,j.h6)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e({silent:!0})}),[]);return(0,Z.jsx)(le,{children:(0,Z.jsxs)(D.Z,{mb:4,children:[(0,Z.jsx)(ie,{onSaved:()=>{e({silent:!0}),z.Z.success(n("setting.saveSuccess"))},submit:n("common.saveChanges"),title:""}),(0,Z.jsx)(D.Z,{mt:6,style:{marginLeft:-8},children:(0,Z.jsxs)(B.Z,{onClick:()=>{a((e=>!e))},children:[n("common.readMore"),r?(0,Z.jsx)(O.Z,{}):(0,Z.jsx)(F.Z,{})]})}),r&&(0,Z.jsxs)(D.Z,{fontSize:12,color:"text.secondary",children:[(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",t.runtimeConfig.blockletMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",t.runtimeConfig.daemonMaxMemoryLimit," MB"]}),(0,Z.jsxs)(D.Z,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",t.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const le=a.Z.div(oe||(oe=(0,r.Z)(["\n .eula-btn {\n text-decoration-line: underline;\n margin-top: 32px;\n margin-bottom: 32px;\n }\n\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n max-width: 720px;\n }\n"])));var ce,de,me,ue=n(93938),pe=n(49384),fe=n(75760),he=n(33271),xe=n(84639),ge=n(27773),ye=n(30756);function je(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{item:s,onDelete:l=(()=>{})}=e,{id:d,title:m}=s,u=(0,v.Z)(),p={keyName:d,title:t("setting.webhook.delTitle"),description:"".concat(t("setting.webhook.description",{name:"<b>".concat(m,"</b>"),id:"<b>".concat(d,"</b>")})),confirmPlaceholder:t("setting.webhook.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{r(!0);try{await u.deleteWebHook({input:{id:d}}),l()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>o(p),size:"small",className:"rule-action",color:"error",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("common.delete")]}),a&&(0,Z.jsx)(ye.Z,{keyName:a.keyName,title:a.title,description:a.description,confirmPlaceholder:a.confirmPlaceholder,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function ve(){const{api:e,imgPrefix:t}=(0,j.h6)(),{t:n,locale:r}=(0,i.useContext)(c.RD),[a,o]=(0,i.useState)([]),[s,l]=(0,i.useState)(null),d=(0,u.Z)((async()=>{const[{webhooks:t},{senders:n}]=await Promise.all([e.getWebHooks(),e.getWebhookSenders()]);return o(n),t})),m=d.value||[],{loading:p,error:f}=d,h=()=>{l(null)},x=t=>{const r={title:t.title,description:(e,t,r)=>{const i=e.list||[];return(0,Z.jsx)(be,{children:i.map(((e,a)=>(0,Z.jsx)(Ze,{children:(0,Z.jsx)(W.Z,{label:e.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:e.value||e.defaultValue,onChange:o=>{e.required&&(e.disable=!0);const s=o.target.value.trim();var l;e.value=s,i[a]=e,s?(0,b.rg)(e.type,s)?(e.disable=!1,r("")):(e.disable=!0,r(n("setting.webhook.requiredError",{type:e.type}))):(e.required&&(e.disable=!0),r("")),l=[...i],t({list:l,__disableConfirm:l.some((e=>e.disable))})}})},e.name)))})},params:{list:t.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:n=>{t.params=n.list,(async t=>{try{await e.createWebHook({input:t}),d.retry()}catch(n){z.Z.error((0,b.Z)(n),{autoHideDuration:4e3}),console.error("create webhook error",n)}l(null)})(t)},onCancel:h};l(r)},g=e=>"slack"===e.type?(0,Z.jsx)("img",{src:"".concat(t,"/").concat(e.type,".png"),alt:"icon",style:{width:20,height:20}}):(0,Z.jsx)(he.Z,{}),y=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e],n=a.find((e=>e.name===t.name));return(0,Z.jsxs)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[g(t),(0,Z.jsxs)("div",{style:{marginLeft:10},children:[(0,Z.jsxs)("b",{children:["ID: ",t.id]}),(0,Z.jsx)("div",{children:n?n.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:e=>{const t=m[e].params.map((e=>(0,Z.jsx)("div",{children:e.value})));return(0,Z.jsx)("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:t})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Number(t.createdAt),locale:r})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:t=>{const r=m[t],i=a.find((e=>e.name===r.name))||{};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(je,{item:{...r,title:i.title},onDelete:()=>{d.retry()}}),(0,Z.jsxs)(B.Z,{size:"small",color:"secondary",onClick:()=>{(async t=>{const n={webhookId:t.id,message:"This is a test notification in order to test the integration"};await e.sendTestMessage({input:n})})(r)},children:[(0,Z.jsx)(Ce,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&p)return(0,Z.jsx)("div",{style:{textAlign:"center",marginTop:"50px"},children:(0,Z.jsx)(q.Z,{})});if(!m.length&&f)return(0,Z.jsx)(ue.Z,{severity:"error",children:(0,b.Z)(f)});const v=a.map((e=>({icon:g(e),title:"".concat(n("common.add")," ").concat(e.title),onClick:()=>{x(e)}})));return(0,Z.jsxs)(be,{children:[s&&(0,Z.jsx)(H.Z,{color:"primary",title:s.title,description:s.description,confirm:s.confirm,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel}),(0,Z.jsx)(fe.Z,{columns:y,data:m,locale:r,customButtons:v,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}je.defaultProps={onDelete:()=>{}};const be=a.Z.div(ce||(ce=(0,r.Z)(["\n .button-addon {\n text-align: right;\n }\n\n .add-list {\n width: 420px;\n max-width: calc(100vw - 10px);\n text-align: left;\n background: #fff;\n border-radius: 5px;\n }\n"]))),Ze=a.Z.div(de||(de=(0,r.Z)(["\n display: flex;\n"]))),Ce=(0,a.Z)(xe.Z)(me||(me=(0,r.Z)(["\n font-size: 16px !important;\n margin-right: 3px;\n"])));var we,Pe,Ee=n(43681),Se=n.n(Ee),_e=n(64886),Te=n(19778),Re=n(17450),ke=n(52581);function Ne(e){let{title:t,description:n,children:r}=e;return(0,Z.jsxs)(Ae,{children:[(0,Z.jsxs)(s.Z,{component:"div",className:"danger-item-info",children:[(0,Z.jsx)(s.Z,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),(0,Z.jsx)(s.Z,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),(0,Z.jsx)(s.Z,{component:"div",className:"danger-item-action",children:r})]})}const Ae=a.Z.div(we||(we=(0,r.Z)(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .danger-item-info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n .title {\n word-break: break-word;\n }\n .desc {\n word-break: break-word;\n }\n }\n\n .danger-item-action {\n width: 160px;\n flex-shrink: 0;\n text-align: right;\n cursor: pointer;\n @media (max-width: ","px) {\n width: auto;\n margin-left: 10px;\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm));function Le(e){let{children:t,...n}=e;return(0,Z.jsx)(Ue,{...n,children:t})}const Ue=a.Z.div(Pe||(Pe=(0,r.Z)(["\n border: 1px solid #dedede;\n padding: 16px;\n"])));function Ie(e){let{action:t}=e;const{t:n}=(0,c.PE)(),{info:r,api:a}=(0,j.h6)(),[o,s]=(0,i.useState)(!1),[l,d]=(0,i.useState)(null);if("upgrade"===t&&!r.nextVersion)return null;const m={title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".dialog")),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:async()=>{try{s(!0),"upgrade"===t&&await a.upgradeNodeVersion(),"restart"===t&&await a.restartServer()}catch(e){z.Z.error((0,b.Z)(e))}finally{s(!1),d(null)}},onCancel:()=>{s(!1),d(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:n("setting.form.".concat(t,".title"),{version:r.nextVersion}),description:n("setting.form.".concat(t,".description")),children:(0,Z.jsxs)(B.Z,{onClick:()=>d(m),color:"error",variant:"outlined",size:"large",children:[o?(0,Z.jsx)(q.Z,{size:16,style:{marginRight:3}}):null,n("setting.form.".concat(t,".confirm"))]})})}),l&&(0,Z.jsx)(H.Z,{title:l.title,description:l.description,confirm:l.confirm,cancel:l.cancel,onConfirm:l.onConfirm,onCancel:l.onCancel})]})}var De=n(67654),Oe=n(74976),Fe=n(39067),ze=n(24103);function Be(){const{t:e}=(0,c.PE)(),{api:t}=(0,j.h6)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),[l,d]=(0,De.Z)("last-check-server-version-time"),m=()=>{r(!1),o(null)},u={title:e("setting.form.upgrade.check"),description:e("setting.form.upgrade.latest"),confirm:e("common.confirm"),showCancel:!1,color:"primary",onConfirm:m,onCancel:m},p=async e=>{try{r(!0);const{version:n}=await t.checkNodeVersion();!n&&e&&o(u),d(Date.now())}catch(n){console.error("Failed to check new version: ".concat(n.message))}finally{r(!1)}};return(0,i.useEffect)((()=>{(!l||Date.now()-Number(l)>6e4)&&p(!1)}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Fe.Z,{sx:{ml:2},color:"primary",variant:"outlined",onClick:p,size:"small",loadingPosition:"end",loading:n,children:(0,Z.jsxs)(ze.Z,{direction:"row",alignItems:"center",spacing:.5,children:[(0,Z.jsx)(Oe.Z,{fontSize:"small"}),(0,Z.jsx)(s.Z,{component:"span",children:e("server.checkUpgrade")})]})}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Me=n(78410);function We(){const{t:e}=(0,c.PE)(),{info:t}=(0,j.h6)();return(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e("blocklet.config.clearCache.name"),description:e("blocklet.config.clearCache.purpose"),children:(0,Z.jsx)(Me.Z,{teamDid:t.did,size:"large"})})})}var Ge,qe=n(26796),Ye=n(94874),Ke=n.n(Ye);const He="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ve(){const{t:e,locale:t}=(0,c.PE)(),{info:n}=(0,j.h6)(),r=(0,i.useRef)(null),a=(0,g.RU)(n),[o,s]=(0,i.useState)(!1),l=(0,i.useRef)(null),[d,m]=(0,i.useState)({}),{createdAt:u,did:p,description:f,name:h}=n,x=(0,i.useMemo)((()=>(0,b.i7)()),[]),y=(0,qe.default)((async()=>{var e;let{registerUrl:t}=n;localStorage.getItem("__registerUrl")&&(t=localStorage.getItem("__registerUrl"));const r=new URL(t);r.pathname="__blocklet__.js",r.searchParams.set("type","json");const{data:i}=await Ke().get(r.toString()),a=null===i||void 0===i||null===(e=i.componentMountPoints)||void 0===e?void 0:e.find((e=>e.did===He)),o=new URL(t);return o.pathname=(null===a||void 0===a?void 0:a.mountPoint)||"",o.toString()})),v={did:p,name:h,createdAt:u,description:f,url:a},C=(0,i.useMemo)((()=>d.type&&"notAdded"!==d.type),[d]),w=(0,i.useMemo)((()=>o?e("setting.form.register.detecting"):"update"===d.type?e("setting.form.register.update"):e(C?"setting.form.register.added":"setting.form.register.btn")),[o,d,t]),P=(0,i.useMemo)((()=>"update"!==d.type&&!!C),[d]),E=()=>{clearTimeout(l.current),s(!1),x&&r.current.contentWindow.postMessage({...v,action:"queryRegisterInfo"},"*")};if((0,i.useEffect)((()=>{let t;return window.addEventListener("message",t=t=>{const{data:n}=t;"launcher init"===n?E():"registerNode"===(null===n||void 0===n?void 0:n.action)&&(m(n),"addSucceed"===n.type&&z.Z.success(e("setting.form.register.addSucceed")),"updateSucceed"===n.type&&z.Z.success(e("setting.form.register.updateSucceed")))}),x&&(s(!0),l.current=setTimeout((()=>{z.Z.error(e("setting.form.register.timeout")),s(!1)}),6e3)),()=>{window.removeEventListener("message",t),clearTimeout(l.current)}}),[]),y.loading)return"";const S=y.value,_=x?(0,Z.jsx)(B.Z,{disabled:P,loading:o,onClick:()=>{r.current.contentWindow.postMessage({...v,action:"registerNode"},"*")},color:"primary",variant:"contained",size:"large",children:w}):(0,Z.jsx)(B.Z,{color:"primary",loading:o,component:"a",href:"".concat(S,"?register-server=").concat(encodeURIComponent(JSON.stringify(v))),target:"_blank",variant:"contained",size:"large",children:e("setting.form.register.btn")});return(0,Z.jsxs)(Qe,{children:[(0,Z.jsx)(Le,{className:"danger-zone",children:(0,Z.jsx)(Ne,{title:e(C?"setting.form.register.titleAdded":"setting.form.register.title"),description:e(C?"setting.form.register.descriptionOnAdded":"setting.form.register.description",{url:S}),children:_})}),x&&(0,Z.jsx)("iframe",{ref:r,src:"".concat(S,"?register-detect=1"),title:"register",style:{display:"none"}})]})}const Qe=a.Z.div(Ge||(Ge=(0,r.Z)(["\n .danger-zone {\n margin-top: 1vw;\n width: 100%;\n }\n"])));var Xe;function Je(){const e=(0,o.useNavigate)(),{api:t,info:n}=(0,j.h6)(),{t:r}=(0,c.PE)(),i=(0,u.Z)((async()=>{const e=await t.getNodeEnv();return Object.assign({},e.info||{})})),a=[];return a.push({name:r("dashboard.nodeDid"),value:(0,Z.jsx)(Re.Z,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:r("dashboard.ownerDid"),value:(0,Z.jsx)(Re.Z,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:r("dashboard.routingEngine"),value:n.routing.provider}),i.value&&a.push({name:"".concat(r("common.os")),value:i.value.os},i.value.docker?{name:"".concat(r("common.docker")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null,i.value.gitpod?{name:"".concat(r("common.gitpod")),value:(0,Z.jsx)(Te.Z,{type:"success",children:"Yes"})}:null),Array.isArray(Se()(i,"value.blockletEngines",null))&&i.value.blockletEngines.filter((e=>e.visible&&e.available)).forEach((e=>{a.push({name:e.displayName,value:e.version})})),(0,Z.jsxs)($e,{children:[(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(D.Z,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[(0,Z.jsx)(D.Z,{width:50,height:50,children:(0,Z.jsx)("img",{src:ke.Z,height:50,alt:""})}),(0,Z.jsxs)(D.Z,{ml:2,children:[(0,Z.jsx)("h2",{style:{margin:0},children:n.name}),(0,Z.jsx)("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),(0,Z.jsxs)(_e.Z,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:r("common.version"),children:[n.version,e&&(0,Z.jsx)(Be,{})]},"version"),a.filter(Boolean).map((e=>(0,Z.jsx)(_e.Z,{valueComponent:"div",nameWidth:150,name:e.name,children:e.value},e.name))),e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"upgrade"})})]})}),(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(Ie,{action:"restart"})})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:e=>e&&(0,Z.jsx)("div",{style:{maxWidth:720,marginBottom:"1vw"},children:(0,Z.jsx)(We,{})})}),(0,Z.jsx)($.Z,{permission:"mutate_blocklets",children:!!n.registerUrl&&(0,Z.jsx)("div",{style:{maxWidth:720,marginTop:"-1vw"},children:(0,Z.jsx)(Ve,{})})}),(0,Z.jsx)(D.Z,{mt:10,style:{marginLeft:-8},children:(0,Z.jsx)(B.Z,{className:"eula-btn",onClick:()=>{e("/eula")},children:r("common.goEULA")})})]})}const $e=a.Z.div(Xe||(Xe=(0,r.Z)(["\n display: flex;\n flex-direction: column;\n margin-top: 32px;\n"])));var et=n(19577),tt=n(44919),nt=n(52926),rt=n(34937),it=n(24138);const at=(0,i.createContext)({}),{Provider:ot,Consumer:st}=at;function lt(e){let{children:t,domains:n}=e;const r=(0,v.Z)(),a=JSON.stringify(n),[o,s]=(0,i.useState)({}),l=(0,i.useMemo)((()=>n.filter((e=>(0,b.rM)(e)))),[a]);(0,rt.mU)(h.EVENTS.DOMAIN_STATUS,(e=>{e&&s((t=>({...t,[e.domain]:{...t[e.domain],...e}})))}));const{domainsAccessibility:c,recommendedDomain:d}=(0,it.ZN)(l),m=(0,i.useMemo)((()=>{const e={...o};return Object.keys(c).forEach((t=>{const n=e[t]||{};e[t]={...n,...c[t]}})),e}),[o,c]),u=()=>{l.length>0&&r.checkDomains({input:{domains:l}})};(0,i.useEffect)((()=>{u()}),[l]);const p={refresh:u,updateStatus:e=>{e&&r.checkDomains({input:{domains:[e]}})},api:r,status:m,recommendedDomain:d,recommendedDomainStatus:m[d]};return(0,Z.jsx)(ot,{value:p,children:t})}function ct(){const{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}=(0,i.useContext)(at);return{status:e,recommendedDomainStatus:t,recommendedDomain:n,updateStatus:r}}var dt=n(53906),mt=n(74490),ut=n(77277),pt=n(81010);const ft=e=>(Se()(e,"meta.interfaces")||[]).find((e=>e.type===ut.BLOCKLET_INTERFACE_TYPE_WEB));function ht(e){let{params:t,blocklets:n,setParams:r,setError:a,serviceTypes:o}=e;const{t:s}=(0,c.PE)(),l={301:s("common.redirectPermanently"),302:s("common.redirectTemporary"),307:s("common.redirectTemporary"),308:s("common.redirectPermanently")},d=m()(n,(e=>e.meta.name)),u=(e,n)=>{if(!n)return{};let{port:r}=e;n&&e.ports&&n.port&&(e.ports[n.port]&&(r=e.ports[n.port]),e.ports[n.port.internal]&&(r=e.ports[n.port.internal]));let{pathPrefix:i}=t;return n&&n.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(i=n.prefix),{port:r,pathPrefix:i}},p=e=>{const t=d.find((t=>t.meta.did===e)),n=ft(t);return{...u(t,n),interfaceName:n?n.name:""}};return(0,i.useEffect)((()=>{t.interfaceName||t.type!==h.ROUTING_RULE_TYPES.BLOCKLET||r({...t,...p(t.did),__disableConfirm:!1})}),[]),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{select:!0,label:s("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:e=>{a(""),r({...t,type:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map((e=>{let{name:t,value:n}=e;return(0,Z.jsx)(mt.Z,{value:n,children:t},n)}))}),t.type===h.ROUTING_RULE_TYPES.BLOCKLET&&(0,Z.jsxs)(W.Z,{select:!0,label:s("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:e=>{r({...t,...p(e.target.value),did:e.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[d.map((e=>(0,Z.jsxs)(mt.Z,{value:e.meta.did,children:["".concat(e.meta.name," v").concat(e.meta.version),(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:e.status,progress:e.progress})})]},e.meta.did))),0===n.length&&(0,Z.jsx)(mt.Z,{value:"",children:s("common.empty")},"empty")]}),t.type===h.ROUTING_RULE_TYPES.REDIRECT&&[(0,Z.jsx)(W.Z,{select:!0,label:s("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:e=>r({...t,redirectCode:e.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(l).map((e=>(0,Z.jsx)(mt.Z,{value:e,children:"".concat(l[e]," - ").concat(e)},e)))}),(0,Z.jsx)(W.Z,{label:s("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:s("router.urlHelperText"),style:{marginBottom:32},onChange:e=>{r({...t,url:e.target.value,__disableConfirm:!e.target.value.trim()}),e.target.value.trim()?a(""):a(s("router.validation.redirectUrlRequired"))}})]]})}ht.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:h.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:h.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:h.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};var xt=n(44543),gt=n.n(xt);const yt=(e,t)=>{if(e.type===h.ROUTING_RULE_TYPES.REDIRECT){if(!e.url)return new Error("".concat(t("router.validation.redirectUrlRequired")));if(!e.redirectCode)return new Error("redirect ".concat(t("router.validation.redirectCodeRequired")))}else if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&!e.did)return new Error(t("router.validation.didRequired"));return null},jt=(e,t)=>e?e.endsWith(h.DEFAULT_IP_DOMAIN_SUFFIX)?t("router.domain.validate.suffixTip",{suffix:h.DEFAULT_IP_DOMAIN_SUFFIX}):null:t("router.domain.validate.emptyTip"),vt=(e,t)=>{const n=yt(e,t);if(n)return n;const r=jt(e.domain,t);return r?new Error(r):null},bt=(e,t)=>{const n=yt(e,t);return n||(e.pathPrefix.length?e.pathPrefix.length>150?new Error(t("router.validation.pathPrefixTooLong",{length:150})):null:new Error(t("router.validation.pathPrefixCannotBeEmpty")))},Zt=e=>{let{params:t,blocklets:n,blocklet:r,locale:i="en"}=e;if(r){let e=(r.children||[]).find((e=>gt()(e.mountPoint,t.pathPrefix)));if("gateway"!==r.meta.group&&"/"===t.pathPrefix&&(e="/"),e)return{zh:"\u6302\u8f7d\u70b9 ".concat(t.pathPrefix," \u5df2\u5b58\u5728\uff0c\u8bf7\u4f7f\u7528\u5176\u4ed6\u6302\u8f7d\u70b9"),en:"The mount point ".concat(t.pathPrefix," already exist, please use another mount point")}[i]}const a=n.find((e=>e.meta.did===t.did));if(!a)return"";const o=a.meta.interfaces.find((e=>"web"===e.type));return o&&o.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==o.prefix?{zh:"\u8be5 blocklet \u53ea\u80fd\u6302\u8f7d\u5728 ".concat(o.prefix),en:"This blocklet can only be mounted on ".concat(o.prefix)}[i]:""},Ct=e=>{if(0===e.length)return"";const{searchParams:t}=new URL(window.location.href),n=t.get("fromDid");if(n){const t=e.find((e=>e.meta.did===n));if(t)return t.meta.did}return e[0].meta.did};function wt(e){let{blocklets:t,onActivate:n=(()=>{}),children:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),{info:l}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(null),f={title:a("router.domain.addSite"),description:(e,n,r)=>{const i=e=>{const t=e.__disableConfirm||!!vt(e,a);n({...e,__disableConfirm:t})};return(0,Z.jsxs)(s.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:a("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:t=>{const n=t.target.value.trim(),o=jt(n,a);i({...e,domain:t.target.value,__disableConfirm:!!o}),r(o||"")}}),(0,Z.jsx)(ht,{blocklets:t,params:e,setParams:i,setError:r})]})},confirm:a("router.domain.add.confirm"),cancel:a("router.domain.add.cancel"),params:{domain:"",did:Ct(t),port:"",interfaceName:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{m(!0);const n={from:{pathPrefix:"/"},to:{type:e.type}},r={domain:e.domain.trim()===l.ip?"":e.domain.trim()};if(e.type===h.ROUTING_RULE_TYPES.BLOCKLET){const i=t.find((t=>t.meta.did===e.did)),a=Se()(i,"meta.interfaces",[]).find((t=>t.name===e.interfaceName));a&&a.prefix!==ut.BLOCKLET_DYNAMIC_PATH_PREFIX&&(n.from.pathPrefix=a.prefix),n.to.port=e.port,n.to.did=e.did,n.to.interfaceName=e.interfaceName,r.rules=[n]}else e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(n.to.url=e.url,n.to.redirectCode=e.redirectCode,r.rules=[n]);await o.addSite(r),m(!1),p(null)},onCancel:()=>{m(!1),p(null)}},x=e=>{e.stopPropagation(),p(f)||n()};return(0,i.useEffect)((()=>{const{searchParams:e}=new URL(window.location.href);e.get("fromDid")&&p(f)}),[]),(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof r?r({loading:d,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(dt.Z,{style:{fontSize:18,marginRight:5}}),a("router.domain.add.title")]}),u&&(0,Z.jsx)(H.Z,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}wt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Pt=n(15849),Et=n(82434),St=n.n(Et),_t=n(76005),Tt=n(8732),Rt=n(21017),kt=n(50725),Nt=n(75239),At=n(2478),Lt=n(46954),Ut=n(44067),It=n(38898),Dt=n(83580),Ot=n(48342),Ft=n(76720),zt=n(92273),Bt=n(38242),Mt=n(61533),Wt=n(83294),Gt=n(67680);function qt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,s]=(0,i.useState)(null),{id:l,name:d}=e;if(U(d))return null;const m={title:t("router.domain.delete.title"),description:t("router.domain.delete.description",{name:"<b>".concat(d,"</b>")}),confirmPlaceholder:t("router.domain.delete.confirm_desc",{name:d}),confirm:t("common.delConfirm"),cancel:t("common.cancel"),onConfirm:async()=>{a(!0),await n.deleteSite(l),a(!1),s(null)},onCancel:()=>{a(!1),s(null)},keyName:d};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:t=>{t.stopPropagation(),s(m)||e.onActivate()},className:"rule-action","data-cy":"action-delete-domain",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.domain.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Yt=n(45239),Kt=n.n(Yt);function Ht(e){let{id:t,blocklets:n,onActivate:r=(()=>{}),onRuleAdded:a=(()=>{}),children:o,teamDid:l}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),y={title:d("router.rule.add.title"),description:(e,t,r)=>(0,Z.jsxs)(s.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:i=>{let a=!1;const o=Zt({params:{...e,pathPrefix:i.target.value},blocklets:n});r(o),e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&o&&(a=!0),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(a=!0),i.target.value.trim()||(a=!0,r(d("router.validation.pathPrefixRequired"))),a||r("");const s=d("common.slugifyHint",{value:(0,x.LN)(i.target.value)});t({...e,pathPrefix:i.target.value,helperText:s,__disableConfirm:a})}}),(0,Z.jsx)(ht,{blocklets:n,params:e,setParams:e=>{r(null);bt(e,d)?t({...e,__disableConfirm:!0}):t({...e})},setError:r})]}),confirm:d("router.rule.add.confirm"),cancel:d("common.cancel"),params:{pathPrefix:"",type:h.ROUTING_RULE_TYPES.BLOCKLET,did:Ct(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:async e=>{const n=await bt(e,d);if(n)throw n;p(!0);const r={from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url.trim(),r.to.redirectCode=e.redirectCode),await m.addRule(t,r,l),g(null),p(!1),a()},onCancel:()=>{p(!1),g(null)}},j=e=>{e.stopPropagation(),g(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-rule",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(he.Z,{style:{fontSize:18,marginRight:5}}),d("router.rule.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function Vt(e){const{t:t}=(0,c.PE)(),{actions:n}=L(),[r,a]=(0,i.useState)(!1),[o,s]=(0,i.useState)(null),{id:l,parent:{id:d},name:m,children:u,onActivate:p,teamDid:f}=e,h={keyName:m,title:t("router.rule.delete.title"),description:t("router.rule.delete.description",{name:"<b>".concat(m,"</b>")}),confirmPlaceholder:t("router.rule.delete.confirm_desc",{name:m}),confirm:t("common.delConfirm"),cancel:t("router.rule.delete.cancel"),onConfirm:async()=>{a(!0),await n.deleteRule(d,l,f),a(!1),s(null)},onCancel:()=>{a(!1),s(null)}},x=e=>{e.stopPropagation(),s(h)||p()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof u?u({loading:r,open:x}):(0,Z.jsxs)(mt.Z,{onClick:x,className:"rule-action","data-cy":"action-delete-rule",children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:18,marginRight:5}}),t("router.rule.delete.title")]}),o&&(0,Z.jsx)(ye.Z,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Ht.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""},Vt.defaultProps={onActivate:()=>{},children:null,teamDid:""};var Qt=n(76667);function Xt(e){const{id:t,name:n,did:r,parent:a,blocklets:o,to:l,children:d,onActivate:m,teamDid:u}=e,{t:p}=(0,c.PE)(),{actions:f}=L(),[g,y]=(0,i.useState)(!1),[j,v]=(0,i.useState)(null),b={title:p("router.rule.update.title"),description:(e,t,n)=>(0,Z.jsxs)(s.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:p("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:e.helperText||p("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:e.pathPrefix,onChange:r=>{let i=!1;const a=Zt({params:{...e,pathPrefix:r.target.value},blocklets:o});e.type===h.ROUTING_RULE_TYPES.BLOCKLET&&a&&(i=!0,n(a)),e.type!==h.ROUTING_RULE_TYPES.REDIRECT||e.url||(i=!0),r.target.value.trim()||(i=!0,n(p("router.validation.pathPrefixRequired"))),i||n("");const s=p("common.slugifyHint",{value:(0,x.LN)(r.target.value)});t({...e,pathPrefix:r.target.value,helperText:s,__disableConfirm:i})}}),(0,Z.jsx)(ht,{blocklets:o,params:e,setParams:e=>{bt(e,p)?t({...e,__disableConfirm:!0}):t({...e})},setError:n})]}),confirm:p("router.rule.update.confirm"),cancel:p("router.rule.update.cancel"),color:"primary",params:{pathPrefix:"/"===n?n:n.replace(/^\/+/,"").replace(/\/+$/,""),type:l.type||h.ROUTING_RULE_TYPES.BLOCKLET,did:r||Ct(o),port:l.port||"",interfaceName:l.interfaceName||"",redirectCode:l.redirectCode||302,url:l.url||"",__disableConfirm:!1},onConfirm:async e=>{const n=await bt(e,p);if(n)throw n;y(!0);const r={id:t,from:{pathPrefix:Kt()(e.pathPrefix)},to:{type:e.type}};e.type===h.ROUTING_RULE_TYPES.BLOCKLET?(r.to.port=e.port,r.to.did=e.did,r.to.interfaceName=e.interfaceName):e.type===h.ROUTING_RULE_TYPES.REDIRECT&&(r.to.url=e.url,r.to.redirectCode=e.redirectCode),await f.updateRule(a.id,r,u),v(null),y(!1)},onCancel:()=>{y(!1),v(null)}},C=e=>{e.stopPropagation(),v(b)||m()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof d?d({loading:g,open:C}):(0,Z.jsxs)(mt.Z,{onClick:C,className:"rule-action","data-cy":"action-update-rule",children:[g?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),p("router.rule.update.title")]}),j&&(0,Z.jsx)(H.Z,{title:j.title,description:j.description,confirm:j.confirm,color:j.color,cancel:j.cancel,params:j.params,onConfirm:j.onConfirm,onCancel:j.onCancel})]})}Xt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};var Jt=n(11593),$t=n(26174),en=n(88092);function tn(e){let{id:t,name:n,onActivate:r,children:a,title:o,teamDid:l}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(h.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=async e=>{p(!0),await m.addDomainAlias(t,e.domain.trim(),!!e.force,l),p(!1),x(null)},y={title:o||d("router.domainAlias.add.title"),description:(e,t,n)=>(0,Z.jsxs)(s.Z,{component:"div",children:[(0,Z.jsx)(W.Z,{label:d("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:e.domain,style:{marginBottom:8},margin:"dense",onChange:r=>{const i=r.target.value.trim(),a=jt(i,d);t({...e,domain:i,__disableConfirm:!!a}),n(a||"")},onKeyPress:t=>{if("Enter"===t.key){t.preventDefault();const r=t.target.value.trim(),i=jt(r,d);i?n(i):(async(e,t,n)=>{try{await t(e)}catch(r){n((0,b.Z)(r))}finally{p(!1)}})(e,g,n)}}}),(0,Z.jsx)($t.Z,{control:(0,Z.jsx)(en.Z,{checked:e.force,onChange:n=>{t({...e,force:n.target.checked})},name:"checkedB",color:"primary"}),label:d("router.domainAlias.add.forceTip")})]}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:g,onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||r()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof a?a({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Jt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainAlias.add.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function nn(e){let{id:t,name:n,corsAllowedOrigins:r,onActivate:a,children:o,teamDid:l}=e;const{t:d}=(0,c.PE)(),{actions:m}=L(),[u,p]=(0,i.useState)(!1),[f,x]=(0,i.useState)(null);if(U(n))return null;let g=n;n.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX)&&(g="".concat(d("common.the")," Blocklet"));const y={title:d("router.domainSecurity.title"),description:(e,t,n)=>(0,Z.jsx)(s.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:d("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:e.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:d("router.domainSecurity.cors.description",{name:g}),onChange:r=>{t({...e,corsAllowedOrigins:r.target.value,__disableConfirm:!r.target.value.trim()}),r.target.value.trim()?n(""):n(d("router.domainSecurity.cors.domainInvalid"))}})}),confirm:d("common.confirm"),cancel:d("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:async e=>{p(!0),await m.updateSite(t,{corsAllowedOrigins:e.corsAllowedOrigins.split(",").map((e=>e.trim()))},l),p(!1),x(null)},onCancel:()=>{p(!1),x(null)}},j=e=>{e.stopPropagation(),x(y)||a()};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof o?o({loading:u,open:j}):(0,Z.jsxs)(mt.Z,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:18,marginRight:5}}),d("router.domainSecurity.title")]}),f&&(0,Z.jsx)(H.Z,{title:f.title,description:f.description,confirm:f.confirm,cancel:f.cancel,params:f.params,onConfirm:f.onConfirm,onCancel:f.onCancel,color:"primary"})]})}function rn(e){let{id:t,name:n,onActivate:r}=e;const{t:a}=(0,c.PE)(),{actions:o}=L(),[l,d]=(0,i.useState)(!1),[m,u]=(0,i.useState)(null);if(U(n))return null;const p={title:a("router.domain.update.title"),description:(e,t,n)=>(0,Z.jsx)(s.Z,{component:"div",children:(0,Z.jsx)(W.Z,{label:a("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:e.domain,style:{marginBottom:32},margin:"dense",helperText:a("router.domain.update.description"),onChange:r=>{const i=r.target.value.trim(),o=jt(i,a);t({...e,domain:r.target.value,__disableConfirm:!!o}),n(o||"")}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:async e=>{d(!0),await o.updateSite(t,{domain:e.domain.trim()}),d(!1),u(null)},onCancel:()=>{d(!1),u(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(mt.Z,{onClick:e=>{e.stopPropagation(),u(p)||r()},className:"rule-action",children:[l?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(Qt.default,{style:{fontSize:18,marginRight:5}}),a("router.domain.update.title")]}),m&&(0,Z.jsx)(H.Z,{title:m.title,description:m.description,confirm:m.confirm,cancel:m.cancel,params:m.params,onConfirm:m.onConfirm,onCancel:m.onCancel,color:"primary"})]})}function an(e){const[t,n]=(0,i.useState)(null),r=e=>{e&&e.stopPropagation(),n(null)},a=[];if("root"===e.type&&a.push((0,Z.jsx)(wt,{...e,onActivate:r},"add-domain")),"domain"===e.type&&a.push((0,Z.jsx)(rn,{...e,onActivate:r},"update-domain"),(0,Z.jsx)(Ht,{...e,onActivate:r,onRuleAdded:e.onRuleAdded},"add-rule"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"rule"===e.type&&a.push((0,Z.jsx)(Xt,{...e,onActivate:r},"update-rule"),(0,Z.jsx)(Vt,{...e,onActivate:r},"delete-rule")),e.type===h.ROUTING_RULE_TYPES.REDIRECT&&a.push((0,Z.jsx)(qt,{...e,onActivate:r},"delete-domain")),"dashboard_domain"!==e.type&&"blocklet_domain"!==e.type||a.push((0,Z.jsx)(Ht,{...e,onActivate:r},"add-rule"),(0,Z.jsx)(nn,{...e,onActivate:r},"update-domain-security"),(0,Z.jsx)(tn,{...e,onActivate:r},"add-domain-alias")),0===a.length)return null;const o=e=>{e.stopPropagation()};return(0,Z.jsxs)("div",{children:[(0,Z.jsx)(Gt.Z,{onMouseDown:o,onClick:e=>{e.stopPropagation(),n(e.currentTarget)},"data-cy":"action-trigger",size:"large",children:(0,Z.jsx)(Wt.Z,{})}),(0,Z.jsx)(Mt.Z,{keepMounted:!0,onMouseDown:o,open:!!t,onClose:r,anchorEl:t,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:a})]})}tn.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""},nn.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""},an.defaultProps={onRuleAdded:()=>{},blocklet:{}};var on=n(55898),sn=n.n(on),ln=n(31942),cn=n(11819),dn=n(38763),mn=n(75392),un=n(69569);function pn(e){let{certificate:t}=e;const[n,r]=(0,i.useState)(null),a=(0,j.h6)(),{t:o,locale:l}=(0,c.PE)(),d=()=>{r(null)},m=Boolean(n);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ln.Z,{"aria-owns":m?"mouse-over-popover":void 0,onMouseEnter:e=>{r(e.currentTarget)},onMouseLeave:d,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),(0,Z.jsx)(cn.ZP,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:m,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:d,disableRestoreFocus:!0,children:(0,Z.jsx)(dn.Z,{children:(0,Z.jsxs)(mn.Z,{style:{display:"flex"},children:[(0,Z.jsx)("div",{children:(0,Z.jsx)("img",{src:"".concat(a.imgPrefix,"/https-certificate-icon.png"),alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),(0,Z.jsxs)(s.Z,{component:"div",style:{marginLeft:"16px"},children:[(0,Z.jsx)(s.Z,{component:"div",style:{fontWeight:"bold"},children:t.domain}),(0,Z.jsx)(s.Z,{component:"div",children:"".concat(o("common.issuer"),": ").concat(Se()(t,"issuer.commonName",""))}),(0,Z.jsx)(s.Z,{component:"div",children:"".concat(o("router.cert.issuedOn"),": ").concat((0,b.pz)(t.validFrom,l))}),(0,Z.jsx)(s.Z,{component:"div",children:"".concat(o("router.cert.expiryOn"),": ").concat((0,b.pz)(t.validTo,l))})]})]})})})]})}function fn(e){const{name:t,type:n,filters:r}=e,{t:a}=(0,c.PE)(),{status:o}=ct();if("domain"!==n)return null;if(!(0,b.rM)(t))return null;let s=null,l=null;const{isHttps:d,matchedCert:m}=o[t]||{};if(!(0,b.ao)(t)){const{dns:{resolved:e,ip:n}={}}=o[t]||{};s=e||"127.0.0.1"===n?(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.ok"),children:(0,Z.jsx)(un.Z,{color:"success"})}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.verify.notResolved"),children:(0,Z.jsx)(un.Z,{color:"error"})})}l=d?(0,Z.jsx)(pn,{certificate:m}):(0,Z.jsx)(Nt.Z,{title:a("router.domain.https.bad"),children:(0,Z.jsx)(ln.Z,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const u=r.map((e=>"domain"===e?s:"http"===e?l:null));return(0,i.createElement)(i.Fragment,null,...u)}pn.defaultProps={certificate:{}},fn.propTypes={type:sn().string.isRequired,name:sn().string.isRequired,filters:sn().array},fn.defaultProps={filters:["domain","http"]};const hn=e=>["waiting","creating","renewaling"].includes(e);function xn(e){var t;const{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,s]=(0,i.useState)(null),{domain:l,onAdd:d,children:m,siteId:p}=e,{api:f}=(0,j.h6)(),[x,g]=(0,i.useState)(!1),{updateStatus:y}=ct(),b=(0,v.Z)(),C=(0,u.Z)((async()=>{const{cert:e}=await b.findCertificateByDomain({input:{domain:l}});return e})),w=e=>{e.domain===l&&g(!1)};if((0,i.useEffect)((()=>{var e;!C.loading&&hn(null===(e=C.value)||void 0===e?void 0:e.status)&&g(!0)}),[C]),(0,rt.mU)(h.EVENTS.CERT_ERROR,w),(0,rt.mU)(h.EVENTS.CERT_ISSUED,(e=>{C.retry(),y(e.domain),w(e)})),C.loading)return"";if("normal"===(null===(t=C.value)||void 0===t?void 0:t.status))return"";const P={title:n("router.cert.genLetsEncryptCert.title"),description:(0,Z.jsxs)("div",{children:[(0,Z.jsx)(G.Z,{type:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:async()=>{a(!0);try{await f.issueLetsEncryptCert({input:{domain:l,siteId:p}}),d(),g(!0)}catch(e){console.error(e),g(!1)}finally{a(!1),s(null)}},onCancel:()=>{a(!1),s(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[x?(0,Z.jsx)(Nt.Z,{title:n("router.cert.issuing"),children:(0,Z.jsx)(q.Z,{size:12})}):m({loading:r,open:e=>{e.stopPropagation(),s(P)}}),o&&(0,Z.jsx)(H.Z,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function gn(e){var t;const{status:n}=ct(),{domain:r}=e;return!(0,b.rM)(r)||null!==(t=n[r])&&void 0!==t&&t.isHttps?"":(0,Z.jsx)(xn,{...e})}function yn(e){const{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),[a,o]=(0,i.useState)(null),{id:s,domain:l,onDelete:d,children:m,teamDid:u}=e,{actions:p}=L();if(l===window.location.hostname)return"";const f={title:t("router.domainAlias.delete.title"),description:t("router.domainAlias.delete.description"),confirm:t("common.confirm"),onConfirm:async()=>{r(!0);try{await p.deleteDomainAlias(s,l,u),d()}catch(e){console.error(e)}finally{r(!1),o(null)}},onCancel:()=>{r(!1),o(null)}},h=e=>{e.stopPropagation(),o(f)};return(0,Z.jsxs)(Z.Fragment,{children:["function"===typeof m?m({loading:n,open:h}):(0,Z.jsxs)(B.Z,{edge:"end",onClick:h,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[n?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),t("router.domainAlias.delete.title")]}),a&&(0,Z.jsx)(H.Z,{title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var jn,vn;function bn(e){let{domain:t,isHttps:n,toUrl:r}=e;const i=n?"https":"http",{t:a}=(0,c.PE)();let o=r;return St()(o)||(o="".concat(i,"://").concat(t).concat(r)),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(s.Z,{className:"arrow-name-middle",children:a("common.redirect")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsx)(It.Z,{href:o,target:"_blank",underline:"hover",children:r},o)]})}function Zn(){const{t:e}=(0,c.PE)();return(0,Z.jsx)(s.Z,{className:"arrow-name-middle",children:e("common.page404")})}function Cn(e){const{t:t}=(0,c.PE)(),{data:n}=(0,nt.RJ)(),{info:r}=(0,j.h6)(),{status:a}=ct(),o=n.map((e=>({meta:{did:e.meta.did,name:(0,Bt.getDisplayName)(e,!0),version:e.meta.version,interfaces:e.meta.interfaces},port:e.port,ports:e.ports,status:e.status}))),{id:l,type:d,name:m,title:u,items:p=[],depth:f,to:g,expand:y,isProtected:v,pathPrefix:b,parent:w,domainAliases:P}=e;let E=m;const S=m.endsWith(h.BLOCKLET_SITE_GROUP_SUFFIX);let _=d;m===C&&(_="dashboard_domain"),S&&(_="blocklet_domain");const[T,R]=(0,i.useState)(y),k={root:Rt.Z,domain:dt.Z,rule:kt.Z}[d];if("domain"===d){if(v&&!S)return null;if(S){const W=m.replace(h.BLOCKLET_SITE_GROUP_SUFFIX,""),G=o.find((e=>e.meta.did===W));if(!G)return null;if(G.controller)return null;E=G.meta.title||G.meta.name}function F(e){let{domain:t,primaryDomain:n,rules:i}=e,a="http://".concat(t);return n===C?a="".concat(a,"/").concat(r.routing.adminPath.replace(/^\/+/,"")):i&&i.length&&i[0].pathPrefix&&(a="".concat(a,"/").concat(i[0].pathPrefix.replace(/^\/+/,""))),t!==C?(0,Z.jsx)(Pn,{href:a,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),children:t}):t}const z=()=>{R(!0)};let M=(P||[]).filter((e=>e.value!==m));return M=(0,x.oE)(M),[(0,Z.jsxs)(wn,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[(0,Z.jsxs)(Lt.Z,{onClick:()=>R((e=>!e)),children:[p.length>0&&(T?(0,Z.jsx)(Ft.Z,{}):(0,Z.jsx)(zt.default,{})),(0,Z.jsx)(k,{style:{fontSize:22}})]}),(0,Z.jsx)(Ut.Z,{onClick:()=>R((e=>!e)),className:"rule-name rule-name--depth".concat(f),style:{flex:1},secondary:p.length<=0?(0,Z.jsx)("span",{className:"site-secondary",children:t("router.empty")}):"",primary:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"site-header",children:[m===h.DOMAIN_FOR_DEFAULT_SITE&&t("router.defaultSite"),m!==h.DOMAIN_FOR_DEFAULT_SITE&&!S&&(0,Z.jsx)(F,{domain:m,primaryDomain:m,rules:p}),S&&E,p.length&&!T?(0,Z.jsx)("span",{style:{marginLeft:5},children:"(".concat(p.length," URL)")}):null,(0,Z.jsx)("span",{style:{marginLeft:12}}),"domain"===d&&m!==h.DOMAIN_FOR_DEFAULT_SITE&&m!==C&&!S&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(fn,{type:d,name:m},m),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(gn,{siteId:l,domain:m,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}})]})]}),M.map((n=>{const r="string"!==typeof n?n.value:n;return(0,Z.jsxs)("div",{className:"site-alias",children:[(0,Z.jsx)(F,{domain:r,primaryDomain:m,rules:p}),(0,Z.jsx)("span",{style:{marginLeft:12}}),(0,Z.jsx)(fn,{type:d,name:r},"domain-status-".concat(m)),(0,Z.jsx)(gn,{siteId:l,domain:r,children:e=>{let{open:n}=e;return(0,Z.jsx)(B.Z,{size:"small",onClick:e=>n(e),children:t("router.cert.genLetsEncryptCert.title")})}}),!n.isProtected&&(0,Z.jsx)(yn,{id:e.id,domain:r},"delete-domain-alias"),r!==C&&r!==window.location.hostname&&(0,Z.jsx)(an,{...e,domain:r,type:"domainAlias",onRuleAdded:z},"action-".concat(m))]},r)}))]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,onRuleAdded:z,type:_},m)})})]},"parent"),(0,Z.jsx)(Ot.Z,{in:T,children:p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{...t,parent:e,depth:f+1},t.id)))},"children")},"rules")]}if("root"===d)return[(0,Z.jsxs)(wn,{disableGutters:!0,"data-cy":"rule-root",children:[(0,Z.jsx)(Lt.Z,{children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:m}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e})})})]},"root"),p.length>0&&(0,Z.jsx)(et.Z,{component:"div",className:"rule-list rule-list--depth".concat(f),disablePadding:!0,children:p.map((t=>(0,Z.jsx)(Cn,{expand:!v,...t,parent:e,depth:f+1},t.id)))},"children")];let N="/blocklets/".concat(g.did,"/overview");g.type===h.ROUTING_RULE_TYPES.DAEMON&&(N="/");const A={meta:{did:r.did,name:"Blocklet Server Dashboard",version:r.version},status:"running",port:r.port},L=g.did===r.did?A:o.find((e=>e.meta.did===g.did)),U=L&&"running"===L.status||g.type===h.ROUTING_RULE_TYPES.DAEMON,I=t(U?"router.healthy.ok":"router.healthy.error"),O=a[w.name]||{};return(0,Z.jsxs)(wn,{className:"hover-item",divider:!0,disableGutters:!0,style:{paddingBottom:8,paddingLeft:8},"data-cy":"rule-item",children:[(0,Z.jsx)(Lt.Z,{className:"arrow-icon",children:(0,Z.jsx)(k,{style:{fontSize:22}})}),(0,Z.jsx)(Ut.Z,{primary:(0,Z.jsxs)(s.Z,{component:"div",className:"arrow-name",children:[(0,Z.jsx)(s.Z,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:m}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(g.type===h.ROUTING_RULE_TYPES.DAEMON||g.type===h.ROUTING_RULE_TYPES.BLOCKLET)&&(0,Z.jsxs)(Z.Fragment,{children:[w.name!==h.DOMAIN_FOR_DEFAULT_SITE&&U&&(0,Z.jsx)(D.Z,{className:"arrow-name-middle",children:(0,Z.jsx)(It.Z,{href:(0,x.Sk)(w.name,b),target:"_blank",underline:"hover",children:t("common.open")})}),w.name===h.DOMAIN_FOR_DEFAULT_SITE&&(0,Z.jsx)(s.Z,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!U&&(0,Z.jsx)("span",{className:"arrow-name-middle",children:t("common.unavailable")}),(0,Z.jsx)("span",{className:"arrow-name-arrow",children:"\u27f6"}),(0,Z.jsxs)(Pt.Link,{to:N,className:"arrow-name-right",children:[(0,Z.jsx)(Nt.Z,{title:I,children:U?(0,Z.jsx)(_t.Z,{style:{color:"#44cdc6",fontSize:20}}):(0,Z.jsx)(Tt.Z,{style:{color:"red",fontSize:20}})}),(0,Z.jsx)("span",{children:L?L.meta.name:u}),L&&(0,Z.jsx)("span",{style:{marginLeft:8},children:(0,Z.jsx)(pt.Z,{status:L.status,progress:L.progress})})]})]}),g.type===h.ROUTING_RULE_TYPES.REDIRECT&&(0,Z.jsx)(bn,{prefix:b,domain:w.name,toUrl:g.url,isHttps:O.isHttps}),g.type===h.ROUTING_RULE_TYPES.NONE&&(0,Z.jsx)(Zn,{})]})}),(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Dt.Z,{children:(0,Z.jsx)(an,{blocklets:o,...e,did:g.did})})})]},m)}xn.defaultProps={onAdd:()=>{},children:null},gn.defaultProps={onAdd:()=>{},children:null},yn.defaultProps={onDelete:()=>{},children:null,teamDid:""},bn.defaultProps={isHttps:!1},Zn.defaultProps={},Cn.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const wn=(0,a.Z)(At.ZP)(jn||(jn=(0,r.Z)(["\n .MuiListItemText-root {\n padding-right: 48px;\n }\n .MuiListItemSecondaryAction-root {\n right: 0;\n }\n .site-header {\n display: unset !important;\n vertical-align: middle;\n .MuiSvgIcon-root {\n vertical-align: middle;\n }\n }\n"]))),Pn=(0,a.Z)("a")(vn||(vn=(0,r.Z)(["\n color: #000;\n white-space: normal;\n word-break: break-all;\n :hover {\n color: rgba(0, 0, 0, 0.6);\n }\n"])));var En;function Sn(){const{sites:e,allDomains:t}=L(),{data:n}=(0,nt.RJ)(),{t:r}=(0,c.PE)(),a=e.map((e=>{const t=e.items.filter((e=>!e.isProtected));return{...e,items:t}}));return(0,Z.jsx)(lt,{domains:t,children:(0,Z.jsxs)(_n,{children:[(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(D.Z,{textAlign:"right",mb:1,children:(0,Z.jsx)(wt,{blocklets:n,children:e=>{let{open:t}=e;return(0,Z.jsxs)(B.Z,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:t,children:[(0,Z.jsx)(tt.Z,{style:{fontSize:"1.3em",marginRight:4}}),r("router.domain.addSite")]})}})})}),(0,Z.jsx)(et.Z,{component:"div",disablePadding:!0,children:a.map((e=>(0,i.createElement)(Cn,{...e,depth:1,key:e.id})))})]})})}const _n=a.Z.main(En||(En=(0,r.Z)(["\n margin-top: ",";\n min-height: 60vh;\n\n .MuiListItemIcon-root {\n min-width: ",";\n }\n\n .site-header {\n display: flex;\n align-items: center;\n margin-left: ",";\n font-size: 1.2rem;\n }\n\n .site-alias {\n display: flex;\n align-items: center;\n margin-left: ",";\n }\n\n .site-secondary {\n margin-left: ",";\n }\n\n .rule-list--depth1 {\n padding-left: ",";\n }\n\n .rule-list--depth2 {\n padding-left: ",";\n }\n\n .rule-action {\n margin-left: ",";\n }\n\n .rule-name--depth2 span {\n font-weight: bold;\n }\n\n .arrow-name {\n display: flex;\n align-items: center;\n .arrow-name-left {\n width: 400px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-middle {\n width: 150px;\n flex-shrink: 0;\n text-align: left;\n }\n .arrow-name-arrow {\n width: 40px;\n flex-shrink: 0;\n margin: auto 16px;\n font-size: 24px;\n color: #0000008a;\n }\n .arrow-name-right {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n\n span {\n margin: 0 8px;\n }\n }\n }\n\n @media (max-width: ","px) {\n .rule-list--depth1,\n .rule-list--depth2 {\n padding-left: 0;\n }\n\n .MuiListItem-secondaryAction {\n padding-right: 0;\n }\n }\n\n @media (max-width: ","px) {\n .arrow-icon {\n margin-top: 4px;\n align-self: flex-start;\n }\n\n .arrow-name {\n flex-direction: column;\n align-items: flex-start;\n .arrow-name-left {\n width: auto;\n }\n .arrow-name-middle {\n margin: 5px 0;\n }\n .arrow-name-arrow {\n display: none;\n }\n }\n }\n"])),(e=>e.theme.spacing(2)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(1)),(e=>e.theme.spacing(4)),(e=>e.theme.spacing(5)),(e=>e.theme.spacing(2)),(e=>e.theme.breakpoints.values.md),(e=>e.theme.breakpoints.values.lg));var Tn=n(34966),Rn=n(22228),kn=n(23484),Nn=n(49525),An=n(65140),Ln=n(20783),Un=n(13128),In=n(55372);const Dn=51200,On=e=>new Promise(((t,n)=>{const r=new FileReader;r.readAsText(e),r.onload=()=>{t(r.result)},r.onerror=e=>n(e)}));function Fn(e){let{certificate:t={},onRefresh:n,mode:r,...a}=e;const{t:o}=(0,c.PE)(),{api:l}=(0,j.h6)(),[d,m]=(0,i.useState)(!1),[u,p]=(0,i.useState)(),[f,h]=(0,i.useState)(),[x,g]=(0,i.useState)(!1),[y,v]=(0,i.useState)(""),[C,w]=(0,i.useState)("upload"),{handleSubmit:P,formState:E,control:S}=(0,M.cI)({defaultValues:{name:t.name||t.domain}}),_=(0,M.qo)({control:S,name:"name"}),T=(0,M.qo)({control:S,name:"domain"}),R=()=>{m(!1),g(!1)},k={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:async e=>{if("add"===r){const t=(await On(f)).replace(/\r\n/g,"\n"),n=(await On(u)).replace(/\r\n/g,"\n");await l.addCertificate({input:{name:e.name.trim(),certificate:t.split("\n").join("|"),privateKey:n.split("\n").join("|")}})}else await l.updateCertificate({input:{id:t.id,name:e.name.trim()}})}},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:e=>l.issueLetsEncryptCert({input:{domain:e.domain}})}},N=async e=>{m(!0);try{const t=k[C];if(!t)throw new Error("Invaid certificate source");await t.onSubmit(e),n(),g(!1)}catch(t){v((0,b.Z)(t)||"unknown error, may be you can check file permission")}finally{m(!1)}},A=e=>{e.length>0&&v(Se()(e[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:L,getInputProps:U}=(0,Nn.uI)({accept:[".pem",".crt"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{h(e[0])}}),{getRootProps:I,getInputProps:O}=(0,Nn.uI)({accept:[".pem",".key"],multiple:!1,maxSize:Dn,onDropRejected:A,onDrop:e=>{p(e[0])}}),{errors:F}=E;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>{p(null),h(null),g(!0),v("")},className:"rule-action",color:"primary","data-cy":"add-cert",...a,children:[d?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(tt.Z,{style:{fontSize:16}}),o("add"===r?"common.add":"common.update")]}),x&&(0,Z.jsx)(Un.ZP,{title:o("add"===r?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:R,actions:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B.Z,{onClick:R,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),(0,Z.jsxs)(B.Z,{onClick:P(N),color:"secondary",disabled:!!d||("upload"===C&&"update"===r?!_:"upload"===C&&"add"===r?!_||!u||!f:"lets_encrypt"===C&&!T),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),d&&(0,Z.jsx)(q.Z,{size:16})]})]}),children:(0,Z.jsx)("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:P(N),children:(0,Z.jsxs)(D.Z,{minWidth:{sm:480},children:[(0,Z.jsxs)(In.Z,{component:"div",children:["add"===r&&(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.source")}),(0,Z.jsx)(Ln.Z,{"aria-label":"cert-source",name:"certSource",value:C,onChange:e=>{w(e.target.value)},children:Object.values(k).map((e=>(0,Z.jsx)($t.Z,{value:e.value,control:(0,Z.jsx)(An.Z,{}),label:e.name},e.value)))})]}),"upload"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.name")}),(0,Z.jsx)(M.Qr,{name:"name",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,onChange:n,error:!!F.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:F.name&&F.name.message})}})]}),"add"===r&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...L({className:"dropzone"}),children:[(0,Z.jsx)("input",{...U(),"data-cy":"pem-input"}),f&&(0,Z.jsx)(s.Z,{color:"secondary",children:f.name}),!f&&(0,Z.jsx)(s.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(s.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),(0,Z.jsx)("div",{className:"form-item-value",children:(0,Z.jsxs)("div",{...I({className:"dropzone"}),children:[(0,Z.jsx)("input",{...O(),"data-cy":"key-input"}),u&&(0,Z.jsx)(s.Z,{color:"secondary",children:u.name}),!u&&(0,Z.jsx)(s.Z,{color:"secondary",children:o("router.cert.nginx.empty")}),(0,Z.jsx)(s.Z,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),"lets_encrypt"===C&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)("section",{className:"form-item",children:(0,Z.jsx)(G.Z,{type:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),(0,Z.jsxs)("section",{className:"form-item",children:[(0,Z.jsx)("div",{className:"form-item-label",children:o("common.domain")}),(0,Z.jsx)(M.Qr,{name:"domain",control:S,rules:{validate:e=>!!e.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:e=>{let{field:{value:t,onChange:n}}=e;return(0,Z.jsx)(W.Z,{fullWidth:!0,autoFocus:!0,defaultValue:t,error:!!F.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:F.domain&&F.domain.message,onChange:n})}})]})]})]}),!!y&&(0,Z.jsx)(G.Z,{type:"error",style:{marginTop:8},children:y})]})})})]})}var zn=n(96366);function Bn(e){const t=(0,zn.Z)(),{t:n}=(0,c.PE)(),[r,a]=(0,i.useState)(!1),[o,s]=(0,i.useState)(null),{id:l,domain:d,onDelete:m=(()=>{}),...u}=e,{refresh:p}=L(),f=(0,v.Z)(),h={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:async()=>{a(!0);try{await f.deleteCertificate({input:{id:l}}),p(),m()}catch(e){console.error(e)}finally{a(!1),s(null)}},onCancel:()=>{a(!1),s(null)}};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>s(h),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:t.palette.error.main},...u,children:[r?(0,Z.jsx)(q.Z,{size:16}):(0,Z.jsx)(ge.default,{style:{fontSize:16}}),n("common.delete")]}),o&&(0,Z.jsx)(H.Z,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}var Mn,Wn,Gn=n(1577),qn=n.n(Gn),Yn=n(95335),Kn=n(45568),Hn=n(29034);function Vn(e){const{certificate:t={},...n}=e,{t:r,locale:a}=(0,c.PE)(),[o,l]=(0,i.useState)(!1),d=(0,Yn.Z)(),m=[{id:"matchedSites",name:r("router.cert.matchedSites"),value:(t.matchedSites||[]).map((e=>(0,Z.jsx)(s.Z,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:e.domain},e.id)))},{id:"updatedAt",name:r("common.updatedAt"),value:(0,b.B2)(t.updatedAt,a)},{id:"createdAt",name:r("common.createdAt"),value:(0,b.B2)(t.createdAt,a)}],u=[{id:"boundDomains",name:r("router.cert.boundDomains"),value:(0,Z.jsx)(s.Z,{component:"span",style:{fontSize:"1.1rem"},children:(Se()(t,"sans")||[]).join(", ")})},{id:"issuer",name:r("common.issuer"),value:Se()(t,"meta.issuer.commonName","")},{id:"fingerprint",name:r("common.fingerprint"),value:Se()(t,"meta.fingerprint")},{id:"fingerprintAlg",name:r("router.cert.fingerprintAlg"),value:Se()(t,"meta.fingerprintAlg")},{id:"validityPeriod",name:r("router.cert.validityPeriod"),value:qn().duration(Se()(t,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:r("router.cert.issuedOn"),value:(0,b.pz)(Se()(t,"meta.validFrom"),a)},{id:"expiryOn",name:r("router.cert.expiryOn"),value:(0,b.pz)(Se()(t,"meta.validTo"),a)}];return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(B.Z,{edge:"end",onClick:()=>l(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[(0,Z.jsx)(Kn.Z,{style:{fontSize:16}}),r("common.detail")]}),(0,Z.jsxs)(Un.ZP,{title:r("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:o,showCloseButton:!1,actions:(0,Z.jsx)(B.Z,{autoFocus:!0,variant:"contained",onClick:()=>{l(!1)},color:"secondary",children:r("common.close")}),children:[(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:m.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cert-basic"),(0,Z.jsx)(Hn.Z,{}),(0,Z.jsx)(In.Z,{component:"div",style:{margin:d.spacing(2)},children:u.map((e=>(0,Z.jsx)(_e.Z,{nameWidth:200,valueComponent:"div",name:e.name,children:e.value},e.id)))},"cer-info"),(0,Z.jsx)(Hn.Z,{})]})]})}function Qn(e){const{certificate:t,style:n,...r}=e,{t:a}=(0,c.PE)(),[o,l]=(0,i.useState)(!1),d=t.matchedSites||[];return(0,Z.jsxs)(s.Z,{component:"ul",...r,style:{...n,listStyle:"none"},children:[(o?d:d.slice(0,4)).map((e=>(0,Z.jsx)(s.Z,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:e.domain},e.id))),d.length>4&&(0,Z.jsx)(B.Z,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{l(!o)},children:a(o?"common.collapseAll":"common.expandAll")})]})}Qn.defaultProps={style:{}};const Xn=e=>{if(!e)return!1;return e-+new Date<=0},Jn="ssl-certificates-table";function $n(e){let{name:t,value:n,style:r={},icon:i,...a}=e;return(0,Z.jsxs)(er,{style:{display:"flex",alignItems:"center",...r},...a,children:[(0,Z.jsxs)("span",{children:[t,":"]}),(0,Z.jsx)("span",{children:n}),i&&i]})}const er=a.Z.div(Mn||(Mn=(0,r.Z)(["\n & > span {\n margin: 5px;\n }\n"])));function tr(e){let{status:t,source:n,expiresTime:r}=e;const{t:i}=(0,c.PE)();return Xn(r)?(0,Z.jsx)(Rn.Z,{type:"error",children:i("router.cert.expired")}):"upload"===n?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):"error"===t?(0,Z.jsx)(Rn.Z,{type:"error",children:i("common.error")}):"generated"===t?(0,Z.jsx)(Rn.Z,{type:"success",children:i("common.normal")}):""}tr.defaultProps={status:"",source:""};const nr=(e,t)=>{if(!t)return e;const n=(t.site.domainAliases||[]).map((e=>e.value));return e.filter((e=>(0,x.kO)(n,e.matchedSites)))};function rr(){var e;const{t:t,locale:n}=(0,i.useContext)(c.RD),r=(0,v.Z)(),{api:a}=(0,j.h6)(),o=(0,kn.Z)().get("did"),l=(0,u.Z)((async()=>{const{certificates:e}=await r.getCertificates();let t=null;if(o){const{blocklet:e}=await a.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});t=e}return{certificates:nr(e,t)}})),d=()=>{l.retry()},m=null===(e=l.value)||void 0===e?void 0:e.certificates,p=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return(0,Z.jsxs)(Z.Fragment,{children:[n.name&&(0,Z.jsx)($n,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:n.name}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Se()(n,"meta.issuer.commonName","")}),(0,Z.jsx)($n,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:(0,Z.jsx)(Nt.Z,{title:n.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:(0,Z.jsx)(Tn.Z,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:n.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(s.Z,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Se()(t,"meta.sans")||[],t.domain])].map((e=>(0,Z.jsx)(s.Z,{component:"li",title:e,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:e},e)))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const n=m[e];return t("router.cert.sourceTypes.".concat(n.source))}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(tr,{status:t.status,source:t.source,expiresTime:Se()(t,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(pe.Z,{value:Se()(t,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)(Qn,{id:t.id,certificate:t,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:e=>{const t=m[e];return(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsxs)(Z.Fragment,{children:[!t.isProtected&&(0,Z.jsxs)(Z.Fragment,{children:["upload"===t.source&&(0,Z.jsx)("div",{children:(0,Z.jsx)(Fn,{mode:"update",certificate:t,onRefresh:d})}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Bn,{id:t.id,domain:t.domain,onDelete:d})})]}),(0,Z.jsx)("div",{children:(0,Z.jsx)(Vn,{id:t.id,certificate:t})})]})})}}}];if(l.error)return(0,Z.jsx)(G.Z,{type:"error",children:(0,x.Z)(l.error)});if(l.loading)return(0,Z.jsx)(q.Z,{});const f=(0,fe.$)(Jn);return(0,Z.jsx)(ir,{children:(0,Z.jsx)(fe.Z,{title:(0,Z.jsx)($.Z,{permission:"mutate_router",children:(0,Z.jsx)(Fn,{mode:"add",onRefresh:d,variant:"contained"})}),locale:n,data:l.value.certificates,columns:p,verticalKeyWidth:100,durable:Jn,options:{search:!1,download:!1,filter:!1,print:!1,...f}})})}const ir=a.Z.div(Wn||(Wn=(0,r.Z)(["\n .header {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-top: 20px;\n }\n\n margin-bottom: 24px;\n .table-cell {\n span {\n font-size: 18px;\n }\n @media (max-width: ","px) {\n span {\n font-size: 15px;\n }\n }\n }\n .match-sites-cell,\n .expires-cell {\n min-width: 100px;\n }\n .actions {\n text-align: center;\n @media (max-width: ","px) {\n .MuiButton-root {\n padding: 6px;\n }\n }\n }\n"])),(e=>e.theme.breakpoints.values.sm),(e=>e.theme.breakpoints.values.sm));var ar,or=n(62362),sr=n(90067);const lr=(0,n(50844).Z)((e=>({root:{color:e.palette.primary.main,height:8},thumb:{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},valueLabel:{left:"calc(-50% + 4px)"},track:{height:8,borderRadius:4},rail:{height:8,borderRadius:4}})))(or.ZP);function cr(){const{info:{routing:e}}=(0,j.h6)(),{t:t}=(0,c.PE)(),[n,r]=(0,i.useState)(!1),a=e.requestLimit||{};"boolean"!==typeof a.enabled&&(a.enabled=!1),"number"!==typeof a.rate&&(a.rate=h.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");const{handleSubmit:o,control:l,watch:d}=(0,M.cI)({defaultValues:{requestLimit:a,cacheEnabled:"boolean"!==typeof e.cacheEnabled||e.cacheEnabled}}),m=d("requestLimit.enabled"),u=d("requestLimit.rate"),p=async e=>{try{r(!0),await(0,v.Z)().updateGateway({input:e}),await(0,b._v)(1e3),z.Z.success(t("common.saveSuccess"))}catch(n){z.Z.error((0,b.Z)(n))}finally{r(!1)}};return(0,Z.jsx)(dr,{children:(0,Z.jsx)($.Z,{permission:"mutate_node",children:e=>(0,Z.jsxs)(ee,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:o(p),children:[(0,Z.jsx)(M.Qr,{name:"cacheEnabled",control:l,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(s.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.cacheEnabled.switchLabel")})})},style:{marginTop:16}})}}),(0,Z.jsx)(M.Qr,{name:"requestLimit.enabled",control:l,render:n=>{let{field:{value:r,onChange:i}}=n;return(0,Z.jsx)(Y.Z,{checked:r,disabled:!e,onChange:e=>i(e.target.checked),labelProps:{label:(0,Z.jsx)(s.Z,{children:(0,Z.jsx)("span",{children:t("router.gateway.reqLimit.switchLabel")})})},style:{marginTop:16}})}}),m&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"form-item",children:[(0,Z.jsx)(s.Z,{id:"request-limit-rate-label",gutterBottom:!0,children:t("router.gateway.reqLimit.rate",{rate:u})}),(0,Z.jsx)(M.Qr,{name:"requestLimit.rate",control:l,render:t=>{let{field:{value:n,onChange:r}}=t;return(0,Z.jsx)(lr,{disabled:!e,onChange:(e,t)=>r(t),defaultValue:n,valueLabelDisplay:"auto",step:1,min:h.GATEWAY_REQ_LIMIT.min,max:h.GATEWAY_REQ_LIMIT.max})}})]}),(0,Z.jsx)(M.Qr,{name:"requestLimit.ipHeader",control:l,render:r=>{let{field:{value:i,onChange:a}}=r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W.Z,{variant:"outlined",disabled:n||!e,className:"form-item",label:t("router.gateway.reqLimit.ipHeaderLabel"),margin:"normal",value:i,onChange:a}),(0,Z.jsx)(sr.Z,{id:"req-limit-ip_header-desc",children:t("router.gateway.reqLimit.ipHeaderDesc")})]})}})]}),(0,Z.jsx)("div",{className:"form-actions",children:e&&(0,Z.jsxs)(B.Z,{disabled:n,onClick:o(p),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[t("common.save")," ",n&&(0,Z.jsx)(q.Z,{size:16})]})})]})})})}const dr=a.Z.div(ar||(ar=(0,r.Z)(["\n display: flex;\n align-items: flex-start;\n width: 100%;\n max-width: 720px;\n"])));var mr;function ur(){const e=(0,o.useNavigate)(),{node:t}=(0,i.useContext)(j.sy),{t:n}=(0,i.useContext)(c.RD),{tab:r="basic"}=(0,o.useParams)(),a=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],d={basic:se,integration:ve,about:Je,router:(0,Z.jsx)(A,{children:(0,Z.jsx)(Sn,{})}),gateway:cr,cert:(0,Z.jsx)(A,{children:(0,Z.jsx)(rr,{})})},m=d[r]||d.basic;return(0,Z.jsxs)(pr,{children:[(0,Z.jsx)(s.Z,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(l.Z,{tabs:a,current:r,onChange:t=>{e("/settings/".concat(t))},scrollButtons:"auto"}),(0,Z.jsx)("div",{className:"page-content",children:(0,i.isValidElement)(m)?m:(0,Z.jsx)(m,{node:t})})]})]})}const pr=a.Z.main(mr||(mr=(0,r.Z)(["\n .page-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n\n .page-content {\n margin-top: 16px;\n }\n"])))},44543:(e,t,n)=>{const r=n(57156);e.exports=(e,t)=>r(e)===r(t)},44784:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r,i=n(71171),a=n(33518),o=n(82790),s=n(96266);function l(e){let{labelProps:t,className:n,style:r,...i}=e;const a={...t,labelPlacement:(null===t||void 0===t?void 0:t.labelPlacement)||"start"};return(0,s.jsx)(c,{className:n,style:r,children:(0,s.jsx)(o.Z,{labelProps:a,...i})})}l.propTypes=o.Z.propTypes,l.defaultProps=o.Z.defaultProps;const c=a.Z.div(r||(r=(0,i.Z)(["\n max-width: 300px;\n > label {\n display: flex;\n justify-content: space-between;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n }\n "," {\n max-width: 100%;\n }\n"])),(e=>{let{theme:t}=e;return t.breakpoints.down("sm")})),d=l},81010:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(5057),i=n(55898),a=n.n(i),o=n(44846),s=n(75239),l=n(68420),c=n(38242),d=n(69569),m=n(22228),u=n(96266);const p={yellow:"#FFCF71",grey:"#888888"};function f(e){let{isResource:t,status:n,variant:i,source:a,progress:f,...h}=e;const{t:x}=(0,r.useContext)(l.RD),g={added:p.grey,waiting:p.yellow,downloading:p.yellow,extracting:p.yellow,downloaded:p.grey,installing:p.yellow,installed:p.grey,starting:p.yellow,running:"success",stopping:p.yellow,stopped:p.grey,error:"error",upgrading:p.yellow,restarting:p.yellow,corrupted:"error",deleting:p.yellow,resource:"primary"},y=(0,c.isInProgress)(n),j=t&&"stopped"===n?"resource":n,v=x("blocklet.status.".concat(j));return"dot"===i?(0,u.jsx)(s.Z,{title:x("blocklet.statusTip",{status:v}),children:(0,u.jsx)(d.Z,{color:g[j],...h})}):(0,u.jsxs)(m.Z,{type:{added:"primary",waiting:"warning",downloading:"warning",extracting:"warning",downloaded:"primary",installing:"warning",installed:"primary",starting:"warning",running:"success",stopping:"warning",stopped:"reverse",error:"error",upgrading:"warning",restarting:"warning",corrupted:"error",deleting:"warning",resource:"primary"}[j],...h,children:[y&&(0,u.jsx)(o.Z,{size:12,color:"inherit",style:{marginRight:5}}),v,"downloading"===j&&f?(0,u.jsx)("div",{style:{marginLeft:5},children:"".concat(f," %")}):null]})}f.propTypes={status:a().string.isRequired,variant:a().oneOf(["dot","tag"]),source:a().string,progress:a().number,isResource:a().bool},f.defaultProps={isResource:!1,variant:"tag",source:"",progress:0}},78410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(5057),i=n(86229),a=n(28726),o=n(44846),s=n(68420),l=n(46090),c=n(58238),d=n(70461),m=n(96266);function u(e){let{teamDid:t,size:n="small",...u}=e;const{t:p}=(0,s.PE)(),{api:f}=(0,c.h6)(),[h,x]=(0,r.useState)(!1),[g,y]=(0,r.useState)(null),j={title:p("blocklet.config.clearCache.title"),description:p("blocklet.config.clearCache.description"),confirm:p("common.confirm"),cancel:p("common.cancel"),onConfirm:async()=>{try{var e;x(!0);const n=await f.clearCache({input:{teamDid:t}});i.Z.success(p("blocklet.config.clearCache.success",{count:(null===(e=n.removed)||void 0===e?void 0:e.length)||0}))}catch(n){i.Z.error((0,l.Z)(n))}finally{x(!1),y(null)}},onCancel:()=>{x(!1),y(null)}};return(0,m.jsxs)("div",{...u,children:[(0,m.jsxs)(a.Z,{onClick:()=>y(j),color:"error",variant:"outlined",size:n,children:[h?(0,m.jsx)(o.Z,{size:16,style:{marginRight:5}}):null,p("blocklet.config.clearCache.action")]}),g&&(0,m.jsx)(d.Z,{title:g.title,description:g.description,confirm:g.confirm,cancel:g.cancel,onConfirm:g.onConfirm,onCancel:g.onCancel})]})}},50185:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(5057),i=n(55898),a=n.n(i),o=n(12937),s=n(68420),l=n(96266);function c(e){let{children:t,...n}=e;const{t:i}=(0,r.useContext)(s.RD);return(0,l.jsx)(o.Z,{tip:i("common.copyTip"),copiedTip:i("common.copiedTip"),...n,children:t})}c.propTypes={children:a().any.isRequired}},71363:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(55898),i=n.n(r),a=n(11750),o=n(47020),s=n(93938),l=n(68420),c=n(50185),d=n(70461),m=n(96266);function u(e){let{title:t,description:n,confirmPlaceholder:r,cancel:i,confirm:u,params:p,onCancel:f,onConfirm:h,keyName:x}=e;const{t:g}=(0,l.PE)(),y={title:()=>(0,m.jsxs)("div",{children:[t," (".concat(x,")")]}),description:(e,t)=>(0,m.jsxs)("div",{children:[(0,m.jsx)(s.Z,{severity:"warning",style:{width:"100%"},children:g("common.notice")}),(0,m.jsx)("div",{style:{marginTop:24,marginBottom:24},dangerouslySetInnerHTML:{__html:n}}),(0,m.jsxs)("div",{style:{marginBottom:24},children:[g("common.click"),"\uff1a",(0,m.jsx)(c.Z,{"data-cy":"click-copy",children:x})]}),(0,m.jsx)(a.Z,{component:"div",children:(0,m.jsx)(o.Z,{label:r,autoComplete:"off","data-cy":"delete-confirm-input",variant:"outlined",fullWidth:!0,autoFocus:!0,value:e.inputVal,onChange:n=>{var r;r={...e,inputVal:n.target.value,__disableConfirm:x!==n.target.value},t({...r,__disableConfirm:r.__disableConfirm})}})})]}),confirm:u,cancel:i,onConfirm:h,onCancel:f,params:{inputVal:"",__disableConfirm:!0,...p}};return(0,m.jsx)(d.Z,{title:y.title,description:y.description,confirm:y.confirm,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})}u.propTypes={title:i().any.isRequired,keyName:i().any.isRequired,description:i().any.isRequired,confirmPlaceholder:i().any.isRequired,cancel:i().string,confirm:i().string,params:i().object,onCancel:i().func,onConfirm:i().func.isRequired},u.defaultProps={onCancel:()=>{},cancel:"",confirm:"Confirm",params:{}}},69569:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var r,i=n(71171),a=n(33518);const o={success:"#3ab39d",error:"#D0021B"},s="10px",l=a.Z.div(r||(r=(0,i.Z)(["\n display: inline-block;\n min-width: ",";\n min-height: ",";\n background: ",";\n border-radius: 100%;\n"])),(e=>e.size||s),(e=>e.size||s),(e=>o[e.color]||e.color||o.success))},22228:(e,t,n)=>{"use strict";n.d(t,{Z:()=>s});var r=n(55898),i=n.n(r),a=n(19778),o=n(96266);function s(e){let{children:t,style:n,...r}=e;return(0,o.jsx)(a.Z,{style:n,...r,children:t})}s.propTypes={children:i().any.isRequired,style:i().object},s.defaultProps={style:{}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_abtnode_webapp=self.webpackChunk_abtnode_webapp||[]).push([[506],{80506:(e,t,r)=>{r.d(t,{Qr:()=>I,cI:()=>Ce,qo:()=>N});var s=r(5057),a=e=>"checkbox"===e.type,i=e=>e instanceof Date,n=e=>null==e;const l=e=>"object"===typeof e;var o=e=>!n(e)&&!Array.isArray(e)&&l(e)&&!i(e),u=e=>o(e)&&e.target?a(e.target)?e.target.checked:e.target.value:e,d=(e,t)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(t)),c=e=>{const t=e.constructor&&e.constructor.prototype;return o(t)&&t.hasOwnProperty("isPrototypeOf")},f="undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement&&"undefined"!==typeof document;function m(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(f&&(e instanceof Blob||e instanceof FileList)||!r&&!o(e))return e;if(t=r?[]:{},r||c(e))for(const r in e)e.hasOwnProperty(r)&&(t[r]=m(e[r]));else t=e}return t}var y=e=>Array.isArray(e)?e.filter(Boolean):[],v=e=>void 0===e,h=(e,t,r)=>{if(!t||!o(e))return r;const s=y(t.split(/[,[\].]+?/)).reduce(((e,t)=>n(e)?e:e[t]),e);return v(s)||s===e?v(e[t])?r:e[t]:s},g=e=>"boolean"===typeof e;const b={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},p={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},_="max",V="min",F="maxLength",A="minLength",S="pattern",w="required",x="validate",D=s.createContext(null),k=()=>s.useContext(D);var C=function(e,t,r){let s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const a={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(a,i,{get:()=>{const a=i;return t._proxyFormState[a]!==p.all&&(t._proxyFormState[a]=!s||p.all),r&&(r[a]=!0),e[a]}});return a},E=e=>o(e)&&!Object.keys(e).length,O=(e,t,r,s)=>{r(e);const{name:a,...i}=e;return E(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find((e=>t[e]===(!s||p.all)))},U=e=>Array.isArray(e)?e:[e],j=(e,t,r)=>!e||!t||e===t||U(e).some((e=>e&&(r?e===t:e.startsWith(t)||t.startsWith(e))));function T(e){const t=s.useRef(e);t.current=e,s.useEffect((()=>{const r=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{r&&r.unsubscribe()}}),[e.disabled])}var L=e=>"string"===typeof e,B=(e,t,r,s,a)=>L(e)?(s&&t.watch.add(e),h(r,e,a)):Array.isArray(e)?e.map((e=>(s&&t.watch.add(e),h(r,e)))):(s&&(t.watchAll=!0),r);function N(e){const t=k(),{control:r=t.control,name:a,defaultValue:i,disabled:n,exact:l}=e||{},o=s.useRef(a);o.current=a,T({disabled:n,subject:r._subjects.values,next:e=>{j(o.current,e.name,l)&&d(m(B(o.current,r._names,e.values||r._formValues,!1,i)))}});const[u,d]=s.useState(r._getWatch(a,i));return s.useEffect((()=>r._removeUnmounted())),u}var M=e=>/^\w*$/.test(e),R=e=>y(e.replace(/["|']|\]/g,"").split(/\.|\[/)),q=(e,t,r)=>{let s=-1;const a=M(t)?[t]:R(t),i=a.length,n=i-1;for(;++s<i;){const t=a[s];let i=r;if(s!==n){const r=e[t];i=o(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=i,e=e[t]}return e};function P(e){const t=k(),{name:r,disabled:a,control:i=t.control,shouldUnregister:n}=e,l=d(i._names.array,r),o=N({control:i,name:r,defaultValue:h(i._formValues,r,h(i._defaultValues,r,e.defaultValue)),exact:!0}),c=function(e){const t=k(),{control:r=t.control,disabled:a,name:i,exact:n}=e||{},[l,o]=s.useState(r._formState),u=s.useRef(!0),d=s.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=s.useRef(i);return c.current=i,T({disabled:a,next:e=>u.current&&j(c.current,e.name,n)&&O(e,d.current,r._updateFormState)&&o({...r._formState,...e}),subject:r._subjects.state}),s.useEffect((()=>(u.current=!0,d.current.isValid&&r._updateValid(!0),()=>{u.current=!1})),[r]),C(l,r,d.current,!1)}({control:i,name:r}),f=s.useRef(i.register(r,{...e.rules,value:o,...g(e.disabled)?{disabled:e.disabled}:{}}));return s.useEffect((()=>{const e=i._options.shouldUnregister||n,t=(e,t)=>{const r=h(i._fields,e);r&&(r._f.mount=t)};if(t(r,!0),e){const e=m(h(i._options.defaultValues,r));q(i._defaultValues,r,e),v(h(i._formValues,r))&&q(i._formValues,r,e)}return()=>{(l?e&&!i._state.action:e)?i.unregister(r):t(r,!1)}}),[r,i,l,n]),s.useEffect((()=>{h(i._fields,r)&&i._updateDisabledField({disabled:a,fields:i._fields,name:r,value:h(i._fields,r)._f.value})}),[a,r,i]),{field:{name:r,value:o,...g(a)||c.disabled?{disabled:c.disabled||a}:{},onChange:s.useCallback((e=>f.current.onChange({target:{value:u(e),name:r},type:b.CHANGE})),[r]),onBlur:s.useCallback((()=>f.current.onBlur({target:{value:h(i._formValues,r),name:r},type:b.BLUR})),[r,i]),ref:e=>{const t=h(i._fields,r);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:c,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!h(c.errors,r)},isDirty:{enumerable:!0,get:()=>!!h(c.dirtyFields,r)},isTouched:{enumerable:!0,get:()=>!!h(c.touchedFields,r)},isValidating:{enumerable:!0,get:()=>!!h(c.validatingFields,r)},error:{enumerable:!0,get:()=>h(c.errors,r)}})}}const I=e=>e.render(P(e));var W=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||!0}}:{},H=e=>({isOnSubmit:!e||e===p.onSubmit,isOnBlur:e===p.onBlur,isOnChange:e===p.onChange,isOnAll:e===p.all,isOnTouch:e===p.onTouched}),G=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\.\w+/.test(e.slice(t.length)))));const $=(e,t,r,s)=>{for(const a of r||Object.keys(e)){const r=h(e,a);if(r){const{_f:e,...i}=r;if(e){if(e.refs&&e.refs[0]&&t(e.refs[0],a)&&!s)break;if(e.ref&&t(e.ref,e.name)&&!s)break;$(i,t)}else o(i)&&$(i,t)}}};var Q=(e,t,r)=>{const s=y(h(e,r));return q(s,"root",t[r]),q(e,r,s),e},z=e=>"file"===e.type,J=e=>"function"===typeof e,K=e=>{if(!f)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},X=e=>L(e),Y=e=>"radio"===e.type,Z=e=>e instanceof RegExp;const ee={value:!1,isValid:!1},te={value:!0,isValid:!0};var re=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!v(e[0].attributes.value)?v(e[0].value)||""===e[0].value?te:{value:e[0].value,isValid:!0}:te:ee}return ee};const se={isValid:!1,value:null};var ae=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:e),se):se;function ie(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"validate";if(X(e)||Array.isArray(e)&&e.every(X)||g(e)&&!e)return{type:r,message:X(e)?e:"",ref:t}}var ne=e=>o(e)&&!Z(e)?e:{value:e,message:""},le=async(e,t,r,s,i)=>{const{ref:l,refs:u,required:d,maxLength:c,minLength:f,min:m,max:y,pattern:b,validate:p,name:D,valueAsNumber:k,mount:C,disabled:O}=e._f,U=h(t,D);if(!C||O)return{};const j=u?u[0]:l,T=e=>{s&&j.reportValidity&&(j.setCustomValidity(g(e)?"":e||""),j.reportValidity())},B={},N=Y(l),M=a(l),R=N||M,q=(k||z(l))&&v(l.value)&&v(U)||K(l)&&""===l.value||""===U||Array.isArray(U)&&!U.length,P=W.bind(null,D,r,B),I=function(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:F,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:A;const i=e?t:r;B[D]={type:e?s:a,message:i,ref:l,...P(e?s:a,i)}};if(i?!Array.isArray(U)||!U.length:d&&(!R&&(q||n(U))||g(U)&&!U||M&&!re(u).isValid||N&&!ae(u).isValid)){const{value:e,message:t}=X(d)?{value:!!d,message:d}:ne(d);if(e&&(B[D]={type:w,message:t,ref:j,...P(w,t)},!r))return T(t),B}if(!q&&(!n(m)||!n(y))){let e,t;const s=ne(y),a=ne(m);if(n(U)||isNaN(U)){const r=l.valueAsDate||new Date(U),i=e=>new Date((new Date).toDateString()+" "+e),n="time"==l.type,o="week"==l.type;L(s.value)&&U&&(e=n?i(U)>i(s.value):o?U>s.value:r>new Date(s.value)),L(a.value)&&U&&(t=n?i(U)<i(a.value):o?U<a.value:r<new Date(a.value))}else{const r=l.valueAsNumber||(U?+U:U);n(s.value)||(e=r>s.value),n(a.value)||(t=r<a.value)}if((e||t)&&(I(!!e,s.message,a.message,_,V),!r))return T(B[D].message),B}if((c||f)&&!q&&(L(U)||i&&Array.isArray(U))){const e=ne(c),t=ne(f),s=!n(e.value)&&U.length>+e.value,a=!n(t.value)&&U.length<+t.value;if((s||a)&&(I(s,e.message,t.message),!r))return T(B[D].message),B}if(b&&!q&&L(U)){const{value:e,message:t}=ne(b);if(Z(e)&&!U.match(e)&&(B[D]={type:S,message:t,ref:l,...P(S,t)},!r))return T(t),B}if(p)if(J(p)){const e=ie(await p(U,t),j);if(e&&(B[D]={...e,...P(x,e.message)},!r))return T(e.message),B}else if(o(p)){let e={};for(const s in p){if(!E(e)&&!r)break;const a=ie(await p[s](U,t),j,s);a&&(e={...a,...P(s,a.message)},T(a.message),r&&(B[D]=e))}if(!E(e)&&(B[D]={ref:j,...e},!r))return B}return T(!0),B};function oe(e,t){const r=Array.isArray(t)?t:M(t)?[t]:R(t),s=1===r.length?e:function(e,t){const r=t.slice(0,-1).length;let s=0;for(;s<r;)e=v(e)?s++:e[t[s++]];return e}(e,r),a=r.length-1,i=r[a];return s&&delete s[i],0!==a&&(o(s)&&E(s)||Array.isArray(s)&&function(e){for(const t in e)if(e.hasOwnProperty(t)&&!v(e[t]))return!1;return!0}(s))&&oe(e,r.slice(0,-1)),e}var ue=()=>{let e=[];return{get observers(){return e},next:t=>{for(const r of e)r.next&&r.next(t)},subscribe:t=>(e.push(t),{unsubscribe:()=>{e=e.filter((e=>e!==t))}}),unsubscribe:()=>{e=[]}}},de=e=>n(e)||!l(e);function ce(e,t){if(de(e)||de(t))return e===t;if(i(e)&&i(t))return e.getTime()===t.getTime();const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;for(const a of r){const r=e[a];if(!s.includes(a))return!1;if("ref"!==a){const e=t[a];if(i(r)&&i(e)||o(r)&&o(e)||Array.isArray(r)&&Array.isArray(e)?!ce(r,e):r!==e)return!1}}return!0}var fe=e=>"select-multiple"===e.type,me=e=>Y(e)||a(e),ye=e=>K(e)&&e.isConnected,ve=e=>{for(const t in e)if(J(e[t]))return!0;return!1};function he(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Array.isArray(e);if(o(e)||r)for(const s in e)Array.isArray(e[s])||o(e[s])&&!ve(e[s])?(t[s]=Array.isArray(e[s])?[]:{},he(e[s],t[s])):n(e[s])||(t[s]=!0);return t}function ge(e,t,r){const s=Array.isArray(e);if(o(e)||s)for(const a in e)Array.isArray(e[a])||o(e[a])&&!ve(e[a])?v(t)||de(r[a])?r[a]=Array.isArray(e[a])?he(e[a],[]):{...he(e[a])}:ge(e[a],n(t)?{}:t[a],r[a]):r[a]=!ce(e[a],t[a]);return r}var be=(e,t)=>ge(e,t,he(t)),pe=(e,t)=>{let{valueAsNumber:r,valueAsDate:s,setValueAs:a}=t;return v(e)?e:r?""===e?NaN:e?+e:e:s&&L(e)?new Date(e):a?a(e):e};function _e(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return z(t)?t.files:Y(t)?ae(e.refs).value:fe(t)?[...t.selectedOptions].map((e=>{let{value:t}=e;return t})):a(t)?re(e.refs).value:pe(v(t.value)?e.ref.value:t.value,e)}var Ve=(e,t,r,s)=>{const a={};for(const i of e){const e=h(t,i);e&&q(a,i,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}},Fe=e=>v(e)?e:Z(e)?e.source:o(e)?Z(e.value)?e.value.source:e.value:e,Ae=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Se(e,t,r){const s=h(e,r);if(s||M(r))return{error:s,name:r};const a=r.split(".");for(;a.length;){const s=a.join("."),i=h(t,s),n=h(e,s);if(i&&!Array.isArray(i)&&r!==s)return{name:r};if(n&&n.type)return{name:s,error:n};a.pop()}return{name:r}}var we=(e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:!(r?s.isOnChange:a.isOnChange)||e),xe=(e,t)=>!y(h(e,t)).length&&oe(e,t);const De={mode:p.onSubmit,reValidateMode:p.onChange,shouldFocusError:!0};function ke(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r={...De,...t},s={submitCount:0,isDirty:!1,isLoading:J(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},l={},c=(o(r.defaultValues)||o(r.values))&&m(r.defaultValues||r.values)||{},_=r.shouldUnregister?{}:m(c),V={action:!1,mount:!1,watch:!1},F={mount:new Set,unMount:new Set,array:new Set,watch:new Set},A=0;const S={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},w={values:ue(),array:ue(),state:ue()},x=H(r.mode),D=H(r.reValidateMode),k=r.criteriaMode===p.all,C=async e=>{if(S.isValid||e){const e=r.resolver?E((await M()).errors):await R(l,!0);e!==s.isValid&&w.state.next({isValid:e})}},O=(e,t)=>{(S.isValidating||S.validatingFields)&&((e||Array.from(F.mount)).forEach((e=>{e&&(t?q(s.validatingFields,e,t):oe(s.validatingFields,e))})),w.state.next({validatingFields:s.validatingFields,isValidating:!E(s.validatingFields)}))},j=(e,t,r,s)=>{const a=h(l,e);if(a){const i=h(_,e,v(r)?h(c,e):r);v(i)||s&&s.defaultChecked||t?q(_,e,t?i:_e(a._f)):W(e,i),V.mount&&C()}},T=(e,t,r,a,i)=>{let n=!1,o=!1;const u={name:e},d=!(!h(l,e)||!h(l,e)._f.disabled);if(!r||a){S.isDirty&&(o=s.isDirty,s.isDirty=u.isDirty=P(),n=o!==u.isDirty);const r=d||ce(h(c,e),t);o=!(d||!h(s.dirtyFields,e)),r||d?oe(s.dirtyFields,e):q(s.dirtyFields,e,!0),u.dirtyFields=s.dirtyFields,n=n||S.dirtyFields&&o!==!r}if(r){const t=h(s.touchedFields,e);t||(q(s.touchedFields,e,r),u.touchedFields=s.touchedFields,n=n||S.touchedFields&&t!==r)}return n&&i&&w.state.next(u),n?u:{}},N=(r,a,i,n)=>{const l=h(s.errors,r),o=S.isValid&&g(a)&&s.isValid!==a;var u;if(t.delayError&&i?(u=()=>((e,t)=>{q(s.errors,e,t),w.state.next({errors:s.errors})})(r,i),e=e=>{clearTimeout(A),A=setTimeout(u,e)},e(t.delayError)):(clearTimeout(A),e=null,i?q(s.errors,r,i):oe(s.errors,r)),(i?!ce(l,i):l)||!E(n)||o){const e={...n,...o&&g(a)?{isValid:a}:{},errors:s.errors,name:r};s={...s,...e},w.state.next(e)}},M=async e=>{O(e,!0);const t=await r.resolver(_,r.context,Ve(e||F.mount,l,r.criteriaMode,r.shouldUseNativeValidation));return O(e),t},R=async function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{valid:!0};for(const i in e){const n=e[i];if(n){const{_f:e,...l}=n;if(e){const l=F.array.has(e.name);O([i],!0);const o=await le(n,_,k,r.shouldUseNativeValidation&&!t,l);if(O([i]),o[e.name]&&(a.valid=!1,t))break;!t&&(h(o,e.name)?l?Q(s.errors,o,e.name):q(s.errors,e.name,o[e.name]):oe(s.errors,e.name))}l&&await R(l,t,a)}}return a.valid},P=(e,t)=>(e&&t&&q(_,e,t),!ce(re(),c)),I=(e,t,r)=>B(e,F,{...V.mount?_:v(t)?c:L(e)?{[e]:t}:t},r,t),W=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=h(l,e);let i=t;if(s){const r=s._f;r&&(!r.disabled&&q(_,e,pe(t,r)),i=K(r.ref)&&n(t)?"":t,fe(r.ref)?[...r.ref.options].forEach((e=>e.selected=i.includes(e.value))):r.refs?a(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(i)?!!i.find((t=>t===e.value)):i===e.value))):r.refs[0]&&(r.refs[0].checked=!!i):r.refs.forEach((e=>e.checked=e.value===i)):z(r.ref)?r.ref.value="":(r.ref.value=i,r.ref.type||w.values.next({name:e,values:{..._}})))}(r.shouldDirty||r.shouldTouch)&&T(e,i,r.shouldTouch,r.shouldDirty,!0),r.shouldValidate&&te(e)},X=(e,t,r)=>{for(const s in t){const a=t[s],n="".concat(e,".").concat(s),o=h(l,n);!F.array.has(e)&&de(a)&&(!o||o._f)||i(a)?W(n,a,r):X(n,a,r)}},Y=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=h(l,e),i=F.array.has(e),o=m(t);q(_,e,o),i?(w.array.next({name:e,values:{..._}}),(S.isDirty||S.dirtyFields)&&r.shouldDirty&&w.state.next({name:e,dirtyFields:be(c,_),isDirty:P(e,o)})):!a||a._f||n(o)?W(e,o,r):X(e,o,r),G(e,F)&&w.state.next({...s}),w.values.next({name:V.mount?e:void 0,values:{..._}})},Z=async t=>{V.mount=!0;const a=t.target;let i=a.name,n=!0;const o=h(l,i),d=e=>{n=Number.isNaN(e)||e===h(_,i,e)};if(o){let c,f;const m=a.type?_e(o._f):u(t),y=t.type===b.BLUR||t.type===b.FOCUS_OUT,v=!Ae(o._f)&&!r.resolver&&!h(s.errors,i)&&!o._f.deps||we(y,h(s.touchedFields,i),s.isSubmitted,D,x),g=G(i,F,y);q(_,i,m),y?(o._f.onBlur&&o._f.onBlur(t),e&&e(0)):o._f.onChange&&o._f.onChange(t);const p=T(i,m,y,!1),V=!E(p)||g;if(!y&&w.values.next({name:i,type:t.type,values:{..._}}),v)return S.isValid&&C(),V&&w.state.next({name:i,...g?{}:p});if(!y&&g&&w.state.next({...s}),r.resolver){const{errors:e}=await M([i]);if(d(m),n){const t=Se(s.errors,l,i),r=Se(e,l,t.name||i);c=r.error,i=r.name,f=E(e)}}else O([i],!0),c=(await le(o,_,k,r.shouldUseNativeValidation))[i],O([i]),d(m),n&&(c?f=!1:S.isValid&&(f=await R(l,!0)));n&&(o._f.deps&&te(o._f.deps),N(i,f,c,p))}},ee=(e,t)=>{if(h(s.errors,t)&&e.focus)return e.focus(),1},te=async function(e){let t,a,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=U(e);if(r.resolver){const r=await(async e=>{const{errors:t}=await M(e);if(e)for(const r of e){const e=h(t,r);e?q(s.errors,r,e):oe(s.errors,r)}else s.errors=t;return t})(v(e)?e:n);t=E(r),a=e?!n.some((e=>h(r,e))):t}else e?(a=(await Promise.all(n.map((async e=>{const t=h(l,e);return await R(t&&t._f?{[e]:t}:t)})))).every(Boolean),(a||s.isValid)&&C()):a=t=await R(l);return w.state.next({...!L(e)||S.isValid&&t!==s.isValid?{}:{name:e},...r.resolver||!e?{isValid:t}:{},errors:s.errors}),i.shouldFocus&&!a&&$(l,ee,e?n:F.mount),a},re=e=>{const t={...c,...V.mount?_:{}};return v(e)?t:L(e)?h(t,e):e.map((e=>h(t,e)))},se=(e,t)=>({invalid:!!h((t||s).errors,e),isDirty:!!h((t||s).dirtyFields,e),isTouched:!!h((t||s).touchedFields,e),isValidating:!!h((t||s).validatingFields,e),error:h((t||s).errors,e)}),ae=(e,t,r)=>{const a=(h(l,e,{_f:{}})._f||{}).ref;q(s.errors,e,{...t,ref:a}),w.state.next({name:e,errors:s.errors,isValid:!1}),r&&r.shouldFocus&&a&&a.focus&&a.focus()},ie=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};for(const a of e?U(e):F.mount)F.mount.delete(a),F.array.delete(a),t.keepValue||(oe(l,a),oe(_,a)),!t.keepError&&oe(s.errors,a),!t.keepDirty&&oe(s.dirtyFields,a),!t.keepTouched&&oe(s.touchedFields,a),!t.keepIsValidating&&oe(s.validatingFields,a),!r.shouldUnregister&&!t.keepDefaultValue&&oe(c,a);w.values.next({values:{..._}}),w.state.next({...s,...t.keepDirty?{isDirty:P()}:{}}),!t.keepIsValid&&C()},ne=e=>{let{disabled:t,name:r,field:s,fields:a,value:i}=e;if(g(t)){const e=t?void 0:v(i)?_e(s?s._f:h(a,r)._f):i;q(_,r,e),T(r,e,!1,!1,!0)}},ve=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=h(l,e);const a=g(t.disabled);return q(l,e,{...s||{},_f:{...s&&s._f?s._f:{ref:{name:e}},name:e,mount:!0,...t}}),F.mount.add(e),s?ne({field:s,disabled:t.disabled,name:e,value:t.value}):j(e,!0,t.value),{...a?{disabled:t.disabled}:{},...r.progressive?{required:!!t.required,min:Fe(t.min),max:Fe(t.max),minLength:Fe(t.minLength),maxLength:Fe(t.maxLength),pattern:Fe(t.pattern)}:{},name:e,onChange:Z,onBlur:Z,ref:a=>{if(a){ve(e,t),s=h(l,e);const r=v(a.value)&&a.querySelectorAll&&a.querySelectorAll("input,select,textarea")[0]||a,i=me(r),n=s._f.refs||[];if(i?n.find((e=>e===r)):r===s._f.ref)return;q(l,e,{_f:{...s._f,...i?{refs:[...n.filter(ye),r,...Array.isArray(h(c,e))?[{}]:[]],ref:{type:r.type,name:e}}:{ref:r}}}),j(e,!1,void 0,r)}else s=h(l,e,{}),s._f&&(s._f.mount=!1),(r.shouldUnregister||t.shouldUnregister)&&(!d(F.array,e)||!V.action)&&F.unMount.add(e)}}},he=()=>r.shouldFocusError&&$(l,ee,F.mount),ge=(e,t)=>async a=>{let i;a&&(a.preventDefault&&a.preventDefault(),a.persist&&a.persist());let n=m(_);if(w.state.next({isSubmitting:!0}),r.resolver){const{errors:e,values:t}=await M();s.errors=e,n=t}else await R(l);if(oe(s.errors,"root"),E(s.errors)){w.state.next({errors:{}});try{await e(n,a)}catch(o){i=o}}else t&&await t({...s.errors},a),he(),setTimeout(he);if(w.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:E(s.errors)&&!i,submitCount:s.submitCount+1,errors:s.errors}),i)throw i},ke=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const a=e?m(e):c,i=m(a),n=E(e),o=n?c:i;if(r.keepDefaultValues||(c=a),!r.keepValues){if(r.keepDirtyValues)for(const e of F.mount)h(s.dirtyFields,e)?q(o,e,h(_,e)):Y(e,h(o,e));else{if(f&&v(e))for(const e of F.mount){const t=h(l,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(K(e)){const t=e.closest("form");if(t){t.reset();break}}}}l={}}_=t.shouldUnregister?r.keepDefaultValues?m(c):{}:m(o),w.array.next({values:{...o}}),w.values.next({values:{...o}})}F={mount:r.keepDirtyValues?F.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},V.mount=!S.isValid||!!r.keepIsValid||!!r.keepDirtyValues,V.watch=!!t.shouldUnregister,w.state.next({submitCount:r.keepSubmitCount?s.submitCount:0,isDirty:!n&&(r.keepDirty?s.isDirty:!(!r.keepDefaultValues||ce(e,c))),isSubmitted:!!r.keepIsSubmitted&&s.isSubmitted,dirtyFields:n?[]:r.keepDirtyValues?r.keepDefaultValues&&_?be(c,_):s.dirtyFields:r.keepDefaultValues&&e?be(c,e):{},touchedFields:r.keepTouched?s.touchedFields:{},errors:r.keepErrors?s.errors:{},isSubmitSuccessful:!!r.keepIsSubmitSuccessful&&s.isSubmitSuccessful,isSubmitting:!1})},Ce=(e,t)=>ke(J(e)?e(_):e,t);return{control:{register:ve,unregister:ie,getFieldState:se,handleSubmit:ge,setError:ae,_executeSchema:M,_getWatch:I,_getDirty:P,_updateValid:C,_removeUnmounted:()=>{for(const e of F.unMount){const t=h(l,e);t&&(t._f.refs?t._f.refs.every((e=>!ye(e))):!ye(t._f.ref))&&ie(e)}F.unMount=new Set},_updateFieldArray:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,a=arguments.length>3?arguments[3]:void 0,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];if(a&&r){if(V.action=!0,n&&Array.isArray(h(l,e))){const t=r(h(l,e),a.argA,a.argB);i&&q(l,e,t)}if(n&&Array.isArray(h(s.errors,e))){const t=r(h(s.errors,e),a.argA,a.argB);i&&q(s.errors,e,t),xe(s.errors,e)}if(S.touchedFields&&n&&Array.isArray(h(s.touchedFields,e))){const t=r(h(s.touchedFields,e),a.argA,a.argB);i&&q(s.touchedFields,e,t)}S.dirtyFields&&(s.dirtyFields=be(c,_)),w.state.next({name:e,isDirty:P(e,t),dirtyFields:s.dirtyFields,errors:s.errors,isValid:s.isValid})}else q(_,e,t)},_updateDisabledField:ne,_getFieldArray:e=>y(h(V.mount?_:c,e,t.shouldUnregister?h(c,e,[]):[])),_reset:ke,_resetDefaultValues:()=>J(r.defaultValues)&&r.defaultValues().then((e=>{Ce(e,r.resetOptions),w.state.next({isLoading:!1})})),_updateFormState:e=>{s={...s,...e}},_disableForm:e=>{g(e)&&(w.state.next({disabled:e}),$(l,((t,r)=>{let s=e;const a=h(l,r);a&&g(a._f.disabled)&&(s||(s=a._f.disabled)),t.disabled=s}),0,!1))},_subjects:w,_proxyFormState:S,_setErrors:e=>{s.errors=e,w.state.next({errors:s.errors,isValid:!1})},get _fields(){return l},get _formValues(){return _},get _state(){return V},set _state(e){V=e},get _defaultValues(){return c},get _names(){return F},set _names(e){F=e},get _formState(){return s},set _formState(e){s=e},get _options(){return r},set _options(e){r={...r,...e}}},trigger:te,register:ve,handleSubmit:ge,watch:(e,t)=>J(e)?w.values.subscribe({next:r=>e(I(void 0,t),r)}):I(e,t,!0),setValue:Y,getValues:re,reset:Ce,resetField:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};h(l,e)&&(v(t.defaultValue)?Y(e,m(h(c,e))):(Y(e,t.defaultValue),q(c,e,m(t.defaultValue))),t.keepTouched||oe(s.touchedFields,e),t.keepDirty||(oe(s.dirtyFields,e),s.isDirty=t.defaultValue?P(e,m(h(c,e))):P()),t.keepError||(oe(s.errors,e),S.isValid&&C()),w.state.next({...s}))},clearErrors:e=>{e&&U(e).forEach((e=>oe(s.errors,e))),w.state.next({errors:e?s.errors:{}})},unregister:ie,setError:ae,setFocus:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=h(l,e),s=r&&r._f;if(s){const e=s.refs?s.refs[0]:s.ref;e.focus&&(e.focus(),t.shouldSelect&&e.select())}},getFieldState:se}}function Ce(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=s.useRef(),r=s.useRef(),[a,i]=s.useState({isDirty:!1,isValidating:!1,isLoading:J(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:J(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...ke(e),formState:a});const n=t.current.control;return n._options=e,T({subject:n._subjects.state,next:e=>{O(e,n._proxyFormState,n._updateFormState,!0)&&i({...n._formState})}}),s.useEffect((()=>n._disableForm(e.disabled)),[n,e.disabled]),s.useEffect((()=>{if(n._proxyFormState.isDirty){const e=n._getDirty();e!==a.isDirty&&n._subjects.state.next({isDirty:e})}}),[n,a.isDirty]),s.useEffect((()=>{e.values&&!ce(e.values,r.current)?(n._reset(e.values,n._options.resetOptions),r.current=e.values,i((e=>({...e})))):n._resetDefaultValues()}),[e.values,n]),s.useEffect((()=>{e.errors&&n._setErrors(e.errors)}),[e.errors,n]),s.useEffect((()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()})),s.useEffect((()=>{e.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})}),[e.shouldUnregister,n]),t.current.formState=C(a,n),t.current}}}]);