@abtnode/webapp 1.16.28-beta-8acda0e6 → 1.16.28-next-5a717317

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 (178) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{Add-CazR0vZK.js → Add-D_IpMQ4-.js} +1 -1
  4. package/dist/assets/{ArrowDropDown-BUrSvBpJ.js → ArrowDropDown-Cxw5_6pJ.js} +1 -1
  5. package/dist/assets/{Autocomplete-DtvRC-0f.js → Autocomplete-BiBD_sn2.js} +1 -1
  6. package/dist/assets/{Breadcrumbs-D_LYBn3C.js → Breadcrumbs-bwG5ls1T.js} +1 -1
  7. package/dist/assets/{ButtonGroup-DxRrpbFw.js → ButtonGroup-DbcsV5Jj.js} +1 -1
  8. package/dist/assets/{CheckCircle-DbpNufE5.js → CheckCircle-DsBSMTKj.js} +1 -1
  9. package/dist/assets/{ChevronLeft-Bqynugte.js → ChevronLeft-Dt-nktN4.js} +1 -1
  10. package/dist/assets/{ChevronRight-C8sGT-T0.js → ChevronRight-m_otBfXU.js} +1 -1
  11. package/dist/assets/{Close-uiQeu7_r.js → Close-G6-CdSxA.js} +1 -1
  12. package/dist/assets/{Delete-DHiwhVmP.js → Delete-ZWHbcTCY.js} +1 -1
  13. package/dist/assets/DeleteOutline-B3jA6sB9.js +1 -0
  14. package/dist/assets/DeleteOutline-BdkgSK5N.js +1 -0
  15. package/dist/assets/{Done-LyiBXZqg.js → Done-Bko3I6wh.js} +1 -1
  16. package/dist/assets/{Edit-BgU3t9-z.js → Edit-Cf-ObgQX.js} +1 -1
  17. package/dist/assets/{EditIcon-CeWwrlQZ.js → EditIcon-BI0N_Ug1.js} +1 -1
  18. package/dist/assets/{FilterList-usqmRCGh.js → FilterList--RqSTVwy.js} +1 -1
  19. package/dist/assets/{Google-BzTTYoLn.js → Google-D85wO5cQ.js} +1 -1
  20. package/dist/assets/{Https-B3r3YjjJ.js → Https-B0lj5TZv.js} +1 -1
  21. package/dist/assets/InfoOutlined-DgV0VRHz.js +1 -0
  22. package/dist/assets/{InputAdornment-0DnARlEj.js → InputAdornment-xRh2nPK6.js} +1 -1
  23. package/dist/assets/{InputLabel-Csh1ynXt.js → InputLabel-1j6NERf7.js} +1 -1
  24. package/dist/assets/{LastPage-DnsJsUIR.js → LastPage-hIWfvGR_.js} +1 -1
  25. package/dist/assets/{Launch-BOea_wCy.js → Launch-DBsl2kx8.js} +1 -1
  26. package/dist/assets/{Link-ByQdtjfh.js → Link-Cjkc7__w.js} +1 -1
  27. package/dist/assets/{LoadingButton-Cj_wXKeI.js → LoadingButton-CtELPQQt.js} +1 -1
  28. package/dist/assets/{LockIcon-C082WeKw.js → LockIcon-B0DxdpfW.js} +1 -1
  29. package/dist/assets/{Loop-m_399M1H.js → Loop-D1bMLmJ5.js} +1 -1
  30. package/dist/assets/{MoreVert-BzXa-i1R.js → MoreVert-oKHmSnjq.js} +1 -1
  31. package/dist/assets/{Pagination-DSEqJST1.js → Pagination-kERAjzCf.js} +1 -1
  32. package/dist/assets/{Public-0DIMrFya.js → Public-DLFfHPdC.js} +1 -1
  33. package/dist/assets/{SchemaReference.es-ISuYhpDf.js → SchemaReference.es-Ct58wQao.js} +1 -1
  34. package/dist/assets/{Search-CQMDHt0w.js → Search-CAK6lEU5.js} +1 -1
  35. package/dist/assets/{Select-DXPyl9dO.js → Select-BxWNeYNi.js} +1 -1
  36. package/dist/assets/{Skeleton-URH_1vdL.js → Skeleton-Cr0EH8Zq.js} +1 -1
  37. package/dist/assets/{Slider-Bs8PTrpt.js → Slider-CXQeLZiS.js} +1 -1
  38. package/dist/assets/{Stepper-F9lgPB4i.js → Stepper-BhAtVIha.js} +1 -1
  39. package/dist/assets/{TextField-B9TZBqQf.js → TextField-BrdoIYhN.js} +1 -1
  40. package/dist/assets/{ToggleButtonGroup-B4DF013K.js → ToggleButtonGroup-DVdiztUP.js} +1 -1
  41. package/dist/assets/{ViewList-BsKNUMlP.js → ViewList-CNOw0C59.js} +1 -1
  42. package/dist/assets/{actions-B9P9hAjw.js → actions-Cr9Q_BuY.js} +1 -1
  43. package/dist/assets/{actions-Dunvsfuf.js → actions-CvuTOazl.js} +1 -1
  44. package/dist/assets/{agreement-C1qfhTtQ.js → agreement-aDIC9K-q.js} +1 -1
  45. package/dist/assets/api-CrxsAOen.js +1 -0
  46. package/dist/assets/app-avatar-CAMB2TI3.js +1 -0
  47. package/dist/assets/{audit-logs-C18DG_HF.js → audit-logs-BwoqaziX.js} +1 -1
  48. package/dist/assets/{brace-fold.es-5N33ToDI.js → brace-fold.es-C9sF5a7E.js} +1 -1
  49. package/dist/assets/bundle-avatar-LssiNkfU.js +1 -0
  50. package/dist/assets/{chart-DxusdyLS.js → chart-CPLlpJZg.js} +1 -1
  51. package/dist/assets/{click-to-copy-DdhnSrH5.js → click-to-copy-Dryc1hTX.js} +1 -1
  52. package/dist/assets/{closebrackets.es-iyZsaRgi.js → closebrackets.es-CZznIL1Y.js} +1 -1
  53. package/dist/assets/{codemirror.es-DeO7gDXr.js → codemirror.es-B7k4lQt2.js} +1 -1
  54. package/dist/assets/{comment.es-CfO1lV_o.js → comment.es-BUbOPZ4x.js} +1 -1
  55. package/dist/assets/{config-navigation-CcJGg9PY.js → config-navigation-DjQvsEqt.js} +2 -2
  56. package/dist/assets/{delete-confirm-C4Bk8D3q.js → delete-confirm-CvFbpCR0.js} +1 -1
  57. package/dist/assets/{detail-ByJGw6CQ.js → detail-BCIgsGi6.js} +3 -3
  58. package/dist/assets/{dialog.es-CQHFFbgC.js → dialog.es-BOl3T8zF.js} +1 -1
  59. package/dist/assets/{download-DjWKDAKk.js → download-B1rZzV-I.js} +1 -1
  60. package/dist/assets/{foldgutter.es-D2ybLApJ.js → foldgutter.es-CdNbqE8K.js} +1 -1
  61. package/dist/assets/getValidReactChildren-CbXDoF66.js +1 -0
  62. package/dist/assets/{hint.es-U_5yDQ-L.js → hint.es-BEEGxPxX.js} +1 -1
  63. package/dist/assets/{hint.es2-B5AxTcUD.js → hint.es2-BgaT7dOP.js} +1 -1
  64. package/dist/assets/{iframe-CN6X1zkC.js → iframe-BsRfx-VN.js} +1 -1
  65. package/dist/assets/{index-Cqf3kTsw.js → index-0kT4WFah.js} +1 -1
  66. package/dist/assets/{index-DHvVD3rl.js → index-B264xfl0.js} +208 -212
  67. package/dist/assets/{index-9FRtImOR.js → index-B2DROtjM.js} +1 -1
  68. package/dist/assets/{index-JuXoqefL.js → index-B3AKRPNz.js} +1 -1
  69. package/dist/assets/{index-CsJW-E3u.js → index-BAQY5KsY.js} +7 -7
  70. package/dist/assets/{index-BXxemGex.js → index-BEwGxrEj.js} +1 -1
  71. package/dist/assets/{index-CaM460rw.js → index-BGJ0tsnd.js} +1 -1
  72. package/dist/assets/{index-KnfQ44ac.js → index-BHt_1Fz1.js} +1 -1
  73. package/dist/assets/{index-BysoAAKf.js → index-BLjqNIDZ.js} +9 -9
  74. package/dist/assets/{index-oxLMT1TZ.js → index-BQyM7o4m.js} +1 -1
  75. package/dist/assets/{index-CmUhV6b0.js → index-BTAs6jMN.js} +1 -1
  76. package/dist/assets/{index-edI690Jp.js → index-BVIyyLQp.js} +3 -3
  77. package/dist/assets/{index-jYLpiIQq.js → index-BXNEGcpt.js} +1 -1
  78. package/dist/assets/{index-CiB-ceGd.js → index-BXpg134k.js} +1 -1
  79. package/dist/assets/{index-LuGhm-KA.js → index-Bb8Wd3cR.js} +1 -1
  80. package/dist/assets/{index-BsRcoDUD.js → index-Bet2GrHu.js} +1 -1
  81. package/dist/assets/{index-ClMriVhA.js → index-Bf0HRqVU.js} +1 -1
  82. package/dist/assets/{index-CBFgpWWt.js → index-BgO4_jFB.js} +1 -1
  83. package/dist/assets/{index-DB54SdYK.js → index-BiltbLpO.js} +1 -1
  84. package/dist/assets/index-C2btr_V7.js +54 -0
  85. package/dist/assets/{index-Ur9l5Pkv.js → index-CVNtTjgB.js} +1 -1
  86. package/dist/assets/{index-BUQuICIV.js → index-CdPlNe4M.js} +1 -1
  87. package/dist/assets/{index-CYqmm0Sa.js → index-ChZ1lR5t.js} +1 -1
  88. package/dist/assets/{index-CzxambID.js → index-Ci8q7YHg.js} +5 -5
  89. package/dist/assets/{index-Bj3d2EwJ.js → index-Crz9IlHz.js} +4 -4
  90. package/dist/assets/{index-CtlJtm28.js → index-CuM3Ga8w.js} +1 -1
  91. package/dist/assets/{index-CDk9gqwO.js → index-CxNVWvgr.js} +1 -1
  92. package/dist/assets/{index-DRwkxXBX.js → index-Cy9-fX-B.js} +1 -1
  93. package/dist/assets/{index-D3isMJCC.js → index-D-owSfbk.js} +11 -11
  94. package/dist/assets/{index-DrZqlcHr.js → index-D2Lsqbfz.js} +1 -1
  95. package/dist/assets/{index-D6XxoBY_.js → index-D6VonBVD.js} +1 -1
  96. package/dist/assets/{index-UfVz51n9.js → index-DFf76MY2.js} +9 -9
  97. package/dist/assets/{index-C5VGS0or.js → index-DPhvbb1R.js} +1 -1
  98. package/dist/assets/{index-DqHjW7tc.js → index-DVyoPW4N.js} +1 -1
  99. package/dist/assets/{index-CNEFxICJ.js → index-DYdf33qD.js} +1 -1
  100. package/dist/assets/{index-BiYiUZU0.js → index-DsQOskml.js} +10 -10
  101. package/dist/assets/{index-CBcjH65j.js → index-Dw7nfK6k.js} +1 -1
  102. package/dist/assets/{index-DINuwc4O.js → index-Dziwf2bD.js} +3 -3
  103. package/dist/assets/index-OU3gbH2o.js +302 -0
  104. package/dist/assets/{index-CBQDge9H.js → index-YYXPputg.js} +1 -1
  105. package/dist/assets/index-cde4BZWs.js +21 -0
  106. package/dist/assets/index-fY7I60Z4.js +11 -0
  107. package/dist/assets/{index-Bpjx7556.js → index-gEkolFXU.js} +1 -1
  108. package/dist/assets/{index.es-BaoJVcS0.js → index.es-sWcNuo80.js} +1 -1
  109. package/dist/assets/index.esm-BYhdFAYt.js +1 -0
  110. package/dist/assets/{info-addon.es-BF8YxAo6.js → info-addon.es-Do8kdrWo.js} +1 -1
  111. package/dist/assets/{info.es-BG-sFq93.js → info.es-CBP2lAZL.js} +1 -1
  112. package/dist/assets/{install-from-url-D_JUSXN1.js → install-from-url-CR2D1OuE.js} +1 -1
  113. package/dist/assets/{invitation-B9fShyCE.js → invitation-D36xo4Nq.js} +5 -5
  114. package/dist/assets/{isEqual-BT0_AVZN.js → isEqual--7fZiI_c.js} +1 -1
  115. package/dist/assets/{item-k8JU-j43.js → item-CHgsfKSh.js} +31 -31
  116. package/dist/assets/{javascript.es-BxU6I3W8.js → javascript.es-DB4ds2ep.js} +1 -1
  117. package/dist/assets/{jump-to-line.es-BJmdmPwT.js → jump-to-line.es-C6LvYVeR.js} +1 -1
  118. package/dist/assets/{jump.es-DdndOalg.js → jump.es-9HoKA66I.js} +1 -1
  119. package/dist/assets/{line-h_bDsdkk.js → line-CSa-3rZg.js} +4 -4
  120. package/dist/assets/{lint.es-S1IqD8Ty.js → lint.es-CagGH2Dg.js} +1 -1
  121. package/dist/assets/{lint.es2-Pg9vOGzA.js → lint.es2-D7ptn0D5.js} +1 -1
  122. package/dist/assets/{lint.es3-S5rsbMt9.js → lint.es3-CygQIQ86.js} +1 -1
  123. package/dist/assets/{list-header-sMQeptfh.js → list-header-Buug63wd.js} +1 -1
  124. package/dist/assets/{log-cMe-yCc9.js → log-CVdTBMkF.js} +1 -1
  125. package/dist/assets/{lottie-oKugLW27.js → lottie-CBq54Sxc.js} +1 -1
  126. package/dist/assets/{matchbrackets.es-CedBfYiO.js → matchbrackets.es-BjeegFKo.js} +1 -1
  127. package/dist/assets/{memory-DtZsgQku.js → memory-N2dwMxvS.js} +1 -1
  128. package/dist/assets/{mode.es-BCvVo63y.js → mode.es-7T6i_7B3.js} +1 -1
  129. package/dist/assets/{mode.es2-ahvvTvAM.js → mode.es2-DRkVLRGs.js} +1 -1
  130. package/dist/assets/{mode.es3-Bhh5S718.js → mode.es3-D0sYcFXy.js} +1 -1
  131. package/dist/assets/{onlineParser.es-D5Qe3rjM.js → onlineParser.es-TKXFH5Zh.js} +1 -1
  132. package/dist/assets/overview-CJDNnS0e.js +23 -0
  133. package/dist/assets/{react-UY6g3dsd.js → react-xFUQ-dSN.js} +23 -18
  134. package/dist/assets/{redux-DYjmRPcE.js → redux-_-Wd1BBM.js} +1 -1
  135. package/dist/assets/resource-dialog-BjY3fFbV.js +57 -0
  136. package/dist/assets/{runtime-D1eyE8B1.js → runtime-CJKQAWVF.js} +1 -1
  137. package/dist/assets/{search.es-0GT84-M2.js → search.es-CkTw6PBB.js} +1 -1
  138. package/dist/assets/{searchcursor.es-CX66aj_i.js → searchcursor.es-DDXkBIj5.js} +1 -1
  139. package/dist/assets/service-BNEW3f2R.js +1 -0
  140. package/dist/assets/{show-hint.es-vCcUyQMQ.js → show-hint.es-D0FK4jpS.js} +1 -1
  141. package/dist/assets/{slicedToArray-I-ObepI-.js → slicedToArray-Bi8C6K5D.js} +1 -1
  142. package/dist/assets/spaces-Ba90uQU5.js +1 -0
  143. package/dist/assets/{sublime.es-wltndpKH.js → sublime.es-v-rDVckb.js} +1 -1
  144. package/dist/assets/{switch-control-DSzxDtfl.js → switch-control-DKUsavUm.js} +1 -1
  145. package/dist/assets/{table-icons-D70UZfU7.js → table-icons-DudY5QUe.js} +2 -2
  146. package/dist/assets/{tag-BDr72C87.js → tag-DE9ceEP2.js} +1 -1
  147. package/dist/assets/{team-Ch-Gj2hO.js → team-BDA9KsXW.js} +1 -1
  148. package/dist/assets/{toUpper-Bqm-4sXI.js → toUpper-BfMTJWbO.js} +1 -1
  149. package/dist/assets/{traffic-BS6Lfitp.js → traffic-BHwgZVkf.js} +1 -1
  150. package/dist/assets/{url-evaluation-ceiaoY0M.js → url-evaluation-lyNx72aj.js} +2 -2
  151. package/dist/assets/{use-blocklet-info-for-connect-did-spaces-BQtm5420.js → use-blocklet-info-for-connect-did-spaces-DGloOgAU.js} +1 -1
  152. package/dist/assets/{useLocalStorage-BOaGasKr.js → useLocalStorage-BVTiR6qF.js} +1 -1
  153. package/dist/assets/util-BMwTpX68.js +1 -0
  154. package/dist/assets/{wait-container-CtbhxRrL.js → wait-container-B6Jq-AX0.js} +1 -1
  155. package/dist/assets/{withStyles-CjmLVNUl.js → withStyles-DdYALVFq.js} +1 -1
  156. package/dist/assets/{wrap-locale-K8WYS2HB.js → wrap-locale-Cd4eBcBL.js} +1 -1
  157. package/dist/assets/{zh-D9mkCsIM.js → zh-Dg3SqwRB.js} +1 -1
  158. package/dist/assets/{zh-tw-D-Z5mIZW.js → zh-tw-sBK54xj3.js} +1 -1
  159. package/dist/index.html +1 -1
  160. package/dist/service-worker.js +1 -1
  161. package/package.json +1 -1
  162. package/dist/assets/DeleteOutline-CnmOxEUl.js +0 -1
  163. package/dist/assets/api-BM9dJimB.js +0 -1
  164. package/dist/assets/app-avatar-DQiSEUVG.js +0 -1
  165. package/dist/assets/bundle-avatar-6edO3WvW.js +0 -1
  166. package/dist/assets/getValidReactChildren-BhT8Dia7.js +0 -1
  167. package/dist/assets/index-7hmZo5yz.js +0 -54
  168. package/dist/assets/index-BO1T0fz0.js +0 -11
  169. package/dist/assets/index-Dw6syXvl.js +0 -21
  170. package/dist/assets/index-oWv9ehU5.js +0 -302
  171. package/dist/assets/index.esm-D5EJdopB.js +0 -1
  172. package/dist/assets/is-path-prefix-equal-DTqcyXik.js +0 -1
  173. package/dist/assets/overview-C8aXpNrX.js +0 -23
  174. package/dist/assets/resource-dialog-C82ZhW4T.js +0 -57
  175. package/dist/assets/service-DOjp5s19.js +0 -1
  176. package/dist/assets/spaces-m3k1wtEz.js +0 -1
  177. package/dist/assets/url-join-Bsj5KCM1.js +0 -1
  178. package/dist/assets/util-CMnoIJSr.js +0 -1
@@ -1,302 +0,0 @@
1
- import{r as p,c as ue,u as J,e as Pe,aE as Rr,j as e,F as D,aF as ln,aG as $n,aH as Tr,aI as cn,aJ as _t,aK as ge,aL as he,P as u,n as V,q as N,ad as ne,aM as dn,m as L,U as te,ax as pe,J as Se,B as G,C as Y,aN as Mn,K as de,O as ee,A as ce,f as Dt,R as zn,aO as Er,aP as Pr,aQ as Ar,aa as Ir,aR as Lr,aS as Or,aT as kr,z as Bn,W as un,T as mn,k as Q,aU as Rt,a as xt,S as ie,b as Je,aV as Wn,aW as qn,aX as Hn,aY as Fr,a2 as Nr,aZ as Ur,a_ as $r,a$ as Mr,b0 as zr,b1 as Br,b2 as ze,a8 as Wr,d as Kn,M as qr,b3 as Hr,aD as ut,b4 as Kr,a9 as mt,a6 as ft,b5 as Gr,a7 as yt,i as Gn,N as Yr,b6 as Vr,b7 as we,b8 as _e,b9 as Xr,ba as Qr,D as Yn,w as vt,bb as Jr,h as Zr,at as fn,bc as ei,bd as pn,aj as ti,be as ni,bf as ri,bg as ii}from"./index-DHvVD3rl.js";import{T as oi}from"./index-BXxemGex.js";import{d as ai}from"./ArrowDropDown-BUrSvBpJ.js";import{u as Tt,C as re,a as gn}from"./index.esm-D5EJdopB.js";import{S as je}from"./switch-control-DSzxDtfl.js";import{d as Vn,i as si}from"./is-path-prefix-equal-DTqcyXik.js";import{T as K,F as li}from"./TextField-B9TZBqQf.js";import{D as Xn,g as ci}from"./index-CiB-ceGd.js";import{d as Qn}from"./Link-ByQdtjfh.js";import{d as Ae}from"./Delete-DHiwhVmP.js";import{C as Et}from"./delete-confirm-C4Bk8D3q.js";import{I as Be}from"./index-D6XxoBY_.js";import{s as di}from"./logo-BKA11TRi.js";import{_ as ui}from"./useLocalStorage-BOaGasKr.js";import{L as mi}from"./LoadingButton-Cj_wXKeI.js";import{C as fi,d as Jn}from"./Public-0DIMrFya.js";import{d as Pt}from"./Add-CazR0vZK.js";import{a as pi,B as Zn,D as hn,R as gi,b as hi}from"./url-evaluation-ceiaoY0M.js";import{d as xi}from"./CheckCircle-DbpNufE5.js";import{d as yi}from"./ChevronRight-C8sGT-T0.js";import{d as vi}from"./MoreVert-BzXa-i1R.js";import{d as er}from"./Edit-BgU3t9-z.js";import{d as bi,a as tr}from"./Https-B3r3YjjJ.js";import{W as $e}from"./tag-BDr72C87.js";import{w as ji}from"./withStyles-CjmLVNUl.js";import{S as Ci}from"./Slider-Bs8PTrpt.js";import"./index-BsRcoDUD.js";import"./Select-DXPyl9dO.js";import"./InputLabel-Csh1ynXt.js";import"./FilterList-usqmRCGh.js";import"./LastPage-DnsJsUIR.js";import"./index-CNEFxICJ.js";import"./redux-DYjmRPcE.js";import"./Search-CQMDHt0w.js";import"./index-CmUhV6b0.js";import"./click-to-copy-DdhnSrH5.js";const fe="Dashboard",nr=p.createContext({}),{Provider:Si,Consumer:ns}=nr,xn=[fe,D.DOMAIN_FOR_IP_SITE,D.DOMAIN_FOR_IP_SITE_REGEXP],wi=(t,n)=>{if(t.name===D.DOMAIN_FOR_DEFAULT_SITE)return-1;if(n.name===D.DOMAIN_FOR_DEFAULT_SITE)return 1;const r=xn.includes(t.name),i=xn.includes(n.name);return r&&i?cn(t.name,n.name):r?-1:i?1:cn(t.name,n.name)},_i=({sites:t,nodePort:n})=>{const r=window.location.host,o=(t||[]).map(a=>{const{id:l,rules:c=[],corsAllowedOrigins:h=[]}=a;let{domain:d,domainAliases:m}=a;m=m||[],[D.DOMAIN_FOR_IP_SITE,D.DOMAIN_FOR_IP_SITE_REGEXP].includes(d)&&(d=fe,m.find(f=>f.value===r)||m.unshift({protected:!1,value:r}));const g={id:l,name:d,type:"domain",items:[],domainAliases:m,isProtected:a.isProtected,corsAllowedOrigins:h};return(c||[]).forEach(f=>{const{id:y,isProtected:j,from:{pathPrefix:b},to:S}=f;if(S.type===D.ROUTING_RULE_TYPES.BLOCKLET){let R="";Number.parseInt(S.port,10)===Number.parseInt(n,10)?(R="Blocklet Server Dashboard",S.type=D.ROUTING_RULE_TYPES.DAEMON):R=S.did,g.items.push({id:y,name:ln(b||"/"),title:R,type:"rule",isProtected:j,pathPrefix:b,to:S})}else g.items.push({id:y,pathPrefix:b,name:ln(b||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:j,to:S})}),g.items=$n(g.items,f=>f.name),g}).sort(wi),s=o.reduce((a,l)=>{let{name:c}=l;return c.endsWith(D.BLOCKLET_SITE_GROUP_SUFFIX)&&([c]=c.split(".")),a[c]={...l,rules:l.items},a},{});return{sites:o,siteMap:s}},Di=({did:t,domain:n,mountPoint:r,siteMap:i,params:o}={})=>{if(!i)return null;const s=i[t];if(!s)return null;const a=n||(s.domainAliases||[])[0];if(!a)return null;let l=r;if(!l){const c=s.rules.filter(h=>!h.name.startsWith(D.WELLKNOWN_PATH_PREFIX))[0];l=c?c.name:"/"}return _t(a.value,l,o)},Ri=({did:t,mountPoint:n,siteMap:r,params:i}={})=>{if(!r)return[];const o=r[t];if(!o)return[];const s=o.domainAliases||[];if(!s.length)return[];let a=n;if(!a){const l=o.rules.filter(c=>!c.name.startsWith(D.WELLKNOWN_PATH_PREFIX))[0];a=l?l.name:"/"}return s.map(l=>_t(l.value,a,i))},Ti=t=>{const n=t.map(i=>i.domain).filter(i=>![D.DOMAIN_FOR_IP_SITE_REGEXP,D.DOMAIN_FOR_DEFAULT_SITE].includes(i));let r=[];return t.forEach(i=>r.push(...i.domainAliases||[])),r=r.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:n,domainsAliases:r}};function yn({children:t}){const n=ue(),{info:r}=J(),[i,o]=p.useState([]),[s,a]=p.useState([]),[l,c]=p.useState([]),h=Pe(async()=>{const{sites:P}=await n.getRoutingSites({input:{snapshotHash:""}}),T=P||[];await Promise.all(T.map(async v=>(v.domainAliases=await Rr(v.domainAliases,{getIP:Tr}),v)));const I=Ti(T);o(T),a(I.domains),c([window.location.hostname,...I.domains,...I.domainsAliases.map(v=>v.value)])},[r]),d=(P,T)=>{o(I=>I.map(v=>v.id===P?T.domain?T:{...T,domain:v.domain}:v))},m=P=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(P)}}),g=async P=>{const T=await n.addRoutingSite({input:P});o(i.concat(T.site))},f=async(P,T)=>{const I=await n.updateRoutingSite({input:{id:P,...T}});if(I.site&&I.site.id){const v=i.findIndex(A=>A.id===I.site.id);v!==-1&&(i.splice(v,1,I.site),o([].concat(i)))}},y=async P=>{await n.deleteRoutingSite({input:{id:P}}),o(i.filter(T=>T.id!==P))},j=async(P,T,I)=>{const v=await n.addDomainAlias({input:{id:P,domainAlias:T,force:I}});d(P,v.site)},b=async(P,T)=>{const I=await n.deleteDomainAlias({input:{id:P,domainAlias:T}});d(P,I.site)},S=async(P,T)=>{const{site:I}=await n.addRoutingRule({input:{id:P,rule:T}});d(P,I)},R=async(P,T)=>{const{site:I}=await n.updateRoutingRule({input:{id:P,rule:T}});d(P,I)},C=async(P,T)=>{const{site:I}=await n.deleteRoutingRule({input:{id:P,ruleId:T}});d(P,I)},x={loading:h.loading,error:h.error,refresh:h.retry,api:n,actions:{addSite:g,updateSite:f,deleteSite:y,addDomainAlias:j,deleteDomainAlias:b,takeSnapshot:m,addRule:S,updateRule:R,deleteRule:C}},{sites:E,siteMap:_}=_i({sites:i,nodePort:r.port});return x.sites=E,x.siteMap=_,x.domains=s,x.allDomains=l,x.getBlockletUrl=({did:P,domain:T,mountPoint:I,params:v})=>Di({did:P,domain:T,mountPoint:I,siteMap:x.siteMap,params:v}),x.getBlockletUrls=({did:P,mountPoint:T,params:I})=>Ri({did:P,mountPoint:T,siteMap:x.siteMap,params:I}),e.jsx(Si,{value:{routing:x},children:t})}function ae(){const{routing:t}=p.useContext(nr);return t}function At(t){const n=[D.DOMAIN_FOR_IP_SITE_REGEXP,D.DOMAIN_FOR_DEFAULT_SITE,D.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&n.push(window.location.hostname),n.includes(t)}var It={},Ei=he;Object.defineProperty(It,"__esModule",{value:!0});var rr=It.default=void 0,Pi=Ei(ge()),Ai=e;rr=It.default=(0,Pi.default)((0,Ai.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");function Ii(){return null}function Lt({confirm:t}){const[n,r]=p.useState(null),{t:i}=N(),o=()=>{r(null)},s=async l=>{if(l){let c=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";c==="/"?dn.push(`${l.pathname}`):(c.endsWith("/")&&(c=c.substring(0,c.length-1)),dn.push(`${c}${l.pathname}`)),window.location.reload()}},a=(l,...c)=>{let h=typeof t=="function"?t(l,...c):t;return h?(typeof h=="string"&&(h={description:h}),r({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>s(l),onCancel:()=>o(),...h}),!1):!0};return e.jsxs(Li,{children:[e.jsx(Ii,{message:a}),n&&e.jsx(ne,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Lt.propTypes={confirm:u.oneOfType([u.object,u.string,u.func])};Lt.defaultProps={confirm:null};const Li=V.div`
2
- margin-bottom: 24px;
3
- .top-btns-alert {
4
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
5
- flex-direction: column;
6
- padding-bottom: 15px;
7
- padding-right: 20px;
8
- }
9
- }
10
- .top-btns-action {
11
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
12
- margin-right: 0px;
13
- }
14
- }
15
- `;function Ot({children:t,...n}){return e.jsx(Oi,{children:e.jsx("form",{...n,children:t})})}Ot.propTypes={children:u.any.isRequired};const Oi=V.div`
16
- width: 100%;
17
-
18
- form {
19
- width: 100%;
20
- flex: 1;
21
- display: flex;
22
- flex-direction: column;
23
-
24
- .form-submit {
25
- margin-top: 32px;
26
- margin-right: 32px;
27
- width: 180px;
28
- }
29
-
30
- .form-actions {
31
- display: flex;
32
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
33
- flex-direction: column;
34
- width: 100%;
35
- button {
36
- width: 100%;
37
- margin-right: 0;
38
- }
39
- }
40
- }
41
-
42
- .form-item {
43
- margin-top: 16px;
44
- margin-right: 0;
45
- }
46
- }
47
- `,vn=t=>({name:t.name,description:t.description,registerUrl:t.registerUrl,webWalletUrl:t.webWalletUrl,nftDomainUrl:t.nftDomainUrl,diskAlertThreshold:t.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1,enableFileSystemIsolation:!0});function kt({onSaved:t,title:n,submit:r,disabled:i,...o}){const s=J(),{t:a}=N(),{control:l,handleSubmit:c,formState:h,reset:d}=Tt({defaultValues:vn(s.info)}),[m,g]=p.useState(""),[f,y]=p.useState(""),[j,b]=p.useState(!1),[S,R]=p.useState(s.info.autoUpgrade),[C,x]=p.useState(!!s.info.enableWelcomePage),[E,_]=p.useState(!!s.info.enableFileSystemIsolation),[P,T]=p.useState(!!s.info.enableBetaRelease);p.useEffect(()=>{let A="";(h.isDirty||S!==s.info.autoUpgrade||C!==!!s.info.enableWelcomePage||E!==!!s.info.enableFileSystemIsolation)&&(A=a("setting.unSavedTip")),y(A)},[a,s,S,C,E,h]);const I=async A=>{g(""),b(!0);try{const F=await ue().updateNodeInfo({input:{...A,name:A.name.trim(),description:A.description.trim(),registerUrl:A.registerUrl.trim(),webWalletUrl:A.webWalletUrl.trim(),diskAlertThreshold:A.diskAlertThreshold,autoUpgrade:S,enableWelcomePage:C,enableFileSystemIsolation:E,enableBetaRelease:P}});await Mn(1e3),d(vn(F.info)),typeof t=="function"&&t(F)}catch(F){g(de(F))}finally{b(!1)}},{errors:v}=h;return e.jsxs(ki,{...o,children:[e.jsxs(Ot,{noValidate:!0,autoComplete:"off",onSubmit:c(I),children:[!!n&&e.jsx(L,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),e.jsx(te,{permission:"mutate_node",children:A=>{var F,q;return e.jsxs(e.Fragment,{children:[e.jsx(re,{name:"name",control:l,rules:{validate:$=>!!$.trim()||a("setting.form.nameRequired")},render:({field:$})=>e.jsx(K,{variant:"outlined",label:a("setting.form.name"),placeholder:a("setting.form.namePlaceholder"),disabled:j||!A,"data-cy":"node-name-input",error:v.name&&!!v.name.message,helperText:v.name?v.name.message:"",margin:"normal",...$})}),e.jsx(re,{name:"description",control:l,rules:{validate:$=>!!$.trim()||a("setting.form.descriptionRequired")},render:({field:$})=>e.jsx(K,{variant:"outlined",label:a("setting.form.description"),placeholder:a("setting.form.descriptionHolder"),disabled:j||!A,"data-cy":"node-description-input",error:v.description&&!!v.description.message,helperText:v.description?v.description.message:"",margin:"normal",...$})}),e.jsx(re,{name:"registerUrl",control:l,rules:{},render:({field:$})=>e.jsx(K,{variant:"outlined",label:a("setting.form.registerUrl"),placeholder:a("setting.form.registerUrlPlaceholder"),disabled:j||!A,error:v.registerUrl&&!!v.registerUrl.message,helperText:v.registerUrl?v.registerUrl.message:"",margin:"normal",...$})}),e.jsx(re,{name:"nftDomainUrl",control:l,rules:{},render:({field:$})=>e.jsx(K,{variant:"outlined",label:a("setting.form.nftDomainUrl"),placeholder:a("setting.form.nftDomainUrlPlaceholder"),disabled:j||!A,error:v.nftDomainUrl&&!!v.nftDomainUrl.message,helperText:v.nftDomainUrl?v.nftDomainUrl.message:"",margin:"normal",...$})}),e.jsx(re,{name:"webWalletUrl",control:l,rules:{},render:({field:$})=>e.jsx(K,{variant:"outlined",label:a("setting.form.webWalletUrl"),placeholder:a("setting.form.webWalletUrlPlaceholder"),disabled:j||!A,error:v.webWalletUrl&&!!v.webWalletUrl.message,helperText:v.webWalletUrl?v.webWalletUrl.message:"",margin:"normal",...$})}),e.jsx(re,{name:"diskAlertThreshold",control:l,rules:{},render:({field:$})=>e.jsx(K,{type:"number",variant:"outlined",label:a("setting.form.monitor.diskThreshold"),placeholder:a("setting.form.monitor.diskThresholdPlaceholder"),disabled:j||!A,error:v.diskAlertThreshold&&!!v.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:v.diskAlertThreshold?v.diskAlertThreshold.message:"",margin:"normal",...$})}),e.jsx(je,{checked:S,onChange:()=>R(!S),name:"autoUpgrade",disabled:!A,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:a("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),S&&e.jsx(je,{checked:P,onChange:()=>T(!P),name:"enableBetaRelease",disabled:!A,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:a("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),((F=s.info)==null?void 0:F.mode)!==D.NODE_MODES.SERVERLESS&&e.jsx(je,{checked:C,onChange:()=>x(!C),name:"enableWelcomePage",disabled:!A,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:a("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),((q=s.info)==null?void 0:q.mode)!==D.NODE_MODES.SERVERLESS&&e.jsx(je,{checked:E,onChange:()=>_(!E),name:"enableFileSystemIsolation",disabled:!A,labelProps:{label:e.jsx(L,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[a("setting.form.security.switchLabel"),e.jsx(pe,{title:a("setting.form.security.switchTips"),children:e.jsx(Vn,{sx:{ml:.5,fontSize:"20px"},color:E?"primary":"error"})})]})})},style:{marginTop:16}})]})}}),!!f&&e.jsx(Se,{type:"warning",variant:"icon",children:f}),e.jsx("div",{className:"form-actions",children:e.jsx(te,{permission:"mutate_node",children:e.jsxs(G,{onClick:c(I),disabled:i||j,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",j?e.jsx(Y,{size:16}):null]})})}),!!m&&e.jsx(Se,{type:"error",variant:"icon",error:m,children:m})]}),f&&e.jsx(Lt,{confirm:a("setting.unSavedLeaveTip")})]})}kt.propTypes={onSaved:u.func.isRequired,disabled:u.bool,title:u.string.isRequired,submit:u.string.isRequired};kt.defaultProps={disabled:!1};const ki=V.div`
48
- display: flex;
49
- align-items: flex-start;
50
- width: 100%;
51
- max-width: 720px;
52
- `;function Fi(){const{refresh:t,info:n}=J(),{t:r}=N(),[i,o]=p.useState(!1);p.useEffect(()=>{t({silent:!0})},[]);const s=()=>{t({silent:!0}),ce.success(r("setting.saveSuccess"))};return e.jsx(Ni,{children:e.jsxs(ee,{mb:4,children:[e.jsx(kt,{onSaved:s,submit:r("common.saveChanges"),title:""}),e.jsx(ee,{mt:6,style:{marginLeft:-8},children:e.jsxs(G,{onClick:()=>{o(a=>!a)},children:[r("common.readMore"),i?e.jsx(rr,{}):e.jsx(ai,{})]})}),i&&e.jsxs(ee,{fontSize:12,color:"text.secondary",children:[e.jsxs(ee,{children:[r("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",n.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(ee,{children:[r("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",n.runtimeConfig.daemonMaxMemoryLimit," MB"]}),e.jsxs(ee,{children:[r("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",n.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const Ni=V.div`
53
- .eula-btn {
54
- text-decoration-line: underline;
55
- margin-top: 32px;
56
- margin-bottom: 32px;
57
- }
58
-
59
- .danger-zone {
60
- margin-top: 1vw;
61
- width: 100%;
62
- max-width: 720px;
63
- }
64
- `;var Ft={},Ui=he;Object.defineProperty(Ft,"__esModule",{value:!0});var ir=Ft.default=void 0,$i=Ui(ge()),Mi=e;ir=Ft.default=(0,$i.default)((0,Mi.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");function Nt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{item:a,onDelete:l=()=>{}}=t,{id:c,title:h}=a,d=ue(),m=()=>{i(!1),s(null)},g=async()=>{i(!0);try{await d.deleteWebHook({input:{id:c}}),l()}catch(y){console.error(y)}finally{i(!1),s(null)}},f={keyName:c,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${h}</b>`,id:`<b>${c}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:g,onCancel:m};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>s(f),size:"small",className:"rule-action",color:"error",children:[r?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(Et,{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})]})}Nt.propTypes={item:u.object.isRequired,onDelete:u.func};Nt.defaultProps={onDelete:()=>{}};function zi(){const{api:t,imgPrefix:n}=J(),{t:r,locale:i}=p.useContext(Dt),[o,s]=p.useState([]),[a,l]=p.useState(null),c=Pe(async()=>{const[{webhooks:C},{senders:x}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return s(x),C}),h=c.value||[],{loading:d,error:m}=c,g=async C=>{try{await t.createWebHook({input:C}),c.retry()}catch(x){ce.error(de(x),{autoHideDuration:4e3}),console.error("create webhook error",x)}l(null)},f=()=>{l(null)},y=C=>{const x={title:C.title,description:(E,_,P)=>{const T=v=>{_({list:v,__disableConfirm:v.some(A=>A.disable)})},I=E.list||[];return e.jsx(bn,{children:I.map((v,A)=>e.jsx(Bi,{children:e.jsx(K,{label:v.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:v.value||v.defaultValue,onChange:F=>{v.required&&(v.disable=!0);const q=F.target.value.trim();v.value=q,I[A]=v,q?Pr(v.type,q)?(v.disable=!1,P("")):(v.disable=!0,P(r("setting.webhook.requiredError",{type:v.type}))):(v.required&&(v.disable=!0),P("")),T([...I])}})},v.name))})},params:{list:C.params,__disableConfirm:!0},confirm:r("setting.webhook.add"),cancel:r("common.cancel"),onConfirm:E=>{C.params=E.list,g(C)},onCancel:f};l(x)},j=C=>C.type==="slack"?e.jsx("img",{src:`${n}/${C.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(Qn,{}),b=async C=>{const x={webhookId:C.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:x})},S=[{label:r("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:C=>{const x=h[C],E=o.find(_=>_.name===x.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[j(x),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",x.id]}),e.jsx("div",{children:E?E.description:null})]})]})}}},{label:r("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:C=>{const E=h[C].params.map(_=>e.jsx("div",{children:_.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:E})}}},{label:r("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:C=>{const x=h[C];return e.jsx(zn,{value:Number(x.createdAt),locale:i})}}},{label:r("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:C=>{const x=h[C],E=o.find(_=>_.name===x.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(Nt,{item:{...x,title:E.title},onDelete:()=>{c.retry()}}),e.jsxs(G,{size:"small",color:"secondary",onClick:()=>{b(x)},children:[e.jsx(Wi,{}),r("setting.webhook.test")]})]})}}}];if(!h.length&&d)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(Y,{})});if(!h.length&&m)return e.jsx(Er,{severity:"error",children:de(m)});const R=o.map(C=>({icon:j(C),title:`${r("common.add")} ${C.title}`,onClick:()=>{y(C)}}));return e.jsxs(bn,{children:[a&&e.jsx(ne,{color:"primary",title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel}),e.jsx(Xn,{columns:S,data:h,locale:i,customButtons:R,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const bn=V.div`
65
- .button-addon {
66
- text-align: right;
67
- }
68
-
69
- .add-list {
70
- width: 420px;
71
- max-width: calc(100vw - 10px);
72
- text-align: left;
73
- background: #fff;
74
- border-radius: 5px;
75
- }
76
- `,Bi=V.div`
77
- display: flex;
78
- `,Wi=V(ir)`
79
- font-size: 16px !important;
80
- margin-right: 3px;
81
- `;function Ze({title:t,description:n,children:r}){return e.jsxs(qi,{children:[e.jsxs(L,{component:"div",className:"danger-item-info",children:[e.jsx(L,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),e.jsx(L,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),e.jsx(L,{component:"div",className:"danger-item-action",children:r})]})}Ze.propTypes={children:u.node.isRequired,title:u.string.isRequired,description:u.string.isRequired};const qi=V.div`
82
- display: flex;
83
- justify-content: space-between;
84
- align-items: center;
85
-
86
- .danger-item-info {
87
- display: flex;
88
- flex-direction: column;
89
- align-items: flex-start;
90
- justify-content: center;
91
- .title {
92
- word-break: break-word;
93
- }
94
- .desc {
95
- word-break: break-word;
96
- }
97
- }
98
-
99
- .danger-item-action {
100
- width: 160px;
101
- flex-shrink: 0;
102
- text-align: right;
103
- cursor: pointer;
104
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
105
- width: auto;
106
- margin-left: 10px;
107
- }
108
- }
109
- `;function et({children:t,...n}){return e.jsx(Hi,{...n,children:t})}const Hi=V.div`
110
- border: 1px solid #dedede;
111
- padding: 16px;
112
- `;et.propTypes={children:u.node.isRequired};function jn({action:t}){const{t:n}=N(),{info:r,api:i}=J(),[o,s]=p.useState(!1),[a,l]=p.useState(null);if(t==="upgrade"&&!r.nextVersion)return null;const c=()=>{s(!1),l(null)},h=async()=>{try{s(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer()}catch(m){ce.error(de(m))}finally{s(!1),l(null)}},d={title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.dialog`),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:h,onCancel:c};return e.jsxs(e.Fragment,{children:[e.jsx(et,{className:"danger-zone",children:e.jsx(Ze,{title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.description`),children:e.jsxs(G,{onClick:()=>l(d),color:"error",variant:"outlined",size:"large",children:[o?e.jsx(Y,{size:16,style:{marginRight:3}}):null,n(`setting.form.${t}.confirm`)]})})}),a&&e.jsx(ne,{title:a.title,description:a.description,confirm:a.confirm,cancel:a.cancel,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Ut={},Ki=he;Object.defineProperty(Ut,"__esModule",{value:!0});var or=Ut.default=void 0,Gi=Ki(ge()),Yi=e;or=Ut.default=(0,Gi.default)((0,Yi.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");function Vi(){const{t}=N(),{api:n}=J(),[r,i]=p.useState(!1),[o,s]=p.useState(null),[a,l]=ui("last-check-server-version-time"),c=()=>{i(!1),s(null)},h={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:c,onCancel:c},d=async m=>{try{i(!0);const{version:g}=await n.checkNodeVersion();!g&&m&&s(h),l(Date.now())}catch(g){console.error(`Failed to check new version: ${g.message}`)}finally{i(!1)}};return p.useEffect(()=>{(!a||Date.now()-Number(a)>60*1e3)&&d(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(mi,{sx:{ml:2},color:"primary",variant:"outlined",onClick:d,size:"small",loadingPosition:"end",loading:r,children:e.jsxs(Ar,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(or,{fontSize:"small"}),e.jsx(L,{component:"span",children:t("server.checkUpgrade")})]})}),o&&e.jsx(ne,{title:o.title,description:o.description,confirm:o.confirm,showCancel:o.showCancel,color:o.color,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function Xi(){const{t}=N(),{info:n}=J();return e.jsx(et,{className:"danger-zone",children:e.jsx(Ze,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(fi,{teamDid:n.did,size:"large"})})})}const Qi="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function Ji(){const{t,locale:n}=N(),{info:r}=J(),i=p.useRef(null),o=Ir(r),[s,a]=p.useState(!1),l=p.useRef(null),[c,h]=p.useState({}),{createdAt:d,did:m,description:g,name:f}=r,y=p.useMemo(()=>Lr(),[]),j=Or(async()=>{var H;let{registerUrl:v}=r;localStorage.getItem("__registerUrl")&&(v=localStorage.getItem("__registerUrl"));const A=new URL(v);A.pathname="__blocklet__.js",A.searchParams.set("type","json");const{data:F}=await kr.get(A.toString()),q=(H=F==null?void 0:F.componentMountPoints)==null?void 0:H.find(B=>B.did===Qi),$=new URL(v);return $.pathname=(q==null?void 0:q.mountPoint)||"",$.toString()}),b={did:m,name:f,createdAt:d,description:g,url:o},S=p.useMemo(()=>c.type&&c.type!=="notAdded",[c]),R=p.useMemo(()=>s?t("setting.form.register.detecting"):c.type==="update"?t("setting.form.register.update"):t(S?"setting.form.register.added":"setting.form.register.btn"),[s,c,n]),C=p.useMemo(()=>c.type==="update"?!1:!!S,[c]),x=()=>{i.current.contentWindow.postMessage({...b,action:"registerNode"},"*")},E=()=>{i.current.contentWindow.postMessage({...b,action:"queryRegisterInfo"},"*")},_=()=>{clearTimeout(l.current),a(!1),y&&E()},P=()=>{a(!0),l.current=setTimeout(()=>{ce.error(t("setting.form.register.timeout")),a(!1)},1e3*6)};if(p.useEffect(()=>{let v;return window.addEventListener("message",v=A=>{const{data:F}=A;F==="launcher init"?_():(F==null?void 0:F.action)==="registerNode"&&(h(F),F.type==="addSucceed"&&ce.success(t("setting.form.register.addSucceed")),F.type==="updateSucceed"&&ce.success(t("setting.form.register.updateSucceed")))}),y&&P(),()=>{window.removeEventListener("message",v),clearTimeout(l.current)}},[]),j.loading)return"";const T=j.value,I=y?e.jsx(G,{disabled:C,loading:s,onClick:x,color:"primary",variant:"contained",size:"large",children:R}):e.jsx(G,{color:"primary",loading:s,component:"a",href:`${T}?register-server=${encodeURIComponent(JSON.stringify(b))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.btn")});return e.jsxs(Zi,{children:[e.jsx(et,{className:"danger-zone",children:e.jsx(Ze,{title:t(S?"setting.form.register.titleAdded":"setting.form.register.title"),description:S?t("setting.form.register.descriptionOnAdded",{url:T}):t("setting.form.register.description",{url:T}),children:I})}),y&&e.jsx("iframe",{ref:i,src:`${T}?register-detect=1`,title:"register",style:{display:"none"}})]})}const Zi=V.div`
113
- .danger-zone {
114
- margin-top: 1vw;
115
- width: 100%;
116
- }
117
- `;function eo(){const t=Bn(),{api:n,info:r}=J(),{t:i}=N(),o=Pe(async()=>{const a=await n.getNodeEnv();return Object.assign({},a.info||{})}),s=[];return s.push({name:i("dashboard.nodeDid"),value:e.jsx(un,{did:r.did,showQrcode:!0})},r.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(un,{did:r.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:r.routing.provider}),o.value&&s.push({name:`${i("common.os")}`,value:o.value.os},o.value.docker?{name:`${i("common.docker")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null,o.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null),Array.isArray(Q(o,"value.blockletEngines",null))&&o.value.blockletEngines.filter(a=>a.visible&&a.available).forEach(a=>{s.push({name:a.displayName,value:a.version})}),e.jsxs(to,{children:[e.jsx(te,{permission:"mutate_node",children:a=>e.jsxs(e.Fragment,{children:[e.jsxs(ee,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[e.jsx(ee,{width:50,height:50,children:e.jsx("img",{src:di,height:50,alt:""})}),e.jsxs(ee,{ml:2,children:[e.jsx("h2",{style:{margin:0},children:r.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:r.description})]})]}),e.jsxs(Be,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[r.version,a&&e.jsx(Vi,{})]},"version"),s.filter(Boolean).map(l=>e.jsx(Be,{valueComponent:"div",nameWidth:150,name:l.name,children:l.value},l.name)),a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(jn,{action:"upgrade"})})]})}),e.jsx(te,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(jn,{action:"restart"})})}),e.jsx(te,{permission:"mutate_router",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Xi,{})})}),e.jsx(te,{permission:"mutate_blocklets",children:!!r.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(Ji,{})})}),e.jsx(ee,{mt:10,style:{marginLeft:-8},children:e.jsx(G,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const to=V.div`
118
- display: flex;
119
- flex-direction: column;
120
- margin-top: 32px;
121
- `,ar=p.createContext({}),{Provider:no,Consumer:rs}=ar;function sr({children:t,domains:n}){const r=ue(),i=JSON.stringify(n),[o,s]=p.useState({}),a=p.useMemo(()=>n.filter(f=>Rt(f)),[i]);xt(D.EVENTS.DOMAIN_STATUS,f=>{f&&s(y=>({...y,[f.domain]:{...y[f.domain],...f}}))});const{domainsAccessibility:l,recommendedDomain:c}=pi(a),h=p.useMemo(()=>{const f={...o};return Object.keys(l).forEach(y=>{const j=f[y]||{};f[y]={...j,...l[y]}}),f},[o,l]),d=()=>{a.length>0&&r.checkDomains({input:{domains:a}})},m=f=>{f&&r.checkDomains({input:{domains:[f]}})};p.useEffect(()=>{d()},[a]);const g={refresh:d,updateStatus:m,api:r,status:h,recommendedDomain:c,recommendedDomainStatus:h[c]};return e.jsx(no,{value:g,children:t})}sr.propTypes={children:u.any.isRequired,domains:u.array.isRequired};function tt(){const{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}=p.useContext(ar);return{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}}const ro=t=>(Q(t,"meta.interfaces")||[]).find(r=>r.type===Je.BLOCKLET_INTERFACE_TYPE_WEB);function Ie({params:t,blocklets:n,setParams:r,setError:i,serviceTypes:o}){const{t:s}=N(),a={301:s("common.redirectPermanently"),302:s("common.redirectTemporary"),307:s("common.redirectTemporary"),308:s("common.redirectPermanently")},l=$n(n,d=>d.meta.name),c=(d,m)=>{if(!m)return{};let{port:g}=d;m&&d.ports&&m.port&&(d.ports[m.port]&&(g=d.ports[m.port]),d.ports[m.port.internal]&&(g=d.ports[m.port.internal]));let{pathPrefix:f}=t;return m&&m.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&(f=m.prefix),{port:g,pathPrefix:f}},h=d=>{const m=l.find(f=>f.meta.did===d),g=ro(m);return{...c(m,g),interfaceName:g?g.name:""}};return p.useEffect(()=>{!t.interfaceName&&t.type===D.ROUTING_RULE_TYPES.BLOCKLET&&r({...t,...h(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(K,{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:d=>{i(""),r({...t,type:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map(({name:d,value:m})=>e.jsx(ie,{value:m,children:d},m))}),t.type===D.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(K,{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:d=>{r({...t,...h(d.target.value),did:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[l.map(d=>e.jsxs(ie,{value:d.meta.did,children:[`${d.meta.name} v${d.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(Zn,{status:d.status,progress:d.progress})})]},d.meta.did)),n.length===0&&e.jsx(ie,{value:"",children:s("common.empty")},"empty")]}),t.type===D.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(K,{select:!0,label:s("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:d=>r({...t,redirectCode:d.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(a).map(d=>e.jsx(ie,{value:d,children:`${a[d]} - ${d}`},d))}),e.jsx(K,{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:d=>{r({...t,url:d.target.value,__disableConfirm:!d.target.value.trim()}),d.target.value.trim()?i(""):i(s("router.validation.redirectUrlRequired"))}})]]})}Ie.propTypes={params:u.object,blocklets:u.array,serviceTypes:u.array,setParams:u.func,setError:u.func};Ie.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:D.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:D.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:D.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};const lr=(t,n)=>{if(t.type===D.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${n("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${n("router.validation.redirectCodeRequired")}`)}else if(t.type===D.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(n("router.validation.didRequired"));return null},Te=(t,n)=>t?t.endsWith(D.DEFAULT_IP_DOMAIN_SUFFIX)?n("router.domain.validate.suffixTip",{suffix:D.DEFAULT_IP_DOMAIN_SUFFIX}):null:n("router.domain.validate.emptyTip"),io=(t,n)=>{const r=lr(t,n);if(r)return r;const i=Te(t.domain,n);return i?new Error(i):null},We=(t,n)=>{const r=lr(t,n);return r||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(n("router.validation.pathPrefixTooLong",{length:150})):null:new Error(n("router.validation.pathPrefixCannotBeEmpty")))},cr=({params:t,blocklets:n,blocklet:r,locale:i="en"})=>{if(r){let a=(r.children||[]).find(l=>si(l.mountPoint,t.pathPrefix));if(r.meta.group!=="gateway"&&t.pathPrefix==="/"&&(a="/"),a)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const o=n.find(a=>a.meta.did===t.did);if(!o)return"";const s=o.meta.interfaces.find(a=>a.type==="web");return s&&s.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==s.prefix?{zh:`该 blocklet 只能挂载在 ${s.prefix}`,en:`This blocklet can only be mounted on ${s.prefix}`}[i]:""},$t=t=>{if(t.length===0)return"";const{searchParams:n}=new URL(window.location.href),r=n.get("fromDid");if(r){const i=t.find(o=>o.meta.did===r);if(i)return i.meta.did}return t[0].meta.did};function nt({blocklets:t,onActivate:n=()=>{},children:r}){const{t:i}=N(),{actions:o}=ae(),{info:s}=J(),[a,l]=p.useState(!1),[c,h]=p.useState(null),d=()=>{l(!1),h(null)},m=async y=>{l(!0);const j={from:{pathPrefix:"/"},to:{type:y.type}},b={domain:y.domain.trim()===s.ip?"":y.domain.trim()};if(y.type===D.ROUTING_RULE_TYPES.BLOCKLET){const S=t.find(C=>C.meta.did===y.did),R=Q(S,"meta.interfaces",[]).find(C=>C.name===y.interfaceName);R&&R.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&(j.from.pathPrefix=R.prefix),j.to.port=y.port,j.to.did=y.did,j.to.interfaceName=y.interfaceName,b.rules=[j]}else y.type===D.ROUTING_RULE_TYPES.REDIRECT&&(j.to.url=y.url,j.to.redirectCode=y.redirectCode,b.rules=[j]);await o.addSite(b),l(!1),h(null)},g={title:i("router.domain.addSite"),description:(y,j,b)=>{const S=R=>{const C=R.__disableConfirm||!!io(R,i);j({...R,__disableConfirm:C})};return e.jsxs(L,{component:"div",children:[e.jsx(K,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:y.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:R=>{const C=R.target.value.trim(),x=Te(C,i);S({...y,domain:R.target.value,__disableConfirm:!!x}),b(x||"")}}),e.jsx(Ie,{blocklets:t,params:y,setParams:S,setError:b})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:$t(t),port:"",interfaceName:"",type:D.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:m,onCancel:d},f=y=>{y.stopPropagation(),h(g)||n()};return p.useEffect(()=>{const{searchParams:y}=new URL(window.location.href);y.get("fromDid")&&h(g)},[]),e.jsxs(e.Fragment,{children:[typeof r=="function"?r({loading:a,open:f}):e.jsxs(ie,{onClick:f,className:"rule-action","data-cy":"action-add-domain",children:[a?e.jsx(Y,{size:16}):e.jsx(Jn,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),c&&e.jsx(ne,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}nt.propTypes={blocklets:u.array,children:u.any,onActivate:u.func};nt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Mt={},oo=he;Object.defineProperty(Mt,"__esModule",{value:!0});var dr=Mt.default=void 0,ao=oo(ge()),so=e;dr=Mt.default=(0,ao.default)((0,so.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var zt={},lo=he;Object.defineProperty(zt,"__esModule",{value:!0});var ur=zt.default=void 0,co=lo(ge()),uo=e;ur=zt.default=(0,co.default)((0,uo.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage");var Bt={},mo=he;Object.defineProperty(Bt,"__esModule",{value:!0});var mr=Bt.default=void 0,fo=mo(ge()),po=e;mr=Bt.default=(0,fo.default)((0,po.jsx)("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"}),"SubdirectoryArrowRight");function Cn(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,name:c}=t;if(At(c))return null;const h=()=>{o(!1),a(null)},d=async()=>{o(!0),await r.deleteSite(l),o(!1),a(null)},m={title:n("router.domain.delete.title"),description:n("router.domain.delete.description",{name:`<b>${c}</b>`}),confirmPlaceholder:n("router.domain.delete.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:d,onCancel:h,keyName:c},g=f=>{f.stopPropagation(),a(m)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:18,marginRight:5}}),n("router.domain.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}function qe({id:t,blocklets:n,onActivate:r=()=>{},onRuleAdded:i=()=>{},children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null),g=()=>{h(!1),m(null)},f=async b=>{const S=await We(b,a);if(S)throw S;h(!0);const R={from:{pathPrefix:qn(b.pathPrefix)},to:{type:b.type}};b.type===D.ROUTING_RULE_TYPES.BLOCKLET?(R.to.port=b.port,R.to.did=b.did,R.to.interfaceName=b.interfaceName):b.type===D.ROUTING_RULE_TYPES.REDIRECT&&(R.to.url=b.url.trim(),R.to.redirectCode=b.redirectCode),await l.addRule(t,R,s),m(null),h(!1),i()},y={title:a("router.rule.add.title"),description:(b,S,R)=>{const C=x=>{if(R(null),We(x,a)){S({...x,__disableConfirm:!0});return}S({...x})};return e.jsxs(L,{component:"div",children:[e.jsx(K,{label:a("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:b.helperText||a("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:b.pathPrefix,onChange:x=>{let E=!1;const _=cr({params:{...b,pathPrefix:x.target.value},blocklets:n});R(_),b.type===D.ROUTING_RULE_TYPES.BLOCKLET&&_&&(E=!0),b.type===D.ROUTING_RULE_TYPES.REDIRECT&&!b.url&&(E=!0),x.target.value.trim()||(E=!0,R(a("router.validation.pathPrefixRequired"))),E||R("");const P=a("common.slugifyHint",{value:Wn(x.target.value)});S({...b,pathPrefix:x.target.value,helperText:P,__disableConfirm:E})}}),e.jsx(Ie,{blocklets:n,params:b,setParams:C,setError:R})]})},confirm:a("router.rule.add.confirm"),cancel:a("common.cancel"),params:{pathPrefix:"",type:D.ROUTING_RULE_TYPES.BLOCKLET,did:$t(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:f,onCancel:g},j=b=>{b.stopPropagation(),m(y)||r()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:j}):e.jsxs(ie,{onClick:j,className:"rule-action","data-cy":"action-add-rule",children:[c?e.jsx(Y,{size:16}):e.jsx(Qn,{style:{fontSize:18,marginRight:5}}),a("router.rule.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}qe.propTypes={id:u.string.isRequired,blocklets:u.array,children:u.any,onActivate:u.func,onRuleAdded:u.func,teamDid:u.string};qe.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""};function Wt(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,parent:{id:c},name:h,children:d,onActivate:m,teamDid:g}=t,f=()=>{o(!1),a(null)},y=async()=>{o(!0),await r.deleteRule(c,l,g),o(!1),a(null)},j={keyName:h,title:n("router.rule.delete.title"),description:n("router.rule.delete.description",{name:`<b>${h}</b>`}),confirmPlaceholder:n("router.rule.delete.confirm_desc",{name:h}),confirm:n("common.delConfirm"),cancel:n("router.rule.delete.cancel"),onConfirm:y,onCancel:f},b=S=>{S.stopPropagation(),a(j)||m()};return e.jsxs(e.Fragment,{children:[typeof d=="function"?d({loading:i,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-delete-rule",children:[i?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:18,marginRight:5}}),n("router.rule.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}Wt.propTypes={id:u.string.isRequired,name:u.string.isRequired,parent:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};Wt.defaultProps={onActivate:()=>{},children:null,teamDid:""};function qt(t){const{id:n,name:r,did:i,parent:o,blocklets:s,to:a,children:l,onActivate:c,teamDid:h}=t,{t:d}=N(),{actions:m}=ae(),[g,f]=p.useState(!1),[y,j]=p.useState(null),b=()=>{f(!1),j(null)},S=async x=>{const E=await We(x,d);if(E)throw E;f(!0);const _={id:n,from:{pathPrefix:qn(x.pathPrefix)},to:{type:x.type}};x.type===D.ROUTING_RULE_TYPES.BLOCKLET?(_.to.port=x.port,_.to.did=x.did,_.to.interfaceName=x.interfaceName):x.type===D.ROUTING_RULE_TYPES.REDIRECT&&(_.to.url=x.url,_.to.redirectCode=x.redirectCode),await m.updateRule(o.id,_,h),j(null),f(!1)},R={title:d("router.rule.update.title"),description:(x,E,_)=>{const P=T=>{if(We(T,d)){E({...T,__disableConfirm:!0});return}E({...T})};return e.jsxs(L,{component:"div",children:[e.jsx(K,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:x.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:x.pathPrefix,onChange:T=>{let I=!1;const v=cr({params:{...x,pathPrefix:T.target.value},blocklets:s});x.type===D.ROUTING_RULE_TYPES.BLOCKLET&&v&&(I=!0,_(v)),x.type===D.ROUTING_RULE_TYPES.REDIRECT&&!x.url&&(I=!0),T.target.value.trim()||(I=!0,_(d("router.validation.pathPrefixRequired"))),I||_("");const A=d("common.slugifyHint",{value:Wn(T.target.value)});E({...x,pathPrefix:T.target.value,helperText:A,__disableConfirm:I})}}),e.jsx(Ie,{blocklets:s,params:x,setParams:P,setError:_})]})},confirm:d("router.rule.update.confirm"),cancel:d("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:a.type||D.ROUTING_RULE_TYPES.BLOCKLET,did:i||$t(s),port:a.port||"",interfaceName:a.interfaceName||"",redirectCode:a.redirectCode||302,url:a.url||"",__disableConfirm:!1},onConfirm:S,onCancel:b},C=x=>{x.stopPropagation(),j(R)||c()};return e.jsxs(e.Fragment,{children:[typeof l=="function"?l({loading:g,open:C}):e.jsxs(ie,{onClick:C,className:"rule-action","data-cy":"action-update-rule",children:[g?e.jsx(Y,{size:16}):e.jsx(er,{style:{fontSize:18,marginRight:5}}),d("router.rule.update.title")]}),y&&e.jsx(ne,{title:y.title,description:y.description,confirm:y.confirm,color:y.color,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})]})}qt.propTypes={id:u.string.isRequired,name:u.string.isRequired,did:u.string,parent:u.object.isRequired,blocklets:u.array,to:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};qt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};function He({id:t,name:n,onActivate:r,children:i,title:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(D.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=()=>{h(!1),m(null)},f=async S=>{h(!0),await l.addDomainAlias(t,S.domain.trim(),!!S.force,s),h(!1),m(null)},y=async(S,R,C)=>{try{await R(S)}catch(x){C(de(x))}finally{h(!1)}},j={title:o||a("router.domainAlias.add.title"),description:(S,R,C)=>e.jsxs(L,{component:"div",children:[e.jsx(K,{label:a("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:S.domain,style:{marginBottom:8},margin:"dense",onChange:x=>{const E=x.target.value.trim(),_=Te(E,a);R({...S,domain:E,__disableConfirm:!!_}),C(_||"")},onKeyPress:x=>{if(x.key==="Enter"){x.preventDefault();const E=x.target.value.trim(),_=Te(E,a);_?C(_):y(S,f,C)}}}),e.jsx(Hn,{control:e.jsx(Fr,{checked:S.force,onChange:x=>{R({...S,force:x.target.checked})},name:"checkedB",color:"primary"}),label:a("router.domainAlias.add.forceTip")})]}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:f,onCancel:g},b=S=>{S.stopPropagation(),m(j)||r()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:c,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-add-domain-alias",children:[c?e.jsx(Y,{size:16}):e.jsx(bi,{style:{fontSize:18,marginRight:5}}),a("router.domainAlias.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}He.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,title:u.string,teamDid:u.string};He.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""};function Ke({id:t,name:n,corsAllowedOrigins:r,onActivate:i,children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(At(n))return null;let g=n;n.endsWith(D.BLOCKLET_SITE_GROUP_SUFFIX)&&(g=`${a("common.the")} Blocklet`);const f=()=>{h(!1),m(null)},y=async S=>{h(!0),await l.updateSite(t,{corsAllowedOrigins:S.corsAllowedOrigins.split(",").map(R=>R.trim())},s),h(!1),m(null)},j={title:a("router.domainSecurity.title"),description:(S,R,C)=>e.jsx(L,{component:"div",children:e.jsx(K,{label:a("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:S.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:a("router.domainSecurity.cors.description",{name:g}),onChange:x=>{R({...S,corsAllowedOrigins:x.target.value,__disableConfirm:!x.target.value.trim()}),x.target.value.trim()?C(""):C(a("router.domainSecurity.cors.domainInvalid"))}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:y,onCancel:f},b=S=>{S.stopPropagation(),m(j)||i()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-update-domain",children:[c?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:18,marginRight:5}}),a("router.domainSecurity.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Ke.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,corsAllowedOrigins:u.oneOfType([u.string,u.array]),teamDid:u.string};Ke.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""};function go({id:t,name:n,onActivate:r}){const{t:i}=N(),{actions:o}=ae(),[s,a]=p.useState(!1),[l,c]=p.useState(null);if(At(n))return null;const h=()=>{a(!1),c(null)},d=async f=>{a(!0),await o.updateSite(t,{domain:f.domain.trim()}),a(!1),c(null)},m={title:i("router.domain.update.title"),description:(f,y,j)=>e.jsx(L,{component:"div",children:e.jsx(K,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:f.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:b=>{const S=b.target.value.trim(),R=Te(S,i);y({...f,domain:b.target.value,__disableConfirm:!!R}),j(R||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:d,onCancel:h},g=f=>{f.stopPropagation(),c(m)||r()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action",children:[s?e.jsx(Y,{size:16}):e.jsx(er,{style:{fontSize:18,marginRight:5}}),i("router.domain.update.title")]}),l&&e.jsx(ne,{title:l.title,description:l.description,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel,color:"primary"})]})}function Ce(t){const[n,r]=p.useState(null),i=l=>{l.stopPropagation(),r(l.currentTarget)},o=l=>{l&&l.stopPropagation(),r(null)},s=[];if(t.type==="root"&&s.push(e.jsx(nt,{...t,onActivate:o},"add-domain")),t.type==="domain"&&s.push(e.jsx(go,{...t,onActivate:o},"update-domain"),e.jsx(qe,{...t,onActivate:o,onRuleAdded:t.onRuleAdded},"add-rule"),e.jsx(He,{...t,onActivate:o},"add-domain-alias"),e.jsx(Ke,{...t,onActivate:o},"update-domain-security"),e.jsx(Cn,{...t,onActivate:o},"delete-domain")),t.type==="rule"&&s.push(e.jsx(qt,{...t,onActivate:o},"update-rule"),e.jsx(Wt,{...t,onActivate:o},"delete-rule")),t.type===D.ROUTING_RULE_TYPES.REDIRECT&&s.push(e.jsx(Cn,{...t,onActivate:o},"delete-domain")),(t.type==="dashboard_domain"||t.type==="blocklet_domain")&&s.push(e.jsx(qe,{...t,onActivate:o},"add-rule"),e.jsx(Ke,{...t,onActivate:o},"update-domain-security"),e.jsx(He,{...t,onActivate:o},"add-domain-alias")),s.length===0)return null;const a=l=>{l.stopPropagation()};return e.jsxs("div",{children:[e.jsx(Nr,{onMouseDown:a,onClick:i,"data-cy":"action-trigger",size:"large",children:e.jsx(vi,{})}),e.jsx(Ur,{keepMounted:!0,onMouseDown:a,open:!!n,onClose:o,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:s})]})}Ce.propTypes={blocklet:u.object,onRuleAdded:u.func};Ce.defaultProps={onRuleAdded:()=>{},blocklet:{}};function Ht({certificate:t}){const[n,r]=p.useState(null),i=J(),{t:o,locale:s}=N(),a=h=>{r(h.currentTarget)},l=()=>{r(null)},c=!!n;return e.jsxs(e.Fragment,{children:[e.jsx(tr,{"aria-owns":c?"mouse-over-popover":void 0,onMouseEnter:a,onMouseLeave:l,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Mr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:c,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:l,disableRestoreFocus:!0,children:e.jsx(zr,{children:e.jsxs(Br,{style:{display:"flex"},children:[e.jsx("div",{children:e.jsx("img",{src:`${i.imgPrefix}/https-certificate-icon.png`,alt:"certificate icon",style:{maxHeight:"100%",maxWidth:"100%"}})}),e.jsxs(L,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(L,{component:"div",style:{fontWeight:"bold"},children:t.domain}),e.jsx(L,{component:"div",children:`${o("common.issuer")}: ${Q(t,"issuer.commonName","")}`}),e.jsx(L,{component:"div",children:`${o("router.cert.issuedOn")}: ${ze(t.validFrom,s)}`}),e.jsx(L,{component:"div",children:`${o("router.cert.expiryOn")}: ${ze(t.validTo,s)}`})]})]})})})]})}Ht.propTypes={certificate:u.object};Ht.defaultProps={certificate:{}};function Ge(t){const{name:n,type:r,filters:i}=t,{t:o}=N(),{status:s}=tt();if(r!=="domain"||!Rt(n))return null;let a=null,l=null;const{isHttps:c,matchedCert:h}=s[n]||{};if(!$r(n)){const{dns:{resolved:m,ip:g}={}}=s[n]||{};m||g==="127.0.0.1"?a=e.jsx(pe,{title:o("router.domain.verify.ok"),children:e.jsx(hn,{color:"success"})}):a=e.jsx(pe,{title:o("router.domain.verify.notResolved"),children:e.jsx(hn,{color:"error"})})}c?l=e.jsx(Ht,{certificate:h}):l=e.jsx(pe,{title:o("router.domain.https.bad"),children:e.jsx(tr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const d=i.map(m=>m==="domain"?a:m==="http"?l:null);return p.createElement(p.Fragment,null,...d)}Ge.propTypes={type:u.string.isRequired,name:u.string.isRequired,filters:u.array};Ge.defaultProps={filters:["domain","http"]};const ho=t=>["waiting","creating","renewaling"].includes(t);function Kt(t){var E;const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{domain:a,onAdd:l,children:c,siteId:h}=t,{api:d}=J(),[m,g]=p.useState(!1),{updateStatus:f}=tt(),y=ue(),j=Pe(async()=>{const{cert:_}=await y.findCertificateByDomain({input:{domain:a}});return _}),b=_=>{_.domain===a&&g(!1)};if(p.useEffect(()=>{var _;!j.loading&&ho((_=j.value)==null?void 0:_.status)&&g(!0)},[j]),xt(D.EVENTS.CERT_ERROR,b),xt(D.EVENTS.CERT_ISSUED,_=>{j.retry(),f(_.domain),b(_)}),j.loading||((E=j.value)==null?void 0:E.status)==="normal")return"";const S=()=>{i(!1),s(null)},R=async()=>{i(!0);try{await d.issueLetsEncryptCert({input:{domain:a,siteId:h}}),l(),g(!0)}catch(_){console.error(_),g(!1)}finally{i(!1),s(null)}},C={title:n("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(Se,{type:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:R,onCancel:S},x=_=>{_.stopPropagation(),s(C)};return e.jsxs(e.Fragment,{children:[m?e.jsx(pe,{title:n("router.cert.issuing"),children:e.jsx(Y,{size:12})}):c({loading:r,open:x}),o&&e.jsx(ne,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Kt.propTypes={domain:u.string.isRequired,onAdd:u.func,children:u.any,siteId:u.string.isRequired};Kt.defaultProps={onAdd:()=>{},children:null};function Ye(t){var i;const{status:n}=tt(),{domain:r}=t;return!Rt(r)||(i=n[r])!=null&&i.isHttps?"":e.jsx(Kt,{...t})}Ye.propTypes={siteId:u.string.isRequired,domain:u.string.isRequired,onAdd:u.func,children:u.any};Ye.defaultProps={onAdd:()=>{},children:null};function Gt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{id:a,domain:l,onDelete:c,children:h,teamDid:d}=t,{actions:m}=ae();if(l===window.location.hostname)return"";const g=()=>{i(!1),s(null)},f=async()=>{i(!0);try{await m.deleteDomainAlias(a,l,d),c()}catch(b){console.error(b)}finally{i(!1),s(null)}},y={title:n("router.domainAlias.delete.title"),description:n("router.domainAlias.delete.description"),confirm:n("common.confirm"),onConfirm:f,onCancel:g},j=b=>{b.stopPropagation(),s(y)};return e.jsxs(e.Fragment,{children:[typeof h=="function"?h({loading:r,open:j}):e.jsxs(G,{edge:"end",onClick:j,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[r?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:16}}),n("router.domainAlias.delete.title")]}),o&&e.jsx(ne,{title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Gt.propTypes={id:u.string.isRequired,domain:u.string.isRequired,onDelete:u.func,children:u.any,teamDid:u.string};Gt.defaultProps={onDelete:()=>{},children:null,teamDid:""};function Yt({domain:t,isHttps:n,toUrl:r}){const i=n?"https":"http",{t:o}=N();let s=r;return Vr(s)||(s=`${i}://${t}${r}`),e.jsxs(e.Fragment,{children:[e.jsx(L,{className:"arrow-name-middle",children:o("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Gn,{href:s,target:"_blank",underline:"hover",children:r},s)]})}Yt.propTypes={domain:u.string.isRequired,toUrl:u.string.isRequired,isHttps:u.bool};Yt.defaultProps={isHttps:!1};function Vt(){const{t}=N();return e.jsx(L,{className:"arrow-name-middle",children:t("common.page404")})}Vt.propTypes={};Vt.defaultProps={};function Ee(t){const{t:n}=N(),{data:r}=Kn(),{info:i}=J(),{status:o}=tt(),s=r.map(B=>({meta:{did:B.meta.did,name:qr.getDisplayName(B,!0),version:B.meta.version,interfaces:B.meta.interfaces},port:B.port,ports:B.ports,status:B.status})),{id:a,type:l,name:c,title:h,items:d=[],depth:m,to:g,expand:f,isProtected:y,pathPrefix:j,parent:b,domainAliases:S}=t;let R=c;const C=c.endsWith(D.BLOCKLET_SITE_GROUP_SUFFIX);let x=l;c===fe&&(x="dashboard_domain"),C&&(x="blocklet_domain");const[E,_]=p.useState(f),T={root:ur,domain:Jn,rule:mr}[l],I={paddingBottom:8,paddingLeft:8};if(l==="domain"){let B=function({domain:M,primaryDomain:U,rules:k}){let W=`http://${M}`;return U===fe?W=`${W}/${i.routing.adminPath.replace(/^\/+/,"")}`:k&&k.length&&k[0].pathPrefix&&(W=`${W}/${k[0].pathPrefix.replace(/^\/+/,"")}`),M!==fe?e.jsx(xo,{href:W,target:"_blank",rel:"noreferrer",onClick:xe=>xe.stopPropagation(),children:M}):M};if(y&&!C)return null;if(C){const M=c.replace(D.BLOCKLET_SITE_GROUP_SUFFIX,""),U=s.find(k=>k.meta.did===M);if(!U||U.controller)return null;R=U.meta.title||U.meta.name}B.propTypes={domain:u.string.isRequired,primaryDomain:u.string.isRequired,rules:u.array.isRequired};const me=()=>{_(!0)};let le=(S||[]).filter(M=>M.value!==c);return le=Hr(le),[e.jsxs(pt,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[e.jsxs(ut,{onClick:()=>_(M=>!M),children:[d.length>0&&(E?e.jsx(Kr,{}):e.jsx(yi,{})),e.jsx(T,{style:{fontSize:22}})]}),e.jsx(mt,{onClick:()=>_(M=>!M),className:`rule-name rule-name--depth${m}`,style:{flex:1},secondary:d.length<=0?e.jsx("span",{className:"site-secondary",children:n("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[c===D.DOMAIN_FOR_DEFAULT_SITE&&n("router.defaultSite"),c!==D.DOMAIN_FOR_DEFAULT_SITE&&!C&&e.jsx(B,{domain:c,primaryDomain:c,rules:d}),C&&R,d.length&&!E?e.jsx("span",{style:{marginLeft:5},children:`(${d.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),l==="domain"&&c!==D.DOMAIN_FOR_DEFAULT_SITE&&c!==fe&&!C&&e.jsxs(e.Fragment,{children:[e.jsx(Ge,{type:l,name:c},c),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ye,{siteId:a,domain:c,children:({open:M})=>e.jsx(G,{size:"small",onClick:U=>M(U),children:n("router.cert.genLetsEncryptCert.title")})})]})]}),le.map(M=>{const U=typeof M!="string"?M.value:M;return e.jsxs("div",{className:"site-alias",children:[e.jsx(B,{domain:U,primaryDomain:c,rules:d}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ge,{type:l,name:U},`domain-status-${c}`),e.jsx(Ye,{siteId:a,domain:U,children:({open:k})=>e.jsx(G,{size:"small",onClick:W=>k(W),children:n("router.cert.genLetsEncryptCert.title")})}),!M.isProtected&&e.jsx(Gt,{id:t.id,domain:U},"delete-domain-alias"),U!==fe&&U!==window.location.hostname&&e.jsx(Ce,{...t,domain:U,type:"domainAlias",onRuleAdded:me},`action-${c}`)]},U)})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(ft,{children:e.jsx(Ce,{blocklets:s,...t,onRuleAdded:me,type:x},c)})})]},"parent"),e.jsx(Gr,{in:E,children:d.length>0&&e.jsx(yt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(M=>e.jsx(Ee,{...M,parent:t,depth:m+1},M.id))},"children")},"rules")]}if(l==="root")return[e.jsxs(pt,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(ut,{children:e.jsx(T,{style:{fontSize:22}})}),e.jsx(mt,{primary:c}),e.jsx(te,{permission:"mutate_router",children:e.jsx(ft,{children:e.jsx(Ce,{blocklets:s,...t})})})]},"root"),d.length>0&&e.jsx(yt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(B=>e.jsx(Ee,{expand:!y,...B,parent:t,depth:m+1},B.id))},"children")];let v=`/blocklets/${g.did}/overview`;g.type===D.ROUTING_RULE_TYPES.DAEMON&&(v="/");const A={meta:{did:i.did,name:"Blocklet Server Dashboard",version:i.version},status:"running",port:i.port},F=g.did===i.did?A:s.find(B=>B.meta.did===g.did),q=F&&F.status==="running"||g.type===D.ROUTING_RULE_TYPES.DAEMON,$=n(q?"router.healthy.ok":"router.healthy.error"),H=o[b.name]||{};return e.jsxs(pt,{className:"hover-item",divider:!0,disableGutters:!0,style:I,"data-cy":"rule-item",children:[e.jsx(ut,{className:"arrow-icon",children:e.jsx(T,{style:{fontSize:22}})}),e.jsx(mt,{primary:e.jsxs(L,{component:"div",className:"arrow-name",children:[e.jsx(L,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:c}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(g.type===D.ROUTING_RULE_TYPES.DAEMON||g.type===D.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[b.name!==D.DOMAIN_FOR_DEFAULT_SITE&&q&&e.jsx(ee,{className:"arrow-name-middle",children:e.jsx(Gn,{href:_t(b.name,j),target:"_blank",underline:"hover",children:n("common.open")})}),b.name===D.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(L,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!q&&e.jsx("span",{className:"arrow-name-middle",children:n("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(Yr,{to:v,className:"arrow-name-right",children:[e.jsx(pe,{title:$,children:q?e.jsx(xi,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(dr,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:F?F.meta.name:h}),F&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(Zn,{status:F.status,progress:F.progress})})]})]}),g.type===D.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(Yt,{prefix:j,domain:b.name,toUrl:g.url,isHttps:H.isHttps}),g.type===D.ROUTING_RULE_TYPES.NONE&&e.jsx(Vt,{})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(ft,{children:e.jsx(Ce,{blocklets:s,...t,did:g.did})})})]},c)}Ee.propTypes={type:u.string.isRequired,to:u.object,name:u.string.isRequired,title:u.string,id:u.string,items:u.array,parent:u.object,depth:u.number,expand:u.bool,isProtected:u.bool,pathPrefix:u.string,domainAliases:u.array};Ee.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const pt=V(Wr)`
122
- .MuiListItemText-root {
123
- padding-right: 48px;
124
- }
125
- .MuiListItemSecondaryAction-root {
126
- right: 0;
127
- }
128
- .site-header {
129
- display: unset !important;
130
- vertical-align: middle;
131
- .MuiSvgIcon-root {
132
- vertical-align: middle;
133
- }
134
- }
135
- `,xo=V("a")`
136
- color: #000;
137
- white-space: normal;
138
- word-break: break-all;
139
- :hover {
140
- color: rgba(0, 0, 0, 0.6);
141
- }
142
- `;function yo(){const{sites:t,allDomains:n}=ae(),{data:r}=Kn(),{t:i}=N(),o=t.map(s=>{const a=s.items.filter(l=>!l.isProtected);return{...s,items:a}});return e.jsx(sr,{domains:n,children:e.jsxs(vo,{children:[e.jsx(te,{permission:"mutate_router",children:e.jsx(ee,{textAlign:"right",mb:1,children:e.jsx(nt,{blocklets:r,children:({open:s})=>e.jsxs(G,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:s,children:[e.jsx(Pt,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(yt,{component:"div",disablePadding:!0,children:o.map(s=>p.createElement(Ee,{...s,depth:1,key:s.id}))})]})})}const vo=V.main`
143
- margin-top: ${t=>t.theme.spacing(2)};
144
- min-height: 60vh;
145
-
146
- .MuiListItemIcon-root {
147
- min-width: ${t=>t.theme.spacing(4)};
148
- }
149
-
150
- .site-header {
151
- display: flex;
152
- align-items: center;
153
- margin-left: ${t=>t.theme.spacing(1)};
154
- font-size: 1.2rem;
155
- }
156
-
157
- .site-alias {
158
- display: flex;
159
- align-items: center;
160
- margin-left: ${t=>t.theme.spacing(1)};
161
- }
162
-
163
- .site-secondary {
164
- margin-left: ${t=>t.theme.spacing(1)};
165
- }
166
-
167
- .rule-list--depth1 {
168
- padding-left: ${t=>t.theme.spacing(4)};
169
- }
170
-
171
- .rule-list--depth2 {
172
- padding-left: ${t=>t.theme.spacing(5)};
173
- }
174
-
175
- .rule-action {
176
- margin-left: ${t=>t.theme.spacing(2)};
177
- }
178
-
179
- .rule-name--depth2 span {
180
- font-weight: bold;
181
- }
182
-
183
- .arrow-name {
184
- display: flex;
185
- align-items: center;
186
- .arrow-name-left {
187
- width: 400px;
188
- flex-shrink: 0;
189
- text-align: left;
190
- }
191
- .arrow-name-middle {
192
- width: 150px;
193
- flex-shrink: 0;
194
- text-align: left;
195
- }
196
- .arrow-name-arrow {
197
- width: 40px;
198
- flex-shrink: 0;
199
- margin: auto 16px;
200
- font-size: 24px;
201
- color: #0000008a;
202
- }
203
- .arrow-name-right {
204
- flex-shrink: 0;
205
- display: flex;
206
- align-items: center;
207
-
208
- span {
209
- margin: 0 8px;
210
- }
211
- }
212
- }
213
-
214
- @media (max-width: ${t=>t.theme.breakpoints.values.md}px) {
215
- .rule-list--depth1,
216
- .rule-list--depth2 {
217
- padding-left: 0;
218
- }
219
-
220
- .MuiListItem-secondaryAction {
221
- padding-right: 0;
222
- }
223
- }
224
-
225
- @media (max-width: ${t=>t.theme.breakpoints.values.lg}px) {
226
- .arrow-icon {
227
- margin-top: 4px;
228
- align-self: flex-start;
229
- }
230
-
231
- .arrow-name {
232
- flex-direction: column;
233
- align-items: flex-start;
234
- .arrow-name-left {
235
- width: auto;
236
- }
237
- .arrow-name-middle {
238
- margin: 5px 0;
239
- }
240
- .arrow-name-arrow {
241
- display: none;
242
- }
243
- }
244
- }
245
- `;var bo=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Le(t,n){var r=jo(t);if(typeof r.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof n=="string"?n:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return r}function jo(t){var n=t.name,r=n&&n.lastIndexOf(".")!==-1;if(r&&!t.type){var i=n.split(".").pop().toLowerCase(),o=bo.get(i);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}var Co=[".DS_Store","Thumbs.db"];function So(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return Ve(t)&&wo(t)?[2,To(t.dataTransfer,t.type)]:_o(t)?[2,Do(t)]:Array.isArray(t)&&t.every(function(r){return"getFile"in r&&typeof r.getFile=="function"})?[2,Ro(t)]:[2,[]]})})}function wo(t){return Ve(t.dataTransfer)}function _o(t){return Ve(t)&&Ve(t.target)}function Ve(t){return typeof t=="object"&&t!==null}function Do(t){return bt(t.target.files).map(function(n){return Le(n)})}function Ro(t){return we(this,void 0,void 0,function(){var n;return _e(this,function(r){switch(r.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return n=r.sent(),[2,n.map(function(i){return Le(i)})]}})})}function To(t,n){return we(this,void 0,void 0,function(){var r,i;return _e(this,function(o){switch(o.label){case 0:return t===null?[2,[]]:t.items?(r=bt(t.items).filter(function(s){return s.kind==="file"}),n!=="drop"?[2,r]:[4,Promise.all(r.map(Eo))]):[3,2];case 1:return i=o.sent(),[2,Sn(fr(i))];case 2:return[2,Sn(bt(t.files).map(function(s){return Le(s)}))]}})})}function Sn(t){return t.filter(function(n){return Co.indexOf(n.name)===-1})}function bt(t){if(t===null)return[];for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(i)}return n}function Eo(t){if(typeof t.webkitGetAsEntry!="function")return wn(t);var n=t.webkitGetAsEntry();return n&&n.isDirectory?pr(n):wn(t)}function fr(t){return t.reduce(function(n,r){return Xr(n,Array.isArray(r)?fr(r):[r])},[])}function wn(t){var n=t.getAsFile();if(!n)return Promise.reject(t+" is not a File");var r=Le(n);return Promise.resolve(r)}function Po(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return[2,t.isDirectory?pr(t):Ao(t)]})})}function pr(t){var n=t.createReader();return new Promise(function(r,i){var o=[];function s(){var a=this;n.readEntries(function(l){return we(a,void 0,void 0,function(){var c,h,d;return _e(this,function(m){switch(m.label){case 0:if(l.length)return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return c=m.sent(),r(c),[3,4];case 3:return h=m.sent(),i(h),[3,4];case 4:return[3,6];case 5:d=Promise.all(l.map(Po)),o.push(d),s(),m.label=6;case 6:return[2]}})})},function(l){i(l)})}s()})}function Ao(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return[2,new Promise(function(r,i){t.file(function(o){var s=Le(o,t.fullPath);r(s)},function(o){i(o)})})]})})}var Io=function(t,n){if(t&&n){var r=Array.isArray(n)?n:n.split(","),i=t.name||"",o=(t.type||"").toLowerCase(),s=o.replace(/\/.*$/,"");return r.some(function(a){var l=a.trim().toLowerCase();return l.charAt(0)==="."?i.toLowerCase().endsWith(l):l.endsWith("/*")?s===l.replace(/\/.*$/,""):o===l})}return!0};function _n(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function Dn(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?_n(Object(r),!0).forEach(function(i){gr(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):_n(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function gr(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function Rn(t,n){return Fo(t)||ko(t,n)||Oo(t,n)||Lo()}function Lo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
246
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Oo(t,n){if(t){if(typeof t=="string")return Tn(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Tn(t,n)}}function Tn(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function ko(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function Fo(t){if(Array.isArray(t))return t}var No="file-invalid-type",Uo="file-too-large",$o="file-too-small",Mo="too-many-files",zo=function(n){n=Array.isArray(n)&&n.length===1?n[0]:n;var r=Array.isArray(n)?"one of ".concat(n.join(", ")):n;return{code:No,message:"File type must be ".concat(r)}},En=function(n){return{code:Uo,message:"File is larger than ".concat(n," ").concat(n===1?"byte":"bytes")}},Pn=function(n){return{code:$o,message:"File is smaller than ".concat(n," ").concat(n===1?"byte":"bytes")}},Bo={code:Mo,message:"Too many files"};function hr(t,n){var r=t.type==="application/x-moz-file"||Io(t,n);return[r,r?null:zo(n)]}function xr(t,n,r){if(Re(t.size))if(Re(n)&&Re(r)){if(t.size>r)return[!1,En(r)];if(t.size<n)return[!1,Pn(n)]}else{if(Re(n)&&t.size<n)return[!1,Pn(n)];if(Re(r)&&t.size>r)return[!1,En(r)]}return[!0,null]}function Re(t){return t!=null}function Wo(t){var n=t.files,r=t.accept,i=t.minSize,o=t.maxSize,s=t.multiple,a=t.maxFiles;return!s&&n.length>1||s&&a>=1&&n.length>a?!1:n.every(function(l){var c=hr(l,r),h=Rn(c,1),d=h[0],m=xr(l,i,o),g=Rn(m,1),f=g[0];return d&&f})}function Xe(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Me(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(n){return n==="Files"||n==="application/x-moz-file"}):!!t.target&&!!t.target.files}function An(t){t.preventDefault()}function qo(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function Ho(t){return t.indexOf("Edge/")!==-1}function Ko(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return qo(t)||Ho(t)}function se(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(i){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];return n.some(function(l){return!Xe(i)&&l&&l.apply(void 0,[i].concat(s)),Xe(i)})}}function In(){return"showOpenFilePicker"in window}function Go(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(n){return n==="audio/*"||n==="video/*"||n==="image/*"||n==="text/*"||/\w+\/[-+.\w]+/g.test(n)}).reduce(function(n,r){return Dn(Dn({},n),{},gr({},r,[]))},{}):{}}]}var Yo=["children"],Vo=["open"],Xo=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Qo=["refKey","onChange","onClick"];function Jo(t){return ta(t)||ea(t)||yr(t)||Zo()}function Zo(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
247
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ea(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ta(t){if(Array.isArray(t))return jt(t)}function gt(t,n){return ia(t)||ra(t,n)||yr(t,n)||na()}function na(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
248
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yr(t,n){if(t){if(typeof t=="string")return jt(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return jt(t,n)}}function jt(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function ra(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function ia(t){if(Array.isArray(t))return t}function Ln(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function z(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Ln(Object(r),!0).forEach(function(i){Ct(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ln(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Ct(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function Qe(t,n){if(t==null)return{};var r=oa(t,n),i,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o<s.length;o++)i=s[o],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function oa(t,n){if(t==null)return{};var r={},i=Object.keys(t),o,s;for(s=0;s<i.length;s++)o=i[s],!(n.indexOf(o)>=0)&&(r[o]=t[o]);return r}var Xt=p.forwardRef(function(t,n){var r=t.children,i=Qe(t,Yo),o=wt(i),s=o.open,a=Qe(o,Vo);return p.useImperativeHandle(n,function(){return{open:s}},[s]),Qr.createElement(p.Fragment,null,r(z(z({},a),{},{open:s})))});Xt.displayName="Dropzone";var vr={disabled:!1,getFilesFromEvent:So,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};Xt.defaultProps=vr;Xt.propTypes={children:u.func,accept:u.oneOfType([u.string,u.arrayOf(u.string)]),multiple:u.bool,preventDropOnDocument:u.bool,noClick:u.bool,noKeyboard:u.bool,noDrag:u.bool,noDragEventsBubbling:u.bool,minSize:u.number,maxSize:u.number,maxFiles:u.number,disabled:u.bool,getFilesFromEvent:u.func,onFileDialogCancel:u.func,onFileDialogOpen:u.func,useFsAccessApi:u.bool,onDragEnter:u.func,onDragLeave:u.func,onDragOver:u.func,onDrop:u.func,onDropAccepted:u.func,onDropRejected:u.func,validator:u.func};var St={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function wt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=z(z({},vr),t),r=n.accept,i=n.disabled,o=n.getFilesFromEvent,s=n.maxSize,a=n.minSize,l=n.multiple,c=n.maxFiles,h=n.onDragEnter,d=n.onDragLeave,m=n.onDragOver,g=n.onDrop,f=n.onDropAccepted,y=n.onDropRejected,j=n.onFileDialogCancel,b=n.onFileDialogOpen,S=n.useFsAccessApi,R=n.preventDropOnDocument,C=n.noClick,x=n.noKeyboard,E=n.noDrag,_=n.noDragEventsBubbling,P=n.validator,T=p.useMemo(function(){return typeof b=="function"?b:On},[b]),I=p.useMemo(function(){return typeof j=="function"?j:On},[j]),v=p.useRef(null),A=p.useRef(null),F=p.useReducer(aa,St),q=gt(F,2),$=q[0],H=q[1],B=$.isFocused,me=$.isFileDialogActive,le=$.draggedFiles,M=function(){me&&setTimeout(function(){if(A.current){var O=A.current.files;O.length||(H({type:"closeDialog"}),I())}},300)};p.useEffect(function(){return S&&In()?function(){}:(window.addEventListener("focus",M,!1),function(){window.removeEventListener("focus",M,!1)})},[A,me,I,S]);var U=p.useRef([]),k=function(O){v.current&&v.current.contains(O.target)||(O.preventDefault(),U.current=[])};p.useEffect(function(){return R&&(document.addEventListener("dragover",An,!1),document.addEventListener("drop",k,!1)),function(){R&&(document.removeEventListener("dragover",An),document.removeEventListener("drop",k))}},[v,R]);var W=p.useCallback(function(w){w.preventDefault(),w.persist(),Ne(w),U.current=[].concat(Jo(U.current),[w.target]),Me(w)&&Promise.resolve(o(w)).then(function(O){Xe(w)&&!_||(H({draggedFiles:O,isDragActive:!0,type:"setDraggedFiles"}),h&&h(w))})},[o,h,_]),xe=p.useCallback(function(w){w.preventDefault(),w.persist(),Ne(w);var O=Me(w);if(O&&w.dataTransfer)try{w.dataTransfer.dropEffect="copy"}catch{}return O&&m&&m(w),!1},[m,_]),en=p.useCallback(function(w){w.preventDefault(),w.persist(),Ne(w);var O=U.current.filter(function(Z){return v.current&&v.current.contains(Z)}),X=O.indexOf(w.target);X!==-1&&O.splice(X,1),U.current=O,!(O.length>0)&&(H({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Me(w)&&d&&d(w))},[v,d,_]),Oe=p.useCallback(function(w,O){var X=[],Z=[];w.forEach(function(oe){var De=hr(oe,r),be=gt(De,2),it=be[0],ot=be[1],at=xr(oe,a,s),Ue=gt(at,2),st=Ue[0],lt=Ue[1],ct=P?P(oe):null;if(it&&st&&!ct)X.push(oe);else{var dt=[ot,lt];ct&&(dt=dt.concat(ct)),Z.push({file:oe,errors:dt.filter(function(Dr){return Dr})})}}),(!l&&X.length>1||l&&c>=1&&X.length>c)&&(X.forEach(function(oe){Z.push({file:oe,errors:[Bo]})}),X.splice(0)),H({acceptedFiles:X,fileRejections:Z,type:"setFiles"}),g&&g(X,Z,O),Z.length>0&&y&&y(Z,O),X.length>0&&f&&f(X,O)},[H,l,r,a,s,c,g,f,y,P]),ke=p.useCallback(function(w){w.preventDefault(),w.persist(),Ne(w),U.current=[],Me(w)&&Promise.resolve(o(w)).then(function(O){Xe(w)&&!_||Oe(O,w)}),H({type:"reset"})},[o,Oe,_]),ye=p.useCallback(function(){if(S&&In()){H({type:"openDialog"}),T();var w={multiple:l,types:Go(r)};window.showOpenFilePicker(w).then(function(O){return o(O)}).then(function(O){return Oe(O,null)}).catch(function(O){return I(O)}).finally(function(){return H({type:"closeDialog"})});return}A.current&&(H({type:"openDialog"}),T(),A.current.value=null,A.current.click())},[H,T,I,S,Oe,r,l]),tn=p.useCallback(function(w){!v.current||!v.current.isEqualNode(w.target)||(w.keyCode===32||w.keyCode===13)&&(w.preventDefault(),ye())},[v,A,ye]),nn=p.useCallback(function(){H({type:"focus"})},[]),rn=p.useCallback(function(){H({type:"blur"})},[]),on=p.useCallback(function(){C||(Ko()?setTimeout(ye,0):ye())},[A,C,ye]),ve=function(O){return i?null:O},rt=function(O){return x?null:ve(O)},Fe=function(O){return E?null:ve(O)},Ne=function(O){_&&O.stopPropagation()},Cr=p.useMemo(function(){return function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=w.refKey,X=O===void 0?"ref":O,Z=w.role,oe=w.onKeyDown,De=w.onFocus,be=w.onBlur,it=w.onClick,ot=w.onDragEnter,at=w.onDragOver,Ue=w.onDragLeave,st=w.onDrop,lt=Qe(w,Xo);return z(z(Ct({onKeyDown:rt(se(oe,tn)),onFocus:rt(se(De,nn)),onBlur:rt(se(be,rn)),onClick:ve(se(it,on)),onDragEnter:Fe(se(ot,W)),onDragOver:Fe(se(at,xe)),onDragLeave:Fe(se(Ue,en)),onDrop:Fe(se(st,ke)),role:typeof Z=="string"&&Z!==""?Z:"button"},X,v),!i&&!x?{tabIndex:0}:{}),lt)}},[v,tn,nn,rn,on,W,xe,en,ke,x,E,i]),Sr=p.useCallback(function(w){w.stopPropagation()},[]),wr=p.useMemo(function(){return function(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=w.refKey,X=O===void 0?"ref":O,Z=w.onChange,oe=w.onClick,De=Qe(w,Qo),be=Ct({accept:r,multiple:l,type:"file",style:{display:"none"},onChange:ve(se(Z,ke)),onClick:ve(se(oe,Sr)),autoComplete:"off",tabIndex:-1},X,A);return z(z({},be),De)}},[A,r,l,ke,i]),an=le.length,sn=an>0&&Wo({files:le,accept:r,minSize:a,maxSize:s,multiple:l,maxFiles:c}),_r=an>0&&!sn;return z(z({},$),{},{isDragAccept:sn,isDragReject:_r,isFocused:B&&!i,getRootProps:Cr,getInputProps:wr,rootRef:v,inputRef:A,open:ve(ye)})}function aa(t,n){switch(n.type){case"focus":return z(z({},t),{},{isFocused:!0});case"blur":return z(z({},t),{},{isFocused:!1});case"openDialog":return z(z({},St),{},{isFileDialogActive:!0});case"closeDialog":return z(z({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var r=n.isDragActive,i=n.draggedFiles;return z(z({},t),{},{draggedFiles:i,isDragActive:r});case"setFiles":return z(z({},t),{},{acceptedFiles:n.acceptedFiles,fileRejections:n.fileRejections});case"reset":return z({},St);default:return t}}function On(){}const kn=50*1024,Fn=t=>new Promise((n,r)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{n(i.result)},i.onerror=o=>r(o)});function Nn({certificate:t={},onRefresh:n,mode:r,...i}){const{t:o}=N(),{api:s}=J(),[a,l]=p.useState(!1),[c,h]=p.useState(),[d,m]=p.useState(),[g,f]=p.useState(!1),[y,j]=p.useState(""),[b,S]=p.useState("upload"),{handleSubmit:R,formState:C,control:x}=Tt({defaultValues:{name:t.name||t.domain}}),E=gn({control:x,name:"name"}),_=gn({control:x,name:"domain"}),P=()=>a?!0:b==="upload"&&r==="update"?!E:b==="upload"&&r==="add"?!E||!c||!d:b==="lets_encrypt"&&!_,T=()=>{l(!1),f(!1)},I=async k=>{if(r==="add"){const W=(await Fn(d)).replace(/\r\n/g,`
249
- `),xe=(await Fn(c)).replace(/\r\n/g,`
250
- `);await s.addCertificate({input:{name:k.name.trim(),certificate:W.split(`
251
- `).join("|"),privateKey:xe.split(`
252
- `).join("|")}})}else await s.updateCertificate({input:{id:t.id,name:k.name.trim()}})},v=k=>s.issueLetsEncryptCert({input:{domain:k.domain}}),A={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:I},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:v}},F=async k=>{l(!0);try{const W=A[b];if(!W)throw new Error("Invaid certificate source");await W.onSubmit(k),n(),f(!1)}catch(W){j(de(W)||"unknown error, may be you can check file permission")}finally{l(!1)}},q=()=>{h(null),m(null),f(!0),j("")},$=k=>{S(k.target.value)},H=k=>{k.length>0&&j(Q(k[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:B,getInputProps:me}=wt({accept:[".pem",".crt"],multiple:!1,maxSize:kn,onDropRejected:H,onDrop:k=>{m(k[0])}}),{getRootProps:le,getInputProps:M}=wt({accept:[".pem",".key"],multiple:!1,maxSize:kn,onDropRejected:H,onDrop:k=>{h(k[0])}}),{errors:U}=C;return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:q,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[a?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:16}}),o(r==="add"?"common.add":"common.update")]}),g&&e.jsx(Yn,{title:o(r==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:T,actions:e.jsxs(e.Fragment,{children:[e.jsx(G,{onClick:T,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),e.jsxs(G,{onClick:R(F),color:"secondary",disabled:P(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),a&&e.jsx(Y,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:R(F),children:e.jsxs(ee,{minWidth:{sm:480},children:[e.jsxs(vt,{component:"div",children:[r==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.source")}),e.jsx(gi,{"aria-label":"cert-source",name:"certSource",value:b,onChange:$,children:Object.values(A).map(k=>e.jsx(Hn,{value:k.value,control:e.jsx(hi,{}),label:k.name},k.value))})]}),b==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.name")}),e.jsx(re,{name:"name",control:x,rules:{validate:k=>!!k.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:({field:{value:k,onChange:W}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:k,onChange:W,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),r==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...B({className:"dropzone"}),children:[e.jsx("input",{...me(),"data-cy":"pem-input"}),d&&e.jsx(L,{color:"secondary",children:d.name}),!d&&e.jsx(L,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(L,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...le({className:"dropzone"}),children:[e.jsx("input",{...M(),"data-cy":"key-input"}),c&&e.jsx(L,{color:"secondary",children:c.name}),!c&&e.jsx(L,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(L,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),b==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(Se,{type:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("common.domain")}),e.jsx(re,{name:"domain",control:x,rules:{validate:k=>!!k.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:({field:{value:k,onChange:W}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:k,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:W})})]})]})]}),!!y&&e.jsx(Se,{type:"error",style:{marginTop:8},children:y})]})})})]})}function sa(t){const n=Jr(),{t:r}=N(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,domain:c,onDelete:h=()=>{},...d}=t,{refresh:m}=ae(),g=ue(),f=()=>{o(!1),a(null)},y=async()=>{o(!0);try{await g.deleteCertificate({input:{id:l}}),m(),h()}catch(b){console.error(b)}finally{o(!1),a(null)}},j={title:r("router.cert.delete.title"),description:r("router.cert.delete.description",{domain:c}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:y,onCancel:f};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>a(j),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:n.palette.error.main},...d,children:[i?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:16}}),r("common.delete")]}),s&&e.jsx(ne,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}var Qt={},la=he;Object.defineProperty(Qt,"__esModule",{value:!0});var br=Qt.default=void 0,ca=la(ge()),da=e;br=Qt.default=(0,ca.default)((0,da.jsx)("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"}),"Details");function jr(t){const{certificate:n={},...r}=t,{t:i,locale:o}=N(),[s,a]=p.useState(!1),l=Zr(),c=()=>{a(!1)},h=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(n.matchedSites||[]).map(m=>e.jsx(L,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:m.domain},m.id))},{id:"updatedAt",name:i("common.updatedAt"),value:fn(n.updatedAt,o)},{id:"createdAt",name:i("common.createdAt"),value:fn(n.createdAt,o)}],d=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(L,{component:"span",style:{fontSize:"1.1rem"},children:(Q(n,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:Q(n,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:Q(n,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:Q(n,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:ei.duration(Q(n,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:ze(Q(n,"meta.validFrom"),o)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:ze(Q(n,"meta.validTo"),o)}];return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>a(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...r,children:[e.jsx(br,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(Yn,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:s,showCloseButton:!1,actions:e.jsx(G,{autoFocus:!0,variant:"contained",onClick:c,color:"secondary",children:i("common.close")}),children:[e.jsx(vt,{component:"div",style:{margin:l.spacing(2)},children:h.map(m=>e.jsx(Be,{nameWidth:200,valueComponent:"div",name:m.name,children:m.value},m.id))},"cert-basic"),e.jsx(pn,{}),e.jsx(vt,{component:"div",style:{margin:l.spacing(2)},children:d.map(m=>e.jsx(Be,{nameWidth:200,valueComponent:"div",name:m.name,children:m.value},m.id))},"cer-info"),e.jsx(pn,{})]})]})}jr.propTypes={certificate:u.object.isRequired};function Jt(t){const{certificate:n,style:r,...i}=t,{t:o}=N(),[s,a]=p.useState(!1),l=n.matchedSites||[];return e.jsxs(L,{component:"ul",...i,style:{...r,listStyle:"none"},children:[(s?l:l.slice(0,4)).map(c=>e.jsx(L,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:c.domain},c.id)),l.length>4&&e.jsx(G,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{a(!s)},children:o(s?"common.collapseAll":"common.expandAll")})]})}Jt.propTypes={certificate:u.object.isRequired,style:u.object};Jt.defaultProps={style:{}};const ua=t=>{if(!t)return!1;const n=+new Date;return t-n<=0},Un="ssl-certificates-table";u.number;function ht({name:t,value:n,style:r={},icon:i,...o}){return e.jsxs(ma,{style:{display:"flex",alignItems:"center",...r},...o,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:n}),i&&i]})}const ma=V.div`
253
- & > span {
254
- margin: 5px;
255
- }
256
- `;function Zt({status:t,source:n,expiresTime:r}){const{t:i}=N();return ua(r)?e.jsx($e,{type:"error",children:i("router.cert.expired")}):n==="upload"?e.jsx($e,{type:"success",children:i("common.normal")}):t==="error"?e.jsx($e,{type:"error",children:i("common.error")}):t==="generated"?e.jsx($e,{type:"success",children:i("common.normal")}):""}Zt.propTypes={status:u.string,source:u.string,expiresTime:u.number.isRequired};Zt.defaultProps={status:"",source:""};const fa=(t,n)=>{if(!n)return t;const r=(n.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>ni(r,i.matchedSites))};function pa(){var m;const{t,locale:n}=p.useContext(Dt),r=ue(),{api:i}=J(),s=ti().get("did"),a=Pe(async()=>{const{certificates:g}=await r.getCertificates();let f=null;if(s){const{blocklet:j}=await i.getBlocklet({input:{did:s,attachRuntimeInfo:!0}});f=j}return{certificates:fa(g,f)}}),l=()=>{a.retry()},c=(m=a.value)==null?void 0:m.certificates,h=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsxs(e.Fragment,{children:[f.name&&e.jsx(ht,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:f.name}),e.jsx(ht,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Q(f,"meta.issuer.commonName","")}),e.jsx(ht,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(pe,{title:f.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Vn,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:f.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(L,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Q(f,"meta.sans")||[],f.domain])].map(y=>e.jsx(L,{component:"li",title:y,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:y},y))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return t(`router.cert.sourceTypes.${f.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(Zt,{status:f.status,source:f.source,expiresTime:Q(f,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(zn,{value:Q(f,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(Jt,{id:f.id,certificate:f,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(te,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!f.isProtected&&e.jsxs(e.Fragment,{children:[f.source==="upload"&&e.jsx("div",{children:e.jsx(Nn,{mode:"update",certificate:f,onRefresh:l})}),e.jsx("div",{children:e.jsx(sa,{id:f.id,domain:f.domain,onDelete:l})})]}),e.jsx("div",{children:e.jsx(jr,{id:f.id,certificate:f})})]})})}}}];if(a.error)return e.jsx(Se,{type:"error",children:de(a.error)});if(a.loading)return e.jsx(Y,{});const d=ci(Un);return e.jsx(ga,{children:e.jsx(Xn,{title:e.jsx(te,{permission:"mutate_router",children:e.jsx(Nn,{mode:"add",onRefresh:l,variant:"contained"})}),locale:n,data:a.value.certificates,columns:h,verticalKeyWidth:100,durable:Un,options:{search:!1,download:!1,filter:!1,print:!1,...d}})})}const ga=V.div`
257
- .header {
258
- display: flex;
259
- justify-content: flex-end;
260
- align-items: center;
261
- margin-top: 20px;
262
- }
263
-
264
- margin-bottom: 24px;
265
- .table-cell {
266
- span {
267
- font-size: 18px;
268
- }
269
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
270
- span {
271
- font-size: 15px;
272
- }
273
- }
274
- }
275
- .match-sites-cell,
276
- .expires-cell {
277
- min-width: 100px;
278
- }
279
- .actions {
280
- text-align: center;
281
- @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
282
- .MuiButton-root {
283
- padding: 6px;
284
- }
285
- }
286
- }
287
- `,ha=ji(t=>({root:{color:t.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}}))(Ci);function xa(){const{info:{routing:t}}=J(),{t:n}=N(),[r,i]=p.useState(!1),o=t.requestLimit||{};typeof o.enabled!="boolean"&&(o.enabled=!1),typeof o.rate!="number"&&(o.rate=D.GATEWAY_REQ_LIMIT.min),o.ipHeader||(o.ipHeader="");const{handleSubmit:s,control:a,watch:l}=Tt({defaultValues:{requestLimit:o,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0}}),c=l("requestLimit.enabled"),h=l("requestLimit.rate"),d=async m=>{try{i(!0),await ue().updateGateway({input:m}),await Mn(1e3),ce.success(n("common.saveSuccess"))}catch(g){ce.error(de(g))}finally{i(!1)}};return e.jsx(ya,{children:e.jsx(te,{permission:"mutate_node",children:m=>e.jsxs(Ot,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:s(d),children:[e.jsx(re,{name:"cacheEnabled",control:a,render:({field:{value:g,onChange:f}})=>e.jsx(je,{checked:g,disabled:!m,onChange:y=>f(y.target.checked),labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:n("router.gateway.cacheEnabled.switchLabel")})})},style:{marginTop:16}})}),e.jsx(re,{name:"requestLimit.enabled",control:a,render:({field:{value:g,onChange:f}})=>e.jsx(je,{checked:g,disabled:!m,onChange:y=>f(y.target.checked),labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:n("router.gateway.reqLimit.switchLabel")})})},style:{marginTop:16}})}),c&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"form-item",children:[e.jsx(L,{id:"request-limit-rate-label",gutterBottom:!0,children:n("router.gateway.reqLimit.rate",{rate:h})}),e.jsx(re,{name:"requestLimit.rate",control:a,render:({field:{value:g,onChange:f}})=>e.jsx(ha,{disabled:!m,onChange:(y,j)=>f(j),defaultValue:g,valueLabelDisplay:"auto",step:1,min:D.GATEWAY_REQ_LIMIT.min,max:D.GATEWAY_REQ_LIMIT.max})})]}),e.jsx(re,{name:"requestLimit.ipHeader",control:a,render:({field:{value:g,onChange:f}})=>e.jsxs(e.Fragment,{children:[e.jsx(K,{variant:"outlined",disabled:r||!m,className:"form-item",label:n("router.gateway.reqLimit.ipHeaderLabel"),margin:"normal",value:g,onChange:f}),e.jsx(li,{id:"req-limit-ip_header-desc",children:n("router.gateway.reqLimit.ipHeaderDesc")})]})})]}),e.jsx("div",{className:"form-actions",children:m&&e.jsxs(G,{disabled:r,onClick:s(d),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n("common.save")," ",r&&e.jsx(Y,{size:16})]})})]})})})}const ya=V.div`
288
- display: flex;
289
- align-items: flex-start;
290
- width: 100%;
291
- max-width: 720px;
292
- `;function is(){const t=Bn(),{node:n}=p.useContext(ri),{t:r}=p.useContext(Dt),{tab:i="basic"}=ii(),o=c=>{t(`/settings/${c}`)},s=[{label:r("common.basic"),value:"basic"},{label:r("router.routerSetting"),value:"router"},{label:r("router.certSetting"),value:"cert"},{label:r("common.gateway"),value:"gateway"},{label:r("common.webhook"),value:"integration"},{label:r("common.about"),value:"about"}],a={basic:Fi,integration:zi,about:eo,router:e.jsx(yn,{children:e.jsx(yo,{})}),gateway:xa,cert:e.jsx(yn,{children:e.jsx(pa,{})})},l=a[i]||a.basic;return e.jsxs(va,{children:[e.jsx(L,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:r("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(oi,{tabs:s,current:i,onChange:o,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:p.isValidElement(l)?l:e.jsx(l,{node:n})})]})]})}const va=V.main`
293
- .page-header {
294
- display: flex;
295
- justify-content: space-between;
296
- align-items: center;
297
- }
298
-
299
- .page-content {
300
- margin-top: 16px;
301
- }
302
- `;export{is as default};
@@ -1 +0,0 @@
1
- import{ba as D}from"./index-DHvVD3rl.js";var fe=e=>e.type==="checkbox",ie=e=>e instanceof Date,O=e=>e==null;const et=e=>typeof e=="object";var T=e=>!O(e)&&!Array.isArray(e)&&et(e)&&!ie(e),tt=e=>T(e)&&e.target?fe(e.target)?e.target.checked:e.target.value:e,At=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,rt=(e,s)=>e.has(At(s)),xt=e=>{const s=e.constructor&&e.constructor.prototype;return T(s)&&s.hasOwnProperty("isPrototypeOf")},Re=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function p(e){let s;const t=Array.isArray(e);if(e instanceof Date)s=new Date(e);else if(e instanceof Set)s=new Set(e);else if(!(Re&&(e instanceof Blob||e instanceof FileList))&&(t||T(e)))if(s=t?[]:{},!t&&!xt(e))s=e;else for(const u in e)e.hasOwnProperty(u)&&(s[u]=p(e[u]));else return e;return s}var ce=e=>Array.isArray(e)?e.filter(Boolean):[],w=e=>e===void 0,f=(e,s,t)=>{if(!s||!T(e))return t;const u=ce(s.split(/[,[\].]+?/)).reduce((n,a)=>O(n)?n:n[a],e);return w(u)||u===e?w(e[s])?t:e[s]:u},j=e=>typeof e=="boolean",Te=e=>/^\w*$/.test(e),st=e=>ce(e.replace(/["|']|\]/g,"").split(/\.|\[/)),x=(e,s,t)=>{let u=-1;const n=Te(s)?[s]:st(s),a=n.length,y=a-1;for(;++u<a;){const h=n[u];let m=t;if(u!==y){const S=e[h];m=T(S)||Array.isArray(S)?S:isNaN(+n[u+1])?{}:[]}if(h==="__proto__")return;e[h]=m,e=e[h]}return e};const _e={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},W={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},z={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},mt=D.createContext(null),Le=()=>D.useContext(mt);var it=(e,s,t,u=!0)=>{const n={defaultValues:s._defaultValues};for(const a in e)Object.defineProperty(n,a,{get:()=>{const y=a;return s._proxyFormState[y]!==W.all&&(s._proxyFormState[y]=!u||W.all),t&&(t[y]=!0),e[y]}});return n},B=e=>T(e)&&!Object.keys(e).length,ut=(e,s,t,u)=>{t(e);const{name:n,...a}=e;return B(a)||Object.keys(a).length>=Object.keys(s).length||Object.keys(a).find(y=>s[y]===(!u||W.all))},he=e=>Array.isArray(e)?e:[e],lt=(e,s,t)=>!e||!s||e===s||he(e).some(u=>u&&(t?u===s:u.startsWith(s)||s.startsWith(u)));function Ue(e){const s=D.useRef(e);s.current=e,D.useEffect(()=>{const t=!e.disabled&&s.current.subject&&s.current.subject.subscribe({next:s.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}function Dt(e){const s=Le(),{control:t=s.control,disabled:u,name:n,exact:a}=e||{},[y,h]=D.useState(t._formState),m=D.useRef(!0),S=D.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),_=D.useRef(n);return _.current=n,Ue({disabled:u,next:v=>m.current&&lt(_.current,v.name,a)&&ut(v,S.current,t._updateFormState)&&h({...t._formState,...v}),subject:t._subjects.state}),D.useEffect(()=>(m.current=!0,S.current.isValid&&t._updateValid(!0),()=>{m.current=!1}),[t]),it(y,t,S.current,!1)}var $=e=>typeof e=="string",at=(e,s,t,u,n)=>$(e)?(u&&s.watch.add(e),f(t,e,n)):Array.isArray(e)?e.map(a=>(u&&s.watch.add(a),f(t,a))):(u&&(s.watchAll=!0),t);function wt(e){const s=Le(),{control:t=s.control,name:u,defaultValue:n,disabled:a,exact:y}=e||{},h=D.useRef(u);h.current=u,Ue({disabled:a,subject:t._subjects.values,next:_=>{lt(h.current,_.name,y)&&S(p(at(h.current,t._names,_.values||t._formValues,!1,n)))}});const[m,S]=D.useState(t._getWatch(u,n));return D.useEffect(()=>t._removeUnmounted()),m}function Et(e){const s=Le(),{name:t,disabled:u,control:n=s.control,shouldUnregister:a}=e,y=rt(n._names.array,t),h=wt({control:n,name:t,defaultValue:f(n._formValues,t,f(n._defaultValues,t,e.defaultValue)),exact:!0}),m=Dt({control:n,name:t}),S=D.useRef(n.register(t,{...e.rules,value:h,...j(e.disabled)?{disabled:e.disabled}:{}}));return D.useEffect(()=>{const _=n._options.shouldUnregister||a,v=(N,H)=>{const L=f(n._fields,N);L&&L._f&&(L._f.mount=H)};if(v(t,!0),_){const N=p(f(n._options.defaultValues,t));x(n._defaultValues,t,N),w(f(n._formValues,t))&&x(n._formValues,t,N)}return()=>{(y?_&&!n._state.action:_)?n.unregister(t):v(t,!1)}},[t,n,y,a]),D.useEffect(()=>{f(n._fields,t)&&n._updateDisabledField({disabled:u,fields:n._fields,name:t,value:f(n._fields,t)._f.value})},[u,t,n]),{field:{name:t,value:h,...j(u)||m.disabled?{disabled:m.disabled||u}:{},onChange:D.useCallback(_=>S.current.onChange({target:{value:tt(_),name:t},type:_e.CHANGE}),[t]),onBlur:D.useCallback(()=>S.current.onBlur({target:{value:f(n._formValues,t),name:t},type:_e.BLUR}),[t,n]),ref:_=>{const v=f(n._fields,t);v&&_&&(v._f.ref={focus:()=>_.focus(),select:()=>_.select(),setCustomValidity:N=>_.setCustomValidity(N),reportValidity:()=>_.reportValidity()})}},formState:m,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(m.errors,t)},isDirty:{enumerable:!0,get:()=>!!f(m.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!f(m.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!f(m.validatingFields,t)},error:{enumerable:!0,get:()=>f(m.errors,t)}})}}const Wt=e=>e.render(Et(e));var St=(e,s,t,u,n)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[u]:n||!0}}:{},Ke=e=>({isOnSubmit:!e||e===W.onSubmit,isOnBlur:e===W.onBlur,isOnChange:e===W.onChange,isOnAll:e===W.all,isOnTouch:e===W.onTouched}),Ge=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(u=>e.startsWith(u)&&/^\.\w+/.test(e.slice(u.length))));const oe=(e,s,t,u)=>{for(const n of t||Object.keys(e)){const a=f(e,n);if(a){const{_f:y,...h}=a;if(y){if(y.refs&&y.refs[0]&&s(y.refs[0],n)&&!u)break;if(y.ref&&s(y.ref,y.name)&&!u)break;oe(h,s)}else T(h)&&oe(h,s)}}};var kt=(e,s,t)=>{const u=ce(f(e,t));return x(u,"root",s[t]),x(e,t,u),e},Oe=e=>e.type==="file",X=e=>typeof e=="function",be=e=>{if(!Re)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},ve=e=>$(e),pe=e=>e.type==="radio",Ve=e=>e instanceof RegExp;const ze={value:!1,isValid:!1},Je={value:!0,isValid:!0};var nt=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!w(e[0].attributes.value)?w(e[0].value)||e[0].value===""?Je:{value:e[0].value,isValid:!0}:Je:ze}return ze};const Qe={isValid:!1,value:null};var ot=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,Qe):Qe;function Xe(e,s,t="validate"){if(ve(e)||Array.isArray(e)&&e.every(ve)||j(e)&&!e)return{type:t,message:ve(e)?e:"",ref:s}}var se=e=>T(e)&&!Ve(e)?e:{value:e,message:""},Ye=async(e,s,t,u,n)=>{const{ref:a,refs:y,required:h,maxLength:m,minLength:S,min:_,max:v,pattern:N,validate:H,name:L,valueAsNumber:xe,mount:J,disabled:Q}=e._f,V=f(s,L);if(!J||Q)return{};const K=y?y[0]:a,G=b=>{u&&K.reportValidity&&(K.setCustomValidity(j(b)?"":b||""),K.reportValidity())},k={},ee=pe(a),de=fe(a),Y=ee||de,te=(xe||Oe(a))&&w(a.value)&&w(V)||be(a)&&a.value===""||V===""||Array.isArray(V)&&!V.length,P=St.bind(null,L,t,k),ye=(b,F,C,U=z.maxLength,q=z.minLength)=>{const I=b?F:C;k[L]={type:b?U:q,message:I,ref:a,...P(b?U:q,I)}};if(n?!Array.isArray(V)||!V.length:h&&(!Y&&(te||O(V))||j(V)&&!V||de&&!nt(y).isValid||ee&&!ot(y).isValid)){const{value:b,message:F}=ve(h)?{value:!!h,message:h}:se(h);if(b&&(k[L]={type:z.required,message:F,ref:K,...P(z.required,F)},!t))return G(F),k}if(!te&&(!O(_)||!O(v))){let b,F;const C=se(v),U=se(_);if(!O(V)&&!isNaN(V)){const q=a.valueAsNumber||V&&+V;O(C.value)||(b=q>C.value),O(U.value)||(F=q<U.value)}else{const q=a.valueAsDate||new Date(V),I=ae=>new Date(new Date().toDateString()+" "+ae),ue=a.type=="time",le=a.type=="week";$(C.value)&&V&&(b=ue?I(V)>I(C.value):le?V>C.value:q>new Date(C.value)),$(U.value)&&V&&(F=ue?I(V)<I(U.value):le?V<U.value:q<new Date(U.value))}if((b||F)&&(ye(!!b,C.message,U.message,z.max,z.min),!t))return G(k[L].message),k}if((m||S)&&!te&&($(V)||n&&Array.isArray(V))){const b=se(m),F=se(S),C=!O(b.value)&&V.length>+b.value,U=!O(F.value)&&V.length<+F.value;if((C||U)&&(ye(C,b.message,F.message),!t))return G(k[L].message),k}if(N&&!te&&$(V)){const{value:b,message:F}=se(N);if(Ve(b)&&!V.match(b)&&(k[L]={type:z.pattern,message:F,ref:a,...P(z.pattern,F)},!t))return G(F),k}if(H){if(X(H)){const b=await H(V,s),F=Xe(b,K);if(F&&(k[L]={...F,...P(z.validate,F.message)},!t))return G(F.message),k}else if(T(H)){let b={};for(const F in H){if(!B(b)&&!t)break;const C=Xe(await H[F](V,s),K,F);C&&(b={...C,...P(F,C.message)},G(C.message),t&&(k[L]=b))}if(!B(b)&&(k[L]={ref:K,...b},!t))return k}}return G(!0),k};function Ct(e,s){const t=s.slice(0,-1).length;let u=0;for(;u<t;)e=w(e)?u++:e[s[u++]];return e}function Rt(e){for(const s in e)if(e.hasOwnProperty(s)&&!w(e[s]))return!1;return!0}function R(e,s){const t=Array.isArray(s)?s:Te(s)?[s]:st(s),u=t.length===1?e:Ct(e,t),n=t.length-1,a=t[n];return u&&delete u[a],n!==0&&(T(u)&&B(u)||Array.isArray(u)&&Rt(u))&&R(e,t.slice(0,-1)),e}var Se=()=>{let e=[];return{get observers(){return e},next:n=>{for(const a of e)a.next&&a.next(n)},subscribe:n=>(e.push(n),{unsubscribe:()=>{e=e.filter(a=>a!==n)}}),unsubscribe:()=>{e=[]}}},Fe=e=>O(e)||!et(e);function Z(e,s){if(Fe(e)||Fe(s))return e===s;if(ie(e)&&ie(s))return e.getTime()===s.getTime();const t=Object.keys(e),u=Object.keys(s);if(t.length!==u.length)return!1;for(const n of t){const a=e[n];if(!u.includes(n))return!1;if(n!=="ref"){const y=s[n];if(ie(a)&&ie(y)||T(a)&&T(y)||Array.isArray(a)&&Array.isArray(y)?!Z(a,y):a!==y)return!1}}return!0}var ft=e=>e.type==="select-multiple",Tt=e=>pe(e)||fe(e),ke=e=>be(e)&&e.isConnected,ct=e=>{for(const s in e)if(X(e[s]))return!0;return!1};function Ae(e,s={}){const t=Array.isArray(e);if(T(e)||t)for(const u in e)Array.isArray(e[u])||T(e[u])&&!ct(e[u])?(s[u]=Array.isArray(e[u])?[]:{},Ae(e[u],s[u])):O(e[u])||(s[u]=!0);return s}function dt(e,s,t){const u=Array.isArray(e);if(T(e)||u)for(const n in e)Array.isArray(e[n])||T(e[n])&&!ct(e[n])?w(s)||Fe(t[n])?t[n]=Array.isArray(e[n])?Ae(e[n],[]):{...Ae(e[n])}:dt(e[n],O(s)?{}:s[n],t[n]):t[n]=!Z(e[n],s[n]);return t}var ge=(e,s)=>dt(e,s,Ae(s)),yt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:u})=>w(e)?e:s?e===""?NaN:e&&+e:t&&$(e)?new Date(e):u?u(e):e;function Ce(e){const s=e.ref;if(!(e.refs?e.refs.every(t=>t.disabled):s.disabled))return Oe(s)?s.files:pe(s)?ot(e.refs).value:ft(s)?[...s.selectedOptions].map(({value:t})=>t):fe(s)?nt(e.refs).value:yt(w(s.value)?e.ref.value:s.value,e)}var Lt=(e,s,t,u)=>{const n={};for(const a of e){const y=f(s,a);y&&x(n,a,y._f)}return{criteriaMode:t,names:[...e],fields:n,shouldUseNativeValidation:u}},ne=e=>w(e)?e:Ve(e)?e.source:T(e)?Ve(e.value)?e.value.source:e.value:e,Ut=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function Ze(e,s,t){const u=f(e,t);if(u||Te(t))return{error:u,name:t};const n=t.split(".");for(;n.length;){const a=n.join("."),y=f(s,a),h=f(e,a);if(y&&!Array.isArray(y)&&t!==a)return{name:t};if(h&&h.type)return{name:a,error:h};n.pop()}return{name:t}}var Ot=(e,s,t,u,n)=>n.isOnAll?!1:!t&&n.isOnTouch?!(s||e):(t?u.isOnBlur:n.isOnBlur)?!e:(t?u.isOnChange:n.isOnChange)?e:!0,pt=(e,s)=>!ce(f(e,s)).length&&R(e,s);const Mt={mode:W.onSubmit,reValidateMode:W.onChange,shouldFocusError:!0};function Bt(e={}){let s={...Mt,...e},t={submitCount:0,isDirty:!1,isLoading:X(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},u={},n=T(s.defaultValues)||T(s.values)?p(s.defaultValues||s.values)||{}:{},a=s.shouldUnregister?{}:p(n),y={action:!1,mount:!1,watch:!1},h={mount:new Set,unMount:new Set,array:new Set,watch:new Set},m,S=0;const _={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},v={values:Se(),array:Se(),state:Se()},N=Ke(s.mode),H=Ke(s.reValidateMode),L=s.criteriaMode===W.all,xe=r=>i=>{clearTimeout(S),S=setTimeout(r,i)},J=async r=>{if(_.isValid||r){const i=s.resolver?B((await Y()).errors):await P(u,!0);i!==t.isValid&&v.state.next({isValid:i})}},Q=(r,i)=>{(_.isValidating||_.validatingFields)&&((r||Array.from(h.mount)).forEach(l=>{l&&(i?x(t.validatingFields,l,i):R(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!B(t.validatingFields)}))},V=(r,i=[],l,d,c=!0,o=!0)=>{if(d&&l){if(y.action=!0,o&&Array.isArray(f(u,r))){const g=l(f(u,r),d.argA,d.argB);c&&x(u,r,g)}if(o&&Array.isArray(f(t.errors,r))){const g=l(f(t.errors,r),d.argA,d.argB);c&&x(t.errors,r,g),pt(t.errors,r)}if(_.touchedFields&&o&&Array.isArray(f(t.touchedFields,r))){const g=l(f(t.touchedFields,r),d.argA,d.argB);c&&x(t.touchedFields,r,g)}_.dirtyFields&&(t.dirtyFields=ge(n,a)),v.state.next({name:r,isDirty:b(r,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else x(a,r,i)},K=(r,i)=>{x(t.errors,r,i),v.state.next({errors:t.errors})},G=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},k=(r,i,l,d)=>{const c=f(u,r);if(c){const o=f(a,r,w(l)?f(n,r):l);w(o)||d&&d.defaultChecked||i?x(a,r,i?o:Ce(c._f)):U(r,o),y.mount&&J()}},ee=(r,i,l,d,c)=>{let o=!1,g=!1;const A={name:r},E=!!(f(u,r)&&f(u,r)._f&&f(u,r)._f.disabled);if(!l||d){_.isDirty&&(g=t.isDirty,t.isDirty=A.isDirty=b(),o=g!==A.isDirty);const M=E||Z(f(n,r),i);g=!!(!E&&f(t.dirtyFields,r)),M||E?R(t.dirtyFields,r):x(t.dirtyFields,r,!0),A.dirtyFields=t.dirtyFields,o=o||_.dirtyFields&&g!==!M}if(l){const M=f(t.touchedFields,r);M||(x(t.touchedFields,r,l),A.touchedFields=t.touchedFields,o=o||_.touchedFields&&M!==l)}return o&&c&&v.state.next(A),o?A:{}},de=(r,i,l,d)=>{const c=f(t.errors,r),o=_.isValid&&j(i)&&t.isValid!==i;if(e.delayError&&l?(m=xe(()=>K(r,l)),m(e.delayError)):(clearTimeout(S),m=null,l?x(t.errors,r,l):R(t.errors,r)),(l?!Z(c,l):c)||!B(d)||o){const g={...d,...o&&j(i)?{isValid:i}:{},errors:t.errors,name:r};t={...t,...g},v.state.next(g)}},Y=async r=>{Q(r,!0);const i=await s.resolver(a,s.context,Lt(r||h.mount,u,s.criteriaMode,s.shouldUseNativeValidation));return Q(r),i},te=async r=>{const{errors:i}=await Y(r);if(r)for(const l of r){const d=f(i,l);d?x(t.errors,l,d):R(t.errors,l)}else t.errors=i;return i},P=async(r,i,l={valid:!0})=>{for(const d in r){const c=r[d];if(c){const{_f:o,...g}=c;if(o){const A=h.array.has(o.name);Q([d],!0);const E=await Ye(c,a,L,s.shouldUseNativeValidation&&!i,A);if(Q([d]),E[o.name]&&(l.valid=!1,i))break;!i&&(f(E,o.name)?A?kt(t.errors,E,o.name):x(t.errors,o.name,E[o.name]):R(t.errors,o.name))}g&&await P(g,i,l)}}return l.valid},ye=()=>{for(const r of h.unMount){const i=f(u,r);i&&(i._f.refs?i._f.refs.every(l=>!ke(l)):!ke(i._f.ref))&&me(r)}h.unMount=new Set},b=(r,i)=>(r&&i&&x(a,r,i),!Z(Me(),n)),F=(r,i,l)=>at(r,h,{...y.mount?a:w(i)?n:$(r)?{[r]:i}:i},l,i),C=r=>ce(f(y.mount?a:n,r,e.shouldUnregister?f(n,r,[]):[])),U=(r,i,l={})=>{const d=f(u,r);let c=i;if(d){const o=d._f;o&&(!o.disabled&&x(a,r,yt(i,o)),c=be(o.ref)&&O(i)?"":i,ft(o.ref)?[...o.ref.options].forEach(g=>g.selected=c.includes(g.value)):o.refs?fe(o.ref)?o.refs.length>1?o.refs.forEach(g=>(!g.defaultChecked||!g.disabled)&&(g.checked=Array.isArray(c)?!!c.find(A=>A===g.value):c===g.value)):o.refs[0]&&(o.refs[0].checked=!!c):o.refs.forEach(g=>g.checked=g.value===c):Oe(o.ref)?o.ref.value="":(o.ref.value=c,o.ref.type||v.values.next({name:r,values:{...a}})))}(l.shouldDirty||l.shouldTouch)&&ee(r,c,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&ae(r)},q=(r,i,l)=>{for(const d in i){const c=i[d],o=`${r}.${d}`,g=f(u,o);(h.array.has(r)||!Fe(c)||g&&!g._f)&&!ie(c)?q(o,c,l):U(o,c,l)}},I=(r,i,l={})=>{const d=f(u,r),c=h.array.has(r),o=p(i);x(a,r,o),c?(v.array.next({name:r,values:{...a}}),(_.isDirty||_.dirtyFields)&&l.shouldDirty&&v.state.next({name:r,dirtyFields:ge(n,a),isDirty:b(r,o)})):d&&!d._f&&!O(o)?q(r,o,l):U(r,o,l),Ge(r,h)&&v.state.next({...t}),v.values.next({name:y.mount?r:void 0,values:{...a}})},ue=async r=>{y.mount=!0;const i=r.target;let l=i.name,d=!0;const c=f(u,l),o=()=>i.type?Ce(c._f):tt(r),g=A=>{d=Number.isNaN(A)||A===f(a,l,A)};if(c){let A,E;const M=o(),re=r.type===_e.BLUR||r.type===_e.FOCUS_OUT,bt=!Ut(c._f)&&!s.resolver&&!f(t.errors,l)&&!c._f.deps||Ot(re,f(t.touchedFields,l),t.isSubmitted,H,N),we=Ge(l,h,re);x(a,l,M),re?(c._f.onBlur&&c._f.onBlur(r),m&&m(0)):c._f.onChange&&c._f.onChange(r);const Ee=ee(l,M,re,!1),Vt=!B(Ee)||we;if(!re&&v.values.next({name:l,type:r.type,values:{...a}}),bt)return _.isValid&&J(),Vt&&v.state.next({name:l,...we?{}:Ee});if(!re&&we&&v.state.next({...t}),s.resolver){const{errors:je}=await Y([l]);if(g(M),d){const Ft=Ze(t.errors,u,l),$e=Ze(je,u,Ft.name||l);A=$e.error,l=$e.name,E=B(je)}}else Q([l],!0),A=(await Ye(c,a,L,s.shouldUseNativeValidation))[l],Q([l]),g(M),d&&(A?E=!1:_.isValid&&(E=await P(u,!0)));d&&(c._f.deps&&ae(c._f.deps),de(l,E,A,Ee))}},le=(r,i)=>{if(f(t.errors,i)&&r.focus)return r.focus(),1},ae=async(r,i={})=>{let l,d;const c=he(r);if(s.resolver){const o=await te(w(r)?r:c);l=B(o),d=r?!c.some(g=>f(o,g)):l}else r?(d=(await Promise.all(c.map(async o=>{const g=f(u,o);return await P(g&&g._f?{[o]:g}:g)}))).every(Boolean),!(!d&&!t.isValid)&&J()):d=l=await P(u);return v.state.next({...!$(r)||_.isValid&&l!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:l}:{},errors:t.errors}),i.shouldFocus&&!d&&oe(u,le,r?c:h.mount),d},Me=r=>{const i={...y.mount?a:n};return w(r)?i:$(r)?f(i,r):r.map(l=>f(i,l))},Be=(r,i)=>({invalid:!!f((i||t).errors,r),isDirty:!!f((i||t).dirtyFields,r),error:f((i||t).errors,r),isValidating:!!f(t.validatingFields,r),isTouched:!!f((i||t).touchedFields,r)}),gt=r=>{r&&he(r).forEach(i=>R(t.errors,i)),v.state.next({errors:r?t.errors:{}})},Pe=(r,i,l)=>{const d=(f(u,r,{_f:{}})._f||{}).ref,c=f(t.errors,r)||{},{ref:o,message:g,type:A,...E}=c;x(t.errors,r,{...E,...i,ref:d}),v.state.next({name:r,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&d&&d.focus&&d.focus()},ht=(r,i)=>X(r)?v.values.subscribe({next:l=>r(F(void 0,i),l)}):F(r,i,!0),me=(r,i={})=>{for(const l of r?he(r):h.mount)h.mount.delete(l),h.array.delete(l),i.keepValue||(R(u,l),R(a,l)),!i.keepError&&R(t.errors,l),!i.keepDirty&&R(t.dirtyFields,l),!i.keepTouched&&R(t.touchedFields,l),!i.keepIsValidating&&R(t.validatingFields,l),!s.shouldUnregister&&!i.keepDefaultValue&&R(n,l);v.values.next({values:{...a}}),v.state.next({...t,...i.keepDirty?{isDirty:b()}:{}}),!i.keepIsValid&&J()},Ie=({disabled:r,name:i,field:l,fields:d,value:c})=>{if(j(r)&&y.mount||r){const o=r?void 0:w(c)?Ce(l?l._f:f(d,i)._f):c;x(a,i,o),ee(i,o,!1,!1,!0)}},De=(r,i={})=>{let l=f(u,r);const d=j(i.disabled);return x(u,r,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:r}},name:r,mount:!0,...i}}),h.mount.add(r),l?Ie({field:l,disabled:i.disabled,name:r,value:i.value}):k(r,!0,i.value),{...d?{disabled:i.disabled}:{},...s.progressive?{required:!!i.required,min:ne(i.min),max:ne(i.max),minLength:ne(i.minLength),maxLength:ne(i.maxLength),pattern:ne(i.pattern)}:{},name:r,onChange:ue,onBlur:ue,ref:c=>{if(c){De(r,i),l=f(u,r);const o=w(c.value)&&c.querySelectorAll&&c.querySelectorAll("input,select,textarea")[0]||c,g=Tt(o),A=l._f.refs||[];if(g?A.find(E=>E===o):o===l._f.ref)return;x(u,r,{_f:{...l._f,...g?{refs:[...A.filter(ke),o,...Array.isArray(f(n,r))?[{}]:[]],ref:{type:o.type,name:r}}:{ref:o}}}),k(r,!1,void 0,o)}else l=f(u,r,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(rt(h.array,r)&&y.action)&&h.unMount.add(r)}}},Ne=()=>s.shouldFocusError&&oe(u,le,h.mount),vt=r=>{j(r)&&(v.state.next({disabled:r}),oe(u,(i,l)=>{const d=f(u,l);d&&(i.disabled=d._f.disabled||r,Array.isArray(d._f.refs)&&d._f.refs.forEach(c=>{c.disabled=d._f.disabled||r}))},0,!1))},qe=(r,i)=>async l=>{let d;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let c=p(a);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:o,values:g}=await Y();t.errors=o,c=g}else await P(u);if(R(t.errors,"root"),B(t.errors)){v.state.next({errors:{}});try{await r(c,l)}catch(o){d=o}}else i&&await i({...t.errors},l),Ne(),setTimeout(Ne);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:B(t.errors)&&!d,submitCount:t.submitCount+1,errors:t.errors}),d)throw d},_t=(r,i={})=>{f(u,r)&&(w(i.defaultValue)?I(r,p(f(n,r))):(I(r,i.defaultValue),x(n,r,p(i.defaultValue))),i.keepTouched||R(t.touchedFields,r),i.keepDirty||(R(t.dirtyFields,r),t.isDirty=i.defaultValue?b(r,p(f(n,r))):b()),i.keepError||(R(t.errors,r),_.isValid&&J()),v.state.next({...t}))},We=(r,i={})=>{const l=r?p(r):n,d=p(l),c=B(r),o=c?n:d;if(i.keepDefaultValues||(n=l),!i.keepValues){if(i.keepDirtyValues)for(const g of h.mount)f(t.dirtyFields,g)?x(o,g,f(a,g)):I(g,f(o,g));else{if(Re&&w(r))for(const g of h.mount){const A=f(u,g);if(A&&A._f){const E=Array.isArray(A._f.refs)?A._f.refs[0]:A._f.ref;if(be(E)){const M=E.closest("form");if(M){M.reset();break}}}}u={}}a=e.shouldUnregister?i.keepDefaultValues?p(n):{}:p(o),v.array.next({values:{...o}}),v.values.next({values:{...o}})}h={mount:i.keepDirtyValues?h.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!_.isValid||!!i.keepIsValid||!!i.keepDirtyValues,y.watch=!!e.shouldUnregister,v.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:c?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!Z(r,n)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:c?[]:i.keepDirtyValues?i.keepDefaultValues&&a?ge(n,a):t.dirtyFields:i.keepDefaultValues&&r?ge(n,r):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},He=(r,i)=>We(X(r)?r(a):r,i);return{control:{register:De,unregister:me,getFieldState:Be,handleSubmit:qe,setError:Pe,_executeSchema:Y,_getWatch:F,_getDirty:b,_updateValid:J,_removeUnmounted:ye,_updateFieldArray:V,_updateDisabledField:Ie,_getFieldArray:C,_reset:We,_resetDefaultValues:()=>X(s.defaultValues)&&s.defaultValues().then(r=>{He(r,s.resetOptions),v.state.next({isLoading:!1})}),_updateFormState:r=>{t={...t,...r}},_disableForm:vt,_subjects:v,_proxyFormState:_,_setErrors:G,get _fields(){return u},get _formValues(){return a},get _state(){return y},set _state(r){y=r},get _defaultValues(){return n},get _names(){return h},set _names(r){h=r},get _formState(){return t},set _formState(r){t=r},get _options(){return s},set _options(r){s={...s,...r}}},trigger:ae,register:De,handleSubmit:qe,watch:ht,setValue:I,getValues:Me,reset:He,resetField:_t,clearErrors:gt,unregister:me,setError:Pe,setFocus:(r,i={})=>{const l=f(u,r),d=l&&l._f;if(d){const c=d.refs?d.refs[0]:d.ref;c.focus&&(c.focus(),i.shouldSelect&&c.select())}},getFieldState:Be}}function Ht(e={}){const s=D.useRef(),t=D.useRef(),[u,n]=D.useState({isDirty:!1,isValidating:!1,isLoading:X(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:X(e.defaultValues)?void 0:e.defaultValues});s.current||(s.current={...Bt(e),formState:u});const a=s.current.control;return a._options=e,Ue({subject:a._subjects.state,next:y=>{ut(y,a._proxyFormState,a._updateFormState,!0)&&n({...a._formState})}}),D.useEffect(()=>a._disableForm(e.disabled),[a,e.disabled]),D.useEffect(()=>{if(a._proxyFormState.isDirty){const y=a._getDirty();y!==u.isDirty&&a._subjects.state.next({isDirty:y})}},[a,u.isDirty]),D.useEffect(()=>{e.values&&!Z(e.values,t.current)?(a._reset(e.values,a._options.resetOptions),t.current=e.values,n(y=>({...y}))):a._resetDefaultValues()},[e.values,a]),D.useEffect(()=>{e.errors&&a._setErrors(e.errors)},[e.errors,a]),D.useEffect(()=>{a._state.mount||(a._updateValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),D.useEffect(()=>{e.shouldUnregister&&a._subjects.values.next({values:a._getWatch()})},[e.shouldUnregister,a]),s.current.formState=it(u,a),s.current}export{Wt as C,wt as a,Ht as u};
@@ -1 +0,0 @@
1
- import{aK as i,aL as o,j as s,g as u,fj as f}from"./index-DHvVD3rl.js";var e={},l=o;Object.defineProperty(e,"__esModule",{value:!0});var n=e.default=void 0,v=l(i()),d=s;n=e.default=(0,v.default)((0,d.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined");const a=f;var x=(t,r)=>a(t)===a(r);const h=u(x);export{n as d,h as i};