@abtnode/webapp 1.17.3-beta-20251127-063055-94957209 → 1.17.3-beta-20251128-095123-a76cb6bc

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 (210) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{AdapterDayjs-DU0D4sqH.js → AdapterDayjs-jQWZxlKZ.js} +1 -1
  4. package/dist/assets/{Add-BKe5i02H.js → Add-CM0i44L2.js} +1 -1
  5. package/dist/assets/ArrowDropDown-BrtzEFq8.js +1 -0
  6. package/dist/assets/{Autocomplete-DK0iCUAm.js → Autocomplete-BBHR-e2e.js} +1 -1
  7. package/dist/assets/{Breadcrumbs-2mIcJJiP.js → Breadcrumbs-BaZ8MiUq.js} +1 -1
  8. package/dist/assets/{ButtonGroup-B86tCmd3.js → ButtonGroup-B_6MNBFc.js} +1 -1
  9. package/dist/assets/{CSSTransition-BZnv4uwU.js → CSSTransition-C6uS6QtZ.js} +1 -1
  10. package/dist/assets/{CallMerge-BdwpnGaL.js → CallMerge-CQP5GPxe.js} +1 -1
  11. package/dist/assets/{CardContent-B3Ns-1d7.js → CardContent-Ck7ja9MC.js} +1 -1
  12. package/dist/assets/{ChevronLeft-DKTuWlNz.js → ChevronLeft-C7cSHp9l.js} +1 -1
  13. package/dist/assets/{ChevronRight-U_VKk8yi.js → ChevronRight-BUUZmp3v.js} +1 -1
  14. package/dist/assets/{Clear-Bjaoevyy.js → Clear-CFi5u92e.js} +1 -1
  15. package/dist/assets/{DeleteOutline-1L0qVW5f.js → DeleteOutline-BHEKXTkO.js} +1 -1
  16. package/dist/assets/{Done-fcctYBnn.js → Done-DXPJGUWm.js} +1 -1
  17. package/dist/assets/{Edit-Df-gu5W0.js → Edit-JIlB-sRA.js} +1 -1
  18. package/dist/assets/{ErrorOutline-C2BuHaFO.js → ErrorOutline-DBqK27X8.js} +1 -1
  19. package/dist/assets/{FilterList-ip4QUiRE.js → FilterList-DqZHJbRG.js} +1 -1
  20. package/dist/assets/{Google-C4HUt8aJ.js → Google-KJc6rb0J.js} +1 -1
  21. package/dist/assets/{HelpOutline-Dn_yz-1h.js → HelpOutline-DswUhBxG.js} +1 -1
  22. package/dist/assets/{KeyboardArrowDown-C9ZFNMos.js → KeyboardArrowDown-BRIRZ0lk.js} +1 -1
  23. package/dist/assets/{Launch-CFi1NSiy.js → Launch-_uZBB3hy.js} +1 -1
  24. package/dist/assets/{Link-CQpp_kV1.js → Link-CvXyobEJ.js} +1 -1
  25. package/dist/assets/{ListItemButton-Dq8kjXAC.js → ListItemButton-BRQYff97.js} +1 -1
  26. package/dist/assets/{ListSubheader-BN5vdmXx.js → ListSubheader-BHGxSe1E.js} +1 -1
  27. package/dist/assets/{LoadingButton-YsBwLHRI.js → LoadingButton-BhZ8iOtK.js} +1 -1
  28. package/dist/assets/{MoreVert-BFhM4QD_.js → MoreVert-Ck4O28kx.js} +1 -1
  29. package/dist/assets/{OpenInNew-BQ_lyYyz.js → OpenInNew-BJk7hIVB.js} +1 -1
  30. package/dist/assets/{Refresh-BH-2JQxb.js → Refresh-kyiL1qX1.js} +1 -1
  31. package/dist/assets/{Search-XYz8f8XA.js → Search-BiQ8hlgr.js} +1 -1
  32. package/dist/assets/{Stepper-CgNQuoDq.js → Stepper-BJZfb2Le.js} +1 -1
  33. package/dist/assets/{Switch-D-GptXzp.js → Switch-UORzToTA.js} +1 -1
  34. package/dist/assets/{TableSearch-20ltCGV9.js → TableSearch-BQiqRB7D.js} +1 -1
  35. package/dist/assets/{ToggleButtonGroup-BeJ2H-vs.js → ToggleButtonGroup-CbzWaH4A.js} +1 -1
  36. package/dist/assets/{UnfoldMore-ogSRr9M8.js → UnfoldMore-DZ3laWH7.js} +1 -1
  37. package/dist/assets/{Verified-DoWJRqF2.js → Verified-M-1m4RTW.js} +1 -1
  38. package/dist/assets/{VerifiedUser-C8oAKXOY.js → VerifiedUser-C7mhQBkH.js} +1 -1
  39. package/dist/assets/{ViewList-B9yb0HBO.js → ViewList-DC04kVZ7.js} +1 -1
  40. package/dist/assets/{_createAggregator-Ctg83h-t.js → _createAggregator-BcN4GRYz.js} +1 -1
  41. package/dist/assets/actions-DSVBY-iK.js +1 -0
  42. package/dist/assets/{actions-CEVha9Lm.js → actions-e0cgLZ3F.js} +1 -1
  43. package/dist/assets/{agreement-Do9LS1H9.js → agreement-CMStdtDl.js} +1 -1
  44. package/dist/assets/api-DxqoYz8S.js +1 -0
  45. package/dist/assets/{appearance-BAXcLNQv.js → appearance-BbYVAqwM.js} +1 -1
  46. package/dist/assets/{ar-Dz5bxvSE.js → ar-BJZY7v5z.js} +2 -2
  47. package/dist/assets/{audit-logs-CNWSS6cO.js → audit-logs-B2Hvy3ws.js} +1 -1
  48. package/dist/assets/{base-chart-CtBedy-P.js → base-chart-Do9WtdQs.js} +1 -1
  49. package/dist/assets/{blocklet-Dcm-KWY0.js → blocklet-Cu8go6Cl.js} +1 -1
  50. package/dist/assets/{chain-B1M1oJUZ.js → chain-tpP2d9Lm.js} +1 -1
  51. package/dist/assets/{click-to-copy-UAGH53Qf.js → click-to-copy-BpBPaRWz.js} +1 -1
  52. package/dist/assets/cloneDeep-BAowUJcW.js +1 -0
  53. package/dist/assets/{collapse-SFvNptyB.js → collapse-DRRC0SCd.js} +1 -1
  54. package/dist/assets/{config-navigation-BXWbV-Cs.js → config-navigation-Ntc_O8HF.js} +46 -46
  55. package/dist/assets/connect-to-CTjQfAN3.js +29 -0
  56. package/dist/assets/{cssMode-a2Qinu_F.js → cssMode-MKOimR8r.js} +1 -1
  57. package/dist/assets/{de-Ztxy5vEB.js → de-BF0NHTXz.js} +2 -2
  58. package/dist/assets/{delete-confirm-CykvEZcZ.js → delete-confirm-DwwucGed.js} +1 -1
  59. package/dist/assets/{depsEqual-CNVuMuEd.js → depsEqual-DJ4V1mTU.js} +1 -1
  60. package/dist/assets/{detail-DgAURCp6.js → detail-BAwVCAFb.js} +3 -3
  61. package/dist/assets/{domains-DzUka-Py.js → domains-rlp68m61.js} +1 -1
  62. package/dist/assets/{download-DAgi3KG_.js → download-CizjGT3a.js} +1 -1
  63. package/dist/assets/{edit.svg-DYBjroym.js → edit.svg-CpLTrX1j.js} +1 -1
  64. package/dist/assets/emotion-cache.browser.esm-BLI6o2QB.js +1 -0
  65. package/dist/assets/engine-d9ZSaCl8.js +1 -0
  66. package/dist/assets/{es-Cd-spoK_.js → es-Dv2m4LXp.js} +2 -2
  67. package/dist/assets/{fr-k8jXteN1.js → fr-BGhg9oO3.js} +2 -2
  68. package/dist/assets/{freemarker2-C-5txAzw.js → freemarker2-dI1M-X6u.js} +1 -1
  69. package/dist/assets/{get-safe-url-slTYcduh.js → get-safe-url-CHuz2b-I.js} +1 -1
  70. package/dist/assets/getValidReactChildren-C8GIEouH.js +1 -0
  71. package/dist/assets/{graphqlMode-CqvY2dvn.js → graphqlMode-B_WmUdLw.js} +2 -2
  72. package/dist/assets/{handlebars-BYAvYDfA.js → handlebars-CRMti49n.js} +1 -1
  73. package/dist/assets/{hi-CvpI1-tn.js → hi-CPfDhW8g.js} +2 -2
  74. package/dist/assets/{html-BvL9XBVt.js → html-ermJICEG.js} +1 -1
  75. package/dist/assets/{html-title-C8DFoE3o.js → html-title-BQwqe1Ck.js} +1 -1
  76. package/dist/assets/{htmlMode-B2ou9eLB.js → htmlMode-B0bBi3DI.js} +1 -1
  77. package/dist/assets/{id-D8coHs1U.js → id-9TUzKF6k.js} +2 -2
  78. package/dist/assets/{iframe-B2nulerg.js → iframe-9SAgwJDT.js} +1 -1
  79. package/dist/assets/{index-t7M3AlIl.js → index-2c1VoOd9.js} +123 -126
  80. package/dist/assets/index-B0_NefDz.js +1 -0
  81. package/dist/assets/{index-C3LdZf6o.js → index-B6xNHlEj.js} +3 -3
  82. package/dist/assets/{index-o0W75sh0.js → index-BC4-BsXp.js} +1 -1
  83. package/dist/assets/index-BGQR0TyN.js +1 -0
  84. package/dist/assets/{index-DxHUxvwT.js → index-BNQ03H5g.js} +1 -1
  85. package/dist/assets/{index-Dxb5VoXb.js → index-BR8r-K4S.js} +1 -1
  86. package/dist/assets/{index-BQoDUo8G.js → index-BVtHC_qD.js} +3 -3
  87. package/dist/assets/{index-DE2n9InK.js → index-BkBk9uDM.js} +1 -1
  88. package/dist/assets/{index-BVPjbwFh.js → index-Bkx9VtR1.js} +3 -3
  89. package/dist/assets/{index-DcJaC3Zv.js → index-C34tPvay.js} +1 -1
  90. package/dist/assets/{index-BE_VxsDo.js → index-C3PPN1sd.js} +1 -1
  91. package/dist/assets/index-CBDLDE06.js +168 -0
  92. package/dist/assets/{index-D1v2ub6O.js → index-CCDLY5yo.js} +1 -1
  93. package/dist/assets/{index-CcoyIHc2.js → index-CNd2lEI7.js} +1 -1
  94. package/dist/assets/{index-DevzmDa7.js → index-CTialFzy.js} +1 -1
  95. package/dist/assets/{index-BeBFdIcq.js → index-CZVLqYhR.js} +1 -1
  96. package/dist/assets/{index-C4O6nFZK.js → index-CcHEbeR3.js} +1 -1
  97. package/dist/assets/{index-m59yehWt.js → index-CeI21XVA.js} +1 -1
  98. package/dist/assets/{index-DNQRuNMg.js → index-CeMW5u5M.js} +1 -1
  99. package/dist/assets/{index-B0ezkZD_.js → index-CmgnJ9Ac.js} +9 -9
  100. package/dist/assets/{index-C-ZSaiUf.js → index-CuNku1ac.js} +1 -1
  101. package/dist/assets/{index-MI1PE9cE.js → index-D-Q5yWhn.js} +1 -1
  102. package/dist/assets/{index-Cmq6DzBi.js → index-D1jZ55Sb.js} +1 -1
  103. package/dist/assets/{index-C4sXNe3X.js → index-D6WMVz-u.js} +1 -1
  104. package/dist/assets/{index-BYvHyq2X.js → index-D9QeG2FZ.js} +1 -1
  105. package/dist/assets/{index-Gy9GijRe.js → index-DCmGZYYq.js} +1 -1
  106. package/dist/assets/index-DF8exUsL.js +328 -0
  107. package/dist/assets/{index-DudW3VZ0.js → index-DGZbMOLi.js} +1 -1
  108. package/dist/assets/{index-CGPesPdM.js → index-DO977Avs.js} +1 -1
  109. package/dist/assets/{index-Dxe6NqUd.js → index-DOFLIkPm.js} +1 -1
  110. package/dist/assets/{index-BTZ0eV0N.js → index-DUpNrHpg.js} +1 -1
  111. package/dist/assets/{index-B7yK5r9r.js → index-DcBZKU5L.js} +1 -1
  112. package/dist/assets/{index-C-ikBis3.js → index-DtbxvdaD.js} +1 -1
  113. package/dist/assets/{index-DKNNRdfd.js → index-DtnSIrsF.js} +1 -1
  114. package/dist/assets/{index-B069rJrU.js → index-DuqULJQe.js} +1 -1
  115. package/dist/assets/{index-zEOfnqWp.js → index-Dz_Rmjb-.js} +1 -1
  116. package/dist/assets/{index-Dmm7CN3L.js → index-EhtXyCtH.js} +1 -1
  117. package/dist/assets/{index-B22sxjhK.js → index-IfVDnuZk.js} +1 -1
  118. package/dist/assets/{index-CzOe4kWN.js → index-OJESZDQE.js} +1 -1
  119. package/dist/assets/{index-BxE9QNGJ.js → index-gDj2o7RF.js} +1 -1
  120. package/dist/assets/{index-Cq0PEg3C.js → index-mI9L2BhQ.js} +1 -1
  121. package/dist/assets/{index-CQBXMXxB.js → index-n0Dm2HUt.js} +1 -1
  122. package/dist/assets/{index-DLW-FPc1.js → index-vpxPTR3F.js} +1 -1
  123. package/dist/assets/{index-DrzeWNxs.js → index-yXEFoIGg.js} +1 -1
  124. package/dist/assets/{index-Bk3Q7htA.js → index-zysAnh52.js} +2 -2
  125. package/dist/assets/{index.esm-y0ki7yla.js → index.esm-CgpVcU8p.js} +1 -1
  126. package/dist/assets/{install-from-url-bDGtH7bg.js → install-from-url-jU_rZbjX.js} +1 -1
  127. package/dist/assets/{invitation-BMQ8ii-U.js → invitation-DX_ynvNX.js} +1 -1
  128. package/dist/assets/{is-path-prefix-equal-6ZIHUdY4.js → is-path-prefix-equal-VKe4yShn.js} +1 -1
  129. package/dist/assets/{item-CcYR2iTB.js → item-D0BOEDZA.js} +9 -9
  130. package/dist/assets/{ja-Dkn5OA2r.js → ja-DT5bRsBF.js} +2 -2
  131. package/dist/assets/{javascript-Dv9tLB_N.js → javascript-DCfUrb2b.js} +1 -1
  132. package/dist/assets/{jsonMode-DUlsfgRc.js → jsonMode-DflwradV.js} +1 -1
  133. package/dist/assets/{ko-DXfRo0NY.js → ko-CJn9PyPz.js} +2 -2
  134. package/dist/assets/{liquid-C9JfvrHT.js → liquid-v5CyzMO1.js} +1 -1
  135. package/dist/assets/{list-header-DE2pVYNH.js → list-header-BsNw1q-X.js} +1 -1
  136. package/dist/assets/{lock.svg-DK6tzOS0.js → lock.svg-DcfL5WSZ.js} +1 -1
  137. package/dist/assets/{log-B0JHspX2.js → log-v9e9l2M0.js} +1 -1
  138. package/dist/assets/{lottie-react.esm-BQ1sE4G7.js → lottie-react.esm-CCtixTZh.js} +1 -1
  139. package/dist/assets/{mdx-D_F4JUXE.js → mdx-Ctxzc90y.js} +1 -1
  140. package/dist/assets/{memory-Ca0TT2wR.js → memory-BBW5cukR.js} +1 -1
  141. package/dist/assets/{metric-B_ux39Cy.js → metric-gyu0g4Df.js} +1 -1
  142. package/dist/assets/omit-B1xspwKB.js +1 -0
  143. package/dist/assets/{overview-DdKaJYs3.js → overview-CGezXNcq.js} +1 -1
  144. package/dist/assets/{permission-DL-rt2kz.js → permission-Dh9Y-pMK.js} +1 -1
  145. package/dist/assets/{preference-B32PPIXC.js → preference-CSylIZyx.js} +3 -3
  146. package/dist/assets/pt-K9FK6Ube.js +5 -0
  147. package/dist/assets/{python-DxxmtajH.js → python-OTBVRvfx.js} +1 -1
  148. package/dist/assets/{raf-schd.esm-C3uAJs0d.js → raf-schd.esm-CeLqNu5n.js} +1 -1
  149. package/dist/assets/{razor-C21hzdPt.js → razor-Dz96HacP.js} +1 -1
  150. package/dist/assets/{rotate-session-key-Cxb_738W.js → rotate-session-key-sNZ4agRi.js} +1 -1
  151. package/dist/assets/ru-C_RwukUu.js +5 -0
  152. package/dist/assets/{runtime-Bdx0ukMN.js → runtime-44wcxPEo.js} +1 -1
  153. package/dist/assets/schema-DTRR0KGi.js +1 -0
  154. package/dist/assets/sdk-DH9OjvLO.js +1 -0
  155. package/dist/assets/{service-BM2nSHO0.js → service-CrTKbt09.js} +1 -1
  156. package/dist/assets/{shorten-label-DnblKkIH.js → shorten-label-azqzn6Q0.js} +1 -1
  157. package/dist/assets/{simple-select-DPUPpFQ5.js → simple-select-Cjwynh2P.js} +1 -1
  158. package/dist/assets/{spaces-BKKKu_Dh.js → spaces-CImRuKfl.js} +1 -1
  159. package/dist/assets/{status-DtYf6aZS.js → status-BVLGfZ_U.js} +1 -1
  160. package/dist/assets/{status-COOoCu8i.js → status-DqZQuuxT.js} +1 -1
  161. package/dist/assets/{switch-control-CNmlIEr7.js → switch-control-uPmfeqt7.js} +1 -1
  162. package/dist/assets/{table-icons-C91WckX-.js → table-icons-j1shPhg0.js} +1 -1
  163. package/dist/assets/{team-DMp941g-.js → team-BOavcC7l.js} +1 -1
  164. package/dist/assets/th-Bhii_FfA.js +5 -0
  165. package/dist/assets/{toLower-BOZmijH1.js → toLower-DFhqc1Tx.js} +1 -1
  166. package/dist/assets/toUpper-BIz-OTsX.js +1 -0
  167. package/dist/assets/{traffic-CAtwfrwW.js → traffic-Dk3MPYPo.js} +1 -1
  168. package/dist/assets/{tsMode-BsmIUAx_.js → tsMode-DtrLBL88.js} +1 -1
  169. package/dist/assets/{typescript-CuXsCA8e.js → typescript-B_jxVxfT.js} +1 -1
  170. package/dist/assets/{url-evaluation-Dx99nTAj.js → url-evaluation-CKpb4hS-.js} +1 -1
  171. package/dist/assets/{url-join--uxDIQ5s.js → url-join-_MGxS-GP.js} +1 -1
  172. package/dist/assets/{use-mobile-gk4f0z32.js → use-mobile-CYJJmSLZ.js} +1 -1
  173. package/dist/assets/{use-mobile-B_qRraPN.js → use-mobile-DehCuxqg.js} +1 -1
  174. package/dist/assets/{useAsync-BkAVfcXM.js → useAsync-EJ0V06fl.js} +1 -1
  175. package/dist/assets/{useAsyncRetry-B53j1afR.js → useAsyncRetry-DTCkIRbI.js} +1 -1
  176. package/dist/assets/{useLocalStorage-BNDc6dCy.js → useLocalStorage-C5c8IOKv.js} +1 -1
  177. package/dist/assets/{useThemeProps-CWZCrmyJ.js → useThemeProps-Ddo6kYr5.js} +1 -1
  178. package/dist/assets/{util-Hbz7ULeM.js → util-CQYGkX3v.js} +1 -1
  179. package/dist/assets/vi-DVF2tjOG.js +5 -0
  180. package/dist/assets/{wait-container-BwhzxN9f.js → wait-container-Dt2QEBDD.js} +1 -1
  181. package/dist/assets/{without-wallet-Bms_Rs1m.js → without-wallet-DwaGUGcr.js} +1 -1
  182. package/dist/assets/wrap-locale-BSXSKo1t.js +1 -0
  183. package/dist/assets/{xml-jOEN8hj5.js → xml-TYsadqlU.js} +1 -1
  184. package/dist/assets/{yaml-DIuLKVgk.js → yaml-BeTZvw1b.js} +1 -1
  185. package/dist/assets/{zh-DB1zAstv.js → zh-98nxdLeR.js} +2 -2
  186. package/dist/assets/{zh-tw-DVMVT9am.js → zh-tw-BdDE7n5E.js} +2 -2
  187. package/dist/index.html +1 -1
  188. package/dist/service-worker.js +1 -1
  189. package/package.json +1 -1
  190. package/dist/assets/ArrowDropDown-DZ4LPniJ.js +0 -1
  191. package/dist/assets/actions-CcYVxFDV.js +0 -1
  192. package/dist/assets/api-BgkTVaD7.js +0 -1
  193. package/dist/assets/cloneDeep-a4PlXlaR.js +0 -1
  194. package/dist/assets/connect-to-C1HXhR31.js +0 -30
  195. package/dist/assets/emotion-cache.browser.esm-Dakakd0R.js +0 -1
  196. package/dist/assets/engine-4rlPqZXl.js +0 -1
  197. package/dist/assets/getValidReactChildren-D4p_s3zF.js +0 -1
  198. package/dist/assets/index-BIyZS31y.js +0 -168
  199. package/dist/assets/index-DDHwRT_8.js +0 -1
  200. package/dist/assets/index-Dd8DBQ06.js +0 -328
  201. package/dist/assets/index-PmpfUMid.js +0 -1
  202. package/dist/assets/omit-Cxe_6CRp.js +0 -1
  203. package/dist/assets/pt-CNQsUMCu.js +0 -5
  204. package/dist/assets/ru-CjyCft4V.js +0 -5
  205. package/dist/assets/schema-CSqqEtp_.js +0 -1
  206. package/dist/assets/sdk-C4od53R_.js +0 -1
  207. package/dist/assets/th-WQWRMKAv.js +0 -5
  208. package/dist/assets/toUpper-BVrGP8Kf.js +0 -1
  209. package/dist/assets/vi-Br98wbNi.js +0 -5
  210. package/dist/assets/wrap-locale-BYm00LUc.js +0 -1
@@ -0,0 +1,328 @@
1
+ import{aF as je,j as e,u as X,r as h,e as $e,aG as zr,aH as R,aI as Br,aJ as ln,aK as Kn,aL as cn,aM as rt,V as B,ac as le,s as ne,aN as dn,o as f,aO as Mr,aP as un,aQ as Wr,H as re,M as mn,T as L,t as H,ay as fe,aR as Ae,C as K,U as be,v as Q,aS as Vn,X as pe,K as W,Q as Y,aE as Ie,a8 as et,p as qt,N as it,aT as qr,d as Ht,aU as Fe,aV as me,a9 as Hr,aW as Gr,aX as Kr,y as Vr,A as Yn,W as fn,g as pn,h as te,aY as Gt,a as _t,b as mt,aZ as Xn,a_ as Qn,R as Zn,a3 as At,a$ as Yr,b0 as Xr,b1 as Qr,b2 as Zr,b3 as ot,i as gn,b4 as Jr,b5 as ei,a5 as St,b6 as ti,a6 as It,L as Kt,I as ni,b7 as ri,b8 as Jn,a7 as ii,b9 as er,ba as ke,bb as Re,bc as oi,bd as Vt,be as ai,$ as tr,D as Lt,f as nr,bf as si,bg as hn,aj as li,bh as ci,bi as ee,bj as di,S as xn,l as yn,m as bn,bk as ui,bl as mi,bm as fi}from"./index-2c1VoOd9.js";import{u as pi,T as gi}from"./html-title-BQwqe1Ck.js";import{A as hi}from"./ArrowDropDown-BrtzEFq8.js";import{u as Yt,C as M,a as vn}from"./index.esm-CgpVcU8p.js";import{S as se}from"./switch-control-uPmfeqt7.js";import{P as ie}from"./permission-Dh9Y-pMK.js";import{H as rr,g as xi}from"./index-CZVLqYhR.js";import{A as ir}from"./Link-CvXyobEJ.js";import{A as yi}from"./actions-DSVBY-iK.js";import{D as ve,R as or,a as Ft,b as bi}from"./url-evaluation-CKpb4hS-.js";import{D as ft}from"./delete-confirm-DwwucGed.js";import{v as at}from"./index-BNQ03H5g.js";import{s as vi}from"./logo-BKA11TRi.js";import{u as ji}from"./useLocalStorage-C5c8IOKv.js";import{R as wi}from"./Refresh-kyiL1qX1.js";import{L as Ci}from"./LoadingButton-BhZ8iOtK.js";import{C as Si,R as Di,P as ar,S as ki}from"./rotate-session-key-sNZ4agRi.js";import{A as Oe}from"./Add-CM0i44L2.js";import{B as sr,D as jn,W as Ke}from"./status-BVLGfZ_U.js";import{i as Ri}from"./is-path-prefix-equal-VKe4yShn.js";import{N as Ti}from"./ChevronRight-BUUZmp3v.js";import{I as Ei}from"./MoreVert-Ck4O28kx.js";import{E as lr}from"./Edit-JIlB-sRA.js";import{A as Pi}from"./CallMerge-CQP5GPxe.js";import{C as _i}from"./CardContent-Ck7ja9MC.js";import"./Switch-UORzToTA.js";import"./FilterList-DqZHJbRG.js";import"./CSSTransition-C6uS6QtZ.js";import"./emotion-cache.browser.esm-BLI6o2QB.js";import"./index-D6WMVz-u.js";import"./redux-DfszZyTl.js";import"./typeof-QjJsDpFa.js";import"./depsEqual-DJ4V1mTU.js";import"./index-DOFLIkPm.js";import"./TableSearch-BQiqRB7D.js";import"./Search-BiQ8hlgr.js";import"./Clear-CFi5u92e.js";import"./click-to-copy-BpBPaRWz.js";import"./visuallyHidden-Dan1xhjv.js";const Ai=je(e.jsx("path",{d:"m7 14 5-5 5 5z"})),Ii=je(e.jsx("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"})),Li=je(e.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"})),cr=je(e.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"})),Fi=je(e.jsx("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"})),Oi=je(e.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"})),Ni=je(e.jsx("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"})),ye="Dashboard",dr=h.createContext({}),{Provider:$i,Consumer:cs}=dr,wn=[ye,R.DOMAIN_FOR_IP_SITE,R.DOMAIN_FOR_IP_SITE_REGEXP],Ui=(t,r)=>{if(t.name===R.DOMAIN_FOR_DEFAULT_SITE)return-1;if(r.name===R.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=wn.includes(t.name),i=wn.includes(r.name);return n&&i?cn(t.name,r.name):n?-1:i?1:cn(t.name,r.name)},zi=({sites:t,nodePort:r})=>{const n=window.location.hostname,a=(t||[]).map(o=>{const{id:s,rules:d=[],corsAllowedOrigins:m=[]}=o;let{domain:c,domainAliases:u}=o;u=u||[],[R.DOMAIN_FOR_IP_SITE,R.DOMAIN_FOR_IP_SITE_REGEXP].includes(c)&&(c=ye,u.find(x=>x.value===n)||u.unshift({protected:!1,value:n}));const w={id:s,name:c,type:"domain",items:[],domainAliases:u,isProtected:o.isProtected,corsAllowedOrigins:m};return(d||[]).forEach(x=>{const{id:v,isProtected:A,from:{pathPrefix:j},to:D}=x;if(D.type===R.ROUTING_RULE_TYPES.BLOCKLET){let S="";Number.parseInt(D.port,10)===Number.parseInt(r,10)?(S="Blocklet Server Dashboard",D.type=R.ROUTING_RULE_TYPES.DAEMON):S=D.did,w.items.push({id:v,name:ln(j||"/"),title:S,type:"rule",isProtected:A,pathPrefix:j,to:D})}else w.items.push({id:v,pathPrefix:j,name:ln(j||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:A,to:D})}),w.items=Kn(w.items,x=>x.name),w}).sort(Ui),l=a.reduce((o,s)=>{let{name:d}=s;return d.endsWith(R.BLOCKLET_SITE_GROUP_SUFFIX)&&([d]=d.split(".")),o[d]={...s,rules:s.items},o},{});return{sites:a,siteMap:l}},Bi=({did:t,domain:r,mountPoint:n,siteMap:i,params:a}={})=>{if(!i)return null;const l=i[t];if(!l)return null;const o=r||(l.domainAliases||[])[0];if(!o)return null;let s=n;if(!s){const d=l.rules.filter(m=>!m.name.startsWith(R.WELLKNOWN_PATH_PREFIX))[0];s=d?d.name:"/"}return rt(o.value,s,a)},Mi=({did:t,mountPoint:r,siteMap:n,params:i}={})=>{if(!n)return[];const a=n[t];if(!a)return[];const l=a.domainAliases||[];if(!l.length)return[];let o=r;if(!o){const s=a.rules.filter(d=>!d.name.startsWith(R.WELLKNOWN_PATH_PREFIX))[0];o=s?s.name:"/"}return l.map(s=>rt(s.value,o,i))},Wi=t=>{const r=t.map(i=>i.domain).filter(i=>![R.DOMAIN_FOR_IP_SITE_REGEXP,R.DOMAIN_FOR_DEFAULT_SITE].includes(i));let n=[];return t.forEach(i=>n.push(...i.domainAliases||[])),n=n.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:r,domainsAliases:n}};function Cn({children:t}){const{api:r,info:n}=X(),[i,a]=h.useState([]),[l,o]=h.useState([]),[s,d]=h.useState([]),m=$e(async()=>{const{sites:E}=await r.getRoutingSites({input:{snapshotHash:""}}),y=E||[];await Promise.all(y.map(async b=>(b.domainAliases=await zr(b.domainAliases,{getIP:Br}),b)));const p=Wi(y);a(y),o(p.domains),d([window.location.hostname,...p.domains,...p.domainsAliases.map(b=>b.value)])},[n]),c=(E,y)=>{a(p=>p.map(b=>b.id===E?y.domain?y:{...y,domain:b.domain}:b))},u=E=>r.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(E)}}),w=async E=>{const y=await r.addRoutingSite({input:E});a(i.concat(y.site))},x=async(E,y)=>{const p=await r.updateRoutingSite({input:{id:E,...y}});if(p.site&&p.site.id){const b=i.findIndex(C=>C.id===p.site.id);b!==-1&&(i.splice(b,1,p.site),a([].concat(i)))}},v=async E=>{await r.deleteRoutingSite({input:{id:E}}),a(i.filter(y=>y.id!==E))},A=async(E,y,p)=>{const b=await r.addDomainAlias({input:{id:E,domainAlias:y,force:p}});c(E,b.site)},j=async(E,y)=>{const p=await r.deleteDomainAlias({input:{id:E,domainAlias:y}});c(E,p.site)},D=async(E,y)=>{const{site:p}=await r.addRoutingRule({input:{id:E,rule:y}});c(E,p)},S=async(E,y)=>{const{site:p}=await r.updateRoutingRule({input:{id:E,rule:y}});c(E,p)},k=async(E,y)=>{const{site:p}=await r.deleteRoutingRule({input:{id:E,ruleId:y}});c(E,p)},g={loading:m.loading,error:m.error,refresh:m.retry,api:r,actions:{addSite:w,updateSite:x,deleteSite:v,addDomainAlias:A,deleteDomainAlias:j,takeSnapshot:u,addRule:D,updateRule:S,deleteRule:k}},{sites:T,siteMap:F}=zi({sites:i,nodePort:n.port});return g.sites=T,g.siteMap=F,g.domains=l,g.allDomains=s,g.getBlockletUrl=({did:E,domain:y,mountPoint:p,params:b})=>Bi({did:E,domain:y,mountPoint:p,siteMap:g.siteMap,params:b}),g.getBlockletUrls=({did:E,mountPoint:y,params:p})=>Mi({did:E,mountPoint:y,siteMap:g.siteMap,params:p}),e.jsx($i,{value:{routing:g},children:t})}function de(){const{routing:t}=h.useContext(dr);return t}function Xt(t){const r=[R.DOMAIN_FOR_IP_SITE_REGEXP,R.DOMAIN_FOR_DEFAULT_SITE,R.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&r.push(window.location.hostname),r.includes(t)}function qi(){return null}function ur({confirm:t=null}){const[r,n]=h.useState(null),{t:i}=B(),a=()=>{n(null)},l=async s=>{if(s){let d=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";d==="/"?dn.push(`${s.pathname}`):(d.endsWith("/")&&(d=d.substring(0,d.length-1)),dn.push(`${d}${s.pathname}`)),window.location.reload()}},o=(s,...d)=>{let m=typeof t=="function"?t(s,...d):t;return m?(typeof m=="string"&&(m={description:m}),n({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>l(s),onCancel:()=>a(),...m}),!1):!0};return e.jsxs(Hi,{children:[e.jsx(qi,{message:o}),r&&e.jsx(le,{title:r.title,description:r.description,confirm:r.confirm,cancel:r.cancel,params:r.params,onConfirm:r.onConfirm,onCancel:r.onCancel})]})}ur.propTypes={confirm:f.oneOfType([f.object,f.string,f.func])};const Hi=ne.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 Qt({children:t,...r}){return e.jsx(Gi,{children:e.jsx("form",{...r,children:t})})}Qt.propTypes={children:f.any.isRequired};const Gi=ne.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
+ `,Ki="v21.6.0",Vi=t=>Mr.gte(t,Ki),Sn=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,enableDocker:!1,enableDockerNetwork:!1,isDockerInstalled:!1,enableSessionHardening:t.enableSessionHardening||!1});function mr({onSaved:t,title:r,submit:n,disabled:i=!1,...a}){const{api:l,info:o}=X(),{t:s}=B(),{control:d,handleSubmit:m,formState:c,reset:u}=Yt({defaultValues:Sn(o)}),[w,x]=h.useState(""),[v,A]=h.useState(""),[j,D]=h.useState(!1),[S,k]=h.useState(o.autoUpgrade),[g,T]=h.useState(!!o.enableWelcomePage),[F,E]=h.useState(null),y=un({enableFileSystemIsolation:!!o.enableFileSystemIsolation,tooltip:s("setting.form.security.switchTips"),loading:!1}),p=un({enableDocker:!!o.enableDocker,enableDockerNetwork:!!o.enableDockerNetwork,tooltip:s("setting.form.docker.switchTips"),isDockerInstalled:!!o.isDockerInstalled}),[b,C]=h.useState(!!o.enableBetaRelease);h.useEffect(()=>{let I="";(c.isDirty||S!==o.autoUpgrade||g!==!!o.enableWelcomePage||y.enableFileSystemIsolation!==!!o.enableFileSystemIsolation)&&(I=s("setting.unSavedTip")),A(I)},[s,o,S,g,y.enableFileSystemIsolation,c]),Wr(async()=>{try{const I=Object.assign({},await l.getNodeEnv()||{}),{version:_}=I.info.blockletEngines.find(Z=>Z.name==="node");E(_)}catch(I){console.error(I),re.error(I.message)}},[l]),h.useEffect(()=>{try{y.enableFileSystemIsolation=!!o.enableFileSystemIsolation,y.tooltip=s("setting.form.security.switchTips"),y.loading=mn(F),!mn(F)&&!Vi(F)&&(y.tooltip=s("setting.form.security.warningTips",{version:F}))}catch(I){console.error(I),re.error(I.message)}},[o.enableFileSystemIsolation,F]);const z=async I=>{x(""),D(!0);try{const _=await l.updateNodeInfo({input:{...I,name:I.name.trim(),description:I.description.trim(),registerUrl:I.registerUrl.trim(),webWalletUrl:I.webWalletUrl.trim(),diskAlertThreshold:I.diskAlertThreshold,autoUpgrade:S,enableWelcomePage:g,enableFileSystemIsolation:y.enableFileSystemIsolation,enableBetaRelease:b,enableDocker:p.enableDocker,enableDockerNetwork:p.enableDockerNetwork}});await Vn(1e3),u(Sn(_.info)),typeof t=="function"&&t(_)}catch(_){x(pe(_))}finally{D(!1)}},{errors:N}=c;return e.jsxs(Yi,{...a,children:[e.jsxs(Qt,{noValidate:!0,autoComplete:"off",onSubmit:m(z),children:[!!r&&e.jsx(L,{component:"h2",variant:"h5",className:"stepper-tip",children:r}),e.jsx(ie,{permission:"mutate_node",children:I=>e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"name",control:d,rules:{validate:_=>!!_.trim()||s("setting.form.nameRequired")},render:({field:_})=>e.jsx(H,{variant:"outlined",label:s("setting.form.name"),placeholder:s("setting.form.namePlaceholder"),disabled:j||!I,"data-cy":"node-name-input",error:N.name&&!!N.name.message,helperText:N.name?N.name.message:"",margin:"normal",..._})}),e.jsx(M,{name:"description",control:d,rules:{validate:_=>!!_.trim()||s("setting.form.descriptionRequired")},render:({field:_})=>e.jsx(H,{variant:"outlined",label:s("setting.form.description"),placeholder:s("setting.form.descriptionHolder"),disabled:j||!I,"data-cy":"node-description-input",error:N.description&&!!N.description.message,helperText:N.description?N.description.message:"",margin:"normal",..._})}),e.jsx(M,{name:"registerUrl",control:d,rules:{},render:({field:_})=>e.jsx(H,{variant:"outlined",label:s("setting.form.registerUrl"),placeholder:s("setting.form.registerUrlPlaceholder"),disabled:j||!I,error:N.registerUrl&&!!N.registerUrl.message,helperText:N.registerUrl?N.registerUrl.message:"",margin:"normal",..._})}),e.jsx(M,{name:"nftDomainUrl",control:d,rules:{},render:({field:_})=>e.jsx(H,{variant:"outlined",label:s("setting.form.nftDomainUrl"),placeholder:s("setting.form.nftDomainUrlPlaceholder"),disabled:j||!I,error:N.nftDomainUrl&&!!N.nftDomainUrl.message,helperText:N.nftDomainUrl?N.nftDomainUrl.message:"",margin:"normal",..._})}),e.jsx(M,{name:"webWalletUrl",control:d,rules:{},render:({field:_})=>e.jsx(H,{variant:"outlined",label:s("setting.form.webWalletUrl"),placeholder:s("setting.form.webWalletUrlPlaceholder"),disabled:j||!I,error:N.webWalletUrl&&!!N.webWalletUrl.message,helperText:N.webWalletUrl?N.webWalletUrl.message:"",margin:"normal",..._})}),e.jsx(M,{name:"diskAlertThreshold",control:d,rules:{},render:({field:_})=>e.jsx(H,{type:"number",variant:"outlined",label:s("setting.form.monitor.diskThreshold"),placeholder:s("setting.form.monitor.diskThresholdPlaceholder"),disabled:j||!I,error:N.diskAlertThreshold&&!!N.diskAlertThreshold.message,helperText:N.diskAlertThreshold?N.diskAlertThreshold.message:"",margin:"normal",..._,slotProps:{htmlInput:{min:1,max:99}}})}),e.jsx(se,{checked:S,onChange:()=>k(!S),name:"autoUpgrade",disabled:!I,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:s("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),S&&e.jsx(se,{checked:b,onChange:()=>C(!b),name:"enableBetaRelease",disabled:!I,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:s("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),o?.mode!==R.NODE_MODES.SERVERLESS&&e.jsx(se,{checked:g,onChange:()=>T(!g),name:"enableWelcomePage",disabled:!I,labelProps:{label:e.jsx(L,{children:e.jsx("span",{children:s("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),e.jsx(M,{name:"enableSessionHardening",control:d,render:({field:_})=>e.jsx(se,{checked:_.value,disabled:j||!I,labelProps:{label:e.jsx(L,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.enableSessionHardening.switchLabel"),e.jsx(fe,{title:s("setting.form.enableSessionHardening.switchTips"),children:e.jsx(Ae,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16},..._})}),e.jsx(se,{checked:y.enableFileSystemIsolation,onChange:()=>{y.enableFileSystemIsolation=!y.enableFileSystemIsolation,p.enableDocker&&y.enableFileSystemIsolation&&(p.enableDocker=!1,re.info(s("setting.form.docker.needCloseFileSystemIsolation")))},name:"enableFileSystemIsolation",disabled:!I,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(L,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.security.switchLabel"),e.jsx(fe,{title:!y.loading&&y.tooltip,children:y.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Ae,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(se,{checked:p.enableDocker,onChange:()=>{if(!p.enableDocker&&!p.isDockerInstalled){re.error(s("setting.form.docker.notInstalled"));return}p.enableDocker=!p.enableDocker,p.enableDocker&&y.enableFileSystemIsolation&&(y.enableFileSystemIsolation=!1,re.info(s("setting.form.docker.needCloseFileSystemIsolation"))),!p.enableDocker&&p.enableDockerNetwork&&(p.enableDockerNetwork=!1)},name:"enableDocker",disabled:!I,"data-cy":"docker-switch",labelProps:{label:e.jsx(L,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.docker.switchLabel"),e.jsx(fe,{title:!p.loading&&p.tooltip,children:p.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Ae,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(se,{checked:p.enableDockerNetwork,onChange:()=>{if(!p.enableDockerNetwork&&!p.isDockerInstalled){re.error(s("setting.form.docker.notInstalled"));return}p.enableDockerNetwork=!p.enableDockerNetwork,p.enableDockerNetwork&&!p.enableDocker&&(p.enableDocker=!0)},name:"enableDockerNetwork",disabled:!I,"data-cy":"docker-network-switch",labelProps:{label:e.jsx(L,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.dockerNetwork.switchLabel"),e.jsx(fe,{title:!p.loading&&s("setting.form.dockerNetwork.switchTips"),children:p.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Ae,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}})]})}),!!v&&e.jsx(be,{severity:"warning",children:v}),e.jsx("div",{className:"form-actions",children:e.jsx(ie,{permission:"mutate_node",children:e.jsxs(Q,{onClick:m(z),disabled:i||j,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n," ",j?e.jsx(K,{size:16,sx:{ml:1}}):null]})})}),!!w&&e.jsx(be,{severity:"error",error:w,children:w})]}),v&&e.jsx(ur,{confirm:s("setting.unSavedLeaveTip")})]})}mr.propTypes={onSaved:f.func.isRequired,disabled:f.bool,title:f.string.isRequired,submit:f.string.isRequired};const Yi=ne.div`
48
+ display: flex;
49
+ align-items: flex-start;
50
+ width: 100%;
51
+ max-width: 720px;
52
+ `;function Xi(){const{refresh:t,info:r}=X(),{t:n}=B(),[i,a]=h.useState(!1);h.useEffect(()=>{t({silent:!0})},[]);const l=()=>{t({silent:!0}),re.success(n("setting.saveSuccess"))};return e.jsx(Qi,{children:e.jsxs(W,{sx:{mb:4},children:[e.jsx(mr,{onSaved:l,submit:n("common.saveChanges"),title:""}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:6},children:e.jsxs(Q,{onClick:()=>a(o=>!o),children:[n("common.readMore"),i?e.jsx(Ai,{}):e.jsx(hi,{})]})}),i&&e.jsxs(W,{sx:{fontSize:12,color:"text.secondary"},children:[e.jsxs(W,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",r.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",r.runtimeConfig.daemonMaxMemoryLimit," MB"]})]})]})})}const Qi=ne.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
+ `;function fr({item:t,onDelete:r=()=>{},close:n=()=>{}}){const{t:i}=B(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{id:d,title:m}=t,{api:c}=X(),u=()=>{l(!1),s(null)},w=async()=>{l(!0);try{await c.deleteWebHook({input:{id:d}}),r()}catch(v){console.error(v)}finally{l(!1),s(null)}},x={keyName:d,title:i("setting.webhook.delTitle"),description:`${i("setting.webhook.description",{name:`<b>${m}</b>`,id:`<b>${d}</b>`})}`,confirmPlaceholder:i("setting.webhook.confirm_desc",{name:d}),confirm:i("common.delConfirm"),cancel:i("common.cancel"),onConfirm:w,onCancel:u};return e.jsxs(e.Fragment,{children:[e.jsxs(Y,{disabled:a,onClick:v=>{v.stopPropagation(),n(),s(x)},"data-cy":"action-delete-webhook",dense:!0,children:[e.jsx(Ie,{style:{minWidth:24,marginRight:8},children:a?e.jsx(K,{}):e.jsx(ve,{})}),e.jsx(et,{primary:i("common.delete")})]},"delete-webhook"),o&&e.jsx(ft,{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})]})}fr.propTypes={item:f.object.isRequired,onDelete:f.func,close:f.func};function Zi(){const{api:t,imgPrefix:r}=X(),{t:n,locale:i}=h.useContext(qt),[a,l]=h.useState([]),[o,s]=h.useState(null),d=$e(async()=>{const[{webhooks:g},{senders:T}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return l(T),g}),m=d.value||[],{loading:c,error:u}=d,w=new Set(m.map(g=>g.params.map(T=>T.value)).flat()),x=async g=>{try{await t.createWebHook({input:g}),d.retry()}catch(T){re.error(pe(T),{autoHideDuration:4e3}),console.error("create webhook error",T)}s(null)},v=()=>{s(null)},A=g=>{const T={title:g.title,description:(F,E,y)=>{const p=C=>{E({list:C,__disableConfirm:C.some(z=>z.disable)})},b=F.list||[];return e.jsx(Dn,{children:b.map((C,z)=>e.jsx(Ji,{children:e.jsx(H,{label:C.description,autoComplete:"off",variant:"outlined",fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:C.value||C.defaultValue,onChange:N=>{C.required&&(C.disable=!0);const I=N.target.value.trim();if(C.value=I,b[z]=C,I){const _=w.has(I);qr(C.type,I)&&!_?(C.disable=!1,y("")):(C.disable=!0,y(_?n("setting.webhook.duplicateError"):n("setting.webhook.requiredError",{type:C.description})))}else C.required&&(C.disable=!0),y("");p([...b])},slotProps:{htmlInput:{"data-cy":"webhook-input"}}})},C.name))})},params:{list:g.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:F=>{g.params=F.list,x(g)},onCancel:v};s(T)},j=g=>g.type==="slack"?e.jsx("img",{src:`${r}/${g.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(ir,{}),D=async g=>{try{const T={webhookId:g.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:T}),re.success(n("setting.webhook.testSuccess"))}catch(T){re.error(pe(T),{autoHideDuration:4e3}),console.error("send test notification error",T)}},S=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:g=>{const T=m[g],F=a.find(E=>E.name===T.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[j(T),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",T.id]}),e.jsx("div",{children:F?F.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:g=>{const F=m[g].params.map(E=>e.jsx("div",{children:E.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:F})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:g=>{const T=m[g];return e.jsx(it,{value:T.createdAt,locale:i})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:g=>{const T=m[g],F=a.find(E=>E.name===T.name)||{};return e.jsx(yi,{actions:[{render:({close:E})=>e.jsx(fr,{item:{...T,title:F.title},close:E,onDelete:()=>{d.retry()}})},{icon:e.jsx(eo,{}),text:n("setting.webhook.test"),onClick:()=>{D(T)}}]})}}}];if(!m.length&&c)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(K,{})});if(!m.length&&u)return e.jsx(be,{severity:"error",children:pe(u)});const k=a.map(g=>({icon:j(g),title:`${n("common.add")} ${g.title}`,onClick:()=>{A(g)}}));return e.jsxs(Dn,{children:[o&&e.jsx(le,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel}),e.jsx(rr,{columns:S,data:m,locale:i,customButtons:k,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const Dn=ne.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
+ `,Ji=ne.div`
77
+ display: flex;
78
+ `,eo=ne(Fi)`
79
+ font-size: 16px !important;
80
+ margin-right: 3px;
81
+ `;function Ue({title:t,description:r,children:n}){return e.jsxs(to,{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:r})]}),e.jsx(L,{component:"div",className:"danger-item-action",children:n})]})}Ue.propTypes={children:f.node.isRequired,title:f.string.isRequired,description:f.string.isRequired};const to=ne.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 ze({children:t,...r}){return e.jsx(no,{...r,children:t})}const no=ne.div`
110
+ border: 1px solid ${({theme:t})=>t.palette.divider};
111
+ padding: 16px;
112
+ `;ze.propTypes={children:f.node.isRequired};function Dt({action:t}){const{t:r}=B(),{info:n,api:i}=X(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{data:d,externalData:m}=Ht(),[c,u]=h.useState("restartAllBlocklets"),w=h.useRef(c);if(w.current=c,t==="upgrade"&&!n.nextVersion)return null;const x=()=>{l(!1),s(null)},v=n.enableDocker&&t==="restartAllBlocklet",A=async()=>{try{if(l(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer(),t==="restartAllBlocklet")if(v&&w.current==="restartAllContainers")await i.restartAllContainers(),re.success(r("setting.form.restartAllContainers.restarting"));else{const D=new Set(["running","error"]),k=[...d,...m].filter(g=>D.has(g.status)||D.has(g.greenStatus)).map(g=>{if(!g||!g.children||!g.meta)return Promise.resolve();const T=g.children.filter(F=>D.has(F.status)||D.has(F.greenStatus)).map(F=>F.meta.did);return i.restartBlocklet({input:{did:g.meta.did,componentDids:T}})});await Promise.all(k),re.success(r("setting.form.restartAllBlocklet.restarting"))}}catch(D){re.error(pe(D))}finally{l(!1),s(null)}},j={title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.dialog`),confirm:r("common.confirm"),cancel:r("common.cancel"),onConfirm:A,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsx(ze,{className:"danger-zone",children:e.jsx(Ue,{title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.description`),children:e.jsxs(Q,{onClick:()=>s(j),color:"error",variant:"outlined",size:"large",children:[a?e.jsx(K,{size:16,style:{marginRight:3}}):null,r(`setting.form.${t}.confirm`)]})})}),o&&e.jsx(le,{title:o.title,description:v?e.jsxs(L,{component:"div",children:[e.jsx(L,{gutterBottom:!0,children:r("blocklet.action.restartDescription")}),e.jsxs(or,{name:"removeType",value:c,onChange:D=>{u(D.target.value)},children:[e.jsx(Fe,{value:"restartAllBlocklets",control:e.jsx(Ft,{}),label:r("setting.form.restartAllBlocklet.description")}),e.jsx(Fe,{value:"restartAllContainers",control:e.jsx(Ft,{}),label:r("setting.form.restartAllContainers.description")})]})]}):o.description,confirm:o.confirm,cancel:o.cancel,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function ro(){const{t}=B(),{api:r}=X(),[n,i]=h.useState(!1),[a,l]=h.useState(null),[o,s]=ji("last-check-server-version-time"),d=()=>{i(!1),l(null)},m={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:d,onCancel:d},c=async u=>{try{i(!0);const{version:w}=await r.checkNodeVersion();!w&&u&&l(m),s(Date.now())}catch(w){console.error(`Failed to check new version: ${w.message}`)}finally{i(!1)}};return h.useEffect(()=>{(!o||Date.now()-Number(o)>60*1e3)&&c(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(Ci,{sx:{ml:2},color:"primary",variant:"outlined",onClick:c,size:"small",loadingPosition:"end",loading:n,children:e.jsxs(me,{direction:"row",spacing:.5,sx:{alignItems:"center"},children:[e.jsx(wi,{fontSize:"small"}),e.jsx(L,{component:"span",children:t("server.checkUpgrade")})]})}),a&&e.jsx(le,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function io(){const{t}=B(),{info:r}=X();return e.jsx(ze,{className:"danger-zone",children:e.jsx(Ue,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(Si,{teamDid:r.did,size:"large"})})})}function oo(){const{t}=B(),{info:r}=X();return e.jsx(ze,{className:"danger-zone",children:e.jsx(Ue,{title:t("blocklet.config.rotateSessionKey.name"),description:t("blocklet.config.rotateSessionKey.purpose"),children:e.jsx(Di,{teamDid:r.did,size:"large"})})})}const ao="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function so(){const{t}=B(),{info:r}=X(),n=Hr(r),{createdAt:i,did:a,description:l,name:o}=r,s=Gr(async()=>{const c=localStorage.getItem("__registerUrl")||r.registerUrl,u=new URL(c);u.pathname="__blocklet__.js",u.searchParams.set("type","json");const{data:w}=await Kr.get(u.toString()),x=w?.componentMountPoints?.find(A=>A.did===ao),v=new URL(c);return v.pathname=Vr(x?.mountPoint||"","register"),v}),d={did:a,name:o,createdAt:i,description:l,url:n};if(s.loading)return"";if(s.error)return console.error("registerUrlState.error",s.error),"";const m=s.value;return e.jsx(lo,{children:e.jsx(ze,{className:"danger-zone",children:e.jsx(Ue,{title:t("setting.form.register.title"),description:t("setting.form.register.description",{url:m.origin}),children:e.jsx(Q,{color:"primary",component:"a",href:`${m.toString()}?register-server=${encodeURIComponent(JSON.stringify(d))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.button")})})})})}const lo=ne.div`
113
+ .danger-zone {
114
+ margin-top: 1vw;
115
+ width: 100%;
116
+ }
117
+ `;function co(){const t=Yn(),{api:r,info:n}=X(),{t:i}=B(),a=$e(async()=>{const o=await r.getNodeEnv();return Object.assign({},o.info||{})}),l=[];return l.push({name:i("dashboard.nodeDid"),value:e.jsx(fn,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(fn,{did:n.nodeOwner.did,showQrcode:!0})}:null),a.value&&l.push({name:i("dashboard.routingEngine"),value:a.value.routerProvider},{name:i("dashboard.database"),value:a.value.dbProvider},{name:`${i("common.os")}`,value:a.value.os},a.value.docker?{name:`${i("common.docker")}`,value:e.jsx(pn,{type:"success",children:"Yes"})}:null,a.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(pn,{type:"success",children:"Yes"})}:null),Array.isArray(te(a,"value.blockletEngines",null))&&a.value.blockletEngines.filter(o=>o.visible&&o.available).forEach(o=>{l.push({name:o.displayName,value:o.version})}),e.jsxs(uo,{children:[e.jsx(ie,{permission:"mutate_node",children:o=>e.jsxs(e.Fragment,{children:[e.jsxs(W,{style:{marginBottom:24},sx:{display:"flex",alignItems:"center"},children:[e.jsx(W,{sx:{width:50,height:50},children:e.jsx("img",{src:vi,height:50,alt:""})}),e.jsxs(W,{sx:{ml:2},children:[e.jsx("h2",{style:{margin:0},children:n.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),e.jsxs(at,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[n.version,o&&e.jsx(ro,{})]},"version"),l.filter(Boolean).map(s=>e.jsx(at,{valueComponent:"div",nameWidth:150,name:s.name,children:s.value},s.name)),o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Dt,{action:"upgrade"})})]})}),e.jsx(ie,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Dt,{action:"restart"})})}),e.jsx(ie,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Dt,{action:"restartAllBlocklet"})})}),e.jsx(ie,{permission:"mutate_router",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(io,{})})}),e.jsx(ie,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(oo,{})})}),e.jsx(ie,{permission:"mutate_blocklets",children:!!n.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(so,{})})}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:10},children:e.jsx(Q,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const uo=ne.div`
118
+ display: flex;
119
+ flex-direction: column;
120
+ margin-top: 32px;
121
+ `,pr=h.createContext({}),{Provider:mo,Consumer:ds}=pr;function gr({children:t,domains:r}){const{api:n}=X(),i=JSON.stringify(r),[a,l]=h.useState({}),o=h.useMemo(()=>r.filter(x=>Gt(x)),[i]);_t(R.EVENTS.DOMAIN_STATUS,x=>{x&&l(v=>({...v,[x.domain]:{...v[x.domain],...x}}))});const{domainsAccessibility:s,recommendedDomain:d}=bi(o),m=h.useMemo(()=>{const x={...a};return Object.keys(s).forEach(v=>{const A=x[v]||{};x[v]={...A,...s[v]}}),x},[a,s]),c=()=>{o.length>0&&n.checkDomains({input:{domains:o}})},u=x=>{x&&n.checkDomains({input:{domains:[x]}})};h.useEffect(()=>{c()},[o]);const w={refresh:c,updateStatus:u,api:n,status:m,recommendedDomain:d,recommendedDomainStatus:m[d]};return e.jsx(mo,{value:w,children:t})}gr.propTypes={children:f.any.isRequired,domains:f.array.isRequired};function pt(){const{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}=h.useContext(pr);return{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}}const fo=t=>(te(t,"meta.interfaces")||[]).find(n=>n.type===mt.BLOCKLET_INTERFACE_TYPE_WEB);function gt({params:t={},blocklets:r=[],setParams:n=()=>{},setError:i=()=>{},serviceTypes:a=[{name:"Blocklet",value:R.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:R.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:R.ROUTING_RULE_TYPES.NONE}]}){const{t:l}=B(),o={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},s=Kn(r,c=>c.meta.name),d=(c,u)=>{if(!u)return{};let{port:w}=c;u&&c.ports&&u.port&&(c.ports[u.port]&&(w=c.ports[u.port]),c.ports[u.port.internal]&&(w=c.ports[u.port.internal]));let{pathPrefix:x}=t;return u&&u.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&(x=u.prefix),{port:w,pathPrefix:x}},m=c=>{const u=s.find(x=>x.meta.did===c),w=fo(u);return{...d(u,w),interfaceName:w?w.name:""}};return h.useEffect(()=>{!t.interfaceName&&t.type===R.ROUTING_RULE_TYPES.BLOCKLET&&n({...t,...m(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(H,{select:!0,label:l("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:c=>{i(""),n({...t,type:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},slotProps:{select:{}},children:a.map(({name:c,value:u})=>e.jsx(Y,{value:u,children:c},u))}),t.type===R.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(H,{select:!0,label:l("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:c=>{n({...t,...m(c.target.value),did:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[s.map(c=>e.jsxs(Y,{value:c.meta.did,children:[`${c.meta.name} v${c.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(sr,{status:c.status,progress:c.progress})})]},c.meta.did)),r.length===0&&e.jsx(Y,{value:"",children:l("common.empty")},"empty")]}),t.type===R.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(H,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:c=>n({...t,redirectCode:c.target.value}),style:{marginBottom:32},slotProps:{select:{}},children:Object.keys(o).map(c=>e.jsx(Y,{value:c,children:`${o[c]} - ${c}`},c))}),e.jsx(H,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:c=>{n({...t,url:c.target.value,__disableConfirm:!c.target.value.trim()}),c.target.value.trim()?i(""):i(l("router.validation.redirectUrlRequired"))},slotProps:{htmlInput:{"data-cy":"redirect-url-input"}}})]]})}gt.propTypes={params:f.object,blocklets:f.array,serviceTypes:f.array,setParams:f.func,setError:f.func};const hr=(t,r)=>{if(t.type===R.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${r("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${r("router.validation.redirectCodeRequired")}`)}else if(t.type===R.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(r("router.validation.didRequired"));return null},Ne=(t,r)=>t?t.endsWith(R.DEFAULT_IP_DOMAIN_SUFFIX)?r("router.domain.validate.suffixTip",{suffix:R.DEFAULT_IP_DOMAIN_SUFFIX}):null:r("router.domain.validate.emptyTip"),po=(t,r)=>{const n=hr(t,r);if(n)return n;const i=Ne(t.domain,r);return i?new Error(i):null},st=(t,r)=>{const n=hr(t,r);return n||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(r("router.validation.pathPrefixTooLong",{length:150})):null:new Error(r("router.validation.pathPrefixCannotBeEmpty")))},xr=({params:t,blocklets:r,blocklet:n,locale:i="en"})=>{if(n){let o=(n.children||[]).find(s=>Ri(s.mountPoint,t.pathPrefix));if(n.meta.group!=="gateway"&&t.pathPrefix==="/"&&(o="/"),o)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const a=r.find(o=>o.meta.did===t.did);if(!a)return"";const l=a.meta.interfaces.find(o=>o.type==="web");return l&&l.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==l.prefix?{zh:`该 blocklet 只能挂载在 ${l.prefix}`,en:`This blocklet can only be mounted on ${l.prefix}`}[i]:""},Zt=t=>{if(t.length===0)return"";const{searchParams:r}=new URL(window.location.href),n=r.get("fromDid");if(n){const i=t.find(a=>a.meta.did===n);if(i)return i.meta.did}return t[0].meta.did};function Jt({blocklets:t=[],onActivate:r=()=>{},children:n=null}){const{t:i}=B(),{actions:a}=de(),{info:l}=X(),[o,s]=h.useState(!1),[d,m]=h.useState(null),c=()=>{s(!1),m(null)},u=async v=>{s(!0);const A={from:{pathPrefix:"/"},to:{type:v.type}},j={domain:v.domain.trim()===l.ip?"":v.domain.trim()};if(v.type===R.ROUTING_RULE_TYPES.BLOCKLET){const D=t.find(k=>k.meta.did===v.did),S=te(D,"meta.interfaces",[]).find(k=>k.name===v.interfaceName);S&&S.prefix!==mt.BLOCKLET_DYNAMIC_PATH_PREFIX&&(A.from.pathPrefix=S.prefix),A.to.port=v.port,A.to.did=v.did,A.to.interfaceName=v.interfaceName,j.rules=[A]}else v.type===R.ROUTING_RULE_TYPES.REDIRECT&&(A.to.url=v.url,A.to.redirectCode=v.redirectCode,j.rules=[A]);await a.addSite(j),s(!1),m(null)},w={title:i("router.domain.addSite"),description:(v,A,j)=>{const D=S=>{const k=S.__disableConfirm||!!po(S,i);A({...S,__disableConfirm:k})};return e.jsxs(L,{component:"div",children:[e.jsx(H,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:v.domain,style:{marginTop:16,marginBottom:32},onChange:S=>{const k=S.target.value.trim(),g=Ne(k,i);D({...v,domain:S.target.value,__disableConfirm:!!g}),j(g||"")},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(gt,{blocklets:t,params:v,setParams:D,setError:j})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:Zt(t),port:"",interfaceName:"",type:R.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:u,onCancel:c},x=v=>{v.stopPropagation(),m(w)||r()};return h.useEffect(()=>{const{searchParams:v}=new URL(window.location.href);v.get("fromDid")&&m(w)},[]),e.jsxs(e.Fragment,{children:[typeof n=="function"?n({loading:o,open:x}):e.jsxs(Y,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[o?e.jsx(K,{size:16}):e.jsx(ar,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),d&&e.jsx(le,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Jt.propTypes={blocklets:f.array,children:f.any,onActivate:f.func};function kn(t){const{t:r}=B(),{actions:n}=de(),[i,a]=h.useState(!1),[l,o]=h.useState(null),{id:s,name:d}=t;if(Xt(d))return null;const m=()=>{a(!1),o(null)},c=async()=>{a(!0),await n.deleteSite(s),a(!1),o(null)},u={title:r("router.domain.delete.title"),description:r("router.domain.delete.description",{name:`<b>${d}</b>`}),confirmPlaceholder:r("router.domain.delete.confirm_desc",{name:d}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:c,onCancel:m,keyName:d},w=x=>{x.stopPropagation(),o(u)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(Y,{onClick:w,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),r("router.domain.delete.title")]}),l&&e.jsx(ft,{keyName:l.keyName,title:l.title,description:l.description,confirmPlaceholder:l.confirmPlaceholder,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel})]})}function Ot({id:t,blocklets:r=[],onActivate:n=()=>{},onRuleAdded:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=B(),{actions:s}=de(),[d,m]=h.useState(!1),[c,u]=h.useState(null),w=()=>{m(!1),u(null)},x=async j=>{const D=await st(j,o);if(D)throw D;m(!0);const S={from:{pathPrefix:Qn.urlPathFriendly(j.pathPrefix)},to:{type:j.type}};j.type===R.ROUTING_RULE_TYPES.BLOCKLET?(S.to.port=j.port,S.to.did=j.did,S.to.interfaceName=j.interfaceName):j.type===R.ROUTING_RULE_TYPES.REDIRECT&&(S.to.url=j.url.trim(),S.to.redirectCode=j.redirectCode),await s.addRule(t,S,l),u(null),m(!1),i()},v={title:o("router.rule.add.title"),description:(j,D,S)=>{const k=g=>{if(S(null),st(g,o)){D({...g,__disableConfirm:!0});return}D({...g})};return e.jsxs(L,{component:"div",children:[e.jsx(H,{label:o("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:j.helperText||o("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:j.pathPrefix,onChange:g=>{let T=!1;const F=xr({params:{...j,pathPrefix:g.target.value},blocklets:r});S(F),j.type===R.ROUTING_RULE_TYPES.BLOCKLET&&F&&(T=!0),j.type===R.ROUTING_RULE_TYPES.REDIRECT&&!j.url&&(T=!0),g.target.value.trim()||(T=!0,S(o("router.validation.pathPrefixRequired"))),T||S("");const E=o("common.slugifyHint",{value:Xn(g.target.value)});D({...j,pathPrefix:g.target.value,helperText:E,__disableConfirm:T})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(gt,{blocklets:r,params:j,setParams:k,setError:S})]})},confirm:o("router.rule.add.confirm"),cancel:o("common.cancel"),params:{pathPrefix:"",type:R.ROUTING_RULE_TYPES.BLOCKLET,did:Zt(r),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:x,onCancel:w},A=j=>{j.stopPropagation(),u(v)||n()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:d,open:A}):e.jsxs(Y,{onClick:A,className:"rule-action","data-cy":"action-add-rule",children:[d?e.jsx(K,{size:16}):e.jsx(ir,{style:{fontSize:18,marginRight:5}}),o("router.rule.add.title")]}),c&&e.jsx(le,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}Ot.propTypes={id:f.string.isRequired,blocklets:f.array,children:f.any,onActivate:f.func,onRuleAdded:f.func,teamDid:f.string};function yr({id:t,name:r,parent:{id:n},children:i=null,onActivate:a=()=>{},teamDid:l=""}){const{t:o}=B(),{actions:s}=de(),[d,m]=h.useState(!1),[c,u]=h.useState(null),w=()=>{m(!1),u(null)},x=async()=>{m(!0),await s.deleteRule(n,t,l),m(!1),u(null)},v={keyName:r,title:o("router.rule.delete.title"),description:o("router.rule.delete.description",{name:`<b>${r}</b>`}),confirmPlaceholder:o("router.rule.delete.confirm_desc",{name:r}),confirm:o("common.delConfirm"),cancel:o("router.rule.delete.cancel"),onConfirm:x,onCancel:w},A=j=>{j.stopPropagation(),u(v)||a()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:d,open:A}):e.jsxs(Y,{onClick:A,className:"rule-action","data-cy":"action-delete-rule",children:[d?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),o("router.rule.delete.title")]}),c&&e.jsx(ft,{keyName:c.keyName,title:c.title,description:c.description,confirmPlaceholder:c.confirmPlaceholder,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel})]})}yr.propTypes={id:f.string.isRequired,name:f.string.isRequired,parent:f.object.isRequired,children:f.any,onActivate:f.func,teamDid:f.string};function br({id:t,name:r,did:n="",parent:i,blocklets:a=[],to:l,children:o=null,onActivate:s=()=>{},teamDid:d=""}){const{t:m}=B(),{actions:c}=de(),[u,w]=h.useState(!1),[x,v]=h.useState(null),A=()=>{w(!1),v(null)},j=async k=>{const g=await st(k,m);if(g)throw g;w(!0);const T={id:t,from:{pathPrefix:Qn.urlPathFriendly(k.pathPrefix)},to:{type:k.type}};k.type===R.ROUTING_RULE_TYPES.BLOCKLET?(T.to.port=k.port,T.to.did=k.did,T.to.interfaceName=k.interfaceName):k.type===R.ROUTING_RULE_TYPES.REDIRECT&&(T.to.url=k.url,T.to.redirectCode=k.redirectCode),await c.updateRule(i.id,T,d),v(null),w(!1)},D={title:m("router.rule.update.title"),description:(k,g,T)=>{const F=E=>{if(st(E,m)){g({...E,__disableConfirm:!0});return}g({...E})};return e.jsxs(L,{component:"div",children:[e.jsx(H,{label:m("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:k.helperText||m("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:k.pathPrefix,onChange:E=>{let y=!1;const p=xr({params:{...k,pathPrefix:E.target.value},blocklets:a});k.type===R.ROUTING_RULE_TYPES.BLOCKLET&&p&&(y=!0,T(p)),k.type===R.ROUTING_RULE_TYPES.REDIRECT&&!k.url&&(y=!0),E.target.value.trim()||(y=!0,T(m("router.validation.pathPrefixRequired"))),y||T("");const b=m("common.slugifyHint",{value:Xn(E.target.value)});g({...k,pathPrefix:E.target.value,helperText:b,__disableConfirm:y})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(gt,{blocklets:a,params:k,setParams:F,setError:T})]})},confirm:m("router.rule.update.confirm"),cancel:m("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:l.type||R.ROUTING_RULE_TYPES.BLOCKLET,did:n||Zt(a),port:l.port||"",interfaceName:l.interfaceName||"",redirectCode:l.redirectCode||302,url:l.url||"",__disableConfirm:!1},onConfirm:j,onCancel:A},S=k=>{k.stopPropagation(),v(D)||s()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:u,open:S}):e.jsxs(Y,{onClick:S,className:"rule-action","data-cy":"action-update-rule",children:[u?e.jsx(K,{size:16}):e.jsx(lr,{style:{fontSize:18,marginRight:5}}),m("router.rule.update.title")]}),x&&e.jsx(le,{title:x.title,description:x.description,confirm:x.confirm,color:x.color,cancel:x.cancel,params:x.params,onConfirm:x.onConfirm,onCancel:x.onCancel})]})}br.propTypes={id:f.string.isRequired,name:f.string.isRequired,did:f.string,parent:f.object.isRequired,blocklets:f.array,to:f.object.isRequired,children:f.any,onActivate:f.func,teamDid:f.string};function tt({id:t,name:r,onActivate:n=()=>{},children:i=null,title:a="",teamDid:l=""}){const{t:o}=B(),{actions:s}=de(),[d,m]=h.useState(!1),[c,u]=h.useState(null);if(R.DOMAIN_FOR_DEFAULT_SITE===r)return null;const w=()=>{m(!1),u(null)},x=async D=>{m(!0),await s.addDomainAlias(t,D.domain.trim(),!!D.force,l),m(!1),u(null)},v=async(D,S,k)=>{try{await S(D)}catch(g){k(pe(g))}finally{m(!1)}},A={title:a||o("router.domainAlias.add.title"),description:(D,S,k)=>e.jsxs(L,{component:"div",children:[e.jsx(H,{label:o("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,value:D.domain,style:{marginBottom:8},margin:"dense",onChange:g=>{const T=g.target.value.trim(),F=Ne(T,o);S({...D,domain:T,__disableConfirm:!!F}),k(F||"")},onKeyPress:g=>{if(g.key==="Enter"){g.preventDefault();const T=g.target.value.trim(),F=Ne(T,o);F?k(F):v(D,x,k)}},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(Fe,{control:e.jsx(Zn,{checked:D.force,onChange:g=>{S({...D,force:g.target.checked})},name:"checkedB",color:"primary"}),label:o("router.domainAlias.add.forceTip")})]}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:x,onCancel:w},j=D=>{D.stopPropagation(),u(A)||n()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:d,open:j}):e.jsxs(Y,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[d?e.jsx(K,{size:16}):e.jsx(Pi,{style:{fontSize:18,marginRight:5}}),o("router.domainAlias.add.title")]}),c&&e.jsx(le,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}tt.propTypes={id:f.string.isRequired,name:f.string.isRequired,children:f.any,onActivate:f.func,title:f.string,teamDid:f.string};function nt({id:t,name:r,corsAllowedOrigins:n="",onActivate:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=B(),{actions:s}=de(),[d,m]=h.useState(!1),[c,u]=h.useState(null);if(Xt(r))return null;let w=r;r.endsWith(R.BLOCKLET_SITE_GROUP_SUFFIX)&&(w=`${o("common.the")} Blocklet`);const x=()=>{m(!1),u(null)},v=async D=>{m(!0),await s.updateSite(t,{corsAllowedOrigins:D.corsAllowedOrigins.split(",").map(S=>S.trim())},l),m(!1),u(null)},A={title:o("router.domainSecurity.title"),description:(D,S,k)=>e.jsx(L,{component:"div",children:e.jsx(H,{label:o("router.domainSecurity.cors.title",{name:w}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:D.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:o("router.domainSecurity.cors.description",{name:w}),onChange:g=>{S({...D,corsAllowedOrigins:g.target.value,__disableConfirm:!g.target.value.trim()}),g.target.value.trim()?k(""):k(o("router.domainSecurity.cors.domainInvalid"))}})}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{corsAllowedOrigins:Array.isArray(n)?n.join(", "):r,__disableConfirm:!0},onConfirm:v,onCancel:x},j=D=>{D.stopPropagation(),u(A)||i()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:d,open:j}):e.jsxs(Y,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[d?e.jsx(K,{size:16}):e.jsx(Oe,{style:{fontSize:18,marginRight:5}}),o("router.domainSecurity.title")]}),c&&e.jsx(le,{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={id:f.string.isRequired,name:f.string.isRequired,children:f.any,onActivate:f.func,corsAllowedOrigins:f.oneOfType([f.string,f.array]),teamDid:f.string};function go({id:t,name:r,onActivate:n}){const{t:i}=B(),{actions:a}=de(),[l,o]=h.useState(!1),[s,d]=h.useState(null);if(Xt(r))return null;const m=()=>{o(!1),d(null)},c=async x=>{o(!0),await a.updateSite(t,{domain:x.domain.trim()}),o(!1),d(null)},u={title:i("router.domain.update.title"),description:(x,v,A)=>e.jsx(L,{component:"div",children:e.jsx(H,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:x.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:j=>{const D=j.target.value.trim(),S=Ne(D,i);v({...x,domain:j.target.value,__disableConfirm:!!S}),A(S||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:r,__disableConfirm:!0},onConfirm:c,onCancel:m},w=x=>{x.stopPropagation(),d(u)||n()};return e.jsxs(e.Fragment,{children:[e.jsxs(Y,{onClick:w,className:"rule-action",children:[l?e.jsx(K,{size:16}):e.jsx(lr,{style:{fontSize:18,marginRight:5}}),i("router.domain.update.title")]}),s&&e.jsx(le,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel,color:"primary"})]})}function Le({blocklet:t={},onRuleAdded:r=()=>{},type:n,...i}){const[a,l]=h.useState(null),o={type:n,blocklet:t,onRuleAdded:r,...i},s=u=>{u.stopPropagation(),l(u.currentTarget)},d=u=>{u&&u.stopPropagation(),l(null)},m=[];if(n==="root"&&m.push(e.jsx(Jt,{...o,onActivate:d},"add-domain")),n==="domain"&&m.push(e.jsx(go,{...o,onActivate:d},"update-domain"),e.jsx(Ot,{...o,onActivate:d,onRuleAdded:o.onRuleAdded},"add-rule"),e.jsx(tt,{...o,onActivate:d},"add-domain-alias"),e.jsx(nt,{...o,onActivate:d},"update-domain-security"),e.jsx(kn,{...o,onActivate:d},"delete-domain")),n==="rule"&&m.push(e.jsx(br,{...o,onActivate:d},"update-rule"),e.jsx(yr,{...o,onActivate:d},"delete-rule")),n===R.ROUTING_RULE_TYPES.REDIRECT&&m.push(e.jsx(kn,{...o,onActivate:d},"delete-domain")),n==="dashboard_domain"&&m.push(e.jsx(Ot,{...o,onActivate:d},"add-rule"),e.jsx(nt,{...o,onActivate:d},"update-domain-security"),e.jsx(tt,{...o,onActivate:d},"add-domain-alias")),n==="blocklet_domain"&&m.push(e.jsx(nt,{...o,onActivate:d},"update-domain-security"),e.jsx(tt,{...o,onActivate:d},"add-domain-alias")),m.length===0)return null;const c=u=>{u.stopPropagation()};return e.jsxs("div",{children:[e.jsx(At,{onMouseDown:c,onClick:s,"data-cy":"action-trigger",size:"large",children:e.jsx(Ei,{})}),e.jsx(Yr,{keepMounted:!0,onMouseDown:c,open:!!a,onClose:d,anchorEl:a,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:m})]})}Le.propTypes={blocklet:f.object,onRuleAdded:f.func};function vr({certificate:t={}}){const[r,n]=h.useState(null),i=X(),{t:a,locale:l}=B(),o=m=>{n(m.currentTarget)},s=()=>{n(null)},d=!!r;return e.jsxs(e.Fragment,{children:[e.jsx(cr,{"aria-owns":d?"mouse-over-popover":void 0,onMouseEnter:o,onMouseLeave:s,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Qr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:d,anchorEl:r,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:s,disableRestoreFocus:!0,children:e.jsx(Zr,{children:e.jsxs(_i,{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:`${a("common.issuer")}: ${te(t,"issuer.commonName","")}`}),e.jsx(L,{component:"div",children:`${a("router.cert.issuedOn")}: ${ot(t.validFrom,l)}`}),e.jsx(L,{component:"div",children:`${a("router.cert.expiryOn")}: ${ot(t.validTo,l)}`})]})]})})})]})}vr.propTypes={certificate:f.object};function Nt({name:t,type:r,filters:n=["domain","http"]}){const{t:i}=B(),{status:a}=pt();if(r!=="domain"||!Gt(t))return null;let l=null,o=null;const{isHttps:s,matchedCert:d}=a[t]||{};if(!Xr(t)){const{dns:{resolved:c,ip:u}={}}=a[t]||{};c||u==="127.0.0.1"?l=e.jsx(fe,{title:i("router.domain.verify.ok"),children:e.jsx(jn,{color:"success"})}):l=e.jsx(fe,{title:i("router.domain.verify.notResolved"),children:e.jsx(jn,{color:"error"})})}s?o=e.jsx(vr,{certificate:d}):o=e.jsx(fe,{title:i("router.domain.https.bad"),children:e.jsx(cr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const m=n.map(c=>c==="domain"?l:c==="http"?o:null);return h.createElement(h.Fragment,null,...m)}Nt.propTypes={type:f.string.isRequired,name:f.string.isRequired,filters:f.array};const ho=t=>["waiting","creating","renewaling"].includes(t);function jr({domain:t,onAdd:r=()=>{},children:n=null,siteId:i}){const{t:a}=B(),[l,o]=h.useState(!1),[s,d]=h.useState(null),{api:m}=X(),[c,u]=h.useState(!1),{updateStatus:w}=pt(),x=$e(async()=>{const{cert:k}=await m.findCertificateByDomain({input:{domain:t}});return k}),v=k=>{k.domain===t&&u(!1)};if(h.useEffect(()=>{!x.loading&&ho(x.value?.status)&&u(!0)},[x]),_t(R.EVENTS.CERT_ERROR,v),_t(R.EVENTS.CERT_ISSUED,k=>{x.retry(),w(k.domain),v(k)}),x.loading||x.value?.status==="normal")return"";const A=()=>{o(!1),d(null)},j=async()=>{o(!0);try{await m.issueLetsEncryptCert({input:{domain:t,siteId:i}}),r(),u(!0)}catch(k){console.error(k),u(!1)}finally{o(!1),d(null)}},D={title:a("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")}),a("router.cert.genLetsEncryptCert.description")]}),confirm:a("common.confirm"),onConfirm:j,onCancel:A},S=k=>{k.stopPropagation(),d(D)};return e.jsxs(e.Fragment,{children:[c?e.jsx(fe,{title:a("router.cert.issuing"),children:e.jsx(K,{size:12})}):n({loading:l,open:S}),s&&e.jsx(le,{color:"primary",title:s.title,description:s.description,confirm:s.confirm,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}jr.propTypes={domain:f.string.isRequired,onAdd:f.func,children:f.any,siteId:f.string.isRequired};function $t({domain:t,siteId:r,onAdd:n=()=>{},children:i=null}){const{status:a}=pt();return!Gt(t)||a[t]?.isHttps?"":e.jsx(jr,{domain:t,onAdd:n,siteId:r,children:i})}$t.propTypes={siteId:f.string.isRequired,domain:f.string.isRequired,onAdd:f.func,children:f.any};function wr({id:t,domain:r,onDelete:n=()=>{},children:i=null,teamDid:a=""}){const{t:l}=B(),[o,s]=h.useState(!1),[d,m]=h.useState(null),{actions:c}=de();if(r===window.location.hostname)return"";const u=()=>{s(!1),m(null)},w=async()=>{s(!0);try{await c.deleteDomainAlias(t,r,a),n()}catch(A){console.error(A)}finally{s(!1),m(null)}},x={keyName:r,title:l("router.domainAlias.delete.title"),description:l("router.domainAlias.delete.description",{domain:r}),confirmPlaceholder:l("router.domainAlias.delete.confirmPlaceholder",{domain:r}),confirm:l("common.delete"),onConfirm:w,onCancel:u},v=A=>{A.stopPropagation(),m(x)};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:o,open:v}):e.jsxs(Q,{edge:"end",onClick:v,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[o?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),l("common.delete")]}),d&&e.jsx(ft,{keyName:d.keyName,title:d.title,description:d.description,confirmPlaceholder:d.confirmPlaceholder,confirm:d.confirm,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel})]})}wr.propTypes={id:f.string.isRequired,domain:f.string.isRequired,onDelete:f.func,children:f.any,teamDid:f.string};function Cr({domain:t,isHttps:r=!1,toUrl:n}){const i=r?"https":"http",{t:a}=B();let l=n;return er(l)||(l=`${i}://${t}${n}`),e.jsxs(e.Fragment,{children:[e.jsx(L,{className:"arrow-name-middle",children:a("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Kt,{href:l,target:"_blank",underline:"hover",children:n},l)]})}Cr.propTypes={domain:f.string.isRequired,toUrl:f.string.isRequired,isHttps:f.bool};function xo(){const{t}=B();return e.jsx(L,{className:"arrow-name-middle",children:t("common.page404")})}function lt({id:t="",type:r="",name:n="",title:i="",items:a=[],depth:l=0,to:o={},expand:s=!0,isProtected:d=!1,pathPrefix:m="",parent:c={},domainAliases:u=[],...w}){const x={id:t,type:r,name:n,title:i,items:a,depth:l,to:o,expand:s,isProtected:d,pathPrefix:m,parent:c,domainAliases:u,...w},{t:v}=B(),{data:A}=Ht(),{info:j}=X(),{status:D}=pt(),S=A.map(V=>({meta:{did:V.meta.did,name:gn.getDisplayName(V,!0),version:V.meta.version,interfaces:V.meta.interfaces},port:V.port,ports:V.ports,status:V.status}));let k=n;const g=n.endsWith(R.BLOCKLET_SITE_GROUP_SUFFIX);let T=r;n===ye&&(T="dashboard_domain"),g&&(T="blocklet_domain");const[F,E]=h.useState(s),p={root:Oi,domain:ar,rule:Ni}[r],b={paddingBottom:8,paddingLeft:8};if(r==="domain"){let V=function({domain:U,primaryDomain:O,rules:q}){let oe=rt(U);return O===ye?oe=`${oe}/${j.routing.adminPath.replace(/^\/+/,"")}`:q&&q.length&&q[0].pathPrefix&&(oe=`${oe}/${q[0].pathPrefix.replace(/^\/+/,"")}`),U!==ye?e.jsx(yo,{href:oe,target:"_blank",rel:"noreferrer",onClick:we=>we.stopPropagation(),children:U}):U};if(d&&!g)return null;if(g){const U=n.replace(R.BLOCKLET_SITE_GROUP_SUFFIX,""),O=S.find(q=>q.meta.did===U);if(!O||O.controller)return null;k=O.meta.title||O.meta.name}V.propTypes={domain:f.string.isRequired,primaryDomain:f.string.isRequired,rules:f.array.isRequired};const he=()=>{E(!0)};let ge=(u||[]).filter(U=>U.value!==n);return ge=Jr(ge),[e.jsxs(kt,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!g&&e.jsxs(Ie,{onClick:()=>E(U=>!U),children:[a.length>0&&(F?e.jsx(ei,{}):e.jsx(Ti,{})),e.jsx(p,{style:{fontSize:22}})]}),g&&e.jsx(Ie,{children:e.jsx(p,{style:{fontSize:22}})}),e.jsx(et,{onClick:()=>E(U=>!U),className:`rule-name rule-name--depth${l}`,style:{flex:1},secondary:a.length<=0?e.jsx("span",{className:"site-secondary",children:v("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[n===R.DOMAIN_FOR_DEFAULT_SITE&&v("router.defaultSite"),n!==R.DOMAIN_FOR_DEFAULT_SITE&&!g&&e.jsx(V,{domain:n,primaryDomain:n,rules:a}),g&&k,a.length&&!F?e.jsx("span",{style:{marginLeft:5},children:`(${a.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),r==="domain"&&n!==R.DOMAIN_FOR_DEFAULT_SITE&&n!==ye&&!g&&e.jsxs(e.Fragment,{children:[e.jsx(Nt,{type:r,name:n},n),e.jsx("span",{style:{marginLeft:12}}),e.jsx($t,{siteId:t,domain:n,children:({open:U})=>e.jsx(Q,{size:"small",onClick:O=>U(O),children:v("router.cert.genLetsEncryptCert.title")})})]})]}),ge.map(U=>{const O=typeof U!="string"?U.value:U;return e.jsxs("div",{className:"site-alias",children:[e.jsx(V,{domain:O,primaryDomain:n,rules:a}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Nt,{type:r,name:O},`domain-status-${n}`),e.jsx($t,{siteId:t,domain:O,children:({open:q})=>e.jsx(Q,{size:"small",onClick:oe=>q(oe),children:v("router.cert.genLetsEncryptCert.title")})}),!U.isProtected&&e.jsx(wr,{id:x.id,domain:O},"delete-domain-alias"),O!==ye&&O!==window.location.hostname&&e.jsx(Le,{...x,domain:O,type:"domainAlias",onRuleAdded:he},`action-${n}`)]},O)})]})}),e.jsx(ie,{permission:"mutate_router",children:e.jsx(St,{children:e.jsx(Le,{blocklets:S,...x,onRuleAdded:he,type:T},n)})})]},"parent"),!g&&a.length>0&&e.jsx(ti,{in:F,children:e.jsx(It,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(U=>e.jsx(lt,{...U,parent:x,depth:l+1},U.id))},"children")},"rules")]}if(r==="root")return[e.jsxs(kt,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(Ie,{children:e.jsx(p,{style:{fontSize:22}})}),e.jsx(et,{primary:n}),e.jsx(ie,{permission:"mutate_router",children:e.jsx(St,{children:e.jsx(Le,{blocklets:S,...x})})})]},"root"),a.length>0&&e.jsx(It,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(V=>e.jsx(lt,{expand:!d,...V,parent:x,depth:l+1},V.id))},"children")];let C=`/blocklets/${o.did}/overview`;o.type===R.ROUTING_RULE_TYPES.DAEMON&&(C="/");const z={meta:{did:j.did,name:"Blocklet Server Dashboard",version:j.version},status:"running",port:j.port},N=o.did===j.did?z:S.find(V=>V.meta.did===o.did),I=gn.isBlockletRunning(N)||o.type===R.ROUTING_RULE_TYPES.DAEMON,_=v(I?"router.healthy.ok":"router.healthy.error"),Z=D[c.name]||{};return e.jsxs(kt,{className:"hover-item",divider:!0,disableGutters:!0,style:b,"data-cy":"rule-item",children:[e.jsx(Ie,{className:"arrow-icon",children:e.jsx(p,{style:{fontSize:22}})}),e.jsx(et,{primary:e.jsxs(L,{component:"div",className:"arrow-name",children:[e.jsx(L,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:n}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(o.type===R.ROUTING_RULE_TYPES.DAEMON||o.type===R.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[c.name!==R.DOMAIN_FOR_DEFAULT_SITE&&I&&e.jsx(W,{className:"arrow-name-middle",children:e.jsx(Kt,{href:rt(c.name,m),target:"_blank",underline:"hover",children:v("common.open")})}),c.name===R.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(L,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!I&&e.jsx("span",{className:"arrow-name-middle",children:v("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(ni,{to:C,className:"arrow-name-right",children:[e.jsx(fe,{title:_,children:I?e.jsx(ri,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(Li,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:N?N.meta.name:i}),N&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(sr,{status:N.status,progress:N.progress})})]})]}),o.type===R.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(Cr,{prefix:m,domain:c.name,toUrl:o.url,isHttps:Z.isHttps}),o.type===R.ROUTING_RULE_TYPES.NONE&&e.jsx(xo,{})]})}),e.jsx(ie,{permission:"mutate_router",children:e.jsx(St,{children:e.jsx(Le,{blocklets:S,...x,did:o.did})})})]},n)}lt.propTypes={type:f.string.isRequired,to:f.object,name:f.string.isRequired,title:f.string,id:f.string,items:f.array,parent:f.object,depth:f.number,expand:f.bool,isProtected:f.bool,pathPrefix:f.string,domainAliases:f.array};const kt=Jn(ii)`
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
+ `,yo=Jn("a")`
136
+ color: ${({theme:t})=>t.palette.text.secondary};
137
+ white-space: normal;
138
+ word-break: break-all;
139
+ :hover {
140
+ color: ${({theme:t})=>t.palette.text.primary};
141
+ }
142
+ `;function bo(){const{sites:t,allDomains:r}=de(),{data:n}=Ht(),{t:i}=B(),a=t.map(l=>{const o=l.items.filter(s=>!s.isProtected);return{...l,items:o}});return e.jsx(gr,{domains:r,children:e.jsxs(vo,{children:[e.jsx(ie,{permission:"mutate_router",children:e.jsx(W,{sx:{textAlign:"right",mb:1},children:e.jsx(Jt,{blocklets:n,children:({open:l})=>e.jsxs(Q,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:l,children:[e.jsx(Oe,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(It,{component:"div",disablePadding:!0,children:a.map(l=>h.createElement(lt,{...l,depth:1,key:l.id}))})]})})}const vo=ne.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 jo=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 Be(t,r){var n=wo(t);if(typeof n.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof r=="string"?r:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return n}function wo(t){var r=t.name,n=r&&r.lastIndexOf(".")!==-1;if(n&&!t.type){var i=r.split(".").pop().toLowerCase(),a=jo.get(i);a&&Object.defineProperty(t,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return t}var Co=[".DS_Store","Thumbs.db"];function So(t){return ke(this,void 0,void 0,function(){return Re(this,function(r){return ct(t)&&Do(t)?[2,Eo(t.dataTransfer,t.type)]:ko(t)?[2,Ro(t)]:Array.isArray(t)&&t.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,To(t)]:[2,[]]})})}function Do(t){return ct(t.dataTransfer)}function ko(t){return ct(t)&&ct(t.target)}function ct(t){return typeof t=="object"&&t!==null}function Ro(t){return Ut(t.target.files).map(function(r){return Be(r)})}function To(t){return ke(this,void 0,void 0,function(){var r;return Re(this,function(n){switch(n.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return r=n.sent(),[2,r.map(function(i){return Be(i)})]}})})}function Eo(t,r){return ke(this,void 0,void 0,function(){var n,i;return Re(this,function(a){switch(a.label){case 0:return t===null?[2,[]]:t.items?(n=Ut(t.items).filter(function(l){return l.kind==="file"}),r!=="drop"?[2,n]:[4,Promise.all(n.map(Po))]):[3,2];case 1:return i=a.sent(),[2,Rn(Sr(i))];case 2:return[2,Rn(Ut(t.files).map(function(l){return Be(l)}))]}})})}function Rn(t){return t.filter(function(r){return Co.indexOf(r.name)===-1})}function Ut(t){if(t===null)return[];for(var r=[],n=0;n<t.length;n++){var i=t[n];r.push(i)}return r}function Po(t){if(typeof t.webkitGetAsEntry!="function")return Tn(t);var r=t.webkitGetAsEntry();return r&&r.isDirectory?Dr(r):Tn(t)}function Sr(t){return t.reduce(function(r,n){return oi(r,Array.isArray(n)?Sr(n):[n])},[])}function Tn(t){var r=t.getAsFile();if(!r)return Promise.reject(t+" is not a File");var n=Be(r);return Promise.resolve(n)}function _o(t){return ke(this,void 0,void 0,function(){return Re(this,function(r){return[2,t.isDirectory?Dr(t):Ao(t)]})})}function Dr(t){var r=t.createReader();return new Promise(function(n,i){var a=[];function l(){var o=this;r.readEntries(function(s){return ke(o,void 0,void 0,function(){var d,m,c;return Re(this,function(u){switch(u.label){case 0:if(s.length)return[3,5];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,Promise.all(a)];case 2:return d=u.sent(),n(d),[3,4];case 3:return m=u.sent(),i(m),[3,4];case 4:return[3,6];case 5:c=Promise.all(s.map(_o)),a.push(c),l(),u.label=6;case 6:return[2]}})})},function(s){i(s)})}l()})}function Ao(t){return ke(this,void 0,void 0,function(){return Re(this,function(r){return[2,new Promise(function(n,i){t.file(function(a){var l=Be(a,t.fullPath);n(l)},function(a){i(a)})})]})})}var Ve={},En;function Io(){return En||(En=1,Ve.__esModule=!0,Ve.default=function(t,r){if(t&&r){var n=Array.isArray(r)?r:r.split(","),i=t.name||"",a=(t.type||"").toLowerCase(),l=a.replace(/\/.*$/,"");return n.some(function(o){var s=o.trim().toLowerCase();return s.charAt(0)==="."?i.toLowerCase().endsWith(s):s.endsWith("/*")?l===s.replace(/\/.*$/,""):a===s})}return!0}),Ve}var Lo=Io();const Fo=Vt(Lo);function Pn(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function _n(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?Pn(Object(n),!0).forEach(function(i){kr(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Pn(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function kr(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function An(t,r){return Uo(t)||$o(t,r)||No(t,r)||Oo()}function Oo(){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 No(t,r){if(t){if(typeof t=="string")return In(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return In(t,r)}}function In(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function $o(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(d){l=!0,s=d}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function Uo(t){if(Array.isArray(t))return t}var zo="file-invalid-type",Bo="file-too-large",Mo="file-too-small",Wo="too-many-files",qo=function(r){r=Array.isArray(r)&&r.length===1?r[0]:r;var n=Array.isArray(r)?"one of ".concat(r.join(", ")):r;return{code:zo,message:"File type must be ".concat(n)}},Ln=function(r){return{code:Bo,message:"File is larger than ".concat(r," ").concat(r===1?"byte":"bytes")}},Fn=function(r){return{code:Mo,message:"File is smaller than ".concat(r," ").concat(r===1?"byte":"bytes")}},Ho={code:Wo,message:"Too many files"};function Rr(t,r){var n=t.type==="application/x-moz-file"||Fo(t,r);return[n,n?null:qo(r)]}function Tr(t,r,n){if(Ee(t.size))if(Ee(r)&&Ee(n)){if(t.size>n)return[!1,Ln(n)];if(t.size<r)return[!1,Fn(r)]}else{if(Ee(r)&&t.size<r)return[!1,Fn(r)];if(Ee(n)&&t.size>n)return[!1,Ln(n)]}return[!0,null]}function Ee(t){return t!=null}function Go(t){var r=t.files,n=t.accept,i=t.minSize,a=t.maxSize,l=t.multiple,o=t.maxFiles;return!l&&r.length>1||l&&o>=1&&r.length>o?!1:r.every(function(s){var d=Rr(s,n),m=An(d,1),c=m[0],u=Tr(s,i,a),w=An(u,1),x=w[0];return c&&x})}function dt(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ye(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(r){return r==="Files"||r==="application/x-moz-file"}):!!t.target&&!!t.target.files}function On(t){t.preventDefault()}function Ko(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function Vo(t){return t.indexOf("Edge/")!==-1}function Yo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Ko(t)||Vo(t)}function ue(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(i){for(var a=arguments.length,l=new Array(a>1?a-1:0),o=1;o<a;o++)l[o-1]=arguments[o];return r.some(function(s){return!dt(i)&&s&&s.apply(void 0,[i].concat(l)),dt(i)})}}function Nn(){return"showOpenFilePicker"in window}function Xo(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(r){return r==="audio/*"||r==="video/*"||r==="image/*"||r==="text/*"||/\w+\/[-+.\w]+/g.test(r)}).reduce(function(r,n){return _n(_n({},r),{},kr({},n,[]))},{}):{}}]}var Qo=["children"],Zo=["open"],Jo=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],ea=["refKey","onChange","onClick"];function ta(t){return ia(t)||ra(t)||Er(t)||na()}function na(){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 ra(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ia(t){if(Array.isArray(t))return zt(t)}function Rt(t,r){return sa(t)||aa(t,r)||Er(t,r)||oa()}function oa(){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 Er(t,r){if(t){if(typeof t=="string")return zt(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return zt(t,r)}}function zt(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function aa(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(d){l=!0,s=d}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function sa(t){if(Array.isArray(t))return t}function $n(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function G(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?$n(Object(n),!0).forEach(function(i){Bt(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$n(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function Bt(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function ut(t,r){if(t==null)return{};var n=la(t,r),i,a;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a<l.length;a++)i=l[a],!(r.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}function la(t,r){if(t==null)return{};var n={},i=Object.keys(t),a,l;for(l=0;l<i.length;l++)a=i[l],!(r.indexOf(a)>=0)&&(n[a]=t[a]);return n}var en=h.forwardRef(function(t,r){var n=t.children,i=ut(t,Qo),a=Wt(i),l=a.open,o=ut(a,Zo);return h.useImperativeHandle(r,function(){return{open:l}},[l]),ai.createElement(h.Fragment,null,n(G(G({},o),{},{open:l})))});en.displayName="Dropzone";var Pr={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};en.defaultProps=Pr;en.propTypes={children:f.func,accept:f.oneOfType([f.string,f.arrayOf(f.string)]),multiple:f.bool,preventDropOnDocument:f.bool,noClick:f.bool,noKeyboard:f.bool,noDrag:f.bool,noDragEventsBubbling:f.bool,minSize:f.number,maxSize:f.number,maxFiles:f.number,disabled:f.bool,getFilesFromEvent:f.func,onFileDialogCancel:f.func,onFileDialogOpen:f.func,useFsAccessApi:f.bool,onDragEnter:f.func,onDragLeave:f.func,onDragOver:f.func,onDrop:f.func,onDropAccepted:f.func,onDropRejected:f.func,validator:f.func};var Mt={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]:{},r=G(G({},Pr),t),n=r.accept,i=r.disabled,a=r.getFilesFromEvent,l=r.maxSize,o=r.minSize,s=r.multiple,d=r.maxFiles,m=r.onDragEnter,c=r.onDragLeave,u=r.onDragOver,w=r.onDrop,x=r.onDropAccepted,v=r.onDropRejected,A=r.onFileDialogCancel,j=r.onFileDialogOpen,D=r.useFsAccessApi,S=r.preventDropOnDocument,k=r.noClick,g=r.noKeyboard,T=r.noDrag,F=r.noDragEventsBubbling,E=r.validator,y=h.useMemo(function(){return typeof j=="function"?j:Un},[j]),p=h.useMemo(function(){return typeof A=="function"?A:Un},[A]),b=h.useRef(null),C=h.useRef(null),z=h.useReducer(ca,Mt),N=Rt(z,2),I=N[0],_=N[1],Z=I.isFocused,V=I.isFileDialogActive,he=I.draggedFiles,ge=function(){V&&setTimeout(function(){if(C.current){var $=C.current.files;$.length||(_({type:"closeDialog"}),p())}},300)};h.useEffect(function(){return D&&Nn()?function(){}:(window.addEventListener("focus",ge,!1),function(){window.removeEventListener("focus",ge,!1)})},[C,V,p,D]);var U=h.useRef([]),O=function($){b.current&&b.current.contains($.target)||($.preventDefault(),U.current=[])};h.useEffect(function(){return S&&(document.addEventListener("dragover",On,!1),document.addEventListener("drop",O,!1)),function(){S&&(document.removeEventListener("dragover",On),document.removeEventListener("drop",O))}},[b,S]);var q=h.useCallback(function(P){P.preventDefault(),P.persist(),He(P),U.current=[].concat(ta(U.current),[P.target]),Ye(P)&&Promise.resolve(a(P)).then(function($){dt(P)&&!F||(_({draggedFiles:$,isDragActive:!0,type:"setDraggedFiles"}),m&&m(P))})},[a,m,F]),oe=h.useCallback(function(P){P.preventDefault(),P.persist(),He(P);var $=Ye(P);if($&&P.dataTransfer)try{P.dataTransfer.dropEffect="copy"}catch{}return $&&u&&u(P),!1},[u,F]),we=h.useCallback(function(P){P.preventDefault(),P.persist(),He(P);var $=U.current.filter(function(ae){return b.current&&b.current.contains(ae)}),J=$.indexOf(P.target);J!==-1&&$.splice(J,1),U.current=$,!($.length>0)&&(_({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Ye(P)&&c&&c(P))},[b,c,F]),Me=h.useCallback(function(P,$){var J=[],ae=[];P.forEach(function(ce){var Te=Rr(ce,n),De=Rt(Te,2),xt=De[0],yt=De[1],bt=Tr(ce,o,l),Ge=Rt(bt,2),vt=Ge[0],jt=Ge[1],wt=E?E(ce):null;if(xt&&vt&&!wt)J.push(ce);else{var Ct=[yt,jt];wt&&(Ct=Ct.concat(wt)),ae.push({file:ce,errors:Ct.filter(function(Ur){return Ur})})}}),(!s&&J.length>1||s&&d>=1&&J.length>d)&&(J.forEach(function(ce){ae.push({file:ce,errors:[Ho]})}),J.splice(0)),_({acceptedFiles:J,fileRejections:ae,type:"setFiles"}),w&&w(J,ae,$),ae.length>0&&v&&v(ae,$),J.length>0&&x&&x(J,$)},[_,s,n,o,l,d,w,x,v,E]),We=h.useCallback(function(P){P.preventDefault(),P.persist(),He(P),U.current=[],Ye(P)&&Promise.resolve(a(P)).then(function($){dt(P)&&!F||Me($,P)}),_({type:"reset"})},[a,Me,F]),Ce=h.useCallback(function(){if(D&&Nn()){_({type:"openDialog"}),y();var P={multiple:s,types:Xo(n)};window.showOpenFilePicker(P).then(function($){return a($)}).then(function($){return Me($,null)}).catch(function($){return p($)}).finally(function(){return _({type:"closeDialog"})});return}C.current&&(_({type:"openDialog"}),y(),C.current.value=null,C.current.click())},[_,y,p,D,Me,n,s]),tn=h.useCallback(function(P){!b.current||!b.current.isEqualNode(P.target)||(P.keyCode===32||P.keyCode===13)&&(P.preventDefault(),Ce())},[b,C,Ce]),nn=h.useCallback(function(){_({type:"focus"})},[]),rn=h.useCallback(function(){_({type:"blur"})},[]),on=h.useCallback(function(){k||(Yo()?setTimeout(Ce,0):Ce())},[C,k,Ce]),Se=function($){return i?null:$},ht=function($){return g?null:Se($)},qe=function($){return T?null:Se($)},He=function($){F&&$.stopPropagation()},Fr=h.useMemo(function(){return function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=P.refKey,J=$===void 0?"ref":$,ae=P.role,ce=P.onKeyDown,Te=P.onFocus,De=P.onBlur,xt=P.onClick,yt=P.onDragEnter,bt=P.onDragOver,Ge=P.onDragLeave,vt=P.onDrop,jt=ut(P,Jo);return G(G(Bt({onKeyDown:ht(ue(ce,tn)),onFocus:ht(ue(Te,nn)),onBlur:ht(ue(De,rn)),onClick:Se(ue(xt,on)),onDragEnter:qe(ue(yt,q)),onDragOver:qe(ue(bt,oe)),onDragLeave:qe(ue(Ge,we)),onDrop:qe(ue(vt,We)),role:typeof ae=="string"&&ae!==""?ae:"button"},J,b),!i&&!g?{tabIndex:0}:{}),jt)}},[b,tn,nn,rn,on,q,oe,we,We,g,T,i]),Or=h.useCallback(function(P){P.stopPropagation()},[]),Nr=h.useMemo(function(){return function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=P.refKey,J=$===void 0?"ref":$,ae=P.onChange,ce=P.onClick,Te=ut(P,ea),De=Bt({accept:n,multiple:s,type:"file",style:{display:"none"},onChange:Se(ue(ae,We)),onClick:Se(ue(ce,Or)),autoComplete:"off",tabIndex:-1},J,C);return G(G({},De),Te)}},[C,n,s,We,i]),an=he.length,sn=an>0&&Go({files:he,accept:n,minSize:o,maxSize:l,multiple:s,maxFiles:d}),$r=an>0&&!sn;return G(G({},I),{},{isDragAccept:sn,isDragReject:$r,isFocused:Z&&!i,getRootProps:Fr,getInputProps:Nr,rootRef:b,inputRef:C,open:Se(Ce)})}function ca(t,r){switch(r.type){case"focus":return G(G({},t),{},{isFocused:!0});case"blur":return G(G({},t),{},{isFocused:!1});case"openDialog":return G(G({},Mt),{},{isFileDialogActive:!0});case"closeDialog":return G(G({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=r.isDragActive,i=r.draggedFiles;return G(G({},t),{},{draggedFiles:i,isDragActive:n});case"setFiles":return G(G({},t),{},{acceptedFiles:r.acceptedFiles,fileRejections:r.fileRejections});case"reset":return G({},Mt);default:return t}}function Un(){}const zn=50*1024,Xe=t=>t.split(`
249
+ `).join("|"),Qe=t=>new Promise((r,n)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{r(i.result)},i.onerror=a=>n(a)});function Bn({certificate:t={},onRefresh:r,mode:n,...i}){const{t:a}=B(),{api:l}=X(),[o,s]=h.useState(!1),[d,m]=h.useState(),[c,u]=h.useState(),[w,x]=h.useState(!1),[v,A]=h.useState(""),[j,D]=h.useState("upload"),{handleSubmit:S,formState:k,control:g}=Yt({defaultValues:{name:t.name||t.domain}}),T=vn({control:g,name:"name"}),F=vn({control:g,name:"domain"}),E=()=>o?!0:j==="upload"&&n==="update"?!!(!T||d&&!c||c&&!d):j==="upload"&&n==="add"?!T||!d||!c:j==="lets_encrypt"&&!F,y=()=>{s(!1),x(!1)},p=async O=>{if(n==="add"){const q=(await Qe(c)).replace(/\r\n/g,`
250
+ `),oe=(await Qe(d)).replace(/\r\n/g,`
251
+ `);await l.addCertificate({input:{name:O.name.trim(),certificate:Xe(q),privateKey:Xe(oe)}})}else{const q={id:t.id,name:O.name.trim()};if(c&&d){const oe=(await Qe(c)).replace(/\r\n/g,`
252
+ `),we=(await Qe(d)).replace(/\r\n/g,`
253
+ `);q.certificate=Xe(oe),q.privateKey=Xe(we)}await l.updateCertificate({input:q})}},b=O=>l.issueLetsEncryptCert({input:{domain:O.domain}}),C={upload:{name:a("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:p},lets_encrypt:{name:a("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:b}},z=async O=>{s(!0);try{const q=C[j];if(!q)throw new Error("Invaid certificate source");await q.onSubmit(O),r(),x(!1)}catch(q){A(pe(q)||"unknown error, may be you can check file permission")}finally{s(!1)}},N=()=>{m(null),u(null),x(!0),A("")},I=O=>{D(O.target.value)},_=O=>{O.length>0&&A(te(O[0],"errors[0].message",a("router.cert.add.invalidFile")))},{getRootProps:Z,getInputProps:V}=Wt({accept:[".pem",".crt"],multiple:!1,maxSize:zn,onDropRejected:_,onDrop:O=>{u(O[0])}}),{getRootProps:he,getInputProps:ge}=Wt({accept:[".pem",".key"],multiple:!1,maxSize:zn,onDropRejected:_,onDrop:O=>{m(O[0])}}),{errors:U}=k;return e.jsxs(e.Fragment,{children:[e.jsxs(Q,{edge:"end",onClick:N,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[o?e.jsx(K,{size:16}):e.jsx(Oe,{style:{fontSize:16}}),a(n==="add"?"common.add":"common.update")]}),w&&e.jsx(tr,{title:a(n==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:y,actions:e.jsxs(e.Fragment,{children:[e.jsx(Q,{onClick:y,color:"inherit","data-cy":"cert-cancel",children:a("router.cert.nginx.cancel")}),e.jsxs(Q,{onClick:S(z),color:"secondary",disabled:E(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[a("router.cert.nginx.confirm"),o&&e.jsx(K,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:S(z),children:e.jsxs(W,{sx:{minWidth:{sm:480}},children:[e.jsxs(Lt,{component:"div",children:[n==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.source")}),e.jsx(or,{"aria-label":"cert-source",name:"certSource",value:j,onChange:I,children:Object.values(C).map(O=>e.jsx(Fe,{value:O.value,control:e.jsx(Ft,{}),label:O.name},O.value))})]}),j==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.name")}),e.jsx(M,{name:"name",control:g,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("router.cert.name")})},render:({field:{value:O,onChange:q}})=>e.jsx(H,{fullWidth:!0,autoFocus:!0,defaultValue:O,onChange:q,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),e.jsxs("section",{className:"form-item",children:[e.jsxs("div",{className:"form-item-label",children:[a("router.cert.nginx.pem"),n==="update"&&e.jsxs(L,{component:"small",variant:"body2",color:"textSecondary",children:[" ","(",a("common.optional"),")"]})]}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...Z({className:"dropzone"}),children:[e.jsx("input",{...V(),"data-cy":"pem-input"}),c&&e.jsx(L,{color:"secondary",children:c.name}),!c&&e.jsx(L,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(L,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsxs("div",{className:"form-item-label",children:[a("router.cert.nginx.key"),n==="update"&&e.jsxs(L,{component:"small",variant:"body2",color:"textSecondary",children:[" ","(",a("common.optional"),")"]})]}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...he({className:"dropzone"}),children:[e.jsx("input",{...ge(),"data-cy":"key-input"}),d&&e.jsx(L,{color:"secondary",children:d.name}),!d&&e.jsx(L,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(L,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.keyTip")})]})})]})]}),j==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("common.domain")}),e.jsx(M,{name:"domain",control:g,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("common.domain")})},render:({field:{value:O,onChange:q}})=>e.jsx(H,{fullWidth:!0,autoFocus:!0,defaultValue:O,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:q})})]})]})]}),!!v&&e.jsx(be,{severity:"error",style:{marginTop:8},children:v})]})})})]})}function da(t){const r=nr(),{t:n}=B(),{api:i}=X(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{id:d,domain:m,onDelete:c=()=>{},...u}=t,{refresh:w}=de(),x=()=>{l(!1),s(null)},v=async()=>{l(!0);try{await i.deleteCertificate({input:{id:d}}),w(),c()}catch(j){console.error(j)}finally{l(!1),s(null)}},A={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:m}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:v,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsxs(Q,{edge:"end",onClick:()=>s(A),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:r.palette.error.main},...u,children:[a?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(le,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function _r(t){const{certificate:r={},...n}=t,{t:i,locale:a}=B(),[l,o]=h.useState(!1),s=nr(),d=()=>{o(!1)},m=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(r.matchedSites||[]).map(u=>e.jsx(L,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:u.domain},u.id))},{id:"updatedAt",name:i("common.updatedAt"),value:r.updatedAt?e.jsx(it,{value:r.updatedAt,type:"all",locale:a}):"-"},{id:"createdAt",name:i("common.createdAt"),value:r.createdAt?e.jsx(it,{value:r.createdAt,type:"all",locale:a}):"-"}],c=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(L,{component:"span",style:{fontSize:"1.1rem"},children:(te(r,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:te(r,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:te(r,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:te(r,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:si.duration(te(r,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:ot(te(r,"meta.validFrom"),a)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:ot(te(r,"meta.validTo"),a)}];return e.jsxs(e.Fragment,{children:[e.jsxs(Q,{edge:"end",onClick:()=>o(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[e.jsx(Ii,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(tr,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:l,showCloseButton:!1,actions:e.jsx(Q,{autoFocus:!0,variant:"contained",onClick:d,color:"secondary",children:i("common.close")}),children:[e.jsx(Lt,{component:"div",style:{margin:s.spacing(2)},children:m.map(u=>e.jsx(at,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cert-basic"),e.jsx(hn,{}),e.jsx(Lt,{component:"div",style:{margin:s.spacing(2)},children:c.map(u=>e.jsx(at,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cer-info"),e.jsx(hn,{})]})]})}_r.propTypes={certificate:f.object.isRequired};function Ar({style:t={},certificate:r,...n}){const{t:i}=B(),[a,l]=h.useState(!1),o=r.matchedSites||[];return e.jsxs(L,{component:"ul",...n,style:{...t,listStyle:"none"},children:[(a?o:o.slice(0,4)).map(s=>e.jsx(L,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:s.domain},s.id)),o.length>4&&e.jsx(Q,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{l(!a)},children:i(a?"common.collapseAll":"common.expandAll")})]})}Ar.propTypes={certificate:f.object.isRequired,style:f.object};const ua=t=>{if(!t)return!1;const r=+new Date;return t-r<=0},Mn="ssl-certificates-table";f.number;function Tt({name:t,value:r,style:n={},icon:i,...a}){return e.jsxs(ma,{style:{display:"flex",alignItems:"center",...n},...a,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:r}),i&&i]})}const ma=ne.div`
254
+ & > span {
255
+ margin: 5px;
256
+ }
257
+ `;function Ir({status:t="",source:r="",expiresTime:n}){const{t:i}=B();return ua(n)?e.jsx(Ke,{type:"error",children:i("router.cert.expired")}):r==="upload"?e.jsx(Ke,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Ke,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Ke,{type:"success",children:i("common.normal")}):""}Ir.propTypes={status:f.string,source:f.string,expiresTime:f.number.isRequired};const fa=(t,r)=>{if(!r)return t;const n=(r.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>ci(n,i.matchedSites))};function pa(){const{t,locale:r}=h.useContext(qt),{api:n}=X(),a=li().get("did"),l=$e(async()=>{const{certificates:c}=await n.getCertificates();let u=null;if(a){const{blocklet:x}=await n.getBlocklet({input:{did:a,attachRuntimeInfo:!0}});u=x}return{certificates:fa(c,u)}}),o=()=>{l.retry()},s=l.value?.certificates,d=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsxs(e.Fragment,{children:[u.name&&e.jsx(Tt,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:u.name}),e.jsx(Tt,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:te(u,"meta.issuer.commonName","")}),e.jsx(Tt,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(fe,{title:u.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Ae,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:u.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsx(L,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...te(u,"meta.sans")||[],u.domain])].map(w=>e.jsx(L,{component:"li",title:w,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:w},w))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return t(`router.cert.sourceTypes.${u.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsx(Ir,{status:u.status,source:u.source,expiresTime:te(u,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsx(it,{value:te(u,"meta.validTo"),locale:r})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsx(Ar,{id:u.id,certificate:u,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:c=>{const u=s[c];return e.jsx(ie,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!u.isProtected&&e.jsxs(e.Fragment,{children:[u.source==="upload"&&e.jsx("div",{children:e.jsx(Bn,{mode:"update",certificate:u,onRefresh:o})}),e.jsx("div",{children:e.jsx(da,{id:u.id,domain:u.domain,onDelete:o})})]}),e.jsx("div",{children:e.jsx(_r,{id:u.id,certificate:u})})]})})}}}];if(l.error)return e.jsx(be,{severity:"error",children:pe(l.error)});if(l.loading)return e.jsx(K,{});const m=xi(Mn);return e.jsx(ga,{children:e.jsx(rr,{title:e.jsx(ie,{permission:"mutate_router",children:e.jsx(Bn,{mode:"add",onRefresh:o,variant:"contained"})}),locale:r,data:l.value.certificates,columns:d,verticalKeyWidth:100,durable:Mn,options:{search:!1,download:!1,filter:!1,print:!1,...m}})})}const ga=ne.div`
258
+ .header {
259
+ display: flex;
260
+ justify-content: flex-end;
261
+ align-items: center;
262
+ margin-top: 20px;
263
+ }
264
+
265
+ margin-bottom: 24px;
266
+ .table-cell {
267
+ span {
268
+ font-size: 18px;
269
+ }
270
+ @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
271
+ span {
272
+ font-size: 15px;
273
+ }
274
+ }
275
+ }
276
+ .match-sites-cell,
277
+ .expires-cell {
278
+ min-width: 100px;
279
+ }
280
+ .actions {
281
+ text-align: center;
282
+ @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
283
+ .MuiButton-root {
284
+ padding: 6px;
285
+ }
286
+ }
287
+ }
288
+ `;var Et,Wn;function Lr(){if(Wn)return Et;Wn=1;const t="[a-fA-F\\d:]",r=m=>m&&m.includeBoundaries?`(?:(?<=\\s|^)(?=${t})|(?<=${t})(?=\\s|$))`:"",n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",i="[a-fA-F\\d]{1,4}",a=`
289
+ (?:
290
+ (?:${i}:){7}(?:${i}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
291
+ (?:${i}:){6}(?:${n}|:${i}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
292
+ (?:${i}:){5}(?::${n}|(?::${i}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
293
+ (?:${i}:){4}(?:(?::${i}){0,1}:${n}|(?::${i}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
294
+ (?:${i}:){3}(?:(?::${i}){0,2}:${n}|(?::${i}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
295
+ (?:${i}:){2}(?:(?::${i}){0,3}:${n}|(?::${i}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
296
+ (?:${i}:){1}(?:(?::${i}){0,4}:${n}|(?::${i}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
297
+ (?::(?:(?::${i}){0,5}:${n}|(?::${i}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
298
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
299
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),l=new RegExp(`(?:^${n}$)|(?:^${a}$)`),o=new RegExp(`^${n}$`),s=new RegExp(`^${a}$`),d=m=>m&&m.exact?l:new RegExp(`(?:${r(m)}${n}${r(m)})|(?:${r(m)}${a}${r(m)})`,"g");return d.v4=m=>m&&m.exact?o:new RegExp(`${r(m)}${n}${r(m)}`,"g"),d.v6=m=>m&&m.exact?s:new RegExp(`${r(m)}${a}${r(m)}`,"g"),Et=d,Et}var Pt,qn;function ha(){if(qn)return Pt;qn=1;const t=Lr(),r=n=>t({exact:!0}).test(n);return r.v4=n=>t.v4({exact:!0}).test(n),r.v6=n=>t.v6({exact:!0}).test(n),r.version=n=>r(n)?r.v4(n)?4:6:void 0,Pt=r,Pt}var xa=ha();const Ze=Vt(xa);var Pe={exports:{}},_e={exports:{}},Hn;function ya(){if(Hn)return _e.exports;Hn=1;const t=Lr(),r={exact:!1},n=`${t.v4().source}\\/(3[0-2]|[12]?[0-9])`,i=`${t.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,a=new RegExp(`^${n}$`),l=new RegExp(`^${i}$`),o=new RegExp(`(?:^${n}$)|(?:^${i}$)`);return _e.exports=({exact:s}=r)=>s?o:new RegExp(`(?:${n})|(?:${i})`,"g"),_e.exports.v4=({exact:s}=r)=>s?a:new RegExp(n,"g"),_e.exports.v6=({exact:s}=r)=>s?l:new RegExp(i,"g"),_e.exports}var Gn;function ba(){if(Gn)return Pe.exports;Gn=1;const{v4:t,v6:r}=ya(),n=t({exact:!0}),i=r({exact:!0});return Pe.exports=a=>n.test(a)?4:i.test(a)?6:0,Pe.exports.v4=a=>n.test(a),Pe.exports.v6=a=>i.test(a),Pe.exports}var va=ba();const Je=Vt(va);function xe(t){return e.jsx(ki,{...t,sx:ui(r=>({".MuiSlider-root":{color:r.palette.primary.main,height:8,marginLeft:8},".MuiSlider-thumb":{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},".MuiSlider-valueLabel":{left:"calc(-50% + 4px)"},".MuiSlider-track":{height:8,borderRadius:4},".MuiSlider-rail":{height:8,borderRadius:4}}),t.sx)})}function ja(){const{info:{routing:t},api:r}=X(),{t:n,locale:i}=B(),[a,l]=h.useState(!1),o=t.requestLimit||{};typeof o.enabled!="boolean"&&(o.enabled=!1),typeof o.rate!="number"&&(o.rate=R.GATEWAY_RATE_LIMIT.min),typeof o.global!="number"&&(o.global=R.GATEWAY_RATE_LIMIT_GLOBAL.min),typeof o.burstFactor!="number"&&(o.burstFactor=2),typeof o.burstDelay!="number"&&(o.burstDelay=0),Array.isArray(o.methods)||(o.methods=R.GATEWAY_RATE_LIMIT_METHODS);const s=t.blockPolicy||{};typeof s.enabled!="boolean"&&(s.enabled=!1),s.blacklist||(s.blacklist=[]),s.autoBlocking?Array.isArray(s.autoBlocking.statusCodes)||(s.autoBlocking.statusCodes=s.autoBlocking.statusCodes?[s.autoBlocking.statusCodes]:[403]):s.autoBlocking={enabled:!1,windowSize:1,windowQuota:5,statusCodes:[403,429],blockDuration:3600};const d=t.proxyPolicy||{};typeof d.enabled!="boolean"&&(d.enabled=!1),typeof d.trustRecursive!="boolean"&&(d.trustRecursive=!1),d.trustedProxies||(d.trustedProxies=["0.0.0.0/0"]),d.realIpHeader||(d.realIpHeader="X-Forwarded-For");const m=t.wafPolicy||{};typeof m.enabled!="boolean"&&(m.enabled=!1),m.mode||(m.mode="DetectionOnly"),m.inboundAnomalyScoreThreshold||(m.inboundAnomalyScoreThreshold=20),m.outboundAnomalyScoreThreshold||(m.outboundAnomalyScoreThreshold=10),m.logLevel||(m.logLevel=0);const{handleSubmit:c,control:u,watch:w}=Yt({defaultValues:{requestLimit:o,blockPolicy:s,proxyPolicy:d,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0,wafPolicy:m}}),x=w("requestLimit.enabled"),v=w("requestLimit.rate"),A=w("requestLimit.global"),j=w("requestLimit.burstFactor"),D=w("requestLimit.burstDelay"),S=w("blockPolicy.enabled"),k=w("blockPolicy.autoBlocking.enabled"),g=w("proxyPolicy.enabled"),T=w("proxyPolicy.trustRecursive"),F=w("wafPolicy.enabled"),E=async y=>{try{l(!0);const{blacklist:p}=y.blockPolicy;p.forEach(C=>{if(!Ze.v4(C)&&!Je.v4(C)&&!er(C)&&!Ze.v6(C)&&!Je.v6(C))throw new Error(n("router.gateway.blockPolicy.invalidItem"))});const{trustedProxies:b}=y.proxyPolicy;b.forEach(C=>{if(!Ze.v4(C)&&!Je.v4(C)&&!Ze.v6(C)&&!Je.v6(C))throw new Error(n("router.gateway.proxyPolicy.invalidItem"))}),await r.updateGateway({input:y}),await Vn(1e3),re.success(n("common.saveSuccess"))}catch(p){re.error(pe(p))}finally{l(!1)}};return e.jsx(wa,{children:e.jsx(ie,{permission:"mutate_node",children:y=>e.jsxs(Qt,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:c(E),children:[e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(L,{className:"gateway-section-title",children:n("router.gateway.cacheEnabled.title")}),e.jsx(M,{name:"cacheEnabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.cacheEnabled.switchLabel")}),labelPlacement:"end"}})})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(L,{className:"gateway-section-title",children:n("router.gateway.reqLimit.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"requestLimit.enabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.reqLimit.switchLabel")}),labelPlacement:"end"}})}),x&&e.jsxs(e.Fragment,{children:[e.jsxs(W,{children:[e.jsx(ee,{id:"request-limit-global-desc",children:n("router.gateway.reqLimit.global",{global:A})}),e.jsx(M,{name:"requestLimit.global",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:10,min:R.GATEWAY_RATE_LIMIT_GLOBAL.min,max:R.GATEWAY_RATE_LIMIT_GLOBAL.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-factor-desc",children:n("router.gateway.reqLimit.burstFactor",{rate:Math.round(v*j),global:Math.round(A*j)})}),e.jsx(M,{name:"requestLimit.burstFactor",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:.1,min:R.GATEWAY_RATE_LIMIT_BURST_FACTOR.min,max:R.GATEWAY_RATE_LIMIT_BURST_FACTOR.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-delay-desc",children:n("router.gateway.reqLimit.burstDelay",{delay:D})}),e.jsx(M,{name:"requestLimit.burstDelay",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:1,min:0,max:60})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-rate-desc",children:n("router.gateway.reqLimit.rate",{rate:v})}),e.jsx(M,{name:"requestLimit.rate",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:1,min:R.GATEWAY_RATE_LIMIT.min,max:R.GATEWAY_RATE_LIMIT.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-methods-desc",children:n("router.gateway.reqLimit.methods")}),e.jsx(M,{name:"requestLimit.methods",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(di,{row:!0,children:R.GATEWAY_RATE_LIMIT_METHODS.map(C=>e.jsx(Fe,{control:e.jsx(Zn,{disabled:!y,checked:p.includes(C),onChange:z=>{z.target.checked?b([...p,C]):b(p.filter(N=>N!==C))}}),label:C},C))})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(L,{className:"gateway-section-title",children:n("router.gateway.blockPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"blockPolicy.enabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.blockPolicy.switchLabel")}),labelPlacement:"end"}})}),S&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"blockPolicy.blacklist",control:u,render:({field:{value:p,onChange:b}})=>{const C=()=>{b([...p||[],""])},z=I=>{const _=[...p];_.splice(I,1),b(_)},N=(I,_)=>{const Z=[...p];Z[I]=_,b(Z)};return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(ee,{children:n("router.gateway.blockPolicy.blacklistDesc")}),(p||[]).map((I,_)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(H,{variant:"outlined",size:"small",disabled:a||!y,style:{flex:1},value:I,onChange:Z=>N(_,Z.target.value),placeholder:n("router.gateway.blockPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(At,{disabled:a||!y,onClick:()=>z(_),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`blacklist-item-${_}`)),e.jsx(Q,{disabled:a||!y,onClick:C,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Oe,{}),children:n("router.gateway.blockPolicy.addItem")})]})}}),e.jsx(M,{name:"blockPolicy.autoBlocking.enabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.blockPolicy.autoBlocking.switchLabel")}),labelPlacement:"end"}})}),k&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"blockPolicy.autoBlocking.statusCodes",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-status-codes-desc",children:n("router.gateway.blockPolicy.autoBlocking.statusCodes")}),e.jsxs(xn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,multiple:!0,value:p,onChange:b,children:[e.jsx(Y,{value:400,children:"400 Bad Request"}),e.jsx(Y,{value:401,children:"401 Unauthorized"}),e.jsx(Y,{value:403,children:"403 Forbidden (WAF)"}),e.jsx(Y,{value:404,children:"404 Not Found"}),e.jsx(Y,{value:429,children:"429 Too Many Requests"}),e.jsx(Y,{value:405,children:"405 Method Not Allowed"})]})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.windowSize",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-size-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowSize")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,value:p,onChange:b,slotProps:{input:{endAdornment:e.jsxs(L,{variant:"body2",children:[yn(Number(p*1e3),{locale:bn(i),long:!0})," "]})}}})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.windowQuota",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-quota-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowQuota")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,value:p,onChange:b})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.blockDuration",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-block-duration-desc",children:n("router.gateway.blockPolicy.autoBlocking.blockDuration")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,value:p,onChange:b,slotProps:{input:{endAdornment:e.jsx(L,{variant:"body2",children:yn(Number(p*1e3),{locale:bn(i),long:!0})})}}})]})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(L,{className:"gateway-section-title",children:n("router.gateway.proxyPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"proxyPolicy.enabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.proxyPolicy.switchLabel")}),labelPlacement:"end"}})}),g&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"proxyPolicy.realIpHeader",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.realIpHeaderDesc")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,value:p,onChange:b})]})}),e.jsx(M,{name:"proxyPolicy.trustRecursive",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{sx:{mt:2},children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.trustRecursiveDesc")}),e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.proxyPolicy.trustRecursive")}),labelPlacement:"end"}})]})}),T&&e.jsx(M,{name:"proxyPolicy.trustedProxies",control:u,render:({field:{value:p,onChange:b}})=>{const C=()=>{b([...p||[],""])},z=I=>{const _=[...p];_.splice(I,1),b(_)},N=(I,_)=>{const Z=[...p];Z[I]=_,b(Z)};return e.jsxs(W,{sx:{width:"100%",mt:2},children:[e.jsx(ee,{children:n("router.gateway.proxyPolicy.trustedProxiesDesc")}),(p||[]).map((I,_)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(H,{variant:"outlined",size:"small",disabled:a||!y,style:{flex:1},value:I,onChange:Z=>N(_,Z.target.value),placeholder:n("router.gateway.proxyPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(At,{disabled:a||!y,onClick:()=>z(_),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`trusted-proxy-item-${_}`)),e.jsx(Q,{disabled:a||!y,onClick:C,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Oe,{}),children:n("router.gateway.proxyPolicy.addItem")})]})}})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(L,{className:"gateway-section-title",children:n("router.gateway.wafPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"wafPolicy.enabled",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(se,{checked:p,disabled:!y,onChange:C=>b(C.target.checked),labelProps:{label:e.jsx(L,{children:n("router.gateway.wafPolicy.switchLabel")}),labelPlacement:"end"}})}),F&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"wafPolicy.mode",control:u,render:({field:{value:p,onChange:b}})=>e.jsxs(W,{children:[e.jsxs(ee,{id:"waf-policy-mode-desc",children:[n("router.gateway.wafPolicy.modeDesc")," ",e.jsx(Kt,{href:`https://www.arcblock.io/docs/blocklet-developer/${i}/enable-web-application-firewall`,target:"_blank",children:n("router.gateway.wafPolicy.docDesc")})]}),e.jsxs(xn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!y,value:p,onChange:b,children:[e.jsx(Y,{value:"DetectionOnly",children:n("router.gateway.wafPolicy.mode.detectOnly")}),e.jsx(Y,{value:"On",children:n("router.gateway.wafPolicy.mode.on")})]})]})}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-inbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.inboundAnomalyScoreThresholdDesc")}),e.jsx(M,{name:"wafPolicy.inboundAnomalyScoreThreshold",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-outbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.outboundAnomalyScoreThresholdDesc")}),e.jsx(M,{name:"wafPolicy.outboundAnomalyScoreThreshold",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-log-level-desc",children:n("router.gateway.wafPolicy.logLevelDesc")}),e.jsx(M,{name:"wafPolicy.logLevel",control:u,render:({field:{value:p,onChange:b}})=>e.jsx(xe,{disabled:!y,onChange:(C,z)=>b(z),defaultValue:p,valueLabelDisplay:"auto",step:1,min:0,max:9})})]})]})]})]}),e.jsx("div",{className:"form-actions",children:y&&e.jsxs(Q,{disabled:a,onClick:c(E),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n("common.save")," ",a&&e.jsx(K,{size:16})]})})]})})})}const wa=ne.div`
300
+ display: flex;
301
+ align-items: flex-start;
302
+ width: 100%;
303
+ max-width: 960px;
304
+
305
+ .gateway-section {
306
+ border-top: 1px solid ${({theme:t})=>t.palette.divider};
307
+ padding: 24px 0;
308
+ .gateway-section-title {
309
+ width: 240px;
310
+ flex-shrink: 0;
311
+ flex-grow: 0;
312
+ font-weight: 500;
313
+ }
314
+ .gateway-section-content {
315
+ flex-grow: 1;
316
+ }
317
+ }
318
+ `;function us(){const t=Yn(),{node:r}=h.useContext(mi),{t:n}=h.useContext(qt),{tab:i="basic"}=fi(),a=m=>{t(`/settings/${m}`)},l=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],o=pi(l.find(m=>m.value===i),n("common.setting")),s={basic:Xi,integration:Zi,about:co,router:e.jsx(Cn,{children:e.jsx(bo,{})}),gateway:ja,cert:e.jsx(Cn,{children:e.jsx(pa,{})})},d=s[i]||s.basic;return e.jsxs(Ca,{children:[o,e.jsx(L,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(gi,{tabs:l,current:i,onChange:a,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:h.isValidElement(d)?d:e.jsx(d,{node:r})})]})]})}const Ca=ne.main`
319
+ .page-header {
320
+ display: flex;
321
+ justify-content: space-between;
322
+ align-items: center;
323
+ }
324
+
325
+ .page-content {
326
+ margin-top: 16px;
327
+ }
328
+ `;export{us as default};
@@ -1 +1 @@
1
- import{r as P,V as E,A as C,j as e,Y as W,C as j,cG as I,K as T,w as k,H as u,aH as S,u as U,x as v,aq as N,ae as R}from"./index-t7M3AlIl.js";import{w as b}from"./wrap-locale-BYm00LUc.js";import{g as L}from"./get-safe-url-slTYcduh.js";import"./index-DDHwRT_8.js";function H({SessionContext:n,webWalletUrl:a,onSuccess:r}){const{api:o,session:t}=P.useContext(n),{t:s,locale:g}=E(),h=C(),{searchParams:l}=new URL(window.location.href),p=l.get("redirect"),m=async(c,w)=>{r(c,w),await t.refresh(),u.success(s("exchangePassport.success")),setTimeout(()=>{if(p){const i=decodeURIComponent(p);i.startsWith(S.WELLKNOWN_SERVICE_PATH_PREFIX)?h(i,{replace:!0}):window.location.href=L(i)}else window.location.href=window.env.pathPrefix||window.env.apiPrefix||"/"},3e3)},f=c=>{u.error(c.message)},d={},x=l.get("componentId");return x&&(d.componentId=x),t.loading?e.jsx(W,{children:e.jsx(j,{})}):e.jsx(I,{did:window?.blocklet?.appPid||window?.env?.appPid,children:e.jsx(T,{sx:{maxWidth:"100%",height:"100%"},children:e.jsx(k,{popup:!0,open:!0,className:"connect",action:"exchange-passport",checkFn:o.get,checkTimeout:10*60*1e3,webWalletUrl:a,onSuccess:m,onError:f,locale:g,messages:{title:s("exchangePassport.dialog.title"),scan:s("exchangePassport.dialog.scan"),confirm:s("exchangePassport.dialog.confirm"),success:s("exchangePassport.dialog.success")},extraParams:d,extraContent:null,hideCloseButton:!0})})})}const K=b(H);function V(){const{info:n}=U(),a=v(n),r=(o,t)=>{o.sessionToken&&R(t(o.sessionToken))};return e.jsx(K,{SessionContext:N,webWalletUrl:a,onSuccess:r})}export{V as default};
1
+ import{r as P,V as E,A as C,j as e,Y as W,C as j,cG as I,K as T,w as k,H as u,aH as S,u as U,x as v,aq as N,ae as R}from"./index-2c1VoOd9.js";import{w as b}from"./wrap-locale-BSXSKo1t.js";import{g as L}from"./get-safe-url-CHuz2b-I.js";import"./index-BGQR0TyN.js";function H({SessionContext:n,webWalletUrl:a,onSuccess:r}){const{api:o,session:t}=P.useContext(n),{t:s,locale:g}=E(),h=C(),{searchParams:l}=new URL(window.location.href),p=l.get("redirect"),m=async(c,w)=>{r(c,w),await t.refresh(),u.success(s("exchangePassport.success")),setTimeout(()=>{if(p){const i=decodeURIComponent(p);i.startsWith(S.WELLKNOWN_SERVICE_PATH_PREFIX)?h(i,{replace:!0}):window.location.href=L(i)}else window.location.href=window.env.pathPrefix||window.env.apiPrefix||"/"},3e3)},f=c=>{u.error(c.message)},d={},x=l.get("componentId");return x&&(d.componentId=x),t.loading?e.jsx(W,{children:e.jsx(j,{})}):e.jsx(I,{did:window?.blocklet?.appPid||window?.env?.appPid,children:e.jsx(T,{sx:{maxWidth:"100%",height:"100%"},children:e.jsx(k,{popup:!0,open:!0,className:"connect",action:"exchange-passport",checkFn:o.get,checkTimeout:10*60*1e3,webWalletUrl:a,onSuccess:m,onError:f,locale:g,messages:{title:s("exchangePassport.dialog.title"),scan:s("exchangePassport.dialog.scan"),confirm:s("exchangePassport.dialog.confirm"),success:s("exchangePassport.dialog.success")},extraParams:d,extraContent:null,hideCloseButton:!0})})})}const K=b(H);function V(){const{info:n}=U(),a=v(n),r=(o,t)=>{o.sessionToken&&R(t(o.sessionToken))};return e.jsx(K,{SessionContext:N,webWalletUrl:a,onSuccess:r})}export{V as default};
@@ -1,4 +1,4 @@
1
- import{bd as c}from"./index-t7M3AlIl.js";var n={exports:{}};/*!
1
+ import{bd as c}from"./index-2c1VoOd9.js";var n={exports:{}};/*!
2
2
  Copyright (c) 2018 Jed Watson.
3
3
  Licensed under the MIT License (MIT), see
4
4
  http://jedwatson.github.io/classnames