@pisell/private-materials 6.3.29 → 6.3.31

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 (313) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +9 -1
  6. package/build/lowcode/preview.js +144 -144
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/appointmentBooking/components/Cart/Item/index.js +3 -2
  12. package/es/components/appointmentBooking/components/ConfirmInformation/index.js +267 -76
  13. package/es/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
  14. package/es/components/appointmentBooking/hooks.js +30 -30
  15. package/es/components/appointmentBooking/locales.js +9 -6
  16. package/es/components/booking/components/TabProduct/index.d.ts +1 -0
  17. package/es/components/booking/components/footer/index.d.ts +1 -0
  18. package/es/components/booking/components/footer/index.js +4 -1
  19. package/es/components/booking/components/footer/utils.js +62 -46
  20. package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  21. package/es/components/booking/forms/table/index.d.ts +1 -0
  22. package/es/components/booking/info/clientVariant/hooks/useClientFn.js +2 -2
  23. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  24. package/es/components/booking/info/clientVariant/vertical/index.js +1 -1
  25. package/es/components/booking/info/main.js +3 -2
  26. package/es/components/booking/info/model.js +5 -0
  27. package/es/components/booking/info/service/like/index.d.ts +1 -0
  28. package/es/components/booking/info2/index.js +3 -2
  29. package/es/components/booking/info2/service/contactInfoMode/index.js +93 -0
  30. package/es/components/booking/locales.js +9 -3
  31. package/es/components/booking/model.js +3 -0
  32. package/es/components/eftpos/deviceList/index.d.ts +1 -0
  33. package/es/components/eftpos/form/index.d.ts +1 -0
  34. package/es/components/eftpos/group/index.d.ts +1 -0
  35. package/es/components/eftpos/hooks.d.ts +1 -0
  36. package/es/components/eftpos/icon/apiKey.d.ts +1 -0
  37. package/es/components/eftpos/icon/device.d.ts +1 -0
  38. package/es/components/eftpos/receipt/index.d.ts +1 -0
  39. package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
  40. package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
  41. package/es/components/eftposPay/component/step/index.d.ts +1 -0
  42. package/es/components/eftposPay/component/step/step.d.ts +1 -0
  43. package/es/components/eftposPay/hooks.d.ts +1 -1
  44. package/es/components/eftposPay/store/index.d.ts +1 -1
  45. package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
  46. package/es/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  47. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  48. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  49. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  50. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  51. package/es/components/pay/toC/PaymentMethods/ApplePay/index.js +1 -1
  52. package/es/components/pay/toC/PaymentMethods/GooglePay/index.js +1 -1
  53. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  54. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  55. package/es/components/productExtension/fields/Actor/index.d.ts +1 -0
  56. package/es/components/productExtension/fields/Forms/index.d.ts +1 -0
  57. package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
  58. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  59. package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  60. package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
  61. package/es/components/shoppingCart/components/Empty/index.d.ts +1 -0
  62. package/es/components/shoppingCart/components/Render/index.d.ts +1 -0
  63. package/es/index.d.ts +3 -0
  64. package/es/index.js +4 -1
  65. package/es/plus/clientName/index.js +18 -0
  66. package/es/plus/clientName/index.less +10 -0
  67. package/es/plus/clientName/type.js +1 -0
  68. package/es/plus/clientName/utils.js +18 -0
  69. package/es/plus/contactInfo/components/Avatar/index.js +30 -0
  70. package/es/plus/contactInfo/components/SwipeAction/index.js +360 -0
  71. package/es/plus/contactInfo/components/SwipeAction/index.less +74 -0
  72. package/es/plus/contactInfo/index.js +198 -0
  73. package/es/plus/contactInfo/index.less +621 -0
  74. package/es/plus/contactInfo/locales.js +14 -0
  75. package/es/plus/contactInfo/types.js +1 -0
  76. package/es/plus/contactInfo/utils.js +50 -0
  77. package/es/plus/contactInfoModal/ContactInfoContent.js +74 -0
  78. package/es/plus/contactInfoModal/index.js +154 -0
  79. package/es/plus/contactInfoModal/index.less +19 -0
  80. package/es/plus/contactInfoModal/locales.js +65 -0
  81. package/es/pro/Login2.0/AuthModal.d.ts +143 -0
  82. package/es/pro/Login2.0/AuthModal.js +624 -0
  83. package/es/pro/Login2.0/Login2.d.ts +61 -0
  84. package/es/pro/Login2.0/Login2.js +2157 -0
  85. package/es/pro/Login2.0/Register2.d.ts +65 -0
  86. package/es/pro/Login2.0/Register2.js +1501 -0
  87. package/es/pro/Login2.0/components/ForgotPasswordFlow.js +330 -0
  88. package/es/pro/Login2.0/components/LegalTerms.d.ts +8 -0
  89. package/es/pro/Login2.0/components/LegalTerms.js +51 -0
  90. package/es/pro/Login2.0/components/LegalTerms.less +74 -0
  91. package/es/pro/Login2.0/components/LoginCodeInput.js +207 -0
  92. package/es/pro/Login2.0/components/OAuthButtonGroup.js +55 -0
  93. package/es/pro/Login2.0/components/PhoneInput.js +414 -0
  94. package/es/pro/Login2.0/components/PhoneInput.less +148 -0
  95. package/es/pro/Login2.0/components/phoneValidation.js +228 -0
  96. package/es/pro/Login2.0/hooks/index.d.ts +2 -0
  97. package/es/pro/Login2.0/hooks/index.js +1 -0
  98. package/es/pro/Login2.0/hooks/usePasswordValidationRules.js +87 -0
  99. package/es/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
  100. package/es/pro/Login2.0/hooks/useRegisterFlow.js +158 -0
  101. package/es/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
  102. package/es/pro/Login2.0/hooks/useRegistrationMethods.js +31 -0
  103. package/es/pro/Login2.0/index.js +8 -0
  104. package/es/pro/Login2.0/index.less +993 -0
  105. package/es/pro/Login2.0/locales.js +622 -0
  106. package/es/pro/Login2.0/shared/Header.d.ts +11 -0
  107. package/es/pro/Login2.0/shared/Header.js +42 -0
  108. package/es/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
  109. package/es/pro/Login2.0/shared/OAuthButtons.js +59 -0
  110. package/es/pro/Login2.0/shared/registerFlow.js +171 -0
  111. package/es/pro/Login2.0/shared/types.d.ts +232 -0
  112. package/es/pro/Login2.0/shared/types.js +1 -0
  113. package/es/pro/Login2.0/steps/CodeInput.js +209 -0
  114. package/es/pro/Login2.0/steps/EmailAlreadyRegistered.js +35 -0
  115. package/es/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +25 -0
  116. package/es/pro/Login2.0/steps/EmailLinkExpired.js +33 -0
  117. package/es/pro/Login2.0/steps/SetPassword.js +148 -0
  118. package/es/pro/Login2.0/steps/VerificationSuccess.js +35 -0
  119. package/es/pro/Login2.0/steps/VerifyingEmailLink.js +17 -0
  120. package/es/pro/Login2.0/steps/WaitEmailLink.js +54 -0
  121. package/es/pro/Login2.0/steps/index.js +11 -0
  122. package/es/pro/Login2.0/steps/steps.less +423 -0
  123. package/es/pro/Login2.0/types.js +1 -0
  124. package/lib/components/appointmentBooking/components/Cart/Item/index.js +5 -3
  125. package/lib/components/appointmentBooking/components/ConfirmInformation/index.js +151 -13
  126. package/lib/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
  127. package/lib/components/appointmentBooking/hooks.js +73 -35
  128. package/lib/components/appointmentBooking/locales.js +6 -3
  129. package/lib/components/booking/components/TabProduct/index.d.ts +1 -0
  130. package/lib/components/booking/components/footer/index.d.ts +1 -0
  131. package/lib/components/booking/components/footer/index.js +4 -1
  132. package/lib/components/booking/components/footer/utils.js +70 -38
  133. package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  134. package/lib/components/booking/forms/table/index.d.ts +1 -0
  135. package/lib/components/booking/info/clientVariant/hooks/useClientFn.js +1 -1
  136. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  137. package/lib/components/booking/info/clientVariant/vertical/index.js +34 -17
  138. package/lib/components/booking/info/main.js +5 -4
  139. package/lib/components/booking/info/model.js +5 -0
  140. package/lib/components/booking/info/service/like/index.d.ts +1 -0
  141. package/lib/components/booking/info2/index.js +5 -4
  142. package/lib/components/booking/info2/service/contactInfoMode/index.js +104 -0
  143. package/lib/components/booking/locales.js +9 -3
  144. package/lib/components/booking/model.js +3 -0
  145. package/lib/components/eftpos/deviceList/index.d.ts +1 -0
  146. package/lib/components/eftpos/form/index.d.ts +1 -0
  147. package/lib/components/eftpos/group/index.d.ts +1 -0
  148. package/lib/components/eftpos/hooks.d.ts +1 -0
  149. package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
  150. package/lib/components/eftpos/icon/device.d.ts +1 -0
  151. package/lib/components/eftpos/receipt/index.d.ts +1 -0
  152. package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
  153. package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
  154. package/lib/components/eftposPay/component/step/index.d.ts +1 -0
  155. package/lib/components/eftposPay/component/step/step.d.ts +1 -0
  156. package/lib/components/eftposPay/hooks.d.ts +1 -1
  157. package/lib/components/eftposPay/store/index.d.ts +1 -1
  158. package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
  159. package/lib/components/eventBooking/components/Provider/Cart/Deposit/index.d.ts +1 -0
  160. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  161. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  162. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  163. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  164. package/lib/components/pay/toC/PaymentMethods/ApplePay/index.js +1 -1
  165. package/lib/components/pay/toC/PaymentMethods/GooglePay/index.js +1 -1
  166. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  167. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/index.d.ts +1 -0
  168. package/lib/components/productExtension/fields/Actor/index.d.ts +1 -0
  169. package/lib/components/productExtension/fields/Forms/index.d.ts +1 -0
  170. package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
  171. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  172. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  173. package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
  174. package/lib/components/shoppingCart/components/Empty/index.d.ts +1 -0
  175. package/lib/components/shoppingCart/components/Render/index.d.ts +1 -0
  176. package/lib/index.d.ts +3 -0
  177. package/lib/index.js +13 -0
  178. package/lib/plus/clientName/index.js +53 -0
  179. package/lib/plus/clientName/index.less +10 -0
  180. package/lib/plus/clientName/type.js +17 -0
  181. package/lib/plus/clientName/utils.js +43 -0
  182. package/lib/plus/contactInfo/components/Avatar/index.js +56 -0
  183. package/lib/plus/contactInfo/components/SwipeAction/index.js +373 -0
  184. package/lib/plus/contactInfo/components/SwipeAction/index.less +74 -0
  185. package/lib/plus/contactInfo/index.js +226 -0
  186. package/lib/plus/contactInfo/index.less +621 -0
  187. package/lib/plus/contactInfo/locales.js +38 -0
  188. package/lib/plus/contactInfo/types.js +17 -0
  189. package/lib/plus/contactInfo/utils.js +64 -0
  190. package/lib/plus/contactInfoModal/ContactInfoContent.js +129 -0
  191. package/lib/plus/contactInfoModal/index.js +138 -0
  192. package/lib/plus/contactInfoModal/index.less +19 -0
  193. package/lib/plus/contactInfoModal/locales.js +89 -0
  194. package/lib/pro/Login2.0/AuthModal.d.ts +143 -0
  195. package/lib/pro/Login2.0/AuthModal.js +498 -0
  196. package/lib/pro/Login2.0/Login2.d.ts +61 -0
  197. package/lib/pro/Login2.0/Login2.js +1468 -0
  198. package/lib/pro/Login2.0/Register2.d.ts +65 -0
  199. package/lib/pro/Login2.0/Register2.js +1062 -0
  200. package/lib/pro/Login2.0/components/ForgotPasswordFlow.js +213 -0
  201. package/lib/pro/Login2.0/components/LegalTerms.d.ts +8 -0
  202. package/lib/pro/Login2.0/components/LegalTerms.js +76 -0
  203. package/lib/pro/Login2.0/components/LegalTerms.less +74 -0
  204. package/lib/pro/Login2.0/components/LoginCodeInput.js +161 -0
  205. package/lib/pro/Login2.0/components/OAuthButtonGroup.js +87 -0
  206. package/lib/pro/Login2.0/components/PhoneInput.js +263 -0
  207. package/lib/pro/Login2.0/components/PhoneInput.less +148 -0
  208. package/lib/pro/Login2.0/components/phoneValidation.js +153 -0
  209. package/lib/pro/Login2.0/hooks/index.d.ts +2 -0
  210. package/lib/pro/Login2.0/hooks/index.js +29 -0
  211. package/lib/pro/Login2.0/hooks/usePasswordValidationRules.js +140 -0
  212. package/lib/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
  213. package/lib/pro/Login2.0/hooks/useRegisterFlow.js +149 -0
  214. package/lib/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
  215. package/lib/pro/Login2.0/hooks/useRegistrationMethods.js +51 -0
  216. package/lib/pro/Login2.0/index.js +45 -0
  217. package/lib/pro/Login2.0/index.less +993 -0
  218. package/lib/pro/Login2.0/locales.js +646 -0
  219. package/lib/pro/Login2.0/shared/Header.d.ts +11 -0
  220. package/lib/pro/Login2.0/shared/Header.js +81 -0
  221. package/lib/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
  222. package/lib/pro/Login2.0/shared/OAuthButtons.js +78 -0
  223. package/lib/pro/Login2.0/shared/registerFlow.js +235 -0
  224. package/lib/pro/Login2.0/shared/types.d.ts +232 -0
  225. package/lib/pro/Login2.0/shared/types.js +17 -0
  226. package/lib/pro/Login2.0/steps/CodeInput.js +160 -0
  227. package/lib/pro/Login2.0/steps/EmailAlreadyRegistered.js +46 -0
  228. package/lib/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +51 -0
  229. package/lib/pro/Login2.0/steps/EmailLinkExpired.js +51 -0
  230. package/lib/pro/Login2.0/steps/SetPassword.js +131 -0
  231. package/lib/pro/Login2.0/steps/VerificationSuccess.js +49 -0
  232. package/lib/pro/Login2.0/steps/VerifyingEmailLink.js +41 -0
  233. package/lib/pro/Login2.0/steps/WaitEmailLink.js +67 -0
  234. package/lib/pro/Login2.0/steps/index.js +60 -0
  235. package/lib/pro/Login2.0/steps/steps.less +423 -0
  236. package/lib/pro/Login2.0/types.js +17 -0
  237. package/lowcode/authmodal/meta.ts +395 -0
  238. package/lowcode/contact-info/fragments/cardStyle.ts +68 -0
  239. package/lowcode/contact-info/fragments/nameStyle.ts +33 -0
  240. package/lowcode/contact-info/fragments/pisellAvatar.ts +103 -0
  241. package/lowcode/contact-info/fragments/textStyle.ts +33 -0
  242. package/lowcode/contact-info/meta.ts +199 -0
  243. package/lowcode/contact-info-modal/meta.ts +98 -0
  244. package/lowcode/login2/CONFIG.md +447 -0
  245. package/lowcode/login2/TEST_CONFIG.md +324 -0
  246. package/lowcode/login2/VERIFICATION_METHODS.md +364 -0
  247. package/lowcode/login2/meta.ts +560 -0
  248. package/lowcode/login2/snippets.ts +124 -0
  249. package/lowcode/register2/meta.ts +562 -0
  250. package/lowcode/register2/snippets.ts +257 -0
  251. package/package.json +7 -5
  252. package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -3
  253. package/es/components/appointmentBooking/components/ConfirmInformation/index.d.ts +0 -4
  254. package/es/components/appointmentBooking/components/Services/index.d.ts +0 -4
  255. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -3
  256. package/es/components/appointmentBooking/hooks.d.ts +0 -106
  257. package/es/components/appointmentBooking/locales.d.ts +0 -360
  258. package/es/components/booking/components/footer/utils.d.ts +0 -41
  259. package/es/components/booking/components/reloadResourceModal/index.d.ts +0 -8
  260. package/es/components/booking/components/voucher/index.d.ts +0 -3
  261. package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +0 -43
  262. package/es/components/booking/info/clientVariant/vertical/index.d.ts +0 -8
  263. package/es/components/booking/info/main.d.ts +0 -12
  264. package/es/components/booking/info/model.d.ts +0 -14
  265. package/es/components/booking/info/service/editService/constants.d.ts +0 -1
  266. package/es/components/booking/info/service/editService/index.d.ts +0 -7
  267. package/es/components/booking/info2/index.d.ts +0 -12
  268. package/es/components/booking/info2/service/addService/index.d.ts +0 -11
  269. package/es/components/booking/locales.d.ts +0 -837
  270. package/es/components/booking/model.d.ts +0 -116
  271. package/es/components/eftposPay/component/fail/index.d.ts +0 -3
  272. package/es/components/index.d.ts +0 -22
  273. package/es/components/pay/toC/PaymentMethods/ApplePay/index.d.ts +0 -10
  274. package/es/components/pay/toC/PaymentMethods/GooglePay/index.d.ts +0 -9
  275. package/es/components/pay/toC/PaymentMethods/index.d.ts +0 -9
  276. package/es/components/ruleSetting/locales.d.ts +0 -48
  277. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -9
  278. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +0 -4
  279. package/es/components/ticketBooking/components/timeBar/index.d.ts +0 -12
  280. package/es/components/ticketBooking/index.d.ts +0 -7
  281. package/es/plus/productSelect/ProductCard/index.d.ts +0 -47
  282. package/es/plus/productSelect/index.d.ts +0 -32
  283. package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +0 -3
  284. package/lib/components/appointmentBooking/components/ConfirmInformation/index.d.ts +0 -4
  285. package/lib/components/appointmentBooking/components/Services/index.d.ts +0 -4
  286. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +0 -3
  287. package/lib/components/appointmentBooking/hooks.d.ts +0 -106
  288. package/lib/components/appointmentBooking/locales.d.ts +0 -360
  289. package/lib/components/booking/components/footer/utils.d.ts +0 -41
  290. package/lib/components/booking/components/reloadResourceModal/index.d.ts +0 -8
  291. package/lib/components/booking/components/voucher/index.d.ts +0 -3
  292. package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +0 -43
  293. package/lib/components/booking/info/clientVariant/vertical/index.d.ts +0 -8
  294. package/lib/components/booking/info/main.d.ts +0 -12
  295. package/lib/components/booking/info/model.d.ts +0 -14
  296. package/lib/components/booking/info/service/editService/constants.d.ts +0 -1
  297. package/lib/components/booking/info/service/editService/index.d.ts +0 -7
  298. package/lib/components/booking/info2/index.d.ts +0 -12
  299. package/lib/components/booking/info2/service/addService/index.d.ts +0 -11
  300. package/lib/components/booking/locales.d.ts +0 -837
  301. package/lib/components/booking/model.d.ts +0 -116
  302. package/lib/components/eftposPay/component/fail/index.d.ts +0 -3
  303. package/lib/components/index.d.ts +0 -22
  304. package/lib/components/pay/toC/PaymentMethods/ApplePay/index.d.ts +0 -10
  305. package/lib/components/pay/toC/PaymentMethods/GooglePay/index.d.ts +0 -9
  306. package/lib/components/pay/toC/PaymentMethods/index.d.ts +0 -9
  307. package/lib/components/ruleSetting/locales.d.ts +0 -48
  308. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -9
  309. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +0 -4
  310. package/lib/components/ticketBooking/components/timeBar/index.d.ts +0 -12
  311. package/lib/components/ticketBooking/index.d.ts +0 -7
  312. package/lib/plus/productSelect/ProductCard/index.d.ts +0 -47
  313. package/lib/plus/productSelect/index.d.ts +0 -32
@@ -0,0 +1,624 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
4
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
5
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
9
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ import React, { useState, useCallback, useMemo, useEffect } from 'react';
17
+ import { PisellModal as Modal } from '@pisell/materials';
18
+ import { locales, isMobile } from '@pisell/utils';
19
+ import localeTexts from "./locales";
20
+ import Login2 from "./Login2";
21
+ import Register2 from "./Register2";
22
+ import useEngineContext from "../../hooks/useEngineContext";
23
+
24
+ /** 认证配置 - 基于用户提供的JSON配置结构 */
25
+
26
+ /** AuthModal 组件事件 */
27
+
28
+ /** AuthModal 组件属性 */
29
+
30
+ /** 当前显示的视图类型 */
31
+
32
+ /**
33
+ * 认证模态框组件
34
+ * 包装 Login2 和 Register2 组件,提供统一的配置接口和页面切换功能
35
+ */
36
+ var AuthModal = function AuthModal() {
37
+ var _useEngineContext$eng;
38
+ // 从 engine context 中获取所有配置和事件处理函数
39
+ var context = useEngineContext();
40
+ var engineProps = ((_useEngineContext$eng = useEngineContext().engine) === null || _useEngineContext$eng === void 0 ? void 0 : _useEngineContext$eng.props) || {};
41
+ var config = engineProps.config,
42
+ channel = engineProps.channel,
43
+ _engineProps$modal = engineProps.modal,
44
+ modal = _engineProps$modal === void 0 ? false : _engineProps$modal,
45
+ _engineProps$visible = engineProps.visible,
46
+ visible = _engineProps$visible === void 0 ? true : _engineProps$visible,
47
+ onClose = engineProps.onClose,
48
+ className = engineProps.className,
49
+ style = engineProps.style,
50
+ _engineProps$defaultV = engineProps.defaultView,
51
+ defaultView = _engineProps$defaultV === void 0 ? 'login' : _engineProps$defaultV,
52
+ emailLinkVerification = engineProps.emailLinkVerification,
53
+ onLoginSuccess = engineProps.onLoginSuccess,
54
+ onRegisterSuccess = engineProps.onRegisterSuccess,
55
+ onOAuthLogin = engineProps.onOAuthLogin,
56
+ onSendVerificationCode = engineProps.onSendVerificationCode,
57
+ onForgotPassword = engineProps.onForgotPassword,
58
+ onEmailLinkExpired = engineProps.onEmailLinkExpired,
59
+ onError = engineProps.onError;
60
+ var _useState = useState(config.isEmailLinkRegister ? 'register' : defaultView),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ currentView = _useState2[0],
63
+ setCurrentView = _useState2[1];
64
+ var _useState3 = useState(false),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ localesInitialized = _useState4[0],
67
+ setLocalesInitialized = _useState4[1];
68
+
69
+ // 初始化国际化
70
+ useEffect(function () {
71
+ var _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper$ut3, _context$appHelper$ut4;
72
+ locales.init(localeTexts, ((_context$appHelper$ut = context.appHelper.utils) === null || _context$appHelper$ut === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut.getApp) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.call(_context$appHelper$ut)) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut2 = _context$appHelper$ut2.locales) === null || _context$appHelper$ut2 === void 0 || (_context$appHelper$ut3 = _context$appHelper$ut2.getLocale) === null || _context$appHelper$ut3 === void 0 ? void 0 : _context$appHelper$ut3.call(_context$appHelper$ut2)) || ((_context$appHelper$ut4 = context.appHelper.utils) === null || _context$appHelper$ut4 === void 0 || (_context$appHelper$ut4 = _context$appHelper$ut4.storage) === null || _context$appHelper$ut4 === void 0 ? void 0 : _context$appHelper$ut4.get('umi_locale')) || 'en');
73
+ setLocalesInitialized(true);
74
+ }, []);
75
+
76
+ // 获取动态标题
77
+ var getModalTitle = useCallback(function () {
78
+ if (currentView === 'login') {
79
+ return locales.getText('pisell-modal-login-title');
80
+ } else {
81
+ return locales.getText('pisell-modal-register-title');
82
+ }
83
+ }, [currentView]);
84
+
85
+ // 转换配置为 Login2 所需的格式
86
+ var login2Config = useMemo(function () {
87
+ var _config$auth, _authMethods$email, _authMethods$phone, _authMethods$google, _authMethods$facebook, _authMethods$apple, _authMethods$guest, _config$page, _config$page2, _config$page3, _config$page4, _config$page5, _config$page6, _config$page7;
88
+ if (!localesInitialized) {
89
+ return {
90
+ loginMethods: [],
91
+ channel: channel,
92
+ emailLinkVerification: emailLinkVerification,
93
+ legalTerms: {
94
+ enabled: false,
95
+ terms: []
96
+ },
97
+ ui: {
98
+ title: {
99
+ show: false,
100
+ text: '',
101
+ align: 'center'
102
+ },
103
+ themeColor: '#7F56D9',
104
+ formLabels: {
105
+ email: {
106
+ show: false
107
+ },
108
+ phone: {
109
+ show: false
110
+ },
111
+ password: {
112
+ show: false
113
+ },
114
+ verificationCode: {
115
+ show: false
116
+ }
117
+ }
118
+ }
119
+ };
120
+ }
121
+ var loginMethods = [];
122
+
123
+ // 安全获取 authMethods,添加空值保护
124
+ var authMethods = (config === null || config === void 0 || (_config$auth = config.auth) === null || _config$auth === void 0 ? void 0 : _config$auth.method) || {};
125
+
126
+ // 收集所有启用的认证方法并按 sort 排序
127
+ var enabledMethods = [];
128
+ if ((_authMethods$email = authMethods.email) !== null && _authMethods$email !== void 0 && _authMethods$email.enabled) {
129
+ enabledMethods.push({
130
+ type: 'email',
131
+ sort: authMethods.email.sort || 0,
132
+ // 添加默认值保护
133
+ config: authMethods.email
134
+ });
135
+ }
136
+ if ((_authMethods$phone = authMethods.phone) !== null && _authMethods$phone !== void 0 && _authMethods$phone.enabled) {
137
+ enabledMethods.push({
138
+ type: 'phone',
139
+ sort: authMethods.phone.sort || 0,
140
+ // 添加默认值保护
141
+ config: authMethods.phone
142
+ });
143
+ }
144
+ if ((_authMethods$google = authMethods.google) !== null && _authMethods$google !== void 0 && _authMethods$google.enabled) {
145
+ enabledMethods.push({
146
+ type: 'google',
147
+ sort: authMethods.google.sort || 0,
148
+ // 添加默认值保护
149
+ config: authMethods.google
150
+ });
151
+ }
152
+ if ((_authMethods$facebook = authMethods.facebook) !== null && _authMethods$facebook !== void 0 && _authMethods$facebook.enabled) {
153
+ enabledMethods.push({
154
+ type: 'facebook',
155
+ sort: authMethods.facebook.sort || 0,
156
+ // 添加默认值保护
157
+ config: authMethods.facebook
158
+ });
159
+ }
160
+ if ((_authMethods$apple = authMethods.apple) !== null && _authMethods$apple !== void 0 && _authMethods$apple.enabled) {
161
+ enabledMethods.push({
162
+ type: 'apple',
163
+ sort: authMethods.apple.sort || 0,
164
+ // 添加默认值保护
165
+ config: authMethods.apple
166
+ });
167
+ }
168
+ if ((_authMethods$guest = authMethods.guest) !== null && _authMethods$guest !== void 0 && _authMethods$guest.enabled) {
169
+ enabledMethods.push({
170
+ type: 'guest',
171
+ sort: authMethods.guest.sort || 0,
172
+ // 添加默认值保护
173
+ config: authMethods.guest
174
+ });
175
+ }
176
+
177
+ // 按 sort 排序
178
+ enabledMethods.sort(function (a, b) {
179
+ return a.sort - b.sort;
180
+ });
181
+
182
+ // 转换为 Login2 所需的格式
183
+ enabledMethods.forEach(function (_ref) {
184
+ var type = _ref.type,
185
+ methodConfig = _ref.config;
186
+ if (type === 'email') {
187
+ var _methodConfig$setting, _loginMethod$password, _loginMethod$code, _loginMethod$link;
188
+ var verificationMethods = [];
189
+ var loginMethod = (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting = methodConfig.setting) === null || _methodConfig$setting === void 0 ? void 0 : _methodConfig$setting.login_method) || {}; // 添加安全访问保护
190
+
191
+ // 收集启用的验证方式并按 sort 排序
192
+ var enabledVerificationMethods = [];
193
+ if ((_loginMethod$password = loginMethod.password) !== null && _loginMethod$password !== void 0 && _loginMethod$password.enabled) {
194
+ enabledVerificationMethods.push({
195
+ type: 'password',
196
+ sort: loginMethod.password.sort || 0 // 添加默认值保护
197
+ });
198
+ }
199
+ if ((_loginMethod$code = loginMethod.code) !== null && _loginMethod$code !== void 0 && _loginMethod$code.enabled) {
200
+ enabledVerificationMethods.push({
201
+ type: 'verification_code',
202
+ sort: loginMethod.code.sort || 0 // 添加默认值保护
203
+ });
204
+ }
205
+ if ((_loginMethod$link = loginMethod.link) !== null && _loginMethod$link !== void 0 && _loginMethod$link.enabled) {
206
+ enabledVerificationMethods.push({
207
+ type: 'verification_code',
208
+ // link 映射为 verification_code
209
+ sort: loginMethod.link.sort || 0 // 添加默认值保护
210
+ });
211
+ }
212
+ enabledVerificationMethods.sort(function (a, b) {
213
+ return a.sort - b.sort;
214
+ });
215
+ verificationMethods.push.apply(verificationMethods, _toConsumableArray(enabledVerificationMethods.map(function (v) {
216
+ return v.type;
217
+ })));
218
+ if (verificationMethods.length > 0) {
219
+ loginMethods.push({
220
+ type: 'email',
221
+ verificationMethods: verificationMethods,
222
+ stepByStep: true
223
+ });
224
+ }
225
+ } else if (type === 'phone') {
226
+ var _methodConfig$setting2, _loginMethod$password2, _loginMethod$code2;
227
+ var _verificationMethods = [];
228
+ var _loginMethod = (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting2 = methodConfig.setting) === null || _methodConfig$setting2 === void 0 ? void 0 : _methodConfig$setting2.login_method) || {}; // 添加安全访问保护
229
+
230
+ var _enabledVerificationMethods = [];
231
+ if ((_loginMethod$password2 = _loginMethod.password) !== null && _loginMethod$password2 !== void 0 && _loginMethod$password2.enabled) {
232
+ _enabledVerificationMethods.push({
233
+ type: 'password',
234
+ sort: _loginMethod.password.sort || 0 // 添加默认值保护
235
+ });
236
+ }
237
+ if ((_loginMethod$code2 = _loginMethod.code) !== null && _loginMethod$code2 !== void 0 && _loginMethod$code2.enabled) {
238
+ _enabledVerificationMethods.push({
239
+ type: 'verification_code',
240
+ sort: _loginMethod.code.sort || 0 // 添加默认值保护
241
+ });
242
+ }
243
+ _enabledVerificationMethods.sort(function (a, b) {
244
+ return a.sort - b.sort;
245
+ });
246
+ _verificationMethods.push.apply(_verificationMethods, _toConsumableArray(_enabledVerificationMethods.map(function (v) {
247
+ return v.type;
248
+ })));
249
+ if (_verificationMethods.length > 0) {
250
+ loginMethods.push({
251
+ type: 'phone',
252
+ verificationMethods: _verificationMethods,
253
+ stepByStep: true
254
+ });
255
+ }
256
+ } else if (type === 'google') {
257
+ loginMethods.push({
258
+ type: 'google'
259
+ });
260
+ } else if (type === 'facebook') {
261
+ var _methodConfig$setting3;
262
+ loginMethods.push({
263
+ type: 'facebook',
264
+ appId: (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting3 = methodConfig.setting) === null || _methodConfig$setting3 === void 0 ? void 0 : _methodConfig$setting3.appid) || ''
265
+ });
266
+ } else if (type === 'apple') {
267
+ var _methodConfig$setting4;
268
+ loginMethods.push({
269
+ type: 'apple',
270
+ clientId: (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting4 = methodConfig.setting) === null || _methodConfig$setting4 === void 0 ? void 0 : _methodConfig$setting4.identifier) || ''
271
+ });
272
+ } else if (type === 'guest') {
273
+ loginMethods.push({
274
+ type: 'guest'
275
+ });
276
+ }
277
+ });
278
+ return {
279
+ loginMethods: loginMethods,
280
+ channel: channel,
281
+ emailLinkVerification: config.isForGetPasswordLink ? {
282
+ enabled: true,
283
+ code: config.linkCode
284
+ } : emailLinkVerification,
285
+ legalTerms: {
286
+ enabled: config !== null && config !== void 0 && (_config$page = config.page) !== null && _config$page !== void 0 && (_config$page = _config$page.login) !== null && _config$page !== void 0 && _config$page.same_as_register ? (config === null || config === void 0 || (_config$page2 = config.page) === null || _config$page2 === void 0 || (_config$page2 = _config$page2.register) === null || _config$page2 === void 0 || (_config$page2 = _config$page2.terms) === null || _config$page2 === void 0 ? void 0 : _config$page2.length) > 0 : (config === null || config === void 0 || (_config$page3 = config.page) === null || _config$page3 === void 0 || (_config$page3 = _config$page3.login) === null || _config$page3 === void 0 || (_config$page3 = _config$page3.terms) === null || _config$page3 === void 0 ? void 0 : _config$page3.length) > 0,
287
+ terms: config !== null && config !== void 0 && (_config$page4 = config.page) !== null && _config$page4 !== void 0 && (_config$page4 = _config$page4.login) !== null && _config$page4 !== void 0 && _config$page4.same_as_register ? config === null || config === void 0 || (_config$page5 = config.page) === null || _config$page5 === void 0 || (_config$page5 = _config$page5.register) === null || _config$page5 === void 0 ? void 0 : _config$page5.terms : config === null || config === void 0 || (_config$page6 = config.page) === null || _config$page6 === void 0 || (_config$page6 = _config$page6.login) === null || _config$page6 === void 0 ? void 0 : _config$page6.terms
288
+ },
289
+ ui: {
290
+ title: {
291
+ show: true,
292
+ text: locales.getText('pisell-modal-login-title'),
293
+ align: 'center'
294
+ },
295
+ logo: config !== null && config !== void 0 && config.logo ? {
296
+ show: config !== null && config !== void 0 && config.logo ? true : false,
297
+ url: config === null || config === void 0 ? void 0 : config.logo,
298
+ // 直接从 config.logo 读取
299
+ position: 'center'
300
+ } : undefined,
301
+ themeColor: (config === null || config === void 0 || (_config$page7 = config.page) === null || _config$page7 === void 0 || (_config$page7 = _config$page7.login) === null || _config$page7 === void 0 || (_config$page7 = _config$page7.ui) === null || _config$page7 === void 0 ? void 0 : _config$page7.themeColor) || '#7F56D9',
302
+ formLabels: {
303
+ email: {
304
+ show: false
305
+ },
306
+ phone: {
307
+ show: false
308
+ },
309
+ password: {
310
+ show: false
311
+ },
312
+ verificationCode: {
313
+ show: false
314
+ }
315
+ }
316
+ }
317
+ };
318
+ }, [config, channel, emailLinkVerification, localesInitialized]);
319
+
320
+ // 转换配置为 Register2 所需的格式
321
+ var register2Config = useMemo(function () {
322
+ var _config$auth2, _authMethods$email2, _authMethods$phone2, _authMethods$google2, _authMethods$facebook2, _authMethods$apple2, _config$page8, _config$page9, _config$page10, _config$auth3;
323
+ if (!localesInitialized) {
324
+ return {
325
+ registrationMethods: [],
326
+ channel: channel,
327
+ emailLinkVerification: emailLinkVerification,
328
+ legalTerms: {
329
+ enabled: false,
330
+ terms: []
331
+ },
332
+ ui: {
333
+ title: {
334
+ show: false,
335
+ text: '',
336
+ align: 'center'
337
+ },
338
+ themeColor: '#7F56D9',
339
+ formLabels: {
340
+ email: {
341
+ show: false
342
+ },
343
+ phone: {
344
+ show: false
345
+ },
346
+ password: {
347
+ show: false
348
+ },
349
+ verificationCode: {
350
+ show: false
351
+ }
352
+ }
353
+ }
354
+ };
355
+ }
356
+ var registrationMethods = [];
357
+ var authMethods = ((_config$auth2 = config.auth) === null || _config$auth2 === void 0 ? void 0 : _config$auth2.method) || {};
358
+
359
+ // 收集所有启用的认证方法并按 sort 排序
360
+ var enabledMethods = [];
361
+ if ((_authMethods$email2 = authMethods.email) !== null && _authMethods$email2 !== void 0 && _authMethods$email2.enabled && authMethods.email.setting.register_enabled) {
362
+ enabledMethods.push({
363
+ type: 'email',
364
+ sort: authMethods.email.sort,
365
+ config: authMethods.email
366
+ });
367
+ }
368
+ if ((_authMethods$phone2 = authMethods.phone) !== null && _authMethods$phone2 !== void 0 && _authMethods$phone2.enabled && authMethods.phone.setting.register_enabled) {
369
+ enabledMethods.push({
370
+ type: 'phone',
371
+ sort: authMethods.phone.sort,
372
+ config: authMethods.phone
373
+ });
374
+ }
375
+ if ((_authMethods$google2 = authMethods.google) !== null && _authMethods$google2 !== void 0 && _authMethods$google2.enabled) {
376
+ enabledMethods.push({
377
+ type: 'google',
378
+ sort: authMethods.google.sort,
379
+ config: authMethods.google
380
+ });
381
+ }
382
+ if ((_authMethods$facebook2 = authMethods.facebook) !== null && _authMethods$facebook2 !== void 0 && _authMethods$facebook2.enabled) {
383
+ enabledMethods.push({
384
+ type: 'facebook',
385
+ sort: authMethods.facebook.sort,
386
+ config: authMethods.facebook
387
+ });
388
+ }
389
+ if ((_authMethods$apple2 = authMethods.apple) !== null && _authMethods$apple2 !== void 0 && _authMethods$apple2.enabled) {
390
+ enabledMethods.push({
391
+ type: 'apple',
392
+ sort: authMethods.apple.sort,
393
+ config: authMethods.apple
394
+ });
395
+ }
396
+
397
+ // 按 sort 排序
398
+ enabledMethods.sort(function (a, b) {
399
+ return a.sort - b.sort;
400
+ });
401
+
402
+ // 转换为 Register2 所需的格式
403
+ enabledMethods.forEach(function (_ref2) {
404
+ var type = _ref2.type,
405
+ methodConfig = _ref2.config;
406
+ if (type === 'email') {
407
+ var verificationMethod = methodConfig.setting.register_method === 'link' ? 'verification_link' : 'verification_code';
408
+ registrationMethods.push({
409
+ type: 'email',
410
+ verificationMethod: verificationMethod
411
+ });
412
+ } else if (type === 'phone') {
413
+ registrationMethods.push({
414
+ type: 'phone',
415
+ verificationMethod: 'verification_code'
416
+ });
417
+ } else if (type === 'google') {
418
+ registrationMethods.push({
419
+ type: 'google'
420
+ });
421
+ } else if (type === 'facebook') {
422
+ var _methodConfig$setting5;
423
+ registrationMethods.push({
424
+ type: 'facebook',
425
+ appId: (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting5 = methodConfig.setting) === null || _methodConfig$setting5 === void 0 ? void 0 : _methodConfig$setting5.appid) || ''
426
+ });
427
+ } else if (type === 'apple') {
428
+ var _methodConfig$setting6;
429
+ registrationMethods.push({
430
+ type: 'apple',
431
+ clientId: (methodConfig === null || methodConfig === void 0 || (_methodConfig$setting6 = methodConfig.setting) === null || _methodConfig$setting6 === void 0 ? void 0 : _methodConfig$setting6.identifier) || ''
432
+ });
433
+ }
434
+ });
435
+ var transformPasswordRules = function transformPasswordRules(passwordConfig) {
436
+ if (!passwordConfig) {
437
+ return undefined;
438
+ }
439
+ return {
440
+ minLength: passwordConfig.min_length,
441
+ requireLowercase: passwordConfig.require_lowercase_letters,
442
+ requireNumbers: passwordConfig.require_numbers,
443
+ requireSpecialCharacters: passwordConfig.require_special_characters,
444
+ requireUppercase: passwordConfig.require_uppercase_letters
445
+ };
446
+ };
447
+ return {
448
+ registrationMethods: registrationMethods,
449
+ channel: channel,
450
+ emailLinkVerification: config.isEmailLinkRegister ? {
451
+ enabled: true,
452
+ code: config.linkCode
453
+ } : emailLinkVerification,
454
+ legalTerms: {
455
+ enabled: ((_config$page8 = config.page) === null || _config$page8 === void 0 || (_config$page8 = _config$page8.register) === null || _config$page8 === void 0 || (_config$page8 = _config$page8.terms) === null || _config$page8 === void 0 ? void 0 : _config$page8.length) > 0,
456
+ terms: (_config$page9 = config.page) === null || _config$page9 === void 0 || (_config$page9 = _config$page9.register) === null || _config$page9 === void 0 ? void 0 : _config$page9.terms
457
+ },
458
+ ui: {
459
+ title: {
460
+ show: true,
461
+ text: locales.getText('pisell-modal-register-title'),
462
+ align: 'center'
463
+ },
464
+ logo: config.logo ? {
465
+ show: config.logo ? true : false,
466
+ url: config.logo,
467
+ // 直接从 config.logo 读取
468
+ position: 'center'
469
+ } : undefined,
470
+ themeColor: ((_config$page10 = config.page) === null || _config$page10 === void 0 || (_config$page10 = _config$page10.register) === null || _config$page10 === void 0 || (_config$page10 = _config$page10.ui) === null || _config$page10 === void 0 ? void 0 : _config$page10.themeColor) || '#7F56D9',
471
+ passwordRules: transformPasswordRules((_config$auth3 = config.auth) === null || _config$auth3 === void 0 ? void 0 : _config$auth3.password),
472
+ // 传递密码规则
473
+ formLabels: {
474
+ email: {
475
+ show: false
476
+ },
477
+ phone: {
478
+ show: false
479
+ },
480
+ password: {
481
+ show: false
482
+ },
483
+ verificationCode: {
484
+ show: false
485
+ }
486
+ }
487
+ }
488
+ };
489
+ }, [config, channel, emailLinkVerification, localesInitialized]);
490
+
491
+ // 处理跳转到注册页
492
+ var handleGoToRegister = useCallback(function () {
493
+ setCurrentView('register');
494
+ }, []);
495
+
496
+ // 处理跳转到登录页
497
+ var handleGoToLogin = useCallback(function () {
498
+ setCurrentView('login');
499
+ }, []);
500
+
501
+ // 错误处理函数
502
+ var handleError = useCallback(function (error, context) {
503
+ if (onError) {
504
+ onError(error, context);
505
+ }
506
+ }, [onError]);
507
+
508
+ // 登录事件处理
509
+ var login2Events = {
510
+ onLogin: function () {
511
+ var _onLogin = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data, method, loginData, channel) {
512
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
513
+ while (1) switch (_context.prev = _context.next) {
514
+ case 0:
515
+ _context.next = 2;
516
+ return onLoginSuccess === null || onLoginSuccess === void 0 ? void 0 : onLoginSuccess(data, method, channel);
517
+ case 2:
518
+ // 如果是弹窗模式,登录成功后自动关闭弹窗
519
+ if (modal && onClose) {
520
+ onClose();
521
+ }
522
+ case 3:
523
+ case "end":
524
+ return _context.stop();
525
+ }
526
+ }, _callee);
527
+ }));
528
+ function onLogin(_x, _x2, _x3, _x4) {
529
+ return _onLogin.apply(this, arguments);
530
+ }
531
+ return onLogin;
532
+ }(),
533
+ onOAuthLogin: onOAuthLogin,
534
+ onSendVerificationCode: onSendVerificationCode,
535
+ onForgotPassword: onForgotPassword,
536
+ onSwitchToRegister: handleGoToRegister,
537
+ onError: function onError(error, method) {
538
+ handleError(error, {
539
+ action: 'login',
540
+ method: method,
541
+ channel: channel
542
+ });
543
+ }
544
+ };
545
+
546
+ // 注册事件处理
547
+ var register2Events = {
548
+ onRegister: function () {
549
+ var _onRegister = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_, method, data, channel) {
550
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
551
+ while (1) switch (_context2.prev = _context2.next) {
552
+ case 0:
553
+ _context2.next = 2;
554
+ return onRegisterSuccess === null || onRegisterSuccess === void 0 ? void 0 : onRegisterSuccess(_, method, channel);
555
+ case 2:
556
+ _context2.next = 4;
557
+ return onLoginSuccess === null || onLoginSuccess === void 0 ? void 0 : onLoginSuccess(_, method, channel);
558
+ case 4:
559
+ // 如果是弹窗模式,注册成功后自动关闭弹窗
560
+ if (modal && onClose) {
561
+ onClose();
562
+ }
563
+ case 5:
564
+ case "end":
565
+ return _context2.stop();
566
+ }
567
+ }, _callee2);
568
+ }));
569
+ function onRegister(_x5, _x6, _x7, _x8) {
570
+ return _onRegister.apply(this, arguments);
571
+ }
572
+ return onRegister;
573
+ }(),
574
+ onOAuthLogin: onOAuthLogin,
575
+ onSendVerificationCode: onSendVerificationCode,
576
+ onEmailLinkExpired: onEmailLinkExpired,
577
+ onGoToLogin: handleGoToLogin,
578
+ onError: function onError(error, method) {
579
+ handleError(error, {
580
+ action: 'register',
581
+ method: method,
582
+ channel: channel
583
+ });
584
+ }
585
+ };
586
+
587
+ // 渲染内容
588
+ var renderContent = function renderContent() {
589
+ if (currentView === 'login') {
590
+ return /*#__PURE__*/React.createElement(Login2, _extends({
591
+ config: login2Config,
592
+ visible: true,
593
+ onClose: onClose
594
+ }, login2Events));
595
+ } else {
596
+ return /*#__PURE__*/React.createElement(Register2, _extends({
597
+ config: register2Config,
598
+ visible: true,
599
+ onClose: onClose
600
+ }, register2Events));
601
+ }
602
+ };
603
+
604
+ // 如果是弹窗模式
605
+ if (modal) {
606
+ return /*#__PURE__*/React.createElement(Modal, {
607
+ open: visible,
608
+ onCancel: onClose,
609
+ header: false,
610
+ footer: null,
611
+ centered: true,
612
+ className: className,
613
+ destroyOnClose: true,
614
+ platform: isMobile ? 'h5' : 'pc'
615
+ }, renderContent());
616
+ }
617
+
618
+ // 组件模式
619
+ return /*#__PURE__*/React.createElement("div", {
620
+ className: className,
621
+ style: style
622
+ }, visible && renderContent());
623
+ };
624
+ export default AuthModal;