@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,139 @@
1
+ /**
2
+ * Canonical result scenarios, grouped by domain. Pass a leaf object straight to
3
+ * `ResultDialog`'s `preset` prop — there is no string key to remember; the IDE
4
+ * navigates and type-checks the path.
5
+ *
6
+ * The `account` / `auth` / `txn` entries are extracted verbatim from the Figma
7
+ * result-dialog frames (two obvious source typos corrected: "clicks",
8
+ * "encountered"); `account.taken` / `auth.linkExpired` mirror the scp-ui
9
+ * Failure screens that have no dedicated Figma frame here.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { RESULT_DIALOG_PRESETS } from '@1money/component-ui/business/Dialog/ResultDialog';
14
+ *
15
+ * <ResultDialog
16
+ * open={open}
17
+ * preset={RESULT_DIALOG_PRESETS.account.locked}
18
+ * primaryAction={{ onClick: dismiss }}
19
+ * help={{ onClick: openSupport }}
20
+ * onClose={() => setOpen(false)}
21
+ * />;
22
+ * ```
23
+ */
24
+ export var RESULT_DIALOG_PRESETS = {
25
+ account: {
26
+ waitlisted: {
27
+ illustration: 'illusID',
28
+ title: 'This email is already on the waitlist',
29
+ description: 'We’ll notify you as soon as retail services become available. You can also sign up for business account or use a different email to join the retail waitlist.',
30
+ primaryLabel: 'Sign Up For Business',
31
+ secondaryLabel: 'Use another email',
32
+ secondaryColor: 'secondary'
33
+ },
34
+ added: {
35
+ illustration: 'illusChecked',
36
+ title: 'Success!',
37
+ description: 'Your account has been added successfully',
38
+ primaryLabel: 'Done',
39
+ showCloseIcon: true
40
+ },
41
+ created: {
42
+ illustration: 'illusChecked',
43
+ title: 'Success!',
44
+ description: 'Your account has been successfully created. To enhance your security, we recommend setting up Two-Factor Authentication.',
45
+ primaryLabel: 'Set up 2FA',
46
+ secondaryLabel: 'Skip For Now',
47
+ secondaryColor: 'secondary'
48
+ },
49
+ pending: {
50
+ illustration: 'illusPending',
51
+ title: 'Pending',
52
+ description: 'Account review in progress. We will notify you via email once approved.',
53
+ primaryLabel: 'Done',
54
+ showCloseIcon: true
55
+ },
56
+ locked: {
57
+ illustration: 'illusLocked',
58
+ title: 'Your account is temporarily locked',
59
+ description: 'Your account is temporarily locked due to incorrect code attempts. Please try again after 30 minutes.',
60
+ primaryLabel: 'Got It',
61
+ showCloseIcon: true,
62
+ help: {
63
+ promptText: 'Trouble with your account?',
64
+ actionText: 'Let us help!'
65
+ }
66
+ },
67
+ taken: {
68
+ illustration: 'illusEmailError',
69
+ title: 'The email is already registered',
70
+ description: 'Please log in or use another email.',
71
+ primaryLabel: 'Log in',
72
+ secondaryLabel: 'Use another email',
73
+ secondaryColor: 'secondary'
74
+ }
75
+ },
76
+ auth: {
77
+ reset: {
78
+ illustration: 'illus2FA',
79
+ title: 'Reset password',
80
+ description: 'Set a new password in just a few clicks.',
81
+ primaryLabel: 'Reset Password',
82
+ secondaryLabel: 'Cancel',
83
+ secondaryColor: 'grey'
84
+ },
85
+ linkExpired: {
86
+ illustration: 'illusLinkExpired',
87
+ title: 'The verification link expired',
88
+ description: 'The verification link has expired. To get a new one, please request email verification again. Your new link will be active for 10 minutes.'
89
+ },
90
+ emailUnregistered: {
91
+ illustration: 'illusError',
92
+ title: 'The email is not registered',
93
+ description: 'Please complete the registration or use a different email to reset your password.',
94
+ primaryLabel: 'Sign Up',
95
+ secondaryLabel: 'Another Email',
96
+ secondaryColor: 'secondary'
97
+ }
98
+ },
99
+ txn: {
100
+ noPurchase: {
101
+ illustration: 'illusError',
102
+ title: 'Purchase not available',
103
+ description: 'Your account provider does not allow cryptocurrency purchases. Please try again using a different account.',
104
+ primaryLabel: 'Try Another Account',
105
+ secondaryLabel: 'Cancel',
106
+ secondaryColor: 'grey'
107
+ },
108
+ noConversion: {
109
+ illustration: 'illusError',
110
+ title: 'Conversion Unavailable',
111
+ description: 'The conversion service is temporarily unavailable. If you don’t currently hold any assets, please make a deposit or contact support for assistance.',
112
+ primaryLabel: 'Deposit Now',
113
+ secondaryLabel: 'Cancel',
114
+ secondaryColor: 'grey'
115
+ },
116
+ lowBalance: {
117
+ illustration: 'illusError',
118
+ title: 'Insufficient balance',
119
+ description: 'You don’t have enough funds to complete this action. Please deposit funds to continue.',
120
+ primaryLabel: 'Deposit Now',
121
+ secondaryLabel: 'Maybe Later',
122
+ secondaryColor: 'grey'
123
+ }
124
+ },
125
+ error: {
126
+ generic: {
127
+ illustration: 'illusError',
128
+ title: 'Something went wrong',
129
+ description: 'We encountered an unexpected error.',
130
+ primaryLabel: 'Try Again',
131
+ showCloseIcon: true,
132
+ help: {
133
+ promptText: 'Questions about access?',
134
+ actionText: 'Let us help!'
135
+ }
136
+ }
137
+ }
138
+ };
139
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1Jlc3VsdERpYWxvZy9wcmVzZXRzLnRzIiwiYnVzaW5lc3MvRGlhbG9nL1Jlc3VsdERpYWxvZy9wcmVzZXRzLmpzIl0sIm5hbWVzIjpbIlJFU1VMVF9ESUFMT0dfUFJFU0VUUyIsImFjY291bnQiLCJ3YWl0bGlzdGVkIiwiaWxsdXN0cmF0aW9uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInByaW1hcnlMYWJlbCIsInNlY29uZGFyeUxhYmVsIiwic2Vjb25kYXJ5Q29sb3IiLCJhZGRlZCIsInNob3dDbG9zZUljb24iLCJjcmVhdGVkIiwicGVuZGluZyIsImxvY2tlZCIsImhlbHAiLCJwcm9tcHRUZXh0IiwiYWN0aW9uVGV4dCIsInRha2VuIiwiYXV0aCIsInJlc2V0IiwibGlua0V4cGlyZWQiLCJlbWFpbFVucmVnaXN0ZXJlZCIsInR4biIsIm5vUHVyY2hhc2UiLCJub0NvbnZlcnNpb24iLCJsb3dCYWxhbmNlIiwiZXJyb3IiLCJnZW5lcmljIl0sIm1hcHBpbmdzIjoiQUEyQ0E7QUMxQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQ0Q0EsT0FBTyxJQUFNQSxxQkFBcUIsR0FBRztFQUNuQ0MsT0FBTyxFQUFFO0lBQ1BDLFVBQVUsRUFBRTtNQUNWQyxZQUFZLEVBQUUsU0FBUztNQUN2QkMsS0FBSyxFQUFFLHVDQUF1QztNQUM5Q0MsV0FBVyxFQUNULCtKQUErSjtNQUNqS0MsWUFBWSxFQUFFLHNCQUFzQjtNQUNwQ0MsY0FBYyxFQUFFLG1CQUFtQjtNQUNuQ0MsY0FBYyxFQUFFO0lDM0NkLENENENIO0lBQ0RDLEtBQUssRUFBRTtNQUNMTixZQUFZLEVBQUUsY0FBYztNQUM1QkMsS0FBSyxFQUFFLFVBQVU7TUFDakJDLFdBQVcsRUFBRSwwQ0FBMEM7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Q25CSSxJQUFJLEVBQUU7UUFBRUMsVUFBVSxFQUFFLHlCQUF5QjtRQUFFQyxVQUFVLEVBQUU7TUFBYztJQ2xEdkU7RUFDSjtBQUNKLENEbUQyRSIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvUmVzdWx0RGlhbG9nL3ByZXNldHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogQ2Fub25pY2FsIHJlc3VsdCBzY2VuYXJpb3MsIGdyb3VwZWQgYnkgZG9tYWluLiBQYXNzIGEgbGVhZiBvYmplY3Qgc3RyYWlnaHQgdG9cbiAqIGBSZXN1bHREaWFsb2dgJ3MgYHByZXNldGAgcHJvcCDigJQgdGhlcmUgaXMgbm8gc3RyaW5nIGtleSB0byByZW1lbWJlcjsgdGhlIElERVxuICogbmF2aWdhdGVzIGFuZCB0eXBlLWNoZWNrcyB0aGUgcGF0aC5cbiAqXG4gKiBUaGUgYGFjY291bnRgIC8gYGF1dGhgIC8gYHR4bmAgZW50cmllcyBhcmUgZXh0cmFjdGVkIHZlcmJhdGltIGZyb20gdGhlIEZpZ21hXG4gKiByZXN1bHQtZGlhbG9nIGZyYW1lcyAodHdvIG9idmlvdXMgc291cmNlIHR5cG9zIGNvcnJlY3RlZDogXCJjbGlja3NcIixcbiAqIFwiZW5jb3VudGVyZWRcIik7IGBhY2NvdW50LnRha2VuYCAvIGBhdXRoLmxpbmtFeHBpcmVkYCBtaXJyb3IgdGhlIHNjcC11aVxuICogRmFpbHVyZSBzY3JlZW5zIHRoYXQgaGF2ZSBubyBkZWRpY2F0ZWQgRmlnbWEgZnJhbWUgaGVyZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBpbXBvcnQgeyBSRVNVTFRfRElBTE9HX1BSRVNFVFMgfSBmcm9tICdAMW1vbmV5L2NvbXBvbmVudC11aS9idXNpbmVzcy9EaWFsb2cvUmVzdWx0RGlhbG9nJztcbiAqXG4gKiA8UmVzdWx0RGlhbG9nXG4gKiAgIG9wZW49e29wZW59XG4gKiAgIHByZXNldD17UkVTVUxUX0RJQUxPR19QUkVTRVRTLmFjY291bnQubG9ja2VkfVxuICogICBwcmltYXJ5QWN0aW9uPXt7IG9uQ2xpY2s6IGRpc21pc3MgfX1cbiAqICAgaGVscD17eyBvbkNsaWNrOiBvcGVuU3VwcG9ydCB9fVxuICogICBvbkNsb3NlPXsoKSA9PiBzZXRPcGVuKGZhbHNlKX1cbiAqIC8+O1xuICogYGBgXG4gKi9cbmV4cG9ydCBjb25zdCBSRVNVTFRfRElBTE9HX1BSRVNFVFMgPSB7XG4gICAgYWNjb3VudDoge1xuICAgICAgICB3YWl0bGlzdGVkOiB7XG4gICAgICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c0lEJyxcbiAgICAgICAgICAgIHRpdGxlOiAnVGhpcyBlbWFpbCBpcyBhbHJlYWR5IG9uIHRoZSB3YWl0bGlzdCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1dl4oCZbGwgbm90aWZ5IHlvdSBhcyBzb29uIGFzIHJldGFpbCBzZXJ2aWNlcyBiZWNvbWUgYXZhaWxhYmxlLiBZb3UgY2FuIGFsc28gc2lnbiB1cCBmb3IgYnVzaW5lc3MgYWNjb3VudCBvciB1c2UgYSBkaWZmZXJlbnQgZW1haWwgdG8gam9pbiB0aGUgcmV0YWlsIHdhaXRsaXN0LicsXG4gICAgICAgICAgICBwcmltYXJ5TGFiZWw6ICdTaWduIFVwIEZvciBCdXNpbmVzcycsXG4gICAgICAgICAgICBzZWNvbmRhcnlMYWJlbDogJ1VzZSBhbm90aGVyIGVtYWlsJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgfSxcbiAgICAgICAgYWRkZWQ6IHtcbiAgICAgICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzQ2hlY2tlZCcsXG4gICAgICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MhJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnWW91ciBhY2NvdW50IGhhcyBiZWVuIGFkZGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICAgICAgICBwcmltYXJ5TGFiZWw6ICdEb25lJyxcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQ6IHtcbiAgICAgICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzQ2hlY2tlZCcsXG4gICAgICAgICAgICB0aXRsZTogJ1N1Y2Nlc3MhJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnWW91ciBhY2NvdW50IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLiBUbyBlbmhhbmNlIHlvdXIgc2VjdXJpdHksIHdlIHJlY29tbWVuZCBzZXR0aW5nIHVwIFR3by1GYWN0b3IgQXV0aGVudGljYXRpb24uJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ1NldCB1cCAyRkEnLFxuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6ICdTa2lwIEZvciBOb3cnLFxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sb3I6ICdzZWNvbmRhcnknLFxuICAgICAgICB9LFxuICAgICAgICBwZW5kaW5nOiB7XG4gICAgICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c1BlbmRpbmcnLFxuICAgICAgICAgICAgdGl0bGU6ICdQZW5kaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQWNjb3VudCByZXZpZXcgaW4gcHJvZ3Jlc3MuIFdlIHdpbGwgbm90aWZ5IHlvdSB2aWEgZW1haWwgb25jZSBhcHByb3ZlZC4nLFxuICAgICAgICAgICAgcHJpbWFyeUxhYmVsOiAnRG9uZScsXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsb2NrZWQ6IHtcbiAgICAgICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzTG9ja2VkJyxcbiAgICAgICAgICAgIHRpdGxlOiAnWW91ciBhY2NvdW50IGlzIHRlbXBvcmFyaWx5IGxvY2tlZCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1lvdXIgYWNjb3VudCBpcyB0ZW1wb3JhcmlseSBsb2NrZWQgZHVlIHRvIGluY29ycmVjdCBjb2RlIGF0dGVtcHRzLiBQbGVhc2UgdHJ5IGFnYWluIGFmdGVyIDMwIG1pbnV0ZXMuJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ0dvdCBJdCcsXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxuICAgICAgICAgICAgaGVscDogeyBwcm9tcHRUZXh0OiAnVHJvdWJsZSB3aXRoIHlvdXIgYWNjb3VudD8nLCBhY3Rpb25UZXh0OiAnTGV0IHVzIGhlbHAhJyB9LFxuICAgICAgICB9LFxuICAgICAgICB0YWtlbjoge1xuICAgICAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFbWFpbEVycm9yJyxcbiAgICAgICAgICAgIHRpdGxlOiAnVGhlIGVtYWlsIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1BsZWFzZSBsb2cgaW4gb3IgdXNlIGFub3RoZXIgZW1haWwuJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ0xvZyBpbicsXG4gICAgICAgICAgICBzZWNvbmRhcnlMYWJlbDogJ1VzZSBhbm90aGVyIGVtYWlsJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGF1dGg6IHtcbiAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzMkZBJyxcbiAgICAgICAgICAgIHRpdGxlOiAnUmVzZXQgcGFzc3dvcmQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdTZXQgYSBuZXcgcGFzc3dvcmQgaW4ganVzdCBhIGZldyBjbGlja3MuJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ1Jlc2V0IFBhc3N3b3JkJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yOiAnZ3JleScsXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmtFeHBpcmVkOiB7XG4gICAgICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c0xpbmtFeHBpcmVkJyxcbiAgICAgICAgICAgIHRpdGxlOiAnVGhlIHZlcmlmaWNhdGlvbiBsaW5rIGV4cGlyZWQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgdmVyaWZpY2F0aW9uIGxpbmsgaGFzIGV4cGlyZWQuIFRvIGdldCBhIG5ldyBvbmUsIHBsZWFzZSByZXF1ZXN0IGVtYWlsIHZlcmlmaWNhdGlvbiBhZ2Fpbi4gWW91ciBuZXcgbGluayB3aWxsIGJlIGFjdGl2ZSBmb3IgMTAgbWludXRlcy4nLFxuICAgICAgICB9LFxuICAgICAgICBlbWFpbFVucmVnaXN0ZXJlZDoge1xuICAgICAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogJ1RoZSBlbWFpbCBpcyBub3QgcmVnaXN0ZXJlZCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1BsZWFzZSBjb21wbGV0ZSB0aGUgcmVnaXN0cmF0aW9uIG9yIHVzZSBhIGRpZmZlcmVudCBlbWFpbCB0byByZXNldCB5b3VyIHBhc3N3b3JkLicsXG4gICAgICAgICAgICBwcmltYXJ5TGFiZWw6ICdTaWduIFVwJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiAnQW5vdGhlciBFbWFpbCcsXG4gICAgICAgICAgICBzZWNvbmRhcnlDb2xvcjogJ3NlY29uZGFyeScsXG4gICAgICAgIH0sXG4gICAgfSxcbiAgICB0eG46IHtcbiAgICAgICAgbm9QdXJjaGFzZToge1xuICAgICAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogJ1B1cmNoYXNlIG5vdCBhdmFpbGFibGUnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdZb3VyIGFjY291bnQgcHJvdmlkZXIgZG9lcyBub3QgYWxsb3cgY3J5cHRvY3VycmVuY3kgcHVyY2hhc2VzLiBQbGVhc2UgdHJ5IGFnYWluIHVzaW5nIGEgZGlmZmVyZW50IGFjY291bnQuJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ1RyeSBBbm90aGVyIEFjY291bnQnLFxuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6ICdDYW5jZWwnLFxuICAgICAgICAgICAgc2Vjb25kYXJ5Q29sb3I6ICdncmV5JyxcbiAgICAgICAgfSxcbiAgICAgICAgbm9Db252ZXJzaW9uOiB7XG4gICAgICAgICAgICBpbGx1c3RyYXRpb246ICdpbGx1c0Vycm9yJyxcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udmVyc2lvbiBVbmF2YWlsYWJsZScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBjb252ZXJzaW9uIHNlcnZpY2UgaXMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuIElmIHlvdSBkb27igJl0IGN1cnJlbnRseSBob2xkIGFueSBhc3NldHMsIHBsZWFzZSBtYWtlIGEgZGVwb3NpdCBvciBjb250YWN0IHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuJyxcbiAgICAgICAgICAgIHByaW1hcnlMYWJlbDogJ0RlcG9zaXQgTm93JyxcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiAnQ2FuY2VsJyxcbiAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yOiAnZ3JleScsXG4gICAgICAgIH0sXG4gICAgICAgIGxvd0JhbGFuY2U6IHtcbiAgICAgICAgICAgIGlsbHVzdHJhdGlvbjogJ2lsbHVzRXJyb3InLFxuICAgICAgICAgICAgdGl0bGU6ICdJbnN1ZmZpY2llbnQgYmFsYW5jZScsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1lvdSBkb27igJl0IGhhdmUgZW5vdWdoIGZ1bmRzIHRvIGNvbXBsZXRlIHRoaXMgYWN0aW9uLiBQbGVhc2UgZGVwb3NpdCBmdW5kcyB0byBjb250aW51ZS4nLFxuICAgICAgICAgICAgcHJpbWFyeUxhYmVsOiAnRGVwb3NpdCBOb3cnLFxuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6ICdNYXliZSBMYXRlcicsXG4gICAgICAgICAgICBzZWNvbmRhcnlDb2xvcjogJ2dyZXknLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgICAgZ2VuZXJpYzoge1xuICAgICAgICAgICAgaWxsdXN0cmF0aW9uOiAnaWxsdXNFcnJvcicsXG4gICAgICAgICAgICB0aXRsZTogJ1NvbWV0aGluZyB3ZW50IHdyb25nJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnV2UgZW5jb3VudGVyZWQgYW4gdW5leHBlY3RlZCBlcnJvci4nLFxuICAgICAgICAgICAgcHJpbWFyeUxhYmVsOiAnVHJ5IEFnYWluJyxcbiAgICAgICAgICAgIHNob3dDbG9zZUljb246IHRydWUsXG4gICAgICAgICAgICBoZWxwOiB7IHByb21wdFRleHQ6ICdRdWVzdGlvbnMgYWJvdXQgYWNjZXNzPycsIGFjdGlvblRleHQ6ICdMZXQgdXMgaGVscCEnIH0sXG4gICAgICAgIH0sXG4gICAgfSxcbn07Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,29 @@
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-result-dialog-actions > button {
24
+ flex: 1 1 0;
25
+ white-space: nowrap;
26
+ }
27
+ .om-result-dialog-help a {
28
+ cursor: pointer;
29
+ }
@@ -0,0 +1,2 @@
1
+ import './ResultDialog.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9SZXN1bHREaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9SZXN1bHREaWFsb2cvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxxQkFBcUIiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1Jlc3VsdERpYWxvZy9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1 @@
1
+ import './ResultDialog.css';
@@ -0,0 +1,2 @@
1
+ import './ResultDialog.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9SZXN1bHREaWFsb2cvc3JjL2J1c2luZXNzL0RpYWxvZy9SZXN1bHREaWFsb2cvc3R5bGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxxQkFBcUIiLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1Jlc3VsdERpYWxvZy9zdHlsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,3 @@
1
+ import type { TransactionDialogProps } from './interface';
2
+ import './style';
3
+ export declare const TransactionDialog: import("react").NamedExoticComponent<TransactionDialogProps>;
@@ -0,0 +1,174 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
4
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
5
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
6
+ }
7
+ return t;
8
+ };
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { memo } from 'react';
11
+ import { Button } from '../../../components/Button';
12
+ import { Dialog } from '../../../components/Dialog';
13
+ import { Flex } from '../../../components/Flex';
14
+ import { Typography } from '../../../components/Typography';
15
+ import { joinCls } from '../../../utils/classnames';
16
+ import { TRANSACTION_DIALOG } from './constants';
17
+ import './style';
18
+ var renderValue = function renderValue(row) {
19
+ if (row.emphasis) {
20
+ return _jsx(Typography.Title, {
21
+ size: 'md',
22
+ strong: true,
23
+ color: 'default',
24
+ copyable: row.copyable,
25
+ children: row.value
26
+ });
27
+ }
28
+ return _jsx(Typography.Body, {
29
+ size: 'md',
30
+ strong: true,
31
+ color: row.valueTone === 'success' ? 'positive' : 'default',
32
+ copyable: row.copyable,
33
+ children: row.value
34
+ });
35
+ };
36
+ var renderAction = function renderAction(action, label, defaultColor) {
37
+ var _a;
38
+ return _jsx(Button, {
39
+ color: (_a = action.color) !== null && _a !== void 0 ? _a : defaultColor,
40
+ loading: action.loading,
41
+ disabled: action.disabled,
42
+ onClick: action.onClick,
43
+ children: label
44
+ });
45
+ };
46
+ // The centered "Trouble…? Let us help!" row below the actions.
47
+ var HelpRow = function HelpRow(_ref) {
48
+ var promptText = _ref.promptText,
49
+ actionText = _ref.actionText,
50
+ onClick = _ref.onClick;
51
+ var handleKeyDown = function handleKeyDown(event) {
52
+ if (!TRANSACTION_DIALOG.activationKeys.includes(event.key)) return;
53
+ event.preventDefault();
54
+ onClick === null || onClick === void 0 ? void 0 : onClick();
55
+ };
56
+ return _jsxs(Flex, {
57
+ align: 'center',
58
+ justify: 'center',
59
+ gap: TRANSACTION_DIALOG.gap.help,
60
+ className: TRANSACTION_DIALOG.cls.help,
61
+ children: [promptText && _jsx(Typography.Body, {
62
+ size: 'md',
63
+ strong: true,
64
+ color: 'default-tertiary',
65
+ children: promptText
66
+ }), actionText && _jsx(Typography.Link, {
67
+ size: 'md',
68
+ color: 'brand',
69
+ role: 'button',
70
+ tabIndex: 0,
71
+ onClick: onClick,
72
+ onKeyDown: handleKeyDown,
73
+ children: actionText
74
+ })]
75
+ });
76
+ };
77
+ var TransactionDialogBase = function TransactionDialogBase(_a) {
78
+ var _b, _c, _d, _e, _f, _g;
79
+ var preset = _a.preset,
80
+ rest = __rest(_a, ["preset"]);
81
+ // Pull `preset` out first so the rest can fall back to it: a destructuring
82
+ // default applies exactly when the prop is omitted, which is the
83
+ // "explicit wins over preset" semantics we want.
84
+ var open = rest.open,
85
+ _rest$size = rest.size,
86
+ size = _rest$size === void 0 ? TRANSACTION_DIALOG.defaults.size : _rest$size,
87
+ maskClosable = rest.maskClosable,
88
+ showBackIcon = rest.showBackIcon,
89
+ onBack = rest.onBack,
90
+ className = rest.className,
91
+ details = rest.details,
92
+ primaryAction = rest.primaryAction,
93
+ secondaryAction = rest.secondaryAction,
94
+ help = rest.help,
95
+ onClose = rest.onClose,
96
+ _rest$illustration = rest.illustration,
97
+ illustration = _rest$illustration === void 0 ? preset === null || preset === void 0 ? void 0 : preset.illustration : _rest$illustration,
98
+ _rest$title = rest.title,
99
+ title = _rest$title === void 0 ? preset === null || preset === void 0 ? void 0 : preset.title : _rest$title,
100
+ _rest$description = rest.description,
101
+ description = _rest$description === void 0 ? preset === null || preset === void 0 ? void 0 : preset.description : _rest$description,
102
+ _rest$showCloseIcon = rest.showCloseIcon,
103
+ showCloseIcon = _rest$showCloseIcon === void 0 ? (_b = preset === null || preset === void 0 ? void 0 : preset.showCloseIcon) !== null && _b !== void 0 ? _b : true : _rest$showCloseIcon;
104
+ var hasActions = Boolean(primaryAction || secondaryAction);
105
+ var resolvedHelp = help || (preset === null || preset === void 0 ? void 0 : preset.help) ? {
106
+ promptText: (_c = help === null || help === void 0 ? void 0 : help.promptText) !== null && _c !== void 0 ? _c : (_d = preset === null || preset === void 0 ? void 0 : preset.help) === null || _d === void 0 ? void 0 : _d.promptText,
107
+ actionText: (_e = help === null || help === void 0 ? void 0 : help.actionText) !== null && _e !== void 0 ? _e : (_f = preset === null || preset === void 0 ? void 0 : preset.help) === null || _f === void 0 ? void 0 : _f.actionText,
108
+ onClick: help === null || help === void 0 ? void 0 : help.onClick
109
+ } : undefined;
110
+ var body = _jsxs(Flex, {
111
+ vertical: true,
112
+ gap: TRANSACTION_DIALOG.gap.body,
113
+ className: TRANSACTION_DIALOG.cls.body,
114
+ children: [description && _jsx(Typography.Body, {
115
+ as: 'p',
116
+ size: 'lg',
117
+ strong: true,
118
+ color: 'default-secondary',
119
+ children: description
120
+ }), _jsx(Flex, {
121
+ vertical: true,
122
+ gap: TRANSACTION_DIALOG.gap.row,
123
+ className: TRANSACTION_DIALOG.cls.details,
124
+ children: details.map(function (row, index) {
125
+ return _jsxs(Flex
126
+ // Rows are a fixed, render-stable list with no natural id.
127
+ , {
128
+ className: TRANSACTION_DIALOG.cls.row,
129
+ align: 'center',
130
+ justify: 'space-between',
131
+ gap: TRANSACTION_DIALOG.gap.rowInner,
132
+ children: [_jsx(Typography.Body, {
133
+ size: 'md',
134
+ color: 'default',
135
+ children: row.label
136
+ }), _jsx("span", {
137
+ className: TRANSACTION_DIALOG.cls.value,
138
+ children: renderValue(row)
139
+ })]
140
+ }, index);
141
+ })
142
+ })]
143
+ });
144
+ var footer = hasActions || resolvedHelp ? _jsxs(Flex, {
145
+ vertical: true,
146
+ gap: TRANSACTION_DIALOG.gap.footer,
147
+ className: TRANSACTION_DIALOG.cls.footer,
148
+ children: [hasActions &&
149
+ // Buttons stack vertically, full-width — primary on top, secondary
150
+ // below — matching scp-ui's transaction modal (DetailsModal).
151
+ _jsxs(Flex, {
152
+ vertical: true,
153
+ gap: TRANSACTION_DIALOG.gap.actions,
154
+ className: TRANSACTION_DIALOG.cls.actions,
155
+ children: [primaryAction && renderAction(primaryAction, (_g = primaryAction.label) !== null && _g !== void 0 ? _g : preset === null || preset === void 0 ? void 0 : preset.primaryLabel, TRANSACTION_DIALOG.defaults.primaryColor), secondaryAction && renderAction(secondaryAction, secondaryAction.label, TRANSACTION_DIALOG.defaults.secondaryColor)]
156
+ }), resolvedHelp && _jsx(HelpRow, Object.assign({}, resolvedHelp))]
157
+ }) : null;
158
+ return _jsx(Dialog, {
159
+ open: open,
160
+ size: size,
161
+ maskClosable: maskClosable,
162
+ showCloseIcon: showCloseIcon,
163
+ showBackIcon: showBackIcon,
164
+ onBack: onBack,
165
+ className: joinCls(TRANSACTION_DIALOG.cls.wrap, className),
166
+ title: title,
167
+ illustration: illustration,
168
+ footer: footer,
169
+ onCancel: onClose,
170
+ children: body
171
+ });
172
+ };
173
+ export var TransactionDialog = /*#__PURE__*/memo(TransactionDialogBase);
174
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy5qcyIsImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nLnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwiQnV0dG9uIiwiRGlhbG9nIiwiRmxleCIsIlR5cG9ncmFwaHkiLCJqb2luQ2xzIiwiVFJBTlNBQ1RJT05fRElBTE9HIiwicmVuZGVyVmFsdWUiLCJyb3ciLCJlbXBoYXNpcyIsIlRpdGxlIiwic2l6ZSIsInN0cm9uZyIsImNvbG9yIiwiY29weWFibGUiLCJjaGlsZHJlbiIsInZhbHVlIiwiQm9keSIsInZhbHVlVG9uZSIsInJlbmRlckFjdGlvbiIsImFjdGlvbiIsImxhYmVsIiwiZGVmYXVsdENvbG9yIiwiX2EiLCJsb2FkaW5nIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwiSGVscFJvdyIsIl9yZWYiLCJwcm9tcHRUZXh0IiwiYWN0aW9uVGV4dCIsImhhbmRsZUtleURvd24iLCJldmVudCIsImFjdGl2YXRpb25LZXlzIiwiaW5jbHVkZXMiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImhlbHAiLCJjbGFzc05hbWUiLCJjbHMiLCJMaW5rIiwicm9sZSIsInRhYkluZGV4Iiwib25LZXlEb3duIiwiVHJhbnNhY3Rpb25EaWFsb2dCYXNlIiwiX2IiLCJfYyIsIl9kIiwiX2UiLCJfZiIsIl9nIiwicHJlc2V0IiwicmVzdCIsIm9wZW4iLCJfcmVzdCRzaXplIiwiZGVmYXVsdHMiLCJtYXNrQ2xvc2FibGUiLCJzaG93QmFja0ljb24iLCJvbkJhY2siLCJkZXRhaWxzIiwicHJpbWFyeUFjdGlvbiIsInNlY29uZGFyeUFjdGlvbiIsIm9uQ2xvc2UiLCJfcmVzdCRpbGx1c3RyYXRpb24iLCJpbGx1c3RyYXRpb24iLCJfcmVzdCR0aXRsZSIsInRpdGxlIiwiX3Jlc3QkZGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsIl9yZXN0JHNob3dDbG9zZUljb24iLCJzaG93Q2xvc2VJY29uIiwiaGFzQWN0aW9ucyIsIkJvb2xlYW4iLCJyZXNvbHZlZEhlbHAiLCJ1bmRlZmluZWQiLCJib2R5IiwidmVydGljYWwiLCJhcyIsIm1hcCIsImluZGV4Iiwicm93SW5uZXIiLCJmb290ZXIiLCJhY3Rpb25zIiwicHJpbWFyeUxhYmVsIiwicHJpbWFyeUNvbG9yIiwic2Vjb25kYXJ5Q29sb3IiLCJhc3NpZ24iLCJ3cmFwIiwib25DYW5jZWwiLCJUcmFuc2FjdGlvbkRpYWxvZyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFN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TTtJQUNkTyxRQUFRLEVBQUUxQixPQUFPO0lBQUFsRCxRQUFBLEVBRWhCK0Q7RUFBSSxDQUFBLENBQ0U7QUFFYixDQUFDO0FBRUQsT0FBTyxJQUFNYyxpQkFBaUIsZ0JBQUc1RixJQUFJLENBQUMrQyxxQkFBcUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uJztcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRGlhbG9nJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBUUkFOU0FDVElPTl9ESUFMT0cgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgcmVuZGVyVmFsdWUgPSAocm93KSA9PiB7XG4gICAgaWYgKHJvdy5lbXBoYXNpcykge1xuICAgICAgICByZXR1cm4gKF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiAnbWQnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdCcsIGNvcHlhYmxlOiByb3cuY29weWFibGUsIGNoaWxkcmVuOiByb3cudmFsdWUgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3goVHlwb2dyYXBoeS5Cb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IHJvdy52YWx1ZVRvbmUgPT09ICdzdWNjZXNzJyA/ICdwb3NpdGl2ZScgOiAnZGVmYXVsdCcsIGNvcHlhYmxlOiByb3cuY29weWFibGUsIGNoaWxkcmVuOiByb3cudmFsdWUgfSkpO1xufTtcbmNvbnN0IHJlbmRlckFjdGlvbiA9IChhY3Rpb24sIGxhYmVsLCBkZWZhdWx0Q29sb3IpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuIChfanN4KEJ1dHRvbiwgeyBjb2xvcjogKF9hID0gYWN0aW9uLmNvbG9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBkZWZhdWx0Q29sb3IsIGxvYWRpbmc6IGFjdGlvbi5sb2FkaW5nLCBkaXNhYmxlZDogYWN0aW9uLmRpc2FibGVkLCBvbkNsaWNrOiBhY3Rpb24ub25DbGljaywgY2hpbGRyZW46IGxhYmVsIH0pKTtcbn07XG4vLyBUaGUgY2VudGVyZWQgXCJUcm91Ymxl4oCmPyBMZXQgdXMgaGVscCFcIiByb3cgYmVsb3cgdGhlIGFjdGlvbnMuXG5jb25zdCBIZWxwUm93ID0gKHsgcHJvbXB0VGV4dCwgYWN0aW9uVGV4dCwgb25DbGljayB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIVRSQU5TQUNUSU9OX0RJQUxPRy5hY3RpdmF0aW9uS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGp1c3RpZnk6ICdjZW50ZXInLCBnYXA6IFRSQU5TQUNUSU9OX0RJQUxPRy5nYXAuaGVscCwgY2xhc3NOYW1lOiBUUkFOU0FDVElPTl9ESUFMT0cuY2xzLmhlbHAsIGNoaWxkcmVuOiBbcHJvbXB0VGV4dCAmJiAoX2pzeChUeXBvZ3JhcGh5LkJvZHksIHsgc2l6ZTogJ21kJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogcHJvbXB0VGV4dCB9KSksIGFjdGlvblRleHQgJiYgKF9qc3goVHlwb2dyYXBoeS5MaW5rLCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnYnJhbmQnLCByb2xlOiAnYnV0dG9uJywgdGFiSW5kZXg6IDAsIG9uQ2xpY2s6IG9uQ2xpY2ssIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgY2hpbGRyZW46IGFjdGlvblRleHQgfSkpXSB9KSk7XG59O1xuY29uc3QgVHJhbnNhY3Rpb25EaWFsb2dCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIF9iLCBfYywgX2QsIF9lLCBfZiwgX2c7XG4gICAgdmFyIHsgcHJlc2V0IH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wicHJlc2V0XCJdKTtcbiAgICAvLyBQdWxsIGBwcmVzZXRgIG91dCBmaXJzdCBzbyB0aGUgcmVzdCBjYW4gZmFsbCBiYWNrIHRvIGl0OiBhIGRlc3RydWN0dXJpbmdcbiAgICAvLyBkZWZhdWx0IGFwcGxpZXMgZXhhY3RseSB3aGVuIHRoZSBwcm9wIGlzIG9taXR0ZWQsIHdoaWNoIGlzIHRoZVxuICAgIC8vIFwiZXhwbGljaXQgd2lucyBvdmVyIHByZXNldFwiIHNlbWFudGljcyB3ZSB3YW50LlxuICAgIGNvbnN0IHsgb3Blbiwgc2l6ZSA9IFRSQU5TQUNUSU9OX0RJQUxPRy5kZWZhdWx0cy5zaXplLCBtYXNrQ2xvc2FibGUsIHNob3dCYWNrSWNvbiwgb25CYWNrLCBjbGFzc05hbWUsIGRldGFpbHMsIHByaW1hcnlBY3Rpb24sIHNlY29uZGFyeUFjdGlvbiwgaGVscCwgb25DbG9zZSwgaWxsdXN0cmF0aW9uID0gcHJlc2V0ID09PSBudWxsIHx8IHByZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJlc2V0LmlsbHVzdHJhdGlvbiwgdGl0bGUgPSBwcmVzZXQgPT09IG51bGwgfHwgcHJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcmVzZXQudGl0bGUsIGRlc2NyaXB0aW9uID0gcHJlc2V0ID09PSBudWxsIHx8IHByZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJlc2V0LmRlc2NyaXB0aW9uLCBzaG93Q2xvc2VJY29uID0gKF9iID0gcHJlc2V0ID09PSBudWxsIHx8IHByZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJlc2V0LnNob3dDbG9zZUljb24pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IHRydWUsIH0gPSByZXN0O1xuICAgIGNvbnN0IGhhc0FjdGlvbnMgPSBCb29sZWFuKHByaW1hcnlBY3Rpb24gfHwgc2Vjb25kYXJ5QWN0aW9uKTtcbiAgICBjb25zdCByZXNvbHZlZEhlbHAgPSBoZWxwIHx8IChwcmVzZXQgPT09IG51bGwgfHwgcHJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcmVzZXQuaGVscClcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwcm9tcHRUZXh0OiAoX2MgPSBoZWxwID09PSBudWxsIHx8IGhlbHAgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGhlbHAucHJvbXB0VGV4dCkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogKF9kID0gcHJlc2V0ID09PSBudWxsIHx8IHByZXNldCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcHJlc2V0LmhlbHApID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC5wcm9tcHRUZXh0LFxuICAgICAgICAgICAgYWN0aW9uVGV4dDogKF9lID0gaGVscCA9PT0gbnVsbCB8fCBoZWxwID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoZWxwLmFjdGlvblRleHQpICE9PSBudWxsICYmIF9lICE9PSB2b2lkIDAgPyBfZSA6IChfZiA9IHByZXNldCA9PT0gbnVsbCB8fCBwcmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHByZXNldC5oZWxwKSA9PT0gbnVsbCB8fCBfZiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2YuYWN0aW9uVGV4dCxcbiAgICAgICAgICAgIG9uQ2xpY2s6IGhlbHAgPT09IG51bGwgfHwgaGVscCA9PT0gdm9pZCAwID8gdm9pZCAwIDogaGVscC5vbkNsaWNrLFxuICAgICAgICB9XG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGJvZHkgPSAoX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiBUUkFOU0FDVElPTl9ESUFMT0cuZ2FwLmJvZHksIGNsYXNzTmFtZTogVFJBTlNBQ1RJT05fRElBTE9HLmNscy5ib2R5LCBjaGlsZHJlbjogW2Rlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBhczogJ3AnLCBzaXplOiAnbGcnLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogZGVzY3JpcHRpb24gfSkpLCBfanN4KEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogVFJBTlNBQ1RJT05fRElBTE9HLmdhcC5yb3csIGNsYXNzTmFtZTogVFJBTlNBQ1RJT05fRElBTE9HLmNscy5kZXRhaWxzLCBjaGlsZHJlbjogZGV0YWlscy5tYXAoKHJvdywgaW5kZXgpID0+IChfanN4cyhGbGV4XG4gICAgICAgICAgICAgICAgLy8gUm93cyBhcmUgYSBmaXhlZCwgcmVuZGVyLXN0YWJsZSBsaXN0IHdpdGggbm8gbmF0dXJhbCBpZC5cbiAgICAgICAgICAgICAgICAsIHsgY2xhc3NOYW1lOiBUUkFOU0FDVElPTl9ESUFMT0cuY2xzLnJvdywgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogVFJBTlNBQ1RJT05fRElBTE9HLmdhcC5yb3dJbm5lciwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuQm9keSwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogcm93LmxhYmVsIH0pLCBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogVFJBTlNBQ1RJT05fRElBTE9HLmNscy52YWx1ZSwgY2hpbGRyZW46IHJlbmRlclZhbHVlKHJvdykgfSldIH0sIGluZGV4KSkpIH0pXSB9KSk7XG4gICAgY29uc3QgZm9vdGVyID0gaGFzQWN0aW9ucyB8fCByZXNvbHZlZEhlbHAgPyAoX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiBUUkFOU0FDVElPTl9ESUFMT0cuZ2FwLmZvb3RlciwgY2xhc3NOYW1lOiBUUkFOU0FDVElPTl9ESUFMT0cuY2xzLmZvb3RlciwgY2hpbGRyZW46IFtoYXNBY3Rpb25zICYmIChcbiAgICAgICAgICAgIC8vIEJ1dHRvbnMgc3RhY2sgdmVydGljYWxseSwgZnVsbC13aWR0aCDigJQgcHJpbWFyeSBvbiB0b3AsIHNlY29uZGFyeVxuICAgICAgICAgICAgLy8gYmVsb3cg4oCUIG1hdGNoaW5nIHNjcC11aSdzIHRyYW5zYWN0aW9uIG1vZGFsIChEZXRhaWxzTW9kYWwpLlxuICAgICAgICAgICAgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiBUUkFOU0FDVElPTl9ESUFMT0cuZ2FwLmFjdGlvbnMsIGNsYXNzTmFtZTogVFJBTlNBQ1RJT05fRElBTE9HLmNscy5hY3Rpb25zLCBjaGlsZHJlbjogW3ByaW1hcnlBY3Rpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckFjdGlvbihwcmltYXJ5QWN0aW9uLCAoX2cgPSBwcmltYXJ5QWN0aW9uLmxhYmVsKSAhPT0gbnVsbCAmJiBfZyAhPT0gdm9pZCAwID8gX2cgOiBwcmVzZXQgPT09IG51bGwgfHwgcHJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBwcmVzZXQucHJpbWFyeUxhYmVsLCBUUkFOU0FDVElPTl9ESUFMT0cuZGVmYXVsdHMucHJpbWFyeUNvbG9yKSwgc2Vjb25kYXJ5QWN0aW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJBY3Rpb24oc2Vjb25kYXJ5QWN0aW9uLCBzZWNvbmRhcnlBY3Rpb24ubGFiZWwsIFRSQU5TQUNUSU9OX0RJQUxPRy5kZWZhdWx0cy5zZWNvbmRhcnlDb2xvcildIH0pKSwgcmVzb2x2ZWRIZWxwICYmIF9qc3goSGVscFJvdywgT2JqZWN0LmFzc2lnbih7fSwgcmVzb2x2ZWRIZWxwKSldIH0pKSA6IG51bGw7XG4gICAgcmV0dXJuIChfanN4KERpYWxvZywgeyBvcGVuOiBvcGVuLCBzaXplOiBzaXplLCBtYXNrQ2xvc2FibGU6IG1hc2tDbG9zYWJsZSwgc2hvd0Nsb3NlSWNvbjogc2hvd0Nsb3NlSWNvbiwgc2hvd0JhY2tJY29uOiBzaG93QmFja0ljb24sIG9uQmFjazogb25CYWNrLCBjbGFzc05hbWU6IGpvaW5DbHMoVFJBTlNBQ1RJT05fRElBTE9HLmNscy53cmFwLCBjbGFzc05hbWUpLCB0aXRsZTogdGl0bGUsIGlsbHVzdHJhdGlvbjogaWxsdXN0cmF0aW9uLCBmb290ZXI6IGZvb3Rlciwgb25DYW5jZWw6IG9uQ2xvc2UsIGNoaWxkcmVuOiBib2R5IH0pKTtcbn07XG5leHBvcnQgY29uc3QgVHJhbnNhY3Rpb25EaWFsb2cgPSBtZW1vKFRyYW5zYWN0aW9uRGlhbG9nQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,34 @@
1
+ import type { ButtonColor } from "../../../components/Button";
2
+ import type { DialogSize } from "../../../components/Dialog";
3
+ interface TransactionDialogConstants {
4
+ /** BEM class names, all derived from the wrapper prefix. */
5
+ cls: {
6
+ wrap: string;
7
+ body: string;
8
+ details: string;
9
+ row: string;
10
+ value: string;
11
+ actions: string;
12
+ footer: string;
13
+ help: string;
14
+ };
15
+ /** Spacing in px, matching the 1money transaction dialog rhythm. */
16
+ gap: {
17
+ body: number;
18
+ row: number;
19
+ rowInner: number;
20
+ actions: number;
21
+ footer: number;
22
+ help: number;
23
+ };
24
+ /** Fallback values when neither a prop nor a preset provides one. */
25
+ defaults: {
26
+ size: DialogSize;
27
+ primaryColor: ButtonColor;
28
+ secondaryColor: ButtonColor;
29
+ };
30
+ /** Keys that activate the help link (an <a> with no href, like a button). */
31
+ activationKeys: readonly string[];
32
+ }
33
+ export declare const TRANSACTION_DIALOG: TransactionDialogConstants;
34
+ export {};
@@ -0,0 +1,33 @@
1
+ var PREFIX = 'om-transaction-dialog';
2
+ export var TRANSACTION_DIALOG = {
3
+ cls: {
4
+ wrap: PREFIX,
5
+ body: "".concat(PREFIX, "-body"),
6
+ details: "".concat(PREFIX, "-details"),
7
+ row: "".concat(PREFIX, "-row"),
8
+ value: "".concat(PREFIX, "-value"),
9
+ actions: "".concat(PREFIX, "-actions"),
10
+ footer: "".concat(PREFIX, "-footer"),
11
+ help: "".concat(PREFIX, "-help")
12
+ },
13
+ // 16px description→list, 4px between rows, 16px between a row's label and
14
+ // value, 12px between the two buttons, 24px action row→help, 4px prompt→link.
15
+ gap: {
16
+ body: 16,
17
+ row: 0,
18
+ rowInner: 16,
19
+ actions: 12,
20
+ footer: 24,
21
+ help: 4
22
+ },
23
+ // The highlighted "View…" button is light-blue (`secondary`); the dismiss
24
+ // button ("Done"/"Close") is `grey` — matching the 1money transaction design.
25
+ defaults: {
26
+ size: 'small',
27
+ primaryColor: 'secondary',
28
+ secondaryColor: 'grey'
29
+ },
30
+ // `Typography.Link` renders an <a> with no href, so Enter/Space activate it.
31
+ activationKeys: ['Enter', ' ']
32
+ };
33
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2NvbnN0YW50cy50cyIsImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiUFJFRklYIiwiVFJBTlNBQ1RJT05fRElBTE9HIiwiY2xzIiwid3JhcCIsImJvZHkiLCJjb25jYXQiLCJkZXRhaWxzIiwicm93IiwidmFsdWUiLCJhY3Rpb25zIiwiZm9vdGVyIiwiaGVscCIsImdhcCIsInJvd0lubmVyIiwiZGVmYXVsdHMiLCJzaXplIiwicHJpbWFyeUNvbG9yIiwic2Vjb25kYXJ5Q29sb3IiLCJhY3RpdmF0aW9uS2V5cyJdLCJtYXBwaW5ncyI6IkFBdUJBLElBQU1BLE1BQU0sR0FBRyx1QkFBdUI7QUFFdEMsT0FBTyxJQUFNQyxrQkFBa0IsR0FBK0I7RUFDNURDLEdBQUcsRUFBRTtJQUNIQyxJQUFJLEVBQUVILE1BQU07SUFDWkksSUFBSSxLQUFBQyxNQUFBLENBQUtMLE1BQU0sVUFBTztJQUN0Qk0sT0FBTyxLQUFBRCxNQUFBLENBQUtMLE1BQU0sYUFBVTtJQUM1Qk8sR0FBRyxLQUFBRixNQUFBLENBQUtMLE1BQU0sU0FBTTtJQUNwQlEsS0FBSyxLQUFBSCxNQUFBLENBQUtMLE1BQU0sV0FBUTtJQUN4QlMsT0FBTyxLQUFBSixNQUFBLENBQUtMLE1BQU0sYUFBVTtJQUM1QlUsTUFBTSxLQUFBTCxNQUFBLENBQUtMLE1BQU0sWUFBUztJQUMxQlcsSUFBSSxLQUFBTixNQUFBLENBQUtMLE1BQU07RUN2QmYsQ0R3QkQ7RUFDRDtFQUNBO0VBQ0FZLEdBQUcsRUFBRTtJQUFFUixJQUFJLEVBQUUsRUFBRTtJQUFFRyxHQUFHLEVBQUUsQ0FBQztJQUFFTSxRQUFRLEVBQUUsRUFBRTtJQUFFSixPQUFPLEVBQUUsRUFBRTtJQUFFQyxNQUFNLEVBQUUsRUFBRTtJQUFFQyxJQUFJLEVBQUU7RUFBQyxDQUFFO0VBQ3pFO0VBQ0E7RUFDQUcsUUFBUSxFQUFFO0lBQUVDLElBQUksRUFBRSxPQUFPO0lBQUVDLFlBQVksRUFBRSxXQUFXO0lBQUVDLGNBQWMsRUFBRTtFQUFNLENBQUU7RUFDOUU7RUFDQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUc7QUN2Qi9CLENEd0JDIiwiZmlsZSI6ImJ1c2luZXNzL0RpYWxvZy9UcmFuc2FjdGlvbkRpYWxvZy9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImNvbnN0IFBSRUZJWCA9ICdvbS10cmFuc2FjdGlvbi1kaWFsb2cnO1xuZXhwb3J0IGNvbnN0IFRSQU5TQUNUSU9OX0RJQUxPRyA9IHtcbiAgICBjbHM6IHtcbiAgICAgICAgd3JhcDogUFJFRklYLFxuICAgICAgICBib2R5OiBgJHtQUkVGSVh9LWJvZHlgLFxuICAgICAgICBkZXRhaWxzOiBgJHtQUkVGSVh9LWRldGFpbHNgLFxuICAgICAgICByb3c6IGAke1BSRUZJWH0tcm93YCxcbiAgICAgICAgdmFsdWU6IGAke1BSRUZJWH0tdmFsdWVgLFxuICAgICAgICBhY3Rpb25zOiBgJHtQUkVGSVh9LWFjdGlvbnNgLFxuICAgICAgICBmb290ZXI6IGAke1BSRUZJWH0tZm9vdGVyYCxcbiAgICAgICAgaGVscDogYCR7UFJFRklYfS1oZWxwYCxcbiAgICB9LFxuICAgIC8vIDE2cHggZGVzY3JpcHRpb27ihpJsaXN0LCA0cHggYmV0d2VlbiByb3dzLCAxNnB4IGJldHdlZW4gYSByb3cncyBsYWJlbCBhbmRcbiAgICAvLyB2YWx1ZSwgMTJweCBiZXR3ZWVuIHRoZSB0d28gYnV0dG9ucywgMjRweCBhY3Rpb24gcm934oaSaGVscCwgNHB4IHByb21wdOKGkmxpbmsuXG4gICAgZ2FwOiB7IGJvZHk6IDE2LCByb3c6IDAsIHJvd0lubmVyOiAxNiwgYWN0aW9uczogMTIsIGZvb3RlcjogMjQsIGhlbHA6IDQgfSxcbiAgICAvLyBUaGUgaGlnaGxpZ2h0ZWQgXCJWaWV34oCmXCIgYnV0dG9uIGlzIGxpZ2h0LWJsdWUgKGBzZWNvbmRhcnlgKTsgdGhlIGRpc21pc3NcbiAgICAvLyBidXR0b24gKFwiRG9uZVwiL1wiQ2xvc2VcIikgaXMgYGdyZXlgIOKAlCBtYXRjaGluZyB0aGUgMW1vbmV5IHRyYW5zYWN0aW9uIGRlc2lnbi5cbiAgICBkZWZhdWx0czogeyBzaXplOiAnc21hbGwnLCBwcmltYXJ5Q29sb3I6ICdzZWNvbmRhcnknLCBzZWNvbmRhcnlDb2xvcjogJ2dyZXknIH0sXG4gICAgLy8gYFR5cG9ncmFwaHkuTGlua2AgcmVuZGVycyBhbiA8YT4gd2l0aCBubyBocmVmLCBzbyBFbnRlci9TcGFjZSBhY3RpdmF0ZSBpdC5cbiAgICBhY3RpdmF0aW9uS2V5czogWydFbnRlcicsICcgJ10sXG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,3 @@
1
+ export { TransactionDialog } from './TransactionDialog';
2
+ export * from './presets';
3
+ export * from './interface';
@@ -0,0 +1,4 @@
1
+ export { TransactionDialog } from './TransactionDialog';
2
+ export * from './presets';
3
+ export * from './interface';
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0RpYWxvZy9zcmMvYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2luZGV4LnRzIl0sIm5hbWVzIjpbIlRyYW5zYWN0aW9uRGlhbG9nIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxxQkFBcUI7QUFDdkQsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsYUFBYSIsImZpbGUiOiJidXNpbmVzcy9EaWFsb2cvVHJhbnNhY3Rpb25EaWFsb2cvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiYnVzaW5lc3MvRGlhbG9nL1RyYW5zYWN0aW9uRGlhbG9nL2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==