@abtnode/webapp 1.16.31-beta-4246ab25 → 1.16.31-beta-53480e26
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.
- package/blocklet.js +1 -1
- package/blocklet.yml +1 -1
- package/dist/assets/{Add-DL37aees.js → Add-Cgp6UmAg.js} +1 -1
- package/dist/assets/{ArrowDropDown-dhBf3UQN.js → ArrowDropDown-BVjtUDnO.js} +1 -1
- package/dist/assets/{Autocomplete-B1K-z6j7.js → Autocomplete-CX2pOSKy.js} +1 -1
- package/dist/assets/{Breadcrumbs-CPq3Co_Q.js → Breadcrumbs-CfLdvQuh.js} +1 -1
- package/dist/assets/{ButtonGroup-B8amf32z.js → ButtonGroup-BFB8FBwo.js} +1 -1
- package/dist/assets/{CheckCircle-KqDiWfg9.js → CheckCircle-BxN7W-le.js} +1 -1
- package/dist/assets/{ChevronLeft-CHS38-Lf.js → ChevronLeft-Pw3iZqJe.js} +1 -1
- package/dist/assets/{ChevronRight-DfWcXs0k.js → ChevronRight-CmJg2Cw4.js} +1 -1
- package/dist/assets/{Close-c20DJvRG.js → Close-bUHIxhaj.js} +1 -1
- package/dist/assets/{Delete-CIF3-2at.js → Delete-D_OS9ALf.js} +1 -1
- package/dist/assets/DeleteOutline-BvZiK55n.js +1 -0
- package/dist/assets/{DeleteOutline-56evEBiz.js → DeleteOutline-DMSjGyRf.js} +1 -1
- package/dist/assets/{Done-BYn5tion.js → Done-B3fd1NBv.js} +1 -1
- package/dist/assets/{Edit-Dsu22ySn.js → Edit-D0kDKp7P.js} +1 -1
- package/dist/assets/{EditIcon-CYYg8zYs.js → EditIcon-BK0ltKbv.js} +1 -1
- package/dist/assets/{ExpandMore-C21iA0xJ.js → ExpandMore-Bf1LLE51.js} +1 -1
- package/dist/assets/{FilterList-BFL6oxUg.js → FilterList-DmnR7V-T.js} +1 -1
- package/dist/assets/{Google-CZd5WdNY.js → Google-DQcXNjwe.js} +1 -1
- package/dist/assets/{Https-CvxDQ1y6.js → Https-DOuq786b.js} +1 -1
- package/dist/assets/{InputAdornment-BZ_RPHtc.js → InputAdornment-B4c5V3Mf.js} +1 -1
- package/dist/assets/{InputLabel-ZaMTuamD.js → InputLabel-BH8ojsN6.js} +1 -1
- package/dist/assets/{LastPage-Bmj6_zXy.js → LastPage-VB_AS_Vh.js} +1 -1
- package/dist/assets/{Launch-DyPv-wpY.js → Launch-DVaDsXRB.js} +1 -1
- package/dist/assets/{Link-Cn96OUM-.js → Link-Cq7wD1in.js} +1 -1
- package/dist/assets/{LoadingButton-B7ngIBYG.js → LoadingButton-BB0SfI5U.js} +1 -1
- package/dist/assets/{LockIcon-C2_I6NRC.js → LockIcon-ikzn_F6v.js} +1 -1
- package/dist/assets/{Loop-CXxNVtqo.js → Loop-CoIB6wNF.js} +1 -1
- package/dist/assets/{MoreHoriz-C-thER3e.js → MoreHoriz-ipAxzckg.js} +1 -1
- package/dist/assets/{MoreVert-BbRpNG54.js → MoreVert-nny3Ft7E.js} +1 -1
- package/dist/assets/{Pagination-YsqG8BmD.js → Pagination-DupWn88M.js} +1 -1
- package/dist/assets/{Public-D40ngsv3.js → Public-7nhJMjBD.js} +1 -1
- package/dist/assets/{SchemaReference.es-4ilmwa0a.js → SchemaReference.es-BMApSZwQ.js} +1 -1
- package/dist/assets/{Search-BjqcNmUl.js → Search-BUTthfzy.js} +1 -1
- package/dist/assets/{Select-CTPbRXl_.js → Select-BARjOLQh.js} +1 -1
- package/dist/assets/{Skeleton-9aiTk_xE.js → Skeleton-TUa0fNMH.js} +1 -1
- package/dist/assets/{Slider-Dy4m2qCN.js → Slider-DiT8jKeQ.js} +1 -1
- package/dist/assets/{Stepper-Bp8fNaBj.js → Stepper-BolhLUn_.js} +1 -1
- package/dist/assets/{TextField--mkozHu1.js → TextField-DLzLnEQT.js} +1 -1
- package/dist/assets/{ToggleButtonGroup-CljyOBsZ.js → ToggleButtonGroup-cXYZUu5r.js} +1 -1
- package/dist/assets/{ViewList-1TToQDPQ.js → ViewList-DxCKhzhs.js} +1 -1
- package/dist/assets/{actions-CKEDmJsZ.js → actions-DuBtPyY2.js} +1 -1
- package/dist/assets/{actions-CVYlEm9g.js → actions-ieXq1D_3.js} +1 -1
- package/dist/assets/{agreement-BELKcZFJ.js → agreement--45MLHN7.js} +1 -1
- package/dist/assets/api-DJ02_-Oy.js +1 -0
- package/dist/assets/{app-avatar-DmA8thcQ.js → app-avatar-2eSD2CPg.js} +1 -1
- package/dist/assets/{ar-CqvGG4eC.js → ar-2JePd-i1.js} +1 -1
- package/dist/assets/{audit-logs-BmbmEurZ.js → audit-logs-Dt9lalk3.js} +1 -1
- package/dist/assets/blocklet-C4NgRaSH.js +1 -0
- package/dist/assets/{brace-fold.es-DM6M5C2I.js → brace-fold.es-Cx7Pp8oO.js} +1 -1
- package/dist/assets/{bundle-avatar-BgWpyLQN.js → bundle-avatar-CstwvF2w.js} +1 -1
- package/dist/assets/{chart-CPaIqFF4.js → chart-DEAsbY7p.js} +1 -1
- package/dist/assets/{click-to-copy-B8WKUmW2.js → click-to-copy-Bsaf2xRi.js} +1 -1
- package/dist/assets/{closebrackets.es-Cfx18euz.js → closebrackets.es-LDf_Hccp.js} +1 -1
- package/dist/assets/{codemirror.es-DGWmyCdP.js → codemirror.es-DCD0kuMs.js} +1 -1
- package/dist/assets/{comment.es-DRCrPFfC.js → comment.es-RtZGLLrV.js} +1 -1
- package/dist/assets/{config-navigation-MxvX_AXR.js → config-navigation-_ZUWFkgh.js} +1 -1
- package/dist/assets/{de-l0XzFKav.js → de-DFRVy5eA.js} +1 -1
- package/dist/assets/{delete-confirm-DRGukBtY.js → delete-confirm-CpfgPoTZ.js} +1 -1
- package/dist/assets/{detail-Bhy-IRuk.js → detail-CGNFghKt.js} +3 -3
- package/dist/assets/{dialog.es-D--XLIrn.js → dialog.es-CY4DcxNf.js} +1 -1
- package/dist/assets/{download-BQnLF2v1.js → download-CWVMCLbP.js} +1 -1
- package/dist/assets/{es-DYmEeFzA.js → es-D3TLX5Mb.js} +1 -1
- package/dist/assets/{foldgutter.es-C0qtKtAX.js → foldgutter.es-BZu7SNj_.js} +1 -1
- package/dist/assets/{fr-DwS-xj4v.js → fr-B2p5dLWr.js} +1 -1
- package/dist/assets/getValidReactChildren-CLVx1EWM.js +1 -0
- package/dist/assets/{hi-Dj91QHv6.js → hi-DmXVnjfE.js} +1 -1
- package/dist/assets/{hint.es-BmhQ25XR.js → hint.es-DdDZBiN1.js} +1 -1
- package/dist/assets/{hint.es2-BX3GRjfO.js → hint.es2-B6S-tUTH.js} +1 -1
- package/dist/assets/{id-CzhlCzfQ.js → id-BPCkzz44.js} +1 -1
- package/dist/assets/{iframe-BFCDhgOr.js → iframe-BkaiAX0T.js} +1 -1
- package/dist/assets/{index-5SNrEmrV.js → index--loYEiKM.js} +1 -1
- package/dist/assets/{index-oTFnJoAS.js → index-0Sgb5oPf.js} +1 -1
- package/dist/assets/{index-BGE0jyVo.js → index-6-px9qAy.js} +1 -1
- package/dist/assets/{index-RrJkcdxY.js → index-B0m14nWb.js} +3 -3
- package/dist/assets/{index-Pzow3iAK.js → index-BD4I6crD.js} +1 -1
- package/dist/assets/{index-lIhJ9hU9.js → index-BJGMWnA_.js} +1 -1
- package/dist/assets/{index-CiG2dcjc.js → index-BQXrgmCr.js} +1 -1
- package/dist/assets/{index-C_hgTU8a.js → index-BZAu7qvV.js} +4 -4
- package/dist/assets/{index-CIrcsI7B.js → index-B_Mci9Ef.js} +1 -1
- package/dist/assets/{index-BvJ8mTCj.js → index-BkB6wU5C.js} +1 -1
- package/dist/assets/{index-B5uOXUkd.js → index-BkZfZe7e.js} +1 -1
- package/dist/assets/{index-CDOPpBF8.js → index-Bmta40GX.js} +1 -1
- package/dist/assets/{index-Br78006l.js → index-BnYjPpqB.js} +1 -1
- package/dist/assets/{index-YQ0W9Dn_.js → index-Bv32KhPI.js} +1 -1
- package/dist/assets/{index-B3q00Emv.js → index-C0C9n0GF.js} +1 -1
- package/dist/assets/{index-CALkY1DF.js → index-C6PRgT9c.js} +13 -13
- package/dist/assets/{index-BNm8r4bF.js → index-CDZ9mGf1.js} +1 -1
- package/dist/assets/{index-B6u-tjKR.js → index-CDfDGgRs.js} +1 -1
- package/dist/assets/{index-DWpyvk3k.js → index-CEIupTjX.js} +1 -1
- package/dist/assets/{index-DxhUoMTb.js → index-CNLVpIub.js} +1 -1
- package/dist/assets/{index-CmmvTPoy.js → index-CPI218vA.js} +1 -1
- package/dist/assets/{index-Cq3aT1Wc.js → index-CRNV5rSE.js} +1 -1
- package/dist/assets/{index-D1klsajH.js → index-CWuN3id6.js} +1 -1
- package/dist/assets/{index-C-Ia-HAG.js → index-CiBtNKkh.js} +1 -1
- package/dist/assets/{index-DRrUQA71.js → index-Cqx1aanX.js} +1 -1
- package/dist/assets/{index-IQotLDn2.js → index-Cyskc2Kt.js} +1 -1
- package/dist/assets/{index-BQelzM1K.js → index-D0sHKZuS.js} +1 -1
- package/dist/assets/{index-CogXVUQY.js → index-D6A1AZLm.js} +1 -1
- package/dist/assets/{index-5nCkYSvj.js → index-D9MRQCOD.js} +1 -1
- package/dist/assets/{index-CBzqRiyi.js → index-DEogVXBk.js} +1 -1
- package/dist/assets/{index-_Ee7BreY.js → index-DVSDRPzS.js} +1 -1
- package/dist/assets/{index-DYXXHiAp.js → index-DXkDzCPE.js} +1 -1
- package/dist/assets/{index-Ba-ukhc4.js → index-DfvPVPq7.js} +3 -3
- package/dist/assets/{index-DPSBf70U.js → index-Dhhn-NRS.js} +1 -1
- package/dist/assets/{index-BlPCM5LR.js → index-DojNP9lM.js} +1 -1
- package/dist/assets/{index-N_ezqcL0.js → index-DqEMTm5N.js} +1 -1
- package/dist/assets/{index-B7E0Awcq.js → index-DwxAoeFn.js} +5 -5
- package/dist/assets/{index-D9wmIisB.js → index-JFZCWUM3.js} +1 -1
- package/dist/assets/{index-CXjif8dM.js → index-PdOAjq0M.js} +1 -1
- package/dist/assets/{index-BpwaCLmN.js → index-gLfOV5I3.js} +1 -1
- package/dist/assets/{index-DVsz8ohf.js → index-juZnKaO5.js} +1 -1
- package/dist/assets/{index-RNKTxkl-.js → index-wpCTocms.js} +1 -1
- package/dist/assets/{index-Dtikx7Eg.js → index-xLDIvbfZ.js} +1 -1
- package/dist/assets/{index.es-ySO_wrVY.js → index.es-rNOLQa7L.js} +1 -1
- package/dist/assets/{index.esm-Dt9b-oQQ.js → index.esm-DsLyE9Xu.js} +1 -1
- package/dist/assets/{info-addon.es-Cti7SUf3.js → info-addon.es-BbJL0YX-.js} +1 -1
- package/dist/assets/{info.es-Cjq7uYw1.js → info.es-9ZCzgTD_.js} +1 -1
- package/dist/assets/{install-from-url-CnbA65na.js → install-from-url-BBpJ4CMF.js} +1 -1
- package/dist/assets/{invitation-CnkWqlnk.js → invitation-CikC7uq2.js} +1 -1
- package/dist/assets/{is-path-prefix-equal-VZvrfn15.js → is-path-prefix-equal-J2hOhmvd.js} +1 -1
- package/dist/assets/{isEqual-DbaWgzI7.js → isEqual-Bmi5Bu3B.js} +1 -1
- package/dist/assets/{item-9QHCFNCg.js → item-CnEz-3f1.js} +1 -1
- package/dist/assets/{ja-Ut-jFS9r.js → ja-DdBhyqmR.js} +1 -1
- package/dist/assets/{javascript.es-CgU_y5qk.js → javascript.es-BF3qqDhg.js} +1 -1
- package/dist/assets/{jump-to-line.es-CkyEHJGg.js → jump-to-line.es-BN5G6tY4.js} +1 -1
- package/dist/assets/{jump.es-COrGNxUe.js → jump.es-CnQvllfZ.js} +1 -1
- package/dist/assets/{ko-Clp4qzRT.js → ko-DagkAgw5.js} +1 -1
- package/dist/assets/{line-lhxzoPMu.js → line-UNVSEb9_.js} +3 -3
- package/dist/assets/{lint.es-CkHP4nYe.js → lint.es-C2AN8ZFv.js} +1 -1
- package/dist/assets/{lint.es2-Bw_rT_LD.js → lint.es2-C2WqkHvr.js} +1 -1
- package/dist/assets/{lint.es3-B0ohsdqX.js → lint.es3-Fz-_4dtf.js} +1 -1
- package/dist/assets/{list-header-u47Vy7cK.js → list-header-DA_lXPf6.js} +1 -1
- package/dist/assets/{log-DAb66FWZ.js → log-C8vvn-bO.js} +1 -1
- package/dist/assets/{lottie-D3pWzJE5.js → lottie-BKBPu1u_.js} +1 -1
- package/dist/assets/{matchbrackets.es-D0dI78Ov.js → matchbrackets.es-DO06XhQI.js} +1 -1
- package/dist/assets/{memory-DCJHOzSN.js → memory-WvEFC3gh.js} +1 -1
- package/dist/assets/{mode.es-DIFYwRGJ.js → mode.es-CRa-no-H.js} +1 -1
- package/dist/assets/{mode.es2-UFFtoNko.js → mode.es2-CHXzYyrw.js} +1 -1
- package/dist/assets/{mode.es3-Czs05A2c.js → mode.es3-DLPMB81l.js} +1 -1
- package/dist/assets/{onlineParser.es-Cve5jod2.js → onlineParser.es-B30kjcEV.js} +1 -1
- package/dist/assets/{overview-CwgWiiQU.js → overview-CQAvezED.js} +1 -1
- package/dist/assets/{pt-BXaJbqdY.js → pt-DTmAqAWs.js} +1 -1
- package/dist/assets/{react-QTh71lk0.js → react-BaSd4pJ4.js} +3 -3
- package/dist/assets/{redux-DuVPlCbI.js → redux-DM810vAx.js} +1 -1
- package/dist/assets/{resource-dialog-qQmBsEn9.js → resource-dialog-2z0a-PF6.js} +1 -1
- package/dist/assets/{ru-p_K_7IoQ.js → ru-BZQlsXeO.js} +1 -1
- package/dist/assets/{runtime-mWgKIuny.js → runtime-CIi4aCkC.js} +1 -1
- package/dist/assets/{schema-DzJK4Qpe.js → schema-DuwsmSM1.js} +1 -1
- package/dist/assets/sdk-BKOngHkd.js +1 -0
- package/dist/assets/{search.es-DiJHc_2I.js → search.es-cqcZ4Cw-.js} +1 -1
- package/dist/assets/{searchcursor.es-BYY4_s1M.js → searchcursor.es-B3Ng334L.js} +1 -1
- package/dist/assets/service-Bmw11bED.js +1 -0
- package/dist/assets/{shorten-label-BEC5vkYE.js → shorten-label-DkMvii7f.js} +1 -1
- package/dist/assets/{show-hint.es-BpFxoO3A.js → show-hint.es-Dp6As-xn.js} +1 -1
- package/dist/assets/{slicedToArray-B2K3KAC3.js → slicedToArray-CtU0PO29.js} +1 -1
- package/dist/assets/{spaces-CDn9UU1P.js → spaces-D1jkJ7_l.js} +1 -1
- package/dist/assets/{status-Cd5tThoM.js → status-rJ7yuno3.js} +1 -1
- package/dist/assets/{sublime.es-kDncqIBh.js → sublime.es-_V1o9dX1.js} +1 -1
- package/dist/assets/{switch-control-ocoukMWO.js → switch-control-CfrXUkfO.js} +1 -1
- package/dist/assets/{table-icons-Dmg06KMa.js → table-icons-Kvp_gs0u.js} +1 -1
- package/dist/assets/{team-DMKqiFvO.js → team-Y8ObkRFn.js} +1 -1
- package/dist/assets/{th-BJT9w_Lk.js → th-DSRLorcE.js} +1 -1
- package/dist/assets/{toUpper-Bcve63Ex.js → toUpper-DjqnYte2.js} +1 -1
- package/dist/assets/{traffic-Wxp8Ltv5.js → traffic-Co02z8Fi.js} +1 -1
- package/dist/assets/{url-evaluation-nvX3IIaY.js → url-evaluation-B6AI2aUV.js} +1 -1
- package/dist/assets/{url-join-BCJqa7hr.js → url-join-FDweORaV.js} +1 -1
- package/dist/assets/{use-blocklet-info-for-connect-did-spaces-BtE34caf.js → use-blocklet-info-for-connect-did-spaces-DsZkMmxY.js} +1 -1
- package/dist/assets/{useLocalStorage-BD5WLoZI.js → useLocalStorage-BoA343IZ.js} +1 -1
- package/dist/assets/{useThemeProps-4gHuFupb.js → useThemeProps-C9K3QBYc.js} +1 -1
- package/dist/assets/{util-C4ms7HGA.js → util-D5fDZ_8L.js} +1 -1
- package/dist/assets/{vi-CycHlNkN.js → vi-dE7BhTCc.js} +1 -1
- package/dist/assets/{wait-container-LHLomXQI.js → wait-container-f5I4qQ6M.js} +1 -1
- package/dist/assets/{withStyles-DsOD3JMa.js → withStyles-CenNsZ2i.js} +1 -1
- package/dist/assets/wrap-locale-6M8hS8dV.js +1 -0
- package/dist/assets/{zh-Dv1l1HNj.js → zh-DfGqeTts.js} +1 -1
- package/dist/assets/{zh-tw-44W5osxR.js → zh-tw-COZAaB9V.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +1 -1
- package/dist/assets/DeleteOutline-DbOwkOVw.js +0 -1
- package/dist/assets/api-DQmH1_5T.js +0 -1
- package/dist/assets/blocklet-ORJg4gol.js +0 -1
- package/dist/assets/getValidReactChildren-ljwZENsP.js +0 -1
- package/dist/assets/sdk-CuTlhAhm.js +0 -1
- package/dist/assets/service-CMRv4JDv.js +0 -1
- package/dist/assets/wrap-locale-DhsSCfjT.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as p,c as ue,u as Z,e as
|
|
1
|
+
import{r as p,c as ue,u as Z,e as Ie,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH as Er,aI as cn,aJ as qe,aK as he,aL as xe,P as u,n as V,t as N,ac as ne,aM as dn,aN as Pr,aO as Ar,aP as Ir,E as le,R as un,m as O,V as te,ax as pe,C as Y,K as ge,B as G,aQ as zn,M as de,Q as ee,f as Dt,S as Bn,aR as Lr,aS as Or,a9 as kr,aT as Fr,aU as Nr,aV as Ur,A as Wn,W as mn,T as fn,k as Q,aW as Rt,a as yt,U as ie,b as et,aX as qn,aY as Hn,aZ as Kn,a_ as $r,a2 as Mr,a$ as zr,b0 as Br,b1 as Wr,b2 as qr,b3 as Hr,b4 as He,a7 as Kr,d as Gn,N as Gr,b5 as Yr,aD as ze,a8 as ft,a5 as pt,b6 as Vr,a6 as vt,i as Yn,O as Xr,b7 as Qr,b8 as we,b9 as _e,ba as Zr,bb as Jr,D as Vn,x as bt,ai as ei,h as ti,at as pn,bc as ni,bd as gn,aj as ri,be as ii,bf as oi,bg as ai}from"./index-BZAu7qvV.js";import{T as si}from"./index-CNLVpIub.js";import{d as li}from"./ArrowDropDown-BVjtUDnO.js";import{u as Tt,C as re,a as hn}from"./index.esm-DsLyE9Xu.js";import{S as Ce}from"./switch-control-CfrXUkfO.js";import{d as Xn,i as ci}from"./is-path-prefix-equal-J2hOhmvd.js";import{T as K,F as di}from"./TextField-DLzLnEQT.js";import{D as Qn,g as ui}from"./index-xLDIvbfZ.js";import{d as Zn}from"./Link-Cq7wD1in.js";import{d as Le}from"./Delete-D_OS9ALf.js";import{C as Et}from"./delete-confirm-CpfgPoTZ.js";import{I as Ke}from"./index-CDfDGgRs.js";import{s as mi}from"./logo-BKA11TRi.js";import{_ as fi}from"./useLocalStorage-BoA343IZ.js";import{L as pi}from"./LoadingButton-BB0SfI5U.js";import{C as gi,d as Jn}from"./Public-7nhJMjBD.js";import{d as Pt}from"./Add-Cgp6UmAg.js";import{a as hi,W as Be}from"./url-evaluation-B6AI2aUV.js";import{B as er,D as xn,R as xi,a as yi}from"./status-rJ7yuno3.js";import{d as vi}from"./CheckCircle-BxN7W-le.js";import{d as bi}from"./ExpandMore-Bf1LLE51.js";import{d as ji}from"./ChevronRight-CmJg2Cw4.js";import{d as Ci}from"./MoreVert-nny3Ft7E.js";import{d as tr}from"./Edit-D0kDKp7P.js";import{d as Si,a as nr}from"./Https-DOuq786b.js";import{w as wi}from"./withStyles-CenNsZ2i.js";import{S as _i}from"./Slider-DiT8jKeQ.js";import"./index-gLfOV5I3.js";import"./Select-BARjOLQh.js";import"./InputLabel-BH8ojsN6.js";import"./FilterList-DmnR7V-T.js";import"./useThemeProps-C9K3QBYc.js";import"./LastPage-VB_AS_Vh.js";import"./index-Dhhn-NRS.js";import"./redux-DM810vAx.js";import"./Search-BUTthfzy.js";import"./index-BQXrgmCr.js";import"./click-to-copy-Bsaf2xRi.js";import"./shorten-label-DkMvii7f.js";const fe="Dashboard",rr=p.createContext({}),{Provider:Di,Consumer:ds}=rr,yn=[fe,T.DOMAIN_FOR_IP_SITE,T.DOMAIN_FOR_IP_SITE_REGEXP],Ri=(t,n)=>{if(t.name===T.DOMAIN_FOR_DEFAULT_SITE)return-1;if(n.name===T.DOMAIN_FOR_DEFAULT_SITE)return 1;const r=yn.includes(t.name),i=yn.includes(n.name);return r&&i?cn(t.name,n.name):r?-1:i?1:cn(t.name,n.name)},Ti=({sites:t,nodePort:n})=>{const r=window.location.host,o=(t||[]).map(a=>{const{id:l,rules:c=[],corsAllowedOrigins:h=[]}=a;let{domain:d,domainAliases:m}=a;m=m||[],[T.DOMAIN_FOR_IP_SITE,T.DOMAIN_FOR_IP_SITE_REGEXP].includes(d)&&(d=fe,m.find(f=>f.value===r)||m.unshift({protected:!1,value:r}));const g={id:l,name:d,type:"domain",items:[],domainAliases:m,isProtected:a.isProtected,corsAllowedOrigins:h};return(c||[]).forEach(f=>{const{id:y,isProtected:b,from:{pathPrefix:v},to:C}=f;if(C.type===T.ROUTING_RULE_TYPES.BLOCKLET){let R="";Number.parseInt(C.port,10)===Number.parseInt(n,10)?(R="Blocklet Server Dashboard",C.type=T.ROUTING_RULE_TYPES.DAEMON):R=C.did,g.items.push({id:y,name:ln(v||"/"),title:R,type:"rule",isProtected:b,pathPrefix:v,to:C})}else g.items.push({id:y,pathPrefix:v,name:ln(v||"/"),title:"Blocklet Server Dashboard",type:"rule",isProtected:b,to:C})}),g.items=Mn(g.items,f=>f.name),g}).sort(Ri),s=o.reduce((a,l)=>{let{name:c}=l;return c.endsWith(T.BLOCKLET_SITE_GROUP_SUFFIX)&&([c]=c.split(".")),a[c]={...l,rules:l.items},a},{});return{sites:o,siteMap:s}},Ei=({did:t,domain:n,mountPoint:r,siteMap:i,params:o}={})=>{if(!i)return null;const s=i[t];if(!s)return null;const a=n||(s.domainAliases||[])[0];if(!a)return null;let l=r;if(!l){const c=s.rules.filter(h=>!h.name.startsWith(T.WELLKNOWN_PATH_PREFIX))[0];l=c?c.name:"/"}return qe(a.value,l,o)},Pi=({did:t,mountPoint:n,siteMap:r,params:i}={})=>{if(!r)return[];const o=r[t];if(!o)return[];const s=o.domainAliases||[];if(!s.length)return[];let a=n;if(!a){const l=o.rules.filter(c=>!c.name.startsWith(T.WELLKNOWN_PATH_PREFIX))[0];a=l?l.name:"/"}return s.map(l=>qe(l.value,a,i))},Ai=t=>{const n=t.map(i=>i.domain).filter(i=>![T.DOMAIN_FOR_IP_SITE_REGEXP,T.DOMAIN_FOR_DEFAULT_SITE].includes(i));let r=[];return t.forEach(i=>r.push(...i.domainAliases||[])),r=r.map(i=>typeof i=="string"?{value:i,isProtected:!1}:i),{domains:n,domainsAliases:r}};function vn({children:t}){const n=ue(),{info:r}=Z(),[i,o]=p.useState([]),[s,a]=p.useState([]),[l,c]=p.useState([]),h=Ie(async()=>{const{sites:S}=await n.getRoutingSites({input:{snapshotHash:""}}),E=S||[];await Promise.all(E.map(async w=>(w.domainAliases=await Tr(w.domainAliases,{getIP:Er}),w)));const L=Ai(E);o(E),a(L.domains),c([window.location.hostname,...L.domains,...L.domainsAliases.map(w=>w.value)])},[r]),d=(S,E)=>{o(L=>L.map(w=>w.id===S?E.domain?E:{...E,domain:w.domain}:w))},m=S=>n.takeRoutingSnapshot({input:{dryRun:!1,message:encodeURIComponent(S)}}),g=async S=>{const E=await n.addRoutingSite({input:S});o(i.concat(E.site))},f=async(S,E)=>{const L=await n.updateRoutingSite({input:{id:S,...E}});if(L.site&&L.site.id){const w=i.findIndex(P=>P.id===L.site.id);w!==-1&&(i.splice(w,1,L.site),o([].concat(i)))}},y=async S=>{await n.deleteRoutingSite({input:{id:S}}),o(i.filter(E=>E.id!==S))},b=async(S,E,L)=>{const w=await n.addDomainAlias({input:{id:S,domainAlias:E,force:L}});d(S,w.site)},v=async(S,E)=>{const L=await n.deleteDomainAlias({input:{id:S,domainAlias:E}});d(S,L.site)},C=async(S,E)=>{const{site:L}=await n.addRoutingRule({input:{id:S,rule:E}});d(S,L)},R=async(S,E)=>{const{site:L}=await n.updateRoutingRule({input:{id:S,rule:E}});d(S,L)},j=async(S,E)=>{const{site:L}=await n.deleteRoutingRule({input:{id:S,ruleId:E}});d(S,L)},x={loading:h.loading,error:h.error,refresh:h.retry,api:n,actions:{addSite:g,updateSite:f,deleteSite:y,addDomainAlias:b,deleteDomainAlias:v,takeSnapshot:m,addRule:C,updateRule:R,deleteRule:j}},{sites:I,siteMap:D}=Ti({sites:i,nodePort:r.port});return x.sites=I,x.siteMap=D,x.domains=s,x.allDomains=l,x.getBlockletUrl=({did:S,domain:E,mountPoint:L,params:w})=>Ei({did:S,domain:E,mountPoint:L,siteMap:x.siteMap,params:w}),x.getBlockletUrls=({did:S,mountPoint:E,params:L})=>Pi({did:S,mountPoint:E,siteMap:x.siteMap,params:L}),e.jsx(Di,{value:{routing:x},children:t})}function ae(){const{routing:t}=p.useContext(rr);return t}function At(t){const n=[T.DOMAIN_FOR_IP_SITE_REGEXP,T.DOMAIN_FOR_DEFAULT_SITE,T.DOMAIN_FOR_IP_SITE];return typeof window<"u"&&typeof window.location<"u"&&n.push(window.location.hostname),n.includes(t)}var It={},Ii=xe;Object.defineProperty(It,"__esModule",{value:!0});var ir=It.default=void 0,Li=Ii(he()),Oi=e;ir=It.default=(0,Li.default)((0,Oi.jsx)("path",{d:"m7 14 5-5 5 5z"}),"ArrowDropUp");function ki(){return null}function Lt({confirm:t}){const[n,r]=p.useState(null),{t:i}=N(),o=()=>{r(null)},s=async l=>{if(l){let c=window.env&&window.env.apiPrefix?window.env.apiPrefix:"/";c==="/"?dn.push(`${l.pathname}`):(c.endsWith("/")&&(c=c.substring(0,c.length-1)),dn.push(`${c}${l.pathname}`)),window.location.reload()}},a=(l,...c)=>{let h=typeof t=="function"?t(l,...c):t;return h?(typeof h=="string"&&(h={description:h}),r({title:i("common.noticeTitle"),description:i("common.leavePageTip"),confirm:i("common.confirm"),cancel:i("common.cancel"),onConfirm:()=>s(l),onCancel:()=>o(),...h}),!1):!0};return e.jsxs(Fi,{children:[e.jsx(ki,{message:a}),n&&e.jsx(ne,{title:n.title,description:n.description,confirm:n.confirm,cancel:n.cancel,params:n.params,onConfirm:n.onConfirm,onCancel:n.onCancel})]})}Lt.propTypes={confirm:u.oneOfType([u.object,u.string,u.func])};Lt.defaultProps={confirm:null};const Fi=V.div`
|
|
2
2
|
margin-bottom: 24px;
|
|
3
3
|
.top-btns-alert {
|
|
4
4
|
@media (max-width: ${t=>t.theme.breakpoints.values.sm}px) {
|
|
@@ -61,7 +61,7 @@ import{r as p,c as ue,u as Z,e as Pe,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH
|
|
|
61
61
|
width: 100%;
|
|
62
62
|
max-width: 720px;
|
|
63
63
|
}
|
|
64
|
-
`;var Ft={},Wi=xe;Object.defineProperty(Ft,"__esModule",{value:!0});var or=Ft.default=void 0,qi=Wi(he()),Hi=e;or=Ft.default=(0,qi.default)((0,Hi.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");function Nt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{item:a,onDelete:l=()=>{}}=t,{id:c,title:h}=a,d=ue(),m=()=>{i(!1),s(null)},g=async()=>{i(!0);try{await d.deleteWebHook({input:{id:c}}),l()}catch(y){console.error(y)}finally{i(!1),s(null)}},f={keyName:c,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${h}</b>`,id:`<b>${c}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:g,onCancel:m};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>s(f),size:"small",className:"rule-action",color:"error",children:[r?e.jsx(Y,{size:16}):e.jsx(
|
|
64
|
+
`;var Ft={},Wi=xe;Object.defineProperty(Ft,"__esModule",{value:!0});var or=Ft.default=void 0,qi=Wi(he()),Hi=e;or=Ft.default=(0,qi.default)((0,Hi.jsx)("path",{d:"M2.01 21 23 12 2.01 3 2 10l15 2-15 2z"}),"Send");function Nt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{item:a,onDelete:l=()=>{}}=t,{id:c,title:h}=a,d=ue(),m=()=>{i(!1),s(null)},g=async()=>{i(!0);try{await d.deleteWebHook({input:{id:c}}),l()}catch(y){console.error(y)}finally{i(!1),s(null)}},f={keyName:c,title:n("setting.webhook.delTitle"),description:`${n("setting.webhook.description",{name:`<b>${h}</b>`,id:`<b>${c}</b>`})}`,confirmPlaceholder:n("setting.webhook.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:g,onCancel:m};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>s(f),size:"small",className:"rule-action",color:"error",children:[r?e.jsx(Y,{size:16}):e.jsx(Le,{style:{fontSize:16}}),n("common.delete")]}),o&&e.jsx(Et,{keyName:o.keyName,title:o.title,description:o.description,confirmPlaceholder:o.confirmPlaceholder,confirm:o.confirm,cancel:o.cancel,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Nt.propTypes={item:u.object.isRequired,onDelete:u.func};Nt.defaultProps={onDelete:()=>{}};function Ki(){const{api:t,imgPrefix:n}=Z(),{t:r,locale:i}=p.useContext(Dt),[o,s]=p.useState([]),[a,l]=p.useState(null),c=Ie(async()=>{const[{webhooks:j},{senders:x}]=await Promise.all([t.getWebHooks(),t.getWebhookSenders()]);return s(x),j}),h=c.value||[],{loading:d,error:m}=c,g=async j=>{try{await t.createWebHook({input:j}),c.retry()}catch(x){le.error(de(x),{autoHideDuration:4e3}),console.error("create webhook error",x)}l(null)},f=()=>{l(null)},y=j=>{const x={title:j.title,description:(I,D,S)=>{const E=w=>{D({list:w,__disableConfirm:w.some(P=>P.disable)})},L=I.list||[];return e.jsx(jn,{children:L.map((w,P)=>e.jsx(Gi,{children:e.jsx(K,{label:w.description,autoComplete:"off",variant:"outlined",inputProps:{"data-cy":"webhook-input"},fullWidth:!0,autoFocus:!0,style:{marginBottom:16},margin:"dense",value:w.value||w.defaultValue,onChange:A=>{w.required&&(w.disable=!0);const M=A.target.value.trim();w.value=M,L[P]=w,M?Lr(w.type,M)?(w.disable=!1,S("")):(w.disable=!0,S(r("setting.webhook.requiredError",{type:w.type}))):(w.required&&(w.disable=!0),S("")),E([...L])}})},w.name))})},params:{list:j.params,__disableConfirm:!0},confirm:r("setting.webhook.add"),cancel:r("common.cancel"),onConfirm:I=>{j.params=I.list,g(j)},onCancel:f};l(x)},b=j=>j.type==="slack"?e.jsx("img",{src:`${n}/${j.type}.png`,alt:"icon",style:{width:20,height:20}}):e.jsx(Zn,{}),v=async j=>{const x={webhookId:j.id,message:"This is a test notification in order to test the integration"};await t.sendTestMessage({input:x})},C=[{label:r("setting.webhook.columns.description"),name:"id",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:j=>{const x=h[j],I=o.find(D=>D.name===x.name);return e.jsxs("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:[b(x),e.jsxs("div",{style:{marginLeft:10},children:[e.jsxs("b",{children:["ID: ",x.id]}),e.jsx("div",{children:I?I.description:null})]})]})}}},{label:r("setting.webhook.columns.params"),name:"params",options:{sort:!1,customBodyRenderLite:j=>{const I=h[j].params.map(D=>e.jsx("div",{children:D.value}));return e.jsx("div",{style:{display:"flex",alignItems:"center",whiteSpace:"nowrap"},children:I})}}},{label:r("setting.webhook.columns.createdAt"),name:"createdAt",options:{customBodyRenderLite:j=>{const x=h[j];return e.jsx(Bn,{value:Number(x.createdAt),locale:i})}}},{label:r("common.actions"),align:"center",verticalKeyAlign:"center",options:{sort:!1,customBodyRenderLite:j=>{const x=h[j],I=o.find(D=>D.name===x.name)||{};return e.jsxs(e.Fragment,{children:[e.jsx(Nt,{item:{...x,title:I.title},onDelete:()=>{c.retry()}}),e.jsxs(G,{size:"small",color:"secondary",onClick:()=>{v(x)},children:[e.jsx(Yi,{}),r("setting.webhook.test")]})]})}}}];if(!h.length&&d)return e.jsx("div",{style:{textAlign:"center",marginTop:"50px"},children:e.jsx(Y,{})});if(!h.length&&m)return e.jsx(ge,{severity:"error",children:de(m)});const R=o.map(j=>({icon:b(j),title:`${r("common.add")} ${j.title}`,onClick:()=>{y(j)}}));return e.jsxs(jn,{children:[a&&e.jsx(ne,{color:"primary",title:a.title,description:a.description,confirm:a.confirm,params:a.params,onConfirm:a.onConfirm,onCancel:a.onCancel}),e.jsx(Qn,{columns:C,data:h,locale:i,customButtons:R,verticalKeyWidth:100,options:{download:!1,filter:!1,print:!1}})]})}const jn=V.div`
|
|
65
65
|
.button-addon {
|
|
66
66
|
text-align: right;
|
|
67
67
|
}
|
|
@@ -78,7 +78,7 @@ import{r as p,c as ue,u as Z,e as Pe,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH
|
|
|
78
78
|
`,Yi=V(or)`
|
|
79
79
|
font-size: 16px !important;
|
|
80
80
|
margin-right: 3px;
|
|
81
|
-
`;function
|
|
81
|
+
`;function tt({title:t,description:n,children:r}){return e.jsxs(Vi,{children:[e.jsxs(O,{component:"div",className:"danger-item-info",children:[e.jsx(O,{className:"title",component:"h3",variant:"h6",color:"textPrimary",gutterBottom:!0,children:t}),e.jsx(O,{className:"desc",component:"p",variant:"body1",color:"textSecondary",children:n})]}),e.jsx(O,{component:"div",className:"danger-item-action",children:r})]})}tt.propTypes={children:u.node.isRequired,title:u.string.isRequired,description:u.string.isRequired};const Vi=V.div`
|
|
82
82
|
display: flex;
|
|
83
83
|
justify-content: space-between;
|
|
84
84
|
align-items: center;
|
|
@@ -106,19 +106,19 @@ import{r as p,c as ue,u as Z,e as Pe,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH
|
|
|
106
106
|
margin-left: 10px;
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
`;function
|
|
109
|
+
`;function nt({children:t,...n}){return e.jsx(Xi,{...n,children:t})}const Xi=V.div`
|
|
110
110
|
border: 1px solid #dedede;
|
|
111
111
|
padding: 16px;
|
|
112
|
-
`;
|
|
112
|
+
`;nt.propTypes={children:u.node.isRequired};function Cn({action:t}){const{t:n}=N(),{info:r,api:i}=Z(),[o,s]=p.useState(!1),[a,l]=p.useState(null);if(t==="upgrade"&&!r.nextVersion)return null;const c=()=>{s(!1),l(null)},h=async()=>{try{s(!0),t==="upgrade"&&await i.upgradeNodeVersion(),t==="restart"&&await i.restartServer()}catch(m){le.error(de(m))}finally{s(!1),l(null)}},d={title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.dialog`),confirm:n("common.confirm"),cancel:n("common.cancel"),onConfirm:h,onCancel:c};return e.jsxs(e.Fragment,{children:[e.jsx(nt,{className:"danger-zone",children:e.jsx(tt,{title:n(`setting.form.${t}.title`,{version:r.nextVersion}),description:n(`setting.form.${t}.description`),children:e.jsxs(G,{onClick:()=>l(d),color:"error",variant:"outlined",size:"large",children:[o?e.jsx(Y,{size:16,style:{marginRight:3}}):null,n(`setting.form.${t}.confirm`)]})})}),a&&e.jsx(ne,{title:a.title,description:a.description,confirm:a.confirm,cancel:a.cancel,onConfirm:a.onConfirm,onCancel:a.onCancel})]})}var Ut={},Qi=xe;Object.defineProperty(Ut,"__esModule",{value:!0});var ar=Ut.default=void 0,Zi=Qi(he()),Ji=e;ar=Ut.default=(0,Zi.default)((0,Ji.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh");function eo(){const{t}=N(),{api:n}=Z(),[r,i]=p.useState(!1),[o,s]=p.useState(null),[a,l]=fi("last-check-server-version-time"),c=()=>{i(!1),s(null)},h={title:t("setting.form.upgrade.check"),description:t("setting.form.upgrade.latest"),confirm:t("common.confirm"),showCancel:!1,color:"primary",onConfirm:c,onCancel:c},d=async m=>{try{i(!0);const{version:g}=await n.checkNodeVersion();!g&&m&&s(h),l(Date.now())}catch(g){console.error(`Failed to check new version: ${g.message}`)}finally{i(!1)}};return p.useEffect(()=>{(!a||Date.now()-Number(a)>60*1e3)&&d(!1)},[]),e.jsxs(e.Fragment,{children:[e.jsx(pi,{sx:{ml:2},color:"primary",variant:"outlined",onClick:d,size:"small",loadingPosition:"end",loading:r,children:e.jsxs(Or,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(ar,{fontSize:"small"}),e.jsx(O,{component:"span",children:t("server.checkUpgrade")})]})}),o&&e.jsx(ne,{title:o.title,description:o.description,confirm:o.confirm,showCancel:o.showCancel,color:o.color,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}function to(){const{t}=N(),{info:n}=Z();return e.jsx(nt,{className:"danger-zone",children:e.jsx(tt,{title:t("blocklet.config.clearCache.name"),description:t("blocklet.config.clearCache.purpose"),children:e.jsx(gi,{teamDid:n.did,size:"large"})})})}const no="z8iZkFBbrVQxZHvcWWB3Sa2TrfGmSeFz9MSU7";function ro(){const{t,locale:n}=N(),{info:r}=Z(),i=p.useRef(null),o=kr(r),[s,a]=p.useState(!1),l=p.useRef(null),[c,h]=p.useState({}),{createdAt:d,did:m,description:g,name:f}=r,y=p.useMemo(()=>Fr(),[]),b=Nr(async()=>{var H;let{registerUrl:w}=r;localStorage.getItem("__registerUrl")&&(w=localStorage.getItem("__registerUrl"));const P=new URL(w);P.pathname="__blocklet__.js",P.searchParams.set("type","json");const{data:A}=await Ur.get(P.toString()),M=(H=A==null?void 0:A.componentMountPoints)==null?void 0:H.find(W=>W.did===no),$=new URL(w);return $.pathname=(M==null?void 0:M.mountPoint)||"",$.toString()}),v={did:m,name:f,createdAt:d,description:g,url:o},C=p.useMemo(()=>c.type&&c.type!=="notAdded",[c]),R=p.useMemo(()=>s?t("setting.form.register.detecting"):c.type==="update"?t("setting.form.register.update"):t(C?"setting.form.register.added":"setting.form.register.btn"),[s,c,n]),j=p.useMemo(()=>c.type==="update"?!1:!!C,[c]),x=()=>{i.current.contentWindow.postMessage({...v,action:"registerNode"},"*")},I=()=>{i.current.contentWindow.postMessage({...v,action:"queryRegisterInfo"},"*")},D=()=>{clearTimeout(l.current),a(!1),y&&I()},S=()=>{a(!0),l.current=setTimeout(()=>{le.error(t("setting.form.register.timeout")),a(!1)},1e3*6)};if(p.useEffect(()=>{let w;return window.addEventListener("message",w=P=>{const{data:A}=P;A==="launcher init"?D():(A==null?void 0:A.action)==="registerNode"&&(h(A),A.type==="addSucceed"&&le.success(t("setting.form.register.addSucceed")),A.type==="updateSucceed"&&le.success(t("setting.form.register.updateSucceed")))}),y&&S(),()=>{window.removeEventListener("message",w),clearTimeout(l.current)}},[]),b.loading)return"";const E=b.value,L=y?e.jsx(G,{disabled:j,loading:s,onClick:x,color:"primary",variant:"contained",size:"large",children:R}):e.jsx(G,{color:"primary",loading:s,component:"a",href:`${E}?register-server=${encodeURIComponent(JSON.stringify(v))}`,target:"_blank",variant:"contained",size:"large",children:t("setting.form.register.btn")});return e.jsxs(io,{children:[e.jsx(nt,{className:"danger-zone",children:e.jsx(tt,{title:t(C?"setting.form.register.titleAdded":"setting.form.register.title"),description:C?t("setting.form.register.descriptionOnAdded",{url:E}):t("setting.form.register.description",{url:E}),children:L})}),y&&e.jsx("iframe",{ref:i,src:`${E}?register-detect=1`,title:"register",style:{display:"none"}})]})}const io=V.div`
|
|
113
113
|
.danger-zone {
|
|
114
114
|
margin-top: 1vw;
|
|
115
115
|
width: 100%;
|
|
116
116
|
}
|
|
117
|
-
`;function oo(){const t=Wn(),{api:n,info:r}=Z(),{t:i}=N(),o=
|
|
117
|
+
`;function oo(){const t=Wn(),{api:n,info:r}=Z(),{t:i}=N(),o=Ie(async()=>{const a=await n.getNodeEnv();return Object.assign({},a.info||{})}),s=[];return s.push({name:i("dashboard.nodeDid"),value:e.jsx(mn,{did:r.did,showQrcode:!0})},r.nodeOwner?{name:i("dashboard.ownerDid"),value:e.jsx(mn,{did:r.nodeOwner.did,showQrcode:!0})}:null,{name:i("dashboard.routingEngine"),value:r.routing.provider}),o.value&&s.push({name:`${i("common.os")}`,value:o.value.os},o.value.docker?{name:`${i("common.docker")}`,value:e.jsx(fn,{type:"success",children:"Yes"})}:null,o.value.gitpod?{name:`${i("common.gitpod")}`,value:e.jsx(fn,{type:"success",children:"Yes"})}:null),Array.isArray(Q(o,"value.blockletEngines",null))&&o.value.blockletEngines.filter(a=>a.visible&&a.available).forEach(a=>{s.push({name:a.displayName,value:a.version})}),e.jsxs(ao,{children:[e.jsx(te,{permission:"mutate_node",children:a=>e.jsxs(e.Fragment,{children:[e.jsxs(ee,{display:"flex",alignItems:"center",style:{marginBottom:24},children:[e.jsx(ee,{width:50,height:50,children:e.jsx("img",{src:mi,height:50,alt:""})}),e.jsxs(ee,{ml:2,children:[e.jsx("h2",{style:{margin:0},children:r.name}),e.jsx("p",{style:{margin:0,color:"#888"},children:r.description})]})]}),e.jsxs(Ke,{style:{marginBottom:4},valueComponent:"div",nameWidth:150,name:i("common.version"),children:[r.version,a&&e.jsx(eo,{})]},"version"),s.filter(Boolean).map(l=>e.jsx(Ke,{valueComponent:"div",nameWidth:150,name:l.name,children:l.value},l.name)),a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Cn,{action:"upgrade"})})]})}),e.jsx(te,{permission:"mutate_node",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(Cn,{action:"restart"})})}),e.jsx(te,{permission:"mutate_router",children:a=>a&&e.jsx("div",{style:{maxWidth:720,marginBottom:"1vw"},children:e.jsx(to,{})})}),e.jsx(te,{permission:"mutate_blocklets",children:!!r.registerUrl&&e.jsx("div",{style:{maxWidth:720,marginTop:"-1vw"},children:e.jsx(ro,{})})}),e.jsx(ee,{mt:10,style:{marginLeft:-8},children:e.jsx(G,{className:"eula-btn",onClick:()=>{t("/eula")},children:i("common.goEULA")})})]})}const ao=V.div`
|
|
118
118
|
display: flex;
|
|
119
119
|
flex-direction: column;
|
|
120
120
|
margin-top: 32px;
|
|
121
|
-
`,sr=p.createContext({}),{Provider:so,Consumer:us}=sr;function lr({children:t,domains:n}){const r=ue(),i=JSON.stringify(n),[o,s]=p.useState({}),a=p.useMemo(()=>n.filter(f=>Rt(f)),[i]);yt(T.EVENTS.DOMAIN_STATUS,f=>{f&&s(y=>({...y,[f.domain]:{...y[f.domain],...f}}))});const{domainsAccessibility:l,recommendedDomain:c}=hi(a),h=p.useMemo(()=>{const f={...o};return Object.keys(l).forEach(y=>{const b=f[y]||{};f[y]={...b,...l[y]}}),f},[o,l]),d=()=>{a.length>0&&r.checkDomains({input:{domains:a}})},m=f=>{f&&r.checkDomains({input:{domains:[f]}})};p.useEffect(()=>{d()},[a]);const g={refresh:d,updateStatus:m,api:r,status:h,recommendedDomain:c,recommendedDomainStatus:h[c]};return e.jsx(so,{value:g,children:t})}lr.propTypes={children:u.any.isRequired,domains:u.array.isRequired};function nt(){const{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}=p.useContext(sr);return{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}}const lo=t=>(Q(t,"meta.interfaces")||[]).find(r=>r.type===Je.BLOCKLET_INTERFACE_TYPE_WEB);function Ie({params:t,blocklets:n,setParams:r,setError:i,serviceTypes:o}){const{t:s}=N(),a={301:s("common.redirectPermanently"),302:s("common.redirectTemporary"),307:s("common.redirectTemporary"),308:s("common.redirectPermanently")},l=Mn(n,d=>d.meta.name),c=(d,m)=>{if(!m)return{};let{port:g}=d;m&&d.ports&&m.port&&(d.ports[m.port]&&(g=d.ports[m.port]),d.ports[m.port.internal]&&(g=d.ports[m.port.internal]));let{pathPrefix:f}=t;return m&&m.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&(f=m.prefix),{port:g,pathPrefix:f}},h=d=>{const m=l.find(f=>f.meta.did===d),g=lo(m);return{...c(m,g),interfaceName:g?g.name:""}};return p.useEffect(()=>{!t.interfaceName&&t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&r({...t,...h(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(K,{select:!0,label:s("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:d=>{i(""),r({...t,type:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map(({name:d,value:m})=>e.jsx(ie,{value:m,children:d},m))}),t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(K,{select:!0,label:s("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:d=>{r({...t,...h(d.target.value),did:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[l.map(d=>e.jsxs(ie,{value:d.meta.did,children:[`${d.meta.name} v${d.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(er,{status:d.status,progress:d.progress})})]},d.meta.did)),n.length===0&&e.jsx(ie,{value:"",children:s("common.empty")},"empty")]}),t.type===T.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(K,{select:!0,label:s("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:d=>r({...t,redirectCode:d.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(a).map(d=>e.jsx(ie,{value:d,children:`${a[d]} - ${d}`},d))}),e.jsx(K,{label:s("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:s("router.urlHelperText"),style:{marginBottom:32},onChange:d=>{r({...t,url:d.target.value,__disableConfirm:!d.target.value.trim()}),d.target.value.trim()?i(""):i(s("router.validation.redirectUrlRequired"))}})]]})}Ie.propTypes={params:u.object,blocklets:u.array,serviceTypes:u.array,setParams:u.func,setError:u.func};Ie.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:T.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:T.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:T.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};const cr=(t,n)=>{if(t.type===T.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${n("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${n("router.validation.redirectCodeRequired")}`)}else if(t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(n("router.validation.didRequired"));return null},Te=(t,n)=>t?t.endsWith(T.DEFAULT_IP_DOMAIN_SUFFIX)?n("router.domain.validate.suffixTip",{suffix:T.DEFAULT_IP_DOMAIN_SUFFIX}):null:n("router.domain.validate.emptyTip"),co=(t,n)=>{const r=cr(t,n);if(r)return r;const i=Te(t.domain,n);return i?new Error(i):null},qe=(t,n)=>{const r=cr(t,n);return r||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(n("router.validation.pathPrefixTooLong",{length:150})):null:new Error(n("router.validation.pathPrefixCannotBeEmpty")))},dr=({params:t,blocklets:n,blocklet:r,locale:i="en"})=>{if(r){let a=(r.children||[]).find(l=>ci(l.mountPoint,t.pathPrefix));if(r.meta.group!=="gateway"&&t.pathPrefix==="/"&&(a="/"),a)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const o=n.find(a=>a.meta.did===t.did);if(!o)return"";const s=o.meta.interfaces.find(a=>a.type==="web");return s&&s.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==s.prefix?{zh:`该 blocklet 只能挂载在 ${s.prefix}`,en:`This blocklet can only be mounted on ${s.prefix}`}[i]:""},$t=t=>{if(t.length===0)return"";const{searchParams:n}=new URL(window.location.href),r=n.get("fromDid");if(r){const i=t.find(o=>o.meta.did===r);if(i)return i.meta.did}return t[0].meta.did};function rt({blocklets:t,onActivate:n=()=>{},children:r}){const{t:i}=N(),{actions:o}=ae(),{info:s}=Z(),[a,l]=p.useState(!1),[c,h]=p.useState(null),d=()=>{l(!1),h(null)},m=async y=>{l(!0);const b={from:{pathPrefix:"/"},to:{type:y.type}},v={domain:y.domain.trim()===s.ip?"":y.domain.trim()};if(y.type===T.ROUTING_RULE_TYPES.BLOCKLET){const C=t.find(j=>j.meta.did===y.did),R=Q(C,"meta.interfaces",[]).find(j=>j.name===y.interfaceName);R&&R.prefix!==Je.BLOCKLET_DYNAMIC_PATH_PREFIX&&(b.from.pathPrefix=R.prefix),b.to.port=y.port,b.to.did=y.did,b.to.interfaceName=y.interfaceName,v.rules=[b]}else y.type===T.ROUTING_RULE_TYPES.REDIRECT&&(b.to.url=y.url,b.to.redirectCode=y.redirectCode,v.rules=[b]);await o.addSite(v),l(!1),h(null)},g={title:i("router.domain.addSite"),description:(y,b,v)=>{const C=R=>{const j=R.__disableConfirm||!!co(R,i);b({...R,__disableConfirm:j})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:y.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:R=>{const j=R.target.value.trim(),x=Te(j,i);C({...y,domain:R.target.value,__disableConfirm:!!x}),v(x||"")}}),e.jsx(Ie,{blocklets:t,params:y,setParams:C,setError:v})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:$t(t),port:"",interfaceName:"",type:T.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:m,onCancel:d},f=y=>{y.stopPropagation(),h(g)||n()};return p.useEffect(()=>{const{searchParams:y}=new URL(window.location.href);y.get("fromDid")&&h(g)},[]),e.jsxs(e.Fragment,{children:[typeof r=="function"?r({loading:a,open:f}):e.jsxs(ie,{onClick:f,className:"rule-action","data-cy":"action-add-domain",children:[a?e.jsx(Y,{size:16}):e.jsx(Jn,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),c&&e.jsx(ne,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}rt.propTypes={blocklets:u.array,children:u.any,onActivate:u.func};rt.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Mt={},uo=xe;Object.defineProperty(Mt,"__esModule",{value:!0});var ur=Mt.default=void 0,mo=uo(he()),fo=e;ur=Mt.default=(0,mo.default)((0,fo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var zt={},po=xe;Object.defineProperty(zt,"__esModule",{value:!0});var mr=zt.default=void 0,go=po(he()),ho=e;mr=zt.default=(0,go.default)((0,ho.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage");var Bt={},xo=xe;Object.defineProperty(Bt,"__esModule",{value:!0});var fr=Bt.default=void 0,yo=xo(he()),vo=e;fr=Bt.default=(0,yo.default)((0,vo.jsx)("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"}),"SubdirectoryArrowRight");function Sn(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,name:c}=t;if(At(c))return null;const h=()=>{o(!1),a(null)},d=async()=>{o(!0),await r.deleteSite(l),o(!1),a(null)},m={title:n("router.domain.delete.title"),description:n("router.domain.delete.description",{name:`<b>${c}</b>`}),confirmPlaceholder:n("router.domain.delete.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:d,onCancel:h,keyName:c},g=f=>{f.stopPropagation(),a(m)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:18,marginRight:5}}),n("router.domain.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}function He({id:t,blocklets:n,onActivate:r=()=>{},onRuleAdded:i=()=>{},children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null),g=()=>{h(!1),m(null)},f=async v=>{const C=await qe(v,a);if(C)throw C;h(!0);const R={from:{pathPrefix:Hn(v.pathPrefix)},to:{type:v.type}};v.type===T.ROUTING_RULE_TYPES.BLOCKLET?(R.to.port=v.port,R.to.did=v.did,R.to.interfaceName=v.interfaceName):v.type===T.ROUTING_RULE_TYPES.REDIRECT&&(R.to.url=v.url.trim(),R.to.redirectCode=v.redirectCode),await l.addRule(t,R,s),m(null),h(!1),i()},y={title:a("router.rule.add.title"),description:(v,C,R)=>{const j=x=>{if(R(null),qe(x,a)){C({...x,__disableConfirm:!0});return}C({...x})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:a("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:v.helperText||a("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:v.pathPrefix,onChange:x=>{let I=!1;const D=dr({params:{...v,pathPrefix:x.target.value},blocklets:n});R(D),v.type===T.ROUTING_RULE_TYPES.BLOCKLET&&D&&(I=!0),v.type===T.ROUTING_RULE_TYPES.REDIRECT&&!v.url&&(I=!0),x.target.value.trim()||(I=!0,R(a("router.validation.pathPrefixRequired"))),I||R("");const S=a("common.slugifyHint",{value:qn(x.target.value)});C({...v,pathPrefix:x.target.value,helperText:S,__disableConfirm:I})}}),e.jsx(Ie,{blocklets:n,params:v,setParams:j,setError:R})]})},confirm:a("router.rule.add.confirm"),cancel:a("common.cancel"),params:{pathPrefix:"",type:T.ROUTING_RULE_TYPES.BLOCKLET,did:$t(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:f,onCancel:g},b=v=>{v.stopPropagation(),m(y)||r()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-add-rule",children:[c?e.jsx(Y,{size:16}):e.jsx(Zn,{style:{fontSize:18,marginRight:5}}),a("router.rule.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}He.propTypes={id:u.string.isRequired,blocklets:u.array,children:u.any,onActivate:u.func,onRuleAdded:u.func,teamDid:u.string};He.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""};function Wt(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,parent:{id:c},name:h,children:d,onActivate:m,teamDid:g}=t,f=()=>{o(!1),a(null)},y=async()=>{o(!0),await r.deleteRule(c,l,g),o(!1),a(null)},b={keyName:h,title:n("router.rule.delete.title"),description:n("router.rule.delete.description",{name:`<b>${h}</b>`}),confirmPlaceholder:n("router.rule.delete.confirm_desc",{name:h}),confirm:n("common.delConfirm"),cancel:n("router.rule.delete.cancel"),onConfirm:y,onCancel:f},v=C=>{C.stopPropagation(),a(b)||m()};return e.jsxs(e.Fragment,{children:[typeof d=="function"?d({loading:i,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-delete-rule",children:[i?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:18,marginRight:5}}),n("router.rule.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}Wt.propTypes={id:u.string.isRequired,name:u.string.isRequired,parent:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};Wt.defaultProps={onActivate:()=>{},children:null,teamDid:""};function qt(t){const{id:n,name:r,did:i,parent:o,blocklets:s,to:a,children:l,onActivate:c,teamDid:h}=t,{t:d}=N(),{actions:m}=ae(),[g,f]=p.useState(!1),[y,b]=p.useState(null),v=()=>{f(!1),b(null)},C=async x=>{const I=await qe(x,d);if(I)throw I;f(!0);const D={id:n,from:{pathPrefix:Hn(x.pathPrefix)},to:{type:x.type}};x.type===T.ROUTING_RULE_TYPES.BLOCKLET?(D.to.port=x.port,D.to.did=x.did,D.to.interfaceName=x.interfaceName):x.type===T.ROUTING_RULE_TYPES.REDIRECT&&(D.to.url=x.url,D.to.redirectCode=x.redirectCode),await m.updateRule(o.id,D,h),b(null),f(!1)},R={title:d("router.rule.update.title"),description:(x,I,D)=>{const S=E=>{if(qe(E,d)){I({...E,__disableConfirm:!0});return}I({...E})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:x.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:x.pathPrefix,onChange:E=>{let L=!1;const w=dr({params:{...x,pathPrefix:E.target.value},blocklets:s});x.type===T.ROUTING_RULE_TYPES.BLOCKLET&&w&&(L=!0,D(w)),x.type===T.ROUTING_RULE_TYPES.REDIRECT&&!x.url&&(L=!0),E.target.value.trim()||(L=!0,D(d("router.validation.pathPrefixRequired"))),L||D("");const P=d("common.slugifyHint",{value:qn(E.target.value)});I({...x,pathPrefix:E.target.value,helperText:P,__disableConfirm:L})}}),e.jsx(Ie,{blocklets:s,params:x,setParams:S,setError:D})]})},confirm:d("router.rule.update.confirm"),cancel:d("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:a.type||T.ROUTING_RULE_TYPES.BLOCKLET,did:i||$t(s),port:a.port||"",interfaceName:a.interfaceName||"",redirectCode:a.redirectCode||302,url:a.url||"",__disableConfirm:!1},onConfirm:C,onCancel:v},j=x=>{x.stopPropagation(),b(R)||c()};return e.jsxs(e.Fragment,{children:[typeof l=="function"?l({loading:g,open:j}):e.jsxs(ie,{onClick:j,className:"rule-action","data-cy":"action-update-rule",children:[g?e.jsx(Y,{size:16}):e.jsx(tr,{style:{fontSize:18,marginRight:5}}),d("router.rule.update.title")]}),y&&e.jsx(ne,{title:y.title,description:y.description,confirm:y.confirm,color:y.color,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})]})}qt.propTypes={id:u.string.isRequired,name:u.string.isRequired,did:u.string,parent:u.object.isRequired,blocklets:u.array,to:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};qt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};function Ke({id:t,name:n,onActivate:r,children:i,title:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(T.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=()=>{h(!1),m(null)},f=async C=>{h(!0),await l.addDomainAlias(t,C.domain.trim(),!!C.force,s),h(!1),m(null)},y=async(C,R,j)=>{try{await R(C)}catch(x){j(de(x))}finally{h(!1)}},b={title:o||a("router.domainAlias.add.title"),description:(C,R,j)=>e.jsxs(O,{component:"div",children:[e.jsx(K,{label:a("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:C.domain,style:{marginBottom:8},margin:"dense",onChange:x=>{const I=x.target.value.trim(),D=Te(I,a);R({...C,domain:I,__disableConfirm:!!D}),j(D||"")},onKeyPress:x=>{if(x.key==="Enter"){x.preventDefault();const I=x.target.value.trim(),D=Te(I,a);D?j(D):y(C,f,j)}}}),e.jsx(Kn,{control:e.jsx($r,{checked:C.force,onChange:x=>{R({...C,force:x.target.checked})},name:"checkedB",color:"primary"}),label:a("router.domainAlias.add.forceTip")})]}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:f,onCancel:g},v=C=>{C.stopPropagation(),m(b)||r()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:c,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-add-domain-alias",children:[c?e.jsx(Y,{size:16}):e.jsx(Si,{style:{fontSize:18,marginRight:5}}),a("router.domainAlias.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Ke.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,title:u.string,teamDid:u.string};Ke.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""};function Ge({id:t,name:n,corsAllowedOrigins:r,onActivate:i,children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(At(n))return null;let g=n;n.endsWith(T.BLOCKLET_SITE_GROUP_SUFFIX)&&(g=`${a("common.the")} Blocklet`);const f=()=>{h(!1),m(null)},y=async C=>{h(!0),await l.updateSite(t,{corsAllowedOrigins:C.corsAllowedOrigins.split(",").map(R=>R.trim())},s),h(!1),m(null)},b={title:a("router.domainSecurity.title"),description:(C,R,j)=>e.jsx(O,{component:"div",children:e.jsx(K,{label:a("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:C.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:a("router.domainSecurity.cors.description",{name:g}),onChange:x=>{R({...C,corsAllowedOrigins:x.target.value,__disableConfirm:!x.target.value.trim()}),x.target.value.trim()?j(""):j(a("router.domainSecurity.cors.domainInvalid"))}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:y,onCancel:f},v=C=>{C.stopPropagation(),m(b)||i()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-update-domain",children:[c?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:18,marginRight:5}}),a("router.domainSecurity.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Ge.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,corsAllowedOrigins:u.oneOfType([u.string,u.array]),teamDid:u.string};Ge.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""};function bo({id:t,name:n,onActivate:r}){const{t:i}=N(),{actions:o}=ae(),[s,a]=p.useState(!1),[l,c]=p.useState(null);if(At(n))return null;const h=()=>{a(!1),c(null)},d=async f=>{a(!0),await o.updateSite(t,{domain:f.domain.trim()}),a(!1),c(null)},m={title:i("router.domain.update.title"),description:(f,y,b)=>e.jsx(O,{component:"div",children:e.jsx(K,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:f.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:v=>{const C=v.target.value.trim(),R=Te(C,i);y({...f,domain:v.target.value,__disableConfirm:!!R}),b(R||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:d,onCancel:h},g=f=>{f.stopPropagation(),c(m)||r()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action",children:[s?e.jsx(Y,{size:16}):e.jsx(tr,{style:{fontSize:18,marginRight:5}}),i("router.domain.update.title")]}),l&&e.jsx(ne,{title:l.title,description:l.description,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel,color:"primary"})]})}function Se(t){const[n,r]=p.useState(null),i=l=>{l.stopPropagation(),r(l.currentTarget)},o=l=>{l&&l.stopPropagation(),r(null)},s=[];if(t.type==="root"&&s.push(e.jsx(rt,{...t,onActivate:o},"add-domain")),t.type==="domain"&&s.push(e.jsx(bo,{...t,onActivate:o},"update-domain"),e.jsx(He,{...t,onActivate:o,onRuleAdded:t.onRuleAdded},"add-rule"),e.jsx(Ke,{...t,onActivate:o},"add-domain-alias"),e.jsx(Ge,{...t,onActivate:o},"update-domain-security"),e.jsx(Sn,{...t,onActivate:o},"delete-domain")),t.type==="rule"&&s.push(e.jsx(qt,{...t,onActivate:o},"update-rule"),e.jsx(Wt,{...t,onActivate:o},"delete-rule")),t.type===T.ROUTING_RULE_TYPES.REDIRECT&&s.push(e.jsx(Sn,{...t,onActivate:o},"delete-domain")),(t.type==="dashboard_domain"||t.type==="blocklet_domain")&&s.push(e.jsx(He,{...t,onActivate:o},"add-rule"),e.jsx(Ge,{...t,onActivate:o},"update-domain-security"),e.jsx(Ke,{...t,onActivate:o},"add-domain-alias")),s.length===0)return null;const a=l=>{l.stopPropagation()};return e.jsxs("div",{children:[e.jsx(Mr,{onMouseDown:a,onClick:i,"data-cy":"action-trigger",size:"large",children:e.jsx(Ci,{})}),e.jsx(zr,{keepMounted:!0,onMouseDown:a,open:!!n,onClose:o,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:s})]})}Se.propTypes={blocklet:u.object,onRuleAdded:u.func};Se.defaultProps={onRuleAdded:()=>{},blocklet:{}};function Ht({certificate:t}){const[n,r]=p.useState(null),i=Z(),{t:o,locale:s}=N(),a=h=>{r(h.currentTarget)},l=()=>{r(null)},c=!!n;return e.jsxs(e.Fragment,{children:[e.jsx(nr,{"aria-owns":c?"mouse-over-popover":void 0,onMouseEnter:a,onMouseLeave:l,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Wr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:c,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:l,disableRestoreFocus:!0,children:e.jsx(qr,{children:e.jsxs(Hr,{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(O,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(O,{component:"div",style:{fontWeight:"bold"},children:t.domain}),e.jsx(O,{component:"div",children:`${o("common.issuer")}: ${Q(t,"issuer.commonName","")}`}),e.jsx(O,{component:"div",children:`${o("router.cert.issuedOn")}: ${Be(t.validFrom,s)}`}),e.jsx(O,{component:"div",children:`${o("router.cert.expiryOn")}: ${Be(t.validTo,s)}`})]})]})})})]})}Ht.propTypes={certificate:u.object};Ht.defaultProps={certificate:{}};function Ye(t){const{name:n,type:r,filters:i}=t,{t:o}=N(),{status:s}=nt();if(r!=="domain"||!Rt(n))return null;let a=null,l=null;const{isHttps:c,matchedCert:h}=s[n]||{};if(!Br(n)){const{dns:{resolved:m,ip:g}={}}=s[n]||{};m||g==="127.0.0.1"?a=e.jsx(pe,{title:o("router.domain.verify.ok"),children:e.jsx(xn,{color:"success"})}):a=e.jsx(pe,{title:o("router.domain.verify.notResolved"),children:e.jsx(xn,{color:"error"})})}c?l=e.jsx(Ht,{certificate:h}):l=e.jsx(pe,{title:o("router.domain.https.bad"),children:e.jsx(nr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const d=i.map(m=>m==="domain"?a:m==="http"?l:null);return p.createElement(p.Fragment,null,...d)}Ye.propTypes={type:u.string.isRequired,name:u.string.isRequired,filters:u.array};Ye.defaultProps={filters:["domain","http"]};const jo=t=>["waiting","creating","renewaling"].includes(t);function Kt(t){var I;const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{domain:a,onAdd:l,children:c,siteId:h}=t,{api:d}=Z(),[m,g]=p.useState(!1),{updateStatus:f}=nt(),y=ue(),b=Pe(async()=>{const{cert:D}=await y.findCertificateByDomain({input:{domain:a}});return D}),v=D=>{D.domain===a&&g(!1)};if(p.useEffect(()=>{var D;!b.loading&&jo((D=b.value)==null?void 0:D.status)&&g(!0)},[b]),yt(T.EVENTS.CERT_ERROR,v),yt(T.EVENTS.CERT_ISSUED,D=>{b.retry(),f(D.domain),v(D)}),b.loading||((I=b.value)==null?void 0:I.status)==="normal")return"";const C=()=>{i(!1),s(null)},R=async()=>{i(!0);try{await d.issueLetsEncryptCert({input:{domain:a,siteId:h}}),l(),g(!0)}catch(D){console.error(D),g(!1)}finally{i(!1),s(null)}},j={title:n("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(ge,{severity:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:R,onCancel:C},x=D=>{D.stopPropagation(),s(j)};return e.jsxs(e.Fragment,{children:[m?e.jsx(pe,{title:n("router.cert.issuing"),children:e.jsx(Y,{size:12})}):c({loading:r,open:x}),o&&e.jsx(ne,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Kt.propTypes={domain:u.string.isRequired,onAdd:u.func,children:u.any,siteId:u.string.isRequired};Kt.defaultProps={onAdd:()=>{},children:null};function Ve(t){var i;const{status:n}=nt(),{domain:r}=t;return!Rt(r)||(i=n[r])!=null&&i.isHttps?"":e.jsx(Kt,{...t})}Ve.propTypes={siteId:u.string.isRequired,domain:u.string.isRequired,onAdd:u.func,children:u.any};Ve.defaultProps={onAdd:()=>{},children:null};function Gt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{id:a,domain:l,onDelete:c,children:h,teamDid:d}=t,{actions:m}=ae();if(l===window.location.hostname)return"";const g=()=>{i(!1),s(null)},f=async()=>{i(!0);try{await m.deleteDomainAlias(a,l,d),c()}catch(v){console.error(v)}finally{i(!1),s(null)}},y={title:n("router.domainAlias.delete.title"),description:n("router.domainAlias.delete.description"),confirm:n("common.confirm"),onConfirm:f,onCancel:g},b=v=>{v.stopPropagation(),s(y)};return e.jsxs(e.Fragment,{children:[typeof h=="function"?h({loading:r,open:b}):e.jsxs(G,{edge:"end",onClick:b,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[r?e.jsx(Y,{size:16}):e.jsx(Ae,{style:{fontSize:16}}),n("router.domainAlias.delete.title")]}),o&&e.jsx(ne,{title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Gt.propTypes={id:u.string.isRequired,domain:u.string.isRequired,onDelete:u.func,children:u.any,teamDid:u.string};Gt.defaultProps={onDelete:()=>{},children:null,teamDid:""};function Yt({domain:t,isHttps:n,toUrl:r}){const i=n?"https":"http",{t:o}=N();let s=r;return Qr(s)||(s=`${i}://${t}${r}`),e.jsxs(e.Fragment,{children:[e.jsx(O,{className:"arrow-name-middle",children:o("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Yn,{href:s,target:"_blank",underline:"hover",children:r},s)]})}Yt.propTypes={domain:u.string.isRequired,toUrl:u.string.isRequired,isHttps:u.bool};Yt.defaultProps={isHttps:!1};function Vt(){const{t}=N();return e.jsx(O,{className:"arrow-name-middle",children:t("common.page404")})}Vt.propTypes={};Vt.defaultProps={};function Ee(t){const{t:n}=N(),{data:r}=Gn(),{info:i}=Z(),{status:o}=nt(),s=r.map(W=>({meta:{did:W.meta.did,name:Gr.getDisplayName(W,!0),version:W.meta.version,interfaces:W.meta.interfaces},port:W.port,ports:W.ports,status:W.status})),{id:a,type:l,name:c,title:h,items:d=[],depth:m,to:g,expand:f,isProtected:y,pathPrefix:b,parent:v,domainAliases:C}=t;let R=c;const j=c.endsWith(T.BLOCKLET_SITE_GROUP_SUFFIX);let x=l;c===fe&&(x="dashboard_domain"),j&&(x="blocklet_domain");const[I,D]=p.useState(f),E={root:mr,domain:Jn,rule:fr}[l],L={paddingBottom:8,paddingLeft:8};if(l==="domain"){let W=function({domain:z,primaryDomain:U,rules:F}){let q=ze(z);return U===fe?q=`${q}/${i.routing.adminPath.replace(/^\/+/,"")}`:F&&F.length&&F[0].pathPrefix&&(q=`${q}/${F[0].pathPrefix.replace(/^\/+/,"")}`),z!==fe?e.jsx(Co,{href:q,target:"_blank",rel:"noreferrer",onClick:ye=>ye.stopPropagation(),children:z}):z};if(y&&!j)return null;if(j){const z=c.replace(T.BLOCKLET_SITE_GROUP_SUFFIX,""),U=s.find(F=>F.meta.did===z);if(!U||U.controller)return null;R=U.meta.title||U.meta.name}W.propTypes={domain:u.string.isRequired,primaryDomain:u.string.isRequired,rules:u.array.isRequired};const me=()=>{D(!0)};let ce=(C||[]).filter(z=>z.value!==c);return ce=Yr(ce),[e.jsxs(gt,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[e.jsxs(mt,{onClick:()=>D(z=>!z),children:[d.length>0&&(I?e.jsx(bi,{}):e.jsx(ji,{})),e.jsx(E,{style:{fontSize:22}})]}),e.jsx(ft,{onClick:()=>D(z=>!z),className:`rule-name rule-name--depth${m}`,style:{flex:1},secondary:d.length<=0?e.jsx("span",{className:"site-secondary",children:n("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[c===T.DOMAIN_FOR_DEFAULT_SITE&&n("router.defaultSite"),c!==T.DOMAIN_FOR_DEFAULT_SITE&&!j&&e.jsx(W,{domain:c,primaryDomain:c,rules:d}),j&&R,d.length&&!I?e.jsx("span",{style:{marginLeft:5},children:`(${d.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),l==="domain"&&c!==T.DOMAIN_FOR_DEFAULT_SITE&&c!==fe&&!j&&e.jsxs(e.Fragment,{children:[e.jsx(Ye,{type:l,name:c},c),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ve,{siteId:a,domain:c,children:({open:z})=>e.jsx(G,{size:"small",onClick:U=>z(U),children:n("router.cert.genLetsEncryptCert.title")})})]})]}),ce.map(z=>{const U=typeof z!="string"?z.value:z;return e.jsxs("div",{className:"site-alias",children:[e.jsx(W,{domain:U,primaryDomain:c,rules:d}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ye,{type:l,name:U},`domain-status-${c}`),e.jsx(Ve,{siteId:a,domain:U,children:({open:F})=>e.jsx(G,{size:"small",onClick:q=>F(q),children:n("router.cert.genLetsEncryptCert.title")})}),!z.isProtected&&e.jsx(Gt,{id:t.id,domain:U},"delete-domain-alias"),U!==fe&&U!==window.location.hostname&&e.jsx(Se,{...t,domain:U,type:"domainAlias",onRuleAdded:me},`action-${c}`)]},U)})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t,onRuleAdded:me,type:x},c)})})]},"parent"),e.jsx(Vr,{in:I,children:d.length>0&&e.jsx(vt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(z=>e.jsx(Ee,{...z,parent:t,depth:m+1},z.id))},"children")},"rules")]}if(l==="root")return[e.jsxs(gt,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(mt,{children:e.jsx(E,{style:{fontSize:22}})}),e.jsx(ft,{primary:c}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t})})})]},"root"),d.length>0&&e.jsx(vt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(W=>e.jsx(Ee,{expand:!y,...W,parent:t,depth:m+1},W.id))},"children")];let w=`/blocklets/${g.did}/overview`;g.type===T.ROUTING_RULE_TYPES.DAEMON&&(w="/");const P={meta:{did:i.did,name:"Blocklet Server Dashboard",version:i.version},status:"running",port:i.port},A=g.did===i.did?P:s.find(W=>W.meta.did===g.did),M=A&&A.status==="running"||g.type===T.ROUTING_RULE_TYPES.DAEMON,$=n(M?"router.healthy.ok":"router.healthy.error"),H=o[v.name]||{};return e.jsxs(gt,{className:"hover-item",divider:!0,disableGutters:!0,style:L,"data-cy":"rule-item",children:[e.jsx(mt,{className:"arrow-icon",children:e.jsx(E,{style:{fontSize:22}})}),e.jsx(ft,{primary:e.jsxs(O,{component:"div",className:"arrow-name",children:[e.jsx(O,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:c}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(g.type===T.ROUTING_RULE_TYPES.DAEMON||g.type===T.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[v.name!==T.DOMAIN_FOR_DEFAULT_SITE&&M&&e.jsx(ee,{className:"arrow-name-middle",children:e.jsx(Yn,{href:ze(v.name,b),target:"_blank",underline:"hover",children:n("common.open")})}),v.name===T.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(O,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!M&&e.jsx("span",{className:"arrow-name-middle",children:n("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(Xr,{to:w,className:"arrow-name-right",children:[e.jsx(pe,{title:$,children:M?e.jsx(vi,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(ur,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:A?A.meta.name:h}),A&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(er,{status:A.status,progress:A.progress})})]})]}),g.type===T.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(Yt,{prefix:b,domain:v.name,toUrl:g.url,isHttps:H.isHttps}),g.type===T.ROUTING_RULE_TYPES.NONE&&e.jsx(Vt,{})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t,did:g.did})})})]},c)}Ee.propTypes={type:u.string.isRequired,to:u.object,name:u.string.isRequired,title:u.string,id:u.string,items:u.array,parent:u.object,depth:u.number,expand:u.bool,isProtected:u.bool,pathPrefix:u.string,domainAliases:u.array};Ee.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const gt=V(Kr)`
|
|
121
|
+
`,sr=p.createContext({}),{Provider:so,Consumer:us}=sr;function lr({children:t,domains:n}){const r=ue(),i=JSON.stringify(n),[o,s]=p.useState({}),a=p.useMemo(()=>n.filter(f=>Rt(f)),[i]);yt(T.EVENTS.DOMAIN_STATUS,f=>{f&&s(y=>({...y,[f.domain]:{...y[f.domain],...f}}))});const{domainsAccessibility:l,recommendedDomain:c}=hi(a),h=p.useMemo(()=>{const f={...o};return Object.keys(l).forEach(y=>{const b=f[y]||{};f[y]={...b,...l[y]}}),f},[o,l]),d=()=>{a.length>0&&r.checkDomains({input:{domains:a}})},m=f=>{f&&r.checkDomains({input:{domains:[f]}})};p.useEffect(()=>{d()},[a]);const g={refresh:d,updateStatus:m,api:r,status:h,recommendedDomain:c,recommendedDomainStatus:h[c]};return e.jsx(so,{value:g,children:t})}lr.propTypes={children:u.any.isRequired,domains:u.array.isRequired};function rt(){const{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}=p.useContext(sr);return{status:t,recommendedDomainStatus:n,recommendedDomain:r,updateStatus:i}}const lo=t=>(Q(t,"meta.interfaces")||[]).find(r=>r.type===et.BLOCKLET_INTERFACE_TYPE_WEB);function Oe({params:t,blocklets:n,setParams:r,setError:i,serviceTypes:o}){const{t:s}=N(),a={301:s("common.redirectPermanently"),302:s("common.redirectTemporary"),307:s("common.redirectTemporary"),308:s("common.redirectPermanently")},l=Mn(n,d=>d.meta.name),c=(d,m)=>{if(!m)return{};let{port:g}=d;m&&d.ports&&m.port&&(d.ports[m.port]&&(g=d.ports[m.port]),d.ports[m.port.internal]&&(g=d.ports[m.port.internal]));let{pathPrefix:f}=t;return m&&m.prefix!==et.BLOCKLET_DYNAMIC_PATH_PREFIX&&(f=m.prefix),{port:g,pathPrefix:f}},h=d=>{const m=l.find(f=>f.meta.did===d),g=lo(m);return{...c(m,g),interfaceName:g?g.name:""}};return p.useEffect(()=>{!t.interfaceName&&t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&r({...t,...h(t.did),__disableConfirm:!1})},[]),e.jsxs(e.Fragment,{children:[e.jsx(K,{select:!0,label:s("router.domain.add.type"),autoComplete:"off",variant:"outlined",name:"type","data-cy":"domain-add-type",fullWidth:!0,value:t.type,onChange:d=>{i(""),r({...t,type:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},SelectProps:{},children:o.map(({name:d,value:m})=>e.jsx(ie,{value:m,children:d},m))}),t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&e.jsxs(K,{select:!0,label:s("router.domain.add.blocklet"),autoComplete:"off",variant:"outlined",name:"did","data-cy":"domain-blocklet-select",fullWidth:!0,value:t.did,onChange:d=>{r({...t,...h(d.target.value),did:d.target.value,__disableConfirm:!1})},style:{marginBottom:32},children:[l.map(d=>e.jsxs(ie,{value:d.meta.did,children:[`${d.meta.name} v${d.meta.version}`,e.jsx("span",{style:{marginLeft:8},children:e.jsx(er,{status:d.status,progress:d.progress})})]},d.meta.did)),n.length===0&&e.jsx(ie,{value:"",children:s("common.empty")},"empty")]}),t.type===T.ROUTING_RULE_TYPES.REDIRECT&&[e.jsx(K,{select:!0,label:s("router.domain.add.redirect"),autoComplete:"off",variant:"outlined",name:"type",fullWidth:!0,value:t.redirectCode,onChange:d=>r({...t,redirectCode:d.target.value}),style:{marginBottom:32},SelectProps:{},children:Object.keys(a).map(d=>e.jsx(ie,{value:d,children:`${a[d]} - ${d}`},d))}),e.jsx(K,{label:s("common.redirectUrl"),autoComplete:"off",variant:"outlined",name:"url",inputProps:{"data-cy":"redirect-url-input"},fullWidth:!0,autoFocus:!0,value:t.url,helperText:s("router.urlHelperText"),style:{marginBottom:32},onChange:d=>{r({...t,url:d.target.value,__disableConfirm:!d.target.value.trim()}),d.target.value.trim()?i(""):i(s("router.validation.redirectUrlRequired"))}})]]})}Oe.propTypes={params:u.object,blocklets:u.array,serviceTypes:u.array,setParams:u.func,setError:u.func};Oe.defaultProps={params:{},blocklets:[],serviceTypes:[{name:"Blocklet",value:T.ROUTING_RULE_TYPES.BLOCKLET},{name:"Redirect",value:T.ROUTING_RULE_TYPES.REDIRECT},{name:"Default - User will see the 404 page",value:T.ROUTING_RULE_TYPES.NONE}],setParams:()=>{},setError:()=>{}};const cr=(t,n)=>{if(t.type===T.ROUTING_RULE_TYPES.REDIRECT){if(!t.url)return new Error(`${n("router.validation.redirectUrlRequired")}`);if(!t.redirectCode)return new Error(`redirect ${n("router.validation.redirectCodeRequired")}`)}else if(t.type===T.ROUTING_RULE_TYPES.BLOCKLET&&!t.did)return new Error(n("router.validation.didRequired"));return null},Pe=(t,n)=>t?t.endsWith(T.DEFAULT_IP_DOMAIN_SUFFIX)?n("router.domain.validate.suffixTip",{suffix:T.DEFAULT_IP_DOMAIN_SUFFIX}):null:n("router.domain.validate.emptyTip"),co=(t,n)=>{const r=cr(t,n);if(r)return r;const i=Pe(t.domain,n);return i?new Error(i):null},Ge=(t,n)=>{const r=cr(t,n);return r||(t.pathPrefix.length?t.pathPrefix.length>150?new Error(n("router.validation.pathPrefixTooLong",{length:150})):null:new Error(n("router.validation.pathPrefixCannotBeEmpty")))},dr=({params:t,blocklets:n,blocklet:r,locale:i="en"})=>{if(r){let a=(r.children||[]).find(l=>ci(l.mountPoint,t.pathPrefix));if(r.meta.group!=="gateway"&&t.pathPrefix==="/"&&(a="/"),a)return{zh:`挂载点 ${t.pathPrefix} 已存在,请使用其他挂载点`,en:`The mount point ${t.pathPrefix} already exist, please use another mount point`}[i]}const o=n.find(a=>a.meta.did===t.did);if(!o)return"";const s=o.meta.interfaces.find(a=>a.type==="web");return s&&s.prefix!==et.BLOCKLET_DYNAMIC_PATH_PREFIX&&t.pathPrefix!==s.prefix?{zh:`该 blocklet 只能挂载在 ${s.prefix}`,en:`This blocklet can only be mounted on ${s.prefix}`}[i]:""},$t=t=>{if(t.length===0)return"";const{searchParams:n}=new URL(window.location.href),r=n.get("fromDid");if(r){const i=t.find(o=>o.meta.did===r);if(i)return i.meta.did}return t[0].meta.did};function it({blocklets:t,onActivate:n=()=>{},children:r}){const{t:i}=N(),{actions:o}=ae(),{info:s}=Z(),[a,l]=p.useState(!1),[c,h]=p.useState(null),d=()=>{l(!1),h(null)},m=async y=>{l(!0);const b={from:{pathPrefix:"/"},to:{type:y.type}},v={domain:y.domain.trim()===s.ip?"":y.domain.trim()};if(y.type===T.ROUTING_RULE_TYPES.BLOCKLET){const C=t.find(j=>j.meta.did===y.did),R=Q(C,"meta.interfaces",[]).find(j=>j.name===y.interfaceName);R&&R.prefix!==et.BLOCKLET_DYNAMIC_PATH_PREFIX&&(b.from.pathPrefix=R.prefix),b.to.port=y.port,b.to.did=y.did,b.to.interfaceName=y.interfaceName,v.rules=[b]}else y.type===T.ROUTING_RULE_TYPES.REDIRECT&&(b.to.url=y.url,b.to.redirectCode=y.redirectCode,v.rules=[b]);await o.addSite(v),l(!1),h(null)},g={title:i("router.domain.addSite"),description:(y,b,v)=>{const C=R=>{const j=R.__disableConfirm||!!co(R,i);b({...R,__disableConfirm:j})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:i("router.domain.add.description"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:y.domain,style:{marginTop:16,marginBottom:32},inputProps:{"data-cy":"domain-name-input"},onChange:R=>{const j=R.target.value.trim(),x=Pe(j,i);C({...y,domain:R.target.value,__disableConfirm:!!x}),v(x||"")}}),e.jsx(Oe,{blocklets:t,params:y,setParams:C,setError:v})]})},confirm:i("router.domain.add.confirm"),cancel:i("router.domain.add.cancel"),params:{domain:"",did:$t(t),port:"",interfaceName:"",type:T.ROUTING_RULE_TYPES.BLOCKLET,redirectCode:302,__disableConfirm:!0},onConfirm:m,onCancel:d},f=y=>{y.stopPropagation(),h(g)||n()};return p.useEffect(()=>{const{searchParams:y}=new URL(window.location.href);y.get("fromDid")&&h(g)},[]),e.jsxs(e.Fragment,{children:[typeof r=="function"?r({loading:a,open:f}):e.jsxs(ie,{onClick:f,className:"rule-action","data-cy":"action-add-domain",children:[a?e.jsx(Y,{size:16}):e.jsx(Jn,{style:{fontSize:18,marginRight:5}}),i("router.domain.add.title")]}),c&&e.jsx(ne,{title:c.title,description:c.description,confirm:c.confirm,cancel:c.cancel,params:c.params,onConfirm:c.onConfirm,onCancel:c.onCancel,color:"primary"})]})}it.propTypes={blocklets:u.array,children:u.any,onActivate:u.func};it.defaultProps={onActivate:()=>{},children:null,blocklets:[]};var Mt={},uo=xe;Object.defineProperty(Mt,"__esModule",{value:!0});var ur=Mt.default=void 0,mo=uo(he()),fo=e;ur=Mt.default=(0,mo.default)((0,fo.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-2h2zm0-4h-2V7h2z"}),"Error");var zt={},po=xe;Object.defineProperty(zt,"__esModule",{value:!0});var mr=zt.default=void 0,go=po(he()),ho=e;mr=zt.default=(0,go.default)((0,ho.jsx)("path",{d:"M2 20h20v-4H2zm2-3h2v2H4zM2 4v4h20V4zm4 3H4V5h2zm-4 7h20v-4H2zm2-3h2v2H4z"}),"Storage");var Bt={},xo=xe;Object.defineProperty(Bt,"__esModule",{value:!0});var fr=Bt.default=void 0,yo=xo(he()),vo=e;fr=Bt.default=(0,yo.default)((0,vo.jsx)("path",{d:"m19 15-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9z"}),"SubdirectoryArrowRight");function Sn(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,name:c}=t;if(At(c))return null;const h=()=>{o(!1),a(null)},d=async()=>{o(!0),await r.deleteSite(l),o(!1),a(null)},m={title:n("router.domain.delete.title"),description:n("router.domain.delete.description",{name:`<b>${c}</b>`}),confirmPlaceholder:n("router.domain.delete.confirm_desc",{name:c}),confirm:n("common.delConfirm"),cancel:n("common.cancel"),onConfirm:d,onCancel:h,keyName:c},g=f=>{f.stopPropagation(),a(m)||t.onActivate()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action","data-cy":"action-delete-domain",children:[i?e.jsx(Y,{size:16}):e.jsx(Le,{style:{fontSize:18,marginRight:5}}),n("router.domain.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}function Ye({id:t,blocklets:n,onActivate:r=()=>{},onRuleAdded:i=()=>{},children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null),g=()=>{h(!1),m(null)},f=async v=>{const C=await Ge(v,a);if(C)throw C;h(!0);const R={from:{pathPrefix:Hn(v.pathPrefix)},to:{type:v.type}};v.type===T.ROUTING_RULE_TYPES.BLOCKLET?(R.to.port=v.port,R.to.did=v.did,R.to.interfaceName=v.interfaceName):v.type===T.ROUTING_RULE_TYPES.REDIRECT&&(R.to.url=v.url.trim(),R.to.redirectCode=v.redirectCode),await l.addRule(t,R,s),m(null),h(!1),i()},y={title:a("router.rule.add.title"),description:(v,C,R)=>{const j=x=>{if(R(null),Ge(x,a)){C({...x,__disableConfirm:!0});return}C({...x})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:a("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:v.helperText||a("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:v.pathPrefix,onChange:x=>{let I=!1;const D=dr({params:{...v,pathPrefix:x.target.value},blocklets:n});R(D),v.type===T.ROUTING_RULE_TYPES.BLOCKLET&&D&&(I=!0),v.type===T.ROUTING_RULE_TYPES.REDIRECT&&!v.url&&(I=!0),x.target.value.trim()||(I=!0,R(a("router.validation.pathPrefixRequired"))),I||R("");const S=a("common.slugifyHint",{value:qn(x.target.value)});C({...v,pathPrefix:x.target.value,helperText:S,__disableConfirm:I})}}),e.jsx(Oe,{blocklets:n,params:v,setParams:j,setError:R})]})},confirm:a("router.rule.add.confirm"),cancel:a("common.cancel"),params:{pathPrefix:"",type:T.ROUTING_RULE_TYPES.BLOCKLET,did:$t(n),port:"",interfaceName:"",redirectCode:302,__disableConfirm:!0},onConfirm:f,onCancel:g},b=v=>{v.stopPropagation(),m(y)||r()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:b}):e.jsxs(ie,{onClick:b,className:"rule-action","data-cy":"action-add-rule",children:[c?e.jsx(Y,{size:16}):e.jsx(Zn,{style:{fontSize:18,marginRight:5}}),a("router.rule.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Ye.propTypes={id:u.string.isRequired,blocklets:u.array,children:u.any,onActivate:u.func,onRuleAdded:u.func,teamDid:u.string};Ye.defaultProps={onActivate:()=>{},onRuleAdded:()=>{},children:null,blocklets:[],teamDid:""};function Wt(t){const{t:n}=N(),{actions:r}=ae(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,parent:{id:c},name:h,children:d,onActivate:m,teamDid:g}=t,f=()=>{o(!1),a(null)},y=async()=>{o(!0),await r.deleteRule(c,l,g),o(!1),a(null)},b={keyName:h,title:n("router.rule.delete.title"),description:n("router.rule.delete.description",{name:`<b>${h}</b>`}),confirmPlaceholder:n("router.rule.delete.confirm_desc",{name:h}),confirm:n("common.delConfirm"),cancel:n("router.rule.delete.cancel"),onConfirm:y,onCancel:f},v=C=>{C.stopPropagation(),a(b)||m()};return e.jsxs(e.Fragment,{children:[typeof d=="function"?d({loading:i,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-delete-rule",children:[i?e.jsx(Y,{size:16}):e.jsx(Le,{style:{fontSize:18,marginRight:5}}),n("router.rule.delete.title")]}),s&&e.jsx(Et,{keyName:s.keyName,title:s.title,description:s.description,confirmPlaceholder:s.confirmPlaceholder,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}Wt.propTypes={id:u.string.isRequired,name:u.string.isRequired,parent:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};Wt.defaultProps={onActivate:()=>{},children:null,teamDid:""};function qt(t){const{id:n,name:r,did:i,parent:o,blocklets:s,to:a,children:l,onActivate:c,teamDid:h}=t,{t:d}=N(),{actions:m}=ae(),[g,f]=p.useState(!1),[y,b]=p.useState(null),v=()=>{f(!1),b(null)},C=async x=>{const I=await Ge(x,d);if(I)throw I;f(!0);const D={id:n,from:{pathPrefix:Hn(x.pathPrefix)},to:{type:x.type}};x.type===T.ROUTING_RULE_TYPES.BLOCKLET?(D.to.port=x.port,D.to.did=x.did,D.to.interfaceName=x.interfaceName):x.type===T.ROUTING_RULE_TYPES.REDIRECT&&(D.to.url=x.url,D.to.redirectCode=x.redirectCode),await m.updateRule(o.id,D,h),b(null),f(!1)},R={title:d("router.rule.update.title"),description:(x,I,D)=>{const S=E=>{if(Ge(E,d)){I({...E,__disableConfirm:!0});return}I({...E})};return e.jsxs(O,{component:"div",children:[e.jsx(K,{label:d("router.rule.add.pathPrefix"),autoComplete:"off",variant:"outlined",name:"pathPrefix",inputProps:{"data-cy":"path-prefix-input"},fullWidth:!0,autoFocus:!0,helperText:x.helperText||d("router.rule.add.pathPrefixTip"),style:{marginBottom:32},margin:"dense",value:x.pathPrefix,onChange:E=>{let L=!1;const w=dr({params:{...x,pathPrefix:E.target.value},blocklets:s});x.type===T.ROUTING_RULE_TYPES.BLOCKLET&&w&&(L=!0,D(w)),x.type===T.ROUTING_RULE_TYPES.REDIRECT&&!x.url&&(L=!0),E.target.value.trim()||(L=!0,D(d("router.validation.pathPrefixRequired"))),L||D("");const P=d("common.slugifyHint",{value:qn(E.target.value)});I({...x,pathPrefix:E.target.value,helperText:P,__disableConfirm:L})}}),e.jsx(Oe,{blocklets:s,params:x,setParams:S,setError:D})]})},confirm:d("router.rule.update.confirm"),cancel:d("router.rule.update.cancel"),color:"primary",params:{pathPrefix:r==="/"?r:r.replace(/^\/+/,"").replace(/\/+$/,""),type:a.type||T.ROUTING_RULE_TYPES.BLOCKLET,did:i||$t(s),port:a.port||"",interfaceName:a.interfaceName||"",redirectCode:a.redirectCode||302,url:a.url||"",__disableConfirm:!1},onConfirm:C,onCancel:v},j=x=>{x.stopPropagation(),b(R)||c()};return e.jsxs(e.Fragment,{children:[typeof l=="function"?l({loading:g,open:j}):e.jsxs(ie,{onClick:j,className:"rule-action","data-cy":"action-update-rule",children:[g?e.jsx(Y,{size:16}):e.jsx(tr,{style:{fontSize:18,marginRight:5}}),d("router.rule.update.title")]}),y&&e.jsx(ne,{title:y.title,description:y.description,confirm:y.confirm,color:y.color,cancel:y.cancel,params:y.params,onConfirm:y.onConfirm,onCancel:y.onCancel})]})}qt.propTypes={id:u.string.isRequired,name:u.string.isRequired,did:u.string,parent:u.object.isRequired,blocklets:u.array,to:u.object.isRequired,children:u.any,onActivate:u.func,teamDid:u.string};qt.defaultProps={onActivate:()=>{},children:null,did:"",blocklets:[],teamDid:""};function Te({id:t,name:n,onActivate:r,children:i,title:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(T.DOMAIN_FOR_DEFAULT_SITE===n)return null;const g=()=>{h(!1),m(null)},f=async C=>{h(!0),await l.addDomainAlias(t,C.domain.trim(),!!C.force,s),h(!1),m(null)},y=async(C,R,j)=>{try{await R(C)}catch(x){j(de(x))}finally{h(!1)}},b={title:o||a("router.domainAlias.add.title"),description:(C,R,j)=>e.jsxs(O,{component:"div",children:[e.jsx(K,{label:a("router.domainAlias.add.domainDescription"),autoComplete:"off",variant:"outlined",name:"domain","data-cy":"add-domain",fullWidth:!0,autoFocus:!0,inputProps:{"data-cy":"domain-name-input"},value:C.domain,style:{marginBottom:8},margin:"dense",onChange:x=>{const I=x.target.value.trim(),D=Pe(I,a);R({...C,domain:I,__disableConfirm:!!D}),j(D||"")},onKeyPress:x=>{if(x.key==="Enter"){x.preventDefault();const I=x.target.value.trim(),D=Pe(I,a);D?j(D):y(C,f,j)}}}),e.jsx(Kn,{control:e.jsx($r,{checked:C.force,onChange:x=>{R({...C,force:x.target.checked})},name:"checkedB",color:"primary"}),label:a("router.domainAlias.add.forceTip")})]}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{domain:"",__disableConfirm:!0},onConfirm:f,onCancel:g},v=C=>{C.stopPropagation(),m(b)||r()};return e.jsxs(e.Fragment,{children:[typeof i=="function"?i({loading:c,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-add-domain-alias",children:[c?e.jsx(Y,{size:16}):e.jsx(Si,{style:{fontSize:18,marginRight:5}}),a("router.domainAlias.add.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Te.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,title:u.string,teamDid:u.string};Te.defaultProps={onActivate:()=>{},children:null,title:"",teamDid:""};function Ee({id:t,name:n,corsAllowedOrigins:r,onActivate:i,children:o,teamDid:s}){const{t:a}=N(),{actions:l}=ae(),[c,h]=p.useState(!1),[d,m]=p.useState(null);if(At(n))return null;let g=n;n.endsWith(T.BLOCKLET_SITE_GROUP_SUFFIX)&&(g=`${a("common.the")} Blocklet`);const f=()=>{h(!1),m(null)},y=async C=>{h(!0),await l.updateSite(t,{corsAllowedOrigins:C.corsAllowedOrigins.split(",").map(R=>R.trim())},s),h(!1),m(null)},b={title:a("router.domainSecurity.title"),description:(C,R,j)=>e.jsx(O,{component:"div",children:e.jsx(K,{label:a("router.domainSecurity.cors.title",{name:g}),autoComplete:"off",variant:"outlined",name:"corsAllowedOrigins",fullWidth:!0,autoFocus:!0,value:C.corsAllowedOrigins,style:{marginBottom:32},margin:"dense",helperText:a("router.domainSecurity.cors.description",{name:g}),onChange:x=>{R({...C,corsAllowedOrigins:x.target.value,__disableConfirm:!x.target.value.trim()}),x.target.value.trim()?j(""):j(a("router.domainSecurity.cors.domainInvalid"))}})}),confirm:a("common.confirm"),cancel:a("common.cancel"),params:{corsAllowedOrigins:Array.isArray(r)?r.join(", "):n,__disableConfirm:!0},onConfirm:y,onCancel:f},v=C=>{C.stopPropagation(),m(b)||i()};return e.jsxs(e.Fragment,{children:[typeof o=="function"?o({loading:c,open:v}):e.jsxs(ie,{onClick:v,className:"rule-action","data-cy":"action-update-domain",children:[c?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:18,marginRight:5}}),a("router.domainSecurity.title")]}),d&&e.jsx(ne,{title:d.title,description:d.description,confirm:d.confirm,cancel:d.cancel,params:d.params,onConfirm:d.onConfirm,onCancel:d.onCancel,color:"primary"})]})}Ee.propTypes={id:u.string.isRequired,name:u.string.isRequired,children:u.any,onActivate:u.func,corsAllowedOrigins:u.oneOfType([u.string,u.array]),teamDid:u.string};Ee.defaultProps={onActivate:()=>{},children:null,corsAllowedOrigins:"",teamDid:""};function bo({id:t,name:n,onActivate:r}){const{t:i}=N(),{actions:o}=ae(),[s,a]=p.useState(!1),[l,c]=p.useState(null);if(At(n))return null;const h=()=>{a(!1),c(null)},d=async f=>{a(!0),await o.updateSite(t,{domain:f.domain.trim()}),a(!1),c(null)},m={title:i("router.domain.update.title"),description:(f,y,b)=>e.jsx(O,{component:"div",children:e.jsx(K,{label:i("router.domain.update.label"),autoComplete:"off",variant:"outlined",name:"domain",fullWidth:!0,autoFocus:!0,value:f.domain,style:{marginBottom:32},margin:"dense",helperText:i("router.domain.update.description"),onChange:v=>{const C=v.target.value.trim(),R=Pe(C,i);y({...f,domain:v.target.value,__disableConfirm:!!R}),b(R||"")}})}),confirm:i("common.confirm"),cancel:i("common.cancel"),params:{domain:n,__disableConfirm:!0},onConfirm:d,onCancel:h},g=f=>{f.stopPropagation(),c(m)||r()};return e.jsxs(e.Fragment,{children:[e.jsxs(ie,{onClick:g,className:"rule-action",children:[s?e.jsx(Y,{size:16}):e.jsx(tr,{style:{fontSize:18,marginRight:5}}),i("router.domain.update.title")]}),l&&e.jsx(ne,{title:l.title,description:l.description,confirm:l.confirm,cancel:l.cancel,params:l.params,onConfirm:l.onConfirm,onCancel:l.onCancel,color:"primary"})]})}function Se(t){const[n,r]=p.useState(null),i=l=>{l.stopPropagation(),r(l.currentTarget)},o=l=>{l&&l.stopPropagation(),r(null)},s=[];if(t.type==="root"&&s.push(e.jsx(it,{...t,onActivate:o},"add-domain")),t.type==="domain"&&s.push(e.jsx(bo,{...t,onActivate:o},"update-domain"),e.jsx(Ye,{...t,onActivate:o,onRuleAdded:t.onRuleAdded},"add-rule"),e.jsx(Te,{...t,onActivate:o},"add-domain-alias"),e.jsx(Ee,{...t,onActivate:o},"update-domain-security"),e.jsx(Sn,{...t,onActivate:o},"delete-domain")),t.type==="rule"&&s.push(e.jsx(qt,{...t,onActivate:o},"update-rule"),e.jsx(Wt,{...t,onActivate:o},"delete-rule")),t.type===T.ROUTING_RULE_TYPES.REDIRECT&&s.push(e.jsx(Sn,{...t,onActivate:o},"delete-domain")),t.type==="dashboard_domain"&&s.push(e.jsx(Ye,{...t,onActivate:o},"add-rule"),e.jsx(Ee,{...t,onActivate:o},"update-domain-security"),e.jsx(Te,{...t,onActivate:o},"add-domain-alias")),t.type==="blocklet_domain"&&s.push(e.jsx(Ee,{...t,onActivate:o},"update-domain-security"),e.jsx(Te,{...t,onActivate:o},"add-domain-alias")),s.length===0)return null;const a=l=>{l.stopPropagation()};return e.jsxs("div",{children:[e.jsx(Mr,{onMouseDown:a,onClick:i,"data-cy":"action-trigger",size:"large",children:e.jsx(Ci,{})}),e.jsx(zr,{keepMounted:!0,onMouseDown:a,open:!!n,onClose:o,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:s})]})}Se.propTypes={blocklet:u.object,onRuleAdded:u.func};Se.defaultProps={onRuleAdded:()=>{},blocklet:{}};function Ht({certificate:t}){const[n,r]=p.useState(null),i=Z(),{t:o,locale:s}=N(),a=h=>{r(h.currentTarget)},l=()=>{r(null)},c=!!n;return e.jsxs(e.Fragment,{children:[e.jsx(nr,{"aria-owns":c?"mouse-over-popover":void 0,onMouseEnter:a,onMouseLeave:l,style:{color:"#44cdc6",fontSize:20,marginLeft:8,cursor:"pointer"}}),e.jsx(Wr,{id:"mouse-over-popover",style:{pointerEvents:"none"},open:c,anchorEl:n,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},onClose:l,disableRestoreFocus:!0,children:e.jsx(qr,{children:e.jsxs(Hr,{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(O,{component:"div",style:{marginLeft:"16px"},children:[e.jsx(O,{component:"div",style:{fontWeight:"bold"},children:t.domain}),e.jsx(O,{component:"div",children:`${o("common.issuer")}: ${Q(t,"issuer.commonName","")}`}),e.jsx(O,{component:"div",children:`${o("router.cert.issuedOn")}: ${He(t.validFrom,s)}`}),e.jsx(O,{component:"div",children:`${o("router.cert.expiryOn")}: ${He(t.validTo,s)}`})]})]})})})]})}Ht.propTypes={certificate:u.object};Ht.defaultProps={certificate:{}};function Ve(t){const{name:n,type:r,filters:i}=t,{t:o}=N(),{status:s}=rt();if(r!=="domain"||!Rt(n))return null;let a=null,l=null;const{isHttps:c,matchedCert:h}=s[n]||{};if(!Br(n)){const{dns:{resolved:m,ip:g}={}}=s[n]||{};m||g==="127.0.0.1"?a=e.jsx(pe,{title:o("router.domain.verify.ok"),children:e.jsx(xn,{color:"success"})}):a=e.jsx(pe,{title:o("router.domain.verify.notResolved"),children:e.jsx(xn,{color:"error"})})}c?l=e.jsx(Ht,{certificate:h}):l=e.jsx(pe,{title:o("router.domain.https.bad"),children:e.jsx(nr,{style:{color:"#D0021B",fontSize:20,marginLeft:8,cursor:"pointer"}})});const d=i.map(m=>m==="domain"?a:m==="http"?l:null);return p.createElement(p.Fragment,null,...d)}Ve.propTypes={type:u.string.isRequired,name:u.string.isRequired,filters:u.array};Ve.defaultProps={filters:["domain","http"]};const jo=t=>["waiting","creating","renewaling"].includes(t);function Kt(t){var I;const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{domain:a,onAdd:l,children:c,siteId:h}=t,{api:d}=Z(),[m,g]=p.useState(!1),{updateStatus:f}=rt(),y=ue(),b=Ie(async()=>{const{cert:D}=await y.findCertificateByDomain({input:{domain:a}});return D}),v=D=>{D.domain===a&&g(!1)};if(p.useEffect(()=>{var D;!b.loading&&jo((D=b.value)==null?void 0:D.status)&&g(!0)},[b]),yt(T.EVENTS.CERT_ERROR,v),yt(T.EVENTS.CERT_ISSUED,D=>{b.retry(),f(D.domain),v(D)}),b.loading||((I=b.value)==null?void 0:I.status)==="normal")return"";const C=()=>{i(!1),s(null)},R=async()=>{i(!0);try{await d.issueLetsEncryptCert({input:{domain:a,siteId:h}}),l(),g(!0)}catch(D){console.error(D),g(!1)}finally{i(!1),s(null)}},j={title:n("router.cert.genLetsEncryptCert.title"),description:e.jsxs("div",{children:[e.jsx(ge,{severity:"success",children:n("router.cert.genLetsEncryptCert.dnsTip")}),n("router.cert.genLetsEncryptCert.description")]}),confirm:n("common.confirm"),onConfirm:R,onCancel:C},x=D=>{D.stopPropagation(),s(j)};return e.jsxs(e.Fragment,{children:[m?e.jsx(pe,{title:n("router.cert.issuing"),children:e.jsx(Y,{size:12})}):c({loading:r,open:x}),o&&e.jsx(ne,{color:"primary",title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Kt.propTypes={domain:u.string.isRequired,onAdd:u.func,children:u.any,siteId:u.string.isRequired};Kt.defaultProps={onAdd:()=>{},children:null};function Xe(t){var i;const{status:n}=rt(),{domain:r}=t;return!Rt(r)||(i=n[r])!=null&&i.isHttps?"":e.jsx(Kt,{...t})}Xe.propTypes={siteId:u.string.isRequired,domain:u.string.isRequired,onAdd:u.func,children:u.any};Xe.defaultProps={onAdd:()=>{},children:null};function Gt(t){const{t:n}=N(),[r,i]=p.useState(!1),[o,s]=p.useState(null),{id:a,domain:l,onDelete:c,children:h,teamDid:d}=t,{actions:m}=ae();if(l===window.location.hostname)return"";const g=()=>{i(!1),s(null)},f=async()=>{i(!0);try{await m.deleteDomainAlias(a,l,d),c()}catch(v){console.error(v)}finally{i(!1),s(null)}},y={title:n("router.domainAlias.delete.title"),description:n("router.domainAlias.delete.description"),confirm:n("common.confirm"),onConfirm:f,onCancel:g},b=v=>{v.stopPropagation(),s(y)};return e.jsxs(e.Fragment,{children:[typeof h=="function"?h({loading:r,open:b}):e.jsxs(G,{edge:"end",onClick:b,size:"small",className:"rule-action",color:"error","data-cy":"action-delete-domain-alias",children:[r?e.jsx(Y,{size:16}):e.jsx(Le,{style:{fontSize:16}}),n("router.domainAlias.delete.title")]}),o&&e.jsx(ne,{title:o.title,description:o.description,confirm:o.confirm,params:o.params,onConfirm:o.onConfirm,onCancel:o.onCancel})]})}Gt.propTypes={id:u.string.isRequired,domain:u.string.isRequired,onDelete:u.func,children:u.any,teamDid:u.string};Gt.defaultProps={onDelete:()=>{},children:null,teamDid:""};function Yt({domain:t,isHttps:n,toUrl:r}){const i=n?"https":"http",{t:o}=N();let s=r;return Qr(s)||(s=`${i}://${t}${r}`),e.jsxs(e.Fragment,{children:[e.jsx(O,{className:"arrow-name-middle",children:o("common.redirect")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsx(Yn,{href:s,target:"_blank",underline:"hover",children:r},s)]})}Yt.propTypes={domain:u.string.isRequired,toUrl:u.string.isRequired,isHttps:u.bool};Yt.defaultProps={isHttps:!1};function Vt(){const{t}=N();return e.jsx(O,{className:"arrow-name-middle",children:t("common.page404")})}Vt.propTypes={};Vt.defaultProps={};function Ae(t){const{t:n}=N(),{data:r}=Gn(),{info:i}=Z(),{status:o}=rt(),s=r.map(W=>({meta:{did:W.meta.did,name:Gr.getDisplayName(W,!0),version:W.meta.version,interfaces:W.meta.interfaces},port:W.port,ports:W.ports,status:W.status})),{id:a,type:l,name:c,title:h,items:d=[],depth:m,to:g,expand:f,isProtected:y,pathPrefix:b,parent:v,domainAliases:C}=t;let R=c;const j=c.endsWith(T.BLOCKLET_SITE_GROUP_SUFFIX);let x=l;c===fe&&(x="dashboard_domain"),j&&(x="blocklet_domain");const[I,D]=p.useState(f),E={root:mr,domain:Jn,rule:fr}[l],L={paddingBottom:8,paddingLeft:8};if(l==="domain"){let W=function({domain:z,primaryDomain:U,rules:F}){let q=qe(z);return U===fe?q=`${q}/${i.routing.adminPath.replace(/^\/+/,"")}`:F&&F.length&&F[0].pathPrefix&&(q=`${q}/${F[0].pathPrefix.replace(/^\/+/,"")}`),z!==fe?e.jsx(Co,{href:q,target:"_blank",rel:"noreferrer",onClick:ye=>ye.stopPropagation(),children:z}):z};if(y&&!j)return null;if(j){const z=c.replace(T.BLOCKLET_SITE_GROUP_SUFFIX,""),U=s.find(F=>F.meta.did===z);if(!U||U.controller)return null;R=U.meta.title||U.meta.name}W.propTypes={domain:u.string.isRequired,primaryDomain:u.string.isRequired,rules:u.array.isRequired};const me=()=>{D(!0)};let ce=(C||[]).filter(z=>z.value!==c);return ce=Yr(ce),[e.jsxs(gt,{alignItems:"flex-start",button:!0,disableGutters:!0,"data-cy":"rule-domain",children:[!j&&e.jsxs(ze,{onClick:()=>D(z=>!z),children:[d.length>0&&(I?e.jsx(bi,{}):e.jsx(ji,{})),e.jsx(E,{style:{fontSize:22}})]}),j&&e.jsx(ze,{children:e.jsx(E,{style:{fontSize:22}})}),e.jsx(ft,{onClick:()=>D(z=>!z),className:`rule-name rule-name--depth${m}`,style:{flex:1},secondary:d.length<=0?e.jsx("span",{className:"site-secondary",children:n("router.empty")}):"",primary:e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"site-header",children:[c===T.DOMAIN_FOR_DEFAULT_SITE&&n("router.defaultSite"),c!==T.DOMAIN_FOR_DEFAULT_SITE&&!j&&e.jsx(W,{domain:c,primaryDomain:c,rules:d}),j&&R,d.length&&!I?e.jsx("span",{style:{marginLeft:5},children:`(${d.length} URL)`}):null,e.jsx("span",{style:{marginLeft:12}}),l==="domain"&&c!==T.DOMAIN_FOR_DEFAULT_SITE&&c!==fe&&!j&&e.jsxs(e.Fragment,{children:[e.jsx(Ve,{type:l,name:c},c),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Xe,{siteId:a,domain:c,children:({open:z})=>e.jsx(G,{size:"small",onClick:U=>z(U),children:n("router.cert.genLetsEncryptCert.title")})})]})]}),ce.map(z=>{const U=typeof z!="string"?z.value:z;return e.jsxs("div",{className:"site-alias",children:[e.jsx(W,{domain:U,primaryDomain:c,rules:d}),e.jsx("span",{style:{marginLeft:12}}),e.jsx(Ve,{type:l,name:U},`domain-status-${c}`),e.jsx(Xe,{siteId:a,domain:U,children:({open:F})=>e.jsx(G,{size:"small",onClick:q=>F(q),children:n("router.cert.genLetsEncryptCert.title")})}),!z.isProtected&&e.jsx(Gt,{id:t.id,domain:U},"delete-domain-alias"),U!==fe&&U!==window.location.hostname&&e.jsx(Se,{...t,domain:U,type:"domainAlias",onRuleAdded:me},`action-${c}`)]},U)})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t,onRuleAdded:me,type:x},c)})})]},"parent"),!j&&d.length>0&&e.jsx(Vr,{in:I,children:e.jsx(vt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(z=>e.jsx(Ae,{...z,parent:t,depth:m+1},z.id))},"children")},"rules")]}if(l==="root")return[e.jsxs(gt,{disableGutters:!0,"data-cy":"rule-root",children:[e.jsx(ze,{children:e.jsx(E,{style:{fontSize:22}})}),e.jsx(ft,{primary:c}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t})})})]},"root"),d.length>0&&e.jsx(vt,{component:"div",className:`rule-list rule-list--depth${m}`,disablePadding:!0,children:d.map(W=>e.jsx(Ae,{expand:!y,...W,parent:t,depth:m+1},W.id))},"children")];let w=`/blocklets/${g.did}/overview`;g.type===T.ROUTING_RULE_TYPES.DAEMON&&(w="/");const P={meta:{did:i.did,name:"Blocklet Server Dashboard",version:i.version},status:"running",port:i.port},A=g.did===i.did?P:s.find(W=>W.meta.did===g.did),M=A&&A.status==="running"||g.type===T.ROUTING_RULE_TYPES.DAEMON,$=n(M?"router.healthy.ok":"router.healthy.error"),H=o[v.name]||{};return e.jsxs(gt,{className:"hover-item",divider:!0,disableGutters:!0,style:L,"data-cy":"rule-item",children:[e.jsx(ze,{className:"arrow-icon",children:e.jsx(E,{style:{fontSize:22}})}),e.jsx(ft,{primary:e.jsxs(O,{component:"div",className:"arrow-name",children:[e.jsx(O,{style:{wordBreak:"break-all"},className:"arrow-name-left",children:c}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),(g.type===T.ROUTING_RULE_TYPES.DAEMON||g.type===T.ROUTING_RULE_TYPES.BLOCKLET)&&e.jsxs(e.Fragment,{children:[v.name!==T.DOMAIN_FOR_DEFAULT_SITE&&M&&e.jsx(ee,{className:"arrow-name-middle",children:e.jsx(Yn,{href:qe(v.name,b),target:"_blank",underline:"hover",children:n("common.open")})}),v.name===T.DOMAIN_FOR_DEFAULT_SITE&&e.jsx(O,{component:"span",className:"arrow-name-middle",children:"Blocklet"}),!M&&e.jsx("span",{className:"arrow-name-middle",children:n("common.unavailable")}),e.jsx("span",{className:"arrow-name-arrow",children:"⟶"}),e.jsxs(Xr,{to:w,className:"arrow-name-right",children:[e.jsx(pe,{title:$,children:M?e.jsx(vi,{style:{color:"#44cdc6",fontSize:20}}):e.jsx(ur,{style:{color:"red",fontSize:20}})}),e.jsx("span",{children:A?A.meta.name:h}),A&&e.jsx("span",{style:{marginLeft:8},children:e.jsx(er,{status:A.status,progress:A.progress})})]})]}),g.type===T.ROUTING_RULE_TYPES.REDIRECT&&e.jsx(Yt,{prefix:b,domain:v.name,toUrl:g.url,isHttps:H.isHttps}),g.type===T.ROUTING_RULE_TYPES.NONE&&e.jsx(Vt,{})]})}),e.jsx(te,{permission:"mutate_router",children:e.jsx(pt,{children:e.jsx(Se,{blocklets:s,...t,did:g.did})})})]},c)}Ae.propTypes={type:u.string.isRequired,to:u.object,name:u.string.isRequired,title:u.string,id:u.string,items:u.array,parent:u.object,depth:u.number,expand:u.bool,isProtected:u.bool,pathPrefix:u.string,domainAliases:u.array};Ae.defaultProps={id:"",to:{},title:"",items:[],depth:0,parent:{},expand:!0,isProtected:!1,pathPrefix:"",domainAliases:[]};const gt=V(Kr)`
|
|
122
122
|
.MuiListItemText-root {
|
|
123
123
|
padding-right: 48px;
|
|
124
124
|
}
|
|
@@ -139,7 +139,7 @@ import{r as p,c as ue,u as Z,e as Pe,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH
|
|
|
139
139
|
:hover {
|
|
140
140
|
color: rgba(0, 0, 0, 0.6);
|
|
141
141
|
}
|
|
142
|
-
`;function So(){const{sites:t,allDomains:n}=ae(),{data:r}=Gn(),{t:i}=N(),o=t.map(s=>{const a=s.items.filter(l=>!l.isProtected);return{...s,items:a}});return e.jsx(lr,{domains:n,children:e.jsxs(wo,{children:[e.jsx(te,{permission:"mutate_router",children:e.jsx(ee,{textAlign:"right",mb:1,children:e.jsx(
|
|
142
|
+
`;function So(){const{sites:t,allDomains:n}=ae(),{data:r}=Gn(),{t:i}=N(),o=t.map(s=>{const a=s.items.filter(l=>!l.isProtected);return{...s,items:a}});return e.jsx(lr,{domains:n,children:e.jsxs(wo,{children:[e.jsx(te,{permission:"mutate_router",children:e.jsx(ee,{textAlign:"right",mb:1,children:e.jsx(it,{blocklets:r,children:({open:s})=>e.jsxs(G,{style:{marginLeft:16},variant:"contained",color:"primary","data-cy":"add-domain-alias",onClick:s,children:[e.jsx(Pt,{style:{fontSize:"1.3em",marginRight:4}}),i("router.domain.addSite")]})})})}),e.jsx(vt,{component:"div",disablePadding:!0,children:o.map(s=>p.createElement(Ae,{...s,depth:1,key:s.id}))})]})})}const wo=V.main`
|
|
143
143
|
margin-top: ${t=>t.theme.spacing(2)};
|
|
144
144
|
min-height: 60vh;
|
|
145
145
|
|
|
@@ -242,18 +242,18 @@ import{r as p,c as ue,u as Z,e as Pe,aE as Tr,j as e,H as T,aF as ln,aG as Mn,aH
|
|
|
242
242
|
}
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
|
-
`;var _o=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
|
|
246
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $o(t,n){if(t){if(typeof t=="string")return En(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return En(t,n)}}function En(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function Mo(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function zo(t){if(Array.isArray(t))return t}var Bo="file-invalid-type",Wo="file-too-large",qo="file-too-small",Ho="too-many-files",Ko=function(n){n=Array.isArray(n)&&n.length===1?n[0]:n;var r=Array.isArray(n)?"one of ".concat(n.join(", ")):n;return{code:Bo,message:"File type must be ".concat(r)}},Pn=function(n){return{code:Wo,message:"File is larger than ".concat(n," ").concat(n===1?"byte":"bytes")}},An=function(n){return{code:qo,message:"File is smaller than ".concat(n," ").concat(n===1?"byte":"bytes")}},Go={code:Ho,message:"Too many files"};function xr(t,n){var r=t.type==="application/x-moz-file"||No(t,n);return[r,r?null:Ko(n)]}function yr(t,n,r){if(Re(t.size))if(Re(n)&&Re(r)){if(t.size>r)return[!1,Pn(r)];if(t.size<n)return[!1,An(n)]}else{if(Re(n)&&t.size<n)return[!1,An(n)];if(Re(r)&&t.size>r)return[!1,Pn(r)]}return[!0,null]}function Re(t){return t!=null}function Yo(t){var n=t.files,r=t.accept,i=t.minSize,o=t.maxSize,s=t.multiple,a=t.maxFiles;return!s&&n.length>1||s&&a>=1&&n.length>a?!1:n.every(function(l){var c=xr(l,r),h=Tn(c,1),d=h[0],m=yr(l,i,o),g=Tn(m,1),f=g[0];return d&&f})}function
|
|
245
|
+
`;var _o=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 ke(t,n){var r=Do(t);if(typeof r.path!="string"){var i=t.webkitRelativePath;Object.defineProperty(r,"path",{value:typeof n=="string"?n:typeof i=="string"&&i.length>0?i:t.name,writable:!1,configurable:!1,enumerable:!0})}return r}function Do(t){var n=t.name,r=n&&n.lastIndexOf(".")!==-1;if(r&&!t.type){var i=n.split(".").pop().toLowerCase(),o=_o.get(i);o&&Object.defineProperty(t,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return t}var Ro=[".DS_Store","Thumbs.db"];function To(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return Qe(t)&&Eo(t)?[2,Lo(t.dataTransfer,t.type)]:Po(t)?[2,Ao(t)]:Array.isArray(t)&&t.every(function(r){return"getFile"in r&&typeof r.getFile=="function"})?[2,Io(t)]:[2,[]]})})}function Eo(t){return Qe(t.dataTransfer)}function Po(t){return Qe(t)&&Qe(t.target)}function Qe(t){return typeof t=="object"&&t!==null}function Ao(t){return jt(t.target.files).map(function(n){return ke(n)})}function Io(t){return we(this,void 0,void 0,function(){var n;return _e(this,function(r){switch(r.label){case 0:return[4,Promise.all(t.map(function(i){return i.getFile()}))];case 1:return n=r.sent(),[2,n.map(function(i){return ke(i)})]}})})}function Lo(t,n){return we(this,void 0,void 0,function(){var r,i;return _e(this,function(o){switch(o.label){case 0:return t===null?[2,[]]:t.items?(r=jt(t.items).filter(function(s){return s.kind==="file"}),n!=="drop"?[2,r]:[4,Promise.all(r.map(Oo))]):[3,2];case 1:return i=o.sent(),[2,wn(pr(i))];case 2:return[2,wn(jt(t.files).map(function(s){return ke(s)}))]}})})}function wn(t){return t.filter(function(n){return Ro.indexOf(n.name)===-1})}function jt(t){if(t===null)return[];for(var n=[],r=0;r<t.length;r++){var i=t[r];n.push(i)}return n}function Oo(t){if(typeof t.webkitGetAsEntry!="function")return _n(t);var n=t.webkitGetAsEntry();return n&&n.isDirectory?gr(n):_n(t)}function pr(t){return t.reduce(function(n,r){return Zr(n,Array.isArray(r)?pr(r):[r])},[])}function _n(t){var n=t.getAsFile();if(!n)return Promise.reject(t+" is not a File");var r=ke(n);return Promise.resolve(r)}function ko(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return[2,t.isDirectory?gr(t):Fo(t)]})})}function gr(t){var n=t.createReader();return new Promise(function(r,i){var o=[];function s(){var a=this;n.readEntries(function(l){return we(a,void 0,void 0,function(){var c,h,d;return _e(this,function(m){switch(m.label){case 0:if(l.length)return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return c=m.sent(),r(c),[3,4];case 3:return h=m.sent(),i(h),[3,4];case 4:return[3,6];case 5:d=Promise.all(l.map(ko)),o.push(d),s(),m.label=6;case 6:return[2]}})})},function(l){i(l)})}s()})}function Fo(t){return we(this,void 0,void 0,function(){return _e(this,function(n){return[2,new Promise(function(r,i){t.file(function(o){var s=ke(o,t.fullPath);r(s)},function(o){i(o)})})]})})}var No=function(t,n){if(t&&n){var r=Array.isArray(n)?n:n.split(","),i=t.name||"",o=(t.type||"").toLowerCase(),s=o.replace(/\/.*$/,"");return r.some(function(a){var l=a.trim().toLowerCase();return l.charAt(0)==="."?i.toLowerCase().endsWith(l):l.endsWith("/*")?s===l.replace(/\/.*$/,""):o===l})}return!0};function Dn(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function Rn(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Dn(Object(r),!0).forEach(function(i){hr(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dn(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function hr(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function Tn(t,n){return zo(t)||Mo(t,n)||$o(t,n)||Uo()}function Uo(){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 $o(t,n){if(t){if(typeof t=="string")return En(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return En(t,n)}}function En(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function Mo(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function zo(t){if(Array.isArray(t))return t}var Bo="file-invalid-type",Wo="file-too-large",qo="file-too-small",Ho="too-many-files",Ko=function(n){n=Array.isArray(n)&&n.length===1?n[0]:n;var r=Array.isArray(n)?"one of ".concat(n.join(", ")):n;return{code:Bo,message:"File type must be ".concat(r)}},Pn=function(n){return{code:Wo,message:"File is larger than ".concat(n," ").concat(n===1?"byte":"bytes")}},An=function(n){return{code:qo,message:"File is smaller than ".concat(n," ").concat(n===1?"byte":"bytes")}},Go={code:Ho,message:"Too many files"};function xr(t,n){var r=t.type==="application/x-moz-file"||No(t,n);return[r,r?null:Ko(n)]}function yr(t,n,r){if(Re(t.size))if(Re(n)&&Re(r)){if(t.size>r)return[!1,Pn(r)];if(t.size<n)return[!1,An(n)]}else{if(Re(n)&&t.size<n)return[!1,An(n)];if(Re(r)&&t.size>r)return[!1,Pn(r)]}return[!0,null]}function Re(t){return t!=null}function Yo(t){var n=t.files,r=t.accept,i=t.minSize,o=t.maxSize,s=t.multiple,a=t.maxFiles;return!s&&n.length>1||s&&a>=1&&n.length>a?!1:n.every(function(l){var c=xr(l,r),h=Tn(c,1),d=h[0],m=yr(l,i,o),g=Tn(m,1),f=g[0];return d&&f})}function Ze(t){return typeof t.isPropagationStopped=="function"?t.isPropagationStopped():typeof t.cancelBubble<"u"?t.cancelBubble:!1}function We(t){return t.dataTransfer?Array.prototype.some.call(t.dataTransfer.types,function(n){return n==="Files"||n==="application/x-moz-file"}):!!t.target&&!!t.target.files}function In(t){t.preventDefault()}function Vo(t){return t.indexOf("MSIE")!==-1||t.indexOf("Trident/")!==-1}function Xo(t){return t.indexOf("Edge/")!==-1}function Qo(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Vo(t)||Xo(t)}function se(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return function(i){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];return n.some(function(l){return!Ze(i)&&l&&l.apply(void 0,[i].concat(s)),Ze(i)})}}function Ln(){return"showOpenFilePicker"in window}function Zo(t){return t=typeof t=="string"?t.split(","):t,[{description:"everything",accept:Array.isArray(t)?t.filter(function(n){return n==="audio/*"||n==="video/*"||n==="image/*"||n==="text/*"||/\w+\/[-+.\w]+/g.test(n)}).reduce(function(n,r){return Rn(Rn({},n),{},hr({},r,[]))},{}):{}}]}var Jo=["children"],ea=["open"],ta=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],na=["refKey","onChange","onClick"];function ra(t){return aa(t)||oa(t)||vr(t)||ia()}function ia(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
247
247
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oa(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function aa(t){if(Array.isArray(t))return Ct(t)}function ht(t,n){return ca(t)||la(t,n)||vr(t,n)||sa()}function sa(){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 vr(t,n){if(t){if(typeof t=="string")return Ct(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ct(t,n)}}function Ct(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function la(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function ca(t){if(Array.isArray(t))return t}function On(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function B(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?On(Object(r),!0).forEach(function(i){St(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):On(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function St(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function
|
|
248
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function vr(t,n){if(t){if(typeof t=="string")return Ct(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ct(t,n)}}function Ct(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,i=new Array(n);r<n;r++)i[r]=t[r];return i}function la(t,n){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var i=[],o=!0,s=!1,a,l;try{for(r=r.call(t);!(o=(a=r.next()).done)&&(i.push(a.value),!(n&&i.length===n));o=!0);}catch(c){s=!0,l=c}finally{try{!o&&r.return!=null&&r.return()}finally{if(s)throw l}}return i}}function ca(t){if(Array.isArray(t))return t}function On(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);n&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,i)}return r}function B(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?On(Object(r),!0).forEach(function(i){St(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):On(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function St(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function Je(t,n){if(t==null)return{};var r=da(t,n),i,o;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(o=0;o<s.length;o++)i=s[o],!(n.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(t,i)&&(r[i]=t[i])}return r}function da(t,n){if(t==null)return{};var r={},i=Object.keys(t),o,s;for(s=0;s<i.length;s++)o=i[s],!(n.indexOf(o)>=0)&&(r[o]=t[o]);return r}var Xt=p.forwardRef(function(t,n){var r=t.children,i=Je(t,Jo),o=_t(i),s=o.open,a=Je(o,ea);return p.useImperativeHandle(n,function(){return{open:s}},[s]),Jr.createElement(p.Fragment,null,r(B(B({},a),{},{open:s})))});Xt.displayName="Dropzone";var br={disabled:!1,getFilesFromEvent:To,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1};Xt.defaultProps=br;Xt.propTypes={children:u.func,accept:u.oneOfType([u.string,u.arrayOf(u.string)]),multiple:u.bool,preventDropOnDocument:u.bool,noClick:u.bool,noKeyboard:u.bool,noDrag:u.bool,noDragEventsBubbling:u.bool,minSize:u.number,maxSize:u.number,maxFiles:u.number,disabled:u.bool,getFilesFromEvent:u.func,onFileDialogCancel:u.func,onFileDialogOpen:u.func,useFsAccessApi:u.bool,onDragEnter:u.func,onDragLeave:u.func,onDragOver:u.func,onDrop:u.func,onDropAccepted:u.func,onDropRejected:u.func,validator:u.func};var wt={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function _t(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=B(B({},br),t),r=n.accept,i=n.disabled,o=n.getFilesFromEvent,s=n.maxSize,a=n.minSize,l=n.multiple,c=n.maxFiles,h=n.onDragEnter,d=n.onDragLeave,m=n.onDragOver,g=n.onDrop,f=n.onDropAccepted,y=n.onDropRejected,b=n.onFileDialogCancel,v=n.onFileDialogOpen,C=n.useFsAccessApi,R=n.preventDropOnDocument,j=n.noClick,x=n.noKeyboard,I=n.noDrag,D=n.noDragEventsBubbling,S=n.validator,E=p.useMemo(function(){return typeof v=="function"?v:kn},[v]),L=p.useMemo(function(){return typeof b=="function"?b:kn},[b]),w=p.useRef(null),P=p.useRef(null),A=p.useReducer(ua,wt),M=ht(A,2),$=M[0],H=M[1],W=$.isFocused,me=$.isFileDialogActive,ce=$.draggedFiles,z=function(){me&&setTimeout(function(){if(P.current){var k=P.current.files;k.length||(H({type:"closeDialog"}),L())}},300)};p.useEffect(function(){return C&&Ln()?function(){}:(window.addEventListener("focus",z,!1),function(){window.removeEventListener("focus",z,!1)})},[P,me,L,C]);var U=p.useRef([]),F=function(k){w.current&&w.current.contains(k.target)||(k.preventDefault(),U.current=[])};p.useEffect(function(){return R&&(document.addEventListener("dragover",In,!1),document.addEventListener("drop",F,!1)),function(){R&&(document.removeEventListener("dragover",In),document.removeEventListener("drop",F))}},[w,R]);var q=p.useCallback(function(_){_.preventDefault(),_.persist(),$e(_),U.current=[].concat(ra(U.current),[_.target]),We(_)&&Promise.resolve(o(_)).then(function(k){Ze(_)&&!D||(H({draggedFiles:k,isDragActive:!0,type:"setDraggedFiles"}),h&&h(_))})},[o,h,D]),ye=p.useCallback(function(_){_.preventDefault(),_.persist(),$e(_);var k=We(_);if(k&&_.dataTransfer)try{_.dataTransfer.dropEffect="copy"}catch{}return k&&m&&m(_),!1},[m,D]),en=p.useCallback(function(_){_.preventDefault(),_.persist(),$e(_);var k=U.current.filter(function(J){return w.current&&w.current.contains(J)}),X=k.indexOf(_.target);X!==-1&&k.splice(X,1),U.current=k,!(k.length>0)&&(H({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),We(_)&&d&&d(_))},[w,d,D]),Fe=p.useCallback(function(_,k){var X=[],J=[];_.forEach(function(oe){var De=xr(oe,r),je=ht(De,2),at=je[0],st=je[1],lt=yr(oe,a,s),Me=ht(lt,2),ct=Me[0],dt=Me[1],ut=S?S(oe):null;if(at&&ct&&!ut)X.push(oe);else{var mt=[st,dt];ut&&(mt=mt.concat(ut)),J.push({file:oe,errors:mt.filter(function(Rr){return Rr})})}}),(!l&&X.length>1||l&&c>=1&&X.length>c)&&(X.forEach(function(oe){J.push({file:oe,errors:[Go]})}),X.splice(0)),H({acceptedFiles:X,fileRejections:J,type:"setFiles"}),g&&g(X,J,k),J.length>0&&y&&y(J,k),X.length>0&&f&&f(X,k)},[H,l,r,a,s,c,g,f,y,S]),Ne=p.useCallback(function(_){_.preventDefault(),_.persist(),$e(_),U.current=[],We(_)&&Promise.resolve(o(_)).then(function(k){Ze(_)&&!D||Fe(k,_)}),H({type:"reset"})},[o,Fe,D]),ve=p.useCallback(function(){if(C&&Ln()){H({type:"openDialog"}),E();var _={multiple:l,types:Zo(r)};window.showOpenFilePicker(_).then(function(k){return o(k)}).then(function(k){return Fe(k,null)}).catch(function(k){return L(k)}).finally(function(){return H({type:"closeDialog"})});return}P.current&&(H({type:"openDialog"}),E(),P.current.value=null,P.current.click())},[H,E,L,C,Fe,r,l]),tn=p.useCallback(function(_){!w.current||!w.current.isEqualNode(_.target)||(_.keyCode===32||_.keyCode===13)&&(_.preventDefault(),ve())},[w,P,ve]),nn=p.useCallback(function(){H({type:"focus"})},[]),rn=p.useCallback(function(){H({type:"blur"})},[]),on=p.useCallback(function(){j||(Qo()?setTimeout(ve,0):ve())},[P,j,ve]),be=function(k){return i?null:k},ot=function(k){return x?null:be(k)},Ue=function(k){return I?null:be(k)},$e=function(k){D&&k.stopPropagation()},Sr=p.useMemo(function(){return function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},k=_.refKey,X=k===void 0?"ref":k,J=_.role,oe=_.onKeyDown,De=_.onFocus,je=_.onBlur,at=_.onClick,st=_.onDragEnter,lt=_.onDragOver,Me=_.onDragLeave,ct=_.onDrop,dt=Je(_,ta);return B(B(St({onKeyDown:ot(se(oe,tn)),onFocus:ot(se(De,nn)),onBlur:ot(se(je,rn)),onClick:be(se(at,on)),onDragEnter:Ue(se(st,q)),onDragOver:Ue(se(lt,ye)),onDragLeave:Ue(se(Me,en)),onDrop:Ue(se(ct,Ne)),role:typeof J=="string"&&J!==""?J:"button"},X,w),!i&&!x?{tabIndex:0}:{}),dt)}},[w,tn,nn,rn,on,q,ye,en,Ne,x,I,i]),wr=p.useCallback(function(_){_.stopPropagation()},[]),_r=p.useMemo(function(){return function(){var _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},k=_.refKey,X=k===void 0?"ref":k,J=_.onChange,oe=_.onClick,De=Je(_,na),je=St({accept:r,multiple:l,type:"file",style:{display:"none"},onChange:be(se(J,Ne)),onClick:be(se(oe,wr)),autoComplete:"off",tabIndex:-1},X,P);return B(B({},je),De)}},[P,r,l,Ne,i]),an=ce.length,sn=an>0&&Yo({files:ce,accept:r,minSize:a,maxSize:s,multiple:l,maxFiles:c}),Dr=an>0&&!sn;return B(B({},$),{},{isDragAccept:sn,isDragReject:Dr,isFocused:W&&!i,getRootProps:Sr,getInputProps:_r,rootRef:w,inputRef:P,open:be(ve)})}function ua(t,n){switch(n.type){case"focus":return B(B({},t),{},{isFocused:!0});case"blur":return B(B({},t),{},{isFocused:!1});case"openDialog":return B(B({},wt),{},{isFileDialogActive:!0});case"closeDialog":return B(B({},t),{},{isFileDialogActive:!1});case"setDraggedFiles":var r=n.isDragActive,i=n.draggedFiles;return B(B({},t),{},{draggedFiles:i,isDragActive:r});case"setFiles":return B(B({},t),{},{acceptedFiles:n.acceptedFiles,fileRejections:n.fileRejections});case"reset":return B({},wt);default:return t}}function kn(){}const Fn=50*1024,Nn=t=>new Promise((n,r)=>{const i=new FileReader;i.readAsText(t),i.onload=()=>{n(i.result)},i.onerror=o=>r(o)});function Un({certificate:t={},onRefresh:n,mode:r,...i}){const{t:o}=N(),{api:s}=Z(),[a,l]=p.useState(!1),[c,h]=p.useState(),[d,m]=p.useState(),[g,f]=p.useState(!1),[y,b]=p.useState(""),[v,C]=p.useState("upload"),{handleSubmit:R,formState:j,control:x}=Tt({defaultValues:{name:t.name||t.domain}}),I=hn({control:x,name:"name"}),D=hn({control:x,name:"domain"}),S=()=>a?!0:v==="upload"&&r==="update"?!I:v==="upload"&&r==="add"?!I||!c||!d:v==="lets_encrypt"&&!D,E=()=>{l(!1),f(!1)},L=async F=>{if(r==="add"){const q=(await Nn(d)).replace(/\r\n/g,`
|
|
249
249
|
`),ye=(await Nn(c)).replace(/\r\n/g,`
|
|
250
250
|
`);await s.addCertificate({input:{name:F.name.trim(),certificate:q.split(`
|
|
251
251
|
`).join("|"),privateKey:ye.split(`
|
|
252
|
-
`).join("|")}})}else await s.updateCertificate({input:{id:t.id,name:F.name.trim()}})},w=F=>s.issueLetsEncryptCert({input:{domain:F.domain}}),P={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:L},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:w}},A=async F=>{l(!0);try{const q=P[v];if(!q)throw new Error("Invaid certificate source");await q.onSubmit(F),n(),f(!1)}catch(q){b(de(q)||"unknown error, may be you can check file permission")}finally{l(!1)}},M=()=>{h(null),m(null),f(!0),b("")},$=F=>{C(F.target.value)},H=F=>{F.length>0&&b(Q(F[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:W,getInputProps:me}=_t({accept:[".pem",".crt"],multiple:!1,maxSize:Fn,onDropRejected:H,onDrop:F=>{m(F[0])}}),{getRootProps:ce,getInputProps:z}=_t({accept:[".pem",".key"],multiple:!1,maxSize:Fn,onDropRejected:H,onDrop:F=>{h(F[0])}}),{errors:U}=j;return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:M,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[a?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:16}}),o(r==="add"?"common.add":"common.update")]}),g&&e.jsx(Vn,{title:o(r==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:E,actions:e.jsxs(e.Fragment,{children:[e.jsx(G,{onClick:E,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),e.jsxs(G,{onClick:R(A),color:"secondary",disabled:S(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),a&&e.jsx(Y,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:R(A),children:e.jsxs(ee,{minWidth:{sm:480},children:[e.jsxs(bt,{component:"div",children:[r==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.source")}),e.jsx(xi,{"aria-label":"cert-source",name:"certSource",value:v,onChange:$,children:Object.values(P).map(F=>e.jsx(Kn,{value:F.value,control:e.jsx(yi,{}),label:F.name},F.value))})]}),v==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.name")}),e.jsx(re,{name:"name",control:x,rules:{validate:F=>!!F.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:({field:{value:F,onChange:q}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:F,onChange:q,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),r==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...W({className:"dropzone"}),children:[e.jsx("input",{...me(),"data-cy":"pem-input"}),d&&e.jsx(O,{color:"secondary",children:d.name}),!d&&e.jsx(O,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(O,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...ce({className:"dropzone"}),children:[e.jsx("input",{...z(),"data-cy":"key-input"}),c&&e.jsx(O,{color:"secondary",children:c.name}),!c&&e.jsx(O,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(O,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),v==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(ge,{severity:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("common.domain")}),e.jsx(re,{name:"domain",control:x,rules:{validate:F=>!!F.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:({field:{value:F,onChange:q}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:F,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:q})})]})]})]}),!!y&&e.jsx(ge,{severity:"error",style:{marginTop:8},children:y})]})})})]})}function ma(t){const n=ei(),{t:r}=N(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,domain:c,onDelete:h=()=>{},...d}=t,{refresh:m}=ae(),g=ue(),f=()=>{o(!1),a(null)},y=async()=>{o(!0);try{await g.deleteCertificate({input:{id:l}}),m(),h()}catch(v){console.error(v)}finally{o(!1),a(null)}},b={title:r("router.cert.delete.title"),description:r("router.cert.delete.description",{domain:c}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:y,onCancel:f};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>a(b),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:n.palette.error.main},...d,children:[i?e.jsx(Y,{size:16}):e.jsx(
|
|
252
|
+
`).join("|")}})}else await s.updateCertificate({input:{id:t.id,name:F.name.trim()}})},w=F=>s.issueLetsEncryptCert({input:{domain:F.domain}}),P={upload:{name:o("router.cert.nginx.sourceTypes.upload"),value:"upload",onSubmit:L},lets_encrypt:{name:o("router.cert.nginx.sourceTypes.lets_encrypt"),value:"lets_encrypt",onSubmit:w}},A=async F=>{l(!0);try{const q=P[v];if(!q)throw new Error("Invaid certificate source");await q.onSubmit(F),n(),f(!1)}catch(q){b(de(q)||"unknown error, may be you can check file permission")}finally{l(!1)}},M=()=>{h(null),m(null),f(!0),b("")},$=F=>{C(F.target.value)},H=F=>{F.length>0&&b(Q(F[0],"errors[0].message",o("router.cert.add.invalidFile")))},{getRootProps:W,getInputProps:me}=_t({accept:[".pem",".crt"],multiple:!1,maxSize:Fn,onDropRejected:H,onDrop:F=>{m(F[0])}}),{getRootProps:ce,getInputProps:z}=_t({accept:[".pem",".key"],multiple:!1,maxSize:Fn,onDropRejected:H,onDrop:F=>{h(F[0])}}),{errors:U}=j;return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:M,className:"rule-action",color:"primary","data-cy":"add-cert",...i,children:[a?e.jsx(Y,{size:16}):e.jsx(Pt,{style:{fontSize:16}}),o(r==="add"?"common.add":"common.update")]}),g&&e.jsx(Vn,{title:o(r==="add"?"router.cert.nginx.titleAdd":"router.cert.nginx.title"),open:!0,onClose:E,actions:e.jsxs(e.Fragment,{children:[e.jsx(G,{onClick:E,color:"inherit","data-cy":"cert-cancel",children:o("router.cert.nginx.cancel")}),e.jsxs(G,{onClick:R(A),color:"secondary",disabled:S(),variant:"contained",autoFocus:!0,"data-cy":"save-cert",children:[o("router.cert.nginx.confirm"),a&&e.jsx(Y,{size:16})]})]}),children:e.jsx("form",{className:"form","data-cy":"cert-form",noValidate:!0,autoComplete:"off",onSubmit:R(A),children:e.jsxs(ee,{minWidth:{sm:480},children:[e.jsxs(bt,{component:"div",children:[r==="add"&&e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.source")}),e.jsx(xi,{"aria-label":"cert-source",name:"certSource",value:v,onChange:$,children:Object.values(P).map(F=>e.jsx(Kn,{value:F.value,control:e.jsx(yi,{}),label:F.name},F.value))})]}),v==="upload"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.name")}),e.jsx(re,{name:"name",control:x,rules:{validate:F=>!!F.trim()||o("common.requiredErrorText",{name:o("router.cert.name")})},render:({field:{value:F,onChange:q}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:F,onChange:q,error:!!U.name,autoComplete:"off",variant:"outlined",name:"name",className:"form-item-value","data-cy":"certificate-name-textfield",helperText:U.name&&U.name.message})})]}),r==="add"&&e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.pem")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...W({className:"dropzone"}),children:[e.jsx("input",{...me(),"data-cy":"pem-input"}),d&&e.jsx(O,{color:"secondary",children:d.name}),!d&&e.jsx(O,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(O,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.pemTip")})]})})]}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("router.cert.nginx.key")}),e.jsx("div",{className:"form-item-value",children:e.jsxs("div",{...ce({className:"dropzone"}),children:[e.jsx("input",{...z(),"data-cy":"key-input"}),c&&e.jsx(O,{color:"secondary",children:c.name}),!c&&e.jsx(O,{color:"secondary",children:o("router.cert.nginx.empty")}),e.jsx(O,{component:"small",variant:"body2",color:"textSecondary",children:o("router.cert.nginx.keyTip")})]})})]})]})]}),v==="lets_encrypt"&&e.jsxs(e.Fragment,{children:[e.jsx("section",{className:"form-item",children:e.jsx(ge,{severity:"success",children:o("router.cert.genLetsEncryptCert.dnsTip")})}),e.jsxs("section",{className:"form-item",children:[e.jsx("div",{className:"form-item-label",children:o("common.domain")}),e.jsx(re,{name:"domain",control:x,rules:{validate:F=>!!F.trim()||o("common.requiredErrorText",{name:o("common.domain")})},render:({field:{value:F,onChange:q}})=>e.jsx(K,{fullWidth:!0,autoFocus:!0,defaultValue:F,error:!!U.domain,autoComplete:"off",variant:"outlined",className:"form-item-value",helperText:U.domain&&U.domain.message,onChange:q})})]})]})]}),!!y&&e.jsx(ge,{severity:"error",style:{marginTop:8},children:y})]})})})]})}function ma(t){const n=ei(),{t:r}=N(),[i,o]=p.useState(!1),[s,a]=p.useState(null),{id:l,domain:c,onDelete:h=()=>{},...d}=t,{refresh:m}=ae(),g=ue(),f=()=>{o(!1),a(null)},y=async()=>{o(!0);try{await g.deleteCertificate({input:{id:l}}),m(),h()}catch(v){console.error(v)}finally{o(!1),a(null)}},b={title:r("router.cert.delete.title"),description:r("router.cert.delete.description",{domain:c}),confirm:r("common.delConfirm"),cancel:r("common.cancel"),onConfirm:y,onCancel:f};return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>a(b),size:"small",className:"rule-action",variant:"text","data-cy":"action-delete-cert",style:{color:n.palette.error.main},...d,children:[i?e.jsx(Y,{size:16}):e.jsx(Le,{style:{fontSize:16}}),r("common.delete")]}),s&&e.jsx(ne,{title:s.title,description:s.description,confirm:s.confirm,cancel:s.cancel,params:s.params,onConfirm:s.onConfirm,onCancel:s.onCancel})]})}var Qt={},fa=xe;Object.defineProperty(Qt,"__esModule",{value:!0});var jr=Qt.default=void 0,pa=fa(he()),ga=e;jr=Qt.default=(0,pa.default)((0,ga.jsx)("path",{d:"M12 3 2 21h20zm1 5.92L18.6 19H13zm-2 0V19H5.4z"}),"Details");function Cr(t){const{certificate:n={},...r}=t,{t:i,locale:o}=N(),[s,a]=p.useState(!1),l=ti(),c=()=>{a(!1)},h=[{id:"matchedSites",name:i("router.cert.matchedSites"),value:(n.matchedSites||[]).map(m=>e.jsx(O,{component:"div",style:{fontWeight:"inherit",fontSize:"1.1rem"},children:m.domain},m.id))},{id:"updatedAt",name:i("common.updatedAt"),value:pn(n.updatedAt,o)},{id:"createdAt",name:i("common.createdAt"),value:pn(n.createdAt,o)}],d=[{id:"boundDomains",name:i("router.cert.boundDomains"),value:e.jsx(O,{component:"span",style:{fontSize:"1.1rem"},children:(Q(n,"sans")||[]).join(", ")})},{id:"issuer",name:i("common.issuer"),value:Q(n,"meta.issuer.commonName","")},{id:"fingerprint",name:i("common.fingerprint"),value:Q(n,"meta.fingerprint")},{id:"fingerprintAlg",name:i("router.cert.fingerprintAlg"),value:Q(n,"meta.fingerprintAlg")},{id:"validityPeriod",name:i("router.cert.validityPeriod"),value:ni.duration(Q(n,"meta.validityPeriod"),"ms").humanize()},{id:"issuedOn",name:i("router.cert.issuedOn"),value:He(Q(n,"meta.validFrom"),o)},{id:"expiryOn",name:i("router.cert.expiryOn"),value:He(Q(n,"meta.validTo"),o)}];return e.jsxs(e.Fragment,{children:[e.jsxs(G,{edge:"end",onClick:()=>a(!0),size:"small",className:"rule-action",variant:"text",color:"secondary","data-cy":"action-view-cert",...r,children:[e.jsx(jr,{style:{fontSize:16}}),i("common.detail")]}),e.jsxs(Vn,{title:i("router.cert.detail.title"),"aria-labelledby":"certificate details",fullWidth:!0,open:s,showCloseButton:!1,actions:e.jsx(G,{autoFocus:!0,variant:"contained",onClick:c,color:"secondary",children:i("common.close")}),children:[e.jsx(bt,{component:"div",style:{margin:l.spacing(2)},children:h.map(m=>e.jsx(Ke,{nameWidth:200,valueComponent:"div",name:m.name,children:m.value},m.id))},"cert-basic"),e.jsx(gn,{}),e.jsx(bt,{component:"div",style:{margin:l.spacing(2)},children:d.map(m=>e.jsx(Ke,{nameWidth:200,valueComponent:"div",name:m.name,children:m.value},m.id))},"cer-info"),e.jsx(gn,{})]})]})}Cr.propTypes={certificate:u.object.isRequired};function Zt(t){const{certificate:n,style:r,...i}=t,{t:o}=N(),[s,a]=p.useState(!1),l=n.matchedSites||[];return e.jsxs(O,{component:"ul",...i,style:{...r,listStyle:"none"},children:[(s?l:l.slice(0,4)).map(c=>e.jsx(O,{component:"li",style:{fontSize:"1.1rem",margin:"4px 0"},children:c.domain},c.id)),l.length>4&&e.jsx(G,{style:{border:"none",padding:"5px 0"},variant:"outlined",color:"primary",className:"button",onClick:()=>{a(!s)},children:o(s?"common.collapseAll":"common.expandAll")})]})}Zt.propTypes={certificate:u.object.isRequired,style:u.object};Zt.defaultProps={style:{}};const ha=t=>{if(!t)return!1;const n=+new Date;return t-n<=0},$n="ssl-certificates-table";u.number;function xt({name:t,value:n,style:r={},icon:i,...o}){return e.jsxs(xa,{style:{display:"flex",alignItems:"center",...r},...o,children:[e.jsxs("span",{children:[t,":"]}),e.jsx("span",{children:n}),i&&i]})}const xa=V.div`
|
|
253
253
|
& > span {
|
|
254
254
|
margin: 5px;
|
|
255
255
|
}
|
|
256
|
-
`;function Jt({status:t,source:n,expiresTime:r}){const{t:i}=N();return ha(r)?e.jsx(
|
|
256
|
+
`;function Jt({status:t,source:n,expiresTime:r}){const{t:i}=N();return ha(r)?e.jsx(Be,{type:"error",children:i("router.cert.expired")}):n==="upload"?e.jsx(Be,{type:"success",children:i("common.normal")}):t==="error"?e.jsx(Be,{type:"error",children:i("common.error")}):t==="generated"?e.jsx(Be,{type:"success",children:i("common.normal")}):""}Jt.propTypes={status:u.string,source:u.string,expiresTime:u.number.isRequired};Jt.defaultProps={status:"",source:""};const ya=(t,n)=>{if(!n)return t;const r=(n.site.domainAliases||[]).map(i=>i.value);return t.filter(i=>ii(r,i.matchedSites))};function va(){var m;const{t,locale:n}=p.useContext(Dt),r=ue(),{api:i}=Z(),s=ri().get("did"),a=Ie(async()=>{const{certificates:g}=await r.getCertificates();let f=null;if(s){const{blocklet:b}=await i.getBlocklet({input:{did:s,attachRuntimeInfo:!0}});f=b}return{certificates:ya(g,f)}}),l=()=>{a.retry()},c=(m=a.value)==null?void 0:m.certificates,h=[{label:t("common.certificate"),name:"",verticalKeyAlign:"center",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsxs(e.Fragment,{children:[f.name&&e.jsx(xt,{nowrap:!0,style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.name"),value:f.name}),e.jsx(xt,{style:{fontSize:"16px",whiteSpace:"nowrap"},name:t("common.issuer"),value:Q(f,"meta.issuer.commonName","")}),e.jsx(xt,{style:{fontSize:"16px",whiteSpace:"nowrap"},icon:e.jsx(pe,{title:f.isProtected?t("router.cert.protectedCertHelperText"):t("router.cert.unprotectedCertHelperText"),children:e.jsx(Xn,{style:{fontSize:"18px"},color:"secondary"})}),name:t("common.protected"),value:f.isProtected?t("common.yes"):t("common.no")})]})}}},{label:t("router.cert.boundDomains"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(O,{noWrap:!0,component:"ul",style:{listStyle:"none"},children:[...new Set([...Q(f,"meta.sans")||[],f.domain])].map(y=>e.jsx(O,{component:"li",title:y,style:{fontSize:"1.1rem",minWidth:200,whiteSpace:"initial",wordBreak:"break-all"},children:y},y))})}}},{label:t("router.cert.source"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return t(`router.cert.sourceTypes.${f.source}`)}}},{label:t("common.status"),name:"",width:100,options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(Jt,{status:f.status,source:f.source,expiresTime:Q(f,"meta.validTo")})}}},{label:t("common.expires"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(Bn,{value:Q(f,"meta.validTo"),locale:n})}}},{label:t("router.cert.matchedSites"),name:"",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(Zt,{id:f.id,certificate:f,style:{minWidth:200,whiteSpace:"initial",wordBreak:"break-all"}})}}},{label:t("router.cert.action"),name:"",align:"center",options:{sort:!1,filter:!1,customBodyRenderLite:g=>{const f=c[g];return e.jsx(te,{permission:"mutate_router",children:e.jsxs(e.Fragment,{children:[!f.isProtected&&e.jsxs(e.Fragment,{children:[f.source==="upload"&&e.jsx("div",{children:e.jsx(Un,{mode:"update",certificate:f,onRefresh:l})}),e.jsx("div",{children:e.jsx(ma,{id:f.id,domain:f.domain,onDelete:l})})]}),e.jsx("div",{children:e.jsx(Cr,{id:f.id,certificate:f})})]})})}}}];if(a.error)return e.jsx(ge,{severity:"error",children:de(a.error)});if(a.loading)return e.jsx(Y,{});const d=ui($n);return e.jsx(ba,{children:e.jsx(Qn,{title:e.jsx(te,{permission:"mutate_router",children:e.jsx(Un,{mode:"add",onRefresh:l,variant:"contained"})}),locale:n,data:a.value.certificates,columns:h,verticalKeyWidth:100,durable:$n,options:{search:!1,download:!1,filter:!1,print:!1,...d}})})}const ba=V.div`
|
|
257
257
|
.header {
|
|
258
258
|
display: flex;
|
|
259
259
|
justify-content: flex-end;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as y}from"./index-
|
|
1
|
+
import{g as y}from"./index-BZAu7qvV.js";var c={};function u(e,i){typeof i=="boolean"&&(i={forever:i}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=i||{},this._maxRetryTime=i&&i.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}var T=u;u.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};u.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};u.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var i=new Date().getTime();if(e&&i-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var t=this._timeouts.shift();if(t===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),t=this._cachedTimeouts.slice(-1);else return!1;var r=this;return this._timer=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},t),this._options.unref&&this._timer.unref(),!0};u.prototype.attempt=function(e,i){this._fn=e,i&&(i.timeout&&(this._operationTimeout=i.timeout),i.cb&&(this._operationTimeoutCb=i.cb));var t=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){t._operationTimeoutCb()},t._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};u.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};u.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};u.prototype.start=u.prototype.try;u.prototype.errors=function(){return this._errors};u.prototype.attempts=function(){return this._attempts};u.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},i=null,t=0,r=0;r<this._errors.length;r++){var n=this._errors[r],o=n.message,a=(e[o]||0)+1;e[o]=a,a>=t&&(i=n,t=a)}return i};(function(e){var i=T;e.operation=function(t){var r=e.timeouts(t);return new i(r,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},e.timeouts=function(t){if(t instanceof Array)return[].concat(t);var r={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in t)r[n]=t[n];if(r.minTimeout>r.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var o=[],a=0;a<r.retries;a++)o.push(this.createTimeout(a,r));return t&&t.forever&&!o.length&&o.push(this.createTimeout(a,r)),o.sort(function(s,m){return s-m}),o},e.createTimeout=function(t,r){var n=r.randomize?Math.random()+1:1,o=Math.round(n*Math.max(r.minTimeout,1)*Math.pow(r.factor,t));return o=Math.min(o,r.maxTimeout),o},e.wrap=function(t,r,n){if(r instanceof Array&&(n=r,r=null),!n){n=[];for(var o in t)typeof t[o]=="function"&&n.push(o)}for(var a=0;a<n.length;a++){var s=n[a],m=t[s];t[s]=(function(p){var f=e.operation(r),h=Array.prototype.slice.call(arguments,1),l=h.pop();h.push(function(_){f.retry(_)||(_&&(arguments[0]=f.mainError()),l.apply(this,arguments))}),f.attempt(function(){p.apply(t,h)})}).bind(t,m),t[s].options=r}}})(c);var v=c;const R=y(v);export{R as a,v as r};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as r,m as i,P as e,d4 as c,d5 as f,s as u}from"./index-
|
|
1
|
+
import{j as r,m as i,P as e,d4 as c,d5 as f,s as u}from"./index-BZAu7qvV.js";function l({name:t,nameFormatter:o,layout:a,children:n,valueComponent:s,nameWidth:m,...p}){return r.jsxs(d,{layout:a,width:m,...p,children:[r.jsx(i,{color:"textSecondary",className:"info-row__name",children:o(t)}),n&&r.jsx(i,{color:"textPrimary",component:s,className:"info-row__value",children:n})]})}l.propTypes={name:e.any.isRequired,layout:e.oneOf(["horizontal","vertical"]),children:e.any,nameFormatter:e.func,valueComponent:e.string,nameWidth:e.number};l.defaultProps={children:null,nameWidth:90,nameFormatter:t=>{const o=t.split(" ").map(a=>c(f(a))).join(" ");return typeof t=="string"?o:t},valueComponent:"div",layout:"horizontal"};const d=u("div")`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: ${t=>t.layout==="vertical"?"column":"row"};
|
|
4
4
|
justify-content: flex-start;
|