@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.
- package/es/business/Dialog/BaseDialog/BaseDialog.d.ts +3 -0
- package/es/business/Dialog/BaseDialog/BaseDialog.js +131 -0
- package/es/business/Dialog/BaseDialog/constants.d.ts +12 -0
- package/es/business/Dialog/BaseDialog/constants.js +13 -0
- package/es/business/Dialog/BaseDialog/index.d.ts +4 -0
- package/es/business/Dialog/BaseDialog/index.js +5 -0
- package/es/business/Dialog/BaseDialog/interface.d.ts +69 -0
- package/es/business/Dialog/BaseDialog/interface.js +2 -0
- package/es/business/Dialog/BaseDialog/style/BaseDialog.css +72 -0
- package/es/business/Dialog/BaseDialog/style/css.js +2 -0
- package/es/business/Dialog/BaseDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/BaseDialog/style/index.js +2 -0
- package/es/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
- package/es/business/Dialog/Descriptions/Descriptions.js +102 -0
- package/es/business/Dialog/Descriptions/constants.d.ts +16 -0
- package/es/business/Dialog/Descriptions/constants.js +24 -0
- package/es/business/Dialog/Descriptions/index.d.ts +4 -0
- package/es/business/Dialog/Descriptions/index.js +5 -0
- package/es/business/Dialog/Descriptions/interface.d.ts +58 -0
- package/es/business/Dialog/{ResultDialog → Descriptions}/interface.js +1 -1
- package/es/business/Dialog/Descriptions/style/Descriptions.css +60 -0
- package/es/business/Dialog/{ResultDialog → Descriptions}/style/css.js +2 -2
- package/es/business/Dialog/Descriptions/style/index.d.ts +1 -0
- package/es/business/Dialog/{ResultDialog → Descriptions}/style/index.js +2 -2
- package/es/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +101 -0
- package/es/business/Dialog/DetailsDialog/index.d.ts +4 -0
- package/es/business/Dialog/DetailsDialog/index.js +5 -0
- package/es/business/Dialog/DetailsDialog/interface.d.ts +31 -0
- package/es/business/Dialog/DetailsDialog/interface.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +43 -0
- package/es/business/Dialog/DetailsDialog/style/css.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/DetailsDialog/style/index.js +2 -0
- package/es/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
- package/es/business/Dialog/FormDialog/FormDialog.js +121 -0
- package/es/business/Dialog/FormDialog/index.d.ts +6 -0
- package/es/business/Dialog/FormDialog/index.js +6 -0
- package/es/business/Dialog/FormDialog/interface.d.ts +53 -0
- package/es/business/Dialog/FormDialog/interface.js +2 -0
- package/{lib/business/Dialog/TransactionDialog/style/TransactionDialog.css → es/business/Dialog/FormDialog/style/FormDialog.css} +11 -11
- package/es/business/Dialog/FormDialog/style/css.js +2 -0
- package/es/business/Dialog/FormDialog/style/index.d.ts +1 -0
- package/es/business/Dialog/FormDialog/style/index.js +2 -0
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +249 -95
- package/es/business/Dialog/VerificationDialog/constants.d.ts +8 -35
- package/es/business/Dialog/VerificationDialog/constants.js +8 -30
- package/es/business/Dialog/VerificationDialog/index.d.ts +2 -1
- package/es/business/Dialog/VerificationDialog/index.js +3 -2
- package/es/business/Dialog/VerificationDialog/interface.d.ts +42 -106
- package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +17 -6
- package/es/business/Dialog/index.d.ts +5 -2
- package/es/business/Dialog/index.js +8 -3
- package/es/business/Dialog/variants/DeleteDialog.d.ts +3 -0
- package/es/business/Dialog/variants/DeleteDialog.js +20 -0
- package/es/business/Dialog/variants/FailureDialog.d.ts +3 -0
- package/es/business/Dialog/variants/FailureDialog.js +20 -0
- package/es/business/Dialog/variants/LoadingDialog.d.ts +33 -0
- package/es/business/Dialog/variants/LoadingDialog.js +189 -0
- package/es/business/Dialog/variants/PendingDialog.d.ts +3 -0
- package/es/business/Dialog/variants/PendingDialog.js +19 -0
- package/es/business/Dialog/variants/SuccessDialog.d.ts +3 -0
- package/es/business/Dialog/variants/SuccessDialog.js +19 -0
- package/es/business/Dialog/variants/index.d.ts +10 -0
- package/es/business/Dialog/variants/index.js +9 -0
- package/es/business/Dialog/variants/style/LoadingDialog.css +62 -0
- package/es/business/Dialog/variants/style/css.js +2 -0
- package/es/business/Dialog/variants/style/index.d.ts +1 -0
- package/es/business/Dialog/variants/style/index.js +2 -0
- package/es/business/FieldList/index.d.ts +30 -0
- package/es/business/FieldList/index.js +59 -0
- package/es/business/FieldList/style/FieldList.css +89 -0
- package/es/business/FieldList/style/css.js +2 -0
- package/es/business/FieldList/style/index.d.ts +1 -0
- package/es/business/FieldList/style/index.js +2 -0
- package/es/business/FormPage/FormPage.d.ts +4 -0
- package/es/business/FormPage/FormPage.js +92 -0
- package/es/business/FormPage/index.d.ts +4 -0
- package/es/business/FormPage/index.js +5 -0
- package/es/business/FormPage/interface.d.ts +53 -0
- package/es/business/FormPage/interface.js +2 -0
- package/es/business/Select/Asset/AssetSelect.js +5 -1
- package/es/business/Select/Country/CountrySelect.js +5 -1
- package/es/business/Select/Currency/CurrencySelect.js +5 -1
- package/es/business/Select/Network/NetworkSelect.js +5 -1
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/es/business/index.d.ts +3 -0
- package/es/business/index.js +3 -1
- package/es/business/shared/formCore/BaseProForm.d.ts +40 -0
- package/es/business/shared/formCore/BaseProForm.js +87 -0
- package/es/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/es/business/shared/formCore/useRelayedFormRef.js +43 -0
- package/es/business/shared/formCore/useSubmitAction.d.ts +11 -0
- package/es/business/shared/formCore/useSubmitAction.js +92 -0
- package/es/components/ActionBar/ActionBar.d.ts +3 -0
- package/es/components/ActionBar/ActionBar.js +115 -0
- package/es/components/ActionBar/constants.d.ts +29 -0
- package/es/components/ActionBar/constants.js +30 -0
- package/es/components/ActionBar/index.d.ts +4 -0
- package/es/components/ActionBar/index.js +5 -0
- package/es/components/ActionBar/interface.d.ts +82 -0
- package/es/components/ActionBar/interface.js +2 -0
- package/es/components/ActionBar/style/ActionBar.css +44 -0
- package/es/components/ActionBar/style/css.js +2 -0
- package/es/components/ActionBar/style/index.d.ts +1 -0
- package/es/components/ActionBar/style/index.js +2 -0
- package/es/components/Dialog/Dialog.js +13 -8
- package/es/components/Dialog/interface.d.ts +11 -0
- package/es/components/Dialog/style/Dialog.css +7 -4
- package/es/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
- package/es/components/Dialog/style/css.js +2 -1
- package/es/components/Dialog/style/index.d.ts +1 -0
- package/es/components/Dialog/style/index.js +2 -1
- package/es/components/FormLayout/FormLayout.d.ts +25 -0
- package/es/components/FormLayout/FormLayout.js +128 -0
- package/es/components/FormLayout/config.d.ts +96 -0
- package/es/components/FormLayout/config.js +93 -0
- package/es/components/FormLayout/context.d.ts +9 -0
- package/es/components/FormLayout/context.js +13 -0
- package/es/components/FormLayout/index.d.ts +7 -0
- package/es/components/FormLayout/index.js +7 -0
- package/es/components/FormLayout/interface.d.ts +51 -0
- package/es/components/FormLayout/interface.js +2 -0
- package/es/components/FormLayout/style/FormLayout.css +110 -0
- package/es/components/FormLayout/style/css.js +2 -0
- package/es/components/FormLayout/style/index.d.ts +1 -0
- package/es/components/FormLayout/style/index.js +2 -0
- package/es/components/Grid/Col.d.ts +1 -0
- package/es/components/Grid/Col.js +2 -1
- package/es/components/Grid/Row.d.ts +1 -0
- package/es/components/Grid/Row.js +2 -1
- package/es/components/Input/Input/Input.css +1 -1
- package/es/components/Input/Input/Input.js +16 -4
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/Input/interface.d.ts +5 -0
- package/es/components/ProForm/ProForm.js +24 -13
- package/es/components/ProForm/ProFormItem.js +2 -1
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +5 -2
- package/es/components/ProForm/style/ProForm.css +1 -1
- package/es/components/Select/Select.js +8 -3
- package/es/index.css +1 -1
- package/es/index.d.ts +5 -1
- package/es/index.js +3 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.d.ts +3 -0
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +140 -0
- package/lib/business/Dialog/BaseDialog/constants.d.ts +12 -0
- package/lib/business/Dialog/BaseDialog/constants.js +19 -0
- package/lib/business/Dialog/BaseDialog/index.d.ts +4 -0
- package/lib/business/Dialog/BaseDialog/index.js +30 -0
- package/lib/business/Dialog/BaseDialog/interface.d.ts +69 -0
- package/lib/business/Dialog/BaseDialog/interface.js +6 -0
- package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +72 -0
- package/lib/business/Dialog/BaseDialog/style/css.js +4 -0
- package/lib/business/Dialog/BaseDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/BaseDialog/style/index.js +4 -0
- package/lib/business/Dialog/Descriptions/Descriptions.d.ts +3 -0
- package/lib/business/Dialog/Descriptions/Descriptions.js +112 -0
- package/lib/business/Dialog/Descriptions/constants.d.ts +16 -0
- package/lib/business/Dialog/Descriptions/constants.js +30 -0
- package/lib/business/Dialog/Descriptions/index.d.ts +4 -0
- package/lib/business/Dialog/Descriptions/index.js +30 -0
- package/lib/business/Dialog/Descriptions/interface.d.ts +58 -0
- package/lib/business/Dialog/{ResultDialog → Descriptions}/interface.js +1 -1
- package/lib/business/Dialog/Descriptions/style/Descriptions.css +60 -0
- package/lib/business/Dialog/{ResultDialog → Descriptions}/style/css.js +2 -2
- package/lib/business/Dialog/Descriptions/style/index.d.ts +1 -0
- package/lib/business/Dialog/{ResultDialog → Descriptions}/style/index.js +2 -2
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.d.ts +3 -0
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +111 -0
- package/lib/business/Dialog/DetailsDialog/index.d.ts +4 -0
- package/lib/business/Dialog/DetailsDialog/index.js +30 -0
- package/lib/business/Dialog/DetailsDialog/interface.d.ts +31 -0
- package/lib/business/Dialog/DetailsDialog/interface.js +6 -0
- package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +43 -0
- package/lib/business/Dialog/DetailsDialog/style/css.js +4 -0
- package/lib/business/Dialog/DetailsDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/DetailsDialog/style/index.js +4 -0
- package/lib/business/Dialog/FormDialog/FormDialog.d.ts +5 -0
- package/lib/business/Dialog/FormDialog/FormDialog.js +130 -0
- package/lib/business/Dialog/FormDialog/index.d.ts +6 -0
- package/lib/business/Dialog/FormDialog/index.js +52 -0
- package/lib/business/Dialog/FormDialog/interface.d.ts +53 -0
- package/lib/business/Dialog/FormDialog/interface.js +6 -0
- package/{es/business/Dialog/TransactionDialog/style/TransactionDialog.css → lib/business/Dialog/FormDialog/style/FormDialog.css} +11 -11
- package/lib/business/Dialog/FormDialog/style/css.js +4 -0
- package/lib/business/Dialog/FormDialog/style/index.d.ts +1 -0
- package/lib/business/Dialog/FormDialog/style/index.js +4 -0
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +250 -92
- package/lib/business/Dialog/VerificationDialog/constants.d.ts +8 -35
- package/lib/business/Dialog/VerificationDialog/constants.js +9 -31
- package/lib/business/Dialog/VerificationDialog/index.d.ts +2 -1
- package/lib/business/Dialog/VerificationDialog/index.js +4 -17
- package/lib/business/Dialog/VerificationDialog/interface.d.ts +42 -106
- package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +17 -6
- package/lib/business/Dialog/index.d.ts +5 -2
- package/lib/business/Dialog/index.js +31 -9
- package/lib/business/Dialog/variants/DeleteDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/DeleteDialog.js +26 -0
- package/lib/business/Dialog/variants/FailureDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/FailureDialog.js +26 -0
- package/lib/business/Dialog/variants/LoadingDialog.d.ts +33 -0
- package/lib/business/Dialog/variants/LoadingDialog.js +199 -0
- package/lib/business/Dialog/variants/PendingDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/PendingDialog.js +25 -0
- package/lib/business/Dialog/variants/SuccessDialog.d.ts +3 -0
- package/lib/business/Dialog/variants/SuccessDialog.js +25 -0
- package/lib/business/Dialog/variants/index.d.ts +10 -0
- package/lib/business/Dialog/variants/index.js +41 -0
- package/lib/business/Dialog/variants/style/LoadingDialog.css +62 -0
- package/lib/business/Dialog/variants/style/css.js +4 -0
- package/lib/business/Dialog/variants/style/index.d.ts +1 -0
- package/lib/business/Dialog/variants/style/index.js +4 -0
- package/lib/business/FieldList/index.d.ts +30 -0
- package/lib/business/FieldList/index.js +67 -0
- package/lib/business/FieldList/style/FieldList.css +89 -0
- package/lib/business/FieldList/style/css.js +4 -0
- package/lib/business/FieldList/style/index.d.ts +1 -0
- package/lib/business/FieldList/style/index.js +4 -0
- package/lib/business/FormPage/FormPage.d.ts +4 -0
- package/lib/business/FormPage/FormPage.js +98 -0
- package/lib/business/FormPage/index.d.ts +4 -0
- package/lib/business/FormPage/index.js +30 -0
- package/lib/business/FormPage/interface.d.ts +53 -0
- package/lib/business/FormPage/interface.js +6 -0
- package/lib/business/Select/Asset/AssetSelect.js +5 -1
- package/lib/business/Select/Country/CountrySelect.js +5 -1
- package/lib/business/Select/Currency/CurrencySelect.js +5 -1
- package/lib/business/Select/Network/NetworkSelect.js +5 -1
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/lib/business/index.d.ts +3 -0
- package/lib/business/index.js +27 -1
- package/lib/business/shared/formCore/BaseProForm.d.ts +40 -0
- package/lib/business/shared/formCore/BaseProForm.js +93 -0
- package/lib/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/lib/business/shared/formCore/useRelayedFormRef.js +49 -0
- package/lib/business/shared/formCore/useSubmitAction.d.ts +11 -0
- package/lib/business/shared/formCore/useSubmitAction.js +99 -0
- package/lib/components/ActionBar/ActionBar.d.ts +3 -0
- package/lib/components/ActionBar/ActionBar.js +124 -0
- package/lib/components/ActionBar/constants.d.ts +29 -0
- package/lib/components/ActionBar/constants.js +36 -0
- package/lib/components/ActionBar/index.d.ts +4 -0
- package/lib/components/ActionBar/index.js +30 -0
- package/lib/components/ActionBar/interface.d.ts +82 -0
- package/lib/components/ActionBar/interface.js +6 -0
- package/lib/components/ActionBar/style/ActionBar.css +44 -0
- package/lib/components/ActionBar/style/css.js +4 -0
- package/lib/components/ActionBar/style/index.d.ts +1 -0
- package/lib/components/ActionBar/style/index.js +4 -0
- package/lib/components/Dialog/Dialog.js +13 -8
- package/lib/components/Dialog/interface.d.ts +11 -0
- package/lib/components/Dialog/style/Dialog.css +7 -4
- package/lib/{business/Dialog/ResultDialog/style/ResultDialog.css → components/Dialog/style/DialogBare.css} +10 -5
- package/lib/components/Dialog/style/css.js +2 -1
- package/lib/components/Dialog/style/index.d.ts +1 -0
- package/lib/components/Dialog/style/index.js +2 -1
- package/lib/components/FormLayout/FormLayout.d.ts +25 -0
- package/lib/components/FormLayout/FormLayout.js +138 -0
- package/lib/components/FormLayout/config.d.ts +96 -0
- package/lib/components/FormLayout/config.js +99 -0
- package/lib/components/FormLayout/context.d.ts +9 -0
- package/lib/components/FormLayout/context.js +19 -0
- package/lib/components/FormLayout/index.d.ts +7 -0
- package/lib/components/FormLayout/index.js +102 -0
- package/lib/components/FormLayout/interface.d.ts +51 -0
- package/lib/components/FormLayout/interface.js +6 -0
- package/lib/components/FormLayout/style/FormLayout.css +110 -0
- package/lib/components/FormLayout/style/css.js +4 -0
- package/lib/components/FormLayout/style/index.d.ts +1 -0
- package/lib/components/FormLayout/style/index.js +4 -0
- package/lib/components/Grid/Col.d.ts +1 -0
- package/lib/components/Grid/Col.js +2 -1
- package/lib/components/Grid/Row.d.ts +1 -0
- package/lib/components/Grid/Row.js +2 -1
- package/lib/components/Input/Input/Input.css +1 -1
- package/lib/components/Input/Input/Input.js +16 -4
- package/lib/components/Input/Mask/Mask.js +3 -2
- package/lib/components/Input/interface.d.ts +5 -0
- package/lib/components/ProForm/ProForm.js +27 -16
- package/lib/components/ProForm/ProFormItem.js +2 -1
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +5 -2
- package/lib/components/ProForm/style/ProForm.css +1 -1
- package/lib/components/Select/Select.js +8 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.js +33 -1
- package/package.json +39 -9
- package/scripts/mcp-server/examples.generated.json +84 -0
- package/scripts/mcp-server/index.generated.json +743 -152
- package/es/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
- package/es/business/Dialog/ResultDialog/ResultDialog.js +0 -126
- package/es/business/Dialog/ResultDialog/constants.d.ts +0 -27
- package/es/business/Dialog/ResultDialog/constants.js +0 -24
- package/es/business/Dialog/ResultDialog/index.d.ts +0 -3
- package/es/business/Dialog/ResultDialog/index.js +0 -4
- package/es/business/Dialog/ResultDialog/interface.d.ts +0 -95
- package/es/business/Dialog/ResultDialog/presets.d.ts +0 -178
- package/es/business/Dialog/ResultDialog/presets.js +0 -139
- package/es/business/Dialog/ResultDialog/style/index.d.ts +0 -1
- package/es/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
- package/es/business/Dialog/TransactionDialog/TransactionDialog.js +0 -174
- package/es/business/Dialog/TransactionDialog/constants.d.ts +0 -34
- package/es/business/Dialog/TransactionDialog/constants.js +0 -33
- package/es/business/Dialog/TransactionDialog/index.d.ts +0 -3
- package/es/business/Dialog/TransactionDialog/index.js +0 -4
- package/es/business/Dialog/TransactionDialog/interface.d.ts +0 -116
- package/es/business/Dialog/TransactionDialog/interface.js +0 -2
- package/es/business/Dialog/TransactionDialog/presets.d.ts +0 -89
- package/es/business/Dialog/TransactionDialog/presets.js +0 -62
- package/es/business/Dialog/TransactionDialog/style/css.js +0 -2
- package/es/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
- package/es/business/Dialog/TransactionDialog/style/index.js +0 -2
- package/es/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
- package/es/business/Dialog/VerificationDialog/ResendRow.js +0 -65
- package/es/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
- package/es/business/Dialog/VerificationDialog/hooks/index.js +0 -3
- package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
- package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -138
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +0 -103
- package/lib/business/Dialog/ResultDialog/ResultDialog.d.ts +0 -3
- package/lib/business/Dialog/ResultDialog/ResultDialog.js +0 -132
- package/lib/business/Dialog/ResultDialog/constants.d.ts +0 -27
- package/lib/business/Dialog/ResultDialog/constants.js +0 -30
- package/lib/business/Dialog/ResultDialog/index.d.ts +0 -3
- package/lib/business/Dialog/ResultDialog/index.js +0 -40
- package/lib/business/Dialog/ResultDialog/interface.d.ts +0 -95
- package/lib/business/Dialog/ResultDialog/presets.d.ts +0 -178
- package/lib/business/Dialog/ResultDialog/presets.js +0 -145
- package/lib/business/Dialog/ResultDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/TransactionDialog/TransactionDialog.d.ts +0 -3
- package/lib/business/Dialog/TransactionDialog/TransactionDialog.js +0 -180
- package/lib/business/Dialog/TransactionDialog/constants.d.ts +0 -34
- package/lib/business/Dialog/TransactionDialog/constants.js +0 -39
- package/lib/business/Dialog/TransactionDialog/index.d.ts +0 -3
- package/lib/business/Dialog/TransactionDialog/index.js +0 -40
- package/lib/business/Dialog/TransactionDialog/interface.d.ts +0 -116
- package/lib/business/Dialog/TransactionDialog/interface.js +0 -6
- package/lib/business/Dialog/TransactionDialog/presets.d.ts +0 -89
- package/lib/business/Dialog/TransactionDialog/presets.js +0 -68
- package/lib/business/Dialog/TransactionDialog/style/css.js +0 -4
- package/lib/business/Dialog/TransactionDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/TransactionDialog/style/index.js +0 -4
- package/lib/business/Dialog/VerificationDialog/ResendRow.d.ts +0 -14
- package/lib/business/Dialog/VerificationDialog/ResendRow.js +0 -71
- package/lib/business/Dialog/VerificationDialog/hooks/index.d.ts +0 -4
- package/lib/business/Dialog/VerificationDialog/hooks/index.js +0 -20
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +0 -50
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +0 -145
- package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +0 -26
- 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;
|