@1money/component-ui 0.0.85 → 0.0.86
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/Asset/Asset.js +30 -23
- package/es/business/Filter/Asset/interface.d.ts +15 -2
- package/es/business/Filter/Asset/interface.js +7 -2
- package/es/business/Select/Asset/AssetSelect.js +19 -15
- package/es/business/Select/Asset/interface.d.ts +19 -11
- package/es/index.css +1 -1
- package/lib/business/Filter/Asset/Asset.js +30 -23
- package/lib/business/Filter/Asset/interface.d.ts +15 -2
- package/lib/business/Filter/Asset/interface.js +8 -1
- package/lib/business/Select/Asset/AssetSelect.js +19 -15
- package/lib/business/Select/Asset/interface.d.ts +19 -11
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ var _Filter = require("../../../components/Filter");
|
|
|
12
12
|
var _Flex = require("../../../components/Flex");
|
|
13
13
|
var _Icons = require("../../../components/Icons");
|
|
14
14
|
var _Typography = require("../../../components/Typography");
|
|
15
|
+
var _interface = require("./interface");
|
|
15
16
|
var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
16
17
|
var t = {};
|
|
17
18
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
@@ -25,8 +26,12 @@ var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
|
|
|
25
26
|
var GROUP_LABEL_CLS = "".concat(WRAP_CLS, "__group-label");
|
|
26
27
|
var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
27
28
|
var ICON_SIZE = 24;
|
|
28
|
-
|
|
29
|
-
var
|
|
29
|
+
// Panel heading per group, rendered in `AssetFilterGroups` order.
|
|
30
|
+
var GROUP_LABELS = {
|
|
31
|
+
fiat: 'Cash',
|
|
32
|
+
stablecoin: 'Stablecoins',
|
|
33
|
+
digitalAsset: 'Digital Assets'
|
|
34
|
+
};
|
|
30
35
|
var DEFAULT_ALL_LABEL = 'All assets';
|
|
31
36
|
var DEFAULT_PLACEHOLDER = 'Asset';
|
|
32
37
|
var DEFAULT_EMPTY = (0, _jsxRuntime.jsx)(_Empty.Empty, {
|
|
@@ -59,27 +64,29 @@ var toOption = function toOption(item) {
|
|
|
59
64
|
searchText: [item.assetName, item.assetDesc].filter(Boolean).join(' ')
|
|
60
65
|
};
|
|
61
66
|
};
|
|
62
|
-
//
|
|
63
|
-
//
|
|
67
|
+
// Explicit `group` wins; otherwise the legacy `isFiat` flag maps to fiat /
|
|
68
|
+
// stablecoin (so callers that never set `group` keep the old two-bucket split).
|
|
69
|
+
var resolveGroup = function resolveGroup(item) {
|
|
70
|
+
var _a;
|
|
71
|
+
return (_a = item.group) !== null && _a !== void 0 ? _a : item.isFiat ? 'fiat' : 'stablecoin';
|
|
72
|
+
};
|
|
73
|
+
// Bucket rows into "Cash" / "Stablecoins" / "Digital Assets", always in
|
|
74
|
+
// `AssetFilterGroups` order. Empty groups are dropped so a single-kind list
|
|
75
|
+
// shows one heading.
|
|
64
76
|
var toGroupedData = function toGroupedData(items) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
key: CRYPTO_GROUP,
|
|
79
|
-
label: CRYPTO_GROUP,
|
|
80
|
-
options: crypto
|
|
81
|
-
});
|
|
82
|
-
return data;
|
|
77
|
+
return _interface.AssetFilterGroups.reduce(function (data, group) {
|
|
78
|
+
var options = items.filter(function (item) {
|
|
79
|
+
return resolveGroup(item) === group;
|
|
80
|
+
}).map(toOption);
|
|
81
|
+
if (options.length) {
|
|
82
|
+
data.push({
|
|
83
|
+
key: GROUP_LABELS[group],
|
|
84
|
+
label: GROUP_LABELS[group],
|
|
85
|
+
options: options
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return data;
|
|
89
|
+
}, []);
|
|
83
90
|
};
|
|
84
91
|
var renderRow = function renderRow(option, checked) {
|
|
85
92
|
var text = typeof option.label === 'string' ? option.label : '';
|
|
@@ -166,4 +173,4 @@ var AssetFilterBase = function AssetFilterBase(_a) {
|
|
|
166
173
|
}));
|
|
167
174
|
};
|
|
168
175
|
var AssetFilter = exports.AssetFilter = /*#__PURE__*/(0, _react.memo)(AssetFilterBase);
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L0Fzc2V0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfQ2hlY2tib3giLCJfRW1wdHkiLCJfRmlsdGVyIiwiX0ZsZXgiLCJfSWNvbnMiLCJfVHlwb2dyYXBoeSIsIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiV1JBUF9DTFMiLCJQQU5FTF9DTFMiLCJjb25jYXQiLCJHUk9VUF9MQUJFTF9DTFMiLCJJQ09OX0NMUyIsIklDT05fU0laRSIsIkZJQVRfR1JPVVAiLCJDUllQVE9fR1JPVVAiLCJERUZBVUxUX0FMTF9MQUJFTCIsIkRFRkFVTFRfUExBQ0VIT0xERVIiLCJERUZBVUxUX0VNUFRZIiwiX2pzeCIsIkVtcHR5IiwidmFyaWFudCIsImljb24iLCJJY29ucyIsIm5hbWUiLCJzaXplIiwiY29sb3IiLCJ0aXRsZSIsIlR5cG9ncmFwaHlCb2R5Iiwic3Ryb25nIiwiY2hpbGRyZW4iLCJkZXNjcmlwdGlvbiIsInN0eWxlIiwicGFkZGluZyIsInRvT3B0aW9uIiwiaXRlbSIsImxhYmVsIiwiYXNzZXROYW1lIiwidmFsdWUiLCJpY29uVXJsIiwiYXNzZXRJY29uVXJsIiwic2VhcmNoVGV4dCIsImFzc2V0RGVzYyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwidG9Hcm91cGVkRGF0YSIsIml0ZW1zIiwiZmlhdCIsImlzRmlhdCIsIm1hcCIsImNyeXB0byIsImRhdGEiLCJwdXNoIiwia2V5Iiwib3B0aW9ucyIsInJlbmRlclJvdyIsIm9wdGlvbiIsImNoZWNrZWQiLCJ0ZXh0IiwiX2pzeHMiLCJGbGV4IiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwiY2xhc3NOYW1lIiwic3JjIiwiYWx0Iiwid2lkdGgiLCJoZWlnaHQiLCJDaGVja2JveCIsInJlYWRPbmx5IiwiQXNzZXRGaWx0ZXJCYXNlIiwiX2EiLCJyZWYiLCJfYSRzaXplIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJGFsbExhYmVsIiwiYWxsTGFiZWwiLCJfYSRzZWFyY2giLCJzZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsIl9hJHNlYXJjaEVtcHR5Iiwic2VhcmNoRW1wdHkiLCJvbkFwcGx5Iiwib25SZXNldCIsInJlc3QiLCJmaWx0ZXJSZWYiLCJ1c2VSZWYiLCJncm91cGVkRGF0YSIsInVzZU1lbW8iLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiY2xlYXIiLCJjdXJyZW50IiwicmVzZXQiLCJGaWx0ZXIiLCJhc3NpZ24iLCJwYW5lbENsYXNzTmFtZSIsImdyb3VwTGFiZWxDbGFzc05hbWUiLCJlbXB0eUNvbnRlbnQiLCJBc3NldEZpbHRlciIsImV4cG9ydHMiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUROQSxJQUFJUSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FB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ZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmlsdGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWFzc2V0LWZpbHRlcic7XG5jb25zdCBQQU5FTF9DTFMgPSBgJHtXUkFQX0NMU30tcGFuZWxgO1xuY29uc3QgR1JPVVBfTEFCRUxfQ0xTID0gYCR7V1JBUF9DTFN9X19ncm91cC1sYWJlbGA7XG5jb25zdCBJQ09OX0NMUyA9IGAke1dSQVBfQ0xTfS1pY29uYDtcbmNvbnN0IElDT05fU0laRSA9IDI0O1xuY29uc3QgRklBVF9HUk9VUCA9ICdDYXNoJztcbmNvbnN0IENSWVBUT19HUk9VUCA9ICdTdGFibGVjb2lucyc7XG5jb25zdCBERUZBVUxUX0FMTF9MQUJFTCA9ICdBbGwgYXNzZXRzJztcbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVIgPSAnQXNzZXQnO1xuY29uc3QgREVGQVVMVF9FTVBUWSA9IChfanN4KEVtcHR5LCB7IHZhcmlhbnQ6ICdmaWxsJywgaWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMTYsIGNvbG9yOiAnY3VycmVudENvbG9yJyB9KSwgdGl0bGU6IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiTm8gcmVzdWx0c1wiIH0pLCBkZXNjcmlwdGlvbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiVHJ5IGEgZGlmZmVyZW50IG5hbWUgb3IgYWRqdXN0IHlvdXIgc2VhcmNoIGZpbHRlcnMuXCIgfSksIHN0eWxlOiB7IHBhZGRpbmc6IDAgfSB9KSk7XG5jb25zdCB0b09wdGlvbiA9IChpdGVtKSA9PiAoe1xuICAgIGxhYmVsOiBpdGVtLmFzc2V0TmFtZSxcbiAgICB2YWx1ZTogaXRlbS5hc3NldE5hbWUsXG4gICAgaWNvblVybDogaXRlbS5hc3NldEljb25VcmwsXG4gICAgc2VhcmNoVGV4dDogW2l0ZW0uYXNzZXROYW1lLCBpdGVtLmFzc2V0RGVzY10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSxcbn0pO1xuLy8gRmlhdCDihpIgXCJDYXNoXCIsIHJlc3Qg4oaSIFwiU3RhYmxlY29pbnNcIi4gRW1wdHkgZ3JvdXBzIGRyb3BwZWQgc28gYSBzaW5nbGUta2luZFxuLy8gbGlzdCBzaG93cyBvbmUgaGVhZGluZy5cbmNvbnN0IHRvR3JvdXBlZERhdGEgPSAoaXRlbXMpID0+IHtcbiAgICBjb25zdCBmaWF0ID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzRmlhdCkubWFwKHRvT3B0aW9uKTtcbiAgICBjb25zdCBjcnlwdG8gPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmlzRmlhdCkubWFwKHRvT3B0aW9uKTtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgaWYgKGZpYXQubGVuZ3RoKVxuICAgICAgICBkYXRhLnB1c2goeyBrZXk6IEZJQVRfR1JPVVAsIGxhYmVsOiBGSUFUX0dST1VQLCBvcHRpb25zOiBmaWF0IH0pO1xuICAgIGlmIChjcnlwdG8ubGVuZ3RoKVxuICAgICAgICBkYXRhLnB1c2goeyBrZXk6IENSWVBUT19HUk9VUCwgbGFiZWw6IENSWVBUT19HUk9VUCwgb3B0aW9uczogY3J5cHRvIH0pO1xuICAgIHJldHVybiBkYXRhO1xufTtcbmNvbnN0IHJlbmRlclJvdyA9IChvcHRpb24sIGNoZWNrZWQpID0+IHtcbiAgICBjb25zdCB0ZXh0ID0gdHlwZW9mIG9wdGlvbi5sYWJlbCA9PT0gJ3N0cmluZycgPyBvcHRpb24ubGFiZWwgOiAnJztcbiAgICBjb25zdCBpY29uVXJsID0gb3B0aW9uLmljb25Vcmw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDEyLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93YCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LW1haW5gLCBjaGlsZHJlbjogW2ljb25VcmwgJiYgKF9qc3goXCJpbWdcIiwgeyBzcmM6IGljb25VcmwsIGFsdDogdGV4dCwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3Jvdy1uYW1lYCwgY2hpbGRyZW46IG9wdGlvbi5sYWJlbCB9KV0gfSksIF9qc3goQ2hlY2tib3gsIHsgY2hlY2tlZDogY2hlY2tlZCwgcmVhZE9ubHk6IHRydWUsIGNsYXNzTmFtZTogJ29tLWZpbHRlcl9fcm93LWNoZWNrJyB9KV0gfSkpO1xufTtcbmNvbnN0IEFzc2V0RmlsdGVyQmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IHJlZiwgY2xhc3NOYW1lLCBzaXplID0gJ2V4dHJhLXNtYWxsJywgbGFiZWwsIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUiwgZGF0YSwgYWxsTGFiZWwgPSBERUZBVUxUX0FMTF9MQUJFTCwgc2VhcmNoID0gdHJ1ZSwgc2VhcmNoUGxhY2Vob2xkZXIsIHNlYXJjaEVtcHR5ID0gREVGQVVMVF9FTVBUWSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGF0YVwiLCBcImFsbExhYmVsXCIsIFwic2VhcmNoXCIsIFwic2VhcmNoUGxhY2Vob2xkZXJcIiwgXCJzZWFyY2hFbXB0eVwiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBmaWx0ZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgZ3JvdXBlZERhdGEgPSB1c2VNZW1vKCgpID0+IHRvR3JvdXBlZERhdGEoZGF0YSksIFtkYXRhXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGZpbHRlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTsgfSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gZmlsdGVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldCgpOyB9LFxuICAgIH0pKTtcbiAgICByZXR1cm4gKF9qc3goRmlsdGVyLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogZmlsdGVyUmVmLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgcGFuZWxDbGFzc05hbWU6IFBBTkVMX0NMUywgZ3JvdXBMYWJlbENsYXNzTmFtZTogR1JPVVBfTEFCRUxfQ0xTLCBzaXplOiBzaXplLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgb3B0aW9uczogZ3JvdXBlZERhdGEsIGFsbExhYmVsOiBhbGxMYWJlbCwgc2VhcmNoOiBzZWFyY2gsIHNlYXJjaFBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgZW1wdHlDb250ZW50OiBzZWFyY2hFbXB0eSwgcmVuZGVyUm93OiByZW5kZXJSb3csIG9uQXBwbHk6IG9uQXBwbHksIG9uUmVzZXQ6IG9uUmVzZXQgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQXNzZXRGaWx0ZXIgPSBtZW1vKEFzc2V0RmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L0Fzc2V0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfQ2hlY2tib3giLCJfRW1wdHkiLCJfRmlsdGVyIiwiX0ZsZXgiLCJfSWNvbnMiLCJfVHlwb2dyYXBoeSIsIl9pbnRlcmZhY2UiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiR1JPVVBfTEFCRUxfQ0xTIiwiSUNPTl9DTFMiLCJJQ09OX1NJWkUiLCJHUk9VUF9MQUJFTFMiLCJmaWF0Iiwic3RhYmxlY29pbiIsImRpZ2l0YWxBc3NldCIsIkRFRkFVTFRfQUxMX0xBQkVMIiwiREVGQVVMVF9QTEFDRUhPTERFUiIsIkRFRkFVTFRfRU1QVFkiLCJfanN4IiwiRW1wdHkiLCJ2YXJpYW50IiwiaWNvbiIsIkljb25zIiwibmFtZSIsInNpemUiLCJjb2xvciIsInRpdGxlIiwiVHlwb2dyYXBoeUJvZHkiLCJzdHJvbmciLCJjaGlsZHJlbiIsImRlc2NyaXB0aW9uIiwic3R5bGUiLCJwYWRkaW5nIiwidG9PcHRpb24iLCJpdGVtIiwibGFiZWwiLCJhc3NldE5hbWUiLCJ2YWx1ZSIsImljb25VcmwiLCJhc3NldEljb25VcmwiLCJzZWFyY2hUZXh0IiwiYXNzZXREZXNjIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJyZXNvbHZlR3JvdXAiLCJfYSIsImdyb3VwIiwiaXNGaWF0IiwidG9Hcm91cGVkRGF0YSIsIml0ZW1zIiwiQXNzZXRGaWx0ZXJHcm91cHMiLCJyZWR1Y2UiLCJkYXRhIiwib3B0aW9ucyIsIm1hcCIsInB1c2giLCJrZXkiLCJyZW5kZXJSb3ciLCJvcHRpb24iLCJjaGVja2VkIiwidGV4dCIsIl9qc3hzIiwiRmxleCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImNsYXNzTmFtZSIsInNyYyIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwiQ2hlY2tib3giLCJyZWFkT25seSIsIkFzc2V0RmlsdGVyQmFzZSIsInJlZiIsIl9hJHNpemUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsTGFiZWwiLCJhbGxMYWJlbCIsIl9hJHNlYXJjaCIsInNlYXJjaCIsInNlYXJjaFBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoRW1wdHkiLCJzZWFyY2hFbXB0eSIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImZpbHRlclJlZiIsInVzZVJlZiIsImdyb3VwZWREYXRhIiwidXNlTWVtbyIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJjbGVhciIsImN1cnJlbnQiLCJyZXNldCIsIkZpbHRlciIsImFzc2lnbiIsInBhbmVsQ2xhc3NOYW1lIiwiZ3JvdXBMYWJlbENsYXNzTmFtZSIsImVtcHR5Q29udGVudCIsIkFzc2V0RmlsdGVyIiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBQUVBLElBQUFRLFVBQUEsR0FBQVIsT0FBQTtBRFJBLElBQUlTLE1BQU0sR0FBSSxVQUFRLFNBQUtBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJ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LFlBQVksRUFBRWhCLFdBQVc7SUFDekIzQixTQUFTLEVBQUVBLFNBQVM7SUFDcEI0QixPQUFPLEVBQUVBLE9BQU87SUFDaEJDLE9BQU8sRUFBRUE7RUFBTyxDQUFBLENBQUEsQ0FDaEI7QUFFTixDQUFDO0FBRU0sSUFBTWUsV0FBVyxHQUFBQyxPQUFBLENBQUFELFdBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDOUIsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmlsdGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IEFzc2V0RmlsdGVyR3JvdXBzIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tYXNzZXQtZmlsdGVyJztcbmNvbnN0IFBBTkVMX0NMUyA9IGAke1dSQVBfQ0xTfS1wYW5lbGA7XG5jb25zdCBHUk9VUF9MQUJFTF9DTFMgPSBgJHtXUkFQX0NMU31fX2dyb3VwLWxhYmVsYDtcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG4vLyBQYW5lbCBoZWFkaW5nIHBlciBncm91cCwgcmVuZGVyZWQgaW4gYEFzc2V0RmlsdGVyR3JvdXBzYCBvcmRlci5cbmNvbnN0IEdST1VQX0xBQkVMUyA9IHtcbiAgICBmaWF0OiAnQ2FzaCcsXG4gICAgc3RhYmxlY29pbjogJ1N0YWJsZWNvaW5zJyxcbiAgICBkaWdpdGFsQXNzZXQ6ICdEaWdpdGFsIEFzc2V0cycsXG59O1xuY29uc3QgREVGQVVMVF9BTExfTEFCRUwgPSAnQWxsIGFzc2V0cyc7XG5jb25zdCBERUZBVUxUX1BMQUNFSE9MREVSID0gJ0Fzc2V0JztcbmNvbnN0IERFRkFVTFRfRU1QVFkgPSAoX2pzeChFbXB0eSwgeyB2YXJpYW50OiAnZmlsbCcsIGljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ3NlYXJjaCcsIHNpemU6IDE2LCBjb2xvcjogJ2N1cnJlbnRDb2xvcicgfSksIHRpdGxlOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICduZXV0cmFsLXNlY29uZGFyeScsIGNoaWxkcmVuOiBcIk5vIHJlc3VsdHNcIiB9KSwgZGVzY3JpcHRpb246IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICduZXV0cmFsLXNlY29uZGFyeScsIGNoaWxkcmVuOiBcIlRyeSBhIGRpZmZlcmVudCBuYW1lIG9yIGFkanVzdCB5b3VyIHNlYXJjaCBmaWx0ZXJzLlwiIH0pLCBzdHlsZTogeyBwYWRkaW5nOiAwIH0gfSkpO1xuY29uc3QgdG9PcHRpb24gPSAoaXRlbSkgPT4gKHtcbiAgICBsYWJlbDogaXRlbS5hc3NldE5hbWUsXG4gICAgdmFsdWU6IGl0ZW0uYXNzZXROYW1lLFxuICAgIGljb25Vcmw6IGl0ZW0uYXNzZXRJY29uVXJsLFxuICAgIHNlYXJjaFRleHQ6IFtpdGVtLmFzc2V0TmFtZSwgaXRlbS5hc3NldERlc2NdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyksXG59KTtcbi8vIEV4cGxpY2l0IGBncm91cGAgd2luczsgb3RoZXJ3aXNlIHRoZSBsZWdhY3kgYGlzRmlhdGAgZmxhZyBtYXBzIHRvIGZpYXQgL1xuLy8gc3RhYmxlY29pbiAoc28gY2FsbGVycyB0aGF0IG5ldmVyIHNldCBgZ3JvdXBgIGtlZXAgdGhlIG9sZCB0d28tYnVja2V0IHNwbGl0KS5cbmNvbnN0IHJlc29sdmVHcm91cCA9IChpdGVtKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGl0ZW0uZ3JvdXApICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChpdGVtLmlzRmlhdCA/ICdmaWF0JyA6ICdzdGFibGVjb2luJyk7IH07XG4vLyBCdWNrZXQgcm93cyBpbnRvIFwiQ2FzaFwiIC8gXCJTdGFibGVjb2luc1wiIC8gXCJEaWdpdGFsIEFzc2V0c1wiLCBhbHdheXMgaW5cbi8vIGBBc3NldEZpbHRlckdyb3Vwc2Agb3JkZXIuIEVtcHR5IGdyb3VwcyBhcmUgZHJvcHBlZCBzbyBhIHNpbmdsZS1raW5kIGxpc3Rcbi8vIHNob3dzIG9uZSBoZWFkaW5nLlxuY29uc3QgdG9Hcm91cGVkRGF0YSA9IChpdGVtcykgPT4gQXNzZXRGaWx0ZXJHcm91cHMucmVkdWNlKChkYXRhLCBncm91cCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IHJlc29sdmVHcm91cChpdGVtKSA9PT0gZ3JvdXApLm1hcCh0b09wdGlvbik7XG4gICAgaWYgKG9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIGRhdGEucHVzaCh7IGtleTogR1JPVVBfTEFCRUxTW2dyb3VwXSwgbGFiZWw6IEdST1VQX0xBQkVMU1tncm91cF0sIG9wdGlvbnMgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufSwgW10pO1xuY29uc3QgcmVuZGVyUm93ID0gKG9wdGlvbiwgY2hlY2tlZCkgPT4ge1xuICAgIGNvbnN0IHRleHQgPSB0eXBlb2Ygb3B0aW9uLmxhYmVsID09PSAnc3RyaW5nJyA/IG9wdGlvbi5sYWJlbCA6ICcnO1xuICAgIGNvbnN0IGljb25VcmwgPSBvcHRpb24uaWNvblVybDtcbiAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogMTIsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3dgLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19yb3ctbWFpbmAsIGNoaWxkcmVuOiBbaWNvblVybCAmJiAoX2pzeChcImltZ1wiLCB7IHNyYzogaWNvblVybCwgYWx0OiB0ZXh0LCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LW5hbWVgLCBjaGlsZHJlbjogb3B0aW9uLmxhYmVsIH0pXSB9KSwgX2pzeChDaGVja2JveCwgeyBjaGVja2VkOiBjaGVja2VkLCByZWFkT25seTogdHJ1ZSwgY2xhc3NOYW1lOiAnb20tZmlsdGVyX19yb3ctY2hlY2snIH0pXSB9KSk7XG59O1xuY29uc3QgQXNzZXRGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIHNpemUgPSAnZXh0cmEtc21hbGwnLCBsYWJlbCwgcGxhY2Vob2xkZXIgPSBERUZBVUxUX1BMQUNFSE9MREVSLCBkYXRhLCBhbGxMYWJlbCA9IERFRkFVTFRfQUxMX0xBQkVMLCBzZWFyY2ggPSB0cnVlLCBzZWFyY2hQbGFjZWhvbGRlciwgc2VhcmNoRW1wdHkgPSBERUZBVUxUX0VNUFRZLCBvbkFwcGx5LCBvblJlc2V0IH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wicmVmXCIsIFwiY2xhc3NOYW1lXCIsIFwic2l6ZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJkYXRhXCIsIFwiYWxsTGFiZWxcIiwgXCJzZWFyY2hcIiwgXCJzZWFyY2hQbGFjZWhvbGRlclwiLCBcInNlYXJjaEVtcHR5XCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGZpbHRlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBncm91cGVkRGF0YSA9IHVzZU1lbW8oKCkgPT4gdG9Hcm91cGVkRGF0YShkYXRhKSwgW2RhdGFdKTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgY2xlYXI6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gZmlsdGVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jbGVhcigpOyB9LFxuICAgICAgICByZXNldDogKCkgPT4geyB2YXIgX2E7IHJldHVybiAoX2EgPSBmaWx0ZXJSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnJlc2V0KCk7IH0sXG4gICAgfSkpO1xuICAgIHJldHVybiAoX2pzeChGaWx0ZXIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgcmVmOiBmaWx0ZXJSZWYsIGNsYXNzTmFtZTogY2xhc3NOYW1lLCBwYW5lbENsYXNzTmFtZTogUEFORUxfQ0xTLCBncm91cExhYmVsQ2xhc3NOYW1lOiBHUk9VUF9MQUJFTF9DTFMsIHNpemU6IHNpemUsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBvcHRpb25zOiBncm91cGVkRGF0YSwgYWxsTGFiZWw6IGFsbExhYmVsLCBzZWFyY2g6IHNlYXJjaCwgc2VhcmNoUGxhY2Vob2xkZXI6IHNlYXJjaFBsYWNlaG9sZGVyLCBlbXB0eUNvbnRlbnQ6IHNlYXJjaEVtcHR5LCByZW5kZXJSb3c6IHJlbmRlclJvdywgb25BcHBseTogb25BcHBseSwgb25SZXNldDogb25SZXNldCB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBBc3NldEZpbHRlciA9IG1lbW8oQXNzZXRGaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { ReactNode, RefObject } from 'react';
|
|
2
2
|
import type { SelectProps, SelectSize } from "../../../components/Select";
|
|
3
|
+
/**
|
|
4
|
+
* Group bucket an asset row falls under — drives the panel heading:
|
|
5
|
+
* `'fiat'` → "Cash", `'stablecoin'` → "Stablecoins",
|
|
6
|
+
* `'digitalAsset'` → "Digital Assets".
|
|
7
|
+
*/
|
|
8
|
+
export declare const AssetFilterGroups: readonly ["fiat", "stablecoin", "digitalAsset"];
|
|
9
|
+
export type AssetFilterGroup = (typeof AssetFilterGroups)[number];
|
|
3
10
|
/**
|
|
4
11
|
* A single asset as returned by 1money's asset list endpoint
|
|
5
12
|
* (`/assets` → `data[i]`). The filter reads only the display fields below;
|
|
@@ -16,8 +23,14 @@ export interface AssetFilterItem {
|
|
|
16
23
|
/** Public URL of the round asset icon (rendered with `<img>`). */
|
|
17
24
|
assetIconUrl?: string;
|
|
18
25
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
26
|
+
* Explicit group bucket — `'fiat'` → "Cash", `'stablecoin'` → "Stablecoins",
|
|
27
|
+
* `'digitalAsset'` → "Digital Assets". Preferred over `isFiat`; this is the
|
|
28
|
+
* only way to surface the "Digital Assets" heading.
|
|
29
|
+
*/
|
|
30
|
+
group?: AssetFilterGroup;
|
|
31
|
+
/**
|
|
32
|
+
* Legacy fiat flag, used only when `group` is omitted: `true` buckets the row
|
|
33
|
+
* under "Cash", otherwise under "Stablecoins". Prefer `group` for new code.
|
|
21
34
|
*/
|
|
22
35
|
isFiat?: boolean;
|
|
23
36
|
}
|
|
@@ -3,4 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
6
|
+
exports.AssetFilterGroups = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Group bucket an asset row falls under — drives the panel heading:
|
|
9
|
+
* `'fiat'` → "Cash", `'stablecoin'` → "Stablecoins",
|
|
10
|
+
* `'digitalAsset'` → "Digital Assets".
|
|
11
|
+
*/
|
|
12
|
+
var AssetFilterGroups = exports.AssetFilterGroups = ['fiat', 'stablecoin', 'digitalAsset'];
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L2ludGVyZmFjZS50cyIsImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9pbnRlcmZhY2UuanMiXSwibmFtZXMiOlsiQXNzZXRGaWx0ZXJHcm91cHMiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQTtBQ0ZBO0FBQ0E7QUFDQTtBQUNBO0FESU8sSUFBTUEsaUJBQWlCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFVIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9pbnRlcmZhY2UuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsIi8qKlxuICogR3JvdXAgYnVja2V0IGFuIGFzc2V0IHJvdyBmYWxscyB1bmRlciDigJQgZHJpdmVzIHRoZSBwYW5lbCBoZWFkaW5nOlxuICogYCdmaWF0J2Ag4oaSIFwiQ2FzaFwiLCBgJ3N0YWJsZWNvaW4nYCDihpIgXCJTdGFibGVjb2luc1wiLFxuICogYCdkaWdpdGFsQXNzZXQnYCDihpIgXCJEaWdpdGFsIEFzc2V0c1wiLlxuICovXG5leHBvcnQgY29uc3QgQXNzZXRGaWx0ZXJHcm91cHMgPSBbJ2ZpYXQnLCAnc3RhYmxlY29pbicsICdkaWdpdGFsQXNzZXQnXTsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -28,7 +28,8 @@ var ICON_CLS = "".concat(WRAP_CLS, "-icon");
|
|
|
28
28
|
var BALANCE_CLS = "".concat(WRAP_CLS, "-balance");
|
|
29
29
|
var ICON_SIZE = 24;
|
|
30
30
|
var GROUP_FIAT = 'Cash';
|
|
31
|
-
var
|
|
31
|
+
var GROUP_STABLECOIN = 'Stablecoins';
|
|
32
|
+
var GROUP_DIGITAL = 'Digital Assets';
|
|
32
33
|
var toOption = function toOption(currency) {
|
|
33
34
|
return {
|
|
34
35
|
label: currency.currencyName,
|
|
@@ -81,21 +82,24 @@ var AssetSelectBase = function AssetSelectBase(_a) {
|
|
|
81
82
|
onSearchChange === null || onSearchChange === void 0 ? void 0 : onSearchChange(value);
|
|
82
83
|
};
|
|
83
84
|
var groupedOptions = (0, _react.useMemo)(function () {
|
|
84
|
-
var
|
|
85
|
-
var crypto = toGroupOptions(options.crypto);
|
|
86
|
-
// With only one populated group, drop the group label and render a flat
|
|
87
|
-
// list — a lone "Cash"/"Stablecoins" heading is just noise. `Select` only
|
|
88
|
-
// shows a heading for groups that carry a truthy `label`.
|
|
89
|
-
if (fiat.length === 0) return crypto;
|
|
90
|
-
if (crypto.length === 0) return fiat;
|
|
91
|
-
return [{
|
|
85
|
+
var groups = [{
|
|
92
86
|
label: GROUP_FIAT,
|
|
93
|
-
options: fiat
|
|
87
|
+
options: toGroupOptions(options.fiat)
|
|
88
|
+
}, {
|
|
89
|
+
label: GROUP_STABLECOIN,
|
|
90
|
+
options: toGroupOptions(options.stablecoins)
|
|
94
91
|
}, {
|
|
95
|
-
label:
|
|
96
|
-
options:
|
|
97
|
-
}]
|
|
98
|
-
|
|
92
|
+
label: GROUP_DIGITAL,
|
|
93
|
+
options: toGroupOptions(options.digitalAssets)
|
|
94
|
+
}].filter(function (group) {
|
|
95
|
+
return group.options.length > 0;
|
|
96
|
+
});
|
|
97
|
+
// With only one populated group, drop the group label and render a flat
|
|
98
|
+
// list — a lone "Cash"/"Stablecoins"/"Digital Assets" heading is just
|
|
99
|
+
// noise. `Select` only shows a heading for groups with a truthy `label`.
|
|
100
|
+
if (groups.length === 1) return groups[0].options;
|
|
101
|
+
return groups;
|
|
102
|
+
}, [options.fiat, options.stablecoins, options.digitalAssets]);
|
|
99
103
|
return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
|
|
100
104
|
label: label,
|
|
101
105
|
name: name,
|
|
@@ -186,4 +190,4 @@ var AssetSelectBase = function AssetSelectBase(_a) {
|
|
|
186
190
|
}));
|
|
187
191
|
};
|
|
188
192
|
var AssetSelect = exports.AssetSelect = /*#__PURE__*/(0, _react.memo)(AssetSelectBase);
|
|
189
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfcmVhY3ROdW1iZXJGb3JtYXQiLCJfRW1wdHkiLCJfRmxleCIsIl9TZWxlY3QiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIklDT05fQ0xTIiwiY29uY2F0IiwiQkFMQU5DRV9DTFMiLCJJQ09OX1NJWkUiLCJHUk9VUF9GSUFUIiwiR1JPVVBfQ1JZUFRPIiwidG9PcHRpb24iLCJjdXJyZW5jeSIsImxhYmVsIiwiY3VycmVuY3lOYW1lIiwidmFsdWUiLCJpY29uIiwiY3VycmVuY3lJY29uVXJsIiwibmFtZSIsImN1cnJlbmN5RGVzYyIsImJhbGFuY2UiLCJjdXJyZW5jeUJhbGFuY2UiLCJzZWFyY2hUZXh0IiwiYnlPcmRlciIsImEiLCJiIiwiX2EiLCJfYiIsIm9yZGVyIiwidG9Hcm91cE9wdGlvbnMiLCJjdXJyZW5jaWVzIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNvcnQiLCJtYXAiLCJBc3NldFNlbGVjdEJhc2UiLCJvcHRpb25zIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsIl9hJHNob3dCYWxhbmNlIiwic2hvd0JhbGFuY2UiLCJlbXB0eUNvbnRlbnQiLCJvblNlYXJjaENoYW5nZSIsInBhbmVsQ2xhc3NOYW1lIiwicmVzdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImtleXdvcmQiLCJzZXRLZXl3b3JkIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiZ3JvdXBlZE9wdGlvbnMiLCJ1c2VNZW1vIiwiZmlhdCIsImNyeXB0byIsIl9qc3giLCJTZWxlY3QiLCJhc3NpZ24iLCJFbXB0eSIsImRlc2NyaXB0aW9uIiwiam9pbkNscyIsInJlbmRlclZhbHVlIiwib3B0aW9uIiwiX3JlZiIsImZvbnRTaXplIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbSIsIl9qc3hzIiwiRmxleCIsImFsaWduIiwiZ2FwIiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJTdHJpbmciLCJ3aWR0aCIsImhlaWdodCIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJqdXN0aWZ5Iiwic3R5bGUiLCJtaW5XaWR0aCIsInZlcnRpY2FsIiwiVHlwb2dyYXBoeUxhYmVsIiwiY29sb3IiLCJudW1lcmljRm9ybWF0dGVyIiwidGhvdXNhbmRTZXBhcmF0b3IiLCJBc3NldFNlbGVjdCIsImV4cG9ydHMiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FETkEsSUFBSVEs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QUFTO1VBQUM1RCxTQUFTLEVBQUUvQixXQUFXO1VBQUE2RSxRQUFBLEVBQUEsQ0FDN0QsSUFBQWUsbUNBQWdCLEVBQUNwQixJQUFJLENBQUMzRCxPQUFPLEVBQUU7WUFBRWdGLGlCQUFpQixFQUFFO1VBQUksQ0FBRSxDQUFDLEVBQUEsR0FBQSxFQUFHYixNQUFNLENBQUMsQ0FBQTVELEVBQUEsR0FBQW9ELElBQUksQ0FBQ2hFLEtBQUssTUFBQSxJQUFBLElBQUFZLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJLEVBQUUsQ0FBQztRQUFBLENBQUEsQ0FFMUY7TUFBQSxDQUFBLENBQ0k7SUFFWDtFQUFDLENBQUEsQ0FBQSxDQUNEO0FBRU4sQ0FBQztBQUVNLElBQU0wRSxXQUFXLEdBQUFDLE9BQUEsQ0FBQUQsV0FBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNuRSxlQUFlLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgbnVtZXJpY0Zvcm1hdHRlciB9IGZyb20gJ3JlYWN0LW51bWJlci1mb3JtYXQnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHksIFR5cG9ncmFwaHlMYWJlbCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1hc3NldC1zZWxlY3QnO1xuY29uc3QgSUNPTl9DTFMgPSBgJHtXUkFQX0NMU30taWNvbmA7XG5jb25zdCBCQUxBTkNFX0NMUyA9IGAke1dSQVBfQ0xTfS1iYWxhbmNlYDtcbmNvbnN0IElDT05fU0laRSA9IDI0O1xuY29uc3QgR1JPVVBfRklBVCA9ICdDYXNoJztcbmNvbnN0IEdST1VQX0NSWVBUTyA9ICdTdGFibGVjb2lucyc7XG5jb25zdCB0b09wdGlvbiA9IChjdXJyZW5jeSkgPT4gKHtcbiAgICBsYWJlbDogY3VycmVuY3kuY3VycmVuY3lOYW1lLFxuICAgIHZhbHVlOiBjdXJyZW5jeS5jdXJyZW5jeU5hbWUsXG4gICAgaWNvbjogY3VycmVuY3kuY3VycmVuY3lJY29uVXJsLFxuICAgIG5hbWU6IGN1cnJlbmN5LmN1cnJlbmN5RGVzYyxcbiAgICBiYWxhbmNlOiBjdXJyZW5jeS5jdXJyZW5jeUJhbGFuY2UsXG4gICAgLy8gTWF0Y2ggdGhlIHNlYXJjaCBhZ2FpbnN0IGJvdGggdGhlIHN5bWJvbCBhbmQgdGhlIGh1bWFuLXJlYWRhYmxlIG5hbWUuXG4gICAgc2VhcmNoVGV4dDogYCR7Y3VycmVuY3kuY3VycmVuY3lOYW1lfSAke2N1cnJlbmN5LmN1cnJlbmN5RGVzY31gLFxufSk7XG4vLyBTb3J0IHdpdGhpbiBhIGdyb3VwIGJ5IHRoZSBiYWNrZW5kIGBvcmRlcmAgKGFzY2VuZGluZykuIENvcGllcyB0aGUgYXJyYXkgc29cbi8vIHRoZSBjYWxsZXIncyBgb3B0aW9uc2AgaXMgbmV2ZXIgbXV0YXRlZDsgbWlzc2luZyBgb3JkZXJgIGZhbGxzIGJhY2sgdG8gMC5cbmNvbnN0IGJ5T3JkZXIgPSAoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKChfYSA9IGEub3JkZXIpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDApIC0gKChfYiA9IGIub3JkZXIpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IDApOyB9O1xuY29uc3QgdG9Hcm91cE9wdGlvbnMgPSAoY3VycmVuY2llcyA9IFtdKSA9PiBbLi4uY3VycmVuY2llc10uc29ydChieU9yZGVyKS5tYXAodG9PcHRpb24pO1xuY29uc3QgQXNzZXRTZWxlY3RCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgb3B0aW9ucywgY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZSwgbGFiZWwgPSAnQXNzZXQnLCBuYW1lID0gJ2Fzc2V0JywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IGFzc2V0Jywgc2VhcmNoYWJsZSA9IHRydWUsIGZpbHRlcklucHV0QXV0b0ZvY3VzID0gdHJ1ZSwgc3Ryb25nID0gdHJ1ZSwgc2hvd0JhbGFuY2UgPSBmYWxzZSwgZW1wdHlDb250ZW50LCBvblNlYXJjaENoYW5nZSwgcGFuZWxDbGFzc05hbWUgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxDbGFzc05hbWVcIiwgXCJsYWJlbFwiLCBcIm5hbWVcIiwgXCJwbGFjZWhvbGRlclwiLCBcInNlYXJjaGFibGVcIiwgXCJmaWx0ZXJJbnB1dEF1dG9Gb2N1c1wiLCBcInN0cm9uZ1wiLCBcInNob3dCYWxhbmNlXCIsIFwiZW1wdHlDb250ZW50XCIsIFwib25TZWFyY2hDaGFuZ2VcIiwgXCJwYW5lbENsYXNzTmFtZVwiXSk7XG4gICAgY29uc3QgW2tleXdvcmQsIHNldEtleXdvcmRdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICBzZXRLZXl3b3JkKHZhbHVlKTtcbiAgICAgICAgb25TZWFyY2hDaGFuZ2UgPT09IG51bGwgfHwgb25TZWFyY2hDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VhcmNoQ2hhbmdlKHZhbHVlKTtcbiAgICB9O1xuICAgIGNvbnN0IGdyb3VwZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpYXQgPSB0b0dyb3VwT3B0aW9ucyhvcHRpb25zLmZpYXQpO1xuICAgICAgICBjb25zdCBjcnlwdG8gPSB0b0dyb3VwT3B0aW9ucyhvcHRpb25zLmNyeXB0byk7XG4gICAgICAgIC8vIFdpdGggb25seSBvbmUgcG9wdWxhdGVkIGdyb3VwLCBkcm9wIHRoZSBncm91cCBsYWJlbCBhbmQgcmVuZGVyIGEgZmxhdFxuICAgICAgICAvLyBsaXN0IOKAlCBhIGxvbmUgXCJDYXNoXCIvXCJTdGFibGVjb2luc1wiIGhlYWRpbmcgaXMganVzdCBub2lzZS4gYFNlbGVjdGAgb25seVxuICAgICAgICAvLyBzaG93cyBhIGhlYWRpbmcgZm9yIGdyb3VwcyB0aGF0IGNhcnJ5IGEgdHJ1dGh5IGBsYWJlbGAuXG4gICAgICAgIGlmIChmaWF0Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBjcnlwdG87XG4gICAgICAgIGlmIChjcnlwdG8ubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuIGZpYXQ7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IGxhYmVsOiBHUk9VUF9GSUFULCBvcHRpb25zOiBmaWF0IH0sXG4gICAgICAgICAgICB7IGxhYmVsOiBHUk9VUF9DUllQVE8sIG9wdGlvbnM6IGNyeXB0byB9LFxuICAgICAgICBdO1xuICAgIH0sIFtvcHRpb25zLmZpYXQsIG9wdGlvbnMuY3J5cHRvXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgc2VhcmNoYWJsZTogc2VhcmNoYWJsZSwgZmlsdGVySW5wdXRBdXRvRm9jdXM6IGZpbHRlcklucHV0QXV0b0ZvY3VzLCBvblNlYXJjaENoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCAhPT0gbnVsbCAmJiBlbXB0eUNvbnRlbnQgIT09IHZvaWQgMCA/IGVtcHR5Q29udGVudCA6IChfanN4KEVtcHR5LCB7IGljb246ICdjb2luJywgZGVzY3JpcHRpb246IGtleXdvcmQgPyBgTm8gcmVzdWx0cyBmb3IgXCIke2tleXdvcmR9XCJgIDogJ05vIHJlc3VsdHMnIH0pKSwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBsYWJlbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tbGFiZWxgLCBsYWJlbENsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfS1wYW5lbGAsIHBhbmVsQ2xhc3NOYW1lKSwgb3B0aW9uczogZ3JvdXBlZE9wdGlvbnMsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pKTtcbiAgICAgICAgfSwgcmVuZGVyT3B0aW9uQ29udGVudDogKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIHN0eWxlOiB7IG1pbldpZHRoOiAwIH0sIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDAsIGFsaWduOiAnc3RhcnQnLCBzdHlsZTogeyBtaW5XaWR0aDogMCB9LCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnZGVmYXVsdCcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC10ZXJ0aWFyeScsIGNoaWxkcmVuOiBpdGVtLm5hbWUgfSldIH0pXSB9KSwgc2hvd0JhbGFuY2UgJiYgaXRlbS5iYWxhbmNlICE9IG51bGwgJiYgKF9qc3hzKFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnZGVmYXVsdCcsIGNsYXNzTmFtZTogQkFMQU5DRV9DTFMsIGNoaWxkcmVuOiBbbnVtZXJpY0Zvcm1hdHRlcihpdGVtLmJhbGFuY2UsIHsgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUgfSksIFwiIFwiLCBTdHJpbmcoKF9iID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJycpXSB9KSldIH0pKTtcbiAgICAgICAgfSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBBc3NldFNlbGVjdCA9IG1lbW8oQXNzZXRTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfcmVhY3ROdW1iZXJGb3JtYXQiLCJfRW1wdHkiLCJfRmxleCIsIl9TZWxlY3QiLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIklDT05fQ0xTIiwiY29uY2F0IiwiQkFMQU5DRV9DTFMiLCJJQ09OX1NJWkUiLCJHUk9VUF9GSUFUIiwiR1JPVVBfU1RBQkxFQ09JTiIsIkdST1VQX0RJR0lUQUwiLCJ0b09wdGlvbiIsImN1cnJlbmN5IiwibGFiZWwiLCJjdXJyZW5jeU5hbWUiLCJ2YWx1ZSIsImljb24iLCJjdXJyZW5jeUljb25VcmwiLCJuYW1lIiwiY3VycmVuY3lEZXNjIiwiYmFsYW5jZSIsImN1cnJlbmN5QmFsYW5jZSIsInNlYXJjaFRleHQiLCJieU9yZGVyIiwiYSIsImIiLCJfYSIsIl9iIiwib3JkZXIiLCJ0b0dyb3VwT3B0aW9ucyIsImN1cnJlbmNpZXMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwic29ydCIsIm1hcCIsIkFzc2V0U2VsZWN0QmFzZSIsIm9wdGlvbnMiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9hJGxhYmVsIiwiX2EkbmFtZSIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRzZWFyY2hhYmxlIiwic2VhcmNoYWJsZSIsIl9hJGZpbHRlcklucHV0QXV0b0ZvYyIsImZpbHRlcklucHV0QXV0b0ZvY3VzIiwiX2Ekc3Ryb25nIiwic3Ryb25nIiwiX2Ekc2hvd0JhbGFuY2UiLCJzaG93QmFsYW5jZSIsImVtcHR5Q29udGVudCIsIm9uU2VhcmNoQ2hhbmdlIiwicGFuZWxDbGFzc05hbWUiLCJyZXN0IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwia2V5d29yZCIsInNldEtleXdvcmQiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJncm91cGVkT3B0aW9ucyIsInVzZU1lbW8iLCJncm91cHMiLCJmaWF0Iiwic3RhYmxlY29pbnMiLCJkaWdpdGFsQXNzZXRzIiwiZmlsdGVyIiwiZ3JvdXAiLCJfanN4IiwiU2VsZWN0IiwiYXNzaWduIiwiRW1wdHkiLCJkZXNjcmlwdGlvbiIsImpvaW5DbHMiLCJyZW5kZXJWYWx1ZSIsIm9wdGlvbiIsIl9yZWYiLCJmb250U2l6ZSIsIkFycmF5IiwiaXNBcnJheSIsIml0ZW0iLCJfanN4cyIsIkZsZXgiLCJhbGlnbiIsImdhcCIsImNoaWxkcmVuIiwic3JjIiwiYWx0IiwiU3RyaW5nIiwid2lkdGgiLCJoZWlnaHQiLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJyZW5kZXJPcHRpb25Db250ZW50IiwianVzdGlmeSIsInN0eWxlIiwibWluV2lkdGgiLCJ2ZXJ0aWNhbCIsIlR5cG9ncmFwaHlMYWJlbCIsImNvbG9yIiwibnVtZXJpY0Zvcm1hdHRlciIsInRob3VzYW5kU2VwYXJhdG9yIiwiQXNzZXRTZWxlY3QiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsa0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUwsT0FB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Y0FBQ0MsSUFBSSxFQUFDLElBQUk7Y0FBQ08sS0FBSyxFQUFDLGtCQUFrQjtjQUFBZCxRQUFBLEVBQy9DTCxJQUFJLENBQUNqRTtZQUFJLENBQUEsQ0FDSztVQUFBLENBQUEsQ0FDWjtRQUFBLENBQUEsQ0FDRixFQUNOaUMsV0FBVyxJQUFJZ0MsSUFBSSxDQUFDL0QsT0FBTyxJQUFJLElBQUksSUFDbEMsSUFBQWdFLGdCQUFBLEVBQUNVLDBCQUFjLEVBQUE7VUFBQ0MsSUFBSSxFQUFDLElBQUk7VUFBQ08sS0FBSyxFQUFDLFNBQVM7VUFBQ2hFLFNBQVMsRUFBRWhDLFdBQVc7VUFBQWtGLFFBQUEsRUFBQSxDQUM3RCxJQUFBZSxtQ0FBZ0IsRUFBQ3BCLElBQUksQ0FBQy9ELE9BQU8sRUFBRTtZQUFFb0YsaUJBQWlCLEVBQUU7VUFBSSxDQUFFLENBQUMsRUFBQSxHQUFBLEVBQUdiLE1BQU0sQ0FBQyxDQUFBaEUsRUFBQSxHQUFBd0QsSUFBSSxDQUFDcEUsS0FBSyxNQUFBLElBQUEsSUFBQVksRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksRUFBRSxDQUFDO1FBQUEsQ0FBQSxDQUUxRjtNQUFBLENBQUEsQ0FDSTtJQUVYO0VBQUMsQ0FBQSxDQUFBLENBQ0Q7QUFFTixDQUFDO0FBRU0sSUFBTThFLFdBQVcsR0FBQUMsT0FBQSxDQUFBRCxXQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQ3ZFLGVBQWUsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvQXNzZXQvQXNzZXRTZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5pbXBvcnQgeyBFbXB0eSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRW1wdHknO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWFzc2V0LXNlbGVjdCc7XG5jb25zdCBJQ09OX0NMUyA9IGAke1dSQVBfQ0xTfS1pY29uYDtcbmNvbnN0IEJBTEFOQ0VfQ0xTID0gYCR7V1JBUF9DTFN9LWJhbGFuY2VgO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBHUk9VUF9GSUFUID0gJ0Nhc2gnO1xuY29uc3QgR1JPVVBfU1RBQkxFQ09JTiA9ICdTdGFibGVjb2lucyc7XG5jb25zdCBHUk9VUF9ESUdJVEFMID0gJ0RpZ2l0YWwgQXNzZXRzJztcbmNvbnN0IHRvT3B0aW9uID0gKGN1cnJlbmN5KSA9PiAoe1xuICAgIGxhYmVsOiBjdXJyZW5jeS5jdXJyZW5jeU5hbWUsXG4gICAgdmFsdWU6IGN1cnJlbmN5LmN1cnJlbmN5TmFtZSxcbiAgICBpY29uOiBjdXJyZW5jeS5jdXJyZW5jeUljb25VcmwsXG4gICAgbmFtZTogY3VycmVuY3kuY3VycmVuY3lEZXNjLFxuICAgIGJhbGFuY2U6IGN1cnJlbmN5LmN1cnJlbmN5QmFsYW5jZSxcbiAgICAvLyBNYXRjaCB0aGUgc2VhcmNoIGFnYWluc3QgYm90aCB0aGUgc3ltYm9sIGFuZCB0aGUgaHVtYW4tcmVhZGFibGUgbmFtZS5cbiAgICBzZWFyY2hUZXh0OiBgJHtjdXJyZW5jeS5jdXJyZW5jeU5hbWV9ICR7Y3VycmVuY3kuY3VycmVuY3lEZXNjfWAsXG59KTtcbi8vIFNvcnQgd2l0aGluIGEgZ3JvdXAgYnkgdGhlIGJhY2tlbmQgYG9yZGVyYCAoYXNjZW5kaW5nKS4gQ29waWVzIHRoZSBhcnJheSBzb1xuLy8gdGhlIGNhbGxlcidzIGBvcHRpb25zYCBpcyBuZXZlciBtdXRhdGVkOyBtaXNzaW5nIGBvcmRlcmAgZmFsbHMgYmFjayB0byAwLlxuY29uc3QgYnlPcmRlciA9IChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKF9hID0gYS5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogMCkgLSAoKF9iID0gYi5vcmRlcikgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMCk7IH07XG5jb25zdCB0b0dyb3VwT3B0aW9ucyA9IChjdXJyZW5jaWVzID0gW10pID0+IFsuLi5jdXJyZW5jaWVzXS5zb3J0KGJ5T3JkZXIpLm1hcCh0b09wdGlvbik7XG5jb25zdCBBc3NldFNlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsQ2xhc3NOYW1lLCBsYWJlbCA9ICdBc3NldCcsIG5hbWUgPSAnYXNzZXQnLCBwbGFjZWhvbGRlciA9ICdTZWxlY3QgYXNzZXQnLCBzZWFyY2hhYmxlID0gdHJ1ZSwgZmlsdGVySW5wdXRBdXRvRm9jdXMgPSB0cnVlLCBzdHJvbmcgPSB0cnVlLCBzaG93QmFsYW5jZSA9IGZhbHNlLCBlbXB0eUNvbnRlbnQsIG9uU2VhcmNoQ2hhbmdlLCBwYW5lbENsYXNzTmFtZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbENsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwibmFtZVwiLCBcInBsYWNlaG9sZGVyXCIsIFwic2VhcmNoYWJsZVwiLCBcImZpbHRlcklucHV0QXV0b0ZvY3VzXCIsIFwic3Ryb25nXCIsIFwic2hvd0JhbGFuY2VcIiwgXCJlbXB0eUNvbnRlbnRcIiwgXCJvblNlYXJjaENoYW5nZVwiLCBcInBhbmVsQ2xhc3NOYW1lXCJdKTtcbiAgICBjb25zdCBba2V5d29yZCwgc2V0S2V5d29yZF0gPSB1c2VTdGF0ZSgnJyk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQ2hhbmdlID0gKHZhbHVlKSA9PiB7XG4gICAgICAgIHNldEtleXdvcmQodmFsdWUpO1xuICAgICAgICBvblNlYXJjaENoYW5nZSA9PT0gbnVsbCB8fCBvblNlYXJjaENoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25TZWFyY2hDaGFuZ2UodmFsdWUpO1xuICAgIH07XG4gICAgY29uc3QgZ3JvdXBlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ3JvdXBzID0gW1xuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfRklBVCwgb3B0aW9uczogdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5maWF0KSB9LFxuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfU1RBQkxFQ09JTiwgb3B0aW9uczogdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5zdGFibGVjb2lucykgfSxcbiAgICAgICAgICAgIHsgbGFiZWw6IEdST1VQX0RJR0lUQUwsIG9wdGlvbnM6IHRvR3JvdXBPcHRpb25zKG9wdGlvbnMuZGlnaXRhbEFzc2V0cykgfSxcbiAgICAgICAgXS5maWx0ZXIoKGdyb3VwKSA9PiBncm91cC5vcHRpb25zLmxlbmd0aCA+IDApO1xuICAgICAgICAvLyBXaXRoIG9ubHkgb25lIHBvcHVsYXRlZCBncm91cCwgZHJvcCB0aGUgZ3JvdXAgbGFiZWwgYW5kIHJlbmRlciBhIGZsYXRcbiAgICAgICAgLy8gbGlzdCDigJQgYSBsb25lIFwiQ2FzaFwiL1wiU3RhYmxlY29pbnNcIi9cIkRpZ2l0YWwgQXNzZXRzXCIgaGVhZGluZyBpcyBqdXN0XG4gICAgICAgIC8vIG5vaXNlLiBgU2VsZWN0YCBvbmx5IHNob3dzIGEgaGVhZGluZyBmb3IgZ3JvdXBzIHdpdGggYSB0cnV0aHkgYGxhYmVsYC5cbiAgICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gZ3JvdXBzWzBdLm9wdGlvbnM7XG4gICAgICAgIHJldHVybiBncm91cHM7XG4gICAgfSwgW29wdGlvbnMuZmlhdCwgb3B0aW9ucy5zdGFibGVjb2lucywgb3B0aW9ucy5kaWdpdGFsQXNzZXRzXSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdCwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBsYWJlbDogbGFiZWwsIG5hbWU6IG5hbWUsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgc2VhcmNoYWJsZTogc2VhcmNoYWJsZSwgZmlsdGVySW5wdXRBdXRvRm9jdXM6IGZpbHRlcklucHV0QXV0b0ZvY3VzLCBvblNlYXJjaENoYW5nZTogaGFuZGxlU2VhcmNoQ2hhbmdlLCBlbXB0eUNvbnRlbnQ6IGVtcHR5Q29udGVudCAhPT0gbnVsbCAmJiBlbXB0eUNvbnRlbnQgIT09IHZvaWQgMCA/IGVtcHR5Q29udGVudCA6IChfanN4KEVtcHR5LCB7IGljb246ICdjb2luJywgZGVzY3JpcHRpb246IGtleXdvcmQgPyBgTm8gcmVzdWx0cyBmb3IgXCIke2tleXdvcmR9XCJgIDogJ05vIHJlc3VsdHMnIH0pKSwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBsYWJlbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tbGFiZWxgLCBsYWJlbENsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfS1wYW5lbGAsIHBhbmVsQ2xhc3NOYW1lKSwgb3B0aW9uczogZ3JvdXBlZE9wdGlvbnMsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pKTtcbiAgICAgICAgfSwgcmVuZGVyT3B0aW9uQ29udGVudDogKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBqdXN0aWZ5OiAnc3BhY2UtYmV0d2VlbicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIHN0eWxlOiB7IG1pbldpZHRoOiAwIH0sIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDAsIGFsaWduOiAnc3RhcnQnLCBzdHlsZTogeyBtaW5XaWR0aDogMCB9LCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnZGVmYXVsdCcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC10ZXJ0aWFyeScsIGNoaWxkcmVuOiBpdGVtLm5hbWUgfSldIH0pXSB9KSwgc2hvd0JhbGFuY2UgJiYgaXRlbS5iYWxhbmNlICE9IG51bGwgJiYgKF9qc3hzKFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIGNvbG9yOiAnZGVmYXVsdCcsIGNsYXNzTmFtZTogQkFMQU5DRV9DTFMsIGNoaWxkcmVuOiBbbnVtZXJpY0Zvcm1hdHRlcihpdGVtLmJhbGFuY2UsIHsgdGhvdXNhbmRTZXBhcmF0b3I6IHRydWUgfSksIFwiIFwiLCBTdHJpbmcoKF9iID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogJycpXSB9KSldIH0pKTtcbiAgICAgICAgfSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBBc3NldFNlbGVjdCA9IG1lbW8oQXNzZXRTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SelectProps } from "../../../components/Select";
|
|
2
2
|
/**
|
|
3
3
|
* A single selectable currency as returned by 1money's `/private/currencies`
|
|
4
|
-
* endpoint.
|
|
5
|
-
* (`data.
|
|
4
|
+
* endpoint. The fiat list (`data.fiat[i]`) and the stablecoin list
|
|
5
|
+
* (`data.stablecoins[i]`) share these display fields — the component reads only
|
|
6
6
|
* the icon, symbol (`currencyName`), and description; any nested
|
|
7
7
|
* `paymentMethods` / `networks` arrays carried by the payload are ignored.
|
|
8
8
|
*/
|
|
@@ -17,28 +17,36 @@ export interface AssetCurrency {
|
|
|
17
17
|
order?: number;
|
|
18
18
|
/**
|
|
19
19
|
* Available balance for this currency, e.g. `"9519970.6845"`. Carried by
|
|
20
|
-
*
|
|
20
|
+
* every list; rendered right-aligned in the dropdown
|
|
21
21
|
* option (see `AssetSelectProps.showBalance`). Rows without it stay blank.
|
|
22
22
|
*/
|
|
23
23
|
currencyBalance?: string;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* The `data` object returned by 1money's `/private/currencies` endpoint.
|
|
27
|
-
* The component renders `fiat` under a **Cash** group
|
|
28
|
-
* **Stablecoins** group
|
|
27
|
+
* The component renders `fiat` under a **Cash** group, `stablecoins` under a
|
|
28
|
+
* **Stablecoins** group, and `digitalAssets` under a **Digital Assets**
|
|
29
|
+
* group — pass `res.data` through as-is. Empty groups are dropped; when a
|
|
30
|
+
* single group remains its heading is hidden and the list renders flat.
|
|
29
31
|
*/
|
|
30
32
|
export interface AssetSelectOptions {
|
|
31
33
|
/** Fiat currencies, rendered under the **Cash** group. */
|
|
32
34
|
fiat: AssetCurrency[];
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
+
/** Stablecoin currencies, rendered under the **Stablecoins** group. */
|
|
36
|
+
stablecoins: AssetCurrency[];
|
|
37
|
+
/**
|
|
38
|
+
* Digital assets, rendered under the **Digital Assets** group. Optional —
|
|
39
|
+
* omit it to keep the original two-group (Cash / Stablecoins) layout.
|
|
40
|
+
*/
|
|
41
|
+
digitalAssets?: AssetCurrency[];
|
|
35
42
|
}
|
|
36
43
|
export interface AssetSelectProps extends Omit<SelectProps, 'options' | 'renderValue' | 'renderOption' | 'renderOptionContent'> {
|
|
37
44
|
/**
|
|
38
45
|
* The `data` object returned by 1money's `/private/currencies` endpoint.
|
|
39
|
-
* Pass through as-is — the component splits it into the **Cash** (fiat)
|
|
40
|
-
* **Stablecoins** (
|
|
41
|
-
* derives the trigger from the
|
|
46
|
+
* Pass through as-is — the component splits it into the **Cash** (fiat),
|
|
47
|
+
* **Stablecoins** (stablecoins), and optional **Digital Assets** (digitalAssets)
|
|
48
|
+
* groups, renders the searchable dropdown, and derives the trigger from the
|
|
49
|
+
* selected currency.
|
|
42
50
|
*
|
|
43
51
|
* @example
|
|
44
52
|
* ```ts
|
|
@@ -51,7 +59,7 @@ export interface AssetSelectProps extends Omit<SelectProps, 'options' | 'renderV
|
|
|
51
59
|
* currencyBalance: '9519970.6845',
|
|
52
60
|
* },
|
|
53
61
|
* ],
|
|
54
|
-
*
|
|
62
|
+
* stablecoins: [
|
|
55
63
|
* {
|
|
56
64
|
* currencyName: 'USDC',
|
|
57
65
|
* currencyIconUrl: 'https://static.1money.com/images/asset/usdc.png',
|