@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,209 @@
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ 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."); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7
+ 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."); }
8
+ 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); }
9
+ 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; }
10
+ 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; } }
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+ /**
13
+ * 验证码输入页面(对应图3)
14
+ * 支持邮箱和手机号两种账号类型
15
+ */
16
+ import React, { useState, useRef, useEffect } from 'react';
17
+ import { Button } from '@pisell/materials';
18
+ import { locales } from '@pisell/utils';
19
+ import IconFont from '@pisell/materials/src/components/iconfont';
20
+ function CodeInput(_ref) {
21
+ var flowData = _ref.flowData,
22
+ _ref$codeLength = _ref.codeLength,
23
+ codeLength = _ref$codeLength === void 0 ? 4 : _ref$codeLength,
24
+ onSubmit = _ref.onSubmit,
25
+ onResend = _ref.onResend,
26
+ onBack = _ref.onBack,
27
+ _ref$countdown = _ref.countdown,
28
+ countdown = _ref$countdown === void 0 ? 0 : _ref$countdown,
29
+ _ref$loading = _ref.loading,
30
+ loading = _ref$loading === void 0 ? false : _ref$loading,
31
+ error = _ref.error,
32
+ onClearError = _ref.onClearError;
33
+ var _useState = useState(Array(codeLength).fill('')),
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ code = _useState2[0],
36
+ setCode = _useState2[1];
37
+ var inputRefs = useRef([]);
38
+ var canResend = countdown === 0;
39
+ useEffect(function () {
40
+ var _inputRefs$current$;
41
+ // 自动聚焦第一个输入框
42
+ (_inputRefs$current$ = inputRefs.current[0]) === null || _inputRefs$current$ === void 0 || _inputRefs$current$.focus();
43
+ }, []);
44
+
45
+ // 当错误出现时,清空输入值
46
+ useEffect(function () {
47
+ if (error) {
48
+ var _inputRefs$current$2;
49
+ setCode(Array(codeLength).fill(''));
50
+ // 聚焦第一个输入框
51
+ (_inputRefs$current$2 = inputRefs.current[0]) === null || _inputRefs$current$2 === void 0 || _inputRefs$current$2.focus();
52
+ }
53
+ }, [error, codeLength]);
54
+
55
+ /**
56
+ * 处理单个输入框的值变化
57
+ * @param index 输入框索引
58
+ * @param value 输入的值
59
+ */
60
+ var handleInputChange = function handleInputChange(index, value) {
61
+ if (!/^\d*$/.test(value)) return; // 只允许数字
62
+
63
+ // 如果用户开始输入且有错误,清除错误
64
+ if (value && error && onClearError) {
65
+ onClearError();
66
+ }
67
+ var newCode = _toConsumableArray(code);
68
+ newCode[index] = value.slice(-1); // 只取最后一个字符
69
+ setCode(newCode);
70
+
71
+ // 自动跳到下一个输入框
72
+ if (value && index < codeLength - 1) {
73
+ var _inputRefs$current;
74
+ (_inputRefs$current = inputRefs.current[index + 1]) === null || _inputRefs$current === void 0 || _inputRefs$current.focus();
75
+ }
76
+
77
+ // 如果所有输入框都填满了,自动提交
78
+ if (newCode.every(function (digit) {
79
+ return digit !== '';
80
+ })) {
81
+ var fullCode = newCode.join('');
82
+ onSubmit === null || onSubmit === void 0 || onSubmit(fullCode);
83
+ }
84
+ };
85
+
86
+ /**
87
+ * 处理键盘按键事件(主要处理退格键)
88
+ * @param index 当前输入框索引
89
+ * @param e 键盘事件
90
+ */
91
+ var handleKeyDown = function handleKeyDown(index, e) {
92
+ // 当前输入框为空且按下退格键时,聚焦到前一个输入框
93
+ if (e.key === 'Backspace' && !code[index] && index > 0) {
94
+ var _inputRefs$current2;
95
+ (_inputRefs$current2 = inputRefs.current[index - 1]) === null || _inputRefs$current2 === void 0 || _inputRefs$current2.focus();
96
+ }
97
+ };
98
+
99
+ /**
100
+ * 处理粘贴事件(支持粘贴完整验证码)
101
+ * @param e 剪贴板事件
102
+ */
103
+ var handlePaste = function handlePaste(e) {
104
+ e.preventDefault();
105
+ var pastedData = e.clipboardData.getData('text').trim();
106
+ if (!/^\d+$/.test(pastedData)) return; // 只允许数字
107
+
108
+ // 如果用户粘贴且有错误,清除错误
109
+ if (pastedData && error && onClearError) {
110
+ onClearError();
111
+ }
112
+ var newCode = pastedData.slice(0, codeLength).split('');
113
+ while (newCode.length < codeLength) {
114
+ newCode.push('');
115
+ }
116
+ setCode(newCode);
117
+
118
+ // 如果粘贴的是完整验证码,自动提交
119
+ if (newCode.every(function (digit) {
120
+ return digit !== '';
121
+ })) {
122
+ onSubmit === null || onSubmit === void 0 || onSubmit(newCode.join(''));
123
+ }
124
+ };
125
+
126
+ /**
127
+ * 手动提交验证码
128
+ */
129
+ var handleSubmit = function handleSubmit() {
130
+ var fullCode = code.join('');
131
+ if (fullCode.length === codeLength) {
132
+ onSubmit === null || onSubmit === void 0 || onSubmit(fullCode);
133
+ }
134
+ };
135
+
136
+ // 根据账号类型显示不同的标题和描述
137
+ var title = flowData.accountType === 'email' ? locales.getText('pisell-register2-check-email-title') : locales.getText('pisell-register2-check-phone-title');
138
+ var description = flowData.accountType === 'email' ? locales.getText('pisell-register2-check-email-desc') : locales.getText('pisell-register2-check-phone-desc');
139
+
140
+ // 格式化账号显示(手机号对象需要转换为字符串)
141
+ var displayAccount = _typeof(flowData.account) === 'object' && 'phone' in flowData.account ? "+".concat(flowData.account.country_calling_code).concat(flowData.account.phone) : flowData.account;
142
+
143
+ // 根据账号类型显示不同的"没有收到"提示
144
+ var noReceiveText = flowData.accountType === 'email' ? locales.getText('pisell-register2-no-email-received') : locales.getText('pisell-register2-no-message-received');
145
+ return /*#__PURE__*/React.createElement("div", {
146
+ className: "register-step-container code-input-page"
147
+ }, /*#__PURE__*/React.createElement("button", {
148
+ className: "back-button-top",
149
+ onClick: onBack,
150
+ "aria-label": "Go back"
151
+ }, /*#__PURE__*/React.createElement(IconFont, {
152
+ type: "pisell2-arrow-left"
153
+ })), /*#__PURE__*/React.createElement("div", {
154
+ className: "register-step-content"
155
+ }, /*#__PURE__*/React.createElement("h2", {
156
+ className: "register-step-title"
157
+ }, title), /*#__PURE__*/React.createElement("p", {
158
+ className: "register-step-desc"
159
+ }, description, /*#__PURE__*/React.createElement("br", null), displayAccount), /*#__PURE__*/React.createElement("div", {
160
+ className: "code-input-group",
161
+ onPaste: handlePaste
162
+ }, code.map(function (digit, index) {
163
+ return /*#__PURE__*/React.createElement("input", {
164
+ key: index,
165
+ ref: function ref(el) {
166
+ return inputRefs.current[index] = el;
167
+ },
168
+ type: "text",
169
+ inputMode: "numeric",
170
+ maxLength: 1,
171
+ className: "code-input-box ".concat(digit ? 'has-value' : '', " ").concat(error ? 'has-error' : ''),
172
+ value: digit,
173
+ onChange: function onChange(e) {
174
+ return handleInputChange(index, e.target.value);
175
+ },
176
+ onKeyDown: function onKeyDown(e) {
177
+ return handleKeyDown(index, e);
178
+ },
179
+ disabled: loading
180
+ });
181
+ })), error && /*#__PURE__*/React.createElement("div", {
182
+ className: "code-input-error"
183
+ }, error), /*#__PURE__*/React.createElement(Button, {
184
+ type: "primary",
185
+ size: "large",
186
+ block: true,
187
+ onClick: handleSubmit,
188
+ loading: loading,
189
+ disabled: code.some(function (digit) {
190
+ return !digit;
191
+ }),
192
+ className: "register-submit-btn"
193
+ }, locales.getText('pisell-common-verify')), /*#__PURE__*/React.createElement(Button, {
194
+ type: "default",
195
+ size: "large",
196
+ block: true,
197
+ onClick: onBack,
198
+ className: "register-back-btn"
199
+ }, locales.getText('pisell-common-back')), /*#__PURE__*/React.createElement("div", {
200
+ className: "register-resend-section"
201
+ }, /*#__PURE__*/React.createElement("span", {
202
+ className: "resend-text"
203
+ }, noReceiveText, " "), /*#__PURE__*/React.createElement("button", {
204
+ className: "resend-link",
205
+ onClick: onResend,
206
+ disabled: !canResend
207
+ }, locales.getText('pisell-common-resend'), countdown > 0 && " (".concat(countdown, " s)")))));
208
+ }
209
+ export default CodeInput;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 账号已注册错误页面(对应图2)
3
+ * 支持邮箱和手机号两种账号类型
4
+ */
5
+ import React from 'react';
6
+ import { locales } from '@pisell/utils';
7
+ import IconFont from '@pisell/materials/src/components/iconfont';
8
+ function EmailAlreadyRegistered(_ref) {
9
+ var flowData = _ref.flowData,
10
+ onGoToLogin = _ref.onGoToLogin,
11
+ onBack = _ref.onBack;
12
+ // 根据账号类型显示不同的提示信息
13
+ var message = flowData.accountType === 'email' ? locales.getText('pisell-register2-email-already-registered') : locales.getText('pisell-register2-phone-already-registered');
14
+ return /*#__PURE__*/React.createElement("div", {
15
+ className: "register-step-container email-already-registered-page"
16
+ }, /*#__PURE__*/React.createElement("button", {
17
+ className: "back-button-top",
18
+ onClick: onBack,
19
+ "aria-label": "Go back"
20
+ }, /*#__PURE__*/React.createElement(IconFont, {
21
+ type: "pisell2-arrow-left"
22
+ })), /*#__PURE__*/React.createElement("div", {
23
+ className: "register-step-content"
24
+ }, /*#__PURE__*/React.createElement("p", {
25
+ className: "email-already-registered-message"
26
+ }, message), /*#__PURE__*/React.createElement("div", {
27
+ className: "register-login-prompt"
28
+ }, /*#__PURE__*/React.createElement("span", {
29
+ className: "prompt-text"
30
+ }, locales.getText('pisell-register2-have-account'), " "), /*#__PURE__*/React.createElement("button", {
31
+ className: "login-link",
32
+ onClick: onGoToLogin
33
+ }, locales.getText('pisell-register2-login-link')))));
34
+ }
35
+ export default EmailAlreadyRegistered;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 邮件链接已使用页面 - 对应图3
3
+ */
4
+ import React from 'react';
5
+ import { Button } from '@pisell/materials';
6
+ import { locales } from '@pisell/utils';
7
+ function EmailLinkAlreadyUsed(_ref) {
8
+ var onGoToLogin = _ref.onGoToLogin;
9
+ return /*#__PURE__*/React.createElement("div", {
10
+ className: "register-step-container email-link-already-used-page"
11
+ }, /*#__PURE__*/React.createElement("div", {
12
+ className: "register-step-content"
13
+ }, /*#__PURE__*/React.createElement("h2", {
14
+ className: "email-link-result-title"
15
+ }, locales.getText('pisell-register2-link-already-used-title')), /*#__PURE__*/React.createElement("p", {
16
+ className: "email-link-result-desc"
17
+ }, locales.getText('pisell-register2-link-already-used-desc')), /*#__PURE__*/React.createElement(Button, {
18
+ type: "primary",
19
+ size: "large",
20
+ block: true,
21
+ onClick: onGoToLogin,
22
+ className: "register-submit-btn"
23
+ }, locales.getText('pisell-register2-login-button'))));
24
+ }
25
+ export default EmailLinkAlreadyUsed;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 邮件链接已过期页面 - 对应图2
3
+ */
4
+ import React from 'react';
5
+ import { Button } from '@pisell/materials';
6
+ import { locales } from '@pisell/utils';
7
+ function EmailLinkExpired(_ref) {
8
+ var onBackToRegistration = _ref.onBackToRegistration,
9
+ onGoToLogin = _ref.onGoToLogin;
10
+ return /*#__PURE__*/React.createElement("div", {
11
+ className: "register-step-container email-link-expired-page"
12
+ }, /*#__PURE__*/React.createElement("div", {
13
+ className: "register-step-content"
14
+ }, /*#__PURE__*/React.createElement("h2", {
15
+ className: "email-link-result-title"
16
+ }, locales.getText('pisell-register2-link-expired-title')), /*#__PURE__*/React.createElement("p", {
17
+ className: "email-link-result-desc"
18
+ }, locales.getText('pisell-register2-link-expired-desc')), /*#__PURE__*/React.createElement(Button, {
19
+ type: "primary",
20
+ size: "large",
21
+ block: true,
22
+ onClick: onBackToRegistration,
23
+ className: "register-submit-btn"
24
+ }, locales.getText('pisell-register2-back-to-registration')), /*#__PURE__*/React.createElement("div", {
25
+ className: "register-footer-prompt"
26
+ }, /*#__PURE__*/React.createElement("span", {
27
+ className: "prompt-text"
28
+ }, locales.getText('pisell-register2-have-account'), ' '), /*#__PURE__*/React.createElement("button", {
29
+ className: "prompt-link",
30
+ onClick: onGoToLogin
31
+ }, locales.getText('pisell-register2-login-link')))));
32
+ }
33
+ export default EmailLinkExpired;
@@ -0,0 +1,148 @@
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 _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; }
3
+ 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); } }
4
+ 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); }); }; }
5
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
+ 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."); }
7
+ 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); }
8
+ 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; }
9
+ 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; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ /**
12
+ * 设置密码页面(对应图5)
13
+ */
14
+ import React, { useState } from 'react';
15
+ import { Form, message } from 'antd';
16
+ import { Input, Button } from '@pisell/materials';
17
+ import { EyeInvisibleOutlined, EyeOutlined } from '@ant-design/icons';
18
+ import { locales } from '@pisell/utils';
19
+ import usePasswordValidationRules from "../hooks/usePasswordValidationRules";
20
+ function SetPassword(_ref) {
21
+ var flowData = _ref.flowData,
22
+ onSubmit = _ref.onSubmit,
23
+ onBack = _ref.onBack,
24
+ _ref$loading = _ref.loading,
25
+ loading = _ref$loading === void 0 ? false : _ref$loading,
26
+ _ref$passwordRules = _ref.passwordRules,
27
+ passwordRules = _ref$passwordRules === void 0 ? {
28
+ minLength: 8,
29
+ requireNumber: true
30
+ } : _ref$passwordRules,
31
+ _ref$scenario = _ref.scenario,
32
+ scenario = _ref$scenario === void 0 ? 'create' : _ref$scenario;
33
+ var _Form$useForm = Form.useForm(),
34
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
35
+ form = _Form$useForm2[0];
36
+ var _useState = useState(false),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ showPassword = _useState2[0],
39
+ setShowPassword = _useState2[1];
40
+ var _useState3 = useState(false),
41
+ _useState4 = _slicedToArray(_useState3, 2),
42
+ showConfirmPassword = _useState4[0],
43
+ setShowConfirmPassword = _useState4[1];
44
+ var handleSubmit = /*#__PURE__*/function () {
45
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
46
+ var values;
47
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
48
+ while (1) switch (_context.prev = _context.next) {
49
+ case 0:
50
+ _context.prev = 0;
51
+ _context.next = 3;
52
+ return form.validateFields();
53
+ case 3:
54
+ values = _context.sent;
55
+ _context.next = 6;
56
+ return onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(values.password, values.confirmPassword);
57
+ case 6:
58
+ _context.next = 13;
59
+ break;
60
+ case 8:
61
+ _context.prev = 8;
62
+ _context.t0 = _context["catch"](0);
63
+ if (!_context.t0.errorFields) {
64
+ _context.next = 12;
65
+ break;
66
+ }
67
+ return _context.abrupt("return");
68
+ case 12:
69
+ message.error((_context.t0 === null || _context.t0 === void 0 ? void 0 : _context.t0.message) || locales.getText('pisell-set-password-failed'));
70
+ case 13:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }, _callee, null, [[0, 8]]);
75
+ }));
76
+ return function handleSubmit() {
77
+ return _ref2.apply(this, arguments);
78
+ };
79
+ }();
80
+ var passwordValidationRules = usePasswordValidationRules(passwordRules, {
81
+ translate: locales.getText,
82
+ fallbackMinLength: 8,
83
+ messageKeys: {
84
+ required: 'pisell-set-password-required',
85
+ minLength: 'pisell-set-password-min-length',
86
+ requireUppercase: 'pisell-set-password-require-uppercase',
87
+ requireLowercase: 'pisell-set-password-require-lowercase',
88
+ requireNumber: 'pisell-set-password-require-number',
89
+ requireSpecialCharacters: 'pisell-set-password-require-special',
90
+ summary: 'pisell-set-password-must-contain'
91
+ }
92
+ });
93
+ return /*#__PURE__*/React.createElement("div", {
94
+ className: "register-step-container"
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ className: "register-step-content"
97
+ }, /*#__PURE__*/React.createElement("h2", {
98
+ className: "register-step-title"
99
+ }, scenario === 'create' ? locales.getText('pisell-set-password-create-title') : locales.getText('pisell-set-password-reset-title')), /*#__PURE__*/React.createElement(Form, {
100
+ form: form,
101
+ layout: "vertical",
102
+ className: "password-set-form"
103
+ }, /*#__PURE__*/React.createElement(Form.Item, {
104
+ name: "password",
105
+ rules: passwordValidationRules
106
+ }, /*#__PURE__*/React.createElement(Input.Password, {
107
+ size: "large",
108
+ placeholder: locales.getText('pisell-set-password-placeholder'),
109
+ className: "password-input",
110
+ autoComplete: "new-password",
111
+ iconRender: function iconRender(visible) {
112
+ return visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);
113
+ }
114
+ })), /*#__PURE__*/React.createElement(Form.Item, {
115
+ name: "confirmPassword",
116
+ dependencies: ['password'],
117
+ rules: [{
118
+ required: true,
119
+ message: locales.getText('pisell-set-password-confirm-required')
120
+ }, function (_ref3) {
121
+ var getFieldValue = _ref3.getFieldValue;
122
+ return {
123
+ validator: function validator(_, value) {
124
+ if (!value || getFieldValue('password') === value) {
125
+ return Promise.resolve();
126
+ }
127
+ return Promise.reject(new Error(locales.getText('pisell-set-password-not-match')));
128
+ }
129
+ };
130
+ }]
131
+ }, /*#__PURE__*/React.createElement(Input.Password, {
132
+ size: "large",
133
+ placeholder: locales.getText('pisell-set-password-confirm-placeholder'),
134
+ className: "password-input",
135
+ autoComplete: "new-password",
136
+ iconRender: function iconRender(visible) {
137
+ return visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);
138
+ }
139
+ })), /*#__PURE__*/React.createElement(Button, {
140
+ type: "primary",
141
+ size: "large",
142
+ block: true,
143
+ onClick: handleSubmit,
144
+ loading: loading,
145
+ className: "register-submit-btn"
146
+ }, scenario === 'create' ? locales.getText('pisell-set-password-submit') : locales.getText('pisell-common-confirm')))));
147
+ }
148
+ export default SetPassword;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 验证成功页面(对应图4)
3
+ */
4
+ import React from 'react';
5
+ import { locales } from '@pisell/utils';
6
+ function VerificationSuccess(_ref) {
7
+ var flowData = _ref.flowData;
8
+ return /*#__PURE__*/React.createElement("div", {
9
+ className: "register-step-container"
10
+ }, /*#__PURE__*/React.createElement("div", {
11
+ className: "register-step-content"
12
+ }, /*#__PURE__*/React.createElement("div", {
13
+ className: "success-icon-wrapper"
14
+ }, /*#__PURE__*/React.createElement("svg", {
15
+ width: "64",
16
+ height: "64",
17
+ viewBox: "0 0 64 64",
18
+ fill: "none"
19
+ }, /*#__PURE__*/React.createElement("circle", {
20
+ cx: "32",
21
+ cy: "32",
22
+ r: "32",
23
+ fill: "#10B981",
24
+ fillOpacity: "0.1"
25
+ }), /*#__PURE__*/React.createElement("path", {
26
+ d: "M22 32L28 38L42 24",
27
+ stroke: "#10B981",
28
+ strokeWidth: "3",
29
+ strokeLinecap: "round",
30
+ strokeLinejoin: "round"
31
+ }))), /*#__PURE__*/React.createElement("h2", {
32
+ className: "register-step-title"
33
+ }, locales.getText('pisell-verification-success-title'))));
34
+ }
35
+ export default VerificationSuccess;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 验证邮件链接中(Loading 状态)- 对应图1
3
+ */
4
+ import React from 'react';
5
+ import { locales } from '@pisell/utils';
6
+ function VerifyingEmailLink(_ref) {
7
+ var loadingText = _ref.loadingText;
8
+ var text = loadingText || locales.getText('pisell-register2-verifying-email');
9
+ return /*#__PURE__*/React.createElement("div", {
10
+ className: "register-step-container verifying-email-link-page"
11
+ }, /*#__PURE__*/React.createElement("div", {
12
+ className: "register-step-content"
13
+ }, /*#__PURE__*/React.createElement("p", {
14
+ className: "verifying-text"
15
+ }, text)));
16
+ }
17
+ export default VerifyingEmailLink;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 等待邮件链接验证页面(对应图1)
3
+ */
4
+ import React from 'react';
5
+ import { locales } from '@pisell/utils';
6
+ import IconFont from '@pisell/materials/src/components/iconfont';
7
+ function WaitEmailLink(_ref) {
8
+ var flowData = _ref.flowData,
9
+ onResend = _ref.onResend,
10
+ onBack = _ref.onBack,
11
+ onEditEmail = _ref.onEditEmail,
12
+ _ref$countdown = _ref.countdown,
13
+ countdown = _ref$countdown === void 0 ? 0 : _ref$countdown,
14
+ verificationMethod = _ref.verificationMethod;
15
+ var canResend = countdown === 0;
16
+ return /*#__PURE__*/React.createElement("div", {
17
+ className: "register-step-container"
18
+ }, onBack && /*#__PURE__*/React.createElement("button", {
19
+ className: "back-button-top",
20
+ onClick: onBack,
21
+ "aria-label": "Go back"
22
+ }, /*#__PURE__*/React.createElement(IconFont, {
23
+ type: "pisell2-arrow-left"
24
+ })), /*#__PURE__*/React.createElement("div", {
25
+ className: "register-step-content"
26
+ }, /*#__PURE__*/React.createElement("div", {
27
+ className: "register-step-title-verify-email"
28
+ }, locales.getText('pisell-register2-verify-email-title')), /*#__PURE__*/React.createElement("div", {
29
+ className: "register-step-desc-verify-email"
30
+ }, locales.getText('pisell-register2-verify-email-desc')), /*#__PURE__*/React.createElement("div", {
31
+ className: "register-email-display"
32
+ }, /*#__PURE__*/React.createElement("span", {
33
+ className: "email-text"
34
+ }, flowData.account), onEditEmail && /*#__PURE__*/React.createElement("button", {
35
+ className: "edit-email-btn",
36
+ onClick: onEditEmail,
37
+ "aria-label": "Edit email"
38
+ }, /*#__PURE__*/React.createElement(IconFont, {
39
+ type: "pisell2-edit-05",
40
+ style: {
41
+ fontSize: '20px',
42
+ color: '#7F56D9'
43
+ }
44
+ }))), /*#__PURE__*/React.createElement("div", {
45
+ className: "register-resend-section"
46
+ }, /*#__PURE__*/React.createElement("span", {
47
+ className: "resend-text"
48
+ }, locales.getText('pisell-register2-no-link-received'), ' '), /*#__PURE__*/React.createElement("button", {
49
+ className: "resend-link",
50
+ onClick: onResend,
51
+ disabled: !canResend
52
+ }, locales.getText('pisell-common-resend'), " ", countdown > 0 && "(".concat(countdown, " s)")))));
53
+ }
54
+ export default WaitEmailLink;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * 注册流程步骤组件导出
3
+ */
4
+ export { default as WaitEmailLink } from "./WaitEmailLink";
5
+ export { default as EmailAlreadyRegistered } from "./EmailAlreadyRegistered";
6
+ export { default as CodeInput } from "./CodeInput";
7
+ export { default as VerificationSuccess } from "./VerificationSuccess";
8
+ export { default as SetPassword } from "./SetPassword";
9
+ export { default as VerifyingEmailLink } from "./VerifyingEmailLink";
10
+ export { default as EmailLinkExpired } from "./EmailLinkExpired";
11
+ export { default as EmailLinkAlreadyUsed } from "./EmailLinkAlreadyUsed";