@abtnode/blocklet-services 1.16.43-beta-20250427-232837-e671de06 → 1.16.43-beta-20250430-124448-4edc5502
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/api/emails/_components/layout.js +2 -2
- package/api/emails/_libs/style.js +8 -3
- package/api/emails/_templates/kyc-code-verify.js +43 -0
- package/api/emails/_templates/new-user-session.js +2 -6
- package/api/emails/_templates/notification.js +2 -6
- package/api/emails/_templates/verify-code-body.js +4 -1
- package/api/emails/_templates/verify-code.js +2 -6
- package/api/index.js +31 -2
- package/api/libs/connect/session.js +4 -2
- package/api/libs/email.js +16 -0
- package/api/middlewares/ensure-blocklet.js +1 -1
- package/api/routes/blocklet.js +26 -17
- package/api/routes/ocap.js +1 -1
- package/api/routes/user-session.js +4 -2
- package/api/routes/user.js +1 -1
- package/api/services/auth/session.js +15 -10
- package/api/services/kyc/index.js +5 -11
- package/dist/assets/{AdapterDayjs-BUGplkxR.js → AdapterDayjs-BWhMsmQP.js} +1 -1
- package/dist/assets/{ArrowDropDown-B0sLkJoY.js → ArrowDropDown-DUCtp8oo.js} +1 -1
- package/dist/assets/{CheckCircle-BNrN9mgy.js → CheckCircle-yKW43XdV.js} +1 -1
- package/dist/assets/{ChevronLeft-Dq00IS01.js → ChevronLeft-6AvuBihM.js} +1 -1
- package/dist/assets/{ChevronRight-ZTqWK-Ga.js → ChevronRight-BsdsjNxw.js} +1 -1
- package/dist/assets/{Community-DZCTPNMP.js → Community-DathqRsd.js} +1 -1
- package/dist/assets/{DeleteOutline-C2sY6hfm.js → DeleteOutline-D_I07sPe.js} +1 -1
- package/dist/assets/{Done-JLiLhELm.js → Done-DLTvHdZB.js} +1 -1
- package/dist/assets/{Download-Ch4RfGRW.js → Download-DKz_gZX5.js} +1 -1
- package/dist/assets/{Edit-CY6fFHQM.js → Edit-odNPT5GK.js} +1 -1
- package/dist/assets/{EditIcon-Bi2cR-_u.js → EditIcon-DWRQ3fi6.js} +1 -1
- package/dist/assets/{Email-Dz2Eyqu0.js → Email-B0n6rLUZ.js} +1 -1
- package/dist/assets/{Error-CSFUqG0m.js → Error-js7ePZ5o.js} +1 -1
- package/dist/assets/{ExpandLess-BiMmSOBl.js → ExpandLess-TUium4RQ.js} +1 -1
- package/dist/assets/{Google-GOp5YvmZ.js → Google-C7d25Q5r.js} +1 -1
- package/dist/assets/{Holiday-Lc6woG1j.js → Holiday-BkY6LMfd.js} +1 -1
- package/dist/assets/{InfoOutlined-CQB5qKm-.js → InfoOutlined-BjII93aR.js} +1 -1
- package/dist/assets/{Launch-fxgQvk19.js → Launch-ryL3I8d9.js} +1 -1
- package/dist/assets/{LaunchOutlined-BV4_W1pb.js → LaunchOutlined-D21Xchdf.js} +1 -1
- package/dist/assets/{Location-B8EOY3d0.js → Location-BQhEvGNL.js} +1 -1
- package/dist/assets/{LockIcon-fuTfhB_G.js → LockIcon-Bd69pSJI.js} +1 -1
- package/dist/assets/{Meeting-Epdyx36z.js → Meeting-BW-_XtSL.js} +1 -1
- package/dist/assets/{MoreHoriz-CX_pwfPT.js → MoreHoriz-DHyMdwpT.js} +1 -1
- package/dist/assets/{OffSick-VYgugWxu.js → OffSick-9I8vBA8l.js} +1 -1
- package/dist/assets/{Phone-KP65huHK.js → Phone-CKzC4712.js} +1 -1
- package/dist/assets/{PlayArrow-DFH1Psjx.js → PlayArrow-zDVVYX6u.js} +1 -1
- package/dist/assets/{QuestionMarkCircle-p6m3avKp.js → QuestionMarkCircle-DpFFQWud.js} +1 -1
- package/dist/assets/{ServerLogo-Bssx1Eou.js → ServerLogo-AfxVBRdi.js} +1 -1
- package/dist/assets/{Timezone-Ce4E1Xey.js → Timezone-C3hiNX6j.js} +1 -1
- package/dist/assets/{TuneOutlined-Dy2qPFGI.js → TuneOutlined-Bv7cSbWT.js} +1 -1
- package/dist/assets/{ViewList-e3CoNi3K.js → ViewList-Ca1IEB31.js} +1 -1
- package/dist/assets/{WorkingRemotely-CXFJ6pz8.js → WorkingRemotely-CHzRY2CT.js} +1 -1
- package/dist/assets/access-control-CwSjARsN.js +14 -0
- package/dist/assets/{actions-DA-6s_nQ.js → actions-BW0Vx00_.js} +1 -1
- package/dist/assets/{add-component-core-DG9mQFsr.js → add-component-core-DXp_ntZ3.js} +43 -37
- package/dist/assets/add-resource-CmPIp37F.js +1 -0
- package/dist/assets/{addon-Bcc-Xwbf.js → addon-FArG2oUy.js} +1 -1
- package/dist/assets/{advanced-DTe2fs5L.js → advanced-mJXTlRFz.js} +2 -2
- package/dist/assets/api-Bf1onQOz.js +1 -0
- package/dist/assets/appearance-D9WrcbPF.js +1 -0
- package/dist/assets/ar-BRKjvO8p.js +1 -0
- package/dist/assets/ar-Duy7ZH--.js +7 -0
- package/dist/assets/audit-logs-CVUuBgdy.js +35 -0
- package/dist/assets/{authorize-DUyL7MEU.js → authorize-Bk0sIDAH.js} +1 -1
- package/dist/assets/{base32-p9VcJrwv.js → base32-C_EKY5vU.js} +1 -1
- package/dist/assets/{branding-_VO2ZZ3t.js → branding-BoSHL25b.js} +2 -2
- package/dist/assets/branding-Cywl-fod.js +54 -0
- package/dist/assets/bundle-avatar-BXQsJw7m.js +1 -0
- package/dist/assets/button-h00yLUET.js +1 -0
- package/dist/assets/{click-to-copy-BGyXQL2i.js → click-to-copy-0s0a7Ak5.js} +1 -1
- package/dist/assets/cloneDeep-WT_kDeVd.js +1 -0
- package/dist/assets/complete--raviZZ4.js +45 -0
- package/dist/assets/{component-5gjaNHCg.js → component-C3maTG8x.js} +82 -75
- package/dist/assets/config-Die5cVWR.js +32 -0
- package/dist/assets/{config-Bh19ZUJ-.js → config-e3P85n7z.js} +1 -1
- package/dist/assets/{config-navigation-Dvjz9nAh.js → config-navigation-DhvlW96p.js} +6 -6
- package/dist/assets/config-space-CHI2AzS5.js +1 -0
- package/dist/assets/{confirm-DqvNmeoz.js → confirm-BqrhdaU7.js} +2 -2
- package/dist/assets/connect-DGOqnhoS.js +5 -0
- package/dist/assets/connect-cpTXz6hq.js +1 -0
- package/dist/assets/connect-to-C1xSYa-8.js +1 -0
- package/dist/assets/{content-layout-BPaAeaMQ.js → content-layout-C3Yd4mK9.js} +1 -1
- package/dist/assets/dashboard-CvJ8cVy-.js +280 -0
- package/dist/assets/de-D3cg0t9f.js +1 -0
- package/dist/assets/de-jJ-wrtW1.js +7 -0
- package/dist/assets/{delete-confirm-_BzUlhv2.js → delete-confirm-CmXluMcs.js} +1 -1
- package/dist/assets/did-address-C6ni99I7.js +1 -0
- package/dist/assets/{domain-ag7_Ivc1.js → domain-B7m2mZGp.js} +1 -1
- package/dist/assets/domain-action-card-DIGUxqW7.js +24 -0
- package/dist/assets/domains-DV-Gl3-a.js +1 -0
- package/dist/assets/{dot-BE1YP292.js → dot-WAAJ-O65.js} +2 -2
- package/dist/assets/{email-DKpgximx.js → email-CxndZMem.js} +2 -2
- package/dist/assets/{empty-spinner-DmDm8XzF.js → empty-spinner-BYUFR95o.js} +1 -1
- package/dist/assets/es-CoGP0eAj.js +7 -0
- package/dist/assets/es-DPjqApVE.js +1 -0
- package/dist/assets/exchange-passport-JjK-mItt.js +1 -0
- package/dist/assets/fr-Dscs9WsP.js +1 -0
- package/dist/assets/fr-yctlgsrj.js +7 -0
- package/dist/assets/{fuel-CcBzY6Bt.js → fuel-bktBZZhG.js} +1 -1
- package/dist/assets/{gen-access-key-DxKwgiGT.js → gen-access-key-CPCwDcVa.js} +1 -1
- package/dist/assets/get-safe-url-C-CJKtkC.js +1 -0
- package/dist/assets/get-safe-url-cyoeQ7Mw.js +1 -0
- package/dist/assets/hi-B8D3j6bs.js +1 -0
- package/dist/assets/hi-Dh_pGPBD.js +5 -0
- package/dist/assets/{home-Bi8fA3jh.js → home-BclSkhw2.js} +1 -1
- package/dist/assets/{id-BderyGO5.js → id-DWMMQI0G.js} +1 -1
- package/dist/assets/id-cicarMJv.js +7 -0
- package/dist/assets/{iframe-DZ181i8X.js → iframe-DZlnwo40.js} +1 -1
- package/dist/assets/{index-CYeIiQ6Q.js → index--MMFwLMX.js} +1 -1
- package/dist/assets/index-17ov_POl.js +345 -0
- package/dist/assets/index-BAstW3VS.js +137 -0
- package/dist/assets/{index-BT0GBmWF.js → index-BUHlfcy3.js} +1 -1
- package/dist/assets/{index-DyxFC42L.js → index-Bdi900W2.js} +3 -3
- package/dist/assets/index-BhX4Vx5B.js +192 -0
- package/dist/assets/{index-SDdS_qt8.js → index-Bt7GP-dU.js} +1 -1
- package/dist/assets/index-BugTfB-J.js +288 -0
- package/dist/assets/index-C-rU1lEd.js +10 -0
- package/dist/assets/index-C0x4zVBW.js +55 -0
- package/dist/assets/index-C4pzdyRW.js +1 -0
- package/dist/assets/index-C8EYAWok.js +113 -0
- package/dist/assets/index-CLD6I2fv.js +6 -0
- package/dist/assets/{index-CHbpkZwO.js → index-CMFOn8T3.js} +1 -1
- package/dist/assets/index-COTyGW2s.js +4 -0
- package/dist/assets/index-CiIQJxvH.js +1 -0
- package/dist/assets/index-CksPySYI.js +701 -0
- package/dist/assets/{index-DKhrYmrN.js → index-DIe9psLc.js} +1 -1
- package/dist/assets/{index-n0Q-fETi.js → index-DJeuTVoT.js} +7 -7
- package/dist/assets/{index-YbJjfDTR.js → index-DODYa3Im.js} +1 -1
- package/dist/assets/{index-B1ljmpu4.css → index-DOq-_YXu.css} +1 -1
- package/dist/assets/{index-CGBZONPv.js → index-D_z5kVUS.js} +1 -1
- package/dist/assets/{index-Dl4W1N74.js → index-DdLPuFP7.js} +1 -1
- package/dist/assets/index-DxR1P6Lh.js +241 -0
- package/dist/assets/index-htPha6tP.js +11 -0
- package/dist/assets/{invitation-BrAZQXQL.js → invitation-sucipANy.js} +8 -8
- package/dist/assets/invite-Bkpf8YcY.js +1 -0
- package/dist/assets/{issue-passport-Dd_yyO08.js → issue-passport-Dm4XKvqR.js} +1 -1
- package/dist/assets/item-CCsztPdL.js +2 -0
- package/dist/assets/ja-3LoBq68U.js +1 -0
- package/dist/assets/ja-Bm56AvcM.js +7 -0
- package/dist/assets/ko-B0ZZ2RWO.js +7 -0
- package/dist/assets/ko-B2dxwXDl.js +1 -0
- package/dist/assets/landing-page-BJMRDSCP.js +1 -0
- package/dist/assets/{launch-result-message-C9huWJUf.js → launch-result-message-B_fS-f90.js} +1 -1
- package/dist/assets/{layout-Cw-hwCHs.js → layout-DV03YuuA.js} +1 -1
- package/dist/assets/list-BgP6u-5j.js +236 -0
- package/dist/assets/list-header-8k1_C0K0.js +1 -0
- package/dist/assets/localization-CTzQFuMS.js +1 -0
- package/dist/assets/{log-Chqr_or_.js → log-B4LRFTNR.js} +1 -1
- package/dist/assets/{logger-zix81YaM.js → logger-8RyN9oiF.js} +1 -1
- package/dist/assets/login-B6TE3gqj.js +1 -0
- package/dist/assets/login-oauth-callback-CPP0UVME.js +1 -0
- package/dist/assets/logo-uploader-DMxsEq63.js +133 -0
- package/dist/assets/{lost-passport-Do1Pl0xI.js → lost-passport-ekwdQ24A.js} +2 -2
- package/dist/assets/lottie-error-CMOXHtBH.js +1 -0
- package/dist/assets/lottie-loading-o-GBrhM9.js +1 -0
- package/dist/assets/lottie-welcome-C9B95FIi.js +1 -0
- package/dist/assets/omit-DNeUY6_X.js +1 -0
- package/dist/assets/{open-window-D8MZhu_7.js → open-window-BjXpEOv2.js} +1 -1
- package/dist/assets/{overview-DLA9wj6a.js → overview-CJRHh92f.js} +2 -2
- package/dist/assets/{page-header-CWY8mxlT.js → page-header-MKUHlyAT.js} +1 -1
- package/dist/assets/{passport-item-CWtlyIE_.js → passport-item-jrknj0MQ.js} +1 -1
- package/dist/assets/{permission-BGM09622.js → permission-PNXSTeNL.js} +1 -1
- package/dist/assets/preferences-9BJlt30G.js +1 -0
- package/dist/assets/profile-embed-CIWdUuC6.js +1 -0
- package/dist/assets/pt-6Xqu-_a4.js +5 -0
- package/dist/assets/pt-eei1_Z4R.js +1 -0
- package/dist/assets/publish-resource-BQg2Vwb0.js +1 -0
- package/dist/assets/{react-beautiful-dnd.esm-ByydTUk4.js → react-beautiful-dnd.esm-C1Wt0pHO.js} +1 -1
- package/dist/assets/relative-time-cijkMMnc.js +1 -0
- package/dist/assets/ru-ZKgT6XdU.js +1 -0
- package/dist/assets/ru-y0N1jyVB.js +5 -0
- package/dist/assets/runtime-71FSw-R0.js +1 -0
- package/dist/assets/sdk-BXECCi1q.js +1 -0
- package/dist/assets/{security-BhkfG23R.js → security-Y5seZEn6.js} +4 -4
- package/dist/assets/session-DLQ0rbYE.js +1 -0
- package/dist/assets/setup-4hj9RPfM.js +30 -0
- package/dist/assets/{shorten-label-DFzv9EKX.js → shorten-label-SbKUBkvs.js} +1 -1
- package/dist/assets/{simple-select-DlrdVbaI.js → simple-select-CLc0Q9sm.js} +1 -1
- package/dist/assets/{slicedToArray-CPl5_eGD.js → slicedToArray-C0YDCVwK.js} +2 -2
- package/dist/assets/{spaces-WkJCApHO.js → spaces-CP1iyRKS.js} +1 -1
- package/dist/assets/start-Bt5Vo3K8.js +187 -0
- package/dist/assets/starting-progress-yIv14mT6.js +40 -0
- package/dist/assets/{status-CygZ0LuY.js → status-BKlS-OSq.js} +1 -1
- package/dist/assets/{step-actions-D_1PFeFs.js → step-actions-DMwF4axn.js} +1 -1
- package/dist/assets/{studio-Byjzwg8q.js → studio-BR3c6nt5.js} +1 -1
- package/dist/assets/{switch-control-5fEOPVKs.js → switch-control-yJOWKqcv.js} +1 -1
- package/dist/assets/th-CG5eLRZo.js +1 -0
- package/dist/assets/th-CJa7646q.js +5 -0
- package/dist/assets/{traffic-T11hxc--.js → traffic-BzRbyLJ-.js} +1 -1
- package/dist/assets/{transfer-ROpxn9LD.js → transfer-Ds9NQ12A.js} +1 -1
- package/dist/assets/unsubscribe-hfXD8-ea.js +1 -0
- package/dist/assets/use-blocklet-logo-BOYeM9RY.js +1 -0
- package/dist/assets/{use-mobile-C_flBrm-.js → use-mobile-BKvZ6hcv.js} +1 -1
- package/dist/assets/{use-mobile-DlKplWTG.js → use-mobile-BNUwcWCH.js} +1 -1
- package/dist/assets/{useAsync-CGW40D2-.js → useAsync-GjVghrwi.js} +1 -1
- package/dist/assets/{useLocalStorage-DldnaMbZ.js → useLocalStorage-CXDkfohf.js} +1 -1
- package/dist/assets/user-center-CBh-mxjZ.js +76 -0
- package/dist/assets/util-D-LnEy9h.js +1 -0
- package/dist/assets/{util-Bjy-tP7q.js → util-DJFgW-07.js} +1 -1
- package/dist/assets/{vendor-arcblock-ScFEr-lj.js → vendor-arcblock-Dkhgjlzn.js} +100 -97
- package/dist/assets/vendor-hooks-DXGUREV9.js +7 -0
- package/dist/assets/vendor-mui-core-B6POpIBB.js +266 -0
- package/dist/assets/{vendor-mui-x-B0hsmEJ3.js → vendor-mui-x-CATHW1QL.js} +1 -1
- package/dist/assets/{vendor-utils-BNHJB5U7.js → vendor-utils-CjMBJT5V.js} +17 -17
- package/dist/assets/vendor-ux-did-connect-D4-ZeZHm.js +2292 -0
- package/dist/assets/vi-CoZs3B42.js +1 -0
- package/dist/assets/vi-Rc5fwdQU.js +5 -0
- package/dist/assets/wrap-locale-Dob_mf2V.js +1 -0
- package/dist/assets/zh-CgkeS2I3.js +1 -0
- package/dist/assets/{zh-BYRCoK6F.js → zh-J32RyrWT.js} +2 -2
- package/dist/assets/zh-tw-BSUxp5LQ.js +7 -0
- package/dist/assets/zh-tw-CuakNRcW.js +1 -0
- package/dist/index.html +7 -7
- package/dist/service-worker.js +2 -2
- package/dist/share/shared-bridge.html +85 -0
- package/package.json +46 -46
- package/dist/assets/access-control-B20P1UrY.js +0 -14
- package/dist/assets/add-resource-BoS5YkVy.js +0 -1
- package/dist/assets/api-BrU7j0QA.js +0 -1
- package/dist/assets/appearance-DYi32tlk.js +0 -1
- package/dist/assets/ar-CmhpkjwX.js +0 -1
- package/dist/assets/ar-DupP3pla.js +0 -7
- package/dist/assets/audit-logs-CydL26ZC.js +0 -35
- package/dist/assets/branding-CAMtNLMU.js +0 -54
- package/dist/assets/bundle-avatar-D0t7RLGx.js +0 -1
- package/dist/assets/button-BeZibzB9.js +0 -1
- package/dist/assets/cloneDeep-SfcdeqEN.js +0 -1
- package/dist/assets/complete-BzCBoyhn.js +0 -45
- package/dist/assets/config-1xq1_d84.js +0 -32
- package/dist/assets/config-space-CYg-72ab.js +0 -1
- package/dist/assets/connect-Bbc2y5nS.js +0 -1
- package/dist/assets/connect-DM2xKEWk.js +0 -5
- package/dist/assets/connect-to-Ck5O2M1K.js +0 -1
- package/dist/assets/dashboard-8QXGSoVu.js +0 -280
- package/dist/assets/de-Doy9B4I7.js +0 -1
- package/dist/assets/de-TcDcBkI0.js +0 -7
- package/dist/assets/did-address-DUThaBlf.js +0 -1
- package/dist/assets/domain-action-card-D3w6jyPR.js +0 -24
- package/dist/assets/domains-BDxEOJh6.js +0 -1
- package/dist/assets/es-CDD0y3ur.js +0 -7
- package/dist/assets/es-CruF8tDk.js +0 -1
- package/dist/assets/exchange-passport-Izkf8qpM.js +0 -1
- package/dist/assets/fr-Bajh_D8H.js +0 -1
- package/dist/assets/fr-zYSSKlBw.js +0 -7
- package/dist/assets/get-safe-url-Bq9SFfX6.js +0 -1
- package/dist/assets/get-safe-url-DBsPGn--.js +0 -1
- package/dist/assets/hi-BsP-0YrU.js +0 -5
- package/dist/assets/hi-DOsApYK0.js +0 -1
- package/dist/assets/id-CY2FWdMB.js +0 -7
- package/dist/assets/index-B2yOcqTl.js +0 -192
- package/dist/assets/index-BGgGfqEc.js +0 -346
- package/dist/assets/index-B_vrglsK.js +0 -10
- package/dist/assets/index-BnmeT4Bk.js +0 -113
- package/dist/assets/index-C8QMe2NL.js +0 -138
- package/dist/assets/index-Cjjg2_Xp.js +0 -11
- package/dist/assets/index-DNG6b9sp.js +0 -224
- package/dist/assets/index-DO3_1y-L.js +0 -708
- package/dist/assets/index-DO4cSlUf.js +0 -290
- package/dist/assets/index-DcBUShKK.js +0 -1
- package/dist/assets/index-DuH8q5ir.js +0 -1
- package/dist/assets/index-EnQ254k3.js +0 -6
- package/dist/assets/index-bb90BUf4.js +0 -55
- package/dist/assets/index-mDKG4SiY.js +0 -1
- package/dist/assets/index-slEV_y-C.js +0 -4
- package/dist/assets/invite-Cbz8B2uW.js +0 -1
- package/dist/assets/item-nK3D7WH5.js +0 -2
- package/dist/assets/ja-99RIjwwl.js +0 -1
- package/dist/assets/ja-BLPXqHM4.js +0 -7
- package/dist/assets/ko-8oFi6wHH.js +0 -1
- package/dist/assets/ko-Cxgk34co.js +0 -7
- package/dist/assets/landing-page-BMM_oJb1.js +0 -1
- package/dist/assets/list-Dmtz4mRb.js +0 -235
- package/dist/assets/list-header-CgF1S4js.js +0 -1
- package/dist/assets/localization-DATb3Y_j.js +0 -1
- package/dist/assets/login-DjB23H9M.js +0 -1
- package/dist/assets/login-oauth-callback-ILeP59KT.js +0 -1
- package/dist/assets/logo-uploader-CJrdpVcQ.js +0 -133
- package/dist/assets/omit-bLid3PKQ.js +0 -1
- package/dist/assets/preferences-DYdbb0kG.js +0 -1
- package/dist/assets/profile-embed-CeEMHxEc.js +0 -1
- package/dist/assets/pt-BINIHul4.js +0 -5
- package/dist/assets/pt-ChXuTrrd.js +0 -1
- package/dist/assets/publish-resource-BEc_A5mC.js +0 -1
- package/dist/assets/relative-time-Djw-K4Zu.js +0 -1
- package/dist/assets/ru-BifF7u-P.js +0 -5
- package/dist/assets/ru-IkTTTY0K.js +0 -1
- package/dist/assets/runtime-DXl0lfXF.js +0 -1
- package/dist/assets/sdk-CTe6rL6c.js +0 -1
- package/dist/assets/session-VIMbdc9j.js +0 -1
- package/dist/assets/setup-BmYxTt6Z.js +0 -25
- package/dist/assets/start-CVexuuAk.js +0 -187
- package/dist/assets/th-CBxM23U5.js +0 -5
- package/dist/assets/th-OF8xr--T.js +0 -1
- package/dist/assets/unsubscribe-Cd3XOnSp.js +0 -1
- package/dist/assets/use-app-logo-B8Kl9EZt.js +0 -1
- package/dist/assets/user-center-CzyCbtWm.js +0 -77
- package/dist/assets/util-Dw9Eiuko.js +0 -1
- package/dist/assets/vendor-hooks-DftG_2gV.js +0 -7
- package/dist/assets/vendor-mui-core-CQ38ohp2.js +0 -266
- package/dist/assets/vendor-ux-did-connect-BdkhddhO.js +0 -2265
- package/dist/assets/vi-DCBJBc4G.js +0 -1
- package/dist/assets/vi-DY_Y13jR.js +0 -5
- package/dist/assets/wrap-locale-DMTYAE64.js +0 -1
- package/dist/assets/zh-BRAYg0sY.js +0 -1
- package/dist/assets/zh-tw-BG0rlH8p.js +0 -7
- package/dist/assets/zh-tw-D5-DkgwC.js +0 -1
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const components_1 = require("@react-email/components");
|
|
5
5
|
function Layout({ children, mainStyle = {}, containerStyle = {}, subject, }) {
|
|
6
|
-
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, { children: subject && (0, jsx_runtime_1.jsx)("title", { children: subject }) }), (0, jsx_runtime_1.jsx)(components_1.Body, { style: Object.assign(Object.assign({}, _mainStyle), mainStyle), children: (0, jsx_runtime_1.jsx)("div", { style: Object.assign(Object.assign({}, _mainStyle), mainStyle), children: (0, jsx_runtime_1.jsx)("div", { style: { padding: '
|
|
6
|
+
return ((0, jsx_runtime_1.jsxs)(components_1.Html, { children: [(0, jsx_runtime_1.jsx)(components_1.Head, { children: subject && (0, jsx_runtime_1.jsx)("title", { children: subject }) }), (0, jsx_runtime_1.jsx)(components_1.Body, { style: Object.assign(Object.assign({}, _mainStyle), mainStyle), children: (0, jsx_runtime_1.jsx)("div", { style: Object.assign(Object.assign({}, _mainStyle), mainStyle), children: (0, jsx_runtime_1.jsx)("div", { style: { padding: '20px 10px' }, children: (0, jsx_runtime_1.jsx)(components_1.Container, { style: Object.assign(Object.assign({}, _containerStyle), containerStyle), children: (0, jsx_runtime_1.jsx)("div", { children: children }) }) }) }) })] }));
|
|
7
7
|
}
|
|
8
8
|
exports.default = Layout;
|
|
9
9
|
const _mainStyle = {
|
|
@@ -11,5 +11,5 @@ const _mainStyle = {
|
|
|
11
11
|
};
|
|
12
12
|
const _containerStyle = {
|
|
13
13
|
margin: '0 auto',
|
|
14
|
-
maxWidth: '
|
|
14
|
+
maxWidth: '61.8em',
|
|
15
15
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.footerStyle = exports.h1Style = exports.attachmentsStyle = exports.severityColorMap = exports.titleStyle = exports.summaryStyle = exports.remarkStyle = exports.assetStyle = exports.actionStyle = exports.actionsStyle = exports.linkStyle = void 0;
|
|
3
|
+
exports.contentStyle = exports.footerStyle = exports.h1Style = exports.attachmentsStyle = exports.severityColorMap = exports.titleStyle = exports.summaryStyle = exports.remarkStyle = exports.assetStyle = exports.actionStyle = exports.actionsStyle = exports.linkStyle = void 0;
|
|
4
4
|
exports.linkStyle = {
|
|
5
5
|
color: '#2754C5',
|
|
6
6
|
fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif",
|
|
@@ -56,9 +56,9 @@ exports.attachmentsStyle = {
|
|
|
56
56
|
exports.h1Style = {
|
|
57
57
|
color: '#333',
|
|
58
58
|
fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif",
|
|
59
|
-
fontSize: '
|
|
59
|
+
fontSize: '22px',
|
|
60
60
|
fontWeight: 'bold',
|
|
61
|
-
margin: '
|
|
61
|
+
margin: '1em 0',
|
|
62
62
|
padding: '0',
|
|
63
63
|
};
|
|
64
64
|
exports.footerStyle = {
|
|
@@ -68,3 +68,8 @@ exports.footerStyle = {
|
|
|
68
68
|
lineHeight: '22px',
|
|
69
69
|
margin: 0,
|
|
70
70
|
};
|
|
71
|
+
exports.contentStyle = {
|
|
72
|
+
margin: '20px auto',
|
|
73
|
+
backgroundColor: '#ffffff',
|
|
74
|
+
padding: '10px 20px 30px 20px',
|
|
75
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.KycCodeVerifyEmail = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const components_1 = require("@react-email/components");
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
const constant_1 = require("@abtnode/constant");
|
|
11
|
+
const footer_1 = __importDefault(require("../_components/footer"));
|
|
12
|
+
const content_1 = __importDefault(require("../_components/content"));
|
|
13
|
+
const layout_1 = __importDefault(require("../_components/layout"));
|
|
14
|
+
const header_1 = __importDefault(require("../_components/header"));
|
|
15
|
+
const verify_code_body_1 = __importDefault(require("./verify-code-body"));
|
|
16
|
+
const style_1 = require("../_libs/style");
|
|
17
|
+
const fontFamily = 'HelveticaNeue,Helvetica,Arial,sans-serif';
|
|
18
|
+
const main = {
|
|
19
|
+
fontFamily,
|
|
20
|
+
};
|
|
21
|
+
const KycCodeVerifyEmail = ({ code, appInfo, locale = 'en', userInfo, poweredBy, }) => {
|
|
22
|
+
const appName = appInfo.title;
|
|
23
|
+
const ttl = constant_1.VERIFY_CODE_TTL / 60 / 1000;
|
|
24
|
+
const translations = {
|
|
25
|
+
en: {
|
|
26
|
+
emailTitle: `Verify Your Email for ${appName}`,
|
|
27
|
+
emailHeadline: 'To ensure the security of your account and enhance your experience, you need to use following code to verify your email, and you will receive a NFT in your DID Wallet upon verification.',
|
|
28
|
+
emailValidCode: `This code is valid for ${ttl} minutes. If you don't want to verify your email, you can ignore this message.`,
|
|
29
|
+
emailWarning: `${appName} will never email you and ask you to disclose your password, credit card, or banking account number.`,
|
|
30
|
+
},
|
|
31
|
+
zh: {
|
|
32
|
+
emailTitle: `验证您在 ${appName} 的邮箱`,
|
|
33
|
+
emailHeadline: '为确保您的帐户安全并增强您的体验,您需要使用以下代码验证您的邮箱,并在验证后在您的 DID Wallet 中收到 NFT。',
|
|
34
|
+
emailValidCode: `此代码有效期为 ${ttl} 分钟。如果您不想验证您的邮箱,您可以忽略此消息。`,
|
|
35
|
+
emailWarning: `${appName} 永远不会向您发送电子邮件并要求您披露您的密码、信用卡或银行账户信息。`,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const translation = translations[locale] || translations.en;
|
|
39
|
+
const subject = `[${appInfo.title}] ${translation.emailTitle}`;
|
|
40
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style: style_1.contentStyle, locale: locale, title: translation.emailTitle, body: (0, jsx_runtime_1.jsx)(verify_code_body_1.default, { locale: locale, code: code, appName: appInfo.title, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { children: translation.emailHeadline }), (0, jsx_runtime_1.jsx)(components_1.Heading, { style: { textAlign: 'center', margin: '1.1em 0' }, children: code }), (0, jsx_runtime_1.jsx)(components_1.Text, { children: translation.emailValidCode }), (0, jsx_runtime_1.jsx)(components_1.Text, { children: translation.emailWarning })] }) }) }), (0, jsx_runtime_1.jsx)(footer_1.default, { showCopyright: false, poweredBy: poweredBy, showBlocklet: true, appInfo: appInfo, locale: locale, userInfo: userInfo })] }));
|
|
41
|
+
};
|
|
42
|
+
exports.KycCodeVerifyEmail = KycCodeVerifyEmail;
|
|
43
|
+
exports.default = exports.KycCodeVerifyEmail;
|
|
@@ -10,15 +10,11 @@ const footer_1 = __importDefault(require("../_components/footer"));
|
|
|
10
10
|
const content_1 = __importDefault(require("../_components/content"));
|
|
11
11
|
const layout_1 = __importDefault(require("../_components/layout"));
|
|
12
12
|
const header_1 = __importDefault(require("../_components/header"));
|
|
13
|
+
const style_1 = require("../_libs/style");
|
|
13
14
|
const fontFamily = 'HelveticaNeue,Helvetica,Arial,sans-serif';
|
|
14
15
|
const main = {
|
|
15
16
|
fontFamily,
|
|
16
17
|
};
|
|
17
|
-
const container = {
|
|
18
|
-
margin: '20px auto',
|
|
19
|
-
backgroundColor: '#ffffff',
|
|
20
|
-
padding: '5px 50px 30px 60px',
|
|
21
|
-
};
|
|
22
18
|
const NewUserSessionEmail = ({ userSession, appInfo, locale = 'en', userInfo, poweredBy, }) => {
|
|
23
19
|
const translations = {
|
|
24
20
|
en: {
|
|
@@ -39,7 +35,7 @@ const NewUserSessionEmail = ({ userSession, appInfo, locale = 'en', userInfo, po
|
|
|
39
35
|
zh: 'zh-CN',
|
|
40
36
|
};
|
|
41
37
|
const targetLocale = localeMap[locale] || localeMap.en;
|
|
42
|
-
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style:
|
|
38
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style: style_1.contentStyle, locale: locale, title: translation.title, body: (0, jsx_runtime_1.jsxs)(components_1.Text, { children: ["You are logged in a new device: ", userSession.ua] }), attachments: [
|
|
43
39
|
{
|
|
44
40
|
type: 'section',
|
|
45
41
|
fields: [
|
|
@@ -10,18 +10,14 @@ const footer_1 = __importDefault(require("../_components/footer"));
|
|
|
10
10
|
const content_1 = __importDefault(require("../_components/content"));
|
|
11
11
|
const layout_1 = __importDefault(require("../_components/layout"));
|
|
12
12
|
const header_1 = __importDefault(require("../_components/header"));
|
|
13
|
+
const style_1 = require("../_libs/style");
|
|
13
14
|
const fontFamily = 'HelveticaNeue,Helvetica,Arial,sans-serif';
|
|
14
15
|
const main = {
|
|
15
16
|
fontFamily,
|
|
16
17
|
};
|
|
17
|
-
const container = {
|
|
18
|
-
margin: '20px auto',
|
|
19
|
-
backgroundColor: '#ffffff',
|
|
20
|
-
padding: '5px 50px 30px 60px',
|
|
21
|
-
};
|
|
22
18
|
const NotificationEmail = ({ title, body = '', raw = false, // do not convert body to clickable span
|
|
23
19
|
subject, attachments = [], actions = [], appInfo, locale = 'en', severity = 'normal', unsubscribeToken, userInfo, poweredBy, }) => {
|
|
24
|
-
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style:
|
|
20
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style: style_1.contentStyle, title: title, content: body, attachments: attachments, actions: actions, locale: locale, severity: severity, raw: raw }), (0, jsx_runtime_1.jsx)(footer_1.default, { showCopyright: false, poweredBy: poweredBy, showBlocklet: true, appInfo: appInfo, locale: locale, unsubscribeToken: unsubscribeToken, userInfo: userInfo })] }));
|
|
25
21
|
};
|
|
26
22
|
exports.NotificationEmail = NotificationEmail;
|
|
27
23
|
exports.default = exports.NotificationEmail;
|
|
@@ -10,7 +10,7 @@ const components_1 = require("@react-email/components");
|
|
|
10
10
|
const constant_1 = require("@abtnode/constant");
|
|
11
11
|
const actions_1 = __importDefault(require("../_components/actions"));
|
|
12
12
|
// HACK: 只是短暂为了兼容现有 launcher 转发逻辑
|
|
13
|
-
function VerifyCodeBody({ appName, locale = 'en', code, magicLink, }) {
|
|
13
|
+
function VerifyCodeBody({ appName, locale = 'en', code, magicLink, children, }) {
|
|
14
14
|
const translations = {
|
|
15
15
|
en: {
|
|
16
16
|
title: `Login to ${appName}`,
|
|
@@ -36,6 +36,9 @@ function VerifyCodeBody({ appName, locale = 'en', code, magicLink, }) {
|
|
|
36
36
|
},
|
|
37
37
|
};
|
|
38
38
|
const translation = translations[locale] || translations.en;
|
|
39
|
+
if (children) {
|
|
40
|
+
return children;
|
|
41
|
+
}
|
|
39
42
|
if (code && magicLink) {
|
|
40
43
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { children: translation.followConfirmation }), (0, jsx_runtime_1.jsx)(actions_1.default, { actions: [{ title: translation.confirmButton, link: magicLink }] }), (0, jsx_runtime_1.jsx)(components_1.Hr, {}), (0, jsx_runtime_1.jsxs)(components_1.Text, { children: [translation.orEnterCode, (0, jsx_runtime_1.jsx)("strong", { children: code })] }), (0, jsx_runtime_1.jsx)(components_1.Text, { children: translation.codeExpiresIn }), (0, jsx_runtime_1.jsxs)(components_1.Text, { children: [(0, jsx_runtime_1.jsx)("strong", { children: translation.doNotShareCodeTitle }), " ", translation.doNotShareCode] })] }));
|
|
41
44
|
}
|
|
@@ -11,15 +11,11 @@ const content_1 = __importDefault(require("../_components/content"));
|
|
|
11
11
|
const layout_1 = __importDefault(require("../_components/layout"));
|
|
12
12
|
const header_1 = __importDefault(require("../_components/header"));
|
|
13
13
|
const verify_code_body_1 = __importDefault(require("./verify-code-body"));
|
|
14
|
+
const style_1 = require("../_libs/style");
|
|
14
15
|
const fontFamily = 'HelveticaNeue,Helvetica,Arial,sans-serif';
|
|
15
16
|
const main = {
|
|
16
17
|
fontFamily,
|
|
17
18
|
};
|
|
18
|
-
const container = {
|
|
19
|
-
margin: '20px auto',
|
|
20
|
-
backgroundColor: '#ffffff',
|
|
21
|
-
padding: '5px 50px 30px 60px',
|
|
22
|
-
};
|
|
23
19
|
const VerifyCodeEmail = ({ code, magicLink, appInfo, locale = 'en', userInfo, poweredBy, }) => {
|
|
24
20
|
const translations = {
|
|
25
21
|
en: {
|
|
@@ -31,7 +27,7 @@ const VerifyCodeEmail = ({ code, magicLink, appInfo, locale = 'en', userInfo, po
|
|
|
31
27
|
};
|
|
32
28
|
const translation = translations[locale] || translations.en;
|
|
33
29
|
const subject = `[${appInfo.title}] ${translation.title}`;
|
|
34
|
-
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style:
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)(layout_1.default, { mainStyle: main, subject: subject, children: [(0, jsx_runtime_1.jsx)(components_1.Preview, { children: subject }), (0, jsx_runtime_1.jsx)(header_1.default, { appInfo: appInfo }), (0, jsx_runtime_1.jsx)(content_1.default, { style: style_1.contentStyle, locale: locale, title: translation.title, body: (0, jsx_runtime_1.jsx)(verify_code_body_1.default, { locale: locale, code: code, magicLink: magicLink, appName: appInfo.title }) }), (0, jsx_runtime_1.jsx)(footer_1.default, { showCopyright: false, poweredBy: poweredBy, showBlocklet: true, appInfo: appInfo, locale: locale, userInfo: userInfo })] }));
|
|
35
31
|
};
|
|
36
32
|
exports.VerifyCodeEmail = VerifyCodeEmail;
|
|
37
33
|
exports.default = exports.VerifyCodeEmail;
|
package/api/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const http = require('http');
|
|
2
|
+
const path = require('path');
|
|
2
3
|
const get = require('lodash/get');
|
|
3
4
|
const omitBy = require('lodash/omitBy');
|
|
4
5
|
const uniq = require('lodash/uniq');
|
|
@@ -84,6 +85,7 @@ const createMediaRoutes = require('./routes/media');
|
|
|
84
85
|
const createMCPRoutes = require('./routes/mcp');
|
|
85
86
|
const ensureBlocklet = require('./middlewares/ensure-blocklet');
|
|
86
87
|
const bodyParser = require('./middlewares/body-parser');
|
|
88
|
+
const federatedUtil = require('./util/federated');
|
|
87
89
|
|
|
88
90
|
const agent = new http.Agent();
|
|
89
91
|
|
|
@@ -302,7 +304,22 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
302
304
|
async function wrapHelmet({ req, res, securityConfig, blocklet, info }, next) {
|
|
303
305
|
let config = securityConfig?.responseHeaderPolicy?.securityHeader || {};
|
|
304
306
|
config = cleanConfigOverride(config);
|
|
305
|
-
|
|
307
|
+
const referer = req.get('referer');
|
|
308
|
+
// NOTICE: 获取当前站点所有可信的域名
|
|
309
|
+
const trustedDomains = await federatedUtil.getTrustedDomains({ node, req, blocklet });
|
|
310
|
+
// 为了避免 header 过大,这里仅保留 referer 的域名
|
|
311
|
+
const filteredTrustedDomains = trustedDomains.filter((x) => {
|
|
312
|
+
if (referer) {
|
|
313
|
+
try {
|
|
314
|
+
const refererUrl = new URL(referer);
|
|
315
|
+
return refererUrl.hostname === x;
|
|
316
|
+
} catch (err) {
|
|
317
|
+
logger.error('Failed to parse referer', { referer, err });
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
return false;
|
|
321
|
+
});
|
|
322
|
+
config = await patchResponseHeader(config, { node, blocklet, trustedDomains: filteredTrustedDomains });
|
|
306
323
|
|
|
307
324
|
// TODO: @zhanghan apply these to user defined rules
|
|
308
325
|
if (
|
|
@@ -419,7 +436,12 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
419
436
|
'https://*.vimeo.com',
|
|
420
437
|
...whitelist.official,
|
|
421
438
|
].filter(Boolean),
|
|
422
|
-
frameAncestors: [
|
|
439
|
+
frameAncestors: [
|
|
440
|
+
"'self'",
|
|
441
|
+
...whitelist.spaces,
|
|
442
|
+
...whitelist.official,
|
|
443
|
+
...filteredTrustedDomains.filter(Boolean).map((x) => `https://${x}`),
|
|
444
|
+
].filter(Boolean),
|
|
423
445
|
},
|
|
424
446
|
};
|
|
425
447
|
}
|
|
@@ -492,6 +514,11 @@ module.exports = function createServer(node, serverOptions = {}) {
|
|
|
492
514
|
next();
|
|
493
515
|
});
|
|
494
516
|
|
|
517
|
+
// 该接口不需要经过 security 中间件
|
|
518
|
+
server.get(`${WELLKNOWN_SERVICE_PATH_PREFIX}/share/shared-bridge.html`, (req, res) => {
|
|
519
|
+
res.sendFile(path.join(__dirname, '../dist', 'share', 'shared-bridge.html'));
|
|
520
|
+
});
|
|
521
|
+
|
|
495
522
|
// 提供统一的 service-worker 注册入口,优先采用 service 自己提供的逻辑,尽量不依赖 Nginx 配置
|
|
496
523
|
server.use(
|
|
497
524
|
[
|
|
@@ -544,8 +571,10 @@ self.blocklet = {
|
|
|
544
571
|
whiteList: [
|
|
545
572
|
'/favicon.ico',
|
|
546
573
|
'/.well-known/service/blocklet/logo',
|
|
574
|
+
'/.well-known/service/blocklet/logo-dark',
|
|
547
575
|
'/.well-known/service/blocklet/logo-favicon',
|
|
548
576
|
'/.well-known/service/blocklet/logo-rect',
|
|
577
|
+
'/.well-known/service/blocklet/logo-rect-dark',
|
|
549
578
|
'/.well-known/service/blocklet/splash/portrait',
|
|
550
579
|
'/.well-known/service/blocklet/splash/landscape',
|
|
551
580
|
'/.well-known/service/openembed.json',
|
|
@@ -287,7 +287,8 @@ module.exports = {
|
|
|
287
287
|
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
288
288
|
optional: !isInvitedUserOnly,
|
|
289
289
|
claimUrl: getPassportClaimUrl(baseUrl),
|
|
290
|
-
|
|
290
|
+
// 此限制会导致无法正常配置的信任通行证,暂时去掉此条件
|
|
291
|
+
// ownerDid: [userDid],
|
|
291
292
|
};
|
|
292
293
|
if (passportId) {
|
|
293
294
|
passportClaim.target = passportId;
|
|
@@ -983,7 +984,8 @@ module.exports = {
|
|
|
983
984
|
trustedIssuers: await getTrustedIssuers(blocklet, { sourceAppPid }),
|
|
984
985
|
optional: !isInvitedUserOnly,
|
|
985
986
|
claimUrl: getPassportClaimUrl(baseUrl),
|
|
986
|
-
|
|
987
|
+
// 此限制会导致无法正常配置的信任通行证,暂时去掉此条件
|
|
988
|
+
// ownerDid: [userDid],
|
|
987
989
|
},
|
|
988
990
|
};
|
|
989
991
|
},
|
package/api/libs/email.js
CHANGED
|
@@ -7,6 +7,7 @@ const { sendEmailWithLauncher } = require('@abtnode/auth/lib/launcher');
|
|
|
7
7
|
const logger = require('./logger')('blocklet-services:notification');
|
|
8
8
|
const { NotificationEmail } = require('../emails/_templates/notification');
|
|
9
9
|
const { VerifyCodeEmail } = require('../emails/_templates/verify-code');
|
|
10
|
+
const { KycCodeVerifyEmail } = require('../emails/_templates/kyc-code-verify');
|
|
10
11
|
const cache = require('../cache');
|
|
11
12
|
|
|
12
13
|
const schemaEmail = Joi.string().email().required();
|
|
@@ -97,6 +98,21 @@ async function sendEmail(
|
|
|
97
98
|
},
|
|
98
99
|
})
|
|
99
100
|
);
|
|
101
|
+
} else if (template === 'kyc-code-verify') {
|
|
102
|
+
html = await render(
|
|
103
|
+
KycCodeVerifyEmail({
|
|
104
|
+
subject,
|
|
105
|
+
appInfo,
|
|
106
|
+
...notification,
|
|
107
|
+
locale,
|
|
108
|
+
raw,
|
|
109
|
+
unsubscribeToken,
|
|
110
|
+
userInfo: {
|
|
111
|
+
...userInfo,
|
|
112
|
+
email: receiver,
|
|
113
|
+
},
|
|
114
|
+
})
|
|
115
|
+
);
|
|
100
116
|
}
|
|
101
117
|
} catch (err) {
|
|
102
118
|
logger.error('Failed to render email template:', err);
|
package/api/routes/blocklet.js
CHANGED
|
@@ -21,6 +21,8 @@ const {
|
|
|
21
21
|
ensureDefaultLogo,
|
|
22
22
|
ensureCustomFavicon,
|
|
23
23
|
ensureCustomRectLogo,
|
|
24
|
+
ensureCustomRectDarkLogo,
|
|
25
|
+
ensureCustomSquareDarkLogo,
|
|
24
26
|
fallbackLogo,
|
|
25
27
|
cacheError,
|
|
26
28
|
} = require('@abtnode/util/lib/logo-middleware');
|
|
@@ -91,29 +93,36 @@ module.exports = {
|
|
|
91
93
|
next();
|
|
92
94
|
};
|
|
93
95
|
|
|
94
|
-
const logoWorkflow = (...chain) =>
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
96
|
+
const logoWorkflow = (...chain) => {
|
|
97
|
+
return [
|
|
98
|
+
attachSendLogoContext({
|
|
99
|
+
onSendFallbackLogo,
|
|
100
|
+
onGetBlocklet: ({ req }) => {
|
|
101
|
+
return req.getBlocklet();
|
|
102
|
+
},
|
|
103
|
+
}),
|
|
104
|
+
attachSendLogoFn,
|
|
105
|
+
ensureBlockletExist,
|
|
106
|
+
...chain,
|
|
107
|
+
ensureCustomSquareLogo,
|
|
108
|
+
ensureBundleLogo,
|
|
109
|
+
ensureDefaultLogo,
|
|
110
|
+
fallbackLogo,
|
|
111
|
+
cacheError,
|
|
112
|
+
].filter(Boolean);
|
|
113
|
+
};
|
|
110
114
|
|
|
111
115
|
server.get(`${prefix}/blocklet/logo`, ...logoWorkflow());
|
|
116
|
+
server.get(`${prefix}/blocklet/logo-dark`, ...logoWorkflow(ensureCustomSquareDarkLogo));
|
|
112
117
|
|
|
113
118
|
['/favicon.ico', `${prefix}/blocklet/favicon`, `${prefix}/blocklet/logo-favicon`].forEach((x) => {
|
|
114
119
|
server.get(x, ...logoWorkflow(ensureCustomFavicon));
|
|
115
120
|
});
|
|
116
121
|
server.get(`${prefix}/blocklet/logo-rect`, ...logoWorkflow(ensureCustomRectLogo));
|
|
122
|
+
server.get(
|
|
123
|
+
`${prefix}/blocklet/logo-rect-dark`,
|
|
124
|
+
...logoWorkflow(ensureCustomRectDarkLogo, ensureCustomSquareDarkLogo)
|
|
125
|
+
);
|
|
117
126
|
|
|
118
127
|
server.get(
|
|
119
128
|
`${prefix}/blocklet/logo-bundle/?**`,
|
|
@@ -201,7 +210,7 @@ module.exports = {
|
|
|
201
210
|
did: blocklet.meta.did,
|
|
202
211
|
checkHealthImmediately: true,
|
|
203
212
|
throwOnError: true,
|
|
204
|
-
atomic:
|
|
213
|
+
atomic: false,
|
|
205
214
|
});
|
|
206
215
|
} catch (error) {
|
|
207
216
|
startError = error;
|
package/api/routes/ocap.js
CHANGED
|
@@ -100,8 +100,10 @@ async function patchUserSessionData(userSession, { blocklet, appPid, teamDid, no
|
|
|
100
100
|
title: userSession.user.role,
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
const roles = await node.getRoles({ teamDid });
|
|
104
|
+
const findPassport = roles.find((x) => x.name === passport?.role);
|
|
105
|
+
userSession.user.role = findPassport?.name || passport?.role || 'guest';
|
|
106
|
+
userSession.user.roleTitle = findPassport?.title || passport?.title || 'guest';
|
|
105
107
|
}
|
|
106
108
|
|
|
107
109
|
const loginSessionSchema = Joi.object({
|
package/api/routes/user.js
CHANGED
|
@@ -698,7 +698,7 @@ const profileSetSchema = Joi.object({
|
|
|
698
698
|
email: Joi.string().email().optional(),
|
|
699
699
|
phone: Joi.object({
|
|
700
700
|
phoneNumber: Joi.string().allow('').optional(),
|
|
701
|
-
country: Joi.string().optional(),
|
|
701
|
+
country: Joi.string().allow('').optional(),
|
|
702
702
|
}).optional(),
|
|
703
703
|
bio: Joi.string().allow('').max(200).optional(),
|
|
704
704
|
timezone: Joi.string().allow('').optional(),
|
|
@@ -48,7 +48,6 @@ const translations = {
|
|
|
48
48
|
|
|
49
49
|
const t = createTranslator({ translations });
|
|
50
50
|
|
|
51
|
-
const unReadCountCache = new SingleFlightLRUCache({ max: 10 * 10000, ttl: 1000 * 60 });
|
|
52
51
|
const signSessionResponseCache = new SingleFlightLRUCache({ max: 10000, ttl: 1000 * 60 });
|
|
53
52
|
|
|
54
53
|
const getUnreadNotificationCount = ({ teamDid, receiver }, node) => {
|
|
@@ -56,12 +55,9 @@ const getUnreadNotificationCount = ({ teamDid, receiver }, node) => {
|
|
|
56
55
|
return 0;
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
teamDid,
|
|
63
|
-
receiver,
|
|
64
|
-
});
|
|
58
|
+
return node.getNotificationsUnreadCount({
|
|
59
|
+
teamDid,
|
|
60
|
+
receiver,
|
|
65
61
|
});
|
|
66
62
|
};
|
|
67
63
|
|
|
@@ -129,9 +125,18 @@ module.exports = {
|
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
127
|
|
|
128
|
+
const roles = await node.getRoles({ teamDid });
|
|
129
|
+
|
|
132
130
|
user.passports = (user.passports || [])
|
|
133
131
|
.filter((x) => x.status === PASSPORT_STATUS.VALID)
|
|
134
|
-
.map((x) =>
|
|
132
|
+
.map((x) => {
|
|
133
|
+
const item = pick(x, ['id', 'name', 'title', 'role', 'scope', 'role', 'issuer', 'display']);
|
|
134
|
+
const findPassport = roles.find((y) => y.name === item.role);
|
|
135
|
+
item.name = findPassport?.name || item.name || 'guest';
|
|
136
|
+
item.role = findPassport?.name || item.role || 'guest';
|
|
137
|
+
item.title = findPassport?.title || item.title || 'guest';
|
|
138
|
+
return item;
|
|
139
|
+
});
|
|
135
140
|
|
|
136
141
|
const updateUserSessionData = getUpdateUserSessionData({ req });
|
|
137
142
|
if (Object.keys(updateUserSessionData).length > 0) {
|
|
@@ -295,8 +300,8 @@ module.exports = {
|
|
|
295
300
|
const teamDid = req.getBlockletDid();
|
|
296
301
|
const visitorId = req.get('x-blocklet-visitor-id');
|
|
297
302
|
const ua = req.get('user-agent');
|
|
298
|
-
// HACK: BlockletSDK 来的请求不需要检查 visitorId
|
|
299
|
-
if (!ua.includes('BlockletSDK/')) {
|
|
303
|
+
// HACK: BlockletSDK 和 Aistro 来的请求不需要检查 visitorId
|
|
304
|
+
if (!(ua.includes('BlockletSDK/') || ua.toLowerCase().includes('aistro/'))) {
|
|
300
305
|
if (!visitorId) {
|
|
301
306
|
res.status(400).send(t('userSessionLogout', req.blockletLocale));
|
|
302
307
|
return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const { verifyRequest } = require('@blocklet/did-space-js');
|
|
2
|
-
const { WELLKNOWN_SERVICE_PATH_PREFIX
|
|
2
|
+
const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
|
|
3
3
|
const createTranslator = require('@abtnode/util/lib/translate');
|
|
4
4
|
|
|
5
5
|
const { emailSchema } = require('../../socket/channel/did');
|
|
@@ -23,10 +23,7 @@ const translations = {
|
|
|
23
23
|
emailTitle: 'Verify Your Email for {appName}',
|
|
24
24
|
emailHeadline:
|
|
25
25
|
'To ensure the security of your account and enhance your experience, you need to use following code to verify your email, and you will receive a NFT in your DID Wallet upon verification.',
|
|
26
|
-
|
|
27
|
-
"This code is valid for {ttl} minutes. If you don't want to verify your email, you can ignore this message.",
|
|
28
|
-
emailWarning:
|
|
29
|
-
'{appName} will never email you and ask you to disclose your password, credit card, or banking account number.',
|
|
26
|
+
|
|
30
27
|
userNotFound: 'User not found',
|
|
31
28
|
},
|
|
32
29
|
zh: {
|
|
@@ -40,8 +37,6 @@ const translations = {
|
|
|
40
37
|
emailTitle: '验证您在 {appName} 的邮箱',
|
|
41
38
|
emailHeadline:
|
|
42
39
|
'为确保您的帐户安全并增强您的体验,您需要使用以下代码验证您的邮箱,并在验证后在您的 DID Wallet 中收到 NFT。',
|
|
43
|
-
emailValidCode: '此代码有效期为 {ttl} 分钟。如果您不想验证您的邮箱,您可以忽略此消息。',
|
|
44
|
-
emailWarning: '{appName} 永远不会向您发送电子邮件并要求您披露您的密码、信用卡或银行账户信息。',
|
|
45
40
|
userNotFound: '用户不存在',
|
|
46
41
|
},
|
|
47
42
|
};
|
|
@@ -102,11 +97,9 @@ const init = ({ node }) => {
|
|
|
102
97
|
const result = await sendEmail(
|
|
103
98
|
subject,
|
|
104
99
|
{
|
|
100
|
+
code: doc.code,
|
|
105
101
|
title: t('emailTitle', locale, { appName: info.name }),
|
|
106
|
-
body:
|
|
107
|
-
<p style="font-size:36px; line-height:24px; color: #333; font-weight: bold; text-align: center;">${doc.code}</p>
|
|
108
|
-
<p style="font-size:14px;line-height:24px;margin:16px 0;">${t('emailValidCode', locale, { ttl: VERIFY_CODE_TTL / 60 / 1000 })}</p>
|
|
109
|
-
<p style="font-size:14px;line-height:24px;margin:16px 0;">${t('emailWarning', locale, { appName: info.name })}</p>`,
|
|
102
|
+
body: t('emailHeadline', locale),
|
|
110
103
|
},
|
|
111
104
|
{
|
|
112
105
|
teamDid,
|
|
@@ -114,6 +107,7 @@ const init = ({ node }) => {
|
|
|
114
107
|
locale: req.query.locale,
|
|
115
108
|
raw: true,
|
|
116
109
|
launcher: true,
|
|
110
|
+
template: 'kyc-code-verify',
|
|
117
111
|
}
|
|
118
112
|
);
|
|
119
113
|
logger.info('send verify code', { teamDid, result });
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{_ as dt}from"./vendor-mui-core-
|
|
1
|
+
import{_ as dt}from"./vendor-mui-core-B6POpIBB.js";import{a as f}from"./vendor-utils-CjMBJT5V.js";import{e as Q,g as R}from"./vendor-react-DEoibe3W.js";import{W as ft}from"./vendor-ux-did-connect-D4-ZeZHm.js";import{b as ct}from"./vendor-mui-x-CATHW1QL.js";var tt={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l="week",c="year";return function(g,t,e){var s=t.prototype;s.week=function(i){if(i===void 0&&(i=null),i!==null)return this.add(7*(i-this.week()),"day");var o=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var n=e(this).startOf(c).add(1,c).date(o),d=e(this).endOf(l);if(n.isBefore(d))return 1}var m=e(this).startOf(c).date(o).startOf(l).subtract(1,"millisecond"),U=this.diff(m,l,!0);return U<0?e(this).startOf("week").week():Math.ceil(U)},s.weeks=function(i){return i===void 0&&(i=null),this.week(i)}}})})(tt);var lt=tt.exports;const mt=R(lt);var et={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){var l={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},c=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,g=/\d/,t=/\d\d/,e=/\d\d?/,s=/\d*[^-_:/,()\s\d]+/,i={},o=function(r){return(r=+r)+(r>68?1900:2e3)},n=function(r){return function(a){this[r]=+a}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(r){(this.zone||(this.zone={})).offset=function(a){if(!a||a==="Z")return 0;var h=a.match(/([+-]|\d\d)/g),u=60*h[1]+(+h[2]||0);return u===0?0:h[0]==="+"?-u:u}(r)}],m=function(r){var a=i[r];return a&&(a.indexOf?a:a.s.concat(a.f))},U=function(r,a){var h,u=i.meridiem;if(u){for(var D=1;D<=24;D+=1)if(r.indexOf(u(D,0,a))>-1){h=D>12;break}}else h=r===(a?"pm":"PM");return h},rt={A:[s,function(r){this.afternoon=U(r,!1)}],a:[s,function(r){this.afternoon=U(r,!0)}],Q:[g,function(r){this.month=3*(r-1)+1}],S:[g,function(r){this.milliseconds=100*+r}],SS:[t,function(r){this.milliseconds=10*+r}],SSS:[/\d{3}/,function(r){this.milliseconds=+r}],s:[e,n("seconds")],ss:[e,n("seconds")],m:[e,n("minutes")],mm:[e,n("minutes")],H:[e,n("hours")],h:[e,n("hours")],HH:[e,n("hours")],hh:[e,n("hours")],D:[e,n("day")],DD:[t,n("day")],Do:[s,function(r){var a=i.ordinal,h=r.match(/\d+/);if(this.day=h[0],a)for(var u=1;u<=31;u+=1)a(u).replace(/\[|\]/g,"")===r&&(this.day=u)}],w:[e,n("week")],ww:[t,n("week")],M:[e,n("month")],MM:[t,n("month")],MMM:[s,function(r){var a=m("months"),h=(m("monthsShort")||a.map(function(u){return u.slice(0,3)})).indexOf(r)+1;if(h<1)throw new Error;this.month=h%12||h}],MMMM:[s,function(r){var a=m("months").indexOf(r)+1;if(a<1)throw new Error;this.month=a%12||a}],Y:[/[+-]?\d+/,n("year")],YY:[t,function(r){this.year=o(r)}],YYYY:[/\d{4}/,n("year")],Z:d,ZZ:d};function nt(r){var a,h;a=r,h=i&&i.formats;for(var u=(r=a.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(b,k,p){var M=p&&p.toUpperCase();return k||h[p]||l[p]||h[M].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(x,j,z){return j||z.slice(1)})})).match(c),D=u.length,w=0;w<D;w+=1){var P=u[w],S=rt[P],Y=S&&S[0],O=S&&S[1];u[w]=O?{regex:Y,parser:O}:P.replace(/^\[|\]$/g,"")}return function(b){for(var k={},p=0,M=0;p<D;p+=1){var x=u[p];if(typeof x=="string")M+=x.length;else{var j=x.regex,z=x.parser,H=b.slice(M),A=j.exec(H)[0];z.call(k,A),b=b.replace(A,"")}}return function(C){var I=C.afternoon;if(I!==void 0){var y=C.hours;I?y<12&&(C.hours+=12):y===12&&(C.hours=0),delete C.afternoon}}(k),k}}return function(r,a,h){h.p.customParseFormat=!0,r&&r.parseTwoDigitYear&&(o=r.parseTwoDigitYear);var u=a.prototype,D=u.parse;u.parse=function(w){var P=w.date,S=w.utc,Y=w.args;this.$u=S;var O=Y[1];if(typeof O=="string"){var b=Y[2]===!0,k=Y[3]===!0,p=b||k,M=Y[2];k&&(M=Y[2]),i=this.$locale(),!b&&M&&(i=h.Ls[M]),this.$d=function(H,A,C,I){try{if(["x","X"].indexOf(A)>-1)return new Date((A==="X"?1e3:1)*H);var y=nt(A)(H),E=y.year,B=y.month,it=y.day,at=y.hours,ot=y.minutes,ht=y.seconds,ut=y.milliseconds,X=y.zone,q=y.week,$=new Date,N=it||(E||B?1:$.getDate()),Z=E||$.getFullYear(),F=0;E&&!B||(F=B>0?B-1:$.getMonth());var W,v=at||0,V=ot||0,J=ht||0,_=ut||0;return X?new Date(Date.UTC(Z,F,N,v,V,J,_+60*X.offset*1e3)):C?new Date(Date.UTC(Z,F,N,v,V,J,_)):(W=new Date(Z,F,N,v,V,J,_),q&&(W=I(W).week(q).toDate()),W)}catch{return new Date("")}}(P,O,S,h),this.init(),M&&M!==!0&&(this.$L=this.locale(M).$L),p&&P!=this.format(O)&&(this.$d=new Date("")),i={}}else if(O instanceof Array)for(var x=O.length,j=1;j<=x;j+=1){Y[1]=O[j-1];var z=h.apply(this,Y);if(z.isValid()){this.$d=z.$d,this.$L=z.$L,this.init();break}j===x&&(this.$d=new Date(""))}else D.call(this,w)}}})})(et);var yt=et.exports;const Mt=R(yt);var st={exports:{}};(function(T,L){(function(l,c){T.exports=c()})(Q,function(){return function(l,c,g){c.prototype.isBetween=function(t,e,s,i){var o=g(t),n=g(e),d=(i=i||"()")[0]==="(",m=i[1]===")";return(d?this.isAfter(o,s):!this.isBefore(o,s))&&(m?this.isBefore(n,s):!this.isAfter(n,s))||(d?this.isBefore(o,s):!this.isAfter(o,s))&&(m?this.isAfter(n,s):!this.isBefore(n,s))}}})})(st);var pt=st.exports;const Tt=R(pt);f.extend(Mt);f.extend(ft);f.extend(Tt);const gt=ct(["Your locale has not been found.","Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale","Or you forget to import the locale from 'dayjs/locale/{localeUsed}'","fallback on English locale"]),Dt={YY:"year",YYYY:{sectionType:"year",contentType:"digit",maxLength:4},M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMM:{sectionType:"month",contentType:"letter"},MMMM:{sectionType:"month",contentType:"letter"},D:{sectionType:"day",contentType:"digit",maxLength:2},DD:"day",Do:{sectionType:"day",contentType:"digit-with-letter"},d:{sectionType:"weekDay",contentType:"digit",maxLength:2},dd:{sectionType:"weekDay",contentType:"letter"},ddd:{sectionType:"weekDay",contentType:"letter"},dddd:{sectionType:"weekDay",contentType:"letter"},A:"meridiem",a:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},wt={year:"YYYY",month:"MMMM",monthShort:"MMM",dayOfMonth:"D",weekday:"dddd",weekdayShort:"dd",hours24h:"HH",hours12h:"hh",meridiem:"A",minutes:"mm",seconds:"ss",fullDate:"ll",fullDateWithWeekday:"dddd, LL",keyboardDate:"L",shortDate:"MMM D",normalDate:"D MMMM",normalDateWithWeekday:"ddd, MMM D",monthAndYear:"MMMM YYYY",monthAndDate:"MMMM D",fullTime:"LT",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",fullDateTime:"lll",fullDateTime12h:"ll hh:mm A",fullDateTime24h:"ll HH:mm",keyboardDateTime:"L LT",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},G=["Missing UTC plugin","To be able to use UTC or timezones, you have to enable the `utc` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc"].join(`
|
|
2
2
|
`),K=["Missing timezone plugin","To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin","Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone"].join(`
|
|
3
3
|
`),Yt=(T,L)=>L?(...l)=>T(...l).locale(L):T;class bt{constructor({locale:L,formats:l,instance:c}={}){var g;this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="dayjs",this.rawDayJsInstance=void 0,this.dayjs=void 0,this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"[",end:"]"},this.formatTokenMap=Dt,this.setLocaleToValue=t=>{const e=this.getCurrentLocaleCode();return e===t.locale()?t:t.locale(e)},this.hasUTCPlugin=()=>typeof f.utc<"u",this.hasTimezonePlugin=()=>typeof f.tz<"u",this.isSame=(t,e,s)=>{const i=this.setTimezone(e,this.getTimezone(t));return t.format(s)===i.format(s)},this.cleanTimezone=t=>{switch(t){case"default":return;case"system":return f.tz.guess();default:return t}},this.createSystemDate=t=>{if(this.rawDayJsInstance)return this.rawDayJsInstance(t);if(this.hasUTCPlugin()&&this.hasTimezonePlugin()){const e=f.tz.guess();return e!=="UTC"?f.tz(t,e):f(t)}return f(t)},this.createUTCDate=t=>{if(!this.hasUTCPlugin())throw new Error(G);return f.utc(t)},this.createTZDate=(t,e)=>{if(!this.hasUTCPlugin())throw new Error(G);if(!this.hasTimezonePlugin())throw new Error(K);const s=t!==void 0&&!t.endsWith("Z");return f(t).tz(this.cleanTimezone(e),s)},this.getLocaleFormats=()=>{const t=f.Ls,e=this.locale||"en";let s=t[e];return s===void 0&&(gt(),s=t.en),s.formats},this.adjustOffset=t=>{if(!this.hasTimezonePlugin())return t;const e=this.getTimezone(t);if(e!=="UTC"){var s,i;const o=t.tz(this.cleanTimezone(e),!0);if(((s=o.$offset)!=null?s:0)===((i=t.$offset)!=null?i:0))return t;t.$offset=o.$offset}return t},this.date=t=>t===null?null:this.dayjs(t),this.dateWithTimezone=(t,e)=>{if(t===null)return null;let s;return e==="UTC"?s=this.createUTCDate(t):e==="system"||e==="default"&&!this.hasTimezonePlugin()?s=this.createSystemDate(t):s=this.createTZDate(t,e),this.locale===void 0?s:s.locale(this.locale)},this.getTimezone=t=>{if(this.hasTimezonePlugin()){var e;const s=(e=t.$x)==null?void 0:e.$timezone;if(s)return s}return this.hasUTCPlugin()&&t.isUTC()?"UTC":"system"},this.setTimezone=(t,e)=>{if(this.getTimezone(t)===e)return t;if(e==="UTC"){if(!this.hasUTCPlugin())throw new Error(G);return t.utc()}if(e==="system")return t.local();if(!this.hasTimezonePlugin()){if(e==="default")return t;throw new Error(K)}return f.tz(t,this.cleanTimezone(e))},this.toJsDate=t=>t.toDate(),this.parseISO=t=>this.dayjs(t),this.toISO=t=>t.toISOString(),this.parse=(t,e)=>t===""?null:this.dayjs(t,e,this.locale,!0),this.getCurrentLocaleCode=()=>this.locale||"en",this.is12HourCycleInCurrentLocale=()=>/A|a/.test(this.getLocaleFormats().LT||""),this.expandFormat=t=>{const e=this.getLocaleFormats(),s=i=>i.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(o,n,d)=>n||d.slice(1));return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(i,o,n)=>{const d=n&&n.toUpperCase();return o||e[n]||s(e[d])})},this.getFormatHelperText=t=>this.expandFormat(t).replace(/a/gi,"(a|p)m").toLocaleLowerCase(),this.isNull=t=>t===null,this.isValid=t=>this.dayjs(t).isValid(),this.format=(t,e)=>this.formatByString(t,this.formats[e]),this.formatByString=(t,e)=>this.dayjs(t).format(e),this.formatNumber=t=>t,this.getDiff=(t,e,s)=>t.diff(e,s),this.isEqual=(t,e)=>t===null&&e===null?!0:this.dayjs(t).toDate().getTime()===this.dayjs(e).toDate().getTime(),this.isSameYear=(t,e)=>this.isSame(t,e,"YYYY"),this.isSameMonth=(t,e)=>this.isSame(t,e,"YYYY-MM"),this.isSameDay=(t,e)=>this.isSame(t,e,"YYYY-MM-DD"),this.isSameHour=(t,e)=>t.isSame(e,"hour"),this.isAfter=(t,e)=>t>e,this.isAfterYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()>e.utc():t.isAfter(e,"year"),this.isAfterDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()>e.utc():t.isAfter(e,"day"),this.isBefore=(t,e)=>t<e,this.isBeforeYear=(t,e)=>this.hasUTCPlugin()?!this.isSameYear(t,e)&&t.utc()<e.utc():t.isBefore(e,"year"),this.isBeforeDay=(t,e)=>this.hasUTCPlugin()?!this.isSameDay(t,e)&&t.utc()<e.utc():t.isBefore(e,"day"),this.isWithinRange=(t,[e,s])=>t>=e&&t<=s,this.startOfYear=t=>this.adjustOffset(t.startOf("year")),this.startOfMonth=t=>this.adjustOffset(t.startOf("month")),this.startOfWeek=t=>this.adjustOffset(t.startOf("week")),this.startOfDay=t=>this.adjustOffset(t.startOf("day")),this.endOfYear=t=>this.adjustOffset(t.endOf("year")),this.endOfMonth=t=>this.adjustOffset(t.endOf("month")),this.endOfWeek=t=>this.adjustOffset(t.endOf("week")),this.endOfDay=t=>this.adjustOffset(t.endOf("day")),this.addYears=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"year"):t.add(e,"year")),this.addMonths=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"month"):t.add(e,"month")),this.addWeeks=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"week"):t.add(e,"week")),this.addDays=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"day"):t.add(e,"day")),this.addHours=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"hour"):t.add(e,"hour")),this.addMinutes=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"minute"):t.add(e,"minute")),this.addSeconds=(t,e)=>this.adjustOffset(e<0?t.subtract(Math.abs(e),"second"):t.add(e,"second")),this.getYear=t=>t.year(),this.getMonth=t=>t.month(),this.getDate=t=>t.date(),this.getHours=t=>t.hour(),this.getMinutes=t=>t.minute(),this.getSeconds=t=>t.second(),this.getMilliseconds=t=>t.millisecond(),this.setYear=(t,e)=>this.adjustOffset(t.set("year",e)),this.setMonth=(t,e)=>this.adjustOffset(t.set("month",e)),this.setDate=(t,e)=>this.adjustOffset(t.set("date",e)),this.setHours=(t,e)=>this.adjustOffset(t.set("hour",e)),this.setMinutes=(t,e)=>this.adjustOffset(t.set("minute",e)),this.setSeconds=(t,e)=>this.adjustOffset(t.set("second",e)),this.setMilliseconds=(t,e)=>this.adjustOffset(t.set("millisecond",e)),this.getDaysInMonth=t=>t.daysInMonth(),this.getNextMonth=t=>this.addMonths(t,1),this.getPreviousMonth=t=>this.addMonths(t,-1),this.getMonthArray=t=>{const s=[t.startOf("year")];for(;s.length<12;){const i=s[s.length-1];s.push(this.addMonths(i,1))}return s},this.mergeDateAndTime=(t,e)=>t.hour(e.hour()).minute(e.minute()).second(e.second()),this.getWeekdays=()=>{const t=this.dayjs().startOf("week");return[0,1,2,3,4,5,6].map(e=>this.formatByString(this.addDays(t,e),"dd"))},this.getWeekArray=t=>{const e=this.setLocaleToValue(t),s=e.startOf("month").startOf("week"),i=e.endOf("month").endOf("week");let o=0,n=s;const d=[];for(;n<i;){const m=Math.floor(o/7);d[m]=d[m]||[],d[m].push(n),n=this.addDays(n,1),o+=1}return d},this.getWeekNumber=t=>t.week(),this.getYearRange=(t,e)=>{const s=t.startOf("year"),i=e.endOf("year"),o=[];let n=s;for(;n<i;)o.push(n),n=this.addYears(n,1);return o},this.getMeridiemText=t=>t==="am"?"AM":"PM",this.rawDayJsInstance=c,this.dayjs=Yt((g=this.rawDayJsInstance)!=null?g:f,L),this.locale=L,this.formats=dt({},wt,l),f.extend(mt)}}export{bt as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a9 as e,j as t}from"./vendor-mui-core-B6POpIBB.js";import{r as a}from"./vendor-ux-did-connect-D4-ZeZHm.js";var r={},o=e;Object.defineProperty(r,"__esModule",{value:!0});var u=r.default=void 0,i=o(a()),p=t;u=r.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-B6POpIBB.js";import{r as a}from"./vendor-ux-did-connect-D4-ZeZHm.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),l=t;u=e.default=(0,i.default)((0,l.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckCircle");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-B6POpIBB.js";import{r as a}from"./vendor-ux-did-connect-D4-ZeZHm.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,f=o(a()),i=t;u=e.default=(0,f.default)((0,i.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft");export{u as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a9 as r,j as t}from"./vendor-mui-core-B6POpIBB.js";import{r as a}from"./vendor-ux-did-connect-D4-ZeZHm.js";var e={},o=r;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(a()),v=t;u=e.default=(0,i.default)((0,v.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight");export{u as d};
|