@1money/component-ui 0.0.66 → 0.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/es/business/Dialog/ResultDialog/ResultDialog.d.ts +3 -0
  2. package/es/business/Dialog/ResultDialog/ResultDialog.js +126 -0
  3. package/es/business/Dialog/ResultDialog/constants.d.ts +27 -0
  4. package/es/business/Dialog/ResultDialog/constants.js +24 -0
  5. package/es/business/Dialog/ResultDialog/index.d.ts +3 -0
  6. package/es/business/Dialog/ResultDialog/index.js +4 -0
  7. package/es/business/Dialog/ResultDialog/interface.d.ts +95 -0
  8. package/es/business/Dialog/ResultDialog/interface.js +2 -0
  9. package/es/business/Dialog/ResultDialog/presets.d.ts +178 -0
  10. package/es/business/Dialog/ResultDialog/presets.js +139 -0
  11. package/es/business/Dialog/ResultDialog/style/ResultDialog.css +29 -0
  12. package/es/business/Dialog/ResultDialog/style/css.js +2 -0
  13. package/es/business/Dialog/ResultDialog/style/index.d.ts +1 -0
  14. package/es/business/Dialog/ResultDialog/style/index.js +2 -0
  15. package/es/business/Dialog/TransactionDialog/TransactionDialog.d.ts +3 -0
  16. package/es/business/Dialog/TransactionDialog/TransactionDialog.js +174 -0
  17. package/es/business/Dialog/TransactionDialog/constants.d.ts +34 -0
  18. package/es/business/Dialog/TransactionDialog/constants.js +33 -0
  19. package/es/business/Dialog/TransactionDialog/index.d.ts +3 -0
  20. package/es/business/Dialog/TransactionDialog/index.js +4 -0
  21. package/es/business/Dialog/TransactionDialog/interface.d.ts +116 -0
  22. package/es/business/Dialog/TransactionDialog/interface.js +2 -0
  23. package/es/business/Dialog/TransactionDialog/presets.d.ts +89 -0
  24. package/es/business/Dialog/TransactionDialog/presets.js +62 -0
  25. package/es/business/Dialog/TransactionDialog/style/TransactionDialog.css +36 -0
  26. package/es/business/Dialog/TransactionDialog/style/css.js +2 -0
  27. package/es/business/Dialog/TransactionDialog/style/index.d.ts +1 -0
  28. package/es/business/Dialog/TransactionDialog/style/index.js +2 -0
  29. package/es/business/Dialog/VerificationDialog/ResendRow.d.ts +14 -0
  30. package/es/business/Dialog/VerificationDialog/ResendRow.js +65 -0
  31. package/es/business/Dialog/VerificationDialog/VerificationDialog.d.ts +3 -0
  32. package/es/business/Dialog/VerificationDialog/VerificationDialog.js +116 -0
  33. package/es/business/Dialog/VerificationDialog/constants.d.ts +35 -0
  34. package/es/business/Dialog/VerificationDialog/constants.js +31 -0
  35. package/es/business/Dialog/VerificationDialog/hooks/index.d.ts +4 -0
  36. package/es/business/Dialog/VerificationDialog/hooks/index.js +3 -0
  37. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +50 -0
  38. package/es/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +137 -0
  39. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +26 -0
  40. package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +103 -0
  41. package/es/business/Dialog/VerificationDialog/index.d.ts +3 -0
  42. package/es/business/Dialog/VerificationDialog/index.js +4 -0
  43. package/es/business/Dialog/VerificationDialog/interface.d.ts +124 -0
  44. package/es/business/Dialog/VerificationDialog/interface.js +2 -0
  45. package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +30 -0
  46. package/es/business/Dialog/VerificationDialog/style/css.js +2 -0
  47. package/es/business/Dialog/VerificationDialog/style/index.d.ts +1 -0
  48. package/es/business/Dialog/VerificationDialog/style/index.js +2 -0
  49. package/es/business/Dialog/index.d.ts +3 -0
  50. package/es/business/Dialog/index.js +4 -0
  51. package/es/business/index.d.ts +1 -0
  52. package/es/business/index.js +2 -1
  53. package/es/components/Button/Button.js +7 -3
  54. package/es/components/Button/constants.d.ts +1 -0
  55. package/es/components/Button/constants.js +2 -1
  56. package/es/components/Button/interface.d.ts +2 -0
  57. package/es/components/Button/style/Button.css +4 -0
  58. package/es/components/Dialog/Dialog.js +16 -7
  59. package/es/components/Dialog/constants.d.ts +1 -0
  60. package/es/components/Dialog/constants.js +3 -2
  61. package/es/components/Dialog/interface.d.ts +1 -0
  62. package/es/components/Dialog/style/Dialog.css +29 -0
  63. package/es/index.css +1 -1
  64. package/lib/business/Dialog/ResultDialog/ResultDialog.d.ts +3 -0
  65. package/lib/business/Dialog/ResultDialog/ResultDialog.js +132 -0
  66. package/lib/business/Dialog/ResultDialog/constants.d.ts +27 -0
  67. package/lib/business/Dialog/ResultDialog/constants.js +30 -0
  68. package/lib/business/Dialog/ResultDialog/index.d.ts +3 -0
  69. package/lib/business/Dialog/ResultDialog/index.js +40 -0
  70. package/lib/business/Dialog/ResultDialog/interface.d.ts +95 -0
  71. package/lib/business/Dialog/ResultDialog/interface.js +6 -0
  72. package/lib/business/Dialog/ResultDialog/presets.d.ts +178 -0
  73. package/lib/business/Dialog/ResultDialog/presets.js +145 -0
  74. package/lib/business/Dialog/ResultDialog/style/ResultDialog.css +29 -0
  75. package/lib/business/Dialog/ResultDialog/style/css.js +4 -0
  76. package/lib/business/Dialog/ResultDialog/style/index.d.ts +1 -0
  77. package/lib/business/Dialog/ResultDialog/style/index.js +4 -0
  78. package/lib/business/Dialog/TransactionDialog/TransactionDialog.d.ts +3 -0
  79. package/lib/business/Dialog/TransactionDialog/TransactionDialog.js +180 -0
  80. package/lib/business/Dialog/TransactionDialog/constants.d.ts +34 -0
  81. package/lib/business/Dialog/TransactionDialog/constants.js +39 -0
  82. package/lib/business/Dialog/TransactionDialog/index.d.ts +3 -0
  83. package/lib/business/Dialog/TransactionDialog/index.js +40 -0
  84. package/lib/business/Dialog/TransactionDialog/interface.d.ts +116 -0
  85. package/lib/business/Dialog/TransactionDialog/interface.js +6 -0
  86. package/lib/business/Dialog/TransactionDialog/presets.d.ts +89 -0
  87. package/lib/business/Dialog/TransactionDialog/presets.js +68 -0
  88. package/lib/business/Dialog/TransactionDialog/style/TransactionDialog.css +36 -0
  89. package/lib/business/Dialog/TransactionDialog/style/css.js +4 -0
  90. package/lib/business/Dialog/TransactionDialog/style/index.d.ts +1 -0
  91. package/lib/business/Dialog/TransactionDialog/style/index.js +4 -0
  92. package/lib/business/Dialog/VerificationDialog/ResendRow.d.ts +14 -0
  93. package/lib/business/Dialog/VerificationDialog/ResendRow.js +71 -0
  94. package/lib/business/Dialog/VerificationDialog/VerificationDialog.d.ts +3 -0
  95. package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +122 -0
  96. package/lib/business/Dialog/VerificationDialog/constants.d.ts +35 -0
  97. package/lib/business/Dialog/VerificationDialog/constants.js +37 -0
  98. package/lib/business/Dialog/VerificationDialog/hooks/index.d.ts +4 -0
  99. package/lib/business/Dialog/VerificationDialog/hooks/index.js +20 -0
  100. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.d.ts +50 -0
  101. package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +144 -0
  102. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.d.ts +26 -0
  103. package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +110 -0
  104. package/lib/business/Dialog/VerificationDialog/index.d.ts +3 -0
  105. package/lib/business/Dialog/VerificationDialog/index.js +43 -0
  106. package/lib/business/Dialog/VerificationDialog/interface.d.ts +124 -0
  107. package/lib/business/Dialog/VerificationDialog/interface.js +6 -0
  108. package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +30 -0
  109. package/lib/business/Dialog/VerificationDialog/style/css.js +4 -0
  110. package/lib/business/Dialog/VerificationDialog/style/index.d.ts +1 -0
  111. package/lib/business/Dialog/VerificationDialog/style/index.js +4 -0
  112. package/lib/business/Dialog/index.d.ts +3 -0
  113. package/lib/business/Dialog/index.js +39 -0
  114. package/lib/business/index.d.ts +1 -0
  115. package/lib/business/index.js +12 -1
  116. package/lib/components/Button/Button.js +7 -3
  117. package/lib/components/Button/constants.d.ts +1 -0
  118. package/lib/components/Button/constants.js +2 -1
  119. package/lib/components/Button/interface.d.ts +2 -0
  120. package/lib/components/Button/style/Button.css +4 -0
  121. package/lib/components/Dialog/Dialog.js +16 -7
  122. package/lib/components/Dialog/constants.d.ts +1 -0
  123. package/lib/components/Dialog/constants.js +3 -2
  124. package/lib/components/Dialog/interface.d.ts +1 -0
  125. package/lib/components/Dialog/style/Dialog.css +29 -0
  126. package/lib/index.css +1 -1
  127. package/package.json +21 -1
  128. package/scripts/mcp-server/examples.generated.json +18 -6
  129. package/scripts/mcp-server/index.generated.json +25 -1
@@ -0,0 +1,116 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ButtonColor } from "../../../components/Button";
3
+ import type { DialogProps } from "../../../components/Dialog";
4
+ import type { IconName } from "../../../components/Icons";
5
+ import type { TransactionDialogPresetCopy } from './presets';
6
+ /** Value color tone for a detail row. */
7
+ export type TransactionDetailTone = 'default' | 'success';
8
+ /**
9
+ * One key/value row in the transaction detail list. The row layout (label left,
10
+ * value right, hairline separator, padding) is locked; only the content and a
11
+ * couple of value-styling toggles are configurable.
12
+ */
13
+ export interface TransactionDetailRow {
14
+ /** Left-column label, e.g. `"Network"`, `"Transaction Fees"`. */
15
+ label: ReactNode;
16
+ /**
17
+ * Right-column value. Plain text, or a node for richer values — an icon +
18
+ * text (e.g. a network chip) or a multi-line wallet address.
19
+ */
20
+ value: ReactNode;
21
+ /**
22
+ * Value color tone. `'success'` renders the value in positive green — use it
23
+ * for values like `"Free"`.
24
+ * @default 'default'
25
+ */
26
+ valueTone?: TransactionDetailTone;
27
+ /**
28
+ * Emphasize the value as the summary total — larger and bold (e.g. the final
29
+ * "Recipient get" amount).
30
+ * @default false
31
+ */
32
+ emphasis?: boolean;
33
+ /**
34
+ * Show a copy-to-clipboard icon next to the value — for a wallet address,
35
+ * transaction id, etc. `true` copies the rendered text; pass `{ text }` to
36
+ * copy an exact string. Backed by the library's `Typography` copyable (with
37
+ * its default success toast).
38
+ * @default false
39
+ */
40
+ copyable?: boolean | {
41
+ text: string;
42
+ };
43
+ }
44
+ /**
45
+ * A footer action button. `primaryAction` is the highlighted button (light-blue
46
+ * by default); `secondaryAction` is the dismiss button (grey by default).
47
+ */
48
+ export interface TransactionDialogAction {
49
+ /**
50
+ * Button label. Optional on `primaryAction` when a `preset` supplies one
51
+ * (its `primaryLabel`); required on `secondaryAction`.
52
+ */
53
+ label?: ReactNode;
54
+ /** Click handler. */
55
+ onClick?: () => void;
56
+ /** Disable the button. */
57
+ disabled?: boolean;
58
+ /** Show a spinner and block clicks while an async action is in flight. */
59
+ loading?: boolean;
60
+ /**
61
+ * Color tone override. Defaults to `'secondary'` (light blue) for
62
+ * `primaryAction` and `'grey'` for `secondaryAction`.
63
+ */
64
+ color?: ButtonColor;
65
+ }
66
+ /** The centered "Trouble with your transaction? Let us help!" footer prompt. */
67
+ export interface TransactionDialogHelp {
68
+ /** Muted prompt text. Falls back to the preset's help prompt. */
69
+ promptText?: ReactNode;
70
+ /** Trailing brand-colored action text. Falls back to the preset's help action. */
71
+ actionText?: ReactNode;
72
+ /** Fires when the action text is clicked or activated via keyboard. */
73
+ onClick?: () => void;
74
+ }
75
+ export interface TransactionDialogProps extends Pick<DialogProps, 'open' | 'size' | 'maskClosable' | 'showCloseIcon' | 'showBackIcon' | 'onBack' | 'className'> {
76
+ /**
77
+ * Pre-canned status object (e.g. `TRANSACTION_DIALOG_PRESETS.failed`) that
78
+ * fills `illustration`, `title`, `description`, the close icon, the primary
79
+ * action label, and the help row. Any explicit prop below overrides it.
80
+ */
81
+ preset?: TransactionDialogPresetCopy;
82
+ /** Dialog heading, e.g. `"Transaction completed"`. Optional when a `preset` supplies one. */
83
+ title?: ReactNode;
84
+ /** Supporting copy under the title, e.g. `"Your funds have been sent..."`. */
85
+ description?: ReactNode;
86
+ /**
87
+ * Illustration above the title (left-aligned, 74px). Pass an `IconName` (e.g.
88
+ * `'illusChecked'`, `'illusPending'`, `'illusError'`) or any node.
89
+ */
90
+ illustration?: ReactNode | IconName;
91
+ /**
92
+ * The key/value detail rows, separated by hairlines.
93
+ *
94
+ * @example
95
+ * ```tsx
96
+ * const details: TransactionDetailRow[] = [
97
+ * { label: 'Destination Wallet', value: "Jack's wallet" },
98
+ * { label: 'Transaction Fees', value: 'Free', valueTone: 'success' },
99
+ * { label: 'Recipient get', value: '454,650.00 USD1', emphasis: true },
100
+ * ];
101
+ * <TransactionDialog open title="Transaction completed" details={details} />
102
+ * ```
103
+ */
104
+ details: TransactionDetailRow[];
105
+ /** Highlighted (light-blue) action, e.g. "View in transaction history". */
106
+ primaryAction?: TransactionDialogAction;
107
+ /** Optional dismiss (grey) action beside the primary, e.g. "Done" / "Close". */
108
+ secondaryAction?: TransactionDialogAction;
109
+ /** Centered help prompt below the actions. */
110
+ help?: TransactionDialogHelp;
111
+ /**
112
+ * Fires from the close icon, mask click, and Escape key. Set your `open`
113
+ * state to `false` here.
114
+ */
115
+ onClose?: () => void;
116
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,89 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { IconName } from "../../../components/Icons";
3
+ /** Default copy for the optional help row. */
4
+ export interface TransactionDialogPresetHelp {
5
+ /** Muted prompt text. */
6
+ promptText?: ReactNode;
7
+ /** Trailing brand-colored action text. */
8
+ actionText?: ReactNode;
9
+ }
10
+ /**
11
+ * Pre-canned config for a transaction-status scenario. A preset fills the
12
+ * dialog's illustration, title, description, close icon, the primary action
13
+ * label, and the help row; the consumer wires the handlers and supplies the
14
+ * dynamic `details` rows. Any explicit prop overrides the preset.
15
+ */
16
+ export interface TransactionDialogPresetCopy {
17
+ /** Left-aligned 74px illustration. */
18
+ illustration: IconName;
19
+ /** Dialog heading. */
20
+ title: ReactNode;
21
+ /** Supporting copy under the title. */
22
+ description: ReactNode;
23
+ /** Default label for the primary action, when one is rendered. */
24
+ primaryLabel?: ReactNode;
25
+ /**
26
+ * Whether the close (X) icon shows by default.
27
+ * @default true
28
+ */
29
+ showCloseIcon?: boolean;
30
+ /** Default help-row copy below the actions. */
31
+ help?: TransactionDialogPresetHelp;
32
+ }
33
+ /**
34
+ * Canonical transaction-status scenarios. Pass a leaf straight to
35
+ * `TransactionDialog`'s `preset` prop — there is no string key to remember; the
36
+ * IDE navigates and type-checks it.
37
+ *
38
+ * Copy is taken from the Figma "Transaction completed" frame and the scp-ui Send
39
+ * result statuses (`INIT` → `initiated`, `FAILURE` → `failed`, `PENDING` →
40
+ * `pending`).
41
+ *
42
+ * @example
43
+ * ```tsx
44
+ * import { TRANSACTION_DIALOG_PRESETS } from '@1money/component-ui/business/Dialog/TransactionDialog';
45
+ *
46
+ * <TransactionDialog
47
+ * open={open}
48
+ * preset={TRANSACTION_DIALOG_PRESETS.failed}
49
+ * details={details}
50
+ * primaryAction={{ onClick: retry }}
51
+ * secondaryAction={{ label: 'Close', onClick: close }}
52
+ * help={{ onClick: openSupport }}
53
+ * onClose={close}
54
+ * />;
55
+ * ```
56
+ */
57
+ export declare const TRANSACTION_DIALOG_PRESETS: {
58
+ readonly completed: {
59
+ readonly illustration: "illusChecked";
60
+ readonly title: "Transaction completed";
61
+ readonly description: "Your funds have been sent successfully.";
62
+ readonly primaryLabel: "View in transaction history";
63
+ readonly showCloseIcon: true;
64
+ readonly help: TransactionDialogPresetHelp;
65
+ };
66
+ readonly initiated: {
67
+ readonly illustration: "illusChecked";
68
+ readonly title: "Your transaction initiated";
69
+ readonly description: "We will send you an email when the transaction is completed.";
70
+ readonly primaryLabel: "View in transaction history";
71
+ readonly showCloseIcon: true;
72
+ };
73
+ readonly failed: {
74
+ readonly illustration: "illusError";
75
+ readonly title: "Your transaction failed";
76
+ readonly description: "Please try again or contact support for assistance.";
77
+ readonly primaryLabel: "Try again";
78
+ readonly showCloseIcon: true;
79
+ readonly help: TransactionDialogPresetHelp;
80
+ };
81
+ readonly pending: {
82
+ readonly illustration: "illusPending";
83
+ readonly title: "Your Transaction is Under Review";
84
+ readonly description: "Please wait for the transaction to be completed.";
85
+ readonly primaryLabel: "View in transaction history";
86
+ readonly showCloseIcon: true;
87
+ readonly help: TransactionDialogPresetHelp;
88
+ };
89
+ };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TRANSACTION_DIALOG_PRESETS = void 0;
7
+ var SUPPORT_HELP = {
8
+ promptText: 'Trouble with your transaction?',
9
+ actionText: 'Let us help!'
10
+ };
11
+ /**
12
+ * Canonical transaction-status scenarios. Pass a leaf straight to
13
+ * `TransactionDialog`'s `preset` prop — there is no string key to remember; the
14
+ * IDE navigates and type-checks it.
15
+ *
16
+ * Copy is taken from the Figma "Transaction completed" frame and the scp-ui Send
17
+ * result statuses (`INIT` → `initiated`, `FAILURE` → `failed`, `PENDING` →
18
+ * `pending`).
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * import { TRANSACTION_DIALOG_PRESETS } from '@1money/component-ui/business/Dialog/TransactionDialog';
23
+ *
24
+ * <TransactionDialog
25
+ * open={open}
26
+ * preset={TRANSACTION_DIALOG_PRESETS.failed}
27
+ * details={details}
28
+ * primaryAction={{ onClick: retry }}
29
+ * secondaryAction={{ label: 'Close', onClick: close }}
30
+ * help={{ onClick: openSupport }}
31
+ * onClose={close}
32
+ * />;
33
+ * ```
34
+ */
35
+ var TRANSACTION_DIALOG_PRESETS = exports.TRANSACTION_DIALOG_PRESETS = {
36
+ completed: {
37
+ illustration: 'illusChecked',
38
+ title: 'Transaction completed',
39
+ description: 'Your funds have been sent successfully.',
40
+ primaryLabel: 'View in transaction history',
41
+ showCloseIcon: true,
42
+ help: SUPPORT_HELP
43
+ },
44
+ initiated: {
45
+ illustration: 'illusChecked',
46
+ title: 'Your transaction initiated',
47
+ description: 'We will send you an email when the transaction is completed.',
48
+ primaryLabel: 'View in transaction history',
49
+ showCloseIcon: true
50
+ },
51
+ failed: {
52
+ illustration: 'illusError',
53
+ title: 'Your transaction failed',
54
+ description: 'Please try again or contact support for assistance.',
55
+ primaryLabel: 'Try again',
56
+ showCloseIcon: true,
57
+ help: SUPPORT_HELP
58
+ },
59
+ pending: {
60
+ illustration: 'illusPending',
61
+ title: 'Your Transaction is Under Review',
62
+ description: 'Please wait for the transaction to be completed.',
63
+ primaryLabel: 'View in transaction history',
64
+ showCloseIcon: true,
65
+ help: SUPPORT_HELP
66
+ }
67
+ };
68
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3ByZXNldHMudHMiLCJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvcHJlc2V0cy5qcyJdLCJuYW1lcyI6WyJTVVBQT1JUX0hFTFAiLCJwcm9tcHRUZXh0IiwiYWN0aW9uVGV4dCIsIlRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTIiwiZXhwb3J0cyIsImNvbXBsZXRlZCIsImlsbHVzdHJhdGlvbiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJwcmltYXJ5TGFiZWwiLCJzaG93Q2xvc2VJY29uIiwiaGVscCIsImluaXRpYXRlZCIsImZhaWxlZCIsInBlbmRpbmciXSwibWFwcGluZ3MiOiI7Ozs7OztBQW1DQSxJQUFNQSxZQUFZLEdBQWdDO0VBQ2hEQyxVQUFVLEVBQUUsZ0NBQWdDO0VBQzVDQyxVQUFVLEVBQUU7QUNsQ2QsQ0RtQ0M7QUFFRDtBQ25DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEcUNPLElBQU1DLDBCQUEwQixHQUFBQyxPQUFBLENBQUFELDBCQUFBLEdBQUc7RUFDeENFLFNBQVMsRUFBRTtJQUNUQyxZQUFZLEVBQUUsY0FBYztJQUM1QkMsS0FBSyxFQUFFLHVCQUF1QjtJQUM5QkMsV0FBVyxFQUFFLHlDQUF5QztJQUN0REMsWUFBWSxFQUFFLDZCQUE2QjtJQUMzQ0MsYUFBYSxFQUFFLElBQUk7SUFDbkJDLElBQUksRUFBRVg7RUNuQ04sQ0RvQ0Q7RUFDRFksU0FBUyxFQUFFO0lBQ1ROLFlBQVksRUFBRSxjQUFjO0lBQzVCQyxLQUFLLEVBQUUsNEJBQTRCO0lBQ25DQyxXQUFXLEVBQUUsOERBQThEO0lBQzNFQyxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDQyxhQUFhLEVBQUU7RUNuQ2YsQ0RvQ0Q7RUFDREcsTUFBTSxFQUFFO0lBQ05QLFlBQVksRUFBRSxZQUFZO0lBQzFCQyxLQUFLLEVBQUUseUJBQXlCO0lBQ2hDQyxXQUFXLEVBQUUscURBQXFEO0lBQ2xFQyxZQUFZLEVBQUUsV0FBVztJQUN6QkMsYUFBYSxFQUFFLElBQUk7SUFDbkJDLElBQUksRUFBRVg7RUNuQ04sQ0RvQ0Q7RUFDRGMsT0FBTyxFQUFFO0lBQ1BSLFlBQVksRUFBRSxjQUFjO0lBQzVCQyxLQUFLLEVBQUUsa0NBQWtDO0lBQ3pDQyxXQUFXLEVBQUUsa0RBQWtEO0lBQy9EQyxZQUFZLEVBQUUsNkJBQTZCO0lBQzNDQyxhQUFhLEVBQUUsSUFBSTtJQUNuQkMsSUFBSSxFQUFFWDtFQ25DTjtBQUNKLENEb0NnRSIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvcHJlc2V0cy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiY29uc3QgU1VQUE9SVF9IRUxQID0ge1xuICAgIHByb21wdFRleHQ6ICdUcm91YmxlIHdpdGggeW91ciB0cmFuc2FjdGlvbj8nLFxuICAgIGFjdGlvblRleHQ6ICdMZXQgdXMgaGVscCEnLFxufTtcbi8qKlxuICogQ2Fub25pY2FsIHRyYW5zYWN0aW9uLXN0YXR1cyBzY2VuYXJpb3MuIFBhc3MgYSBsZWFmIHN0cmFpZ2h0IHRvXG4gKiBgVHJhbnNhY3Rpb25EaWFsb2dgJ3MgYHByZXNldGAgcHJvcCDigJQgdGhlcmUgaXMgbm8gc3RyaW5nIGtleSB0byByZW1lbWJlcjsgdGhlXG4gKiBJREUgbmF2aWdhdGVzIGFuZCB0eXBlLWNoZWNrcyBpdC5cbiAqXG4gKiBDb3B5IGlzIHRha2VuIGZyb20gdGhlIEZpZ21hIFwiVHJhbnNhY3Rpb24gY29tcGxldGVkXCIgZnJhbWUgYW5kIHRoZSBzY3AtdWkgU2VuZFxuICogcmVzdWx0IHN0YXR1c2VzIChgSU5JVGAg4oaSIGBpbml0aWF0ZWRgLCBgRkFJTFVSRWAg4oaSIGBmYWlsZWRgLCBgUEVORElOR2Ag4oaSXG4gKiBgcGVuZGluZ2ApLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIGltcG9ydCB7IFRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTIH0gZnJvbSAnQDFtb25leS9jb21wb25lbnQtdWkvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nJztcbiAqXG4gKiA8VHJhbnNhY3Rpb25EaWFsb2dcbiAqICAgb3Blbj17b3Blbn1cbiAqICAgcHJlc2V0PXtUUkFOU0FDVElPTl9ESUFMT0dfUFJFU0VUUy5mYWlsZWR9XG4gKiAgIGRldGFpbHM9e2RldGFpbHN9XG4gKiAgIHByaW1hcnlBY3Rpb249e3sgb25DbGljazogcmV0cnkgfX1cbiAqICAgc2Vjb25kYXJ5QWN0aW9uPXt7IGxhYmVsOiAnQ2xvc2UnLCBvbkNsaWNrOiBjbG9zZSB9fVxuICogICBoZWxwPXt7IG9uQ2xpY2s6IG9wZW5TdXBwb3J0IH19XG4gKiAgIG9uQ2xvc2U9e2Nsb3NlfVxuICogLz47XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0RJQUxPR19QUkVTRVRTID0ge1xuICAgIGNvbXBsZXRlZDoge1xuICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c0NoZWNrZWQnLFxuICAgICAgICB0aXRsZTogJ1RyYW5zYWN0aW9uIGNvbXBsZXRlZCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnWW91ciBmdW5kcyBoYXZlIGJlZW4gc2VudCBzdWNjZXNzZnVsbHkuJyxcbiAgICAgICAgcHJpbWFyeUxhYmVsOiAnVmlldyBpbiB0cmFuc2FjdGlvbiBoaXN0b3J5JyxcbiAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcbiAgICAgICAgaGVscDogU1VQUE9SVF9IRUxQLFxuICAgIH0sXG4gICAgaW5pdGlhdGVkOiB7XG4gICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzQ2hlY2tlZCcsXG4gICAgICAgIHRpdGxlOiAnWW91ciB0cmFuc2FjdGlvbiBpbml0aWF0ZWQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1dlIHdpbGwgc2VuZCB5b3UgYW4gZW1haWwgd2hlbiB0aGUgdHJhbnNhY3Rpb24gaXMgY29tcGxldGVkLicsXG4gICAgICAgIHByaW1hcnlMYWJlbDogJ1ZpZXcgaW4gdHJhbnNhY3Rpb24gaGlzdG9yeScsXG4gICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgfSxcbiAgICBmYWlsZWQ6IHtcbiAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicsXG4gICAgICAgIHRpdGxlOiAnWW91ciB0cmFuc2FjdGlvbiBmYWlsZWQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1BsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0IGZvciBhc3Npc3RhbmNlLicsXG4gICAgICAgIHByaW1hcnlMYWJlbDogJ1RyeSBhZ2FpbicsXG4gICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgICAgIGhlbHA6IFNVUFBPUlRfSEVMUCxcbiAgICB9LFxuICAgIHBlbmRpbmc6IHtcbiAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNQZW5kaW5nJyxcbiAgICAgICAgdGl0bGU6ICdZb3VyIFRyYW5zYWN0aW9uIGlzIFVuZGVyIFJldmlldycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUGxlYXNlIHdhaXQgZm9yIHRoZSB0cmFuc2FjdGlvbiB0byBiZSBjb21wbGV0ZWQuJyxcbiAgICAgICAgcHJpbWFyeUxhYmVsOiAnVmlldyBpbiB0cmFuc2FjdGlvbiBoaXN0b3J5JyxcbiAgICAgICAgc2hvd0Nsb3NlSWNvbjogdHJ1ZSxcbiAgICAgICAgaGVscDogU1VQUE9SVF9IRUxQLFxuICAgIH0sXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,36 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./TransactionDialog.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1 @@
1
+ import './TransactionDialog.css';
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ require("./TransactionDialog.css");
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUEiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL3N0eWxlL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,14 @@
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>;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ResendRow = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _Divider = require("../../../components/Divider");
9
+ var _Flex = require("../../../components/Flex");
10
+ var _Typography = require("../../../components/Typography");
11
+ var _classnames = require("../../../utils/classnames");
12
+ var _constants = require("./constants");
13
+ var _hooks = require("./hooks");
14
+ /**
15
+ * The "Haven't received the code? Resend" row below the footer divider. Owns its
16
+ * own cooldown: while counting down (or while a resend is in flight) the row is
17
+ * inert — muted, non-clickable, default cursor — and shows the remaining time.
18
+ * When resending is allowed, both the prompt text and the link trigger it and
19
+ * show a pointer cursor. Rendered only when a `resend` config is provided, so
20
+ * the countdown hook never runs for dialogs without resend.
21
+ */
22
+ var ResendRow = exports.ResendRow = function ResendRow(_ref) {
23
+ var resend = _ref.resend;
24
+ var promptText = resend.promptText,
25
+ _resend$actionText = resend.actionText,
26
+ actionText = _resend$actionText === void 0 ? _constants.VERIFICATION_DIALOG.defaults.resendLabel : _resend$actionText,
27
+ onResend = resend.onResend,
28
+ cooldown = resend.cooldown;
29
+ var _useResendCountdown = (0, _hooks.useResendCountdown)({
30
+ onResend: onResend,
31
+ cooldown: cooldown
32
+ }),
33
+ canResend = _useResendCountdown.canResend,
34
+ remaining = _useResendCountdown.remaining,
35
+ formatted = _useResendCountdown.formatted,
36
+ triggerResend = _useResendCountdown.resend;
37
+ var handleClick = function handleClick() {
38
+ if (canResend) triggerResend();
39
+ };
40
+ var handleKeyDown = function handleKeyDown(event) {
41
+ if (!canResend || !_constants.VERIFICATION_DIALOG.activationKeys.includes(event.key)) return;
42
+ event.preventDefault();
43
+ triggerResend();
44
+ };
45
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
46
+ children: [(0, _jsxRuntime.jsx)(_Divider.Divider, {}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
47
+ align: 'center',
48
+ justify: 'space-between',
49
+ className: _constants.VERIFICATION_DIALOG.cls.recovery,
50
+ children: [promptText && (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
51
+ size: 'md',
52
+ strong: true,
53
+ color: 'default-tertiary',
54
+ className: (0, _classnames.joinCls)(_constants.VERIFICATION_DIALOG.cls.recoveryText, canResend && _constants.VERIFICATION_DIALOG.mod.clickable),
55
+ onClick: canResend ? handleClick : undefined,
56
+ children: promptText
57
+ }), (0, _jsxRuntime.jsxs)(_Typography.Typography.Link, {
58
+ size: 'md',
59
+ role: 'button',
60
+ tabIndex: 0,
61
+ disabled: !canResend,
62
+ color: canResend ? 'brand' : 'default-tertiary',
63
+ className: (0, _classnames.joinCls)(_constants.VERIFICATION_DIALOG.cls.resend, canResend && _constants.VERIFICATION_DIALOG.mod.clickable),
64
+ onClick: handleClick,
65
+ onKeyDown: handleKeyDown,
66
+ children: [actionText, remaining > 0 ? " (".concat(formatted, ")") : '']
67
+ })]
68
+ })]
69
+ });
70
+ };
71
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvUmVzZW5kUm93LmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvVmVyaWZpY2F0aW9uRGlhbG9nL1Jlc2VuZFJvdy50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX0RpdmlkZXIiLCJfRmxleCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfY29uc3RhbnRzIiwiX2hvb2tzIiwiUmVzZW5kUm93IiwiZXhwb3J0cyIsIl9yZWYiLCJyZXNlbmQiLCJwcm9tcHRUZXh0IiwiX3Jlc2VuZCRhY3Rpb25UZXh0IiwiYWN0aW9uVGV4dCIsIlZFUklGSUNBVElPTl9ESUFMT0ciLCJkZWZhdWx0cyIsInJlc2VuZExhYmVsIiwib25SZXNlbmQiLCJjb29sZG93biIsIl91c2VSZXNlbmRDb3VudGRvd24iLCJ1c2VSZXNlbmRDb3VudGRvd24iLCJjYW5SZXNlbmQiLCJyZW1haW5pbmciLCJmb3JtYXR0ZWQiLCJ0cmlnZ2VyUmVzZW5kIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJhY3RpdmF0aW9uS2V5cyIsImluY2x1ZGVzIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJfanN4cyIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwiX2pzeCIsIkRpdmlkZXIiLCJGbGV4IiwiYWxpZ24iLCJqdXN0aWZ5IiwiY2xhc3NOYW1lIiwiY2xzIiwicmVjb3ZlcnkiLCJUeXBvZ3JhcGh5IiwiQm9keSIsInNpemUiLCJzdHJvbmciLCJjb2xvciIsImpvaW5DbHMiLCJyZWNvdmVyeVRleHQiLCJtb2QiLCJjbGlja2FibGUiLCJvbkNsaWNrIiwidW5kZWZpbmVkIiwiTGluayIsInJvbGUiLCJ0YWJJbmRleCIsImRpc2FibGVkIiwib25LZXlEb3duIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7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LEdBQUcsa0JBQWtCO1FBQy9DbUIsU0FBUyxFQUFFLElBQUFRLG1CQUFPLEVBQ2hCbEMsOEJBQW1CLENBQUMyQixHQUFHLENBQUMvQixNQUFNLEVBQzlCVyxTQUFTLElBQUlQLDhCQUFtQixDQUFDb0MsR0FBRyxDQUFDQyxTQUFTLENBQy9DO1FBQ0RDLE9BQU8sRUFBRTNCLFdBQVc7UUFDcEJpQyxTQUFTLEVBQUVoQyxhQUFhO1FBQUFRLFFBQUEsRUFBQSxDQUV2QnJCLFVBQVUsRUFDVlMsU0FBUyxHQUFHLENBQUMsUUFBQXFDLE1BQUEsQ0FBUXBDLFNBQVMsU0FBTSxFQUFFO01BQUEsQ0FBQSxDQUN2QjtJQUFBLENBQUEsQ0FDYjtFQUFBLENBQUEsQ0FDTjtBQUVQLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy9SZXNlbmRSb3cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBEaXZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaXZpZGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBWRVJJRklDQVRJT05fRElBTE9HIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgdXNlUmVzZW5kQ291bnRkb3duIH0gZnJvbSAnLi9ob29rcyc7XG4vKipcbiAqIFRoZSBcIkhhdmVuJ3QgcmVjZWl2ZWQgdGhlIGNvZGU/IFJlc2VuZFwiIHJvdyBiZWxvdyB0aGUgZm9vdGVyIGRpdmlkZXIuIE93bnMgaXRzXG4gKiBvd24gY29vbGRvd246IHdoaWxlIGNvdW50aW5nIGRvd24gKG9yIHdoaWxlIGEgcmVzZW5kIGlzIGluIGZsaWdodCkgdGhlIHJvdyBpc1xuICogaW5lcnQg4oCUIG11dGVkLCBub24tY2xpY2thYmxlLCBkZWZhdWx0IGN1cnNvciDigJQgYW5kIHNob3dzIHRoZSByZW1haW5pbmcgdGltZS5cbiAqIFdoZW4gcmVzZW5kaW5nIGlzIGFsbG93ZWQsIGJvdGggdGhlIHByb21wdCB0ZXh0IGFuZCB0aGUgbGluayB0cmlnZ2VyIGl0IGFuZFxuICogc2hvdyBhIHBvaW50ZXIgY3Vyc29yLiBSZW5kZXJlZCBvbmx5IHdoZW4gYSBgcmVzZW5kYCBjb25maWcgaXMgcHJvdmlkZWQsIHNvXG4gKiB0aGUgY291bnRkb3duIGhvb2sgbmV2ZXIgcnVucyBmb3IgZGlhbG9ncyB3aXRob3V0IHJlc2VuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJlc2VuZFJvdyA9ICh7IHJlc2VuZCB9KSA9PiB7XG4gICAgY29uc3QgeyBwcm9tcHRUZXh0LCBhY3Rpb25UZXh0ID0gVkVSSUZJQ0FUSU9OX0RJQUxPRy5kZWZhdWx0cy5yZXNlbmRMYWJlbCwgb25SZXNlbmQsIGNvb2xkb3duLCB9ID0gcmVzZW5kO1xuICAgIGNvbnN0IHsgY2FuUmVzZW5kLCByZW1haW5pbmcsIGZvcm1hdHRlZCwgcmVzZW5kOiB0cmlnZ2VyUmVzZW5kIH0gPSB1c2VSZXNlbmRDb3VudGRvd24oe1xuICAgICAgICBvblJlc2VuZCxcbiAgICAgICAgY29vbGRvd24sXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGlmIChjYW5SZXNlbmQpXG4gICAgICAgICAgICB0cmlnZ2VyUmVzZW5kKCk7XG4gICAgfTtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghY2FuUmVzZW5kIHx8ICFWRVJJRklDQVRJT05fRElBTE9HLmFjdGl2YXRpb25LZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRyaWdnZXJSZXNlbmQoKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChEaXZpZGVyLCB7fSksIF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGNsYXNzTmFtZTogVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnksIGNoaWxkcmVuOiBbcHJvbXB0VGV4dCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVjb3ZlcnlUZXh0LCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogY2FuUmVzZW5kID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWQsIGNoaWxkcmVuOiBwcm9tcHRUZXh0IH0pKSwgX2pzeHMoVHlwb2dyYXBoeS5MaW5rLCB7IHNpemU6ICdtZCcsIHJvbGU6ICdidXR0b24nLCB0YWJJbmRleDogMCwgZGlzYWJsZWQ6ICFjYW5SZXNlbmQsIGNvbG9yOiBjYW5SZXNlbmQgPyAnYnJhbmQnIDogJ2RlZmF1bHQtdGVydGlhcnknLCBjbGFzc05hbWU6IGpvaW5DbHMoVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMucmVzZW5kLCBjYW5SZXNlbmQgJiYgVkVSSUZJQ0FUSU9OX0RJQUxPRy5tb2QuY2xpY2thYmxlKSwgb25DbGljazogaGFuZGxlQ2xpY2ssIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IFthY3Rpb25UZXh0LCByZW1haW5pbmcgPiAwID8gYCAoJHtmb3JtYXR0ZWR9KWAgOiAnJ10gfSldIH0pXSB9KSk7XG59OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,3 @@
1
+ import type { VerificationDialogProps } from './interface';
2
+ import './style';
3
+ export declare const VerificationDialog: import("react").NamedExoticComponent<VerificationDialogProps>;
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VerificationDialog = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _react = require("react");
9
+ var _Button = require("../../../components/Button");
10
+ var _Dialog = require("../../../components/Dialog");
11
+ var _Flex = require("../../../components/Flex");
12
+ var _Input = require("../../../components/Input");
13
+ var _Typography = require("../../../components/Typography");
14
+ var _classnames = require("../../../utils/classnames");
15
+ var _constants = require("./constants");
16
+ var _ResendRow = require("./ResendRow");
17
+ var _hooks = require("./hooks");
18
+ require("./style");
19
+ var VerificationDialogBase = function VerificationDialogBase(_ref) {
20
+ var open = _ref.open,
21
+ _ref$size = _ref.size,
22
+ size = _ref$size === void 0 ? _constants.VERIFICATION_DIALOG.defaults.size : _ref$size,
23
+ maskClosable = _ref.maskClosable,
24
+ _ref$showCloseIcon = _ref.showCloseIcon,
25
+ showCloseIcon = _ref$showCloseIcon === void 0 ? false : _ref$showCloseIcon,
26
+ showBackIcon = _ref.showBackIcon,
27
+ onBack = _ref.onBack,
28
+ className = _ref.className,
29
+ title = _ref.title,
30
+ description = _ref.description,
31
+ value = _ref.value,
32
+ defaultValue = _ref.defaultValue,
33
+ otpHint = _ref.otpHint,
34
+ _ref$autoFocus = _ref.autoFocus,
35
+ autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus,
36
+ _ref$mask = _ref.mask,
37
+ mask = _ref$mask === void 0 ? false : _ref$mask,
38
+ _ref$disabled = _ref.disabled,
39
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
40
+ _ref$autoSubmit = _ref.autoSubmit,
41
+ autoSubmit = _ref$autoSubmit === void 0 ? true : _ref$autoSubmit,
42
+ onVerify = _ref.onVerify,
43
+ onChange = _ref.onChange,
44
+ _ref$submitText = _ref.submitText,
45
+ submitText = _ref$submitText === void 0 ? _constants.VERIFICATION_DIALOG.defaults.submitText : _ref$submitText,
46
+ secondaryAction = _ref.secondaryAction,
47
+ resend = _ref.resend,
48
+ onClose = _ref.onClose;
49
+ var _a, _b;
50
+ var otp = (0, _hooks.useOtpVerification)({
51
+ onVerify: onVerify,
52
+ value: value,
53
+ defaultValue: defaultValue,
54
+ autoSubmit: autoSubmit,
55
+ onChange: onChange
56
+ });
57
+ // Drop a stale error when the dialog is re-opened, without clobbering a
58
+ // controlled/prefilled value. `clearError` is stable, so this only runs on an
59
+ // open/close transition — not on every keystroke.
60
+ var clearError = otp.clearError;
61
+ (0, _react.useEffect)(function () {
62
+ if (open) clearError();
63
+ }, [open, clearError]);
64
+ var body = (0, _jsxRuntime.jsxs)(_Flex.Flex, {
65
+ vertical: true,
66
+ gap: _constants.VERIFICATION_DIALOG.gap.body,
67
+ className: _constants.VERIFICATION_DIALOG.cls.body,
68
+ children: [description && (0, _jsxRuntime.jsx)(_Typography.Typography.Body, {
69
+ as: 'p',
70
+ size: 'md',
71
+ strong: true,
72
+ color: 'default-secondary',
73
+ children: description
74
+ }), (0, _jsxRuntime.jsx)(_Input.Input.OTP, {
75
+ value: otp.value,
76
+ status: otp.status,
77
+ feedback: (_a = otp.feedback) !== null && _a !== void 0 ? _a : otpHint,
78
+ autoFocus: autoFocus,
79
+ mask: mask,
80
+ disabled: disabled,
81
+ onChange: otp.onChange
82
+ })]
83
+ });
84
+ var footerNode = (0, _jsxRuntime.jsxs)(_Flex.Flex, {
85
+ vertical: true,
86
+ gap: _constants.VERIFICATION_DIALOG.gap.footer,
87
+ className: _constants.VERIFICATION_DIALOG.cls.footer,
88
+ children: [(0, _jsxRuntime.jsxs)(_Flex.Flex, {
89
+ gap: _constants.VERIFICATION_DIALOG.gap.actions,
90
+ className: _constants.VERIFICATION_DIALOG.cls.actions,
91
+ children: [secondaryAction && (0, _jsxRuntime.jsx)(_Button.Button, {
92
+ color: (_b = secondaryAction.color) !== null && _b !== void 0 ? _b : _constants.VERIFICATION_DIALOG.defaults.secondaryColor,
93
+ disabled: secondaryAction.disabled,
94
+ onClick: secondaryAction.onClick,
95
+ children: secondaryAction.label
96
+ }), (0, _jsxRuntime.jsx)(_Button.Button, {
97
+ color: 'primary',
98
+ loading: otp.submitting,
99
+ disabled: !otp.valid || otp.submitting || disabled,
100
+ onClick: otp.submit,
101
+ children: submitText
102
+ })]
103
+ }), resend && (0, _jsxRuntime.jsx)(_ResendRow.ResendRow, {
104
+ resend: resend
105
+ })]
106
+ });
107
+ return (0, _jsxRuntime.jsx)(_Dialog.Dialog, {
108
+ open: open,
109
+ size: size,
110
+ maskClosable: maskClosable,
111
+ showCloseIcon: showCloseIcon,
112
+ showBackIcon: showBackIcon,
113
+ onBack: onBack,
114
+ className: (0, _classnames.joinCls)(_constants.VERIFICATION_DIALOG.cls.wrap, className),
115
+ title: title,
116
+ footer: footerNode,
117
+ onCancel: onClose,
118
+ children: body
119
+ });
120
+ };
121
+ var VerificationDialog = exports.VerificationDialog = /*#__PURE__*/(0, _react.memo)(VerificationDialogBase);
122
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cvVmVyaWZpY2F0aW9uRGlhbG9nLmpzIiwiYnVzaW5lc3MvRGlhbG9nL3NyYy9idXNpbmVzcy9EaWFsb2cvVmVyaWZpY2F0aW9uRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9EaWFsb2ciLCJfRmxleCIsIl9JbnB1dCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfY29uc3RhbnRzIiwiX1Jlc2VuZFJvdyIsIl9ob29rcyIsIlZlcmlmaWNhdGlvbkRpYWxvZ0Jhc2UiLCJfcmVmIiwib3BlbiIsIl9yZWYkc2l6ZSIsInNpemUiLCJWRVJJRklDQVRJT05fRElBTE9HIiwiZGVmYXVsdHMiLCJtYXNrQ2xvc2FibGUiLCJfcmVmJHNob3dDbG9zZUljb24iLCJzaG93Q2xvc2VJY29uIiwic2hvd0JhY2tJY29uIiwib25CYWNrIiwiY2xhc3NOYW1lIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwib3RwSGludCIsIl9yZWYkYXV0b0ZvY3VzIiwiYXV0b0ZvY3VzIiwiX3JlZiRtYXNrIiwibWFzayIsIl9yZWYkZGlzYWJsZWQiLCJkaXNhYmxlZCIsIl9yZWYkYXV0b1N1Ym1pdCIsImF1dG9TdWJtaXQiLCJvblZlcmlmeSIsIm9uQ2hhbmdlIiwiX3JlZiRzdWJtaXRUZXh0Iiwic3VibWl0VGV4dCIsInNlY29uZGFyeUFjdGlvbiIsInJlc2VuZCIsIm9uQ2xvc2UiLCJfYSIsIl9iIiwib3RwIiwidXNlT3RwVmVyaWZpY2F0aW9uIiwiY2xlYXJFcnJvciIsInVzZUVmZmVjdCIsImJvZHkiLCJfanN4cyIsIkZsZXgiLCJ2ZXJ0aWNhbCIsImdhcCIsImNscyIsImNoaWxkcmVuIiwiX2pzeCIsIlR5cG9ncmFwaHkiLCJCb2R5IiwiYXMiLCJzdHJvbmciLCJjb2xvciIsIklucHV0IiwiT1RQIiwic3RhdHVzIiwiZmVlZGJhY2siLCJmb290ZXJOb2RlIiwiZm9vdGVyIiwiYWN0aW9ucyIsIkJ1dHRvbiIsInNlY29uZGFyeUNvbG9yIiwib25DbGljayIsImxhYmVsIiwibG9hZGluZyIsInN1Ym1pdHRpbmciLCJ2YWxpZCIsInN1Ym1pdCIsIlJlc2VuZFJvdyIsIkRpYWxvZyIsImpvaW5DbHMiLCJ3cmFwIiwib25DYW5jZWwiLCJWZXJpZmljYXRpb25EaWFsb2ciLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFNVyxzQkFBc0IsR0FBZ0MsU0FBdERBLHNCQUFzQkEsQ0FBQUMsSUFBQSxFQXVCdkI7RUFBQSxJQXRCSEMsSUFBSSxHQUFBRCxJQUFBLENBQUpDLElBQUk7SUFBQUMsU0FBQSxHQUFBRixJQUFBLENBQ0pHLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxTQUFBLGNBQUdFLDhCQUFtQixDQUFDQyxRQUFRLENBQUNGLElBQUksR0FBQUQsU0FBQTtJQUN4Q0ksWUFBWSxHQUFBTixJQUFBLENBQVpNLFlBQVk7SUFBQUMsa0JBQUEsR0FBQVAsSUFBQSxDQUNaUSxhQUFhO0lBQWJBLGFBQWEsR0FBQUQsa0JBQUEsY0FBRyxLQUFLLEdBQUFBLGtCQUFBO0lBQ3JCRSxZQUFZLEdBQUFULElBQUEs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LFVBQVUsSUFBSXpDLFFBQVE7UUFDbERzQyxPQUFPLEVBQUUxQixHQUFHLENBQUMrQixNQUFNO1FBQUFyQixRQUFBLEVBRWxCaEI7TUFBVSxDQUFBLENBQ0o7SUFBQSxDQUFBLENBQ0osRUFDTkUsTUFBTSxJQUFJLElBQUFlLGVBQUEsRUFBQ3FCLG9CQUFTLEVBQUE7TUFBQ3BDLE1BQU0sRUFBRUE7SUFBTSxDQUFBLENBQUk7RUFBQSxDQUFBLENBRTNDO0VBRUQsT0FDRSxJQUFBZSxlQUFBLEVBQUNzQixjQUFNLEVBQUE7SUFDTGxFLElBQUksRUFBRUEsSUFBSTtJQUNWRSxJQUFJLEVBQUVBLElBQUk7SUFDVkcsWUFBWSxFQUFFQSxZQUFZO0lBQzFCRSxhQUFhLEVBQUVBLGFBQWE7SUFDNUJDLFlBQVksRUFBRUEsWUFBWTtJQUMxQkMsTUFBTSxFQUFFQSxNQUFNO0lBQ2RDLFNBQVMsRUFBRSxJQUFBeUQsbUJBQU8sRUFBQ2hFLDhCQUFtQixDQUFDdUMsR0FBRyxDQUFDMEIsSUFBSSxFQUFFMUQsU0FBUyxDQUFDO0lBQzNEQyxLQUFLLEVBQUVBLEtBQUs7SUFDWjRDLE1BQU0sRUFBRUQsVUFBVTtJQUNsQmUsUUFBUSxFQUFFdkMsT0FBTztJQUFBYSxRQUFBLEVBRWhCTjtFQUFJLENBQUEsQ0FDRTtBQUViLENBQUM7QUFFTSxJQUFNaUMsa0JBQWtCLEdBQUFDLE9BQUEsQ0FBQUQsa0JBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDMUUsc0JBQXNCLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1ZlcmlmaWNhdGlvbkRpYWxvZy9WZXJpZmljYXRpb25EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9EaWFsb2cnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSW5wdXQnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBWRVJJRklDQVRJT05fRElBTE9HIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVzZW5kUm93IH0gZnJvbSAnLi9SZXNlbmRSb3cnO1xuaW1wb3J0IHsgdXNlT3RwVmVyaWZpY2F0aW9uIH0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgVmVyaWZpY2F0aW9uRGlhbG9nQmFzZSA9ICh7IG9wZW4sIHNpemUgPSBWRVJJRklDQVRJT05fRElBTE9HLmRlZmF1bHRzLnNpemUsIG1hc2tDbG9zYWJsZSwgc2hvd0Nsb3NlSWNvbiA9IGZhbHNlLCBzaG93QmFja0ljb24sIG9uQmFjaywgY2xhc3NOYW1lLCB0aXRsZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIG90cEhpbnQsIGF1dG9Gb2N1cyA9IGZhbHNlLCBtYXNrID0gZmFsc2UsIGRpc2FibGVkID0gZmFsc2UsIGF1dG9TdWJtaXQgPSB0cnVlLCBvblZlcmlmeSwgb25DaGFuZ2UsIHN1Ym1pdFRleHQgPSBWRVJJRklDQVRJT05fRElBTE9HLmRlZmF1bHRzLnN1Ym1pdFRleHQsIHNlY29uZGFyeUFjdGlvbiwgcmVzZW5kLCBvbkNsb3NlLCB9KSA9PiB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBjb25zdCBvdHAgPSB1c2VPdHBWZXJpZmljYXRpb24oe1xuICAgICAgICBvblZlcmlmeSxcbiAgICAgICAgdmFsdWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgYXV0b1N1Ym1pdCxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgfSk7XG4gICAgLy8gRHJvcCBhIHN0YWxlIGVycm9yIHdoZW4gdGhlIGRpYWxvZyBpcyByZS1vcGVuZWQsIHdpdGhvdXQgY2xvYmJlcmluZyBhXG4gICAgLy8gY29udHJvbGxlZC9wcmVmaWxsZWQgdmFsdWUuIGBjbGVhckVycm9yYCBpcyBzdGFibGUsIHNvIHRoaXMgb25seSBydW5zIG9uIGFuXG4gICAgLy8gb3Blbi9jbG9zZSB0cmFuc2l0aW9uIOKAlCBub3Qgb24gZXZlcnkga2V5c3Ryb2tlLlxuICAgIGNvbnN0IHsgY2xlYXJFcnJvciB9ID0gb3RwO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChvcGVuKVxuICAgICAgICAgICAgY2xlYXJFcnJvcigpO1xuICAgIH0sIFtvcGVuLCBjbGVhckVycm9yXSk7XG4gICAgY29uc3QgYm9keSA9IChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IFZFUklGSUNBVElPTl9ESUFMT0cuZ2FwLmJvZHksIGNsYXNzTmFtZTogVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMuYm9keSwgY2hpbGRyZW46IFtkZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgYXM6ICdwJywgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKSwgX2pzeChJbnB1dC5PVFAsIHsgdmFsdWU6IG90cC52YWx1ZSwgc3RhdHVzOiBvdHAuc3RhdHVzLCBmZWVkYmFjazogKF9hID0gb3RwLmZlZWRiYWNrKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvdHBIaW50LCBhdXRvRm9jdXM6IGF1dG9Gb2N1cywgbWFzazogbWFzaywgZGlzYWJsZWQ6IGRpc2FibGVkLCBvbkNoYW5nZTogb3RwLm9uQ2hhbmdlIH0pXSB9KSk7XG4gICAgY29uc3QgZm9vdGVyTm9kZSA9IChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IFZFUklGSUNBVElPTl9ESUFMT0cuZ2FwLmZvb3RlciwgY2xhc3NOYW1lOiBWRVJJRklDQVRJT05fRElBTE9HLmNscy5mb290ZXIsIGNoaWxkcmVuOiBbX2pzeHMoRmxleCwgeyBnYXA6IFZFUklGSUNBVElPTl9ESUFMT0cuZ2FwLmFjdGlvbnMsIGNsYXNzTmFtZTogVkVSSUZJQ0FUSU9OX0RJQUxPRy5jbHMuYWN0aW9ucywgY2hpbGRyZW46IFtzZWNvbmRhcnlBY3Rpb24gJiYgKF9qc3goQnV0dG9uLCB7IGNvbG9yOiAoX2IgPSBzZWNvbmRhcnlBY3Rpb24uY29sb3IpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IFZFUklGSUNBVElPTl9ESUFMT0cuZGVmYXVsdHMuc2Vjb25kYXJ5Q29sb3IsIGRpc2FibGVkOiBzZWNvbmRhcnlBY3Rpb24uZGlzYWJsZWQsIG9uQ2xpY2s6IHNlY29uZGFyeUFjdGlvbi5vbkNsaWNrLCBjaGlsZHJlbjogc2Vjb25kYXJ5QWN0aW9uLmxhYmVsIH0pKSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5JywgbG9hZGluZzogb3RwLnN1Ym1pdHRpbmcsIGRpc2FibGVkOiAhb3RwLnZhbGlkIHx8IG90cC5zdWJtaXR0aW5nIHx8IGRpc2FibGVkLCBvbkNsaWNrOiBvdHAuc3VibWl0LCBjaGlsZHJlbjogc3VibWl0VGV4dCB9KV0gfSksIHJlc2VuZCAmJiBfanN4KFJlc2VuZFJvdywgeyByZXNlbmQ6IHJlc2VuZCB9KV0gfSkpO1xuICAgIHJldHVybiAoX2pzeChEaWFsb2csIHsgb3Blbjogb3Blbiwgc2l6ZTogc2l6ZSwgbWFza0Nsb3NhYmxlOiBtYXNrQ2xvc2FibGUsIHNob3dDbG9zZUljb246IHNob3dDbG9zZUljb24sIHNob3dCYWNrSWNvbjogc2hvd0JhY2tJY29uLCBvbkJhY2s6IG9uQmFjaywgY2xhc3NOYW1lOiBqb2luQ2xzKFZFUklGSUNBVElPTl9ESUFMT0cuY2xzLndyYXAsIGNsYXNzTmFtZSksIHRpdGxlOiB0aXRsZSwgZm9vdGVyOiBmb290ZXJOb2RlLCBvbkNhbmNlbDogb25DbG9zZSwgY2hpbGRyZW46IGJvZHkgfSkpO1xufTtcbmV4cG9ydCBjb25zdCBWZXJpZmljYXRpb25EaWFsb2cgPSBtZW1vKFZlcmlmaWNhdGlvbkRpYWxvZ0Jhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,35 @@
1
+ import type { ButtonColor } from "../../../components/Button";
2
+ import type { DialogSize } from "../../../components/Dialog";
3
+ interface VerificationDialogConstants {
4
+ /** BEM class names, all derived from the wrapper prefix. */
5
+ cls: {
6
+ wrap: string;
7
+ body: string;
8
+ footer: string;
9
+ actions: string;
10
+ recovery: string;
11
+ recoveryText: string;
12
+ resend: string;
13
+ };
14
+ /** BEM modifiers. */
15
+ mod: {
16
+ clickable: string;
17
+ };
18
+ /** Spacing in px, matching the 1money dialog rhythm. */
19
+ gap: {
20
+ body: number;
21
+ footer: number;
22
+ actions: number;
23
+ };
24
+ /** Fallback values when a prop is omitted. */
25
+ defaults: {
26
+ size: DialogSize;
27
+ secondaryColor: ButtonColor;
28
+ submitText: string;
29
+ resendLabel: string;
30
+ };
31
+ /** Keys that activate the resend link (an <a> with no href, like a button). */
32
+ activationKeys: readonly string[];
33
+ }
34
+ export declare const VERIFICATION_DIALOG: VerificationDialogConstants;
35
+ export {};