@abtnode/webapp 1.16.47-beta-20250729-133234-77359596 → 1.16.47-beta-20250731-014139-e860268f

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 (209) hide show
  1. package/blocklet.js +1 -1
  2. package/blocklet.yml +1 -1
  3. package/dist/assets/{AdapterDayjs-BtMrgFCS.js → AdapterDayjs-BiAcanOe.js} +5 -5
  4. package/dist/assets/{Add-D_yVrBZ2.js → Add-CMaOaJcy.js} +1 -1
  5. package/dist/assets/ArrowDropDown-BidZ6YZa.js +1 -0
  6. package/dist/assets/{Autocomplete-DFB-zfAj.js → Autocomplete-Jvr3OBqO.js} +1 -1
  7. package/dist/assets/{Breadcrumbs-Bn8z2ZUX.js → Breadcrumbs-CWrPLIEE.js} +1 -1
  8. package/dist/assets/{ButtonGroup-DEvYFpA9.js → ButtonGroup-BHDJ_xHw.js} +1 -1
  9. package/dist/assets/{CSSTransition-sQz5ESLI.js → CSSTransition-BKoPfTin.js} +1 -1
  10. package/dist/assets/{CallMerge-nqJcCofk.js → CallMerge-B_44wajA.js} +1 -1
  11. package/dist/assets/{CardContent-DBRqZcUi.js → CardContent-C9FF8zmo.js} +1 -1
  12. package/dist/assets/{ChevronLeft-4c5hb-O9.js → ChevronLeft-C_5SFpZ3.js} +1 -1
  13. package/dist/assets/{ChevronRight-gJV_CVk6.js → ChevronRight-D5Dv2KwC.js} +1 -1
  14. package/dist/assets/{Clear-CseZqtJJ.js → Clear-DUjqNsqY.js} +1 -1
  15. package/dist/assets/{DeleteOutline-Ce83cykk.js → DeleteOutline-BJkxA9W_.js} +1 -1
  16. package/dist/assets/{Done-TWYMo-78.js → Done-1e3LsE76.js} +1 -1
  17. package/dist/assets/{Edit-SaGMHxTB.js → Edit-Brfok_V9.js} +1 -1
  18. package/dist/assets/{ErrorOutline-Cpk6THeg.js → ErrorOutline-DU8Lm-me.js} +1 -1
  19. package/dist/assets/{FilterList-BAa4N29F.js → FilterList-DdUKcAm_.js} +1 -1
  20. package/dist/assets/{Google-oyxfoTny.js → Google-MHF3yZux.js} +1 -1
  21. package/dist/assets/{HelpOutline-CwK6RnYZ.js → HelpOutline-r64pe9r_.js} +1 -1
  22. package/dist/assets/{Launch-BGA2e5Nh.js → Launch-BSO75Y-o.js} +1 -1
  23. package/dist/assets/{Link-BuDft3kj.js → Link-DxZkbVyA.js} +1 -1
  24. package/dist/assets/{ListItemButton-Bc8Ct64X.js → ListItemButton-CWYI6B1i.js} +1 -1
  25. package/dist/assets/{ListSubheader-Dx1TAi_z.js → ListSubheader-B5z3JXVs.js} +1 -1
  26. package/dist/assets/{LoadingButton-_O3gAanO.js → LoadingButton-BvBtyajW.js} +1 -1
  27. package/dist/assets/{MoreVert-CPqEfvtL.js → MoreVert-B3-V93zF.js} +1 -1
  28. package/dist/assets/{OpenInNew-B8F3vFrA.js → OpenInNew-2p7Osi_B.js} +1 -1
  29. package/dist/assets/{Refresh-BGBC8bFM.js → Refresh-BwUIw44i.js} +1 -1
  30. package/dist/assets/{Search-B-mOt1mV.js → Search-CVsnDnpP.js} +1 -1
  31. package/dist/assets/{Slider-DtMbThDZ.js → Slider-BUlXyua5.js} +1 -1
  32. package/dist/assets/{Stepper-D3IZ8VnG.js → Stepper-Yd1ce1vv.js} +1 -1
  33. package/dist/assets/{Switch-BXS-cMbK.js → Switch-C1fxxz5n.js} +1 -1
  34. package/dist/assets/{TableSearch-Ba0268Ym.js → TableSearch-CKX4rVuU.js} +2 -2
  35. package/dist/assets/{ToggleButtonGroup-wz_HOnUh.js → ToggleButtonGroup-DrT1SlJe.js} +1 -1
  36. package/dist/assets/{Verified-BZYKWFMj.js → Verified-DYk2lw3M.js} +1 -1
  37. package/dist/assets/{VerifiedUser-C7uawhTO.js → VerifiedUser-NPP4tmwS.js} +1 -1
  38. package/dist/assets/{ViewList-Dnwh79y2.js → ViewList-Dxw4_fs_.js} +1 -1
  39. package/dist/assets/{_createAggregator-C-igeddN.js → _createAggregator-BgffVIEW.js} +1 -1
  40. package/dist/assets/{actions-BasLLFLB.js → actions-BWsi7i72.js} +2 -2
  41. package/dist/assets/{actions-DCyuilI2.js → actions-G3fsUkti.js} +1 -1
  42. package/dist/assets/{agreement-DZDzRKHa.js → agreement-DQuDFy25.js} +1 -1
  43. package/dist/assets/api-BJGpnzKK.js +1 -0
  44. package/dist/assets/{appearance-B9fu42ad.js → appearance-Se_lMnLq.js} +1 -1
  45. package/dist/assets/{ar-7eC8LKj2.js → ar-DKohTs5n.js} +1 -1
  46. package/dist/assets/{audit-logs-D8ZHDIr5.js → audit-logs-CqQ2o-hd.js} +2 -2
  47. package/dist/assets/{base-chart-CZ5IfPx1.js → base-chart-_QOGjOWD.js} +1 -1
  48. package/dist/assets/{blocklet-DTKRGXY2.js → blocklet-BWShyefZ.js} +1 -1
  49. package/dist/assets/{chain-D_LNFrKA.js → chain-4QRvY1Fq.js} +2 -2
  50. package/dist/assets/click-to-copy-BgnS-qFa.js +1 -0
  51. package/dist/assets/client-a5hg5ILL.js +1 -0
  52. package/dist/assets/cloneDeep-DUxbCdHx.js +1 -0
  53. package/dist/assets/{collapse-D8BjMRV-.js → collapse-DhWx6Fiz.js} +1 -1
  54. package/dist/assets/{config-navigation-HsCZP_KM.js → config-navigation-CsJNd9mk.js} +3 -3
  55. package/dist/assets/{connect-to-B93KdpBp.js → connect-to-BJU3I-tO.js} +1 -1
  56. package/dist/assets/{cssMode-BLx8QOT-.js → cssMode-BfuAy7Af.js} +1 -1
  57. package/dist/assets/{de-DgwOa_mf.js → de-CYm7FmiN.js} +1 -1
  58. package/dist/assets/{delete-confirm-DOAuBeZW.js → delete-confirm-DRlMHX1Z.js} +1 -1
  59. package/dist/assets/{depsEqual-KodVUXvV.js → depsEqual-D0AotRxG.js} +1 -1
  60. package/dist/assets/detail-D5mwafWs.js +58 -0
  61. package/dist/assets/{domains-Ba91DmOX.js → domains-Uw1IUOhz.js} +2 -2
  62. package/dist/assets/{download-BADzbUsd.js → download-BITZfYyH.js} +1 -1
  63. package/dist/assets/emotion-cache.browser.esm-BDnrC0c-.js +1 -0
  64. package/dist/assets/engine-3IdUdjkH.js +1 -0
  65. package/dist/assets/{es-B_gBSKp3.js → es-5zob_8Of.js} +1 -1
  66. package/dist/assets/{fr-Bm0AhLrO.js → fr-GNzEzJIo.js} +1 -1
  67. package/dist/assets/{freemarker2-BTTF114U.js → freemarker2-RPBEtbdT.js} +1 -1
  68. package/dist/assets/{get-safe-url-Ye2EWwkH.js → get-safe-url-Dqogbkdq.js} +1 -1
  69. package/dist/assets/getValidReactChildren-SkwQHrW1.js +1 -0
  70. package/dist/assets/{graphqlMode-CLyuuGgs.js → graphqlMode-CaadduEK.js} +2 -2
  71. package/dist/assets/{handlebars-D1wnOJww.js → handlebars-D8A3QMQA.js} +1 -1
  72. package/dist/assets/{hi-DO31L4at.js → hi-BMaS53lF.js} +1 -1
  73. package/dist/assets/{html-CAWHXH95.js → html-mPnmQbuN.js} +1 -1
  74. package/dist/assets/html-title-CacFoTyg.js +1 -0
  75. package/dist/assets/{htmlMode-BHaJrt3h.js → htmlMode-DI5mRJJV.js} +1 -1
  76. package/dist/assets/{id-BYCjnoK8.js → id-CbyxMpli.js} +1 -1
  77. package/dist/assets/{iframe-CUpb7ICB.js → iframe-Czk-UT3-.js} +1 -1
  78. package/dist/assets/{index-a7RH9Stt.js → index-9W_t0LqL.js} +1 -1
  79. package/dist/assets/{index-DmpIRzjQ.js → index-B-8U8lYj.js} +1 -1
  80. package/dist/assets/{index-Cft3_tM7.js → index-B1iMTf-1.js} +1 -1
  81. package/dist/assets/{index-Bmy8KBkN.js → index-B9eEN6Ex.js} +1 -1
  82. package/dist/assets/{index-Dvrc3qEy.js → index-BCt6EuqV.js} +1 -1
  83. package/dist/assets/{index-Dm9SjbUQ.js → index-BOGGfGZP.js} +1 -1
  84. package/dist/assets/{index-CkvSX6B-.js → index-BbLteX_9.js} +19 -19
  85. package/dist/assets/index-BeXjeW_D.js +79 -0
  86. package/dist/assets/{index-CU1U0Fbj.js → index-BiSZbdUR.js} +1 -1
  87. package/dist/assets/{index-CgI1wgSP.js → index-Bk2swyn_.js} +23 -23
  88. package/dist/assets/{index-DiZ8ImCf.js → index-BwAWqOYq.js} +1 -1
  89. package/dist/assets/index-C0IoSN2J.js +45 -0
  90. package/dist/assets/{index-CkqfZU31.js → index-C2SQKbgp.js} +1 -1
  91. package/dist/assets/index-C7H9Stfd.js +316 -0
  92. package/dist/assets/{index-BAmzwezR.js → index-C7J9Tf7N.js} +1 -1
  93. package/dist/assets/{index-jJRuEvFt.js → index-CC-3XMOt.js} +1 -1
  94. package/dist/assets/{index-BdnfHuZv.js → index-CGfr_Xf0.js} +1 -1
  95. package/dist/assets/{index-DMhD7EeU.js → index-CLTTHohk.js} +1 -1
  96. package/dist/assets/{index-BRb176tk.js → index-COsQ2pDX.js} +1 -1
  97. package/dist/assets/{index-BPfwFPum.js → index-CSsjxwWr.js} +1 -1
  98. package/dist/assets/{index-Dz2nYC7g.js → index-CWfqG7JG.js} +3 -3
  99. package/dist/assets/{index-BXRotQM-.js → index-CZj-IeN0.js} +1 -1
  100. package/dist/assets/{index-CFpyMQ_d.js → index-CagsSpuh.js} +9 -9
  101. package/dist/assets/{index-CX6gDshF.js → index-CjzEBnHB.js} +8 -8
  102. package/dist/assets/index-CmGv3elb.js +120 -0
  103. package/dist/assets/{index-BApymdtV.js → index-CmwksVS0.js} +1 -1
  104. package/dist/assets/{index-Nhy6IaeB.js → index-CqSRbifn.js} +1 -1
  105. package/dist/assets/{index-NS5A6eLA.js → index-CsVDrMMd.js} +2 -2
  106. package/dist/assets/{index-CUwyrdOY.js → index-CwxkXQDN.js} +1 -1
  107. package/dist/assets/{index-ijZD2Gee.js → index-Cyh9wrDu.js} +10 -10
  108. package/dist/assets/{index-zs5l3prb.js → index-Cz0waa_4.js} +1 -1
  109. package/dist/assets/{index-BqithI6e.js → index-D-Icpyc2.js} +1 -1
  110. package/dist/assets/{index-Dv62Si5m.js → index-D4Q12FU6.js} +1 -1
  111. package/dist/assets/{index-YPVihXU7.js → index-DFaykc-l.js} +1 -1
  112. package/dist/assets/{index-BfXbyXkW.js → index-DGqI12Zh.js} +1 -1
  113. package/dist/assets/{index-BLpgHHR-.js → index-DSZpPG9s.js} +3 -3
  114. package/dist/assets/{index-BUVEfL-H.js → index-D_ZRDcUb.js} +1 -1
  115. package/dist/assets/index-DcxGCVz2.js +1 -0
  116. package/dist/assets/{index-DNy1-otX.js → index-Df8aFWjk.js} +9 -9
  117. package/dist/assets/{index-Bo_5PZBY.js → index-DuWuA4Qr.js} +2 -2
  118. package/dist/assets/{index-vaPTgN2r.js → index-Pb0zzrzv.js} +20 -20
  119. package/dist/assets/index-WWc-YnJr.js +113 -0
  120. package/dist/assets/{index-D18Kk1fT.js → index-dQzdi1Hq.js} +1 -1
  121. package/dist/assets/{index-Bn2tsvZc.js → index-jUWkwezj.js} +4 -4
  122. package/dist/assets/{index-Dl_Ia9GM.js → index-n35bDjPH.js} +1 -1
  123. package/dist/assets/{index-CJc0rh4y.js → index-sraicR1d.js} +1 -1
  124. package/dist/assets/{index.esm-CSlUhA6z.js → index.esm-CXCRSK_f.js} +1 -1
  125. package/dist/assets/{install-from-url-DZxo6ZYF.js → install-from-url-Bpa-muAm.js} +1 -1
  126. package/dist/assets/{invitation-DuMro-DT.js → invitation-hZO0WzEZ.js} +1 -1
  127. package/dist/assets/{is-path-prefix-equal-BbciGE2u.js → is-path-prefix-equal-CpCr5Pp2.js} +1 -1
  128. package/dist/assets/{item-Bh3b7oE0.js → item-Ds6r8B85.js} +6 -6
  129. package/dist/assets/{ja-Ck2EVKeO.js → ja-BPCCKkW4.js} +1 -1
  130. package/dist/assets/{javascript-Bfi1s6Y8.js → javascript-CGPbA1CY.js} +1 -1
  131. package/dist/assets/{jsonMode-lekI5_I4.js → jsonMode-Dlg8sdnH.js} +1 -1
  132. package/dist/assets/{ko-Nk_6p6Jl.js → ko-Wbe93sio.js} +1 -1
  133. package/dist/assets/{liquid-DZv4bT5H.js → liquid-D13SNYj1.js} +1 -1
  134. package/dist/assets/{list-header-B5ciTDV9.js → list-header-DZTbN58s.js} +1 -1
  135. package/dist/assets/{log-H6ZEmpY1.js → log-C--AbUmH.js} +1 -1
  136. package/dist/assets/{lottie-react.esm-TmjsMLZQ.js → lottie-react.esm-bHdqVYkV.js} +1 -1
  137. package/dist/assets/{mdx-D7KGnBOI.js → mdx-geJ5pn3l.js} +1 -1
  138. package/dist/assets/{memory-BJvUF24N.js → memory-DLJFi013.js} +1 -1
  139. package/dist/assets/{metric-DqHLPUdD.js → metric-nF2Xx_cP.js} +1 -1
  140. package/dist/assets/omit-CMtjAJiD.js +1 -0
  141. package/dist/assets/{overview-N_ciTHKs.js → overview-DbcbGc2C.js} +1 -1
  142. package/dist/assets/{permission-xI7TPD_-.js → permission-DG9uH24n.js} +1 -1
  143. package/dist/assets/{preference-COzP_QI_.js → preference-DQfFXuWW.js} +3 -3
  144. package/dist/assets/{pt-C-JzkWqR.js → pt-C1fHGXQk.js} +1 -1
  145. package/dist/assets/{python-CJm_dsIE.js → python-Cdls_5iy.js} +1 -1
  146. package/dist/assets/{raf-schd.esm-s2KsxjyR.js → raf-schd.esm-BfNfEe8D.js} +1 -1
  147. package/dist/assets/{razor-BWHFGLFh.js → razor-DxOaQqxx.js} +1 -1
  148. package/dist/assets/{rotate-session-key-CowHvrJJ.js → rotate-session-key-BXcd-5Zn.js} +1 -1
  149. package/dist/assets/{ru-DR6is0tr.js → ru-DJ3aNml8.js} +1 -1
  150. package/dist/assets/{runtime-DgZNKPs1.js → runtime-CzuKUbuj.js} +1 -1
  151. package/dist/assets/schema-CgZR3vFp.js +1 -0
  152. package/dist/assets/sdk-CJb0Z10-.js +1 -0
  153. package/dist/assets/service-zTgtva4o.js +1 -0
  154. package/dist/assets/{shorten-label-NmOkB2cg.js → shorten-label-BCEJK9kd.js} +1 -1
  155. package/dist/assets/{simple-select-DVpAUW9K.js → simple-select-DGcxx-W-.js} +1 -1
  156. package/dist/assets/{spaces-CZFNtfbq.js → spaces-CUI-UEB-.js} +1 -1
  157. package/dist/assets/{status-CFt9_6p0.js → status-Bi_Pou8g.js} +1 -1
  158. package/dist/assets/{status-B-Brq_RM.js → status-mS0PFNHr.js} +1 -1
  159. package/dist/assets/{switch-control-B8ORvjoD.js → switch-control-BBKsCU2Y.js} +1 -1
  160. package/dist/assets/{table-icons-BKf29GdU.js → table-icons-hZGjJ2eg.js} +52 -68
  161. package/dist/assets/{team-Dk-2oEpZ.js → team-1bg7ZL8j.js} +1 -1
  162. package/dist/assets/{th-Cn3755Vi.js → th-C22KCFdo.js} +1 -1
  163. package/dist/assets/{toLower-CD8Z1e9D.js → toLower-p7cMPP8n.js} +1 -1
  164. package/dist/assets/toUpper-g96Av6xB.js +1 -0
  165. package/dist/assets/{traffic-DR9L6nFW.js → traffic-B8RUG_pS.js} +1 -1
  166. package/dist/assets/{tsMode-OD8H16VT.js → tsMode-B0Ss7AK7.js} +1 -1
  167. package/dist/assets/{typescript-CPkFJ71d.js → typescript-Cq9RZqPR.js} +1 -1
  168. package/dist/assets/{url-evaluation-c4Fe77Jg.js → url-evaluation-BMLhywvu.js} +1 -1
  169. package/dist/assets/{url-join-DA4AkRL3.js → url-join-CBh7FZtG.js} +1 -1
  170. package/dist/assets/{use-mobile-MMitRVbD.js → use-mobile-BHeriyen.js} +1 -1
  171. package/dist/assets/{use-mobile-s6Z2HXGw.js → use-mobile-Dn3IunVN.js} +1 -1
  172. package/dist/assets/{useAsync-BLbCNK6N.js → useAsync-ByzD9-iZ.js} +1 -1
  173. package/dist/assets/{useAsyncRetry-DruySzFm.js → useAsyncRetry-CrZGrFzH.js} +1 -1
  174. package/dist/assets/{useLocalStorage-DBFHYH4w.js → useLocalStorage-BHL7RS8q.js} +1 -1
  175. package/dist/assets/{useThemeProps-CHzERYQJ.js → useThemeProps-DooTQWd6.js} +1 -1
  176. package/dist/assets/{util-DcV9UPg-.js → util-BErsOHdh.js} +1 -1
  177. package/dist/assets/{vi-7MIaoDt9.js → vi-D_AWh4Q3.js} +1 -1
  178. package/dist/assets/{wait-container-C3t0_9pD.js → wait-container-DfL-msy6.js} +1 -1
  179. package/dist/assets/{without-wallet-C-NBCmOm.js → without-wallet-BwvrV6Xc.js} +1 -1
  180. package/dist/assets/wrap-locale-DdILYRop.js +1 -0
  181. package/dist/assets/{xml-ZnZT4dmm.js → xml-Cr_Y_Yft.js} +1 -1
  182. package/dist/assets/{yaml-COdysg5-.js → yaml-RBxoeLGe.js} +1 -1
  183. package/dist/assets/{zh-DswrR4Lx.js → zh-ZjW3xV_P.js} +1 -1
  184. package/dist/assets/{zh-tw-De_IfliP.js → zh-tw-BuqwZI-0.js} +1 -1
  185. package/dist/index.html +1 -1
  186. package/dist/service-worker.js +1 -1
  187. package/package.json +1 -1
  188. package/dist/assets/ArrowDropDown-xY2s7Ihq.js +0 -1
  189. package/dist/assets/api-Clj72YcZ.js +0 -1
  190. package/dist/assets/click-to-copy-B9VHrkLa.js +0 -1
  191. package/dist/assets/client-CKiDm4Sh.js +0 -1
  192. package/dist/assets/cloneDeep-ChKH-mUk.js +0 -1
  193. package/dist/assets/detail-DNxn6vzE.js +0 -58
  194. package/dist/assets/emotion-cache.browser.esm-LZWLgccN.js +0 -1
  195. package/dist/assets/engine-CnD_uEkh.js +0 -1
  196. package/dist/assets/getValidReactChildren-CcAo1bEa.js +0 -1
  197. package/dist/assets/index-BJi0KLKD.js +0 -113
  198. package/dist/assets/index-CUJnu-Cz.js +0 -316
  199. package/dist/assets/index-Ch95NoWO.js +0 -45
  200. package/dist/assets/index-D8Whs-QW.js +0 -120
  201. package/dist/assets/index-DtIGnfqA.js +0 -80
  202. package/dist/assets/index-SNFmscVU.js +0 -1
  203. package/dist/assets/index-rqx96NXG.js +0 -1
  204. package/dist/assets/omit-A7YJlIhK.js +0 -1
  205. package/dist/assets/schema-BCRuQHJw.js +0 -1
  206. package/dist/assets/sdk-Bv8uTx0n.js +0 -1
  207. package/dist/assets/service-C3ESAoY1.js +0 -1
  208. package/dist/assets/toUpper-B-KX3CuD.js +0 -1
  209. package/dist/assets/wrap-locale-DH63zt6h.js +0 -1
@@ -1,4 +1,4 @@
1
- import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,aK as Hn,aL as sn,aM as et,m as z,ad as le,s as ne,aN as ln,o as p,aO as zr,aP as cn,aQ as Br,H as ae,O as dn,T as A,t as q,az as fe,aR as Pe,C as K,X as be,v as V,aS as Gn,Y as ge,N as W,g as Mt,P as tt,aT as Mr,d as Wt,aU as Ie,aV as me,aa as Wr,aW as qr,aX as Hr,y as Gr,A as Kn,W as un,p as mn,h as te,aY as qt,a as Et,U as X,b as ct,aZ as Yn,a_ as Vn,V as Xn,a4 as _t,a$ as Kr,b0 as Yr,b1 as Vr,b2 as Xr,b3 as nt,J as Qr,b4 as Zr,aF as Ge,b5 as Jr,a9 as jt,a6 as wt,b6 as ei,a7 as Pt,L as Ht,K as ti,b7 as ni,b8 as Qn,a8 as ri,b9 as Zn,ba as De,bb as ke,bc as ii,bd as Gt,be as oi,$ as Jn,D as At,f as er,bf as ai,bg as fn,ak as si,bh as li,bi as ee,bj as ci,S as pn,k as gn,l as hn,bk as di,bl as ui,bm as mi}from"./index-CX6gDshF.js";import{T as fi}from"./index-rqx96NXG.js";import{A as pi}from"./ArrowDropDown-xY2s7Ihq.js";import{u as Kt,C as B,a as xn}from"./index.esm-CSlUhA6z.js";import{S as oe}from"./switch-control-B8ORvjoD.js";import{P as re}from"./permission-xI7TPD_-.js";import{H as tr,g as gi}from"./index-DMhD7EeU.js";import{A as nr}from"./Link-BuDft3kj.js";import{D as ve,R as rr,a as It,b as hi,W as Ke}from"./url-evaluation-c4Fe77Jg.js";import{D as dt}from"./delete-confirm-DOAuBeZW.js";import{v as rt}from"./index-DmpIRzjQ.js";import{s as xi}from"./logo-BKA11TRi.js";import{u as yi}from"./useLocalStorage-DBFHYH4w.js";import{R as bi}from"./Refresh-BGBC8bFM.js";import{L as vi}from"./LoadingButton-_O3gAanO.js";import{C as ji,R as wi,P as ir}from"./rotate-session-key-CowHvrJJ.js";import{A as Le}from"./Add-D_yVrBZ2.js";import{B as or,D as yn}from"./status-B-Brq_RM.js";import{i as Ci}from"./is-path-prefix-equal-BbciGE2u.js";import{N as Si}from"./ChevronRight-gJV_CVk6.js";import{I as Di}from"./MoreVert-CPqEfvtL.js";import{E as ar}from"./Edit-SaGMHxTB.js";import{A as ki}from"./CallMerge-nqJcCofk.js";import{C as Ri}from"./CardContent-DBRqZcUi.js";import{S as Ti}from"./Slider-DtMbThDZ.js";import"./Switch-BXS-cMbK.js";import"./FilterList-BAa4N29F.js";import"./CSSTransition-sQz5ESLI.js";import"./emotion-cache.browser.esm-LZWLgccN.js";import"./index-Nhy6IaeB.js";import"./redux-DfszZyTl.js";import"./typeof-QjJsDpFa.js";import"./depsEqual-KodVUXvV.js";import"./index-D18Kk1fT.js";import"./TableSearch-Ba0268Ym.js";import"./Search-B-mOt1mV.js";import"./Clear-CseZqtJJ.js";import"./click-to-copy-B9VHrkLa.js";import"./visuallyHidden-Dan1xhjv.js";const Ei=je(e.jsx("path",{d:"m7 14 5-5 5 5z"})),_i=je(e.jsx("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"})),Pi=je(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"})),sr=je(e.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"})),Ai=je(e.jsx("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"})),Ii=je(e.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"})),Li=je(e.jsx("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"})),ye="Dashboard",lr=h.createContext({}),{Provider:Oi,Consumer:as}=lr,bn=[ye,k.DOMAIN_FOR_IP_SITE,k.DOMAIN_FOR_IP_SITE_REGEXP],Fi=(t,r)=>{if(t.name===k.DOMAIN_FOR_DEFAULT_SITE)return-1;if(r.name===k.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=bn.includes(t.name),i=bn.includes(r.name);return n&&i?sn(t.name,r.name):n?-1:i?1:sn(t.name,r.name)},Ni=({sites:t,nodePort:r})=>{const n=window.location.hostname,a=(t||[]).map(o=>{const{id:s,rules:u=[],corsAllowedOrigins:m=[]}=o;let{domain:d,domainAliases:c}=o;c=c||[],[k.DOMAIN_FOR_IP_SITE,k.DOMAIN_FOR_IP_SITE_REGEXP].includes(d)&&(d=ye,c.find(x=>x.value===n)||c.unshift({protected:!1,value:n}));const w={id:s,name:d,type:"domain",items:[],domainAliases:c,isProtected:o.isProtected,corsAllowedOrigins:m};return(u||[]).forEach(x=>{const{id:C,isProtected:E,from:{pathPrefix:j},to:D}=x;if(D.type===k.ROUTING_RULE_TYPES.BLOCKLET){let S="";Number.parseInt(D.port,10)===Number.parseInt(r,10)?(S="Blocklet Server Dashboard",D.type=k.ROUTING_RULE_TYPES.DAEMON):S=D.did,w.items.push({id:C,name:an(j||"/"),title:S,type:"rule",isProtected:E,pathPrefix:j,to:D})}else w.items.push({id:C,pathPrefix:j,name:an(j||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:E,to:D})}),w.items=Hn(w.items,x=>x.name),w}).sort(Fi),l=a.reduce((o,s)=>{let{name:u}=s;return u.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX)&&([u]=u.split(".")),o[u]={...s,rules:s.items},o},{});return{sites:a,siteMap:l}},$i=({did:t,domain:r,mountPoint:n,siteMap:i,params:a}={})=>{if(!i)return null;const l=i[t];if(!l)return null;const o=r||(l.domainAliases||[])[0];if(!o)return null;let s=n;if(!s){const u=l.rules.filter(m=>!m.name.startsWith(k.WELLKNOWN_PATH_PREFIX))[0];s=u?u.name:"/"}return et(o.value,s,a)},Ui=({did:t,mountPoint:r,siteMap:n,params:i}={})=>{if(!n)return[];const a=n[t];if(!a)return[];const l=a.domainAliases||[];if(!l.length)return[];let o=r;if(!o){const s=a.rules.filter(u=>!u.name.startsWith(k.WELLKNOWN_PATH_PREFIX))[0];o=s?s.name:"/"}return l.map(s=>et(s.value,o,i))},zi=t=>{const r=t.map(i=>i.domain).filter(i=>![k.DOMAIN_FOR_IP_SITE_REGEXP,k.DOMAIN_FOR_DEFAULT_SITE].includes(i));let n=[];return t.forEach(i=>n.push(...i.domainAliases||[])),n=n.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:r,domainsAliases:n}};function vn({children:t}){const{api:r,info:n}=Q(),[i,a]=h.useState([]),[l,o]=h.useState([]),[s,u]=h.useState([]),m=Fe(async()=>{const{sites:_}=await r.getRoutingSites({input:{snapshotHash:""}}),v=_||[];await Promise.all(v.map(async g=>(g.domainAliases=await $r(g.domainAliases,{getIP:Ur}),g)));const f=zi(v);a(v),o(f.domains),u([window.location.hostname,...f.domains,...f.domainsAliases.map(g=>g.value)])},[n]),d=(_,v)=>{a(f=>f.map(g=>g.id===_?v.domain?v:{...v,domain:g.domain}:g))},c=_=>r.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(_)}}),w=async _=>{const v=await r.addRoutingSite({input:_});a(i.concat(v.site))},x=async(_,v)=>{const f=await r.updateRoutingSite({input:{id:_,...v}});if(f.site&&f.site.id){const g=i.findIndex(R=>R.id===f.site.id);g!==-1&&(i.splice(g,1,f.site),a([].concat(i)))}},C=async _=>{await r.deleteRoutingSite({input:{id:_}}),a(i.filter(v=>v.id!==_))},E=async(_,v,f)=>{const g=await r.addDomainAlias({input:{id:_,domainAlias:v,force:f}});d(_,g.site)},j=async(_,v)=>{const f=await r.deleteDomainAlias({input:{id:_,domainAlias:v}});d(_,f.site)},D=async(_,v)=>{const{site:f}=await r.addRoutingRule({input:{id:_,rule:v}});d(_,f)},S=async(_,v)=>{const{site:f}=await r.updateRoutingRule({input:{id:_,rule:v}});d(_,f)},b=async(_,v)=>{const{site:f}=await r.deleteRoutingRule({input:{id:_,ruleId:v}});d(_,f)},y={loading:m.loading,error:m.error,refresh:m.retry,api:r,actions:{addSite:w,updateSite:x,deleteSite:C,addDomainAlias:E,deleteDomainAlias:j,takeSnapshot:c,addRule:D,updateRule:S,deleteRule:b}},{sites:L,siteMap:F}=Ni({sites:i,nodePort:n.port});return y.sites=L,y.siteMap=F,y.domains=l,y.allDomains=s,y.getBlockletUrl=({did:_,domain:v,mountPoint:f,params:g})=>$i({did:_,domain:v,mountPoint:f,siteMap:y.siteMap,params:g}),y.getBlockletUrls=({did:_,mountPoint:v,params:f})=>Ui({did:_,mountPoint:v,siteMap:y.siteMap,params:f}),e.jsx(Oi,{value:{routing:y},children:t})}function de(){const{routing:t}=h.useContext(lr);return t}function Yt(t){const r=[k.DOMAIN_FOR_IP_SITE_REGEXP,k.DOMAIN_FOR_DEFAULT_SITE,k.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&r.push(window.location.hostname),r.includes(t)}function Bi(){return null}function cr({confirm:t=null}){const[r,n]=h.useState(null),{t:i}=z(),a=()=>{n(null)},l=async s=>{if(s){let u=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";u==="/"?ln.push(`${s.pathname}`):(u.endsWith("/")&&(u=u.substring(0,u.length-1)),ln.push(`${u}${s.pathname}`)),window.location.reload()}},o=(s,...u)=>{let m=typeof t=="function"?t(s,...u):t;return m?(typeof m=="string"&&(m={description:m}),n({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>l(s),onCancel:()=>a(),...m}),!1):!0};return e.jsxs(Mi,{children:[e.jsx(Bi,{message:o}),r&&e.jsx(le,{title:r.title,description:r.description,confirm:r.confirm,cancel:r.cancel,params:r.params,onConfirm:r.onConfirm,onCancel:r.onCancel})]})}cr.propTypes={confirm:p.oneOfType([p.object,p.string,p.func])};const Mi=ne.div`
1
+ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,aK as Hn,aL as sn,aM as et,m as z,ad as le,s as ne,aN as ln,o as p,aO as zr,aP as cn,aQ as Br,H as ae,O as dn,T as A,t as q,az as fe,aR as Pe,C as K,X as be,v as V,aS as Gn,Y as ge,N as W,g as Mt,P as tt,aT as Mr,d as Wt,aU as Ie,aV as me,aa as Wr,aW as qr,aX as Hr,y as Gr,A as Kn,W as un,p as mn,h as te,aY as qt,a as Et,U as X,b as ct,aZ as Yn,a_ as Vn,V as Xn,a4 as _t,a$ as Kr,b0 as Yr,b1 as Vr,b2 as Xr,b3 as nt,J as Qr,b4 as Zr,aF as Ge,b5 as Jr,a9 as jt,a6 as wt,b6 as ei,a7 as Pt,L as Ht,K as ti,b7 as ni,b8 as Qn,a8 as ri,b9 as Zn,ba as De,bb as ke,bc as ii,bd as Gt,be as oi,$ as Jn,D as At,f as er,bf as ai,bg as fn,ak as si,bh as li,bi as ee,bj as ci,S as pn,k as gn,l as hn,bk as di,bl as ui,bm as mi}from"./index-CjzEBnHB.js";import{u as fi,T as pi}from"./html-title-CacFoTyg.js";import{A as gi}from"./ArrowDropDown-BidZ6YZa.js";import{u as Kt,C as B,a as xn}from"./index.esm-CXCRSK_f.js";import{S as oe}from"./switch-control-BBKsCU2Y.js";import{P as re}from"./permission-DG9uH24n.js";import{H as tr,g as hi}from"./index-CLTTHohk.js";import{A as nr}from"./Link-DxZkbVyA.js";import{D as ve,R as rr,a as It,b as xi,W as Ke}from"./url-evaluation-BMLhywvu.js";import{D as dt}from"./delete-confirm-DRlMHX1Z.js";import{v as rt}from"./index-B-8U8lYj.js";import{s as yi}from"./logo-BKA11TRi.js";import{u as bi}from"./useLocalStorage-BHL7RS8q.js";import{R as vi}from"./Refresh-BwUIw44i.js";import{L as ji}from"./LoadingButton-BvBtyajW.js";import{C as wi,R as Ci,P as ir}from"./rotate-session-key-BXcd-5Zn.js";import{A as Le}from"./Add-CMaOaJcy.js";import{B as or,D as yn}from"./status-mS0PFNHr.js";import{i as Si}from"./is-path-prefix-equal-CpCr5Pp2.js";import{N as Di}from"./ChevronRight-D5Dv2KwC.js";import{I as ki}from"./MoreVert-B3-V93zF.js";import{E as ar}from"./Edit-Brfok_V9.js";import{A as Ri}from"./CallMerge-B_44wajA.js";import{C as Ti}from"./CardContent-C9FF8zmo.js";import{S as Ei}from"./Slider-BUlXyua5.js";import"./Switch-C1fxxz5n.js";import"./FilterList-DdUKcAm_.js";import"./CSSTransition-BKoPfTin.js";import"./emotion-cache.browser.esm-BDnrC0c-.js";import"./index-CqSRbifn.js";import"./redux-DfszZyTl.js";import"./typeof-QjJsDpFa.js";import"./depsEqual-D0AotRxG.js";import"./index-dQzdi1Hq.js";import"./TableSearch-CKX4rVuU.js";import"./Search-CVsnDnpP.js";import"./Clear-DUjqNsqY.js";import"./click-to-copy-BgnS-qFa.js";import"./visuallyHidden-Dan1xhjv.js";const _i=je(e.jsx("path",{d:"m7 14 5-5 5 5z"})),Pi=je(e.jsx("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"})),Ai=je(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"})),sr=je(e.jsx("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2m-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1z"})),Ii=je(e.jsx("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"})),Li=je(e.jsx("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"})),Oi=je(e.jsx("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"})),ye="Dashboard",lr=h.createContext({}),{Provider:Fi,Consumer:ss}=lr,bn=[ye,k.DOMAIN_FOR_IP_SITE,k.DOMAIN_FOR_IP_SITE_REGEXP],Ni=(t,r)=>{if(t.name===k.DOMAIN_FOR_DEFAULT_SITE)return-1;if(r.name===k.DOMAIN_FOR_DEFAULT_SITE)return 1;const n=bn.includes(t.name),i=bn.includes(r.name);return n&&i?sn(t.name,r.name):n?-1:i?1:sn(t.name,r.name)},$i=({sites:t,nodePort:r})=>{const n=window.location.hostname,a=(t||[]).map(o=>{const{id:s,rules:u=[],corsAllowedOrigins:m=[]}=o;let{domain:d,domainAliases:c}=o;c=c||[],[k.DOMAIN_FOR_IP_SITE,k.DOMAIN_FOR_IP_SITE_REGEXP].includes(d)&&(d=ye,c.find(x=>x.value===n)||c.unshift({protected:!1,value:n}));const w={id:s,name:d,type:"domain",items:[],domainAliases:c,isProtected:o.isProtected,corsAllowedOrigins:m};return(u||[]).forEach(x=>{const{id:C,isProtected:E,from:{pathPrefix:j},to:D}=x;if(D.type===k.ROUTING_RULE_TYPES.BLOCKLET){let S="";Number.parseInt(D.port,10)===Number.parseInt(r,10)?(S="Blocklet Server Dashboard",D.type=k.ROUTING_RULE_TYPES.DAEMON):S=D.did,w.items.push({id:C,name:an(j||"/"),title:S,type:"rule",isProtected:E,pathPrefix:j,to:D})}else w.items.push({id:C,pathPrefix:j,name:an(j||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:E,to:D})}),w.items=Hn(w.items,x=>x.name),w}).sort(Ni),l=a.reduce((o,s)=>{let{name:u}=s;return u.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX)&&([u]=u.split(".")),o[u]={...s,rules:s.items},o},{});return{sites:a,siteMap:l}},Ui=({did:t,domain:r,mountPoint:n,siteMap:i,params:a}={})=>{if(!i)return null;const l=i[t];if(!l)return null;const o=r||(l.domainAliases||[])[0];if(!o)return null;let s=n;if(!s){const u=l.rules.filter(m=>!m.name.startsWith(k.WELLKNOWN_PATH_PREFIX))[0];s=u?u.name:"/"}return et(o.value,s,a)},zi=({did:t,mountPoint:r,siteMap:n,params:i}={})=>{if(!n)return[];const a=n[t];if(!a)return[];const l=a.domainAliases||[];if(!l.length)return[];let o=r;if(!o){const s=a.rules.filter(u=>!u.name.startsWith(k.WELLKNOWN_PATH_PREFIX))[0];o=s?s.name:"/"}return l.map(s=>et(s.value,o,i))},Bi=t=>{const r=t.map(i=>i.domain).filter(i=>![k.DOMAIN_FOR_IP_SITE_REGEXP,k.DOMAIN_FOR_DEFAULT_SITE].includes(i));let n=[];return t.forEach(i=>n.push(...i.domainAliases||[])),n=n.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:r,domainsAliases:n}};function vn({children:t}){const{api:r,info:n}=Q(),[i,a]=h.useState([]),[l,o]=h.useState([]),[s,u]=h.useState([]),m=Fe(async()=>{const{sites:_}=await r.getRoutingSites({input:{snapshotHash:""}}),v=_||[];await Promise.all(v.map(async g=>(g.domainAliases=await $r(g.domainAliases,{getIP:Ur}),g)));const f=Bi(v);a(v),o(f.domains),u([window.location.hostname,...f.domains,...f.domainsAliases.map(g=>g.value)])},[n]),d=(_,v)=>{a(f=>f.map(g=>g.id===_?v.domain?v:{...v,domain:g.domain}:g))},c=_=>r.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(_)}}),w=async _=>{const v=await r.addRoutingSite({input:_});a(i.concat(v.site))},x=async(_,v)=>{const f=await r.updateRoutingSite({input:{id:_,...v}});if(f.site&&f.site.id){const g=i.findIndex(R=>R.id===f.site.id);g!==-1&&(i.splice(g,1,f.site),a([].concat(i)))}},C=async _=>{await r.deleteRoutingSite({input:{id:_}}),a(i.filter(v=>v.id!==_))},E=async(_,v,f)=>{const g=await r.addDomainAlias({input:{id:_,domainAlias:v,force:f}});d(_,g.site)},j=async(_,v)=>{const f=await r.deleteDomainAlias({input:{id:_,domainAlias:v}});d(_,f.site)},D=async(_,v)=>{const{site:f}=await r.addRoutingRule({input:{id:_,rule:v}});d(_,f)},S=async(_,v)=>{const{site:f}=await r.updateRoutingRule({input:{id:_,rule:v}});d(_,f)},b=async(_,v)=>{const{site:f}=await r.deleteRoutingRule({input:{id:_,ruleId:v}});d(_,f)},y={loading:m.loading,error:m.error,refresh:m.retry,api:r,actions:{addSite:w,updateSite:x,deleteSite:C,addDomainAlias:E,deleteDomainAlias:j,takeSnapshot:c,addRule:D,updateRule:S,deleteRule:b}},{sites:L,siteMap:F}=$i({sites:i,nodePort:n.port});return y.sites=L,y.siteMap=F,y.domains=l,y.allDomains=s,y.getBlockletUrl=({did:_,domain:v,mountPoint:f,params:g})=>Ui({did:_,domain:v,mountPoint:f,siteMap:y.siteMap,params:g}),y.getBlockletUrls=({did:_,mountPoint:v,params:f})=>zi({did:_,mountPoint:v,siteMap:y.siteMap,params:f}),e.jsx(Fi,{value:{routing:y},children:t})}function de(){const{routing:t}=h.useContext(lr);return t}function Yt(t){const r=[k.DOMAIN_FOR_IP_SITE_REGEXP,k.DOMAIN_FOR_DEFAULT_SITE,k.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&r.push(window.location.hostname),r.includes(t)}function Mi(){return null}function cr({confirm:t=null}){const[r,n]=h.useState(null),{t:i}=z(),a=()=>{n(null)},l=async s=>{if(s){let u=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";u==="/"?ln.push(`${s.pathname}`):(u.endsWith("/")&&(u=u.substring(0,u.length-1)),ln.push(`${u}${s.pathname}`)),window.location.reload()}},o=(s,...u)=>{let m=typeof t=="function"?t(s,...u):t;return m?(typeof m=="string"&&(m={description:m}),n({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>l(s),onCancel:()=>a(),...m}),!1):!0};return e.jsxs(Wi,{children:[e.jsx(Mi,{message:o}),r&&e.jsx(le,{title:r.title,description:r.description,confirm:r.confirm,cancel:r.cancel,params:r.params,onConfirm:r.onConfirm,onCancel:r.onCancel})]})}cr.propTypes={confirm:p.oneOfType([p.object,p.string,p.func])};const Wi=ne.div`
2
2
  margin-bottom: 24px;
3
3
  .top-btns-alert {
4
4
  @media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
@@ -12,7 +12,7 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
12
12
  margin-right: 0px;
13
13
  }
14
14
  }
15
- `;function Vt({children:t,...r}){return e.jsx(Wi,{children:e.jsx("form",{...r,children:t})})}Vt.propTypes={children:p.any.isRequired};const Wi=ne.div`
15
+ `;function Vt({children:t,...r}){return e.jsx(qi,{children:e.jsx("form",{...r,children:t})})}Vt.propTypes={children:p.any.isRequired};const qi=ne.div`
16
16
  width: 100%;
17
17
 
18
18
  form {
@@ -44,12 +44,12 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
44
44
  margin-right: 0;
45
45
  }
46
46
  }
47
- `,qi="v21.6.0",Hi=t=>zr.gte(t,qi),jn=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 dr({onSaved:t,title:r,submit:n,disabled:i=!1,...a}){const{api:l,info:o}=Q(),{t:s}=z(),{control:u,handleSubmit:m,formState:d,reset:c}=Kt({defaultValues:jn(o)}),[w,x]=h.useState(""),[C,E]=h.useState(""),[j,D]=h.useState(!1),[S,b]=h.useState(o.autoUpgrade),[y,L]=h.useState(!!o.enableWelcomePage),[F,_]=h.useState(null),v=cn({enableFileSystemIsolation:!!o.enableFileSystemIsolation,tooltip:s("setting.form.security.switchTips"),loading:!1}),f=cn({enableDocker:!!o.enableDocker,enableDockerNetwork:!!o.enableDockerNetwork,tooltip:s("setting.form.docker.switchTips"),isDockerInstalled:!!o.isDockerInstalled}),[g,R]=h.useState(!!o.enableBetaRelease);h.useEffect(()=>{let I="";(d.isDirty||S!==o.autoUpgrade||y!==!!o.enableWelcomePage||v.enableFileSystemIsolation!==!!o.enableFileSystemIsolation)&&(I=s("setting.unSavedTip")),E(I)},[s,o,S,y,v.enableFileSystemIsolation,d]),Br(async()=>{try{const I=Object.assign({},await l.getNodeEnv()||{}),{version:P}=I.info.blockletEngines.find(Z=>Z.name==="node");_(P)}catch(I){console.error(I),ae.error(I.message)}},[l]),h.useEffect(()=>{try{v.enableFileSystemIsolation=!!o.enableFileSystemIsolation,v.tooltip=s("setting.form.security.switchTips"),v.loading=dn(F),!dn(F)&&!Hi(F)&&(v.tooltip=s("setting.form.security.warningTips",{version:F}))}catch(I){console.error(I),ae.error(I.message)}},[o.enableFileSystemIsolation,F]);const M=async I=>{x(""),D(!0);try{const P=await l.updateNodeInfo({input:{...I,name:I.name.trim(),description:I.description.trim(),registerUrl:I.registerUrl.trim(),webWalletUrl:I.webWalletUrl.trim(),diskAlertThreshold:I.diskAlertThreshold,autoUpgrade:S,enableWelcomePage:y,enableFileSystemIsolation:v.enableFileSystemIsolation,enableBetaRelease:g,enableDocker:f.enableDocker,enableDockerNetwork:f.enableDockerNetwork}});await Gn(1e3),c(jn(P.info)),typeof t=="function"&&t(P)}catch(P){x(ge(P))}finally{D(!1)}},{errors:N}=d;return e.jsxs(Gi,{...a,children:[e.jsxs(Vt,{noValidate:!0,autoComplete:"off",onSubmit:m(M),children:[!!r&&e.jsx(A,{component:"h2",variant:"h5",className:"stepper-tip",children:r}),e.jsx(re,{permission:"mutate_node",children:I=>e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"name",control:u,rules:{validate:P=>!!P.trim()||s("setting.form.nameRequired")},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.name"),placeholder:s("setting.form.namePlaceholder"),disabled:j||!I,"data-cy":"node-name-input",error:N.name&&!!N.name.message,helperText:N.name?N.name.message:"",margin:"normal",...P})}),e.jsx(B,{name:"description",control:u,rules:{validate:P=>!!P.trim()||s("setting.form.descriptionRequired")},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.description"),placeholder:s("setting.form.descriptionHolder"),disabled:j||!I,"data-cy":"node-description-input",error:N.description&&!!N.description.message,helperText:N.description?N.description.message:"",margin:"normal",...P})}),e.jsx(B,{name:"registerUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.registerUrl"),placeholder:s("setting.form.registerUrlPlaceholder"),disabled:j||!I,error:N.registerUrl&&!!N.registerUrl.message,helperText:N.registerUrl?N.registerUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"nftDomainUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.nftDomainUrl"),placeholder:s("setting.form.nftDomainUrlPlaceholder"),disabled:j||!I,error:N.nftDomainUrl&&!!N.nftDomainUrl.message,helperText:N.nftDomainUrl?N.nftDomainUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"webWalletUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.webWalletUrl"),placeholder:s("setting.form.webWalletUrlPlaceholder"),disabled:j||!I,error:N.webWalletUrl&&!!N.webWalletUrl.message,helperText:N.webWalletUrl?N.webWalletUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"diskAlertThreshold",control:u,rules:{},render:({field:P})=>e.jsx(q,{type:"number",variant:"outlined",label:s("setting.form.monitor.diskThreshold"),placeholder:s("setting.form.monitor.diskThresholdPlaceholder"),disabled:j||!I,error:N.diskAlertThreshold&&!!N.diskAlertThreshold.message,helperText:N.diskAlertThreshold?N.diskAlertThreshold.message:"",margin:"normal",...P,slotProps:{htmlInput:{min:1,max:99}}})}),e.jsx(oe,{checked:S,onChange:()=>b(!S),name:"autoUpgrade",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),S&&e.jsx(oe,{checked:g,onChange:()=>R(!g),name:"enableBetaRelease",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),o?.mode!==k.NODE_MODES.SERVERLESS&&e.jsx(oe,{checked:y,onChange:()=>L(!y),name:"enableWelcomePage",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),e.jsx(B,{name:"enableSessionHardening",control:u,render:({field:P})=>e.jsx(oe,{checked:P.value,disabled:j||!I,labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.enableSessionHardening.switchLabel"),e.jsx(fe,{title:s("setting.form.enableSessionHardening.switchTips"),children:e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16},...P})}),e.jsx(oe,{checked:v.enableFileSystemIsolation,onChange:()=>{v.enableFileSystemIsolation=!v.enableFileSystemIsolation,f.enableDocker&&v.enableFileSystemIsolation&&(f.enableDocker=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation")))},name:"enableFileSystemIsolation",disabled:!I,"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(fe,{title:!v.loading&&v.tooltip,children:v.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:f.enableDocker,onChange:()=>{if(!f.enableDocker&&!f.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}f.enableDocker=!f.enableDocker,f.enableDocker&&v.enableFileSystemIsolation&&(v.enableFileSystemIsolation=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation"))),!f.enableDocker&&f.enableDockerNetwork&&(f.enableDockerNetwork=!1)},name:"enableDocker",disabled:!I,"data-cy":"docker-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.docker.switchLabel"),e.jsx(fe,{title:!f.loading&&f.tooltip,children:f.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:f.enableDockerNetwork,onChange:()=>{if(!f.enableDockerNetwork&&!f.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}f.enableDockerNetwork=!f.enableDockerNetwork,f.enableDockerNetwork&&!f.enableDocker&&(f.enableDocker=!0)},name:"enableDockerNetwork",disabled:!I,"data-cy":"docker-network-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.dockerNetwork.switchLabel"),e.jsx(fe,{title:!f.loading&&s("setting.form.dockerNetwork.switchTips"),children:f.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}})]})}),!!C&&e.jsx(be,{severity:"warning",variant:"icon",children:C}),e.jsx("div",{className:"form-actions",children:e.jsx(re,{permission:"mutate_node",children:e.jsxs(V,{onClick:m(M),disabled:i||j,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n," ",j?e.jsx(K,{size:16,sx:{ml:1}}):null]})})}),!!w&&e.jsx(be,{severity:"error",variant:"icon",error:w,children:w})]}),C&&e.jsx(cr,{confirm:s("setting.unSavedLeaveTip")})]})}dr.propTypes={onSaved:p.func.isRequired,disabled:p.bool,title:p.string.isRequired,submit:p.string.isRequired};const Gi=ne.div`
47
+ `,Hi="v21.6.0",Gi=t=>zr.gte(t,Hi),jn=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 dr({onSaved:t,title:r,submit:n,disabled:i=!1,...a}){const{api:l,info:o}=Q(),{t:s}=z(),{control:u,handleSubmit:m,formState:d,reset:c}=Kt({defaultValues:jn(o)}),[w,x]=h.useState(""),[C,E]=h.useState(""),[j,D]=h.useState(!1),[S,b]=h.useState(o.autoUpgrade),[y,L]=h.useState(!!o.enableWelcomePage),[F,_]=h.useState(null),v=cn({enableFileSystemIsolation:!!o.enableFileSystemIsolation,tooltip:s("setting.form.security.switchTips"),loading:!1}),f=cn({enableDocker:!!o.enableDocker,enableDockerNetwork:!!o.enableDockerNetwork,tooltip:s("setting.form.docker.switchTips"),isDockerInstalled:!!o.isDockerInstalled}),[g,R]=h.useState(!!o.enableBetaRelease);h.useEffect(()=>{let I="";(d.isDirty||S!==o.autoUpgrade||y!==!!o.enableWelcomePage||v.enableFileSystemIsolation!==!!o.enableFileSystemIsolation)&&(I=s("setting.unSavedTip")),E(I)},[s,o,S,y,v.enableFileSystemIsolation,d]),Br(async()=>{try{const I=Object.assign({},await l.getNodeEnv()||{}),{version:P}=I.info.blockletEngines.find(Z=>Z.name==="node");_(P)}catch(I){console.error(I),ae.error(I.message)}},[l]),h.useEffect(()=>{try{v.enableFileSystemIsolation=!!o.enableFileSystemIsolation,v.tooltip=s("setting.form.security.switchTips"),v.loading=dn(F),!dn(F)&&!Gi(F)&&(v.tooltip=s("setting.form.security.warningTips",{version:F}))}catch(I){console.error(I),ae.error(I.message)}},[o.enableFileSystemIsolation,F]);const M=async I=>{x(""),D(!0);try{const P=await l.updateNodeInfo({input:{...I,name:I.name.trim(),description:I.description.trim(),registerUrl:I.registerUrl.trim(),webWalletUrl:I.webWalletUrl.trim(),diskAlertThreshold:I.diskAlertThreshold,autoUpgrade:S,enableWelcomePage:y,enableFileSystemIsolation:v.enableFileSystemIsolation,enableBetaRelease:g,enableDocker:f.enableDocker,enableDockerNetwork:f.enableDockerNetwork}});await Gn(1e3),c(jn(P.info)),typeof t=="function"&&t(P)}catch(P){x(ge(P))}finally{D(!1)}},{errors:N}=d;return e.jsxs(Ki,{...a,children:[e.jsxs(Vt,{noValidate:!0,autoComplete:"off",onSubmit:m(M),children:[!!r&&e.jsx(A,{component:"h2",variant:"h5",className:"stepper-tip",children:r}),e.jsx(re,{permission:"mutate_node",children:I=>e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"name",control:u,rules:{validate:P=>!!P.trim()||s("setting.form.nameRequired")},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.name"),placeholder:s("setting.form.namePlaceholder"),disabled:j||!I,"data-cy":"node-name-input",error:N.name&&!!N.name.message,helperText:N.name?N.name.message:"",margin:"normal",...P})}),e.jsx(B,{name:"description",control:u,rules:{validate:P=>!!P.trim()||s("setting.form.descriptionRequired")},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.description"),placeholder:s("setting.form.descriptionHolder"),disabled:j||!I,"data-cy":"node-description-input",error:N.description&&!!N.description.message,helperText:N.description?N.description.message:"",margin:"normal",...P})}),e.jsx(B,{name:"registerUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.registerUrl"),placeholder:s("setting.form.registerUrlPlaceholder"),disabled:j||!I,error:N.registerUrl&&!!N.registerUrl.message,helperText:N.registerUrl?N.registerUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"nftDomainUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.nftDomainUrl"),placeholder:s("setting.form.nftDomainUrlPlaceholder"),disabled:j||!I,error:N.nftDomainUrl&&!!N.nftDomainUrl.message,helperText:N.nftDomainUrl?N.nftDomainUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"webWalletUrl",control:u,rules:{},render:({field:P})=>e.jsx(q,{variant:"outlined",label:s("setting.form.webWalletUrl"),placeholder:s("setting.form.webWalletUrlPlaceholder"),disabled:j||!I,error:N.webWalletUrl&&!!N.webWalletUrl.message,helperText:N.webWalletUrl?N.webWalletUrl.message:"",margin:"normal",...P})}),e.jsx(B,{name:"diskAlertThreshold",control:u,rules:{},render:({field:P})=>e.jsx(q,{type:"number",variant:"outlined",label:s("setting.form.monitor.diskThreshold"),placeholder:s("setting.form.monitor.diskThresholdPlaceholder"),disabled:j||!I,error:N.diskAlertThreshold&&!!N.diskAlertThreshold.message,helperText:N.diskAlertThreshold?N.diskAlertThreshold.message:"",margin:"normal",...P,slotProps:{htmlInput:{min:1,max:99}}})}),e.jsx(oe,{checked:S,onChange:()=>b(!S),name:"autoUpgrade",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.switchLabel")})})},style:{marginTop:20}}),S&&e.jsx(oe,{checked:g,onChange:()=>R(!g),name:"enableBetaRelease",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.upgrade.enableBetaRelease")})})},style:{marginTop:20}}),o?.mode!==k.NODE_MODES.SERVERLESS&&e.jsx(oe,{checked:y,onChange:()=>L(!y),name:"enableWelcomePage",disabled:!I,labelProps:{label:e.jsx(A,{children:e.jsx("span",{children:s("setting.form.welcome.switchLabel")})})},style:{marginTop:16}}),e.jsx(B,{name:"enableSessionHardening",control:u,render:({field:P})=>e.jsx(oe,{checked:P.value,disabled:j||!I,labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.enableSessionHardening.switchLabel"),e.jsx(fe,{title:s("setting.form.enableSessionHardening.switchTips"),children:e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16},...P})}),e.jsx(oe,{checked:v.enableFileSystemIsolation,onChange:()=>{v.enableFileSystemIsolation=!v.enableFileSystemIsolation,f.enableDocker&&v.enableFileSystemIsolation&&(f.enableDocker=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation")))},name:"enableFileSystemIsolation",disabled:!I,"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(fe,{title:!v.loading&&v.tooltip,children:v.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:f.enableDocker,onChange:()=>{if(!f.enableDocker&&!f.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}f.enableDocker=!f.enableDocker,f.enableDocker&&v.enableFileSystemIsolation&&(v.enableFileSystemIsolation=!1,ae.info(s("setting.form.docker.needCloseFileSystemIsolation"))),!f.enableDocker&&f.enableDockerNetwork&&(f.enableDockerNetwork=!1)},name:"enableDocker",disabled:!I,"data-cy":"docker-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.docker.switchLabel"),e.jsx(fe,{title:!f.loading&&f.tooltip,children:f.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}}),e.jsx(oe,{checked:f.enableDockerNetwork,onChange:()=>{if(!f.enableDockerNetwork&&!f.isDockerInstalled){ae.error(s("setting.form.docker.notInstalled"));return}f.enableDockerNetwork=!f.enableDockerNetwork,f.enableDockerNetwork&&!f.enableDocker&&(f.enableDocker=!0)},name:"enableDockerNetwork",disabled:!I,"data-cy":"docker-network-switch",labelProps:{label:e.jsx(A,{children:e.jsxs("span",{style:{display:"inline-flex",alignItems:"center"},children:[s("setting.form.dockerNetwork.switchLabel"),e.jsx(fe,{title:!f.loading&&s("setting.form.dockerNetwork.switchTips"),children:f.loading?e.jsx(K,{size:14,sx:{ml:.5}}):e.jsx(Pe,{sx:{ml:.5,fontSize:"20px"},color:"primary"})})]})})},style:{marginTop:16}})]})}),!!C&&e.jsx(be,{severity:"warning",variant:"icon",children:C}),e.jsx("div",{className:"form-actions",children:e.jsx(re,{permission:"mutate_node",children:e.jsxs(V,{onClick:m(M),disabled:i||j,color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n," ",j?e.jsx(K,{size:16,sx:{ml:1}}):null]})})}),!!w&&e.jsx(be,{severity:"error",variant:"icon",error:w,children:w})]}),C&&e.jsx(cr,{confirm:s("setting.unSavedLeaveTip")})]})}dr.propTypes={onSaved:p.func.isRequired,disabled:p.bool,title:p.string.isRequired,submit:p.string.isRequired};const Ki=ne.div`
48
48
  display: flex;
49
49
  align-items: flex-start;
50
50
  width: 100%;
51
51
  max-width: 720px;
52
- `;function Ki(){const{refresh:t,info:r}=Q(),{t:n}=z(),[i,a]=h.useState(!1);h.useEffect(()=>{t({silent:!0})},[]);const l=()=>{t({silent:!0}),ae.success(n("setting.saveSuccess"))};return e.jsx(Yi,{children:e.jsxs(W,{sx:{mb:4},children:[e.jsx(dr,{onSaved:l,submit:n("common.saveChanges"),title:""}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:6},children:e.jsxs(V,{onClick:()=>a(o=>!o),children:[n("common.readMore"),i?e.jsx(Ei,{}):e.jsx(pi,{})]})}),i&&e.jsxs(W,{sx:{fontSize:12,color:"text.secondary"},children:[e.jsxs(W,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",r.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",r.runtimeConfig.daemonMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",r.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const Yi=ne.div`
52
+ `;function Yi(){const{refresh:t,info:r}=Q(),{t:n}=z(),[i,a]=h.useState(!1);h.useEffect(()=>{t({silent:!0})},[]);const l=()=>{t({silent:!0}),ae.success(n("setting.saveSuccess"))};return e.jsx(Vi,{children:e.jsxs(W,{sx:{mb:4},children:[e.jsx(dr,{onSaved:l,submit:n("common.saveChanges"),title:""}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:6},children:e.jsxs(V,{onClick:()=>a(o=>!o),children:[n("common.readMore"),i?e.jsx(_i,{}):e.jsx(gi,{})]})}),i&&e.jsxs(W,{sx:{fontSize:12,color:"text.secondary"},children:[e.jsxs(W,{children:[n("dashboard.runtimeConfig.blockletMaxMemoryLimit"),": ",r.runtimeConfig.blockletMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[n("dashboard.runtimeConfig.daemonMaxMemoryLimit"),": ",r.runtimeConfig.daemonMaxMemoryLimit," MB"]}),e.jsxs(W,{children:[n("dashboard.runtimeConfig.proxyMaxMemoryLimit"),": ",r.runtimeConfig.proxyMaxMemoryLimit," MB"]})]})]})})}const Vi=ne.div`
53
53
  .eula-btn {
54
54
  text-decoration-line: underline;
55
55
  margin-top: 32px;
@@ -61,7 +61,7 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
61
61
  width: 100%;
62
62
  max-width: 720px;
63
63
  }
64
- `;function ur({item:t,onDelete:r=()=>{}}){const{t:n}=z(),[i,a]=h.useState(!1),[l,o]=h.useState(null),{id:s,title:u}=t,{api:m}=Q(),d=()=>{a(!1),o(null)},c=async()=>{a(!0);try{await m.deleteWebHook({input:{id:s}}),r()}catch(x){console.error(x)}finally{a(!1),o(null)}},w={keyName:s,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${u}</b>`,id:`<b>${s}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:s}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:c,onCancel:d};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>o(w),size:"small",className:"rule-action",color:"error",children:[i?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),n("common.delete")]}),l&&e.jsx(dt,{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})]})}ur.propTypes={item:p.object.isRequired,onDelete:p.func};function Vi(){const{api:t,imgPrefix:r}=Q(),{t:n,locale:i}=h.useContext(Mt),[a,l]=h.useState([]),[o,s]=h.useState(null),u=Fe(async()=>{const[{webhooks:b},{senders:y}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return l(y),b}),m=u.value||[],{loading:d,error:c}=u,w=async b=>{try{await t.createWebHook({input:b}),u.retry()}catch(y){ae.error(ge(y),{autoHideDuration:4e3}),console.error("create webhook error",y)}s(null)},x=()=>{s(null)},C=b=>{const y={title:b.title,description:(L,F,_)=>{const v=g=>{F({list:g,__disableConfirm:g.some(R=>R.disable)})},f=L.list||[];return e.jsx(wn,{children:f.map((g,R)=>e.jsx(Xi,{children:e.jsx(q,{label:g.description,autoComplete:"off",variant:"outlined",fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:g.value||g.defaultValue,onChange:M=>{g.required&&(g.disable=!0);const N=M.target.value.trim();g.value=N,f[R]=g,N?Mr(g.type,N)?(g.disable=!1,_("")):(g.disable=!0,_(n("setting.webhook.requiredError",{type:g.type}))):(g.required&&(g.disable=!0),_("")),v([...f])},slotProps:{htmlInput:{"data-cy":"webhook-input"}}})},g.name))})},params:{list:b.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:L=>{b.params=L.list,w(b)},onCancel:x};s(y)},E=b=>b.type==="slack"?e.jsx("img",{src:`${r}/${b.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(nr,{}),j=async b=>{const y={webhookId:b.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:y})},D=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:b=>{const y=m[b],L=a.find(F=>F.name===y.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[E(y),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",y.id]}),e.jsx("div",{children:L?L.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:b=>{const L=m[b].params.map(F=>e.jsx("div",{children:F.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:L})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:b=>{const y=m[b];return e.jsx(tt,{value:Number(y.createdAt),locale:i})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:b=>{const y=m[b],L=a.find(F=>F.name===y.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(ur,{item:{...y,title:L.title},onDelete:()=>{u.retry()}}),e.jsxs(V,{size:"small",color:"secondary",onClick:()=>{j(y)},children:[e.jsx(Qi,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&d)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(K,{})});if(!m.length&&c)return e.jsx(be,{severity:"error",children:ge(c)});const S=a.map(b=>({icon:E(b),title:`${n("common.add")} ${b.title}`,onClick:()=>{C(b)}}));return e.jsxs(wn,{children:[o&&e.jsx(le,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel}),e.jsx(tr,{columns:D,data:m,locale:i,customButtons:S,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const wn=ne.div`
64
+ `;function ur({item:t,onDelete:r=()=>{}}){const{t:n}=z(),[i,a]=h.useState(!1),[l,o]=h.useState(null),{id:s,title:u}=t,{api:m}=Q(),d=()=>{a(!1),o(null)},c=async()=>{a(!0);try{await m.deleteWebHook({input:{id:s}}),r()}catch(x){console.error(x)}finally{a(!1),o(null)}},w={keyName:s,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${u}</b>`,id:`<b>${s}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:s}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:c,onCancel:d};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>o(w),size:"small",className:"rule-action",color:"error",children:[i?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),n("common.delete")]}),l&&e.jsx(dt,{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})]})}ur.propTypes={item:p.object.isRequired,onDelete:p.func};function Xi(){const{api:t,imgPrefix:r}=Q(),{t:n,locale:i}=h.useContext(Mt),[a,l]=h.useState([]),[o,s]=h.useState(null),u=Fe(async()=>{const[{webhooks:b},{senders:y}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return l(y),b}),m=u.value||[],{loading:d,error:c}=u,w=async b=>{try{await t.createWebHook({input:b}),u.retry()}catch(y){ae.error(ge(y),{autoHideDuration:4e3}),console.error("create webhook error",y)}s(null)},x=()=>{s(null)},C=b=>{const y={title:b.title,description:(L,F,_)=>{const v=g=>{F({list:g,__disableConfirm:g.some(R=>R.disable)})},f=L.list||[];return e.jsx(wn,{children:f.map((g,R)=>e.jsx(Qi,{children:e.jsx(q,{label:g.description,autoComplete:"off",variant:"outlined",fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:g.value||g.defaultValue,onChange:M=>{g.required&&(g.disable=!0);const N=M.target.value.trim();g.value=N,f[R]=g,N?Mr(g.type,N)?(g.disable=!1,_("")):(g.disable=!0,_(n("setting.webhook.requiredError",{type:g.type}))):(g.required&&(g.disable=!0),_("")),v([...f])},slotProps:{htmlInput:{"data-cy":"webhook-input"}}})},g.name))})},params:{list:b.params,__disableConfirm:!0},confirm:n("setting.webhook.add"),cancel:n("common.cancel"),onConfirm:L=>{b.params=L.list,w(b)},onCancel:x};s(y)},E=b=>b.type==="slack"?e.jsx("img",{src:`${r}/${b.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(nr,{}),j=async b=>{const y={webhookId:b.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:y})},D=[{label:n("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:b=>{const y=m[b],L=a.find(F=>F.name===y.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[E(y),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",y.id]}),e.jsx("div",{children:L?L.description:null})]})]})}}},{label:n("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:b=>{const L=m[b].params.map(F=>e.jsx("div",{children:F.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:L})}}},{label:n("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:b=>{const y=m[b];return e.jsx(tt,{value:Number(y.createdAt),locale:i})}}},{label:n("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:b=>{const y=m[b],L=a.find(F=>F.name===y.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(ur,{item:{...y,title:L.title},onDelete:()=>{u.retry()}}),e.jsxs(V,{size:"small",color:"secondary",onClick:()=>{j(y)},children:[e.jsx(Zi,{}),n("setting.webhook.test")]})]})}}}];if(!m.length&&d)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(K,{})});if(!m.length&&c)return e.jsx(be,{severity:"error",children:ge(c)});const S=a.map(b=>({icon:E(b),title:`${n("common.add")} ${b.title}`,onClick:()=>{C(b)}}));return e.jsxs(wn,{children:[o&&e.jsx(le,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel}),e.jsx(tr,{columns:D,data:m,locale:i,customButtons:S,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const wn=ne.div`
65
65
  .button-addon {
66
66
  text-align: right;
67
67
  }
@@ -73,12 +73,12 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
73
73
  background: #fff;
74
74
  border-radius: 5px;
75
75
  }
76
- `,Xi=ne.div`
76
+ `,Qi=ne.div`
77
77
  display: flex;
78
- `,Qi=ne(Ai)`
78
+ `,Zi=ne(Ii)`
79
79
  font-size: 16px !important;
80
80
  margin-right: 3px;
81
- `;function Ne({title:t,description:r,children:n}){return e.jsxs(Zi,{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:r})]}),e.jsx(A,{component:"div",className:"danger-item-action",children:n})]})}Ne.propTypes={children:p.node.isRequired,title:p.string.isRequired,description:p.string.isRequired};const Zi=ne.div`
81
+ `;function Ne({title:t,description:r,children:n}){return e.jsxs(Ji,{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:r})]}),e.jsx(A,{component:"div",className:"danger-item-action",children:n})]})}Ne.propTypes={children:p.node.isRequired,title:p.string.isRequired,description:p.string.isRequired};const Ji=ne.div`
82
82
  display: flex;
83
83
  justify-content: space-between;
84
84
  align-items: center;
@@ -106,19 +106,19 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
106
106
  margin-left: 10px;
107
107
  }
108
108
  }
109
- `;function $e({children:t,...r}){return e.jsx(Ji,{...r,children:t})}const Ji=ne.div`
109
+ `;function $e({children:t,...r}){return e.jsx(eo,{...r,children:t})}const eo=ne.div`
110
110
  border: 1px solid ${({theme:t})=>t.palette.divider};
111
111
  padding: 16px;
112
- `;$e.propTypes={children:p.node.isRequired};function Ct({action:t}){const{t:r}=z(),{info:n,api:i}=Q(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{data:u,externalData:m}=Wt(),[d,c]=h.useState("restartAllBlocklets"),w=h.useRef(d);if(w.current=d,t==="upgrade"&&!n.nextVersion)return null;const x=()=>{l(!1),s(null)},C=n.enableDocker&&t==="restartAllBlocklet",E=async()=>{try{if(l(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer(),t==="restartAllBlocklet")if(C&&w.current==="restartAllContainers")await i.restartAllContainers(),ae.success(r("setting.form.restartAllContainers.restarting"));else{const D=new Set(["running","error"]),b=[...u,...m].filter(y=>D.has(y.status)).map(y=>{if(!y||!y.children||!y.meta)return Promise.resolve();const L=y.children.filter(F=>D.has(F.status)).map(F=>F.meta.did);return i.restartBlocklet({input:{did:y.meta.did,componentDids:L}})});await Promise.all(b),ae.success(r("setting.form.restartAllBlocklet.restarting"))}}catch(D){ae.error(ge(D))}finally{l(!1),s(null)}},j={title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.dialog`),confirm:r("common.confirm"),cancel:r("common.cancel"),onConfirm:E,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.description`),children:e.jsxs(V,{onClick:()=>s(j),color:"error",variant:"outlined",size:"large",children:[a?e.jsx(K,{size:16,style:{marginRight:3}}):null,r(`setting.form.${t}.confirm`)]})})}),o&&e.jsx(le,{title:o.title,description:C?e.jsxs(A,{component:"div",children:[e.jsx(A,{gutterBottom:!0,children:r("blocklet.action.restartDescription")}),e.jsxs(rr,{name:"removeType",value:d,onChange:D=>{c(D.target.value)},children:[e.jsx(Ie,{value:"restartAllBlocklets",control:e.jsx(It,{}),label:r("setting.form.restartAllBlocklet.description")}),e.jsx(Ie,{value:"restartAllContainers",control:e.jsx(It,{}),label:r("setting.form.restartAllContainers.description")})]})]}):o.description,confirm:o.confirm,cancel:o.cancel,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function eo(){const{t}=z(),{api:r}=Q(),[n,i]=h.useState(!1),[a,l]=h.useState(null),[o,s]=yi("last-check-server-version-time"),u=()=>{i(!1),l(null)},m={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:u,onCancel:u},d=async c=>{try{i(!0);const{version:w}=await r.checkNodeVersion();!w&&c&&l(m),s(Date.now())}catch(w){console.error(`Failed to check new version: ${w.message}`)}finally{i(!1)}};return h.useEffect(()=>{(!o||Date.now()-Number(o)>60*1e3)&&d(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(vi,{sx:{ml:2},color:"primary",variant:"outlined",onClick:d,size:"small",loadingPosition:"end",loading:n,children:e.jsxs(me,{direction:"row",spacing:.5,sx:{alignItems:"center"},children:[e.jsx(bi,{fontSize:"small"}),e.jsx(A,{component:"span",children:t("server.checkUpgrade")})]})}),a&&e.jsx(le,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function to(){const{t}=z(),{info:r}=Q();return e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(ji,{teamDid:r.did,size:"large"})})})}function no(){const{t}=z(),{info:r}=Q();return e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("blocklet.config.rotateSessionKey.name"),description:t("blocklet.config.rotateSessionKey.purpose"),children:e.jsx(wi,{teamDid:r.did,size:"large"})})})}const ro="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function io(){const{t}=z(),{info:r}=Q(),n=Wr(r),{createdAt:i,did:a,description:l,name:o}=r,s=qr(async()=>{const d=localStorage.getItem("__registerUrl")||r.registerUrl,c=new URL(d);c.pathname="__blocklet__.js",c.searchParams.set("type","json");const{data:w}=await Hr.get(c.toString()),x=w?.componentMountPoints?.find(E=>E.did===ro),C=new URL(d);return C.pathname=Gr(x?.mountPoint||"","register"),C}),u={did:a,name:o,createdAt:i,description:l,url:n};if(s.loading)return"";if(s.error)return console.error("registerUrlState.error",s.error),"";const m=s.value;return e.jsx(oo,{children:e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("setting.form.register.title"),description:t("setting.form.register.description",{url:m.origin}),children:e.jsx(V,{color:"primary",component:"a",href:`${m.toString()}?register-server=${encodeURIComponent(JSON.stringify(u))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.button")})})})})}const oo=ne.div`
112
+ `;$e.propTypes={children:p.node.isRequired};function Ct({action:t}){const{t:r}=z(),{info:n,api:i}=Q(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{data:u,externalData:m}=Wt(),[d,c]=h.useState("restartAllBlocklets"),w=h.useRef(d);if(w.current=d,t==="upgrade"&&!n.nextVersion)return null;const x=()=>{l(!1),s(null)},C=n.enableDocker&&t==="restartAllBlocklet",E=async()=>{try{if(l(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer(),t==="restartAllBlocklet")if(C&&w.current==="restartAllContainers")await i.restartAllContainers(),ae.success(r("setting.form.restartAllContainers.restarting"));else{const D=new Set(["running","error"]),b=[...u,...m].filter(y=>D.has(y.status)).map(y=>{if(!y||!y.children||!y.meta)return Promise.resolve();const L=y.children.filter(F=>D.has(F.status)).map(F=>F.meta.did);return i.restartBlocklet({input:{did:y.meta.did,componentDids:L}})});await Promise.all(b),ae.success(r("setting.form.restartAllBlocklet.restarting"))}}catch(D){ae.error(ge(D))}finally{l(!1),s(null)}},j={title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.dialog`),confirm:r("common.confirm"),cancel:r("common.cancel"),onConfirm:E,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:r(`setting.form.${t}.title`,{version:n.nextVersion}),description:r(`setting.form.${t}.description`),children:e.jsxs(V,{onClick:()=>s(j),color:"error",variant:"outlined",size:"large",children:[a?e.jsx(K,{size:16,style:{marginRight:3}}):null,r(`setting.form.${t}.confirm`)]})})}),o&&e.jsx(le,{title:o.title,description:C?e.jsxs(A,{component:"div",children:[e.jsx(A,{gutterBottom:!0,children:r("blocklet.action.restartDescription")}),e.jsxs(rr,{name:"removeType",value:d,onChange:D=>{c(D.target.value)},children:[e.jsx(Ie,{value:"restartAllBlocklets",control:e.jsx(It,{}),label:r("setting.form.restartAllBlocklet.description")}),e.jsx(Ie,{value:"restartAllContainers",control:e.jsx(It,{}),label:r("setting.form.restartAllContainers.description")})]})]}):o.description,confirm:o.confirm,cancel:o.cancel,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function to(){const{t}=z(),{api:r}=Q(),[n,i]=h.useState(!1),[a,l]=h.useState(null),[o,s]=bi("last-check-server-version-time"),u=()=>{i(!1),l(null)},m={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:u,onCancel:u},d=async c=>{try{i(!0);const{version:w}=await r.checkNodeVersion();!w&&c&&l(m),s(Date.now())}catch(w){console.error(`Failed to check new version: ${w.message}`)}finally{i(!1)}};return h.useEffect(()=>{(!o||Date.now()-Number(o)>60*1e3)&&d(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(ji,{sx:{ml:2},color:"primary",variant:"outlined",onClick:d,size:"small",loadingPosition:"end",loading:n,children:e.jsxs(me,{direction:"row",spacing:.5,sx:{alignItems:"center"},children:[e.jsx(vi,{fontSize:"small"}),e.jsx(A,{component:"span",children:t("server.checkUpgrade")})]})}),a&&e.jsx(le,{title:a.title,description:a.description,confirm:a.confirm,showCancel:a.showCancel,color:a.color,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}function no(){const{t}=z(),{info:r}=Q();return e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(wi,{teamDid:r.did,size:"large"})})})}function ro(){const{t}=z(),{info:r}=Q();return e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("blocklet.config.rotateSessionKey.name"),description:t("blocklet.config.rotateSessionKey.purpose"),children:e.jsx(Ci,{teamDid:r.did,size:"large"})})})}const io="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function oo(){const{t}=z(),{info:r}=Q(),n=Wr(r),{createdAt:i,did:a,description:l,name:o}=r,s=qr(async()=>{const d=localStorage.getItem("__registerUrl")||r.registerUrl,c=new URL(d);c.pathname="__blocklet__.js",c.searchParams.set("type","json");const{data:w}=await Hr.get(c.toString()),x=w?.componentMountPoints?.find(E=>E.did===io),C=new URL(d);return C.pathname=Gr(x?.mountPoint||"","register"),C}),u={did:a,name:o,createdAt:i,description:l,url:n};if(s.loading)return"";if(s.error)return console.error("registerUrlState.error",s.error),"";const m=s.value;return e.jsx(ao,{children:e.jsx($e,{className:"danger-zone",children:e.jsx(Ne,{title:t("setting.form.register.title"),description:t("setting.form.register.description",{url:m.origin}),children:e.jsx(V,{color:"primary",component:"a",href:`${m.toString()}?register-server=${encodeURIComponent(JSON.stringify(u))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.button")})})})})}const ao=ne.div`
113
113
  .danger-zone {
114
114
  margin-top: 1vw;
115
115
  width: 100%;
116
116
  }
117
- `;function ao(){const t=Kn(),{api:r,info:n}=Q(),{t:i}=z(),a=Fe(async()=>{const o=await r.getNodeEnv();return Object.assign({},o.info||{})}),l=[];return l.push({name:i("dashboard.nodeDid"),value:e.jsx(un,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(un,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:n.routing.provider}),a.value&&l.push({name:`${i("common.os")}`,value:a.value.os},a.value.docker?{name:`${i("common.docker")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null,a.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null),Array.isArray(te(a,"value.blockletEngines",null))&&a.value.blockletEngines.filter(o=>o.visible&&o.available).forEach(o=>{l.push({name:o.displayName,value:o.version})}),e.jsxs(so,{children:[e.jsx(re,{permission:"mutate_node",children:o=>e.jsxs(e.Fragment,{children:[e.jsxs(W,{style:{marginBottom:24},sx:{display:"flex",alignItems:"center"},children:[e.jsx(W,{sx:{width:50,height:50},children:e.jsx("img",{src:xi,height:50,alt:""})}),e.jsxs(W,{sx:{ml:2},children:[e.jsx("h2",{style:{margin:0},children:n.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),e.jsxs(rt,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[n.version,o&&e.jsx(eo,{})]},"version"),l.filter(Boolean).map(s=>e.jsx(rt,{valueComponent:"div",nameWidth:150,name:s.name,children:s.value},s.name)),o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"upgrade"})})]})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"restart"})})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"restartAllBlocklet"})})}),e.jsx(re,{permission:"mutate_router",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(to,{})})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(no,{})})}),e.jsx(re,{permission:"mutate_blocklets",children:!!n.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(io,{})})}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:10},children:e.jsx(V,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const so=ne.div`
117
+ `;function so(){const t=Kn(),{api:r,info:n}=Q(),{t:i}=z(),a=Fe(async()=>{const o=await r.getNodeEnv();return Object.assign({},o.info||{})}),l=[];return l.push({name:i("dashboard.nodeDid"),value:e.jsx(un,{did:n.did,showQrcode:!0})},n.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(un,{did:n.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:n.routing.provider}),a.value&&l.push({name:`${i("common.os")}`,value:a.value.os},a.value.docker?{name:`${i("common.docker")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null,a.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(mn,{type:"success",children:"Yes"})}:null),Array.isArray(te(a,"value.blockletEngines",null))&&a.value.blockletEngines.filter(o=>o.visible&&o.available).forEach(o=>{l.push({name:o.displayName,value:o.version})}),e.jsxs(lo,{children:[e.jsx(re,{permission:"mutate_node",children:o=>e.jsxs(e.Fragment,{children:[e.jsxs(W,{style:{marginBottom:24},sx:{display:"flex",alignItems:"center"},children:[e.jsx(W,{sx:{width:50,height:50},children:e.jsx("img",{src:yi,height:50,alt:""})}),e.jsxs(W,{sx:{ml:2},children:[e.jsx("h2",{style:{margin:0},children:n.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:n.description})]})]}),e.jsxs(rt,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[n.version,o&&e.jsx(to,{})]},"version"),l.filter(Boolean).map(s=>e.jsx(rt,{valueComponent:"div",nameWidth:150,name:s.name,children:s.value},s.name)),o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"upgrade"})})]})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"restart"})})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Ct,{action:"restartAllBlocklet"})})}),e.jsx(re,{permission:"mutate_router",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(no,{})})}),e.jsx(re,{permission:"mutate_node",children:o=>o&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(ro,{})})}),e.jsx(re,{permission:"mutate_blocklets",children:!!n.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(oo,{})})}),e.jsx(W,{style:{marginLeft:-8},sx:{mt:10},children:e.jsx(V,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const lo=ne.div`
118
118
  display: flex;
119
119
  flex-direction: column;
120
120
  margin-top: 32px;
121
- `,mr=h.createContext({}),{Provider:lo,Consumer:ss}=mr;function fr({children:t,domains:r}){const{api:n}=Q(),i=JSON.stringify(r),[a,l]=h.useState({}),o=h.useMemo(()=>r.filter(x=>qt(x)),[i]);Et(k.EVENTS.DOMAIN_STATUS,x=>{x&&l(C=>({...C,[x.domain]:{...C[x.domain],...x}}))});const{domainsAccessibility:s,recommendedDomain:u}=hi(o),m=h.useMemo(()=>{const x={...a};return Object.keys(s).forEach(C=>{const E=x[C]||{};x[C]={...E,...s[C]}}),x},[a,s]),d=()=>{o.length>0&&n.checkDomains({input:{domains:o}})},c=x=>{x&&n.checkDomains({input:{domains:[x]}})};h.useEffect(()=>{d()},[o]);const w={refresh:d,updateStatus:c,api:n,status:m,recommendedDomain:u,recommendedDomainStatus:m[u]};return e.jsx(lo,{value:w,children:t})}fr.propTypes={children:p.any.isRequired,domains:p.array.isRequired};function ut(){const{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}=h.useContext(mr);return{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}}const co=t=>(te(t,"meta.interfaces")||[]).find(n=>n.type===ct.BLOCKLET_INTERFACE_TYPE_WEB);function mt({params:t={},blocklets:r=[],setParams:n=()=>{},setError:i=()=>{},serviceTypes:a=[{name:"Blocklet",value:k.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:k.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:k.ROUTING_RULE_TYPES.NONE}]}){const{t:l}=z(),o={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},s=Hn(r,d=>d.meta.name),u=(d,c)=>{if(!c)return{};let{port:w}=d;c&&d.ports&&c.port&&(d.ports[c.port]&&(w=d.ports[c.port]),d.ports[c.port.internal]&&(w=d.ports[c.port.internal]));let{pathPrefix:x}=t;return c&&c.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&(x=c.prefix),{port:w,pathPrefix:x}},m=d=>{const c=s.find(x=>x.meta.did===d),w=co(c);return{...u(c,w),interfaceName:w?w.name:""}};return h.useEffect(()=>{!t.interfaceName&&t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&n({...t,...m(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(q,{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:d=>{i(""),n({...t,type:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},slotProps:{select:{}},children:a.map(({name:d,value:c})=>e.jsx(X,{value:c,children:d},c))}),t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(q,{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:d=>{n({...t,...m(d.target.value),did:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[s.map(d=>e.jsxs(X,{value:d.meta.did,children:[`${d.meta.name} v${d.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(or,{status:d.status,progress:d.progress})})]},d.meta.did)),r.length===0&&e.jsx(X,{value:"",children:l("common.empty")},"empty")]}),t.type===k.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(q,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:d=>n({...t,redirectCode:d.target.value}),style:{marginBottom:32},slotProps:{select:{}},children:Object.keys(o).map(d=>e.jsx(X,{value:d,children:`${o[d]} - ${d}`},d))}),e.jsx(q,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:d=>{n({...t,url:d.target.value,__disableConfirm:!d.target.value.trim()}),d.target.value.trim()?i(""):i(l("router.validation.redirectUrlRequired"))},slotProps:{htmlInput:{"data-cy":"redirect-url-input"}}})]]})}mt.propTypes={params:p.object,blocklets:p.array,serviceTypes:p.array,setParams:p.func,setError:p.func};const pr=(t,r)=>{if(t.type===k.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${r("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${r("router.validation.redirectCodeRequired")}`)}else if(t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(r("router.validation.didRequired"));return null},Oe=(t,r)=>t?t.endsWith(k.DEFAULT_IP_DOMAIN_SUFFIX)?r("router.domain.validate.suffixTip",{suffix:k.DEFAULT_IP_DOMAIN_SUFFIX}):null:r("router.domain.validate.emptyTip"),uo=(t,r)=>{const n=pr(t,r);if(n)return n;const i=Oe(t.domain,r);return i?new Error(i):null},it=(t,r)=>{const n=pr(t,r);return n||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(r("router.validation.pathPrefixTooLong",{length:150})):null:new Error(r("router.validation.pathPrefixCannotBeEmpty")))},gr=({params:t,blocklets:r,blocklet:n,locale:i="en"})=>{if(n){let o=(n.children||[]).find(s=>Ci(s.mountPoint,t.pathPrefix));if(n.meta.group!=="gateway"&&t.pathPrefix==="/"&&(o="/"),o)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const a=r.find(o=>o.meta.did===t.did);if(!a)return"";const l=a.meta.interfaces.find(o=>o.type==="web");return l&&l.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==l.prefix?{zh:`该 blocklet 只能挂载在 ${l.prefix}`,en:`This blocklet can only be mounted on ${l.prefix}`}[i]:""},Xt=t=>{if(t.length===0)return"";const{searchParams:r}=new URL(window.location.href),n=r.get("fromDid");if(n){const i=t.find(a=>a.meta.did===n);if(i)return i.meta.did}return t[0].meta.did};function Qt({blocklets:t=[],onActivate:r=()=>{},children:n=null}){const{t:i}=z(),{actions:a}=de(),{info:l}=Q(),[o,s]=h.useState(!1),[u,m]=h.useState(null),d=()=>{s(!1),m(null)},c=async C=>{s(!0);const E={from:{pathPrefix:"/"},to:{type:C.type}},j={domain:C.domain.trim()===l.ip?"":C.domain.trim()};if(C.type===k.ROUTING_RULE_TYPES.BLOCKLET){const D=t.find(b=>b.meta.did===C.did),S=te(D,"meta.interfaces",[]).find(b=>b.name===C.interfaceName);S&&S.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&(E.from.pathPrefix=S.prefix),E.to.port=C.port,E.to.did=C.did,E.to.interfaceName=C.interfaceName,j.rules=[E]}else C.type===k.ROUTING_RULE_TYPES.REDIRECT&&(E.to.url=C.url,E.to.redirectCode=C.redirectCode,j.rules=[E]);await a.addSite(j),s(!1),m(null)},w={title:i("router.domain.addSite"),description:(C,E,j)=>{const D=S=>{const b=S.__disableConfirm||!!uo(S,i);E({...S,__disableConfirm:b})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:C.domain,style:{marginTop:16,marginBottom:32},onChange:S=>{const b=S.target.value.trim(),y=Oe(b,i);D({...C,domain:S.target.value,__disableConfirm:!!y}),j(y||"")},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(mt,{blocklets:t,params:C,setParams:D,setError:j})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:Xt(t),port:"",interfaceName:"",type:k.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:c,onCancel:d},x=C=>{C.stopPropagation(),m(w)||r()};return h.useEffect(()=>{const{searchParams:C}=new URL(window.location.href);C.get("fromDid")&&m(w)},[]),e.jsxs(e.Fragment,{children:[typeof n=="function"?n({loading:o,open:x}):e.jsxs(X,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[o?e.jsx(K,{size:16}):e.jsx(ir,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),u&&e.jsx(le,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}Qt.propTypes={blocklets:p.array,children:p.any,onActivate:p.func};function Cn(t){const{t:r}=z(),{actions:n}=de(),[i,a]=h.useState(!1),[l,o]=h.useState(null),{id:s,name:u}=t;if(Yt(u))return null;const m=()=>{a(!1),o(null)},d=async()=>{a(!0),await n.deleteSite(s),a(!1),o(null)},c={title:r("router.domain.delete.title"),description:r("router.domain.delete.description",{name:`<b>${u}</b>`}),confirmPlaceholder:r("router.domain.delete.confirm_desc",{name:u}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:d,onCancel:m,keyName:u},w=x=>{x.stopPropagation(),o(c)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{onClick:w,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),r("router.domain.delete.title")]}),l&&e.jsx(dt,{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 Lt({id:t,blocklets:r=[],onActivate:n=()=>{},onRuleAdded:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null),w=()=>{m(!1),c(null)},x=async j=>{const D=await it(j,o);if(D)throw D;m(!0);const S={from:{pathPrefix:Vn(j.pathPrefix)},to:{type:j.type}};j.type===k.ROUTING_RULE_TYPES.BLOCKLET?(S.to.port=j.port,S.to.did=j.did,S.to.interfaceName=j.interfaceName):j.type===k.ROUTING_RULE_TYPES.REDIRECT&&(S.to.url=j.url.trim(),S.to.redirectCode=j.redirectCode),await s.addRule(t,S,l),c(null),m(!1),i()},C={title:o("router.rule.add.title"),description:(j,D,S)=>{const b=y=>{if(S(null),it(y,o)){D({...y,__disableConfirm:!0});return}D({...y})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:o("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:j.helperText||o("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:j.pathPrefix,onChange:y=>{let L=!1;const F=gr({params:{...j,pathPrefix:y.target.value},blocklets:r});S(F),j.type===k.ROUTING_RULE_TYPES.BLOCKLET&&F&&(L=!0),j.type===k.ROUTING_RULE_TYPES.REDIRECT&&!j.url&&(L=!0),y.target.value.trim()||(L=!0,S(o("router.validation.pathPrefixRequired"))),L||S("");const _=o("common.slugifyHint",{value:Yn(y.target.value)});D({...j,pathPrefix:y.target.value,helperText:_,__disableConfirm:L})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(mt,{blocklets:r,params:j,setParams:b,setError:S})]})},confirm:o("router.rule.add.confirm"),cancel:o("common.cancel"),params:{pathPrefix:"",type:k.ROUTING_RULE_TYPES.BLOCKLET,did:Xt(r),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:x,onCancel:w},E=j=>{j.stopPropagation(),c(C)||n()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:u,open:E}):e.jsxs(X,{onClick:E,className:"rule-action","data-cy":"action-add-rule",children:[u?e.jsx(K,{size:16}):e.jsx(nr,{style:{fontSize:18,marginRight:5}}),o("router.rule.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"})]})}Lt.propTypes={id:p.string.isRequired,blocklets:p.array,children:p.any,onActivate:p.func,onRuleAdded:p.func,teamDid:p.string};function hr({id:t,name:r,parent:{id:n},children:i=null,onActivate:a=()=>{},teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null),w=()=>{m(!1),c(null)},x=async()=>{m(!0),await s.deleteRule(n,t,l),m(!1),c(null)},C={keyName:r,title:o("router.rule.delete.title"),description:o("router.rule.delete.description",{name:`<b>${r}</b>`}),confirmPlaceholder:o("router.rule.delete.confirm_desc",{name:r}),confirm:o("common.delConfirm"),cancel:o("router.rule.delete.cancel"),onConfirm:x,onCancel:w},E=j=>{j.stopPropagation(),c(C)||a()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:u,open:E}):e.jsxs(X,{onClick:E,className:"rule-action","data-cy":"action-delete-rule",children:[u?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),o("router.rule.delete.title")]}),d&&e.jsx(dt,{keyName:d.keyName,title:d.title,description:d.description,confirmPlaceholder:d.confirmPlaceholder,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel})]})}hr.propTypes={id:p.string.isRequired,name:p.string.isRequired,parent:p.object.isRequired,children:p.any,onActivate:p.func,teamDid:p.string};function xr({id:t,name:r,did:n="",parent:i,blocklets:a=[],to:l,children:o=null,onActivate:s=()=>{},teamDid:u=""}){const{t:m}=z(),{actions:d}=de(),[c,w]=h.useState(!1),[x,C]=h.useState(null),E=()=>{w(!1),C(null)},j=async b=>{const y=await it(b,m);if(y)throw y;w(!0);const L={id:t,from:{pathPrefix:Vn(b.pathPrefix)},to:{type:b.type}};b.type===k.ROUTING_RULE_TYPES.BLOCKLET?(L.to.port=b.port,L.to.did=b.did,L.to.interfaceName=b.interfaceName):b.type===k.ROUTING_RULE_TYPES.REDIRECT&&(L.to.url=b.url,L.to.redirectCode=b.redirectCode),await d.updateRule(i.id,L,u),C(null),w(!1)},D={title:m("router.rule.update.title"),description:(b,y,L)=>{const F=_=>{if(it(_,m)){y({..._,__disableConfirm:!0});return}y({..._})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:m("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:b.helperText||m("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:b.pathPrefix,onChange:_=>{let v=!1;const f=gr({params:{...b,pathPrefix:_.target.value},blocklets:a});b.type===k.ROUTING_RULE_TYPES.BLOCKLET&&f&&(v=!0,L(f)),b.type===k.ROUTING_RULE_TYPES.REDIRECT&&!b.url&&(v=!0),_.target.value.trim()||(v=!0,L(m("router.validation.pathPrefixRequired"))),v||L("");const g=m("common.slugifyHint",{value:Yn(_.target.value)});y({...b,pathPrefix:_.target.value,helperText:g,__disableConfirm:v})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(mt,{blocklets:a,params:b,setParams:F,setError:L})]})},confirm:m("router.rule.update.confirm"),cancel:m("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:l.type||k.ROUTING_RULE_TYPES.BLOCKLET,did:n||Xt(a),port:l.port||"",interfaceName:l.interfaceName||"",redirectCode:l.redirectCode||302,url:l.url||"",__disableConfirm:!1},onConfirm:j,onCancel:E},S=b=>{b.stopPropagation(),C(D)||s()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:S}):e.jsxs(X,{onClick:S,className:"rule-action","data-cy":"action-update-rule",children:[c?e.jsx(K,{size:16}):e.jsx(ar,{style:{fontSize:18,marginRight:5}}),m("router.rule.update.title")]}),x&&e.jsx(le,{title:x.title,description:x.description,confirm:x.confirm,color:x.color,cancel:x.cancel,params:x.params,onConfirm:x.onConfirm,onCancel:x.onCancel})]})}xr.propTypes={id:p.string.isRequired,name:p.string.isRequired,did:p.string,parent:p.object.isRequired,blocklets:p.array,to:p.object.isRequired,children:p.any,onActivate:p.func,teamDid:p.string};function Ze({id:t,name:r,onActivate:n=()=>{},children:i=null,title:a="",teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null);if(k.DOMAIN_FOR_DEFAULT_SITE===r)return null;const w=()=>{m(!1),c(null)},x=async D=>{m(!0),await s.addDomainAlias(t,D.domain.trim(),!!D.force,l),m(!1),c(null)},C=async(D,S,b)=>{try{await S(D)}catch(y){b(ge(y))}finally{m(!1)}},E={title:a||o("router.domainAlias.add.title"),description:(D,S,b)=>e.jsxs(A,{component:"div",children:[e.jsx(q,{label:o("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,value:D.domain,style:{marginBottom:8},margin:"dense",onChange:y=>{const L=y.target.value.trim(),F=Oe(L,o);S({...D,domain:L,__disableConfirm:!!F}),b(F||"")},onKeyPress:y=>{if(y.key==="Enter"){y.preventDefault();const L=y.target.value.trim(),F=Oe(L,o);F?b(F):C(D,x,b)}},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(Ie,{control:e.jsx(Xn,{checked:D.force,onChange:y=>{S({...D,force:y.target.checked})},name:"checkedB",color:"primary"}),label:o("router.domainAlias.add.forceTip")})]}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:x,onCancel:w},j=D=>{D.stopPropagation(),c(E)||n()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:u,open:j}):e.jsxs(X,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?e.jsx(K,{size:16}):e.jsx(ki,{style:{fontSize:18,marginRight:5}}),o("router.domainAlias.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"})]})}Ze.propTypes={id:p.string.isRequired,name:p.string.isRequired,children:p.any,onActivate:p.func,title:p.string,teamDid:p.string};function Je({id:t,name:r,corsAllowedOrigins:n="",onActivate:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null);if(Yt(r))return null;let w=r;r.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX)&&(w=`${o("common.the")} Blocklet`);const x=()=>{m(!1),c(null)},C=async D=>{m(!0),await s.updateSite(t,{corsAllowedOrigins:D.corsAllowedOrigins.split(",").map(S=>S.trim())},l),m(!1),c(null)},E={title:o("router.domainSecurity.title"),description:(D,S,b)=>e.jsx(A,{component:"div",children:e.jsx(q,{label:o("router.domainSecurity.cors.title",{name:w}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:D.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:o("router.domainSecurity.cors.description",{name:w}),onChange:y=>{S({...D,corsAllowedOrigins:y.target.value,__disableConfirm:!y.target.value.trim()}),y.target.value.trim()?b(""):b(o("router.domainSecurity.cors.domainInvalid"))}})}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{corsAllowedOrigins:Array.isArray(n)?n.join(", "):r,__disableConfirm:!0},onConfirm:C,onCancel:x},j=D=>{D.stopPropagation(),c(E)||i()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:u,open:j}):e.jsxs(X,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?e.jsx(K,{size:16}):e.jsx(Le,{style:{fontSize:18,marginRight:5}}),o("router.domainSecurity.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"})]})}Je.propTypes={id:p.string.isRequired,name:p.string.isRequired,children:p.any,onActivate:p.func,corsAllowedOrigins:p.oneOfType([p.string,p.array]),teamDid:p.string};function mo({id:t,name:r,onActivate:n}){const{t:i}=z(),{actions:a}=de(),[l,o]=h.useState(!1),[s,u]=h.useState(null);if(Yt(r))return null;const m=()=>{o(!1),u(null)},d=async x=>{o(!0),await a.updateSite(t,{domain:x.domain.trim()}),o(!1),u(null)},c={title:i("router.domain.update.title"),description:(x,C,E)=>e.jsx(A,{component:"div",children:e.jsx(q,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:x.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:j=>{const D=j.target.value.trim(),S=Oe(D,i);C({...x,domain:j.target.value,__disableConfirm:!!S}),E(S||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:r,__disableConfirm:!0},onConfirm:d,onCancel:m},w=x=>{x.stopPropagation(),u(c)||n()};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{onClick:w,className:"rule-action",children:[l?e.jsx(K,{size:16}):e.jsx(ar,{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 Ae({blocklet:t={},onRuleAdded:r=()=>{},type:n,...i}){const[a,l]=h.useState(null),o={type:n,blocklet:t,onRuleAdded:r,...i},s=c=>{c.stopPropagation(),l(c.currentTarget)},u=c=>{c&&c.stopPropagation(),l(null)},m=[];if(n==="root"&&m.push(e.jsx(Qt,{...o,onActivate:u},"add-domain")),n==="domain"&&m.push(e.jsx(mo,{...o,onActivate:u},"update-domain"),e.jsx(Lt,{...o,onActivate:u,onRuleAdded:o.onRuleAdded},"add-rule"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias"),e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Cn,{...o,onActivate:u},"delete-domain")),n==="rule"&&m.push(e.jsx(xr,{...o,onActivate:u},"update-rule"),e.jsx(hr,{...o,onActivate:u},"delete-rule")),n===k.ROUTING_RULE_TYPES.REDIRECT&&m.push(e.jsx(Cn,{...o,onActivate:u},"delete-domain")),n==="dashboard_domain"&&m.push(e.jsx(Lt,{...o,onActivate:u},"add-rule"),e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias")),n==="blocklet_domain"&&m.push(e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias")),m.length===0)return null;const d=c=>{c.stopPropagation()};return e.jsxs("div",{children:[e.jsx(_t,{onMouseDown:d,onClick:s,"data-cy":"action-trigger",size:"large",children:e.jsx(Di,{})}),e.jsx(Kr,{keepMounted:!0,onMouseDown:d,open:!!a,onClose:u,anchorEl:a,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:m})]})}Ae.propTypes={blocklet:p.object,onRuleAdded:p.func};function yr({certificate:t={}}){const[r,n]=h.useState(null),i=Q(),{t:a,locale:l}=z(),o=m=>{n(m.currentTarget)},s=()=>{n(null)},u=!!r;return e.jsxs(e.Fragment,{children:[e.jsx(sr,{"aria-owns":u?"mouse-over-popover":void 0,onMouseEnter:o,onMouseLeave:s,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Vr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:u,anchorEl:r,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:s,disableRestoreFocus:!0,children:e.jsx(Xr,{children:e.jsxs(Ri,{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:`${a("common.issuer")}: ${te(t,"issuer.commonName","")}`}),e.jsx(A,{component:"div",children:`${a("router.cert.issuedOn")}: ${nt(t.validFrom,l)}`}),e.jsx(A,{component:"div",children:`${a("router.cert.expiryOn")}: ${nt(t.validTo,l)}`})]})]})})})]})}yr.propTypes={certificate:p.object};function Ot({name:t,type:r,filters:n=["domain","http"]}){const{t:i}=z(),{status:a}=ut();if(r!=="domain"||!qt(t))return null;let l=null,o=null;const{isHttps:s,matchedCert:u}=a[t]||{};if(!Yr(t)){const{dns:{resolved:d,ip:c}={}}=a[t]||{};d||c==="127.0.0.1"?l=e.jsx(fe,{title:i("router.domain.verify.ok"),children:e.jsx(yn,{color:"success"})}):l=e.jsx(fe,{title:i("router.domain.verify.notResolved"),children:e.jsx(yn,{color:"error"})})}s?o=e.jsx(yr,{certificate:u}):o=e.jsx(fe,{title:i("router.domain.https.bad"),children:e.jsx(sr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const m=n.map(d=>d==="domain"?l:d==="http"?o:null);return h.createElement(h.Fragment,null,...m)}Ot.propTypes={type:p.string.isRequired,name:p.string.isRequired,filters:p.array};const fo=t=>["waiting","creating","renewaling"].includes(t);function br({domain:t,onAdd:r=()=>{},children:n=null,siteId:i}){const{t:a}=z(),[l,o]=h.useState(!1),[s,u]=h.useState(null),{api:m}=Q(),[d,c]=h.useState(!1),{updateStatus:w}=ut(),x=Fe(async()=>{const{cert:b}=await m.findCertificateByDomain({input:{domain:t}});return b}),C=b=>{b.domain===t&&c(!1)};if(h.useEffect(()=>{!x.loading&&fo(x.value?.status)&&c(!0)},[x]),Et(k.EVENTS.CERT_ERROR,C),Et(k.EVENTS.CERT_ISSUED,b=>{x.retry(),w(b.domain),C(b)}),x.loading||x.value?.status==="normal")return"";const E=()=>{o(!1),u(null)},j=async()=>{o(!0);try{await m.issueLetsEncryptCert({input:{domain:t,siteId:i}}),r(),c(!0)}catch(b){console.error(b),c(!1)}finally{o(!1),u(null)}},D={title:a("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")}),a("router.cert.genLetsEncryptCert.description")]}),confirm:a("common.confirm"),onConfirm:j,onCancel:E},S=b=>{b.stopPropagation(),u(D)};return e.jsxs(e.Fragment,{children:[d?e.jsx(fe,{title:a("router.cert.issuing"),children:e.jsx(K,{size:12})}):n({loading:l,open:S}),s&&e.jsx(le,{color:"primary",title:s.title,description:s.description,confirm:s.confirm,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}br.propTypes={domain:p.string.isRequired,onAdd:p.func,children:p.any,siteId:p.string.isRequired};function Ft({domain:t,siteId:r,onAdd:n=()=>{},children:i=null}){const{status:a}=ut();return!qt(t)||a[t]?.isHttps?"":e.jsx(br,{domain:t,onAdd:n,siteId:r,children:i})}Ft.propTypes={siteId:p.string.isRequired,domain:p.string.isRequired,onAdd:p.func,children:p.any};function vr({id:t,domain:r,onDelete:n=()=>{},children:i=null,teamDid:a=""}){const{t:l}=z(),[o,s]=h.useState(!1),[u,m]=h.useState(null),{actions:d}=de();if(r===window.location.hostname)return"";const c=()=>{s(!1),m(null)},w=async()=>{s(!0);try{await d.deleteDomainAlias(t,r,a),n()}catch(E){console.error(E)}finally{s(!1),m(null)}},x={keyName:r,title:l("router.domainAlias.delete.title"),description:l("router.domainAlias.delete.description",{domain:r}),confirmPlaceholder:l("router.domainAlias.delete.confirmPlaceholder",{domain:r}),confirm:l("common.delete"),onConfirm:w,onCancel:c},C=E=>{E.stopPropagation(),m(x)};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:o,open:C}):e.jsxs(V,{edge:"end",onClick:C,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[o?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),l("common.delete")]}),u&&e.jsx(dt,{keyName:u.keyName,title:u.title,description:u.description,confirmPlaceholder:u.confirmPlaceholder,confirm:u.confirm,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel})]})}vr.propTypes={id:p.string.isRequired,domain:p.string.isRequired,onDelete:p.func,children:p.any,teamDid:p.string};function jr({domain:t,isHttps:r=!1,toUrl:n}){const i=r?"https":"http",{t:a}=z();let l=n;return Zn(l)||(l=`${i}://${t}${n}`),e.jsxs(e.Fragment,{children:[e.jsx(A,{className:"arrow-name-middle",children:a("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Ht,{href:l,target:"_blank",underline:"hover",children:n},l)]})}jr.propTypes={domain:p.string.isRequired,toUrl:p.string.isRequired,isHttps:p.bool};function po(){const{t}=z();return e.jsx(A,{className:"arrow-name-middle",children:t("common.page404")})}function ot({id:t="",type:r="",name:n="",title:i="",items:a=[],depth:l=0,to:o={},expand:s=!0,isProtected:u=!1,pathPrefix:m="",parent:d={},domainAliases:c=[],...w}){const x={id:t,type:r,name:n,title:i,items:a,depth:l,to:o,expand:s,isProtected:u,pathPrefix:m,parent:d,domainAliases:c,...w},{t:C}=z(),{data:E}=Wt(),{info:j}=Q(),{status:D}=ut(),S=E.map(Y=>({meta:{did:Y.meta.did,name:Qr.getDisplayName(Y,!0),version:Y.meta.version,interfaces:Y.meta.interfaces},port:Y.port,ports:Y.ports,status:Y.status}));let b=n;const y=n.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX);let L=r;n===ye&&(L="dashboard_domain"),y&&(L="blocklet_domain");const[F,_]=h.useState(s),f={root:Ii,domain:ir,rule:Li}[r],g={paddingBottom:8,paddingLeft:8};if(r==="domain"){let Y=function({domain:U,primaryDomain:O,rules:G}){let se=et(U);return O===ye?se=`${se}/${j.routing.adminPath.replace(/^\/+/,"")}`:G&&G.length&&G[0].pathPrefix&&(se=`${se}/${G[0].pathPrefix.replace(/^\/+/,"")}`),U!==ye?e.jsx(go,{href:se,target:"_blank",rel:"noreferrer",onClick:ze=>ze.stopPropagation(),children:U}):U};if(u&&!y)return null;if(y){const U=n.replace(k.BLOCKLET_SITE_GROUP_SUFFIX,""),O=S.find(G=>G.meta.did===U);if(!O||O.controller)return null;b=O.meta.title||O.meta.name}Y.propTypes={domain:p.string.isRequired,primaryDomain:p.string.isRequired,rules:p.array.isRequired};const he=()=>{_(!0)};let pe=(c||[]).filter(U=>U.value!==n);return pe=Zr(pe),[e.jsxs(St,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!y&&e.jsxs(Ge,{onClick:()=>_(U=>!U),children:[a.length>0&&(F?e.jsx(Jr,{}):e.jsx(Si,{})),e.jsx(f,{style:{fontSize:22}})]}),y&&e.jsx(Ge,{children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{onClick:()=>_(U=>!U),className:`rule-name rule-name--depth${l}`,style:{flex:1},secondary:a.length<=0?e.jsx("span",{className:"site-secondary",children:C("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[n===k.DOMAIN_FOR_DEFAULT_SITE&&C("router.defaultSite"),n!==k.DOMAIN_FOR_DEFAULT_SITE&&!y&&e.jsx(Y,{domain:n,primaryDomain:n,rules:a}),y&&b,a.length&&!F?e.jsx("span",{style:{marginLeft:5},children:`(${a.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),r==="domain"&&n!==k.DOMAIN_FOR_DEFAULT_SITE&&n!==ye&&!y&&e.jsxs(e.Fragment,{children:[e.jsx(Ot,{type:r,name:n},n),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ft,{siteId:t,domain:n,children:({open:U})=>e.jsx(V,{size:"small",onClick:O=>U(O),children:C("router.cert.genLetsEncryptCert.title")})})]})]}),pe.map(U=>{const O=typeof U!="string"?U.value:U;return e.jsxs("div",{className:"site-alias",children:[e.jsx(Y,{domain:O,primaryDomain:n,rules:a}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ot,{type:r,name:O},`domain-status-${n}`),e.jsx(Ft,{siteId:t,domain:O,children:({open:G})=>e.jsx(V,{size:"small",onClick:se=>G(se),children:C("router.cert.genLetsEncryptCert.title")})}),!U.isProtected&&e.jsx(vr,{id:x.id,domain:O},"delete-domain-alias"),O!==ye&&O!==window.location.hostname&&e.jsx(Ae,{...x,domain:O,type:"domainAlias",onRuleAdded:he},`action-${n}`)]},O)})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x,onRuleAdded:he,type:L},n)})})]},"parent"),!y&&a.length>0&&e.jsx(ei,{in:F,children:e.jsx(Pt,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(U=>e.jsx(ot,{...U,parent:x,depth:l+1},U.id))},"children")},"rules")]}if(r==="root")return[e.jsxs(St,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(Ge,{children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{primary:n}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x})})})]},"root"),a.length>0&&e.jsx(Pt,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(Y=>e.jsx(ot,{expand:!u,...Y,parent:x,depth:l+1},Y.id))},"children")];let R=`/blocklets/${o.did}/overview`;o.type===k.ROUTING_RULE_TYPES.DAEMON&&(R="/");const M={meta:{did:j.did,name:"Blocklet Server Dashboard",version:j.version},status:"running",port:j.port},N=o.did===j.did?M:S.find(Y=>Y.meta.did===o.did),I=N&&N.status==="running"||o.type===k.ROUTING_RULE_TYPES.DAEMON,P=C(I?"router.healthy.ok":"router.healthy.error"),Z=D[d.name]||{};return e.jsxs(St,{className:"hover-item",divider:!0,disableGutters:!0,style:g,"data-cy":"rule-item",children:[e.jsx(Ge,{className:"arrow-icon",children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{primary:e.jsxs(A,{component:"div",className:"arrow-name",children:[e.jsx(A,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:n}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(o.type===k.ROUTING_RULE_TYPES.DAEMON||o.type===k.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[d.name!==k.DOMAIN_FOR_DEFAULT_SITE&&I&&e.jsx(W,{className:"arrow-name-middle",children:e.jsx(Ht,{href:et(d.name,m),target:"_blank",underline:"hover",children:C("common.open")})}),d.name===k.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(A,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!I&&e.jsx("span",{className:"arrow-name-middle",children:C("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(ti,{to:R,className:"arrow-name-right",children:[e.jsx(fe,{title:P,children:I?e.jsx(ni,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(Pi,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:N?N.meta.name:i}),N&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(or,{status:N.status,progress:N.progress})})]})]}),o.type===k.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(jr,{prefix:m,domain:d.name,toUrl:o.url,isHttps:Z.isHttps}),o.type===k.ROUTING_RULE_TYPES.NONE&&e.jsx(po,{})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x,did:o.did})})})]},n)}ot.propTypes={type:p.string.isRequired,to:p.object,name:p.string.isRequired,title:p.string,id:p.string,items:p.array,parent:p.object,depth:p.number,expand:p.bool,isProtected:p.bool,pathPrefix:p.string,domainAliases:p.array};const St=Qn(ri)`
121
+ `,mr=h.createContext({}),{Provider:co,Consumer:ls}=mr;function fr({children:t,domains:r}){const{api:n}=Q(),i=JSON.stringify(r),[a,l]=h.useState({}),o=h.useMemo(()=>r.filter(x=>qt(x)),[i]);Et(k.EVENTS.DOMAIN_STATUS,x=>{x&&l(C=>({...C,[x.domain]:{...C[x.domain],...x}}))});const{domainsAccessibility:s,recommendedDomain:u}=xi(o),m=h.useMemo(()=>{const x={...a};return Object.keys(s).forEach(C=>{const E=x[C]||{};x[C]={...E,...s[C]}}),x},[a,s]),d=()=>{o.length>0&&n.checkDomains({input:{domains:o}})},c=x=>{x&&n.checkDomains({input:{domains:[x]}})};h.useEffect(()=>{d()},[o]);const w={refresh:d,updateStatus:c,api:n,status:m,recommendedDomain:u,recommendedDomainStatus:m[u]};return e.jsx(co,{value:w,children:t})}fr.propTypes={children:p.any.isRequired,domains:p.array.isRequired};function ut(){const{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}=h.useContext(mr);return{status:t,recommendedDomainStatus:r,recommendedDomain:n,updateStatus:i}}const uo=t=>(te(t,"meta.interfaces")||[]).find(n=>n.type===ct.BLOCKLET_INTERFACE_TYPE_WEB);function mt({params:t={},blocklets:r=[],setParams:n=()=>{},setError:i=()=>{},serviceTypes:a=[{name:"Blocklet",value:k.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:k.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:k.ROUTING_RULE_TYPES.NONE}]}){const{t:l}=z(),o={301:l("common.redirectPermanently"),302:l("common.redirectTemporary"),307:l("common.redirectTemporary"),308:l("common.redirectPermanently")},s=Hn(r,d=>d.meta.name),u=(d,c)=>{if(!c)return{};let{port:w}=d;c&&d.ports&&c.port&&(d.ports[c.port]&&(w=d.ports[c.port]),d.ports[c.port.internal]&&(w=d.ports[c.port.internal]));let{pathPrefix:x}=t;return c&&c.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&(x=c.prefix),{port:w,pathPrefix:x}},m=d=>{const c=s.find(x=>x.meta.did===d),w=uo(c);return{...u(c,w),interfaceName:w?w.name:""}};return h.useEffect(()=>{!t.interfaceName&&t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&n({...t,...m(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(q,{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:d=>{i(""),n({...t,type:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},slotProps:{select:{}},children:a.map(({name:d,value:c})=>e.jsx(X,{value:c,children:d},c))}),t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(q,{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:d=>{n({...t,...m(d.target.value),did:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[s.map(d=>e.jsxs(X,{value:d.meta.did,children:[`${d.meta.name} v${d.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(or,{status:d.status,progress:d.progress})})]},d.meta.did)),r.length===0&&e.jsx(X,{value:"",children:l("common.empty")},"empty")]}),t.type===k.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(q,{select:!0,label:l("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:d=>n({...t,redirectCode:d.target.value}),style:{marginBottom:32},slotProps:{select:{}},children:Object.keys(o).map(d=>e.jsx(X,{value:d,children:`${o[d]} - ${d}`},d))}),e.jsx(q,{label:l("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",fullWidth:!0,autoFocus:!0,value:t.url,helperText:l("router.urlHelperText"),style:{marginBottom:32},onChange:d=>{n({...t,url:d.target.value,__disableConfirm:!d.target.value.trim()}),d.target.value.trim()?i(""):i(l("router.validation.redirectUrlRequired"))},slotProps:{htmlInput:{"data-cy":"redirect-url-input"}}})]]})}mt.propTypes={params:p.object,blocklets:p.array,serviceTypes:p.array,setParams:p.func,setError:p.func};const pr=(t,r)=>{if(t.type===k.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${r("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${r("router.validation.redirectCodeRequired")}`)}else if(t.type===k.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(r("router.validation.didRequired"));return null},Oe=(t,r)=>t?t.endsWith(k.DEFAULT_IP_DOMAIN_SUFFIX)?r("router.domain.validate.suffixTip",{suffix:k.DEFAULT_IP_DOMAIN_SUFFIX}):null:r("router.domain.validate.emptyTip"),mo=(t,r)=>{const n=pr(t,r);if(n)return n;const i=Oe(t.domain,r);return i?new Error(i):null},it=(t,r)=>{const n=pr(t,r);return n||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(r("router.validation.pathPrefixTooLong",{length:150})):null:new Error(r("router.validation.pathPrefixCannotBeEmpty")))},gr=({params:t,blocklets:r,blocklet:n,locale:i="en"})=>{if(n){let o=(n.children||[]).find(s=>Si(s.mountPoint,t.pathPrefix));if(n.meta.group!=="gateway"&&t.pathPrefix==="/"&&(o="/"),o)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const a=r.find(o=>o.meta.did===t.did);if(!a)return"";const l=a.meta.interfaces.find(o=>o.type==="web");return l&&l.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==l.prefix?{zh:`该 blocklet 只能挂载在 ${l.prefix}`,en:`This blocklet can only be mounted on ${l.prefix}`}[i]:""},Xt=t=>{if(t.length===0)return"";const{searchParams:r}=new URL(window.location.href),n=r.get("fromDid");if(n){const i=t.find(a=>a.meta.did===n);if(i)return i.meta.did}return t[0].meta.did};function Qt({blocklets:t=[],onActivate:r=()=>{},children:n=null}){const{t:i}=z(),{actions:a}=de(),{info:l}=Q(),[o,s]=h.useState(!1),[u,m]=h.useState(null),d=()=>{s(!1),m(null)},c=async C=>{s(!0);const E={from:{pathPrefix:"/"},to:{type:C.type}},j={domain:C.domain.trim()===l.ip?"":C.domain.trim()};if(C.type===k.ROUTING_RULE_TYPES.BLOCKLET){const D=t.find(b=>b.meta.did===C.did),S=te(D,"meta.interfaces",[]).find(b=>b.name===C.interfaceName);S&&S.prefix!==ct.BLOCKLET_DYNAMIC_PATH_PREFIX&&(E.from.pathPrefix=S.prefix),E.to.port=C.port,E.to.did=C.did,E.to.interfaceName=C.interfaceName,j.rules=[E]}else C.type===k.ROUTING_RULE_TYPES.REDIRECT&&(E.to.url=C.url,E.to.redirectCode=C.redirectCode,j.rules=[E]);await a.addSite(j),s(!1),m(null)},w={title:i("router.domain.addSite"),description:(C,E,j)=>{const D=S=>{const b=S.__disableConfirm||!!mo(S,i);E({...S,__disableConfirm:b})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:C.domain,style:{marginTop:16,marginBottom:32},onChange:S=>{const b=S.target.value.trim(),y=Oe(b,i);D({...C,domain:S.target.value,__disableConfirm:!!y}),j(y||"")},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(mt,{blocklets:t,params:C,setParams:D,setError:j})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:Xt(t),port:"",interfaceName:"",type:k.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:c,onCancel:d},x=C=>{C.stopPropagation(),m(w)||r()};return h.useEffect(()=>{const{searchParams:C}=new URL(window.location.href);C.get("fromDid")&&m(w)},[]),e.jsxs(e.Fragment,{children:[typeof n=="function"?n({loading:o,open:x}):e.jsxs(X,{onClick:x,className:"rule-action","data-cy":"action-add-domain",children:[o?e.jsx(K,{size:16}):e.jsx(ir,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),u&&e.jsx(le,{title:u.title,description:u.description,confirm:u.confirm,cancel:u.cancel,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel,color:"primary"})]})}Qt.propTypes={blocklets:p.array,children:p.any,onActivate:p.func};function Cn(t){const{t:r}=z(),{actions:n}=de(),[i,a]=h.useState(!1),[l,o]=h.useState(null),{id:s,name:u}=t;if(Yt(u))return null;const m=()=>{a(!1),o(null)},d=async()=>{a(!0),await n.deleteSite(s),a(!1),o(null)},c={title:r("router.domain.delete.title"),description:r("router.domain.delete.description",{name:`<b>${u}</b>`}),confirmPlaceholder:r("router.domain.delete.confirm_desc",{name:u}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:d,onCancel:m,keyName:u},w=x=>{x.stopPropagation(),o(c)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{onClick:w,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),r("router.domain.delete.title")]}),l&&e.jsx(dt,{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 Lt({id:t,blocklets:r=[],onActivate:n=()=>{},onRuleAdded:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null),w=()=>{m(!1),c(null)},x=async j=>{const D=await it(j,o);if(D)throw D;m(!0);const S={from:{pathPrefix:Vn(j.pathPrefix)},to:{type:j.type}};j.type===k.ROUTING_RULE_TYPES.BLOCKLET?(S.to.port=j.port,S.to.did=j.did,S.to.interfaceName=j.interfaceName):j.type===k.ROUTING_RULE_TYPES.REDIRECT&&(S.to.url=j.url.trim(),S.to.redirectCode=j.redirectCode),await s.addRule(t,S,l),c(null),m(!1),i()},C={title:o("router.rule.add.title"),description:(j,D,S)=>{const b=y=>{if(S(null),it(y,o)){D({...y,__disableConfirm:!0});return}D({...y})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:o("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:j.helperText||o("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:j.pathPrefix,onChange:y=>{let L=!1;const F=gr({params:{...j,pathPrefix:y.target.value},blocklets:r});S(F),j.type===k.ROUTING_RULE_TYPES.BLOCKLET&&F&&(L=!0),j.type===k.ROUTING_RULE_TYPES.REDIRECT&&!j.url&&(L=!0),y.target.value.trim()||(L=!0,S(o("router.validation.pathPrefixRequired"))),L||S("");const _=o("common.slugifyHint",{value:Yn(y.target.value)});D({...j,pathPrefix:y.target.value,helperText:_,__disableConfirm:L})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(mt,{blocklets:r,params:j,setParams:b,setError:S})]})},confirm:o("router.rule.add.confirm"),cancel:o("common.cancel"),params:{pathPrefix:"",type:k.ROUTING_RULE_TYPES.BLOCKLET,did:Xt(r),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:x,onCancel:w},E=j=>{j.stopPropagation(),c(C)||n()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:u,open:E}):e.jsxs(X,{onClick:E,className:"rule-action","data-cy":"action-add-rule",children:[u?e.jsx(K,{size:16}):e.jsx(nr,{style:{fontSize:18,marginRight:5}}),o("router.rule.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"})]})}Lt.propTypes={id:p.string.isRequired,blocklets:p.array,children:p.any,onActivate:p.func,onRuleAdded:p.func,teamDid:p.string};function hr({id:t,name:r,parent:{id:n},children:i=null,onActivate:a=()=>{},teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null),w=()=>{m(!1),c(null)},x=async()=>{m(!0),await s.deleteRule(n,t,l),m(!1),c(null)},C={keyName:r,title:o("router.rule.delete.title"),description:o("router.rule.delete.description",{name:`<b>${r}</b>`}),confirmPlaceholder:o("router.rule.delete.confirm_desc",{name:r}),confirm:o("common.delConfirm"),cancel:o("router.rule.delete.cancel"),onConfirm:x,onCancel:w},E=j=>{j.stopPropagation(),c(C)||a()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:u,open:E}):e.jsxs(X,{onClick:E,className:"rule-action","data-cy":"action-delete-rule",children:[u?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:18,marginRight:5}}),o("router.rule.delete.title")]}),d&&e.jsx(dt,{keyName:d.keyName,title:d.title,description:d.description,confirmPlaceholder:d.confirmPlaceholder,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel})]})}hr.propTypes={id:p.string.isRequired,name:p.string.isRequired,parent:p.object.isRequired,children:p.any,onActivate:p.func,teamDid:p.string};function xr({id:t,name:r,did:n="",parent:i,blocklets:a=[],to:l,children:o=null,onActivate:s=()=>{},teamDid:u=""}){const{t:m}=z(),{actions:d}=de(),[c,w]=h.useState(!1),[x,C]=h.useState(null),E=()=>{w(!1),C(null)},j=async b=>{const y=await it(b,m);if(y)throw y;w(!0);const L={id:t,from:{pathPrefix:Vn(b.pathPrefix)},to:{type:b.type}};b.type===k.ROUTING_RULE_TYPES.BLOCKLET?(L.to.port=b.port,L.to.did=b.did,L.to.interfaceName=b.interfaceName):b.type===k.ROUTING_RULE_TYPES.REDIRECT&&(L.to.url=b.url,L.to.redirectCode=b.redirectCode),await d.updateRule(i.id,L,u),C(null),w(!1)},D={title:m("router.rule.update.title"),description:(b,y,L)=>{const F=_=>{if(it(_,m)){y({..._,__disableConfirm:!0});return}y({..._})};return e.jsxs(A,{component:"div",children:[e.jsx(q,{label:m("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",fullWidth:!0,autoFocus:!0,helperText:b.helperText||m("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:b.pathPrefix,onChange:_=>{let v=!1;const f=gr({params:{...b,pathPrefix:_.target.value},blocklets:a});b.type===k.ROUTING_RULE_TYPES.BLOCKLET&&f&&(v=!0,L(f)),b.type===k.ROUTING_RULE_TYPES.REDIRECT&&!b.url&&(v=!0),_.target.value.trim()||(v=!0,L(m("router.validation.pathPrefixRequired"))),v||L("");const g=m("common.slugifyHint",{value:Yn(_.target.value)});y({...b,pathPrefix:_.target.value,helperText:g,__disableConfirm:v})},slotProps:{htmlInput:{"data-cy":"path-prefix-input"}}}),e.jsx(mt,{blocklets:a,params:b,setParams:F,setError:L})]})},confirm:m("router.rule.update.confirm"),cancel:m("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:l.type||k.ROUTING_RULE_TYPES.BLOCKLET,did:n||Xt(a),port:l.port||"",interfaceName:l.interfaceName||"",redirectCode:l.redirectCode||302,url:l.url||"",__disableConfirm:!1},onConfirm:j,onCancel:E},S=b=>{b.stopPropagation(),C(D)||s()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:S}):e.jsxs(X,{onClick:S,className:"rule-action","data-cy":"action-update-rule",children:[c?e.jsx(K,{size:16}):e.jsx(ar,{style:{fontSize:18,marginRight:5}}),m("router.rule.update.title")]}),x&&e.jsx(le,{title:x.title,description:x.description,confirm:x.confirm,color:x.color,cancel:x.cancel,params:x.params,onConfirm:x.onConfirm,onCancel:x.onCancel})]})}xr.propTypes={id:p.string.isRequired,name:p.string.isRequired,did:p.string,parent:p.object.isRequired,blocklets:p.array,to:p.object.isRequired,children:p.any,onActivate:p.func,teamDid:p.string};function Ze({id:t,name:r,onActivate:n=()=>{},children:i=null,title:a="",teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null);if(k.DOMAIN_FOR_DEFAULT_SITE===r)return null;const w=()=>{m(!1),c(null)},x=async D=>{m(!0),await s.addDomainAlias(t,D.domain.trim(),!!D.force,l),m(!1),c(null)},C=async(D,S,b)=>{try{await S(D)}catch(y){b(ge(y))}finally{m(!1)}},E={title:a||o("router.domainAlias.add.title"),description:(D,S,b)=>e.jsxs(A,{component:"div",children:[e.jsx(q,{label:o("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,value:D.domain,style:{marginBottom:8},margin:"dense",onChange:y=>{const L=y.target.value.trim(),F=Oe(L,o);S({...D,domain:L,__disableConfirm:!!F}),b(F||"")},onKeyPress:y=>{if(y.key==="Enter"){y.preventDefault();const L=y.target.value.trim(),F=Oe(L,o);F?b(F):C(D,x,b)}},slotProps:{htmlInput:{"data-cy":"domain-name-input"}}}),e.jsx(Ie,{control:e.jsx(Xn,{checked:D.force,onChange:y=>{S({...D,force:y.target.checked})},name:"checkedB",color:"primary"}),label:o("router.domainAlias.add.forceTip")})]}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:x,onCancel:w},j=D=>{D.stopPropagation(),c(E)||n()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:u,open:j}):e.jsxs(X,{onClick:j,className:"rule-action","data-cy":"action-add-domain-alias",children:[u?e.jsx(K,{size:16}):e.jsx(Ri,{style:{fontSize:18,marginRight:5}}),o("router.domainAlias.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"})]})}Ze.propTypes={id:p.string.isRequired,name:p.string.isRequired,children:p.any,onActivate:p.func,title:p.string,teamDid:p.string};function Je({id:t,name:r,corsAllowedOrigins:n="",onActivate:i=()=>{},children:a=null,teamDid:l=""}){const{t:o}=z(),{actions:s}=de(),[u,m]=h.useState(!1),[d,c]=h.useState(null);if(Yt(r))return null;let w=r;r.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX)&&(w=`${o("common.the")} Blocklet`);const x=()=>{m(!1),c(null)},C=async D=>{m(!0),await s.updateSite(t,{corsAllowedOrigins:D.corsAllowedOrigins.split(",").map(S=>S.trim())},l),m(!1),c(null)},E={title:o("router.domainSecurity.title"),description:(D,S,b)=>e.jsx(A,{component:"div",children:e.jsx(q,{label:o("router.domainSecurity.cors.title",{name:w}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:D.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:o("router.domainSecurity.cors.description",{name:w}),onChange:y=>{S({...D,corsAllowedOrigins:y.target.value,__disableConfirm:!y.target.value.trim()}),y.target.value.trim()?b(""):b(o("router.domainSecurity.cors.domainInvalid"))}})}),confirm:o("common.confirm"),cancel:o("common.cancel"),params:{corsAllowedOrigins:Array.isArray(n)?n.join(", "):r,__disableConfirm:!0},onConfirm:C,onCancel:x},j=D=>{D.stopPropagation(),c(E)||i()};return e.jsxs(e.Fragment,{children:[typeof a=="function"?a({loading:u,open:j}):e.jsxs(X,{onClick:j,className:"rule-action","data-cy":"action-update-domain",children:[u?e.jsx(K,{size:16}):e.jsx(Le,{style:{fontSize:18,marginRight:5}}),o("router.domainSecurity.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"})]})}Je.propTypes={id:p.string.isRequired,name:p.string.isRequired,children:p.any,onActivate:p.func,corsAllowedOrigins:p.oneOfType([p.string,p.array]),teamDid:p.string};function fo({id:t,name:r,onActivate:n}){const{t:i}=z(),{actions:a}=de(),[l,o]=h.useState(!1),[s,u]=h.useState(null);if(Yt(r))return null;const m=()=>{o(!1),u(null)},d=async x=>{o(!0),await a.updateSite(t,{domain:x.domain.trim()}),o(!1),u(null)},c={title:i("router.domain.update.title"),description:(x,C,E)=>e.jsx(A,{component:"div",children:e.jsx(q,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:x.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:j=>{const D=j.target.value.trim(),S=Oe(D,i);C({...x,domain:j.target.value,__disableConfirm:!!S}),E(S||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:r,__disableConfirm:!0},onConfirm:d,onCancel:m},w=x=>{x.stopPropagation(),u(c)||n()};return e.jsxs(e.Fragment,{children:[e.jsxs(X,{onClick:w,className:"rule-action",children:[l?e.jsx(K,{size:16}):e.jsx(ar,{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 Ae({blocklet:t={},onRuleAdded:r=()=>{},type:n,...i}){const[a,l]=h.useState(null),o={type:n,blocklet:t,onRuleAdded:r,...i},s=c=>{c.stopPropagation(),l(c.currentTarget)},u=c=>{c&&c.stopPropagation(),l(null)},m=[];if(n==="root"&&m.push(e.jsx(Qt,{...o,onActivate:u},"add-domain")),n==="domain"&&m.push(e.jsx(fo,{...o,onActivate:u},"update-domain"),e.jsx(Lt,{...o,onActivate:u,onRuleAdded:o.onRuleAdded},"add-rule"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias"),e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Cn,{...o,onActivate:u},"delete-domain")),n==="rule"&&m.push(e.jsx(xr,{...o,onActivate:u},"update-rule"),e.jsx(hr,{...o,onActivate:u},"delete-rule")),n===k.ROUTING_RULE_TYPES.REDIRECT&&m.push(e.jsx(Cn,{...o,onActivate:u},"delete-domain")),n==="dashboard_domain"&&m.push(e.jsx(Lt,{...o,onActivate:u},"add-rule"),e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias")),n==="blocklet_domain"&&m.push(e.jsx(Je,{...o,onActivate:u},"update-domain-security"),e.jsx(Ze,{...o,onActivate:u},"add-domain-alias")),m.length===0)return null;const d=c=>{c.stopPropagation()};return e.jsxs("div",{children:[e.jsx(_t,{onMouseDown:d,onClick:s,"data-cy":"action-trigger",size:"large",children:e.jsx(ki,{})}),e.jsx(Kr,{keepMounted:!0,onMouseDown:d,open:!!a,onClose:u,anchorEl:a,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:m})]})}Ae.propTypes={blocklet:p.object,onRuleAdded:p.func};function yr({certificate:t={}}){const[r,n]=h.useState(null),i=Q(),{t:a,locale:l}=z(),o=m=>{n(m.currentTarget)},s=()=>{n(null)},u=!!r;return e.jsxs(e.Fragment,{children:[e.jsx(sr,{"aria-owns":u?"mouse-over-popover":void 0,onMouseEnter:o,onMouseLeave:s,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Vr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:u,anchorEl:r,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:s,disableRestoreFocus:!0,children:e.jsx(Xr,{children:e.jsxs(Ti,{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:`${a("common.issuer")}: ${te(t,"issuer.commonName","")}`}),e.jsx(A,{component:"div",children:`${a("router.cert.issuedOn")}: ${nt(t.validFrom,l)}`}),e.jsx(A,{component:"div",children:`${a("router.cert.expiryOn")}: ${nt(t.validTo,l)}`})]})]})})})]})}yr.propTypes={certificate:p.object};function Ot({name:t,type:r,filters:n=["domain","http"]}){const{t:i}=z(),{status:a}=ut();if(r!=="domain"||!qt(t))return null;let l=null,o=null;const{isHttps:s,matchedCert:u}=a[t]||{};if(!Yr(t)){const{dns:{resolved:d,ip:c}={}}=a[t]||{};d||c==="127.0.0.1"?l=e.jsx(fe,{title:i("router.domain.verify.ok"),children:e.jsx(yn,{color:"success"})}):l=e.jsx(fe,{title:i("router.domain.verify.notResolved"),children:e.jsx(yn,{color:"error"})})}s?o=e.jsx(yr,{certificate:u}):o=e.jsx(fe,{title:i("router.domain.https.bad"),children:e.jsx(sr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const m=n.map(d=>d==="domain"?l:d==="http"?o:null);return h.createElement(h.Fragment,null,...m)}Ot.propTypes={type:p.string.isRequired,name:p.string.isRequired,filters:p.array};const po=t=>["waiting","creating","renewaling"].includes(t);function br({domain:t,onAdd:r=()=>{},children:n=null,siteId:i}){const{t:a}=z(),[l,o]=h.useState(!1),[s,u]=h.useState(null),{api:m}=Q(),[d,c]=h.useState(!1),{updateStatus:w}=ut(),x=Fe(async()=>{const{cert:b}=await m.findCertificateByDomain({input:{domain:t}});return b}),C=b=>{b.domain===t&&c(!1)};if(h.useEffect(()=>{!x.loading&&po(x.value?.status)&&c(!0)},[x]),Et(k.EVENTS.CERT_ERROR,C),Et(k.EVENTS.CERT_ISSUED,b=>{x.retry(),w(b.domain),C(b)}),x.loading||x.value?.status==="normal")return"";const E=()=>{o(!1),u(null)},j=async()=>{o(!0);try{await m.issueLetsEncryptCert({input:{domain:t,siteId:i}}),r(),c(!0)}catch(b){console.error(b),c(!1)}finally{o(!1),u(null)}},D={title:a("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")}),a("router.cert.genLetsEncryptCert.description")]}),confirm:a("common.confirm"),onConfirm:j,onCancel:E},S=b=>{b.stopPropagation(),u(D)};return e.jsxs(e.Fragment,{children:[d?e.jsx(fe,{title:a("router.cert.issuing"),children:e.jsx(K,{size:12})}):n({loading:l,open:S}),s&&e.jsx(le,{color:"primary",title:s.title,description:s.description,confirm:s.confirm,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}br.propTypes={domain:p.string.isRequired,onAdd:p.func,children:p.any,siteId:p.string.isRequired};function Ft({domain:t,siteId:r,onAdd:n=()=>{},children:i=null}){const{status:a}=ut();return!qt(t)||a[t]?.isHttps?"":e.jsx(br,{domain:t,onAdd:n,siteId:r,children:i})}Ft.propTypes={siteId:p.string.isRequired,domain:p.string.isRequired,onAdd:p.func,children:p.any};function vr({id:t,domain:r,onDelete:n=()=>{},children:i=null,teamDid:a=""}){const{t:l}=z(),[o,s]=h.useState(!1),[u,m]=h.useState(null),{actions:d}=de();if(r===window.location.hostname)return"";const c=()=>{s(!1),m(null)},w=async()=>{s(!0);try{await d.deleteDomainAlias(t,r,a),n()}catch(E){console.error(E)}finally{s(!1),m(null)}},x={keyName:r,title:l("router.domainAlias.delete.title"),description:l("router.domainAlias.delete.description",{domain:r}),confirmPlaceholder:l("router.domainAlias.delete.confirmPlaceholder",{domain:r}),confirm:l("common.delete"),onConfirm:w,onCancel:c},C=E=>{E.stopPropagation(),m(x)};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:o,open:C}):e.jsxs(V,{edge:"end",onClick:C,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[o?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),l("common.delete")]}),u&&e.jsx(dt,{keyName:u.keyName,title:u.title,description:u.description,confirmPlaceholder:u.confirmPlaceholder,confirm:u.confirm,params:u.params,onConfirm:u.onConfirm,onCancel:u.onCancel})]})}vr.propTypes={id:p.string.isRequired,domain:p.string.isRequired,onDelete:p.func,children:p.any,teamDid:p.string};function jr({domain:t,isHttps:r=!1,toUrl:n}){const i=r?"https":"http",{t:a}=z();let l=n;return Zn(l)||(l=`${i}://${t}${n}`),e.jsxs(e.Fragment,{children:[e.jsx(A,{className:"arrow-name-middle",children:a("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Ht,{href:l,target:"_blank",underline:"hover",children:n},l)]})}jr.propTypes={domain:p.string.isRequired,toUrl:p.string.isRequired,isHttps:p.bool};function go(){const{t}=z();return e.jsx(A,{className:"arrow-name-middle",children:t("common.page404")})}function ot({id:t="",type:r="",name:n="",title:i="",items:a=[],depth:l=0,to:o={},expand:s=!0,isProtected:u=!1,pathPrefix:m="",parent:d={},domainAliases:c=[],...w}){const x={id:t,type:r,name:n,title:i,items:a,depth:l,to:o,expand:s,isProtected:u,pathPrefix:m,parent:d,domainAliases:c,...w},{t:C}=z(),{data:E}=Wt(),{info:j}=Q(),{status:D}=ut(),S=E.map(Y=>({meta:{did:Y.meta.did,name:Qr.getDisplayName(Y,!0),version:Y.meta.version,interfaces:Y.meta.interfaces},port:Y.port,ports:Y.ports,status:Y.status}));let b=n;const y=n.endsWith(k.BLOCKLET_SITE_GROUP_SUFFIX);let L=r;n===ye&&(L="dashboard_domain"),y&&(L="blocklet_domain");const[F,_]=h.useState(s),f={root:Li,domain:ir,rule:Oi}[r],g={paddingBottom:8,paddingLeft:8};if(r==="domain"){let Y=function({domain:U,primaryDomain:O,rules:G}){let se=et(U);return O===ye?se=`${se}/${j.routing.adminPath.replace(/^\/+/,"")}`:G&&G.length&&G[0].pathPrefix&&(se=`${se}/${G[0].pathPrefix.replace(/^\/+/,"")}`),U!==ye?e.jsx(ho,{href:se,target:"_blank",rel:"noreferrer",onClick:ze=>ze.stopPropagation(),children:U}):U};if(u&&!y)return null;if(y){const U=n.replace(k.BLOCKLET_SITE_GROUP_SUFFIX,""),O=S.find(G=>G.meta.did===U);if(!O||O.controller)return null;b=O.meta.title||O.meta.name}Y.propTypes={domain:p.string.isRequired,primaryDomain:p.string.isRequired,rules:p.array.isRequired};const he=()=>{_(!0)};let pe=(c||[]).filter(U=>U.value!==n);return pe=Zr(pe),[e.jsxs(St,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!y&&e.jsxs(Ge,{onClick:()=>_(U=>!U),children:[a.length>0&&(F?e.jsx(Jr,{}):e.jsx(Di,{})),e.jsx(f,{style:{fontSize:22}})]}),y&&e.jsx(Ge,{children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{onClick:()=>_(U=>!U),className:`rule-name rule-name--depth${l}`,style:{flex:1},secondary:a.length<=0?e.jsx("span",{className:"site-secondary",children:C("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[n===k.DOMAIN_FOR_DEFAULT_SITE&&C("router.defaultSite"),n!==k.DOMAIN_FOR_DEFAULT_SITE&&!y&&e.jsx(Y,{domain:n,primaryDomain:n,rules:a}),y&&b,a.length&&!F?e.jsx("span",{style:{marginLeft:5},children:`(${a.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),r==="domain"&&n!==k.DOMAIN_FOR_DEFAULT_SITE&&n!==ye&&!y&&e.jsxs(e.Fragment,{children:[e.jsx(Ot,{type:r,name:n},n),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ft,{siteId:t,domain:n,children:({open:U})=>e.jsx(V,{size:"small",onClick:O=>U(O),children:C("router.cert.genLetsEncryptCert.title")})})]})]}),pe.map(U=>{const O=typeof U!="string"?U.value:U;return e.jsxs("div",{className:"site-alias",children:[e.jsx(Y,{domain:O,primaryDomain:n,rules:a}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ot,{type:r,name:O},`domain-status-${n}`),e.jsx(Ft,{siteId:t,domain:O,children:({open:G})=>e.jsx(V,{size:"small",onClick:se=>G(se),children:C("router.cert.genLetsEncryptCert.title")})}),!U.isProtected&&e.jsx(vr,{id:x.id,domain:O},"delete-domain-alias"),O!==ye&&O!==window.location.hostname&&e.jsx(Ae,{...x,domain:O,type:"domainAlias",onRuleAdded:he},`action-${n}`)]},O)})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x,onRuleAdded:he,type:L},n)})})]},"parent"),!y&&a.length>0&&e.jsx(ei,{in:F,children:e.jsx(Pt,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(U=>e.jsx(ot,{...U,parent:x,depth:l+1},U.id))},"children")},"rules")]}if(r==="root")return[e.jsxs(St,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(Ge,{children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{primary:n}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x})})})]},"root"),a.length>0&&e.jsx(Pt,{component:"div",className:`rule-list rule-list--depth${l}`,disablePadding:!0,children:a.map(Y=>e.jsx(ot,{expand:!u,...Y,parent:x,depth:l+1},Y.id))},"children")];let R=`/blocklets/${o.did}/overview`;o.type===k.ROUTING_RULE_TYPES.DAEMON&&(R="/");const M={meta:{did:j.did,name:"Blocklet Server Dashboard",version:j.version},status:"running",port:j.port},N=o.did===j.did?M:S.find(Y=>Y.meta.did===o.did),I=N&&N.status==="running"||o.type===k.ROUTING_RULE_TYPES.DAEMON,P=C(I?"router.healthy.ok":"router.healthy.error"),Z=D[d.name]||{};return e.jsxs(St,{className:"hover-item",divider:!0,disableGutters:!0,style:g,"data-cy":"rule-item",children:[e.jsx(Ge,{className:"arrow-icon",children:e.jsx(f,{style:{fontSize:22}})}),e.jsx(jt,{primary:e.jsxs(A,{component:"div",className:"arrow-name",children:[e.jsx(A,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:n}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(o.type===k.ROUTING_RULE_TYPES.DAEMON||o.type===k.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[d.name!==k.DOMAIN_FOR_DEFAULT_SITE&&I&&e.jsx(W,{className:"arrow-name-middle",children:e.jsx(Ht,{href:et(d.name,m),target:"_blank",underline:"hover",children:C("common.open")})}),d.name===k.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(A,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!I&&e.jsx("span",{className:"arrow-name-middle",children:C("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(ti,{to:R,className:"arrow-name-right",children:[e.jsx(fe,{title:P,children:I?e.jsx(ni,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(Ai,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:N?N.meta.name:i}),N&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(or,{status:N.status,progress:N.progress})})]})]}),o.type===k.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(jr,{prefix:m,domain:d.name,toUrl:o.url,isHttps:Z.isHttps}),o.type===k.ROUTING_RULE_TYPES.NONE&&e.jsx(go,{})]})}),e.jsx(re,{permission:"mutate_router",children:e.jsx(wt,{children:e.jsx(Ae,{blocklets:S,...x,did:o.did})})})]},n)}ot.propTypes={type:p.string.isRequired,to:p.object,name:p.string.isRequired,title:p.string,id:p.string,items:p.array,parent:p.object,depth:p.number,expand:p.bool,isProtected:p.bool,pathPrefix:p.string,domainAliases:p.array};const St=Qn(ri)`
122
122
  .MuiListItemText-root {
123
123
  padding-right: 48px;
124
124
  }
@@ -132,14 +132,14 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
132
132
  vertical-align: middle;
133
133
  }
134
134
  }
135
- `,go=Qn("a")`
135
+ `,ho=Qn("a")`
136
136
  color: ${({theme:t})=>t.palette.text.secondary};
137
137
  white-space: normal;
138
138
  word-break: break-all;
139
139
  :hover {
140
140
  color: ${({theme:t})=>t.palette.text.primary};
141
141
  }
142
- `;function ho(){const{sites:t,allDomains:r}=de(),{data:n}=Wt(),{t:i}=z(),a=t.map(l=>{const o=l.items.filter(s=>!s.isProtected);return{...l,items:o}});return e.jsx(fr,{domains:r,children:e.jsxs(xo,{children:[e.jsx(re,{permission:"mutate_router",children:e.jsx(W,{sx:{textAlign:"right",mb:1},children:e.jsx(Qt,{blocklets:n,children:({open:l})=>e.jsxs(V,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:l,children:[e.jsx(Le,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(Pt,{component:"div",disablePadding:!0,children:a.map(l=>h.createElement(ot,{...l,depth:1,key:l.id}))})]})})}const xo=ne.main`
142
+ `;function xo(){const{sites:t,allDomains:r}=de(),{data:n}=Wt(),{t:i}=z(),a=t.map(l=>{const o=l.items.filter(s=>!s.isProtected);return{...l,items:o}});return e.jsx(fr,{domains:r,children:e.jsxs(yo,{children:[e.jsx(re,{permission:"mutate_router",children:e.jsx(W,{sx:{textAlign:"right",mb:1},children:e.jsx(Qt,{blocklets:n,children:({open:l})=>e.jsxs(V,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:l,children:[e.jsx(Le,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(Pt,{component:"div",disablePadding:!0,children:a.map(l=>h.createElement(ot,{...l,depth:1,key:l.id}))})]})})}const yo=ne.main`
143
143
  margin-top: ${t=>t.theme.spacing(2)};
144
144
  min-height: 60vh;
145
145
 
@@ -242,18 +242,18 @@ import{aG as je,j as e,u as Q,r as h,e as Fe,aH as $r,E as k,aI as Ur,aJ as an,a
242
242
  }
243
243
  }
244
244
  }
245
- `;var yo=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 Ue(t,r){var n=bo(t);if(typeof n.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof r=="string"?r:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return n}function bo(t){var r=t.name,n=r&&r.lastIndexOf(".")!==-1;if(n&&!t.type){var i=r.split(".").pop().toLowerCase(),a=yo.get(i);a&&Object.defineProperty(t,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return t}var vo=[".DS_Store","Thumbs.db"];function jo(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return at(t)&&wo(t)?[2,ko(t.dataTransfer,t.type)]:Co(t)?[2,So(t)]:Array.isArray(t)&&t.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,Do(t)]:[2,[]]})})}function wo(t){return at(t.dataTransfer)}function Co(t){return at(t)&&at(t.target)}function at(t){return typeof t=="object"&&t!==null}function So(t){return Nt(t.target.files).map(function(r){return Ue(r)})}function Do(t){return De(this,void 0,void 0,function(){var r;return ke(this,function(n){switch(n.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return r=n.sent(),[2,r.map(function(i){return Ue(i)})]}})})}function ko(t,r){return De(this,void 0,void 0,function(){var n,i;return ke(this,function(a){switch(a.label){case 0:return t===null?[2,[]]:t.items?(n=Nt(t.items).filter(function(l){return l.kind==="file"}),r!=="drop"?[2,n]:[4,Promise.all(n.map(Ro))]):[3,2];case 1:return i=a.sent(),[2,Sn(wr(i))];case 2:return[2,Sn(Nt(t.files).map(function(l){return Ue(l)}))]}})})}function Sn(t){return t.filter(function(r){return vo.indexOf(r.name)===-1})}function Nt(t){if(t===null)return[];for(var r=[],n=0;n<t.length;n++){var i=t[n];r.push(i)}return r}function Ro(t){if(typeof t.webkitGetAsEntry!="function")return Dn(t);var r=t.webkitGetAsEntry();return r&&r.isDirectory?Cr(r):Dn(t)}function wr(t){return t.reduce(function(r,n){return ii(r,Array.isArray(n)?wr(n):[n])},[])}function Dn(t){var r=t.getAsFile();if(!r)return Promise.reject(t+" is not a File");var n=Ue(r);return Promise.resolve(n)}function To(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return[2,t.isDirectory?Cr(t):Eo(t)]})})}function Cr(t){var r=t.createReader();return new Promise(function(n,i){var a=[];function l(){var o=this;r.readEntries(function(s){return De(o,void 0,void 0,function(){var u,m,d;return ke(this,function(c){switch(c.label){case 0:if(s.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(a)];case 2:return u=c.sent(),n(u),[3,4];case 3:return m=c.sent(),i(m),[3,4];case 4:return[3,6];case 5:d=Promise.all(s.map(To)),a.push(d),l(),c.label=6;case 6:return[2]}})})},function(s){i(s)})}l()})}function Eo(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return[2,new Promise(function(n,i){t.file(function(a){var l=Ue(a,t.fullPath);n(l)},function(a){i(a)})})]})})}var Ye={},kn;function _o(){return kn||(kn=1,Ye.__esModule=!0,Ye.default=function(t,r){if(t&&r){var n=Array.isArray(r)?r:r.split(","),i=t.name||"",a=(t.type||"").toLowerCase(),l=a.replace(/\/.*$/,"");return n.some(function(o){var s=o.trim().toLowerCase();return s.charAt(0)==="."?i.toLowerCase().endsWith(s):s.endsWith("/*")?l===s.replace(/\/.*$/,""):a===s})}return!0}),Ye}var Po=_o();const Ao=Gt(Po);function Rn(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function Tn(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?Rn(Object(n),!0).forEach(function(i){Sr(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Rn(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function Sr(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function En(t,r){return Fo(t)||Oo(t,r)||Lo(t,r)||Io()}function Io(){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 Lo(t,r){if(t){if(typeof t=="string")return _n(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _n(t,r)}}function _n(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function Oo(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(u){l=!0,s=u}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function Fo(t){if(Array.isArray(t))return t}var No="file-invalid-type",$o="file-too-large",Uo="file-too-small",zo="too-many-files",Bo=function(r){r=Array.isArray(r)&&r.length===1?r[0]:r;var n=Array.isArray(r)?"one of ".concat(r.join(", ")):r;return{code:No,message:"File type must be ".concat(n)}},Pn=function(r){return{code:$o,message:"File is larger than ".concat(r," ").concat(r===1?"byte":"bytes")}},An=function(r){return{code:Uo,message:"File is smaller than ".concat(r," ").concat(r===1?"byte":"bytes")}},Mo={code:zo,message:"Too many files"};function Dr(t,r){var n=t.type==="application/x-moz-file"||Ao(t,r);return[n,n?null:Bo(r)]}function kr(t,r,n){if(Te(t.size))if(Te(r)&&Te(n)){if(t.size>n)return[!1,Pn(n)];if(t.size<r)return[!1,An(r)]}else{if(Te(r)&&t.size<r)return[!1,An(r)];if(Te(n)&&t.size>n)return[!1,Pn(n)]}return[!0,null]}function Te(t){return t!=null}function Wo(t){var r=t.files,n=t.accept,i=t.minSize,a=t.maxSize,l=t.multiple,o=t.maxFiles;return!l&&r.length>1||l&&o>=1&&r.length>o?!1:r.every(function(s){var u=Dr(s,n),m=En(u,1),d=m[0],c=kr(s,i,a),w=En(c,1),x=w[0];return d&&x})}function st(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ve(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(r){return r==="Files"||r==="application/x-moz-file"}):!!t.target&&!!t.target.files}function In(t){t.preventDefault()}function qo(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function Ho(t){return t.indexOf("Edge/")!==-1}function Go(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return qo(t)||Ho(t)}function ue(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(i){for(var a=arguments.length,l=new Array(a>1?a-1:0),o=1;o<a;o++)l[o-1]=arguments[o];return r.some(function(s){return!st(i)&&s&&s.apply(void 0,[i].concat(l)),st(i)})}}function Ln(){return"showOpenFilePicker"in window}function Ko(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(r){return r==="audio/*"||r==="video/*"||r==="image/*"||r==="text/*"||/\w+\/[-+.\w]+/g.test(r)}).reduce(function(r,n){return Tn(Tn({},r),{},Sr({},n,[]))},{}):{}}]}var Yo=["children"],Vo=["open"],Xo=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Qo=["refKey","onChange","onClick"];function Zo(t){return ta(t)||ea(t)||Rr(t)||Jo()}function Jo(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
247
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ea(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ta(t){if(Array.isArray(t))return $t(t)}function Dt(t,r){return ia(t)||ra(t,r)||Rr(t,r)||na()}function na(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
248
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Rr(t,r){if(t){if(typeof t=="string")return $t(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $t(t,r)}}function $t(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function ra(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(u){l=!0,s=u}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function ia(t){if(Array.isArray(t))return t}function On(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function H(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?On(Object(n),!0).forEach(function(i){Ut(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):On(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function Ut(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function lt(t,r){if(t==null)return{};var n=oa(t,r),i,a;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a<l.length;a++)i=l[a],!(r.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}function oa(t,r){if(t==null)return{};var n={},i=Object.keys(t),a,l;for(l=0;l<i.length;l++)a=i[l],!(r.indexOf(a)>=0)&&(n[a]=t[a]);return n}var Zt=h.forwardRef(function(t,r){var n=t.children,i=lt(t,Yo),a=Bt(i),l=a.open,o=lt(a,Vo);return h.useImperativeHandle(r,function(){return{open:l}},[l]),oi.createElement(h.Fragment,null,n(H(H({},o),{},{open:l})))});Zt.displayName="Dropzone";var Tr={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};Zt.defaultProps=Tr;Zt.propTypes={children:p.func,accept:p.oneOfType([p.string,p.arrayOf(p.string)]),multiple:p.bool,preventDropOnDocument:p.bool,noClick:p.bool,noKeyboard:p.bool,noDrag:p.bool,noDragEventsBubbling:p.bool,minSize:p.number,maxSize:p.number,maxFiles:p.number,disabled:p.bool,getFilesFromEvent:p.func,onFileDialogCancel:p.func,onFileDialogOpen:p.func,useFsAccessApi:p.bool,onDragEnter:p.func,onDragLeave:p.func,onDragOver:p.func,onDrop:p.func,onDropAccepted:p.func,onDropRejected:p.func,validator:p.func};var zt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function Bt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=H(H({},Tr),t),n=r.accept,i=r.disabled,a=r.getFilesFromEvent,l=r.maxSize,o=r.minSize,s=r.multiple,u=r.maxFiles,m=r.onDragEnter,d=r.onDragLeave,c=r.onDragOver,w=r.onDrop,x=r.onDropAccepted,C=r.onDropRejected,E=r.onFileDialogCancel,j=r.onFileDialogOpen,D=r.useFsAccessApi,S=r.preventDropOnDocument,b=r.noClick,y=r.noKeyboard,L=r.noDrag,F=r.noDragEventsBubbling,_=r.validator,v=h.useMemo(function(){return typeof j=="function"?j:Fn},[j]),f=h.useMemo(function(){return typeof E=="function"?E:Fn},[E]),g=h.useRef(null),R=h.useRef(null),M=h.useReducer(aa,zt),N=Dt(M,2),I=N[0],P=N[1],Z=I.isFocused,Y=I.isFileDialogActive,he=I.draggedFiles,pe=function(){Y&&setTimeout(function(){if(R.current){var $=R.current.files;$.length||(P({type:"closeDialog"}),f())}},300)};h.useEffect(function(){return D&&Ln()?function(){}:(window.addEventListener("focus",pe,!1),function(){window.removeEventListener("focus",pe,!1)})},[R,Y,f,D]);var U=h.useRef([]),O=function($){g.current&&g.current.contains($.target)||($.preventDefault(),U.current=[])};h.useEffect(function(){return S&&(document.addEventListener("dragover",In,!1),document.addEventListener("drop",O,!1)),function(){S&&(document.removeEventListener("dragover",In),document.removeEventListener("drop",O))}},[g,S]);var G=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T),U.current=[].concat(Zo(U.current),[T.target]),Ve(T)&&Promise.resolve(a(T)).then(function($){st(T)&&!F||(P({draggedFiles:$,isDragActive:!0,type:"setDraggedFiles"}),m&&m(T))})},[a,m,F]),se=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T);var $=Ve(T);if($&&T.dataTransfer)try{T.dataTransfer.dropEffect="copy"}catch{}return $&&c&&c(T),!1},[c,F]),ze=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T);var $=U.current.filter(function(ie){return g.current&&g.current.contains(ie)}),J=$.indexOf(T.target);J!==-1&&$.splice(J,1),U.current=$,!($.length>0)&&(P({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Ve(T)&&d&&d(T))},[g,d,F]),Be=h.useCallback(function(T,$){var J=[],ie=[];T.forEach(function(ce){var Re=Dr(ce,n),Se=Dt(Re,2),pt=Se[0],gt=Se[1],ht=kr(ce,o,l),He=Dt(ht,2),xt=He[0],yt=He[1],bt=_?_(ce):null;if(pt&&xt&&!bt)J.push(ce);else{var vt=[gt,yt];bt&&(vt=vt.concat(bt)),ie.push({file:ce,errors:vt.filter(function(Nr){return Nr})})}}),(!s&&J.length>1||s&&u>=1&&J.length>u)&&(J.forEach(function(ce){ie.push({file:ce,errors:[Mo]})}),J.splice(0)),P({acceptedFiles:J,fileRejections:ie,type:"setFiles"}),w&&w(J,ie,$),ie.length>0&&C&&C(ie,$),J.length>0&&x&&x(J,$)},[P,s,n,o,l,u,w,x,C,_]),Me=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T),U.current=[],Ve(T)&&Promise.resolve(a(T)).then(function($){st(T)&&!F||Be($,T)}),P({type:"reset"})},[a,Be,F]),we=h.useCallback(function(){if(D&&Ln()){P({type:"openDialog"}),v();var T={multiple:s,types:Ko(n)};window.showOpenFilePicker(T).then(function($){return a($)}).then(function($){return Be($,null)}).catch(function($){return f($)}).finally(function(){return P({type:"closeDialog"})});return}R.current&&(P({type:"openDialog"}),v(),R.current.value=null,R.current.click())},[P,v,f,D,Be,n,s]),Jt=h.useCallback(function(T){!g.current||!g.current.isEqualNode(T.target)||(T.keyCode===32||T.keyCode===13)&&(T.preventDefault(),we())},[g,R,we]),en=h.useCallback(function(){P({type:"focus"})},[]),tn=h.useCallback(function(){P({type:"blur"})},[]),nn=h.useCallback(function(){b||(Go()?setTimeout(we,0):we())},[R,b,we]),Ce=function($){return i?null:$},ft=function($){return y?null:Ce($)},We=function($){return L?null:Ce($)},qe=function($){F&&$.stopPropagation()},Ir=h.useMemo(function(){return function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=T.refKey,J=$===void 0?"ref":$,ie=T.role,ce=T.onKeyDown,Re=T.onFocus,Se=T.onBlur,pt=T.onClick,gt=T.onDragEnter,ht=T.onDragOver,He=T.onDragLeave,xt=T.onDrop,yt=lt(T,Xo);return H(H(Ut({onKeyDown:ft(ue(ce,Jt)),onFocus:ft(ue(Re,en)),onBlur:ft(ue(Se,tn)),onClick:Ce(ue(pt,nn)),onDragEnter:We(ue(gt,G)),onDragOver:We(ue(ht,se)),onDragLeave:We(ue(He,ze)),onDrop:We(ue(xt,Me)),role:typeof ie=="string"&&ie!==""?ie:"button"},J,g),!i&&!y?{tabIndex:0}:{}),yt)}},[g,Jt,en,tn,nn,G,se,ze,Me,y,L,i]),Lr=h.useCallback(function(T){T.stopPropagation()},[]),Or=h.useMemo(function(){return function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=T.refKey,J=$===void 0?"ref":$,ie=T.onChange,ce=T.onClick,Re=lt(T,Qo),Se=Ut({accept:n,multiple:s,type:"file",style:{display:"none"},onChange:Ce(ue(ie,Me)),onClick:Ce(ue(ce,Lr)),autoComplete:"off",tabIndex:-1},J,R);return H(H({},Se),Re)}},[R,n,s,Me,i]),rn=he.length,on=rn>0&&Wo({files:he,accept:n,minSize:o,maxSize:l,multiple:s,maxFiles:u}),Fr=rn>0&&!on;return H(H({},I),{},{isDragAccept:on,isDragReject:Fr,isFocused:Z&&!i,getRootProps:Ir,getInputProps:Or,rootRef:g,inputRef:R,open:Ce(we)})}function aa(t,r){switch(r.type){case"focus":return H(H({},t),{},{isFocused:!0});case"blur":return H(H({},t),{},{isFocused:!1});case"openDialog":return H(H({},zt),{},{isFileDialogActive:!0});case"closeDialog":return H(H({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=r.isDragActive,i=r.draggedFiles;return H(H({},t),{},{draggedFiles:i,isDragActive:n});case"setFiles":return H(H({},t),{},{acceptedFiles:r.acceptedFiles,fileRejections:r.fileRejections});case"reset":return H({},zt);default:return t}}function Fn(){}const Nn=50*1024,$n=t=>new Promise((r,n)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{r(i.result)},i.onerror=a=>n(a)});function Un({certificate:t={},onRefresh:r,mode:n,...i}){const{t:a}=z(),{api:l}=Q(),[o,s]=h.useState(!1),[u,m]=h.useState(),[d,c]=h.useState(),[w,x]=h.useState(!1),[C,E]=h.useState(""),[j,D]=h.useState("upload"),{handleSubmit:S,formState:b,control:y}=Kt({defaultValues:{name:t.name||t.domain}}),L=xn({control:y,name:"name"}),F=xn({control:y,name:"domain"}),_=()=>o?!0:j==="upload"&&n==="update"?!L:j==="upload"&&n==="add"?!L||!u||!d:j==="lets_encrypt"&&!F,v=()=>{s(!1),x(!1)},f=async O=>{if(n==="add"){const G=(await $n(d)).replace(/\r\n/g,`
245
+ `;var bo=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Ue(t,r){var n=vo(t);if(typeof n.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(n,"path",{value:typeof r=="string"?r:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return n}function vo(t){var r=t.name,n=r&&r.lastIndexOf(".")!==-1;if(n&&!t.type){var i=r.split(".").pop().toLowerCase(),a=bo.get(i);a&&Object.defineProperty(t,"type",{value:a,writable:!1,configurable:!1,enumerable:!0})}return t}var jo=[".DS_Store","Thumbs.db"];function wo(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return at(t)&&Co(t)?[2,Ro(t.dataTransfer,t.type)]:So(t)?[2,Do(t)]:Array.isArray(t)&&t.every(function(n){return"getFile"in n&&typeof n.getFile=="function"})?[2,ko(t)]:[2,[]]})})}function Co(t){return at(t.dataTransfer)}function So(t){return at(t)&&at(t.target)}function at(t){return typeof t=="object"&&t!==null}function Do(t){return Nt(t.target.files).map(function(r){return Ue(r)})}function ko(t){return De(this,void 0,void 0,function(){var r;return ke(this,function(n){switch(n.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return r=n.sent(),[2,r.map(function(i){return Ue(i)})]}})})}function Ro(t,r){return De(this,void 0,void 0,function(){var n,i;return ke(this,function(a){switch(a.label){case 0:return t===null?[2,[]]:t.items?(n=Nt(t.items).filter(function(l){return l.kind==="file"}),r!=="drop"?[2,n]:[4,Promise.all(n.map(To))]):[3,2];case 1:return i=a.sent(),[2,Sn(wr(i))];case 2:return[2,Sn(Nt(t.files).map(function(l){return Ue(l)}))]}})})}function Sn(t){return t.filter(function(r){return jo.indexOf(r.name)===-1})}function Nt(t){if(t===null)return[];for(var r=[],n=0;n<t.length;n++){var i=t[n];r.push(i)}return r}function To(t){if(typeof t.webkitGetAsEntry!="function")return Dn(t);var r=t.webkitGetAsEntry();return r&&r.isDirectory?Cr(r):Dn(t)}function wr(t){return t.reduce(function(r,n){return ii(r,Array.isArray(n)?wr(n):[n])},[])}function Dn(t){var r=t.getAsFile();if(!r)return Promise.reject(t+" is not a File");var n=Ue(r);return Promise.resolve(n)}function Eo(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return[2,t.isDirectory?Cr(t):_o(t)]})})}function Cr(t){var r=t.createReader();return new Promise(function(n,i){var a=[];function l(){var o=this;r.readEntries(function(s){return De(o,void 0,void 0,function(){var u,m,d;return ke(this,function(c){switch(c.label){case 0:if(s.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(a)];case 2:return u=c.sent(),n(u),[3,4];case 3:return m=c.sent(),i(m),[3,4];case 4:return[3,6];case 5:d=Promise.all(s.map(Eo)),a.push(d),l(),c.label=6;case 6:return[2]}})})},function(s){i(s)})}l()})}function _o(t){return De(this,void 0,void 0,function(){return ke(this,function(r){return[2,new Promise(function(n,i){t.file(function(a){var l=Ue(a,t.fullPath);n(l)},function(a){i(a)})})]})})}var Ye={},kn;function Po(){return kn||(kn=1,Ye.__esModule=!0,Ye.default=function(t,r){if(t&&r){var n=Array.isArray(r)?r:r.split(","),i=t.name||"",a=(t.type||"").toLowerCase(),l=a.replace(/\/.*$/,"");return n.some(function(o){var s=o.trim().toLowerCase();return s.charAt(0)==="."?i.toLowerCase().endsWith(s):s.endsWith("/*")?l===s.replace(/\/.*$/,""):a===s})}return!0}),Ye}var Ao=Po();const Io=Gt(Ao);function Rn(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function Tn(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?Rn(Object(n),!0).forEach(function(i){Sr(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Rn(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function Sr(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function En(t,r){return No(t)||Fo(t,r)||Oo(t,r)||Lo()}function Lo(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
246
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Oo(t,r){if(t){if(typeof t=="string")return _n(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _n(t,r)}}function _n(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function Fo(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(u){l=!0,s=u}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function No(t){if(Array.isArray(t))return t}var $o="file-invalid-type",Uo="file-too-large",zo="file-too-small",Bo="too-many-files",Mo=function(r){r=Array.isArray(r)&&r.length===1?r[0]:r;var n=Array.isArray(r)?"one of ".concat(r.join(", ")):r;return{code:$o,message:"File type must be ".concat(n)}},Pn=function(r){return{code:Uo,message:"File is larger than ".concat(r," ").concat(r===1?"byte":"bytes")}},An=function(r){return{code:zo,message:"File is smaller than ".concat(r," ").concat(r===1?"byte":"bytes")}},Wo={code:Bo,message:"Too many files"};function Dr(t,r){var n=t.type==="application/x-moz-file"||Io(t,r);return[n,n?null:Mo(r)]}function kr(t,r,n){if(Te(t.size))if(Te(r)&&Te(n)){if(t.size>n)return[!1,Pn(n)];if(t.size<r)return[!1,An(r)]}else{if(Te(r)&&t.size<r)return[!1,An(r)];if(Te(n)&&t.size>n)return[!1,Pn(n)]}return[!0,null]}function Te(t){return t!=null}function qo(t){var r=t.files,n=t.accept,i=t.minSize,a=t.maxSize,l=t.multiple,o=t.maxFiles;return!l&&r.length>1||l&&o>=1&&r.length>o?!1:r.every(function(s){var u=Dr(s,n),m=En(u,1),d=m[0],c=kr(s,i,a),w=En(c,1),x=w[0];return d&&x})}function st(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function Ve(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(r){return r==="Files"||r==="application/x-moz-file"}):!!t.target&&!!t.target.files}function In(t){t.preventDefault()}function Ho(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function Go(t){return t.indexOf("Edge/")!==-1}function Ko(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Ho(t)||Go(t)}function ue(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return function(i){for(var a=arguments.length,l=new Array(a>1?a-1:0),o=1;o<a;o++)l[o-1]=arguments[o];return r.some(function(s){return!st(i)&&s&&s.apply(void 0,[i].concat(l)),st(i)})}}function Ln(){return"showOpenFilePicker"in window}function Yo(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(r){return r==="audio/*"||r==="video/*"||r==="image/*"||r==="text/*"||/\w+\/[-+.\w]+/g.test(r)}).reduce(function(r,n){return Tn(Tn({},r),{},Sr({},n,[]))},{}):{}}]}var Vo=["children"],Xo=["open"],Qo=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Zo=["refKey","onChange","onClick"];function Jo(t){return na(t)||ta(t)||Rr(t)||ea()}function ea(){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 na(t){if(Array.isArray(t))return $t(t)}function Dt(t,r){return oa(t)||ia(t,r)||Rr(t,r)||ra()}function ra(){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 Rr(t,r){if(t){if(typeof t=="string")return $t(t,r);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $t(t,r)}}function $t(t,r){(r==null||r>t.length)&&(r=t.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=t[n];return i}function ia(t,r){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var i=[],a=!0,l=!1,o,s;try{for(n=n.call(t);!(a=(o=n.next()).done)&&(i.push(o.value),!(r&&i.length===r));a=!0);}catch(u){l=!0,s=u}finally{try{!a&&n.return!=null&&n.return()}finally{if(l)throw s}}return i}}function oa(t){if(Array.isArray(t))return t}function On(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),n.push.apply(n,i)}return n}function H(t){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?On(Object(n),!0).forEach(function(i){Ut(t,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):On(Object(n)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(n,i))})}return t}function Ut(t,r,n){return r in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function lt(t,r){if(t==null)return{};var n=aa(t,r),i,a;if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(a=0;a<l.length;a++)i=l[a],!(r.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(n[i]=t[i])}return n}function aa(t,r){if(t==null)return{};var n={},i=Object.keys(t),a,l;for(l=0;l<i.length;l++)a=i[l],!(r.indexOf(a)>=0)&&(n[a]=t[a]);return n}var Zt=h.forwardRef(function(t,r){var n=t.children,i=lt(t,Vo),a=Bt(i),l=a.open,o=lt(a,Xo);return h.useImperativeHandle(r,function(){return{open:l}},[l]),oi.createElement(h.Fragment,null,n(H(H({},o),{},{open:l})))});Zt.displayName="Dropzone";var Tr={disabled:!1,getFilesFromEvent:wo,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};Zt.defaultProps=Tr;Zt.propTypes={children:p.func,accept:p.oneOfType([p.string,p.arrayOf(p.string)]),multiple:p.bool,preventDropOnDocument:p.bool,noClick:p.bool,noKeyboard:p.bool,noDrag:p.bool,noDragEventsBubbling:p.bool,minSize:p.number,maxSize:p.number,maxFiles:p.number,disabled:p.bool,getFilesFromEvent:p.func,onFileDialogCancel:p.func,onFileDialogOpen:p.func,useFsAccessApi:p.bool,onDragEnter:p.func,onDragLeave:p.func,onDragOver:p.func,onDrop:p.func,onDropAccepted:p.func,onDropRejected:p.func,validator:p.func};var zt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function Bt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=H(H({},Tr),t),n=r.accept,i=r.disabled,a=r.getFilesFromEvent,l=r.maxSize,o=r.minSize,s=r.multiple,u=r.maxFiles,m=r.onDragEnter,d=r.onDragLeave,c=r.onDragOver,w=r.onDrop,x=r.onDropAccepted,C=r.onDropRejected,E=r.onFileDialogCancel,j=r.onFileDialogOpen,D=r.useFsAccessApi,S=r.preventDropOnDocument,b=r.noClick,y=r.noKeyboard,L=r.noDrag,F=r.noDragEventsBubbling,_=r.validator,v=h.useMemo(function(){return typeof j=="function"?j:Fn},[j]),f=h.useMemo(function(){return typeof E=="function"?E:Fn},[E]),g=h.useRef(null),R=h.useRef(null),M=h.useReducer(sa,zt),N=Dt(M,2),I=N[0],P=N[1],Z=I.isFocused,Y=I.isFileDialogActive,he=I.draggedFiles,pe=function(){Y&&setTimeout(function(){if(R.current){var $=R.current.files;$.length||(P({type:"closeDialog"}),f())}},300)};h.useEffect(function(){return D&&Ln()?function(){}:(window.addEventListener("focus",pe,!1),function(){window.removeEventListener("focus",pe,!1)})},[R,Y,f,D]);var U=h.useRef([]),O=function($){g.current&&g.current.contains($.target)||($.preventDefault(),U.current=[])};h.useEffect(function(){return S&&(document.addEventListener("dragover",In,!1),document.addEventListener("drop",O,!1)),function(){S&&(document.removeEventListener("dragover",In),document.removeEventListener("drop",O))}},[g,S]);var G=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T),U.current=[].concat(Jo(U.current),[T.target]),Ve(T)&&Promise.resolve(a(T)).then(function($){st(T)&&!F||(P({draggedFiles:$,isDragActive:!0,type:"setDraggedFiles"}),m&&m(T))})},[a,m,F]),se=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T);var $=Ve(T);if($&&T.dataTransfer)try{T.dataTransfer.dropEffect="copy"}catch{}return $&&c&&c(T),!1},[c,F]),ze=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T);var $=U.current.filter(function(ie){return g.current&&g.current.contains(ie)}),J=$.indexOf(T.target);J!==-1&&$.splice(J,1),U.current=$,!($.length>0)&&(P({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),Ve(T)&&d&&d(T))},[g,d,F]),Be=h.useCallback(function(T,$){var J=[],ie=[];T.forEach(function(ce){var Re=Dr(ce,n),Se=Dt(Re,2),pt=Se[0],gt=Se[1],ht=kr(ce,o,l),He=Dt(ht,2),xt=He[0],yt=He[1],bt=_?_(ce):null;if(pt&&xt&&!bt)J.push(ce);else{var vt=[gt,yt];bt&&(vt=vt.concat(bt)),ie.push({file:ce,errors:vt.filter(function(Nr){return Nr})})}}),(!s&&J.length>1||s&&u>=1&&J.length>u)&&(J.forEach(function(ce){ie.push({file:ce,errors:[Wo]})}),J.splice(0)),P({acceptedFiles:J,fileRejections:ie,type:"setFiles"}),w&&w(J,ie,$),ie.length>0&&C&&C(ie,$),J.length>0&&x&&x(J,$)},[P,s,n,o,l,u,w,x,C,_]),Me=h.useCallback(function(T){T.preventDefault(),T.persist(),qe(T),U.current=[],Ve(T)&&Promise.resolve(a(T)).then(function($){st(T)&&!F||Be($,T)}),P({type:"reset"})},[a,Be,F]),we=h.useCallback(function(){if(D&&Ln()){P({type:"openDialog"}),v();var T={multiple:s,types:Yo(n)};window.showOpenFilePicker(T).then(function($){return a($)}).then(function($){return Be($,null)}).catch(function($){return f($)}).finally(function(){return P({type:"closeDialog"})});return}R.current&&(P({type:"openDialog"}),v(),R.current.value=null,R.current.click())},[P,v,f,D,Be,n,s]),Jt=h.useCallback(function(T){!g.current||!g.current.isEqualNode(T.target)||(T.keyCode===32||T.keyCode===13)&&(T.preventDefault(),we())},[g,R,we]),en=h.useCallback(function(){P({type:"focus"})},[]),tn=h.useCallback(function(){P({type:"blur"})},[]),nn=h.useCallback(function(){b||(Ko()?setTimeout(we,0):we())},[R,b,we]),Ce=function($){return i?null:$},ft=function($){return y?null:Ce($)},We=function($){return L?null:Ce($)},qe=function($){F&&$.stopPropagation()},Ir=h.useMemo(function(){return function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=T.refKey,J=$===void 0?"ref":$,ie=T.role,ce=T.onKeyDown,Re=T.onFocus,Se=T.onBlur,pt=T.onClick,gt=T.onDragEnter,ht=T.onDragOver,He=T.onDragLeave,xt=T.onDrop,yt=lt(T,Qo);return H(H(Ut({onKeyDown:ft(ue(ce,Jt)),onFocus:ft(ue(Re,en)),onBlur:ft(ue(Se,tn)),onClick:Ce(ue(pt,nn)),onDragEnter:We(ue(gt,G)),onDragOver:We(ue(ht,se)),onDragLeave:We(ue(He,ze)),onDrop:We(ue(xt,Me)),role:typeof ie=="string"&&ie!==""?ie:"button"},J,g),!i&&!y?{tabIndex:0}:{}),yt)}},[g,Jt,en,tn,nn,G,se,ze,Me,y,L,i]),Lr=h.useCallback(function(T){T.stopPropagation()},[]),Or=h.useMemo(function(){return function(){var T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},$=T.refKey,J=$===void 0?"ref":$,ie=T.onChange,ce=T.onClick,Re=lt(T,Zo),Se=Ut({accept:n,multiple:s,type:"file",style:{display:"none"},onChange:Ce(ue(ie,Me)),onClick:Ce(ue(ce,Lr)),autoComplete:"off",tabIndex:-1},J,R);return H(H({},Se),Re)}},[R,n,s,Me,i]),rn=he.length,on=rn>0&&qo({files:he,accept:n,minSize:o,maxSize:l,multiple:s,maxFiles:u}),Fr=rn>0&&!on;return H(H({},I),{},{isDragAccept:on,isDragReject:Fr,isFocused:Z&&!i,getRootProps:Ir,getInputProps:Or,rootRef:g,inputRef:R,open:Ce(we)})}function sa(t,r){switch(r.type){case"focus":return H(H({},t),{},{isFocused:!0});case"blur":return H(H({},t),{},{isFocused:!1});case"openDialog":return H(H({},zt),{},{isFileDialogActive:!0});case"closeDialog":return H(H({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var n=r.isDragActive,i=r.draggedFiles;return H(H({},t),{},{draggedFiles:i,isDragActive:n});case"setFiles":return H(H({},t),{},{acceptedFiles:r.acceptedFiles,fileRejections:r.fileRejections});case"reset":return H({},zt);default:return t}}function Fn(){}const Nn=50*1024,$n=t=>new Promise((r,n)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{r(i.result)},i.onerror=a=>n(a)});function Un({certificate:t={},onRefresh:r,mode:n,...i}){const{t:a}=z(),{api:l}=Q(),[o,s]=h.useState(!1),[u,m]=h.useState(),[d,c]=h.useState(),[w,x]=h.useState(!1),[C,E]=h.useState(""),[j,D]=h.useState("upload"),{handleSubmit:S,formState:b,control:y}=Kt({defaultValues:{name:t.name||t.domain}}),L=xn({control:y,name:"name"}),F=xn({control:y,name:"domain"}),_=()=>o?!0:j==="upload"&&n==="update"?!L:j==="upload"&&n==="add"?!L||!u||!d:j==="lets_encrypt"&&!F,v=()=>{s(!1),x(!1)},f=async O=>{if(n==="add"){const G=(await $n(d)).replace(/\r\n/g,`
249
249
  `),se=(await $n(u)).replace(/\r\n/g,`
250
250
  `);await l.addCertificate({input:{name:O.name.trim(),certificate:G.split(`
251
251
  `).join("|"),privateKey:se.split(`
252
- `).join("|")}})}else await l.updateCertificate({input:{id:t.id,name:O.name.trim()}})},g=O=>l.issueLetsEncryptCert({input:{domain:O.domain}}),R={upload:{name:a("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:f},lets_encrypt:{name:a("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:g}},M=async O=>{s(!0);try{const G=R[j];if(!G)throw new Error("Invaid certificate source");await G.onSubmit(O),r(),x(!1)}catch(G){E(ge(G)||"unknown error, may be you can check file permission")}finally{s(!1)}},N=()=>{m(null),c(null),x(!0),E("")},I=O=>{D(O.target.value)},P=O=>{O.length>0&&E(te(O[0],"errors[0].message",a("router.cert.add.invalidFile")))},{getRootProps:Z,getInputProps:Y}=Bt({accept:[".pem",".crt"],multiple:!1,maxSize:Nn,onDropRejected:P,onDrop:O=>{c(O[0])}}),{getRootProps:he,getInputProps:pe}=Bt({accept:[".pem",".key"],multiple:!1,maxSize:Nn,onDropRejected:P,onDrop:O=>{m(O[0])}}),{errors:U}=b;return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:N,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[o?e.jsx(K,{size:16}):e.jsx(Le,{style:{fontSize:16}}),a(n==="add"?"common.add":"common.update")]}),w&&e.jsx(Jn,{title:a(n==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:v,actions:e.jsxs(e.Fragment,{children:[e.jsx(V,{onClick:v,color:"inherit","data-cy":"cert-cancel",children:a("router.cert.nginx.cancel")}),e.jsxs(V,{onClick:S(M),color:"secondary",disabled:_(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[a("router.cert.nginx.confirm"),o&&e.jsx(K,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:S(M),children:e.jsxs(W,{sx:{minWidth:{sm:480}},children:[e.jsxs(At,{component:"div",children:[n==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.source")}),e.jsx(rr,{"aria-label":"cert-source",name:"certSource",value:j,onChange:I,children:Object.values(R).map(O=>e.jsx(Ie,{value:O.value,control:e.jsx(It,{}),label:O.name},O.value))})]}),j==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.name")}),e.jsx(B,{name:"name",control:y,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("router.cert.name")})},render:({field:{value:O,onChange:G}})=>e.jsx(q,{fullWidth:!0,autoFocus:!0,defaultValue:O,onChange:G,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),n==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...Z({className:"dropzone"}),children:[e.jsx("input",{...Y(),"data-cy":"pem-input"}),d&&e.jsx(A,{color:"secondary",children:d.name}),!d&&e.jsx(A,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...he({className:"dropzone"}),children:[e.jsx("input",{...pe(),"data-cy":"key-input"}),u&&e.jsx(A,{color:"secondary",children:u.name}),!u&&e.jsx(A,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.keyTip")})]})})]})]})]}),j==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("common.domain")}),e.jsx(B,{name:"domain",control:y,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("common.domain")})},render:({field:{value:O,onChange:G}})=>e.jsx(q,{fullWidth:!0,autoFocus:!0,defaultValue:O,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:G})})]})]})]}),!!C&&e.jsx(be,{severity:"error",style:{marginTop:8},children:C})]})})})]})}function sa(t){const r=er(),{t:n}=z(),{api:i}=Q(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{id:u,domain:m,onDelete:d=()=>{},...c}=t,{refresh:w}=de(),x=()=>{l(!1),s(null)},C=async()=>{l(!0);try{await i.deleteCertificate({input:{id:u}}),w(),d()}catch(j){console.error(j)}finally{l(!1),s(null)}},E={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:m}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:C,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>s(E),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:r.palette.error.main},...c,children:[a?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(le,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function Er(t){const{certificate:r={},...n}=t,{t:i,locale:a}=z(),[l,o]=h.useState(!1),s=er(),u=()=>{o(!1)},m=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(r.matchedSites||[]).map(c=>e.jsx(A,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:c.domain},c.id))},{id:"updatedAt",name:i("common.updatedAt"),value:r.updatedAt?e.jsx(tt,{value:r.updatedAt,type:"all",locale:a}):"-"},{id:"createdAt",name:i("common.createdAt"),value:r.createdAt?e.jsx(tt,{value:r.createdAt,type:"all",locale:a}):"-"}],d=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(A,{component:"span",style:{fontSize:"1.1rem"},children:(te(r,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:te(r,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:te(r,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:te(r,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:ai.duration(te(r,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:nt(te(r,"meta.validFrom"),a)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:nt(te(r,"meta.validTo"),a)}];return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>o(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[e.jsx(_i,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(Jn,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:l,showCloseButton:!1,actions:e.jsx(V,{autoFocus:!0,variant:"contained",onClick:u,color:"secondary",children:i("common.close")}),children:[e.jsx(At,{component:"div",style:{margin:s.spacing(2)},children:m.map(c=>e.jsx(rt,{nameWidth:200,valueComponent:"div",name:c.name,children:c.value},c.id))},"cert-basic"),e.jsx(fn,{}),e.jsx(At,{component:"div",style:{margin:s.spacing(2)},children:d.map(c=>e.jsx(rt,{nameWidth:200,valueComponent:"div",name:c.name,children:c.value},c.id))},"cer-info"),e.jsx(fn,{})]})]})}Er.propTypes={certificate:p.object.isRequired};function _r({style:t={},certificate:r,...n}){const{t:i}=z(),[a,l]=h.useState(!1),o=r.matchedSites||[];return e.jsxs(A,{component:"ul",...n,style:{...t,listStyle:"none"},children:[(a?o:o.slice(0,4)).map(s=>e.jsx(A,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:s.domain},s.id)),o.length>4&&e.jsx(V,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{l(!a)},children:i(a?"common.collapseAll":"common.expandAll")})]})}_r.propTypes={certificate:p.object.isRequired,style:p.object};const la=t=>{if(!t)return!1;const r=+new Date;return t-r<=0},zn="ssl-certificates-table";p.number;function kt({name:t,value:r,style:n={},icon:i,...a}){return e.jsxs(ca,{style:{display:"flex",alignItems:"center",...n},...a,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:r}),i&&i]})}const ca=ne.div`
252
+ `).join("|")}})}else await l.updateCertificate({input:{id:t.id,name:O.name.trim()}})},g=O=>l.issueLetsEncryptCert({input:{domain:O.domain}}),R={upload:{name:a("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:f},lets_encrypt:{name:a("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:g}},M=async O=>{s(!0);try{const G=R[j];if(!G)throw new Error("Invaid certificate source");await G.onSubmit(O),r(),x(!1)}catch(G){E(ge(G)||"unknown error, may be you can check file permission")}finally{s(!1)}},N=()=>{m(null),c(null),x(!0),E("")},I=O=>{D(O.target.value)},P=O=>{O.length>0&&E(te(O[0],"errors[0].message",a("router.cert.add.invalidFile")))},{getRootProps:Z,getInputProps:Y}=Bt({accept:[".pem",".crt"],multiple:!1,maxSize:Nn,onDropRejected:P,onDrop:O=>{c(O[0])}}),{getRootProps:he,getInputProps:pe}=Bt({accept:[".pem",".key"],multiple:!1,maxSize:Nn,onDropRejected:P,onDrop:O=>{m(O[0])}}),{errors:U}=b;return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:N,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[o?e.jsx(K,{size:16}):e.jsx(Le,{style:{fontSize:16}}),a(n==="add"?"common.add":"common.update")]}),w&&e.jsx(Jn,{title:a(n==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:v,actions:e.jsxs(e.Fragment,{children:[e.jsx(V,{onClick:v,color:"inherit","data-cy":"cert-cancel",children:a("router.cert.nginx.cancel")}),e.jsxs(V,{onClick:S(M),color:"secondary",disabled:_(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[a("router.cert.nginx.confirm"),o&&e.jsx(K,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:S(M),children:e.jsxs(W,{sx:{minWidth:{sm:480}},children:[e.jsxs(At,{component:"div",children:[n==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.source")}),e.jsx(rr,{"aria-label":"cert-source",name:"certSource",value:j,onChange:I,children:Object.values(R).map(O=>e.jsx(Ie,{value:O.value,control:e.jsx(It,{}),label:O.name},O.value))})]}),j==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.name")}),e.jsx(B,{name:"name",control:y,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("router.cert.name")})},render:({field:{value:O,onChange:G}})=>e.jsx(q,{fullWidth:!0,autoFocus:!0,defaultValue:O,onChange:G,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),n==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...Z({className:"dropzone"}),children:[e.jsx("input",{...Y(),"data-cy":"pem-input"}),d&&e.jsx(A,{color:"secondary",children:d.name}),!d&&e.jsx(A,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...he({className:"dropzone"}),children:[e.jsx("input",{...pe(),"data-cy":"key-input"}),u&&e.jsx(A,{color:"secondary",children:u.name}),!u&&e.jsx(A,{color:"secondary",children:a("router.cert.nginx.empty")}),e.jsx(A,{component:"small",variant:"body2",color:"textSecondary",children:a("router.cert.nginx.keyTip")})]})})]})]})]}),j==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(be,{severity:"success",children:a("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:a("common.domain")}),e.jsx(B,{name:"domain",control:y,rules:{validate:O=>!!O.trim()||a("common.requiredErrorText",{name:a("common.domain")})},render:({field:{value:O,onChange:G}})=>e.jsx(q,{fullWidth:!0,autoFocus:!0,defaultValue:O,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:G})})]})]})]}),!!C&&e.jsx(be,{severity:"error",style:{marginTop:8},children:C})]})})})]})}function la(t){const r=er(),{t:n}=z(),{api:i}=Q(),[a,l]=h.useState(!1),[o,s]=h.useState(null),{id:u,domain:m,onDelete:d=()=>{},...c}=t,{refresh:w}=de(),x=()=>{l(!1),s(null)},C=async()=>{l(!0);try{await i.deleteCertificate({input:{id:u}}),w(),d()}catch(j){console.error(j)}finally{l(!1),s(null)}},E={title:n("router.cert.delete.title"),description:n("router.cert.delete.description",{domain:m}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:C,onCancel:x};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>s(E),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:r.palette.error.main},...c,children:[a?e.jsx(K,{size:16}):e.jsx(ve,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(le,{title:o.title,description:o.description,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function Er(t){const{certificate:r={},...n}=t,{t:i,locale:a}=z(),[l,o]=h.useState(!1),s=er(),u=()=>{o(!1)},m=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(r.matchedSites||[]).map(c=>e.jsx(A,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:c.domain},c.id))},{id:"updatedAt",name:i("common.updatedAt"),value:r.updatedAt?e.jsx(tt,{value:r.updatedAt,type:"all",locale:a}):"-"},{id:"createdAt",name:i("common.createdAt"),value:r.createdAt?e.jsx(tt,{value:r.createdAt,type:"all",locale:a}):"-"}],d=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(A,{component:"span",style:{fontSize:"1.1rem"},children:(te(r,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:te(r,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:te(r,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:te(r,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:ai.duration(te(r,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:nt(te(r,"meta.validFrom"),a)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:nt(te(r,"meta.validTo"),a)}];return e.jsxs(e.Fragment,{children:[e.jsxs(V,{edge:"end",onClick:()=>o(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...n,children:[e.jsx(Pi,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(Jn,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:l,showCloseButton:!1,actions:e.jsx(V,{autoFocus:!0,variant:"contained",onClick:u,color:"secondary",children:i("common.close")}),children:[e.jsx(At,{component:"div",style:{margin:s.spacing(2)},children:m.map(c=>e.jsx(rt,{nameWidth:200,valueComponent:"div",name:c.name,children:c.value},c.id))},"cert-basic"),e.jsx(fn,{}),e.jsx(At,{component:"div",style:{margin:s.spacing(2)},children:d.map(c=>e.jsx(rt,{nameWidth:200,valueComponent:"div",name:c.name,children:c.value},c.id))},"cer-info"),e.jsx(fn,{})]})]})}Er.propTypes={certificate:p.object.isRequired};function _r({style:t={},certificate:r,...n}){const{t:i}=z(),[a,l]=h.useState(!1),o=r.matchedSites||[];return e.jsxs(A,{component:"ul",...n,style:{...t,listStyle:"none"},children:[(a?o:o.slice(0,4)).map(s=>e.jsx(A,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:s.domain},s.id)),o.length>4&&e.jsx(V,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{l(!a)},children:i(a?"common.collapseAll":"common.expandAll")})]})}_r.propTypes={certificate:p.object.isRequired,style:p.object};const ca=t=>{if(!t)return!1;const r=+new Date;return t-r<=0},zn="ssl-certificates-table";p.number;function kt({name:t,value:r,style:n={},icon:i,...a}){return e.jsxs(da,{style:{display:"flex",alignItems:"center",...n},...a,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:r}),i&&i]})}const da=ne.div`
253
253
  & > span {
254
254
  margin: 5px;
255
255
  }
256
- `;function Pr({status:t="",source:r="",expiresTime:n}){const{t:i}=z();return la(n)?e.jsx(Ke,{type:"error",children:i("router.cert.expired")}):r==="upload"?e.jsx(Ke,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Ke,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Ke,{type:"success",children:i("common.normal")}):""}Pr.propTypes={status:p.string,source:p.string,expiresTime:p.number.isRequired};const da=(t,r)=>{if(!r)return t;const n=(r.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>li(n,i.matchedSites))};function ua(){const{t,locale:r}=h.useContext(Mt),{api:n}=Q(),a=si().get("did"),l=Fe(async()=>{const{certificates:d}=await n.getCertificates();let c=null;if(a){const{blocklet:x}=await n.getBlocklet({input:{did:a,attachRuntimeInfo:!0}});c=x}return{certificates:da(d,c)}}),o=()=>{l.retry()},s=l.value?.certificates,u=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsxs(e.Fragment,{children:[c.name&&e.jsx(kt,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:c.name}),e.jsx(kt,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:te(c,"meta.issuer.commonName","")}),e.jsx(kt,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(fe,{title:c.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Pe,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:c.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(A,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...te(c,"meta.sans")||[],c.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:d=>{const c=s[d];return t(`router.cert.sourceTypes.${c.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(Pr,{status:c.status,source:c.source,expiresTime:te(c,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(tt,{value:te(c,"meta.validTo"),locale:r})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(_r,{id:c.id,certificate:c,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(re,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!c.isProtected&&e.jsxs(e.Fragment,{children:[c.source==="upload"&&e.jsx("div",{children:e.jsx(Un,{mode:"update",certificate:c,onRefresh:o})}),e.jsx("div",{children:e.jsx(sa,{id:c.id,domain:c.domain,onDelete:o})})]}),e.jsx("div",{children:e.jsx(Er,{id:c.id,certificate:c})})]})})}}}];if(l.error)return e.jsx(be,{severity:"error",children:ge(l.error)});if(l.loading)return e.jsx(K,{});const m=gi(zn);return e.jsx(ma,{children:e.jsx(tr,{title:e.jsx(re,{permission:"mutate_router",children:e.jsx(Un,{mode:"add",onRefresh:o,variant:"contained"})}),locale:r,data:l.value.certificates,columns:u,verticalKeyWidth:100,durable:zn,options:{search:!1,download:!1,filter:!1,print:!1,...m}})})}const ma=ne.div`
256
+ `;function Pr({status:t="",source:r="",expiresTime:n}){const{t:i}=z();return ca(n)?e.jsx(Ke,{type:"error",children:i("router.cert.expired")}):r==="upload"?e.jsx(Ke,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Ke,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Ke,{type:"success",children:i("common.normal")}):""}Pr.propTypes={status:p.string,source:p.string,expiresTime:p.number.isRequired};const ua=(t,r)=>{if(!r)return t;const n=(r.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>li(n,i.matchedSites))};function ma(){const{t,locale:r}=h.useContext(Mt),{api:n}=Q(),a=si().get("did"),l=Fe(async()=>{const{certificates:d}=await n.getCertificates();let c=null;if(a){const{blocklet:x}=await n.getBlocklet({input:{did:a,attachRuntimeInfo:!0}});c=x}return{certificates:ua(d,c)}}),o=()=>{l.retry()},s=l.value?.certificates,u=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsxs(e.Fragment,{children:[c.name&&e.jsx(kt,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:c.name}),e.jsx(kt,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:te(c,"meta.issuer.commonName","")}),e.jsx(kt,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(fe,{title:c.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Pe,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:c.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(A,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...te(c,"meta.sans")||[],c.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:d=>{const c=s[d];return t(`router.cert.sourceTypes.${c.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(Pr,{status:c.status,source:c.source,expiresTime:te(c,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(tt,{value:te(c,"meta.validTo"),locale:r})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(_r,{id:c.id,certificate:c,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:d=>{const c=s[d];return e.jsx(re,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!c.isProtected&&e.jsxs(e.Fragment,{children:[c.source==="upload"&&e.jsx("div",{children:e.jsx(Un,{mode:"update",certificate:c,onRefresh:o})}),e.jsx("div",{children:e.jsx(la,{id:c.id,domain:c.domain,onDelete:o})})]}),e.jsx("div",{children:e.jsx(Er,{id:c.id,certificate:c})})]})})}}}];if(l.error)return e.jsx(be,{severity:"error",children:ge(l.error)});if(l.loading)return e.jsx(K,{});const m=hi(zn);return e.jsx(fa,{children:e.jsx(tr,{title:e.jsx(re,{permission:"mutate_router",children:e.jsx(Un,{mode:"add",onRefresh:o,variant:"contained"})}),locale:r,data:l.value.certificates,columns:u,verticalKeyWidth:100,durable:zn,options:{search:!1,download:!1,filter:!1,print:!1,...m}})})}const fa=ne.div`
257
257
  .header {
258
258
  display: flex;
259
259
  justify-content: flex-end;
@@ -295,7 +295,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
295
295
  (?:${i}:){1}(?:(?::${i}){0,4}:${n}|(?::${i}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
296
296
  (?::(?:(?::${i}){0,5}:${n}|(?::${i}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
297
297
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
298
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),l=new RegExp(`(?:^${n}$)|(?:^${a}$)`),o=new RegExp(`^${n}$`),s=new RegExp(`^${a}$`),u=m=>m&&m.exact?l:new RegExp(`(?:${r(m)}${n}${r(m)})|(?:${r(m)}${a}${r(m)})`,"g");return u.v4=m=>m&&m.exact?o:new RegExp(`${r(m)}${n}${r(m)}`,"g"),u.v6=m=>m&&m.exact?s:new RegExp(`${r(m)}${a}${r(m)}`,"g"),Rt=u,Rt}var Tt,Mn;function fa(){if(Mn)return Tt;Mn=1;const t=Ar(),r=n=>t({exact:!0}).test(n);return r.v4=n=>t.v4({exact:!0}).test(n),r.v6=n=>t.v6({exact:!0}).test(n),r.version=n=>r(n)?r.v4(n)?4:6:void 0,Tt=r,Tt}var pa=fa();const Xe=Gt(pa);var Ee={exports:{}},_e={exports:{}},Wn;function ga(){if(Wn)return _e.exports;Wn=1;const t=Ar(),r={exact:!1},n=`${t.v4().source}\\/(3[0-2]|[12]?[0-9])`,i=`${t.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,a=new RegExp(`^${n}$`),l=new RegExp(`^${i}$`),o=new RegExp(`(?:^${n}$)|(?:^${i}$)`);return _e.exports=({exact:s}=r)=>s?o:new RegExp(`(?:${n})|(?:${i})`,"g"),_e.exports.v4=({exact:s}=r)=>s?a:new RegExp(n,"g"),_e.exports.v6=({exact:s}=r)=>s?l:new RegExp(i,"g"),_e.exports}var qn;function ha(){if(qn)return Ee.exports;qn=1;const{v4:t,v6:r}=ga(),n=t({exact:!0}),i=r({exact:!0});return Ee.exports=a=>n.test(a)?4:i.test(a)?6:0,Ee.exports.v4=a=>n.test(a),Ee.exports.v6=a=>i.test(a),Ee.exports}var xa=ha();const Qe=Gt(xa);function xe(t){return e.jsx(Ti,{...t,sx:di(r=>({".MuiSlider-root":{color:r.palette.primary.main,height:8,marginLeft:8},".MuiSlider-thumb":{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},".MuiSlider-valueLabel":{left:"calc(-50% + 4px)"},".MuiSlider-track":{height:8,borderRadius:4},".MuiSlider-rail":{height:8,borderRadius:4}}),t.sx)})}function ya(){const{info:{routing:t},api:r}=Q(),{t:n,locale:i}=z(),[a,l]=h.useState(!1),o=t.requestLimit||{};typeof o.enabled!="boolean"&&(o.enabled=!1),typeof o.rate!="number"&&(o.rate=k.GATEWAY_RATE_LIMIT.min),typeof o.global!="number"&&(o.global=k.GATEWAY_RATE_LIMIT_GLOBAL.min),typeof o.burstFactor!="number"&&(o.burstFactor=2),typeof o.burstDelay!="number"&&(o.burstDelay=0),Array.isArray(o.methods)||(o.methods=k.GATEWAY_RATE_LIMIT_METHODS);const s=t.blockPolicy||{};typeof s.enabled!="boolean"&&(s.enabled=!1),s.blacklist||(s.blacklist=[]),s.autoBlocking?Array.isArray(s.autoBlocking.statusCodes)||(s.autoBlocking.statusCodes=s.autoBlocking.statusCodes?[s.autoBlocking.statusCodes]:[403]):s.autoBlocking={enabled:!1,windowSize:1,windowQuota:5,statusCodes:[403,429],blockDuration:3600};const u=t.proxyPolicy||{};typeof u.enabled!="boolean"&&(u.enabled=!1),typeof u.trustRecursive!="boolean"&&(u.trustRecursive=!1),u.trustedProxies||(u.trustedProxies=["0.0.0.0/0"]),u.realIpHeader||(u.realIpHeader="X-Forwarded-For");const m=t.wafPolicy||{};typeof m.enabled!="boolean"&&(m.enabled=!1),m.mode||(m.mode="DetectionOnly"),m.inboundAnomalyScoreThreshold||(m.inboundAnomalyScoreThreshold=20),m.outboundAnomalyScoreThreshold||(m.outboundAnomalyScoreThreshold=10),m.logLevel||(m.logLevel=0);const{handleSubmit:d,control:c,watch:w}=Kt({defaultValues:{requestLimit:o,blockPolicy:s,proxyPolicy:u,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0,wafPolicy:m}}),x=w("requestLimit.enabled"),C=w("requestLimit.rate"),E=w("requestLimit.global"),j=w("requestLimit.burstFactor"),D=w("requestLimit.burstDelay"),S=w("blockPolicy.enabled"),b=w("blockPolicy.autoBlocking.enabled"),y=w("proxyPolicy.enabled"),L=w("proxyPolicy.trustRecursive"),F=w("wafPolicy.enabled"),_=async v=>{try{l(!0);const{blacklist:f}=v.blockPolicy;f.forEach(R=>{if(!Xe.v4(R)&&!Qe.v4(R)&&!Zn(R)&&!Xe.v6(R)&&!Qe.v6(R))throw new Error(n("router.gateway.blockPolicy.invalidItem"))});const{trustedProxies:g}=v.proxyPolicy;g.forEach(R=>{if(!Xe.v4(R)&&!Qe.v4(R)&&!Xe.v6(R)&&!Qe.v6(R))throw new Error(n("router.gateway.proxyPolicy.invalidItem"))}),await r.updateGateway({input:v}),await Gn(1e3),ae.success(n("common.saveSuccess"))}catch(f){ae.error(ge(f))}finally{l(!1)}};return e.jsx(ba,{children:e.jsx(re,{permission:"mutate_node",children:v=>e.jsxs(Vt,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:d(_),children:[e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.cacheEnabled.title")}),e.jsx(B,{name:"cacheEnabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.cacheEnabled.switchLabel")}),labelPlacement:"end"}})})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.reqLimit.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"requestLimit.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.reqLimit.switchLabel")}),labelPlacement:"end"}})}),x&&e.jsxs(e.Fragment,{children:[e.jsxs(W,{children:[e.jsx(ee,{id:"request-limit-global-desc",children:n("router.gateway.reqLimit.global",{global:E})}),e.jsx(B,{name:"requestLimit.global",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:10,min:k.GATEWAY_RATE_LIMIT_GLOBAL.min,max:k.GATEWAY_RATE_LIMIT_GLOBAL.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-factor-desc",children:n("router.gateway.reqLimit.burstFactor",{rate:Math.round(C*j),global:Math.round(E*j)})}),e.jsx(B,{name:"requestLimit.burstFactor",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:.1,min:k.GATEWAY_RATE_LIMIT_BURST_FACTOR.min,max:k.GATEWAY_RATE_LIMIT_BURST_FACTOR.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-delay-desc",children:n("router.gateway.reqLimit.burstDelay",{delay:D})}),e.jsx(B,{name:"requestLimit.burstDelay",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:0,max:60})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-rate-desc",children:n("router.gateway.reqLimit.rate",{rate:C})}),e.jsx(B,{name:"requestLimit.rate",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:k.GATEWAY_RATE_LIMIT.min,max:k.GATEWAY_RATE_LIMIT.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-methods-desc",children:n("router.gateway.reqLimit.methods")}),e.jsx(B,{name:"requestLimit.methods",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(ci,{row:!0,children:k.GATEWAY_RATE_LIMIT_METHODS.map(R=>e.jsx(Ie,{control:e.jsx(Xn,{disabled:!v,checked:f.includes(R),onChange:M=>{M.target.checked?g([...f,R]):g(f.filter(N=>N!==R))}}),label:R},R))})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.blockPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"blockPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.blockPolicy.switchLabel")}),labelPlacement:"end"}})}),S&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"blockPolicy.blacklist",control:c,render:({field:{value:f,onChange:g}})=>{const R=()=>{g([...f||[],""])},M=I=>{const P=[...f];P.splice(I,1),g(P)},N=(I,P)=>{const Z=[...f];Z[I]=P,g(Z)};return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(ee,{children:n("router.gateway.blockPolicy.blacklistDesc")}),(f||[]).map((I,P)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(q,{variant:"outlined",size:"small",disabled:a||!v,style:{flex:1},value:I,onChange:Z=>N(P,Z.target.value),placeholder:n("router.gateway.blockPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(_t,{disabled:a||!v,onClick:()=>M(P),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`blacklist-item-${P}`)),e.jsx(V,{disabled:a||!v,onClick:R,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Le,{}),children:n("router.gateway.blockPolicy.addItem")})]})}}),e.jsx(B,{name:"blockPolicy.autoBlocking.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.blockPolicy.autoBlocking.switchLabel")}),labelPlacement:"end"}})}),b&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"blockPolicy.autoBlocking.statusCodes",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-status-codes-desc",children:n("router.gateway.blockPolicy.autoBlocking.statusCodes")}),e.jsxs(pn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,multiple:!0,value:f,onChange:g,children:[e.jsx(X,{value:400,children:"400 Bad Request"}),e.jsx(X,{value:401,children:"401 Unauthorized"}),e.jsx(X,{value:403,children:"403 Forbidden (WAF)"}),e.jsx(X,{value:404,children:"404 Not Found"}),e.jsx(X,{value:429,children:"429 Too Many Requests"}),e.jsx(X,{value:405,children:"405 Method Not Allowed"})]})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.windowSize",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-size-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowSize")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,slotProps:{input:{endAdornment:e.jsxs(A,{variant:"body2",children:[gn(Number(f*1e3),{locale:hn(i),long:!0})," "]})}}})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.windowQuota",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-quota-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowQuota")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.blockDuration",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-block-duration-desc",children:n("router.gateway.blockPolicy.autoBlocking.blockDuration")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,slotProps:{input:{endAdornment:e.jsx(A,{variant:"body2",children:gn(Number(f*1e3),{locale:hn(i),long:!0})})}}})]})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.proxyPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"proxyPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.proxyPolicy.switchLabel")}),labelPlacement:"end"}})}),y&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"proxyPolicy.realIpHeader",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.realIpHeaderDesc")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g})]})}),e.jsx(B,{name:"proxyPolicy.trustRecursive",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{sx:{mt:2},children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.trustRecursiveDesc")}),e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.proxyPolicy.trustRecursive")}),labelPlacement:"end"}})]})}),L&&e.jsx(B,{name:"proxyPolicy.trustedProxies",control:c,render:({field:{value:f,onChange:g}})=>{const R=()=>{g([...f||[],""])},M=I=>{const P=[...f];P.splice(I,1),g(P)},N=(I,P)=>{const Z=[...f];Z[I]=P,g(Z)};return e.jsxs(W,{sx:{width:"100%",mt:2},children:[e.jsx(ee,{children:n("router.gateway.proxyPolicy.trustedProxiesDesc")}),(f||[]).map((I,P)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(q,{variant:"outlined",size:"small",disabled:a||!v,style:{flex:1},value:I,onChange:Z=>N(P,Z.target.value),placeholder:n("router.gateway.proxyPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(_t,{disabled:a||!v,onClick:()=>M(P),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`trusted-proxy-item-${P}`)),e.jsx(V,{disabled:a||!v,onClick:R,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Le,{}),children:n("router.gateway.proxyPolicy.addItem")})]})}})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.wafPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"wafPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.wafPolicy.switchLabel")}),labelPlacement:"end"}})}),F&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"wafPolicy.mode",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsxs(ee,{id:"waf-policy-mode-desc",children:[n("router.gateway.wafPolicy.modeDesc")," ",e.jsx(Ht,{href:`https://www.arcblock.io/docs/blocklet-developer/${i}/enable-web-application-firewall`,target:"_blank",children:n("router.gateway.wafPolicy.docDesc")})]}),e.jsxs(pn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,children:[e.jsx(X,{value:"DetectionOnly",children:n("router.gateway.wafPolicy.mode.detectOnly")}),e.jsx(X,{value:"On",children:n("router.gateway.wafPolicy.mode.on")})]})]})}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-inbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.inboundAnomalyScoreThresholdDesc")}),e.jsx(B,{name:"wafPolicy.inboundAnomalyScoreThreshold",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-outbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.outboundAnomalyScoreThresholdDesc")}),e.jsx(B,{name:"wafPolicy.outboundAnomalyScoreThreshold",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-log-level-desc",children:n("router.gateway.wafPolicy.logLevelDesc")}),e.jsx(B,{name:"wafPolicy.logLevel",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:0,max:9})})]})]})]})]}),e.jsx("div",{className:"form-actions",children:v&&e.jsxs(V,{disabled:a,onClick:d(_),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n("common.save")," ",a&&e.jsx(K,{size:16})]})})]})})})}const ba=ne.div`
298
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),l=new RegExp(`(?:^${n}$)|(?:^${a}$)`),o=new RegExp(`^${n}$`),s=new RegExp(`^${a}$`),u=m=>m&&m.exact?l:new RegExp(`(?:${r(m)}${n}${r(m)})|(?:${r(m)}${a}${r(m)})`,"g");return u.v4=m=>m&&m.exact?o:new RegExp(`${r(m)}${n}${r(m)}`,"g"),u.v6=m=>m&&m.exact?s:new RegExp(`${r(m)}${a}${r(m)}`,"g"),Rt=u,Rt}var Tt,Mn;function pa(){if(Mn)return Tt;Mn=1;const t=Ar(),r=n=>t({exact:!0}).test(n);return r.v4=n=>t.v4({exact:!0}).test(n),r.v6=n=>t.v6({exact:!0}).test(n),r.version=n=>r(n)?r.v4(n)?4:6:void 0,Tt=r,Tt}var ga=pa();const Xe=Gt(ga);var Ee={exports:{}},_e={exports:{}},Wn;function ha(){if(Wn)return _e.exports;Wn=1;const t=Ar(),r={exact:!1},n=`${t.v4().source}\\/(3[0-2]|[12]?[0-9])`,i=`${t.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,a=new RegExp(`^${n}$`),l=new RegExp(`^${i}$`),o=new RegExp(`(?:^${n}$)|(?:^${i}$)`);return _e.exports=({exact:s}=r)=>s?o:new RegExp(`(?:${n})|(?:${i})`,"g"),_e.exports.v4=({exact:s}=r)=>s?a:new RegExp(n,"g"),_e.exports.v6=({exact:s}=r)=>s?l:new RegExp(i,"g"),_e.exports}var qn;function xa(){if(qn)return Ee.exports;qn=1;const{v4:t,v6:r}=ha(),n=t({exact:!0}),i=r({exact:!0});return Ee.exports=a=>n.test(a)?4:i.test(a)?6:0,Ee.exports.v4=a=>n.test(a),Ee.exports.v6=a=>i.test(a),Ee.exports}var ya=xa();const Qe=Gt(ya);function xe(t){return e.jsx(Ei,{...t,sx:di(r=>({".MuiSlider-root":{color:r.palette.primary.main,height:8,marginLeft:8},".MuiSlider-thumb":{height:24,width:24,backgroundColor:"#fff",border:"2px solid currentColor","&:focus, &:hover, &$active":{boxShadow:"inherit"}},".MuiSlider-valueLabel":{left:"calc(-50% + 4px)"},".MuiSlider-track":{height:8,borderRadius:4},".MuiSlider-rail":{height:8,borderRadius:4}}),t.sx)})}function ba(){const{info:{routing:t},api:r}=Q(),{t:n,locale:i}=z(),[a,l]=h.useState(!1),o=t.requestLimit||{};typeof o.enabled!="boolean"&&(o.enabled=!1),typeof o.rate!="number"&&(o.rate=k.GATEWAY_RATE_LIMIT.min),typeof o.global!="number"&&(o.global=k.GATEWAY_RATE_LIMIT_GLOBAL.min),typeof o.burstFactor!="number"&&(o.burstFactor=2),typeof o.burstDelay!="number"&&(o.burstDelay=0),Array.isArray(o.methods)||(o.methods=k.GATEWAY_RATE_LIMIT_METHODS);const s=t.blockPolicy||{};typeof s.enabled!="boolean"&&(s.enabled=!1),s.blacklist||(s.blacklist=[]),s.autoBlocking?Array.isArray(s.autoBlocking.statusCodes)||(s.autoBlocking.statusCodes=s.autoBlocking.statusCodes?[s.autoBlocking.statusCodes]:[403]):s.autoBlocking={enabled:!1,windowSize:1,windowQuota:5,statusCodes:[403,429],blockDuration:3600};const u=t.proxyPolicy||{};typeof u.enabled!="boolean"&&(u.enabled=!1),typeof u.trustRecursive!="boolean"&&(u.trustRecursive=!1),u.trustedProxies||(u.trustedProxies=["0.0.0.0/0"]),u.realIpHeader||(u.realIpHeader="X-Forwarded-For");const m=t.wafPolicy||{};typeof m.enabled!="boolean"&&(m.enabled=!1),m.mode||(m.mode="DetectionOnly"),m.inboundAnomalyScoreThreshold||(m.inboundAnomalyScoreThreshold=20),m.outboundAnomalyScoreThreshold||(m.outboundAnomalyScoreThreshold=10),m.logLevel||(m.logLevel=0);const{handleSubmit:d,control:c,watch:w}=Kt({defaultValues:{requestLimit:o,blockPolicy:s,proxyPolicy:u,cacheEnabled:typeof t.cacheEnabled=="boolean"?t.cacheEnabled:!0,wafPolicy:m}}),x=w("requestLimit.enabled"),C=w("requestLimit.rate"),E=w("requestLimit.global"),j=w("requestLimit.burstFactor"),D=w("requestLimit.burstDelay"),S=w("blockPolicy.enabled"),b=w("blockPolicy.autoBlocking.enabled"),y=w("proxyPolicy.enabled"),L=w("proxyPolicy.trustRecursive"),F=w("wafPolicy.enabled"),_=async v=>{try{l(!0);const{blacklist:f}=v.blockPolicy;f.forEach(R=>{if(!Xe.v4(R)&&!Qe.v4(R)&&!Zn(R)&&!Xe.v6(R)&&!Qe.v6(R))throw new Error(n("router.gateway.blockPolicy.invalidItem"))});const{trustedProxies:g}=v.proxyPolicy;g.forEach(R=>{if(!Xe.v4(R)&&!Qe.v4(R)&&!Xe.v6(R)&&!Qe.v6(R))throw new Error(n("router.gateway.proxyPolicy.invalidItem"))}),await r.updateGateway({input:v}),await Gn(1e3),ae.success(n("common.saveSuccess"))}catch(f){ae.error(ge(f))}finally{l(!1)}};return e.jsx(va,{children:e.jsx(re,{permission:"mutate_node",children:v=>e.jsxs(Vt,{className:"form",noValidate:!0,autoComplete:"off",onSubmit:d(_),children:[e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.cacheEnabled.title")}),e.jsx(B,{name:"cacheEnabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.cacheEnabled.switchLabel")}),labelPlacement:"end"}})})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.reqLimit.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"requestLimit.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.reqLimit.switchLabel")}),labelPlacement:"end"}})}),x&&e.jsxs(e.Fragment,{children:[e.jsxs(W,{children:[e.jsx(ee,{id:"request-limit-global-desc",children:n("router.gateway.reqLimit.global",{global:E})}),e.jsx(B,{name:"requestLimit.global",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:10,min:k.GATEWAY_RATE_LIMIT_GLOBAL.min,max:k.GATEWAY_RATE_LIMIT_GLOBAL.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-factor-desc",children:n("router.gateway.reqLimit.burstFactor",{rate:Math.round(C*j),global:Math.round(E*j)})}),e.jsx(B,{name:"requestLimit.burstFactor",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:.1,min:k.GATEWAY_RATE_LIMIT_BURST_FACTOR.min,max:k.GATEWAY_RATE_LIMIT_BURST_FACTOR.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-burst-delay-desc",children:n("router.gateway.reqLimit.burstDelay",{delay:D})}),e.jsx(B,{name:"requestLimit.burstDelay",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:0,max:60})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-rate-desc",children:n("router.gateway.reqLimit.rate",{rate:C})}),e.jsx(B,{name:"requestLimit.rate",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:k.GATEWAY_RATE_LIMIT.min,max:k.GATEWAY_RATE_LIMIT.max})})]}),e.jsxs(W,{className:"form-item",sx:{width:"100%"},children:[e.jsx(ee,{id:"request-limit-methods-desc",children:n("router.gateway.reqLimit.methods")}),e.jsx(B,{name:"requestLimit.methods",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(ci,{row:!0,children:k.GATEWAY_RATE_LIMIT_METHODS.map(R=>e.jsx(Ie,{control:e.jsx(Xn,{disabled:!v,checked:f.includes(R),onChange:M=>{M.target.checked?g([...f,R]):g(f.filter(N=>N!==R))}}),label:R},R))})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.blockPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"blockPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.blockPolicy.switchLabel")}),labelPlacement:"end"}})}),S&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"blockPolicy.blacklist",control:c,render:({field:{value:f,onChange:g}})=>{const R=()=>{g([...f||[],""])},M=I=>{const P=[...f];P.splice(I,1),g(P)},N=(I,P)=>{const Z=[...f];Z[I]=P,g(Z)};return e.jsxs("div",{style:{width:"100%"},children:[e.jsx(ee,{children:n("router.gateway.blockPolicy.blacklistDesc")}),(f||[]).map((I,P)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(q,{variant:"outlined",size:"small",disabled:a||!v,style:{flex:1},value:I,onChange:Z=>N(P,Z.target.value),placeholder:n("router.gateway.blockPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(_t,{disabled:a||!v,onClick:()=>M(P),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`blacklist-item-${P}`)),e.jsx(V,{disabled:a||!v,onClick:R,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Le,{}),children:n("router.gateway.blockPolicy.addItem")})]})}}),e.jsx(B,{name:"blockPolicy.autoBlocking.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.blockPolicy.autoBlocking.switchLabel")}),labelPlacement:"end"}})}),b&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"blockPolicy.autoBlocking.statusCodes",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-status-codes-desc",children:n("router.gateway.blockPolicy.autoBlocking.statusCodes")}),e.jsxs(pn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,multiple:!0,value:f,onChange:g,children:[e.jsx(X,{value:400,children:"400 Bad Request"}),e.jsx(X,{value:401,children:"401 Unauthorized"}),e.jsx(X,{value:403,children:"403 Forbidden (WAF)"}),e.jsx(X,{value:404,children:"404 Not Found"}),e.jsx(X,{value:429,children:"429 Too Many Requests"}),e.jsx(X,{value:405,children:"405 Method Not Allowed"})]})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.windowSize",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-size-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowSize")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,slotProps:{input:{endAdornment:e.jsxs(A,{variant:"body2",children:[gn(Number(f*1e3),{locale:hn(i),long:!0})," "]})}}})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.windowQuota",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-window-quota-desc",children:n("router.gateway.blockPolicy.autoBlocking.windowQuota")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g})]})}),e.jsx(B,{name:"blockPolicy.autoBlocking.blockDuration",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"block-policy-auto-blocking-block-duration-desc",children:n("router.gateway.blockPolicy.autoBlocking.blockDuration")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,slotProps:{input:{endAdornment:e.jsx(A,{variant:"body2",children:gn(Number(f*1e3),{locale:hn(i),long:!0})})}}})]})})]})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.proxyPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"proxyPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.proxyPolicy.switchLabel")}),labelPlacement:"end"}})}),y&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"proxyPolicy.realIpHeader",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.realIpHeaderDesc")}),e.jsx(q,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g})]})}),e.jsx(B,{name:"proxyPolicy.trustRecursive",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{sx:{mt:2},children:[e.jsx(ee,{id:"proxy-policy-real-ip-header-desc",children:n("router.gateway.proxyPolicy.trustRecursiveDesc")}),e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.proxyPolicy.trustRecursive")}),labelPlacement:"end"}})]})}),L&&e.jsx(B,{name:"proxyPolicy.trustedProxies",control:c,render:({field:{value:f,onChange:g}})=>{const R=()=>{g([...f||[],""])},M=I=>{const P=[...f];P.splice(I,1),g(P)},N=(I,P)=>{const Z=[...f];Z[I]=P,g(Z)};return e.jsxs(W,{sx:{width:"100%",mt:2},children:[e.jsx(ee,{children:n("router.gateway.proxyPolicy.trustedProxiesDesc")}),(f||[]).map((I,P)=>e.jsx("div",{style:{display:"flex",gap:"8px",marginBottom:"8px"},children:e.jsx(q,{variant:"outlined",size:"small",disabled:a||!v,style:{flex:1},value:I,onChange:Z=>N(P,Z.target.value),placeholder:n("router.gateway.proxyPolicy.inputPlaceholder"),slotProps:{input:{endAdornment:e.jsx(_t,{disabled:a||!v,onClick:()=>M(P),size:"small",color:"error",children:e.jsx(ve,{})})}}})},`trusted-proxy-item-${P}`)),e.jsx(V,{disabled:a||!v,onClick:R,color:"primary",size:"small",variant:"outlined",startIcon:e.jsx(Le,{}),children:n("router.gateway.proxyPolicy.addItem")})]})}})]})]})]}),e.jsxs(me,{className:"gateway-section",direction:{sm:"column",md:"row"},spacing:2,children:[e.jsx(A,{className:"gateway-section-title",children:n("router.gateway.wafPolicy.title")}),e.jsxs(me,{className:"gateway-section-content",direction:"column",spacing:2,sx:{width:"100%"},children:[e.jsx(B,{name:"wafPolicy.enabled",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(oe,{checked:f,disabled:!v,onChange:R=>g(R.target.checked),labelProps:{label:e.jsx(A,{children:n("router.gateway.wafPolicy.switchLabel")}),labelPlacement:"end"}})}),F&&e.jsxs(e.Fragment,{children:[e.jsx(B,{name:"wafPolicy.mode",control:c,render:({field:{value:f,onChange:g}})=>e.jsxs(W,{children:[e.jsxs(ee,{id:"waf-policy-mode-desc",children:[n("router.gateway.wafPolicy.modeDesc")," ",e.jsx(Ht,{href:`https://www.arcblock.io/docs/blocklet-developer/${i}/enable-web-application-firewall`,target:"_blank",children:n("router.gateway.wafPolicy.docDesc")})]}),e.jsxs(pn,{variant:"outlined",fullWidth:!0,size:"small",disabled:a||!v,value:f,onChange:g,children:[e.jsx(X,{value:"DetectionOnly",children:n("router.gateway.wafPolicy.mode.detectOnly")}),e.jsx(X,{value:"On",children:n("router.gateway.wafPolicy.mode.on")})]})]})}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-inbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.inboundAnomalyScoreThresholdDesc")}),e.jsx(B,{name:"wafPolicy.inboundAnomalyScoreThreshold",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-outbound-anomaly-score-threshold-desc",children:n("router.gateway.wafPolicy.outboundAnomalyScoreThresholdDesc")}),e.jsx(B,{name:"wafPolicy.outboundAnomalyScoreThreshold",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:1,max:100})})]}),e.jsxs(W,{children:[e.jsx(ee,{id:"waf-policy-log-level-desc",children:n("router.gateway.wafPolicy.logLevelDesc")}),e.jsx(B,{name:"wafPolicy.logLevel",control:c,render:({field:{value:f,onChange:g}})=>e.jsx(xe,{disabled:!v,onChange:(R,M)=>g(M),defaultValue:f,valueLabelDisplay:"auto",step:1,min:0,max:9})})]})]})]})]}),e.jsx("div",{className:"form-actions",children:v&&e.jsxs(V,{disabled:a,onClick:d(_),color:"primary",variant:"contained","data-cy":"submit-btn",className:"form-submit",children:[n("common.save")," ",a&&e.jsx(K,{size:16})]})})]})})})}const va=ne.div`
299
299
  display: flex;
300
300
  align-items: flex-start;
301
301
  width: 100%;
@@ -314,7 +314,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
314
314
  flex-grow: 1;
315
315
  }
316
316
  }
317
- `;function ls(){const t=Kn(),{node:r}=h.useContext(ui),{t:n}=h.useContext(Mt),{tab:i="basic"}=mi(),a=u=>{t(`/settings/${u}`)},l=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],o={basic:Ki,integration:Vi,about:ao,router:e.jsx(vn,{children:e.jsx(ho,{})}),gateway:ya,cert:e.jsx(vn,{children:e.jsx(ua,{})})},s=o[i]||o.basic;return e.jsxs(va,{children:[e.jsx(A,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(fi,{tabs:l,current:i,onChange:a,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:h.isValidElement(s)?s:e.jsx(s,{node:r})})]})]})}const va=ne.main`
317
+ `;function cs(){const t=Kn(),{node:r}=h.useContext(ui),{t:n}=h.useContext(Mt),{tab:i="basic"}=mi(),a=m=>{t(`/settings/${m}`)},l=[{label:n("common.basic"),value:"basic"},{label:n("router.routerSetting"),value:"router"},{label:n("router.certSetting"),value:"cert"},{label:n("common.gateway"),value:"gateway"},{label:n("common.webhook"),value:"integration"},{label:n("common.about"),value:"about"}],o=fi(l.find(m=>m.value===i),n("common.setting")),s={basic:Yi,integration:Xi,about:so,router:e.jsx(vn,{children:e.jsx(xo,{})}),gateway:ba,cert:e.jsx(vn,{children:e.jsx(ma,{})})},u=s[i]||s.basic;return e.jsxs(ja,{children:[o,e.jsx(A,{component:"h2",variant:"h4",className:"page-header",color:"textPrimary",children:n("common.setting")}),e.jsxs(e.Fragment,{children:[e.jsx(pi,{tabs:l,current:i,onChange:a,scrollButtons:"auto"}),e.jsx("div",{className:"page-content",children:h.isValidElement(u)?u:e.jsx(u,{node:r})})]})]})}const ja=ne.main`
318
318
  .page-header {
319
319
  display: flex;
320
320
  justify-content: space-between;
@@ -324,4 +324,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
324
324
  .page-content {
325
325
  margin-top: 16px;
326
326
  }
327
- `;export{ls as default};
327
+ `;export{cs as default};