@pisell/private-materials 6.3.30 → 6.3.32

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 (287) 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 +146 -146
  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.d.ts +1 -1
  12. package/es/components/appointmentBooking/components/Cart/Item/index.js +3 -2
  13. package/es/components/appointmentBooking/components/ConfirmInformation/index.js +267 -76
  14. package/es/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
  15. package/es/components/appointmentBooking/hooks.d.ts +1 -0
  16. package/es/components/appointmentBooking/hooks.js +30 -30
  17. package/es/components/appointmentBooking/locales.d.ts +3 -0
  18. package/es/components/appointmentBooking/locales.js +9 -6
  19. package/es/components/booking/addons/model.d.ts +10 -1
  20. package/es/components/booking/components/footer/index.js +4 -1
  21. package/es/components/booking/components/footer/utils.js +62 -46
  22. package/es/components/booking/forms/model.d.ts +10 -1
  23. package/es/components/booking/info/clientVariant/hooks/useClientFn.js +2 -2
  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.d.ts +10 -1
  27. package/es/components/booking/info/model.js +5 -0
  28. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  29. package/es/components/booking/info2/index.js +3 -2
  30. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  31. package/es/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
  32. package/es/components/booking/info2/service/contactInfoMode/index.js +94 -0
  33. package/es/components/booking/locales.d.ts +3 -0
  34. package/es/components/booking/locales.js +9 -3
  35. package/es/components/booking/model.d.ts +13 -1
  36. package/es/components/booking/model.js +3 -0
  37. package/es/components/booking/notes/model.d.ts +10 -1
  38. package/es/components/booking/payments/model.d.ts +10 -1
  39. package/es/components/eftposPay/amount.d.ts +1 -1
  40. package/es/components/eftposPay/device.d.ts +1 -1
  41. package/es/components/eftposPay/store/index.d.ts +2 -2
  42. package/es/components/pay/toC/model.d.ts +9 -1
  43. package/es/components/schedules/model.d.ts +9 -1
  44. package/es/components/ticketBooking/components/ticketBooking/index.less +2 -1
  45. package/es/components/wallet/Detail/model.d.ts +13 -1
  46. package/es/components/wallet/DiscountCard/model.d.ts +14 -1
  47. package/es/components/wallet/PointCard/model.d.ts +13 -1
  48. package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
  49. package/es/components/wallet/Voucher/model.d.ts +13 -1
  50. package/es/components/wallet/model.d.ts +9 -1
  51. package/es/index.d.ts +3 -0
  52. package/es/index.js +4 -1
  53. package/es/plus/clientName/index.d.ts +4 -0
  54. package/es/plus/clientName/index.js +18 -0
  55. package/es/plus/clientName/index.less +10 -0
  56. package/es/plus/clientName/type.d.ts +13 -0
  57. package/es/plus/clientName/type.js +1 -0
  58. package/es/plus/clientName/utils.d.ts +2 -0
  59. package/es/plus/clientName/utils.js +18 -0
  60. package/es/plus/contactInfo/components/Avatar/index.d.ts +10 -0
  61. package/es/plus/contactInfo/components/Avatar/index.js +30 -0
  62. package/es/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
  63. package/es/plus/contactInfo/components/SwipeAction/index.js +360 -0
  64. package/es/plus/contactInfo/components/SwipeAction/index.less +74 -0
  65. package/es/plus/contactInfo/index.d.ts +6 -0
  66. package/es/plus/contactInfo/index.js +198 -0
  67. package/es/plus/contactInfo/index.less +621 -0
  68. package/es/plus/contactInfo/locales.d.ts +15 -0
  69. package/es/plus/contactInfo/locales.js +14 -0
  70. package/es/plus/contactInfo/types.d.ts +91 -0
  71. package/es/plus/contactInfo/types.js +1 -0
  72. package/es/plus/contactInfo/utils.d.ts +7 -0
  73. package/es/plus/contactInfo/utils.js +50 -0
  74. package/es/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
  75. package/es/plus/contactInfoModal/ContactInfoContent.js +74 -0
  76. package/es/plus/contactInfoModal/index.d.ts +40 -0
  77. package/es/plus/contactInfoModal/index.js +154 -0
  78. package/es/plus/contactInfoModal/index.less +19 -0
  79. package/es/plus/contactInfoModal/locales.d.ts +66 -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.d.ts +31 -0
  88. package/es/pro/Login2.0/components/ForgotPasswordFlow.js +330 -0
  89. package/es/pro/Login2.0/components/LegalTerms.d.ts +8 -0
  90. package/es/pro/Login2.0/components/LegalTerms.js +51 -0
  91. package/es/pro/Login2.0/components/LegalTerms.less +74 -0
  92. package/es/pro/Login2.0/components/LoginCodeInput.d.ts +27 -0
  93. package/es/pro/Login2.0/components/LoginCodeInput.js +207 -0
  94. package/es/pro/Login2.0/components/OAuthButtonGroup.d.ts +22 -0
  95. package/es/pro/Login2.0/components/OAuthButtonGroup.js +55 -0
  96. package/es/pro/Login2.0/components/PhoneInput.d.ts +53 -0
  97. package/es/pro/Login2.0/components/PhoneInput.js +414 -0
  98. package/es/pro/Login2.0/components/PhoneInput.less +148 -0
  99. package/es/pro/Login2.0/components/phoneValidation.d.ts +17 -0
  100. package/es/pro/Login2.0/components/phoneValidation.js +228 -0
  101. package/es/pro/Login2.0/hooks/index.d.ts +2 -0
  102. package/es/pro/Login2.0/hooks/index.js +1 -0
  103. package/es/pro/Login2.0/hooks/usePasswordValidationRules.d.ts +24 -0
  104. package/es/pro/Login2.0/hooks/usePasswordValidationRules.js +87 -0
  105. package/es/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
  106. package/es/pro/Login2.0/hooks/useRegisterFlow.js +158 -0
  107. package/es/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
  108. package/es/pro/Login2.0/hooks/useRegistrationMethods.js +31 -0
  109. package/es/pro/Login2.0/index.js +8 -0
  110. package/es/pro/Login2.0/index.less +993 -0
  111. package/es/pro/Login2.0/locales.d.ts +543 -0
  112. package/es/pro/Login2.0/locales.js +622 -0
  113. package/es/pro/Login2.0/shared/Header.d.ts +11 -0
  114. package/es/pro/Login2.0/shared/Header.js +42 -0
  115. package/es/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
  116. package/es/pro/Login2.0/shared/OAuthButtons.js +59 -0
  117. package/es/pro/Login2.0/shared/registerFlow.d.ts +116 -0
  118. package/es/pro/Login2.0/shared/registerFlow.js +171 -0
  119. package/es/pro/Login2.0/shared/types.d.ts +232 -0
  120. package/es/pro/Login2.0/shared/types.js +1 -0
  121. package/es/pro/Login2.0/steps/CodeInput.d.ts +24 -0
  122. package/es/pro/Login2.0/steps/CodeInput.js +209 -0
  123. package/es/pro/Login2.0/steps/EmailAlreadyRegistered.d.ts +12 -0
  124. package/es/pro/Login2.0/steps/EmailAlreadyRegistered.js +35 -0
  125. package/es/pro/Login2.0/steps/EmailLinkAlreadyUsed.d.ts +7 -0
  126. package/es/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +25 -0
  127. package/es/pro/Login2.0/steps/EmailLinkExpired.d.ts +9 -0
  128. package/es/pro/Login2.0/steps/EmailLinkExpired.js +33 -0
  129. package/es/pro/Login2.0/steps/SetPassword.d.ts +19 -0
  130. package/es/pro/Login2.0/steps/SetPassword.js +148 -0
  131. package/es/pro/Login2.0/steps/VerificationSuccess.d.ts +8 -0
  132. package/es/pro/Login2.0/steps/VerificationSuccess.js +35 -0
  133. package/es/pro/Login2.0/steps/VerifyingEmailLink.d.ts +7 -0
  134. package/es/pro/Login2.0/steps/VerifyingEmailLink.js +17 -0
  135. package/es/pro/Login2.0/steps/WaitEmailLink.d.ts +18 -0
  136. package/es/pro/Login2.0/steps/WaitEmailLink.js +54 -0
  137. package/es/pro/Login2.0/steps/index.d.ts +19 -0
  138. package/es/pro/Login2.0/steps/index.js +11 -0
  139. package/es/pro/Login2.0/steps/steps.less +423 -0
  140. package/es/pro/Login2.0/types.d.ts +167 -0
  141. package/es/pro/Login2.0/types.js +1 -0
  142. package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -1
  143. package/lib/components/appointmentBooking/components/Cart/Item/index.js +5 -3
  144. package/lib/components/appointmentBooking/components/ConfirmInformation/index.js +151 -13
  145. package/lib/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
  146. package/lib/components/appointmentBooking/hooks.d.ts +1 -0
  147. package/lib/components/appointmentBooking/hooks.js +73 -35
  148. package/lib/components/appointmentBooking/locales.d.ts +3 -0
  149. package/lib/components/appointmentBooking/locales.js +6 -3
  150. package/lib/components/booking/addons/model.d.ts +10 -1
  151. package/lib/components/booking/components/footer/index.js +4 -1
  152. package/lib/components/booking/components/footer/utils.js +70 -38
  153. package/lib/components/booking/forms/model.d.ts +10 -1
  154. package/lib/components/booking/info/clientVariant/hooks/useClientFn.js +1 -1
  155. package/lib/components/booking/info/clientVariant/vertical/index.js +34 -17
  156. package/lib/components/booking/info/main.js +5 -4
  157. package/lib/components/booking/info/model.d.ts +10 -1
  158. package/lib/components/booking/info/model.js +5 -0
  159. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  160. package/lib/components/booking/info2/index.js +5 -4
  161. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  162. package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
  163. package/lib/components/booking/info2/service/contactInfoMode/index.js +111 -0
  164. package/lib/components/booking/locales.d.ts +3 -0
  165. package/lib/components/booking/locales.js +9 -3
  166. package/lib/components/booking/model.d.ts +13 -1
  167. package/lib/components/booking/model.js +3 -0
  168. package/lib/components/booking/notes/model.d.ts +10 -1
  169. package/lib/components/booking/payments/model.d.ts +10 -1
  170. package/lib/components/eftposPay/amount.d.ts +1 -1
  171. package/lib/components/eftposPay/device.d.ts +1 -1
  172. package/lib/components/eftposPay/store/index.d.ts +2 -2
  173. package/lib/components/pay/toC/model.d.ts +9 -1
  174. package/lib/components/schedules/model.d.ts +9 -1
  175. package/lib/components/ticketBooking/components/ticketBooking/index.less +2 -1
  176. package/lib/components/wallet/Detail/model.d.ts +13 -1
  177. package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
  178. package/lib/components/wallet/PointCard/model.d.ts +13 -1
  179. package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
  180. package/lib/components/wallet/Voucher/model.d.ts +13 -1
  181. package/lib/components/wallet/model.d.ts +9 -1
  182. package/lib/index.d.ts +3 -0
  183. package/lib/index.js +13 -0
  184. package/lib/plus/clientName/index.d.ts +4 -0
  185. package/lib/plus/clientName/index.js +53 -0
  186. package/lib/plus/clientName/index.less +10 -0
  187. package/lib/plus/clientName/type.d.ts +13 -0
  188. package/lib/plus/clientName/type.js +17 -0
  189. package/lib/plus/clientName/utils.d.ts +2 -0
  190. package/lib/plus/clientName/utils.js +43 -0
  191. package/lib/plus/contactInfo/components/Avatar/index.d.ts +10 -0
  192. package/lib/plus/contactInfo/components/Avatar/index.js +56 -0
  193. package/lib/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
  194. package/lib/plus/contactInfo/components/SwipeAction/index.js +373 -0
  195. package/lib/plus/contactInfo/components/SwipeAction/index.less +74 -0
  196. package/lib/plus/contactInfo/index.d.ts +6 -0
  197. package/lib/plus/contactInfo/index.js +226 -0
  198. package/lib/plus/contactInfo/index.less +621 -0
  199. package/lib/plus/contactInfo/locales.d.ts +15 -0
  200. package/lib/plus/contactInfo/locales.js +38 -0
  201. package/lib/plus/contactInfo/types.d.ts +91 -0
  202. package/lib/plus/contactInfo/types.js +17 -0
  203. package/lib/plus/contactInfo/utils.d.ts +7 -0
  204. package/lib/plus/contactInfo/utils.js +64 -0
  205. package/lib/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
  206. package/lib/plus/contactInfoModal/ContactInfoContent.js +129 -0
  207. package/lib/plus/contactInfoModal/index.d.ts +40 -0
  208. package/lib/plus/contactInfoModal/index.js +138 -0
  209. package/lib/plus/contactInfoModal/index.less +19 -0
  210. package/lib/plus/contactInfoModal/locales.d.ts +66 -0
  211. package/lib/plus/contactInfoModal/locales.js +89 -0
  212. package/lib/pro/Login2.0/AuthModal.d.ts +143 -0
  213. package/lib/pro/Login2.0/AuthModal.js +498 -0
  214. package/lib/pro/Login2.0/Login2.d.ts +61 -0
  215. package/lib/pro/Login2.0/Login2.js +1468 -0
  216. package/lib/pro/Login2.0/Register2.d.ts +65 -0
  217. package/lib/pro/Login2.0/Register2.js +1062 -0
  218. package/lib/pro/Login2.0/components/ForgotPasswordFlow.d.ts +31 -0
  219. package/lib/pro/Login2.0/components/ForgotPasswordFlow.js +213 -0
  220. package/lib/pro/Login2.0/components/LegalTerms.d.ts +8 -0
  221. package/lib/pro/Login2.0/components/LegalTerms.js +76 -0
  222. package/lib/pro/Login2.0/components/LegalTerms.less +74 -0
  223. package/lib/pro/Login2.0/components/LoginCodeInput.d.ts +27 -0
  224. package/lib/pro/Login2.0/components/LoginCodeInput.js +161 -0
  225. package/lib/pro/Login2.0/components/OAuthButtonGroup.d.ts +22 -0
  226. package/lib/pro/Login2.0/components/OAuthButtonGroup.js +87 -0
  227. package/lib/pro/Login2.0/components/PhoneInput.d.ts +53 -0
  228. package/lib/pro/Login2.0/components/PhoneInput.js +263 -0
  229. package/lib/pro/Login2.0/components/PhoneInput.less +148 -0
  230. package/lib/pro/Login2.0/components/phoneValidation.d.ts +17 -0
  231. package/lib/pro/Login2.0/components/phoneValidation.js +153 -0
  232. package/lib/pro/Login2.0/hooks/index.d.ts +2 -0
  233. package/lib/pro/Login2.0/hooks/index.js +29 -0
  234. package/lib/pro/Login2.0/hooks/usePasswordValidationRules.d.ts +24 -0
  235. package/lib/pro/Login2.0/hooks/usePasswordValidationRules.js +140 -0
  236. package/lib/pro/Login2.0/hooks/useRegisterFlow.d.ts +39 -0
  237. package/lib/pro/Login2.0/hooks/useRegisterFlow.js +149 -0
  238. package/lib/pro/Login2.0/hooks/useRegistrationMethods.d.ts +9 -0
  239. package/lib/pro/Login2.0/hooks/useRegistrationMethods.js +51 -0
  240. package/lib/pro/Login2.0/index.js +45 -0
  241. package/lib/pro/Login2.0/index.less +993 -0
  242. package/lib/pro/Login2.0/locales.d.ts +543 -0
  243. package/lib/pro/Login2.0/locales.js +646 -0
  244. package/lib/pro/Login2.0/shared/Header.d.ts +11 -0
  245. package/lib/pro/Login2.0/shared/Header.js +81 -0
  246. package/lib/pro/Login2.0/shared/OAuthButtons.d.ts +11 -0
  247. package/lib/pro/Login2.0/shared/OAuthButtons.js +78 -0
  248. package/lib/pro/Login2.0/shared/registerFlow.d.ts +116 -0
  249. package/lib/pro/Login2.0/shared/registerFlow.js +235 -0
  250. package/lib/pro/Login2.0/shared/types.d.ts +232 -0
  251. package/lib/pro/Login2.0/shared/types.js +17 -0
  252. package/lib/pro/Login2.0/steps/CodeInput.d.ts +24 -0
  253. package/lib/pro/Login2.0/steps/CodeInput.js +160 -0
  254. package/lib/pro/Login2.0/steps/EmailAlreadyRegistered.d.ts +12 -0
  255. package/lib/pro/Login2.0/steps/EmailAlreadyRegistered.js +46 -0
  256. package/lib/pro/Login2.0/steps/EmailLinkAlreadyUsed.d.ts +7 -0
  257. package/lib/pro/Login2.0/steps/EmailLinkAlreadyUsed.js +51 -0
  258. package/lib/pro/Login2.0/steps/EmailLinkExpired.d.ts +9 -0
  259. package/lib/pro/Login2.0/steps/EmailLinkExpired.js +51 -0
  260. package/lib/pro/Login2.0/steps/SetPassword.d.ts +19 -0
  261. package/lib/pro/Login2.0/steps/SetPassword.js +131 -0
  262. package/lib/pro/Login2.0/steps/VerificationSuccess.d.ts +8 -0
  263. package/lib/pro/Login2.0/steps/VerificationSuccess.js +49 -0
  264. package/lib/pro/Login2.0/steps/VerifyingEmailLink.d.ts +7 -0
  265. package/lib/pro/Login2.0/steps/VerifyingEmailLink.js +41 -0
  266. package/lib/pro/Login2.0/steps/WaitEmailLink.d.ts +18 -0
  267. package/lib/pro/Login2.0/steps/WaitEmailLink.js +67 -0
  268. package/lib/pro/Login2.0/steps/index.d.ts +19 -0
  269. package/lib/pro/Login2.0/steps/index.js +60 -0
  270. package/lib/pro/Login2.0/steps/steps.less +423 -0
  271. package/lib/pro/Login2.0/types.d.ts +167 -0
  272. package/lib/pro/Login2.0/types.js +17 -0
  273. package/lowcode/authmodal/meta.ts +395 -0
  274. package/lowcode/contact-info/fragments/cardStyle.ts +68 -0
  275. package/lowcode/contact-info/fragments/nameStyle.ts +33 -0
  276. package/lowcode/contact-info/fragments/pisellAvatar.ts +103 -0
  277. package/lowcode/contact-info/fragments/textStyle.ts +33 -0
  278. package/lowcode/contact-info/meta.ts +199 -0
  279. package/lowcode/contact-info-modal/meta.ts +98 -0
  280. package/lowcode/login2/CONFIG.md +447 -0
  281. package/lowcode/login2/TEST_CONFIG.md +324 -0
  282. package/lowcode/login2/VERIFICATION_METHODS.md +364 -0
  283. package/lowcode/login2/meta.ts +560 -0
  284. package/lowcode/login2/snippets.ts +124 -0
  285. package/lowcode/register2/meta.ts +562 -0
  286. package/lowcode/register2/snippets.ts +257 -0
  287. package/package.json +7 -5
@@ -0,0 +1,31 @@
1
+ /// <reference types="react" />
2
+ import { PhoneValueObject } from './PhoneInput';
3
+ export interface ForgotPasswordFlowProps {
4
+ /** 初始账号(可选,如果用户在登录页已输入) */
5
+ initialEmail?: string | PhoneValueObject;
6
+ /** 账号类型 */
7
+ accountType: 'email' | 'phone';
8
+ /** 发送验证码回调 */
9
+ onSendCode?: (account: string | PhoneValueObject) => Promise<void>;
10
+ /** 验证验证码回调 */
11
+ onVerifyCode?: (account: string | PhoneValueObject, code: string) => Promise<void>;
12
+ /** 发送重置密码链接回调 */
13
+ onSendResetLink?: (account: string) => Promise<void>;
14
+ /** 重置密码回调 */
15
+ onResetPassword?: (account: string | PhoneValueObject, password: string, code: string) => Promise<void>;
16
+ /** 返回登录页 */
17
+ onBack?: () => void;
18
+ /** 加载状态 */
19
+ loading?: boolean;
20
+ /** 倒计时 */
21
+ countdown?: number;
22
+ /** 可用的国家/地区列表 */
23
+ countries?: Array<{
24
+ name: string;
25
+ code: string;
26
+ calling_code: string;
27
+ currency_code: string;
28
+ }>;
29
+ }
30
+ declare function ForgotPasswordFlow({ initialEmail, accountType, onSendCode, onVerifyCode, onResetPassword, onSendResetLink, onBack, loading, countdown, countries, }: ForgotPasswordFlowProps): JSX.Element | null;
31
+ export default ForgotPasswordFlow;
@@ -0,0 +1,213 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/pro/Login2.0/components/ForgotPasswordFlow.tsx
30
+ var ForgotPasswordFlow_exports = {};
31
+ __export(ForgotPasswordFlow_exports, {
32
+ default: () => ForgotPasswordFlow_default
33
+ });
34
+ module.exports = __toCommonJS(ForgotPasswordFlow_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_antd = require("antd");
37
+ var import_materials = require("@pisell/materials");
38
+ var import_utils = require("@pisell/utils");
39
+ var import_LoginCodeInput = __toESM(require("./LoginCodeInput"));
40
+ var import_SetPassword = __toESM(require("../steps/SetPassword"));
41
+ var import_PhoneInput = __toESM(require("./PhoneInput"));
42
+ var import_phoneValidation = require("./phoneValidation");
43
+ var import_iconfont = __toESM(require("@pisell/materials/src/components/iconfont"));
44
+ function ForgotPasswordFlow({
45
+ initialEmail = "",
46
+ accountType,
47
+ onSendCode,
48
+ onVerifyCode,
49
+ onResetPassword,
50
+ onSendResetLink,
51
+ onBack,
52
+ loading = false,
53
+ countdown = 0,
54
+ countries = []
55
+ }) {
56
+ const [form] = import_antd.Form.useForm();
57
+ const [step, setStep] = (0, import_react.useState)("confirm_email");
58
+ const initialAccountString = typeof initialEmail === "object" && initialEmail && "phone" in initialEmail ? `+${initialEmail.country_calling_code}${initialEmail.phone}` : initialEmail || "";
59
+ const [account, setAccount] = (0, import_react.useState)(initialAccountString);
60
+ const [originalAccountData, setOriginalAccountData] = (0, import_react.useState)(initialEmail || "");
61
+ const [verificationCode, setVerificationCode] = (0, import_react.useState)("");
62
+ const handleSendResetLink = async () => {
63
+ try {
64
+ const values = await form.validateFields();
65
+ const emailToSend = values.account || account;
66
+ if (!emailToSend) {
67
+ import_antd.message.error(import_utils.locales.getText("pisell-login2-email-required"));
68
+ return;
69
+ }
70
+ await (onSendResetLink == null ? void 0 : onSendResetLink(emailToSend));
71
+ onBack == null ? void 0 : onBack();
72
+ } catch (error) {
73
+ }
74
+ };
75
+ const handleSendCode = async () => {
76
+ try {
77
+ const values = await form.validateFields();
78
+ const accountToSend = values.account || originalAccountData;
79
+ if (!accountToSend) {
80
+ const errorMessage = accountType === "email" ? import_utils.locales.getText("pisell-login2-email-required") : import_utils.locales.getText("pisell-login2-phone-required");
81
+ import_antd.message.error(errorMessage);
82
+ return;
83
+ }
84
+ await (onSendCode == null ? void 0 : onSendCode(accountToSend));
85
+ setOriginalAccountData(accountToSend);
86
+ const accountForState = typeof accountToSend === "object" && "phone" in accountToSend ? `+${accountToSend.country_calling_code}${accountToSend.phone}` : accountToSend;
87
+ setAccount(accountForState);
88
+ setStep("input_code");
89
+ } catch (error) {
90
+ }
91
+ };
92
+ const handleVerifyCode = async (code) => {
93
+ try {
94
+ await (onVerifyCode == null ? void 0 : onVerifyCode(originalAccountData, code));
95
+ setVerificationCode(code);
96
+ setStep("set_password");
97
+ } catch (error) {
98
+ }
99
+ };
100
+ const handleSetPassword = async (password, confirmPassword) => {
101
+ try {
102
+ await (onResetPassword == null ? void 0 : onResetPassword(originalAccountData, password, verificationCode));
103
+ import_antd.message.success(import_utils.locales.getText("pisell-forgot-password-success"));
104
+ onBack == null ? void 0 : onBack();
105
+ } catch (error) {
106
+ }
107
+ };
108
+ const handleBackStep = () => {
109
+ if (step === "input_code") {
110
+ setStep("confirm_email");
111
+ } else if (step === "set_password") {
112
+ setStep("input_code");
113
+ } else {
114
+ onBack == null ? void 0 : onBack();
115
+ }
116
+ };
117
+ if (step === "confirm_email") {
118
+ const isEmail = accountType === "email";
119
+ const accountLabel = isEmail ? import_utils.locales.getText("pisell-login2-email-label") : import_utils.locales.getText("pisell-login2-phone-label");
120
+ const accountPlaceholder = isEmail ? import_utils.locales.getText("pisell-login2-email-placeholder") : import_utils.locales.getText("pisell-login2-phone-placeholder");
121
+ const accountRules = isEmail ? [
122
+ { required: true, message: import_utils.locales.getText("pisell-login2-email-required") },
123
+ { type: "email", message: import_utils.locales.getText("pisell-login2-email-invalid") }
124
+ ] : (0, import_phoneValidation.createPhoneValidationRules)(import_utils.locales.getText, true);
125
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "register-step-container" }, /* @__PURE__ */ import_react.default.createElement("button", { className: "back-button-top", onClick: onBack, "aria-label": "Go back" }, /* @__PURE__ */ import_react.default.createElement(import_iconfont.default, { type: "pisell2-arrow-left" })), /* @__PURE__ */ import_react.default.createElement("div", { className: "register-step-content" }, /* @__PURE__ */ import_react.default.createElement("h2", { className: "register-step-title" }, import_utils.locales.getText("pisell-forgot-password-title")), /* @__PURE__ */ import_react.default.createElement("p", { className: "register-step-desc" }, accountType === "email" ? import_utils.locales.getText("pisell-forgot-password-desc") : import_utils.locales.getText("pisell-forgot-password-desc-phone")), /* @__PURE__ */ import_react.default.createElement(import_antd.Form, { form, layout: "vertical", size: "large", initialValues: { account: initialEmail } }, /* @__PURE__ */ import_react.default.createElement(import_antd.Form.Item, { name: "account", rules: accountRules, initialValue: initialEmail, style: { marginBottom: "12px" } }, accountType === "email" ? /* @__PURE__ */ import_react.default.createElement(
126
+ import_materials.Input,
127
+ {
128
+ size: "large",
129
+ placeholder: accountPlaceholder,
130
+ className: "login2-input"
131
+ }
132
+ ) : /* @__PURE__ */ import_react.default.createElement(
133
+ import_PhoneInput.default,
134
+ {
135
+ size: "large",
136
+ placeholder: accountPlaceholder,
137
+ className: "login2-input",
138
+ countries,
139
+ valueFormat: "object"
140
+ }
141
+ )), /* @__PURE__ */ import_react.default.createElement(
142
+ import_materials.Button,
143
+ {
144
+ type: "primary",
145
+ size: "large",
146
+ block: true,
147
+ loading,
148
+ onClick: handleSendCode,
149
+ className: "register-submit-btn"
150
+ },
151
+ import_utils.locales.getText("pisell-forgot-password-send-code")
152
+ ), accountType === "email" && /* @__PURE__ */ import_react.default.createElement(
153
+ import_materials.Button,
154
+ {
155
+ type: "primary",
156
+ size: "large",
157
+ block: true,
158
+ loading,
159
+ onClick: handleSendResetLink,
160
+ className: "register-submit-btn",
161
+ style: { marginTop: "12px" }
162
+ },
163
+ import_utils.locales.getText("pisell-forgot-password-send-link")
164
+ ), /* @__PURE__ */ import_react.default.createElement(
165
+ import_materials.Button,
166
+ {
167
+ type: "default",
168
+ size: "large",
169
+ block: true,
170
+ onClick: onBack,
171
+ className: "register-back-btn"
172
+ },
173
+ import_utils.locales.getText("pisell-login2-back")
174
+ ))));
175
+ }
176
+ if (step === "input_code") {
177
+ return /* @__PURE__ */ import_react.default.createElement(
178
+ import_LoginCodeInput.default,
179
+ {
180
+ account,
181
+ accountType,
182
+ codeLength: 4,
183
+ onSubmit: handleVerifyCode,
184
+ onResend: () => onSendCode == null ? void 0 : onSendCode(account),
185
+ onBack: handleBackStep,
186
+ countdown,
187
+ loading,
188
+ submitButtonText: import_utils.locales.getText("pisell-forgot-password-verify")
189
+ }
190
+ );
191
+ }
192
+ if (step === "set_password") {
193
+ return /* @__PURE__ */ import_react.default.createElement(
194
+ import_SetPassword.default,
195
+ {
196
+ flowData: {
197
+ currentStep: "set_password",
198
+ accountType,
199
+ account,
200
+ verificationMethod: "email_code",
201
+ verificationCode,
202
+ password: "",
203
+ extraData: {}
204
+ },
205
+ onSubmit: handleSetPassword,
206
+ onBack: handleBackStep,
207
+ loading
208
+ }
209
+ );
210
+ }
211
+ return null;
212
+ }
213
+ var ForgotPasswordFlow_default = ForgotPasswordFlow;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { LegalTermsConfig } from '../shared/types';
3
+ import './LegalTerms.less';
4
+ interface LegalTermsProps {
5
+ config: LegalTermsConfig;
6
+ }
7
+ declare const LegalTerms: React.FC<LegalTermsProps>;
8
+ export default LegalTerms;
@@ -0,0 +1,76 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/pro/Login2.0/components/LegalTerms.tsx
30
+ var LegalTerms_exports = {};
31
+ __export(LegalTerms_exports, {
32
+ default: () => LegalTerms_default
33
+ });
34
+ module.exports = __toCommonJS(LegalTerms_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_utils = require("@pisell/utils");
37
+ var import_locales = require("../../../utils/locales");
38
+ var import_LegalTerms = require("./LegalTerms.less");
39
+ var LegalTerms = ({ config }) => {
40
+ var _a;
41
+ if (!(config == null ? void 0 : config.enabled) || !((_a = config == null ? void 0 : config.terms) == null ? void 0 : _a.length)) {
42
+ return null;
43
+ }
44
+ const getTextByMode = () => {
45
+ const mode = config.mode || "register";
46
+ if (mode === "login") {
47
+ return import_utils.locales.getText("pisell-legal-terms-login-text");
48
+ } else {
49
+ return import_utils.locales.getText("pisell-legal-terms-register-text");
50
+ }
51
+ };
52
+ const renderTerms = () => {
53
+ var _a2;
54
+ return (_a2 = config.terms) == null ? void 0 : _a2.map((term, index) => {
55
+ let termName = "";
56
+ if (typeof term.name === "string") {
57
+ termName = term.name;
58
+ } else if (typeof term.name === "object") {
59
+ const locale = (0, import_locales.getLocale)() || "zh-CN";
60
+ termName = term.name[locale] || term.name.original || "";
61
+ }
62
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, { key: index }, index > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: "legal-terms-separator" }, import_utils.locales.getText("pisell-legal-terms-and")), /* @__PURE__ */ import_react.default.createElement(
63
+ "a",
64
+ {
65
+ href: term.url,
66
+ target: "_blank",
67
+ rel: "noopener noreferrer",
68
+ className: "legal-terms-link"
69
+ },
70
+ termName
71
+ ));
72
+ });
73
+ };
74
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "legal-terms" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "legal-terms-text" }, getTextByMode()), renderTerms());
75
+ };
76
+ var LegalTerms_default = LegalTerms;
@@ -0,0 +1,74 @@
1
+ /* 法律条款组件样式 */
2
+ .legal-terms {
3
+ position: relative;
4
+ margin-top: 0;
5
+ border-top: 1px solid #e5e7eb;
6
+ padding: 12px 24px;
7
+ text-align: center;
8
+ background-color: #fff;
9
+ width: 100%;
10
+
11
+ /* 在弹窗模式下的特殊处理 - 使用固定定位但不遮挡内容 */
12
+ .pisell-lowcode-modal-body &, .login-lm-drawer-popover & {
13
+ position: fixed;
14
+ bottom: 0;
15
+ left: 0;
16
+ margin-top: 16px;
17
+ border-top: none;
18
+ padding: 8px 0;
19
+ z-index: 1000;
20
+ box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
21
+ }
22
+ }
23
+
24
+ .legal-terms-content {
25
+ text-align: center;
26
+ font-size: 12px;
27
+ color: #151624;
28
+ line-height: 1.5;
29
+ max-width: 600px;
30
+ margin: 0 auto;
31
+ }
32
+
33
+ .legal-terms-link {
34
+ color: inherit;
35
+ cursor: pointer;
36
+ transition: none;
37
+ text-decoration: underline;
38
+
39
+ &:focus {
40
+ outline: 2px solid #3b82f6;
41
+ outline-offset: 2px;
42
+ border-radius: 2px;
43
+ }
44
+ }
45
+
46
+ /* 响应式设计 */
47
+ @media (max-width: 768px) {
48
+ .legal-terms {
49
+ padding: 8px 16px;
50
+ }
51
+
52
+ .legal-terms-content {
53
+ font-size: 11px;
54
+ }
55
+ }
56
+
57
+ /* 深色主题支持 */
58
+ @media (prefers-color-scheme: dark) {
59
+ .legal-terms {
60
+ border-top-color: #e5e7eb;
61
+ }
62
+
63
+ .legal-terms-content {
64
+ color: #151624;
65
+ }
66
+
67
+ .legal-term-link {
68
+ color: #151624;
69
+
70
+ &:hover {
71
+ color: #151624;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,27 @@
1
+ /// <reference types="react" />
2
+ export interface LoginCodeInputProps {
3
+ /** 账号(邮箱或手机号) */
4
+ account: string;
5
+ /** 账号类型 */
6
+ accountType: 'email' | 'phone';
7
+ /** 验证码长度 */
8
+ codeLength?: number;
9
+ /** 提交验证码 */
10
+ onSubmit?: (code: string) => void;
11
+ /** 重新发送 */
12
+ onResend?: () => void;
13
+ /** 返回 */
14
+ onBack?: () => void;
15
+ /** 倒计时秒数 */
16
+ countdown?: number;
17
+ /** 加载状态 */
18
+ loading?: boolean;
19
+ /** 按钮文案(默认为"Log in",忘记密码场景为"Verify") */
20
+ submitButtonText?: string;
21
+ /** 错误信息 */
22
+ error?: string;
23
+ /** 当用户输入时清除错误的回调 */
24
+ onClearError?: () => void;
25
+ }
26
+ declare function LoginCodeInput({ account, accountType, codeLength, onSubmit, onResend, onBack, countdown, loading, submitButtonText, error, onClearError, }: LoginCodeInputProps): JSX.Element;
27
+ export default LoginCodeInput;
@@ -0,0 +1,161 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/pro/Login2.0/components/LoginCodeInput.tsx
30
+ var LoginCodeInput_exports = {};
31
+ __export(LoginCodeInput_exports, {
32
+ default: () => LoginCodeInput_default
33
+ });
34
+ module.exports = __toCommonJS(LoginCodeInput_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_materials = require("@pisell/materials");
37
+ var import_utils = require("@pisell/utils");
38
+ var import_iconfont = __toESM(require("@pisell/materials/src/components/iconfont"));
39
+ function LoginCodeInput({
40
+ account,
41
+ accountType,
42
+ codeLength = 4,
43
+ onSubmit,
44
+ onResend,
45
+ onBack,
46
+ countdown = 0,
47
+ loading = false,
48
+ submitButtonText,
49
+ error,
50
+ onClearError
51
+ }) {
52
+ const [code, setCode] = (0, import_react.useState)(Array(codeLength).fill(""));
53
+ const inputRefs = (0, import_react.useRef)([]);
54
+ const canResend = countdown === 0;
55
+ (0, import_react.useEffect)(() => {
56
+ var _a;
57
+ (_a = inputRefs.current[0]) == null ? void 0 : _a.focus();
58
+ }, []);
59
+ (0, import_react.useEffect)(() => {
60
+ var _a;
61
+ if (error) {
62
+ setCode(Array(codeLength).fill(""));
63
+ (_a = inputRefs.current[0]) == null ? void 0 : _a.focus();
64
+ }
65
+ }, [error, codeLength]);
66
+ const handleInputChange = (index, value) => {
67
+ var _a;
68
+ if (!/^\d*$/.test(value)) return;
69
+ if (value && error && onClearError) {
70
+ onClearError();
71
+ }
72
+ const newCode = [...code];
73
+ newCode[index] = value.slice(-1);
74
+ setCode(newCode);
75
+ if (value && index < codeLength - 1) {
76
+ (_a = inputRefs.current[index + 1]) == null ? void 0 : _a.focus();
77
+ }
78
+ if (newCode.every((digit) => digit !== "")) {
79
+ const fullCode = newCode.join("");
80
+ onSubmit == null ? void 0 : onSubmit(fullCode);
81
+ }
82
+ };
83
+ const handleKeyDown = (index, e) => {
84
+ var _a;
85
+ if (e.key === "Backspace" && !code[index] && index > 0) {
86
+ (_a = inputRefs.current[index - 1]) == null ? void 0 : _a.focus();
87
+ }
88
+ };
89
+ const handlePaste = (e) => {
90
+ e.preventDefault();
91
+ const pastedData = e.clipboardData.getData("text").trim();
92
+ if (!/^\d+$/.test(pastedData)) return;
93
+ if (pastedData && error && onClearError) {
94
+ onClearError();
95
+ }
96
+ const newCode = pastedData.slice(0, codeLength).split("");
97
+ while (newCode.length < codeLength) {
98
+ newCode.push("");
99
+ }
100
+ setCode(newCode);
101
+ if (newCode.every((digit) => digit !== "")) {
102
+ onSubmit == null ? void 0 : onSubmit(newCode.join(""));
103
+ }
104
+ };
105
+ const handleSubmit = () => {
106
+ const fullCode = code.join("");
107
+ if (fullCode.length === codeLength) {
108
+ onSubmit == null ? void 0 : onSubmit(fullCode);
109
+ }
110
+ };
111
+ const title = accountType === "email" ? import_utils.locales.getText("pisell-login2-check-email-title") : import_utils.locales.getText("pisell-login2-check-phone-title");
112
+ const description = accountType === "email" ? import_utils.locales.getText("pisell-login2-check-email-desc") : import_utils.locales.getText("pisell-login2-check-phone-desc");
113
+ const noReceiveText = accountType === "email" ? import_utils.locales.getText("pisell-login2-no-email-received") : import_utils.locales.getText("pisell-login2-no-message-received");
114
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "register-step-container code-input-page" }, /* @__PURE__ */ import_react.default.createElement("button", { className: "back-button-top", onClick: onBack, "aria-label": "Go back" }, /* @__PURE__ */ import_react.default.createElement(import_iconfont.default, { type: "pisell2-arrow-left" })), /* @__PURE__ */ import_react.default.createElement("div", { className: "register-step-content" }, /* @__PURE__ */ import_react.default.createElement("h2", { className: "register-step-title" }, title), /* @__PURE__ */ import_react.default.createElement("p", { className: "register-step-desc" }, description, /* @__PURE__ */ import_react.default.createElement("br", null), account), /* @__PURE__ */ import_react.default.createElement("div", { className: "code-input-group", onPaste: handlePaste }, code.map((digit, index) => /* @__PURE__ */ import_react.default.createElement(
115
+ "input",
116
+ {
117
+ key: index,
118
+ ref: (el) => inputRefs.current[index] = el,
119
+ type: "text",
120
+ inputMode: "numeric",
121
+ maxLength: 1,
122
+ className: `code-input-box ${digit ? "has-value" : ""} ${error ? "has-error" : ""}`,
123
+ value: digit,
124
+ onChange: (e) => handleInputChange(index, e.target.value),
125
+ onKeyDown: (e) => handleKeyDown(index, e),
126
+ disabled: loading
127
+ }
128
+ ))), error && /* @__PURE__ */ import_react.default.createElement("div", { className: "code-input-error" }, error), /* @__PURE__ */ import_react.default.createElement(
129
+ import_materials.Button,
130
+ {
131
+ type: "primary",
132
+ size: "large",
133
+ block: true,
134
+ onClick: handleSubmit,
135
+ loading,
136
+ disabled: code.some((digit) => !digit),
137
+ className: "register-submit-btn"
138
+ },
139
+ submitButtonText || import_utils.locales.getText("pisell-login2-login-button")
140
+ ), /* @__PURE__ */ import_react.default.createElement(
141
+ import_materials.Button,
142
+ {
143
+ type: "default",
144
+ size: "large",
145
+ block: true,
146
+ onClick: onBack,
147
+ className: "register-back-btn"
148
+ },
149
+ import_utils.locales.getText("pisell-login2-back")
150
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "register-resend-section" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "resend-text" }, noReceiveText, " "), /* @__PURE__ */ import_react.default.createElement(
151
+ "button",
152
+ {
153
+ className: "resend-link",
154
+ onClick: onResend,
155
+ disabled: !canResend
156
+ },
157
+ import_utils.locales.getText("pisell-login2-resend-code"),
158
+ countdown > 0 && ` (${countdown} s)`
159
+ ))));
160
+ }
161
+ var LoginCodeInput_default = LoginCodeInput;
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface OAuthProviderConfig {
3
+ key: string;
4
+ label: React.ReactNode;
5
+ onClick: () => void;
6
+ icon?: React.ReactNode;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ badge?: string;
10
+ badgeClassName?: string;
11
+ }
12
+ export interface OAuthButtonGroupProps {
13
+ providers: OAuthProviderConfig[];
14
+ layout?: 'vertical' | 'horizontal';
15
+ size?: 'large' | 'middle' | 'small';
16
+ block?: boolean;
17
+ wrapperClassName?: string;
18
+ buttonClassName?: string;
19
+ gap?: number;
20
+ }
21
+ declare const OAuthButtonGroup: React.FC<OAuthButtonGroupProps>;
22
+ export default OAuthButtonGroup;