@abtnode/webapp 1.16.49 → 1.16.50-beta-20250902-084222-ed7de4a8
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/{AdapterDayjs-DimT2cks.js → AdapterDayjs-DPswIgNd.js} +1 -1
- package/dist/assets/{Add-B2ZDVqat.js → Add-CTkKWsbA.js} +1 -1
- package/dist/assets/ArrowDropDown-CPMzkOwU.js +1 -0
- package/dist/assets/{Autocomplete-B6hdnAbf.js → Autocomplete-BnpjHbVI.js} +1 -1
- package/dist/assets/{Breadcrumbs-C0NyAgW3.js → Breadcrumbs-BcwyHALS.js} +1 -1
- package/dist/assets/{ButtonGroup-BxZjrpDd.js → ButtonGroup-B8CEk0Fm.js} +1 -1
- package/dist/assets/{CSSTransition-D9w1WbTD.js → CSSTransition-CgU-qJG1.js} +1 -1
- package/dist/assets/{CallMerge-CT9kGdYw.js → CallMerge-DG9UCIML.js} +1 -1
- package/dist/assets/{CardContent-DZQbbzze.js → CardContent-DUT0SHjO.js} +1 -1
- package/dist/assets/{ChevronLeft-C1WpAw9J.js → ChevronLeft-Mrf8wNcO.js} +1 -1
- package/dist/assets/{ChevronRight-BHex1y5g.js → ChevronRight-CgNj8oK3.js} +1 -1
- package/dist/assets/{Clear-CY2XI9UL.js → Clear-D0eiF7LM.js} +1 -1
- package/dist/assets/{DeleteOutline-DCwd4zu5.js → DeleteOutline-BXGUPwfv.js} +1 -1
- package/dist/assets/{Done-DvjnHsf4.js → Done-B-4ttL5E.js} +1 -1
- package/dist/assets/{Edit-CQvdC-gs.js → Edit-BDZJlnuz.js} +1 -1
- package/dist/assets/{ErrorOutline-3x65gte5.js → ErrorOutline-DM8Q-uGO.js} +1 -1
- package/dist/assets/{FilterList-C7CgIPm8.js → FilterList-BnK3OcNB.js} +1 -1
- package/dist/assets/{Google-Bli8mQj2.js → Google-BnsccEt-.js} +1 -1
- package/dist/assets/{HelpOutline-DK_qkp2M.js → HelpOutline-95P320TL.js} +1 -1
- package/dist/assets/{Launch-Cazur-Fl.js → Launch-C31ynKKh.js} +1 -1
- package/dist/assets/{Link-B32ARgrh.js → Link-DKdN2Z0q.js} +1 -1
- package/dist/assets/{ListItemButton-BOWa6EsK.js → ListItemButton-wejxtEoj.js} +1 -1
- package/dist/assets/{ListSubheader-59vUoVIT.js → ListSubheader-B_qXJClL.js} +1 -1
- package/dist/assets/{LoadingButton-ClNP4uj0.js → LoadingButton-Zo_5FEH-.js} +1 -1
- package/dist/assets/{MoreVert-Dnv5meLi.js → MoreVert-Bg7SRP_I.js} +1 -1
- package/dist/assets/{OpenInNew-CVZ7jhVw.js → OpenInNew-C4rxt70p.js} +1 -1
- package/dist/assets/{Refresh-BU7QWHYu.js → Refresh-L5IK_LF1.js} +1 -1
- package/dist/assets/{Search-CviyP5PC.js → Search-2a28Zd0Q.js} +1 -1
- package/dist/assets/{Slider-DEcPJiVm.js → Slider-DfrL_KUv.js} +1 -1
- package/dist/assets/{Stepper-BXOkpPZl.js → Stepper-B6f7_MVS.js} +1 -1
- package/dist/assets/{Switch-C_vix7qp.js → Switch-iXfQHCNE.js} +1 -1
- package/dist/assets/{TableSearch-Dsfp_XUr.js → TableSearch-BfqBG8KC.js} +1 -1
- package/dist/assets/{ToggleButtonGroup-BRuEkEDq.js → ToggleButtonGroup-CAU8g76h.js} +1 -1
- package/dist/assets/{Verified-C1OHOKpp.js → Verified-DFAnifny.js} +1 -1
- package/dist/assets/{VerifiedUser-C0M9SrH7.js → VerifiedUser-BFvcT9A-.js} +1 -1
- package/dist/assets/{ViewList-_seGVlfH.js → ViewList-BF_nxJjM.js} +1 -1
- package/dist/assets/{_createAggregator-s6UGbWKk.js → _createAggregator-DTDqEyEr.js} +1 -1
- package/dist/assets/{actions-DaFcSF4Q.js → actions-BfeIbo_G.js} +1 -1
- package/dist/assets/{actions-BTM30cO2.js → actions-DcrS1GhL.js} +1 -1
- package/dist/assets/{agreement-DSL1Z9Z4.js → agreement-8NAAXeTA.js} +1 -1
- package/dist/assets/api-DHdVnqwS.js +1 -0
- package/dist/assets/{appearance-B5Fxj0pt.js → appearance-BiJ6lD1T.js} +1 -1
- package/dist/assets/{audit-logs-DfhTX_zm.js → audit-logs-xPU-sDla.js} +1 -1
- package/dist/assets/{base-chart-CUBovNRp.js → base-chart-CPd4vePQ.js} +1 -1
- package/dist/assets/{blocklet-Clk0KDdY.js → blocklet-BwXw89V1.js} +1 -1
- package/dist/assets/{chain-Bpi260c_.js → chain-d11c9jLj.js} +1 -1
- package/dist/assets/{click-to-copy-BZWirPDQ.js → click-to-copy-mqyEDC5n.js} +1 -1
- package/dist/assets/client-CSeQ4CUw.js +1 -0
- package/dist/assets/cloneDeep-DrWSOVhF.js +1 -0
- package/dist/assets/{collapse-BOYOLC_4.js → collapse-Co_76D-y.js} +1 -1
- package/dist/assets/{config-navigation-BEIEFUiN.js → config-navigation-Bxan73e2.js} +3 -3
- package/dist/assets/{connect-to-CKfgySWf.js → connect-to-dgAF9yLc.js} +5 -5
- package/dist/assets/{cssMode-B5RVclx-.js → cssMode-C31W-e3q.js} +1 -1
- package/dist/assets/{delete-confirm-BrhseXop.js → delete-confirm-BBlDevSj.js} +1 -1
- package/dist/assets/{depsEqual-msOq5b5x.js → depsEqual-BxsaWGVI.js} +1 -1
- package/dist/assets/{detail-BlLW7YjN.js → detail-DAPMqeRx.js} +3 -3
- package/dist/assets/{domains-C_4AnOp5.js → domains-24jfdV6n.js} +1 -1
- package/dist/assets/{download-DY09iblB.js → download-3kRJTAFI.js} +1 -1
- package/dist/assets/{edit.svg-D-BTMQSd.js → edit.svg-BHgQlE3X.js} +1 -1
- package/dist/assets/emotion-cache.browser.esm-DKCrrwkN.js +1 -0
- package/dist/assets/engine-Cere5Eel.js +1 -0
- package/dist/assets/{freemarker2-qOqeJDqa.js → freemarker2-JmP3cv2S.js} +1 -1
- package/dist/assets/{get-safe-url-0GDhhKMb.js → get-safe-url-DG3hbVuw.js} +1 -1
- package/dist/assets/getValidReactChildren-UBZRExQI.js +1 -0
- package/dist/assets/{graphqlMode-K6gJ3gBf.js → graphqlMode-C78Ld2Eu.js} +2 -2
- package/dist/assets/{handlebars-CpCfM6TO.js → handlebars-CKF2hLML.js} +1 -1
- package/dist/assets/{html-fUKduY5C.js → html-CBskQMFu.js} +1 -1
- package/dist/assets/{html-title-HtPlSvGf.js → html-title-F0NEfYXw.js} +1 -1
- package/dist/assets/{htmlMode-B-5GmxUH.js → htmlMode-DsG66HOr.js} +1 -1
- package/dist/assets/{iframe-CiaMOw3l.js → iframe-B5DJ8-Ji.js} +1 -1
- package/dist/assets/{index-BniP3-Ka.js → index-0496i8uI.js} +2 -2
- package/dist/assets/{index-B58pv6JK.js → index-2hrGtHmX.js} +1 -1
- package/dist/assets/{index-BcVAgGLo.js → index-4ozQpL9g.js} +1 -1
- package/dist/assets/{index--IDE3zqS.js → index-B3FIRHqC.js} +1 -1
- package/dist/assets/{index-B09qWXEi.js → index-BLMobR0e.js} +1 -1
- package/dist/assets/index-BMcGNp8z.js +602 -0
- package/dist/assets/{index-De5Caszn.js → index-BShBVqEp.js} +1 -1
- package/dist/assets/{index-QEEYyfjs.js → index-BTOhdwnt.js} +1 -1
- package/dist/assets/{index-BQl82i43.js → index-BUw2Zomp.js} +1 -1
- package/dist/assets/{index-n4_kY89C.js → index-BWyeLBJr.js} +1 -1
- package/dist/assets/index-B_D_eWlx.js +1 -0
- package/dist/assets/{index-Rr_K0vXu.js → index-BeVhpCa2.js} +1 -1
- package/dist/assets/{index-C_Fk7Rzr.js → index-Bj_Te32l.js} +1 -1
- package/dist/assets/{index-D1AKo-x3.js → index-C-fYS2zX.js} +1 -1
- package/dist/assets/{index-CwANiKOk.js → index-C1YX-486.js} +1 -1
- package/dist/assets/{index-BcMFt6jn.js → index-C3erfPAZ.js} +3 -3
- package/dist/assets/{index-sz3uFV7b.js → index-CIOQij4h.js} +1 -1
- package/dist/assets/{index-DMSf9VmZ.js → index-CN-8L-fW.js} +1 -1
- package/dist/assets/{index-DiVM7PAR.js → index-COFGt098.js} +1 -1
- package/dist/assets/{index-CB6io54J.js → index-COql_jsK.js} +1 -1
- package/dist/assets/{index-C0cmjlmK.js → index-CPewySJ_.js} +1 -1
- package/dist/assets/{index-nbCQMVdu.js → index-CTpUEnRG.js} +1 -1
- package/dist/assets/{index-N8fONOxR.js → index-ChZ3ki2X.js} +9 -9
- package/dist/assets/{index-BCDhEJAj.js → index-ClLVAMtr.js} +1 -1
- package/dist/assets/{index-C_i8vZPM.js → index-Cx9xeHC7.js} +1 -1
- package/dist/assets/{index-CB3gF2be.js → index-D-LfiN9o.js} +1 -1
- package/dist/assets/{index-wdj0FEUp.js → index-D9XGO23S.js} +3 -3
- package/dist/assets/{index-daIR3ecn.js → index-D9nLQXCy.js} +1 -1
- package/dist/assets/{index-tE5HA0JS.js → index-DAw4DSiR.js} +1 -1
- package/dist/assets/{index-NeEbDyYj.js → index-DCkFWlji.js} +1 -1
- package/dist/assets/{index-BVwfeTfE.js → index-DDIG3-mk.js} +1 -1
- package/dist/assets/{index-DCr9iA79.js → index-DGDUIal5.js} +1 -1
- package/dist/assets/{index-Cs7boeoz.js → index-DKPVTl-I.js} +1 -1
- package/dist/assets/{index-BMlarUaU.js → index-DPKaJazb.js} +1 -1
- package/dist/assets/{index-Bz1WmE2z.js → index-DocroCwn.js} +1 -1
- package/dist/assets/{index-BhIGrRjA.js → index-DpRx2tZw.js} +1 -1
- package/dist/assets/{index-DGDwJTNO.js → index-Dsvvy8_K.js} +1 -1
- package/dist/assets/{index-Dm676q-V.js → index-H1nowJu-.js} +1 -1
- package/dist/assets/{index-k6Jydhg7.js → index-Mg5Ud6gu.js} +1 -1
- package/dist/assets/{index-C21lcN-6.js → index-OGdXuzH7.js} +3 -3
- package/dist/assets/{index-Cp668Jsm.js → index-OdvXHPqT.js} +112 -112
- package/dist/assets/{index-DNBJ_q-W.js → index-R68RI5nS.js} +1 -1
- package/dist/assets/{index-DLs4lvkb.js → index-Y2ocg0We.js} +1 -1
- package/dist/assets/{index-BuNutR9F.js → index-g2Hjwa9j.js} +1 -1
- package/dist/assets/{index-CEcRkbK_.js → index-x8ZFxnS7.js} +1 -1
- package/dist/assets/{index.esm-BWXMXe80.js → index.esm-Dt7UO6Gw.js} +1 -1
- package/dist/assets/{install-from-url-CvXm7zrQ.js → install-from-url-DP36MlN0.js} +1 -1
- package/dist/assets/{invitation-Bbd0EUPN.js → invitation-Iv5T__li.js} +1 -1
- package/dist/assets/{is-path-prefix-equal-9dPZdPqq.js → is-path-prefix-equal-DVbPRsdH.js} +1 -1
- package/dist/assets/{item-Czk-LxVv.js → item-D5nrOHxx.js} +1 -1
- package/dist/assets/{javascript-Df4-_tCH.js → javascript-DwMwjVUG.js} +1 -1
- package/dist/assets/{jsonMode-lPvmVuEc.js → jsonMode-Dw4fMRhD.js} +1 -1
- package/dist/assets/{liquid-iErrkmsS.js → liquid-9EaYCIu3.js} +1 -1
- package/dist/assets/{list-header-D9Jtipco.js → list-header-DofW2Ftc.js} +1 -1
- package/dist/assets/{log-D_Iy4G-2.js → log-DaGgK84T.js} +1 -1
- package/dist/assets/{lottie-react.esm-CLF_w70g.js → lottie-react.esm-tNmLlP7P.js} +1 -1
- package/dist/assets/{mdx-CpiXAgeN.js → mdx-WQ_--1yL.js} +1 -1
- package/dist/assets/{memory-0tMnFTeS.js → memory-BPr31Oys.js} +1 -1
- package/dist/assets/{metric-Blz-YEnp.js → metric-D2ucAHiH.js} +1 -1
- package/dist/assets/omit-BPHBFoDu.js +1 -0
- package/dist/assets/{overview-DQoppCkb.js → overview-CCPEnAHB.js} +1 -1
- package/dist/assets/{permission-Dq4G1Nhn.js → permission-CUvNs2Zv.js} +1 -1
- package/dist/assets/{preference-5drfcglD.js → preference-BN0Jy77b.js} +3 -3
- package/dist/assets/{python-DXxIcyYN.js → python-C_uQOER7.js} +1 -1
- package/dist/assets/{raf-schd.esm-le4x5qzb.js → raf-schd.esm-DUMXV33K.js} +1 -1
- package/dist/assets/{razor-DEo7ceFX.js → razor-Bf6ygvvd.js} +1 -1
- package/dist/assets/{rotate-session-key-omld1AuK.js → rotate-session-key-BdVsr217.js} +1 -1
- package/dist/assets/{runtime-myPRlwBo.js → runtime-B54DBemf.js} +1 -1
- package/dist/assets/schema-C8eqaAts.js +1 -0
- package/dist/assets/sdk-B2QHgBcr.js +1 -0
- package/dist/assets/{service-M1mmil55.js → service-CcQaRfy1.js} +1 -1
- package/dist/assets/{shorten-label-Dwsld825.js → shorten-label-CPrM7klu.js} +1 -1
- package/dist/assets/{simple-select-C7PnNUpe.js → simple-select-Y6nLlyX-.js} +1 -1
- package/dist/assets/{spaces-Dz6osU8D.js → spaces-DfU2dhr-.js} +1 -1
- package/dist/assets/{status-Dk7whVRe.js → status-DjEtZNUr.js} +1 -1
- package/dist/assets/{status-DC_uFdhU.js → status-tQggAyS9.js} +1 -1
- package/dist/assets/{switch-control-Dg5zSUdo.js → switch-control-LS_NeTom.js} +1 -1
- package/dist/assets/{table-icons-jOs3s3dQ.js → table-icons-LUDdTh3T.js} +1 -1
- package/dist/assets/{team-D3LeaCxJ.js → team-Dyq5wP2P.js} +1 -1
- package/dist/assets/{toLower-D7KlZyXh.js → toLower-B8SBWvWe.js} +1 -1
- package/dist/assets/toUpper-z0GOUGgF.js +1 -0
- package/dist/assets/{traffic-Dh32_ebe.js → traffic-DgBk3o2N.js} +1 -1
- package/dist/assets/{tsMode-BXE5NTFR.js → tsMode-_qFiyVuf.js} +1 -1
- package/dist/assets/{typescript-Cyw-SWET.js → typescript-BClkULc3.js} +1 -1
- package/dist/assets/{url-evaluation-ZlHZwvb8.js → url-evaluation-DgbmtLnr.js} +1 -1
- package/dist/assets/{url-join-BaK21hdG.js → url-join-CTs-nsh5.js} +1 -1
- package/dist/assets/{use-mobile-fb1R4sTD.js → use-mobile-BeKGXAC7.js} +1 -1
- package/dist/assets/{use-mobile-DmPwZVyR.js → use-mobile-Yz2bScih.js} +1 -1
- package/dist/assets/{useAsync-mK5hkfXk.js → useAsync-DkpPqR2N.js} +1 -1
- package/dist/assets/{useAsyncRetry-Bz9aJRiB.js → useAsyncRetry-Xbq1Vu1J.js} +1 -1
- package/dist/assets/{useLocalStorage-D39oHiv_.js → useLocalStorage-BRX7xEeE.js} +1 -1
- package/dist/assets/{useThemeProps-CEesX7e5.js → useThemeProps-B8kKGfuj.js} +1 -1
- package/dist/assets/{util-B3o9CH5x.js → util-Cw9ZhkhZ.js} +1 -1
- package/dist/assets/{wait-container-Cq-OhUMI.js → wait-container-CESBMuDe.js} +1 -1
- package/dist/assets/{without-wallet-BK9y4GG-.js → without-wallet-DfzBh9gC.js} +1 -1
- package/dist/assets/{wrap-locale-BDWmzfGR.js → wrap-locale-Bz8sQEwG.js} +1 -1
- package/dist/assets/{xml-C7AOEa-o.js → xml-DgLvDwTZ.js} +1 -1
- package/dist/assets/{yaml-D87QX20d.js → yaml-CBYpsbMl.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +1 -1
- package/dist/assets/ArrowDropDown-DTUdke6O.js +0 -1
- package/dist/assets/api-BDClPnhH.js +0 -1
- package/dist/assets/client-BeAJe0yS.js +0 -1
- package/dist/assets/cloneDeep-BPw0K7hq.js +0 -1
- package/dist/assets/emotion-cache.browser.esm-B-0g7s2E.js +0 -1
- package/dist/assets/engine-CjGipQ8H.js +0 -1
- package/dist/assets/getValidReactChildren-CS8vN0Dc.js +0 -1
- package/dist/assets/index-31DGwfk5.js +0 -602
- package/dist/assets/index-DWCHUGMU.js +0 -1
- package/dist/assets/omit-kqOgzbK4.js +0 -1
- package/dist/assets/schema-B6D_WZyG.js +0 -1
- package/dist/assets/sdk-BbOdEeFV.js +0 -1
- package/dist/assets/toUpper-j7Or1KIp.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aG as le,j as e,hw as ce,bd as ue,bn as Y,m as Z,fO as ee,f8 as te,aP as re,cr as u,H as S,hx as M,N as R,t as x,hy as V,aU as H,Q as p,az as de,v as N,s as ie,aV as ne,z as me,y as fe,E as he,r as U,g as xe,by as pe}from"./index-Cp668Jsm.js";import{T as ve}from"./html-title-HtPlSvGf.js";import{u as se,C as m}from"./index.esm-BWXMXe80.js";import{S as h,A as je,a as be,b as ge,c as ye}from"./collapse-BOYOLC_4.js";import{u as ae}from"./blocklet-Clk0KDdY.js";import{S as $}from"./Switch-C_vix7qp.js";const Re=le(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}));var K={exports:{}},O={exports:{}},z={exports:{}},J;function Te(){return J||(J=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=t;function t(d){return d==null}c.exports=s.default,c.exports.default=s.default}(z,z.exports)),z.exports}var Q;function we(){return Q||(Q=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=k;var t=b(ce()),d=b(Te());function b(n){return n&&n.__esModule?n:{default:n}}var f=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,P=/^[-+]?[0-9]+$/;function k(n,i){(0,t.default)(n),i=i||{};var _=i.allow_leading_zeroes===!1?f:P,q=!i.hasOwnProperty("min")||(0,d.default)(i.min)||n>=i.min,l=!i.hasOwnProperty("max")||(0,d.default)(i.max)||n<=i.max,a=!i.hasOwnProperty("lt")||(0,d.default)(i.lt)||n<i.lt,C=!i.hasOwnProperty("gt")||(0,d.default)(i.gt)||n>i.gt;return _.test(n)&&q&&l&&a&&C}c.exports=s.default,c.exports.default=s.default}(O,O.exports)),O.exports}var G;function Ee(){return G||(G=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=b;var t=d(we());function d(f){return f&&f.__esModule?f:{default:f}}function b(f){return(0,t.default)(f,{allow_leading_zeroes:!1,min:0,max:65535})}c.exports=s.default,c.exports.default=s.default}(K,K.exports)),K.exports}var Se=Ee();const ke=ue(Se),B={enabled:!1,secure:!1,from:"",host:"",port:"",user:"",password:"",companyName:"",companyLink:"",companyAddress:"",supportEmail:""};function Ce(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...B},s?.settings?.notification?.email||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(B))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(r,g,E=!0)=>{try{const{blocklet:y}=await c.configNotification({input:{did:f,notification:JSON.stringify({email:r})}}),oe=Object.assign({...B},y?.settings?.notification?.email||{});q(oe),E&&S.success(t("oauth.saveSuccess"))}catch(y){if(E)S.error(y.message||t("oauth.saveFailed"));else throw y}}),W=u(async(r,g,E)=>{try{i.isDirty&&await C(r,g,!1),await c.sendEmail({input:{did:f,receiver:E,email:JSON.stringify({body:"Your SMTP configuration is correct!",title:"Test email",type:"notification"})}}),S.success(t("notification.email.testSuccess"))}catch(y){S.error(y.message||t("notification.email.testfailed"))}}),A=u((r,g)=>{l.testReceiver="",l.testReceiverError="",d.open({title:t("notification.email.testSendEmail"),content:()=>e.jsx(R,{sx:{width:"300px"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.email.inputTestReceiver"),value:l.testReceiver,onChange:E=>{l.testReceiver=E.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(E){const y=l.testReceiver?.trim();if(!y){l.testReceiverError=t("notification.email.receiverRequired");return}if(!M(y)){l.testReceiverError=t("notification.email.receiverInvalid");return}l.testReceiverError="",await W(r,g,y),E()}})}),F=u(r=>{const g=r?.trim();return g?M(g)?!0:t("notification.email.fromInvalid"):t("notification.email.fromRequired")}),L=u(r=>{const g=r?.trim();return g?V(g,{require_host:!1,protocols:[]})?!0:t("notification.email.hostInvalid"):t("notification.email.hostRequired")}),o=u(r=>r?ke(r)?!0:t("notification.email.portInvalid"):t("notification.email.portRequired")),T=u(r=>r?.trim()?!0:t("notification.email.userRequired")),v=u(r=>r?.trim()?!0:t("notification.email.passwordRequired")),w=u(r=>r?.trim()&&!V(r,{protocols:["http","https"],require_protocol:!0})?t("notification.email.linkInvalid"):!0),I=u(r=>r?.trim()&&!M(r)?t("notification.email.emailInvalid"):!0),j=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(Pe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.email.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:r})=>e.jsx(H,{control:e.jsx($,{checked:r.value,...r})})})}),e.jsx(h,{title:t("notification.email.from"),children:e.jsx(m,{name:"from",control:n,rules:{validate:a?F:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,label:t("notification.email.from"),error:!!i.errors[r.name],helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.host"),children:e.jsx(m,{name:"host",control:n,rules:{validate:a?L:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.host"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.port"),children:e.jsx(m,{name:"port",control:n,rules:{validate:a?o:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"number",error:!!i.errors[r.name],label:t("notification.email.port"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.user"),children:e.jsx(m,{name:"user",control:n,rules:{validate:a?T:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.user"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.password"),children:e.jsx(m,{name:"password",control:n,rules:{validate:a?v:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"password",error:!!i.errors[r.name],label:t("notification.email.password"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.secure"),children:e.jsx(m,{name:"secure",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(H,{control:e.jsx($,{checked:r.value,...r,disabled:!a})})})})}),e.jsxs(je,{children:[e.jsxs(be,{expandIcon:e.jsx(ge,{fontSize:"small"}),"aria-controls":"panel1-content",id:"panel1-header",children:[t("notification.email.signature"),e.jsx(de,{title:t("notification.email.signatureTooltip"),children:e.jsx(Re,{fontSize:"small",sx:{ml:1,cursor:"help"}})})]}),e.jsxs(ye,{children:[e.jsx(h,{title:t("notification.email.companyName"),children:e.jsx(m,{name:"companyName",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyName"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyLink"),children:e.jsx(m,{name:"companyLink",control:n,rules:{validate:a?w:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyLink"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyAddress"),children:e.jsx(m,{name:"companyAddress",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyAddress"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.supportEmail"),children:e.jsx(m,{name:"supportEmail",control:n,rules:{validate:a?I:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",type:"email",error:!!i.errors[r.name],label:t("notification.email.supportEmail"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})})]})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const Pe=ie(ne)``,D={enabled:!1,endpoint:"",did:void 0,pushPath:void 0};function _e(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...D},s?.settings?.notification?.pushKit||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(D))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(o,T,v=!0)=>{try{const{blocklet:w}=await c.configNotification({input:{did:f,notification:JSON.stringify({pushKit:o})}}),I=Object.assign({...D},w?.settings?.notification?.pushKit||{});q(I),v&&S.success(t("oauth.saveSuccess"))}catch(w){if(v)S.error(w.message||t("oauth.saveFailed"));else throw w}}),W=u(async(o,T)=>{try{i.isDirty&&await C(o,T,!1);const v=(s?.configs||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value,w=me(fe(v,he.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),{v:s?.meta?.version,t:new Date(s?.updatedAt||0).getTime()}),I={type:"passthrough",passthroughType:"messageStatus",data:{message:{title:"Test push-kit notification",body:"This is message from push-kit config test",sender:{did:s?.appDid,fullName:s?.meta?.title,avatar:w}}}};await c.sendPush({input:{did:f,receiver:l.testReceiver,notification:JSON.stringify(I)}}),S.success(t("notification.pushKit.testSuccess"))}catch(v){S.error(v.message||t("notification.pushKit.testfailed"))}}),A=u((o,T)=>{l.testReceiverError="",d.open({title:t("notification.pushKit.testSend"),content:()=>e.jsx(R,{sx:{width:"450px",maxWidth:"100%"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.pushKit.inputTestReceiver"),value:l.testReceiver,onChange:v=>{l.testReceiver=v.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(v){if(!l.testReceiver?.trim()){l.testReceiverError=t("notification.pushKit.receiverRequired");return}l.testReceiverError="",await W(o,T),v()}})}),F=u(o=>{const T=o?.trim();return T?V(T)?!0:t("notification.pushKit.endpointInvalid"):t("notification.pushKit.endpointRequired")}),L=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(qe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.pushKit.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:o})=>e.jsx(H,{control:e.jsx($,{checked:o.value,...o})})})}),e.jsx(h,{title:t("notification.pushKit.endpoint"),children:e.jsx(m,{name:"endpoint",control:n,rules:{validate:a?F:L},render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",required:!0,label:t("notification.pushKit.endpoint"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})}),e.jsxs(h,{title:t("notification.pushKit.customOptions"),children:[e.jsx(m,{name:"did",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.did"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})}),e.jsx(m,{name:"pushPath",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.pushPath"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const qe=ie(ne)``,X=[{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Email"}),value:"email"},{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Push Kit"}),value:"pushKit"}];function Ae(){const[c,s]=U.useState(X[0].value),{locale:t}=U.useContext(xe),d=pe(()=>({email:e.jsx(Ce,{}),pushKit:e.jsx(_e,{})}),[t]),b=U.useMemo(()=>({padding:"10px 0"}),[]);return e.jsxs(R,{children:[e.jsx(ve,{tabs:X,current:c,onChange:s}),e.jsx(R,{style:b,children:d[c]})]})}export{Ae as B};
|
|
1
|
+
import{aG as le,j as e,hw as ce,bd as ue,bn as Y,m as Z,fO as ee,f8 as te,aP as re,cr as u,H as S,hx as M,N as R,t as x,hy as V,aU as H,Q as p,az as de,v as N,s as ie,aV as ne,z as me,y as fe,E as he,r as U,g as xe,by as pe}from"./index-OdvXHPqT.js";import{T as ve}from"./html-title-F0NEfYXw.js";import{u as se,C as m}from"./index.esm-Dt7UO6Gw.js";import{S as h,A as je,a as be,b as ge,c as ye}from"./collapse-Co_76D-y.js";import{u as ae}from"./blocklet-BwXw89V1.js";import{S as $}from"./Switch-iXfQHCNE.js";const Re=le(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}));var K={exports:{}},O={exports:{}},z={exports:{}},J;function Te(){return J||(J=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=t;function t(d){return d==null}c.exports=s.default,c.exports.default=s.default}(z,z.exports)),z.exports}var Q;function we(){return Q||(Q=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=k;var t=b(ce()),d=b(Te());function b(n){return n&&n.__esModule?n:{default:n}}var f=/^(?:[-+]?(?:0|[1-9][0-9]*))$/,P=/^[-+]?[0-9]+$/;function k(n,i){(0,t.default)(n),i=i||{};var _=i.allow_leading_zeroes===!1?f:P,q=!i.hasOwnProperty("min")||(0,d.default)(i.min)||n>=i.min,l=!i.hasOwnProperty("max")||(0,d.default)(i.max)||n<=i.max,a=!i.hasOwnProperty("lt")||(0,d.default)(i.lt)||n<i.lt,C=!i.hasOwnProperty("gt")||(0,d.default)(i.gt)||n>i.gt;return _.test(n)&&q&&l&&a&&C}c.exports=s.default,c.exports.default=s.default}(O,O.exports)),O.exports}var G;function Ee(){return G||(G=1,function(c,s){Object.defineProperty(s,"__esModule",{value:!0}),s.default=b;var t=d(we());function d(f){return f&&f.__esModule?f:{default:f}}function b(f){return(0,t.default)(f,{allow_leading_zeroes:!1,min:0,max:65535})}c.exports=s.default,c.exports.default=s.default}(K,K.exports)),K.exports}var Se=Ee();const ke=ue(Se),B={enabled:!1,secure:!1,from:"",host:"",port:"",user:"",password:"",companyName:"",companyLink:"",companyAddress:"",supportEmail:""};function Ce(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...B},s?.settings?.notification?.email||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(B))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(r,g,E=!0)=>{try{const{blocklet:y}=await c.configNotification({input:{did:f,notification:JSON.stringify({email:r})}}),oe=Object.assign({...B},y?.settings?.notification?.email||{});q(oe),E&&S.success(t("oauth.saveSuccess"))}catch(y){if(E)S.error(y.message||t("oauth.saveFailed"));else throw y}}),W=u(async(r,g,E)=>{try{i.isDirty&&await C(r,g,!1),await c.sendEmail({input:{did:f,receiver:E,email:JSON.stringify({body:"Your SMTP configuration is correct!",title:"Test email",type:"notification"})}}),S.success(t("notification.email.testSuccess"))}catch(y){S.error(y.message||t("notification.email.testfailed"))}}),A=u((r,g)=>{l.testReceiver="",l.testReceiverError="",d.open({title:t("notification.email.testSendEmail"),content:()=>e.jsx(R,{sx:{width:"300px"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.email.inputTestReceiver"),value:l.testReceiver,onChange:E=>{l.testReceiver=E.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(E){const y=l.testReceiver?.trim();if(!y){l.testReceiverError=t("notification.email.receiverRequired");return}if(!M(y)){l.testReceiverError=t("notification.email.receiverInvalid");return}l.testReceiverError="",await W(r,g,y),E()}})}),F=u(r=>{const g=r?.trim();return g?M(g)?!0:t("notification.email.fromInvalid"):t("notification.email.fromRequired")}),L=u(r=>{const g=r?.trim();return g?V(g,{require_host:!1,protocols:[]})?!0:t("notification.email.hostInvalid"):t("notification.email.hostRequired")}),o=u(r=>r?ke(r)?!0:t("notification.email.portInvalid"):t("notification.email.portRequired")),T=u(r=>r?.trim()?!0:t("notification.email.userRequired")),v=u(r=>r?.trim()?!0:t("notification.email.passwordRequired")),w=u(r=>r?.trim()&&!V(r,{protocols:["http","https"],require_protocol:!0})?t("notification.email.linkInvalid"):!0),I=u(r=>r?.trim()&&!M(r)?t("notification.email.emailInvalid"):!0),j=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(Pe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.email.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:r})=>e.jsx(H,{control:e.jsx($,{checked:r.value,...r})})})}),e.jsx(h,{title:t("notification.email.from"),children:e.jsx(m,{name:"from",control:n,rules:{validate:a?F:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,label:t("notification.email.from"),error:!!i.errors[r.name],helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.host"),children:e.jsx(m,{name:"host",control:n,rules:{validate:a?L:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.host"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.port"),children:e.jsx(m,{name:"port",control:n,rules:{validate:a?o:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"number",error:!!i.errors[r.name],label:t("notification.email.port"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.user"),children:e.jsx(m,{name:"user",control:n,rules:{validate:a?T:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,error:!!i.errors[r.name],label:t("notification.email.user"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.password"),children:e.jsx(m,{name:"password",control:n,rules:{validate:a?v:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",required:!0,type:"password",error:!!i.errors[r.name],label:t("notification.email.password"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.secure"),children:e.jsx(m,{name:"secure",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(H,{control:e.jsx($,{checked:r.value,...r,disabled:!a})})})})}),e.jsxs(je,{children:[e.jsxs(be,{expandIcon:e.jsx(ge,{fontSize:"small"}),"aria-controls":"panel1-content",id:"panel1-header",children:[t("notification.email.signature"),e.jsx(de,{title:t("notification.email.signatureTooltip"),children:e.jsx(Re,{fontSize:"small",sx:{ml:1,cursor:"help"}})})]}),e.jsxs(ye,{children:[e.jsx(h,{title:t("notification.email.companyName"),children:e.jsx(m,{name:"companyName",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyName"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyLink"),children:e.jsx(m,{name:"companyLink",control:n,rules:{validate:a?w:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyLink"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.companyAddress"),children:e.jsx(m,{name:"companyAddress",control:n,rules:{validate:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",error:!!i.errors[r.name],label:t("notification.email.companyAddress"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})}),e.jsx(h,{title:t("notification.email.supportEmail"),children:e.jsx(m,{name:"supportEmail",control:n,rules:{validate:a?I:j},render:({field:r})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...r,size:"small",type:"email",error:!!i.errors[r.name],label:t("notification.email.supportEmail"),helperText:i.errors[r.name]?.message||" ",disabled:!a})})})})]})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const Pe=ie(ne)``,D={enabled:!1,endpoint:"",did:void 0,pushPath:void 0};function _e(){const{api:c}=Y(),{blocklet:s}=ae(),{t}=Z(),{confirmApi:d,confirmHolder:b}=ee(),f=s?.meta?.did,P=Object.assign({...D},s?.settings?.notification?.pushKit||{}),{handleSubmit:k,control:n,formState:i,watch:_,reset:q}=se({defaultValues:te(P,Object.keys(D))}),l=re({testReceiver:"",testReceiverError:""}),a=_("enabled"),C=u(async(o,T,v=!0)=>{try{const{blocklet:w}=await c.configNotification({input:{did:f,notification:JSON.stringify({pushKit:o})}}),I=Object.assign({...D},w?.settings?.notification?.pushKit||{});q(I),v&&S.success(t("oauth.saveSuccess"))}catch(w){if(v)S.error(w.message||t("oauth.saveFailed"));else throw w}}),W=u(async(o,T)=>{try{i.isDirty&&await C(o,T,!1);const v=(s?.configs||[]).find(j=>j.key==="BLOCKLET_APP_URL")?.value,w=me(fe(v,he.WELLKNOWN_SERVICE_PATH_PREFIX,"/blocklet/logo"),{v:s?.meta?.version,t:new Date(s?.updatedAt||0).getTime()}),I={type:"passthrough",passthroughType:"messageStatus",data:{message:{title:"Test push-kit notification",body:"This is message from push-kit config test",sender:{did:s?.appDid,fullName:s?.meta?.title,avatar:w}}}};await c.sendPush({input:{did:f,receiver:l.testReceiver,notification:JSON.stringify(I)}}),S.success(t("notification.pushKit.testSuccess"))}catch(v){S.error(v.message||t("notification.pushKit.testfailed"))}}),A=u((o,T)=>{l.testReceiverError="",d.open({title:t("notification.pushKit.testSend"),content:()=>e.jsx(R,{sx:{width:"450px",maxWidth:"100%"},children:e.jsx(x,{sx:{mt:1},fullWidth:!0,name:"testReceiver",label:t("notification.pushKit.inputTestReceiver"),value:l.testReceiver,onChange:v=>{l.testReceiver=v.target.value},error:!!l.testReceiverError,helperText:l.testReceiverError||" "})}),confirmButtonText:t("common.confirm"),cancelButtonText:t("common.cancel"),async onConfirm(v){if(!l.testReceiver?.trim()){l.testReceiverError=t("notification.pushKit.receiverRequired");return}l.testReceiverError="",await W(o,T),v()}})}),F=u(o=>{const T=o?.trim();return T?V(T)?!0:t("notification.pushKit.endpointInvalid"):t("notification.pushKit.endpointRequired")}),L=u(()=>!0);return e.jsxs(R,{children:[e.jsxs(qe,{component:"form",onSubmit:k(C),disabled:!0,sx:{".section-left":{width:"160px"}},children:[e.jsx(h,{title:t("notification.pushKit.enable"),my:2.5,children:e.jsx(m,{name:"enabled",control:n,render:({field:o})=>e.jsx(H,{control:e.jsx($,{checked:o.value,...o})})})}),e.jsx(h,{title:t("notification.pushKit.endpoint"),children:e.jsx(m,{name:"endpoint",control:n,rules:{validate:a?F:L},render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",required:!0,label:t("notification.pushKit.endpoint"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})}),e.jsxs(h,{title:t("notification.pushKit.customOptions"),children:[e.jsx(m,{name:"did",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.did"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})}),e.jsx(m,{name:"pushPath",control:n,render:({field:o})=>e.jsx(p,{fullWidth:!0,children:e.jsx(x,{...o,size:"small",label:t("notification.pushKit.pushPath"),error:!!i.errors[o.name],helperText:i.errors[o.name]?.message||" ",disabled:!a})})})]}),e.jsxs(R,{sx:{display:"flex",justifyContent:"flex-end",gap:2,mt:3},children:[e.jsx(N,{variant:"outlined",color:"warning",onClick:k(A),disabled:!a,children:t("oauth.runTest")}),e.jsx(N,{type:"submit",variant:"contained",disabled:!i.isDirty,children:t("oauth.save")})]})]}),b]})}const qe=ie(ne)``,X=[{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Email"}),value:"email"},{label:e.jsx(R,{sx:{textAlign:"center",width:"100%"},children:"Push Kit"}),value:"pushKit"}];function Ae(){const[c,s]=U.useState(X[0].value),{locale:t}=U.useContext(xe),d=pe(()=>({email:e.jsx(Ce,{}),pushKit:e.jsx(_e,{})}),[t]),b=U.useMemo(()=>({padding:"10px 0"}),[]);return e.jsxs(R,{children:[e.jsx(ve,{tabs:X,current:c,onChange:s}),e.jsx(R,{style:b,children:d[c]})]})}export{Ae as B};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{aG as Kt,j as Q,bd as Gt,s as Ht,r as zt,_ as Wt,fn as we,dd as Zt,g9 as Yt}from"./index-Cp668Jsm.js";const Xt=Kt(Q.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}));var En,$n;function jt(){if($n)return En;$n=1;function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const a=e[t],f=typeof a;(f==="object"||f==="function")&&!Object.isFrozen(a)&&n(a)}),e}class r{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e,...t){const a=Object.create(null);for(const f in e)a[f]=e[f];return t.forEach(function(f){for(const F in f)a[F]=f[F]}),a}const w="</span>",$=e=>!!e.scope,A=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const a=e.split(".");return[`${t}${a.shift()}`,...a.map((f,F)=>`${f}${"_".repeat(F+1)}`)].join(" ")}return`${t}${e}`};class _{constructor(t,a){this.buffer="",this.classPrefix=a.classPrefix,t.walk(this)}addText(t){this.buffer+=o(t)}openNode(t){if(!$(t))return;const a=A(t.scope,{prefix:this.classPrefix});this.span(a)}closeNode(t){$(t)&&(this.buffer+=w)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const h=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class b{constructor(){this.rootNode=h(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const a=h({scope:t});this.add(a),this.stack.push(a)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,a){return typeof a=="string"?t.addText(a):a.children&&(t.openNode(a),a.children.forEach(f=>this._walk(t,f)),t.closeNode(a)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(a=>typeof a=="string")?t.children=[t.children.join("")]:t.children.forEach(a=>{b._collapse(a)}))}}class S extends b{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,a){const f=t.root;a&&(f.scope=`language:${a}`),this.add(f)}toHTML(){return new _(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function R(e){return e?typeof e=="string"?e:e.source:null}function N(e){return O("(?=",e,")")}function y(e){return O("(?:",e,")*")}function U(e){return O("(?:",e,")?")}function O(...e){return e.map(a=>R(a)).join("")}function P(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function B(...e){return"("+(P(e).capture?"":"?:")+e.map(f=>R(f)).join("|")+")"}function H(e){return new RegExp(e.toString()+"|").exec("").length-1}function Z(e,t){const a=e&&e.exec(t);return a&&a.index===0}const se=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function M(e,{joinWith:t}){let a=0;return e.map(f=>{a+=1;const F=a;let K=R(f),u="";for(;K.length>0;){const l=se.exec(K);if(!l){u+=K;break}u+=K.substring(0,l.index),K=K.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?u+="\\"+String(Number(l[1])+F):(u+=l[0],l[0]==="("&&a++)}return u}).map(f=>`(${f})`).join(t)}const V=/\b\B/,ce="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ae="\\b\\d+(\\.\\d+)?",de="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ne="\\b(0b[01]+)",Ee="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",he=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=O(t,/.*\b/,e.binary,/\b.*/)),c({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(a,f)=>{a.index!==0&&f.ignoreMatch()}},e)},re={begin:"\\\\[\\s\\S]",relevance:0},Ae={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},be={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},fe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,a={}){const f=c({scope:"comment",begin:e,end:t,contains:[]},a);f.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const F=B("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return f.contains.push({begin:O(/[ ]+/,"(",F,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),f},Y=I("//","$"),ee=I("/\\*","\\*/"),q=I("#","$"),X={scope:"number",begin:ae,relevance:0},_e={scope:"number",begin:de,relevance:0},qe={scope:"number",begin:Ne,relevance:0},Be={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},ve={scope:"title",begin:ce,relevance:0},Je={scope:"title",begin:te,relevance:0},$e={begin:"\\.\\s*"+te,relevance:0};var Oe=Object.freeze({__proto__:null,APOS_STRING_MODE:Ae,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:qe,BINARY_NUMBER_RE:Ne,COMMENT:I,C_BLOCK_COMMENT_MODE:ee,C_LINE_COMMENT_MODE:Y,C_NUMBER_MODE:_e,C_NUMBER_RE:de,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,a)=>{a.data._beginMatch=t[1]},"on:end":(t,a)=>{a.data._beginMatch!==t[1]&&a.ignoreMatch()}})},HASH_COMMENT_MODE:q,IDENT_RE:ce,MATCH_NOTHING_RE:V,METHOD_GUARD:$e,NUMBER_MODE:X,NUMBER_RE:ae,PHRASAL_WORDS_MODE:fe,QUOTE_STRING_MODE:be,REGEXP_MODE:Be,RE_STARTERS_RE:Ee,SHEBANG:he,TITLE_MODE:ve,UNDERSCORE_IDENT_RE:te,UNDERSCORE_TITLE_MODE:Je});function Qe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function en(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function nn(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Qe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function tn(e,t){Array.isArray(e.illegal)&&(e.illegal=B(...e.illegal))}function sn(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function L(e,t){e.relevance===void 0&&(e.relevance=1)}const Ie=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const a=Object.assign({},e);Object.keys(e).forEach(f=>{delete e[f]}),e.keywords=a.keywords,e.begin=O(a.beforeMatch,N(a.begin)),e.starts={relevance:0,contains:[Object.assign(a,{endsParent:!0})]},e.relevance=0,delete a.beforeMatch},Re=["of","and","for","in","not","or","if","then","parent","list","value"],an="keyword";function mn(e,t,a=an){const f=Object.create(null);return typeof e=="string"?F(a,e.split(" ")):Array.isArray(e)?F(a,e):Object.keys(e).forEach(function(K){Object.assign(f,mn(e[K],t,K))}),f;function F(K,u){t&&(u=u.map(l=>l.toLowerCase())),u.forEach(function(l){const E=l.split("|");f[E[0]]=[K,dt(E[0],E[1])]})}}function dt(e,t){return t?Number(t):Et(e)?0:1}function Et(e){return Re.includes(e.toLowerCase())}const An={},Te=e=>{console.error(e)},Rn=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Me=(e,t)=>{An[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),An[`${e}/${t}`]=!0)},Ue=new Error;function Tn(e,t,{key:a}){let f=0;const F=e[a],K={},u={};for(let l=1;l<=t.length;l++)u[l+f]=F[l],K[l+f]=!0,f+=H(t[l-1]);e[a]=u,e[a]._emit=K,e[a]._multi=!0}function bt(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Te("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ue;if(typeof e.beginScope!="object"||e.beginScope===null)throw Te("beginScope must be object"),Ue;Tn(e,e.begin,{key:"beginScope"}),e.begin=M(e.begin,{joinWith:""})}}function ft(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Te("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ue;if(typeof e.endScope!="object"||e.endScope===null)throw Te("endScope must be object"),Ue;Tn(e,e.end,{key:"endScope"}),e.end=M(e.end,{joinWith:""})}}function _t(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function pt(e){_t(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),bt(e),ft(e)}function Nt(e){function t(u,l){return new RegExp(R(u),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class a{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,E){E.position=this.position++,this.matchIndexes[this.matchAt]=E,this.regexes.push([E,l]),this.matchAt+=H(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(E=>E[1]);this.matcherRe=t(M(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const E=this.matcherRe.exec(l);if(!E)return null;const W=E.findIndex((De,cn)=>cn>0&&De!==void 0),G=this.matchIndexes[W];return E.splice(0,W),Object.assign(E,G)}}class f{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const E=new a;return this.rules.slice(l).forEach(([W,G])=>E.addRule(W,G)),E.compile(),this.multiRegexes[l]=E,E}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,E){this.rules.push([l,E]),E.type==="begin"&&this.count++}exec(l){const E=this.getMatcher(this.regexIndex);E.lastIndex=this.lastIndex;let W=E.exec(l);if(this.resumingScanAtSamePosition()&&!(W&&W.index===this.lastIndex)){const G=this.getMatcher(0);G.lastIndex=this.lastIndex+1,W=G.exec(l)}return W&&(this.regexIndex+=W.position+1,this.regexIndex===this.count&&this.considerAll()),W}}function F(u){const l=new f;return u.contains.forEach(E=>l.addRule(E.begin,{rule:E,type:"begin"})),u.terminatorEnd&&l.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&l.addRule(u.illegal,{type:"illegal"}),l}function K(u,l){const E=u;if(u.isCompiled)return E;[en,sn,pt,Ie].forEach(G=>G(u,l)),e.compilerExtensions.forEach(G=>G(u,l)),u.__beforeBegin=null,[nn,tn,L].forEach(G=>G(u,l)),u.isCompiled=!0;let W=null;return typeof u.keywords=="object"&&u.keywords.$pattern&&(u.keywords=Object.assign({},u.keywords),W=u.keywords.$pattern,delete u.keywords.$pattern),W=W||/\w+/,u.keywords&&(u.keywords=mn(u.keywords,e.case_insensitive)),E.keywordPatternRe=t(W,!0),l&&(u.begin||(u.begin=/\B|\b/),E.beginRe=t(E.begin),!u.end&&!u.endsWithParent&&(u.end=/\B|\b/),u.end&&(E.endRe=t(E.end)),E.terminatorEnd=R(E.end)||"",u.endsWithParent&&l.terminatorEnd&&(E.terminatorEnd+=(u.end?"|":"")+l.terminatorEnd)),u.illegal&&(E.illegalRe=t(u.illegal)),u.contains||(u.contains=[]),u.contains=[].concat(...u.contains.map(function(G){return ht(G==="self"?u:G)})),u.contains.forEach(function(G){K(G,E)}),u.starts&&K(u.starts,l),E.matcher=F(E),E}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=c(e.classNameAliases||{}),K(e)}function yn(e){return e?e.endsWithParent||yn(e.starts):!1}function ht(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return c(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:yn(e)?c(e,{starts:e.starts?c(e.starts):null}):Object.isFrozen(e)?c(e):e}var St="11.11.1";class mt extends Error{constructor(t,a){super(t),this.name="HTMLInjectionError",this.html=a}}const rn=o,On=c,In=Symbol("nomatch"),At=7,Mn=function(e){const t=Object.create(null),a=Object.create(null),f=[];let F=!0;const K="Could not find the language '{}', did you forget to load/include a language module?",u={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:S};function E(s){return l.noHighlightRe.test(s)}function W(s){let d=s.className+" ";d+=s.parentNode?s.parentNode.className:"";const T=l.languageDetectRe.exec(d);if(T){const D=Se(T[1]);return D||(Rn(K.replace("{}",T[1])),Rn("Falling back to no-highlight mode for this block.",s)),D?T[1]:"no-highlight"}return d.split(/\s+/).find(D=>E(D)||Se(D))}function G(s,d,T){let D="",z="";typeof d=="object"?(D=s,T=d.ignoreIllegals,z=d.language):(Me("10.7.0","highlight(lang, code, ...args) has been deprecated."),Me("10.7.0",`Please use highlight(code, options) instead.
|
|
1
|
+
import{aG as Kt,j as Q,bd as Gt,s as Ht,r as zt,_ as Wt,fn as we,dd as Zt,g9 as Yt}from"./index-OdvXHPqT.js";const Xt=Kt(Q.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm-1 4 6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2zm-1 7h5.5L14 6.5z"}));var En,$n;function jt(){if($n)return En;$n=1;function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const a=e[t],f=typeof a;(f==="object"||f==="function")&&!Object.isFrozen(a)&&n(a)}),e}class r{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function o(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function c(e,...t){const a=Object.create(null);for(const f in e)a[f]=e[f];return t.forEach(function(f){for(const F in f)a[F]=f[F]}),a}const w="</span>",$=e=>!!e.scope,A=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const a=e.split(".");return[`${t}${a.shift()}`,...a.map((f,F)=>`${f}${"_".repeat(F+1)}`)].join(" ")}return`${t}${e}`};class _{constructor(t,a){this.buffer="",this.classPrefix=a.classPrefix,t.walk(this)}addText(t){this.buffer+=o(t)}openNode(t){if(!$(t))return;const a=A(t.scope,{prefix:this.classPrefix});this.span(a)}closeNode(t){$(t)&&(this.buffer+=w)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const h=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class b{constructor(){this.rootNode=h(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const a=h({scope:t});this.add(a),this.stack.push(a)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,a){return typeof a=="string"?t.addText(a):a.children&&(t.openNode(a),a.children.forEach(f=>this._walk(t,f)),t.closeNode(a)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(a=>typeof a=="string")?t.children=[t.children.join("")]:t.children.forEach(a=>{b._collapse(a)}))}}class S extends b{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,a){const f=t.root;a&&(f.scope=`language:${a}`),this.add(f)}toHTML(){return new _(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function R(e){return e?typeof e=="string"?e:e.source:null}function N(e){return O("(?=",e,")")}function y(e){return O("(?:",e,")*")}function U(e){return O("(?:",e,")?")}function O(...e){return e.map(a=>R(a)).join("")}function P(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function B(...e){return"("+(P(e).capture?"":"?:")+e.map(f=>R(f)).join("|")+")"}function H(e){return new RegExp(e.toString()+"|").exec("").length-1}function Z(e,t){const a=e&&e.exec(t);return a&&a.index===0}const se=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function M(e,{joinWith:t}){let a=0;return e.map(f=>{a+=1;const F=a;let K=R(f),u="";for(;K.length>0;){const l=se.exec(K);if(!l){u+=K;break}u+=K.substring(0,l.index),K=K.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?u+="\\"+String(Number(l[1])+F):(u+=l[0],l[0]==="("&&a++)}return u}).map(f=>`(${f})`).join(t)}const V=/\b\B/,ce="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ae="\\b\\d+(\\.\\d+)?",de="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ne="\\b(0b[01]+)",Ee="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",he=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=O(t,/.*\b/,e.binary,/\b.*/)),c({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(a,f)=>{a.index!==0&&f.ignoreMatch()}},e)},re={begin:"\\\\[\\s\\S]",relevance:0},Ae={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[re]},be={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[re]},fe={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,a={}){const f=c({scope:"comment",begin:e,end:t,contains:[]},a);f.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const F=B("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return f.contains.push({begin:O(/[ ]+/,"(",F,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),f},Y=I("//","$"),ee=I("/\\*","\\*/"),q=I("#","$"),X={scope:"number",begin:ae,relevance:0},_e={scope:"number",begin:de,relevance:0},qe={scope:"number",begin:Ne,relevance:0},Be={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[re,{begin:/\[/,end:/\]/,relevance:0,contains:[re]}]},ve={scope:"title",begin:ce,relevance:0},Je={scope:"title",begin:te,relevance:0},$e={begin:"\\.\\s*"+te,relevance:0};var Oe=Object.freeze({__proto__:null,APOS_STRING_MODE:Ae,BACKSLASH_ESCAPE:re,BINARY_NUMBER_MODE:qe,BINARY_NUMBER_RE:Ne,COMMENT:I,C_BLOCK_COMMENT_MODE:ee,C_LINE_COMMENT_MODE:Y,C_NUMBER_MODE:_e,C_NUMBER_RE:de,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(t,a)=>{a.data._beginMatch=t[1]},"on:end":(t,a)=>{a.data._beginMatch!==t[1]&&a.ignoreMatch()}})},HASH_COMMENT_MODE:q,IDENT_RE:ce,MATCH_NOTHING_RE:V,METHOD_GUARD:$e,NUMBER_MODE:X,NUMBER_RE:ae,PHRASAL_WORDS_MODE:fe,QUOTE_STRING_MODE:be,REGEXP_MODE:Be,RE_STARTERS_RE:Ee,SHEBANG:he,TITLE_MODE:ve,UNDERSCORE_IDENT_RE:te,UNDERSCORE_TITLE_MODE:Je});function Qe(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function en(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function nn(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Qe,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function tn(e,t){Array.isArray(e.illegal)&&(e.illegal=B(...e.illegal))}function sn(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function L(e,t){e.relevance===void 0&&(e.relevance=1)}const Ie=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const a=Object.assign({},e);Object.keys(e).forEach(f=>{delete e[f]}),e.keywords=a.keywords,e.begin=O(a.beforeMatch,N(a.begin)),e.starts={relevance:0,contains:[Object.assign(a,{endsParent:!0})]},e.relevance=0,delete a.beforeMatch},Re=["of","and","for","in","not","or","if","then","parent","list","value"],an="keyword";function mn(e,t,a=an){const f=Object.create(null);return typeof e=="string"?F(a,e.split(" ")):Array.isArray(e)?F(a,e):Object.keys(e).forEach(function(K){Object.assign(f,mn(e[K],t,K))}),f;function F(K,u){t&&(u=u.map(l=>l.toLowerCase())),u.forEach(function(l){const E=l.split("|");f[E[0]]=[K,dt(E[0],E[1])]})}}function dt(e,t){return t?Number(t):Et(e)?0:1}function Et(e){return Re.includes(e.toLowerCase())}const An={},Te=e=>{console.error(e)},Rn=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Me=(e,t)=>{An[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),An[`${e}/${t}`]=!0)},Ue=new Error;function Tn(e,t,{key:a}){let f=0;const F=e[a],K={},u={};for(let l=1;l<=t.length;l++)u[l+f]=F[l],K[l+f]=!0,f+=H(t[l-1]);e[a]=u,e[a]._emit=K,e[a]._multi=!0}function bt(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Te("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ue;if(typeof e.beginScope!="object"||e.beginScope===null)throw Te("beginScope must be object"),Ue;Tn(e,e.begin,{key:"beginScope"}),e.begin=M(e.begin,{joinWith:""})}}function ft(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Te("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ue;if(typeof e.endScope!="object"||e.endScope===null)throw Te("endScope must be object"),Ue;Tn(e,e.end,{key:"endScope"}),e.end=M(e.end,{joinWith:""})}}function _t(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function pt(e){_t(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),bt(e),ft(e)}function Nt(e){function t(u,l){return new RegExp(R(u),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class a{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,E){E.position=this.position++,this.matchIndexes[this.matchAt]=E,this.regexes.push([E,l]),this.matchAt+=H(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(E=>E[1]);this.matcherRe=t(M(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const E=this.matcherRe.exec(l);if(!E)return null;const W=E.findIndex((De,cn)=>cn>0&&De!==void 0),G=this.matchIndexes[W];return E.splice(0,W),Object.assign(E,G)}}class f{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const E=new a;return this.rules.slice(l).forEach(([W,G])=>E.addRule(W,G)),E.compile(),this.multiRegexes[l]=E,E}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,E){this.rules.push([l,E]),E.type==="begin"&&this.count++}exec(l){const E=this.getMatcher(this.regexIndex);E.lastIndex=this.lastIndex;let W=E.exec(l);if(this.resumingScanAtSamePosition()&&!(W&&W.index===this.lastIndex)){const G=this.getMatcher(0);G.lastIndex=this.lastIndex+1,W=G.exec(l)}return W&&(this.regexIndex+=W.position+1,this.regexIndex===this.count&&this.considerAll()),W}}function F(u){const l=new f;return u.contains.forEach(E=>l.addRule(E.begin,{rule:E,type:"begin"})),u.terminatorEnd&&l.addRule(u.terminatorEnd,{type:"end"}),u.illegal&&l.addRule(u.illegal,{type:"illegal"}),l}function K(u,l){const E=u;if(u.isCompiled)return E;[en,sn,pt,Ie].forEach(G=>G(u,l)),e.compilerExtensions.forEach(G=>G(u,l)),u.__beforeBegin=null,[nn,tn,L].forEach(G=>G(u,l)),u.isCompiled=!0;let W=null;return typeof u.keywords=="object"&&u.keywords.$pattern&&(u.keywords=Object.assign({},u.keywords),W=u.keywords.$pattern,delete u.keywords.$pattern),W=W||/\w+/,u.keywords&&(u.keywords=mn(u.keywords,e.case_insensitive)),E.keywordPatternRe=t(W,!0),l&&(u.begin||(u.begin=/\B|\b/),E.beginRe=t(E.begin),!u.end&&!u.endsWithParent&&(u.end=/\B|\b/),u.end&&(E.endRe=t(E.end)),E.terminatorEnd=R(E.end)||"",u.endsWithParent&&l.terminatorEnd&&(E.terminatorEnd+=(u.end?"|":"")+l.terminatorEnd)),u.illegal&&(E.illegalRe=t(u.illegal)),u.contains||(u.contains=[]),u.contains=[].concat(...u.contains.map(function(G){return ht(G==="self"?u:G)})),u.contains.forEach(function(G){K(G,E)}),u.starts&&K(u.starts,l),E.matcher=F(E),E}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=c(e.classNameAliases||{}),K(e)}function yn(e){return e?e.endsWithParent||yn(e.starts):!1}function ht(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return c(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:yn(e)?c(e,{starts:e.starts?c(e.starts):null}):Object.isFrozen(e)?c(e):e}var St="11.11.1";class mt extends Error{constructor(t,a){super(t),this.name="HTMLInjectionError",this.html=a}}const rn=o,On=c,In=Symbol("nomatch"),At=7,Mn=function(e){const t=Object.create(null),a=Object.create(null),f=[];let F=!0;const K="Could not find the language '{}', did you forget to load/include a language module?",u={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:S};function E(s){return l.noHighlightRe.test(s)}function W(s){let d=s.className+" ";d+=s.parentNode?s.parentNode.className:"";const T=l.languageDetectRe.exec(d);if(T){const D=Se(T[1]);return D||(Rn(K.replace("{}",T[1])),Rn("Falling back to no-highlight mode for this block.",s)),D?T[1]:"no-highlight"}return d.split(/\s+/).find(D=>E(D)||Se(D))}function G(s,d,T){let D="",z="";typeof d=="object"?(D=s,T=d.ignoreIllegals,z=d.language):(Me("10.7.0","highlight(lang, code, ...args) has been deprecated."),Me("10.7.0",`Please use highlight(code, options) instead.
|
|
2
2
|
https://github.com/highlightjs/highlight.js/issues/2277`),z=s,D=d),T===void 0&&(T=!0);const oe={code:D,language:z};Fe("before:highlight",oe);const me=oe.result?oe.result:De(oe.language,oe.code,T);return me.code=oe.code,Fe("after:highlight",me),me}function De(s,d,T,D){const z=Object.create(null);function oe(i,g){return i.keywords[g]}function me(){if(!p.keywords){j.addText(k);return}let i=0;p.keywordPatternRe.lastIndex=0;let g=p.keywordPatternRe.exec(k),m="";for(;g;){m+=k.substring(i,g.index);const C=ue.case_insensitive?g[0].toLowerCase():g[0],J=oe(p,C);if(J){const[pe,Pt]=J;if(j.addText(m),m="",z[C]=(z[C]||0)+1,z[C]<=At&&(He+=Pt),pe.startsWith("_"))m+=g[0];else{const Ft=ue.classNameAliases[pe]||pe;le(g[0],Ft)}}else m+=g[0];i=p.keywordPatternRe.lastIndex,g=p.keywordPatternRe.exec(k)}m+=k.substring(i),j.addText(m)}function Ke(){if(k==="")return;let i=null;if(typeof p.subLanguage=="string"){if(!t[p.subLanguage]){j.addText(k);return}i=De(p.subLanguage,k,!0,Bn[p.subLanguage]),Bn[p.subLanguage]=i._top}else i=on(k,p.subLanguage.length?p.subLanguage:null);p.relevance>0&&(He+=i.relevance),j.__addSublanguage(i._emitter,i.language)}function ie(){p.subLanguage!=null?Ke():me(),k=""}function le(i,g){i!==""&&(j.startScope(g),j.addText(i),j.endScope())}function xn(i,g){let m=1;const C=g.length-1;for(;m<=C;){if(!i._emit[m]){m++;continue}const J=ue.classNameAliases[i[m]]||i[m],pe=g[m];J?le(pe,J):(k=pe,me(),k=""),m++}}function vn(i,g){return i.scope&&typeof i.scope=="string"&&j.openNode(ue.classNameAliases[i.scope]||i.scope),i.beginScope&&(i.beginScope._wrap?(le(k,ue.classNameAliases[i.beginScope._wrap]||i.beginScope._wrap),k=""):i.beginScope._multi&&(xn(i.beginScope,g),k="")),p=Object.create(i,{parent:{value:p}}),p}function Dn(i,g,m){let C=Z(i.endRe,m);if(C){if(i["on:end"]){const J=new r(i);i["on:end"](g,J),J.isMatchIgnored&&(C=!1)}if(C){for(;i.endsParent&&i.parent;)i=i.parent;return i}}if(i.endsWithParent)return Dn(i.parent,g,m)}function Dt(i){return p.matcher.regexIndex===0?(k+=i[0],1):(dn=!0,0)}function kt(i){const g=i[0],m=i.rule,C=new r(m),J=[m.__beforeBegin,m["on:begin"]];for(const pe of J)if(pe&&(pe(i,C),C.isMatchIgnored))return Dt(g);return m.skip?k+=g:(m.excludeBegin&&(k+=g),ie(),!m.returnBegin&&!m.excludeBegin&&(k=g)),vn(m,i),m.returnBegin?0:g.length}function Bt(i){const g=i[0],m=d.substring(i.index),C=Dn(p,i,m);if(!C)return In;const J=p;p.endScope&&p.endScope._wrap?(ie(),le(g,p.endScope._wrap)):p.endScope&&p.endScope._multi?(ie(),xn(p.endScope,i)):J.skip?k+=g:(J.returnEnd||J.excludeEnd||(k+=g),ie(),J.excludeEnd&&(k=g));do p.scope&&j.closeNode(),!p.skip&&!p.subLanguage&&(He+=p.relevance),p=p.parent;while(p!==C.parent);return C.starts&&vn(C.starts,i),J.returnEnd?0:g.length}function $t(){const i=[];for(let g=p;g!==ue;g=g.parent)g.scope&&i.unshift(g.scope);i.forEach(g=>j.openNode(g))}let Ge={};function kn(i,g){const m=g&&g[0];if(k+=i,m==null)return ie(),0;if(Ge.type==="begin"&&g.type==="end"&&Ge.index===g.index&&m===""){if(k+=d.slice(g.index,g.index+1),!F){const C=new Error(`0 width match regex (${s})`);throw C.languageName=s,C.badRule=Ge.rule,C}return 1}if(Ge=g,g.type==="begin")return kt(g);if(g.type==="illegal"&&!T){const C=new Error('Illegal lexeme "'+m+'" for mode "'+(p.scope||"<unnamed>")+'"');throw C.mode=p,C}else if(g.type==="end"){const C=Bt(g);if(C!==In)return C}if(g.type==="illegal"&&m==="")return k+=`
|
|
3
3
|
`,1;if(gn>1e5&&gn>g.index*3)throw new Error("potential infinite loop, way more iterations than matches");return k+=m,m.length}const ue=Se(s);if(!ue)throw Te(K.replace("{}",s)),new Error('Unknown language: "'+s+'"');const Ut=Nt(ue);let un="",p=D||Ut;const Bn={},j=new l.__emitter(l);$t();let k="",He=0,ye=0,gn=0,dn=!1;try{if(ue.__emitTokens)ue.__emitTokens(d,j);else{for(p.matcher.considerAll();;){gn++,dn?dn=!1:p.matcher.considerAll(),p.matcher.lastIndex=ye;const i=p.matcher.exec(d);if(!i)break;const g=d.substring(ye,i.index),m=kn(g,i);ye=i.index+m}kn(d.substring(ye))}return j.finalize(),un=j.toHTML(),{language:s,value:un,relevance:He,illegal:!1,_emitter:j,_top:p}}catch(i){if(i.message&&i.message.includes("Illegal"))return{language:s,value:rn(d),illegal:!0,relevance:0,_illegalBy:{message:i.message,index:ye,context:d.slice(ye-100,ye+100),mode:i.mode,resultSoFar:un},_emitter:j};if(F)return{language:s,value:rn(d),illegal:!1,relevance:0,errorRaised:i,_emitter:j,_top:p};throw i}}function cn(s){const d={value:rn(s),illegal:!1,relevance:0,_top:u,_emitter:new l.__emitter(l)};return d._emitter.addText(s),d}function on(s,d){d=d||l.languages||Object.keys(t);const T=cn(s),D=d.filter(Se).filter(Ln).map(ie=>De(ie,s,!1));D.unshift(T);const z=D.sort((ie,le)=>{if(ie.relevance!==le.relevance)return le.relevance-ie.relevance;if(ie.language&&le.language){if(Se(ie.language).supersetOf===le.language)return 1;if(Se(le.language).supersetOf===ie.language)return-1}return 0}),[oe,me]=z,Ke=oe;return Ke.secondBest=me,Ke}function Rt(s,d,T){const D=d&&a[d]||T;s.classList.add("hljs"),s.classList.add(`language-${D}`)}function ln(s){let d=null;const T=W(s);if(E(T))return;if(Fe("before:highlightElement",{el:s,language:T}),s.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",s);return}if(s.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(s)),l.throwUnescapedHTML))throw new mt("One of your code blocks includes unescaped HTML.",s.innerHTML);d=s;const D=d.textContent,z=T?G(D,{language:T,ignoreIllegals:!0}):on(D);s.innerHTML=z.value,s.dataset.highlighted="yes",Rt(s,T,z.language),s.result={language:z.language,re:z.relevance,relevance:z.relevance},z.secondBest&&(s.secondBest={language:z.secondBest.language,relevance:z.secondBest.relevance}),Fe("after:highlightElement",{el:s,result:z,text:D})}function Tt(s){l=On(l,s)}const yt=()=>{Pe(),Me("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ot(){Pe(),Me("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Cn=!1;function Pe(){function s(){Pe()}if(document.readyState==="loading"){Cn||window.addEventListener("DOMContentLoaded",s,!1),Cn=!0;return}document.querySelectorAll(l.cssSelector).forEach(ln)}function It(s,d){let T=null;try{T=d(e)}catch(D){if(Te("Language definition for '{}' could not be registered.".replace("{}",s)),F)Te(D);else throw D;T=u}T.name||(T.name=s),t[s]=T,T.rawDefinition=d.bind(null,e),T.aliases&&wn(T.aliases,{languageName:s})}function Mt(s){delete t[s];for(const d of Object.keys(a))a[d]===s&&delete a[d]}function Ct(){return Object.keys(t)}function Se(s){return s=(s||"").toLowerCase(),t[s]||t[a[s]]}function wn(s,{languageName:d}){typeof s=="string"&&(s=[s]),s.forEach(T=>{a[T.toLowerCase()]=d})}function Ln(s){const d=Se(s);return d&&!d.disableAutodetect}function wt(s){s["before:highlightBlock"]&&!s["before:highlightElement"]&&(s["before:highlightElement"]=d=>{s["before:highlightBlock"](Object.assign({block:d.el},d))}),s["after:highlightBlock"]&&!s["after:highlightElement"]&&(s["after:highlightElement"]=d=>{s["after:highlightBlock"](Object.assign({block:d.el},d))})}function Lt(s){wt(s),f.push(s)}function xt(s){const d=f.indexOf(s);d!==-1&&f.splice(d,1)}function Fe(s,d){const T=s;f.forEach(function(D){D[T]&&D[T](d)})}function vt(s){return Me("10.7.0","highlightBlock will be removed entirely in v12.0"),Me("10.7.0","Please use highlightElement now."),ln(s)}Object.assign(e,{highlight:G,highlightAuto:on,highlightAll:Pe,highlightElement:ln,highlightBlock:vt,configure:Tt,initHighlighting:yt,initHighlightingOnLoad:Ot,registerLanguage:It,unregisterLanguage:Mt,listLanguages:Ct,getLanguage:Se,registerAliases:wn,autoDetection:Ln,inherit:On,addPlugin:Lt,removePlugin:xt}),e.debugMode=function(){F=!1},e.safeMode=function(){F=!0},e.versionString=St,e.regex={concat:O,lookahead:N,either:B,optional:U,anyNumberOfTimes:y};for(const s in Oe)typeof Oe[s]=="object"&&n(Oe[s]);return Object.assign(e,Oe),e},Ce=Mn({});return Ce.newInstance=()=>Mn({}),En=Ce,Ce.HighlightJS=Ce,Ce.default=Ce,En}var Vt=jt();const v=Gt(Vt),Un="[A-Za-z$_][0-9A-Za-z$_]*",qt=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Jt=["true","false","null","undefined","NaN","Infinity"],Hn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],zn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Wn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Qt=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],es=[].concat(Wn,Hn,zn);function pn(n){const r=n.regex,o=(I,{after:Y})=>{const ee="</"+I[0].slice(1);return I.input.indexOf(ee,Y)!==-1},c=Un,w={begin:"<>",end:"</>"},$=/<[A-Za-z0-9\\._:-]+\s*\/>/,A={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,Y)=>{const ee=I[0].length+I.index,q=I.input[ee];if(q==="<"||q===","){Y.ignoreMatch();return}q===">"&&(o(I,{after:ee})||Y.ignoreMatch());let X;const _e=I.input.substring(ee);if(X=_e.match(/^\s*=/)){Y.ignoreMatch();return}if((X=_e.match(/^\s+extends\s+/))&&X.index===0){Y.ignoreMatch();return}}},_={$pattern:Un,keyword:qt,literal:Jt,built_in:es,"variable.language":Qt},h="[0-9](_?[0-9])*",b=`\\.(${h})`,S="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",R={className:"number",variants:[{begin:`(\\b(${S})((${b})|\\.)?|(${b}))[eE][+-]?(${h})\\b`},{begin:`\\b(${S})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},N={className:"subst",begin:"\\$\\{",end:"\\}",keywords:_,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"xml"}},U={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"css"}},O={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"graphql"}},P={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,N]},H={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:c+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},Z=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,y,U,O,P,{match:/\$\d+/},R];N.contains=Z.concat({begin:/\{/,end:/\}/,keywords:_,contains:["self"].concat(Z)});const se=[].concat(H,N.contains),M=se.concat([{begin:/(\s*)\(/,end:/\)/,keywords:_,contains:["self"].concat(se)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:M},ce={variants:[{match:[/class/,/\s+/,c,/\s+/,/extends/,/\s+/,r.concat(c,"(",r.concat(/\./,c),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,c],scope:{1:"keyword",3:"title.class"}}]},te={relevance:0,match:r.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Hn,...zn]}},ae={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,c,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},Ne={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Ee(I){return r.concat("(?!",I.join("|"),")")}const he={match:r.concat(/\b/,Ee([...Wn,"super","import"].map(I=>`${I}\\s*\\(`)),c,r.lookahead(/\s*\(/)),className:"title.function",relevance:0},re={begin:r.concat(/\./,r.lookahead(r.concat(c,/(?![0-9A-Za-z$_(])/))),end:c,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Ae={match:[/get|set/,/\s+/,c,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",fe={match:[/const|var|let/,/\s+/,c,/\s*/,/=\s*/,/(async\s*)?/,r.lookahead(be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:_,exports:{PARAMS_CONTAINS:M,CLASS_REFERENCE:te},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),ae,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,y,U,O,P,H,{match:/\$\d+/},R,te,{scope:"attr",match:c+r.lookahead(":"),relevance:0},fe,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[H,n.REGEXP_MODE,{className:"function",begin:be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:M}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:w.begin,end:w.end},{match:$},{begin:A.begin,"on:begin":A.isTrulyOpeningTag,end:A.end}],subLanguage:"xml",contains:[{begin:A.begin,end:A.end,skip:!0,contains:["self"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,n.inherit(n.TITLE_MODE,{begin:c,className:"title.function"})]},{match:/\.\.\./,relevance:0},re,{match:"\\$"+c,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},he,Ne,ce,Ae,{match:/\$[(.]/}]}}const je="[A-Za-z$_][0-9A-Za-z$_]*",Zn=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Yn=["true","false","null","undefined","NaN","Infinity"],Xn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],jn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Vn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],qn=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Jn=[].concat(Vn,Xn,jn);function ns(n){const r=n.regex,o=(I,{after:Y})=>{const ee="</"+I[0].slice(1);return I.input.indexOf(ee,Y)!==-1},c=je,w={begin:"<>",end:"</>"},$=/<[A-Za-z0-9\\._:-]+\s*\/>/,A={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,Y)=>{const ee=I[0].length+I.index,q=I.input[ee];if(q==="<"||q===","){Y.ignoreMatch();return}q===">"&&(o(I,{after:ee})||Y.ignoreMatch());let X;const _e=I.input.substring(ee);if(X=_e.match(/^\s*=/)){Y.ignoreMatch();return}if((X=_e.match(/^\s+extends\s+/))&&X.index===0){Y.ignoreMatch();return}}},_={$pattern:je,keyword:Zn,literal:Yn,built_in:Jn,"variable.language":qn},h="[0-9](_?[0-9])*",b=`\\.(${h})`,S="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",R={className:"number",variants:[{begin:`(\\b(${S})((${b})|\\.)?|(${b}))[eE][+-]?(${h})\\b`},{begin:`\\b(${S})\\b((${b})\\b|\\.)?|(${b})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},N={className:"subst",begin:"\\$\\{",end:"\\}",keywords:_,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"xml"}},U={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"css"}},O={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,N],subLanguage:"graphql"}},P={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,N]},H={className:"comment",variants:[n.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:c+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},Z=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,y,U,O,P,{match:/\$\d+/},R];N.contains=Z.concat({begin:/\{/,end:/\}/,keywords:_,contains:["self"].concat(Z)});const se=[].concat(H,N.contains),M=se.concat([{begin:/(\s*)\(/,end:/\)/,keywords:_,contains:["self"].concat(se)}]),V={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:M},ce={variants:[{match:[/class/,/\s+/,c,/\s+/,/extends/,/\s+/,r.concat(c,"(",r.concat(/\./,c),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,c],scope:{1:"keyword",3:"title.class"}}]},te={relevance:0,match:r.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...Xn,...jn]}},ae={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,c,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[V],illegal:/%/},Ne={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function Ee(I){return r.concat("(?!",I.join("|"),")")}const he={match:r.concat(/\b/,Ee([...Vn,"super","import"].map(I=>`${I}\\s*\\(`)),c,r.lookahead(/\s*\(/)),className:"title.function",relevance:0},re={begin:r.concat(/\./,r.lookahead(r.concat(c,/(?![0-9A-Za-z$_(])/))),end:c,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Ae={match:[/get|set/,/\s+/,c,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},V]},be="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",fe={match:[/const|var|let/,/\s+/,c,/\s*/,/=\s*/,/(async\s*)?/,r.lookahead(be)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[V]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:_,exports:{PARAMS_CONTAINS:M,CLASS_REFERENCE:te},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),ae,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,y,U,O,P,H,{match:/\$\d+/},R,te,{scope:"attr",match:c+r.lookahead(":"),relevance:0},fe,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[H,n.REGEXP_MODE,{className:"function",begin:be,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:M}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:w.begin,end:w.end},{match:$},{begin:A.begin,"on:begin":A.isTrulyOpeningTag,end:A.end}],subLanguage:"xml",contains:[{begin:A.begin,end:A.end,skip:!0,contains:["self"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[V,n.inherit(n.TITLE_MODE,{begin:c,className:"title.function"})]},{match:/\.\.\./,relevance:0},re,{match:"\\$"+c,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[V]},he,Ne,ce,Ae,{match:/\$[(.]/}]}}function Nn(n){const r=n.regex,o=ns(n),c=je,w=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],$={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},A={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:w},contains:[o.exports.CLASS_REFERENCE]},_={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},h=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],b={$pattern:je,keyword:Zn.concat(h),literal:Yn,built_in:Jn.concat(w),"variable.language":qn},S={className:"meta",begin:"@"+c},R=(O,P,B)=>{const H=O.contains.findIndex(Z=>Z.label===P);if(H===-1)throw new Error("can not find mode to replace");O.contains.splice(H,1,B)};Object.assign(o.keywords,b),o.exports.PARAMS_CONTAINS.push(S);const N=o.contains.find(O=>O.scope==="attr"),y=Object.assign({},N,{match:r.concat(c,r.lookahead(/\s*\?:/))});o.exports.PARAMS_CONTAINS.push([o.exports.CLASS_REFERENCE,N,y]),o.contains=o.contains.concat([S,$,A,y]),R(o,"shebang",n.SHEBANG()),R(o,"use_strict",_);const U=o.contains.find(O=>O.label==="func.def");return U.relevance=0,Object.assign(o,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),o}function ts(n){const r={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},o={match:/[{}[\],:]/,className:"punctuation",relevance:0},c=["true","false","null"],w={scope:"literal",beginKeywords:c.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:c},contains:[r,o,n.QUOTE_STRING_MODE,w,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function ss(n){const r=n.regex,o="[a-zA-Z_][a-zA-Z0-9_.]*(!|\\?)?",c="[a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",A={$pattern:o,keyword:["after","alias","and","case","catch","cond","defstruct","defguard","do","else","end","fn","for","if","import","in","not","or","quote","raise","receive","require","reraise","rescue","try","unless","unquote","unquote_splicing","use","when","with|0"],literal:["false","nil","true"]},_={className:"subst",begin:/#\{/,end:/\}/,keywords:A},h={className:"number",begin:"(\\b0o[0-7_]+)|(\\b0b[01_]+)|(\\b0x[0-9a-fA-F_]+)|(-?\\b[0-9][0-9_]*(\\.[0-9_]+([eE][-+]?[0-9]+)?)?)",relevance:0},S={match:/\\[\s\S]/,scope:"char.escape",relevance:0},R=`[/|([{<"']`,N=[{begin:/"/,end:/"/},{begin:/'/,end:/'/},{begin:/\//,end:/\//},{begin:/\|/,end:/\|/},{begin:/\(/,end:/\)/},{begin:/\[/,end:/\]/},{begin:/\{/,end:/\}/},{begin:/</,end:/>/}],y=M=>({scope:"char.escape",begin:r.concat(/\\/,M),relevance:0}),U={className:"string",begin:"~[a-z](?="+R+")",contains:N.map(M=>n.inherit(M,{contains:[y(M.end),S,_]}))},O={className:"string",begin:"~[A-Z](?="+R+")",contains:N.map(M=>n.inherit(M,{contains:[y(M.end)]}))},P={className:"regex",variants:[{begin:"~r(?="+R+")",contains:N.map(M=>n.inherit(M,{end:r.concat(M.end,/[uismxfU]{0,7}/),contains:[y(M.end),S,_]}))},{begin:"~R(?="+R+")",contains:N.map(M=>n.inherit(M,{end:r.concat(M.end,/[uismxfU]{0,7}/),contains:[y(M.end)]}))}]},B={className:"string",contains:[n.BACKSLASH_ESCAPE,_],variants:[{begin:/"""/,end:/"""/},{begin:/'''/,end:/'''/},{begin:/~S"""/,end:/"""/,contains:[]},{begin:/~S"/,end:/"/,contains:[]},{begin:/~S'''/,end:/'''/,contains:[]},{begin:/~S'/,end:/'/,contains:[]},{begin:/'/,end:/'/},{begin:/"/,end:/"/}]},H={className:"function",beginKeywords:"def defp defmacro defmacrop",end:/\B\b/,contains:[n.inherit(n.TITLE_MODE,{begin:o,endsParent:!0})]},Z=n.inherit(H,{className:"class",beginKeywords:"defimpl defmodule defprotocol defrecord",end:/\bdo\b|$|;/}),se=[B,P,O,U,n.HASH_COMMENT_MODE,Z,H,{begin:"::"},{className:"symbol",begin:":(?![\\s:])",contains:[B,{begin:c}],relevance:0},{className:"symbol",begin:o+":(?!:)",relevance:0},{className:"title.class",begin:/(\b[A-Z][a-zA-Z0-9_]+)/,relevance:0},h,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))"}];return _.contains=se,{name:"Elixir",aliases:["ex","exs"],keywords:A,contains:se}}var Le="[0-9](_*[0-9])*",ze=`\\.(${Le})`,We="[0-9a-fA-F](_*[0-9a-fA-F])*",Pn={className:"number",variants:[{begin:`(\\b(${Le})((${ze})|\\.)?|(${ze}))[eE][+-]?(${Le})[fFdD]?\\b`},{begin:`\\b(${Le})((${ze})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ze})[fFdD]?\\b`},{begin:`\\b(${Le})[fFdD]\\b`},{begin:`\\b0[xX]((${We})\\.?|(${We})?\\.(${We}))[pP][+-]?(${Le})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${We})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Qn(n,r,o){return o===-1?"":n.replace(r,c=>Qn(n,r,o-1))}function as(n){const r=n.regex,o="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",c=o+Qn("(?:<"+o+"~~~(?:\\s*,\\s*"+o+"~~~)*>)?",/~~~/g,2),h={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},b={className:"meta",begin:"@"+o,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},S={className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:h,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,o],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[r.concat(/(?!else)/,o),/\s+/,o,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,o],className:{1:"keyword",3:"title.class"},contains:[S,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+c+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:h,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:h,relevance:0,contains:[b,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,Pn,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},Pn,b]}}function et(n){return n?typeof n=="string"?n:n.source:null}function ke(n){return x("(?=",n,")")}function x(...n){return n.map(o=>et(o)).join("")}function is(n){const r=n[n.length-1];return typeof r=="object"&&r.constructor===Object?(n.splice(n.length-1,1),r):{}}function ne(...n){return"("+(is(n).capture?"":"?:")+n.map(c=>et(c)).join("|")+")"}const hn=n=>x(/\b/,n,/\w$/.test(n)?/\b/:/\B/),rs=["Protocol","Type"].map(hn),Fn=["init","self"].map(hn),cs=["Any","Self"],bn=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Kn=["false","nil","true"],os=["assignment","associativity","higherThan","left","lowerThan","none","right"],ls=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Gn=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],nt=ne(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),tt=ne(nt,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),fn=x(nt,tt,"*"),st=ne(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),Ve=ne(st,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ge=x(st,Ve,"*"),Ze=x(/[A-Z]/,Ve,"*"),us=["attached","autoclosure",x(/convention\(/,ne("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",x(/objc\(/,ge,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],gs=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function ds(n){const r={match:/\s+/,relevance:0},o=n.COMMENT("/\\*","\\*/",{contains:["self"]}),c=[n.C_LINE_COMMENT_MODE,o],w={match:[/\./,ne(...rs,...Fn)],className:{2:"keyword"}},$={match:x(/\./,ne(...bn)),relevance:0},A=bn.filter(L=>typeof L=="string").concat(["_|0"]),_=bn.filter(L=>typeof L!="string").concat(cs).map(hn),h={variants:[{className:"keyword",match:ne(..._,...Fn)}]},b={$pattern:ne(/\b\w+/,/#\w+/),keyword:A.concat(ls),literal:Kn},S=[w,$,h],R={match:x(/\./,ne(...Gn)),relevance:0},N={className:"built_in",match:x(/\b/,ne(...Gn),/(?=\()/)},y=[R,N],U={match:/->/,relevance:0},O={className:"operator",relevance:0,variants:[{match:fn},{match:`\\.(\\.|${tt})+`}]},P=[U,O],B="([0-9]_*)+",H="([0-9a-fA-F]_*)+",Z={className:"number",relevance:0,variants:[{match:`\\b(${B})(\\.(${B}))?([eE][+-]?(${B}))?\\b`},{match:`\\b0x(${H})(\\.(${H}))?([pP][+-]?(${B}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},se=(L="")=>({className:"subst",variants:[{match:x(/\\/,L,/[0\\tnr"']/)},{match:x(/\\/,L,/u\{[0-9a-fA-F]{1,8}\}/)}]}),M=(L="")=>({className:"subst",match:x(/\\/,L,/[\t ]*(?:[\r\n]|\r\n)/)}),V=(L="")=>({className:"subst",label:"interpol",begin:x(/\\/,L,/\(/),end:/\)/}),ce=(L="")=>({begin:x(L,/"""/),end:x(/"""/,L),contains:[se(L),M(L),V(L)]}),te=(L="")=>({begin:x(L,/"/),end:x(/"/,L),contains:[se(L),V(L)]}),ae={className:"string",variants:[ce(),ce("#"),ce("##"),ce("###"),te(),te("#"),te("##"),te("###")]},de=[n.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[n.BACKSLASH_ESCAPE]}],Ne={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:de},Ee=L=>{const Ie=x(L,/\//),Re=x(/\//,L);return{begin:Ie,end:Re,contains:[...de,{scope:"comment",begin:`#(?!.*${Re})`,end:/$/}]}},he={scope:"regexp",variants:[Ee("###"),Ee("##"),Ee("#"),Ne]},re={match:x(/`/,ge,/`/)},Ae={className:"variable",match:/\$\d+/},be={className:"variable",match:`\\$${Ve}+`},fe=[re,Ae,be],I={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:gs,contains:[...P,Z,ae]}]}},Y={scope:"keyword",match:x(/@/,ne(...us),ke(ne(/\(/,/\s+/)))},ee={scope:"meta",match:x(/@/,ge)},q=[I,Y,ee],X={match:ke(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:x(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Ve,"+")},{className:"type",match:Ze,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:x(/\s+&\s+/,ke(Ze)),relevance:0}]},_e={begin:/</,end:/>/,keywords:b,contains:[...c,...S,...q,U,X]};X.contains.push(_e);const qe={match:x(ge,/\s*:/),keywords:"_|0",relevance:0},Be={begin:/\(/,end:/\)/,relevance:0,keywords:b,contains:["self",qe,...c,he,...S,...y,...P,Z,ae,...fe,...q,X]},ve={begin:/</,end:/>/,keywords:"repeat each",contains:[...c,X]},Je={begin:ne(ke(x(ge,/\s*:/)),ke(x(ge,/\s+/,ge,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ge}]},$e={begin:/\(/,end:/\)/,keywords:b,contains:[Je,...c,...S,...P,Z,ae,...q,X,Be],endsParent:!0,illegal:/["']/},Sn={match:[/(func|macro)/,/\s+/,ne(re.match,ge,fn)],className:{1:"keyword",3:"title.function"},contains:[ve,$e,r],illegal:[/\[/,/%/]},Oe={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ve,$e,r],illegal:/\[|%/},Qe={match:[/operator/,/\s+/,fn],className:{1:"keyword",3:"title"}},en={begin:[/precedencegroup/,/\s+/,Ze],className:{1:"keyword",3:"title"},contains:[X],keywords:[...os,...Kn],end:/}/},nn={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},tn={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},sn={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ge,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:b,contains:[ve,...S,{begin:/:/,end:/\{/,keywords:b,contains:[{scope:"title.class.inherited",match:Ze},...S],relevance:0}]};for(const L of ae.variants){const Ie=L.contains.find(an=>an.label==="interpol");Ie.keywords=b;const Re=[...S,...y,...P,Z,ae,...fe];Ie.contains=[...Re,{begin:/\(/,end:/\)/,contains:["self",...Re]}]}return{name:"Swift",keywords:b,contains:[...c,Sn,Oe,nn,tn,sn,Qe,en,{beginKeywords:"import",end:/$/,contains:[...c],relevance:0},he,...S,...y,...P,Z,ae,...fe,...q,X,Be]}}function at(n){const r={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},o=/[a-zA-Z@][a-zA-Z0-9_]*/,_={"variable.language":["this","super"],$pattern:o,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},h={$pattern:o,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:_,illegal:"</",contains:[r,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,n.C_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[n.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},n.inherit(n.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+h.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:h,contains:[n.UNDERSCORE_TITLE_MODE]},{begin:"\\."+n.UNDERSCORE_IDENT_RE,relevance:0}]}}var xe="[0-9](_*[0-9])*",Ye=`\\.(${xe})`,Xe="[0-9a-fA-F](_*[0-9a-fA-F])*",Es={className:"number",variants:[{begin:`(\\b(${xe})((${Ye})|\\.)?|(${Ye}))[eE][+-]?(${xe})[fFdD]?\\b`},{begin:`\\b(${xe})((${Ye})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Ye})[fFdD]?\\b`},{begin:`\\b(${xe})[fFdD]\\b`},{begin:`\\b0[xX]((${Xe})\\.?|(${Xe})?\\.(${Xe}))[pP][+-]?(${xe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Xe})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function it(n){const r={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},o={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},c={className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"@"},w={className:"subst",begin:/\$\{/,end:/\}/,contains:[n.C_NUMBER_MODE]},$={className:"variable",begin:"\\$"+n.UNDERSCORE_IDENT_RE},A={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[$,w]},{begin:"'",end:"'",illegal:/\n/,contains:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[n.BACKSLASH_ESCAPE,$,w]}]};w.contains.push(A);const _={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+n.UNDERSCORE_IDENT_RE+")?"},h={className:"meta",begin:"@"+n.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[n.inherit(A,{className:"string"}),"self"]}]},b=Es,S=n.COMMENT("/\\*","\\*/",{contains:[n.C_BLOCK_COMMENT_MODE]}),R={variants:[{className:"type",begin:n.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},N=R;return N.variants[1].contains=[R],R.variants[1].contains=[N],{name:"Kotlin",aliases:["kt","kts"],keywords:r,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),n.C_LINE_COMMENT_MODE,S,o,c,_,h,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:r,relevance:5,contains:[{begin:n.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[n.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:r,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[R,n.C_LINE_COMMENT_MODE,S],relevance:0},n.C_LINE_COMMENT_MODE,S,_,h,A,n.C_NUMBER_MODE]},S]},{begin:[/class|interface|trait/,/\s+/,n.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},n.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},_,h]},A,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
4
4
|
`},b]}}function rt(n){const r=["package","import","option","optional","required","repeated","group","oneof"],o=["double","float","int32","int64","uint32","uint64","sint32","sint64","fixed32","fixed64","sfixed32","sfixed64","bool","string","bytes"],c={match:[/(message|enum|service)\s+/,n.IDENT_RE],scope:{1:"keyword",2:"title.class"}};return{name:"Protocol Buffers",aliases:["proto"],keywords:{keyword:r,type:o,literal:["true","false"]},contains:[n.QUOTE_STRING_MODE,n.NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,c,{className:"function",beginKeywords:"rpc",end:/[{;]/,excludeEnd:!0,keywords:"rpc returns"},{begin:/^\s*[A-Z_]+(?=\s*=[^\n]+;$)/}]}}function ct(n){const r=n.regex,o=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),c=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],_={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:c,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},h={className:"meta",begin:/^(>>>|\.\.\.) /},b={className:"subst",begin:/\{/,end:/\}/,keywords:_,illegal:/#/},S={begin:/\{\{/,relevance:0},R={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,h],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,h,S,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,h,S,b]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[n.BACKSLASH_ESCAPE,S,b]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,S,b]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},N="[0-9](_?[0-9])*",y=`(\\b(${N}))?\\.(${N})|\\b(${N})\\.`,U=`\\b|${c.join("|")}`,O={className:"number",relevance:0,variants:[{begin:`(\\b(${N})|(${y}))[eE][+-]?(${N})[jJ]?(?=${U})`},{begin:`(${y})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${U})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${U})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${U})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${U})`},{begin:`\\b(${N})[jJ](?=${U})`}]},P={className:"comment",begin:r.lookahead(/# type:/),end:/$/,keywords:_,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},B={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:_,contains:["self",h,O,R,n.HASH_COMMENT_MODE]}]};return b.contains=[R,O,h],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:_,illegal:/(<\/|\?)|=>/,contains:[h,O,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},R,P,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,o],scope:{1:"keyword",3:"title.function"},contains:[B]},{variants:[{match:[/\bclass/,/\s+/,o,/\s*/,/\(\s*/,o,/\s*\)/]},{match:[/\bclass/,/\s+/,o]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[O,B,R]}]}}function ot(n){const r="true false yes no null",o="[\\w#;/?:@&=+$,.~*'()[\\]]+",c={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},w={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},$={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},A={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[n.BACKSLASH_ESCAPE,w]},_=n.inherit(A,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),N={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:r,relevance:0},U={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},O={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},P=[c,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+o},{className:"type",begin:"!<"+o+">"},{className:"type",begin:"!"+o},{className:"type",begin:"!!"+o},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:r,keywords:{literal:r}},N,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},U,O,$,A],B=[...P];return B.pop(),B.push(_),y.contains=B,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:P}}function lt(n){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function ut(n){const r=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:r.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:r.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function gt(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function bs(n){const r=n.regex,o={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},c={begin:"^[-\\*]{3,}",end:"$"},w={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},$={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},A={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},_=/[A-Za-z][A-Za-z0-9+.-]*/,h={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:r.concat(/\[.+?\]\(/,_,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},b={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},S={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},R=n.inherit(b,{contains:[]}),N=n.inherit(S,{contains:[]});b.contains.push(N),S.contains.push(R);let y=[o,h];return[b,S,R,N].forEach(B=>{B.contains=B.contains.concat(y)}),y=y.concat(b,S),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},o,$,b,S,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},w,c,h,A,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}const fs=Ht("div")`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{aG as Ge,j as e,bn as gt,r as g,by as X,bf as K,H as q,E as D,p as xt,o as d,h as te,au as bt,az as jt,N as y,T as $,m as Q,eN as Fe,Q as Pe,ig as Ye,bj as Te,aU as Ie,V as Ee,dH as we,b3 as Ue,b1 as Ae,C as Xe,f as Qe,e$ as Je,aP as De,W as yt,at as Ze,ih as et,v as Oe,f1 as tt,fn as ye,fH as st,dB as St,s as ie,ag as pe,G as qe,av as vt,ii as Ct,ij as Nt,$ as nt,ik as wt,il as Rt,im as Tt,io as It,P as Et,bt as it,M as At,R as Dt,S as Ot,U as $e,ip as Lt,a4 as kt}from"./index-Cp668Jsm.js";import{d as Ft,H as at,g as Pt}from"./index-DLs4lvkb.js";import{R as _e,S as _t}from"./actions-DaFcSF4Q.js";import{B as Bt}from"./index-BCDhEJAj.js";import{S as me}from"./shorten-label-Dwsld825.js";import{v as ot}from"./index-CwANiKOk.js";import{T as zt}from"./html-title-HtPlSvGf.js";import{R as Wt}from"./Refresh-BU7QWHYu.js";import{D as Mt,g as Ht}from"./traffic-Dh32_ebe.js";import{u as Kt}from"./use-mobile-DmPwZVyR.js";import"./FilterList-C7CgIPm8.js";import"./CSSTransition-D9w1WbTD.js";import"./emotion-cache.browser.esm-B-0g7s2E.js";import"./index-B58pv6JK.js";import"./redux-DfszZyTl.js";import"./typeof-QjJsDpFa.js";import"./depsEqual-msOq5b5x.js";import"./index-De5Caszn.js";import"./TableSearch-Dsfp_XUr.js";import"./Search-CviyP5PC.js";import"./Clear-CY2XI9UL.js";import"./MoreVert-Dnv5meLi.js";import"./useLocalStorage-D39oHiv_.js";import"./url-evaluation-ZlHZwvb8.js";import"./get-safe-url-0GDhhKMb.js";import"./ButtonGroup-BxZjrpDd.js";import"./getValidReactChildren-CS8vN0Dc.js";import"./permission-Dq4G1Nhn.js";import"./index.esm-BWXMXe80.js";import"./collapse-BOYOLC_4.js";import"./blocklet-Clk0KDdY.js";import"./Switch-C_vix7qp.js";import"./iframe-CiaMOw3l.js";import"./ChevronLeft-C1WpAw9J.js";import"./ChevronRight-BHex1y5g.js";import"./index-DBii9-f-.js";import"./base-chart-CUBovNRp.js";import"./index-BVwfeTfE.js";import"./AdapterDayjs-DimT2cks.js";import"./useThemeProps-CEesX7e5.js";import"./visuallyHidden-Dan1xhjv.js";const Ut=Ge(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2M4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12m8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8"})),qt=Ge(e.jsx("path",{d:"M16.59 7.58 10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"})),rt=g.createContext({}),{Provider:$t,Consumer:an}=rt;function Vt({children:t,blocklet:s=""}){const{api:n,inService:r,ws:{useSubscription:a}}=gt(),[l,x]=g.useState([]),[u,T]=g.useState({total:0,pageSize:20,pageCount:0,page:1}),f=X(()=>s.meta?.did,[s]),[v,C]=g.useState([]),[F,_]=g.useState({}),N=X(()=>l.length?new Set(l.map(h=>h.id)):new Set,[l]),V=async({page:h=1,pageSize:S=20,...I}={})=>{if(!f)return[];try{const w={paging:{page:h,pageSize:S},...I,teamDid:f,dateRange:I.dateRange?[K(I.dateRange[0]).toISOString(),K(I.dateRange[1]).toISOString()]:void 0},{dids:E,...k}=w;let B="";E&&E.includes("system")&&(B="system");const ae=E?E.filter(oe=>oe!=="system"):[],ne={...k,source:B,componentDids:ae},ee=await n.getNotificationSendLog({input:ne});return _(ne),x(ee.list),T(ee.paging),ee.list}catch(w){return q.error(w.message),[]}},P=async()=>{const h=await n.getNotificationComponents({input:{teamDid:f}});C(h.componentDids)},L=g.useCallback(h=>{const S=s.children.find(I=>I.meta?.did===h);if(S)return S.ancestors=[s],S},[s]),W=async({notificationId:h,receivers:S,channels:I,...w})=>{await n.resendNotification({input:{teamDid:f,notificationId:h,receivers:S,channels:I.map(E=>E==="wallet"?D.NOTIFICATION_SEND_CHANNEL.WALLET:E==="pushKit"?D.NOTIFICATION_SEND_CHANNEL.PUSH:E),...w}})},U=g.useCallback(async h=>(await n.getUser({input:{teamDid:f,user:{did:h}}})).user,[n,f]),Y=g.useCallback(async({page:h=1,pageSize:S=20,...I}={})=>{try{const w={paging:{page:h,pageSize:S},...I,userName:I.searchText||"",teamDid:f,dateRange:I.dateRange?[K(I.dateRange[0]).toISOString(),K(I.dateRange[1]).toISOString()]:void 0};return await n.getReceivers({input:w})}catch(w){throw q.error(w.message),w}},[n,f]);g.useEffect(()=>{f&&P()},[f]),a(D.EVENTS.NOTIFICATION_BLOCKLET_UPDATE,h=>{N.has(h.notificationId)&&V(F)},[N,F]),a(D.EVENTS.NOTIFICATION_BLOCKLET_CREATE,h=>{N.has(h.id)||V(F)},[N,F]);const Z={fetch:V,data:l,paging:u,blocklet:s,getComponent:L,resendNotification:W,getUser:U,componentDids:v,getReceivers:Y,inService:r,teamDid:f};return e.jsx($t,{value:{notificationRecords:Z},children:t})}function Be(){const{notificationRecords:t}=g.useContext(rt);return t}he.propTypes={severity:d.oneOf(Object.values(["info","success","error","warning"])).isRequired};const Gt={info:"primary",success:"success",error:"error",warning:"warning"};function he({severity:t="info"}){return e.jsx(xt,{type:Gt[t],children:t})}const Yt=(t,s,n="")=>{if(!n||!s)return"";switch(n){case D.NOTIFICATION_SEND_FAILED_REASON.USER_DISABLED:return t("notification.sendStatus.reason.disabled",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.CHANNEL_UNAVAILABLE:return t("notification.sendStatus.reason.unavailable",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.CHANNEL_DISABLED:return t("notification.sendStatus.reason.notSent",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.NOT_ONLINE:return t("notification.sendStatus.reason.offline");default:return n}};function lt(t,s,n={}){const{status:r,updatedAt:a,reason:l="",channel:x="wallet"}=n,u=a?t("notification.sendStatus.sentTime",{date:bt(a,s)}):"",T=Yt(t,x,l);return r===D.NOTIFICATION_SEND_STATUS.FAILED?{status:"failed",title:t("notification.sendStatus.failed"),sentTime:u,reason:T}:r===D.NOTIFICATION_SEND_STATUS.SENT?{status:"success",title:t("notification.sendStatus.success"),sentTime:u}:{status:"pending",title:t("notification.sendStatus.pending"),reason:T,sentTime:u}}const Le={pending:"#aaaaaa",success:"#34BE74",failed:"#D0021B"},ke=["wallet","pushKit","email"],Ve=["info","success","error","warning"],ct=t=>{const{settings:s}=t;return s?.notification?.email?.enabled},dt=t=>{const{settings:s}=t;return s?.notification?.pushKit?.enabled},Xt=(t,s)=>{const n=te(s,"extra.notifications.email",!0);return{available:ct(t),enabled:n}},Qt=(t,s)=>{const n=te(s,"extra.notifications.push",!0);return{available:dt(t),enabled:n}},Jt=t=>({enabled:te(t,"extra.notifications.wallet",!0)}),Zt=t=>({enabled:te(t,"extra.webhooks",[]).length>0}),be=(t=3)=>new Promise(s=>{setTimeout(()=>{s()},t*1e3)}),es=(t,s)=>s==="wallet"||s==="webhook"?[{channel:s,type:"enabled",pass:t("notification.sendStatus.reason.enabled",{channel:s}),fail:t("notification.sendStatus.reason.disabled",{channel:s})}]:s==="pushKit"||s==="email"?[{channel:s,type:"available",pass:t("notification.sendStatus.reason.available",{channel:s}),fail:t("notification.sendStatus.reason.unavailable",{channel:s})},{channel:s,type:"enabled",pass:t("notification.sendStatus.reason.enabled",{channel:s}),fail:t("notification.sendStatus.reason.disabled",{channel:s})}]:[],je=(t=[])=>{const s=K().startOf("day");return t.filter(n=>K(n.sendAt).isSame(s,"day")).length},ts=(t,s="")=>{if(s&&ke.includes(s)){const l=`${s}SendRecord`,x=te(t,l,[]);return je(x)}const n=te(t,"webhook",{}),r=Object.keys(n??{})??[];if(s&&r.includes(s)){const l=n[s]??[];return je(l)}const a={};return ke.forEach(l=>{const x=`${l}SendRecord`,u=te(t,x,[]),T=je(u);a[l]=T}),r.length>0&&r.forEach(l=>{const x=n[l]??[],u=je(x);a[l]=u}),a},Se=(t,s,n)=>{if(!Array.isArray(t))throw new Error("Invalid filterList or index");return t[n].splice(s,1),t},ve=(t,s)=>{if(!Array.isArray(s))throw new Error("filters must be an array");return s.length?!s.includes(t):!1},ss=t=>{switch(t){case D.NOTIFICATION_SEND_CHANNEL.WALLET:return"Wallet";case D.NOTIFICATION_SEND_CHANNEL.PUSH:return"Push Kit";case D.NOTIFICATION_SEND_CHANNEL.EMAIL:return"Email";case D.NOTIFICATION_SEND_CHANNEL.WEBHOOK:return"Webhook";default:return""}},ut=()=>({components:{MUIDataTableFilter:{styleOverrides:{header:{marginBottom:0,p:{margin:0}},root:{"& .MuiGrid-container":{marginTop:0,"& .MuiGrid-item":{paddingTop:0}}}}},MuiPopover:{styleOverrides:{root:{"&.MuiPopover-root":{"& .MuiPaper-root:has(.filter-container)":{width:"420px"}}}}}}});function se({config:t,enableTooltip:s=!0,showTitle:n=!1,children:r=null}){const{status:a,title:l="",sentTime:x="",reason:u=""}=t,T=[l,u].filter(Boolean).join(", ");return e.jsx(jt,{title:s?e.jsxs(e.Fragment,{children:[e.jsx($,{color:"inherit",sx:{fontSize:12},children:T}),e.jsx("span",{children:x})]}):null,arrow:!0,placement:"top",children:e.jsxs(y,{sx:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsxs(y,{sx:{position:"relative",minHeight:14,minWidth:14,display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(y,{style:{opacity:.15},sx:{position:"absolute",width:"100%",height:"100%",borderRadius:"50%",bgcolor:Le[a]}}),e.jsx(y,{sx:{position:"absolute",width:"55%",height:"55%",borderRadius:"50%",bgcolor:Le[a]}})]}),e.jsx($,{color:"inherit",sx:{fontSize:12},children:n?l:r})]})})}se.propTypes={config:d.object.isRequired,enableTooltip:d.bool,showTitle:d.bool,children:d.node};Ce.propTypes={list:d.array.isRequired,label:d.string.isRequired,onDelete:d.func};function Ce({list:t,label:s,onDelete:n=()=>{}}){const{t:r,locale:a}=Q();return e.jsxs(y,{sx:{display:"flex",gap:1,alignItems:"center"},children:[e.jsxs($,{children:[s,": "]}),t.map(l=>{const x=lt(r,a,{status:l});return e.jsx(Fe,{size:"small",label:e.jsx(y,{sx:{display:"flex",alignItems:"center",gap:"4px"},children:e.jsx(se,{config:x,enableTooltip:!1,children:x.title})}),onDelete:u=>n(u,l)},l)})]})}ze.propTypes={filterList:d.array.isRequired,onChange:d.func.isRequired,index:d.number.isRequired,column:d.object.isRequired,filterValues:d.array.isRequired,label:d.string.isRequired,renderLabel:d.func.isRequired};function ze({filterList:t,onChange:s,index:n,column:r,filterValues:a,label:l,renderLabel:x}){return e.jsxs(Pe,{className:"filter-container",children:[e.jsx(Ye,{component:"legend",children:l}),e.jsx(Te,{row:!0,children:a.map(u=>e.jsx(Ie,{control:e.jsx(Ee,{checked:t[n].indexOf(u.value??u)>-1,onChange:T=>{const f=[...t];T.target.checked?f[n]=[...f[n],u.value??u]:f[n]=f[n].filter(v=>v!==(u.value??u)),s(f[n],n,r)},name:u.value??u}),label:e.jsx("span",{style:{display:"flex",alignItems:"center"},children:x(u)})},u.value??u))})]})}function Re(t){return e.jsx(ze,{...t,renderLabel:s=>e.jsx(se,{enableTooltip:!1,config:{status:s.status},children:s.label})})}ce.propTypes={status:d.number.isRequired,updatedAt:d.string.isRequired,reason:d.string,channel:d.string,onResend:d.func};function ce({status:t,updatedAt:s,reason:n="",channel:r="wallet",onResend:a}){const{t:l,locale:x}=Q(),u=lt(l,x,{status:t,updatedAt:s,reason:n,channel:r});return e.jsxs(y,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(se,{config:u,showTitle:!0}),u.status!=="success"&&e.jsx(we,{className:"resend-btn",size:"small",startIcon:e.jsx(_e,{}),sx:{fontSize:12,color:"rgba(0, 0, 0, 0.87)",fontWeight:400,".MuiButton-startIcon":{mr:"2px"}},onClick:a,children:l("notification.resend")})]})}We.propTypes={value:d.array.isRequired,onChange:d.func};function We({value:t,onChange:s}){const{locale:n}=Q(),r=K().toDate(),[a,l]=g.useState(null),x=g.useCallback(f=>{l(a?null:f.currentTarget)},[a]),u=!!a,T=g.useCallback(f=>{if(!f.startDate||!f.endDate){q.error("Please select a date range");return}if(K(f.startDate).isAfter(f.endDate)||!K(f.startDate).isValid()||!K(f.endDate).isValid()){q.error("Invalid date range");return}s([f.startDate,f.endDate]),l(null)},[s]);return e.jsxs("div",{children:[e.jsx($,{component:"div",variant:"h5",color:"textPrimary",style:{fontSize:18,fontWeight:"bold"},sx:{mb:0},children:e.jsxs(we,{onClick:x,variant:"outlined",size:"small",color:"inherit",children:[Ue(t[0],n)," - ",Ue(t[1],n)]})}),e.jsx(Ae,{open:u,anchorEl:a,onClose:()=>{l(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},children:e.jsx(Mt,{open:!0,maxDate:r,initialDateRange:{startDate:t[0],endDate:t[1]},toggle:x,definedRanges:Ht(r),onChange:T})})]})}Me.propTypes={itemComponent:d.elementType.isRequired};function Me({itemComponent:t,...s}){const{t:n}=Q();return!s?.filterList?.filter(a=>a.length).length?null:e.jsxs(y,{sx:{display:"flex",gap:1,alignItems:"center"},children:[e.jsx("div",{className:"toolbar-filter-title",children:n("notification.filter")}),e.jsx("div",{className:"toolbar-filter-content",children:e.jsx(Ft.TableFilterList,{...s,ItemComponent:t})})]})}function He({label:t,onDelete:s,canDelete:n=()=>!0,...r}){const a=s&&typeof s=="function"?s:void 0;let l=!0;return n&&typeof n=="function"&&(l=n({label:t,...r})),e.jsx(Fe,{label:t,variant:"outlined",...a&&l?{onDelete:a}:{}})}He.propTypes={label:d.string.isRequired,onDelete:d.func,canDelete:d.func};const ns=[{label:"Wallet",value:"app",checked:!0},{label:"Email",value:"email",checked:!0},{label:"Push Kit",value:"push",checked:!0},{label:"Webhook",value:"webhook",checked:!0}];pt.propTypes={loading:d.bool,onCancel:d.func,onConfirm:d.func};function pt({loading:t=!1,onCancel:s=()=>{},onConfirm:n=()=>{}}){const{t:r}=Q(),[a,l]=g.useState(ns),[x,u]=g.useState(!0),T=(v,C)=>{C.checked=v.target.checked;const F=a.map(_=>({..._,checked:_.value===C.value?C.checked:_.checked}));l(F)},f=v=>{v.stopPropagation(),n({channels:a.filter(C=>C.checked).map(C=>C.value),isResendFailedOnly:x})};return e.jsxs(y,{className:"resend-config",sx:{padding:"16px 24px"},children:[e.jsx($,{variant:"body1",component:"div",className:"check-title",sx:{fontWeight:700,mb:1},children:r("notification.config")}),e.jsx(y,{className:"choose-channel",children:e.jsxs(Pe,{component:"fieldset",variant:"standard",children:[e.jsx(Ye,{component:"legend",children:r("notification.selectChannels")}),e.jsx(Te,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:1},children:a.map(v=>e.jsx(Ie,{control:e.jsx(Ee,{checked:v.checked,onChange:C=>T(C,v),name:v.value}),label:v.label},v.value))})]})}),e.jsx(y,{className:"resend-config-footer",children:e.jsx(Te,{children:e.jsx(Ie,{control:e.jsx(Ee,{checked:x,onChange:v=>u(v.target.checked)}),label:r("notification.resendFailedOnly")})})}),e.jsxs(y,{className:"resend-config-footer-tip",sx:{display:"flex",justifyContent:"flex-end",gap:1},children:[e.jsx(we,{onClick:v=>{v.stopPropagation(),s()},color:"inherit",children:r("common.cancel")}),e.jsxs(we,{onClick:f,color:"primary",disabled:t,variant:"contained",autoFocus:!0,style:{marginLeft:8},children:[t&&e.jsx(Xe,{size:16}),r("common.confirm")]})]})]})}ft.propTypes={notificationId:d.string.isRequired,handleResend:d.func,resending:d.bool};function ft({notificationId:t,handleResend:s,resending:n=!1}){const{t:r,locale:a}=Q(),l=Qe(),x=g.useMemo(()=>Je(l,ut()),[l]),{getReceivers:u,inService:T,teamDid:f,getUser:v,blocklet:C}=Be(),[F,_]=g.useState(!1),[N,V]=g.useState([]),P=De({anchorEl:null,position:null}),L=De({anchorEl:null,position:null}),[W,U]=g.useState(null),[Y,Z]=g.useState({total:0,pageSize:10,pageCount:0,page:1}),[h,S]=g.useState({searchText:"",page:1,pageSize:10,walletSendStatus:[],pushKitSendStatus:[],emailSendStatus:[],dateRange:[K().subtract(1,"month").startOf("day").toDate(),K().endOf("day").toDate()]}),[I,w]=g.useState([]),E=[{label:r("notification.sendStatus.pending"),value:0,status:"pending"},{label:r("notification.sendStatus.success"),value:1,status:"success"},{label:r("notification.sendStatus.failed"),value:2,status:"failed"}],k=async()=>{if(!F&&t)try{_(!0);const i=await u({notificationId:t,...h}),o=i.list.map(c=>({...c,receiverUser:{...c.receiverUser,avatar:st(c.receiverUser.avatar,f,T)}}));V(o),Z(i.paging),_(!1)}catch(i){q.error(i.message),_(!1)}};g.useEffect(()=>{k()},[h]);const B=i=>{i.stopPropagation();const o=i.currentTarget;L.anchorEl=o;const c=o.getBoundingClientRect();L.position={top:c.top+window.scrollY,left:c.left+window.scrollX}},ae=i=>i.data.length?e.jsx("div",{style:{display:"flex",alignItems:"center",padding:"10px"},children:e.jsx(Oe,{className:"resend-btn",size:"small",color:"primary",variant:"contained",startIcon:e.jsx(_e,{}),sx:{".MuiButton-startIcon":{mr:"2px"}},onClick:B,children:r("notification.resend")})}):null,ne={sort:!1,download:!1,print:!1,selectableRows:"multiple",searchPlaceholder:r("common.search"),searchAlwaysOpen:!1,filterType:"checkbox",searchDebounceTime:300,page:Y.page-1,rowsPerPage:Y.pageSize,count:Y.total,searchText:h.searchText,tableBodyMaxHeight:"calc(80vh - 260px)",rowsSelected:I,onRowSelectionChange:(i,o)=>{w(o.map(c=>c.dataIndex))},customToolbarSelect:ae},ee=({page:i,rowsPerPage:o,searchText:c,filterList:j})=>{const[,z=[],G=[],H=[]]=j;h.pageSize!==o?S(M=>({...M,pageSize:o,page:1})):h.page!==i+1?S(M=>({...M,page:i+1})):h.searchText!==c?S(M=>({...M,searchText:c,page:1})):pe(z,h.walletSendStatus)?pe(G,h.pushKitSendStatus)?pe(H,h.emailSendStatus)||S(M=>({...M,emailSendStatus:H,page:1})):S(M=>({...M,pushKitSendStatus:G,page:1})):S(M=>({...M,walletSendStatus:z,page:1}))},oe=g.useCallback(async(i,o)=>{if(!o)return!1;const c=await v(o);return c?i==="wallet"?Jt(c):i==="email"?Xt(C,c):i==="pushKit"?Qt(C,c):i==="webhook"?Zt(c):!0:!1},[v,C]),ge=g.useCallback(i=>es(r,i),[r]),re=()=>{P.anchorEl=null,P.position=null,U(null)},le=()=>{L.anchorEl=null,L.position=null},m=async(i,o,c=!0,j="")=>{if(!(!o.length||!i.length))try{s(i,o,c,j),L.anchorEl||(await be(.5),re())}catch(z){console.error("handleResend error",{error:z})}},p=async({channels:i,isResendFailedOnly:o})=>{const c=I.map(j=>N[j].receiver);await m(i,c,o),await be(.5),le(),w([])},b=async(i,o=[],c=!0)=>{try{await m(["webhook"],[i.receiver],c,o)}catch(j){q.error(j.response?j.response.statusText:j.message)}},R=async(i,o,c,j=[],z=!0)=>{if(i.stopPropagation(),ts(o,c)>=4){q.warning(r("notification.resendLimit"));return}if(!ke.includes(c)){await b(o,j,z);return}if(i){const H=i.currentTarget,M=H.getBoundingClientRect();P.anchorEl=H,P.position={top:M.top+window.scrollY,left:M.left+window.scrollX}}U({channel:c});try{const H=await oe(c,o.receiver);await be(1),U({channel:c,result:H}),(typeof H=="boolean"&&H||St(H)&&Object.values(H).every(M=>!!M))&&(await s([c],[o.receiver],z),L.anchorEl||(await be(.5),re()))}catch(H){q.error(H.message)}},O=i=>{S(o=>({...o,dateRange:i,page:1}))},A=(i,o,c,j)=>{i.stopPropagation();const z=c.filter(G=>G!==o);S(G=>({...G,[j]:z,page:1}))},J=X(()=>[{label:r("notification.receiver"),name:"receiver",width:200,options:{filter:!1,customBodyRenderLite:i=>{const{receiverUser:o,receiver:c}=N[i];return o?e.jsxs(y,{"data-cy":`member-name-${o.fullName}`,sx:{display:"flex",alignItems:"center",gap:1,justifyContent:"flex-start"},children:[e.jsx(Ze,{src:`${o.avatar}?imageFilter=resize&w=48&h=48`,size:32,did:c,shape:"circle",style:{borderRadius:"100%",overflow:"hidden"}}),e.jsx(me,{children:o.fullName})]},c):e.jsx(yt,{size:14,responsive:!1,compact:!0,copyable:!1,did:c})}}},{label:"Wallet",name:"walletSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),filter:!0,filterType:"custom",filterList:h.walletSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Wallet",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[1].options.filterList,"walletSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Wallet",filterList:i,onChange:o,index:c,column:j,filterValues:E})},customBodyRenderLite:i=>{const{walletSendStatus:o,walletSendAt:c,walletSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"wallet",onResend:z=>R(z,N[i],"wallet",[],!1)})}}},{label:"Push Kit",name:"pushKitSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{pushKitSendStatus:o,pushKitSendAt:c,pushKitSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"pushkit",onResend:z=>R(z,N[i],"pushKit",[],!1)})},filter:!0,filterType:"custom",filterList:h.pushKitSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Push Kit",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[2].options.filterList,"pushKitSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Push Kit",filterList:i,onChange:o,index:c,column:j,filterValues:E})}}},{label:"Email",name:"emailSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{emailSendStatus:o,emailSendAt:c,emailSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"email",onResend:z=>R(z,N[i],"email",[],!1)})},filter:!0,filterType:"custom",filterList:h.emailSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Email",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[3].options.filterList,"emailSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Email",filterList:i,onChange:o,index:c,column:j,filterValues:E})}}},{label:"Webhook",name:"webhook",width:200,options:{filter:!1,setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{webhook:o}=N[i];if(!o)return null;const c=Object.entries(o)[0];if(!c)return null;const[j,z]=c,G=z[0];return e.jsx(y,{sx:{display:"flex",flexDirection:"column",gap:1},children:e.jsxs(y,{className:"webhook-item",sx:{fontSize:12},children:[e.jsx(me,{maxLength:30,children:j},j),e.jsx(ce,{status:G.status,updatedAt:G.sendAt,reason:G.failedReason,channel:"webhook",onResend:H=>R(H,N[i],"webhook",[j],!1)})]},j)})}}},{label:r("common.createdAt"),name:"createdAt",width:100,options:{filter:!1,customBodyRenderLite:i=>{const{createdAt:o}=N[i];return e.jsx(et,{value:o,locale:a,shouldUpdate:!0})}}}],[N,a,h,r]),xe=[e.jsx(We,{value:h.dateRange,onChange:O},"date-picker"),e.jsx(Oe,{variant:"contained",size:"small",color:"primary",loading:F,startIcon:e.jsx(Wt,{}),onClick:()=>k(),sx:{".MuiButton-startIcon":{mr:"2px"}},style:{marginLeft:8},children:r("common.refresh")},"refresh")];return e.jsx(y,{sx:{overflow:"auto",".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"},".MuiTableCell-root":{paddingRight:"8px",whiteSpace:"nowrap"}},children:e.jsx(as,{children:e.jsxs(tt,{theme:x,children:[e.jsx(at,{className:"receivers-table",locale:a,loading:F,columns:J,data:N,onChange:ee,options:ne,customButtons:xe,components:{TableFilterList:i=>e.jsx(Me,{...i,itemComponent:o=>e.jsx(He,{...o,canDelete:()=>!1})})}}),P.anchorEl&&e.jsx(Ae,{open:!!P.anchorEl,anchorReference:"anchorPosition",anchorPosition:P.position,onClose:re,anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},children:e.jsxs(os,{children:[e.jsxs($,{variant:"body1",component:"div",className:"check-title",children:[W?.channel," Checking"]}),e.jsx(y,{sx:{display:"flex",flexDirection:"column",gap:"4px"},children:ge(W?.channel).map(i=>{const{type:o,pass:c,fail:j}=i;return!W?.result||W?.result?.[o]?e.jsxs($,{variant:"body1",component:"div",className:"check-item",sx:{display:"flex",alignItems:"center",gap:"4px",color:W?.result?.[o]?ye.success.main:"inherit"},children:[W?.result?e.jsx(qt,{}):e.jsx(Xe,{size:12,sx:{color:ye.primary.main}}),e.jsx("span",{children:c})]},o):e.jsxs($,{variant:"body1",component:"div",className:"check-item",sx:{display:"flex",alignItems:"center",gap:"4px",color:ye.error.main},children:[e.jsx(Ut,{}),e.jsx("span",{children:j})]},o)})})]})}),L.anchorEl&&e.jsx(Ae,{open:!!L.anchorEl,anchorReference:"anchorPosition",anchorPosition:L.position,onClose:le,anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},children:e.jsx(pt,{loading:n,onCancel:le,onConfirm:p})})]})})})}const is=g.memo(ft),as=ie.div`
|
|
1
|
+
import{aG as Ge,j as e,bn as gt,r as g,by as X,bf as K,H as q,E as D,p as xt,o as d,h as te,au as bt,az as jt,N as y,T as $,m as Q,eN as Fe,Q as Pe,ig as Ye,bj as Te,aU as Ie,V as Ee,dH as we,b3 as Ue,b1 as Ae,C as Xe,f as Qe,e$ as Je,aP as De,W as yt,at as Ze,ih as et,v as Oe,f1 as tt,fn as ye,fH as st,dB as St,s as ie,ag as pe,G as qe,av as vt,ii as Ct,ij as Nt,$ as nt,ik as wt,il as Rt,im as Tt,io as It,P as Et,bt as it,M as At,R as Dt,S as Ot,U as $e,ip as Lt,a4 as kt}from"./index-OdvXHPqT.js";import{d as Ft,H as at,g as Pt}from"./index-Y2ocg0We.js";import{R as _e,S as _t}from"./actions-BfeIbo_G.js";import{B as Bt}from"./index-ClLVAMtr.js";import{S as me}from"./shorten-label-CPrM7klu.js";import{v as ot}from"./index-C1YX-486.js";import{T as zt}from"./html-title-F0NEfYXw.js";import{R as Wt}from"./Refresh-L5IK_LF1.js";import{D as Mt,g as Ht}from"./traffic-DgBk3o2N.js";import{u as Kt}from"./use-mobile-Yz2bScih.js";import"./FilterList-BnK3OcNB.js";import"./CSSTransition-CgU-qJG1.js";import"./emotion-cache.browser.esm-DKCrrwkN.js";import"./index-2hrGtHmX.js";import"./redux-DfszZyTl.js";import"./typeof-QjJsDpFa.js";import"./depsEqual-BxsaWGVI.js";import"./index-BShBVqEp.js";import"./TableSearch-BfqBG8KC.js";import"./Search-2a28Zd0Q.js";import"./Clear-D0eiF7LM.js";import"./MoreVert-Bg7SRP_I.js";import"./useLocalStorage-BRX7xEeE.js";import"./url-evaluation-DgbmtLnr.js";import"./get-safe-url-DG3hbVuw.js";import"./ButtonGroup-B8CEk0Fm.js";import"./getValidReactChildren-UBZRExQI.js";import"./permission-CUvNs2Zv.js";import"./index.esm-Dt7UO6Gw.js";import"./collapse-Co_76D-y.js";import"./blocklet-BwXw89V1.js";import"./Switch-iXfQHCNE.js";import"./iframe-B5DJ8-Ji.js";import"./ChevronLeft-Mrf8wNcO.js";import"./ChevronRight-CgNj8oK3.js";import"./index-DBii9-f-.js";import"./base-chart-CPd4vePQ.js";import"./index-DDIG3-mk.js";import"./AdapterDayjs-DPswIgNd.js";import"./useThemeProps-B8kKGfuj.js";import"./visuallyHidden-Dan1xhjv.js";const Ut=Ge(e.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2M4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12m8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8"})),qt=Ge(e.jsx("path",{d:"M16.59 7.58 10 14.17l-3.59-3.58L5 12l5 5 8-8zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"})),rt=g.createContext({}),{Provider:$t,Consumer:an}=rt;function Vt({children:t,blocklet:s=""}){const{api:n,inService:r,ws:{useSubscription:a}}=gt(),[l,x]=g.useState([]),[u,T]=g.useState({total:0,pageSize:20,pageCount:0,page:1}),f=X(()=>s.meta?.did,[s]),[v,C]=g.useState([]),[F,_]=g.useState({}),N=X(()=>l.length?new Set(l.map(h=>h.id)):new Set,[l]),V=async({page:h=1,pageSize:S=20,...I}={})=>{if(!f)return[];try{const w={paging:{page:h,pageSize:S},...I,teamDid:f,dateRange:I.dateRange?[K(I.dateRange[0]).toISOString(),K(I.dateRange[1]).toISOString()]:void 0},{dids:E,...k}=w;let B="";E&&E.includes("system")&&(B="system");const ae=E?E.filter(oe=>oe!=="system"):[],ne={...k,source:B,componentDids:ae},ee=await n.getNotificationSendLog({input:ne});return _(ne),x(ee.list),T(ee.paging),ee.list}catch(w){return q.error(w.message),[]}},P=async()=>{const h=await n.getNotificationComponents({input:{teamDid:f}});C(h.componentDids)},L=g.useCallback(h=>{const S=s.children.find(I=>I.meta?.did===h);if(S)return S.ancestors=[s],S},[s]),W=async({notificationId:h,receivers:S,channels:I,...w})=>{await n.resendNotification({input:{teamDid:f,notificationId:h,receivers:S,channels:I.map(E=>E==="wallet"?D.NOTIFICATION_SEND_CHANNEL.WALLET:E==="pushKit"?D.NOTIFICATION_SEND_CHANNEL.PUSH:E),...w}})},U=g.useCallback(async h=>(await n.getUser({input:{teamDid:f,user:{did:h}}})).user,[n,f]),Y=g.useCallback(async({page:h=1,pageSize:S=20,...I}={})=>{try{const w={paging:{page:h,pageSize:S},...I,userName:I.searchText||"",teamDid:f,dateRange:I.dateRange?[K(I.dateRange[0]).toISOString(),K(I.dateRange[1]).toISOString()]:void 0};return await n.getReceivers({input:w})}catch(w){throw q.error(w.message),w}},[n,f]);g.useEffect(()=>{f&&P()},[f]),a(D.EVENTS.NOTIFICATION_BLOCKLET_UPDATE,h=>{N.has(h.notificationId)&&V(F)},[N,F]),a(D.EVENTS.NOTIFICATION_BLOCKLET_CREATE,h=>{N.has(h.id)||V(F)},[N,F]);const Z={fetch:V,data:l,paging:u,blocklet:s,getComponent:L,resendNotification:W,getUser:U,componentDids:v,getReceivers:Y,inService:r,teamDid:f};return e.jsx($t,{value:{notificationRecords:Z},children:t})}function Be(){const{notificationRecords:t}=g.useContext(rt);return t}he.propTypes={severity:d.oneOf(Object.values(["info","success","error","warning"])).isRequired};const Gt={info:"primary",success:"success",error:"error",warning:"warning"};function he({severity:t="info"}){return e.jsx(xt,{type:Gt[t],children:t})}const Yt=(t,s,n="")=>{if(!n||!s)return"";switch(n){case D.NOTIFICATION_SEND_FAILED_REASON.USER_DISABLED:return t("notification.sendStatus.reason.disabled",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.CHANNEL_UNAVAILABLE:return t("notification.sendStatus.reason.unavailable",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.CHANNEL_DISABLED:return t("notification.sendStatus.reason.notSent",{channel:s});case D.NOTIFICATION_SEND_FAILED_REASON.NOT_ONLINE:return t("notification.sendStatus.reason.offline");default:return n}};function lt(t,s,n={}){const{status:r,updatedAt:a,reason:l="",channel:x="wallet"}=n,u=a?t("notification.sendStatus.sentTime",{date:bt(a,s)}):"",T=Yt(t,x,l);return r===D.NOTIFICATION_SEND_STATUS.FAILED?{status:"failed",title:t("notification.sendStatus.failed"),sentTime:u,reason:T}:r===D.NOTIFICATION_SEND_STATUS.SENT?{status:"success",title:t("notification.sendStatus.success"),sentTime:u}:{status:"pending",title:t("notification.sendStatus.pending"),reason:T,sentTime:u}}const Le={pending:"#aaaaaa",success:"#34BE74",failed:"#D0021B"},ke=["wallet","pushKit","email"],Ve=["info","success","error","warning"],ct=t=>{const{settings:s}=t;return s?.notification?.email?.enabled},dt=t=>{const{settings:s}=t;return s?.notification?.pushKit?.enabled},Xt=(t,s)=>{const n=te(s,"extra.notifications.email",!0);return{available:ct(t),enabled:n}},Qt=(t,s)=>{const n=te(s,"extra.notifications.push",!0);return{available:dt(t),enabled:n}},Jt=t=>({enabled:te(t,"extra.notifications.wallet",!0)}),Zt=t=>({enabled:te(t,"extra.webhooks",[]).length>0}),be=(t=3)=>new Promise(s=>{setTimeout(()=>{s()},t*1e3)}),es=(t,s)=>s==="wallet"||s==="webhook"?[{channel:s,type:"enabled",pass:t("notification.sendStatus.reason.enabled",{channel:s}),fail:t("notification.sendStatus.reason.disabled",{channel:s})}]:s==="pushKit"||s==="email"?[{channel:s,type:"available",pass:t("notification.sendStatus.reason.available",{channel:s}),fail:t("notification.sendStatus.reason.unavailable",{channel:s})},{channel:s,type:"enabled",pass:t("notification.sendStatus.reason.enabled",{channel:s}),fail:t("notification.sendStatus.reason.disabled",{channel:s})}]:[],je=(t=[])=>{const s=K().startOf("day");return t.filter(n=>K(n.sendAt).isSame(s,"day")).length},ts=(t,s="")=>{if(s&&ke.includes(s)){const l=`${s}SendRecord`,x=te(t,l,[]);return je(x)}const n=te(t,"webhook",{}),r=Object.keys(n??{})??[];if(s&&r.includes(s)){const l=n[s]??[];return je(l)}const a={};return ke.forEach(l=>{const x=`${l}SendRecord`,u=te(t,x,[]),T=je(u);a[l]=T}),r.length>0&&r.forEach(l=>{const x=n[l]??[],u=je(x);a[l]=u}),a},Se=(t,s,n)=>{if(!Array.isArray(t))throw new Error("Invalid filterList or index");return t[n].splice(s,1),t},ve=(t,s)=>{if(!Array.isArray(s))throw new Error("filters must be an array");return s.length?!s.includes(t):!1},ss=t=>{switch(t){case D.NOTIFICATION_SEND_CHANNEL.WALLET:return"Wallet";case D.NOTIFICATION_SEND_CHANNEL.PUSH:return"Push Kit";case D.NOTIFICATION_SEND_CHANNEL.EMAIL:return"Email";case D.NOTIFICATION_SEND_CHANNEL.WEBHOOK:return"Webhook";default:return""}},ut=()=>({components:{MUIDataTableFilter:{styleOverrides:{header:{marginBottom:0,p:{margin:0}},root:{"& .MuiGrid-container":{marginTop:0,"& .MuiGrid-item":{paddingTop:0}}}}},MuiPopover:{styleOverrides:{root:{"&.MuiPopover-root":{"& .MuiPaper-root:has(.filter-container)":{width:"420px"}}}}}}});function se({config:t,enableTooltip:s=!0,showTitle:n=!1,children:r=null}){const{status:a,title:l="",sentTime:x="",reason:u=""}=t,T=[l,u].filter(Boolean).join(", ");return e.jsx(jt,{title:s?e.jsxs(e.Fragment,{children:[e.jsx($,{color:"inherit",sx:{fontSize:12},children:T}),e.jsx("span",{children:x})]}):null,arrow:!0,placement:"top",children:e.jsxs(y,{sx:{display:"flex",flexDirection:"row",alignItems:"center",gap:"4px"},children:[e.jsxs(y,{sx:{position:"relative",minHeight:14,minWidth:14,display:"flex",alignItems:"center",justifyContent:"center"},children:[e.jsx(y,{style:{opacity:.15},sx:{position:"absolute",width:"100%",height:"100%",borderRadius:"50%",bgcolor:Le[a]}}),e.jsx(y,{sx:{position:"absolute",width:"55%",height:"55%",borderRadius:"50%",bgcolor:Le[a]}})]}),e.jsx($,{color:"inherit",sx:{fontSize:12},children:n?l:r})]})})}se.propTypes={config:d.object.isRequired,enableTooltip:d.bool,showTitle:d.bool,children:d.node};Ce.propTypes={list:d.array.isRequired,label:d.string.isRequired,onDelete:d.func};function Ce({list:t,label:s,onDelete:n=()=>{}}){const{t:r,locale:a}=Q();return e.jsxs(y,{sx:{display:"flex",gap:1,alignItems:"center"},children:[e.jsxs($,{children:[s,": "]}),t.map(l=>{const x=lt(r,a,{status:l});return e.jsx(Fe,{size:"small",label:e.jsx(y,{sx:{display:"flex",alignItems:"center",gap:"4px"},children:e.jsx(se,{config:x,enableTooltip:!1,children:x.title})}),onDelete:u=>n(u,l)},l)})]})}ze.propTypes={filterList:d.array.isRequired,onChange:d.func.isRequired,index:d.number.isRequired,column:d.object.isRequired,filterValues:d.array.isRequired,label:d.string.isRequired,renderLabel:d.func.isRequired};function ze({filterList:t,onChange:s,index:n,column:r,filterValues:a,label:l,renderLabel:x}){return e.jsxs(Pe,{className:"filter-container",children:[e.jsx(Ye,{component:"legend",children:l}),e.jsx(Te,{row:!0,children:a.map(u=>e.jsx(Ie,{control:e.jsx(Ee,{checked:t[n].indexOf(u.value??u)>-1,onChange:T=>{const f=[...t];T.target.checked?f[n]=[...f[n],u.value??u]:f[n]=f[n].filter(v=>v!==(u.value??u)),s(f[n],n,r)},name:u.value??u}),label:e.jsx("span",{style:{display:"flex",alignItems:"center"},children:x(u)})},u.value??u))})]})}function Re(t){return e.jsx(ze,{...t,renderLabel:s=>e.jsx(se,{enableTooltip:!1,config:{status:s.status},children:s.label})})}ce.propTypes={status:d.number.isRequired,updatedAt:d.string.isRequired,reason:d.string,channel:d.string,onResend:d.func};function ce({status:t,updatedAt:s,reason:n="",channel:r="wallet",onResend:a}){const{t:l,locale:x}=Q(),u=lt(l,x,{status:t,updatedAt:s,reason:n,channel:r});return e.jsxs(y,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(se,{config:u,showTitle:!0}),u.status!=="success"&&e.jsx(we,{className:"resend-btn",size:"small",startIcon:e.jsx(_e,{}),sx:{fontSize:12,color:"rgba(0, 0, 0, 0.87)",fontWeight:400,".MuiButton-startIcon":{mr:"2px"}},onClick:a,children:l("notification.resend")})]})}We.propTypes={value:d.array.isRequired,onChange:d.func};function We({value:t,onChange:s}){const{locale:n}=Q(),r=K().toDate(),[a,l]=g.useState(null),x=g.useCallback(f=>{l(a?null:f.currentTarget)},[a]),u=!!a,T=g.useCallback(f=>{if(!f.startDate||!f.endDate){q.error("Please select a date range");return}if(K(f.startDate).isAfter(f.endDate)||!K(f.startDate).isValid()||!K(f.endDate).isValid()){q.error("Invalid date range");return}s([f.startDate,f.endDate]),l(null)},[s]);return e.jsxs("div",{children:[e.jsx($,{component:"div",variant:"h5",color:"textPrimary",style:{fontSize:18,fontWeight:"bold"},sx:{mb:0},children:e.jsxs(we,{onClick:x,variant:"outlined",size:"small",color:"inherit",children:[Ue(t[0],n)," - ",Ue(t[1],n)]})}),e.jsx(Ae,{open:u,anchorEl:a,onClose:()=>{l(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},children:e.jsx(Mt,{open:!0,maxDate:r,initialDateRange:{startDate:t[0],endDate:t[1]},toggle:x,definedRanges:Ht(r),onChange:T})})]})}Me.propTypes={itemComponent:d.elementType.isRequired};function Me({itemComponent:t,...s}){const{t:n}=Q();return!s?.filterList?.filter(a=>a.length).length?null:e.jsxs(y,{sx:{display:"flex",gap:1,alignItems:"center"},children:[e.jsx("div",{className:"toolbar-filter-title",children:n("notification.filter")}),e.jsx("div",{className:"toolbar-filter-content",children:e.jsx(Ft.TableFilterList,{...s,ItemComponent:t})})]})}function He({label:t,onDelete:s,canDelete:n=()=>!0,...r}){const a=s&&typeof s=="function"?s:void 0;let l=!0;return n&&typeof n=="function"&&(l=n({label:t,...r})),e.jsx(Fe,{label:t,variant:"outlined",...a&&l?{onDelete:a}:{}})}He.propTypes={label:d.string.isRequired,onDelete:d.func,canDelete:d.func};const ns=[{label:"Wallet",value:"app",checked:!0},{label:"Email",value:"email",checked:!0},{label:"Push Kit",value:"push",checked:!0},{label:"Webhook",value:"webhook",checked:!0}];pt.propTypes={loading:d.bool,onCancel:d.func,onConfirm:d.func};function pt({loading:t=!1,onCancel:s=()=>{},onConfirm:n=()=>{}}){const{t:r}=Q(),[a,l]=g.useState(ns),[x,u]=g.useState(!0),T=(v,C)=>{C.checked=v.target.checked;const F=a.map(_=>({..._,checked:_.value===C.value?C.checked:_.checked}));l(F)},f=v=>{v.stopPropagation(),n({channels:a.filter(C=>C.checked).map(C=>C.value),isResendFailedOnly:x})};return e.jsxs(y,{className:"resend-config",sx:{padding:"16px 24px"},children:[e.jsx($,{variant:"body1",component:"div",className:"check-title",sx:{fontWeight:700,mb:1},children:r("notification.config")}),e.jsx(y,{className:"choose-channel",children:e.jsxs(Pe,{component:"fieldset",variant:"standard",children:[e.jsx(Ye,{component:"legend",children:r("notification.selectChannels")}),e.jsx(Te,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",gap:1},children:a.map(v=>e.jsx(Ie,{control:e.jsx(Ee,{checked:v.checked,onChange:C=>T(C,v),name:v.value}),label:v.label},v.value))})]})}),e.jsx(y,{className:"resend-config-footer",children:e.jsx(Te,{children:e.jsx(Ie,{control:e.jsx(Ee,{checked:x,onChange:v=>u(v.target.checked)}),label:r("notification.resendFailedOnly")})})}),e.jsxs(y,{className:"resend-config-footer-tip",sx:{display:"flex",justifyContent:"flex-end",gap:1},children:[e.jsx(we,{onClick:v=>{v.stopPropagation(),s()},color:"inherit",children:r("common.cancel")}),e.jsxs(we,{onClick:f,color:"primary",disabled:t,variant:"contained",autoFocus:!0,style:{marginLeft:8},children:[t&&e.jsx(Xe,{size:16}),r("common.confirm")]})]})]})}ft.propTypes={notificationId:d.string.isRequired,handleResend:d.func,resending:d.bool};function ft({notificationId:t,handleResend:s,resending:n=!1}){const{t:r,locale:a}=Q(),l=Qe(),x=g.useMemo(()=>Je(l,ut()),[l]),{getReceivers:u,inService:T,teamDid:f,getUser:v,blocklet:C}=Be(),[F,_]=g.useState(!1),[N,V]=g.useState([]),P=De({anchorEl:null,position:null}),L=De({anchorEl:null,position:null}),[W,U]=g.useState(null),[Y,Z]=g.useState({total:0,pageSize:10,pageCount:0,page:1}),[h,S]=g.useState({searchText:"",page:1,pageSize:10,walletSendStatus:[],pushKitSendStatus:[],emailSendStatus:[],dateRange:[K().subtract(1,"month").startOf("day").toDate(),K().endOf("day").toDate()]}),[I,w]=g.useState([]),E=[{label:r("notification.sendStatus.pending"),value:0,status:"pending"},{label:r("notification.sendStatus.success"),value:1,status:"success"},{label:r("notification.sendStatus.failed"),value:2,status:"failed"}],k=async()=>{if(!F&&t)try{_(!0);const i=await u({notificationId:t,...h}),o=i.list.map(c=>({...c,receiverUser:{...c.receiverUser,avatar:st(c.receiverUser.avatar,f,T)}}));V(o),Z(i.paging),_(!1)}catch(i){q.error(i.message),_(!1)}};g.useEffect(()=>{k()},[h]);const B=i=>{i.stopPropagation();const o=i.currentTarget;L.anchorEl=o;const c=o.getBoundingClientRect();L.position={top:c.top+window.scrollY,left:c.left+window.scrollX}},ae=i=>i.data.length?e.jsx("div",{style:{display:"flex",alignItems:"center",padding:"10px"},children:e.jsx(Oe,{className:"resend-btn",size:"small",color:"primary",variant:"contained",startIcon:e.jsx(_e,{}),sx:{".MuiButton-startIcon":{mr:"2px"}},onClick:B,children:r("notification.resend")})}):null,ne={sort:!1,download:!1,print:!1,selectableRows:"multiple",searchPlaceholder:r("common.search"),searchAlwaysOpen:!1,filterType:"checkbox",searchDebounceTime:300,page:Y.page-1,rowsPerPage:Y.pageSize,count:Y.total,searchText:h.searchText,tableBodyMaxHeight:"calc(80vh - 260px)",rowsSelected:I,onRowSelectionChange:(i,o)=>{w(o.map(c=>c.dataIndex))},customToolbarSelect:ae},ee=({page:i,rowsPerPage:o,searchText:c,filterList:j})=>{const[,z=[],G=[],H=[]]=j;h.pageSize!==o?S(M=>({...M,pageSize:o,page:1})):h.page!==i+1?S(M=>({...M,page:i+1})):h.searchText!==c?S(M=>({...M,searchText:c,page:1})):pe(z,h.walletSendStatus)?pe(G,h.pushKitSendStatus)?pe(H,h.emailSendStatus)||S(M=>({...M,emailSendStatus:H,page:1})):S(M=>({...M,pushKitSendStatus:G,page:1})):S(M=>({...M,walletSendStatus:z,page:1}))},oe=g.useCallback(async(i,o)=>{if(!o)return!1;const c=await v(o);return c?i==="wallet"?Jt(c):i==="email"?Xt(C,c):i==="pushKit"?Qt(C,c):i==="webhook"?Zt(c):!0:!1},[v,C]),ge=g.useCallback(i=>es(r,i),[r]),re=()=>{P.anchorEl=null,P.position=null,U(null)},le=()=>{L.anchorEl=null,L.position=null},m=async(i,o,c=!0,j="")=>{if(!(!o.length||!i.length))try{s(i,o,c,j),L.anchorEl||(await be(.5),re())}catch(z){console.error("handleResend error",{error:z})}},p=async({channels:i,isResendFailedOnly:o})=>{const c=I.map(j=>N[j].receiver);await m(i,c,o),await be(.5),le(),w([])},b=async(i,o=[],c=!0)=>{try{await m(["webhook"],[i.receiver],c,o)}catch(j){q.error(j.response?j.response.statusText:j.message)}},R=async(i,o,c,j=[],z=!0)=>{if(i.stopPropagation(),ts(o,c)>=4){q.warning(r("notification.resendLimit"));return}if(!ke.includes(c)){await b(o,j,z);return}if(i){const H=i.currentTarget,M=H.getBoundingClientRect();P.anchorEl=H,P.position={top:M.top+window.scrollY,left:M.left+window.scrollX}}U({channel:c});try{const H=await oe(c,o.receiver);await be(1),U({channel:c,result:H}),(typeof H=="boolean"&&H||St(H)&&Object.values(H).every(M=>!!M))&&(await s([c],[o.receiver],z),L.anchorEl||(await be(.5),re()))}catch(H){q.error(H.message)}},O=i=>{S(o=>({...o,dateRange:i,page:1}))},A=(i,o,c,j)=>{i.stopPropagation();const z=c.filter(G=>G!==o);S(G=>({...G,[j]:z,page:1}))},J=X(()=>[{label:r("notification.receiver"),name:"receiver",width:200,options:{filter:!1,customBodyRenderLite:i=>{const{receiverUser:o,receiver:c}=N[i];return o?e.jsxs(y,{"data-cy":`member-name-${o.fullName}`,sx:{display:"flex",alignItems:"center",gap:1,justifyContent:"flex-start"},children:[e.jsx(Ze,{src:`${o.avatar}?imageFilter=resize&w=48&h=48`,size:32,did:c,shape:"circle",style:{borderRadius:"100%",overflow:"hidden"}}),e.jsx(me,{children:o.fullName})]},c):e.jsx(yt,{size:14,responsive:!1,compact:!0,copyable:!1,did:c})}}},{label:"Wallet",name:"walletSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),filter:!0,filterType:"custom",filterList:h.walletSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Wallet",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[1].options.filterList,"walletSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Wallet",filterList:i,onChange:o,index:c,column:j,filterValues:E})},customBodyRenderLite:i=>{const{walletSendStatus:o,walletSendAt:c,walletSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"wallet",onResend:z=>R(z,N[i],"wallet",[],!1)})}}},{label:"Push Kit",name:"pushKitSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{pushKitSendStatus:o,pushKitSendAt:c,pushKitSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"pushkit",onResend:z=>R(z,N[i],"pushKit",[],!1)})},filter:!0,filterType:"custom",filterList:h.pushKitSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Push Kit",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[2].options.filterList,"pushKitSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Push Kit",filterList:i,onChange:o,index:c,column:j,filterValues:E})}}},{label:"Email",name:"emailSendStatus",width:200,options:{setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{emailSendStatus:o,emailSendAt:c,emailSendFailedReason:j}=N[i];return e.jsx(ce,{status:o,updatedAt:c,reason:j,channel:"email",onResend:z=>R(z,N[i],"email",[],!1)})},filter:!0,filterType:"custom",filterList:h.emailSendStatus??[],customFilterListOptions:{render:i=>e.jsx(Ce,{list:i,label:"Email",onDelete:(o,c)=>{o.stopPropagation(),A(o,c,J[3].options.filterList,"emailSendStatus")}}),update:Se},filterOptions:{names:E,fullWidth:!0,logic:ve,display:(i,o,c,j)=>e.jsx(Re,{label:"Email",filterList:i,onChange:o,index:c,column:j,filterValues:E})}}},{label:"Webhook",name:"webhook",width:200,options:{filter:!1,setCellProps:()=>({className:"sent-status-cell"}),customBodyRenderLite:i=>{const{webhook:o}=N[i];if(!o)return null;const c=Object.entries(o)[0];if(!c)return null;const[j,z]=c,G=z[0];return e.jsx(y,{sx:{display:"flex",flexDirection:"column",gap:1},children:e.jsxs(y,{className:"webhook-item",sx:{fontSize:12},children:[e.jsx(me,{maxLength:30,children:j},j),e.jsx(ce,{status:G.status,updatedAt:G.sendAt,reason:G.failedReason,channel:"webhook",onResend:H=>R(H,N[i],"webhook",[j],!1)})]},j)})}}},{label:r("common.createdAt"),name:"createdAt",width:100,options:{filter:!1,customBodyRenderLite:i=>{const{createdAt:o}=N[i];return e.jsx(et,{value:o,locale:a,shouldUpdate:!0})}}}],[N,a,h,r]),xe=[e.jsx(We,{value:h.dateRange,onChange:O},"date-picker"),e.jsx(Oe,{variant:"contained",size:"small",color:"primary",loading:F,startIcon:e.jsx(Wt,{}),onClick:()=>k(),sx:{".MuiButton-startIcon":{mr:"2px"}},style:{marginLeft:8},children:r("common.refresh")},"refresh")];return e.jsx(y,{sx:{overflow:"auto",".MuiTableCell-head":{whiteSpace:"nowrap",fontWeight:"bold"},".MuiTableCell-root":{paddingRight:"8px",whiteSpace:"nowrap"}},children:e.jsx(as,{children:e.jsxs(tt,{theme:x,children:[e.jsx(at,{className:"receivers-table",locale:a,loading:F,columns:J,data:N,onChange:ee,options:ne,customButtons:xe,components:{TableFilterList:i=>e.jsx(Me,{...i,itemComponent:o=>e.jsx(He,{...o,canDelete:()=>!1})})}}),P.anchorEl&&e.jsx(Ae,{open:!!P.anchorEl,anchorReference:"anchorPosition",anchorPosition:P.position,onClose:re,anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},children:e.jsxs(os,{children:[e.jsxs($,{variant:"body1",component:"div",className:"check-title",children:[W?.channel," Checking"]}),e.jsx(y,{sx:{display:"flex",flexDirection:"column",gap:"4px"},children:ge(W?.channel).map(i=>{const{type:o,pass:c,fail:j}=i;return!W?.result||W?.result?.[o]?e.jsxs($,{variant:"body1",component:"div",className:"check-item",sx:{display:"flex",alignItems:"center",gap:"4px",color:W?.result?.[o]?ye.success.main:"inherit"},children:[W?.result?e.jsx(qt,{}):e.jsx(Xe,{size:12,sx:{color:ye.primary.main}}),e.jsx("span",{children:c})]},o):e.jsxs($,{variant:"body1",component:"div",className:"check-item",sx:{display:"flex",alignItems:"center",gap:"4px",color:ye.error.main},children:[e.jsx(Ut,{}),e.jsx("span",{children:j})]},o)})})]})}),L.anchorEl&&e.jsx(Ae,{open:!!L.anchorEl,anchorReference:"anchorPosition",anchorPosition:L.position,onClose:le,anchorOrigin:{vertical:"center",horizontal:"right"},transformOrigin:{vertical:"center",horizontal:"left"},children:e.jsx(pt,{loading:n,onCancel:le,onConfirm:p})})]})})})}const is=g.memo(ft),as=ie.div`
|
|
2
2
|
td.MuiTableCell-footer {
|
|
3
3
|
border: none !important;
|
|
4
4
|
}
|