@1money/component-ui 0.0.90 → 0.0.91

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 (353) hide show
  1. package/es/business/Dialog/BaseDialog/BaseDialog.d.ts +3 -0
  2. package/es/business/Dialog/BaseDialog/BaseDialog.js +131 -0
  3. package/es/business/Dialog/BaseDialog/constants.d.ts +12 -0
  4. package/es/business/Dialog/BaseDialog/constants.js +13 -0
  5. package/es/business/Dialog/BaseDialog/index.d.ts +4 -0
  6. package/es/business/Dialog/BaseDialog/index.js +5 -0
  7. package/es/business/Dialog/BaseDialog/interface.d.ts +69 -0
  8. package/es/business/Dialog/BaseDialog/interface.js +2 -0
  9. package/es/business/Dialog/BaseDialog/style/BaseDialog.css +72 -0
  10. package/es/business/Dialog/BaseDialog/style/css.js +2 -0
  11. package/es/business/Dialog/BaseDialog/style/index.d.ts +1 -0
  12. package/es/business/Dialog/BaseDialog/style/index.js +2 -0
  13. package/es/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
  14. package/es/business/Dialog/Descriptions/Descriptions.js +102 -0
  15. package/es/business/Dialog/Descriptions/constants.d.ts +16 -0
  16. package/es/business/Dialog/Descriptions/constants.js +24 -0
  17. package/es/business/Dialog/Descriptions/index.d.ts +4 -0
  18. package/es/business/Dialog/Descriptions/index.js +5 -0
  19. package/es/business/Dialog/Descriptions/interface.d.ts +58 -0
  20. package/es/business/Dialog/{ResultDialog → Descriptions}/interface.js +1 -1
  21. package/es/business/Dialog/Descriptions/style/Descriptions.css +60 -0
  22. package/es/business/Dialog/{ResultDialog → Descriptions}/style/css.js +2 -2
  23. package/es/business/Dialog/Descriptions/style/index.d.ts +1 -0
  24. package/es/business/Dialog/{ResultDialog → Descriptions}/style/index.js +2 -2
  25. package/es/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
  26. package/es/business/Dialog/DetailsDialog/DetailsDialog.js +101 -0
  27. package/es/business/Dialog/DetailsDialog/index.d.ts +4 -0
  28. package/es/business/Dialog/DetailsDialog/index.js +5 -0
  29. package/es/business/Dialog/DetailsDialog/interface.d.ts +31 -0
  30. package/es/business/Dialog/DetailsDialog/interface.js +2 -0
  31. package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +43 -0
  32. package/es/business/Dialog/DetailsDialog/style/css.js +2 -0
  33. package/es/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
  34. package/es/business/Dialog/DetailsDialog/style/index.js +2 -0
  35. package/es/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
  36. package/es/business/Dialog/FormDialog/FormDialog.js +121 -0
  37. package/es/business/Dialog/FormDialog/index.d.ts +6 -0
  38. package/es/business/Dialog/FormDialog/index.js +6 -0
  39. package/es/business/Dialog/FormDialog/interface.d.ts +53 -0
  40. package/es/business/Dialog/FormDialog/interface.js +2 -0
  41. package/{lib/business/Dialog/TransactionDialog/style/TransactionDialog.css → es/business/Dialog/FormDialog/style/FormDialog.css} +11 -11
  42. package/es/business/Dialog/FormDialog/style/css.js +2 -0
  43. package/es/business/Dialog/FormDialog/style/index.d.ts +1 -0
  44. package/es/business/Dialog/FormDialog/style/index.js +2 -0
  45. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +249 -95
  46. package/es/business/Dialog/VerificationDialog/constants.d.ts +8 -35
  47. package/es/business/Dialog/VerificationDialog/constants.js +8 -30
  48. package/es/business/Dialog/VerificationDialog/index.d.ts +2 -1
  49. package/es/business/Dialog/VerificationDialog/index.js +3 -2
  50. package/es/business/Dialog/VerificationDialog/interface.d.ts +42 -106
  51. package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +17 -6
  52. package/es/business/Dialog/index.d.ts +5 -2
  53. package/es/business/Dialog/index.js +8 -3
  54. package/es/business/Dialog/variants/DeleteDialog.d.ts +3 -0
  55. package/es/business/Dialog/variants/DeleteDialog.js +20 -0
  56. package/es/business/Dialog/variants/FailureDialog.d.ts +3 -0
  57. package/es/business/Dialog/variants/FailureDialog.js +20 -0
  58. package/es/business/Dialog/variants/LoadingDialog.d.ts +33 -0
  59. package/es/business/Dialog/variants/LoadingDialog.js +189 -0
  60. package/es/business/Dialog/variants/PendingDialog.d.ts +3 -0
  61. package/es/business/Dialog/variants/PendingDialog.js +19 -0
  62. package/es/business/Dialog/variants/SuccessDialog.d.ts +3 -0
  63. package/es/business/Dialog/variants/SuccessDialog.js +19 -0
  64. package/es/business/Dialog/variants/index.d.ts +10 -0
  65. package/es/business/Dialog/variants/index.js +9 -0
  66. package/es/business/Dialog/variants/style/LoadingDialog.css +62 -0
  67. package/es/business/Dialog/variants/style/css.js +2 -0
  68. package/es/business/Dialog/variants/style/index.d.ts +1 -0
  69. package/es/business/Dialog/variants/style/index.js +2 -0
  70. package/es/business/FieldList/index.d.ts +30 -0
  71. package/es/business/FieldList/index.js +59 -0
  72. package/es/business/FieldList/style/FieldList.css +89 -0
  73. package/es/business/FieldList/style/css.js +2 -0
  74. package/es/business/FieldList/style/index.d.ts +1 -0
  75. package/es/business/FieldList/style/index.js +2 -0
  76. package/es/business/FormPage/FormPage.d.ts +4 -0
  77. package/es/business/FormPage/FormPage.js +92 -0
  78. package/es/business/FormPage/index.d.ts +4 -0
  79. package/es/business/FormPage/index.js +5 -0
  80. package/es/business/FormPage/interface.d.ts +53 -0
  81. package/es/business/FormPage/interface.js +2 -0
  82. package/es/business/Select/Asset/AssetSelect.js +5 -1
  83. package/es/business/Select/Country/CountrySelect.js +5 -1
  84. package/es/business/Select/Currency/CurrencySelect.js +5 -1
  85. package/es/business/Select/Network/NetworkSelect.js +5 -1
  86. package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
  87. package/es/business/index.d.ts +3 -0
  88. package/es/business/index.js +3 -1
  89. package/es/business/shared/formCore/BaseProForm.d.ts +40 -0
  90. package/es/business/shared/formCore/BaseProForm.js +87 -0
  91. package/es/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
  92. package/es/business/shared/formCore/useRelayedFormRef.js +43 -0
  93. package/es/business/shared/formCore/useSubmitAction.d.ts +11 -0
  94. package/es/business/shared/formCore/useSubmitAction.js +92 -0
  95. package/es/components/ActionBar/ActionBar.d.ts +3 -0
  96. package/es/components/ActionBar/ActionBar.js +115 -0
  97. package/es/components/ActionBar/constants.d.ts +29 -0
  98. package/es/components/ActionBar/constants.js +30 -0
  99. package/es/components/ActionBar/index.d.ts +4 -0
  100. package/es/components/ActionBar/index.js +5 -0
  101. package/es/components/ActionBar/interface.d.ts +82 -0
  102. package/es/components/ActionBar/interface.js +2 -0
  103. package/es/components/ActionBar/style/ActionBar.css +44 -0
  104. package/es/components/ActionBar/style/css.js +2 -0
  105. package/es/components/ActionBar/style/index.d.ts +1 -0
  106. package/es/components/ActionBar/style/index.js +2 -0
  107. package/es/components/Dialog/Dialog.js +13 -8
  108. package/es/components/Dialog/interface.d.ts +11 -0
  109. package/es/components/Dialog/style/Dialog.css +7 -4
  110. package/es/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
  111. package/es/components/Dialog/style/css.js +2 -1
  112. package/es/components/Dialog/style/index.d.ts +1 -0
  113. package/es/components/Dialog/style/index.js +2 -1
  114. package/es/components/FormLayout/FormLayout.d.ts +25 -0
  115. package/es/components/FormLayout/FormLayout.js +128 -0
  116. package/es/components/FormLayout/config.d.ts +96 -0
  117. package/es/components/FormLayout/config.js +93 -0
  118. package/es/components/FormLayout/context.d.ts +9 -0
  119. package/es/components/FormLayout/context.js +13 -0
  120. package/es/components/FormLayout/index.d.ts +7 -0
  121. package/es/components/FormLayout/index.js +7 -0
  122. package/es/components/FormLayout/interface.d.ts +51 -0
  123. package/es/components/FormLayout/interface.js +2 -0
  124. package/es/components/FormLayout/style/FormLayout.css +110 -0
  125. package/es/components/FormLayout/style/css.js +2 -0
  126. package/es/components/FormLayout/style/index.d.ts +1 -0
  127. package/es/components/FormLayout/style/index.js +2 -0
  128. package/es/components/Grid/Col.d.ts +1 -0
  129. package/es/components/Grid/Col.js +2 -1
  130. package/es/components/Grid/Row.d.ts +1 -0
  131. package/es/components/Grid/Row.js +2 -1
  132. package/es/components/Input/Input/Input.css +1 -1
  133. package/es/components/Input/Input/Input.js +16 -4
  134. package/es/components/Input/Mask/Mask.js +3 -2
  135. package/es/components/Input/interface.d.ts +5 -0
  136. package/es/components/ProForm/ProForm.js +24 -13
  137. package/es/components/ProForm/ProFormItem.js +2 -1
  138. package/es/components/ProForm/core/constants.d.ts +1 -1
  139. package/es/components/ProForm/core/constants.js +5 -2
  140. package/es/components/ProForm/style/ProForm.css +1 -1
  141. package/es/components/Select/Select.js +8 -3
  142. package/es/index.css +1 -1
  143. package/es/index.d.ts +5 -1
  144. package/es/index.js +3 -1
  145. package/lib/business/Dialog/BaseDialog/BaseDialog.d.ts +3 -0
  146. package/lib/business/Dialog/BaseDialog/BaseDialog.js +140 -0
  147. package/lib/business/Dialog/BaseDialog/constants.d.ts +12 -0
  148. package/lib/business/Dialog/BaseDialog/constants.js +19 -0
  149. package/lib/business/Dialog/BaseDialog/index.d.ts +4 -0
  150. package/lib/business/Dialog/BaseDialog/index.js +30 -0
  151. package/lib/business/Dialog/BaseDialog/interface.d.ts +69 -0
  152. package/lib/business/Dialog/BaseDialog/interface.js +6 -0
  153. package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +72 -0
  154. package/lib/business/Dialog/BaseDialog/style/css.js +4 -0
  155. package/lib/business/Dialog/BaseDialog/style/index.d.ts +1 -0
  156. package/lib/business/Dialog/BaseDialog/style/index.js +4 -0
  157. package/lib/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
  158. package/lib/business/Dialog/Descriptions/Descriptions.js +112 -0
  159. package/lib/business/Dialog/Descriptions/constants.d.ts +16 -0
  160. package/lib/business/Dialog/Descriptions/constants.js +30 -0
  161. package/lib/business/Dialog/Descriptions/index.d.ts +4 -0
  162. package/lib/business/Dialog/Descriptions/index.js +30 -0
  163. package/lib/business/Dialog/Descriptions/interface.d.ts +58 -0
  164. package/lib/business/Dialog/{ResultDialog → Descriptions}/interface.js +1 -1
  165. package/lib/business/Dialog/Descriptions/style/Descriptions.css +60 -0
  166. package/lib/business/Dialog/{ResultDialog → Descriptions}/style/css.js +2 -2
  167. package/lib/business/Dialog/Descriptions/style/index.d.ts +1 -0
  168. package/lib/business/Dialog/{ResultDialog → Descriptions}/style/index.js +2 -2
  169. package/lib/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
  170. package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +111 -0
  171. package/lib/business/Dialog/DetailsDialog/index.d.ts +4 -0
  172. package/lib/business/Dialog/DetailsDialog/index.js +30 -0
  173. package/lib/business/Dialog/DetailsDialog/interface.d.ts +31 -0
  174. package/lib/business/Dialog/DetailsDialog/interface.js +6 -0
  175. package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +43 -0
  176. package/lib/business/Dialog/DetailsDialog/style/css.js +4 -0
  177. package/lib/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
  178. package/lib/business/Dialog/DetailsDialog/style/index.js +4 -0
  179. package/lib/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
  180. package/lib/business/Dialog/FormDialog/FormDialog.js +130 -0
  181. package/lib/business/Dialog/FormDialog/index.d.ts +6 -0
  182. package/lib/business/Dialog/FormDialog/index.js +52 -0
  183. package/lib/business/Dialog/FormDialog/interface.d.ts +53 -0
  184. package/lib/business/Dialog/FormDialog/interface.js +6 -0
  185. package/{es/business/Dialog/TransactionDialog/style/TransactionDialog.css → lib/business/Dialog/FormDialog/style/FormDialog.css} +11 -11
  186. package/lib/business/Dialog/FormDialog/style/css.js +4 -0
  187. package/lib/business/Dialog/FormDialog/style/index.d.ts +1 -0
  188. package/lib/business/Dialog/FormDialog/style/index.js +4 -0
  189. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +250 -92
  190. package/lib/business/Dialog/VerificationDialog/constants.d.ts +8 -35
  191. package/lib/business/Dialog/VerificationDialog/constants.js +9 -31
  192. package/lib/business/Dialog/VerificationDialog/index.d.ts +2 -1
  193. package/lib/business/Dialog/VerificationDialog/index.js +4 -17
  194. package/lib/business/Dialog/VerificationDialog/interface.d.ts +42 -106
  195. package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +17 -6
  196. package/lib/business/Dialog/index.d.ts +5 -2
  197. package/lib/business/Dialog/index.js +31 -9
  198. package/lib/business/Dialog/variants/DeleteDialog.d.ts +3 -0
  199. package/lib/business/Dialog/variants/DeleteDialog.js +26 -0
  200. package/lib/business/Dialog/variants/FailureDialog.d.ts +3 -0
  201. package/lib/business/Dialog/variants/FailureDialog.js +26 -0
  202. package/lib/business/Dialog/variants/LoadingDialog.d.ts +33 -0
  203. package/lib/business/Dialog/variants/LoadingDialog.js +199 -0
  204. package/lib/business/Dialog/variants/PendingDialog.d.ts +3 -0
  205. package/lib/business/Dialog/variants/PendingDialog.js +25 -0
  206. package/lib/business/Dialog/variants/SuccessDialog.d.ts +3 -0
  207. package/lib/business/Dialog/variants/SuccessDialog.js +25 -0
  208. package/lib/business/Dialog/variants/index.d.ts +10 -0
  209. package/lib/business/Dialog/variants/index.js +41 -0
  210. package/lib/business/Dialog/variants/style/LoadingDialog.css +62 -0
  211. package/lib/business/Dialog/variants/style/css.js +4 -0
  212. package/lib/business/Dialog/variants/style/index.d.ts +1 -0
  213. package/lib/business/Dialog/variants/style/index.js +4 -0
  214. package/lib/business/FieldList/index.d.ts +30 -0
  215. package/lib/business/FieldList/index.js +67 -0
  216. package/lib/business/FieldList/style/FieldList.css +89 -0
  217. package/lib/business/FieldList/style/css.js +4 -0
  218. package/lib/business/FieldList/style/index.d.ts +1 -0
  219. package/lib/business/FieldList/style/index.js +4 -0
  220. package/lib/business/FormPage/FormPage.d.ts +4 -0
  221. package/lib/business/FormPage/FormPage.js +98 -0
  222. package/lib/business/FormPage/index.d.ts +4 -0
  223. package/lib/business/FormPage/index.js +30 -0
  224. package/lib/business/FormPage/interface.d.ts +53 -0
  225. package/lib/business/FormPage/interface.js +6 -0
  226. package/lib/business/Select/Asset/AssetSelect.js +5 -1
  227. package/lib/business/Select/Country/CountrySelect.js +5 -1
  228. package/lib/business/Select/Currency/CurrencySelect.js +5 -1
  229. package/lib/business/Select/Network/NetworkSelect.js +5 -1
  230. package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
  231. package/lib/business/index.d.ts +3 -0
  232. package/lib/business/index.js +27 -1
  233. package/lib/business/shared/formCore/BaseProForm.d.ts +40 -0
  234. package/lib/business/shared/formCore/BaseProForm.js +93 -0
  235. package/lib/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
  236. package/lib/business/shared/formCore/useRelayedFormRef.js +49 -0
  237. package/lib/business/shared/formCore/useSubmitAction.d.ts +11 -0
  238. package/lib/business/shared/formCore/useSubmitAction.js +99 -0
  239. package/lib/components/ActionBar/ActionBar.d.ts +3 -0
  240. package/lib/components/ActionBar/ActionBar.js +124 -0
  241. package/lib/components/ActionBar/constants.d.ts +29 -0
  242. package/lib/components/ActionBar/constants.js +36 -0
  243. package/lib/components/ActionBar/index.d.ts +4 -0
  244. package/lib/components/ActionBar/index.js +30 -0
  245. package/lib/components/ActionBar/interface.d.ts +82 -0
  246. package/lib/components/ActionBar/interface.js +6 -0
  247. package/lib/components/ActionBar/style/ActionBar.css +44 -0
  248. package/lib/components/ActionBar/style/css.js +4 -0
  249. package/lib/components/ActionBar/style/index.d.ts +1 -0
  250. package/lib/components/ActionBar/style/index.js +4 -0
  251. package/lib/components/Dialog/Dialog.js +13 -8
  252. package/lib/components/Dialog/interface.d.ts +11 -0
  253. package/lib/components/Dialog/style/Dialog.css +7 -4
  254. package/lib/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
  255. package/lib/components/Dialog/style/css.js +2 -1
  256. package/lib/components/Dialog/style/index.d.ts +1 -0
  257. package/lib/components/Dialog/style/index.js +2 -1
  258. package/lib/components/FormLayout/FormLayout.d.ts +25 -0
  259. package/lib/components/FormLayout/FormLayout.js +138 -0
  260. package/lib/components/FormLayout/config.d.ts +96 -0
  261. package/lib/components/FormLayout/config.js +99 -0
  262. package/lib/components/FormLayout/context.d.ts +9 -0
  263. package/lib/components/FormLayout/context.js +19 -0
  264. package/lib/components/FormLayout/index.d.ts +7 -0
  265. package/lib/components/FormLayout/index.js +102 -0
  266. package/lib/components/FormLayout/interface.d.ts +51 -0
  267. package/lib/components/FormLayout/interface.js +6 -0
  268. package/lib/components/FormLayout/style/FormLayout.css +110 -0
  269. package/lib/components/FormLayout/style/css.js +4 -0
  270. package/lib/components/FormLayout/style/index.d.ts +1 -0
  271. package/lib/components/FormLayout/style/index.js +4 -0
  272. package/lib/components/Grid/Col.d.ts +1 -0
  273. package/lib/components/Grid/Col.js +2 -1
  274. package/lib/components/Grid/Row.d.ts +1 -0
  275. package/lib/components/Grid/Row.js +2 -1
  276. package/lib/components/Input/Input/Input.css +1 -1
  277. package/lib/components/Input/Input/Input.js +16 -4
  278. package/lib/components/Input/Mask/Mask.js +3 -2
  279. package/lib/components/Input/interface.d.ts +5 -0
  280. package/lib/components/ProForm/ProForm.js +27 -16
  281. package/lib/components/ProForm/ProFormItem.js +2 -1
  282. package/lib/components/ProForm/core/constants.d.ts +1 -1
  283. package/lib/components/ProForm/core/constants.js +5 -2
  284. package/lib/components/ProForm/style/ProForm.css +1 -1
  285. package/lib/components/Select/Select.js +8 -3
  286. package/lib/index.css +1 -1
  287. package/lib/index.d.ts +5 -1
  288. package/lib/index.js +33 -1
  289. package/package.json +39 -9
  290. package/scripts/mcp-server/examples.generated.json +84 -0
  291. package/scripts/mcp-server/index.generated.json +743 -152
  292. package/es/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
  293. package/es/business/Dialog/ResultDialog/ResultDialog.js +0 -126
  294. package/es/business/Dialog/ResultDialog/constants.d.ts +0 -27
  295. package/es/business/Dialog/ResultDialog/constants.js +0 -24
  296. package/es/business/Dialog/ResultDialog/index.d.ts +0 -3
  297. package/es/business/Dialog/ResultDialog/index.js +0 -4
  298. package/es/business/Dialog/ResultDialog/interface.d.ts +0 -95
  299. package/es/business/Dialog/ResultDialog/presets.d.ts +0 -178
  300. package/es/business/Dialog/ResultDialog/presets.js +0 -139
  301. package/es/business/Dialog/ResultDialog/style/index.d.ts +0 -1
  302. package/es/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
  303. package/es/business/Dialog/TransactionDialog/TransactionDialog.js +0 -174
  304. package/es/business/Dialog/TransactionDialog/constants.d.ts +0 -34
  305. package/es/business/Dialog/TransactionDialog/constants.js +0 -33
  306. package/es/business/Dialog/TransactionDialog/index.d.ts +0 -3
  307. package/es/business/Dialog/TransactionDialog/index.js +0 -4
  308. package/es/business/Dialog/TransactionDialog/interface.d.ts +0 -116
  309. package/es/business/Dialog/TransactionDialog/interface.js +0 -2
  310. package/es/business/Dialog/TransactionDialog/presets.d.ts +0 -89
  311. package/es/business/Dialog/TransactionDialog/presets.js +0 -62
  312. package/es/business/Dialog/TransactionDialog/style/css.js +0 -2
  313. package/es/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
  314. package/es/business/Dialog/TransactionDialog/style/index.js +0 -2
  315. package/es/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
  316. package/es/business/Dialog/VerificationDialog/ResendRow.js +0 -65
  317. package/es/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
  318. package/es/business/Dialog/VerificationDialog/hooks/index.js +0 -3
  319. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
  320. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -138
  321. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
  322. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +0 -103
  323. package/lib/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
  324. package/lib/business/Dialog/ResultDialog/ResultDialog.js +0 -132
  325. package/lib/business/Dialog/ResultDialog/constants.d.ts +0 -27
  326. package/lib/business/Dialog/ResultDialog/constants.js +0 -30
  327. package/lib/business/Dialog/ResultDialog/index.d.ts +0 -3
  328. package/lib/business/Dialog/ResultDialog/index.js +0 -40
  329. package/lib/business/Dialog/ResultDialog/interface.d.ts +0 -95
  330. package/lib/business/Dialog/ResultDialog/presets.d.ts +0 -178
  331. package/lib/business/Dialog/ResultDialog/presets.js +0 -145
  332. package/lib/business/Dialog/ResultDialog/style/index.d.ts +0 -1
  333. package/lib/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
  334. package/lib/business/Dialog/TransactionDialog/TransactionDialog.js +0 -180
  335. package/lib/business/Dialog/TransactionDialog/constants.d.ts +0 -34
  336. package/lib/business/Dialog/TransactionDialog/constants.js +0 -39
  337. package/lib/business/Dialog/TransactionDialog/index.d.ts +0 -3
  338. package/lib/business/Dialog/TransactionDialog/index.js +0 -40
  339. package/lib/business/Dialog/TransactionDialog/interface.d.ts +0 -116
  340. package/lib/business/Dialog/TransactionDialog/interface.js +0 -6
  341. package/lib/business/Dialog/TransactionDialog/presets.d.ts +0 -89
  342. package/lib/business/Dialog/TransactionDialog/presets.js +0 -68
  343. package/lib/business/Dialog/TransactionDialog/style/css.js +0 -4
  344. package/lib/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
  345. package/lib/business/Dialog/TransactionDialog/style/index.js +0 -4
  346. package/lib/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
  347. package/lib/business/Dialog/VerificationDialog/ResendRow.js +0 -71
  348. package/lib/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
  349. package/lib/business/Dialog/VerificationDialog/hooks/index.js +0 -20
  350. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
  351. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -145
  352. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
  353. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +0 -110
@@ -1,89 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import type { IconName } from "../../../components/Icons";
3
- /** Default copy for the optional help row. */
4
- export interface TransactionDialogPresetHelp {
5
- /** Muted prompt text. */
6
- promptText?: ReactNode;
7
- /** Trailing brand-colored action text. */
8
- actionText?: ReactNode;
9
- }
10
- /**
11
- * Pre-canned config for a transaction-status scenario. A preset fills the
12
- * dialog's illustration, title, description, close icon, the primary action
13
- * label, and the help row; the consumer wires the handlers and supplies the
14
- * dynamic `details` rows. Any explicit prop overrides the preset.
15
- */
16
- export interface TransactionDialogPresetCopy {
17
- /** Left-aligned 74px illustration. */
18
- illustration: IconName;
19
- /** Dialog heading. */
20
- title: ReactNode;
21
- /** Supporting copy under the title. */
22
- description: ReactNode;
23
- /** Default label for the primary action, when one is rendered. */
24
- primaryLabel?: ReactNode;
25
- /**
26
- * Whether the close (X) icon shows by default.
27
- * @default true
28
- */
29
- showCloseIcon?: boolean;
30
- /** Default help-row copy below the actions. */
31
- help?: TransactionDialogPresetHelp;
32
- }
33
- /**
34
- * Canonical transaction-status scenarios. Pass a leaf straight to
35
- * `TransactionDialog`'s `preset` prop — there is no string key to remember; the
36
- * IDE navigates and type-checks it.
37
- *
38
- * Copy is taken from the Figma "Transaction completed" frame and the scp-ui Send
39
- * result statuses (`INIT` → `initiated`, `FAILURE` → `failed`, `PENDING` →
40
- * `pending`).
41
- *
42
- * @example
43
- * ```tsx
44
- * import { TRANSACTION_DIALOG_PRESETS } from '@1money/component-ui/business/Dialog/TransactionDialog';
45
- *
46
- * <TransactionDialog
47
- * open={open}
48
- * preset={TRANSACTION_DIALOG_PRESETS.failed}
49
- * details={details}
50
- * primaryAction={{ onClick: retry }}
51
- * secondaryAction={{ label: 'Close', onClick: close }}
52
- * help={{ onClick: openSupport }}
53
- * onClose={close}
54
- * />;
55
- * ```
56
- */
57
- export declare const TRANSACTION_DIALOG_PRESETS: {
58
- readonly completed: {
59
- readonly illustration: "illusChecked";
60
- readonly title: "Transaction completed";
61
- readonly description: "Your funds have been sent successfully.";
62
- readonly primaryLabel: "View in transaction history";
63
- readonly showCloseIcon: true;
64
- readonly help: TransactionDialogPresetHelp;
65
- };
66
- readonly initiated: {
67
- readonly illustration: "illusChecked";
68
- readonly title: "Your transaction initiated";
69
- readonly description: "We will send you an email when the transaction is completed.";
70
- readonly primaryLabel: "View in transaction history";
71
- readonly showCloseIcon: true;
72
- };
73
- readonly failed: {
74
- readonly illustration: "illusError";
75
- readonly title: "Your transaction failed";
76
- readonly description: "Please try again or contact support for assistance.";
77
- readonly primaryLabel: "Try again";
78
- readonly showCloseIcon: true;
79
- readonly help: TransactionDialogPresetHelp;
80
- };
81
- readonly pending: {
82
- readonly illustration: "illusPending";
83
- readonly title: "Your Transaction is Under Review";
84
- readonly description: "Please wait for the transaction to be completed.";
85
- readonly primaryLabel: "View in transaction history";
86
- readonly showCloseIcon: true;
87
- readonly help: TransactionDialogPresetHelp;
88
- };
89
- };
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TRANSACTION_DIALOG_PRESETS = void 0;
7
- var SUPPORT_HELP = {
8
- promptText: 'Trouble with your transaction?',
9
- actionText: 'Let us help!'
10
- };
11
- /**
12
- * Canonical transaction-status scenarios. Pass a leaf straight to
13
- * `TransactionDialog`'s `preset` prop — there is no string key to remember; the
14
- * IDE navigates and type-checks it.
15
- *
16
- * Copy is taken from the Figma "Transaction completed" frame and the scp-ui Send
17
- * result statuses (`INIT` → `initiated`, `FAILURE` → `failed`, `PENDING` →
18
- * `pending`).
19
- *
20
- * @example
21
- * ```tsx
22
- * import { TRANSACTION_DIALOG_PRESETS } from '@1money/component-ui/business/Dialog/TransactionDialog';
23
- *
24
- * <TransactionDialog
25
- * open={open}
26
- * preset={TRANSACTION_DIALOG_PRESETS.failed}
27
- * details={details}
28
- * primaryAction={{ onClick: retry }}
29
- * secondaryAction={{ label: 'Close', onClick: close }}
30
- * help={{ onClick: openSupport }}
31
- * onClose={close}
32
- * />;
33
- * ```
34
- */
35
- var TRANSACTION_DIALOG_PRESETS = exports.TRANSACTION_DIALOG_PRESETS = {
36
- completed: {
37
- illustration: 'illusChecked',
38
- title: 'Transaction completed',
39
- description: 'Your funds have been sent successfully.',
40
- primaryLabel: 'View in transaction history',
41
- showCloseIcon: true,
42
- help: SUPPORT_HELP
43
- },
44
- initiated: {
45
- illustration: 'illusChecked',
46
- title: 'Your transaction initiated',
47
- description: 'We will send you an email when the transaction is completed.',
48
- primaryLabel: 'View in transaction history',
49
- showCloseIcon: true
50
- },
51
- failed: {
52
- illustration: 'illusError',
53
- title: 'Your transaction failed',
54
- description: 'Please try again or contact support for assistance.',
55
- primaryLabel: 'Try again',
56
- showCloseIcon: true,
57
- help: SUPPORT_HELP
58
- },
59
- pending: {
60
- illustration: 'illusPending',
61
- title: 'Your Transaction is Under Review',
62
- description: 'Please wait for the transaction to be completed.',
63
- primaryLabel: 'View in transaction history',
64
- showCloseIcon: true,
65
- help: SUPPORT_HELP
66
- }
67
- };
68
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3ByZXNldHMudHMiLCJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvcHJlc2V0cy5qcyJdLCJuYW1lcyI6WyJTVVBQT1JUX0hFTFAiLCJwcm9tcHRUZXh0IiwiYWN0aW9uVGV4dCIsIlRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTIiwiZXhwb3J0cyIsImNvbXBsZXRlZCIsImlsbHVzdHJhdGlvbiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJwcmltYXJ5TGFiZWwiLCJzaG93Q2xvc2VJY29uIiwiaGVscCIsImluaXRpYXRlZCIsImZhaWxlZCIsInBlbmRpbmciXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQSxJQUFNQSxZQUFZLEdBQWdDO0VBQ2hEQyxVQUFVLEVBQUUsZ0NBQWdDO0VBQzVDQyxVQUFVLEVBQUU7QUNsQ2QsQ0RtQ0M7QUFFRDtBQ25DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEcUNPLElBQU1DLDBCQUEwQixHQUFBQyxPQUFBLENBQUFELDBCQUFBLEdBQUc7RUFDeENFLFNBQVMsRUFBRTtJQUNUQyxZQUFZLEVBQUUsY0FBYztJQUM1QkMsS0FBSyxFQUFFLHVCQUF1QjtJQUM5QkMsV0FBVyxFQUFFLHlDQUF5QztJQUN0REMsWUFBWSxFQUFFLDZCQUE2QjtJQUMzQ0MsYUFBYSxFQUFFLElBQUk7SUFDbkJDLElBQUksRUFBRVg7RUNuQ04sQ0RvQ0Q7RUFDRFksU0FBUyxFQUFFO0lBQ1ROLFlBQVksRUFBRSxjQUFjO0lBQzVCQyxLQUFLLEVBQUUsNEJBQTRCO0lBQ25DQyxXQUFXLEVBQUUsOERBQThEO0lBQzNFQyxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDQyxhQUFhLEVBQUU7RUNuQ2YsQ0RvQ0Q7RUFDREcsTUFBTSxFQUFFO0lBQ05QLFlBQVksRUFBRSxZQUFZO0lBQzFCQyxLQUFLLEVBQUUseUJBQXlCO0lBQ2hDQyxXQUFXLEVBQUUscURBQXFEO0lBQ2xFQyxZQUFZLEVBQUUsV0FBVztJQUN6QkMsYUFBYSxFQUFFLElBQUk7SUFDbkJDLElBQUksRUFBRVg7RUNuQ04sQ0RvQ0Q7RUFDRGMsT0FBTyxFQUFFO0lBQ1BSLFlBQVksRUFBRSxjQUFjO0lBQzVCQyxLQUFLLEVBQUUsa0NBQWtDO0lBQ3pDQyxXQUFXLEVBQUUsa0RBQWtEO0lBQy9EQyxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDQyxhQUFhLEVBQUUsSUFBSTtJQUNuQkMsSUFBSSxFQUFFWDtFQ25DTjtBQUNKLENEb0NnRSIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvcHJlc2V0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiY29uc3QgU1VQUE9SVF9IRUxQID0ge1xuICAgIHByb21wdFRleHQ6ICdUcm91YmxlIHdpdGggeW91ciB0cmFuc2FjdGlvbj8nLFxuICAgIGFjdGlvblRleHQ6ICdMZXQgdXMgaGVscCEnLFxufTtcbi8qKlxuICogQ2Fub25pY2FsIHRyYW5zYWN0aW9uLXN0YXR1cyBzY2VuYXJpb3MuIFBhc3MgYSBsZWFmIHN0cmFpZ2h0IHRvXG4gKiBgVHJhbnNhY3Rpb25EaWFsb2dgJ3MgYHByZXNldGAgcHJvcCDigJQgdGhlcmUgaXMgbm8gc3RyaW5nIGtleSB0byByZW1lbWJlcjsgdGhlXG4gKiBJREUgbmF2aWdhdGVzIGFuZCB0eXBlLWNoZWNrcyBpdC5cbiAqXG4gKiBDb3B5IGlzIHRha2VuIGZyb20gdGhlIEZpZ21hIFwiVHJhbnNhY3Rpb24gY29tcGxldGVkXCIgZnJhbWUgYW5kIHRoZSBzY3AtdWkgU2VuZFxuICogcmVzdWx0IHN0YXR1c2VzIChgSU5JVGAg4oaSIGBpbml0aWF0ZWRgLCBgRkFJTFVSRWAg4oaSIGBmYWlsZWRgLCBgUEVORElOR2Ag4oaSXG4gKiBgcGVuZGluZ2ApLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IFRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTIH0gZnJvbSAnQDFtb25leS9jb21wb25lbnQtdWkvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nJztcbiAqXG4gKiA8VHJhbnNhY3Rpb25EaWFsb2dcbiAqICAgb3Blbj17b3Blbn1cbiAqICAgcHJlc2V0PXtUUkFOU0FDVElPTl9ESUFMT0dfUFJFU0VUUy5mYWlsZWR9XG4gKiAgIGRldGFpbHM9e2RldGFpbHN9XG4gKiAgIHByaW1hcnlBY3Rpb249e3sgb25DbGljazogcmV0cnkgfX1cbiAqICAgc2Vjb25kYXJ5QWN0aW9uPXt7IGxhYmVsOiAnQ2xvc2UnLCBvbkNsaWNrOiBjbG9zZSB9fVxuICogICBoZWxwPXt7IG9uQ2xpY2s6IG9wZW5TdXBwb3J0IH19XG4gKiAgIG9uQ2xvc2U9e2Nsb3NlfVxuICogLz47XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTID0ge1xuICAgIGNvbXBsZXRlZDoge1xuICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c0NoZWNrZWQnLFxuICAgICAgICB0aXRsZTogJ1RyYW5zYWN0aW9uIGNvbXBsZXRlZCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnWW91ciBmdW5kcyBoYXZlIGJlZW4gc2VudCBzdWNjZXNzZnVsbHkuJyxcbiAgICAgICAgcHJpbWFyeUxhYmVsOiAnVmlldyBpbiB0cmFuc2FjdGlvbiBoaXN0b3J5JyxcbiAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcbiAgICAgICAgaGVscDogU1VQUE9SVF9IRUxQLFxuICAgIH0sXG4gICAgaW5pdGlhdGVkOiB7XG4gICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzQ2hlY2tlZCcsXG4gICAgICAgIHRpdGxlOiAnWW91ciB0cmFuc2FjdGlvbiBpbml0aWF0ZWQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1dlIHdpbGwgc2VuZCB5b3UgYW4gZW1haWwgd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMgY29tcGxldGVkLicsXG4gICAgICAgIHByaW1hcnlMYWJlbDogJ1ZpZXcgaW4gdHJhbnNhY3Rpb24gaGlzdG9yeScsXG4gICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgfSxcbiAgICBmYWlsZWQ6IHtcbiAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicsXG4gICAgICAgIHRpdGxlOiAnWW91ciB0cmFuc2FjdGlvbiBmYWlsZWQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1BsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0IGZvciBhc3Npc3RhbmNlLicsXG4gICAgICAgIHByaW1hcnlMYWJlbDogJ1RyeSBhZ2FpbicsXG4gICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgICAgIGhlbHA6IFNVUFBPUlRfSEVMUCxcbiAgICB9LFxuICAgIHBlbmRpbmc6IHtcbiAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNQZW5kaW5nJyxcbiAgICAgICAgdGl0bGU6ICdZb3VyIFRyYW5zYWN0aW9uIGlzIFVuZGVyIFJldmlldycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUGxlYXNlIHdhaXQgZm9yIHRoZSB0cmFuc2FjdGlvbiB0byBiZSBjb21wbGV0ZWQuJyxcbiAgICAgICAgcHJpbWFyeUxhYmVsOiAnVmlldyBpbiB0cmFuc2FjdGlvbiBoaXN0b3J5JyxcbiAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcbiAgICAgICAgaGVscDogU1VQUE9SVF9IRUxQLFxuICAgIH0sXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- require("./TransactionDialog.css");
4
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1 +0,0 @@
1
- import './TransactionDialog.css';
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- require("./TransactionDialog.css");
4
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -1,14 +0,0 @@
1
- import type { FC } from 'react';
2
- import type { VerificationDialogResend } from './interface';
3
- export interface ResendRowProps {
4
- resend: VerificationDialogResend;
5
- }
6
- /**
7
- * The "Haven't received the code? Resend" row below the footer divider. Owns its
8
- * own cooldown: while counting down (or while a resend is in flight) the row is
9
- * inert — muted, non-clickable, default cursor — and shows the remaining time.
10
- * When resending is allowed, both the prompt text and the link trigger it and
11
- * show a pointer cursor. Rendered only when a `resend` config is provided, so
12
- * the countdown hook never runs for dialogs without resend.
13
- */
14
- export declare const ResendRow: FC<ResendRowProps>;
@@ -1,71 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ResendRow = void 0;
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- var _Divider = require("../../../components/Divider");
9
- var _Flex = require("../../../components/Flex");
10
- var _Typography = require("../../../components/Typography");
11
- var _classnames = require("../../../utils/classnames");
12
- var _constants = require("./constants");
13
- var _hooks = require("./hooks");
14
- /**
15
- * The "Haven't received the code? Resend" row below the footer divider. Owns its
16
- * own cooldown: while counting down (or while a resend is in flight) the row is
17
- * inert — muted, non-clickable, default cursor — and shows the remaining time.
18
- * When resending is allowed, both the prompt text and the link trigger it and
19
- * show a pointer cursor. Rendered only when a `resend` config is provided, so
20
- * the countdown hook never runs for dialogs without resend.
21
- */
22
- var ResendRow = exports.ResendRow = function ResendRow(_ref) {
23
- var resend = _ref.resend;
24
- var promptText = resend.promptText,
25
- _resend$actionText = resend.actionText,
26
- actionText = _resend$actionText === void 0 ? _constants.VERIFICATION_DIALOG.defaults.resendLabel : _resend$actionText,
27
- onResend = resend.onResend,
28
- cooldown = resend.cooldown;
29
- var _useResendCountdown = (0, _hooks.useResendCountdown)({
30
- onResend: onResend,
31
- cooldown: cooldown
32
- }),
33
- canResend = _useResendCountdown.canResend,
34
- remaining = _useResendCountdown.remaining,
35
- formatted = _useResendCountdown.formatted,
36
- triggerResend = _useResendCountdown.resend;
37
- var handleClick = function handleClick() {
38
- if (canResend) triggerResend();
39
- };
40
- var handleKeyDown = function handleKeyDown(event) {
41
- if (!canResend || !_constants.VERIFICATION_DIALOG.activationKeys.includes(event.key)) return;
42
- event.preventDefault();
43
- triggerResend();
44
- };
45
- return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
46
- children: [(0, _jsxRuntime.jsx)(_Divider.Divider, {}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
47
- align: 'center',
48
- justify: 'space-between',
49
- className: _constants.VERIFICATION_DIALOG.cls.recovery,
50
- children: [promptText && (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
51
- size: 'md',
52
- strong: true,
53
- color: 'default-tertiary',
54
- className: (0, _classnames.joinCls)(_constants.VERIFICATION_DIALOG.cls.recoveryText, canResend && _constants.VERIFICATION_DIALOG.mod.clickable),
55
- onClick: canResend ? handleClick : undefined,
56
- children: promptText
57
- }), (0, _jsxRuntime.jsxs)(_Typography.Typography.Link, {
58
- size: 'md',
59
- role: 'button',
60
- tabIndex: 0,
61
- disabled: !canResend,
62
- color: canResend ? 'brand' : 'default-tertiary',
63
- className: (0, _classnames.joinCls)(_constants.VERIFICATION_DIALOG.cls.resend, canResend && _constants.VERIFICATION_DIALOG.mod.clickable),
64
- onClick: handleClick,
65
- onKeyDown: handleKeyDown,
66
- children: [actionText, remaining > 0 ? " (".concat(formatted, ")") : '']
67
- })]
68
- })]
69
- });
70
- };
71
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvUmVzZW5kUm93LmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvVmVyaWZpY2F0aW9uRGlhbG9nL1Jlc2VuZFJvdy50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX0RpdmlkZXIiLCJfRmxleCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfY29uc3RhbnRzIiwiX2hvb2tzIiwiUmVzZW5kUm93IiwiZXhwb3J0cyIsIl9yZWYiLCJyZXNlbmQiLCJwcm9tcHRUZXh0IiwiX3Jlc2VuZCRhY3Rpb25UZXh0IiwiYWN0aW9uVGV4dCIsIlZFUklGSUNBVElPTl9ESUFMT0ciLCJkZWZhdWx0cyIsInJlc2VuZExhYmVsIiwib25SZXNlbmQiLCJjb29sZG93biIsIl91c2VSZXNlbmRDb3VudGRvd24iLCJ1c2VSZXNlbmRDb3VudGRvd24iLCJjYW5SZXNlbmQiLCJyZW1haW5pbmciLCJmb3JtYXR0ZWQiLCJ0cmlnZ2VyUmVzZW5kIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJhY3RpdmF0aW9uS2V5cyIsImluY2x1ZGVzIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJfanN4cyIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwiX2pzeCIsIkRpdmlkZXIiLCJGbGV4IiwiYWxpZ24iLCJqdXN0aWZ5IiwiY2xhc3NOYW1lIiwiY2xzIiwicmVjb3ZlcnkiLCJUeXBvZ3JhcGh5IiwiQm9keSIsInNpemUiLCJzdHJvbmciLCJjb2xvciIsImpvaW5DbHMiLCJyZWNvdmVyeVRleHQiLCJtb2QiLCJjbGlja2FibGUiLCJvbkNsaWNrIiwidW5kZWZpbmVkIiwiTGluayIsInJvbGUiLCJ0YWJJbmRleCIsImRpc2FibGVkIiwib25LZXlEb3duIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7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LEdBQUcsa0JBQWtCO1FBQy9DbUIsU0FBUyxFQUFFLElBQUFRLG1CQUFPLEVBQ2hCbEMsOEJBQW1CLENBQUMyQixHQUFHLENBQUMvQixNQUFNLEVBQzlCVyxTQUFTLElBQUlQLDhCQUFtQixDQUFDb0MsR0FBRyxDQUFDQyxTQUFTLENBQy9DO1FBQ0RDLE9BQU8sRUFBRTNCLFdBQVc7UUFDcEJpQyxTQUFTLEVBQUVoQyxhQUFhO1FBQUFRLFFBQUEsRUFBQSxDQUV2QnJCLFVBQVUsRUFDVlMsU0FBUyxHQUFHLENBQUMsUUFBQXFDLE1BQUEsQ0FBUXBDLFNBQVMsU0FBTSxFQUFFO01BQUEsQ0FBQSxDQUN2QjtJQUFBLENBQUEsQ0FDYjtFQUFBLENBQUEsQ0FDTjtBQUVQLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy9SZXNlbmRSb3cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBWRVJJRklDQVRJT05fRElBTE9HIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlUmVzZW5kQ291bnRkb3duIH0gZnJvbSAnLi9ob29rcyc7XG4vKipcbiAqIFRoZSBcIkhhdmVuJ3QgcmVjZWl2ZWQgdGhlIGNvZGU/IFJlc2VuZFwiIHJvdyBiZWxvdyB0aGUgZm9vdGVyIGRpdmlkZXIuIE93bnMgaXRzXG4gKiBvd24gY29vbGRvd246IHdoaWxlIGNvdW50aW5nIGRvd24gKG9yIHdoaWxlIGEgcmVzZW5kIGlzIGluIGZsaWdodCkgdGhlIHJvdyBpc1xuICogaW5lcnQg4oCUIG11dGVkLCBub24tY2xpY2thYmxlLCBkZWZhdWx0IGN1cnNvciDigJQgYW5kIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cbiAqIFdoZW4gcmVzZW5kaW5nIGlzIGFsbG93ZWQsIGJvdGggdGhlIHByb21wdCB0ZXh0IGFuZCB0aGUgbGluayB0cmlnZ2VyIGl0IGFuZFxuICogc2hvdyBhIHBvaW50ZXIgY3Vyc29yLiBSZW5kZXJlZCBvbmx5IHdoZW4gYSBgcmVzZW5kYCBjb25maWcgaXMgcHJvdmlkZWQsIHNvXG4gKiB0aGUgY291bnRkb3duIGhvb2sgbmV2ZXIgcnVucyBmb3IgZGlhbG9ncyB3aXRob3V0IHJlc2VuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJlc2VuZFJvdyA9ICh7IHJlc2VuZCB9KSA9PiB7XG4gICAgY29uc3QgeyBwcm9tcHRUZXh0LCBhY3Rpb25UZXh0ID0gVkVSSUZJQ0FUSU9OX0RJQUxPRy5kZWZhdWx0cy5yZXNlbmRMYWJlbCwgb25SZXNlbmQsIGNvb2xkb3duLCB9ID0gcmVzZW5kO1xuICAgIGNvbnN0IHsgY2FuUmVzZW5kLCByZW1haW5pbmcsIGZvcm1hdHRlZCwgcmVzZW5kOiB0cmlnZ2VyUmVzZW5kIH0gPSB1c2VSZXNlbmRDb3VudGRvd24oe1xuICAgICAgICBvblJlc2VuZCxcbiAgICAgICAgY29vbGRvd24sXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGlmIChjYW5SZXNlbmQpXG4gICAgICAgICAgICB0cmlnZ2VyUmVzZW5kKCk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghY2FuUmVzZW5kIHx8ICFWRVJJRklDQVRJT05fRElBTE9HLmFjdGl2YXRpb25LZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRyaWdnZXJSZXNlbmQoKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGNsYXNzTmFtZTogVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnksIGNoaWxkcmVuOiBbcHJvbXB0VGV4dCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnlUZXh0LCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogY2FuUmVzZW5kID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWQsIGNoaWxkcmVuOiBwcm9tcHRUZXh0IH0pKSwgX2pzeHMoVHlwb2dyYXBoeS5MaW5rLCB7IHNpemU6ICdtZCcsIHJvbGU6ICdidXR0b24nLCB0YWJJbmRleDogMCwgZGlzYWJsZWQ6ICFjYW5SZXNlbmQsIGNvbG9yOiBjYW5SZXNlbmQgPyAnYnJhbmQnIDogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVzZW5kLCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogaGFuZGxlQ2xpY2ssIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IFthY3Rpb25UZXh0LCByZW1haW5pbmcgPiAwID8gYCAoJHtmb3JtYXR0ZWR9KWAgOiAnJ10gfSldIH0pXSB9KSk7XG59OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,4 +0,0 @@
1
- export { useOtpVerification } from './useOtpVerification';
2
- export { useResendCountdown } from './useResendCountdown';
3
- export type { OtpVerifyResult, UseOtpVerificationOptions, UseOtpVerificationResult, } from './useOtpVerification';
4
- export type { UseResendCountdownOptions, UseResendCountdownResult, } from './useResendCountdown';
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "useOtpVerification", {
7
- enumerable: true,
8
- get: function get() {
9
- return _useOtpVerification.useOtpVerification;
10
- }
11
- });
12
- Object.defineProperty(exports, "useResendCountdown", {
13
- enumerable: true,
14
- get: function get() {
15
- return _useResendCountdown.useResendCountdown;
16
- }
17
- });
18
- var _useOtpVerification = require("./useOtpVerification");
19
- var _useResendCountdown = require("./useResendCountdown");
20
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvaW5kZXgudHMiXSwibmFtZXMiOlsiX3VzZU90cFZlcmlmaWNhdGlvbiIsInJlcXVpcmUiLCJfdXNlUmVzZW5kQ291bnRkb3duIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxtQkFBQSxHQUFBRCxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -1,50 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import type { InputStatus } from "../../../../components/Input";
3
- /**
4
- * Result of an `onVerify` call: `true` for success, or an error-message string
5
- * to display under the OTP boxes. Anything other than `true` is treated as a
6
- * failure and clears the entered code.
7
- */
8
- export type OtpVerifyResult = boolean | string;
9
- export interface UseOtpVerificationOptions {
10
- /**
11
- * Async verifier. Resolve `true` on success; resolve (or return) a string to
12
- * show it as the error message. A thrown error uses its `message`, falling
13
- * back to a generic message.
14
- */
15
- onVerify: (code: string) => Promise<OtpVerifyResult> | OtpVerifyResult;
16
- /** Controlled OTP value. */
17
- value?: string;
18
- /** Initial OTP value when uncontrolled. */
19
- defaultValue?: string;
20
- /** Verify automatically once all digits are entered. @default true */
21
- autoSubmit?: boolean;
22
- /** Fires on every OTP change with the current value. */
23
- onChange?: (value: string) => void;
24
- }
25
- export interface UseOtpVerificationResult {
26
- /** Current OTP value. */
27
- value: string;
28
- /** `'error'` while an error message is showing, otherwise `'default'`. */
29
- status: InputStatus;
30
- /** Error message to render under the boxes, or `undefined` when clear. */
31
- feedback: ReactNode;
32
- /** `true` while `onVerify` is in flight. */
33
- submitting: boolean;
34
- /** `true` once all digits are entered. */
35
- valid: boolean;
36
- /** Wire to the OTP field's `onChange`. */
37
- onChange: (value: string) => void;
38
- /** Manually trigger verification with the current value. */
39
- submit: () => void;
40
- /** Clear the current error message. */
41
- clearError: () => void;
42
- /** Clear both the value and any error. */
43
- reset: () => void;
44
- }
45
- /**
46
- * Headless OTP verification logic shared by `VerificationDialog` and any other
47
- * shell (popup, inline form, multi-step flow). Owns the value (controlled or
48
- * uncontrolled), auto-submit on completion, loading state, and clear-on-error.
49
- */
50
- export declare const useOtpVerification: (options: UseOtpVerificationOptions) => UseOtpVerificationResult;
@@ -1,145 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useOtpVerification = void 0;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _react = require("react");
11
- var _useControlledState3 = _interopRequireDefault(require("@1money/hooks/useControlledState"));
12
- var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
13
- var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) {
15
- return value instanceof P ? value : new P(function (resolve) {
16
- resolve(value);
17
- });
18
- }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) {
21
- try {
22
- step(generator.next(value));
23
- } catch (e) {
24
- reject(e);
25
- }
26
- }
27
- function rejected(value) {
28
- try {
29
- step(generator["throw"](value));
30
- } catch (e) {
31
- reject(e);
32
- }
33
- }
34
- function step(result) {
35
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
36
- }
37
- step((generator = generator.apply(thisArg, _arguments || [])).next());
38
- });
39
- };
40
- var OTP_LENGTH = 6;
41
- var DEFAULT_ERROR_MESSAGE = 'Incorrect code, please try again.';
42
- var STATUS_ERROR = 'error';
43
- var STATUS_DEFAULT = 'default';
44
- /**
45
- * Headless OTP verification logic shared by `VerificationDialog` and any other
46
- * shell (popup, inline form, multi-step flow). Owns the value (controlled or
47
- * uncontrolled), auto-submit on completion, loading state, and clear-on-error.
48
- */
49
- var useOtpVerification = exports.useOtpVerification = function useOtpVerification(options) {
50
- var onVerify = options.onVerify,
51
- value = options.value,
52
- _options$defaultValue = options.defaultValue,
53
- defaultValue = _options$defaultValue === void 0 ? '' : _options$defaultValue,
54
- _options$autoSubmit = options.autoSubmit,
55
- autoSubmit = _options$autoSubmit === void 0 ? true : _options$autoSubmit,
56
- onChange = options.onChange;
57
- var _useControlledState = (0, _useControlledState3["default"])(defaultValue, value),
58
- _useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
59
- innerValue = _useControlledState2[0],
60
- setInnerValue = _useControlledState2[1];
61
- var _useState = (0, _react.useState)(false),
62
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
63
- submitting = _useState2[0],
64
- setSubmitting = _useState2[1];
65
- var _useState3 = (0, _react.useState)(''),
66
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
67
- error = _useState4[0],
68
- setError = _useState4[1];
69
- // `submitting` drives the UI; `submittingRef` is the synchronous re-entry
70
- // guard — auto-submit fires inside `onChange`, which would otherwise double-
71
- // fire before the `submitting` state update has flushed.
72
- var submittingRef = (0, _react.useRef)(false);
73
- var runVerify = (0, _useEventCallback["default"])(function (code) {
74
- return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
75
- var result, _t;
76
- return _regenerator["default"].wrap(function (_context) {
77
- while (1) switch (_context.prev = _context.next) {
78
- case 0:
79
- if (!submittingRef.current) {
80
- _context.next = 1;
81
- break;
82
- }
83
- return _context.abrupt("return");
84
- case 1:
85
- submittingRef.current = true;
86
- setSubmitting(true);
87
- _context.prev = 2;
88
- _context.next = 3;
89
- return onVerify(code);
90
- case 3:
91
- result = _context.sent;
92
- if (result !== true) {
93
- setError(typeof result === 'string' && result ? result : DEFAULT_ERROR_MESSAGE);
94
- setInnerValue('');
95
- }
96
- _context.next = 5;
97
- break;
98
- case 4:
99
- _context.prev = 4;
100
- _t = _context["catch"](2);
101
- setError(_t instanceof Error && _t.message ? _t.message : DEFAULT_ERROR_MESSAGE);
102
- setInnerValue('');
103
- case 5:
104
- _context.prev = 5;
105
- submittingRef.current = false;
106
- setSubmitting(false);
107
- return _context.finish(5);
108
- case 6:
109
- case "end":
110
- return _context.stop();
111
- }
112
- }, _callee, null, [[2, 4, 5, 6]]);
113
- }));
114
- });
115
- var handleChange = (0, _useEventCallback["default"])(function (next) {
116
- if (error) setError('');
117
- setInnerValue(next);
118
- onChange === null || onChange === void 0 ? void 0 : onChange(next);
119
- if (autoSubmit && next.length === OTP_LENGTH && !submittingRef.current) {
120
- runVerify(next);
121
- }
122
- });
123
- var submit = (0, _useEventCallback["default"])(function () {
124
- return runVerify(innerValue);
125
- });
126
- var clearError = (0, _useEventCallback["default"])(function () {
127
- return setError('');
128
- });
129
- var reset = (0, _useEventCallback["default"])(function () {
130
- setError('');
131
- setInnerValue('');
132
- });
133
- return {
134
- value: innerValue,
135
- status: error ? STATUS_ERROR : STATUS_DEFAULT,
136
- feedback: error || undefined,
137
- submitting: submitting,
138
- valid: innerValue.length === OTP_LENGTH,
139
- onChange: handleChange,
140
- submit: submit,
141
- clearError: clearError,
142
- reset: reset
143
- };
144
- };
145
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvdXNlT3RwVmVyaWZpY2F0aW9uLnRzIiwiYnVzaW5lc3MvRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy9ob29rcy91c2VPdHBWZXJpZmljYXRpb24uanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwiT1RQX0xFTkdUSCIsIkRFRkFVTFRfRVJST1JfTUVTU0FHRSIsIlNUQVRVU19FUlJPUiIsIlNUQVRVU19ERUZBVUxUIiwidXNlT3RwVmVyaWZpY2F0aW9uIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJvblZlcmlmeSIsIl9vcHRpb25zJGRlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZSIsIl9vcHRpb25zJGF1dG9TdWJtaXQiLCJhdXRvU3VibWl0Iiwib25DaGFuZ2UiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInN1Ym1pdHRpbmciLCJzZXRTdWJtaXR0aW5nIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJlcnJvciIsInNldEVycm9yIiwic3VibWl0dGluZ1JlZiIsInVzZVJlZiIsInJ1blZlcmlmeSIsInVzZUV2ZW50Q2FsbGJhY2siLCJjb2RlIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJjdXJyZW50IiwiYWJydXB0Iiwic2VudCIsIkVycm9yIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJoYW5kbGVDaGFuZ2UiLCJsZW5ndGgiLCJzdWJtaXQiLCJjbGVhckVycm9yIiwicmVzZXQiLCJzdGF0dXMiLCJmZWVkYmFjayIsInVuZGVmaW5lZCIsInZhbGlkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQ0ZBLElBQUlJLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVND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QUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUduQixJQUFJLENBQUM7SUFDaEIsSUFBSWtCLFVBQVUsSUFBSWxCLElBQUksQ0FBQ3VELE1BQU0sS0FBS2hELFVBQVUsSUFBSSxDQUFDNEIsYUFBYSxDQUFDWSxPQUFPLEVBQUU7TUFDdEVWLFNBQVMsQ0FBQ3JDLElBQUksQ0FBQztJQUNqQjtFQUNGLENBQUMsQ0FBQztFQUVGLElBQU13RCxNQUFNLEdBQUcsSUFBQWxCLDRCQUFnQixFQUFDO0lBQUEsT0FBTUQsU0FBUyxDQUFDYixVQUFVLENBQUM7RUFBQSxFQUFDO0VBQzVELElBQU1pQyxVQUFVLEdBQUcsSUFBQW5CLDRCQUFnQixFQUFDO0lBQUEsT0FBTUosUUFBUSxDQUFDLEVBQUUsQ0FBQztFQUFBLEVBQUM7RUFDdkQsSUFBTXdCLEtBQUssR0FBRyxJQUFBcEIsNEJBQWdCLEVBQUMsWUFBSztJQUNsQ0osUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNaVCxhQUFhLENBQUMsRUFBRSxDQUFDO0VBQ25CLENBQUMsQ0FBQztFQUVGLE9BQU87SUFDTC9CLEtBQUssRUFBRThCLFVBQVU7SUFDakJtQyxNQUFNLEVBQUUxQixLQUFLLEdBQUd4QixZQUFZLEdBQUdDLGNBQWM7SUFDN0NrRCxRQUFRLEVBQUUzQixLQUFLLElBQUk0QixTQUFTO0lBQzVCaEMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZpQyxLQUFLLEVBQUV0QyxVQUFVLENBQUMrQixNQUFNLEtBQUtoRCxVQUFVO0lBQ3ZDWSxRQUFRLEVBQUVtQyxZQUFZO0lBQ3RCRSxNQUFNLEVBQU5BLE1BQU07SUFDTkMsVUFBVSxFQUFWQSxVQUFVO0lBQ1ZDLEtBQUssRUFBTEE7RUMxQ0EsQ0QyQ0Q7QUFDSCxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvdXNlT3RwVmVyaWZpY2F0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5jb25zdCBPVFBfTEVOR1RIID0gNjtcbmNvbnN0IERFRkFVTFRfRVJST1JfTUVTU0FHRSA9ICdJbmNvcnJlY3QgY29kZSwgcGxlYXNlIHRyeSBhZ2Fpbi4nO1xuY29uc3QgU1RBVFVTX0VSUk9SID0gJ2Vycm9yJztcbmNvbnN0IFNUQVRVU19ERUZBVUxUID0gJ2RlZmF1bHQnO1xuLyoqXG4gKiBIZWFkbGVzcyBPVFAgdmVyaWZpY2F0aW9uIGxvZ2ljIHNoYXJlZCBieSBgVmVyaWZpY2F0aW9uRGlhbG9nYCBhbmQgYW55IG90aGVyXG4gKiBzaGVsbCAocG9wdXAsIGlubGluZSBmb3JtLCBtdWx0aS1zdGVwIGZsb3cpLiBPd25zIHRoZSB2YWx1ZSAoY29udHJvbGxlZCBvclxuICogdW5jb250cm9sbGVkKSwgYXV0by1zdWJtaXQgb24gY29tcGxldGlvbiwgbG9hZGluZyBzdGF0ZSwgYW5kIGNsZWFyLW9uLWVycm9yLlxuICovXG5leHBvcnQgY29uc3QgdXNlT3RwVmVyaWZpY2F0aW9uID0gKG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCB7IG9uVmVyaWZ5LCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIGF1dG9TdWJtaXQgPSB0cnVlLCBvbkNoYW5nZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3QgW3N1Ym1pdHRpbmcsIHNldFN1Ym1pdHRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUoJycpO1xuICAgIC8vIGBzdWJtaXR0aW5nYCBkcml2ZXMgdGhlIFVJOyBgc3VibWl0dGluZ1JlZmAgaXMgdGhlIHN5bmNocm9ub3VzIHJlLWVudHJ5XG4gICAgLy8gZ3VhcmQg4oCUIGF1dG8tc3VibWl0IGZpcmVzIGluc2lkZSBgb25DaGFuZ2VgLCB3aGljaCB3b3VsZCBvdGhlcndpc2UgZG91YmxlLVxuICAgIC8vIGZpcmUgYmVmb3JlIHRoZSBgc3VibWl0dGluZ2Agc3RhdGUgdXBkYXRlIGhhcyBmbHVzaGVkLlxuICAgIGNvbnN0IHN1Ym1pdHRpbmdSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IHJ1blZlcmlmeSA9IHVzZUV2ZW50Q2FsbGJhY2soKGNvZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAoc3VibWl0dGluZ1JlZi5jdXJyZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBzdWJtaXR0aW5nUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0geWllbGQgb25WZXJpZnkoY29kZSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3IodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycgJiYgcmVzdWx0ID8gcmVzdWx0IDogREVGQVVMVF9FUlJPUl9NRVNTQUdFKTtcbiAgICAgICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgc2V0RXJyb3IoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUubWVzc2FnZSA/IGUubWVzc2FnZSA6IERFRkFVTFRfRVJST1JfTUVTU0FHRSk7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBmaW5hbGx5IHtcbiAgICAgICAgICAgIHN1Ym1pdHRpbmdSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9KSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dCkgPT4ge1xuICAgICAgICBpZiAoZXJyb3IpXG4gICAgICAgICAgICBzZXRFcnJvcignJyk7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dCk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0KTtcbiAgICAgICAgaWYgKGF1dG9TdWJtaXQgJiYgbmV4dC5sZW5ndGggPT09IE9UUF9MRU5HVEggJiYgIXN1Ym1pdHRpbmdSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcnVuVmVyaWZ5KG5leHQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3Qgc3VibWl0ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiBydW5WZXJpZnkoaW5uZXJWYWx1ZSkpO1xuICAgIGNvbnN0IGNsZWFyRXJyb3IgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHNldEVycm9yKCcnKSk7XG4gICAgY29uc3QgcmVzZXQgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0RXJyb3IoJycpO1xuICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZTogaW5uZXJWYWx1ZSxcbiAgICAgICAgc3RhdHVzOiBlcnJvciA/IFNUQVRVU19FUlJPUiA6IFNUQVRVU19ERUZBVUxULFxuICAgICAgICBmZWVkYmFjazogZXJyb3IgfHwgdW5kZWZpbmVkLFxuICAgICAgICBzdWJtaXR0aW5nLFxuICAgICAgICB2YWxpZDogaW5uZXJWYWx1ZS5sZW5ndGggPT09IE9UUF9MRU5HVEgsXG4gICAgICAgIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gICAgICAgIHN1Ym1pdCxcbiAgICAgICAgY2xlYXJFcnJvcixcbiAgICAgICAgcmVzZXQsXG4gICAgfTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,26 +0,0 @@
1
- export interface UseResendCountdownOptions {
2
- /** Fires when the user triggers a resend. */
3
- onResend: () => void | Promise<void>;
4
- /** Cooldown length in seconds before resending is allowed again. @default 60 */
5
- cooldown?: number;
6
- /** Start the cooldown immediately on mount. @default false */
7
- autoStart?: boolean;
8
- }
9
- export interface UseResendCountdownResult {
10
- /** Seconds left in the current cooldown (`0` when resending is allowed). */
11
- remaining: number;
12
- /** `true` when a resend can be triggered (no cooldown, not loading). */
13
- canResend: boolean;
14
- /** `true` while `onResend` is in flight. */
15
- loading: boolean;
16
- /** Human-readable countdown, e.g. `"1m 0s"`. */
17
- formatted: string;
18
- /** Trigger a resend (no-op during cooldown or while loading). */
19
- resend: () => void;
20
- }
21
- /**
22
- * Headless resend-with-cooldown logic ported from the product's `ResendButton`:
23
- * a per-second countdown, a lock during the cooldown and while the resend
24
- * request is in flight, and an `m s` formatter.
25
- */
26
- export declare const useResendCountdown: (options: UseResendCountdownOptions) => UseResendCountdownResult;