@1money/component-ui 0.0.64-alpha.1 → 0.0.64-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Select/Asset/AssetSelect.js +22 -3
- package/es/business/Select/Asset/style/AssetSelect.css +5 -7
- package/es/business/Select/Currency/CurrencySelect.d.ts +2 -0
- package/es/business/Select/Currency/CurrencySelect.js +117 -0
- package/es/business/Select/Currency/index.d.ts +2 -0
- package/es/business/Select/Currency/index.js +3 -0
- package/es/business/Select/Currency/interface.d.ts +50 -0
- package/es/business/Select/Currency/interface.js +2 -0
- package/es/business/Select/Currency/style/CurrencySelect.css +34 -0
- package/es/business/Select/Currency/style/css.js +2 -0
- package/es/business/Select/Currency/style/index.d.ts +1 -0
- package/es/business/Select/Currency/style/index.js +2 -0
- package/es/business/Select/Network/NetworkSelect.js +90 -182
- package/es/business/Select/Network/interface.d.ts +22 -10
- package/es/business/Select/Network/style/NetworkSelect.css +0 -26
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +14 -8
- package/es/business/Select/PaymentMethod/interface.d.ts +11 -0
- package/es/business/Select/PaymentMethod/style/PaymentMethodSelect.css +0 -6
- package/es/business/Select/index.d.ts +1 -0
- package/es/business/Select/index.js +2 -1
- package/es/components/Empty/style/Empty.css +1 -0
- package/es/components/Select/Select.js +10 -5
- package/es/components/Select/interface.d.ts +7 -0
- package/es/components/Select/style/Select.css +11 -0
- package/es/index.css +1 -1
- package/lib/business/Select/Asset/AssetSelect.js +21 -2
- package/lib/business/Select/Asset/style/AssetSelect.css +5 -7
- package/lib/business/Select/Currency/CurrencySelect.d.ts +2 -0
- package/lib/business/Select/Currency/CurrencySelect.js +124 -0
- package/lib/business/Select/Currency/index.d.ts +2 -0
- package/lib/business/Select/Currency/index.js +28 -0
- package/lib/business/Select/Currency/interface.d.ts +50 -0
- package/lib/business/Select/Currency/interface.js +6 -0
- package/lib/business/Select/Currency/style/CurrencySelect.css +34 -0
- package/lib/business/Select/Currency/style/css.js +4 -0
- package/lib/business/Select/Currency/style/index.d.ts +1 -0
- package/lib/business/Select/Currency/style/index.js +4 -0
- package/lib/business/Select/Network/NetworkSelect.js +87 -180
- package/lib/business/Select/Network/interface.d.ts +22 -10
- package/lib/business/Select/Network/style/NetworkSelect.css +0 -26
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +14 -8
- package/lib/business/Select/PaymentMethod/interface.d.ts +11 -0
- package/lib/business/Select/PaymentMethod/style/PaymentMethodSelect.css +0 -6
- package/lib/business/Select/index.d.ts +1 -0
- package/lib/business/Select/index.js +12 -1
- package/lib/components/Empty/style/Empty.css +1 -0
- package/lib/components/Select/Select.js +10 -5
- package/lib/components/Select/interface.d.ts +7 -0
- package/lib/components/Select/style/Select.css +11 -0
- package/lib/index.css +1 -1
- package/package.json +6 -1
- package/scripts/mcp-server/index.generated.json +8 -0
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.NetworkSelect = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
8
|
var _react = require("react");
|
|
11
9
|
var _hooks = require("@1money/hooks");
|
|
12
10
|
var _Alert = require("../../../components/Alert");
|
|
13
11
|
var _Flex = require("../../../components/Flex");
|
|
14
|
-
var _Icons = require("../../../components/Icons");
|
|
15
12
|
var _Select = require("../../../components/Select");
|
|
16
13
|
var _Typography = require("../../../components/Typography");
|
|
17
14
|
var _classnames = require("../../../utils/classnames");
|
|
@@ -24,131 +21,18 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
|
24
21
|
return t;
|
|
25
22
|
};
|
|
26
23
|
var WRAP_CLS = 'om-network-select';
|
|
27
|
-
var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
|
|
28
24
|
var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
29
|
-
var CARD_CLS = "".concat(WRAP_CLS, "-card");
|
|
30
|
-
var CARD_ACTIVE_CLS = "".concat(CARD_CLS, "-active");
|
|
31
25
|
var ICON_SIZE = 24;
|
|
32
|
-
var CHECK_ICON_SIZE = 16;
|
|
33
|
-
/** Brand blue — `palette(icon, 'brand')` resolves to `$blue-700`. */
|
|
34
|
-
var CHECK_COLOR = '#073387';
|
|
35
26
|
var WARNING_BODY = 'Only deposit your asset using one of the supported networks below. Depositing via an unsupported network will result in the permanent loss of your funds.';
|
|
27
|
+
/** Display-only: the all-caps `network` id with just its first letter capitalized, e.g. `"ETHEREUM"` → `"Ethereum"`. The bound value stays the raw id. */
|
|
28
|
+
var formatNetwork = function formatNetwork(network) {
|
|
29
|
+
return network ? network.charAt(0).toUpperCase() + network.slice(1).toLowerCase() : network;
|
|
30
|
+
};
|
|
36
31
|
var renderTimeMeta = function renderTimeMeta(item) {
|
|
37
32
|
return (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
38
33
|
size: 'sm',
|
|
39
34
|
color: 'default-secondary',
|
|
40
|
-
children:
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* The option list as an accessible listbox. `Select.Custom` mounts the panel
|
|
45
|
-
* fresh on every open, so the mount effect lands focus on the active option,
|
|
46
|
-
* and arrow keys roam focus between options (Enter / Space are handled
|
|
47
|
-
* natively by the `<button>` elements).
|
|
48
|
-
*/
|
|
49
|
-
var NetworkOptionList = function NetworkOptionList(_ref) {
|
|
50
|
-
var options = _ref.options,
|
|
51
|
-
selected = _ref.selected,
|
|
52
|
-
strong = _ref.strong,
|
|
53
|
-
onPick = _ref.onPick;
|
|
54
|
-
var itemsRef = (0, _react.useRef)([]);
|
|
55
|
-
var didFocusRef = (0, _react.useRef)(false);
|
|
56
|
-
(0, _react.useEffect)(function () {
|
|
57
|
-
var _a;
|
|
58
|
-
if (didFocusRef.current || options.length === 0) return;
|
|
59
|
-
didFocusRef.current = true;
|
|
60
|
-
var initialIndex = Math.max(0, options.findIndex(function (item) {
|
|
61
|
-
return item.network === selected;
|
|
62
|
-
}));
|
|
63
|
-
(_a = itemsRef.current[initialIndex]) === null || _a === void 0 ? void 0 : _a.focus({
|
|
64
|
-
preventScroll: true
|
|
65
|
-
});
|
|
66
|
-
}, [options, selected]);
|
|
67
|
-
var focusItemAt = function focusItemAt(index) {
|
|
68
|
-
var _a;
|
|
69
|
-
var count = options.length;
|
|
70
|
-
if (count === 0) return;
|
|
71
|
-
var next = (index % count + count) % count;
|
|
72
|
-
(_a = itemsRef.current[next]) === null || _a === void 0 ? void 0 : _a.focus({
|
|
73
|
-
preventScroll: false
|
|
74
|
-
});
|
|
75
|
-
};
|
|
76
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
77
|
-
var current = itemsRef.current.findIndex(function (el) {
|
|
78
|
-
return el === document.activeElement;
|
|
79
|
-
});
|
|
80
|
-
switch (event.key) {
|
|
81
|
-
case 'ArrowDown':
|
|
82
|
-
case 'ArrowRight':
|
|
83
|
-
event.preventDefault();
|
|
84
|
-
focusItemAt(current + 1);
|
|
85
|
-
break;
|
|
86
|
-
case 'ArrowUp':
|
|
87
|
-
case 'ArrowLeft':
|
|
88
|
-
event.preventDefault();
|
|
89
|
-
focusItemAt(current - 1);
|
|
90
|
-
break;
|
|
91
|
-
case 'Home':
|
|
92
|
-
event.preventDefault();
|
|
93
|
-
focusItemAt(0);
|
|
94
|
-
break;
|
|
95
|
-
case 'End':
|
|
96
|
-
event.preventDefault();
|
|
97
|
-
focusItemAt(options.length - 1);
|
|
98
|
-
break;
|
|
99
|
-
default:
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
return (0, _jsxRuntime.jsx)(_Flex.Flex, {
|
|
104
|
-
vertical: true,
|
|
105
|
-
gap: 8,
|
|
106
|
-
role: 'listbox',
|
|
107
|
-
onKeyDown: handleKeyDown,
|
|
108
|
-
children: options.map(function (item, index) {
|
|
109
|
-
var active = item.network === selected;
|
|
110
|
-
return (0, _jsxRuntime.jsxs)("button", {
|
|
111
|
-
ref: function ref(el) {
|
|
112
|
-
itemsRef.current[index] = el;
|
|
113
|
-
},
|
|
114
|
-
type: 'button',
|
|
115
|
-
role: 'option',
|
|
116
|
-
"aria-selected": active,
|
|
117
|
-
className: (0, _classnames.joinCls)(CARD_CLS, active && CARD_ACTIVE_CLS),
|
|
118
|
-
onClick: function onClick() {
|
|
119
|
-
return onPick(item);
|
|
120
|
-
},
|
|
121
|
-
children: [(0, _jsxRuntime.jsx)("img", {
|
|
122
|
-
src: item.iconUrl,
|
|
123
|
-
alt: item.networkDesc,
|
|
124
|
-
width: ICON_SIZE,
|
|
125
|
-
height: ICON_SIZE,
|
|
126
|
-
className: ICON_CLS
|
|
127
|
-
}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
128
|
-
vertical: true,
|
|
129
|
-
gap: 0,
|
|
130
|
-
align: 'start',
|
|
131
|
-
style: {
|
|
132
|
-
minWidth: 0,
|
|
133
|
-
flex: 1
|
|
134
|
-
},
|
|
135
|
-
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
136
|
-
size: 'md',
|
|
137
|
-
strong: strong,
|
|
138
|
-
color: 'default',
|
|
139
|
-
children: item.networkSymbol
|
|
140
|
-
}), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
141
|
-
size: 'sm',
|
|
142
|
-
color: 'default-secondary',
|
|
143
|
-
children: item.networkDesc
|
|
144
|
-
})]
|
|
145
|
-
}), renderTimeMeta(item), active ? (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
146
|
-
name: 'check',
|
|
147
|
-
size: CHECK_ICON_SIZE,
|
|
148
|
-
color: CHECK_COLOR
|
|
149
|
-
}) : null]
|
|
150
|
-
}, item.network);
|
|
151
|
-
})
|
|
35
|
+
children: item.txLatency
|
|
152
36
|
});
|
|
153
37
|
};
|
|
154
38
|
var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
@@ -166,71 +50,94 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
166
50
|
defaultValue = _a.defaultValue,
|
|
167
51
|
onChange = _a.onChange,
|
|
168
52
|
rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
53
|
+
// Adapt the backend payload to the shared `Select`, which owns selection
|
|
54
|
+
// state, keyboard navigation, and the trailing selected check.
|
|
55
|
+
var selectOptions = (0, _react.useMemo)(function () {
|
|
56
|
+
return options.map(function (item) {
|
|
57
|
+
return {
|
|
58
|
+
value: item.network,
|
|
59
|
+
label: item.networkDesc,
|
|
60
|
+
raw: item
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
}, [options]);
|
|
64
|
+
var handleChange = (0, _hooks.useEventCallback)(function (next, option) {
|
|
65
|
+
var _a;
|
|
66
|
+
if (typeof next !== 'string') return;
|
|
67
|
+
var item = (_a = option === null || option === void 0 ? void 0 : option.raw) !== null && _a !== void 0 ? _a : options.find(function (network) {
|
|
68
|
+
return network.network === next;
|
|
176
69
|
});
|
|
177
|
-
|
|
178
|
-
var handlePick = (0, _hooks.useEventCallback)(function (item, close) {
|
|
179
|
-
setSelected(item.network);
|
|
180
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(item.network, item);
|
|
181
|
-
close();
|
|
70
|
+
if (item) onChange === null || onChange === void 0 ? void 0 : onChange(next, item);
|
|
182
71
|
});
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
72
|
+
// Custom option body — icon, two lines (network id + display name), and
|
|
73
|
+
// latency. The shared `Select` appends the brand-colored selected check.
|
|
74
|
+
var renderOptionContent = function renderOptionContent(option) {
|
|
75
|
+
var item = option.raw;
|
|
76
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
77
|
+
children: [(0, _jsxRuntime.jsx)("img", {
|
|
78
|
+
src: item.iconUrl,
|
|
79
|
+
alt: item.networkDesc,
|
|
80
|
+
width: ICON_SIZE,
|
|
81
|
+
height: ICON_SIZE,
|
|
82
|
+
className: ICON_CLS
|
|
83
|
+
}), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
84
|
+
vertical: true,
|
|
85
|
+
gap: 0,
|
|
86
|
+
align: 'start',
|
|
195
87
|
style: {
|
|
196
|
-
|
|
88
|
+
minWidth: 0,
|
|
89
|
+
flex: 1
|
|
197
90
|
},
|
|
198
|
-
children: [(0, _jsxRuntime.
|
|
199
|
-
|
|
200
|
-
gap: 8,
|
|
201
|
-
children: [(0, _jsxRuntime.jsx)("img", {
|
|
202
|
-
src: selectedItem.iconUrl,
|
|
203
|
-
alt: selectedItem.networkDesc,
|
|
204
|
-
width: ICON_SIZE,
|
|
205
|
-
height: ICON_SIZE,
|
|
206
|
-
className: ICON_CLS
|
|
207
|
-
}), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
208
|
-
size: fontSize,
|
|
209
|
-
strong: strong,
|
|
210
|
-
children: selectedItem.networkSymbol
|
|
211
|
-
})]
|
|
212
|
-
}), renderTimeMeta(selectedItem)]
|
|
213
|
-
});
|
|
214
|
-
} : null,
|
|
215
|
-
children: function children(_ref3) {
|
|
216
|
-
var close = _ref3.close;
|
|
217
|
-
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
218
|
-
vertical: true,
|
|
219
|
-
gap: 8,
|
|
220
|
-
children: [(0, _jsxRuntime.jsx)(_Alert.Alert, {
|
|
221
|
-
status: 'warning',
|
|
222
|
-
body: WARNING_BODY
|
|
223
|
-
}), (0, _jsxRuntime.jsx)(NetworkOptionList, {
|
|
224
|
-
options: options,
|
|
225
|
-
selected: selected,
|
|
91
|
+
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
92
|
+
size: 'md',
|
|
226
93
|
strong: strong,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
94
|
+
color: 'default',
|
|
95
|
+
children: formatNetwork(item.network)
|
|
96
|
+
}), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
97
|
+
size: 'sm',
|
|
98
|
+
color: 'default-secondary',
|
|
99
|
+
children: item.networkDesc
|
|
230
100
|
})]
|
|
231
|
-
})
|
|
232
|
-
}
|
|
101
|
+
}), renderTimeMeta(item)]
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
var renderValue = function renderValue(option, meta) {
|
|
105
|
+
// `Select` calls `renderValue(null)` when nothing is selected, so the
|
|
106
|
+
// placeholder fallback is this function's responsibility.
|
|
107
|
+
if (!option || Array.isArray(option)) return placeholder;
|
|
108
|
+
var item = option.raw;
|
|
109
|
+
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
110
|
+
align: 'center',
|
|
111
|
+
gap: 8,
|
|
112
|
+
children: [(0, _jsxRuntime.jsx)("img", {
|
|
113
|
+
src: item.iconUrl,
|
|
114
|
+
alt: item.networkDesc,
|
|
115
|
+
width: ICON_SIZE,
|
|
116
|
+
height: ICON_SIZE,
|
|
117
|
+
className: ICON_CLS
|
|
118
|
+
}), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
119
|
+
size: meta.fontSize,
|
|
120
|
+
strong: strong,
|
|
121
|
+
children: formatNetwork(item.network)
|
|
122
|
+
})]
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
|
|
126
|
+
name: name,
|
|
127
|
+
label: label,
|
|
128
|
+
placeholder: placeholder,
|
|
129
|
+
className: (0, _classnames.joinCls)(WRAP_CLS, className),
|
|
130
|
+
options: selectOptions,
|
|
131
|
+
value: value,
|
|
132
|
+
defaultValue: defaultValue,
|
|
133
|
+
panelHeader: (0, _jsxRuntime.jsx)(_Alert.Alert, {
|
|
134
|
+
status: 'warning',
|
|
135
|
+
body: WARNING_BODY
|
|
136
|
+
}),
|
|
137
|
+
renderOptionContent: renderOptionContent,
|
|
138
|
+
renderValue: renderValue,
|
|
139
|
+
onChange: handleChange
|
|
233
140
|
}));
|
|
234
141
|
};
|
|
235
142
|
var NetworkSelect = exports.NetworkSelect = /*#__PURE__*/(0, _react.memo)(NetworkSelectBase);
|
|
236
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9BbGVydCIsIl9GbGV4IiwiX0ljb25zIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiSUNPTl9DTFMiLCJDQVJEX0NMUyIsIkNBUkRfQUNUSVZFX0NMUyIsIklDT05fU0laRSIsIkNIRUNLX0lDT05fU0laRSIsIkNIRUNLX0NPTE9SIiwiV0FSTklOR19CT0RZIiwicmVuZGVyVGltZU1ldGEiLCJpdGVtIiwiX2pzeCIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsImNvbG9yIiwiY2hpbGRyZW4iLCJwcm9jZXNzaW5nVGltZSIsIk5ldHdvcmtPcHRpb25MaXN0IiwiX3JlZiIsIm9wdGlvbnMiLCJzZWxlY3RlZCIsInN0cm9uZyIsIm9uUGljayIsIml0ZW1zUmVmIiwidXNlUmVmIiwiZGlkRm9jdXNSZWYiLCJ1c2VFZmZlY3QiLCJfYSIsImN1cnJlbnQiLCJpbml0aWFsSW5kZXgiLCJNYXRoIiwibWF4IiwiZmluZEluZGV4IiwibmV0d29yayIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsImZvY3VzSXRlbUF0IiwiaW5kZXgiLCJjb3VudCIsIm5leHQiLCJoYW5kbGVLZXlEb3duIiwiZXZlbnQiLCJlbCIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImtleSIsInByZXZlbnREZWZhdWx0IiwiRmxleCIsInZlcnRpY2FsIiwiZ2FwIiwicm9sZSIsIm9uS2V5RG93biIsIm1hcCIsImFjdGl2ZSIsIl9qc3hzIiwicmVmIiwidHlwZSIsImNsYXNzTmFtZSIsImpvaW5DbHMiLCJvbkNsaWNrIiwic3JjIiwiaWNvblVybCIsImFsdCIsIm5ldHdvcmtEZXNjIiwid2lkdGgiLCJoZWlnaHQiLCJhbGlnbiIsInN0eWxlIiwibWluV2lkdGgiLCJmbGV4IiwibmV0d29ya1N5bWJvbCIsIkljb25zIiwibmFtZSIsIk5ldHdvcmtTZWxlY3RCYXNlIiwiX2EkbGFiZWwiLCJsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsInJlc3QiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRTZWxlY3RlZCIsInNlbGVjdGVkSXRlbSIsInVzZU1lbW8iLCJmaW5kIiwiaGFuZGxlUGljayIsInVzZUV2ZW50Q2FsbGJhY2siLCJjbG9zZSIsIlNlbGVjdCIsIkN1c3RvbSIsImFzc2lnbiIsInBhbmVsQ2xhc3NOYW1lIiwic2VsZWN0ZWRUZW1wbGF0ZSIsIl9yZWYyIiwiZm9udFNpemUiLCJqdXN0aWZ5IiwiX3JlZjMiLCJBbGVydCIsInN0YXR1cyIsImJvZHkiLCJOZXR3b3JrU2VsZWN0IiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FB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TUFBTSxFQUFDLFNBQVM7VUFBQ0MsSUFBSSxFQUFFbEc7UUFBWSxDQUFBLENBQUksRUFDOUMsSUFBQUcsZUFBQSxFQUFDTSxpQkFBaUIsRUFBQTtVQUNoQkUsT0FBTyxFQUFFQSxPQUFPO1VBQ2hCQyxRQUFRLEVBQUVBLFFBQVE7VUFDbEJDLE1BQU0sRUFBRUEsTUFBTTtVQUNkQyxNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBR1osSUFBSTtZQUFBLE9BQUtrRixVQUFVLENBQUNsRixJQUFJLEVBQUVvRixLQUFLLENBQUM7VUFBQTtRQUFBLENBQUEsQ0FDekM7TUFBQSxDQUFBLENBQ0c7SUFBQTtFQUNSLENBQUEsQ0FBQSxDQUNhO0FBRXBCLENBQUM7QUFFTSxJQUFNYSxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNwQyxpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9OZXR3b3JrU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQWxlcnQnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tbmV0d29yay1zZWxlY3QnO1xuY29uc3QgUEFORUxfQ0xTID0gYCR7V1JBUF9DTFN9LXBhbmVsYDtcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgQ0FSRF9DTFMgPSBgJHtXUkFQX0NMU30tY2FyZGA7XG5jb25zdCBDQVJEX0FDVElWRV9DTFMgPSBgJHtDQVJEX0NMU30tYWN0aXZlYDtcbmNvbnN0IElDT05fU0laRSA9IDI0O1xuY29uc3QgQ0hFQ0tfSUNPTl9TSVpFID0gMTY7XG4vKiogQnJhbmQgYmx1ZSDigJQgYHBhbGV0dGUoaWNvbiwgJ2JyYW5kJylgIHJlc29sdmVzIHRvIGAkYmx1ZS03MDBgLiAqL1xuY29uc3QgQ0hFQ0tfQ09MT1IgPSAnIzA3MzM4Nyc7XG5jb25zdCBXQVJOSU5HX0JPRFkgPSAnT25seSBkZXBvc2l0IHlvdXIgYXNzZXQgdXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQgbmV0d29ya3MgYmVsb3cuIERlcG9zaXRpbmcgdmlhIGFuIHVuc3VwcG9ydGVkIG5ldHdvcmsgd2lsbCByZXN1bHQgaW4gdGhlIHBlcm1hbmVudCBsb3NzIG9mIHlvdXIgZnVuZHMuJztcbmNvbnN0IHJlbmRlclRpbWVNZXRhID0gKGl0ZW0pID0+IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogYOKJiCAke2l0ZW0ucHJvY2Vzc2luZ1RpbWV9IG1pbnNgIH0pKTtcbi8qKlxuICogVGhlIG9wdGlvbiBsaXN0IGFzIGFuIGFjY2Vzc2libGUgbGlzdGJveC4gYFNlbGVjdC5DdXN0b21gIG1vdW50cyB0aGUgcGFuZWxcbiAqIGZyZXNoIG9uIGV2ZXJ5IG9wZW4sIHNvIHRoZSBtb3VudCBlZmZlY3QgbGFuZHMgZm9jdXMgb24gdGhlIGFjdGl2ZSBvcHRpb24sXG4gKiBhbmQgYXJyb3cga2V5cyByb2FtIGZvY3VzIGJldHdlZW4gb3B0aW9ucyAoRW50ZXIgLyBTcGFjZSBhcmUgaGFuZGxlZFxuICogbmF0aXZlbHkgYnkgdGhlIGA8YnV0dG9uPmAgZWxlbWVudHMpLlxuICovXG5jb25zdCBOZXR3b3JrT3B0aW9uTGlzdCA9ICh7IG9wdGlvbnMsIHNlbGVjdGVkLCBzdHJvbmcsIG9uUGljayB9KSA9PiB7XG4gICAgY29uc3QgaXRlbXNSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGRpZEZvY3VzUmVmID0gdXNlUmVmKGZhbHNlKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChkaWRGb2N1c1JlZi5jdXJyZW50IHx8IG9wdGlvbnMubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBkaWRGb2N1c1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW5pdGlhbEluZGV4ID0gTWF0aC5tYXgoMCwgb3B0aW9ucy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0ubmV0d29yayA9PT0gc2VsZWN0ZWQpKTtcbiAgICAgICAgKF9hID0gaXRlbXNSZWYuY3VycmVudFtpbml0aWFsSW5kZXhdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH0sIFtvcHRpb25zLCBzZWxlY3RlZF0pO1xuICAgIGNvbnN0IGZvY3VzSXRlbUF0ID0gKGluZGV4KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgY29uc3QgY291bnQgPSBvcHRpb25zLmxlbmd0aDtcbiAgICAgICAgaWYgKGNvdW50ID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0ID0gKChpbmRleCAlIGNvdW50KSArIGNvdW50KSAlIGNvdW50O1xuICAgICAgICAoX2EgPSBpdGVtc1JlZi5jdXJyZW50W25leHRdKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiBmYWxzZSB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGl0ZW1zUmVmLmN1cnJlbnQuZmluZEluZGV4KChlbCkgPT4gZWwgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZm9jdXNJdGVtQXQoY3VycmVudCArIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZm9jdXNJdGVtQXQoY3VycmVudCAtIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBmb2N1c0l0ZW1BdCgwKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0VuZCc6XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBmb2N1c0l0ZW1BdChvcHRpb25zLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIChfanN4KEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogOCwgcm9sZTogJ2xpc3Rib3gnLCBvbktleURvd246IGhhbmRsZUtleURvd24sIGNoaWxkcmVuOiBvcHRpb25zLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGl0ZW0ubmV0d29yayA9PT0gc2VsZWN0ZWQ7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKFwiYnV0dG9uXCIsIHsgcmVmOiAoZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbXNSZWYuY3VycmVudFtpbmRleF0gPSBlbDtcbiAgICAgICAgICAgICAgICB9LCB0eXBlOiAnYnV0dG9uJywgcm9sZTogJ29wdGlvbicsIFwiYXJpYS1zZWxlY3RlZFwiOiBhY3RpdmUsIGNsYXNzTmFtZTogam9pbkNscyhDQVJEX0NMUywgYWN0aXZlICYmIENBUkRfQUNUSVZFX0NMUyksIG9uQ2xpY2s6ICgpID0+IG9uUGljayhpdGVtKSwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMCwgYWxpZ246ICdzdGFydCcsIHN0eWxlOiB7IG1pbldpZHRoOiAwLCBmbGV4OiAxIH0sIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBzdHJvbmc6IHN0cm9uZywgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IGl0ZW0ubmV0d29ya1N5bWJvbCB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGl0ZW0ubmV0d29ya0Rlc2MgfSldIH0pLCByZW5kZXJUaW1lTWV0YShpdGVtKSwgYWN0aXZlID8gX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiBDSEVDS19JQ09OX1NJWkUsIGNvbG9yOiBDSEVDS19DT0xPUiB9KSA6IG51bGxdIH0sIGl0ZW0ubmV0d29yaykpO1xuICAgICAgICB9KSB9KSk7XG59O1xuY29uc3QgTmV0d29ya1NlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsID0gJ05ldHdvcmsnLCBuYW1lID0gJ25ldHdvcmsnLCBwbGFjZWhvbGRlciA9ICdTZWxlY3QgbmV0d29yaycsIHN0cm9uZyA9IHRydWUsIHZhbHVlLCBkZWZhdWx0VmFsdWUsIG9uQ2hhbmdlIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wib3B0aW9uc1wiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwibmFtZVwiLCBcInBsYWNlaG9sZGVyXCIsIFwic3Ryb25nXCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiXSk7XG4gICAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmV0d29yayA9PT0gc2VsZWN0ZWQpLCBbb3B0aW9ucywgc2VsZWN0ZWRdKTtcbiAgICBjb25zdCBoYW5kbGVQaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoaXRlbSwgY2xvc2UpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoaXRlbS5uZXR3b3JrKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGl0ZW0ubmV0d29yaywgaXRlbSk7XG4gICAgICAgIGNsb3NlKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdC5DdXN0b20sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgcGFuZWxDbGFzc05hbWU6IFBBTkVMX0NMUywgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgICA/ICh7IGZvbnRTaXplIH0pID0+IChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IHNlbGVjdGVkSXRlbS5pY29uVXJsLCBhbHQ6IHNlbGVjdGVkSXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogc2VsZWN0ZWRJdGVtLm5ldHdvcmtTeW1ib2wgfSldIH0pLCByZW5kZXJUaW1lTWV0YShzZWxlY3RlZEl0ZW0pXSB9KSlcbiAgICAgICAgICAgIDogbnVsbCwgY2hpbGRyZW46ICh7IGNsb3NlIH0pID0+IChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChBbGVydCwgeyBzdGF0dXM6ICd3YXJuaW5nJywgYm9keTogV0FSTklOR19CT0RZIH0pLCBfanN4KE5ldHdvcmtPcHRpb25MaXN0LCB7IG9wdGlvbnM6IG9wdGlvbnMsIHNlbGVjdGVkOiBzZWxlY3RlZCwgc3Ryb25nOiBzdHJvbmcsIG9uUGljazogKGl0ZW0pID0+IGhhbmRsZVBpY2soaXRlbSwgY2xvc2UpIH0pXSB9KSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgTmV0d29ya1NlbGVjdCA9IG1lbW8oTmV0d29ya1NlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9BbGVydCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJJQ09OX1NJWkUiLCJXQVJOSU5HX0JPRFkiLCJmb3JtYXROZXR3b3JrIiwibmV0d29yayIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJ0b0xvd2VyQ2FzZSIsInJlbmRlclRpbWVNZXRhIiwiaXRlbSIsIl9qc3giLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJjb2xvciIsImNoaWxkcmVuIiwidHhMYXRlbmN5IiwiTmV0d29ya1NlbGVjdEJhc2UiLCJfYSIsIm9wdGlvbnMiLCJjbGFzc05hbWUiLCJfYSRsYWJlbCIsImxhYmVsIiwiX2EkbmFtZSIsIm5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwic3Ryb25nIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsInJlc3QiLCJzZWxlY3RPcHRpb25zIiwidXNlTWVtbyIsIm1hcCIsIm5ldHdvcmtEZXNjIiwicmF3IiwiaGFuZGxlQ2hhbmdlIiwidXNlRXZlbnRDYWxsYmFjayIsIm5leHQiLCJvcHRpb24iLCJmaW5kIiwicmVuZGVyT3B0aW9uQ29udGVudCIsIl9qc3hzIiwiX0ZyYWdtZW50Iiwic3JjIiwiaWNvblVybCIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwiRmxleCIsInZlcnRpY2FsIiwiZ2FwIiwiYWxpZ24iLCJzdHlsZSIsIm1pbldpZHRoIiwiZmxleCIsInJlbmRlclZhbHVlIiwibWV0YSIsIkFycmF5IiwiaXNBcnJheSIsImZvbnRTaXplIiwiU2VsZWN0IiwiYXNzaWduIiwiam9pbkNscyIsInBhbmVsSGVhZGVyIiwiQWxlcnQiLCJzdGF0dXMiLCJib2R5IiwiTmV0d29ya1NlbGVjdCIsImV4cG9ydHMiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUROQSxJQUFJUSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMs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ZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BbGVydCc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLW5ldHdvcmstc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBXQVJOSU5HX0JPRFkgPSAnT25seSBkZXBvc2l0IHlvdXIgYXNzZXQgdXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQgbmV0d29ya3MgYmVsb3cuIERlcG9zaXRpbmcgdmlhIGFuIHVuc3VwcG9ydGVkIG5ldHdvcmsgd2lsbCByZXN1bHQgaW4gdGhlIHBlcm1hbmVudCBsb3NzIG9mIHlvdXIgZnVuZHMuJztcbi8qKiBEaXNwbGF5LW9ubHk6IHRoZSBhbGwtY2FwcyBgbmV0d29ya2AgaWQgd2l0aCBqdXN0IGl0cyBmaXJzdCBsZXR0ZXIgY2FwaXRhbGl6ZWQsIGUuZy4gYFwiRVRIRVJFVU1cImAg4oaSIGBcIkV0aGVyZXVtXCJgLiBUaGUgYm91bmQgdmFsdWUgc3RheXMgdGhlIHJhdyBpZC4gKi9cbmNvbnN0IGZvcm1hdE5ldHdvcmsgPSAobmV0d29yaykgPT4gbmV0d29yayA/IG5ldHdvcmsuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuZXR3b3JrLnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkgOiBuZXR3b3JrO1xuY29uc3QgcmVuZGVyVGltZU1ldGEgPSAoaXRlbSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLnR4TGF0ZW5jeSB9KSk7XG5jb25zdCBOZXR3b3JrU2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWwgPSAnTmV0d29yaycsIG5hbWUgPSAnbmV0d29yaycsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBuZXR3b3JrJywgc3Ryb25nID0gdHJ1ZSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25DaGFuZ2UgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCJdKTtcbiAgICAvLyBBZGFwdCB0aGUgYmFja2VuZCBwYXlsb2FkIHRvIHRoZSBzaGFyZWQgYFNlbGVjdGAsIHdoaWNoIG93bnMgc2VsZWN0aW9uXG4gICAgLy8gc3RhdGUsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0aGUgdHJhaWxpbmcgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtLm5ldHdvcmssXG4gICAgICAgIGxhYmVsOiBpdGVtLm5ldHdvcmtEZXNjLFxuICAgICAgICByYXc6IGl0ZW0sXG4gICAgfSkpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHQsIG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICh0eXBlb2YgbmV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoX2EgPSBvcHRpb24gPT09IG51bGwgfHwgb3B0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb24ucmF3KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvcHRpb25zLmZpbmQoKG5ldHdvcmspID0+IG5ldHdvcmsubmV0d29yayA9PT0gbmV4dCk7XG4gICAgICAgIGlmIChpdGVtKVxuICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIC8vIEN1c3RvbSBvcHRpb24gYm9keSDigJQgaWNvbiwgdHdvIGxpbmVzIChuZXR3b3JrIGlkICsgZGlzcGxheSBuYW1lKSwgYW5kXG4gICAgLy8gbGF0ZW5jeS4gVGhlIHNoYXJlZCBgU2VsZWN0YCBhcHBlbmRzIHRoZSBicmFuZC1jb2xvcmVkIHNlbGVjdGVkIGNoZWNrLlxuICAgIGNvbnN0IHJlbmRlck9wdGlvbkNvbnRlbnQgPSAob3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb24ucmF3O1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAsIGZsZXg6IDEgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogc3Ryb25nLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogZm9ybWF0TmV0d29yayhpdGVtLm5ldHdvcmspIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KV0gfSksIHJlbmRlclRpbWVNZXRhKGl0ZW0pXSB9KSk7XG4gICAgfTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZSA9IChvcHRpb24sIG1ldGEpID0+IHtcbiAgICAgICAgLy8gYFNlbGVjdGAgY2FsbHMgYHJlbmRlclZhbHVlKG51bGwpYCB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQsIHNvIHRoZVxuICAgICAgICAvLyBwbGFjZWhvbGRlciBmYWxsYmFjayBpcyB0aGlzIGZ1bmN0aW9uJ3MgcmVzcG9uc2liaWxpdHkuXG4gICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSlcbiAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbi5yYXc7XG4gICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogbWV0YS5mb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBmb3JtYXROZXR3b3JrKGl0ZW0ubmV0d29yaykgfSldIH0pKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgb3B0aW9uczogc2VsZWN0T3B0aW9ucywgdmFsdWU6IHZhbHVlLCBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZSwgcGFuZWxIZWFkZXI6IF9qc3goQWxlcnQsIHsgc3RhdHVzOiAnd2FybmluZycsIGJvZHk6IFdBUk5JTkdfQk9EWSB9KSwgcmVuZGVyT3B0aW9uQ29udGVudDogcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IE5ldHdvcmtTZWxlY3QgPSBtZW1vKE5ldHdvcmtTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SelectProps } from "../../../components/Select";
|
|
2
2
|
/**
|
|
3
3
|
* Single crypto network entry as returned by 1money's `/private/currencies`
|
|
4
4
|
* endpoint (`data.crypto[i].networks[j]`). Pass the array through as-is —
|
|
@@ -6,11 +6,9 @@ import type { SelectCustomProps } from "../../../components/Select";
|
|
|
6
6
|
* internally.
|
|
7
7
|
*/
|
|
8
8
|
export interface NetworkItem {
|
|
9
|
-
/**
|
|
9
|
+
/** Network identifier — bound to the select value (not displayed), e.g. `"ETHEREUM"` / `"POLYGON"`. */
|
|
10
10
|
network: string;
|
|
11
|
-
/**
|
|
12
|
-
networkSymbol: string;
|
|
13
|
-
/** Display name shown as the card's secondary line, e.g. `"Ethereum"` / `"BNB Smart Chain"`. */
|
|
11
|
+
/** Display name shown in the trigger and option rows, e.g. `"Ethereum"` / `"BNB Smart Chain"`. */
|
|
14
12
|
networkDesc: string;
|
|
15
13
|
/** Public URL of the network icon. */
|
|
16
14
|
iconUrl: string;
|
|
@@ -24,8 +22,18 @@ export interface NetworkItem {
|
|
|
24
22
|
minConfirm: number;
|
|
25
23
|
/** Estimated processing time in minutes, e.g. `4`. */
|
|
26
24
|
processingTime: number;
|
|
25
|
+
/** Human-readable latency shown on the right of each option, e.g. `"3 mins"` / `"Hours"`. */
|
|
26
|
+
txLatency: string;
|
|
27
|
+
/** Badge label, e.g. `"Recommended"` / `"Delayed"`; `""` when none. Not rendered yet. */
|
|
28
|
+
tag: string;
|
|
29
|
+
/** Badge status code: `0` none, `1` recommended, `2` delayed. Not rendered yet. */
|
|
30
|
+
tagStatus: number;
|
|
31
|
+
/** Deposit address for this network. */
|
|
32
|
+
address: string;
|
|
33
|
+
/** Display order within the list, e.g. `0`. */
|
|
34
|
+
order: number;
|
|
27
35
|
}
|
|
28
|
-
export interface NetworkSelectProps extends Omit<
|
|
36
|
+
export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'renderOption' | 'renderOptionContent' | 'renderValue' | 'panelHeader' | 'panelFooter'> {
|
|
29
37
|
/**
|
|
30
38
|
* Crypto networks returned by 1money's `/private/currencies` endpoint
|
|
31
39
|
* (`data.crypto[i].networks`). Pass through as-is — the component
|
|
@@ -36,15 +44,19 @@ export interface NetworkSelectProps extends Omit<SelectCustomProps, 'selectedTem
|
|
|
36
44
|
* const networks: NetworkItem[] = [
|
|
37
45
|
* {
|
|
38
46
|
* network: 'ETHEREUM',
|
|
39
|
-
* networkSymbol: 'ETH',
|
|
40
47
|
* networkDesc: 'Ethereum',
|
|
41
48
|
* iconUrl: 'https://static.1money.com/images/ethereum-eth-logo.png',
|
|
42
|
-
* contractAddress: '
|
|
49
|
+
* contractAddress: '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
|
|
43
50
|
* contractAddressUrl:
|
|
44
|
-
* 'https://etherscan.io/address/
|
|
51
|
+
* 'https://sepolia.etherscan.io/address/0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238',
|
|
45
52
|
* depositMin: '0.1',
|
|
46
53
|
* minConfirm: 12,
|
|
47
|
-
* processingTime:
|
|
54
|
+
* processingTime: 2,
|
|
55
|
+
* txLatency: '3 mins',
|
|
56
|
+
* tag: '',
|
|
57
|
+
* tagStatus: 0,
|
|
58
|
+
* address: '0xAcDC59B579A3ee6970952775642c5dc3F2816525',
|
|
59
|
+
* order: 0,
|
|
48
60
|
* },
|
|
49
61
|
* ];
|
|
50
62
|
*
|
|
@@ -27,30 +27,4 @@
|
|
|
27
27
|
-o-object-fit: cover;
|
|
28
28
|
object-fit: cover;
|
|
29
29
|
border-radius: var(--om-radius-full, 9999px);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.om-network-select-panel {
|
|
33
|
-
padding: var(--om-spacing-200, 8px);
|
|
34
|
-
}
|
|
35
|
-
.om-network-select-panel .om-network-select-card {
|
|
36
|
-
display: flex;
|
|
37
|
-
gap: var(--om-spacing-200, 8px);
|
|
38
|
-
align-items: center;
|
|
39
|
-
width: 100%;
|
|
40
|
-
padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
|
|
41
|
-
color: var(--om-text-default, #131313);
|
|
42
|
-
text-align: left;
|
|
43
|
-
background-color: transparent;
|
|
44
|
-
border: none;
|
|
45
|
-
border-radius: var(--om-radius-200, 8px);
|
|
46
|
-
cursor: pointer;
|
|
47
|
-
transition: background-color 0.15s ease;
|
|
48
|
-
}
|
|
49
|
-
.om-network-select-panel .om-network-select-card:hover,
|
|
50
|
-
.om-network-select-panel .om-network-select-card-active {
|
|
51
|
-
background-color: var(--om-bg-default-secondary, #f8f8f8);
|
|
52
|
-
}
|
|
53
|
-
.om-network-select-panel .om-network-select-card:focus-visible {
|
|
54
|
-
outline: 2px solid var(--om-border-brand, #073387);
|
|
55
|
-
outline-offset: 2px;
|
|
56
30
|
}
|
|
@@ -51,7 +51,9 @@ var formatAmount = function formatAmount(value) {
|
|
|
51
51
|
var renderFeeLine = function renderFeeLine(item) {
|
|
52
52
|
return "Deposit fee: ".concat(formatAmount(item.fee), " | Minimum deposit amount: ").concat(formatAmount(item.depositAmtMin));
|
|
53
53
|
};
|
|
54
|
-
var renderMetaColumn = function renderMetaColumn(item) {
|
|
54
|
+
var renderMetaColumn = function renderMetaColumn(item, showFee) {
|
|
55
|
+
var hasFee = showFee && (item.fee != null || item.depositAmtMin != null);
|
|
56
|
+
if (!item.description && !hasFee) return null;
|
|
55
57
|
return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
|
|
56
58
|
vertical: true,
|
|
57
59
|
align: 'end',
|
|
@@ -61,7 +63,7 @@ var renderMetaColumn = function renderMetaColumn(item) {
|
|
|
61
63
|
strong: true,
|
|
62
64
|
color: 'default-secondary',
|
|
63
65
|
children: item.description
|
|
64
|
-
}), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
66
|
+
}), hasFee && (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
65
67
|
size: 'sm',
|
|
66
68
|
color: 'default-secondary',
|
|
67
69
|
children: renderFeeLine(item)
|
|
@@ -79,7 +81,11 @@ var PaymentMethodSelectBase = function PaymentMethodSelectBase(_a) {
|
|
|
79
81
|
placeholder = _a$placeholder === void 0 ? 'Select payment method' : _a$placeholder,
|
|
80
82
|
_a$strong = _a.strong,
|
|
81
83
|
strong = _a$strong === void 0 ? true : _a$strong,
|
|
82
|
-
|
|
84
|
+
_a$showFee = _a.showFee,
|
|
85
|
+
showFee = _a$showFee === void 0 ? true : _a$showFee,
|
|
86
|
+
_a$showTags = _a.showTags,
|
|
87
|
+
showTags = _a$showTags === void 0 ? true : _a$showTags,
|
|
88
|
+
rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong", "showFee", "showTags"]);
|
|
83
89
|
var mapped = (0, _react.useMemo)(function () {
|
|
84
90
|
return options.map(toOption);
|
|
85
91
|
}, [options]);
|
|
@@ -116,7 +122,7 @@ var PaymentMethodSelectBase = function PaymentMethodSelectBase(_a) {
|
|
|
116
122
|
strong: strong,
|
|
117
123
|
children: item.label
|
|
118
124
|
})]
|
|
119
|
-
}), renderMetaColumn(item)]
|
|
125
|
+
}), renderMetaColumn(item, showFee)]
|
|
120
126
|
});
|
|
121
127
|
},
|
|
122
128
|
renderOptionContent: function renderOptionContent(option, _ref2) {
|
|
@@ -142,16 +148,16 @@ var PaymentMethodSelectBase = function PaymentMethodSelectBase(_a) {
|
|
|
142
148
|
size: fontSize,
|
|
143
149
|
strong: strong,
|
|
144
150
|
children: item.label
|
|
145
|
-
}), (_b = item.tags) === null || _b === void 0 ? void 0 : _b.map(function (tag, index) {
|
|
151
|
+
}), showTags && ((_b = item.tags) === null || _b === void 0 ? void 0 : _b.map(function (tag, index) {
|
|
146
152
|
return (0, _jsxRuntime.jsx)(_Tag.Tag, {
|
|
147
153
|
color: 'success',
|
|
148
154
|
label: tag
|
|
149
155
|
}, "".concat(tag, "-").concat(index));
|
|
150
|
-
})]
|
|
151
|
-
}), renderMetaColumn(item)]
|
|
156
|
+
}))]
|
|
157
|
+
}), renderMetaColumn(item, showFee)]
|
|
152
158
|
});
|
|
153
159
|
}
|
|
154
160
|
}));
|
|
155
161
|
};
|
|
156
162
|
var PaymentMethodSelect = exports.PaymentMethodSelect = /*#__PURE__*/(0, _react.memo)(PaymentMethodSelectBase);
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UYWciLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIklDT05fU0laRSIsIkRFU0NfU0VQQVJBVE9SIiwidG9PcHRpb24iLCJtZXRob2QiLCJfYSIsIl9iIiwiX2MiLCJfbWV0aG9kJHBheW1lbnRNZXRob2QiLCJwYXltZW50TWV0aG9kVHlwZURlc2MiLCJzcGxpdCIsIl9tZXRob2QkcGF5bWVudE1ldGhvZDIiLCJfc2xpY2VkVG9BcnJheTIiLCJuYW1lIiwic2xhIiwiZGVzY3JpcHRpb24iLCJmZWUiLCJ0cmFuc2FjdGlvblRpbWUiLCJjb25jYXQiLCJ0cmFuc2FjdGlvblVuaXQiLCJ0cmltIiwibGFiZWwiLCJ2YWx1ZSIsInBheW1lbnRNZXRob2RUeXBlIiwiaWNvbiIsInBheW1lbnRNZXRob2RJY29uVXJsIiwidHJhbnNhY3Rpb25GZWUiLCJkZXBvc2l0QW10TWluIiwidGFncyIsImZvcm1hdEFtb3VudCIsIm51bWVyaWNGb3JtYXR0ZXIiLCJ0aG91c2FuZFNlcGFyYXRvciIsInByZWZpeCIsInJlbmRlckZlZUxpbmUiLCJpdGVtIiwicmVuZGVyTWV0YUNvbHVtbiIsIl9qc3hzIiwiRmxleCIsInZlcnRpY2FsIiwiYWxpZ24iLCJnYXAiLCJjaGlsZHJlbiIsIl9qc3giLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJzdHJvbmciLCJjb2xvciIsIlBheW1lbnRNZXRob2RTZWxlY3RCYXNlIiwib3B0aW9ucyIsImNsYXNzTmFtZSIsIl9hJGxhYmVsIiwiX2EkbmFtZSIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRzdHJvbmciLCJyZXN0IiwibWFwcGVkIiwidXNlTWVtbyIsIm1hcCIsIlNlbGVjdCIsImFzc2lnbiIsImpvaW5DbHMiLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWYiLCJmb250U2l6ZSIsIkFycmF5IiwiaXNBcnJheSIsImp1c3RpZnkiLCJzdHlsZSIsIndpZHRoIiwic3JjIiwiYWx0IiwiU3RyaW5nIiwiaGVpZ2h0IiwicmVuZGVyT3B0aW9uQ29udGVudCIsIl9yZWYyIiwidGFnIiwiaW5kZXgiLCJUYWciLCJQYXltZW50TWV0aG9kU2VsZWN0IiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsa0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLElBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBRE5BLElBQUlRLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxD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QUEzRCxNQUFBLENBQUk0RCxLQUFLLENBQUUsQ0FBZ0M7VUFBQSxDQUM1RCxDQUFDO1FBQUEsQ0FBQSxDQUNHLEVBQ04zQyxnQkFBZ0IsQ0FBQ0QsSUFBSSxDQUFDO01BQUEsQ0FBQSxDQUNsQjtJQUVYO0VBQUMsQ0FBQSxDQUFBLENBQ0Q7QUFFTixDQUFDO0FBRU0sSUFBTThDLG1CQUFtQixHQUFBQyxPQUFBLENBQUFELG1CQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQ25DLHVCQUF1QixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UYWcnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tcGF5bWVudC1tZXRob2Qtc2VsZWN0JztcbmNvbnN0IElDT05fU0laRSA9IDIwO1xuY29uc3QgREVTQ19TRVBBUkFUT1IgPSAnIC0gJztcbmNvbnN0IHRvT3B0aW9uID0gKG1ldGhvZCkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIGNvbnN0IFtuYW1lLCBzbGFdID0gbWV0aG9kLnBheW1lbnRNZXRob2RUeXBlRGVzYy5zcGxpdChERVNDX1NFUEFSQVRPUik7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSAoKF9hID0gbWV0aG9kLmZlZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRyYW5zYWN0aW9uVGltZSlcbiAgICAgICAgPyBgJHttZXRob2QuZmVlLnRyYW5zYWN0aW9uVGltZX0gJHsoX2IgPSBtZXRob2QuZmVlLnRyYW5zYWN0aW9uVW5pdCkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJyd9YC50cmltKClcbiAgICAgICAgOiBzbGE7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IG5hbWUsXG4gICAgICAgIHZhbHVlOiBtZXRob2QucGF5bWVudE1ldGhvZFR5cGUsXG4gICAgICAgIGljb246IG1ldGhvZC5wYXltZW50TWV0aG9kSWNvblVybCxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgIGZlZTogKF9jID0gbWV0aG9kLmZlZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLnRyYW5zYWN0aW9uRmVlLFxuICAgICAgICBkZXBvc2l0QW10TWluOiBtZXRob2QuZGVwb3NpdEFtdE1pbixcbiAgICAgICAgdGFnczogbWV0aG9kLnRhZ3MsXG4gICAgfTtcbn07XG5jb25zdCBmb3JtYXRBbW91bnQgPSAodmFsdWUpID0+IG51bWVyaWNGb3JtYXR0ZXIodmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHZvaWQgMCA/IHZhbHVlIDogJycsIHsgdGhvdXNhbmRTZXBhcmF0b3I6ICcsJywgcHJlZml4OiAnJCcgfSk7XG5jb25zdCByZW5kZXJGZWVMaW5lID0gKGl0ZW0pID0+IGBEZXBvc2l0IGZlZTogJHtmb3JtYXRBbW91bnQoaXRlbS5mZWUpfSB8IE1pbmltdW0gZGVwb3NpdCBhbW91bnQ6ICR7Zm9ybWF0QW1vdW50KGl0ZW0uZGVwb3NpdEFtdE1pbil9YDtcbmNvbnN0IHJlbmRlck1ldGFDb2x1bW4gPSAoaXRlbSkgPT4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGFsaWduOiAnZW5kJywgZ2FwOiAwLCBjaGlsZHJlbjogW2l0ZW0uZGVzY3JpcHRpb24gJiYgKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGl0ZW0uZGVzY3JpcHRpb24gfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogcmVuZGVyRmVlTGluZShpdGVtKSB9KV0gfSkpO1xuY29uc3QgUGF5bWVudE1ldGhvZFNlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsID0gJ1BheW1lbnQgbWV0aG9kJywgbmFtZSA9ICdwYXltZW50TWV0aG9kJywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHBheW1lbnQgbWV0aG9kJywgc3Ryb25nID0gdHJ1ZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcIm5hbWVcIiwgXCJwbGFjZWhvbGRlclwiLCBcInN0cm9uZ1wiXSk7XG4gICAgY29uc3QgbWFwcGVkID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLm1hcCh0b09wdGlvbiksIFtvcHRpb25zXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBvcHRpb25zOiBtYXBwZWQsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbaXRlbS5pY29uICYmIChfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pLCByZW5kZXJNZXRhQ29sdW1uKGl0ZW0pXSB9KSk7XG4gICAgICAgIH0sIHJlbmRlck9wdGlvbkNvbnRlbnQ6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbaXRlbS5pY29uICYmIChfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSksIChfYiA9IGl0ZW0udGFncykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm1hcCgodGFnLCBpbmRleCkgPT4gKF9qc3goVGFnLCB7IGNvbG9yOiAnc3VjY2VzcycsIGxhYmVsOiB0YWcgfSwgYCR7dGFnfS0ke2luZGV4fWApKSldIH0pLCByZW5kZXJNZXRhQ29sdW1uKGl0ZW0pXSB9KSk7XG4gICAgICAgIH0gfSkpKTtcbn07XG5leHBvcnQgY29uc3QgUGF5bWVudE1ldGhvZFNlbGVjdCA9IG1lbW8oUGF5bWVudE1ldGhvZFNlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
163
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9yZWFjdE51bWJlckZvcm1hdCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UYWciLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIklDT05fU0laRSIsIkRFU0NfU0VQQVJBVE9SIiwidG9PcHRpb24iLCJtZXRob2QiLCJfYSIsIl9iIiwiX2MiLCJfbWV0aG9kJHBheW1lbnRNZXRob2QiLCJwYXltZW50TWV0aG9kVHlwZURlc2MiLCJzcGxpdCIsIl9tZXRob2QkcGF5bWVudE1ldGhvZDIiLCJfc2xpY2VkVG9BcnJheTIiLCJuYW1lIiwic2xhIiwiZGVzY3JpcHRpb24iLCJmZWUiLCJ0cmFuc2FjdGlvblRpbWUiLCJjb25jYXQiLCJ0cmFuc2FjdGlvblVuaXQiLCJ0cmltIiwibGFiZWwiLCJ2YWx1ZSIsInBheW1lbnRNZXRob2RUeXBlIiwiaWNvbiIsInBheW1lbnRNZXRob2RJY29uVXJsIiwidHJhbnNhY3Rpb25GZWUiLCJkZXBvc2l0QW10TWluIiwidGFncyIsImZvcm1hdEFtb3VudCIsIm51bWVyaWNGb3JtYXR0ZXIiLCJ0aG91c2FuZFNlcGFyYXRvciIsInByZWZpeCIsInJlbmRlckZlZUxpbmUiLCJpdGVtIiwicmVuZGVyTWV0YUNvbHVtbiIsInNob3dGZWUiLCJoYXNGZWUiLCJfanN4cyIsIkZsZXgiLCJ2ZXJ0aWNhbCIsImFsaWduIiwiZ2FwIiwiY2hpbGRyZW4iLCJfanN4IiwiVHlwb2dyYXBoeUJvZHkiLCJzaXplIiwic3Ryb25nIiwiY29sb3IiLCJQYXltZW50TWV0aG9kU2VsZWN0QmFzZSIsIm9wdGlvbnMiLCJjbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwiX2Ekc2hvd0ZlZSIsIl9hJHNob3dUYWdzIiwic2hvd1RhZ3MiLCJyZXN0IiwibWFwcGVkIiwidXNlTWVtbyIsIm1hcCIsIlNlbGVjdCIsImFzc2lnbiIsImpvaW5DbHMiLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWYiLCJmb250U2l6ZSIsIkFycmF5IiwiaXNBcnJheSIsImp1c3RpZnkiLCJzdHlsZSIsIndpZHRoIiwic3JjIiwiYWx0IiwiU3RyaW5nIiwiaGVpZ2h0IiwicmVuZGVyT3B0aW9uQ29udGVudCIsIl9yZWYyIiwidGFnIiwiaW5kZXgiLCJUYWciLCJQYXltZW50TWV0aG9kU2VsZWN0IiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsa0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLElBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBRE5BLElBQUlRLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFN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WUFDN0JzRSxLQUFLLEVBQUUxRSxTQUFTO1lBQ2hCOEUsTUFBTSxFQUFFOUU7VUFBUyxDQUFBLENBRXBCLEVBQ0QsSUFBQTJDLGVBQUEsRUFBQ0MsMEJBQWMsRUFBQTtZQUFDQyxJQUFJLEVBQUV3QixRQUFRO1lBQUV2QixNQUFNLEVBQUVBLE1BQU07WUFBQUosUUFBQSxFQUMzQ1QsSUFBSSxDQUFDYjtVQUFLLENBQUEsQ0FDSSxFQUNoQnNDLFFBQVEsS0FDUCxDQUFBckQsRUFBQSxHQUFBNEIsSUFBSSxDQUFDTixJQUFJLE1BQUEsSUFBQSxJQUFBdEIsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLENBQUV5RCxHQUFHLENBQUMsVUFBQ21CLEdBQUcsRUFBRUMsS0FBSztZQUFBLE9BQ3hCLElBQUF2QyxlQUFBLEVBQUN3QyxRQUFHLEVBQUE7Y0FBeUJwQyxLQUFLLEVBQUMsU0FBUztjQUFDM0IsS0FBSyxFQUFFNkQ7WUFBRyxDQUFBLEtBQUFoRSxNQUFBLENBQTFDZ0UsR0FBRyxPQUFBaEUsTUFBQSxDQUFJaUUsS0FBSyxDQUFFLENBQWdDO1VBQUEsQ0FDNUQsQ0FBQyxDQUFBO1FBQUEsQ0FBQSxDQUNDLEVBQ05oRCxnQkFBZ0IsQ0FBQ0QsSUFBSSxFQUFFRSxPQUFPLENBQUM7TUFBQSxDQUFBLENBQzNCO0lBRVg7RUFBQyxDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFTSxJQUFNaUQsbUJBQW1CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDdEMsdUJBQXVCLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L1BheW1lbnRNZXRob2QvUGF5bWVudE1ldGhvZFNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbnVtZXJpY0Zvcm1hdHRlciB9IGZyb20gJ3JlYWN0LW51bWJlci1mb3JtYXQnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1RhZyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1wYXltZW50LW1ldGhvZC1zZWxlY3QnO1xuY29uc3QgSUNPTl9TSVpFID0gMjA7XG5jb25zdCBERVNDX1NFUEFSQVRPUiA9ICcgLSAnO1xuY29uc3QgdG9PcHRpb24gPSAobWV0aG9kKSA9PiB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgY29uc3QgW25hbWUsIHNsYV0gPSBtZXRob2QucGF5bWVudE1ldGhvZFR5cGVEZXNjLnNwbGl0KERFU0NfU0VQQVJBVE9SKTtcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9ICgoX2EgPSBtZXRob2QuZmVlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudHJhbnNhY3Rpb25UaW1lKVxuICAgICAgICA/IGAke21ldGhvZC5mZWUudHJhbnNhY3Rpb25UaW1lfSAkeyhfYiA9IG1ldGhvZC5mZWUudHJhbnNhY3Rpb25Vbml0KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAnJ31gLnRyaW0oKVxuICAgICAgICA6IHNsYTtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogbmFtZSxcbiAgICAgICAgdmFsdWU6IG1ldGhvZC5wYXltZW50TWV0aG9kVHlwZSxcbiAgICAgICAgaWNvbjogbWV0aG9kLnBheW1lbnRNZXRob2RJY29uVXJsLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgZmVlOiAoX2MgPSBtZXRob2QuZmVlKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MudHJhbnNhY3Rpb25GZWUsXG4gICAgICAgIGRlcG9zaXRBbXRNaW46IG1ldGhvZC5kZXBvc2l0QW10TWluLFxuICAgICAgICB0YWdzOiBtZXRob2QudGFncyxcbiAgICB9O1xufTtcbmNvbnN0IGZvcm1hdEFtb3VudCA9ICh2YWx1ZSkgPT4gbnVtZXJpY0Zvcm1hdHRlcih2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwID8gdmFsdWUgOiAnJywgeyB0aG91c2FuZFNlcGFyYXRvcjogJywnLCBwcmVmaXg6ICckJyB9KTtcbmNvbnN0IHJlbmRlckZlZUxpbmUgPSAoaXRlbSkgPT4gYERlcG9zaXQgZmVlOiAke2Zvcm1hdEFtb3VudChpdGVtLmZlZSl9IHwgTWluaW11bSBkZXBvc2l0IGFtb3VudDogJHtmb3JtYXRBbW91bnQoaXRlbS5kZXBvc2l0QW10TWluKX1gO1xuY29uc3QgcmVuZGVyTWV0YUNvbHVtbiA9IChpdGVtLCBzaG93RmVlKSA9PiB7XG4gICAgY29uc3QgaGFzRmVlID0gc2hvd0ZlZSAmJiAoaXRlbS5mZWUgIT0gbnVsbCB8fCBpdGVtLmRlcG9zaXRBbXRNaW4gIT0gbnVsbCk7XG4gICAgaWYgKCFpdGVtLmRlc2NyaXB0aW9uICYmICFoYXNGZWUpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgYWxpZ246ICdlbmQnLCBnYXA6IDAsIGNoaWxkcmVuOiBbaXRlbS5kZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBzdHJvbmc6IHRydWUsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS5kZXNjcmlwdGlvbiB9KSksIGhhc0ZlZSAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IHJlbmRlckZlZUxpbmUoaXRlbSkgfSkpXSB9KSk7XG59O1xuY29uc3QgUGF5bWVudE1ldGhvZFNlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsID0gJ1BheW1lbnQgbWV0aG9kJywgbmFtZSA9ICdwYXltZW50TWV0aG9kJywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IHBheW1lbnQgbWV0aG9kJywgc3Ryb25nID0gdHJ1ZSwgc2hvd0ZlZSA9IHRydWUsIHNob3dUYWdzID0gdHJ1ZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcIm5hbWVcIiwgXCJwbGFjZWhvbGRlclwiLCBcInN0cm9uZ1wiLCBcInNob3dGZWVcIiwgXCJzaG93VGFnc1wiXSk7XG4gICAgY29uc3QgbWFwcGVkID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLm1hcCh0b09wdGlvbiksIFtvcHRpb25zXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBvcHRpb25zOiBtYXBwZWQsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbaXRlbS5pY29uICYmIChfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pLCByZW5kZXJNZXRhQ29sdW1uKGl0ZW0sIHNob3dGZWUpXSB9KSk7XG4gICAgICAgIH0sIHJlbmRlck9wdGlvbkNvbnRlbnQ6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbaXRlbS5pY29uICYmIChfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSksIHNob3dUYWdzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX2IgPSBpdGVtLnRhZ3MpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5tYXAoKHRhZywgaW5kZXgpID0+IChfanN4KFRhZywgeyBjb2xvcjogJ3N1Y2Nlc3MnLCBsYWJlbDogdGFnIH0sIGAke3RhZ30tJHtpbmRleH1gKSkpKV0gfSksIHJlbmRlck1ldGFDb2x1bW4oaXRlbSwgc2hvd0ZlZSldIH0pKTtcbiAgICAgICAgfSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBQYXltZW50TWV0aG9kU2VsZWN0ID0gbWVtbyhQYXltZW50TWV0aG9kU2VsZWN0QmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -67,4 +67,15 @@ export interface PaymentMethodSelectProps extends Omit<SelectProps, 'options' |
|
|
|
67
67
|
* @default true
|
|
68
68
|
*/
|
|
69
69
|
strong?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Show the per-option fee / minimum-deposit line in the trigger and dropdown.
|
|
72
|
+
* Set to false for data sources without fee info (e.g. recipient bank dict).
|
|
73
|
+
* @default true
|
|
74
|
+
*/
|
|
75
|
+
showFee?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Show tag badges next to the option label in the dropdown options.
|
|
78
|
+
* @default true
|
|
79
|
+
*/
|
|
80
|
+
showTags?: boolean;
|
|
70
81
|
}
|
|
@@ -20,12 +20,6 @@
|
|
|
20
20
|
* gap: om-spacing-value(2); // Returns 8px if $om-sys-spacing-unit is 4px
|
|
21
21
|
* }
|
|
22
22
|
*/
|
|
23
|
-
.om-payment-method-select .om-component-ui-select-trigger-large {
|
|
24
|
-
height: 56px;
|
|
25
|
-
}
|
|
26
|
-
.om-payment-method-select .om-component-ui-select-trigger-small {
|
|
27
|
-
height: 44px;
|
|
28
|
-
}
|
|
29
23
|
.om-payment-method-select .om-component-ui-select-value {
|
|
30
24
|
overflow: visible;
|
|
31
25
|
white-space: normal;
|