@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,124 +1,60 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type { InputStatus } from "../../../components/Input";
|
|
5
|
-
import type { OtpVerifyResult } from './hooks';
|
|
6
|
-
export type { OtpVerifyResult, UseOtpVerificationOptions, UseOtpVerificationResult, UseResendCountdownOptions, UseResendCountdownResult, } from './hooks';
|
|
7
|
-
/** Visual status forwarded to the inner `Input.OTP`. */
|
|
8
|
-
export type VerificationDialogStatus = InputStatus;
|
|
2
|
+
import type { ActionBarAction, ActionBarFootnote } from "../../../components/ActionBar";
|
|
3
|
+
import type { BaseDialogProps } from '../BaseDialog';
|
|
9
4
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
5
|
+
* Result contract of `onVerify`: resolve/return `true` on success (close the
|
|
6
|
+
* dialog in your handler); resolve a string (or return one) to show it as the
|
|
7
|
+
* error and clear the boxes. Rejections become a generic error string.
|
|
8
|
+
* Mirrors the app's legacy `OptCodeNestPromiseResult` convention.
|
|
13
9
|
*/
|
|
14
|
-
export
|
|
15
|
-
/** Button label. */
|
|
16
|
-
label: ReactNode;
|
|
17
|
-
/** Click handler. */
|
|
18
|
-
onClick?: () => void;
|
|
19
|
-
/** Disable the button. */
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Color tone.
|
|
23
|
-
* @default 'grey'
|
|
24
|
-
*/
|
|
25
|
-
color?: ButtonColor;
|
|
26
|
-
}
|
|
10
|
+
export type VerificationResult = boolean | string;
|
|
27
11
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
12
|
+
* Rate-limited resend, rendered as the LEFT (secondary) button — e.g.
|
|
13
|
+
* "Resend Email" alongside "Submit" (Figma 39571-18982). While cooling down
|
|
14
|
+
* the button is disabled and shows a countdown. When provided, it replaces
|
|
15
|
+
* the default Cancel secondary.
|
|
30
16
|
*/
|
|
31
|
-
export interface
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
*/
|
|
38
|
-
actionText?: ReactNode;
|
|
39
|
-
/** Fires when the user triggers a resend (in-app action like re-sending an email). */
|
|
40
|
-
onResend: () => void | Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Cooldown length in seconds before resending is allowed again. While
|
|
43
|
-
* counting down, the label is muted and shows the remaining time.
|
|
44
|
-
* @default 60
|
|
45
|
-
*/
|
|
17
|
+
export interface VerificationResend {
|
|
18
|
+
/** Button label, e.g. `"Resend Email"`. */
|
|
19
|
+
label?: ReactNode;
|
|
20
|
+
/** Fires when clicked while not cooling down. */
|
|
21
|
+
onResend?: () => void | Promise<void>;
|
|
22
|
+
/** Cooldown seconds after a resend; the button shows a countdown. */
|
|
46
23
|
cooldown?: number;
|
|
47
24
|
}
|
|
48
|
-
export interface VerificationDialogProps extends Pick<
|
|
49
|
-
/** Dialog heading, e.g. `"
|
|
50
|
-
title
|
|
51
|
-
/** Supporting copy under the title
|
|
25
|
+
export interface VerificationDialogProps extends Pick<BaseDialogProps, 'open' | 'eyebrow' | 'maskClosable' | 'showCloseIcon' | 'showBackIcon' | 'onBack' | 'className' | 'onClose' | 'descriptionStrong'> {
|
|
26
|
+
/** Dialog heading, e.g. `"Please enter the code from your authenticator app"`. */
|
|
27
|
+
title?: ReactNode;
|
|
28
|
+
/** Supporting copy under the title. */
|
|
52
29
|
description?: ReactNode;
|
|
53
|
-
/**
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
defaultValue?: string;
|
|
57
|
-
/** Helper subtext shown directly under the OTP boxes, e.g. `"e.g. 123 456"`. Hidden while an error is showing. */
|
|
30
|
+
/** Number of OTP boxes. */
|
|
31
|
+
length?: number;
|
|
32
|
+
/** Hint under the boxes when there is no error, e.g. `"e.g. 123 456"`. */
|
|
58
33
|
otpHint?: ReactNode;
|
|
59
|
-
/**
|
|
60
|
-
* Auto-focus the first OTP box when the dialog opens.
|
|
61
|
-
* @default false
|
|
62
|
-
*/
|
|
63
|
-
autoFocus?: boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Mask the entered digits as dots (•), like a password field, instead of
|
|
66
|
-
* showing them in plain text. This is **display only** — `value`, `onChange`,
|
|
67
|
-
* and the code passed to `onVerify` are always the real digits. Use it when
|
|
68
|
-
* the screen may be visible to others (e.g. shared/public devices).
|
|
69
|
-
* @default false
|
|
70
|
-
*/
|
|
34
|
+
/** Mask the digits (dots instead of numbers). */
|
|
71
35
|
mask?: boolean;
|
|
36
|
+
/** Focus the first box when the dialog opens (default `true`). */
|
|
37
|
+
autoFocus?: boolean;
|
|
72
38
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*/
|
|
76
|
-
disabled?: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Verify automatically once all digits are entered (in addition to the
|
|
79
|
-
* submit button).
|
|
80
|
-
* @default true
|
|
39
|
+
* Submit automatically when the last box is filled (default `true`). The
|
|
40
|
+
* submit button stays as an explicit fallback either way.
|
|
81
41
|
*/
|
|
82
42
|
autoSubmit?: boolean;
|
|
43
|
+
/** Submit button label override (defaults to the generic 'Confirm'). */
|
|
44
|
+
submitText?: ReactNode;
|
|
83
45
|
/**
|
|
84
|
-
*
|
|
85
|
-
* string to show it as the error
|
|
86
|
-
*
|
|
87
|
-
* button's loading state and auto-submit.
|
|
88
|
-
*
|
|
89
|
-
* @example
|
|
90
|
-
* ```tsx
|
|
91
|
-
* <VerificationDialog
|
|
92
|
-
* open={open}
|
|
93
|
-
* title="Email Verification"
|
|
94
|
-
* description="Enter the 6-digit code sent to ema...@gmail.com"
|
|
95
|
-
* otpHint="e.g. 123 456"
|
|
96
|
-
* submitText="Continue"
|
|
97
|
-
* onVerify={async (code) => {
|
|
98
|
-
* const res = await api.verify(code);
|
|
99
|
-
* return res.ok ? true : 'That code is incorrect.';
|
|
100
|
-
* }}
|
|
101
|
-
* secondaryAction={{ label: 'Cancel', onClick: () => setOpen(false) }}
|
|
102
|
-
* resend={{ promptText: "Haven't received the code?", onResend: api.resend, cooldown: 60 }}
|
|
103
|
-
* onClose={() => setOpen(false)}
|
|
104
|
-
* />
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
onVerify: (code: string) => Promise<OtpVerifyResult> | OtpVerifyResult;
|
|
108
|
-
/** Fires on every OTP change with the current value. */
|
|
109
|
-
onChange?: (value: string) => void;
|
|
110
|
-
/**
|
|
111
|
-
* Primary (submit) button label.
|
|
112
|
-
* @default 'Submit'
|
|
46
|
+
* The whole verification flow in one callback. Return `true` for success;
|
|
47
|
+
* return a string to show it as the error and clear the boxes; a throw or
|
|
48
|
+
* a falsy result shows the generic error.
|
|
113
49
|
*/
|
|
114
|
-
|
|
115
|
-
/** Optional secondary button (e.g. "Cancel") shown beside the submit button. */
|
|
116
|
-
secondaryAction?: VerificationDialogSecondaryAction;
|
|
117
|
-
/** Optional resend prompt + link with built-in cooldown, below a divider. */
|
|
118
|
-
resend?: VerificationDialogResend;
|
|
50
|
+
onVerify?: (code: string) => VerificationResult | Promise<VerificationResult>;
|
|
119
51
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
52
|
+
* Secondary (left) action, e.g. Cancel. Defaults to wiring `onClose`.
|
|
53
|
+
* Ignored when `resend` is provided — resend takes the secondary slot.
|
|
122
54
|
*/
|
|
123
|
-
|
|
55
|
+
secondary?: ActionBarAction | false;
|
|
56
|
+
/** Rate-limited resend, rendered as the left button (see `VerificationResend`). */
|
|
57
|
+
resend?: VerificationResend;
|
|
58
|
+
/** Footnote row, e.g. `"Don't have access to your 2FA? Reset 2FA"`. */
|
|
59
|
+
footnote?: ActionBarFootnote;
|
|
124
60
|
}
|
|
@@ -20,11 +20,22 @@
|
|
|
20
20
|
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
21
|
* }
|
|
22
22
|
*/
|
|
23
|
-
.om-verification-dialog-
|
|
24
|
-
|
|
23
|
+
.om-component-ui-verification-dialog .om-component-ui-dialog-content {
|
|
24
|
+
padding-top: var(--om-spacing-400, 16px);
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
.om-component-ui-verification-dialog .om-component-ui-input-otp {
|
|
27
|
+
gap: 0;
|
|
28
|
+
justify-content: space-between;
|
|
29
|
+
width: 100%;
|
|
30
|
+
}
|
|
31
|
+
.om-component-ui-verification-dialog .om-component-ui-input-otp-cell {
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
width: 44px;
|
|
34
|
+
height: 44px;
|
|
35
|
+
flex: 0 0 44px;
|
|
36
|
+
}
|
|
37
|
+
.om-component-ui-verification-dialog .om-component-ui-input-feedback,
|
|
38
|
+
.om-component-ui-verification-dialog .om-component-ui-input-tip {
|
|
39
|
+
font-size: 12px;
|
|
40
|
+
line-height: 16px;
|
|
30
41
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './FormDialog';
|
|
2
|
+
export * from './BaseDialog';
|
|
3
|
+
export * from './DetailsDialog';
|
|
4
|
+
export type { DescriptionsRow } from './Descriptions';
|
|
5
|
+
export * from './variants';
|
|
3
6
|
export * from './VerificationDialog';
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Dialog — scenario shells assembled from `components/` capabilities
|
|
2
|
+
// (Dialog bare, FormLayout, ActionBar, ProForm). Exported from
|
|
3
|
+
// `business/index.ts` and importable via the `business/Dialog` subpath.
|
|
4
|
+
export * from './FormDialog';
|
|
5
|
+
export * from './BaseDialog';
|
|
6
|
+
export * from './DetailsDialog';
|
|
7
|
+
export * from './variants';
|
|
3
8
|
export * from './VerificationDialog';
|
|
4
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NyYy9idXNpbmVzcy9EaWFsb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxjQUFjO0FBQzVCLGNBQWMsY0FBYztBQUM1QixjQUFjLGlCQUFpQjtBQUkvQixjQUFjLFlBQVk7QUFDMUIsY0FBYyxzQkFBc0IiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { BaseDialog } from '../BaseDialog';
|
|
4
|
+
// Shape only — error illustration + danger-toned confirm (Figma 39958-10166
|
|
5
|
+
// "Delete bank account?": Cancel grey left, danger Confirm right).
|
|
6
|
+
var PRESET = {
|
|
7
|
+
illustration: 'illusError',
|
|
8
|
+
primaryColor: 'danger'
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* `BaseDialog` preset for destructive confirms. Explicit props — including
|
|
12
|
+
* per-action `color` — win over the preset.
|
|
13
|
+
*/
|
|
14
|
+
var DeleteDialogBase = function DeleteDialogBase(props) {
|
|
15
|
+
return _jsx(BaseDialog, Object.assign({}, props, {
|
|
16
|
+
preset: PRESET
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
export var DeleteDialog = /*#__PURE__*/memo(DeleteDialogBase);
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9EZWxldGVEaWFsb2cuanMiLCJidXNpbmVzcy9EaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy92YXJpYW50cy9EZWxldGVEaWFsb2cudHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJtZW1vIiwiQmFzZURpYWxvZyIsIlBSRVNFVCIsImlsbHVzdHJhdGlvbiIsInByaW1hcnlDb2xvciIsIkRlbGV0ZURpYWxvZ0Jhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInByZXNldCIsIkRlbGV0ZURpYWxvZyJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLFNBQVNDLElBQUksUUFBUSxPQUFPO0FBQzVCLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBSTFDO0FBQ0E7QUFDQSxJQUFNQyxNQUFNLEdBQXFCO0VBQy9CQyxZQUFZLEVBQUUsWUFBWTtFQUMxQkMsWUFBWSxFQUFFO0FERGhCLENDRUM7QUFJRDtBREpBO0FBQ0E7QUFDQTtBQ01BLElBQU1DLGdCQUFnQixHQUEwQixTQUExQ0EsZ0JBQWdCQSxDQUEyQkMsS0FBSztFQUFBLE9BQ3BEUCxJQUFBLENBQUNFLFVBQVUsRUFBQU0sTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtGLEtBQUssRUFBQTtJQUFFRyxNQUFNLEVBQUVQO0VBQU0sQ0FBQSxDQUFBLENBQUk7QUFBQSxDQUMxQztBQUVELE9BQU8sSUFBTVEsWUFBWSxnQkFBR1YsSUFBSSxDQUFDSyxnQkFBZ0IsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvRGVsZXRlRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXNlRGlhbG9nIH0gZnJvbSAnLi4vQmFzZURpYWxvZyc7XG4vLyBTaGFwZSBvbmx5IOKAlCBlcnJvciBpbGx1c3RyYXRpb24gKyBkYW5nZXItdG9uZWQgY29uZmlybSAoRmlnbWEgMzk5NTgtMTAxNjZcbi8vIFwiRGVsZXRlIGJhbmsgYWNjb3VudD9cIjogQ2FuY2VsIGdyZXkgbGVmdCwgZGFuZ2VyIENvbmZpcm0gcmlnaHQpLlxuY29uc3QgUFJFU0VUID0ge1xuICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzRXJyb3InLFxuICAgIHByaW1hcnlDb2xvcjogJ2RhbmdlcicsXG59O1xuLyoqXG4gKiBgQmFzZURpYWxvZ2AgcHJlc2V0IGZvciBkZXN0cnVjdGl2ZSBjb25maXJtcy4gRXhwbGljaXQgcHJvcHMg4oCUIGluY2x1ZGluZ1xuICogcGVyLWFjdGlvbiBgY29sb3JgIOKAlCB3aW4gb3ZlciB0aGUgcHJlc2V0LlxuICovXG5jb25zdCBEZWxldGVEaWFsb2dCYXNlID0gKHByb3BzKSA9PiAoX2pzeChCYXNlRGlhbG9nLCBPYmplY3QuYXNzaWduKHt9LCBwcm9wcywgeyBwcmVzZXQ6IFBSRVNFVCB9KSkpO1xuZXhwb3J0IGNvbnN0IERlbGV0ZURpYWxvZyA9IG1lbW8oRGVsZXRlRGlhbG9nQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { BaseDialog } from '../BaseDialog';
|
|
4
|
+
// Shape only — error illustration (Figma 39958-10339 "Transaction failed").
|
|
5
|
+
// Unlike DeleteDialog, actions keep their normal tones (e.g. secondary
|
|
6
|
+
// "Contact Support" + primary "Try Again").
|
|
7
|
+
var PRESET = {
|
|
8
|
+
illustration: 'illusError'
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* `BaseDialog` preset for failure results. Explicit props win over the
|
|
12
|
+
* preset.
|
|
13
|
+
*/
|
|
14
|
+
var FailureDialogBase = function FailureDialogBase(props) {
|
|
15
|
+
return _jsx(BaseDialog, Object.assign({}, props, {
|
|
16
|
+
preset: PRESET
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
export var FailureDialog = /*#__PURE__*/memo(FailureDialogBase);
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9GYWlsdXJlRGlhbG9nLmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvRmFpbHVyZURpYWxvZy50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIm1lbW8iLCJCYXNlRGlhbG9nIiwiUFJFU0VUIiwiaWxsdXN0cmF0aW9uIiwiRmFpbHVyZURpYWxvZ0Jhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInByZXNldCIsIkZhaWx1cmVEaWFsb2ciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxJQUFJLFFBQVEsT0FBTztBQUM1QixTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQztBQUNBO0FBQ0E7QUFDQSxJQUFNQyxNQUFNLEdBQXFCO0VBQy9CQyxZQUFZLEVBQUU7QUREaEIsQ0NFQztBQUlEO0FESkE7QUFDQTtBQUNBO0FDTUEsSUFBTUMsaUJBQWlCLEdBQTJCLFNBQTVDQSxpQkFBaUJBLENBQTRCQyxLQUFLO0VBQUEsT0FDdEROLElBQUEsQ0FBQ0UsVUFBVSxFQUFBSyxNQUFBLENBQUFDLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS0YsS0FBSyxFQUFBO0lBQUVHLE1BQU0sRUFBRU47RUFBTSxDQUFBLENBQUEsQ0FBSTtBQUFBLENBQzFDO0FBRUQsT0FBTyxJQUFNTyxhQUFhLGdCQUFHVCxJQUFJLENBQUNJLGlCQUFpQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9GYWlsdXJlRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXNlRGlhbG9nIH0gZnJvbSAnLi4vQmFzZURpYWxvZyc7XG4vLyBTaGFwZSBvbmx5IOKAlCBlcnJvciBpbGx1c3RyYXRpb24gKEZpZ21hIDM5OTU4LTEwMzM5IFwiVHJhbnNhY3Rpb24gZmFpbGVkXCIpLlxuLy8gVW5saWtlIERlbGV0ZURpYWxvZywgYWN0aW9ucyBrZWVwIHRoZWlyIG5vcm1hbCB0b25lcyAoZS5nLiBzZWNvbmRhcnlcbi8vIFwiQ29udGFjdCBTdXBwb3J0XCIgKyBwcmltYXJ5IFwiVHJ5IEFnYWluXCIpLlxuY29uc3QgUFJFU0VUID0ge1xuICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzRXJyb3InLFxufTtcbi8qKlxuICogYEJhc2VEaWFsb2dgIHByZXNldCBmb3IgZmFpbHVyZSByZXN1bHRzLiBFeHBsaWNpdCBwcm9wcyB3aW4gb3ZlciB0aGVcbiAqIHByZXNldC5cbiAqL1xuY29uc3QgRmFpbHVyZURpYWxvZ0Jhc2UgPSAocHJvcHMpID0+IChfanN4KEJhc2VEaWFsb2csIE9iamVjdC5hc3NpZ24oe30sIHByb3BzLCB7IHByZXNldDogUFJFU0VUIH0pKSk7XG5leHBvcnQgY29uc3QgRmFpbHVyZURpYWxvZyA9IG1lbW8oRmFpbHVyZURpYWxvZ0Jhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import './style';
|
|
2
|
+
export type LoadingPollStatus = 'success' | 'pending' | 'failed';
|
|
3
|
+
export interface LoadingPollResult<T = any> {
|
|
4
|
+
status: LoadingPollStatus;
|
|
5
|
+
data?: T;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Fixed waiting surface — mirrors the legacy `Modal/Loading` structure: the
|
|
9
|
+
* content is NOT configurable (spinning brand logo + pulsing "Loading..." +
|
|
10
|
+
* hint, all centered), there are no slots, no actions, no close, and the
|
|
11
|
+
* mask never dismisses. Only the polling orchestration and the icon size
|
|
12
|
+
* are parameters.
|
|
13
|
+
*/
|
|
14
|
+
export interface LoadingDialogProps<T = any> {
|
|
15
|
+
open?: boolean;
|
|
16
|
+
/** Spinning brand logo size (legacy default 74). */
|
|
17
|
+
iconSize?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Polling orchestration (ported verbatim from the legacy LoadingModal):
|
|
20
|
+
* runs on mount and every `pollInterval` ms. `success`/`failed` results
|
|
21
|
+
* stop polling and fire the matching callback with `result.data`; a throw
|
|
22
|
+
* fires `onFailed(error)`; `pending` keeps polling until `pollTimeout`,
|
|
23
|
+
* which stops and fires `onPending()`.
|
|
24
|
+
*/
|
|
25
|
+
pollFn?: () => Promise<LoadingPollResult<T>>;
|
|
26
|
+
pollInterval?: number;
|
|
27
|
+
pollTimeout?: number;
|
|
28
|
+
onSuccess?: (data?: T) => void;
|
|
29
|
+
onPending?: (data?: T) => void;
|
|
30
|
+
onFailed?: (error?: any) => void;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const LoadingDialog: import("react").NamedExoticComponent<LoadingDialogProps<any>>;
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) {
|
|
4
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
5
|
+
resolve(value);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
|
+
function fulfilled(value) {
|
|
10
|
+
try {
|
|
11
|
+
step(generator.next(value));
|
|
12
|
+
} catch (e) {
|
|
13
|
+
reject(e);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function rejected(value) {
|
|
17
|
+
try {
|
|
18
|
+
step(generator["throw"](value));
|
|
19
|
+
} catch (e) {
|
|
20
|
+
reject(e);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function step(result) {
|
|
24
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
25
|
+
}
|
|
26
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
30
|
+
import { memo, useEffect } from 'react';
|
|
31
|
+
import useLatest from '@1money/hooks/useLatest';
|
|
32
|
+
import { Dialog } from '../../../components/Dialog';
|
|
33
|
+
import { Icons } from '../../../components/Icons';
|
|
34
|
+
import { Typography } from '../../../components/Typography';
|
|
35
|
+
import { default as classnames, joinCls } from '../../../utils/classnames';
|
|
36
|
+
import { BASE_DIALOG_DEFAULTS } from '../BaseDialog/constants';
|
|
37
|
+
import './style';
|
|
38
|
+
var PREFIX = 'loading-dialog';
|
|
39
|
+
// Generic UI vocabulary (like Confirm/Cancel), fixed as in the legacy modal.
|
|
40
|
+
var LOADING_TEXT = 'Loading...';
|
|
41
|
+
var HINT_TEXT = 'Please wait a few seconds';
|
|
42
|
+
var LoadingDialogBase = function LoadingDialogBase(_ref) {
|
|
43
|
+
var open = _ref.open,
|
|
44
|
+
_ref$iconSize = _ref.iconSize,
|
|
45
|
+
iconSize = _ref$iconSize === void 0 ? 74 : _ref$iconSize,
|
|
46
|
+
pollFn = _ref.pollFn,
|
|
47
|
+
_ref$pollInterval = _ref.pollInterval,
|
|
48
|
+
pollInterval = _ref$pollInterval === void 0 ? 1000 : _ref$pollInterval,
|
|
49
|
+
_ref$pollTimeout = _ref.pollTimeout,
|
|
50
|
+
pollTimeout = _ref$pollTimeout === void 0 ? 5000 : _ref$pollTimeout,
|
|
51
|
+
onSuccess = _ref.onSuccess,
|
|
52
|
+
onPending = _ref.onPending,
|
|
53
|
+
onFailed = _ref.onFailed,
|
|
54
|
+
className = _ref.className;
|
|
55
|
+
var classes = classnames(PREFIX);
|
|
56
|
+
// Latest-refs keep the polling session alive across re-renders with inline
|
|
57
|
+
// callbacks — only open/interval/timeout (and pollFn presence) restart it.
|
|
58
|
+
var pollFnRef = useLatest(pollFn);
|
|
59
|
+
var onSuccessRef = useLatest(onSuccess);
|
|
60
|
+
var onPendingRef = useLatest(onPending);
|
|
61
|
+
var onFailedRef = useLatest(onFailed);
|
|
62
|
+
var hasPollFn = !!pollFn;
|
|
63
|
+
useEffect(function () {
|
|
64
|
+
// Polling is tied to visibility: a mounted-but-closed dialog must not
|
|
65
|
+
// poll (or fire terminal callbacks from behind a hidden surface).
|
|
66
|
+
if (!hasPollFn || !open) return undefined;
|
|
67
|
+
// Single-terminal-outcome guard: whichever of success/failed/pending
|
|
68
|
+
// settles first wins; an in-flight pollFn resolving after the timeout
|
|
69
|
+
// (or after close/unmount) is discarded.
|
|
70
|
+
var settled = false;
|
|
71
|
+
var inFlight = false;
|
|
72
|
+
var interval;
|
|
73
|
+
var timeout;
|
|
74
|
+
var settle = function settle(fire) {
|
|
75
|
+
if (settled) return;
|
|
76
|
+
settled = true;
|
|
77
|
+
clearInterval(interval);
|
|
78
|
+
clearTimeout(timeout);
|
|
79
|
+
fire();
|
|
80
|
+
};
|
|
81
|
+
var poll = function poll() {
|
|
82
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
83
|
+
var result, _t;
|
|
84
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
85
|
+
while (1) switch (_context.prev = _context.next) {
|
|
86
|
+
case 0:
|
|
87
|
+
if (!(settled || inFlight)) {
|
|
88
|
+
_context.next = 1;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
return _context.abrupt("return");
|
|
92
|
+
case 1:
|
|
93
|
+
inFlight = true;
|
|
94
|
+
_context.prev = 2;
|
|
95
|
+
_context.next = 3;
|
|
96
|
+
return pollFnRef.current();
|
|
97
|
+
case 3:
|
|
98
|
+
result = _context.sent;
|
|
99
|
+
if (result.status === 'success') {
|
|
100
|
+
settle(function () {
|
|
101
|
+
var _a;
|
|
102
|
+
return (_a = onSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onSuccessRef, result.data);
|
|
103
|
+
});
|
|
104
|
+
} else if (result.status === 'failed') {
|
|
105
|
+
settle(function () {
|
|
106
|
+
var _a;
|
|
107
|
+
return (_a = onFailedRef.current) === null || _a === void 0 ? void 0 : _a.call(onFailedRef, result.data);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
_context.next = 5;
|
|
111
|
+
break;
|
|
112
|
+
case 4:
|
|
113
|
+
_context.prev = 4;
|
|
114
|
+
_t = _context["catch"](2);
|
|
115
|
+
settle(function () {
|
|
116
|
+
var _a;
|
|
117
|
+
return (_a = onFailedRef.current) === null || _a === void 0 ? void 0 : _a.call(onFailedRef, _t);
|
|
118
|
+
});
|
|
119
|
+
case 5:
|
|
120
|
+
_context.prev = 5;
|
|
121
|
+
inFlight = false;
|
|
122
|
+
return _context.finish(5);
|
|
123
|
+
case 6:
|
|
124
|
+
case "end":
|
|
125
|
+
return _context.stop();
|
|
126
|
+
}
|
|
127
|
+
}, _callee, null, [[2, 4, 5, 6]]);
|
|
128
|
+
}));
|
|
129
|
+
};
|
|
130
|
+
// Timers FIRST: a pollFn that throws synchronously settles during the
|
|
131
|
+
// first poll, and settle() must find real timer handles to clear —
|
|
132
|
+
// creating them afterwards would leave a live no-op interval behind.
|
|
133
|
+
interval = setInterval(function () {
|
|
134
|
+
return void poll();
|
|
135
|
+
}, pollInterval);
|
|
136
|
+
timeout = setTimeout(function () {
|
|
137
|
+
return settle(function () {
|
|
138
|
+
var _a;
|
|
139
|
+
return (_a = onPendingRef.current) === null || _a === void 0 ? void 0 : _a.call(onPendingRef);
|
|
140
|
+
});
|
|
141
|
+
}, pollTimeout);
|
|
142
|
+
void poll();
|
|
143
|
+
return function () {
|
|
144
|
+
settled = true;
|
|
145
|
+
clearInterval(interval);
|
|
146
|
+
clearTimeout(timeout);
|
|
147
|
+
};
|
|
148
|
+
}, [hasPollFn, open, pollInterval, pollTimeout, pollFnRef, onSuccessRef, onPendingRef, onFailedRef]);
|
|
149
|
+
return _jsx(Dialog, {
|
|
150
|
+
open: open,
|
|
151
|
+
width: BASE_DIALOG_DEFAULTS.width,
|
|
152
|
+
maskClosable: false,
|
|
153
|
+
showCloseIcon: false,
|
|
154
|
+
className: joinCls(classes(), className),
|
|
155
|
+
children: _jsxs("div", {
|
|
156
|
+
className: classes('stack'),
|
|
157
|
+
children: [_jsx("span", {
|
|
158
|
+
className: classes('spin'),
|
|
159
|
+
children: _jsx(Icons, {
|
|
160
|
+
name: 'logoBg',
|
|
161
|
+
size: iconSize
|
|
162
|
+
})
|
|
163
|
+
}), _jsxs("div", {
|
|
164
|
+
className: classes('text'),
|
|
165
|
+
children: [_jsx(Typography.Headline, {
|
|
166
|
+
size: 'sm',
|
|
167
|
+
children: _jsx("span", {
|
|
168
|
+
className: classes('wave'),
|
|
169
|
+
children: LOADING_TEXT.split('').map(function (_char, index) {
|
|
170
|
+
return _jsx("span", {
|
|
171
|
+
style: {
|
|
172
|
+
animationDelay: "".concat(index * 0.1, "s")
|
|
173
|
+
},
|
|
174
|
+
children: _char
|
|
175
|
+
}, "".concat(_char, "-").concat(index));
|
|
176
|
+
})
|
|
177
|
+
})
|
|
178
|
+
}), _jsx(Typography.Body, {
|
|
179
|
+
size: 'md',
|
|
180
|
+
strong: true,
|
|
181
|
+
color: 'default-secondary',
|
|
182
|
+
children: HINT_TEXT
|
|
183
|
+
})]
|
|
184
|
+
})]
|
|
185
|
+
})
|
|
186
|
+
});
|
|
187
|
+
};
|
|
188
|
+
export var LoadingDialog = /*#__PURE__*/memo(LoadingDialogBase);
|
|
189
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9Mb2FkaW5nRGlhbG9nLmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvTG9hZGluZ0RpYWxvZy50c3giXSwibmFtZXMiOlsiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VMYXRlc3QiLCJEaWFsb2ciLCJJY29ucyIsIlR5cG9ncmFwaHkiLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJCQVNFX0RJQUxPR19ERUZBVUxUUyIsIlBSRUZJWCIsIkxPQURJTkdfVEVYVCIsIkhJTlRfVEVYVCIsIkxvYWRpbmdEaWFsb2dCYXNlIiwiX3JlZiIsIm9wZW4iLCJfcmVmJGljb25TaXplIiwiaWNvblNpemUiLCJwb2xsRm4iLCJfcmVmJHBvbGxJbnRlcnZhbCIsInBvbGxJbnRlcnZhbCIsIl9yZWYkcG9sbFRpbWVvdXQiLCJwb2xsVGltZW91dCIsIm9uU3VjY2VzcyIsIm9uUGVuZGluZyIsIm9uRmFpbGVkIiwiY2xhc3NOYW1lIiwiY2xhc3NlcyIsInBvbGxGblJlZiIsIm9uU3VjY2Vzc1JlZiIsIm9uUGVuZGluZ1JlZiIsIm9uRmFpbGVkUmVmIiwiaGFzUG9sbEZuIiwidW5kZWZpbmVkIiwic2V0dGxlZCIsImluRmxpZ2h0IiwiaW50ZXJ2YWwiLCJ0aW1lb3V0Iiwic2V0dGxlIiwiZmlyZSIsImNsZWFySW50ZXJ2YWwiLCJjbGVhclRpbWVvdXQiLCJwb2xsIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwiYWJydXB0IiwiY3VycmVudCIsInNlbnQiLCJzdGF0dXMiLCJfYSIsImNhbGwiLCJkYXRhIiwiZmluaXNoIiwic3RvcCIsInNldEludGVydmFsIiwic2V0VGltZW91dCIsIndpZHRoIiwibWFza0Nsb3NhYmxlIiwic2hvd0Nsb3NlSWNvbiIsImNoaWxkcmVuIiwibmFtZSIsInNpemUiLCJIZWFkbGluZSIsInNwbGl0IiwibWFwIiwiY2hhciIsImluZGV4Iiwic3R5bGUiLCJhbmltYXRpb25EZWxheSIsImNvbmNhdCIsIkJvZHkiLCJzdHJvbmciLCJjb2xvciIsIkxvYWRpbmdEaWFsb2ciXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxTQUFTLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDSixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDMUYsU0FBU0MsUUFBUUEsQ0FBQ1IsS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQyxPQUFP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Q1BsQixLQUFBLENBQUEsS0FBQSxFQUFBO1FBQUsyQixTQUFTLEVBQUVDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFBQXFDLFFBQUEsRUFBQSxDQUM3Qm5FLElBQUEsQ0FBQ1EsVUFBVSxDQUFDOEQsUUFBUSxFQUFBO1VBQUNELElBQUksRUFBQyxJQUFJO1VBQUFGLFFBQUEsRUFDNUJuRSxJQUFBLENBQUEsTUFBQSxFQUFBO1lBQU02QixTQUFTLEVBQUVDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFBQXFDLFFBQUEsRUFDN0JyRCxZQUFZLENBQUN5RCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUNDLEdBQUcsQ0FBQyxVQUFDQyxLQUFJLEVBQUVDLEtBQUs7Y0FBQSxPQUN0QzFFLElBQUEsQ0FBQSxNQUFBLEVBQUE7Z0JBQStCMkUsS0FBSyxFQUFFO2tCQUFFQyxjQUFjLEtBQUFDLE1BQUEsQ0FBS0gsS0FBSyxHQUFHLEdBQUc7Z0JBQUcsQ0FBRTtnQkFBQVAsUUFBQSxFQUN4RU07Y0FBSSxDQUFBLEtBQUFJLE1BQUEsQ0FET0osS0FBSSxPQUFBSSxNQUFBLENBQUlILEtBQUssQ0FBRSxDQUV0QjtZQUFBLENBQ1I7VUFBQyxDQUFBO1FBQ0csQ0FBQSxDQUNhLEVBQ3RCMUUsSUFBQSxDQUFDUSxVQUFVLENBQUNzRSxJQUFJLEVBQUE7VUFBQ1QsSUFBSSxFQUFDLElBQUk7VUFBQ1UsTUFBTSxFQUFBLElBQUE7VUFBQ0MsS0FBSyxFQUFDLG1CQUFtQjtVQUFBYixRQUFBLEVBQ3hEcEQ7UUFBUyxDQUFBLENBQ007TUFBQSxDQUFBLENBQ2Q7SUFBQSxDQUFBO0VBQ0YsQ0FBQSxDQUNDO0FBRWIsQ0FBQztBQUVELE9BQU8sSUFBTWtFLGFBQWEsZ0JBQUc5RSxJQUFJLENBQUNhLGlCQUFpQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9Mb2FkaW5nRGlhbG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXdhaXRlciA9ICh0aGlzICYmIHRoaXMuX19hd2FpdGVyKSB8fCBmdW5jdGlvbiAodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICB9KTtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUxhdGVzdCBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUxhdGVzdCc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0RpYWxvZyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEJBU0VfRElBTE9HX0RFRkFVTFRTIH0gZnJvbSAnLi4vQmFzZURpYWxvZy9jb25zdGFudHMnO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IFBSRUZJWCA9ICdsb2FkaW5nLWRpYWxvZyc7XG4vLyBHZW5lcmljIFVJIHZvY2FidWxhcnkgKGxpa2UgQ29uZmlybS9DYW5jZWwpLCBmaXhlZCBhcyBpbiB0aGUgbGVnYWN5IG1vZGFsLlxuY29uc3QgTE9BRElOR19URVhUID0gJ0xvYWRpbmcuLi4nO1xuY29uc3QgSElOVF9URVhUID0gJ1BsZWFzZSB3YWl0IGEgZmV3IHNlY29uZHMnO1xuY29uc3QgTG9hZGluZ0RpYWxvZ0Jhc2UgPSAoeyBvcGVuLCBpY29uU2l6ZSA9IDc0LCBwb2xsRm4sIHBvbGxJbnRlcnZhbCA9IDEwMDAsIHBvbGxUaW1lb3V0ID0gNTAwMCwgb25TdWNjZXNzLCBvblBlbmRpbmcsIG9uRmFpbGVkLCBjbGFzc05hbWUsIH0pID0+IHtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhQUkVGSVgpO1xuICAgIC8vIExhdGVzdC1yZWZzIGtlZXAgdGhlIHBvbGxpbmcgc2Vzc2lvbiBhbGl2ZSBhY3Jvc3MgcmUtcmVuZGVycyB3aXRoIGlubGluZVxuICAgIC8vIGNhbGxiYWNrcyDigJQgb25seSBvcGVuL2ludGVydmFsL3RpbWVvdXQgKGFuZCBwb2xsRm4gcHJlc2VuY2UpIHJlc3RhcnQgaXQuXG4gICAgY29uc3QgcG9sbEZuUmVmID0gdXNlTGF0ZXN0KHBvbGxGbik7XG4gICAgY29uc3Qgb25TdWNjZXNzUmVmID0gdXNlTGF0ZXN0KG9uU3VjY2Vzcyk7XG4gICAgY29uc3Qgb25QZW5kaW5nUmVmID0gdXNlTGF0ZXN0KG9uUGVuZGluZyk7XG4gICAgY29uc3Qgb25GYWlsZWRSZWYgPSB1c2VMYXRlc3Qob25GYWlsZWQpO1xuICAgIGNvbnN0IGhhc1BvbGxGbiA9ICEhcG9sbEZuO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIFBvbGxpbmcgaXMgdGllZCB0byB2aXNpYmlsaXR5OiBhIG1vdW50ZWQtYnV0LWNsb3NlZCBkaWFsb2cgbXVzdCBub3RcbiAgICAgICAgLy8gcG9sbCAob3IgZmlyZSB0ZXJtaW5hbCBjYWxsYmFja3MgZnJvbSBiZWhpbmQgYSBoaWRkZW4gc3VyZmFjZSkuXG4gICAgICAgIGlmICghaGFzUG9sbEZuIHx8ICFvcGVuKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gU2luZ2xlLXRlcm1pbmFsLW91dGNvbWUgZ3VhcmQ6IHdoaWNoZXZlciBvZiBzdWNjZXNzL2ZhaWxlZC9wZW5kaW5nXG4gICAgICAgIC8vIHNldHRsZXMgZmlyc3Qgd2luczsgYW4gaW4tZmxpZ2h0IHBvbGxGbiByZXNvbHZpbmcgYWZ0ZXIgdGhlIHRpbWVvdXRcbiAgICAgICAgLy8gKG9yIGFmdGVyIGNsb3NlL3VubW91bnQpIGlzIGRpc2NhcmRlZC5cbiAgICAgICAgbGV0IHNldHRsZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGluRmxpZ2h0ID0gZmFsc2U7XG4gICAgICAgIGxldCBpbnRlcnZhbDtcbiAgICAgICAgbGV0IHRpbWVvdXQ7XG4gICAgICAgIGNvbnN0IHNldHRsZSA9IChmaXJlKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2V0dGxlZClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBzZXR0bGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICAgICAgZmlyZSgpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBwb2xsID0gKCkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoc2V0dGxlZCB8fCBpbkZsaWdodClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpbkZsaWdodCA9IHRydWU7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHlpZWxkIHBvbGxGblJlZi5jdXJyZW50KCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgICAgICBzZXR0bGUoKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBvblN1Y2Nlc3NSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob25TdWNjZXNzUmVmLCByZXN1bHQuZGF0YSk7IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQuc3RhdHVzID09PSAnZmFpbGVkJykge1xuICAgICAgICAgICAgICAgICAgICBzZXR0bGUoKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBvbkZhaWxlZFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChvbkZhaWxlZFJlZiwgcmVzdWx0LmRhdGEpOyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXR0bGUoKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBvbkZhaWxlZFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChvbkZhaWxlZFJlZiwgZXJyb3IpOyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIGluRmxpZ2h0ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBUaW1lcnMgRklSU1Q6IGEgcG9sbEZuIHRoYXQgdGhyb3dzIHN5bmNocm9ub3VzbHkgc2V0dGxlcyBkdXJpbmcgdGhlXG4gICAgICAgIC8vIGZpcnN0IHBvbGwsIGFuZCBzZXR0bGUoKSBtdXN0IGZpbmQgcmVhbCB0aW1lciBoYW5kbGVzIHRvIGNsZWFyIOKAlFxuICAgICAgICAvLyBjcmVhdGluZyB0aGVtIGFmdGVyd2FyZHMgd291bGQgbGVhdmUgYSBsaXZlIG5vLW9wIGludGVydmFsIGJlaGluZC5cbiAgICAgICAgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB2b2lkIHBvbGwoKSwgcG9sbEludGVydmFsKTtcbiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gc2V0dGxlKCgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gb25QZW5kaW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKG9uUGVuZGluZ1JlZik7IH0pLCBwb2xsVGltZW91dCk7XG4gICAgICAgIHZvaWQgcG9sbCgpO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgc2V0dGxlZCA9IHRydWU7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgfTtcbiAgICB9LCBbaGFzUG9sbEZuLCBvcGVuLCBwb2xsSW50ZXJ2YWwsIHBvbGxUaW1lb3V0LCBwb2xsRm5SZWYsIG9uU3VjY2Vzc1JlZiwgb25QZW5kaW5nUmVmLCBvbkZhaWxlZFJlZl0pO1xuICAgIHJldHVybiAoX2pzeChEaWFsb2csIHsgb3Blbjogb3Blbiwgd2lkdGg6IEJBU0VfRElBTE9HX0RFRkFVTFRTLndpZHRoLCBtYXNrQ2xvc2FibGU6IGZhbHNlLCBzaG93Q2xvc2VJY29uOiBmYWxzZSwgY2xhc3NOYW1lOiBqb2luQ2xzKGNsYXNzZXMoKSwgY2xhc3NOYW1lKSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdGFjaycpLCBjaGlsZHJlbjogW19qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzcGluJyksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6ICdsb2dvQmcnLCBzaXplOiBpY29uU2l6ZSB9KSB9KSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3RleHQnKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuSGVhZGxpbmUsIHsgc2l6ZTogJ3NtJywgY2hpbGRyZW46IF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCd3YXZlJyksIGNoaWxkcmVuOiBMT0FESU5HX1RFWFQuc3BsaXQoJycpLm1hcCgoY2hhciwgaW5kZXgpID0+IChfanN4KFwic3BhblwiLCB7IHN0eWxlOiB7IGFuaW1hdGlvbkRlbGF5OiBgJHtpbmRleCAqIDAuMX1zYCB9LCBjaGlsZHJlbjogY2hhciB9LCBgJHtjaGFyfS0ke2luZGV4fWApKSkgfSkgfSksIF9qc3goVHlwb2dyYXBoeS5Cb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBISU5UX1RFWFQgfSldIH0pXSB9KSB9KSk7XG59O1xuZXhwb3J0IGNvbnN0IExvYWRpbmdEaWFsb2cgPSBtZW1vKExvYWRpbmdEaWFsb2dCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { BaseDialog } from '../BaseDialog';
|
|
4
|
+
// Shape only — pending illustration (Figma 39958-10456 "Processing your
|
|
5
|
+
// request").
|
|
6
|
+
var PRESET = {
|
|
7
|
+
illustration: 'illusPending'
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* `BaseDialog` preset for pending / in-review results. Explicit props win
|
|
11
|
+
* over the preset.
|
|
12
|
+
*/
|
|
13
|
+
var PendingDialogBase = function PendingDialogBase(props) {
|
|
14
|
+
return _jsx(BaseDialog, Object.assign({}, props, {
|
|
15
|
+
preset: PRESET
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export var PendingDialog = /*#__PURE__*/memo(PendingDialogBase);
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9QZW5kaW5nRGlhbG9nLmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvUGVuZGluZ0RpYWxvZy50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIm1lbW8iLCJCYXNlRGlhbG9nIiwiUFJFU0VUIiwiaWxsdXN0cmF0aW9uIiwiUGVuZGluZ0RpYWxvZ0Jhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInByZXNldCIsIlBlbmRpbmdEaWFsb2ciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxJQUFJLFFBQVEsT0FBTztBQUM1QixTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQztBQUNBO0FBQ0EsSUFBTUMsTUFBTSxHQUFxQjtFQUMvQkMsWUFBWSxFQUFFO0FERGhCLENDRUM7QUFJRDtBREpBO0FBQ0E7QUFDQTtBQ01BLElBQU1DLGlCQUFpQixHQUEyQixTQUE1Q0EsaUJBQWlCQSxDQUE0QkMsS0FBSztFQUFBLE9BQ3RETixJQUFBLENBQUNFLFVBQVUsRUFBQUssTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtGLEtBQUssRUFBQTtJQUFFRyxNQUFNLEVBQUVOO0VBQU0sQ0FBQSxDQUFBLENBQUk7QUFBQSxDQUMxQztBQUVELE9BQU8sSUFBTU8sYUFBYSxnQkFBR1QsSUFBSSxDQUFDSSxpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvUGVuZGluZ0RpYWxvZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFzZURpYWxvZyB9IGZyb20gJy4uL0Jhc2VEaWFsb2cnO1xuLy8gU2hhcGUgb25seSDigJQgcGVuZGluZyBpbGx1c3RyYXRpb24gKEZpZ21hIDM5OTU4LTEwNDU2IFwiUHJvY2Vzc2luZyB5b3VyXG4vLyByZXF1ZXN0XCIpLlxuY29uc3QgUFJFU0VUID0ge1xuICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzUGVuZGluZycsXG59O1xuLyoqXG4gKiBgQmFzZURpYWxvZ2AgcHJlc2V0IGZvciBwZW5kaW5nIC8gaW4tcmV2aWV3IHJlc3VsdHMuIEV4cGxpY2l0IHByb3BzIHdpblxuICogb3ZlciB0aGUgcHJlc2V0LlxuICovXG5jb25zdCBQZW5kaW5nRGlhbG9nQmFzZSA9IChwcm9wcykgPT4gKF9qc3goQmFzZURpYWxvZywgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMsIHsgcHJlc2V0OiBQUkVTRVQgfSkpKTtcbmV4cG9ydCBjb25zdCBQZW5kaW5nRGlhbG9nID0gbWVtbyhQZW5kaW5nRGlhbG9nQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo } from 'react';
|
|
3
|
+
import { BaseDialog } from '../BaseDialog';
|
|
4
|
+
// Shape only — the checked illustration. Copy (title/description/labels)
|
|
5
|
+
// always comes from the caller; product copy never lives in the library.
|
|
6
|
+
var PRESET = {
|
|
7
|
+
illustration: 'illusChecked'
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* `BaseDialog` preset for success results (Figma 39958-10532 "Payment
|
|
11
|
+
* sent"). Explicit props — including `illustration` — win over the preset.
|
|
12
|
+
*/
|
|
13
|
+
var SuccessDialogBase = function SuccessDialogBase(props) {
|
|
14
|
+
return _jsx(BaseDialog, Object.assign({}, props, {
|
|
15
|
+
preset: PRESET
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
export var SuccessDialog = /*#__PURE__*/memo(SuccessDialogBase);
|
|
19
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy92YXJpYW50cy9TdWNjZXNzRGlhbG9nLmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvU3VjY2Vzc0RpYWxvZy50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIm1lbW8iLCJCYXNlRGlhbG9nIiwiUFJFU0VUIiwiaWxsdXN0cmF0aW9uIiwiU3VjY2Vzc0RpYWxvZ0Jhc2UiLCJwcm9wcyIsIk9iamVjdCIsImFzc2lnbiIsInByZXNldCIsIlN1Y2Nlc3NEaWFsb2ciXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxJQUFJLFFBQVEsT0FBTztBQUM1QixTQUFTQyxVQUFVLFFBQVEsZUFBZTtBQUkxQztBQUNBO0FBQ0EsSUFBTUMsTUFBTSxHQUFxQjtFQUMvQkMsWUFBWSxFQUFFO0FERGhCLENDRUM7QUFJRDtBREpBO0FBQ0E7QUFDQTtBQ01BLElBQU1DLGlCQUFpQixHQUEyQixTQUE1Q0EsaUJBQWlCQSxDQUE0QkMsS0FBSztFQUFBLE9BQ3RETixJQUFBLENBQUNFLFVBQVUsRUFBQUssTUFBQSxDQUFBQyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtGLEtBQUssRUFBQTtJQUFFRyxNQUFNLEVBQUVOO0VBQU0sQ0FBQSxDQUFBLENBQUk7QUFBQSxDQUMxQztBQUVELE9BQU8sSUFBTU8sYUFBYSxnQkFBR1QsSUFBSSxDQUFDSSxpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvU3VjY2Vzc0RpYWxvZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFzZURpYWxvZyB9IGZyb20gJy4uL0Jhc2VEaWFsb2cnO1xuLy8gU2hhcGUgb25seSDigJQgdGhlIGNoZWNrZWQgaWxsdXN0cmF0aW9uLiBDb3B5ICh0aXRsZS9kZXNjcmlwdGlvbi9sYWJlbHMpXG4vLyBhbHdheXMgY29tZXMgZnJvbSB0aGUgY2FsbGVyOyBwcm9kdWN0IGNvcHkgbmV2ZXIgbGl2ZXMgaW4gdGhlIGxpYnJhcnkuXG5jb25zdCBQUkVTRVQgPSB7XG4gICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNDaGVja2VkJyxcbn07XG4vKipcbiAqIGBCYXNlRGlhbG9nYCBwcmVzZXQgZm9yIHN1Y2Nlc3MgcmVzdWx0cyAoRmlnbWEgMzk5NTgtMTA1MzIgXCJQYXltZW50XG4gKiBzZW50XCIpLiBFeHBsaWNpdCBwcm9wcyDigJQgaW5jbHVkaW5nIGBpbGx1c3RyYXRpb25gIOKAlCB3aW4gb3ZlciB0aGUgcHJlc2V0LlxuICovXG5jb25zdCBTdWNjZXNzRGlhbG9nQmFzZSA9IChwcm9wcykgPT4gKF9qc3goQmFzZURpYWxvZywgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMsIHsgcHJlc2V0OiBQUkVTRVQgfSkpKTtcbmV4cG9ydCBjb25zdCBTdWNjZXNzRGlhbG9nID0gbWVtbyhTdWNjZXNzRGlhbG9nQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { SuccessDialog } from './SuccessDialog';
|
|
2
|
+
export type { SuccessDialogProps } from './SuccessDialog';
|
|
3
|
+
export { DeleteDialog } from './DeleteDialog';
|
|
4
|
+
export type { DeleteDialogProps } from './DeleteDialog';
|
|
5
|
+
export { PendingDialog } from './PendingDialog';
|
|
6
|
+
export type { PendingDialogProps } from './PendingDialog';
|
|
7
|
+
export { FailureDialog } from './FailureDialog';
|
|
8
|
+
export type { FailureDialogProps } from './FailureDialog';
|
|
9
|
+
export { LoadingDialog } from './LoadingDialog';
|
|
10
|
+
export type { LoadingDialogProps, LoadingPollResult, LoadingPollStatus } from './LoadingDialog';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Named BaseDialog variants — SHAPE-ONLY presets (illustration / button
|
|
2
|
+
// tones). No copy: titles, descriptions, and button labels always come from
|
|
3
|
+
// the caller.
|
|
4
|
+
export { SuccessDialog } from './SuccessDialog';
|
|
5
|
+
export { DeleteDialog } from './DeleteDialog';
|
|
6
|
+
export { PendingDialog } from './PendingDialog';
|
|
7
|
+
export { FailureDialog } from './FailureDialog';
|
|
8
|
+
export { LoadingDialog } from './LoadingDialog';
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL3ZhcmlhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbIlN1Y2Nlc3NEaWFsb2ciLCJEZWxldGVEaWFsb2ciLCJQZW5kaW5nRGlhbG9nIiwiRmFpbHVyZURpYWxvZyIsIkxvYWRpbmdEaWFsb2ciXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLGFBQWEsUUFBUSxpQkFBaUI7QUFFL0MsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUU3QyxTQUFTQyxhQUFhLFFBQVEsaUJBQWlCO0FBRS9DLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFFL0MsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQiIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvdmFyaWFudHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|