@1money/component-ui 0.0.90-alpha.0 → 0.0.90-alpha.2
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.js +128 -0
- package/es/business/Dialog/BaseDialog/constants.js +13 -0
- package/es/business/Dialog/BaseDialog/index.js +5 -0
- package/es/business/Dialog/BaseDialog/interface.js +2 -0
- package/es/business/Dialog/BaseDialog/style/css.js +2 -0
- package/es/business/Dialog/BaseDialog/style/index.js +2 -0
- package/es/business/Dialog/Descriptions/Descriptions.js +94 -0
- package/es/business/Dialog/Descriptions/constants.js +24 -0
- package/es/business/Dialog/Descriptions/index.js +5 -0
- package/es/business/{DialogV2/FormDialog → Dialog/Descriptions}/interface.js +1 -1
- package/es/business/Dialog/{ResultDialog → Descriptions}/style/css.js +2 -2
- package/es/business/Dialog/{ResultDialog → Descriptions}/style/index.js +2 -2
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +94 -0
- package/es/business/Dialog/DetailsDialog/index.js +5 -0
- package/es/business/Dialog/DetailsDialog/interface.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/css.js +2 -0
- package/es/business/Dialog/DetailsDialog/style/index.js +2 -0
- package/es/business/Dialog/FormDialog/FormDialog.js +100 -0
- package/es/business/Dialog/FormDialog/index.js +6 -0
- package/es/business/Dialog/FormDialog/interface.js +2 -0
- package/es/business/Dialog/FormDialog/style/css.js +2 -0
- package/es/business/Dialog/FormDialog/style/index.js +2 -0
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +203 -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 +19 -6
- package/es/business/Dialog/index.d.ts +4 -2
- package/es/business/Dialog/index.js +8 -3
- package/es/business/Dialog/variants/DeleteDialog.js +20 -0
- package/es/business/Dialog/variants/FailureDialog.js +20 -0
- package/es/business/Dialog/variants/LoadingDialog.js +162 -0
- package/es/business/Dialog/variants/PendingDialog.js +19 -0
- package/es/business/Dialog/variants/SuccessDialog.js +19 -0
- package/es/business/Dialog/variants/index.js +9 -0
- package/es/business/Dialog/variants/style/css.js +2 -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 +52 -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 +1 -1
- package/es/business/FormPage/FormPage.js +13 -6
- package/es/business/FormPage/interface.d.ts +9 -2
- package/es/business/index.d.ts +3 -0
- package/es/business/index.js +3 -1
- package/es/business/shared/formCore/BaseProForm.d.ts +7 -5
- package/es/business/shared/formCore/BaseProForm.js +10 -8
- package/es/components/FormLayout/FormLayout.d.ts +1 -1
- package/es/components/FormLayout/FormLayout.js +12 -8
- package/es/components/FormLayout/config.d.ts +46 -2
- package/es/components/FormLayout/config.js +36 -3
- package/es/components/FormLayout/index.d.ts +1 -1
- package/es/components/FormLayout/index.js +2 -2
- package/es/components/FormLayout/interface.d.ts +9 -2
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +137 -0
- package/lib/business/Dialog/BaseDialog/constants.js +19 -0
- package/lib/business/Dialog/BaseDialog/index.js +30 -0
- package/lib/business/Dialog/BaseDialog/interface.js +6 -0
- package/lib/business/{DialogV2/variants → Dialog/BaseDialog}/style/css.js +2 -2
- package/lib/business/{DialogV2/variants → Dialog/BaseDialog}/style/index.js +2 -2
- package/lib/business/Dialog/Descriptions/Descriptions.js +104 -0
- package/lib/business/Dialog/Descriptions/constants.js +30 -0
- package/lib/business/Dialog/Descriptions/index.js +30 -0
- package/lib/business/{DialogV2/BaseDialog → Dialog/Descriptions}/interface.js +1 -1
- package/lib/business/{DialogV2/BaseDialog → Dialog/Descriptions}/style/css.js +2 -2
- package/lib/business/{DialogV2/FormDialog → Dialog/Descriptions}/style/index.js +2 -2
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +104 -0
- package/lib/business/Dialog/DetailsDialog/index.js +30 -0
- package/lib/business/Dialog/DetailsDialog/interface.js +6 -0
- package/lib/business/Dialog/DetailsDialog/style/css.js +4 -0
- package/lib/business/Dialog/DetailsDialog/style/index.js +4 -0
- package/lib/business/Dialog/FormDialog/FormDialog.js +109 -0
- package/lib/business/{DialogV2 → Dialog}/FormDialog/index.js +1 -1
- package/lib/business/Dialog/FormDialog/interface.js +6 -0
- package/lib/business/Dialog/FormDialog/style/css.js +4 -0
- package/lib/business/Dialog/FormDialog/style/index.js +4 -0
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +204 -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 +19 -6
- package/lib/business/Dialog/index.d.ts +4 -2
- package/lib/business/Dialog/index.js +31 -9
- package/lib/business/Dialog/variants/DeleteDialog.js +26 -0
- package/lib/business/Dialog/variants/FailureDialog.js +26 -0
- package/lib/business/Dialog/variants/LoadingDialog.js +172 -0
- package/lib/business/Dialog/variants/PendingDialog.js +25 -0
- package/lib/business/Dialog/variants/SuccessDialog.js +25 -0
- package/lib/business/{DialogV2 → Dialog}/variants/index.js +1 -1
- package/lib/business/Dialog/variants/style/css.js +4 -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 +60 -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 +1 -1
- package/lib/business/FormPage/FormPage.js +13 -6
- package/lib/business/FormPage/interface.d.ts +9 -2
- package/lib/business/index.d.ts +3 -0
- package/lib/business/index.js +27 -1
- package/lib/business/shared/formCore/BaseProForm.d.ts +7 -5
- package/lib/business/shared/formCore/BaseProForm.js +9 -7
- package/lib/components/FormLayout/FormLayout.d.ts +1 -1
- package/lib/components/FormLayout/FormLayout.js +10 -6
- package/lib/components/FormLayout/config.d.ts +46 -2
- package/lib/components/FormLayout/config.js +37 -4
- package/lib/components/FormLayout/index.d.ts +1 -1
- package/lib/components/FormLayout/index.js +22 -1
- package/lib/components/FormLayout/interface.d.ts +9 -2
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +29 -9
- package/scripts/mcp-server/examples.generated.json +6 -0
- package/scripts/mcp-server/index.generated.json +50 -0
- 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/interface.js +0 -2
- 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/ResultDialog.css +0 -29
- 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/TransactionDialog.css +0 -36
- 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/es/business/DialogV2/BaseDialog/BaseDialog.js +0 -128
- package/es/business/DialogV2/BaseDialog/constants.js +0 -13
- package/es/business/DialogV2/BaseDialog/index.js +0 -5
- package/es/business/DialogV2/BaseDialog/interface.js +0 -2
- package/es/business/DialogV2/BaseDialog/style/css.js +0 -2
- package/es/business/DialogV2/BaseDialog/style/index.js +0 -2
- package/es/business/DialogV2/Descriptions/Descriptions.js +0 -94
- package/es/business/DialogV2/Descriptions/constants.js +0 -24
- package/es/business/DialogV2/Descriptions/index.js +0 -5
- package/es/business/DialogV2/Descriptions/interface.js +0 -2
- package/es/business/DialogV2/Descriptions/style/css.js +0 -2
- package/es/business/DialogV2/Descriptions/style/index.js +0 -2
- package/es/business/DialogV2/DetailsDialog/DetailsDialog.js +0 -94
- package/es/business/DialogV2/DetailsDialog/index.js +0 -5
- package/es/business/DialogV2/DetailsDialog/interface.js +0 -2
- package/es/business/DialogV2/DetailsDialog/style/css.js +0 -2
- package/es/business/DialogV2/DetailsDialog/style/index.js +0 -2
- package/es/business/DialogV2/FormDialog/FormDialog.js +0 -100
- package/es/business/DialogV2/FormDialog/index.js +0 -6
- package/es/business/DialogV2/FormDialog/style/css.js +0 -2
- package/es/business/DialogV2/FormDialog/style/index.js +0 -2
- package/es/business/DialogV2/VerificationDialog/VerificationDialog.d.ts +0 -3
- package/es/business/DialogV2/VerificationDialog/VerificationDialog.js +0 -224
- package/es/business/DialogV2/VerificationDialog/constants.d.ts +0 -8
- package/es/business/DialogV2/VerificationDialog/constants.js +0 -9
- package/es/business/DialogV2/VerificationDialog/index.d.ts +0 -4
- package/es/business/DialogV2/VerificationDialog/index.js +0 -5
- package/es/business/DialogV2/VerificationDialog/interface.d.ts +0 -60
- package/es/business/DialogV2/VerificationDialog/interface.js +0 -2
- package/es/business/DialogV2/VerificationDialog/style/VerificationDialog.css +0 -43
- package/es/business/DialogV2/VerificationDialog/style/css.js +0 -2
- package/es/business/DialogV2/VerificationDialog/style/index.d.ts +0 -1
- package/es/business/DialogV2/VerificationDialog/style/index.js +0 -2
- package/es/business/DialogV2/index.d.ts +0 -5
- package/es/business/DialogV2/index.js +0 -10
- package/es/business/DialogV2/variants/DeleteDialog.js +0 -20
- package/es/business/DialogV2/variants/FailureDialog.js +0 -20
- package/es/business/DialogV2/variants/LoadingDialog.js +0 -162
- package/es/business/DialogV2/variants/PendingDialog.js +0 -19
- package/es/business/DialogV2/variants/SuccessDialog.js +0 -19
- package/es/business/DialogV2/variants/index.js +0 -9
- package/es/business/DialogV2/variants/style/css.js +0 -2
- package/es/business/DialogV2/variants/style/index.js +0 -2
- 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/interface.js +0 -6
- 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/ResultDialog.css +0 -29
- package/lib/business/Dialog/ResultDialog/style/css.js +0 -4
- package/lib/business/Dialog/ResultDialog/style/index.d.ts +0 -1
- package/lib/business/Dialog/ResultDialog/style/index.js +0 -4
- 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/TransactionDialog.css +0 -36
- 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
- package/lib/business/DialogV2/BaseDialog/BaseDialog.js +0 -137
- package/lib/business/DialogV2/BaseDialog/constants.js +0 -19
- package/lib/business/DialogV2/BaseDialog/index.js +0 -30
- package/lib/business/DialogV2/BaseDialog/style/index.js +0 -4
- package/lib/business/DialogV2/Descriptions/Descriptions.js +0 -104
- package/lib/business/DialogV2/Descriptions/constants.js +0 -30
- package/lib/business/DialogV2/Descriptions/index.js +0 -30
- package/lib/business/DialogV2/Descriptions/interface.js +0 -6
- package/lib/business/DialogV2/Descriptions/style/css.js +0 -4
- package/lib/business/DialogV2/Descriptions/style/index.js +0 -4
- package/lib/business/DialogV2/DetailsDialog/DetailsDialog.js +0 -104
- package/lib/business/DialogV2/DetailsDialog/index.js +0 -30
- package/lib/business/DialogV2/DetailsDialog/interface.js +0 -6
- package/lib/business/DialogV2/DetailsDialog/style/css.js +0 -4
- package/lib/business/DialogV2/DetailsDialog/style/index.js +0 -4
- package/lib/business/DialogV2/FormDialog/FormDialog.js +0 -109
- package/lib/business/DialogV2/FormDialog/interface.js +0 -6
- package/lib/business/DialogV2/FormDialog/style/css.js +0 -4
- package/lib/business/DialogV2/VerificationDialog/VerificationDialog.d.ts +0 -3
- package/lib/business/DialogV2/VerificationDialog/VerificationDialog.js +0 -234
- package/lib/business/DialogV2/VerificationDialog/constants.d.ts +0 -8
- package/lib/business/DialogV2/VerificationDialog/constants.js +0 -15
- package/lib/business/DialogV2/VerificationDialog/index.d.ts +0 -4
- package/lib/business/DialogV2/VerificationDialog/index.js +0 -30
- package/lib/business/DialogV2/VerificationDialog/interface.d.ts +0 -60
- package/lib/business/DialogV2/VerificationDialog/interface.js +0 -6
- package/lib/business/DialogV2/VerificationDialog/style/VerificationDialog.css +0 -43
- package/lib/business/DialogV2/VerificationDialog/style/css.js +0 -4
- package/lib/business/DialogV2/VerificationDialog/style/index.d.ts +0 -1
- package/lib/business/DialogV2/VerificationDialog/style/index.js +0 -4
- package/lib/business/DialogV2/index.d.ts +0 -5
- package/lib/business/DialogV2/index.js +0 -61
- package/lib/business/DialogV2/variants/DeleteDialog.js +0 -26
- package/lib/business/DialogV2/variants/FailureDialog.js +0 -26
- package/lib/business/DialogV2/variants/LoadingDialog.js +0 -172
- package/lib/business/DialogV2/variants/PendingDialog.js +0 -25
- package/lib/business/DialogV2/variants/SuccessDialog.js +0 -25
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/BaseDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/constants.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/interface.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/style/BaseDialog.css +0 -0
- /package/es/business/{DialogV2 → Dialog}/BaseDialog/style/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/Descriptions.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/constants.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/interface.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/style/Descriptions.css +0 -0
- /package/es/business/{DialogV2 → Dialog}/Descriptions/style/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/DetailsDialog/DetailsDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/DetailsDialog/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/DetailsDialog/interface.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/DetailsDialog/style/DetailsDialog.css +0 -0
- /package/es/business/{DialogV2 → Dialog}/DetailsDialog/style/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/FormDialog/FormDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/FormDialog/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/FormDialog/interface.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/FormDialog/style/FormDialog.css +0 -0
- /package/es/business/{DialogV2 → Dialog}/FormDialog/style/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/DeleteDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/FailureDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/LoadingDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/PendingDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/SuccessDialog.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/index.d.ts +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/style/LoadingDialog.css +0 -0
- /package/es/business/{DialogV2 → Dialog}/variants/style/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/BaseDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/constants.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/interface.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/style/BaseDialog.css +0 -0
- /package/lib/business/{DialogV2 → Dialog}/BaseDialog/style/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/Descriptions.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/constants.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/interface.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/style/Descriptions.css +0 -0
- /package/lib/business/{DialogV2 → Dialog}/Descriptions/style/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/DetailsDialog/DetailsDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/DetailsDialog/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/DetailsDialog/interface.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/DetailsDialog/style/DetailsDialog.css +0 -0
- /package/lib/business/{DialogV2 → Dialog}/DetailsDialog/style/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/FormDialog/FormDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/FormDialog/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/FormDialog/interface.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/FormDialog/style/FormDialog.css +0 -0
- /package/lib/business/{DialogV2 → Dialog}/FormDialog/style/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/DeleteDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/FailureDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/LoadingDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/PendingDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/SuccessDialog.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/index.d.ts +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/style/LoadingDialog.css +0 -0
- /package/lib/business/{DialogV2 → Dialog}/variants/style/index.d.ts +0 -0
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retrieves the spacing value for a given token key.
|
|
3
|
-
*
|
|
4
|
-
* @param {string} $key - The spacing token key (e.g., '100', '200').
|
|
5
|
-
* @return {length|null} The computed spacing value or null if the key is invalid.
|
|
6
|
-
* @example
|
|
7
|
-
* .element {
|
|
8
|
-
* padding: om-spacing-token('200'); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
9
|
-
* }
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Computes the spacing value based on a token key or a direct length value.
|
|
13
|
-
*
|
|
14
|
-
* @param {string|length} $value - The spacing token key (e.g., '100') or a direct length value (e.g., '16px').
|
|
15
|
-
* @return {length} The computed spacing value.
|
|
16
|
-
* @example
|
|
17
|
-
* .element {
|
|
18
|
-
* margin: om-spacing-value('300'); // Returns 12px if $om-sys-spacing-unit is 4px
|
|
19
|
-
* padding: om-spacing-value(16px); // Returns 16px
|
|
20
|
-
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
|
-
* }
|
|
22
|
-
*/
|
|
23
|
-
.om-transaction-dialog-row {
|
|
24
|
-
padding: var(--om-spacing-300, 12px) 0;
|
|
25
|
-
border-top: 1px solid var(--om-border-default, #d1d2d2);
|
|
26
|
-
}
|
|
27
|
-
.om-transaction-dialog-value {
|
|
28
|
-
text-align: right;
|
|
29
|
-
}
|
|
30
|
-
.om-transaction-dialog-actions > button {
|
|
31
|
-
width: 100%;
|
|
32
|
-
white-space: nowrap;
|
|
33
|
-
}
|
|
34
|
-
.om-transaction-dialog-help a {
|
|
35
|
-
cursor: pointer;
|
|
36
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("./TransactionDialog.css");
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -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/IFJlc2VuZFwiIHJvdyBiZWxvdyB0aGUgZm9vdGVyIGRpdmlkZXIuIE93bnMgaXRzXG4gKiBvd24gY29vbGRvd246IHdoaWxlIGNvdW50aW5nIGRvd24gKG9yIHdoaWxlIGEgcmVzZW5kIGlzIGluIGZsaWdodCkgdGhlIHJvdyBpc1xuICogaW5lcnQg4oCUIG11dGVkLCBub24tY2xpY2thYmxlLCBkZWZhdWx0IGN1cnNvciDigJQgYW5kIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cbiAqIFdoZW4gcmVzZW5kaW5nIGlzIGFsbG93ZWQsIGJvdGggdGhlIHByb21wdCB0ZXh0IGFuZCB0aGUgbGluayB0cmlnZ2VyIGl0IGFuZFxuICogc2hvdyBhIHBvaW50ZXIgY3Vyc29yLiBSZW5kZXJlZCBvbmx5IHdoZW4gYSBgcmVzZW5kYCBjb25maWcgaXMgcHJvdmlkZWQsIHNvXG4gKiB0aGUgY291bnRkb3duIGhvb2sgbmV2ZXIgcnVucyBmb3IgZGlhbG9ncyB3aXRob3V0IHJlc2VuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJlc2VuZFJvdyA9ICh7IHJlc2VuZCB9KSA9PiB7XG4gICAgY29uc3QgeyBwcm9tcHRUZXh0LCBhY3Rpb25UZXh0ID0gVkVSSUZJQ0FUSU9OX0RJQUxPRy5kZWZhdWx0cy5yZXNlbmRMYWJlbCwgb25SZXNlbmQsIGNvb2xkb3duLCB9ID0gcmVzZW5kO1xuICAgIGNvbnN0IHsgY2FuUmVzZW5kLCByZW1haW5pbmcsIGZvcm1hdHRlZCwgcmVzZW5kOiB0cmlnZ2VyUmVzZW5kIH0gPSB1c2VSZXNlbmRDb3VudGRvd24oe1xuICAgICAgICBvblJlc2VuZCxcbiAgICAgICAgY29vbGRvd24sXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGlmIChjYW5SZXNlbmQpXG4gICAgICAgICAgICB0cmlnZ2VyUmVzZW5kKCk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghY2FuUmVzZW5kIHx8ICFWRVJJRklDQVRJT05fRElBTE9HLmFjdGl2YXRpb25LZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRyaWdnZXJSZXNlbmQoKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGNsYXNzTmFtZTogVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnksIGNoaWxkcmVuOiBbcHJvbXB0VGV4dCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnlUZXh0LCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogY2FuUmVzZW5kID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWQsIGNoaWxkcmVuOiBwcm9tcHRUZXh0IH0pKSwgX2pzeHMoVHlwb2dyYXBoeS5MaW5rLCB7IHNpemU6ICdtZCcsIHJvbGU6ICdidXR0b24nLCB0YWJJbmRleDogMCwgZGlzYWJsZWQ6ICFjYW5SZXNlbmQsIGNvbG9yOiBjYW5SZXNlbmQgPyAnYnJhbmQnIDogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVzZW5kLCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogaGFuZGxlQ2xpY2ssIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IFthY3Rpb25UZXh0LCByZW1haW5pbmcgPiAwID8gYCAoJHtmb3JtYXR0ZWR9KWAgOiAnJ10gfSldIH0pXSB9KSk7XG59OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvaW5kZXgudHMiXSwibmFtZXMiOlsiX3VzZU90cFZlcmlmaWNhdGlvbiIsInJlcXVpcmUiLCJfdXNlUmVzZW5kQ291bnRkb3duIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLG1CQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxtQkFBQSxHQUFBRCxPQUFBIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -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/IFNUQVRVU19FUlJPUiA6IFNUQVRVU19ERUZBVUxULFxuICAgICAgICBmZWVkYmFjazogZXJyb3IgfHwgdW5kZWZpbmVkLFxuICAgICAgICBzdWJtaXR0aW5nLFxuICAgICAgICB2YWxpZDogaW5uZXJWYWx1ZS5sZW5ndGggPT09IE9UUF9MRU5HVEgsXG4gICAgICAgIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsXG4gICAgICAgIHN1Ym1pdCxcbiAgICAgICAgY2xlYXJFcnJvcixcbiAgICAgICAgcmVzZXQsXG4gICAgfTtcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -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;
|
|
@@ -1,110 +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.useResendCountdown = 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 _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
12
|
-
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
13
|
-
function adopt(value) {
|
|
14
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
15
|
-
resolve(value);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
19
|
-
function fulfilled(value) {
|
|
20
|
-
try {
|
|
21
|
-
step(generator.next(value));
|
|
22
|
-
} catch (e) {
|
|
23
|
-
reject(e);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function rejected(value) {
|
|
27
|
-
try {
|
|
28
|
-
step(generator["throw"](value));
|
|
29
|
-
} catch (e) {
|
|
30
|
-
reject(e);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function step(result) {
|
|
34
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
35
|
-
}
|
|
36
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var DEFAULT_COOLDOWN_SECONDS = 60;
|
|
40
|
-
var SECONDS_PER_MINUTE = 60;
|
|
41
|
-
var TICK_MS = 1000;
|
|
42
|
-
/**
|
|
43
|
-
* Headless resend-with-cooldown logic ported from the product's `ResendButton`:
|
|
44
|
-
* a per-second countdown, a lock during the cooldown and while the resend
|
|
45
|
-
* request is in flight, and an `m s` formatter.
|
|
46
|
-
*/
|
|
47
|
-
var useResendCountdown = exports.useResendCountdown = function useResendCountdown(options) {
|
|
48
|
-
var onResend = options.onResend,
|
|
49
|
-
_options$cooldown = options.cooldown,
|
|
50
|
-
cooldown = _options$cooldown === void 0 ? DEFAULT_COOLDOWN_SECONDS : _options$cooldown,
|
|
51
|
-
_options$autoStart = options.autoStart,
|
|
52
|
-
autoStart = _options$autoStart === void 0 ? false : _options$autoStart;
|
|
53
|
-
var _useState = (0, _react.useState)(autoStart ? cooldown : 0),
|
|
54
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
55
|
-
remaining = _useState2[0],
|
|
56
|
-
setRemaining = _useState2[1];
|
|
57
|
-
var _useState3 = (0, _react.useState)(false),
|
|
58
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
59
|
-
loading = _useState4[0],
|
|
60
|
-
setLoading = _useState4[1];
|
|
61
|
-
(0, _react.useEffect)(function () {
|
|
62
|
-
if (remaining <= 0) return undefined;
|
|
63
|
-
var timer = setInterval(function () {
|
|
64
|
-
setRemaining(function (prev) {
|
|
65
|
-
return prev <= 1 ? 0 : prev - 1;
|
|
66
|
-
});
|
|
67
|
-
}, TICK_MS);
|
|
68
|
-
return function () {
|
|
69
|
-
return clearInterval(timer);
|
|
70
|
-
};
|
|
71
|
-
}, [remaining]);
|
|
72
|
-
var resend = (0, _useEventCallback["default"])(function () {
|
|
73
|
-
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
74
|
-
return _regenerator["default"].wrap(function (_context) {
|
|
75
|
-
while (1) switch (_context.prev = _context.next) {
|
|
76
|
-
case 0:
|
|
77
|
-
if (!(remaining > 0 || loading)) {
|
|
78
|
-
_context.next = 1;
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
return _context.abrupt("return");
|
|
82
|
-
case 1:
|
|
83
|
-
setLoading(true);
|
|
84
|
-
_context.prev = 2;
|
|
85
|
-
_context.next = 3;
|
|
86
|
-
return onResend();
|
|
87
|
-
case 3:
|
|
88
|
-
setRemaining(cooldown);
|
|
89
|
-
case 4:
|
|
90
|
-
_context.prev = 4;
|
|
91
|
-
setLoading(false);
|
|
92
|
-
return _context.finish(4);
|
|
93
|
-
case 5:
|
|
94
|
-
case "end":
|
|
95
|
-
return _context.stop();
|
|
96
|
-
}
|
|
97
|
-
}, _callee, null, [[2,, 4, 5]]);
|
|
98
|
-
}));
|
|
99
|
-
});
|
|
100
|
-
var minutes = Math.floor(remaining / SECONDS_PER_MINUTE);
|
|
101
|
-
var seconds = remaining % SECONDS_PER_MINUTE;
|
|
102
|
-
return {
|
|
103
|
-
remaining: remaining,
|
|
104
|
-
canResend: remaining <= 0 && !loading,
|
|
105
|
-
loading: loading,
|
|
106
|
-
formatted: "".concat(minutes, "m ").concat(seconds, "s"),
|
|
107
|
-
resend: resend
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvaG9va3MvdXNlUmVzZW5kQ291bnRkb3duLnRzIiwiYnVzaW5lc3MvRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy9ob29rcy91c2VSZXNlbmRDb3VudGRvd24uanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VFdmVudENhbGxiYWNrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsIkRFRkFVTFRfQ09PTERPV05fU0VDT05EUyIsIlNFQ09ORFNfUEVSX01JTlVURSIsIlRJQ0tfTVMiLCJ1c2VSZXNlbmRDb3VudGRvd24iLCJleHBvcnRzIiwib3B0aW9ucyIsIm9uUmVzZW5kIiwiX29wdGlvbnMkY29vbGRvd24iLCJjb29sZG93biIsIl9vcHRpb25zJGF1dG9TdGFydCIsImF1dG9TdGFydCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInJlbWFpbmluZyIsInNldFJlbWFpbmluZyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZyIsInNldExvYWRpbmciLCJ1c2VFZmZlY3QiLCJ1bmRlZmluZWQiLCJ0aW1lciIsInNldEludGVydmFsIiwicHJldiIsImNsZWFySW50ZXJ2YWwiLCJyZXNlbmQiLCJ1c2VFdmVudENhbGxiYWNrIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJhYnJ1cHQiLCJmaW5pc2giLCJzdG9wIiwibWludXRlcyIsIk1hdGgiLCJmbG9vciIsInNlY29uZHMiLCJjYW5SZXNlbmQiLCJmb3JtYXR0ZWQiLCJjb25jYXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUNEQSxJQUFJRyxTQUFTLEdBQUksVUFBUSxTQUFLQSxTQUFTLElBQUssVUFBVUMsT0FBTyxFQUFFQyxVQUFVLEVBQUVDLENBQUMsRUFBRUMsU0FBUyxFQUFFO0VBQ3JGLFNBQVNDLEtBQUtBLENBQUNDLEtBQUssRUFBRTtJQUFFLE9BQU9BLEtBQUssWUFBWUgsQ0FBQyxHQUFHRyxLQUFLLEdBQUcsSUFBSUgsQ0FBQyxDQUFDLFVBQVVJLE9BQU8sRUFBRTtNQUFFQSxPQUFPLENBQUNELEtBQUssQ0FBQztJQUFFLENBQUMsQ0FBQztFQUFFO0VBQzNHLE9BQU8sS0FBS0gsQ0FBQyxLQUFLQSxDQUFDLEdBQUdLLE9BQU8sQ0FBQyxFQUFFLFVBQVVELE9BQU8sRUFBRUUsTUFBTSxFQUFFO0lBQ3ZELFNBQVNDLFNBQVNBLENBQUNKLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUNRLElBQUksQ0FBQ04sS0FBSyxDQUFDLENBQUM7TUFBRSxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFO1FBQUVKLE1BQU0sQ0FBQ0ksQ0FBQyxDQUFDO01BQUU7SUFBRTtJQUMxRixTQUFTQyxRQUFRQSxDQUFDUixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDRSxLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzdGLFNBQVNGLElBQUlBLENBQUNJLE1BQU0sRUFBRTtNQUFFQSxNQUFNLENBQUNDLElBQUksR0FBR1QsT0FBTyxD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QUE7WUFBQSxPQUFBRixRQUFBLENBQUFHLElBQUE7UUFBQTtNQUFBLEdBQUFMLE9BQUE7SUFBQSxDQUVyQixFQUFBO0VBQUEsRUFBQztFQUVGLElBQU1NLE9BQU8sR0FBR0MsSUFBSSxDQUFDQyxLQUFLLENBQUN4QixTQUFTLEdBQUdkLGtCQUFrQixDQUFDO0VBQzFELElBQU11QyxPQUFPLEdBQUd6QixTQUFTLEdBQUdkLGtCQUFrQjtFQUU5QyxPQUFPO0lBQ0xjLFNBQVMsRUFBVEEsU0FBUztJQUNUMEIsU0FBUyxFQUFFMUIsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDSSxPQUFPO0lBQ3JDQSxPQUFPLEVBQVBBLE9BQU87SUFDUHVCLFNBQVMsS0FBQUMsTUFBQSxDQUFLTixPQUFPLFFBQUFNLE1BQUEsQ0FBS0gsT0FBTyxNQUFHO0lBQ3BDYixNQUFNLEVBQU5BO0VDakJBLENEa0JEO0FBQ0gsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvVmVyaWZpY2F0aW9uRGlhbG9nL2hvb2tzL3VzZVJlc2VuZENvdW50ZG93bi5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUV2ZW50Q2FsbGJhY2sgZnJvbSAnQDFtb25leS9ob29rcy91c2VFdmVudENhbGxiYWNrJztcbmNvbnN0IERFRkFVTFRfQ09PTERPV05fU0VDT05EUyA9IDYwO1xuY29uc3QgU0VDT05EU19QRVJfTUlOVVRFID0gNjA7XG5jb25zdCBUSUNLX01TID0gMTAwMDtcbi8qKlxuICogSGVhZGxlc3MgcmVzZW5kLXdpdGgtY29vbGRvd24gbG9naWMgcG9ydGVkIGZyb20gdGhlIHByb2R1Y3QncyBgUmVzZW5kQnV0dG9uYDpcbiAqIGEgcGVyLXNlY29uZCBjb3VudGRvd24sIGEgbG9jayBkdXJpbmcgdGhlIGNvb2xkb3duIGFuZCB3aGlsZSB0aGUgcmVzZW5kXG4gKiByZXF1ZXN0IGlzIGluIGZsaWdodCwgYW5kIGFuIGBtIHNgIGZvcm1hdHRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZVJlc2VuZENvdW50ZG93biA9IChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgeyBvblJlc2VuZCwgY29vbGRvd24gPSBERUZBVUxUX0NPT0xET1dOX1NFQ09ORFMsIGF1dG9TdGFydCA9IGZhbHNlIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IFtyZW1haW5pbmcsIHNldFJlbWFpbmluZ10gPSB1c2VTdGF0ZShhdXRvU3RhcnQgPyBjb29sZG93biA6IDApO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocmVtYWluaW5nIDw9IDApXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB0aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgIHNldFJlbWFpbmluZygocHJldikgPT4gKHByZXYgPD0gMSA/IDAgOiBwcmV2IC0gMSkpO1xuICAgICAgICB9LCBUSUNLX01TKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwodGltZXIpO1xuICAgIH0sIFtyZW1haW5pbmddKTtcbiAgICBjb25zdCByZXNlbmQgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBpZiAocmVtYWluaW5nID4gMCB8fCBsb2FkaW5nKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgeWllbGQgb25SZXNlbmQoKTtcbiAgICAgICAgICAgIHNldFJlbWFpbmluZyhjb29sZG93bik7XG4gICAgICAgIH1cbiAgICAgICAgZmluYWxseSB7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0pKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcihyZW1haW5pbmcgLyBTRUNPTkRTX1BFUl9NSU5VVEUpO1xuICAgIGNvbnN0IHNlY29uZHMgPSByZW1haW5pbmcgJSBTRUNPTkRTX1BFUl9NSU5VVEU7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVtYWluaW5nLFxuICAgICAgICBjYW5SZXNlbmQ6IHJlbWFpbmluZyA8PSAwICYmICFsb2FkaW5nLFxuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBmb3JtYXR0ZWQ6IGAke21pbnV0ZXN9bSAke3NlY29uZHN9c2AsXG4gICAgICAgIHJlc2VuZCxcbiAgICB9O1xufTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|