@1money/component-ui 0.0.67 → 0.0.69
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/Filter/Account/Account.d.ts +2 -0
- package/es/business/Filter/Account/Account.js +289 -0
- package/es/business/Filter/Account/index.d.ts +2 -0
- package/es/business/Filter/Account/index.js +3 -0
- package/es/business/Filter/Account/interface.d.ts +83 -0
- package/es/business/Filter/Account/interface.js +2 -0
- package/es/business/Filter/Account/style/Account.css +84 -0
- package/es/business/Filter/Account/style/css.js +2 -0
- package/es/business/Filter/Account/style/index.d.ts +1 -0
- package/es/business/Filter/Account/style/index.js +2 -0
- package/es/business/Filter/Asset/Asset.d.ts +2 -0
- package/es/business/Filter/Asset/Asset.js +306 -0
- package/es/business/Filter/Asset/index.d.ts +2 -0
- package/es/business/Filter/Asset/index.js +3 -0
- package/es/business/Filter/Asset/interface.d.ts +90 -0
- package/es/business/Filter/Asset/interface.js +2 -0
- package/es/business/Filter/Asset/style/Asset.css +96 -0
- package/es/business/Filter/Asset/style/css.js +2 -0
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -0
- package/es/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/es/business/Filter/DateRange/DateRange.js +393 -0
- package/es/business/Filter/DateRange/index.d.ts +2 -0
- package/es/business/Filter/DateRange/index.js +3 -0
- package/es/business/Filter/DateRange/interface.d.ts +68 -0
- package/es/business/Filter/DateRange/interface.js +9 -0
- package/es/business/Filter/DateRange/style/DateRange.css +85 -0
- package/es/business/Filter/DateRange/style/css.js +2 -0
- package/es/business/Filter/DateRange/style/index.d.ts +1 -0
- package/es/business/Filter/DateRange/style/index.js +2 -0
- package/es/business/Filter/Option/Option.d.ts +2 -0
- package/es/business/Filter/Option/Option.js +264 -0
- package/es/business/Filter/Option/index.d.ts +2 -0
- package/es/business/Filter/Option/index.js +3 -0
- package/es/business/Filter/Option/interface.d.ts +81 -0
- package/es/business/Filter/Option/interface.js +2 -0
- package/es/business/Filter/Option/style/Option.css +72 -0
- package/es/business/Filter/Option/style/css.js +2 -0
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -0
- package/es/business/Filter/index.d.ts +4 -0
- package/es/business/Filter/index.js +5 -0
- package/es/business/Select/Asset/AssetSelect.js +49 -27
- package/es/business/Select/Asset/interface.d.ts +16 -1
- package/es/business/Select/Asset/style/AssetSelect.css +5 -0
- package/es/business/Select/Network/NetworkSelect.js +79 -13
- package/es/business/Select/Network/interface.d.ts +43 -9
- package/es/business/Select/Network/interface.js +9 -2
- package/es/business/Select/Network/style/NetworkSelect.css +10 -0
- package/es/business/index.d.ts +1 -0
- package/es/business/index.js +2 -1
- package/es/components/ProForm/interface.d.ts +3 -1
- package/es/components/ProForm/layouts/QueryFilter.js +5 -1
- package/es/components/ProTable/ProTable.d.ts +5 -0
- package/es/components/ProTable/ProTable.js +309 -0
- package/es/components/ProTable/constants.d.ts +12 -0
- package/es/components/ProTable/constants.js +12 -0
- package/es/components/ProTable/core/genColumns.d.ts +10 -0
- package/es/components/ProTable/core/genColumns.js +81 -0
- package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/es/components/ProTable/core/genSearchFields.js +103 -0
- package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/es/components/ProTable/core/useAwaitableReload.js +39 -0
- package/es/components/ProTable/core/utils.d.ts +12 -0
- package/es/components/ProTable/core/utils.js +21 -0
- package/es/components/ProTable/index.d.ts +4 -0
- package/es/components/ProTable/index.js +5 -0
- package/es/components/ProTable/interface.d.ts +132 -0
- package/es/components/ProTable/interface.js +2 -0
- package/es/components/ProTable/style/ProTable.css +47 -0
- package/es/components/ProTable/style/css.js +6 -0
- package/es/components/ProTable/style/index.d.ts +5 -0
- package/es/components/ProTable/style/index.js +6 -0
- package/es/components/ProTable/useFetchData.d.ts +48 -0
- package/es/components/ProTable/useFetchData.js +270 -0
- package/es/components/Select/Select.js +3 -2
- package/es/components/Select/interface.d.ts +2 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.d.ts +2 -0
- package/lib/business/Filter/Account/Account.js +296 -0
- package/lib/business/Filter/Account/index.d.ts +2 -0
- package/lib/business/Filter/Account/index.js +28 -0
- package/lib/business/Filter/Account/interface.d.ts +83 -0
- package/lib/business/Filter/Account/interface.js +6 -0
- package/lib/business/Filter/Account/style/Account.css +84 -0
- package/lib/business/Filter/Account/style/css.js +4 -0
- package/lib/business/Filter/Account/style/index.d.ts +1 -0
- package/lib/business/Filter/Account/style/index.js +4 -0
- package/lib/business/Filter/Asset/Asset.d.ts +2 -0
- package/lib/business/Filter/Asset/Asset.js +313 -0
- package/lib/business/Filter/Asset/index.d.ts +2 -0
- package/lib/business/Filter/Asset/index.js +28 -0
- package/lib/business/Filter/Asset/interface.d.ts +90 -0
- package/lib/business/Filter/Asset/interface.js +6 -0
- package/lib/business/Filter/Asset/style/Asset.css +96 -0
- package/lib/business/Filter/Asset/style/css.js +4 -0
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +4 -0
- package/lib/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/lib/business/Filter/DateRange/DateRange.js +400 -0
- package/lib/business/Filter/DateRange/index.d.ts +2 -0
- package/lib/business/Filter/DateRange/index.js +28 -0
- package/lib/business/Filter/DateRange/interface.d.ts +68 -0
- package/lib/business/Filter/DateRange/interface.js +15 -0
- package/lib/business/Filter/DateRange/style/DateRange.css +85 -0
- package/lib/business/Filter/DateRange/style/css.js +4 -0
- package/lib/business/Filter/DateRange/style/index.d.ts +1 -0
- package/lib/business/Filter/DateRange/style/index.js +4 -0
- package/lib/business/Filter/Option/Option.d.ts +2 -0
- package/lib/business/Filter/Option/Option.js +271 -0
- package/lib/business/Filter/Option/index.d.ts +2 -0
- package/lib/business/Filter/Option/index.js +28 -0
- package/lib/business/Filter/Option/interface.d.ts +81 -0
- package/lib/business/Filter/Option/interface.js +6 -0
- package/lib/business/Filter/Option/style/Option.css +72 -0
- package/lib/business/Filter/Option/style/css.js +4 -0
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +4 -0
- package/lib/business/Filter/index.d.ts +4 -0
- package/lib/business/Filter/index.js +50 -0
- package/lib/business/Select/Asset/AssetSelect.js +49 -27
- package/lib/business/Select/Asset/interface.d.ts +16 -1
- package/lib/business/Select/Asset/style/AssetSelect.css +5 -0
- package/lib/business/Select/Network/NetworkSelect.js +80 -13
- package/lib/business/Select/Network/interface.d.ts +43 -9
- package/lib/business/Select/Network/interface.js +10 -1
- package/lib/business/Select/Network/style/NetworkSelect.css +10 -0
- package/lib/business/index.d.ts +1 -0
- package/lib/business/index.js +12 -1
- package/lib/components/ProForm/interface.d.ts +3 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
- package/lib/components/ProTable/ProTable.d.ts +5 -0
- package/lib/components/ProTable/ProTable.js +316 -0
- package/lib/components/ProTable/constants.d.ts +12 -0
- package/lib/components/ProTable/constants.js +18 -0
- package/lib/components/ProTable/core/genColumns.d.ts +10 -0
- package/lib/components/ProTable/core/genColumns.js +87 -0
- package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/lib/components/ProTable/core/genSearchFields.js +111 -0
- package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
- package/lib/components/ProTable/core/utils.d.ts +12 -0
- package/lib/components/ProTable/core/utils.js +28 -0
- package/lib/components/ProTable/index.d.ts +4 -0
- package/lib/components/ProTable/index.js +33 -0
- package/lib/components/ProTable/interface.d.ts +132 -0
- package/lib/components/ProTable/interface.js +6 -0
- package/lib/components/ProTable/style/ProTable.css +47 -0
- package/lib/components/ProTable/style/css.js +8 -0
- package/lib/components/ProTable/style/index.d.ts +5 -0
- package/lib/components/ProTable/style/index.js +8 -0
- package/lib/components/ProTable/useFetchData.d.ts +48 -0
- package/lib/components/ProTable/useFetchData.js +277 -0
- package/lib/components/Select/Select.js +3 -2
- package/lib/components/Select/interface.d.ts +2 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +31 -1
- package/scripts/mcp-server/examples.generated.json +156 -0
- package/scripts/mcp-server/index.generated.json +741 -1
|
@@ -10,6 +10,7 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
10
10
|
};
|
|
11
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
import { memo, useMemo, useState } from 'react';
|
|
13
|
+
import { numericFormatter } from 'react-number-format';
|
|
13
14
|
import { Empty } from '../../../components/Empty';
|
|
14
15
|
import { Flex } from '../../../components/Flex';
|
|
15
16
|
import { Select } from '../../../components/Select';
|
|
@@ -17,6 +18,7 @@ import { TypographyBody, TypographyLabel } from '../../../components/Typography'
|
|
|
17
18
|
import { joinCls } from '../../../utils/classnames';
|
|
18
19
|
var WRAP_CLS = 'om-asset-select';
|
|
19
20
|
var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
21
|
+
var BALANCE_CLS = "".concat(WRAP_CLS, "-balance");
|
|
20
22
|
var ICON_SIZE = 24;
|
|
21
23
|
var GROUP_FIAT = 'Cash';
|
|
22
24
|
var GROUP_CRYPTO = 'Stablecoins';
|
|
@@ -26,6 +28,7 @@ var toOption = function toOption(currency) {
|
|
|
26
28
|
value: currency.currencyName,
|
|
27
29
|
icon: currency.currencyIconUrl,
|
|
28
30
|
name: currency.currencyDesc,
|
|
31
|
+
balance: currency.currencyBalance,
|
|
29
32
|
// Match the search against both the symbol and the human-readable name.
|
|
30
33
|
searchText: "".concat(currency.currencyName, " ").concat(currency.currencyDesc)
|
|
31
34
|
};
|
|
@@ -56,10 +59,12 @@ var AssetSelectBase = function AssetSelectBase(_a) {
|
|
|
56
59
|
filterInputAutoFocus = _a$filterInputAutoFoc === void 0 ? true : _a$filterInputAutoFoc,
|
|
57
60
|
_a$strong = _a.strong,
|
|
58
61
|
strong = _a$strong === void 0 ? true : _a$strong,
|
|
62
|
+
_a$showBalance = _a.showBalance,
|
|
63
|
+
showBalance = _a$showBalance === void 0 ? false : _a$showBalance,
|
|
59
64
|
emptyContent = _a.emptyContent,
|
|
60
65
|
onSearchChange = _a.onSearchChange,
|
|
61
66
|
panelClassName = _a.panelClassName,
|
|
62
|
-
rest = __rest(_a, ["options", "className", "labelClassName", "label", "name", "placeholder", "searchable", "filterInputAutoFocus", "strong", "emptyContent", "onSearchChange", "panelClassName"]);
|
|
67
|
+
rest = __rest(_a, ["options", "className", "labelClassName", "label", "name", "placeholder", "searchable", "filterInputAutoFocus", "strong", "showBalance", "emptyContent", "onSearchChange", "panelClassName"]);
|
|
63
68
|
var _useState = useState(''),
|
|
64
69
|
_useState2 = _slicedToArray(_useState, 2),
|
|
65
70
|
keyword = _useState2[0],
|
|
@@ -69,18 +74,20 @@ var AssetSelectBase = function AssetSelectBase(_a) {
|
|
|
69
74
|
onSearchChange === null || onSearchChange === void 0 ? void 0 : onSearchChange(value);
|
|
70
75
|
};
|
|
71
76
|
var groupedOptions = useMemo(function () {
|
|
72
|
-
var groups = [];
|
|
73
77
|
var fiat = toGroupOptions(options.fiat);
|
|
74
78
|
var crypto = toGroupOptions(options.crypto);
|
|
75
|
-
|
|
79
|
+
// With only one populated group, drop the group label and render a flat
|
|
80
|
+
// list — a lone "Cash"/"Stablecoins" heading is just noise. `Select` only
|
|
81
|
+
// shows a heading for groups that carry a truthy `label`.
|
|
82
|
+
if (fiat.length === 0) return crypto;
|
|
83
|
+
if (crypto.length === 0) return fiat;
|
|
84
|
+
return [{
|
|
76
85
|
label: GROUP_FIAT,
|
|
77
86
|
options: fiat
|
|
78
|
-
}
|
|
79
|
-
if (crypto.length > 0) groups.push({
|
|
87
|
+
}, {
|
|
80
88
|
label: GROUP_CRYPTO,
|
|
81
89
|
options: crypto
|
|
82
|
-
}
|
|
83
|
-
return groups;
|
|
90
|
+
}];
|
|
84
91
|
}, [options.fiat, options.crypto]);
|
|
85
92
|
return _jsx(Select, Object.assign({}, rest, {
|
|
86
93
|
label: label,
|
|
@@ -121,40 +128,55 @@ var AssetSelectBase = function AssetSelectBase(_a) {
|
|
|
121
128
|
});
|
|
122
129
|
},
|
|
123
130
|
renderOptionContent: function renderOptionContent(option) {
|
|
124
|
-
var _a;
|
|
131
|
+
var _a, _b;
|
|
125
132
|
var item = option;
|
|
126
133
|
return _jsxs(Flex, {
|
|
127
134
|
align: 'center',
|
|
135
|
+
justify: 'space-between',
|
|
128
136
|
gap: 8,
|
|
129
137
|
style: {
|
|
130
138
|
width: '100%'
|
|
131
139
|
},
|
|
132
|
-
children: [
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
width: ICON_SIZE,
|
|
136
|
-
height: ICON_SIZE,
|
|
137
|
-
className: ICON_CLS
|
|
138
|
-
}), _jsxs(Flex, {
|
|
139
|
-
vertical: true,
|
|
140
|
-
gap: 0,
|
|
141
|
-
align: 'start',
|
|
140
|
+
children: [_jsxs(Flex, {
|
|
141
|
+
align: 'center',
|
|
142
|
+
gap: 8,
|
|
142
143
|
style: {
|
|
143
144
|
minWidth: 0
|
|
144
145
|
},
|
|
145
|
-
children: [_jsx(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
146
|
+
children: [_jsx("img", {
|
|
147
|
+
src: item.icon,
|
|
148
|
+
alt: String((_a = item.value) !== null && _a !== void 0 ? _a : ''),
|
|
149
|
+
width: ICON_SIZE,
|
|
150
|
+
height: ICON_SIZE,
|
|
151
|
+
className: ICON_CLS
|
|
152
|
+
}), _jsxs(Flex, {
|
|
153
|
+
vertical: true,
|
|
154
|
+
gap: 0,
|
|
155
|
+
align: 'start',
|
|
156
|
+
style: {
|
|
157
|
+
minWidth: 0
|
|
158
|
+
},
|
|
159
|
+
children: [_jsx(TypographyLabel, {
|
|
160
|
+
size: 'md',
|
|
161
|
+
color: 'default',
|
|
162
|
+
children: item.label
|
|
163
|
+
}), _jsx(TypographyBody, {
|
|
164
|
+
size: 'sm',
|
|
165
|
+
color: 'default-tertiary',
|
|
166
|
+
children: item.name
|
|
167
|
+
})]
|
|
153
168
|
})]
|
|
169
|
+
}), showBalance && item.balance != null && _jsxs(TypographyBody, {
|
|
170
|
+
size: 'md',
|
|
171
|
+
color: 'default',
|
|
172
|
+
className: BALANCE_CLS,
|
|
173
|
+
children: [numericFormatter(item.balance, {
|
|
174
|
+
thousandSeparator: true
|
|
175
|
+
}), " ", String((_b = item.value) !== null && _b !== void 0 ? _b : '')]
|
|
154
176
|
})]
|
|
155
177
|
});
|
|
156
178
|
}
|
|
157
179
|
}));
|
|
158
180
|
};
|
|
159
181
|
export var AssetSelect = /*#__PURE__*/memo(AssetSelectBase);
|
|
160
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwiRW1wdHkiLCJGbGV4IiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJUeXBvZ3JhcGh5TGFiZWwiLCJqb2luQ2xzIiwiV1JBUF9DTFMiLCJJQ09OX0NMUyIsImNvbmNhdCIsIklDT05fU0laRSIsIkdST1VQX0ZJQVQiLCJHUk9VUF9DUllQVE8iLCJ0b09wdGlvbiIsImN1cnJlbmN5IiwibGFiZWwiLCJjdXJyZW5jeU5hbWUiLCJ2YWx1ZSIsImljb24iLCJjdXJyZW5jeUljb25VcmwiLCJuYW1lIiwiY3VycmVuY3lEZXNjIiwic2VhcmNoVGV4dCIsImJ5T3JkZXIiLCJhIiwiYiIsIl9hIiwiX2IiLCJvcmRlciIsInRvR3JvdXBPcHRpb25zIiwiY3VycmVuY2llcyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJtYXAiLCJBc3NldFNlbGVjdEJhc2UiLCJvcHRpb25zIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsImVtcHR5Q29udGVudCIsIm9uU2VhcmNoQ2hhbmdlIiwicGFuZWxDbGFzc05hbWUiLCJyZXN0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwia2V5d29yZCIsInNldEtleXdvcmQiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJncm91cGVkT3B0aW9ucyIsImdyb3VwcyIsImZpYXQiLCJjcnlwdG8iLCJwdXNoIiwiYXNzaWduIiwiZGVzY3JpcHRpb24iLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWYiLCJmb250U2l6ZSIsIkFycmF5IiwiaXNBcnJheSIsIml0ZW0iLCJhbGlnbiIsImdhcCIsImNoaWxkcmVuIiwic3JjIiwiYWx0IiwiU3RyaW5nIiwid2lkdGgiLCJoZWlnaHQiLCJzaXplIiwicmVuZGVyT3B0aW9uQ29udGVudCIsInN0eWxlIiwidmVydGljYWwiLCJtaW5XaWR0aCIsImNvbG9yIiwiQXNzZXRTZWxlY3QiXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFC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QzZFLElBQUksRUFBQyxJQUFJO1lBQUNLLEtBQUssRUFBQyxTQUFTO1lBQUFYLFFBQUEsRUFDdkNILElBQUksQ0FBQzFEO1VBQUssQ0FBQSxDQUNLLEVBQ2xCcEIsSUFBQSxDQUFDUyxjQUFjLEVBQUE7WUFBQzhFLElBQUksRUFBQyxJQUFJO1lBQUNLLEtBQUssRUFBQyxrQkFBa0I7WUFBQVgsUUFBQSxFQUMvQ0gsSUFBSSxDQUFDckQ7VUFBSSxDQUFBLENBQ0s7UUFBQSxDQUFBLENBQ1o7TUFBQSxDQUFBLENBQ0Y7SUFFWDtFQUFDLENBQUEsQ0FBQSxDQUNEO0FBRU4sQ0FBQztBQUVELE9BQU8sSUFBTW9FLFdBQVcsZ0JBQUcxRixJQUFJLENBQUNzQyxlQUFlLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1hc3NldC1zZWxlY3QnO1xuY29uc3QgSUNPTl9DTFMgPSBgJHtXUkFQX0NMU30taWNvbmA7XG5jb25zdCBJQ09OX1NJWkUgPSAyNDtcbmNvbnN0IEdST1VQX0ZJQVQgPSAnQ2FzaCc7XG5jb25zdCBHUk9VUF9DUllQVE8gPSAnU3RhYmxlY29pbnMnO1xuY29uc3QgdG9PcHRpb24gPSAoY3VycmVuY3kpID0+ICh7XG4gICAgbGFiZWw6IGN1cnJlbmN5LmN1cnJlbmN5TmFtZSxcbiAgICB2YWx1ZTogY3VycmVuY3kuY3VycmVuY3lOYW1lLFxuICAgIGljb246IGN1cnJlbmN5LmN1cnJlbmN5SWNvblVybCxcbiAgICBuYW1lOiBjdXJyZW5jeS5jdXJyZW5jeURlc2MsXG4gICAgLy8gTWF0Y2ggdGhlIHNlYXJjaCBhZ2FpbnN0IGJvdGggdGhlIHN5bWJvbCBhbmQgdGhlIGh1bWFuLXJlYWRhYmxlIG5hbWUuXG4gICAgc2VhcmNoVGV4dDogYCR7Y3VycmVuY3kuY3VycmVuY3lOYW1lfSAke2N1cnJlbmN5LmN1cnJlbmN5RGVzY31gLFxufSk7XG4vLyBTb3J0IHdpdGhpbiBhIGdyb3VwIGJ5IHRoZSBiYWNrZW5kIGBvcmRlcmAgKGFzY2VuZGluZykuIENvcGllcyB0aGUgYXJyYXkgc29cbi8vIHRoZSBjYWxsZXIncyBgb3B0aW9uc2AgaXMgbmV2ZXIgbXV0YXRlZDsgbWlzc2luZyBgb3JkZXJgIGZhbGxzIGJhY2sgdG8gMC5cbmNvbnN0IGJ5T3JkZXIgPSAoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKChfYSA9IGEub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApIC0gKChfYiA9IGIub3JkZXIpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDApOyB9O1xuY29uc3QgdG9Hcm91cE9wdGlvbnMgPSAoY3VycmVuY2llcyA9IFtdKSA9PiBbLi4uY3VycmVuY2llc10uc29ydChieU9yZGVyKS5tYXAodG9PcHRpb24pO1xuY29uc3QgQXNzZXRTZWxlY3RCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgb3B0aW9ucywgY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZSwgbGFiZWwgPSAnQXNzZXQnLCBuYW1lID0gJ2Fzc2V0JywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IGFzc2V0Jywgc2VhcmNoYWJsZSA9IHRydWUsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgc3Ryb25nID0gdHJ1ZSwgZW1wdHlDb250ZW50LCBvblNlYXJjaENoYW5nZSwgcGFuZWxDbGFzc05hbWUgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxDbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcIm5hbWVcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNlYXJjaGFibGVcIiwgXCJmaWx0ZXJJbnB1dEF1dG9Gb2N1c1wiLCBcInN0cm9uZ1wiLCBcImVtcHR5Q29udGVudFwiLCBcIm9uU2VhcmNoQ2hhbmdlXCIsIFwicGFuZWxDbGFzc05hbWVcIl0pO1xuICAgIGNvbnN0IFtrZXl3b3JkLCBzZXRLZXl3b3JkXSA9IHVzZVN0YXRlKCcnKTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICAgICAgc2V0S2V5d29yZCh2YWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZSh2YWx1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBncm91cGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cHMgPSBbXTtcbiAgICAgICAgY29uc3QgZmlhdCA9IHRvR3JvdXBPcHRpb25zKG9wdGlvbnMuZmlhdCk7XG4gICAgICAgIGNvbnN0IGNyeXB0byA9IHRvR3JvdXBPcHRpb25zKG9wdGlvbnMuY3J5cHRvKTtcbiAgICAgICAgaWYgKGZpYXQubGVuZ3RoID4gMClcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKHsgbGFiZWw6IEdST1VQX0ZJQVQsIG9wdGlvbnM6IGZpYXQgfSk7XG4gICAgICAgIGlmIChjcnlwdG8ubGVuZ3RoID4gMClcbiAgICAgICAgICAgIGdyb3Vwcy5wdXNoKHsgbGFiZWw6IEdST1VQX0NSWVBUTywgb3B0aW9uczogY3J5cHRvIH0pO1xuICAgICAgICByZXR1cm4gZ3JvdXBzO1xuICAgIH0sIFtvcHRpb25zLmZpYXQsIG9wdGlvbnMuY3J5cHRvXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgc2VhcmNoYWJsZTogc2VhcmNoYWJsZSwgZmlsdGVySW5wdXRBdXRvRm9jdXM6IGZpbHRlcklucHV0QXV0b0ZvY3VzLCBvblNlYXJjaENoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCAhPT0gbnVsbCAmJiBlbXB0eUNvbnRlbnQgIT09IHZvaWQgMCA/IGVtcHR5Q29udGVudCA6IChfanN4KEVtcHR5LCB7IGljb246ICdjb2luJywgZGVzY3JpcHRpb246IGtleXdvcmQgPyBgTm8gcmVzdWx0cyBmb3IgXCIke2tleXdvcmR9XCJgIDogJ05vIHJlc3VsdHMnIH0pKSwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBsYWJlbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tbGFiZWxgLCBsYWJlbENsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfS1wYW5lbGAsIHBhbmVsQ2xhc3NOYW1lKSwgb3B0aW9uczogZ3JvdXBlZE9wdGlvbnMsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pKTtcbiAgICAgICAgfSwgcmVuZGVyT3B0aW9uQ29udGVudDogKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbjtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogaXRlbS5sYWJlbCB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogaXRlbS5uYW1lIH0pXSB9KV0gfSkpO1xuICAgICAgICB9IH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IEFzc2V0U2VsZWN0ID0gbWVtbyhBc3NldFNlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
182
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwibnVtZXJpY0Zvcm1hdHRlciIsIkVtcHR5IiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiam9pbkNscyIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJCQUxBTkNFX0NMUyIsIklDT05fU0laRSIsIkdST1VQX0ZJQVQiLCJHUk9VUF9DUllQVE8iLCJ0b09wdGlvbiIsImN1cnJlbmN5IiwibGFiZWwiLCJjdXJyZW5jeU5hbWUiLCJ2YWx1ZSIsImljb24iLCJjdXJyZW5jeUljb25VcmwiLCJuYW1lIiwiY3VycmVuY3lEZXNjIiwiYmFsYW5jZSIsImN1cnJlbmN5QmFsYW5jZSIsInNlYXJjaFRleHQiLCJieU9yZGVyIiwiYSIsImIiLCJfYSIsIl9iIiwib3JkZXIiLCJ0b0dyb3VwT3B0aW9ucyIsImN1cnJlbmNpZXMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwibWFwIiwiQXNzZXRTZWxlY3RCYXNlIiwib3B0aW9ucyIsImNsYXNzTmFtZSIsImxhYmVsQ2xhc3NOYW1lIiwiX2EkbGFiZWwiLCJfYSRuYW1lIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJHNlYXJjaGFibGUiLCJzZWFyY2hhYmxlIiwiX2EkZmlsdGVySW5wdXRBdXRvRm9jIiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJfYSRzdHJvbmciLCJzdHJvbmciLCJfYSRzaG93QmFsYW5jZSIsInNob3dCYWxhbmNlIiwiZW1wdHlDb250ZW50Iiwib25TZWFyY2hDaGFuZ2UiLCJwYW5lbENsYXNzTmFtZSIsInJlc3QiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJrZXl3b3JkIiwic2V0S2V5d29yZCIsImhhbmRsZVNlYXJjaENoYW5nZSIsImdyb3VwZWRPcHRpb25zIiwiZmlhdCIsImNyeXB0byIsImFzc2lnbiIsImRlc2NyaXB0aW9uIiwicmVuZGVyVmFsdWUiLCJvcHRpb24iLCJfcmVmIiwiZm9udFNpemUiLCJBcnJheSIsImlzQXJyYXkiLCJpdGVtIiwiYWxpZ24iLCJnYXAiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIlN0cmluZyIsIndpZHRoIiwiaGVpZ2h0Iiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJqdXN0aWZ5Iiwic3R5bGUiLCJtaW5XaWR0aCIsInZlcnRpY2FsIiwiY29sb3IiLCJ0aG91c2FuZFNlcGFyYXRvciIsIkFzc2V0U2VsZWN0Il0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUks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Q0FBQyxFQUFBLEdBQUEsRUFBR1YsTUFBTSxDQUFDLENBQUFwRCxFQUFBLEdBQUE4QyxJQUFJLENBQUMxRCxLQUFLLE1BQUEsSUFBQSxJQUFBWSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLENBQUM7UUFBQSxDQUFBLENBRTFGO01BQUEsQ0FBQSxDQUNJO0lBRVg7RUFBQyxDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU0rRCxXQUFXLGdCQUFHaEcsSUFBSSxDQUFDMEMsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9FbXB0eSc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tYXNzZXQtc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgQkFMQU5DRV9DTFMgPSBgJHtXUkFQX0NMU30tYmFsYW5jZWA7XG5jb25zdCBJQ09OX1NJWkUgPSAyNDtcbmNvbnN0IEdST1VQX0ZJQVQgPSAnQ2FzaCc7XG5jb25zdCBHUk9VUF9DUllQVE8gPSAnU3RhYmxlY29pbnMnO1xuY29uc3QgdG9PcHRpb24gPSAoY3VycmVuY3kpID0+ICh7XG4gICAgbGFiZWw6IGN1cnJlbmN5LmN1cnJlbmN5TmFtZSxcbiAgICB2YWx1ZTogY3VycmVuY3kuY3VycmVuY3lOYW1lLFxuICAgIGljb246IGN1cnJlbmN5LmN1cnJlbmN5SWNvblVybCxcbiAgICBuYW1lOiBjdXJyZW5jeS5jdXJyZW5jeURlc2MsXG4gICAgYmFsYW5jZTogY3VycmVuY3kuY3VycmVuY3lCYWxhbmNlLFxuICAgIC8vIE1hdGNoIHRoZSBzZWFyY2ggYWdhaW5zdCBib3RoIHRoZSBzeW1ib2wgYW5kIHRoZSBodW1hbi1yZWFkYWJsZSBuYW1lLlxuICAgIHNlYXJjaFRleHQ6IGAke2N1cnJlbmN5LmN1cnJlbmN5TmFtZX0gJHtjdXJyZW5jeS5jdXJyZW5jeURlc2N9YCxcbn0pO1xuLy8gU29ydCB3aXRoaW4gYSBncm91cCBieSB0aGUgYmFja2VuZCBgb3JkZXJgIChhc2NlbmRpbmcpLiBDb3BpZXMgdGhlIGFycmF5IHNvXG4vLyB0aGUgY2FsbGVyJ3MgYG9wdGlvbnNgIGlzIG5ldmVyIG11dGF0ZWQ7IG1pc3NpbmcgYG9yZGVyYCBmYWxscyBiYWNrIHRvIDAuXG5jb25zdCBieU9yZGVyID0gKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoX2EgPSBhLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKSAtICgoX2IgPSBiLm9yZGVyKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwKTsgfTtcbmNvbnN0IHRvR3JvdXBPcHRpb25zID0gKGN1cnJlbmNpZXMgPSBbXSkgPT4gWy4uLmN1cnJlbmNpZXNdLnNvcnQoYnlPcmRlcikubWFwKHRvT3B0aW9uKTtcbmNvbnN0IEFzc2V0U2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWUsIGxhYmVsID0gJ0Fzc2V0JywgbmFtZSA9ICdhc3NldCcsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhc3NldCcsIHNlYXJjaGFibGUgPSB0cnVlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIHN0cm9uZyA9IHRydWUsIHNob3dCYWxhbmNlID0gZmFsc2UsIGVtcHR5Q29udGVudCwgb25TZWFyY2hDaGFuZ2UsIHBhbmVsQ2xhc3NOYW1lIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wib3B0aW9uc1wiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzZWFyY2hhYmxlXCIsIFwiZmlsdGVySW5wdXRBdXRvRm9jdXNcIiwgXCJzdHJvbmdcIiwgXCJzaG93QmFsYW5jZVwiLCBcImVtcHR5Q29udGVudFwiLCBcIm9uU2VhcmNoQ2hhbmdlXCIsIFwicGFuZWxDbGFzc05hbWVcIl0pO1xuICAgIGNvbnN0IFtrZXl3b3JkLCBzZXRLZXl3b3JkXSA9IHVzZVN0YXRlKCcnKTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICAgICAgc2V0S2V5d29yZCh2YWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZSh2YWx1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBncm91cGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWF0ID0gdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5maWF0KTtcbiAgICAgICAgY29uc3QgY3J5cHRvID0gdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5jcnlwdG8pO1xuICAgICAgICAvLyBXaXRoIG9ubHkgb25lIHBvcHVsYXRlZCBncm91cCwgZHJvcCB0aGUgZ3JvdXAgbGFiZWwgYW5kIHJlbmRlciBhIGZsYXRcbiAgICAgICAgLy8gbGlzdCDigJQgYSBsb25lIFwiQ2FzaFwiL1wiU3RhYmxlY29pbnNcIiBoZWFkaW5nIGlzIGp1c3Qgbm9pc2UuIGBTZWxlY3RgIG9ubHlcbiAgICAgICAgLy8gc2hvd3MgYSBoZWFkaW5nIGZvciBncm91cHMgdGhhdCBjYXJyeSBhIHRydXRoeSBgbGFiZWxgLlxuICAgICAgICBpZiAoZmlhdC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY3J5cHRvO1xuICAgICAgICBpZiAoY3J5cHRvLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBmaWF0O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfRklBVCwgb3B0aW9uczogZmlhdCB9LFxuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfQ1JZUFRPLCBvcHRpb25zOiBjcnlwdG8gfSxcbiAgICAgICAgXTtcbiAgICB9LCBbb3B0aW9ucy5maWF0LCBvcHRpb25zLmNyeXB0b10pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbGFiZWw6IGxhYmVsLCBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHNlYXJjaGFibGU6IHNlYXJjaGFibGUsIGZpbHRlcklucHV0QXV0b0ZvY3VzOiBmaWx0ZXJJbnB1dEF1dG9Gb2N1cywgb25TZWFyY2hDaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgZW1wdHlDb250ZW50OiBlbXB0eUNvbnRlbnQgIT09IG51bGwgJiYgZW1wdHlDb250ZW50ICE9PSB2b2lkIDAgPyBlbXB0eUNvbnRlbnQgOiAoX2pzeChFbXB0eSwgeyBpY29uOiAnY29pbicsIGRlc2NyaXB0aW9uOiBrZXl3b3JkID8gYE5vIHJlc3VsdHMgZm9yIFwiJHtrZXl3b3JkfVwiYCA6ICdObyByZXN1bHRzJyB9KSksIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgbGFiZWxDbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9LWxhYmVsYCwgbGFiZWxDbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tcGFuZWxgLCBwYW5lbENsYXNzTmFtZSksIG9wdGlvbnM6IGdyb3VwZWRPcHRpb25zLCByZW5kZXJWYWx1ZTogKG9wdGlvbiwgeyBmb250U2l6ZSB9KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pXSB9KSk7XG4gICAgICAgIH0sIHJlbmRlck9wdGlvbkNvbnRlbnQ6IChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBzdHlsZTogeyBtaW5XaWR0aDogMCB9LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogaXRlbS5sYWJlbCB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogaXRlbS5uYW1lIH0pXSB9KV0gfSksIHNob3dCYWxhbmNlICYmIGl0ZW0uYmFsYW5jZSAhPSBudWxsICYmIChfanN4cyhUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjbGFzc05hbWU6IEJBTEFOQ0VfQ0xTLCBjaGlsZHJlbjogW251bWVyaWNGb3JtYXR0ZXIoaXRlbS5iYWxhbmNlLCB7IHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlIH0pLCBcIiBcIiwgU3RyaW5nKChfYiA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6ICcnKV0gfSkpXSB9KSk7XG4gICAgICAgIH0gfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQXNzZXRTZWxlY3QgPSBtZW1vKEFzc2V0U2VsZWN0QmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -15,7 +15,11 @@ export interface AssetCurrency {
|
|
|
15
15
|
currencyDesc: string;
|
|
16
16
|
/** Display order within its group, e.g. `0`. */
|
|
17
17
|
order?: number;
|
|
18
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Available balance for this currency, e.g. `"9519970.6845"`. Carried by
|
|
20
|
+
* both the fiat and crypto lists; rendered right-aligned in the dropdown
|
|
21
|
+
* option (see `AssetSelectProps.showBalance`). Rows without it stay blank.
|
|
22
|
+
*/
|
|
19
23
|
currencyBalance?: string;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
@@ -52,6 +56,7 @@ export interface AssetSelectProps extends Omit<SelectProps, 'options' | 'renderV
|
|
|
52
56
|
* currencyName: 'USDC',
|
|
53
57
|
* currencyIconUrl: 'https://static.1money.com/images/asset/usdc.png',
|
|
54
58
|
* currencyDesc: 'Circle USD Coin',
|
|
59
|
+
* currencyBalance: '3216.08152971',
|
|
55
60
|
* },
|
|
56
61
|
* ],
|
|
57
62
|
* };
|
|
@@ -65,4 +70,14 @@ export interface AssetSelectProps extends Omit<SelectProps, 'options' | 'renderV
|
|
|
65
70
|
* @default true
|
|
66
71
|
*/
|
|
67
72
|
strong?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Show the available balance, right-aligned, in each dropdown option.
|
|
75
|
+
* Formatted with thousand separators and suffixed with the currency
|
|
76
|
+
* symbol, e.g. `1,732,731.44499492 USDT`. Options without a
|
|
77
|
+
* `currencyBalance` render nothing on the right. The trigger is unaffected.
|
|
78
|
+
*
|
|
79
|
+
* Hidden by default — opt in with `showBalance` where the balance is relevant.
|
|
80
|
+
* @default false
|
|
81
|
+
*/
|
|
82
|
+
showBalance?: boolean;
|
|
68
83
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
1
2
|
var __rest = this && this.__rest || function (s, e) {
|
|
2
3
|
var t = {};
|
|
3
4
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -9,29 +10,74 @@ var __rest = this && this.__rest || function (s, e) {
|
|
|
9
10
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
11
|
import { memo, useMemo } from 'react';
|
|
11
12
|
import { useEventCallback } from '@1money/hooks';
|
|
12
|
-
import { Alert } from '../../../components/Alert';
|
|
13
13
|
import { Flex } from '../../../components/Flex';
|
|
14
14
|
import { Select } from '../../../components/Select';
|
|
15
|
+
import { Tag } from '../../../components/Tag';
|
|
15
16
|
import { TypographyBody } from '../../../components/Typography';
|
|
16
17
|
import { joinCls } from '../../../utils/classnames';
|
|
17
18
|
var WRAP_CLS = 'om-network-select';
|
|
18
19
|
var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
20
|
+
var NAME_CLS = "".concat(WRAP_CLS, "-name");
|
|
21
|
+
var META_CLS = "".concat(WRAP_CLS, "-meta");
|
|
19
22
|
var ICON_SIZE = 24;
|
|
20
|
-
var
|
|
23
|
+
var MODE_WITHDRAW = 'withdraw';
|
|
24
|
+
// Fee value the backend sends for a no-cost network — highlighted in green.
|
|
25
|
+
var FREE_FEE_LABEL = 'Free';
|
|
26
|
+
// `tagStatus` → Tag color, matching the backend `NETWORK_TAG_STATUS` enum:
|
|
27
|
+
// `0` success, `1` recommend, `2` negative. Unknown codes fall back to neutral.
|
|
28
|
+
var TAG_STATUS_SUCCESS = 0;
|
|
29
|
+
var TAG_STATUS_RECOMMENDED = 1;
|
|
30
|
+
var TAG_STATUS_NEGATIVE = 2;
|
|
31
|
+
var TAG_COLOR_BY_STATUS = _defineProperty(_defineProperty(_defineProperty({}, TAG_STATUS_SUCCESS, 'success'), TAG_STATUS_RECOMMENDED, 'recommended'), TAG_STATUS_NEGATIVE, 'negative');
|
|
21
32
|
/** Display-only: the all-caps `network` id with just its first letter capitalized, e.g. `"ETHEREUM"` → `"Ethereum"`. The bound value stays the raw id. */
|
|
22
33
|
var formatNetwork = function formatNetwork(network) {
|
|
23
34
|
return network ? network.charAt(0).toUpperCase() + network.slice(1).toLowerCase() : network;
|
|
24
35
|
};
|
|
25
|
-
|
|
36
|
+
/** Deposit-mode latency, shown on the right of each option. */
|
|
37
|
+
var renderDepositMeta = function renderDepositMeta(item) {
|
|
26
38
|
return _jsx(TypographyBody, {
|
|
27
39
|
size: 'sm',
|
|
28
40
|
color: 'default-secondary',
|
|
29
41
|
children: item.txLatency
|
|
30
42
|
});
|
|
31
43
|
};
|
|
44
|
+
/** Withdraw-mode meta column — pre-formatted `gasFee` (`"Free"` in green) on top, `txLatency` below. Returns `null` when neither is present. */
|
|
45
|
+
var renderWithdrawMeta = function renderWithdrawMeta(item) {
|
|
46
|
+
if (!item.gasFee && !item.txLatency) return null;
|
|
47
|
+
return _jsxs(Flex, {
|
|
48
|
+
vertical: true,
|
|
49
|
+
gap: 0,
|
|
50
|
+
align: 'end',
|
|
51
|
+
className: META_CLS,
|
|
52
|
+
children: [item.gasFee ? _jsx(TypographyBody, {
|
|
53
|
+
size: 'md',
|
|
54
|
+
strong: true,
|
|
55
|
+
color: item.gasFee === FREE_FEE_LABEL ? 'positive' : 'default',
|
|
56
|
+
children: item.gasFee
|
|
57
|
+
}) : null, item.txLatency ? _jsx(TypographyBody, {
|
|
58
|
+
size: 'md',
|
|
59
|
+
strong: true,
|
|
60
|
+
color: 'default-secondary',
|
|
61
|
+
children: item.txLatency
|
|
62
|
+
}) : null]
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
/** Withdraw-mode status badge shown next to the network name. Hidden when there's no `tag` label. */
|
|
66
|
+
var renderTag = function renderTag(item) {
|
|
67
|
+
var _a;
|
|
68
|
+
if (!item.tag) return null;
|
|
69
|
+
var color = item.tagStatus != null ? (_a = TAG_COLOR_BY_STATUS[item.tagStatus]) !== null && _a !== void 0 ? _a : 'neutral' : 'neutral';
|
|
70
|
+
return _jsx(Tag, {
|
|
71
|
+
color: color,
|
|
72
|
+
label: item.tag
|
|
73
|
+
});
|
|
74
|
+
};
|
|
32
75
|
var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
76
|
+
var _b;
|
|
33
77
|
var options = _a.options,
|
|
34
78
|
className = _a.className,
|
|
79
|
+
_a$mode = _a.mode,
|
|
80
|
+
mode = _a$mode === void 0 ? 'deposit' : _a$mode,
|
|
35
81
|
_a$label = _a.label,
|
|
36
82
|
label = _a$label === void 0 ? 'Network' : _a$label,
|
|
37
83
|
_a$name = _a.name,
|
|
@@ -43,7 +89,8 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
43
89
|
value = _a.value,
|
|
44
90
|
defaultValue = _a.defaultValue,
|
|
45
91
|
onChange = _a.onChange,
|
|
46
|
-
rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
|
|
92
|
+
rest = __rest(_a, ["options", "className", "mode", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
|
|
93
|
+
var isWithdraw = mode === MODE_WITHDRAW;
|
|
47
94
|
// Adapt the backend payload to the shared `Select`, which owns selection
|
|
48
95
|
// state, keyboard navigation, and the trailing selected check.
|
|
49
96
|
var selectOptions = useMemo(function () {
|
|
@@ -63,10 +110,32 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
63
110
|
});
|
|
64
111
|
if (item) onChange === null || onChange === void 0 ? void 0 : onChange(next, item);
|
|
65
112
|
});
|
|
66
|
-
// Custom option body
|
|
67
|
-
// latency.
|
|
113
|
+
// Custom option body. Withdraw: icon + single-line name + status badge, with a
|
|
114
|
+
// fee/latency meta column. Deposit: icon + two lines (id + display name) + latency.
|
|
115
|
+
// The shared `Select` appends the brand-colored selected check.
|
|
68
116
|
var renderOptionContent = function renderOptionContent(option) {
|
|
69
117
|
var item = option.raw;
|
|
118
|
+
if (isWithdraw) {
|
|
119
|
+
return _jsxs(_Fragment, {
|
|
120
|
+
children: [_jsx("img", {
|
|
121
|
+
src: item.iconUrl,
|
|
122
|
+
alt: item.networkDesc,
|
|
123
|
+
width: ICON_SIZE,
|
|
124
|
+
height: ICON_SIZE,
|
|
125
|
+
className: ICON_CLS
|
|
126
|
+
}), _jsxs(Flex, {
|
|
127
|
+
align: 'center',
|
|
128
|
+
gap: 8,
|
|
129
|
+
className: NAME_CLS,
|
|
130
|
+
children: [_jsx(TypographyBody, {
|
|
131
|
+
size: 'md',
|
|
132
|
+
strong: strong,
|
|
133
|
+
color: 'default',
|
|
134
|
+
children: item.networkDesc
|
|
135
|
+
}), renderTag(item)]
|
|
136
|
+
}), renderWithdrawMeta(item)]
|
|
137
|
+
});
|
|
138
|
+
}
|
|
70
139
|
return _jsxs(_Fragment, {
|
|
71
140
|
children: [_jsx("img", {
|
|
72
141
|
src: item.iconUrl,
|
|
@@ -92,7 +161,7 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
92
161
|
color: 'default-secondary',
|
|
93
162
|
children: item.networkDesc
|
|
94
163
|
})]
|
|
95
|
-
}),
|
|
164
|
+
}), renderDepositMeta(item)]
|
|
96
165
|
});
|
|
97
166
|
};
|
|
98
167
|
var renderValue = function renderValue(option, meta) {
|
|
@@ -112,11 +181,12 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
112
181
|
}), _jsx(TypographyBody, {
|
|
113
182
|
size: meta.fontSize,
|
|
114
183
|
strong: strong,
|
|
115
|
-
children: formatNetwork(item.network)
|
|
184
|
+
children: isWithdraw ? item.networkDesc : formatNetwork(item.network)
|
|
116
185
|
})]
|
|
117
186
|
});
|
|
118
187
|
};
|
|
119
188
|
return _jsx(Select, Object.assign({}, rest, {
|
|
189
|
+
searchable: (_b = rest.searchable) !== null && _b !== void 0 ? _b : isWithdraw ? true : undefined,
|
|
120
190
|
name: name,
|
|
121
191
|
label: label,
|
|
122
192
|
placeholder: placeholder,
|
|
@@ -124,14 +194,10 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
|
124
194
|
options: selectOptions,
|
|
125
195
|
value: value,
|
|
126
196
|
defaultValue: defaultValue,
|
|
127
|
-
panelHeader: _jsx(Alert, {
|
|
128
|
-
status: 'warning',
|
|
129
|
-
body: WARNING_BODY
|
|
130
|
-
}),
|
|
131
197
|
renderOptionContent: renderOptionContent,
|
|
132
198
|
renderValue: renderValue,
|
|
133
199
|
onChange: handleChange
|
|
134
200
|
}));
|
|
135
201
|
};
|
|
136
202
|
export var NetworkSelect = /*#__PURE__*/memo(NetworkSelectBase);
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwibWVtbyIsInVzZU1lbW8iLCJ1c2VFdmVudENhbGxiYWNrIiwiQWxlcnQiLCJGbGV4IiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJqb2luQ2xzIiwiV1JBUF9DTFMiLCJJQ09OX0NMUyIsImNvbmNhdCIsIklDT05fU0laRSIsIldBUk5JTkdfQk9EWSIsImZvcm1hdE5ldHdvcmsiLCJuZXR3b3JrIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsInRvTG93ZXJDYXNlIiwicmVuZGVyVGltZU1ldGEiLCJpdGVtIiwic2l6ZSIsImNvbG9yIiwiY2hpbGRyZW4iLCJ0eExhdGVuY3kiLCJOZXR3b3JrU2VsZWN0QmFzZSIsIl9hIiwib3B0aW9ucyIsImNsYXNzTmFtZSIsIl9hJGxhYmVsIiwibGFiZWwiLCJfYSRuYW1lIiwibmFtZSIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRzdHJvbmciLCJzdHJvbmciLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwicmVzdCIsInNlbGVjdE9wdGlvbnMiLCJtYXAiLCJuZXR3b3JrRGVzYyIsInJhdyIsImhhbmRsZUNoYW5nZSIsIm5leHQiLCJvcHRpb24iLCJmaW5kIiwicmVuZGVyT3B0aW9uQ29udGVudCIsInNyYyIsImljb25VcmwiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInZlcnRpY2FsIiwiZ2FwIiwiYWxpZ24iLCJzdHlsZSIsIm1pbldpZHRoIiwiZmxleCIsInJlbmRlclZhbHVlIiwibWV0YSIsIkFycmF5IiwiaXNBcnJheSIsImZvbnRTaXplIiwiYXNzaWduIiwicGFuZWxIZWFkZXIiLCJzdGF0dXMiLCJib2R5IiwiTmV0d29ya1NlbGVjdCJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxDQUFDLENBQUNRLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7SUFDcEUsSUFBSVQsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUlOLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDTyxvQkFBb0IsQ0FBQ0wsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsRUFDMUVSLENBQUMsQ0FBQ0MsQ0FB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LEVBQUUxQyxTQUFTO1FBQ2hCMkMsTUFBTSxFQUFFM0MsU0FBUztRQUNqQmlCLFNBQVMsRUFBRW5CO01BQVEsQ0FBQSxDQUNuQixFQUNGZCxJQUFBLENBQUNXLGNBQWMsRUFBQTtRQUFDZSxJQUFJLEVBQUV5QyxJQUFJLENBQUNHLFFBQVE7UUFBRTdCLE1BQU0sRUFBRUEsTUFBTTtRQUFBYixRQUFBLEVBQ2hEVixhQUFhLENBQUNPLElBQUksQ0FBQ04sT0FBTztNQUFDLENBQUEsQ0FDYjtJQUFBLENBQUEsQ0FDWjtFQUVYLENBQUM7RUFFRCxPQUNFbkIsSUFBQSxDQUFDVSxNQUFNLEVBQUFwQixNQUFBLENBQUFpRixNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0QxQixJQUFJLEVBQUE7SUFDUlIsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZGLEtBQUssRUFBRUEsS0FBSztJQUNaSSxXQUFXLEVBQUVBLFdBQVc7SUFDeEJOLFNBQVMsRUFBRXJCLE9BQU8sQ0FBQ0MsUUFBUSxFQUFFb0IsU0FBUyxDQUFDO0lBQ3ZDRCxPQUFPLEVBQUVjLGFBQWE7SUFDdEJKLEtBQUssRUFBRUEsS0FBSztJQUNaQyxZQUFZLEVBQUVBLFlBQVk7SUFDMUI2QixXQUFXLEVBQUV4RSxJQUFBLENBQUNRLEtBQUssRUFBQTtNQUFDaUUsTUFBTSxFQUFDLFNBQVM7TUFBQ0MsSUFBSSxFQUFFekQ7SUFBWSxDQUFBLENBQUk7SUFDM0RxQyxtQkFBbUIsRUFBRUEsbUJBQW1CO0lBQ3hDWSxXQUFXLEVBQUVBLFdBQVc7SUFDeEJ0QixRQUFRLEVBQUVNO0VBQVksQ0FBQSxDQUFBLENBQ3RCO0FBRU4sQ0FBQztBQUVELE9BQU8sSUFBTXlCLGFBQWEsZ0JBQUd0RSxJQUFJLENBQUN5QixpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9OZXR3b3JrU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BbGVydCc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLW5ldHdvcmstc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBXQVJOSU5HX0JPRFkgPSAnT25seSBkZXBvc2l0IHlvdXIgYXNzZXQgdXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQgbmV0d29ya3MgYmVsb3cuIERlcG9zaXRpbmcgdmlhIGFuIHVuc3VwcG9ydGVkIG5ldHdvcmsgd2lsbCByZXN1bHQgaW4gdGhlIHBlcm1hbmVudCBsb3NzIG9mIHlvdXIgZnVuZHMuJztcbi8qKiBEaXNwbGF5LW9ubHk6IHRoZSBhbGwtY2FwcyBgbmV0d29ya2AgaWQgd2l0aCBqdXN0IGl0cyBmaXJzdCBsZXR0ZXIgY2FwaXRhbGl6ZWQsIGUuZy4gYFwiRVRIRVJFVU1cImAg4oaSIGBcIkV0aGVyZXVtXCJgLiBUaGUgYm91bmQgdmFsdWUgc3RheXMgdGhlIHJhdyBpZC4gKi9cbmNvbnN0IGZvcm1hdE5ldHdvcmsgPSAobmV0d29yaykgPT4gbmV0d29yayA/IG5ldHdvcmsuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuZXR3b3JrLnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkgOiBuZXR3b3JrO1xuY29uc3QgcmVuZGVyVGltZU1ldGEgPSAoaXRlbSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLnR4TGF0ZW5jeSB9KSk7XG5jb25zdCBOZXR3b3JrU2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWwgPSAnTmV0d29yaycsIG5hbWUgPSAnbmV0d29yaycsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBuZXR3b3JrJywgc3Ryb25nID0gdHJ1ZSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25DaGFuZ2UgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCJdKTtcbiAgICAvLyBBZGFwdCB0aGUgYmFja2VuZCBwYXlsb2FkIHRvIHRoZSBzaGFyZWQgYFNlbGVjdGAsIHdoaWNoIG93bnMgc2VsZWN0aW9uXG4gICAgLy8gc3RhdGUsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0aGUgdHJhaWxpbmcgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtLm5ldHdvcmssXG4gICAgICAgIGxhYmVsOiBpdGVtLm5ldHdvcmtEZXNjLFxuICAgICAgICByYXc6IGl0ZW0sXG4gICAgfSkpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHQsIG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICh0eXBlb2YgbmV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoX2EgPSBvcHRpb24gPT09IG51bGwgfHwgb3B0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb24ucmF3KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvcHRpb25zLmZpbmQoKG5ldHdvcmspID0+IG5ldHdvcmsubmV0d29yayA9PT0gbmV4dCk7XG4gICAgICAgIGlmIChpdGVtKVxuICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIC8vIEN1c3RvbSBvcHRpb24gYm9keSDigJQgaWNvbiwgdHdvIGxpbmVzIChuZXR3b3JrIGlkICsgZGlzcGxheSBuYW1lKSwgYW5kXG4gICAgLy8gbGF0ZW5jeS4gVGhlIHNoYXJlZCBgU2VsZWN0YCBhcHBlbmRzIHRoZSBicmFuZC1jb2xvcmVkIHNlbGVjdGVkIGNoZWNrLlxuICAgIGNvbnN0IHJlbmRlck9wdGlvbkNvbnRlbnQgPSAob3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb24ucmF3O1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAsIGZsZXg6IDEgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogc3Ryb25nLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogZm9ybWF0TmV0d29yayhpdGVtLm5ldHdvcmspIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KV0gfSksIHJlbmRlclRpbWVNZXRhKGl0ZW0pXSB9KSk7XG4gICAgfTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZSA9IChvcHRpb24sIG1ldGEpID0+IHtcbiAgICAgICAgLy8gYFNlbGVjdGAgY2FsbHMgYHJlbmRlclZhbHVlKG51bGwpYCB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQsIHNvIHRoZVxuICAgICAgICAvLyBwbGFjZWhvbGRlciBmYWxsYmFjayBpcyB0aGlzIGZ1bmN0aW9uJ3MgcmVzcG9uc2liaWxpdHkuXG4gICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSlcbiAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbi5yYXc7XG4gICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogbWV0YS5mb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBmb3JtYXROZXR3b3JrKGl0ZW0ubmV0d29yaykgfSldIH0pKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgb3B0aW9uczogc2VsZWN0T3B0aW9ucywgdmFsdWU6IHZhbHVlLCBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZSwgcGFuZWxIZWFkZXI6IF9qc3goQWxlcnQsIHsgc3RhdHVzOiAnd2FybmluZycsIGJvZHk6IFdBUk5JTkdfQk9EWSB9KSwgcmVuZGVyT3B0aW9uQ29udGVudDogcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IE5ldHdvcmtTZWxlY3QgPSBtZW1vKE5ldHdvcmtTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwibWVtbyIsInVzZU1lbW8iLCJ1c2VFdmVudENhbGxiYWNrIiwiRmxleCIsIlNlbGVjdCIsIlRhZyIsIlR5cG9ncmFwaHlCb2R5Iiwiam9pbkNscyIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJOQU1FX0NMUyIsIk1FVEFfQ0xTIiwiSUNPTl9TSVpFIiwiTU9ERV9XSVRIRFJBVyIsIkZSRUVfRkVFX0xBQkVMIiwiVEFHX1NUQVRVU19TVUNDRVNTIiwiVEFHX1NUQVRVU19SRUNPTU1FTkRFRCIsIlRBR19TVEFUVVNfTkVHQVRJVkUiLCJUQUdfQ09MT1JfQllfU1RBVFVTIiwiX2RlZmluZVByb3BlcnR5IiwiZm9ybWF0TmV0d29yayIsIm5ldHdvcmsiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwidG9Mb3dlckNhc2UiLCJyZW5kZXJEZXBvc2l0TWV0YSIsIml0ZW0iLCJzaXplIiwiY29sb3IiLCJjaGlsZHJlbiIsInR4TGF0ZW5jeSIsInJlbmRlcldpdGhkcmF3TWV0YSIsImdhc0ZlZSIsInZlcnRpY2FsIiwiZ2FwIiwiYWxpZ24iLCJjbGFzc05hbWUiLCJzdHJvbmciLCJyZW5kZXJUYWciLCJfYSIsInRhZyIsInRhZ1N0YXR1cyIsImxhYmVsIiwiTmV0d29ya1NlbGVjdEJhc2UiLCJfYiIsIm9wdGlvbnMiLCJfYSRtb2RlIiwibW9kZSIsIl9hJGxhYmVsIiwiX2EkbmFtZSIsIm5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsInJlc3QiLCJpc1dpdGhkcmF3Iiwic2VsZWN0T3B0aW9ucyIsIm1hcCIsIm5ldHdvcmtEZXNjIiwicmF3IiwiaGFuZGxlQ2hhbmdlIiwibmV4dCIsIm9wdGlvbiIsImZpbmQiLCJyZW5kZXJPcHRpb25Db250ZW50Iiwic3JjIiwiaWNvblVybCIsImFsdCIsIndpZHRoIiwiaGVpZ2h0Iiwic3R5bGUiLCJtaW5XaWR0aCIsImZsZXgiLCJyZW5kZXJWYWx1ZSIsIm1ldGEiLCJBcnJheSIsImlzQXJyYXkiLCJmb250U2l6ZSIsImFzc2lnbiIsInNlYXJjaGFibGUiLCJ1bmRlZmluZWQiLCJOZXR3b3JrU2VsZWN0Il0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFD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LENBQUEsQ0FDWjtFQUVYLENBQUM7RUFFRCxPQUNFM0IsSUFBQSxDQUFDUyxNQUFNLEVBQUFuQixNQUFBLENBQUFrRyxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ0R4QixJQUFJLEVBQUE7SUFDUnlCLFVBQVUsRUFBRSxDQUFBdEMsRUFBQSxHQUFBYSxJQUFJLENBQUN5QixVQUFVLE1BQUEsSUFBQSxJQUFBdEMsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUtjLFVBQVUsR0FBRyxJQUFJLEdBQUd5QixTQUFVO0lBQzlEakMsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZSLEtBQUssRUFBRUEsS0FBSztJQUNaVSxXQUFXLEVBQUVBLFdBQVc7SUFDeEJoQixTQUFTLEVBQUUvQixPQUFPLENBQUNDLFFBQVEsRUFBRThCLFNBQVMsQ0FBQztJQUN2Q1MsT0FBTyxFQUFFYyxhQUFhO0lBQ3RCTCxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsWUFBWSxFQUFFQSxZQUFZO0lBQzFCWSxtQkFBbUIsRUFBRUEsbUJBQW1CO0lBQ3hDUyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJwQixRQUFRLEVBQUVPO0VBQVksQ0FBQSxDQUFBLENBQ3RCO0FBRU4sQ0FBQztBQUVELE9BQU8sSUFBTXFCLGFBQWEsZ0JBQUd0RixJQUFJLENBQUM2QyxpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9OZXR3b3JrU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UYWcnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tbmV0d29yay1zZWxlY3QnO1xuY29uc3QgSUNPTl9DTFMgPSBgJHtXUkFQX0NMU30taWNvbmA7XG5jb25zdCBOQU1FX0NMUyA9IGAke1dSQVBfQ0xTfS1uYW1lYDtcbmNvbnN0IE1FVEFfQ0xTID0gYCR7V1JBUF9DTFN9LW1ldGFgO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBNT0RFX1dJVEhEUkFXID0gJ3dpdGhkcmF3Jztcbi8vIEZlZSB2YWx1ZSB0aGUgYmFja2VuZCBzZW5kcyBmb3IgYSBuby1jb3N0IG5ldHdvcmsg4oCUIGhpZ2hsaWdodGVkIGluIGdyZWVuLlxuY29uc3QgRlJFRV9GRUVfTEFCRUwgPSAnRnJlZSc7XG4vLyBgdGFnU3RhdHVzYCDihpIgVGFnIGNvbG9yLCBtYXRjaGluZyB0aGUgYmFja2VuZCBgTkVUV09SS19UQUdfU1RBVFVTYCBlbnVtOlxuLy8gYDBgIHN1Y2Nlc3MsIGAxYCByZWNvbW1lbmQsIGAyYCBuZWdhdGl2ZS4gVW5rbm93biBjb2RlcyBmYWxsIGJhY2sgdG8gbmV1dHJhbC5cbmNvbnN0IFRBR19TVEFUVVNfU1VDQ0VTUyA9IDA7XG5jb25zdCBUQUdfU1RBVFVTX1JFQ09NTUVOREVEID0gMTtcbmNvbnN0IFRBR19TVEFUVVNfTkVHQVRJVkUgPSAyO1xuY29uc3QgVEFHX0NPTE9SX0JZX1NUQVRVUyA9IHtcbiAgICBbVEFHX1NUQVRVU19TVUNDRVNTXTogJ3N1Y2Nlc3MnLFxuICAgIFtUQUdfU1RBVFVTX1JFQ09NTUVOREVEXTogJ3JlY29tbWVuZGVkJyxcbiAgICBbVEFHX1NUQVRVU19ORUdBVElWRV06ICduZWdhdGl2ZScsXG59O1xuLyoqIERpc3BsYXktb25seTogdGhlIGFsbC1jYXBzIGBuZXR3b3JrYCBpZCB3aXRoIGp1c3QgaXRzIGZpcnN0IGxldHRlciBjYXBpdGFsaXplZCwgZS5nLiBgXCJFVEhFUkVVTVwiYCDihpIgYFwiRXRoZXJldW1cImAuIFRoZSBib3VuZCB2YWx1ZSBzdGF5cyB0aGUgcmF3IGlkLiAqL1xuY29uc3QgZm9ybWF0TmV0d29yayA9IChuZXR3b3JrKSA9PiBuZXR3b3JrID8gbmV0d29yay5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5ldHdvcmsuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSA6IG5ldHdvcms7XG4vKiogRGVwb3NpdC1tb2RlIGxhdGVuY3ksIHNob3duIG9uIHRoZSByaWdodCBvZiBlYWNoIG9wdGlvbi4gKi9cbmNvbnN0IHJlbmRlckRlcG9zaXRNZXRhID0gKGl0ZW0pID0+IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS50eExhdGVuY3kgfSkpO1xuLyoqIFdpdGhkcmF3LW1vZGUgbWV0YSBjb2x1bW4g4oCUIHByZS1mb3JtYXR0ZWQgYGdhc0ZlZWAgKGBcIkZyZWVcImAgaW4gZ3JlZW4pIG9uIHRvcCwgYHR4TGF0ZW5jeWAgYmVsb3cuIFJldHVybnMgYG51bGxgIHdoZW4gbmVpdGhlciBpcyBwcmVzZW50LiAqL1xuY29uc3QgcmVuZGVyV2l0aGRyYXdNZXRhID0gKGl0ZW0pID0+IHtcbiAgICBpZiAoIWl0ZW0uZ2FzRmVlICYmICFpdGVtLnR4TGF0ZW5jeSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDAsIGFsaWduOiAnZW5kJywgY2xhc3NOYW1lOiBNRVRBX0NMUywgY2hpbGRyZW46IFtpdGVtLmdhc0ZlZSA/IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IGl0ZW0uZ2FzRmVlID09PSBGUkVFX0ZFRV9MQUJFTCA/ICdwb3NpdGl2ZScgOiAnZGVmYXVsdCcsIGNoaWxkcmVuOiBpdGVtLmdhc0ZlZSB9KSkgOiBudWxsLCBpdGVtLnR4TGF0ZW5jeSA/IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLnR4TGF0ZW5jeSB9KSkgOiBudWxsXSB9KSk7XG59O1xuLyoqIFdpdGhkcmF3LW1vZGUgc3RhdHVzIGJhZGdlIHNob3duIG5leHQgdG8gdGhlIG5ldHdvcmsgbmFtZS4gSGlkZGVuIHdoZW4gdGhlcmUncyBubyBgdGFnYCBsYWJlbC4gKi9cbmNvbnN0IHJlbmRlclRhZyA9IChpdGVtKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGlmICghaXRlbS50YWcpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNvbG9yID0gaXRlbS50YWdTdGF0dXMgIT0gbnVsbCA/ICgoX2EgPSBUQUdfQ09MT1JfQllfU1RBVFVTW2l0ZW0udGFnU3RhdHVzXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ25ldXRyYWwnKSA6ICduZXV0cmFsJztcbiAgICByZXR1cm4gX2pzeChUYWcsIHsgY29sb3I6IGNvbG9yLCBsYWJlbDogaXRlbS50YWcgfSk7XG59O1xuY29uc3QgTmV0d29ya1NlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgX2I7XG4gICAgdmFyIHsgb3B0aW9ucywgY2xhc3NOYW1lLCBtb2RlID0gJ2RlcG9zaXQnLCBsYWJlbCA9ICdOZXR3b3JrJywgbmFtZSA9ICduZXR3b3JrJywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IG5ldHdvcmsnLCBzdHJvbmcgPSB0cnVlLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBvbkNoYW5nZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJtb2RlXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCJdKTtcbiAgICBjb25zdCBpc1dpdGhkcmF3ID0gbW9kZSA9PT0gTU9ERV9XSVRIRFJBVztcbiAgICAvLyBBZGFwdCB0aGUgYmFja2VuZCBwYXlsb2FkIHRvIHRoZSBzaGFyZWQgYFNlbGVjdGAsIHdoaWNoIG93bnMgc2VsZWN0aW9uXG4gICAgLy8gc3RhdGUsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0aGUgdHJhaWxpbmcgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtLm5ldHdvcmssXG4gICAgICAgIGxhYmVsOiBpdGVtLm5ldHdvcmtEZXNjLFxuICAgICAgICByYXc6IGl0ZW0sXG4gICAgfSkpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHQsIG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICh0eXBlb2YgbmV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoX2EgPSBvcHRpb24gPT09IG51bGwgfHwgb3B0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb24ucmF3KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvcHRpb25zLmZpbmQoKG5ldHdvcmspID0+IG5ldHdvcmsubmV0d29yayA9PT0gbmV4dCk7XG4gICAgICAgIGlmIChpdGVtKVxuICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIC8vIEN1c3RvbSBvcHRpb24gYm9keS4gV2l0aGRyYXc6IGljb24gKyBzaW5nbGUtbGluZSBuYW1lICsgc3RhdHVzIGJhZGdlLCB3aXRoIGFcbiAgICAvLyBmZWUvbGF0ZW5jeSBtZXRhIGNvbHVtbi4gRGVwb3NpdDogaWNvbiArIHR3byBsaW5lcyAoaWQgKyBkaXNwbGF5IG5hbWUpICsgbGF0ZW5jeS5cbiAgICAvLyBUaGUgc2hhcmVkIGBTZWxlY3RgIGFwcGVuZHMgdGhlIGJyYW5kLWNvbG9yZWQgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3QgcmVuZGVyT3B0aW9uQ29udGVudCA9IChvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbi5yYXc7XG4gICAgICAgIGlmIChpc1dpdGhkcmF3KSB7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2xhc3NOYW1lOiBOQU1FX0NMUywgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogc3Ryb25nLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KSwgcmVuZGVyVGFnKGl0ZW0pXSB9KSwgcmVuZGVyV2l0aGRyYXdNZXRhKGl0ZW0pXSB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMCwgYWxpZ246ICdzdGFydCcsIHN0eWxlOiB7IG1pbldpZHRoOiAwLCBmbGV4OiAxIH0sIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBzdHJvbmc6IHN0cm9uZywgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IGZvcm1hdE5ldHdvcmsoaXRlbS5uZXR3b3JrKSB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGl0ZW0ubmV0d29ya0Rlc2MgfSldIH0pLCByZW5kZXJEZXBvc2l0TWV0YShpdGVtKV0gfSkpO1xuICAgIH07XG4gICAgY29uc3QgcmVuZGVyVmFsdWUgPSAob3B0aW9uLCBtZXRhKSA9PiB7XG4gICAgICAgIC8vIGBTZWxlY3RgIGNhbGxzIGByZW5kZXJWYWx1ZShudWxsKWAgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLCBzbyB0aGVcbiAgICAgICAgLy8gcGxhY2Vob2xkZXIgZmFsbGJhY2sgaXMgdGhpcyBmdW5jdGlvbidzIHJlc3BvbnNpYmlsaXR5LlxuICAgICAgICBpZiAoIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikpXG4gICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb24ucmF3O1xuICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uVXJsLCBhbHQ6IGl0ZW0ubmV0d29ya0Rlc2MsIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IG1ldGEuZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogaXNXaXRoZHJhdyA/IGl0ZW0ubmV0d29ya0Rlc2MgOiBmb3JtYXROZXR3b3JrKGl0ZW0ubmV0d29yaykgfSldIH0pKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgc2VhcmNoYWJsZTogKF9iID0gcmVzdC5zZWFyY2hhYmxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAoaXNXaXRoZHJhdyA/IHRydWUgOiB1bmRlZmluZWQpLCBuYW1lOiBuYW1lLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBvcHRpb25zOiBzZWxlY3RPcHRpb25zLCB2YWx1ZTogdmFsdWUsIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFZhbHVlLCByZW5kZXJPcHRpb25Db250ZW50OiByZW5kZXJPcHRpb25Db250ZW50LCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgTmV0d29ya1NlbGVjdCA9IG1lbW8oTmV0d29ya1NlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
import type { SelectProps } from "../../../components/Select";
|
|
2
|
+
/** Selector mode — `deposit` (two-line rows, latency) or `withdraw` (single-line rows, fee + status badge). The panel header is **not** part of the mode; pass it via `panelHeader`. */
|
|
3
|
+
export declare const NETWORK_SELECT_MODES: readonly ["deposit", "withdraw"];
|
|
4
|
+
export type NetworkSelectMode = (typeof NETWORK_SELECT_MODES)[number];
|
|
5
|
+
/**
|
|
6
|
+
* Default deposit safety copy. Not rendered automatically — pass it through
|
|
7
|
+
* `panelHeader` on deposit screens, e.g.
|
|
8
|
+
* `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const NETWORK_DEPOSIT_WARNING = "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.";
|
|
2
11
|
/**
|
|
3
12
|
* A crypto network entry for the selector.
|
|
4
13
|
*
|
|
5
14
|
* `network`, `networkDesc`, and `iconUrl` are always required (identity +
|
|
6
|
-
* display). The remaining fields are
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* `
|
|
15
|
+
* display). The remaining fields are optional metadata, so a list that carries
|
|
16
|
+
* only `network`/`networkDesc`/`iconUrl` can be passed through as-is without
|
|
17
|
+
* casting or filling in dummies.
|
|
18
|
+
*
|
|
19
|
+
* - **deposit** mode reads `network`, `networkDesc`, `iconUrl`, `txLatency`.
|
|
20
|
+
* - **withdraw** mode reads `network`, `networkDesc`, `iconUrl`, `gasFee`,
|
|
21
|
+
* `txLatency`, `tag`, `tagStatus`. Map the withdraw payload's `networkName` →
|
|
22
|
+
* `networkDesc` and `networkIconUrl` → `iconUrl` when passing it in.
|
|
12
23
|
*/
|
|
13
24
|
export interface NetworkItem {
|
|
14
25
|
/** Network identifier — bound to the select value (not displayed), e.g. `"ETHEREUM"` / `"POLYGON"`. */
|
|
@@ -17,6 +28,12 @@ export interface NetworkItem {
|
|
|
17
28
|
networkDesc: string;
|
|
18
29
|
/** Public URL of the network icon. */
|
|
19
30
|
iconUrl: string;
|
|
31
|
+
/**
|
|
32
|
+
* Pre-formatted gas fee shown on the right of each option in **withdraw**
|
|
33
|
+
* mode, e.g. `"$0.19 fee"`. Rendered verbatim (the backend includes the
|
|
34
|
+
* currency symbol and `fee` suffix); the literal `"Free"` is shown in green.
|
|
35
|
+
*/
|
|
36
|
+
gasFee?: string;
|
|
20
37
|
/** Human-readable latency shown on the right of each option, e.g. `"3 mins"` / `"Hours"`. Blank when absent. */
|
|
21
38
|
txLatency?: string;
|
|
22
39
|
/** Smart-contract address of the asset on this network. May be `""` for native chains. Deposit-only. */
|
|
@@ -29,16 +46,16 @@ export interface NetworkItem {
|
|
|
29
46
|
minConfirm?: number;
|
|
30
47
|
/** Estimated processing time in minutes, e.g. `4`. Deposit-only. */
|
|
31
48
|
processingTime?: number;
|
|
32
|
-
/** Badge label, e.g. `"Recommended"` / `"Delayed"`; `""`
|
|
49
|
+
/** Badge label shown next to the name in **withdraw** mode, e.g. `"Instant"` / `"Recommended"` / `"Delayed"`; omitted (`""` / `null`) renders no badge. */
|
|
33
50
|
tag?: string;
|
|
34
|
-
/** Badge status code: `0`
|
|
51
|
+
/** Badge status code driving the Tag color (matches the backend `NETWORK_TAG_STATUS` enum): `0` → success, `1` → recommended, `2` → negative. */
|
|
35
52
|
tagStatus?: number;
|
|
36
53
|
/** Deposit address for this network. Deposit-only. */
|
|
37
54
|
address?: string;
|
|
38
55
|
/** Display order within the list, e.g. `0`. Deposit-only. */
|
|
39
56
|
order?: number;
|
|
40
57
|
}
|
|
41
|
-
export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'renderOption' | 'renderOptionContent' | 'renderValue' | '
|
|
58
|
+
export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'renderOption' | 'renderOptionContent' | 'renderValue' | 'panelFooter'> {
|
|
42
59
|
/**
|
|
43
60
|
* Crypto networks returned by 1money's `/private/currencies` endpoint
|
|
44
61
|
* (`data.crypto[i].networks`). Pass through as-is — the component
|
|
@@ -69,6 +86,23 @@ export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value
|
|
|
69
86
|
* ```
|
|
70
87
|
*/
|
|
71
88
|
options: NetworkItem[];
|
|
89
|
+
/**
|
|
90
|
+
* Rendering mode (option row layout + right-side meta only — the header is
|
|
91
|
+
* controlled separately via `panelHeader`).
|
|
92
|
+
* - `deposit` (default): two-line option rows (capitalized id + display
|
|
93
|
+
* name) with `txLatency` on the right.
|
|
94
|
+
* - `withdraw`: single-line option rows (display name + status `Tag`), a
|
|
95
|
+
* `gasFee` (`"Free"` in green) + `txLatency` meta column, and `searchable`
|
|
96
|
+
* defaulted on.
|
|
97
|
+
* @default 'deposit'
|
|
98
|
+
*/
|
|
99
|
+
mode?: NetworkSelectMode;
|
|
100
|
+
/**
|
|
101
|
+
* Panel header rendered above the options (inherited from `Select`, forwarded
|
|
102
|
+
* as-is). Not set by default; on deposit screens pass a warning Alert, e.g.
|
|
103
|
+
* `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
|
|
104
|
+
*/
|
|
105
|
+
panelHeader?: SelectProps['panelHeader'];
|
|
72
106
|
/** Selected `network` value. */
|
|
73
107
|
value?: string;
|
|
74
108
|
/** Initial `network` value when uncontrolled. */
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/** Selector mode — `deposit` (two-line rows, latency) or `withdraw` (single-line rows, fee + status badge). The panel header is **not** part of the mode; pass it via `panelHeader`. */
|
|
2
|
+
export var NETWORK_SELECT_MODES = ['deposit', 'withdraw'];
|
|
3
|
+
/**
|
|
4
|
+
* Default deposit safety copy. Not rendered automatically — pass it through
|
|
5
|
+
* `panelHeader` on deposit screens, e.g.
|
|
6
|
+
* `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
|
|
7
|
+
*/
|
|
8
|
+
export var NETWORK_DEPOSIT_WARNING = '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.';
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLnRzIiwiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLmpzIl0sIm5hbWVzIjpbIk5FVFdPUktfU0VMRUNUX01PREVTIiwiTkVUV09SS19ERVBPU0lUX1dBUk5JTkciXSwibWFwcGluZ3MiOiJBQUVBO0FBQ0EsT0FBTyxJQUFNQSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQVU7QUFHcEU7QUNIQTtBQUNBO0FBQ0E7QUFDQTtBREtBLE9BQU8sSUFBTUMsdUJBQXVCLEdBQ2xDLDJKQUEySiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9pbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKiBTZWxlY3RvciBtb2RlIOKAlCBgZGVwb3NpdGAgKHR3by1saW5lIHJvd3MsIGxhdGVuY3kpIG9yIGB3aXRoZHJhd2AgKHNpbmdsZS1saW5lIHJvd3MsIGZlZSArIHN0YXR1cyBiYWRnZSkuIFRoZSBwYW5lbCBoZWFkZXIgaXMgKipub3QqKiBwYXJ0IG9mIHRoZSBtb2RlOyBwYXNzIGl0IHZpYSBgcGFuZWxIZWFkZXJgLiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfU0VMRUNUX01PREVTID0gWydkZXBvc2l0JywgJ3dpdGhkcmF3J107XG4vKipcbiAqIERlZmF1bHQgZGVwb3NpdCBzYWZldHkgY29weS4gTm90IHJlbmRlcmVkIGF1dG9tYXRpY2FsbHkg4oCUIHBhc3MgaXQgdGhyb3VnaFxuICogYHBhbmVsSGVhZGVyYCBvbiBkZXBvc2l0IHNjcmVlbnMsIGUuZy5cbiAqIGBwYW5lbEhlYWRlcj17PEFsZXJ0IHN0YXR1cz1cIndhcm5pbmdcIiBib2R5PXtORVRXT1JLX0RFUE9TSVRfV0FSTklOR30gLz59YC5cbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfREVQT1NJVF9XQVJOSU5HID0gJ09ubHkgZGVwb3NpdCB5b3VyIGFzc2V0IHVzaW5nIG9uZSBvZiB0aGUgc3VwcG9ydGVkIG5ldHdvcmtzIGJlbG93LiBEZXBvc2l0aW5nIHZpYSBhbiB1bnN1cHBvcnRlZCBuZXR3b3JrIHdpbGwgcmVzdWx0IGluIHRoZSBwZXJtYW5lbnQgbG9zcyBvZiB5b3VyIGZ1bmRzLic7Il0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -27,4 +27,14 @@
|
|
|
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-name {
|
|
33
|
+
flex: 1 1 auto;
|
|
34
|
+
min-width: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.om-network-select-meta {
|
|
38
|
+
flex: 0 0 auto;
|
|
39
|
+
text-align: right;
|
|
30
40
|
}
|
package/es/business/index.d.ts
CHANGED