@abtnode/webapp 1.16.43-beta-20250422-042711-c40bec75 → 1.16.43-beta-20250424-125523-08a65a5c

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 (239) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{AdapterDayjs-Dd50umeM.js → AdapterDayjs-Bg7uGgbF.js} +7 -7
  4. package/dist/assets/{Add-CaztVzCy.js → Add-lby-WMVZ.js} +1 -1
  5. package/dist/assets/{ArrowDropDown-DVC5NCF_.js → ArrowDropDown-DroHSHv1.js} +1 -1
  6. package/dist/assets/{Autocomplete-BvgGgwn-.js → Autocomplete-D4Jvroxg.js} +1 -1
  7. package/dist/assets/{Breadcrumbs--d8mi7-f.js → Breadcrumbs-Degq7-cg.js} +1 -1
  8. package/dist/assets/{ButtonGroup-BwBRy_Vd.js → ButtonGroup-KbsqQYLp.js} +1 -1
  9. package/dist/assets/{CSSTransition-B2MHWQVG.js → CSSTransition-umLMVbSI.js} +1 -1
  10. package/dist/assets/{CallMerge-BKOZFJsL.js → CallMerge-D43L7gfn.js} +1 -1
  11. package/dist/assets/CardContent-BBNXKDLH.js +1 -0
  12. package/dist/assets/{ChevronLeft-BLMagiOR.js → ChevronLeft-CF_uwgT0.js} +1 -1
  13. package/dist/assets/{ChevronRight-CmLzNb37.js → ChevronRight-DbKKEEsR.js} +1 -1
  14. package/dist/assets/{Clear-DnKBhMMz.js → Clear-BYnHnNAI.js} +1 -1
  15. package/dist/assets/{Close-z9azgP87.js → Close-Dpq37qiZ.js} +1 -1
  16. package/dist/assets/{Community-CfAYk0rg.js → Community-D4w5taWL.js} +1 -1
  17. package/dist/assets/{Delete-lfXEd_sD.js → Delete-Ce85Ql3S.js} +1 -1
  18. package/dist/assets/Delete-ClxQ0y3-.js +1 -0
  19. package/dist/assets/{DeleteOutline-CpHx956r.js → DeleteOutline-C6TmcfH4.js} +1 -1
  20. package/dist/assets/{Done-B07f5HKr.js → Done-BjBoPP5g.js} +1 -1
  21. package/dist/assets/{Edit-DeW-Raa6.js → Edit-xi4J_eau.js} +1 -1
  22. package/dist/assets/{ErrorOutline-BamXOGix.js → ErrorOutline-CCSWIjK_.js} +1 -1
  23. package/dist/assets/{HelpOutline-PjbpgGnS.js → HelpOutline-D375iS8p.js} +1 -1
  24. package/dist/assets/{Holiday-os2if6d3.js → Holiday-CzE5h49l.js} +1 -1
  25. package/dist/assets/{Launch-VrwX5mL6.js → Launch-DePFcprE.js} +1 -1
  26. package/dist/assets/{Link-9GZNaOgm.js → Link-LyPYKPlx.js} +1 -1
  27. package/dist/assets/{ListItemButton-UrtScDNv.js → ListItemButton-CU1frsx_.js} +1 -1
  28. package/dist/assets/{ListSubheader-CXoRyaHI.js → ListSubheader-xl2l5mXh.js} +1 -1
  29. package/dist/assets/{LoadingButton-D_BY4Jqp.js → LoadingButton-CBSsH98L.js} +1 -1
  30. package/dist/assets/{LockIcon-BNPULy1Y.js → LockIcon-B45Spn4w.js} +1 -1
  31. package/dist/assets/{Meeting-DYJ-razI.js → Meeting-D5njBYzA.js} +1 -1
  32. package/dist/assets/{MoreHoriz-BGho5EZt.js → MoreHoriz-BBPO3lYM.js} +1 -1
  33. package/dist/assets/{MoreVert-Dsx1svGJ.js → MoreVert-CJEwAyrO.js} +1 -1
  34. package/dist/assets/{OffSick-DkD5M8d5.js → OffSick-DAPZSrTR.js} +1 -1
  35. package/dist/assets/{Public-DsP_rIVN.js → Public-DU9Zwfvz.js} +1 -1
  36. package/dist/assets/{Refresh-CY_XOdj5.js → Refresh-C8sRW4ey.js} +1 -1
  37. package/dist/assets/{SchemaReference.es-CHFc7aCW.js → SchemaReference.es-BmPkbXqa.js} +1 -1
  38. package/dist/assets/{Search-Cy1sS0Ys.js → Search-DNO2mA1t.js} +1 -1
  39. package/dist/assets/{Slider-DliZyLUu.js → Slider-D2j2o6C_.js} +1 -1
  40. package/dist/assets/{Stepper-D00G8whg.js → Stepper-ByBBXwpK.js} +1 -1
  41. package/dist/assets/{TableSearch-B7Ia4hYX.js → TableSearch-DEtaWkFM.js} +1 -1
  42. package/dist/assets/{ToggleButtonGroup-Dx7Cqen3.js → ToggleButtonGroup-ieIV-WGx.js} +1 -1
  43. package/dist/assets/{Verified-DEPnoVi2.js → Verified-QVVCTHQV.js} +1 -1
  44. package/dist/assets/{VerifiedUser-CtMfrkOq.js → VerifiedUser-DSfNrNs3.js} +1 -1
  45. package/dist/assets/{ViewColumn-1pLOayu5.js → ViewColumn-dIIJ-TaZ.js} +1 -1
  46. package/dist/assets/{ViewList-BAJgFctd.js → ViewList-BMlV2vpC.js} +1 -1
  47. package/dist/assets/{WorkingRemotely-CFsc5wBG.js → WorkingRemotely-CcpgKCrX.js} +1 -1
  48. package/dist/assets/{_createAggregator-BZiDTQ-1.js → _createAggregator-CTEoaHk3.js} +1 -1
  49. package/dist/assets/{actions-rKZA5Yl3.js → actions-DWXi51xP.js} +1 -1
  50. package/dist/assets/{actions-COYCVGfV.js → actions-D_w-E3e-.js} +2 -2
  51. package/dist/assets/{agreement-CvnU-wvl.js → agreement-CDVwTK7I.js} +4 -4
  52. package/dist/assets/api-DkiXYVLM.js +1 -0
  53. package/dist/assets/{appearance-BKSHEoHy.js → appearance-BNbra9Q0.js} +1 -1
  54. package/dist/assets/ar-BNaEJSr3.js +7 -0
  55. package/dist/assets/{audit-logs-C5PuRwaG.js → audit-logs-Bi1ieUq6.js} +2 -2
  56. package/dist/assets/blocklet-DidLj2Zo.js +1 -0
  57. package/dist/assets/{brace-fold.es-zOkKbJNK.js → brace-fold.es-hD6ePSd7.js} +1 -1
  58. package/dist/assets/{chain-nejdRVrr.js → chain-B1DYbRT2.js} +1 -1
  59. package/dist/assets/click-to-copy-D9mVJ-RV.js +1 -0
  60. package/dist/assets/cloneDeep-25ofqs0f.js +1 -0
  61. package/dist/assets/{closebrackets.es-D1eT-FTM.js → closebrackets.es-B0J2lA3U.js} +1 -1
  62. package/dist/assets/{codemirror.es-0rTHjVK9.js → codemirror.es-BaDyFG9Y.js} +1 -1
  63. package/dist/assets/{comment.es-BzTQxNrB.js → comment.es-DPh31JMD.js} +1 -1
  64. package/dist/assets/{config-navigation-DP1VP0AV.js → config-navigation-Czs5GZbX.js} +17 -17
  65. package/dist/assets/{connect-to-CLKjNArl.js → connect-to-P_JZVAGf.js} +1 -1
  66. package/dist/assets/de-BsZVQmUM.js +7 -0
  67. package/dist/assets/delete-confirm-CPbaWrD8.js +1 -0
  68. package/dist/assets/{detail-SkSHXUY6.js → detail-BkfZ-vLq.js} +3 -3
  69. package/dist/assets/{dialog.es-DTCttvK1.js → dialog.es-Cy5fQBet.js} +1 -1
  70. package/dist/assets/domains-BLRqSu-m.js +24 -0
  71. package/dist/assets/{download-hxkTe46m.js → download-gAaJAdD7.js} +1 -1
  72. package/dist/assets/emotion-react.browser.esm-BuYEJ5bP.js +1 -0
  73. package/dist/assets/es-ntlJbt-a.js +7 -0
  74. package/dist/assets/{foldgutter.es-D09BRatH.js → foldgutter.es-DpwInfY6.js} +1 -1
  75. package/dist/assets/fr-Bv4B0MVB.js +7 -0
  76. package/dist/assets/{get-safe-url-6iqduUH5.js → get-safe-url-CofQV3ai.js} +1 -1
  77. package/dist/assets/{get-safe-url-CVvG2J9I.js → get-safe-url-DzAjUQl5.js} +1 -1
  78. package/dist/assets/getValidReactChildren-BNMVx0A0.js +1 -0
  79. package/dist/assets/hi-DIf_hqVB.js +5 -0
  80. package/dist/assets/{hint.es-CElKEoBL.js → hint.es-zNpcbGGk.js} +1 -1
  81. package/dist/assets/{hint.es2-cm-ZWwEJ.js → hint.es2-5htyBXtO.js} +1 -1
  82. package/dist/assets/id-DZBgOnwF.js +7 -0
  83. package/dist/assets/{iframe-BtkIGcLr.js → iframe-DaFIiCmw.js} +1 -1
  84. package/dist/assets/{index-CrLu05HL.js → index-7G8x7Vl0.js} +24 -24
  85. package/dist/assets/{index-B8tVxEg2.js → index-B38OHLL1.js} +1 -1
  86. package/dist/assets/{index-BaNhzXWK.js → index-B5aj8g64.js} +25 -25
  87. package/dist/assets/{index-C1Ig2ZHh.js → index-B7k9dkSz.js} +1 -1
  88. package/dist/assets/{index-DFqgZ5xa.js → index-BH5HIFbb.js} +1 -1
  89. package/dist/assets/{index-Ca2ykS6T.js → index-BIAPYyhR.js} +1 -1
  90. package/dist/assets/{index-H4oRzuHX.js → index-BJV-jbRZ.js} +1 -1
  91. package/dist/assets/index-BcXeJXCR.js +1 -0
  92. package/dist/assets/{index-DU1prNlR.js → index-Bd8opEvI.js} +1 -1
  93. package/dist/assets/{index-iKNyCq23.js → index-BdtBG9co.js} +1 -1
  94. package/dist/assets/{index-C7M3KjDN.js → index-Bqki_NGY.js} +1 -1
  95. package/dist/assets/{index-BdcAx4jd.js → index-Bzt7VEv3.js} +1 -1
  96. package/dist/assets/{index-D5tFxfO4.js → index-C1TWTzPh.js} +3 -3
  97. package/dist/assets/index-C6d26-qR.js +1 -0
  98. package/dist/assets/{index-CwQRP9vW.js → index-CIOf_B3T.js} +1 -1
  99. package/dist/assets/{index-CkuW1m1M.js → index-CQ7uV-a-.js} +1 -1
  100. package/dist/assets/{index-dpcQFGC9.js → index-CTEKj5go.js} +1 -1
  101. package/dist/assets/{index-dPMBaXU5.js → index-CfWjDiL_.js} +1 -1
  102. package/dist/assets/{index-Db1NmfnY.js → index-CiCEonKE.js} +11 -11
  103. package/dist/assets/{index-D1AcZBxv.js → index-CkIbYyM0.js} +1 -1
  104. package/dist/assets/{index-CrdafeIA.js → index-Ct8zi4pq.js} +4 -4
  105. package/dist/assets/{index-B_8fIevk.js → index-CxfmUaF-.js} +1 -1
  106. package/dist/assets/index-Cy5Qtbob.js +1 -0
  107. package/dist/assets/{index-CmON_Ucm.js → index-D-8F2hnL.js} +3 -3
  108. package/dist/assets/{index-B-gpi2ba.js → index-D3aHzIo4.js} +1 -1
  109. package/dist/assets/{index-D5iXLg7U.js → index-D652L7CC.js} +1 -1
  110. package/dist/assets/{index-CH0ZtB03.js → index-DB-T1OVT.js} +1 -1
  111. package/dist/assets/{index-DacxPQzS.js → index-DEtsePs-.js} +9 -9
  112. package/dist/assets/{index-BG2kH0vO.js → index-DIt3-b0L.js} +1 -1
  113. package/dist/assets/index-DJipOB3r.js +327 -0
  114. package/dist/assets/{index-BYMuyFwb.js → index-DPbGXgqB.js} +2 -2
  115. package/dist/assets/{index-bYp_tt8z.js → index-DUWb27J9.js} +1 -1
  116. package/dist/assets/{index-Chf7gMD-.js → index-DX_pC0Y6.js} +5 -5
  117. package/dist/assets/{index-DMyuQ6gX.js → index-Di0aMImb.js} +1 -1
  118. package/dist/assets/{index-CdIzwolo.js → index-Dj8CUjVy.js} +1 -1
  119. package/dist/assets/{index-DwcH9Py2.js → index-DllLiKC-.js} +1 -1
  120. package/dist/assets/{index-BI57n5-1.js → index-Dmw-rWCR.js} +1 -1
  121. package/dist/assets/index-E6lSv66O.js +20 -0
  122. package/dist/assets/{index-PKxcb70p.js → index-QaZ1YHGi.js} +4 -4
  123. package/dist/assets/{index-BjeDI2iY.js → index-RxScS04A.js} +1 -1
  124. package/dist/assets/index-W1T8OGsQ.js +102 -0
  125. package/dist/assets/{index-BEKPz42W.js → index-ftNYfJO-.js} +2 -2
  126. package/dist/assets/{index-BCoMTShJ.js → index-kCV42hBz.js} +3 -3
  127. package/dist/assets/{index-BkTRcS0m.js → index-mzqVbRK8.js} +5 -5
  128. package/dist/assets/{index-DacB9LlP.js → index-peWL8owC.js} +1 -1
  129. package/dist/assets/{index-CoenHBJL.js → index-rRNsJfpm.js} +1 -1
  130. package/dist/assets/{index-C9UfyIb3.js → index-rZNPURo0.js} +1 -1
  131. package/dist/assets/index-uPaywPQ8.js +11 -0
  132. package/dist/assets/{index.esm-BiF80IE7.js → index.esm-C4Qz2Lyg.js} +1 -1
  133. package/dist/assets/{info-addon.es-LTLqCI-0.js → info-addon.es-BXYvd0W0.js} +1 -1
  134. package/dist/assets/{info.es-DGuZ8x_j.js → info.es-BqgAgM-L.js} +1 -1
  135. package/dist/assets/{install-from-url-CctlVaYm.js → install-from-url-xwgejqoQ.js} +1 -1
  136. package/dist/assets/{invitation-B5T1tiZS.js → invitation-DTsCoqpv.js} +5 -5
  137. package/dist/assets/is-path-prefix-equal-CH05cZsF.js +1 -0
  138. package/dist/assets/{item-C_feFNJE.js → item-CmVxSSOE.js} +5 -5
  139. package/dist/assets/ja-8jRYJGVw.js +7 -0
  140. package/dist/assets/{javascript.es-DXQm_49v.js → javascript.es-grXxHaUZ.js} +1 -1
  141. package/dist/assets/{jump-to-line.es-COQrSkxS.js → jump-to-line.es-B6hVDRl6.js} +1 -1
  142. package/dist/assets/{jump.es-Bt36pao4.js → jump.es-B_PWFf9O.js} +1 -1
  143. package/dist/assets/ko-C4pbuwv8.js +7 -0
  144. package/dist/assets/{lint.es-D7cZDq3q.js → lint.es-9mA5K-XH.js} +1 -1
  145. package/dist/assets/{lint.es2-DjlpYEUm.js → lint.es2-B8BrvpI1.js} +1 -1
  146. package/dist/assets/{lint.es3-DZfzAxs3.js → lint.es3-fLYIED-e.js} +1 -1
  147. package/dist/assets/{list-header-D6gN8uAe.js → list-header-DRRNzO0m.js} +1 -1
  148. package/dist/assets/{log-D0D7SXBT.js → log-CsCaVz2A.js} +1 -1
  149. package/dist/assets/{lottie-react.esm-Cq33pfIC.js → lottie-react.esm-BKXV9kCi.js} +1 -1
  150. package/dist/assets/{matchbrackets.es-3bFu-rM7.js → matchbrackets.es-CzWnE91z.js} +1 -1
  151. package/dist/assets/{memory-C4f-u36N.js → memory-gHhFfsR0.js} +1 -1
  152. package/dist/assets/{mode.es-fSwJIwcv.js → mode.es-C15J0aR6.js} +1 -1
  153. package/dist/assets/{mode.es2-DE0KN96r.js → mode.es2-DomABVUn.js} +1 -1
  154. package/dist/assets/{mode.es3-7lr44IEM.js → mode.es3-UeuTaWNm.js} +1 -1
  155. package/dist/assets/omit-CV0Lh9D4.js +1 -0
  156. package/dist/assets/{onlineParser.es-CgJfI2uz.js → onlineParser.es-BbMfA3YO.js} +1 -1
  157. package/dist/assets/{overview-BFj7mF3I.js → overview-Bu69g0aI.js} +2 -2
  158. package/dist/assets/{permission-CWRNDCfb.js → permission-KtOkmZK5.js} +1 -1
  159. package/dist/assets/{preference-Bu7eUUWY.js → preference-DioTxcDx.js} +4 -4
  160. package/dist/assets/pt-CMeQ7KWn.js +5 -0
  161. package/dist/assets/{raf-schd.esm-CHbi2ex4.js → raf-schd.esm-DqWgvWp8.js} +1 -1
  162. package/dist/assets/refType-M_fnNR8Y.js +1 -0
  163. package/dist/assets/{resource-dialog-Bkqsb65A.js → resource-dialog-CybAqKK7.js} +4 -4
  164. package/dist/assets/ru-8cWKcW3b.js +5 -0
  165. package/dist/assets/{runtime-BTj0lhIQ.js → runtime-C2qLnxoL.js} +1 -1
  166. package/dist/assets/{schema-v7IiGTwK.js → schema-B-wPSL-T.js} +1 -1
  167. package/dist/assets/{search.es-Dq3fEJn9.js → search.es-D-x2fK1z.js} +1 -1
  168. package/dist/assets/{searchcursor.es-4j5vi65s.js → searchcursor.es-DQ3R3tL0.js} +1 -1
  169. package/dist/assets/{service-lHsrm0NQ.js → service-1KS_Mvhf.js} +1 -1
  170. package/dist/assets/session-CDrB7OKD.js +1 -0
  171. package/dist/assets/shorten-label-3ndfcRTb.js +1 -0
  172. package/dist/assets/{show-hint.es-Ojy6T5sj.js → show-hint.es-kWFkQmfD.js} +1 -1
  173. package/dist/assets/{simple-select-F8H5fDWg.js → simple-select-CCb06xBs.js} +1 -1
  174. package/dist/assets/{spaces-BTXS6Yjp.js → spaces-Dlk0tiHl.js} +1 -1
  175. package/dist/assets/{status-IJGTdR69.js → status-D__Gu7bb.js} +1 -1
  176. package/dist/assets/{status-l9WKVdEe.js → status-qfhBp9Zz.js} +1 -1
  177. package/dist/assets/{sublime.es-B-15UZDa.js → sublime.es-D65uN2k1.js} +1 -1
  178. package/dist/assets/{switch-control-DonG73Yn.js → switch-control-Cpqmpl-t.js} +1 -1
  179. package/dist/assets/{table-icons-BHel_001.js → table-icons-Wfa_TiY1.js} +1 -1
  180. package/dist/assets/{team-B791iWfh.js → team-DLnveWtv.js} +1 -1
  181. package/dist/assets/th-DYYGBboI.js +5 -0
  182. package/dist/assets/{toLower-Na2C3nc2.js → toLower-Cc2jzGm2.js} +1 -1
  183. package/dist/assets/toUpper-B0N7bX3J.js +1 -0
  184. package/dist/assets/{traffic-C0ojZNhU.js → traffic-C9SC7OdE.js} +1 -1
  185. package/dist/assets/{url-evaluation-gByE9zMg.js → url-evaluation-C6gQAust.js} +1 -1
  186. package/dist/assets/{url-join-D1f7RCcb.js → url-join-BhaAJPg6.js} +1 -1
  187. package/dist/assets/{use-mobile-ccyNEJKq.js → use-mobile-BAkfxlsb.js} +1 -1
  188. package/dist/assets/{use-mobile-ate4xZwv.js → use-mobile-uaCblfH4.js} +1 -1
  189. package/dist/assets/{useAsync-VXf0m9o5.js → useAsync-UCL8EFNX.js} +1 -1
  190. package/dist/assets/{useLocalStorage-CM3CvKLy.js → useLocalStorage-CX0bausV.js} +1 -1
  191. package/dist/assets/{useThemeProps-BC8tRkwB.js → useThemeProps-ekXTUVYd.js} +1 -1
  192. package/dist/assets/{util-7WcGgtM2.js → util-CdmIFTbh.js} +1 -1
  193. package/dist/assets/vi-CfH0km8q.js +5 -0
  194. package/dist/assets/{wait-container-YMrkmjdy.js → wait-container-BqRh3coF.js} +3 -3
  195. package/dist/assets/withStyles-DQ3lkjuW.js +1 -0
  196. package/dist/assets/wrap-locale-DSOYhBxy.js +1 -0
  197. package/dist/assets/{zh-CY9wasmC.js → zh-DZlGQAU9.js} +1 -1
  198. package/dist/assets/zh-tw-Be5lgYGX.js +7 -0
  199. package/dist/index.html +1 -1
  200. package/dist/service-worker.js +1 -1
  201. package/package.json +1 -1
  202. package/dist/assets/CardContent-BtOX0LtZ.js +0 -1
  203. package/dist/assets/Delete-WcGTUKKB.js +0 -1
  204. package/dist/assets/api-DLD170qt.js +0 -1
  205. package/dist/assets/ar-DRtGxecv.js +0 -7
  206. package/dist/assets/blocklet-DJBGGeZX.js +0 -1
  207. package/dist/assets/click-to-copy-DMnzmGmb.js +0 -1
  208. package/dist/assets/cloneDeep-B9FR8YvV.js +0 -1
  209. package/dist/assets/de-BZDWXY3K.js +0 -7
  210. package/dist/assets/delete-confirm-BtLdya8P.js +0 -1
  211. package/dist/assets/domains-Ocd33WxK.js +0 -25
  212. package/dist/assets/emotion-react.browser.esm-BhrBe_SA.js +0 -1
  213. package/dist/assets/es-kQ6jQG-H.js +0 -7
  214. package/dist/assets/fr-Bf3jz4q5.js +0 -7
  215. package/dist/assets/getValidReactChildren-Cpt3JIPG.js +0 -1
  216. package/dist/assets/hi-DPdbGXyy.js +0 -5
  217. package/dist/assets/id-BqmT-cL5.js +0 -7
  218. package/dist/assets/index-BbQ_Eva9.js +0 -1
  219. package/dist/assets/index-CsRDH5PZ.js +0 -11
  220. package/dist/assets/index-DErkdWGS.js +0 -1
  221. package/dist/assets/index-Dk_ddRep.js +0 -20
  222. package/dist/assets/index-JQOci2IN.js +0 -1
  223. package/dist/assets/index-Smdhabbz.js +0 -102
  224. package/dist/assets/index-U3LqL5BU.js +0 -327
  225. package/dist/assets/is-path-prefix-equal-evPnCa54.js +0 -1
  226. package/dist/assets/ja-CyUU4_H1.js +0 -7
  227. package/dist/assets/ko-DWTxutv1.js +0 -7
  228. package/dist/assets/omit-CRVyfsPe.js +0 -1
  229. package/dist/assets/pt-BcsDG9H6.js +0 -5
  230. package/dist/assets/refType-DslaJ1jV.js +0 -1
  231. package/dist/assets/ru-BwH1q1F1.js +0 -5
  232. package/dist/assets/session-ZhuGZWu8.js +0 -1
  233. package/dist/assets/shorten-label-DOksnAtq.js +0 -1
  234. package/dist/assets/th-CNztcQMJ.js +0 -5
  235. package/dist/assets/toUpper-CxCsEo5T.js +0 -1
  236. package/dist/assets/vi-Bpl5HEj4.js +0 -5
  237. package/dist/assets/withStyles-oCXyS3DL.js +0 -1
  238. package/dist/assets/wrap-locale-C4NCfxhS.js +0 -1
  239. package/dist/assets/zh-tw-D6qZTlL3.js +0 -7
@@ -0,0 +1,327 @@
1
+ import{r as x,u as Z,_ as ze,aJ as ri,j as e,A as E,aK as An,aL as pr,aM as ii,aN as In,aO as nt,aP as we,aQ as Ce,P as m,n as ee,m as z,af as le,aR as Ln,aS as oi,aT as On,aU as ai,y as ae,N as Fn,k as A,t as H,aB as pe,aV as Le,C as V,X as be,B as X,aW as gr,Y as xe,M as q,f as Kt,R as hr,aX as si,e as Gt,aY as rt,aZ as fe,ac as li,a_ as ci,a$ as di,a3 as ui,x as xr,W as Nn,T as $n,h as ne,b0 as Vt,a as Ft,U as J,b as ft,b1 as yr,b2 as vr,V as mi,a5 as Nt,b3 as fi,b4 as pi,b5 as gi,b6 as hi,b7 as it,aa as xi,H as yi,b8 as vi,aI as Xe,b9 as bi,ab as Tt,a8 as Et,ba as ji,a9 as $t,L as Yt,J as wi,bb as Ci,bc as br,bd as Te,be as Ee,bf as Si,bg as Di,D as jr,q as Ut,am as ki,g as Pi,ax as Un,bh as _i,bi as zn,an as Ri,bj as Ti,bk as wr,bl as se,S as Bn,p as Mn,l as Wn,bm as Ei,bn as Ai}from"./index-CiCEonKE.js";import{T as Ii}from"./index-Bqki_NGY.js";import{d as Li}from"./ArrowDropDown-DroHSHv1.js";import{u as Xt,C as M,a as qn}from"./index.esm-C4Qz2Lyg.js";import{S as oe}from"./switch-control-Cpqmpl-t.js";import{P as re}from"./permission-KtOkmZK5.js";import{D as Cr,g as Oi}from"./index-B7k9dkSz.js";import{d as Sr}from"./Link-LyPYKPlx.js";import{d as je}from"./Delete-Ce85Ql3S.js";import{D as pt}from"./delete-confirm-CPbaWrD8.js";import{I as ot}from"./index-CIOf_B3T.js";import{s as Fi}from"./logo-BKA11TRi.js";import{R as Dr,a as zt,b as Ni,W as Qe}from"./url-evaluation-C6gQAust.js";import{_ as $i}from"./useLocalStorage-CX0bausV.js";import{d as Ui}from"./Refresh-C8sRW4ey.js";import{L as zi}from"./LoadingButton-CBSsH98L.js";import{C as Bi,R as Mi,d as kr}from"./Public-DU9Zwfvz.js";import{d as Ne}from"./Add-lby-WMVZ.js";import{B as Pr,D as Hn}from"./status-D__Gu7bb.js";import{i as Wi}from"./is-path-prefix-equal-CH05cZsF.js";import{d as qi}from"./ChevronRight-DbKKEEsR.js";import{d as Hi}from"./MoreVert-CJEwAyrO.js";import{d as _r}from"./Edit-xi4J_eau.js";import{d as Ki}from"./CallMerge-D43L7gfn.js";import{C as Gi}from"./CardContent-BBNXKDLH.js";import{w as Vi}from"./withStyles-DQ3lkjuW.js";import{S as Yi}from"./Slider-D2j2o6C_.js";import"./index-BJV-jbRZ.js";import"./session-CDrB7OKD.js";import"./useThemeProps-ekXTUVYd.js";import"./emotion-react.browser.esm-BuYEJ5bP.js";import"./ViewColumn-dIIJ-TaZ.js";import"./Search-DNO2mA1t.js";import"./Clear-BYnHnNAI.js";import"./index-DUWb27J9.js";import"./TableSearch-DEtaWkFM.js";import"./click-to-copy-D9mVJ-RV.js";const ve="Dashboard",Rr=x.createContext({}),{Provider:Xi,Consumer:Ws}=Rr,Kn=[ve,E.DOMAIN_FOR_IP_SITE,E.DOMAIN_FOR_IP_SITE_REGEXP],Qi=(t,n)=>{if(t.name===E.DOMAIN_FOR_DEFAULT_SITE)return-1;if(n.name===E.DOMAIN_FOR_DEFAULT_SITE)return 1;const r=Kn.includes(t.name),i=Kn.includes(n.name);return r&&i?In(t.name,n.name):r?-1:i?1:In(t.name,n.name)},Zi=({sites:t,nodePort:n})=>{const r=window.location.host,o=(t||[]).map(a=>{const{id:s,rules:d=[],corsAllowedOrigins:g=[]}=a;let{domain:c,domainAliases:u}=a;u=u||[],[E.DOMAIN_FOR_IP_SITE,E.DOMAIN_FOR_IP_SITE_REGEXP].includes(c)&&(c=ve,u.find(w=>w.value===r)||u.unshift({protected:!1,value:r}));const f={id:s,name:c,type:"domain",items:[],domainAliases:u,isProtected:a.isProtected,corsAllowedOrigins:g};return(d||[]).forEach(w=>{const{id:j,isProtected:_,from:{pathPrefix:v},to:k}=w;if(k.type===E.ROUTING_RULE_TYPES.BLOCKLET){let P="";Number.parseInt(k.port,10)===Number.parseInt(n,10)?(P="Blocklet Server Dashboard",k.type=E.ROUTING_RULE_TYPES.DAEMON):P=k.did,f.items.push({id:j,name:An(v||"/"),title:P,type:"rule",isProtected:_,pathPrefix:v,to:k})}else f.items.push({id:j,pathPrefix:v,name:An(v||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:_,to:k})}),f.items=pr(f.items,w=>w.name),f}).sort(Qi),l=o.reduce((a,s)=>{let{name:d}=s;return d.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX)&&([d]=d.split(".")),a[d]={...s,rules:s.items},a},{});return{sites:o,siteMap:l}},Ji=({did:t,domain:n,mountPoint:r,siteMap:i,params:o}={})=>{if(!i)return null;const l=i[t];if(!l)return null;const a=n||(l.domainAliases||[])[0];if(!a)return null;let s=r;if(!s){const d=l.rules.filter(g=>!g.name.startsWith(E.WELLKNOWN_PATH_PREFIX))[0];s=d?d.name:"/"}return nt(a.value,s,o)},eo=({did:t,mountPoint:n,siteMap:r,params:i}={})=>{if(!r)return[];const o=r[t];if(!o)return[];const l=o.domainAliases||[];if(!l.length)return[];let a=n;if(!a){const s=o.rules.filter(d=>!d.name.startsWith(E.WELLKNOWN_PATH_PREFIX))[0];a=s?s.name:"/"}return l.map(s=>nt(s.value,a,i))},to=t=>{const n=t.map(i=>i.domain).filter(i=>![E.DOMAIN_FOR_IP_SITE_REGEXP,E.DOMAIN_FOR_DEFAULT_SITE].includes(i));let r=[];return t.forEach(i=>r.push(...i.domainAliases||[])),r=r.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:n,domainsAliases:r}};function Gn({children:t}){const{api:n,info:r}=Z(),[i,o]=x.useState([]),[l,a]=x.useState([]),[s,d]=x.useState([]),g=ze(async()=>{const{sites:b}=await n.getRoutingSites({input:{snapshotHash:""}}),y=b||[];await Promise.all(y.map(async T=>(T.domainAliases=await ri(T.domainAliases,{getIP:ii}),T)));const S=to(y);o(y),a(S.domains),d([window.location.hostname,...S.domains,...S.domainsAliases.map(T=>T.value)])},[r]),c=(b,y)=>{o(S=>S.map(T=>T.id===b?y.domain?y:{...y,domain:T.domain}:T))},u=b=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(b)}}),f=async b=>{const y=await n.addRoutingSite({input:b});o(i.concat(y.site))},w=async(b,y)=>{const S=await n.updateRoutingSite({input:{id:b,...y}});if(S.site&&S.site.id){const T=i.findIndex($=>$.id===S.site.id);T!==-1&&(i.splice(T,1,S.site),o([].concat(i)))}},j=async b=>{await n.deleteRoutingSite({input:{id:b}}),o(i.filter(y=>y.id!==b))},_=async(b,y,S)=>{const T=await n.addDomainAlias({input:{id:b,domainAlias:y,force:S}});c(b,T.site)},v=async(b,y)=>{const S=await n.deleteDomainAlias({input:{id:b,domainAlias:y}});c(b,S.site)},k=async(b,y)=>{const{site:S}=await n.addRoutingRule({input:{id:b,rule:y}});c(b,S)},P=async(b,y)=>{const{site:S}=await n.updateRoutingRule({input:{id:b,rule:y}});c(b,S)},D=async(b,y)=>{const{site:S}=await n.deleteRoutingRule({input:{id:b,ruleId:y}});c(b,S)},p={loading:g.loading,error:g.error,refresh:g.retry,api:n,actions:{addSite:f,updateSite:w,deleteSite:j,addDomainAlias:_,deleteDomainAlias:v,takeSnapshot:u,addRule:k,updateRule:P,deleteRule:D}},{sites:C,siteMap:h}=Zi({sites:i,nodePort:r.port});return p.sites=C,p.siteMap=h,p.domains=l,p.allDomains=s,p.getBlockletUrl=({did:b,domain:y,mountPoint:S,params:T})=>Ji({did:b,domain:y,mountPoint:S,siteMap:p.siteMap,params:T}),p.getBlockletUrls=({did:b,mountPoint:y,params:S})=>eo({did:b,mountPoint:y,siteMap:p.siteMap,params:S}),e.jsx(Xi,{value:{routing:p},children:t})}function ue(){const{routing:t}=x.useContext(Rr);return t}function Qt(t){const n=[E.DOMAIN_FOR_IP_SITE_REGEXP,E.DOMAIN_FOR_DEFAULT_SITE,E.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&n.push(window.location.hostname),n.includes(t)}var Zt={},no=Ce;Object.defineProperty(Zt,"__esModule",{value:!0});var Tr=Zt.default=void 0,ro=no(we()),io=e;Tr=Zt.default=(0,ro.default)((0,io.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");function oo(){return null}function Jt({confirm:t}){const[n,r]=x.useState(null),{t:i}=z(),o=()=>{r(null)},l=async s=>{if(s){let d=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";d==="/"?Ln.push(`${s.pathname}`):(d.endsWith("/")&&(d=d.substring(0,d.length-1)),Ln.push(`${d}${s.pathname}`)),window.location.reload()}},a=(s,...d)=>{let g=typeof t=="function"?t(s,...d):t;return g?(typeof g=="string"&&(g={description:g}),r({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>l(s),onCancel:()=>o(),...g}),!1):!0};return e.jsxs(ao,{children:[e.jsx(oo,{message:a}),n&&e.jsx(le,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Jt.propTypes={confirm:m.oneOfType([m.object,m.string,m.func])};Jt.defaultProps={confirm:null};const ao=ee.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 en({children:t,...n}){return e.jsx(so,{children:e.jsx("form",{...n,children:t})})}en.propTypes={children:m.any.isRequired};const so=ee.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
+ `,lo="v21.6.0",co=t=>oi.gte(t,lo),Vn=t=>({name:t.name,description:t.description,registerUrl:t.registerUrl,webWalletUrl:t.webWalletUrl,nftDomainUrl:t.nftDomainUrl,diskAlertThreshold:t.diskAlertThreshold,enableWelcomePage:!1,enableBetaRelease:!1,enableFileSystemIsolation:!0,enableDocker:!1,enableDockerNetwork:!1,isDockerInstalled:!1,enableSessionHardening:t.enableSessionHardening||!1});function tn({onSaved:t,title:n,submit:r,disabled:i,...o}){const{api:l,info:a}=Z(),{t:s}=z(),{control:d,handleSubmit:g,formState:c,reset:u}=Xt({defaultValues:Vn(a)}),[f,w]=x.useState(""),[j,_]=x.useState(""),[v,k]=x.useState(!1),[P,D]=x.useState(a.autoUpgrade),[p,C]=x.useState(!!a.enableWelcomePage),[h,b]=x.useState(null),y=On({enableFileSystemIsolation:!!a.enableFileSystemIsolation,tooltip:s("setting.form.security.switchTips"),loading:!1}),S=On({enableDocker:!!a.enableDocker,enableDockerNetwork:!!a.enableDockerNetwork,tooltip:s("setting.form.docker.switchTips"),isDockerInstalled:!!a.isDockerInstalled}),[T,$]=x.useState(!!a.enableBetaRelease);x.useEffect(()=>{let O="";(c.isDirty||P!==a.autoUpgrade||p!==!!a.enableWelcomePage||y.enableFileSystemIsolation!==!!a.enableFileSystemIsolation)&&(O=s("setting.unSavedTip")),_(O)},[s,a,P,p,y.enableFileSystemIsolation,c]),ai(async()=>{try{const O=Object.assign({},await l.getNodeEnv()||{}),{version:L}=O.info.blockletEngines.find(G=>G.name==="node");b(L)}catch(O){console.error(O),ae.error(O.message)}},[l]),x.useEffect(()=>{try{y.enableFileSystemIsolation=!!a.enableFileSystemIsolation,y.tooltip=s("setting.form.security.switchTips"),y.loading=Fn(h),!Fn(h)&&!co(h)&&(y.tooltip=s("setting.form.security.warningTips",{version:h}))}catch(O){console.error(O),ae.error(O.message)}},[a.enableFileSystemIsolation,h]);const U=async O=>{w(""),k(!0);try{const L=await l.updateNodeInfo({input:{...O,name:O.name.trim(),description:O.description.trim(),registerUrl:O.registerUrl.trim(),webWalletUrl:O.webWalletUrl.trim(),diskAlertThreshold:O.diskAlertThreshold,autoUpgrade:P,enableWelcomePage:p,enableFileSystemIsolation:y.enableFileSystemIsolation,enableBetaRelease:T,enableDocker:S.enableDocker,enableDockerNetwork:S.enableDockerNetwork}});await gr(1e3),u(Vn(L.info)),typeof t=="function"&&t(L)}catch(L){w(xe(L))}finally{k(!1)}},{errors:I}=c;return e.jsxs(uo,{...o,children:[e.jsxs(en,{noValidate:!0,autoComplete:"off",onSubmit:g(U),children:[!!n&&e.jsx(A,{component:"h2",variant:"h5",className:"stepper-tip",children:n}),e.jsx(re,{permission:"mutate_node",children:O=>e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"name",control:d,rules:{validate:L=>!!L.trim()||s("setting.form.nameRequired")},render:({field:L})=>e.jsx(H,{variant:"outlined",label:s("setting.form.name"),placeholder:s("setting.form.namePlaceholder"),disabled:v||!O,"data-cy":"node-name-input",error:I.name&&!!I.name.message,helperText:I.name?I.name.message:"",margin:"normal",...L})}),e.jsx(M,{name:"description",control:d,rules:{validate:L=>!!L.trim()||s("setting.form.descriptionRequired")},render:({field:L})=>e.jsx(H,{variant:"outlined",label:s("setting.form.description"),placeholder:s("setting.form.descriptionHolder"),disabled:v||!O,"data-cy":"node-description-input",error:I.description&&!!I.description.message,helperText:I.description?I.description.message:"",margin:"normal",...L})}),e.jsx(M,{name:"registerUrl",control:d,rules:{},render:({field:L})=>e.jsx(H,{variant:"outlined",label:s("setting.form.registerUrl"),placeholder:s("setting.form.registerUrlPlaceholder"),disabled:v||!O,error:I.registerUrl&&!!I.registerUrl.message,helperText:I.registerUrl?I.registerUrl.message:"",margin:"normal",...L})}),e.jsx(M,{name:"nftDomainUrl",control:d,rules:{},render:({field:L})=>e.jsx(H,{variant:"outlined",label:s("setting.form.nftDomainUrl"),placeholder:s("setting.form.nftDomainUrlPlaceholder"),disabled:v||!O,error:I.nftDomainUrl&&!!I.nftDomainUrl.message,helperText:I.nftDomainUrl?I.nftDomainUrl.message:"",margin:"normal",...L})}),e.jsx(M,{name:"webWalletUrl",control:d,rules:{},render:({field:L})=>e.jsx(H,{variant:"outlined",label:s("setting.form.webWalletUrl"),placeholder:s("setting.form.webWalletUrlPlaceholder"),disabled:v||!O,error:I.webWalletUrl&&!!I.webWalletUrl.message,helperText:I.webWalletUrl?I.webWalletUrl.message:"",margin:"normal",...L})}),e.jsx(M,{name:"diskAlertThreshold",control:d,rules:{},render:({field:L})=>e.jsx(H,{type:"number",variant:"outlined",label:s("setting.form.monitor.diskThreshold"),placeholder:s("setting.form.monitor.diskThresholdPlaceholder"),disabled:v||!O,error:I.diskAlertThreshold&&!!I.diskAlertThreshold.message,inputProps:{min:1,max:99},helperText:I.diskAlertThreshold?I.diskAlertThreshold.message:"",margin:"normal",...L})}),e.jsx(oe,{checked:P,onChange:()=>D(!P),name:"autoUpgrade",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),P&&e.jsx(oe,{checked:T,onChange:()=>$(!T),name:"enableBetaRelease",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),(a==null?void 0:a.mode)!==E.NODE_MODES.SERVERLESS&&e.jsx(oe,{checked:p,onChange:()=>C(!p),name:"enableWelcomePage",disabled:!O,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),e.jsx(M,{name:"enableSessionHardening",control:d,render:({field:L})=>e.jsx(oe,{checked:L.value,disabled:v||!O,labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.enableSessionHardening.switchLabel"),e.jsx(pe,{title:s("setting.form.enableSessionHardening.switchTips"),children:e.jsx(Le,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16},...L})}),e.jsx(oe,{checked:y.enableFileSystemIsolation,onChange:()=>{y.enableFileSystemIsolation=!y.enableFileSystemIsolation,S.enableDocker&&y.enableFileSystemIsolation&&(S.enableDocker=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation")))},name:"enableFileSystemIsolation",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.security.switchLabel"),e.jsx(pe,{title:!y.loading&&y.tooltip,children:y.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Le,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:S.enableDocker,onChange:()=>{if(!S.enableDocker&&!S.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}S.enableDocker=!S.enableDocker,S.enableDocker&&y.enableFileSystemIsolation&&(y.enableFileSystemIsolation=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation"))),!S.enableDocker&&S.enableDockerNetwork&&(S.enableDockerNetwork=!1)},name:"enableDocker",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.docker.switchLabel"),e.jsx(pe,{title:!S.loading&&S.tooltip,children:S.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Le,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:S.enableDockerNetwork,onChange:()=>{if(!S.enableDockerNetwork&&!S.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}S.enableDockerNetwork=!S.enableDockerNetwork,S.enableDockerNetwork&&!S.enableDocker&&(S.enableDocker=!0)},name:"enableDockerNetwork",disabled:!O,"data-cy":"file-system-isolation-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.dockerNetwork.switchLabel"),e.jsx(pe,{title:!S.loading&&s("setting.form.dockerNetwork.switchTips"),children:S.loading?e.jsx(V,{size:14,sx:{ml:.5}}):e.jsx(Le,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}})]})}),!!j&&e.jsx(be,{severity:"warning",variant:"icon",children:j}),e.jsx("div",{className:"form-actions",children:e.jsx(re,{permission:"mutate_node",children:e.jsxs(X,{onClick:g(U),disabled:i||v,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r," ",v?e.jsx(V,{size:16}):null]})})}),!!f&&e.jsx(be,{severity:"error",variant:"icon",error:f,children:f})]}),j&&e.jsx(Jt,{confirm:s("setting.unSavedLeaveTip")})]})}tn.propTypes={onSaved:m.func.isRequired,disabled:m.bool,title:m.string.isRequired,submit:m.string.isRequired};tn.defaultProps={disabled:!1};const uo=ee.div`
48
+ display: flex;
49
+ align-items: flex-start;
50
+ width: 100%;
51
+ max-width: 720px;
52
+ `;function mo(){const{refresh:t,info:n}=Z(),{t:r}=z(),[i,o]=x.useState(!1);x.useEffect(()=>{t({silent:!0})},[]);const l=()=>{t({silent:!0}),ae.success(r("setting.saveSuccess"))};return e.jsx(fo,{children:e.jsxs(q,{mb:4,children:[e.jsx(tn,{onSaved:l,submit:r("common.saveChanges"),title:""}),e.jsx(q,{mt:6,style:{marginLeft:-8},children:e.jsxs(X,{onClick:()=>{o(a=>!a)},children:[r("common.readMore"),i?e.jsx(Tr,{}):e.jsx(Li,{})]})}),i&&e.jsxs(q,{fontSize:12,color:"text.secondary",children:[e.jsxs(q,{children:[r("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",n.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(q,{children:[r("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",n.runtimeConfig.daemonMaxMemoryLimit," MB"]}),e.jsxs(q,{children:[r("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",n.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const fo=ee.div`
53
+ .eula-btn {
54
+ text-decoration-line: underline;
55
+ margin-top: 32px;
56
+ margin-bottom: 32px;
57
+ }
58
+
59
+ .danger-zone {
60
+ margin-top: 1vw;
61
+ width: 100%;
62
+ max-width: 720px;
63
+ }
64
+ `;var nn={},po=Ce;Object.defineProperty(nn,"__esModule",{value:!0});var Er=nn.default=void 0,go=po(we()),ho=e;Er=nn.default=(0,go.default)((0,ho.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");function rn(t){const{t:n}=z(),[r,i]=x.useState(!1),[o,l]=x.useState(null),{item:a,onDelete:s=()=>{}}=t,{id:d,title:g}=a,{api:c}=Z(),u=()=>{i(!1),l(null)},f=async()=>{i(!0);try{await c.deleteWebHook({input:{id:d}}),s()}catch(j){console.error(j)}finally{i(!1),l(null)}},w={keyName:d,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${g}</b>`,id:`<b>${d}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:f,onCancel:u};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>l(w),size:"small",className:"rule-action",color:"error",children:[r?e.jsx(V,{size:16}):e.jsx(je,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(pt,{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})]})}rn.propTypes={item:m.object.isRequired,onDelete:m.func};rn.defaultProps={onDelete:()=>{}};function xo(){const{api:t,imgPrefix:n}=Z(),{t:r,locale:i}=x.useContext(Kt),[o,l]=x.useState([]),[a,s]=x.useState(null),d=ze(async()=>{const[{webhooks:D},{senders:p}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return l(p),D}),g=d.value||[],{loading:c,error:u}=d,f=async D=>{try{await t.createWebHook({input:D}),d.retry()}catch(p){ae.error(xe(p),{autoHideDuration:4e3}),console.error("create webhook error",p)}s(null)},w=()=>{s(null)},j=D=>{const p={title:D.title,description:(C,h,b)=>{const y=T=>{h({list:T,__disableConfirm:T.some($=>$.disable)})},S=C.list||[];return e.jsx(Yn,{children:S.map((T,$)=>e.jsx(yo,{children:e.jsx(H,{label:T.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:T.value||T.defaultValue,onChange:U=>{T.required&&(T.disable=!0);const I=U.target.value.trim();T.value=I,S[$]=T,I?si(T.type,I)?(T.disable=!1,b("")):(T.disable=!0,b(r("setting.webhook.requiredError",{type:T.type}))):(T.required&&(T.disable=!0),b("")),y([...S])}})},T.name))})},params:{list:D.params,__disableConfirm:!0},confirm:r("setting.webhook.add"),cancel:r("common.cancel"),onConfirm:C=>{D.params=C.list,f(D)},onCancel:w};s(p)},_=D=>D.type==="slack"?e.jsx("img",{src:`${n}/${D.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(Sr,{}),v=async D=>{const p={webhookId:D.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:p})},k=[{label:r("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:D=>{const p=g[D],C=o.find(h=>h.name===p.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[_(p),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",p.id]}),e.jsx("div",{children:C?C.description:null})]})]})}}},{label:r("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:D=>{const C=g[D].params.map(h=>e.jsx("div",{children:h.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:C})}}},{label:r("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:D=>{const p=g[D];return e.jsx(hr,{value:Number(p.createdAt),locale:i})}}},{label:r("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:D=>{const p=g[D],C=o.find(h=>h.name===p.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(rn,{item:{...p,title:C.title},onDelete:()=>{d.retry()}}),e.jsxs(X,{size:"small",color:"secondary",onClick:()=>{v(p)},children:[e.jsx(vo,{}),r("setting.webhook.test")]})]})}}}];if(!g.length&&c)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(V,{})});if(!g.length&&u)return e.jsx(be,{severity:"error",children:xe(u)});const P=o.map(D=>({icon:_(D),title:`${r("common.add")} ${D.title}`,onClick:()=>{j(D)}}));return e.jsxs(Yn,{children:[a&&e.jsx(le,{color:"primary",title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel}),e.jsx(Cr,{columns:k,data:g,locale:i,customButtons:P,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const Yn=ee.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
+ `,yo=ee.div`
77
+ display: flex;
78
+ `,vo=ee(Er)`
79
+ font-size: 16px !important;
80
+ margin-right: 3px;
81
+ `;function Be({title:t,description:n,children:r}){return e.jsxs(bo,{children:[e.jsxs(A,{component:"div",className:"danger-item-info",children:[e.jsx(A,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),e.jsx(A,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),e.jsx(A,{component:"div",className:"danger-item-action",children:r})]})}Be.propTypes={children:m.node.isRequired,title:m.string.isRequired,description:m.string.isRequired};const bo=ee.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 Me({children:t,...n}){return e.jsx(jo,{...n,children:t})}const jo=ee.div`
110
+ border: 1px solid #dedede;
111
+ padding: 16px;
112
+ `;Me.propTypes={children:m.node.isRequired};function At({action:t}){const{t:n}=z(),{info:r,api:i}=Z(),[o,l]=x.useState(!1),[a,s]=x.useState(null),{data:d,externalData:g}=Gt(),[c,u]=x.useState("restartAllBlocklets"),f=x.useRef(c);if(f.current=c,t==="upgrade"&&!r.nextVersion)return null;const w=()=>{l(!1),s(null)},j=r.enableDocker&&t==="restartAllBlocklet",_=async()=>{try{if(l(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer(),t==="restartAllBlocklet")if(j&&f.current==="restartAllContainers")await i.restartAllContainers(),ae.success(n("setting.form.restartAllContainers.restarting"));else{const k=new Set(["running","error"]),D=[...d,...g].filter(p=>k.has(p.status)).map(p=>{if(!p||!p.children||!p.meta)return Promise.resolve();const C=p.children.filter(h=>k.has(h.status)).map(h=>h.meta.did);return i.restartBlocklet({input:{did:p.meta.did,componentDids:C}})});await Promise.all(D),ae.success(n("setting.form.restartAllBlocklet.restarting"))}}catch(k){ae.error(xe(k))}finally{l(!1),s(null)}},v={title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.dialog`),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:_,onCancel:w};return e.jsxs(e.Fragment,{children:[e.jsx(Me,{className:"danger-zone",children:e.jsx(Be,{title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.description`),children:e.jsxs(X,{onClick:()=>s(v),color:"error",variant:"outlined",size:"large",children:[o?e.jsx(V,{size:16,style:{marginRight:3}}):null,n(`setting.form.${t}.confirm`)]})})}),a&&e.jsx(le,{title:a.title,description:j?e.jsxs(A,{component:"div",children:[e.jsx(A,{gutterBottom:!0,children:n("blocklet.action.removeComponentDescription")}),e.jsxs(Dr,{name:"removeType",value:c,onChange:k=>{u(k.target.value)},children:[e.jsx(rt,{value:"restartAllBlocklets",control:e.jsx(zt,{}),label:n("setting.form.restartAllBlocklet.description")}),e.jsx(rt,{value:"restartAllContainers",control:e.jsx(zt,{}),label:n("setting.form.restartAllContainers.description")})]})]}):a.description,confirm:a.confirm,cancel:a.cancel,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function wo(){const{t}=z(),{api:n}=Z(),[r,i]=x.useState(!1),[o,l]=x.useState(null),[a,s]=$i("last-check-server-version-time"),d=()=>{i(!1),l(null)},g={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:f}=await n.checkNodeVersion();!f&&u&&l(g),s(Date.now())}catch(f){console.error(`Failed to check new version: ${f.message}`)}finally{i(!1)}};return x.useEffect(()=>{(!a||Date.now()-Number(a)>60*1e3)&&c(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(zi,{sx:{ml:2},color:"primary",variant:"outlined",onClick:c,size:"small",loadingPosition:"end",loading:r,children:e.jsxs(fe,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(Ui,{fontSize:"small"}),e.jsx(A,{component:"span",children:t("server.checkUpgrade")})]})}),o&&e.jsx(le,{title:o.title,description:o.description,confirm:o.confirm,showCancel:o.showCancel,color:o.color,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function Co(){const{t}=z(),{info:n}=Z();return e.jsx(Me,{className:"danger-zone",children:e.jsx(Be,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(Bi,{teamDid:n.did,size:"large"})})})}function So(){const{t}=z(),{info:n}=Z();return e.jsx(Me,{className:"danger-zone",children:e.jsx(Be,{title:t("blocklet.config.rotateSessionKey.name"),description:t("blocklet.config.rotateSessionKey.purpose"),children:e.jsx(Mi,{teamDid:n.did,size:"large"})})})}const Do="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function ko(){const{t}=z(),{info:n}=Z(),r=li(n),{createdAt:i,did:o,description:l,name:a}=n,s=ci(async()=>{var _;const c=localStorage.getItem("__registerUrl")||n.registerUrl,u=new URL(c);u.pathname="__blocklet__.js",u.searchParams.set("type","json");const{data:f}=await di.get(u.toString()),w=(_=f==null?void 0:f.componentMountPoints)==null?void 0:_.find(v=>v.did===Do),j=new URL(c);return j.pathname=ui((w==null?void 0:w.mountPoint)||"","register"),j}),d={did:o,name:a,createdAt:i,description:l,url:r};if(s.loading)return"";if(s.error)return console.error("registerUrlState.error",s.error),"";const g=s.value;return e.jsx(Po,{children:e.jsx(Me,{className:"danger-zone",children:e.jsx(Be,{title:t("setting.form.register.title"),description:t("setting.form.register.description",{url:g.origin}),children:e.jsx(X,{color:"primary",component:"a",href:`${g.toString()}?register-server=${encodeURIComponent(JSON.stringify(d))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.button")})})})})}const Po=ee.div`
113
+ .danger-zone {
114
+ margin-top: 1vw;
115
+ width: 100%;
116
+ }
117
+ `;function _o(){const t=xr(),{api:n,info:r}=Z(),{t:i}=z(),o=ze(async()=>{const a=await n.getNodeEnv();return Object.assign({},a.info||{})}),l=[];return l.push({name:i("dashboard.nodeDid"),value:e.jsx(Nn,{did:r.did,showQrcode:!0})},r.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(Nn,{did:r.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:r.routing.provider}),o.value&&l.push({name:`${i("common.os")}`,value:o.value.os},o.value.docker?{name:`${i("common.docker")}`,value:e.jsx($n,{type:"success",children:"Yes"})}:null,o.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx($n,{type:"success",children:"Yes"})}:null),Array.isArray(ne(o,"value.blockletEngines",null))&&o.value.blockletEngines.filter(a=>a.visible&&a.available).forEach(a=>{l.push({name:a.displayName,value:a.version})}),e.jsxs(Ro,{children:[e.jsx(re,{permission:"mutate_node",children:a=>e.jsxs(e.Fragment,{children:[e.jsxs(q,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[e.jsx(q,{width:50,height:50,children:e.jsx("img",{src:Fi,height:50,alt:""})}),e.jsxs(q,{ml:2,children:[e.jsx("h2",{style:{margin:0},children:r.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:r.description})]})]}),e.jsxs(ot,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[r.version,a&&e.jsx(wo,{})]},"version"),l.filter(Boolean).map(s=>e.jsx(ot,{valueComponent:"div",nameWidth:150,name:s.name,children:s.value},s.name)),a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(At,{action:"upgrade"})})]})}),e.jsx(re,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(At,{action:"restart"})})}),e.jsx(re,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(At,{action:"restartAllBlocklet"})})}),e.jsx(re,{permission:"mutate_router",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Co,{})})}),e.jsx(re,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(So,{})})}),e.jsx(re,{permission:"mutate_blocklets",children:!!r.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(ko,{})})}),e.jsx(q,{mt:10,style:{marginLeft:-8},children:e.jsx(X,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const Ro=ee.div`
118
+ display: flex;
119
+ flex-direction: column;
120
+ margin-top: 32px;
121
+ `,Ar=x.createContext({}),{Provider:To,Consumer:qs}=Ar;function Ir({children:t,domains:n}){const{api:r}=Z(),i=JSON.stringify(n),[o,l]=x.useState({}),a=x.useMemo(()=>n.filter(w=>Vt(w)),[i]);Ft(E.EVENTS.DOMAIN_STATUS,w=>{w&&l(j=>({...j,[w.domain]:{...j[w.domain],...w}}))});const{domainsAccessibility:s,recommendedDomain:d}=Ni(a),g=x.useMemo(()=>{const w={...o};return Object.keys(s).forEach(j=>{const _=w[j]||{};w[j]={..._,...s[j]}}),w},[o,s]),c=()=>{a.length>0&&r.checkDomains({input:{domains:a}})},u=w=>{w&&r.checkDomains({input:{domains:[w]}})};x.useEffect(()=>{c()},[a]);const f={refresh:c,updateStatus:u,api:r,status:g,recommendedDomain:d,recommendedDomainStatus:g[d]};return e.jsx(To,{value:f,children:t})}Ir.propTypes={children:m.any.isRequired,domains:m.array.isRequired};function gt(){const{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}=x.useContext(Ar);return{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}}const Eo=t=>(ne(t,"meta.interfaces")||[]).find(r=>r.type===ft.BLOCKLET_INTERFACE_TYPE_WEB);function We({params:t,blocklets:n,setParams:r,setError:i,serviceTypes:o}){const{t:l}=z(),a={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},s=pr(n,c=>c.meta.name),d=(c,u)=>{if(!u)return{};let{port:f}=c;u&&c.ports&&u.port&&(c.ports[u.port]&&(f=c.ports[u.port]),c.ports[u.port.internal]&&(f=c.ports[u.port.internal]));let{pathPrefix:w}=t;return u&&u.prefix!==ft.BLOCKLET_DYNAMIC_PATH_PREFIX&&(w=u.prefix),{port:f,pathPrefix:w}},g=c=>{const u=s.find(w=>w.meta.did===c),f=Eo(u);return{...d(u,f),interfaceName:f?f.name:""}};return x.useEffect(()=>{!t.interfaceName&&t.type===E.ROUTING_RULE_TYPES.BLOCKLET&&r({...t,...g(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(""),r({...t,type:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map(({name:c,value:u})=>e.jsx(J,{value:u,children:c},u))}),t.type===E.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=>{r({...t,...g(c.target.value),did:c.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[s.map(c=>e.jsxs(J,{value:c.meta.did,children:[`${c.meta.name} v${c.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(Pr,{status:c.status,progress:c.progress})})]},c.meta.did)),n.length===0&&e.jsx(J,{value:"",children:l("common.empty")},"empty")]}),t.type===E.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=>r({...t,redirectCode:c.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(a).map(c=>e.jsx(J,{value:c,children:`${a[c]} - ${c}`},c))}),e.jsx(H,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:c=>{r({...t,url:c.target.value,__disableConfirm:!c.target.value.trim()}),c.target.value.trim()?i(""):i(l("router.validation.redirectUrlRequired"))}})]]})}We.propTypes={params:m.object,blocklets:m.array,serviceTypes:m.array,setParams:m.func,setError:m.func};We.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:E.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:E.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:E.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};const Lr=(t,n)=>{if(t.type===E.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${n("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${n("router.validation.redirectCodeRequired")}`)}else if(t.type===E.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(n("router.validation.didRequired"));return null},$e=(t,n)=>t?t.endsWith(E.DEFAULT_IP_DOMAIN_SUFFIX)?n("router.domain.validate.suffixTip",{suffix:E.DEFAULT_IP_DOMAIN_SUFFIX}):null:n("router.domain.validate.emptyTip"),Ao=(t,n)=>{const r=Lr(t,n);if(r)return r;const i=$e(t.domain,n);return i?new Error(i):null},at=(t,n)=>{const r=Lr(t,n);return r||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(n("router.validation.pathPrefixTooLong",{length:150})):null:new Error(n("router.validation.pathPrefixCannotBeEmpty")))},Or=({params:t,blocklets:n,blocklet:r,locale:i="en"})=>{if(r){let a=(r.children||[]).find(s=>Wi(s.mountPoint,t.pathPrefix));if(r.meta.group!=="gateway"&&t.pathPrefix==="/"&&(a="/"),a)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const o=n.find(a=>a.meta.did===t.did);if(!o)return"";const l=o.meta.interfaces.find(a=>a.type==="web");return l&&l.prefix!==ft.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==l.prefix?{zh:`该 blocklet 只能挂载在 ${l.prefix}`,en:`This blocklet can only be mounted on ${l.prefix}`}[i]:""},on=t=>{if(t.length===0)return"";const{searchParams:n}=new URL(window.location.href),r=n.get("fromDid");if(r){const i=t.find(o=>o.meta.did===r);if(i)return i.meta.did}return t[0].meta.did};function ht({blocklets:t,onActivate:n=()=>{},children:r}){const{t:i}=z(),{actions:o}=ue(),{info:l}=Z(),[a,s]=x.useState(!1),[d,g]=x.useState(null),c=()=>{s(!1),g(null)},u=async j=>{s(!0);const _={from:{pathPrefix:"/"},to:{type:j.type}},v={domain:j.domain.trim()===l.ip?"":j.domain.trim()};if(j.type===E.ROUTING_RULE_TYPES.BLOCKLET){const k=t.find(D=>D.meta.did===j.did),P=ne(k,"meta.interfaces",[]).find(D=>D.name===j.interfaceName);P&&P.prefix!==ft.BLOCKLET_DYNAMIC_PATH_PREFIX&&(_.from.pathPrefix=P.prefix),_.to.port=j.port,_.to.did=j.did,_.to.interfaceName=j.interfaceName,v.rules=[_]}else j.type===E.ROUTING_RULE_TYPES.REDIRECT&&(_.to.url=j.url,_.to.redirectCode=j.redirectCode,v.rules=[_]);await o.addSite(v),s(!1),g(null)},f={title:i("router.domain.addSite"),description:(j,_,v)=>{const k=P=>{const D=P.__disableConfirm||!!Ao(P,i);_({...P,__disableConfirm:D})};return e.jsxs(A,{component:"div",children:[e.jsx(H,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:j.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:P=>{const D=P.target.value.trim(),p=$e(D,i);k({...j,domain:P.target.value,__disableConfirm:!!p}),v(p||"")}}),e.jsx(We,{blocklets:t,params:j,setParams:k,setError:v})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:on(t),port:"",interfaceName:"",type:E.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:u,onCancel:c},w=j=>{j.stopPropagation(),g(f)||n()};return x.useEffect(()=>{const{searchParams:j}=new URL(window.location.href);j.get("fromDid")&&g(f)},[]),e.jsxs(e.Fragment,{children:[typeof r=="function"?r({loading:a,open:w}):e.jsxs(J,{onClick:w,className:"rule-action","data-cy":"action-add-domain",children:[a?e.jsx(V,{size:16}):e.jsx(kr,{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"})]})}ht.propTypes={blocklets:m.array,children:m.any,onActivate:m.func};ht.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var an={},Io=Ce;Object.defineProperty(an,"__esModule",{value:!0});var Fr=an.default=void 0,Lo=Io(we()),Oo=e;Fr=an.default=(0,Lo.default)((0,Oo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var sn={},Fo=Ce;Object.defineProperty(sn,"__esModule",{value:!0});var Nr=sn.default=void 0,No=Fo(we()),$o=e;Nr=sn.default=(0,No.default)((0,$o.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage");var ln={},Uo=Ce;Object.defineProperty(ln,"__esModule",{value:!0});var $r=ln.default=void 0,zo=Uo(we()),Bo=e;$r=ln.default=(0,zo.default)((0,Bo.jsx)("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"}),"SubdirectoryArrowRight");function Xn(t){const{t:n}=z(),{actions:r}=ue(),[i,o]=x.useState(!1),[l,a]=x.useState(null),{id:s,name:d}=t;if(Qt(d))return null;const g=()=>{o(!1),a(null)},c=async()=>{o(!0),await r.deleteSite(s),o(!1),a(null)},u={title:n("router.domain.delete.title"),description:n("router.domain.delete.description",{name:`<b>${d}</b>`}),confirmPlaceholder:n("router.domain.delete.confirm_desc",{name:d}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:c,onCancel:g,keyName:d},f=w=>{w.stopPropagation(),a(u)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(J,{onClick:f,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(V,{size:16}):e.jsx(je,{style:{fontSize:18,marginRight:5}}),n("router.domain.delete.title")]}),l&&e.jsx(pt,{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 st({id:t,blocklets:n,onActivate:r=()=>{},onRuleAdded:i=()=>{},children:o,teamDid:l}){const{t:a}=z(),{actions:s}=ue(),[d,g]=x.useState(!1),[c,u]=x.useState(null),f=()=>{g(!1),u(null)},w=async v=>{const k=await at(v,a);if(k)throw k;g(!0);const P={from:{pathPrefix:vr(v.pathPrefix)},to:{type:v.type}};v.type===E.ROUTING_RULE_TYPES.BLOCKLET?(P.to.port=v.port,P.to.did=v.did,P.to.interfaceName=v.interfaceName):v.type===E.ROUTING_RULE_TYPES.REDIRECT&&(P.to.url=v.url.trim(),P.to.redirectCode=v.redirectCode),await s.addRule(t,P,l),u(null),g(!1),i()},j={title:a("router.rule.add.title"),description:(v,k,P)=>{const D=p=>{if(P(null),at(p,a)){k({...p,__disableConfirm:!0});return}k({...p})};return e.jsxs(A,{component:"div",children:[e.jsx(H,{label:a("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:v.helperText||a("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:v.pathPrefix,onChange:p=>{let C=!1;const h=Or({params:{...v,pathPrefix:p.target.value},blocklets:n});P(h),v.type===E.ROUTING_RULE_TYPES.BLOCKLET&&h&&(C=!0),v.type===E.ROUTING_RULE_TYPES.REDIRECT&&!v.url&&(C=!0),p.target.value.trim()||(C=!0,P(a("router.validation.pathPrefixRequired"))),C||P("");const b=a("common.slugifyHint",{value:yr(p.target.value)});k({...v,pathPrefix:p.target.value,helperText:b,__disableConfirm:C})}}),e.jsx(We,{blocklets:n,params:v,setParams:D,setError:P})]})},confirm:a("router.rule.add.confirm"),cancel:a("common.cancel"),params:{pathPrefix:"",type:E.ROUTING_RULE_TYPES.BLOCKLET,did:on(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:w,onCancel:f},_=v=>{v.stopPropagation(),u(j)||r()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:d,open:_}):e.jsxs(J,{onClick:_,className:"rule-action","data-cy":"action-add-rule",children:[d?e.jsx(V,{size:16}):e.jsx(Sr,{style:{fontSize:18,marginRight:5}}),a("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"})]})}st.propTypes={id:m.string.isRequired,blocklets:m.array,children:m.any,onActivate:m.func,onRuleAdded:m.func,teamDid:m.string};st.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""};function cn(t){const{t:n}=z(),{actions:r}=ue(),[i,o]=x.useState(!1),[l,a]=x.useState(null),{id:s,parent:{id:d},name:g,children:c,onActivate:u,teamDid:f}=t,w=()=>{o(!1),a(null)},j=async()=>{o(!0),await r.deleteRule(d,s,f),o(!1),a(null)},_={keyName:g,title:n("router.rule.delete.title"),description:n("router.rule.delete.description",{name:`<b>${g}</b>`}),confirmPlaceholder:n("router.rule.delete.confirm_desc",{name:g}),confirm:n("common.delConfirm"),cancel:n("router.rule.delete.cancel"),onConfirm:j,onCancel:w},v=k=>{k.stopPropagation(),a(_)||u()};return e.jsxs(e.Fragment,{children:[typeof c=="function"?c({loading:i,open:v}):e.jsxs(J,{onClick:v,className:"rule-action","data-cy":"action-delete-rule",children:[i?e.jsx(V,{size:16}):e.jsx(je,{style:{fontSize:18,marginRight:5}}),n("router.rule.delete.title")]}),l&&e.jsx(pt,{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})]})}cn.propTypes={id:m.string.isRequired,name:m.string.isRequired,parent:m.object.isRequired,children:m.any,onActivate:m.func,teamDid:m.string};cn.defaultProps={onActivate:()=>{},children:null,teamDid:""};function dn(t){const{id:n,name:r,did:i,parent:o,blocklets:l,to:a,children:s,onActivate:d,teamDid:g}=t,{t:c}=z(),{actions:u}=ue(),[f,w]=x.useState(!1),[j,_]=x.useState(null),v=()=>{w(!1),_(null)},k=async p=>{const C=await at(p,c);if(C)throw C;w(!0);const h={id:n,from:{pathPrefix:vr(p.pathPrefix)},to:{type:p.type}};p.type===E.ROUTING_RULE_TYPES.BLOCKLET?(h.to.port=p.port,h.to.did=p.did,h.to.interfaceName=p.interfaceName):p.type===E.ROUTING_RULE_TYPES.REDIRECT&&(h.to.url=p.url,h.to.redirectCode=p.redirectCode),await u.updateRule(o.id,h,g),_(null),w(!1)},P={title:c("router.rule.update.title"),description:(p,C,h)=>{const b=y=>{if(at(y,c)){C({...y,__disableConfirm:!0});return}C({...y})};return e.jsxs(A,{component:"div",children:[e.jsx(H,{label:c("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:p.helperText||c("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:p.pathPrefix,onChange:y=>{let S=!1;const T=Or({params:{...p,pathPrefix:y.target.value},blocklets:l});p.type===E.ROUTING_RULE_TYPES.BLOCKLET&&T&&(S=!0,h(T)),p.type===E.ROUTING_RULE_TYPES.REDIRECT&&!p.url&&(S=!0),y.target.value.trim()||(S=!0,h(c("router.validation.pathPrefixRequired"))),S||h("");const $=c("common.slugifyHint",{value:yr(y.target.value)});C({...p,pathPrefix:y.target.value,helperText:$,__disableConfirm:S})}}),e.jsx(We,{blocklets:l,params:p,setParams:b,setError:h})]})},confirm:c("router.rule.update.confirm"),cancel:c("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:a.type||E.ROUTING_RULE_TYPES.BLOCKLET,did:i||on(l),port:a.port||"",interfaceName:a.interfaceName||"",redirectCode:a.redirectCode||302,url:a.url||"",__disableConfirm:!1},onConfirm:k,onCancel:v},D=p=>{p.stopPropagation(),_(P)||d()};return e.jsxs(e.Fragment,{children:[typeof s=="function"?s({loading:f,open:D}):e.jsxs(J,{onClick:D,className:"rule-action","data-cy":"action-update-rule",children:[f?e.jsx(V,{size:16}):e.jsx(_r,{style:{fontSize:18,marginRight:5}}),c("router.rule.update.title")]}),j&&e.jsx(le,{title:j.title,description:j.description,confirm:j.confirm,color:j.color,cancel:j.cancel,params:j.params,onConfirm:j.onConfirm,onCancel:j.onCancel})]})}dn.propTypes={id:m.string.isRequired,name:m.string.isRequired,did:m.string,parent:m.object.isRequired,blocklets:m.array,to:m.object.isRequired,children:m.any,onActivate:m.func,teamDid:m.string};dn.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};function Oe({id:t,name:n,onActivate:r,children:i,title:o,teamDid:l}){const{t:a}=z(),{actions:s}=ue(),[d,g]=x.useState(!1),[c,u]=x.useState(null);if(E.DOMAIN_FOR_DEFAULT_SITE===n)return null;const f=()=>{g(!1),u(null)},w=async k=>{g(!0),await s.addDomainAlias(t,k.domain.trim(),!!k.force,l),g(!1),u(null)},j=async(k,P,D)=>{try{await P(k)}catch(p){D(xe(p))}finally{g(!1)}},_={title:o||a("router.domainAlias.add.title"),description:(k,P,D)=>e.jsxs(A,{component:"div",children:[e.jsx(H,{label:a("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:k.domain,style:{marginBottom:8},margin:"dense",onChange:p=>{const C=p.target.value.trim(),h=$e(C,a);P({...k,domain:C,__disableConfirm:!!h}),D(h||"")},onKeyPress:p=>{if(p.key==="Enter"){p.preventDefault();const C=p.target.value.trim(),h=$e(C,a);h?D(h):j(k,w,D)}}}),e.jsx(rt,{control:e.jsx(mi,{checked:k.force,onChange:p=>{P({...k,force:p.target.checked})},name:"checkedB",color:"primary"}),label:a("router.domainAlias.add.forceTip")})]}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:w,onCancel:f},v=k=>{k.stopPropagation(),u(_)||r()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:d,open:v}):e.jsxs(J,{onClick:v,className:"rule-action","data-cy":"action-add-domain-alias",children:[d?e.jsx(V,{size:16}):e.jsx(Ki,{style:{fontSize:18,marginRight:5}}),a("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"})]})}Oe.propTypes={id:m.string.isRequired,name:m.string.isRequired,children:m.any,onActivate:m.func,title:m.string,teamDid:m.string};Oe.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""};function Fe({id:t,name:n,corsAllowedOrigins:r,onActivate:i,children:o,teamDid:l}){const{t:a}=z(),{actions:s}=ue(),[d,g]=x.useState(!1),[c,u]=x.useState(null);if(Qt(n))return null;let f=n;n.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX)&&(f=`${a("common.the")} Blocklet`);const w=()=>{g(!1),u(null)},j=async k=>{g(!0),await s.updateSite(t,{corsAllowedOrigins:k.corsAllowedOrigins.split(",").map(P=>P.trim())},l),g(!1),u(null)},_={title:a("router.domainSecurity.title"),description:(k,P,D)=>e.jsx(A,{component:"div",children:e.jsx(H,{label:a("router.domainSecurity.cors.title",{name:f}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:k.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:a("router.domainSecurity.cors.description",{name:f}),onChange:p=>{P({...k,corsAllowedOrigins:p.target.value,__disableConfirm:!p.target.value.trim()}),p.target.value.trim()?D(""):D(a("router.domainSecurity.cors.domainInvalid"))}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:j,onCancel:w},v=k=>{k.stopPropagation(),u(_)||i()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:d,open:v}):e.jsxs(J,{onClick:v,className:"rule-action","data-cy":"action-update-domain",children:[d?e.jsx(V,{size:16}):e.jsx(Ne,{style:{fontSize:18,marginRight:5}}),a("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"})]})}Fe.propTypes={id:m.string.isRequired,name:m.string.isRequired,children:m.any,onActivate:m.func,corsAllowedOrigins:m.oneOfType([m.string,m.array]),teamDid:m.string};Fe.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""};function Mo({id:t,name:n,onActivate:r}){const{t:i}=z(),{actions:o}=ue(),[l,a]=x.useState(!1),[s,d]=x.useState(null);if(Qt(n))return null;const g=()=>{a(!1),d(null)},c=async w=>{a(!0),await o.updateSite(t,{domain:w.domain.trim()}),a(!1),d(null)},u={title:i("router.domain.update.title"),description:(w,j,_)=>e.jsx(A,{component:"div",children:e.jsx(H,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:w.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:v=>{const k=v.target.value.trim(),P=$e(k,i);j({...w,domain:v.target.value,__disableConfirm:!!P}),_(P||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:c,onCancel:g},f=w=>{w.stopPropagation(),d(u)||r()};return e.jsxs(e.Fragment,{children:[e.jsxs(J,{onClick:f,className:"rule-action",children:[l?e.jsx(V,{size:16}):e.jsx(_r,{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 _e(t){const[n,r]=x.useState(null),i=s=>{s.stopPropagation(),r(s.currentTarget)},o=s=>{s&&s.stopPropagation(),r(null)},l=[];if(t.type==="root"&&l.push(e.jsx(ht,{...t,onActivate:o},"add-domain")),t.type==="domain"&&l.push(e.jsx(Mo,{...t,onActivate:o},"update-domain"),e.jsx(st,{...t,onActivate:o,onRuleAdded:t.onRuleAdded},"add-rule"),e.jsx(Oe,{...t,onActivate:o},"add-domain-alias"),e.jsx(Fe,{...t,onActivate:o},"update-domain-security"),e.jsx(Xn,{...t,onActivate:o},"delete-domain")),t.type==="rule"&&l.push(e.jsx(dn,{...t,onActivate:o},"update-rule"),e.jsx(cn,{...t,onActivate:o},"delete-rule")),t.type===E.ROUTING_RULE_TYPES.REDIRECT&&l.push(e.jsx(Xn,{...t,onActivate:o},"delete-domain")),t.type==="dashboard_domain"&&l.push(e.jsx(st,{...t,onActivate:o},"add-rule"),e.jsx(Fe,{...t,onActivate:o},"update-domain-security"),e.jsx(Oe,{...t,onActivate:o},"add-domain-alias")),t.type==="blocklet_domain"&&l.push(e.jsx(Fe,{...t,onActivate:o},"update-domain-security"),e.jsx(Oe,{...t,onActivate:o},"add-domain-alias")),l.length===0)return null;const a=s=>{s.stopPropagation()};return e.jsxs("div",{children:[e.jsx(Nt,{onMouseDown:a,onClick:i,"data-cy":"action-trigger",size:"large",children:e.jsx(Hi,{})}),e.jsx(fi,{keepMounted:!0,onMouseDown:a,open:!!n,onClose:o,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:l})]})}_e.propTypes={blocklet:m.object,onRuleAdded:m.func};_e.defaultProps={onRuleAdded:()=>{},blocklet:{}};var un={},Wo=Ce;Object.defineProperty(un,"__esModule",{value:!0});var mn=un.default=void 0,qo=Wo(we()),Ho=e;mn=un.default=(0,qo.default)((0,Ho.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.1 1.71 0 3.1 1.39 3.1 3.1z"}),"Https");function fn({certificate:t}){const[n,r]=x.useState(null),i=Z(),{t:o,locale:l}=z(),a=g=>{r(g.currentTarget)},s=()=>{r(null)},d=!!n;return e.jsxs(e.Fragment,{children:[e.jsx(mn,{"aria-owns":d?"mouse-over-popover":void 0,onMouseEnter:a,onMouseLeave:s,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(gi,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:d,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:s,disableRestoreFocus:!0,children:e.jsx(hi,{children:e.jsxs(Gi,{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(A,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(A,{component:"div",style:{fontWeight:"bold"},children:t.domain}),e.jsx(A,{component:"div",children:`${o("common.issuer")}: ${ne(t,"issuer.commonName","")}`}),e.jsx(A,{component:"div",children:`${o("router.cert.issuedOn")}: ${it(t.validFrom,l)}`}),e.jsx(A,{component:"div",children:`${o("router.cert.expiryOn")}: ${it(t.validTo,l)}`})]})]})})})]})}fn.propTypes={certificate:m.object};fn.defaultProps={certificate:{}};function lt(t){const{name:n,type:r,filters:i}=t,{t:o}=z(),{status:l}=gt();if(r!=="domain"||!Vt(n))return null;let a=null,s=null;const{isHttps:d,matchedCert:g}=l[n]||{};if(!pi(n)){const{dns:{resolved:u,ip:f}={}}=l[n]||{};u||f==="127.0.0.1"?a=e.jsx(pe,{title:o("router.domain.verify.ok"),children:e.jsx(Hn,{color:"success"})}):a=e.jsx(pe,{title:o("router.domain.verify.notResolved"),children:e.jsx(Hn,{color:"error"})})}d?s=e.jsx(fn,{certificate:g}):s=e.jsx(pe,{title:o("router.domain.https.bad"),children:e.jsx(mn,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const c=i.map(u=>u==="domain"?a:u==="http"?s:null);return x.createElement(x.Fragment,null,...c)}lt.propTypes={type:m.string.isRequired,name:m.string.isRequired,filters:m.array};lt.defaultProps={filters:["domain","http"]};const Ko=t=>["waiting","creating","renewaling"].includes(t);function pn(t){var p;const{t:n}=z(),[r,i]=x.useState(!1),[o,l]=x.useState(null),{domain:a,onAdd:s,children:d,siteId:g}=t,{api:c}=Z(),[u,f]=x.useState(!1),{updateStatus:w}=gt(),j=ze(async()=>{const{cert:C}=await c.findCertificateByDomain({input:{domain:a}});return C}),_=C=>{C.domain===a&&f(!1)};if(x.useEffect(()=>{var C;!j.loading&&Ko((C=j.value)==null?void 0:C.status)&&f(!0)},[j]),Ft(E.EVENTS.CERT_ERROR,_),Ft(E.EVENTS.CERT_ISSUED,C=>{j.retry(),w(C.domain),_(C)}),j.loading||((p=j.value)==null?void 0:p.status)==="normal")return"";const v=()=>{i(!1),l(null)},k=async()=>{i(!0);try{await c.issueLetsEncryptCert({input:{domain:a,siteId:g}}),s(),f(!0)}catch(C){console.error(C),f(!1)}finally{i(!1),l(null)}},P={title:n("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(be,{severity:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:k,onCancel:v},D=C=>{C.stopPropagation(),l(P)};return e.jsxs(e.Fragment,{children:[u?e.jsx(pe,{title:n("router.cert.issuing"),children:e.jsx(V,{size:12})}):d({loading:r,open:D}),o&&e.jsx(le,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}pn.propTypes={domain:m.string.isRequired,onAdd:m.func,children:m.any,siteId:m.string.isRequired};pn.defaultProps={onAdd:()=>{},children:null};function ct(t){var i;const{status:n}=gt(),{domain:r}=t;return!Vt(r)||(i=n[r])!=null&&i.isHttps?"":e.jsx(pn,{...t})}ct.propTypes={siteId:m.string.isRequired,domain:m.string.isRequired,onAdd:m.func,children:m.any};ct.defaultProps={onAdd:()=>{},children:null};function gn(t){const{t:n}=z(),[r,i]=x.useState(!1),[o,l]=x.useState(null),{id:a,domain:s,onDelete:d,children:g,teamDid:c}=t,{actions:u}=ue();if(s===window.location.hostname)return"";const f=()=>{i(!1),l(null)},w=async()=>{i(!0);try{await u.deleteDomainAlias(a,s,c),d()}catch(v){console.error(v)}finally{i(!1),l(null)}},j={keyName:s,title:n("router.domainAlias.delete.title"),description:n("router.domainAlias.delete.description",{domain:s}),confirmPlaceholder:n("router.domainAlias.delete.confirmPlaceholder",{domain:s}),confirm:n("common.delete"),onConfirm:w,onCancel:f},_=v=>{v.stopPropagation(),l(j)};return e.jsxs(e.Fragment,{children:[typeof g=="function"?g({loading:r,open:_}):e.jsxs(X,{edge:"end",onClick:_,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[r?e.jsx(V,{size:16}):e.jsx(je,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(pt,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}gn.propTypes={id:m.string.isRequired,domain:m.string.isRequired,onDelete:m.func,children:m.any,teamDid:m.string};gn.defaultProps={onDelete:()=>{},children:null,teamDid:""};function hn({domain:t,isHttps:n,toUrl:r}){const i=n?"https":"http",{t:o}=z();let l=r;return br(l)||(l=`${i}://${t}${r}`),e.jsxs(e.Fragment,{children:[e.jsx(A,{className:"arrow-name-middle",children:o("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Yt,{href:l,target:"_blank",underline:"hover",children:r},l)]})}hn.propTypes={domain:m.string.isRequired,toUrl:m.string.isRequired,isHttps:m.bool};hn.defaultProps={isHttps:!1};function xn(){const{t}=z();return e.jsx(A,{className:"arrow-name-middle",children:t("common.page404")})}xn.propTypes={};xn.defaultProps={};function Ue(t){const{t:n}=z(),{data:r}=Gt(),{info:i}=Z(),{status:o}=gt(),l=r.map(G=>({meta:{did:G.meta.did,name:yi.getDisplayName(G,!0),version:G.meta.version,interfaces:G.meta.interfaces},port:G.port,ports:G.ports,status:G.status})),{id:a,type:s,name:d,title:g,items:c=[],depth:u,to:f,expand:w,isProtected:j,pathPrefix:_,parent:v,domainAliases:k}=t;let P=d;const D=d.endsWith(E.BLOCKLET_SITE_GROUP_SUFFIX);let p=s;d===ve&&(p="dashboard_domain"),D&&(p="blocklet_domain");const[C,h]=x.useState(w),y={root:Nr,domain:kr,rule:$r}[s],S={paddingBottom:8,paddingLeft:8};if(s==="domain"){let G=function({domain:W,primaryDomain:B,rules:N}){let Y=nt(W);return B===ve?Y=`${Y}/${i.routing.adminPath.replace(/^\/+/,"")}`:N&&N.length&&N[0].pathPrefix&&(Y=`${Y}/${N[0].pathPrefix.replace(/^\/+/,"")}`),W!==ve?e.jsx(Go,{href:Y,target:"_blank",rel:"noreferrer",onClick:Se=>Se.stopPropagation(),children:W}):W};if(j&&!D)return null;if(D){const W=d.replace(E.BLOCKLET_SITE_GROUP_SUFFIX,""),B=l.find(N=>N.meta.did===W);if(!B||B.controller)return null;P=B.meta.title||B.meta.name}G.propTypes={domain:m.string.isRequired,primaryDomain:m.string.isRequired,rules:m.array.isRequired};const ye=()=>{h(!0)};let ge=(k||[]).filter(W=>W.value!==d);return ge=vi(ge),[e.jsxs(It,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!D&&e.jsxs(Xe,{onClick:()=>h(W=>!W),children:[c.length>0&&(C?e.jsx(bi,{}):e.jsx(qi,{})),e.jsx(y,{style:{fontSize:22}})]}),D&&e.jsx(Xe,{children:e.jsx(y,{style:{fontSize:22}})}),e.jsx(Tt,{onClick:()=>h(W=>!W),className:`rule-name rule-name--depth${u}`,style:{flex:1},secondary:c.length<=0?e.jsx("span",{className:"site-secondary",children:n("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[d===E.DOMAIN_FOR_DEFAULT_SITE&&n("router.defaultSite"),d!==E.DOMAIN_FOR_DEFAULT_SITE&&!D&&e.jsx(G,{domain:d,primaryDomain:d,rules:c}),D&&P,c.length&&!C?e.jsx("span",{style:{marginLeft:5},children:`(${c.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),s==="domain"&&d!==E.DOMAIN_FOR_DEFAULT_SITE&&d!==ve&&!D&&e.jsxs(e.Fragment,{children:[e.jsx(lt,{type:s,name:d},d),e.jsx("span",{style:{marginLeft:12}}),e.jsx(ct,{siteId:a,domain:d,children:({open:W})=>e.jsx(X,{size:"small",onClick:B=>W(B),children:n("router.cert.genLetsEncryptCert.title")})})]})]}),ge.map(W=>{const B=typeof W!="string"?W.value:W;return e.jsxs("div",{className:"site-alias",children:[e.jsx(G,{domain:B,primaryDomain:d,rules:c}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(lt,{type:s,name:B},`domain-status-${d}`),e.jsx(ct,{siteId:a,domain:B,children:({open:N})=>e.jsx(X,{size:"small",onClick:Y=>N(Y),children:n("router.cert.genLetsEncryptCert.title")})}),!W.isProtected&&e.jsx(gn,{id:t.id,domain:B},"delete-domain-alias"),B!==ve&&B!==window.location.hostname&&e.jsx(_e,{...t,domain:B,type:"domainAlias",onRuleAdded:ye},`action-${d}`)]},B)})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(Et,{children:e.jsx(_e,{blocklets:l,...t,onRuleAdded:ye,type:p},d)})})]},"parent"),!D&&c.length>0&&e.jsx(ji,{in:C,children:e.jsx($t,{component:"div",className:`rule-list rule-list--depth${u}`,disablePadding:!0,children:c.map(W=>e.jsx(Ue,{...W,parent:t,depth:u+1},W.id))},"children")},"rules")]}if(s==="root")return[e.jsxs(It,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(Xe,{children:e.jsx(y,{style:{fontSize:22}})}),e.jsx(Tt,{primary:d}),e.jsx(re,{permission:"mutate_router",children:e.jsx(Et,{children:e.jsx(_e,{blocklets:l,...t})})})]},"root"),c.length>0&&e.jsx($t,{component:"div",className:`rule-list rule-list--depth${u}`,disablePadding:!0,children:c.map(G=>e.jsx(Ue,{expand:!j,...G,parent:t,depth:u+1},G.id))},"children")];let T=`/blocklets/${f.did}/overview`;f.type===E.ROUTING_RULE_TYPES.DAEMON&&(T="/");const $={meta:{did:i.did,name:"Blocklet Server Dashboard",version:i.version},status:"running",port:i.port},U=f.did===i.did?$:l.find(G=>G.meta.did===f.did),I=U&&U.status==="running"||f.type===E.ROUTING_RULE_TYPES.DAEMON,O=n(I?"router.healthy.ok":"router.healthy.error"),L=o[v.name]||{};return e.jsxs(It,{className:"hover-item",divider:!0,disableGutters:!0,style:S,"data-cy":"rule-item",children:[e.jsx(Xe,{className:"arrow-icon",children:e.jsx(y,{style:{fontSize:22}})}),e.jsx(Tt,{primary:e.jsxs(A,{component:"div",className:"arrow-name",children:[e.jsx(A,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:d}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(f.type===E.ROUTING_RULE_TYPES.DAEMON||f.type===E.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[v.name!==E.DOMAIN_FOR_DEFAULT_SITE&&I&&e.jsx(q,{className:"arrow-name-middle",children:e.jsx(Yt,{href:nt(v.name,_),target:"_blank",underline:"hover",children:n("common.open")})}),v.name===E.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(A,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!I&&e.jsx("span",{className:"arrow-name-middle",children:n("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(wi,{to:T,className:"arrow-name-right",children:[e.jsx(pe,{title:O,children:I?e.jsx(Ci,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(Fr,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:U?U.meta.name:g}),U&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(Pr,{status:U.status,progress:U.progress})})]})]}),f.type===E.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(hn,{prefix:_,domain:v.name,toUrl:f.url,isHttps:L.isHttps}),f.type===E.ROUTING_RULE_TYPES.NONE&&e.jsx(xn,{})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(Et,{children:e.jsx(_e,{blocklets:l,...t,did:f.did})})})]},d)}Ue.propTypes={type:m.string.isRequired,to:m.object,name:m.string.isRequired,title:m.string,id:m.string,items:m.array,parent:m.object,depth:m.number,expand:m.bool,isProtected:m.bool,pathPrefix:m.string,domainAliases:m.array};Ue.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const It=ee(xi)`
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
+ `,Go=ee("a")`
136
+ color: #000;
137
+ white-space: normal;
138
+ word-break: break-all;
139
+ :hover {
140
+ color: rgba(0, 0, 0, 0.6);
141
+ }
142
+ `;function Vo(){const{sites:t,allDomains:n}=ue(),{data:r}=Gt(),{t:i}=z(),o=t.map(l=>{const a=l.items.filter(s=>!s.isProtected);return{...l,items:a}});return e.jsx(Ir,{domains:n,children:e.jsxs(Yo,{children:[e.jsx(re,{permission:"mutate_router",children:e.jsx(q,{textAlign:"right",mb:1,children:e.jsx(ht,{blocklets:r,children:({open:l})=>e.jsxs(X,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:l,children:[e.jsx(Ne,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx($t,{component:"div",disablePadding:!0,children:o.map(l=>x.createElement(Ue,{...l,depth:1,key:l.id}))})]})})}const Yo=ee.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 Xo=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 qe(t,n){var r=Qo(t);if(typeof r.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof n=="string"?n:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return r}function Qo(t){var n=t.name,r=n&&n.lastIndexOf(".")!==-1;if(r&&!t.type){var i=n.split(".").pop().toLowerCase(),o=Xo.get(i);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}var Zo=[".DS_Store","Thumbs.db"];function Jo(t){return Te(this,void 0,void 0,function(){return Ee(this,function(n){return dt(t)&&ea(t)?[2,ia(t.dataTransfer,t.type)]:ta(t)?[2,na(t)]:Array.isArray(t)&&t.every(function(r){return"getFile"in r&&typeof r.getFile=="function"})?[2,ra(t)]:[2,[]]})})}function ea(t){return dt(t.dataTransfer)}function ta(t){return dt(t)&&dt(t.target)}function dt(t){return typeof t=="object"&&t!==null}function na(t){return Bt(t.target.files).map(function(n){return qe(n)})}function ra(t){return Te(this,void 0,void 0,function(){var n;return Ee(this,function(r){switch(r.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return n=r.sent(),[2,n.map(function(i){return qe(i)})]}})})}function ia(t,n){return Te(this,void 0,void 0,function(){var r,i;return Ee(this,function(o){switch(o.label){case 0:return t===null?[2,[]]:t.items?(r=Bt(t.items).filter(function(l){return l.kind==="file"}),n!=="drop"?[2,r]:[4,Promise.all(r.map(oa))]):[3,2];case 1:return i=o.sent(),[2,Qn(Ur(i))];case 2:return[2,Qn(Bt(t.files).map(function(l){return qe(l)}))]}})})}function Qn(t){return t.filter(function(n){return Zo.indexOf(n.name)===-1})}function Bt(t){if(t===null)return[];for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(i)}return n}function oa(t){if(typeof t.webkitGetAsEntry!="function")return Zn(t);var n=t.webkitGetAsEntry();return n&&n.isDirectory?zr(n):Zn(t)}function Ur(t){return t.reduce(function(n,r){return Si(n,Array.isArray(r)?Ur(r):[r])},[])}function Zn(t){var n=t.getAsFile();if(!n)return Promise.reject(t+" is not a File");var r=qe(n);return Promise.resolve(r)}function aa(t){return Te(this,void 0,void 0,function(){return Ee(this,function(n){return[2,t.isDirectory?zr(t):sa(t)]})})}function zr(t){var n=t.createReader();return new Promise(function(r,i){var o=[];function l(){var a=this;n.readEntries(function(s){return Te(a,void 0,void 0,function(){var d,g,c;return Ee(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(o)];case 2:return d=u.sent(),r(d),[3,4];case 3:return g=u.sent(),i(g),[3,4];case 4:return[3,6];case 5:c=Promise.all(s.map(aa)),o.push(c),l(),u.label=6;case 6:return[2]}})})},function(s){i(s)})}l()})}function sa(t){return Te(this,void 0,void 0,function(){return Ee(this,function(n){return[2,new Promise(function(r,i){t.file(function(o){var l=qe(o,t.fullPath);r(l)},function(o){i(o)})})]})})}var la=function(t,n){if(t&&n){var r=Array.isArray(n)?n:n.split(","),i=t.name||"",o=(t.type||"").toLowerCase(),l=o.replace(/\/.*$/,"");return r.some(function(a){var s=a.trim().toLowerCase();return s.charAt(0)==="."?i.toLowerCase().endsWith(s):s.endsWith("/*")?l===s.replace(/\/.*$/,""):o===s})}return!0};function Jn(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function er(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Jn(Object(r),!0).forEach(function(i){Br(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Jn(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Br(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function tr(t,n){return ma(t)||ua(t,n)||da(t,n)||ca()}function ca(){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 da(t,n){if(t){if(typeof t=="string")return nr(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return nr(t,n)}}function nr(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function ua(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,l=!1,a,s;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(d){l=!0,s=d}finally{try{!o&&r.return!=null&&r.return()}finally{if(l)throw s}}return i}}function ma(t){if(Array.isArray(t))return t}var fa="file-invalid-type",pa="file-too-large",ga="file-too-small",ha="too-many-files",xa=function(n){n=Array.isArray(n)&&n.length===1?n[0]:n;var r=Array.isArray(n)?"one of ".concat(n.join(", ")):n;return{code:fa,message:"File type must be ".concat(r)}},rr=function(n){return{code:pa,message:"File is larger than ".concat(n," ").concat(n===1?"byte":"bytes")}},ir=function(n){return{code:ga,message:"File is smaller than ".concat(n," ").concat(n===1?"byte":"bytes")}},ya={code:ha,message:"Too many files"};function Mr(t,n){var r=t.type==="application/x-moz-file"||la(t,n);return[r,r?null:xa(n)]}function Wr(t,n,r){if(Ie(t.size))if(Ie(n)&&Ie(r)){if(t.size>r)return[!1,rr(r)];if(t.size<n)return[!1,ir(n)]}else{if(Ie(n)&&t.size<n)return[!1,ir(n)];if(Ie(r)&&t.size>r)return[!1,rr(r)]}return[!0,null]}function Ie(t){return t!=null}function va(t){var n=t.files,r=t.accept,i=t.minSize,o=t.maxSize,l=t.multiple,a=t.maxFiles;return!l&&n.length>1||l&&a>=1&&n.length>a?!1:n.every(function(s){var d=Mr(s,r),g=tr(d,1),c=g[0],u=Wr(s,i,o),f=tr(u,1),w=f[0];return c&&w})}function ut(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ze(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(n){return n==="Files"||n==="application/x-moz-file"}):!!t.target&&!!t.target.files}function or(t){t.preventDefault()}function ba(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function ja(t){return t.indexOf("Edge/")!==-1}function wa(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return ba(t)||ja(t)}function me(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),a=1;a<o;a++)l[a-1]=arguments[a];return n.some(function(s){return!ut(i)&&s&&s.apply(void 0,[i].concat(l)),ut(i)})}}function ar(){return"showOpenFilePicker"in window}function Ca(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(n){return n==="audio/*"||n==="video/*"||n==="image/*"||n==="text/*"||/\w+\/[-+.\w]+/g.test(n)}).reduce(function(n,r){return er(er({},n),{},Br({},r,[]))},{}):{}}]}var Sa=["children"],Da=["open"],ka=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Pa=["refKey","onChange","onClick"];function _a(t){return Ea(t)||Ta(t)||qr(t)||Ra()}function Ra(){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 Ta(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function Ea(t){if(Array.isArray(t))return Mt(t)}function Lt(t,n){return La(t)||Ia(t,n)||qr(t,n)||Aa()}function Aa(){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 qr(t,n){if(t){if(typeof t=="string")return Mt(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Mt(t,n)}}function Mt(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function Ia(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,l=!1,a,s;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(d){l=!0,s=d}finally{try{!o&&r.return!=null&&r.return()}finally{if(l)throw s}}return i}}function La(t){if(Array.isArray(t))return t}function sr(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function K(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?sr(Object(r),!0).forEach(function(i){Wt(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):sr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function Wt(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function mt(t,n){if(t==null)return{};var r=Oa(t,n),i,o;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(o=0;o<l.length;o++)i=l[o],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function Oa(t,n){if(t==null)return{};var r={},i=Object.keys(t),o,l;for(l=0;l<i.length;l++)o=i[l],!(n.indexOf(o)>=0)&&(r[o]=t[o]);return r}var yn=x.forwardRef(function(t,n){var r=t.children,i=mt(t,Sa),o=Ht(i),l=o.open,a=mt(o,Da);return x.useImperativeHandle(n,function(){return{open:l}},[l]),Di.createElement(x.Fragment,null,r(K(K({},a),{},{open:l})))});yn.displayName="Dropzone";var Hr={disabled:!1,getFilesFromEvent:Jo,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};yn.defaultProps=Hr;yn.propTypes={children:m.func,accept:m.oneOfType([m.string,m.arrayOf(m.string)]),multiple:m.bool,preventDropOnDocument:m.bool,noClick:m.bool,noKeyboard:m.bool,noDrag:m.bool,noDragEventsBubbling:m.bool,minSize:m.number,maxSize:m.number,maxFiles:m.number,disabled:m.bool,getFilesFromEvent:m.func,onFileDialogCancel:m.func,onFileDialogOpen:m.func,useFsAccessApi:m.bool,onDragEnter:m.func,onDragLeave:m.func,onDragOver:m.func,onDrop:m.func,onDropAccepted:m.func,onDropRejected:m.func,validator:m.func};var qt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function Ht(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=K(K({},Hr),t),r=n.accept,i=n.disabled,o=n.getFilesFromEvent,l=n.maxSize,a=n.minSize,s=n.multiple,d=n.maxFiles,g=n.onDragEnter,c=n.onDragLeave,u=n.onDragOver,f=n.onDrop,w=n.onDropAccepted,j=n.onDropRejected,_=n.onFileDialogCancel,v=n.onFileDialogOpen,k=n.useFsAccessApi,P=n.preventDropOnDocument,D=n.noClick,p=n.noKeyboard,C=n.noDrag,h=n.noDragEventsBubbling,b=n.validator,y=x.useMemo(function(){return typeof v=="function"?v:lr},[v]),S=x.useMemo(function(){return typeof _=="function"?_:lr},[_]),T=x.useRef(null),$=x.useRef(null),U=x.useReducer(Fa,qt),I=Lt(U,2),O=I[0],L=I[1],G=O.isFocused,ye=O.isFileDialogActive,ge=O.draggedFiles,W=function(){ye&&setTimeout(function(){if($.current){var F=$.current.files;F.length||(L({type:"closeDialog"}),S())}},300)};x.useEffect(function(){return k&&ar()?function(){}:(window.addEventListener("focus",W,!1),function(){window.removeEventListener("focus",W,!1)})},[$,ye,S,k]);var B=x.useRef([]),N=function(F){T.current&&T.current.contains(F.target)||(F.preventDefault(),B.current=[])};x.useEffect(function(){return P&&(document.addEventListener("dragover",or,!1),document.addEventListener("drop",N,!1)),function(){P&&(document.removeEventListener("dragover",or),document.removeEventListener("drop",N))}},[T,P]);var Y=x.useCallback(function(R){R.preventDefault(),R.persist(),Ve(R),B.current=[].concat(_a(B.current),[R.target]),Ze(R)&&Promise.resolve(o(R)).then(function(F){ut(R)&&!h||(L({draggedFiles:F,isDragActive:!0,type:"setDraggedFiles"}),g&&g(R))})},[o,g,h]),Se=x.useCallback(function(R){R.preventDefault(),R.persist(),Ve(R);var F=Ze(R);if(F&&R.dataTransfer)try{R.dataTransfer.dropEffect="copy"}catch{}return F&&u&&u(R),!1},[u,h]),Dn=x.useCallback(function(R){R.preventDefault(),R.persist(),Ve(R);var F=B.current.filter(function(ie){return T.current&&T.current.contains(ie)}),te=F.indexOf(R.target);te!==-1&&F.splice(te,1),B.current=F,!(F.length>0)&&(L({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Ze(R)&&c&&c(R))},[T,c,h]),He=x.useCallback(function(R,F){var te=[],ie=[];R.forEach(function(ce){var Ae=Mr(ce,r),Pe=Lt(Ae,2),Ct=Pe[0],St=Pe[1],Dt=Wr(ce,a,l),Ye=Lt(Dt,2),kt=Ye[0],Pt=Ye[1],_t=b?b(ce):null;if(Ct&&kt&&!_t)te.push(ce);else{var Rt=[St,Pt];_t&&(Rt=Rt.concat(_t)),ie.push({file:ce,errors:Rt.filter(function(ni){return ni})})}}),(!s&&te.length>1||s&&d>=1&&te.length>d)&&(te.forEach(function(ce){ie.push({file:ce,errors:[ya]})}),te.splice(0)),L({acceptedFiles:te,fileRejections:ie,type:"setFiles"}),f&&f(te,ie,F),ie.length>0&&j&&j(ie,F),te.length>0&&w&&w(te,F)},[L,s,r,a,l,d,f,w,j,b]),Ke=x.useCallback(function(R){R.preventDefault(),R.persist(),Ve(R),B.current=[],Ze(R)&&Promise.resolve(o(R)).then(function(F){ut(R)&&!h||He(F,R)}),L({type:"reset"})},[o,He,h]),De=x.useCallback(function(){if(k&&ar()){L({type:"openDialog"}),y();var R={multiple:s,types:Ca(r)};window.showOpenFilePicker(R).then(function(F){return o(F)}).then(function(F){return He(F,null)}).catch(function(F){return S(F)}).finally(function(){return L({type:"closeDialog"})});return}$.current&&(L({type:"openDialog"}),y(),$.current.value=null,$.current.click())},[L,y,S,k,He,r,s]),kn=x.useCallback(function(R){!T.current||!T.current.isEqualNode(R.target)||(R.keyCode===32||R.keyCode===13)&&(R.preventDefault(),De())},[T,$,De]),Pn=x.useCallback(function(){L({type:"focus"})},[]),_n=x.useCallback(function(){L({type:"blur"})},[]),Rn=x.useCallback(function(){D||(wa()?setTimeout(De,0):De())},[$,D,De]),ke=function(F){return i?null:F},wt=function(F){return p?null:ke(F)},Ge=function(F){return C?null:ke(F)},Ve=function(F){h&&F.stopPropagation()},Zr=x.useMemo(function(){return function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F=R.refKey,te=F===void 0?"ref":F,ie=R.role,ce=R.onKeyDown,Ae=R.onFocus,Pe=R.onBlur,Ct=R.onClick,St=R.onDragEnter,Dt=R.onDragOver,Ye=R.onDragLeave,kt=R.onDrop,Pt=mt(R,ka);return K(K(Wt({onKeyDown:wt(me(ce,kn)),onFocus:wt(me(Ae,Pn)),onBlur:wt(me(Pe,_n)),onClick:ke(me(Ct,Rn)),onDragEnter:Ge(me(St,Y)),onDragOver:Ge(me(Dt,Se)),onDragLeave:Ge(me(Ye,Dn)),onDrop:Ge(me(kt,Ke)),role:typeof ie=="string"&&ie!==""?ie:"button"},te,T),!i&&!p?{tabIndex:0}:{}),Pt)}},[T,kn,Pn,_n,Rn,Y,Se,Dn,Ke,p,C,i]),Jr=x.useCallback(function(R){R.stopPropagation()},[]),ei=x.useMemo(function(){return function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},F=R.refKey,te=F===void 0?"ref":F,ie=R.onChange,ce=R.onClick,Ae=mt(R,Pa),Pe=Wt({accept:r,multiple:s,type:"file",style:{display:"none"},onChange:ke(me(ie,Ke)),onClick:ke(me(ce,Jr)),autoComplete:"off",tabIndex:-1},te,$);return K(K({},Pe),Ae)}},[$,r,s,Ke,i]),Tn=ge.length,En=Tn>0&&va({files:ge,accept:r,minSize:a,maxSize:l,multiple:s,maxFiles:d}),ti=Tn>0&&!En;return K(K({},O),{},{isDragAccept:En,isDragReject:ti,isFocused:G&&!i,getRootProps:Zr,getInputProps:ei,rootRef:T,inputRef:$,open:ke(De)})}function Fa(t,n){switch(n.type){case"focus":return K(K({},t),{},{isFocused:!0});case"blur":return K(K({},t),{},{isFocused:!1});case"openDialog":return K(K({},qt),{},{isFileDialogActive:!0});case"closeDialog":return K(K({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var r=n.isDragActive,i=n.draggedFiles;return K(K({},t),{},{draggedFiles:i,isDragActive:r});case"setFiles":return K(K({},t),{},{acceptedFiles:n.acceptedFiles,fileRejections:n.fileRejections});case"reset":return K({},qt);default:return t}}function lr(){}const cr=50*1024,dr=t=>new Promise((n,r)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{n(i.result)},i.onerror=o=>r(o)});function ur({certificate:t={},onRefresh:n,mode:r,...i}){const{t:o}=z(),{api:l}=Z(),[a,s]=x.useState(!1),[d,g]=x.useState(),[c,u]=x.useState(),[f,w]=x.useState(!1),[j,_]=x.useState(""),[v,k]=x.useState("upload"),{handleSubmit:P,formState:D,control:p}=Xt({defaultValues:{name:t.name||t.domain}}),C=qn({control:p,name:"name"}),h=qn({control:p,name:"domain"}),b=()=>a?!0:v==="upload"&&r==="update"?!C:v==="upload"&&r==="add"?!C||!d||!c:v==="lets_encrypt"&&!h,y=()=>{s(!1),w(!1)},S=async N=>{if(r==="add"){const Y=(await dr(c)).replace(/\r\n/g,`
249
+ `),Se=(await dr(d)).replace(/\r\n/g,`
250
+ `);await l.addCertificate({input:{name:N.name.trim(),certificate:Y.split(`
251
+ `).join("|"),privateKey:Se.split(`
252
+ `).join("|")}})}else await l.updateCertificate({input:{id:t.id,name:N.name.trim()}})},T=N=>l.issueLetsEncryptCert({input:{domain:N.domain}}),$={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:S},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:T}},U=async N=>{s(!0);try{const Y=$[v];if(!Y)throw new Error("Invaid certificate source");await Y.onSubmit(N),n(),w(!1)}catch(Y){_(xe(Y)||"unknown error, may be you can check file permission")}finally{s(!1)}},I=()=>{g(null),u(null),w(!0),_("")},O=N=>{k(N.target.value)},L=N=>{N.length>0&&_(ne(N[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:G,getInputProps:ye}=Ht({accept:[".pem",".crt"],multiple:!1,maxSize:cr,onDropRejected:L,onDrop:N=>{u(N[0])}}),{getRootProps:ge,getInputProps:W}=Ht({accept:[".pem",".key"],multiple:!1,maxSize:cr,onDropRejected:L,onDrop:N=>{g(N[0])}}),{errors:B}=D;return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:I,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[a?e.jsx(V,{size:16}):e.jsx(Ne,{style:{fontSize:16}}),o(r==="add"?"common.add":"common.update")]}),f&&e.jsx(jr,{title:o(r==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:y,actions:e.jsxs(e.Fragment,{children:[e.jsx(X,{onClick:y,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),e.jsxs(X,{onClick:P(U),color:"secondary",disabled:b(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),a&&e.jsx(V,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:P(U),children:e.jsxs(q,{minWidth:{sm:480},children:[e.jsxs(Ut,{component:"div",children:[r==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.source")}),e.jsx(Dr,{"aria-label":"cert-source",name:"certSource",value:v,onChange:O,children:Object.values($).map(N=>e.jsx(rt,{value:N.value,control:e.jsx(zt,{}),label:N.name},N.value))})]}),v==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.name")}),e.jsx(M,{name:"name",control:p,rules:{validate:N=>!!N.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:({field:{value:N,onChange:Y}})=>e.jsx(H,{fullWidth:!0,autoFocus:!0,defaultValue:N,onChange:Y,error:!!B.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:B.name&&B.name.message})})]}),r==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...G({className:"dropzone"}),children:[e.jsx("input",{...ye(),"data-cy":"pem-input"}),c&&e.jsx(A,{color:"secondary",children:c.name}),!c&&e.jsx(A,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...ge({className:"dropzone"}),children:[e.jsx("input",{...W(),"data-cy":"key-input"}),d&&e.jsx(A,{color:"secondary",children:d.name}),!d&&e.jsx(A,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),v==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(be,{severity:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("common.domain")}),e.jsx(M,{name:"domain",control:p,rules:{validate:N=>!!N.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:({field:{value:N,onChange:Y}})=>e.jsx(H,{fullWidth:!0,autoFocus:!0,defaultValue:N,error:!!B.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:B.domain&&B.domain.message,onChange:Y})})]})]})]}),!!j&&e.jsx(be,{severity:"error",style:{marginTop:8},children:j})]})})})]})}function Na(t){const n=ki(),{t:r}=z(),{api:i}=Z(),[o,l]=x.useState(!1),[a,s]=x.useState(null),{id:d,domain:g,onDelete:c=()=>{},...u}=t,{refresh:f}=ue(),w=()=>{l(!1),s(null)},j=async()=>{l(!0);try{await i.deleteCertificate({input:{id:d}}),f(),c()}catch(v){console.error(v)}finally{l(!1),s(null)}},_={title:r("router.cert.delete.title"),description:r("router.cert.delete.description",{domain:g}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:j,onCancel:w};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>s(_),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:n.palette.error.main},...u,children:[o?e.jsx(V,{size:16}):e.jsx(je,{style:{fontSize:16}}),r("common.delete")]}),a&&e.jsx(le,{title:a.title,description:a.description,confirm:a.confirm,cancel:a.cancel,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var vn={},$a=Ce;Object.defineProperty(vn,"__esModule",{value:!0});var Kr=vn.default=void 0,Ua=$a(we()),za=e;Kr=vn.default=(0,Ua.default)((0,za.jsx)("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"}),"Details");function Gr(t){const{certificate:n={},...r}=t,{t:i,locale:o}=z(),[l,a]=x.useState(!1),s=Pi(),d=()=>{a(!1)},g=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(n.matchedSites||[]).map(u=>e.jsx(A,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:u.domain},u.id))},{id:"updatedAt",name:i("common.updatedAt"),value:Un(n.updatedAt,o)},{id:"createdAt",name:i("common.createdAt"),value:Un(n.createdAt,o)}],c=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(A,{component:"span",style:{fontSize:"1.1rem"},children:(ne(n,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:ne(n,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:ne(n,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:ne(n,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:_i.duration(ne(n,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:it(ne(n,"meta.validFrom"),o)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:it(ne(n,"meta.validTo"),o)}];return e.jsxs(e.Fragment,{children:[e.jsxs(X,{edge:"end",onClick:()=>a(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...r,children:[e.jsx(Kr,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(jr,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:l,showCloseButton:!1,actions:e.jsx(X,{autoFocus:!0,variant:"contained",onClick:d,color:"secondary",children:i("common.close")}),children:[e.jsx(Ut,{component:"div",style:{margin:s.spacing(2)},children:g.map(u=>e.jsx(ot,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cert-basic"),e.jsx(zn,{}),e.jsx(Ut,{component:"div",style:{margin:s.spacing(2)},children:c.map(u=>e.jsx(ot,{nameWidth:200,valueComponent:"div",name:u.name,children:u.value},u.id))},"cer-info"),e.jsx(zn,{})]})]})}Gr.propTypes={certificate:m.object.isRequired};function bn(t){const{certificate:n,style:r,...i}=t,{t:o}=z(),[l,a]=x.useState(!1),s=n.matchedSites||[];return e.jsxs(A,{component:"ul",...i,style:{...r,listStyle:"none"},children:[(l?s:s.slice(0,4)).map(d=>e.jsx(A,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:d.domain},d.id)),s.length>4&&e.jsx(X,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{a(!l)},children:o(l?"common.collapseAll":"common.expandAll")})]})}bn.propTypes={certificate:m.object.isRequired,style:m.object};bn.defaultProps={style:{}};const Ba=t=>{if(!t)return!1;const n=+new Date;return t-n<=0},mr="ssl-certificates-table";m.number;function Ot({name:t,value:n,style:r={},icon:i,...o}){return e.jsxs(Ma,{style:{display:"flex",alignItems:"center",...r},...o,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:n}),i&&i]})}const Ma=ee.div`
253
+ & > span {
254
+ margin: 5px;
255
+ }
256
+ `;function jn({status:t,source:n,expiresTime:r}){const{t:i}=z();return Ba(r)?e.jsx(Qe,{type:"error",children:i("router.cert.expired")}):n==="upload"?e.jsx(Qe,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Qe,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Qe,{type:"success",children:i("common.normal")}):""}jn.propTypes={status:m.string,source:m.string,expiresTime:m.number.isRequired};jn.defaultProps={status:"",source:""};const Wa=(t,n)=>{if(!n)return t;const r=(n.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>Ti(r,i.matchedSites))};function qa(){var c;const{t,locale:n}=x.useContext(Kt),{api:r}=Z(),o=Ri().get("did"),l=ze(async()=>{const{certificates:u}=await r.getCertificates();let f=null;if(o){const{blocklet:j}=await r.getBlocklet({input:{did:o,attachRuntimeInfo:!0}});f=j}return{certificates:Wa(u,f)}}),a=()=>{l.retry()},s=(c=l.value)==null?void 0:c.certificates,d=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsxs(e.Fragment,{children:[f.name&&e.jsx(Ot,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:f.name}),e.jsx(Ot,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:ne(f,"meta.issuer.commonName","")}),e.jsx(Ot,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(pe,{title:f.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Le,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:f.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsx(A,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...ne(f,"meta.sans")||[],f.domain])].map(w=>e.jsx(A,{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:u=>{const f=s[u];return t(`router.cert.sourceTypes.${f.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsx(jn,{status:f.status,source:f.source,expiresTime:ne(f,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsx(hr,{value:ne(f,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsx(bn,{id:f.id,certificate:f,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:u=>{const f=s[u];return e.jsx(re,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!f.isProtected&&e.jsxs(e.Fragment,{children:[f.source==="upload"&&e.jsx("div",{children:e.jsx(ur,{mode:"update",certificate:f,onRefresh:a})}),e.jsx("div",{children:e.jsx(Na,{id:f.id,domain:f.domain,onDelete:a})})]}),e.jsx("div",{children:e.jsx(Gr,{id:f.id,certificate:f})})]})})}}}];if(l.error)return e.jsx(be,{severity:"error",children:xe(l.error)});if(l.loading)return e.jsx(V,{});const g=Oi(mr);return e.jsx(Ha,{children:e.jsx(Cr,{title:e.jsx(re,{permission:"mutate_router",children:e.jsx(ur,{mode:"add",onRefresh:a,variant:"contained"})}),locale:n,data:l.value.certificates,columns:d,verticalKeyWidth:100,durable:mr,options:{search:!1,download:!1,filter:!1,print:!1,...g}})})}const Ha=ee.div`
257
+ .header {
258
+ display: flex;
259
+ justify-content: flex-end;
260
+ align-items: center;
261
+ margin-top: 20px;
262
+ }
263
+
264
+ margin-bottom: 24px;
265
+ .table-cell {
266
+ span {
267
+ font-size: 18px;
268
+ }
269
+ @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
270
+ span {
271
+ font-size: 15px;
272
+ }
273
+ }
274
+ }
275
+ .match-sites-cell,
276
+ .expires-cell {
277
+ min-width: 100px;
278
+ }
279
+ .actions {
280
+ text-align: center;
281
+ @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
282
+ .MuiButton-root {
283
+ padding: 6px;
284
+ }
285
+ }
286
+ }
287
+ `,fr="[a-fA-F\\d:]",he=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${fr})|(?<=${fr})(?=\\s|$))`:"",de="(?: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}",Q="[a-fA-F\\d]{1,4}",xt=`
288
+ (?:
289
+ (?:${Q}:){7}(?:${Q}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
290
+ (?:${Q}:){6}(?:${de}|:${Q}|:)| // 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
291
+ (?:${Q}:){5}(?::${de}|(?::${Q}){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
292
+ (?:${Q}:){4}(?:(?::${Q}){0,1}:${de}|(?::${Q}){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
293
+ (?:${Q}:){3}(?:(?::${Q}){0,2}:${de}|(?::${Q}){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
294
+ (?:${Q}:){2}(?:(?::${Q}){0,3}:${de}|(?::${Q}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
295
+ (?:${Q}:){1}(?:(?::${Q}){0,4}:${de}|(?::${Q}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
296
+ (?::(?:(?::${Q}){0,5}:${de}|(?::${Q}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
297
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
298
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Ka=new RegExp(`(?:^${de}$)|(?:^${xt}$)`),Ga=new RegExp(`^${de}$`),Va=new RegExp(`^${xt}$`),wn=t=>t&&t.exact?Ka:new RegExp(`(?:${he(t)}${de}${he(t)})|(?:${he(t)}${xt}${he(t)})`,"g");wn.v4=t=>t&&t.exact?Ga:new RegExp(`${he(t)}${de}${he(t)}`,"g");wn.v6=t=>t&&t.exact?Va:new RegExp(`${he(t)}${xt}${he(t)}`,"g");var Vr=wn;const Cn=Vr,Re=t=>Cn({exact:!0}).test(t);Re.v4=t=>Cn.v4({exact:!0}).test(t);Re.v6=t=>Cn.v6({exact:!0}).test(t);Re.version=t=>Re(t)?Re.v4(t)?4:6:void 0;var Ya=Re;const Je=wr(Ya);var yt={exports:{}},vt={exports:{}};const Yr=Vr,Sn={exact:!1},bt=`${Yr.v4().source}\\/(3[0-2]|[12]?[0-9])`,jt=`${Yr.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,Xa=new RegExp(`^${bt}$`),Qa=new RegExp(`^${jt}$`),Za=new RegExp(`(?:^${bt}$)|(?:^${jt}$)`);vt.exports=({exact:t}=Sn)=>t?Za:new RegExp(`(?:${bt})|(?:${jt})`,"g");vt.exports.v4=({exact:t}=Sn)=>t?Xa:new RegExp(bt,"g");vt.exports.v6=({exact:t}=Sn)=>t?Qa:new RegExp(jt,"g");var Ja=vt.exports;const{v4:es,v6:ts}=Ja,Xr=es({exact:!0}),Qr=ts({exact:!0});yt.exports=t=>Xr.test(t)?4:Qr.test(t)?6:0;yt.exports.v4=t=>Xr.test(t);yt.exports.v6=t=>Qr.test(t);var ns=yt.exports;const et=wr(ns),tt=Vi(t=>({root:{color:t.palette.primary.main,height:8,marginLeft:8},thumb:{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},valueLabel:{left:"calc(-50% + 4px)"},track:{height:8,borderRadius:4},rail:{height:8,borderRadius:4}}))(Yi);function rs(){const{info:{routing:t},api:n}=Z(),{t:r,locale:i}=z(),[o,l]=x.useState(!1),a=t.requestLimit||{};typeof a.enabled!="boolean"&&(a.enabled=!1),typeof a.rate!="number"&&(a.rate=E.GATEWAY_REQ_LIMIT.min),a.ipHeader||(a.ipHeader="");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],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 g=t.wafPolicy||{};typeof g.enabled!="boolean"&&(g.enabled=!1),g.mode||(g.mode="DetectionOnly"),g.inboundAnomalyScoreThreshold||(g.inboundAnomalyScoreThreshold=20),g.outboundAnomalyScoreThreshold||(g.outboundAnomalyScoreThreshold=10),g.logLevel||(g.logLevel=0);const{handleSubmit:c,control:u,watch:f}=Xt({defaultValues:{requestLimit:a,blockPolicy:s,proxyPolicy:d,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0,wafPolicy:g}}),w=f("requestLimit.enabled"),j=f("requestLimit.rate"),_=f("blockPolicy.enabled"),v=f("blockPolicy.autoBlocking.enabled"),k=f("proxyPolicy.enabled"),P=f("proxyPolicy.trustRecursive"),D=f("wafPolicy.enabled"),p=async C=>{try{l(!0);const{blacklist:h}=C.blockPolicy;h.forEach(y=>{if(!Je.v4(y)&&!et.v4(y)&&!br(y)&&!Je.v6(y)&&!et.v6(y))throw new Error(r("router.gateway.blockPolicy.invalidItem"))});const{trustedProxies:b}=C.proxyPolicy;b.forEach(y=>{if(!Je.v4(y)&&!et.v4(y)&&!Je.v6(y)&&!et.v6(y))throw new Error(r("router.gateway.proxyPolicy.invalidItem"))}),await n.updateGateway({input:C}),await gr(1e3),ae.success(r("common.saveSuccess"))}catch(h){ae.error(xe(h))}finally{l(!1)}};return e.jsx(is,{children:e.jsx(re,{permission:"mutate_node",children:C=>e.jsxs(en,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:c(p),children:[e.jsxs(fe,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:r("router.gateway.cacheEnabled.title")}),e.jsx(M,{name:"cacheEnabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.cacheEnabled.switchLabel")}),labelPlacement:"end"}})})]}),e.jsxs(fe,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:r("router.gateway.reqLimit.title")}),e.jsxs(fe,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"requestLimit.enabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.reqLimit.switchLabel")}),labelPlacement:"end"}})}),w&&e.jsxs(q,{className:"form-item",sx:{width:"100%"},children:[e.jsx(A,{id:"request-limit-rate-label",gutterBottom:!0,children:r("router.gateway.reqLimit.rate",{rate:j})}),e.jsx(M,{name:"requestLimit.rate",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(tt,{disabled:!C,onChange:(y,S)=>b(S),defaultValue:h,valueLabelDisplay:"auto",step:1,min:E.GATEWAY_REQ_LIMIT.min,max:E.GATEWAY_REQ_LIMIT.max})})]})]})]}),e.jsxs(fe,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:r("router.gateway.blockPolicy.title")}),e.jsxs(fe,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"blockPolicy.enabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.blockPolicy.switchLabel")}),labelPlacement:"end"}})}),_&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"blockPolicy.blacklist",control:u,render:({field:{value:h,onChange:b}})=>{const y=()=>{b([...h||[],""])},S=$=>{const U=[...h];U.splice($,1),b(U)},T=($,U)=>{const I=[...h];I[$]=U,b(I)};return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(se,{children:r("router.gateway.blockPolicy.blacklistDesc")}),(h||[]).map(($,U)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(H,{variant:"outlined",size:"small",disabled:o||!C,style:{flex:1},value:$,onChange:I=>T(U,I.target.value),placeholder:r("router.gateway.blockPolicy.inputPlaceholder"),InputProps:{endAdornment:e.jsx(Nt,{disabled:o||!C,onClick:()=>S(U),size:"small",color:"error",children:e.jsx(je,{})})}})},`blacklist-item-${U}`)),e.jsx(X,{disabled:o||!C,onClick:y,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Ne,{}),children:r("router.gateway.blockPolicy.addItem")})]})}}),e.jsx(M,{name:"blockPolicy.autoBlocking.enabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.blockPolicy.autoBlocking.switchLabel")}),labelPlacement:"end"}})}),v&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"blockPolicy.autoBlocking.statusCodes",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsx(se,{id:"block-policy-auto-blocking-status-codes-desc",children:r("router.gateway.blockPolicy.autoBlocking.statusCodes")}),e.jsxs(Bn,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,multiple:!0,value:h,onChange:b,children:[e.jsx(J,{value:400,children:"400 Bad Request"}),e.jsx(J,{value:401,children:"401 Unauthorized"}),e.jsx(J,{value:403,children:"403 Forbidden (WAF)"}),e.jsx(J,{value:404,children:"404 Not Found"}),e.jsx(J,{value:405,children:"405 Method Not Allowed"})]})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.windowSize",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsx(se,{id:"block-policy-auto-blocking-window-size-desc",children:r("router.gateway.blockPolicy.autoBlocking.windowSize")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,value:h,onChange:b,InputProps:{endAdornment:e.jsxs(A,{variant:"body2",children:[Mn(Number(h*1e3),{locale:Wn(i),long:!0})," "]})}})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.windowQuota",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsx(se,{id:"block-policy-auto-blocking-window-quota-desc",children:r("router.gateway.blockPolicy.autoBlocking.windowQuota")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,value:h,onChange:b})]})}),e.jsx(M,{name:"blockPolicy.autoBlocking.blockDuration",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsx(se,{id:"block-policy-auto-blocking-block-duration-desc",children:r("router.gateway.blockPolicy.autoBlocking.blockDuration")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,value:h,onChange:b,InputProps:{endAdornment:e.jsx(A,{variant:"body2",children:Mn(Number(h*1e3),{locale:Wn(i),long:!0})})}})]})})]})]})]})]}),e.jsxs(fe,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:r("router.gateway.proxyPolicy.title")}),e.jsxs(fe,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"proxyPolicy.enabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.proxyPolicy.switchLabel")}),labelPlacement:"end"}})}),k&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"proxyPolicy.realIpHeader",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsx(se,{id:"proxy-policy-real-ip-header-desc",children:r("router.gateway.proxyPolicy.realIpHeaderDesc")}),e.jsx(H,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,value:h,onChange:b})]})}),e.jsx(M,{name:"proxyPolicy.trustRecursive",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{sx:{mt:2},children:[e.jsx(se,{id:"proxy-policy-real-ip-header-desc",children:r("router.gateway.proxyPolicy.trustRecursiveDesc")}),e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.proxyPolicy.trustRecursive")}),labelPlacement:"end"}})]})}),P&&e.jsx(M,{name:"proxyPolicy.trustedProxies",control:u,render:({field:{value:h,onChange:b}})=>{const y=()=>{b([...h||[],""])},S=$=>{const U=[...h];U.splice($,1),b(U)},T=($,U)=>{const I=[...h];I[$]=U,b(I)};return e.jsxs(q,{sx:{width:"100%",mt:2},children:[e.jsx(se,{children:r("router.gateway.proxyPolicy.trustedProxiesDesc")}),(h||[]).map(($,U)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(H,{variant:"outlined",size:"small",disabled:o||!C,style:{flex:1},value:$,onChange:I=>T(U,I.target.value),placeholder:r("router.gateway.proxyPolicy.inputPlaceholder"),InputProps:{endAdornment:e.jsx(Nt,{disabled:o||!C,onClick:()=>S(U),size:"small",color:"error",children:e.jsx(je,{})})}})},`trusted-proxy-item-${U}`)),e.jsx(X,{disabled:o||!C,onClick:y,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Ne,{}),children:r("router.gateway.proxyPolicy.addItem")})]})}})]})]})]}),e.jsxs(fe,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:r("router.gateway.wafPolicy.title")}),e.jsxs(fe,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(M,{name:"wafPolicy.enabled",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(oe,{checked:h,disabled:!C,onChange:y=>b(y.target.checked),labelProps:{label:e.jsx(A,{children:r("router.gateway.wafPolicy.switchLabel")}),labelPlacement:"end"}})}),D&&e.jsxs(e.Fragment,{children:[e.jsx(M,{name:"wafPolicy.mode",control:u,render:({field:{value:h,onChange:b}})=>e.jsxs(q,{children:[e.jsxs(se,{id:"waf-policy-mode-desc",children:[r("router.gateway.wafPolicy.modeDesc")," ",e.jsx(Yt,{href:`https://www.arcblock.io/docs/blocklet-developer/${i}/enable-web-application-firewall`,target:"_blank",children:r("router.gateway.wafPolicy.docDesc")})]}),e.jsxs(Bn,{variant:"outlined",fullWidth:!0,size:"small",disabled:o||!C,value:h,onChange:b,children:[e.jsx(J,{value:"DetectionOnly",children:r("router.gateway.wafPolicy.mode.detectOnly")}),e.jsx(J,{value:"On",children:r("router.gateway.wafPolicy.mode.on")})]})]})}),e.jsxs(q,{children:[e.jsx(se,{id:"waf-policy-inbound-anomaly-score-threshold-desc",children:r("router.gateway.wafPolicy.inboundAnomalyScoreThresholdDesc")}),e.jsx(M,{name:"wafPolicy.inboundAnomalyScoreThreshold",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(tt,{disabled:!C,onChange:(y,S)=>b(S),defaultValue:h,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(q,{children:[e.jsx(se,{id:"waf-policy-outbound-anomaly-score-threshold-desc",children:r("router.gateway.wafPolicy.outboundAnomalyScoreThresholdDesc")}),e.jsx(M,{name:"wafPolicy.outboundAnomalyScoreThreshold",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(tt,{disabled:!C,onChange:(y,S)=>b(S),defaultValue:h,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(q,{children:[e.jsx(se,{id:"waf-policy-log-level-desc",children:r("router.gateway.wafPolicy.logLevelDesc")}),e.jsx(M,{name:"wafPolicy.logLevel",control:u,render:({field:{value:h,onChange:b}})=>e.jsx(tt,{disabled:!C,onChange:(y,S)=>b(S),defaultValue:h,valueLabelDisplay:"auto",step:1,min:0,max:9})})]})]})]})]}),e.jsx("div",{className:"form-actions",children:C&&e.jsxs(X,{disabled:o,onClick:c(p),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[r("common.save")," ",o&&e.jsx(V,{size:16})]})})]})})})}const is=ee.div`
299
+ display: flex;
300
+ align-items: flex-start;
301
+ width: 100%;
302
+ max-width: 960px;
303
+
304
+ .gateway-section {
305
+ border-top: 1px solid #e0e0e0;
306
+ padding: 24px 0;
307
+ .gateway-section-title {
308
+ width: 240px;
309
+ flex-shrink: 0;
310
+ flex-grow: 0;
311
+ font-weight: 500;
312
+ }
313
+ .gateway-section-content {
314
+ flex-grow: 1;
315
+ }
316
+ }
317
+ `;function Hs(){const t=xr(),{node:n}=x.useContext(Ei),{t:r}=x.useContext(Kt),{tab:i="basic"}=Ai(),o=d=>{t(`/settings/${d}`)},l=[{label:r("common.basic"),value:"basic"},{label:r("router.routerSetting"),value:"router"},{label:r("router.certSetting"),value:"cert"},{label:r("common.gateway"),value:"gateway"},{label:r("common.webhook"),value:"integration"},{label:r("common.about"),value:"about"}],a={basic:mo,integration:xo,about:_o,router:e.jsx(Gn,{children:e.jsx(Vo,{})}),gateway:rs,cert:e.jsx(Gn,{children:e.jsx(qa,{})})},s=a[i]||a.basic;return e.jsxs(os,{children:[e.jsx(A,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:r("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(Ii,{tabs:l,current:i,onChange:o,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:x.isValidElement(s)?s:e.jsx(s,{node:n})})]})]})}const os=ee.main`
318
+ .page-header {
319
+ display: flex;
320
+ justify-content: space-between;
321
+ align-items: center;
322
+ }
323
+
324
+ .page-content {
325
+ margin-top: 16px;
326
+ }
327
+ `;export{Hs as default};