@abtnode/blocklet-services 1.16.32-beta-93e1a798 → 1.16.32-beta-76103be3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/api/emails/components/content.js +2 -2
  2. package/api/emails/pages/notification.js +3 -2
  3. package/api/libs/connect/session.js +5 -33
  4. package/api/libs/email.js +6 -1
  5. package/api/libs/kyc.js +57 -0
  6. package/api/routes/openapi.js +4 -4
  7. package/api/routes/opencomponent.js +4 -6
  8. package/api/routes/openembed.js +6 -5
  9. package/api/services/auth/connect/bind-wallet.js +2 -12
  10. package/api/services/auth/connect/update-kyc.js +10 -2
  11. package/api/services/kyc/index.js +25 -5
  12. package/api/util/federated.js +35 -0
  13. package/dist/assets/{Add-D8jHDZuh.js → Add-BnNzBkSM.js} +1 -1
  14. package/dist/assets/{Alert-CRD24aa1.js → Alert-MdMGtLD7.js} +1 -1
  15. package/dist/assets/{ArrowDropDown-CFc0zow6.js → ArrowDropDown-BxN9s0B3.js} +1 -1
  16. package/dist/assets/{Avatar-BIWwirOj.js → Avatar-C8UCl2Ga.js} +1 -1
  17. package/dist/assets/{ButtonGroup-DcU8GHuP.js → ButtonGroup-CZa7-ajY.js} +1 -1
  18. package/dist/assets/{CheckCircle-BrcbSmIK.js → CheckCircle-sCoWELrn.js} +1 -1
  19. package/dist/assets/{ChevronLeft-Cyjchnxw.js → ChevronLeft-DkDFOWTc.js} +1 -1
  20. package/dist/assets/{ChevronRight-j0-gJxyM.js → ChevronRight-B4jca3VR.js} +1 -1
  21. package/dist/assets/{Close-B2vbXcur.js → Close-Dsq723dc.js} +1 -1
  22. package/dist/assets/{CloseOutlined-BWhWoWD_.js → CloseOutlined-SmGyPCCX.js} +1 -1
  23. package/dist/assets/{Delete-B2j1UcE8.js → Delete-Dq713V6u.js} +1 -1
  24. package/dist/assets/{DeleteOutline-C2h-KiXe.js → DeleteOutline-CnT4EQeF.js} +1 -1
  25. package/dist/assets/{DialogContentText-D5Xxal_F.js → DialogContentText-DacbluUW.js} +1 -1
  26. package/dist/assets/{Done-B-JT0RXC.js → Done-qR9kVgrH.js} +1 -1
  27. package/dist/assets/{Download-DP_lDlx2.js → Download-DW26ur5s.js} +1 -1
  28. package/dist/assets/{Edit-B3J8-Twv.js → Edit-Dws2_-ub.js} +1 -1
  29. package/dist/assets/{EditIcon-R508XR9R.js → EditIcon-CY6l5Il6.js} +1 -1
  30. package/dist/assets/{Error-B4vCt6tb.js → Error-C5amiEhI.js} +1 -1
  31. package/dist/assets/{ExpandMore-IE6fvawl.js → ExpandMore-d42Ky8li.js} +1 -1
  32. package/dist/assets/{FormControl-Chtq9AE7.js → FormControl-C07X4iXm.js} +1 -1
  33. package/dist/assets/{FormControlLabel-BmopTtvW.js → FormControlLabel-jY_KMRPD.js} +1 -1
  34. package/dist/assets/{FormGroup-C54kQ9N4.js → FormGroup-CErrZ95I.js} +1 -1
  35. package/dist/assets/{Google-DBXwxuV5.js → Google-CvInay_a.js} +1 -1
  36. package/dist/assets/{Hidden-DPIGUAMJ.js → Hidden-NXnAHRZU.js} +1 -1
  37. package/dist/assets/{InfoOutlined-BmUBc2r2.js → InfoOutlined-DiESNXUD.js} +1 -1
  38. package/dist/assets/{InputAdornment-DXkRELYA.js → InputAdornment-DKQXkF5o.js} +1 -1
  39. package/dist/assets/{InputLabel-DMWY4sIp.js → InputLabel-DCPOxFdI.js} +1 -1
  40. package/dist/assets/{LastPage-D0B9CdNo.js → LastPage-CupdKuWQ.js} +1 -1
  41. package/dist/assets/{Launch-DhHbLKKF.js → Launch-BvCfmwc3.js} +1 -1
  42. package/dist/assets/{LaunchOutlined-CvTIL2cU.js → LaunchOutlined-B-TcY8Ty.js} +1 -1
  43. package/dist/assets/{Link-CYqMveft.js → Link-B6WCZ3ri.js} +1 -1
  44. package/dist/assets/{ListItemText-BR6T5ZDu.js → ListItemText-CAgBao36.js} +1 -1
  45. package/dist/assets/{LoadingButton-DmCdDxLA.js → LoadingButton-BO2pLS2M.js} +1 -1
  46. package/dist/assets/{LockIcon-C1x7LbhO.js → LockIcon-C--7O0SU.js} +1 -1
  47. package/dist/assets/{Loop-BwgmQ4ke.js → Loop-BbewjFkt.js} +1 -1
  48. package/dist/assets/{MoreHoriz-NGD3jXnn.js → MoreHoriz-BnLDnV7Y.js} +1 -1
  49. package/dist/assets/{MoreVert-MUbtAQHv.js → MoreVert-C8wT9PBh.js} +1 -1
  50. package/dist/assets/{OpenInNew-CJl5exgf.js → OpenInNew-BuRkQUDs.js} +1 -1
  51. package/dist/assets/{Pagination-IHWKke1i.js → Pagination-Tk6JJJWb.js} +1 -1
  52. package/dist/assets/{PlayArrow-DzoHzRoJ.js → PlayArrow-DGa9lwdU.js} +1 -1
  53. package/dist/assets/{QuestionMarkCircle-TnBpzaSI.js → QuestionMarkCircle-BJqkf48h.js} +1 -1
  54. package/dist/assets/{RadioGroup-C6M_sifl.js → RadioGroup-Ceyc11_1.js} +1 -1
  55. package/dist/assets/{Search-wiijyIeu.js → Search-B37iNoKq.js} +1 -1
  56. package/dist/assets/{Select-CIDtym3x.js → Select-B0ouveBQ.js} +1 -1
  57. package/dist/assets/{ServerLogo-Bal3ugu3.js → ServerLogo-8TjGIlip.js} +1 -1
  58. package/dist/assets/{Skeleton-BXCyEPW7.js → Skeleton-8eEDG-Ms.js} +1 -1
  59. package/dist/assets/{Slider-Ntyz_Q-E.js → Slider-BujG4_Kd.js} +1 -1
  60. package/dist/assets/{Stack-CYabuVI4.js → Stack-C7-JMCCu.js} +1 -1
  61. package/dist/assets/{Stepper-DuAngjIl.js → Stepper-Bc34zZ-Y.js} +1 -1
  62. package/dist/assets/{TextField-x4CoNOlz.js → TextField-D1ujlYf9.js} +1 -1
  63. package/dist/assets/{Toolbar-DlYXwq_K.js → Toolbar-3DD8ghgH.js} +1 -1
  64. package/dist/assets/{ViewColumn-8HGbbav-.js → ViewColumn-Dbd2RcMW.js} +1 -1
  65. package/dist/assets/{ViewList-DjDLjZbQ.js → ViewList-B4KeBI85.js} +1 -1
  66. package/dist/assets/{access-control-BSvhOxQQ.js → access-control-g3afaGNm.js} +1 -1
  67. package/dist/assets/{actions-byFcd21l.js → actions-D1fO3id2.js} +1 -1
  68. package/dist/assets/{add-component-core-BaGwMeTq.js → add-component-core-DrCymqMX.js} +1 -1
  69. package/dist/assets/{add-resource-R3DTTpMs.js → add-resource-id1YX_Oo.js} +1 -1
  70. package/dist/assets/{addon-B9HdZ1hJ.js → addon-DwXg8kbW.js} +1 -1
  71. package/dist/assets/{analytics-Drr9ic2m.js → analytics-DCFGDrSe.js} +1 -1
  72. package/dist/assets/api-BYS9rs2B.js +1 -0
  73. package/dist/assets/ar-5o8kqNk7.js +1 -0
  74. package/dist/assets/{audit-logs-tviTMDA1.js → audit-logs-D0fFriz5.js} +1 -1
  75. package/dist/assets/{button-D68lNTBN.js → button-ClHJcnVR.js} +1 -1
  76. package/dist/assets/{click-to-copy-Cy7g0c_W.js → click-to-copy-BqLgKtqA.js} +1 -1
  77. package/dist/assets/{complete-N8h-bC0Y.js → complete-D-sLwQDJ.js} +4 -4
  78. package/dist/assets/{component-CyfiUp-R.js → component-ZjhQBkiP.js} +60 -60
  79. package/dist/assets/{config-BZSxOwu6.js → config-N0FSLwXJ.js} +1 -1
  80. package/dist/assets/{config-BEOq9uec.js → config-_xJ464M_.js} +1 -1
  81. package/dist/assets/{config-navigation-C6EN0Fwq.js → config-navigation-fVL2wq7x.js} +1 -1
  82. package/dist/assets/{confirm-Bz_GmEiI.js → confirm-WGw4zZ8r.js} +1 -1
  83. package/dist/assets/{connect-BZC3CdFF.js → connect-1sWbqUfW.js} +1 -1
  84. package/dist/assets/{connect-Cr0AxBUc.js → connect-BZGrsZSG.js} +1 -1
  85. package/dist/assets/{connect-to-BmqBRB3U.js → connect-to-BzHQacMQ.js} +1 -1
  86. package/dist/assets/{content-layout-2vv5OZW9.js → content-layout-CBN6Dvqp.js} +1 -1
  87. package/dist/assets/{dashboard-Cwcji3JN.js → dashboard-B4ze-X1x.js} +3 -3
  88. package/dist/assets/de-Lu3QkkkU.js +1 -0
  89. package/dist/assets/{did-address-BIfBoDiQ.js → did-address-BURJDyiC.js} +1 -1
  90. package/dist/assets/domain-D5gY-NEc.js +9 -0
  91. package/dist/assets/domain-list-Mq2Fan-d.js +15 -0
  92. package/dist/assets/email-B50BtSL8.js +15 -0
  93. package/dist/assets/es-CTrW8z60.js +1 -0
  94. package/dist/assets/{exchange-passport-D-WRM3Wn.js → exchange-passport-CdNpP3Y-.js} +1 -1
  95. package/dist/assets/{fallback-DTP7cYpM.js → fallback-BgjQELn7.js} +1 -1
  96. package/dist/assets/{format-error-BOzcbfGa.js → format-error-CrcMEK2V.js} +1 -1
  97. package/dist/assets/fr-DU73a_6g.js +1 -0
  98. package/dist/assets/{fuel-Bn4-TEHO.js → fuel-Ct9vWJB8.js} +1 -1
  99. package/dist/assets/{fullpage-rvVF1rz8.js → fullpage-DibIuyDh.js} +1 -1
  100. package/dist/assets/hi-KeUirlJV.js +1 -0
  101. package/dist/assets/{home-DR7GS6ca.js → home-D4Hg_oC0.js} +1 -1
  102. package/dist/assets/id-CtWLWcnp.js +1 -0
  103. package/dist/assets/{iframe-glv0Poq3.js → iframe-DjP5hzT4.js} +1 -1
  104. package/dist/assets/{index-DFZwS5zQ.js → index-2WFTBY3L.js} +1 -1
  105. package/dist/assets/{index-ChqFEpi4.js → index-5HAOVHgh.js} +1 -1
  106. package/dist/assets/{index-DZIjChbd.js → index-9sFaWssT.js} +1 -1
  107. package/dist/assets/{index-B5vlCSnw.js → index-B2uvJWil.js} +1 -1
  108. package/dist/assets/{index-BZqmUYmf.js → index-B8yobdAt.js} +1 -1
  109. package/dist/assets/{index-Bukl4DJp.js → index-BAM5GUAz.js} +1 -1
  110. package/dist/assets/{index-DgFd31_6.js → index-BCt_GquA.js} +1 -1
  111. package/dist/assets/{index-B6NXai6_.js → index-BOtnl4g3.js} +1 -1
  112. package/dist/assets/{index-CEaTcEQs.js → index-BP0e3trc.js} +6 -6
  113. package/dist/assets/{index-wMDpYZdf.js → index-BYp7PNIm.js} +1 -1
  114. package/dist/assets/{index-BcUb67P2.js → index-BxmTVomL.js} +1 -1
  115. package/dist/assets/{index-DWAL5jyd.js → index-C3La5sKU.js} +1 -1
  116. package/dist/assets/{index-C_flIkR0.js → index-CEBNAvPK.js} +1 -1
  117. package/dist/assets/{index-CJPYlJzX.js → index-CHp2FXIo.js} +1 -1
  118. package/dist/assets/{index-BbBRjIRQ.js → index-CInwQHvl.js} +1 -1
  119. package/dist/assets/{index-BreZlHA5.js → index-CLhW7LJ4.js} +1 -1
  120. package/dist/assets/{index-Bsh1JZ9i.js → index-CnjLsEef.js} +1 -1
  121. package/dist/assets/{index-CE9qCuXL.js → index-D-f5DDJ1.js} +1 -1
  122. package/dist/assets/{index-bxrR9ubG.js → index-DVc2iGFg.js} +4 -4
  123. package/dist/assets/{index-B8cOlg3J.js → index-DZi-2Gbw.js} +1 -1
  124. package/dist/assets/{index-3hwSska-.js → index-D_Vu2xLx.js} +3 -3
  125. package/dist/assets/{index-DYNsUZaH.js → index-Di3jF2ud.js} +1 -1
  126. package/dist/assets/{index-BQQSQ70k.js → index-DmXHr_Jd.js} +1 -1
  127. package/dist/assets/{index-CeEJtkL-.js → index-DnjFnDbB.js} +1 -1
  128. package/dist/assets/{index-mmP1Lkjm.js → index-DqtfVmQd.js} +1 -1
  129. package/dist/assets/{index-DsNs234N.js → index-Ee7FJItU.js} +1 -1
  130. package/dist/assets/{index-MgF3lCRP.js → index-FKe4fuVo.js} +1 -1
  131. package/dist/assets/{index-BNm1w4Av.js → index-h75gmDWw.js} +1 -1
  132. package/dist/assets/index-j2-hVzu_.js +262 -0
  133. package/dist/assets/{index-j8Uq5XuX.js → index-wwrsvgTo.js} +1 -1
  134. package/dist/assets/{index-BNFvQJs8.js → index-wxPofhyR.js} +1 -1
  135. package/dist/assets/{index.es-Dz_wpH3d.js → index.es-B4hyWcg0.js} +1 -1
  136. package/dist/assets/index.esm-Xnj83P4x.js +1 -0
  137. package/dist/assets/{invitation-Bxk7RQM2.js → invitation-B6D49MAH.js} +1 -1
  138. package/dist/assets/{invite-DxTtxFmK.js → invite-C9_gSzwl.js} +1 -1
  139. package/dist/assets/{issue-passport-SKwEWQ_s.js → issue-passport-C4GU6O8E.js} +1 -1
  140. package/dist/assets/{item-B-EBHzLe.js → item-BF5S_bSW.js} +1 -1
  141. package/dist/assets/ja-CrqtPWVX.js +1 -0
  142. package/dist/assets/{jss-plugin-props-sort.esm-Bm1tsMYs.js → jss-plugin-props-sort.esm-C037h0ZA.js} +1 -1
  143. package/dist/assets/ko-Cl75HOeP.js +1 -0
  144. package/dist/assets/{launch-result-message-CaImC-I4.js → launch-result-message-CSFk0yKu.js} +1 -1
  145. package/dist/assets/{layout-DskBhVxG.js → layout-Cgc_KlR_.js} +1 -1
  146. package/dist/assets/{list-header-CfS2OSwd.js → list-header-BJmy3Sb6.js} +1 -1
  147. package/dist/assets/localization-DxBUHiuu.js +1 -0
  148. package/dist/assets/{log-BSUm2QeV.js → log-yfx-YeX0.js} +1 -1
  149. package/dist/assets/{login-BXwy09YT.js → login-CBnpVuLH.js} +1 -1
  150. package/dist/assets/{login-oauth-callback-CrNNy4ro.js → login-oauth-callback-DhSyRbsE.js} +1 -1
  151. package/dist/assets/{logo-uploader-Blhm721C.js → logo-uploader-CbVnmlud.js} +3 -3
  152. package/dist/assets/{lost-passport-r7tegJSQ.js → lost-passport-DYISuGT6.js} +3 -3
  153. package/dist/assets/{lottie-Bw0llhbP.js → lottie-yg9CNUXF.js} +1 -1
  154. package/dist/assets/{notifications-CymYmkqD.js → notifications-sAYV5JP7.js} +1 -1
  155. package/dist/assets/{open-window-EH5UZ1B9.js → open-window-B3y-K43C.js} +1 -1
  156. package/dist/assets/overview-B2gi6-EB.js +12 -0
  157. package/dist/assets/{page-header-CGrnydWl.js → page-header-C178XWza.js} +1 -1
  158. package/dist/assets/{permission-VH_Fm7Pw.js → permission-C_C-c12n.js} +1 -1
  159. package/dist/assets/{preferences-D4Eq55c6.js → preferences-dJVu_aGA.js} +1 -1
  160. package/dist/assets/pt-DQT1OGc3.js +1 -0
  161. package/dist/assets/publish-resource-CmTtvQT5.js +1 -0
  162. package/dist/assets/react-ByKj6cfy.js +57 -0
  163. package/dist/assets/{redux-DN6s-mdl.js → redux-B09DmXDw.js} +1 -1
  164. package/dist/assets/{resource-dialog-uAYGlGhi.js → resource-dialog-BwEU4HN_.js} +1 -1
  165. package/dist/assets/ru-BnBjQSIA.js +1 -0
  166. package/dist/assets/sdk-CVUR4sWS.js +1 -0
  167. package/dist/assets/{selector-LFwadlX9.js → selector-C48VqXJG.js} +1 -1
  168. package/dist/assets/session-6dBAYf8V.js +1 -0
  169. package/dist/assets/setup-CW9Mc5ia.js +19 -0
  170. package/dist/assets/{shorten-label-DZrPE8HL.js → shorten-label-BFmx1uT0.js} +1 -1
  171. package/dist/assets/{slicedToArray-DEmwrQWd.js → slicedToArray-nXfwDj8Z.js} +1 -1
  172. package/dist/assets/{spaces-D6Mid5Z_.js → spaces-4Z8WLh5r.js} +1 -1
  173. package/dist/assets/{start-Dgs20fUu.js → start-CphZOBJ-.js} +1 -1
  174. package/dist/assets/{step-actions-CQZle7ap.js → step-actions-dsgNJO3G.js} +1 -1
  175. package/dist/assets/{studio-Bk3f_TnH.js → studio-CqWqozKn.js} +1 -1
  176. package/dist/assets/{switch-control-XeRJBgck.js → switch-control-Cfn8zFPo.js} +1 -1
  177. package/dist/assets/th-CGHFfwO3.js +1 -0
  178. package/dist/assets/{toUpper-D3wJMACz.js → toUpper-D5T8Q9sM.js} +1 -1
  179. package/dist/assets/{transfer-CJn1-1Hv.js → transfer-Cb9oltJL.js} +1 -1
  180. package/dist/assets/trim-DT0GIvSS.js +1 -0
  181. package/dist/assets/{uniqBy-DA6z7OdT.js → uniqBy-DcaH1r2Z.js} +1 -1
  182. package/dist/assets/{unsubscribe-FfeRFV57.js → unsubscribe-B_g1tnbx.js} +1 -1
  183. package/dist/assets/{url-join-5MzXbhiU.js → url-join-2JMT_sNX.js} +1 -1
  184. package/dist/assets/{use-blocklet-info-for-connect-did-spaces-C5KUrb2h.js → use-blocklet-info-for-connect-did-spaces-BdJyHLGD.js} +1 -1
  185. package/dist/assets/{use-mobile-mkcGNRhM.js → use-mobile-iaxCrChc.js} +1 -1
  186. package/dist/assets/{useAsync-ByBqdjCT.js → useAsync-BNwz4d_3.js} +1 -1
  187. package/dist/assets/{useFormControl-BA79DoOc.js → useFormControl-ZYiDKPwe.js} +1 -1
  188. package/dist/assets/{useLocalStorage-CmGNzDHX.js → useLocalStorage-DJ6SjiMe.js} +1 -1
  189. package/dist/assets/{useSetState-Cz7xEaUb.js → useSetState-1EVxD1ii.js} +1 -1
  190. package/dist/assets/{useSlot-CDa1PttK.js → useSlot-DEzPBH-O.js} +1 -1
  191. package/dist/assets/{useSlotProps-4qJAhdYR.js → useSlotProps-OKH9p37y.js} +1 -1
  192. package/dist/assets/{useThemeProps-B-j4MceL.js → useThemeProps-CYOsA0xw.js} +1 -1
  193. package/dist/assets/{user-center-lM3dah3G.js → user-center--iMqbkOW.js} +1 -1
  194. package/dist/assets/{user-sessions-Bf8PBzsX.js → user-sessions-CSjxxHUQ.js} +1 -1
  195. package/dist/assets/{util-CxaUEagR.js → util-BBc8rTnk.js} +1 -1
  196. package/dist/assets/vi-DmvzB5rE.js +1 -0
  197. package/dist/assets/wrap-locale-HTk2AmiE.js +1 -0
  198. package/dist/assets/zh-DdFcZXz5.js +2 -0
  199. package/dist/assets/zh-qFJGs7UR.js +1 -0
  200. package/dist/assets/zh-tw-DfkXr6W8.js +1 -0
  201. package/dist/index.html +1 -1
  202. package/dist/service-worker.js +1 -1
  203. package/package.json +18 -18
  204. package/dist/assets/api-DHCXgKlp.js +0 -1
  205. package/dist/assets/ar-BywPGmOa.js +0 -1
  206. package/dist/assets/de-qs3PjT55.js +0 -1
  207. package/dist/assets/domain-CRovIqk7.js +0 -9
  208. package/dist/assets/domain-list-DcneFIba.js +0 -15
  209. package/dist/assets/email-CeOASC0F.js +0 -9
  210. package/dist/assets/es-DXb9xB6c.js +0 -1
  211. package/dist/assets/fr-CMgZc3LR.js +0 -1
  212. package/dist/assets/hi-Ch52Lky6.js +0 -1
  213. package/dist/assets/id-_x67Rh2B.js +0 -1
  214. package/dist/assets/index-BNnk2PUZ.js +0 -262
  215. package/dist/assets/index.esm-CoLXjYXU.js +0 -1
  216. package/dist/assets/ja-BemsOTjE.js +0 -1
  217. package/dist/assets/ko-CqkhhVdi.js +0 -1
  218. package/dist/assets/localization-BW8TQLcf.js +0 -1
  219. package/dist/assets/overview-BpKMkNIP.js +0 -12
  220. package/dist/assets/pt-DZmF_qcN.js +0 -1
  221. package/dist/assets/publish-resource-CtKz6A2f.js +0 -1
  222. package/dist/assets/react-DJuQ-Z9X.js +0 -57
  223. package/dist/assets/ru-BFNdjdAO.js +0 -1
  224. package/dist/assets/sdk-BYKTwfxu.js +0 -1
  225. package/dist/assets/session-BG5hlQoH.js +0 -1
  226. package/dist/assets/setup-DckNmKNu.js +0 -19
  227. package/dist/assets/th-B61cOYck.js +0 -1
  228. package/dist/assets/vi-B884zOLu.js +0 -1
  229. package/dist/assets/wrap-locale-aLhwmHYY.js +0 -1
  230. package/dist/assets/zh-DjEnl7LY.js +0 -1
  231. package/dist/assets/zh-kNAPjCk5.js +0 -2
  232. package/dist/assets/zh-tw-Bn1Pkz9A.js +0 -1
@@ -8,8 +8,8 @@ const components_1 = require("@react-email/components");
8
8
  const attachments_1 = __importDefault(require("./attachments"));
9
9
  const actions_1 = __importDefault(require("./actions"));
10
10
  const highlight_1 = require("../libs/highlight");
11
- function Content({ title, content, attachments = [], actions = [], style = {}, locale, severity = 'normal', }) {
12
- return ((0, jsx_runtime_1.jsxs)(components_1.Section, { style: style, children: [(0, jsx_runtime_1.jsx)(components_1.Heading, { style: h1, children: title }), content && ((0, jsx_runtime_1.jsx)(components_1.Text, { className: "content", style: { whiteSpace: 'pre-line!important' }, dangerouslySetInnerHTML: { __html: (0, highlight_1.toClickableSpan)(content) } })), (0, jsx_runtime_1.jsx)(attachments_1.default, { severity: severity, attachments: attachments, locale: locale }), (0, jsx_runtime_1.jsx)(actions_1.default, { actions: actions })] }));
11
+ function Content({ title, content, attachments = [], actions = [], style = {}, locale, raw = false, severity = 'normal', }) {
12
+ return ((0, jsx_runtime_1.jsxs)(components_1.Section, { style: style, children: [(0, jsx_runtime_1.jsx)(components_1.Heading, { style: h1, children: title }), content && ((0, jsx_runtime_1.jsx)(components_1.Text, { className: "content", style: { whiteSpace: 'pre-line!important' }, dangerouslySetInnerHTML: { __html: raw ? content : (0, highlight_1.toClickableSpan)(content) } })), (0, jsx_runtime_1.jsx)(attachments_1.default, { severity: severity, attachments: attachments, locale: locale }), (0, jsx_runtime_1.jsx)(actions_1.default, { actions: actions })] }));
13
13
  }
14
14
  exports.default = Content;
15
15
  const h1 = {
@@ -10,8 +10,9 @@ 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 NotificationEmail = ({ title, body = '', subject, attachments = [], actions = [], appInfo, locale = 'en', severity = 'normal', unsubscribeToken, userInfo, }) => {
14
- 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: container, title: title, content: body, attachments: attachments, actions: actions, locale: locale, severity: severity }), (0, jsx_runtime_1.jsx)(footer_1.default, { showCopyright: false, showBlocklet: true, appInfo: appInfo, locale: locale, unsubscribeToken: unsubscribeToken, userInfo: userInfo })] }));
13
+ const NotificationEmail = ({ title, body = '', raw = false, // do not convert body to clickable span
14
+ subject, attachments = [], actions = [], appInfo, locale = 'en', severity = 'normal', unsubscribeToken, userInfo, }) => {
15
+ 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: container, title: title, content: body, attachments: attachments, actions: actions, locale: locale, severity: severity, raw: raw }), (0, jsx_runtime_1.jsx)(footer_1.default, { showCopyright: false, showBlocklet: true, appInfo: appInfo, locale: locale, unsubscribeToken: unsubscribeToken, userInfo: userInfo })] }));
15
16
  };
16
17
  exports.NotificationEmail = NotificationEmail;
17
18
  exports.default = exports.NotificationEmail;
@@ -1,7 +1,6 @@
1
1
  // Holds shared logic for session-manager v1 and v2
2
2
  const get = require('lodash/get');
3
3
  const merge = require('lodash/merge');
4
- const pick = require('lodash/pick');
5
4
  const { joinURL } = require('ufo');
6
5
  const formatContext = require('@abtnode/util/lib/format-context');
7
6
  const { extractUserAvatar, getAppAvatarUrl } = require('@abtnode/util/lib/user');
@@ -59,6 +58,7 @@ const {
59
58
  getFederatedMaster,
60
59
  shouldSyncFederated,
61
60
  getUserWithinFederated,
61
+ syncFederatedUser,
62
62
  } = require('../../util/federated');
63
63
  const { Profile } = require('../../state/profile');
64
64
 
@@ -813,38 +813,7 @@ module.exports = {
813
813
  node
814
814
  );
815
815
 
816
- const syncUserData = pick(doc, [
817
- 'did',
818
- 'pk',
819
- 'fullName',
820
- 'avatar',
821
- 'email',
822
- 'phone',
823
- 'url',
824
- 'inviter',
825
- 'generation',
826
- 'emailVerified',
827
- 'phoneVerified',
828
- ]);
829
- if (syncUserData.avatar) {
830
- syncUserData.avatar = getUserAvatarUrl(syncUserData.avatar, blocklet);
831
- }
832
- const masterSite = getFederatedMaster(blocklet);
833
- // NOTICE: 采用异步来更新,不阻塞接口的正常响应
834
- if (shouldSyncFederated(sourceAppPid, blocklet)) {
835
- node.syncFederated({
836
- did: teamDid,
837
- data: {
838
- users: [
839
- {
840
- ...syncUserData,
841
- action: 'switchProfile',
842
- sourceAppPid: sourceAppPid || masterSite.appPid,
843
- },
844
- ],
845
- },
846
- });
847
- }
816
+ syncFederatedUser(blocklet, node, doc, sourceAppPid);
848
817
 
849
818
  // @NOTE: 异步地刷新 profile
850
819
  Profile.refresh({
@@ -1163,6 +1132,9 @@ module.exports = {
1163
1132
  pk: userPk,
1164
1133
  lastLoginAt: currentTime,
1165
1134
  firstLoginAt: currentTime,
1135
+ userInfo: {
1136
+ wallet: request.context.didwallet,
1137
+ },
1166
1138
  };
1167
1139
 
1168
1140
  await node.updateUser({
package/api/libs/email.js CHANGED
@@ -12,7 +12,11 @@ const schemaEmail = Joi.string().email().required();
12
12
 
13
13
  const validateEmail = schemaEmail.validateAsync.bind(schemaEmail);
14
14
 
15
- async function sendEmail(receiver, notification, { teamDid, node, locale, unsubscribeToken = '', userInfo = {} }) {
15
+ async function sendEmail(
16
+ receiver,
17
+ notification,
18
+ { teamDid, node, locale, unsubscribeToken = '', userInfo = {}, raw = false }
19
+ ) {
16
20
  if (!receiver) {
17
21
  throw new Error('receiver is required');
18
22
  }
@@ -61,6 +65,7 @@ async function sendEmail(receiver, notification, { teamDid, node, locale, unsubs
61
65
  ...notification,
62
66
  appInfo,
63
67
  locale,
68
+ raw,
64
69
  unsubscribeToken,
65
70
  userInfo: {
66
71
  ...userInfo,
package/api/libs/kyc.js CHANGED
@@ -1,12 +1,15 @@
1
1
  const get = require('lodash/get');
2
2
  const uniq = require('lodash/uniq');
3
3
  const pick = require('lodash/pick');
4
+ const trim = require('lodash/trim');
4
5
  const semver = require('semver');
5
6
  const { messages, getVCFromClaims } = require('@abtnode/auth/lib/auth');
6
7
  const { getPassportClaimUrl, getKycAcquireUrl } = require('@abtnode/auth/lib/passport');
8
+ const logger = require('@abtnode/logger')('@abtnode/blocklet-services/kyc');
7
9
 
8
10
  const { getTrustedIssuers } = require('../util/blocklet-utils');
9
11
  const { PASSPORT_VC_TYPES } = require('./auth/utils');
12
+ const { api } = require('./api');
10
13
 
11
14
  const getPassportVc = async ({ blocklet, claims, challenge, locale, sourceAppPid, types = PASSPORT_VC_TYPES }) => {
12
15
  const trustedIssuers = await getTrustedIssuers(blocklet, { sourceAppPid });
@@ -39,6 +42,35 @@ function isProfileUrlSupported(didWallet) {
39
42
  return webCanUse || iosCanUse || androidCanUse;
40
43
  }
41
44
 
45
+ function createEmailDomainChecker(toggleField, listField, valueOnDisabled = false) {
46
+ return async (blocklet, email) => {
47
+ if (!email) {
48
+ return false;
49
+ }
50
+ let domain = email.split('@')[1];
51
+ if (!domain) {
52
+ return false;
53
+ }
54
+ domain = domain.toLowerCase();
55
+
56
+ const config = blocklet.settings?.session?.email || {};
57
+ if (!config[toggleField]) {
58
+ return valueOnDisabled;
59
+ }
60
+ if (!config[listField] || !Array.isArray(config[listField]) || config[listField].length === 0) {
61
+ return valueOnDisabled;
62
+ }
63
+
64
+ const results = await Promise.allSettled(config[listField].map((x) => api.get(x, { timeout: 5000 })));
65
+ const data = results
66
+ .filter((x) => x.status === 'fulfilled' && x.value.data)
67
+ .map((x) => (x.value.data || '').split('\n').map(trim));
68
+ return data.some((x) => x.includes(domain));
69
+ };
70
+ }
71
+ const isEmailBlocked = createEmailDomainChecker('enableDomainBlackList', 'domainBlackList', false);
72
+ const isEmailAllowed = createEmailDomainChecker('enableDomainWhiteList', 'domainWhiteList', true);
73
+
42
74
  /**
43
75
  * @description
44
76
  * @param {object} settings
@@ -148,6 +180,18 @@ async function verifyKycClaims({ node, blocklet, teamDid, claims, challenge, loc
148
180
  if (profile?.email && profile.email !== email) {
149
181
  throw new Error(messages.emailMismatch[locale]);
150
182
  }
183
+
184
+ const allowed = await isEmailAllowed(blocklet, email);
185
+ if (!allowed) {
186
+ logger.warn('Email domain is not allowed', { teamDid, email });
187
+ throw new Error(messages.emailBlocked[locale]);
188
+ }
189
+ const blocked = await isEmailBlocked(blocklet, email);
190
+ if (blocked) {
191
+ logger.warn('Email domain is blocked', { teamDid, email });
192
+ throw new Error(messages.emailBlocked[locale]);
193
+ }
194
+
151
195
  if (!user && isEmailUniqueRequired(blocklet)) {
152
196
  const isEmailUsed = await node.isEmailUsed({ teamDid, email, verified: true });
153
197
  if (isEmailUsed) {
@@ -157,6 +201,17 @@ async function verifyKycClaims({ node, blocklet, teamDid, claims, challenge, loc
157
201
 
158
202
  kycUpdates.emailVerified = true;
159
203
  } else if (!user && profile?.email && isEmailUniqueRequired(blocklet)) {
204
+ const allowed = await isEmailAllowed(blocklet, profile.email);
205
+ if (!allowed) {
206
+ logger.warn('Email domain is not allowed', { teamDid, email: profile.email });
207
+ throw new Error(messages.emailBlocked[locale]);
208
+ }
209
+ const blocked = await isEmailBlocked(blocklet, profile.email);
210
+ if (blocked) {
211
+ logger.warn('Email domain is blocked', { teamDid, email: profile.email });
212
+ throw new Error(messages.emailBlocked[locale]);
213
+ }
214
+
160
215
  const isEmailUsed = await node.isEmailUsed({ teamDid, email: profile.email, verified: false });
161
216
  if (isEmailUsed) {
162
217
  throw new Error(messages.emailAlreadyUsed[locale]);
@@ -210,4 +265,6 @@ module.exports = {
210
265
  getKycClaims,
211
266
  verifyKycClaims,
212
267
  getPassportVc,
268
+ isEmailBlocked,
269
+ isEmailAllowed,
213
270
  };
@@ -91,17 +91,17 @@ function mergeOpenAPI(dataList, { blocklet }) {
91
91
  }
92
92
 
93
93
  async function generateOpenAPIData({ blocklet, did }) {
94
- const blockletCompontList = blocklet?.children || [];
94
+ const blockletComponents = blocklet?.children || [];
95
95
  const appUrl = blocklet?.environmentObj?.BLOCKLET_APP_URL;
96
96
  const healthCheckUrl = joinURL(appUrl, '.well-known/service/health');
97
97
  const { data: healthCheckData } = await api.get(healthCheckUrl);
98
- const runningCompontList = blockletCompontList.filter((x) => {
98
+ const runningComponents = blockletComponents.filter((x) => {
99
99
  const status = healthCheckData.components?.[x.meta.did];
100
100
  return status?.running === true;
101
101
  });
102
102
  // 单个 component
103
103
  if (did) {
104
- const findComponent = runningCompontList.find((component) => component?.meta?.did === did);
104
+ const findComponent = runningComponents.find((component) => component?.meta?.did === did);
105
105
  if (findComponent) {
106
106
  const result = getComponentOpenAPIData(findComponent, { baseUrl: appUrl });
107
107
  return result;
@@ -109,7 +109,7 @@ async function generateOpenAPIData({ blocklet, did }) {
109
109
  return null;
110
110
  }
111
111
  // 多个 component 组合
112
- const componentListData = await pMap(runningCompontList, (x) => getComponentOpenAPIData(x, { baseUrl: appUrl }));
112
+ const componentListData = await pMap(runningComponents, (x) => getComponentOpenAPIData(x, { baseUrl: appUrl }));
113
113
  const result = mergeOpenAPI(componentListData, { blocklet });
114
114
  return result;
115
115
  }
@@ -87,17 +87,17 @@ function mergeOpenComponent(dataList, { blocklet }) {
87
87
  }
88
88
 
89
89
  async function generateOpenComponentData({ blocklet, did }) {
90
- const blockletCompontList = blocklet?.children || [];
90
+ const blockletComponents = blocklet?.children || [];
91
91
  const appUrl = blocklet?.environmentObj?.BLOCKLET_APP_URL;
92
92
  const healthCheckUrl = joinURL(appUrl, '.well-known/service/health');
93
93
  const { data: healthCheckData } = await api.get(healthCheckUrl);
94
- const runningCompontList = blockletCompontList.filter((x) => {
94
+ const runningComponents = blockletComponents.filter((x) => {
95
95
  const status = healthCheckData.components?.[x.meta.did];
96
96
  return status?.running === true;
97
97
  });
98
98
  // 单个 component
99
99
  if (did) {
100
- const findComponent = runningCompontList.find((component) => component?.meta?.did === did);
100
+ const findComponent = runningComponents.find((component) => component?.meta?.did === did);
101
101
  if (findComponent) {
102
102
  const result = getComponentOpenComponentData(findComponent, { baseUrl: appUrl });
103
103
  return result;
@@ -105,9 +105,7 @@ async function generateOpenComponentData({ blocklet, did }) {
105
105
  return null;
106
106
  }
107
107
  // 多个 component 组合
108
- const componentListData = await pMap(runningCompontList, (x) =>
109
- getComponentOpenComponentData(x, { baseUrl: appUrl })
110
- );
108
+ const componentListData = await pMap(runningComponents, (x) => getComponentOpenComponentData(x, { baseUrl: appUrl }));
111
109
  const result = mergeOpenComponent(componentListData, { blocklet });
112
110
  return result;
113
111
  }
@@ -1,5 +1,6 @@
1
1
  const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
2
2
  const { BLOCKLET_OPENEMBED_PREFIX } = require('@blocklet/constant');
3
+ const formatError = require('@abtnode/util/lib/format-error');
3
4
  const pMap = require('p-map');
4
5
  const YAML = require('yaml');
5
6
  const { joinURL, withQuery, withLeadingSlash, withoutTrailingSlash } = require('ufo');
@@ -25,7 +26,7 @@ async function getComponentOpenEmbedData(component) {
25
26
  result = JSON.parse(result);
26
27
  }
27
28
  } catch (err) {
28
- console.error('openembed.json parse error', err);
29
+ console.error('openembed.json parse error', formatError(err));
29
30
  return null;
30
31
  }
31
32
 
@@ -107,17 +108,17 @@ async function mergeOpenEmbed(dataList, { blocklet, node }) {
107
108
  }
108
109
 
109
110
  async function generateOpenEmbedData({ blocklet, did, node }) {
110
- const blockletCompontList = blocklet?.children || [];
111
+ const blockletComponents = blocklet?.children || [];
111
112
  const appUrl = blocklet?.environmentObj?.BLOCKLET_APP_URL;
112
113
  const healthCheckUrl = joinURL(appUrl, '/.well-known/service/health');
113
114
  const { data: healthCheckData } = await api.get(healthCheckUrl);
114
- const runningCompontList = blockletCompontList.filter((x) => {
115
+ const runningComponents = blockletComponents.filter((x) => {
115
116
  const status = healthCheckData.components?.[x.meta.did];
116
117
  return hasStartEngine(x?.meta) && status?.running === true;
117
118
  });
118
119
  // 单个 component
119
120
  if (did) {
120
- const findComponent = runningCompontList.find((component) => component?.meta?.did === did);
121
+ const findComponent = runningComponents.find((component) => component?.meta?.did === did);
121
122
  if (findComponent) {
122
123
  const result = getComponentOpenEmbedData(findComponent, { baseUrl: appUrl });
123
124
  return result;
@@ -125,7 +126,7 @@ async function generateOpenEmbedData({ blocklet, did, node }) {
125
126
  return null;
126
127
  }
127
128
  // 多个 component 组合
128
- const componentListData = await pMap(runningCompontList, (x) => getComponentOpenEmbedData(x, { baseUrl: appUrl }), {
129
+ const componentListData = await pMap(runningComponents, (x) => getComponentOpenEmbedData(x, { baseUrl: appUrl }), {
129
130
  concurrency: 3,
130
131
  stopOnError: false,
131
132
  });
@@ -3,6 +3,7 @@ const logger = require('../../../libs/logger')(require('../../../../package.json
3
3
 
4
4
  const { onConnect, onApprove, authPrincipal } = bindWallet;
5
5
 
6
+ // eslint-disable-next-line no-unused-vars
6
7
  module.exports = function createRoutes(node, authenticator, createSessionToken) {
7
8
  return {
8
9
  action: 'bind-wallet',
@@ -24,27 +25,16 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
24
25
  });
25
26
  },
26
27
 
27
- onAuth: async ({
28
- claims,
29
- challenge,
30
- userDid,
31
- userPk,
32
- extraParams: { locale, componentId, previousUserDid },
33
- req,
34
- baseUrl,
35
- }) => {
28
+ onAuth: async ({ claims, userDid, userPk, extraParams: { locale, previousUserDid }, req, baseUrl }) => {
36
29
  try {
37
30
  const result = await onApprove({
38
31
  node,
39
32
  request: req,
40
33
  locale,
41
- challenge,
42
34
  userDid,
43
35
  userPk,
44
36
  baseUrl,
45
37
  claims,
46
- createSessionToken,
47
- componentId,
48
38
  previousUserDid,
49
39
  });
50
40
 
@@ -1,6 +1,7 @@
1
1
  const { messages } = require('@abtnode/auth/lib/auth');
2
2
  const { getKycClaims, verifyKycClaims, getProfileItems, isProfileClaimRequired } = require('../../../libs/kyc');
3
3
  const { getTrustedIssuers } = require('../../../util/blocklet-utils');
4
+ const { syncFederatedUser } = require('../../../util/federated');
4
5
 
5
6
  // Used to update user kyc status using existing certificates
6
7
  // eslint-disable-next-line no-unused-vars
@@ -34,7 +35,12 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
34
35
  }
35
36
 
36
37
  const trustedIssuers = await getTrustedIssuers(blocklet, { sourceAppPid });
37
- return Object.assign(claims, getKycClaims(blocklet, user, locale, baseUrl, trustedIssuers));
38
+ Object.assign(claims, getKycClaims(blocklet, user, locale, baseUrl, trustedIssuers));
39
+ if (Object.keys(claims).length === 0) {
40
+ throw new Error(messages.noKycRequired[locale]);
41
+ }
42
+
43
+ return claims;
38
44
  },
39
45
 
40
46
  onAuth: async ({ userDid, claims, challenge, extraParams, request }) => {
@@ -78,12 +84,14 @@ module.exports = function createRoutes(node, authenticator, createSessionToken)
78
84
  teamDid: blocklet.appPid,
79
85
  user: {
80
86
  did: user.did,
81
- kycChanged: true,
82
87
  ...kycUpdates,
83
88
  ...profileUpdates,
84
89
  },
85
90
  });
86
91
 
92
+ // 同步到站点群
93
+ syncFederatedUser(blocklet, node, updatedUser, sourceAppPid);
94
+
87
95
  return updatedUser;
88
96
  },
89
97
  };
@@ -1,7 +1,7 @@
1
- const { WELLKNOWN_SERVICE_PATH_PREFIX } = require('@abtnode/constant');
1
+ const { WELLKNOWN_SERVICE_PATH_PREFIX, VERIFY_CODE_TTL } = require('@abtnode/constant');
2
2
  const { emailSchema } = require('../../socket/channel/did');
3
3
  const { sendEmail } = require('../../libs/email');
4
- const { isEmailKycRequired, isEmailUniqueRequired } = require('../../libs/kyc');
4
+ const { isEmailKycRequired, isEmailUniqueRequired, isEmailBlocked, isEmailAllowed } = require('../../libs/kyc');
5
5
 
6
6
  const logger = require('../../libs/logger')('kyc');
7
7
 
@@ -33,6 +33,24 @@ const init = ({ node }) => {
33
33
  }
34
34
  }
35
35
 
36
+ const isAllowed = await isEmailAllowed(blocklet, subject);
37
+ if (!isAllowed) {
38
+ logger.warn('Email domain is not allowed', { teamDid, subject });
39
+ return res.status(400).send({
40
+ error: 'Email domain is not allowed, please use another email',
41
+ code: 'email_not_allowed',
42
+ });
43
+ }
44
+
45
+ const isBlocked = await isEmailBlocked(blocklet, subject);
46
+ if (isBlocked) {
47
+ logger.warn('Email domain is blocked', { teamDid, subject });
48
+ return res.status(400).send({
49
+ error: 'Email domain is blocked, please use another email',
50
+ code: 'email_blocked',
51
+ });
52
+ }
53
+
36
54
  if (await node.isSubjectSent({ teamDid, subject })) {
37
55
  return res.status(400).send({
38
56
  error: 'Email is already sent, please check your inbox, or retry later',
@@ -47,12 +65,16 @@ const init = ({ node }) => {
47
65
  subject,
48
66
  {
49
67
  title: `Verify Your Email on ${info.name}`,
50
- body: `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 certificate in your DID Wallet upon verification.\n\nYour verify code is ${doc.code}, please use it within 30 minutes.\n\nThank you for taking the time to enhance your account's security.`,
68
+ body: `<p style="font-size:14px;line-height:24px;margin:16px 0;">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 certificate in your DID Wallet upon verification.</p>
69
+ <p style="font-size:36px; line-height:24px; color: #333; font-weight: bold; text-align: center;">${doc.code}</p>
70
+ <p style="font-size:14px;line-height:24px;margin:16px 0;">This code is valid for ${VERIFY_CODE_TTL / 60 / 1000} minutes. If you don't want to verify your email, you can ignore this message.</p>
71
+ <p style="font-size:14px;line-height:24px;margin:16px 0;">${info.name} will never email you and ask you to disclose your password, credit card, or banking account number. </p>`,
51
72
  },
52
73
  {
53
74
  teamDid,
54
75
  node,
55
76
  locale: req.query.locale,
77
+ raw: true,
56
78
  }
57
79
  );
58
80
  logger.info('send verify code', { teamDid, result });
@@ -67,8 +89,6 @@ const init = ({ node }) => {
67
89
 
68
90
  const onEndEmailVerify = async (req, res) => {
69
91
  try {
70
- logger.info('onEndEmailVerify', { payload: req.body, user: req.user });
71
-
72
92
  const blocklet = await req.getBlocklet();
73
93
  const teamDid = blocklet.meta.did;
74
94
 
@@ -132,6 +132,40 @@ async function getUserWithinFederated({ userDid, userPk, teamDid, sourceAppPid }
132
132
  return currentUser;
133
133
  }
134
134
 
135
+ function syncFederatedUser(blocklet, node, user, sourceAppPid) {
136
+ const masterSite = getFederatedMaster(blocklet);
137
+ if (shouldSyncFederated(sourceAppPid, blocklet)) {
138
+ const data = pick(user, [
139
+ 'did',
140
+ 'pk',
141
+ 'fullName',
142
+ 'avatar',
143
+ 'email',
144
+ 'phone',
145
+ 'url',
146
+ 'inviter',
147
+ 'generation',
148
+ 'emailVerified',
149
+ 'phoneVerified',
150
+ ]);
151
+ if (data.avatar) {
152
+ data.avatar = getUserAvatarUrl(data.avatar, blocklet);
153
+ }
154
+ node.syncFederated({
155
+ did: blocklet.appPid,
156
+ data: {
157
+ users: [
158
+ {
159
+ ...data,
160
+ action: 'switchProfile',
161
+ sourceAppPid: sourceAppPid || masterSite.appPid,
162
+ },
163
+ ],
164
+ },
165
+ });
166
+ }
167
+ }
168
+
135
169
  module.exports = {
136
170
  isMaster,
137
171
  shouldSyncFederated,
@@ -142,4 +176,5 @@ module.exports = {
142
176
  getOAuthUserInfo,
143
177
  loginByMember,
144
178
  getUserWithinFederated,
179
+ syncFederatedUser,
145
180
  };
@@ -1 +1 @@
1
- import{X as r,Y as t,j as a}from"./index-CEaTcEQs.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var d=e.default=void 0,v=u(r()),o=a;d=e.default=(0,v.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");export{d};
1
+ import{X as r,Y as t,j as a}from"./index-BP0e3trc.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var d=e.default=void 0,v=u(r()),o=a;d=e.default=(0,v.default)((0,o.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");export{d};
@@ -1 +1 @@
1
- import{aE as w,aF as H,at as c,j as e,aG as d,ai as T,aH as g,cd as y,ce as I,aK as n,r as _,aI as F,aJ as U,aC as V,aM as Z,aN as D}from"./index-CEaTcEQs.js";import{u as M}from"./useSlot-CDa1PttK.js";function G(t){return H("MuiAlert",t)}const S=w("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),J=c(e.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),K=c(e.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),q=c(e.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Q=c(e.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),X=c(e.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Y=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],tt=t=>{const{variant:s,color:r,severity:o,classes:l}=t,u={root:["root",`color${g(r||o)}`,`${s}${g(r||o)}`,`${s}`],icon:["icon"],message:["message"],action:["action"]};return D(u,G,l)},ot=d(T,{name:"MuiAlert",slot:"Root",overridesResolver:(t,s)=>{const{ownerState:r}=t;return[s.root,s[r.variant],s[`${r.variant}${g(r.color||r.severity)}`]]}})(({theme:t})=>{const s=t.palette.mode==="light"?y:I,r=t.palette.mode==="light"?I:y;return n({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(([,o])=>o.main&&o.light).map(([o])=>({props:{colorSeverity:o,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:s(t.palette[o].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${o}StandardBg`]:r(t.palette[o].light,.9),[`& .${S.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}})),...Object.entries(t.palette).filter(([,o])=>o.main&&o.light).map(([o])=>({props:{colorSeverity:o,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:s(t.palette[o].light,.6),border:`1px solid ${(t.vars||t).palette[o].light}`,[`& .${S.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}})),...Object.entries(t.palette).filter(([,o])=>o.main&&o.dark).map(([o])=>({props:{colorSeverity:o,variant:"filled"},style:n({fontWeight:t.typography.fontWeightMedium},t.vars?{color:t.vars.palette.Alert[`${o}FilledColor`],backgroundColor:t.vars.palette.Alert[`${o}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[o].dark:t.palette[o].main,color:t.palette.getContrastText(t.palette[o].main)})}))]})}),st=d("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,s)=>s.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),et=d("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,s)=>s.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),j=d("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,s)=>s.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),z={success:e.jsx(J,{fontSize:"inherit"}),warning:e.jsx(K,{fontSize:"inherit"}),error:e.jsx(q,{fontSize:"inherit"}),info:e.jsx(Q,{fontSize:"inherit"})},nt=_.forwardRef(function(s,r){const o=F({props:s,name:"MuiAlert"}),{action:l,children:u,className:$,closeText:v="Close",color:f,components:x={},componentsProps:L={},icon:C,iconMapping:b=z,onClose:A,role:h="alert",severity:p="success",slotProps:P={},slots:R={},variant:O="standard"}=o,k=U(o,Y),a=n({},o,{color:f,severity:p,variant:O,colorSeverity:f||p}),i=tt(a),m={slots:n({closeButton:x.CloseButton,closeIcon:x.CloseIcon},R),slotProps:n({},L,P)},[B,E]=M("closeButton",{elementType:V,externalForwardedProps:m,ownerState:a}),[N,W]=M("closeIcon",{elementType:X,externalForwardedProps:m,ownerState:a});return e.jsxs(ot,n({role:h,elevation:0,ownerState:a,className:Z(i.root,$),ref:r},k,{children:[C!==!1?e.jsx(st,{ownerState:a,className:i.icon,children:C||b[p]||z[p]}):null,e.jsx(et,{ownerState:a,className:i.message,children:u}),l!=null?e.jsx(j,{ownerState:a,className:i.action,children:l}):null,l==null&&A?e.jsx(j,{ownerState:a,className:i.action,children:e.jsx(B,n({size:"small","aria-label":v,title:v,color:"inherit",onClick:A},E,{children:e.jsx(N,n({fontSize:"small"},W))}))}):null]}))});export{nt as A,X as C};
1
+ import{aE as w,aF as H,at as c,j as e,aG as d,ai as T,aH as g,cd as y,ce as I,aK as n,r as _,aI as F,aJ as U,aC as V,aM as Z,aN as D}from"./index-BP0e3trc.js";import{u as M}from"./useSlot-DEzPBH-O.js";function G(t){return H("MuiAlert",t)}const S=w("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),J=c(e.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),K=c(e.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),q=c(e.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),Q=c(e.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),X=c(e.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Y=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],tt=t=>{const{variant:s,color:r,severity:o,classes:l}=t,u={root:["root",`color${g(r||o)}`,`${s}${g(r||o)}`,`${s}`],icon:["icon"],message:["message"],action:["action"]};return D(u,G,l)},ot=d(T,{name:"MuiAlert",slot:"Root",overridesResolver:(t,s)=>{const{ownerState:r}=t;return[s.root,s[r.variant],s[`${r.variant}${g(r.color||r.severity)}`]]}})(({theme:t})=>{const s=t.palette.mode==="light"?y:I,r=t.palette.mode==="light"?I:y;return n({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(t.palette).filter(([,o])=>o.main&&o.light).map(([o])=>({props:{colorSeverity:o,variant:"standard"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:s(t.palette[o].light,.6),backgroundColor:t.vars?t.vars.palette.Alert[`${o}StandardBg`]:r(t.palette[o].light,.9),[`& .${S.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}})),...Object.entries(t.palette).filter(([,o])=>o.main&&o.light).map(([o])=>({props:{colorSeverity:o,variant:"outlined"},style:{color:t.vars?t.vars.palette.Alert[`${o}Color`]:s(t.palette[o].light,.6),border:`1px solid ${(t.vars||t).palette[o].light}`,[`& .${S.icon}`]:t.vars?{color:t.vars.palette.Alert[`${o}IconColor`]}:{color:t.palette[o].main}}})),...Object.entries(t.palette).filter(([,o])=>o.main&&o.dark).map(([o])=>({props:{colorSeverity:o,variant:"filled"},style:n({fontWeight:t.typography.fontWeightMedium},t.vars?{color:t.vars.palette.Alert[`${o}FilledColor`],backgroundColor:t.vars.palette.Alert[`${o}FilledBg`]}:{backgroundColor:t.palette.mode==="dark"?t.palette[o].dark:t.palette[o].main,color:t.palette.getContrastText(t.palette[o].main)})}))]})}),st=d("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(t,s)=>s.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),et=d("div",{name:"MuiAlert",slot:"Message",overridesResolver:(t,s)=>s.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),j=d("div",{name:"MuiAlert",slot:"Action",overridesResolver:(t,s)=>s.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),z={success:e.jsx(J,{fontSize:"inherit"}),warning:e.jsx(K,{fontSize:"inherit"}),error:e.jsx(q,{fontSize:"inherit"}),info:e.jsx(Q,{fontSize:"inherit"})},nt=_.forwardRef(function(s,r){const o=F({props:s,name:"MuiAlert"}),{action:l,children:u,className:$,closeText:v="Close",color:f,components:x={},componentsProps:L={},icon:C,iconMapping:b=z,onClose:A,role:h="alert",severity:p="success",slotProps:P={},slots:R={},variant:O="standard"}=o,k=U(o,Y),a=n({},o,{color:f,severity:p,variant:O,colorSeverity:f||p}),i=tt(a),m={slots:n({closeButton:x.CloseButton,closeIcon:x.CloseIcon},R),slotProps:n({},L,P)},[B,E]=M("closeButton",{elementType:V,externalForwardedProps:m,ownerState:a}),[N,W]=M("closeIcon",{elementType:X,externalForwardedProps:m,ownerState:a});return e.jsxs(ot,n({role:h,elevation:0,ownerState:a,className:Z(i.root,$),ref:r},k,{children:[C!==!1?e.jsx(st,{ownerState:a,className:i.icon,children:C||b[p]||z[p]}):null,e.jsx(et,{ownerState:a,className:i.message,children:u}),l!=null?e.jsx(j,{ownerState:a,className:i.action,children:l}):null,l==null&&A?e.jsx(j,{ownerState:a,className:i.action,children:e.jsx(B,n({size:"small","aria-label":v,title:v,color:"inherit",onClick:A},E,{children:e.jsx(N,n({fontSize:"small"},W))}))}):null]}))});export{nt as A,X as C};
@@ -1 +1 @@
1
- import{X as r,Y as t,j as a}from"./index-CEaTcEQs.js";var e={},o=t;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(r()),p=a;u=e.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
1
+ import{X as r,Y as t,j as a}from"./index-BP0e3trc.js";var e={},o=t;Object.defineProperty(e,"__esModule",{value:!0});var u=e.default=void 0,i=o(r()),p=a;u=e.default=(0,i.default)((0,p.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");export{u as d};
@@ -1 +1 @@
1
- import{at as w,j as u,aF as C,aE as D,aG as m,aK as l,r as g,aI as F,aJ as M,aM as N,aN as z}from"./index-CEaTcEQs.js";import{u as E}from"./useSlot-CDa1PttK.js";const U=w(u.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function L(a){return C("MuiAvatar",a)}D("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]);const _=["alt","children","className","component","slots","slotProps","imgProps","sizes","src","srcSet","variant"],q=a=>{const{classes:t,variant:o,colorDefault:r}=a;return z({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},L,t)},T=m("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(a,t)=>{const{ownerState:o}=a;return[t.root,t[o.variant],o.colorDefault&&t.colorDefault]}})(({theme:a})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:a.typography.fontFamily,fontSize:a.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(a.vars||a).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:l({color:(a.vars||a).palette.background.default},a.vars?{backgroundColor:a.vars.palette.Avatar.defaultBg}:l({backgroundColor:a.palette.grey[400]},a.applyStyles("dark",{backgroundColor:a.palette.grey[600]})))}]})),B=m("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(a,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),G=m(U,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(a,t)=>t.fallback})({width:"75%",height:"75%"});function H({crossOrigin:a,referrerPolicy:t,src:o,srcSet:r}){const[n,s]=g.useState(!1);return g.useEffect(()=>{if(!o&&!r)return;s(!1);let i=!0;const e=new Image;return e.onload=()=>{i&&s("loaded")},e.onerror=()=>{i&&s("error")},e.crossOrigin=a,e.referrerPolicy=t,e.src=o,r&&(e.srcset=r),()=>{i=!1}},[a,t,o,r]),n}const W=g.forwardRef(function(t,o){const r=F({props:t,name:"MuiAvatar"}),{alt:n,children:s,className:i,component:e="div",slots:h={},slotProps:A={},imgProps:y,sizes:k,src:p,srcSet:f,variant:P="circular"}=r,R=M(r,_);let c=null;const I=H(l({},y,{src:p,srcSet:f})),b=p||f,x=b&&I!=="error",d=l({},r,{colorDefault:!x,component:e,variant:P}),v=q(d),[S,j]=E("img",{className:v.img,elementType:B,externalForwardedProps:{slots:h,slotProps:{img:l({},y,A.img)}},additionalProps:{alt:n,src:p,srcSet:f,sizes:k},ownerState:d});return x?c=u.jsx(S,l({},j)):s||s===0?c=s:b&&n?c=n[0]:c=u.jsx(G,{ownerState:d,className:v.fallback}),u.jsx(T,l({as:e,ownerState:d,className:N(v.root,i),ref:o},R,{children:c}))});export{W as A};
1
+ import{at as w,j as u,aF as C,aE as D,aG as m,aK as l,r as g,aI as F,aJ as M,aM as N,aN as z}from"./index-BP0e3trc.js";import{u as E}from"./useSlot-DEzPBH-O.js";const U=w(u.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function L(a){return C("MuiAvatar",a)}D("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]);const _=["alt","children","className","component","slots","slotProps","imgProps","sizes","src","srcSet","variant"],q=a=>{const{classes:t,variant:o,colorDefault:r}=a;return z({root:["root",o,r&&"colorDefault"],img:["img"],fallback:["fallback"]},L,t)},T=m("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(a,t)=>{const{ownerState:o}=a;return[t.root,t[o.variant],o.colorDefault&&t.colorDefault]}})(({theme:a})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:a.typography.fontFamily,fontSize:a.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(a.vars||a).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:l({color:(a.vars||a).palette.background.default},a.vars?{backgroundColor:a.vars.palette.Avatar.defaultBg}:l({backgroundColor:a.palette.grey[400]},a.applyStyles("dark",{backgroundColor:a.palette.grey[600]})))}]})),B=m("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(a,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),G=m(U,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(a,t)=>t.fallback})({width:"75%",height:"75%"});function H({crossOrigin:a,referrerPolicy:t,src:o,srcSet:r}){const[n,s]=g.useState(!1);return g.useEffect(()=>{if(!o&&!r)return;s(!1);let i=!0;const e=new Image;return e.onload=()=>{i&&s("loaded")},e.onerror=()=>{i&&s("error")},e.crossOrigin=a,e.referrerPolicy=t,e.src=o,r&&(e.srcset=r),()=>{i=!1}},[a,t,o,r]),n}const W=g.forwardRef(function(t,o){const r=F({props:t,name:"MuiAvatar"}),{alt:n,children:s,className:i,component:e="div",slots:h={},slotProps:A={},imgProps:y,sizes:k,src:p,srcSet:f,variant:P="circular"}=r,R=M(r,_);let c=null;const I=H(l({},y,{src:p,srcSet:f})),b=p||f,x=b&&I!=="error",d=l({},r,{colorDefault:!x,component:e,variant:P}),v=q(d),[S,j]=E("img",{className:v.img,elementType:B,externalForwardedProps:{slots:h,slotProps:{img:l({},y,A.img)}},additionalProps:{alt:n,src:p,srcSet:f,sizes:k},ownerState:d});return x?c=u.jsx(S,l({},j)):s||s===0?c=s:b&&n?c=n[0]:c=u.jsx(G,{ownerState:d,className:v.fallback}),u.jsx(T,l({as:e,ownerState:d,className:N(v.root,i),ref:o},R,{children:c}))});export{W as A};
@@ -1 +1 @@
1
- import{r as g,aE as j,aF as M,aG as N,aK as n,ck as V,aI as H,aJ as O,j as C,aM as _,cZ as k,c_ as y,aH as a,aN as F}from"./index-CEaTcEQs.js";function U(t){return g.Children.toArray(t).filter(o=>g.isValidElement(o))}function D(t){return M("MuiButtonGroup",t)}const i=j("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","vertical","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),A=["children","className","color","component","disabled","disableElevation","disableFocusRipple","disableRipple","fullWidth","orientation","size","variant"],I=(t,o)=>{const{ownerState:r}=t;return[{[`& .${i.grouped}`]:o.grouped},{[`& .${i.grouped}`]:o[`grouped${a(r.orientation)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}${a(r.orientation)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}${a(r.color)}`]},{[`& .${i.firstButton}`]:o.firstButton},{[`& .${i.lastButton}`]:o.lastButton},{[`& .${i.middleButton}`]:o.middleButton},o.root,o[r.variant],r.disableElevation===!0&&o.disableElevation,r.fullWidth&&o.fullWidth,r.orientation==="vertical"&&o.vertical]},J=t=>{const{classes:o,color:r,disabled:s,disableElevation:v,fullWidth:b,orientation:d,variant:l}=t,u={root:["root",l,d==="vertical"&&"vertical",b&&"fullWidth",v&&"disableElevation"],grouped:["grouped",`grouped${a(d)}`,`grouped${a(l)}`,`grouped${a(l)}${a(d)}`,`grouped${a(l)}${a(r)}`,s&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return F(u,D,o)},K=N("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:I})(({theme:t,ownerState:o})=>n({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius},o.variant==="contained"&&{boxShadow:(t.vars||t).shadows[2]},o.disableElevation&&{boxShadow:"none"},o.fullWidth&&{width:"100%"},o.orientation==="vertical"&&{flexDirection:"column"},{[`& .${i.grouped}`]:n({minWidth:40,"&:hover":n({},o.variant==="contained"&&{boxShadow:"none"})},o.variant==="contained"&&{boxShadow:"none"}),[`& .${i.firstButton},& .${i.middleButton}`]:n({},o.orientation==="horizontal"&&{borderTopRightRadius:0,borderBottomRightRadius:0},o.orientation==="vertical"&&{borderBottomRightRadius:0,borderBottomLeftRadius:0},o.variant==="text"&&o.orientation==="horizontal"&&{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${i.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="text"&&o.orientation==="vertical"&&{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${i.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="text"&&o.color!=="inherit"&&{borderColor:t.vars?`rgba(${t.vars.palette[o.color].mainChannel} / 0.5)`:V(t.palette[o.color].main,.5)},o.variant==="outlined"&&o.orientation==="horizontal"&&{borderRightColor:"transparent"},o.variant==="outlined"&&o.orientation==="vertical"&&{borderBottomColor:"transparent"},o.variant==="contained"&&o.orientation==="horizontal"&&{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${i.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="contained"&&o.orientation==="vertical"&&{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${i.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="contained"&&o.color!=="inherit"&&{borderColor:(t.vars||t).palette[o.color].dark},{"&:hover":n({},o.variant==="outlined"&&o.orientation==="horizontal"&&{borderRightColor:"currentColor"},o.variant==="outlined"&&o.orientation==="vertical"&&{borderBottomColor:"currentColor"})}),[`& .${i.lastButton},& .${i.middleButton}`]:n({},o.orientation==="horizontal"&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},o.orientation==="vertical"&&{borderTopRightRadius:0,borderTopLeftRadius:0},o.variant==="outlined"&&o.orientation==="horizontal"&&{marginLeft:-1},o.variant==="outlined"&&o.orientation==="vertical"&&{marginTop:-1})})),q=g.forwardRef(function(o,r){const s=H({props:o,name:"MuiButtonGroup"}),{children:v,className:b,color:d="primary",component:l="div",disabled:u=!1,disableElevation:B=!1,disableFocusRipple:$=!1,disableRipple:f=!1,fullWidth:x=!1,orientation:G="horizontal",size:h="medium",variant:R="outlined"}=s,T=O(s,A),m=n({},s,{color:d,component:l,disabled:u,disableElevation:B,disableFocusRipple:$,disableRipple:f,fullWidth:x,orientation:G,size:h,variant:R}),e=J(m),W=g.useMemo(()=>({className:e.grouped,color:d,disabled:u,disableElevation:B,disableFocusRipple:$,disableRipple:f,fullWidth:x,size:h,variant:R}),[d,u,B,$,f,x,h,R,e.grouped]),z=U(v),P=z.length,L=c=>{const p=c===0,E=c===P-1;return p&&E?"":p?e.firstButton:E?e.lastButton:e.middleButton};return C.jsx(K,n({as:l,role:"group",className:_(e.root,b),ref:r,ownerState:m},T,{children:C.jsx(k.Provider,{value:W,children:z.map((c,p)=>C.jsx(y.Provider,{value:L(p),children:c},p))})}))});export{q as B,U as g};
1
+ import{r as g,aE as j,aF as M,aG as N,aK as n,ck as V,aI as H,aJ as O,j as C,aM as _,cZ as k,c_ as y,aH as a,aN as F}from"./index-BP0e3trc.js";function U(t){return g.Children.toArray(t).filter(o=>g.isValidElement(o))}function D(t){return M("MuiButtonGroup",t)}const i=j("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","vertical","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),A=["children","className","color","component","disabled","disableElevation","disableFocusRipple","disableRipple","fullWidth","orientation","size","variant"],I=(t,o)=>{const{ownerState:r}=t;return[{[`& .${i.grouped}`]:o.grouped},{[`& .${i.grouped}`]:o[`grouped${a(r.orientation)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}${a(r.orientation)}`]},{[`& .${i.grouped}`]:o[`grouped${a(r.variant)}${a(r.color)}`]},{[`& .${i.firstButton}`]:o.firstButton},{[`& .${i.lastButton}`]:o.lastButton},{[`& .${i.middleButton}`]:o.middleButton},o.root,o[r.variant],r.disableElevation===!0&&o.disableElevation,r.fullWidth&&o.fullWidth,r.orientation==="vertical"&&o.vertical]},J=t=>{const{classes:o,color:r,disabled:s,disableElevation:v,fullWidth:b,orientation:d,variant:l}=t,u={root:["root",l,d==="vertical"&&"vertical",b&&"fullWidth",v&&"disableElevation"],grouped:["grouped",`grouped${a(d)}`,`grouped${a(l)}`,`grouped${a(l)}${a(d)}`,`grouped${a(l)}${a(r)}`,s&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return F(u,D,o)},K=N("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:I})(({theme:t,ownerState:o})=>n({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius},o.variant==="contained"&&{boxShadow:(t.vars||t).shadows[2]},o.disableElevation&&{boxShadow:"none"},o.fullWidth&&{width:"100%"},o.orientation==="vertical"&&{flexDirection:"column"},{[`& .${i.grouped}`]:n({minWidth:40,"&:hover":n({},o.variant==="contained"&&{boxShadow:"none"})},o.variant==="contained"&&{boxShadow:"none"}),[`& .${i.firstButton},& .${i.middleButton}`]:n({},o.orientation==="horizontal"&&{borderTopRightRadius:0,borderBottomRightRadius:0},o.orientation==="vertical"&&{borderBottomRightRadius:0,borderBottomLeftRadius:0},o.variant==="text"&&o.orientation==="horizontal"&&{borderRight:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${i.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="text"&&o.orientation==="vertical"&&{borderBottom:t.vars?`1px solid rgba(${t.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${t.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${i.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="text"&&o.color!=="inherit"&&{borderColor:t.vars?`rgba(${t.vars.palette[o.color].mainChannel} / 0.5)`:V(t.palette[o.color].main,.5)},o.variant==="outlined"&&o.orientation==="horizontal"&&{borderRightColor:"transparent"},o.variant==="outlined"&&o.orientation==="vertical"&&{borderBottomColor:"transparent"},o.variant==="contained"&&o.orientation==="horizontal"&&{borderRight:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${i.disabled}`]:{borderRight:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="contained"&&o.orientation==="vertical"&&{borderBottom:`1px solid ${(t.vars||t).palette.grey[400]}`,[`&.${i.disabled}`]:{borderBottom:`1px solid ${(t.vars||t).palette.action.disabled}`}},o.variant==="contained"&&o.color!=="inherit"&&{borderColor:(t.vars||t).palette[o.color].dark},{"&:hover":n({},o.variant==="outlined"&&o.orientation==="horizontal"&&{borderRightColor:"currentColor"},o.variant==="outlined"&&o.orientation==="vertical"&&{borderBottomColor:"currentColor"})}),[`& .${i.lastButton},& .${i.middleButton}`]:n({},o.orientation==="horizontal"&&{borderTopLeftRadius:0,borderBottomLeftRadius:0},o.orientation==="vertical"&&{borderTopRightRadius:0,borderTopLeftRadius:0},o.variant==="outlined"&&o.orientation==="horizontal"&&{marginLeft:-1},o.variant==="outlined"&&o.orientation==="vertical"&&{marginTop:-1})})),q=g.forwardRef(function(o,r){const s=H({props:o,name:"MuiButtonGroup"}),{children:v,className:b,color:d="primary",component:l="div",disabled:u=!1,disableElevation:B=!1,disableFocusRipple:$=!1,disableRipple:f=!1,fullWidth:x=!1,orientation:G="horizontal",size:h="medium",variant:R="outlined"}=s,T=O(s,A),m=n({},s,{color:d,component:l,disabled:u,disableElevation:B,disableFocusRipple:$,disableRipple:f,fullWidth:x,orientation:G,size:h,variant:R}),e=J(m),W=g.useMemo(()=>({className:e.grouped,color:d,disabled:u,disableElevation:B,disableFocusRipple:$,disableRipple:f,fullWidth:x,size:h,variant:R}),[d,u,B,$,f,x,h,R,e.grouped]),z=U(v),P=z.length,L=c=>{const p=c===0,E=c===P-1;return p&&E?"":p?e.firstButton:E?e.lastButton:e.middleButton};return C.jsx(K,n({as:l,role:"group",className:_(e.root,b),ref:r,ownerState:m},T,{children:C.jsx(k.Provider,{value:W,children:z.map((c,p)=>C.jsx(y.Provider,{value:L(p),children:c},p))})}))});export{q as B,U as g};
@@ -1 +1 @@
1
- import{X as r,Y as t,j as a}from"./index-CEaTcEQs.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var i=e.default=void 0,o=u(r()),l=a;i=e.default=(0,o.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{i as d};
1
+ import{X as r,Y as t,j as a}from"./index-BP0e3trc.js";var e={},u=t;Object.defineProperty(e,"__esModule",{value:!0});var i=e.default=void 0,o=u(r()),l=a;i=e.default=(0,o.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{i as d};