@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.
@@ -14,13 +14,18 @@ import { Filter } from '../../../components/Filter';
14
14
  import { Flex } from '../../../components/Flex';
15
15
  import { Icons } from '../../../components/Icons';
16
16
  import { TypographyBody } from '../../../components/Typography';
17
+ import { AssetFilterGroups } from './interface';
17
18
  var WRAP_CLS = 'om-asset-filter';
18
19
  var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
19
20
  var GROUP_LABEL_CLS = "".concat(WRAP_CLS, "__group-label");
20
21
  var ICON_CLS = "".concat(WRAP_CLS, "-icon");
21
22
  var ICON_SIZE = 24;
22
- var FIAT_GROUP = 'Cash';
23
- var CRYPTO_GROUP = 'Stablecoins';
23
+ // Panel heading per group, rendered in `AssetFilterGroups` order.
24
+ var GROUP_LABELS = {
25
+ fiat: 'Cash',
26
+ stablecoin: 'Stablecoins',
27
+ digitalAsset: 'Digital Assets'
28
+ };
24
29
  var DEFAULT_ALL_LABEL = 'All assets';
25
30
  var DEFAULT_PLACEHOLDER = 'Asset';
26
31
  var DEFAULT_EMPTY = _jsx(Empty, {
@@ -53,27 +58,29 @@ var toOption = function toOption(item) {
53
58
  searchText: [item.assetName, item.assetDesc].filter(Boolean).join(' ')
54
59
  };
55
60
  };
56
- // Fiat "Cash", rest "Stablecoins". Empty groups dropped so a single-kind
57
- // list shows one heading.
61
+ // Explicit `group` wins; otherwise the legacy `isFiat` flag maps to fiat /
62
+ // stablecoin (so callers that never set `group` keep the old two-bucket split).
63
+ var resolveGroup = function resolveGroup(item) {
64
+ var _a;
65
+ return (_a = item.group) !== null && _a !== void 0 ? _a : item.isFiat ? 'fiat' : 'stablecoin';
66
+ };
67
+ // Bucket rows into "Cash" / "Stablecoins" / "Digital Assets", always in
68
+ // `AssetFilterGroups` order. Empty groups are dropped so a single-kind list
69
+ // shows one heading.
58
70
  var toGroupedData = function toGroupedData(items) {
59
- var fiat = items.filter(function (item) {
60
- return item.isFiat;
61
- }).map(toOption);
62
- var crypto = items.filter(function (item) {
63
- return !item.isFiat;
64
- }).map(toOption);
65
- var data = [];
66
- if (fiat.length) data.push({
67
- key: FIAT_GROUP,
68
- label: FIAT_GROUP,
69
- options: fiat
70
- });
71
- if (crypto.length) data.push({
72
- key: CRYPTO_GROUP,
73
- label: CRYPTO_GROUP,
74
- options: crypto
75
- });
76
- return data;
71
+ return AssetFilterGroups.reduce(function (data, group) {
72
+ var options = items.filter(function (item) {
73
+ return resolveGroup(item) === group;
74
+ }).map(toOption);
75
+ if (options.length) {
76
+ data.push({
77
+ key: GROUP_LABELS[group],
78
+ label: GROUP_LABELS[group],
79
+ options: options
80
+ });
81
+ }
82
+ return data;
83
+ }, []);
77
84
  };
78
85
  var renderRow = function renderRow(option, checked) {
79
86
  var text = typeof option.label === 'string' ? option.label : '';
@@ -160,4 +167,4 @@ var AssetFilterBase = function AssetFilterBase(_a) {
160
167
  }));
161
168
  };
162
169
  export var AssetFilter = /*#__PURE__*/memo(AssetFilterBase);
163
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L0Fzc2V0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZU1lbW8iLCJ1c2VSZWYiLCJDaGVja2JveCIsIkVtcHR5IiwiRmlsdGVyIiwiRmxleCIsIkljb25zIiwiVHlwb2dyYXBoeUJvZHkiLCJXUkFQX0NMUyIsIlBBTkVMX0NMUyIsImNvbmNhdCIsIkdST1VQX0xBQkVMX0NMUyIsIklDT05fQ0xTIiwiSUNPTl9TSVpFIiwiRklBVF9HUk9VUCIsIkNSWVBUT19HUk9VUCIsIkRFRkFVTFRfQUxMX0xBQkVMIiwiREVGQVVMVF9QTEFDRUhPTERFUiIsIkRFRkFVTFRfRU1QVFkiLCJ2YXJpYW50IiwiaWNvbiIsIm5hbWUiLCJzaXplIiwiY29sb3IiLCJ0aXRsZSIsInN0cm9uZyIsImNoaWxkcmVuIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsInBhZGRpbmciLCJ0b09wdGlvbiIsIml0ZW0iLCJsYWJlbCIsImFzc2V0TmFtZSIsInZhbHVlIiwiaWNvblVybCIsImFzc2V0SWNvblVybCIsInNlYXJjaFRleHQiLCJhc3NldERlc2MiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInRvR3JvdXBlZERhdGEiLCJpdGVtcyIsImZpYXQiLCJpc0ZpYXQiLCJtYXAiLCJjcnlwdG8iLCJkYXRhIiwicHVzaCIsImtleSIsIm9wdGlvbnMiLCJyZW5kZXJSb3ciLCJvcHRpb24iLCJjaGVja2VkIiwidGV4dCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImNsYXNzTmFtZSIsInNyYyIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwicmVhZE9ubHkiLCJBc3NldEZpbHRlckJhc2UiLCJfYSIsInJlZiIsIl9hJHNpemUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsTGFiZWwiLCJhbGxMYWJlbCIsIl9hJHNlYXJjaCIsInNlYXJjaCIsInNlYXJjaFBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoRW1wdHkiLCJzZWFyY2hFbXB0eSIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImZpbHRlclJlZiIsImdyb3VwZWREYXRhIiwiY2xlYXIiLCJjdXJyZW50IiwicmVzZXQiLCJhc3NpZ24iLCJwYW5lbENsYXNzTmFtZSIsImdyb3VwTGFiZWxDbGFzc05hbWUiLCJlbXB0eUNvbnRlbnQiLCJBc3NldEZpbHRlciJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENBQUMsQ0FBQztFQUNmLElBQUlILENBQUMsSUFBSSxJQUFJLElBQUksT0FBT0ksTUFBTSxDQUFDSyxxQkFBcUIsS0FBSyxVQUFVLEVBQy9ELEtBQUssSUFBSUMsQ0FBQyxHQUFHLENBQUMsRUFBRVAsQ0FBQyxHQUFHQyxNQUFNLENBQUNLLHFCQUFxQixDQUFDVCxDQUFDLENBQUMsRUFBRVUsQ0FBQyxHQUFHUCxD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QUVpQixLQUFLLENBQUEsQ0FBRTtNQUFBLENBQUE7TUFDdkNFLEtBQUssRUFBRSxTQUFQQSxLQUFLQSxDQUFBLEVBQU87UUFBQSxJQUFBbkIsRUFBQTtRQUFDLE9BQUEsQ0FBQUEsRUFBQSxHQUFBZSxTQUFTLENBQUNHLE9BQU8sTUFBQSxJQUFBLElBQUFsQixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRW1CLEtBQUssQ0FBQSxDQUFFO01BQUE7SURwQ3ZDLENDcUNEO0VBQUEsQ0FBQyxDQUFDO0VBRUgsT0FDRTFGLElBQUEsQ0FBQ1MsTUFBTSxFQUFBbkIsTUFBQSxDQUFBcUcsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNETixJQUFJLEVBQUE7SUFDUmIsR0FBRyxFQUFFYyxTQUFTO0lBQ2R0QixTQUFTLEVBQUVBLFNBQVM7SUFDcEI0QixjQUFjLEVBQUU5RSxTQUFTO0lBQ3pCK0UsbUJBQW1CLEVBQUU3RSxlQUFlO0lBQ3BDVyxJQUFJLEVBQUVBLElBQUk7SUFDVlUsS0FBSyxFQUFFQSxLQUFLO0lBQ1pzQyxXQUFXLEVBQUVBLFdBQVc7SUFDeEJuQixPQUFPLEVBQUUrQixXQUFXO0lBQ3BCVixRQUFRLEVBQUVBLFFBQVE7SUFDbEJFLE1BQU0sRUFBRUEsTUFBTTtJQUNkQyxpQkFBaUIsRUFBRUEsaUJBQWlCO0lBQ3BDYyxZQUFZLEVBQUVaLFdBQVc7SUFDekJ6QixTQUFTLEVBQUVBLFNBQVM7SUFDcEIwQixPQUFPLEVBQUVBLE9BQU87SUFDaEJDLE9BQU8sRUFBRUE7RUFBTyxDQUFBLENBQUEsQ0FDaEI7QUFFTixDQUFDO0FBRUQsT0FBTyxJQUFNVyxXQUFXLGdCQUFHNUYsSUFBSSxDQUFDbUUsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmlsdGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWFzc2V0LWZpbHRlcic7XG5jb25zdCBQQU5FTF9DTFMgPSBgJHtXUkFQX0NMU30tcGFuZWxgO1xuY29uc3QgR1JPVVBfTEFCRUxfQ0xTID0gYCR7V1JBUF9DTFN9X19ncm91cC1sYWJlbGA7XG5jb25zdCBJQ09OX0NMUyA9IGAke1dSQVBfQ0xTfS1pY29uYDtcbmNvbnN0IElDT05fU0laRSA9IDI0O1xuY29uc3QgRklBVF9HUk9VUCA9ICdDYXNoJztcbmNvbnN0IENSWVBUT19HUk9VUCA9ICdTdGFibGVjb2lucyc7XG5jb25zdCBERUZBVUxUX0FMTF9MQUJFTCA9ICdBbGwgYXNzZXRzJztcbmNvbnN0IERFRkFVTFRfUExBQ0VIT0xERVIgPSAnQXNzZXQnO1xuY29uc3QgREVGQVVMVF9FTVBUWSA9IChfanN4KEVtcHR5LCB7IHZhcmlhbnQ6ICdmaWxsJywgaWNvbjogX2pzeChJY29ucywgeyBuYW1lOiAnc2VhcmNoJywgc2l6ZTogMTYsIGNvbG9yOiAnY3VycmVudENvbG9yJyB9KSwgdGl0bGU6IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgc3Ryb25nOiB0cnVlLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiTm8gcmVzdWx0c1wiIH0pLCBkZXNjcmlwdGlvbjogX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ25ldXRyYWwtc2Vjb25kYXJ5JywgY2hpbGRyZW46IFwiVHJ5IGEgZGlmZmVyZW50IG5hbWUgb3IgYWRqdXN0IHlvdXIgc2VhcmNoIGZpbHRlcnMuXCIgfSksIHN0eWxlOiB7IHBhZGRpbmc6IDAgfSB9KSk7XG5jb25zdCB0b09wdGlvbiA9IChpdGVtKSA9PiAoe1xuICAgIGxhYmVsOiBpdGVtLmFzc2V0TmFtZSxcbiAgICB2YWx1ZTogaXRlbS5hc3NldE5hbWUsXG4gICAgaWNvblVybDogaXRlbS5hc3NldEljb25VcmwsXG4gICAgc2VhcmNoVGV4dDogW2l0ZW0uYXNzZXROYW1lLCBpdGVtLmFzc2V0RGVzY10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKSxcbn0pO1xuLy8gRmlhdCDihpIgXCJDYXNoXCIsIHJlc3Qg4oaSIFwiU3RhYmxlY29pbnNcIi4gRW1wdHkgZ3JvdXBzIGRyb3BwZWQgc28gYSBzaW5nbGUta2luZFxuLy8gbGlzdCBzaG93cyBvbmUgaGVhZGluZy5cbmNvbnN0IHRvR3JvdXBlZERhdGEgPSAoaXRlbXMpID0+IHtcbiAgICBjb25zdCBmaWF0ID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzRmlhdCkubWFwKHRvT3B0aW9uKTtcbiAgICBjb25zdCBjcnlwdG8gPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmlzRmlhdCkubWFwKHRvT3B0aW9uKTtcbiAgICBjb25zdCBkYXRhID0gW107XG4gICAgaWYgKGZpYXQubGVuZ3RoKVxuICAgICAgICBkYXRhLnB1c2goeyBrZXk6IEZJQVRfR1JPVVAsIGxhYmVsOiBGSUFUX0dST1VQLCBvcHRpb25zOiBmaWF0IH0pO1xuICAgIGlmIChjcnlwdG8ubGVuZ3RoKVxuICAgICAgICBkYXRhLnB1c2goeyBrZXk6IENSWVBUT19HUk9VUCwgbGFiZWw6IENSWVBUT19HUk9VUCwgb3B0aW9uczogY3J5cHRvIH0pO1xuICAgIHJldHVybiBkYXRhO1xufTtcbmNvbnN0IHJlbmRlclJvdyA9IChvcHRpb24sIGNoZWNrZWQpID0+IHtcbiAgICBjb25zdCB0ZXh0ID0gdHlwZW9mIG9wdGlvbi5sYWJlbCA9PT0gJ3N0cmluZycgPyBvcHRpb24ubGFiZWwgOiAnJztcbiAgICBjb25zdCBpY29uVXJsID0gb3B0aW9uLmljb25Vcmw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDEyLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93YCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fcm93LW1haW5gLCBjaGlsZHJlbjogW2ljb25VcmwgJiYgKF9qc3goXCJpbWdcIiwgeyBzcmM6IGljb25VcmwsIGFsdDogdGV4dCwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3Jvdy1uYW1lYCwgY2hpbGRyZW46IG9wdGlvbi5sYWJlbCB9KV0gfSksIF9qc3goQ2hlY2tib3gsIHsgY2hlY2tlZDogY2hlY2tlZCwgcmVhZE9ubHk6IHRydWUsIGNsYXNzTmFtZTogJ29tLWZpbHRlcl9fcm93LWNoZWNrJyB9KV0gfSkpO1xufTtcbmNvbnN0IEFzc2V0RmlsdGVyQmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IHJlZiwgY2xhc3NOYW1lLCBzaXplID0gJ2V4dHJhLXNtYWxsJywgbGFiZWwsIHBsYWNlaG9sZGVyID0gREVGQVVMVF9QTEFDRUhPTERFUiwgZGF0YSwgYWxsTGFiZWwgPSBERUZBVUxUX0FMTF9MQUJFTCwgc2VhcmNoID0gdHJ1ZSwgc2VhcmNoUGxhY2Vob2xkZXIsIHNlYXJjaEVtcHR5ID0gREVGQVVMVF9FTVBUWSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiZGF0YVwiLCBcImFsbExhYmVsXCIsIFwic2VhcmNoXCIsIFwic2VhcmNoUGxhY2Vob2xkZXJcIiwgXCJzZWFyY2hFbXB0eVwiLCBcIm9uQXBwbHlcIiwgXCJvblJlc2V0XCJdKTtcbiAgICBjb25zdCBmaWx0ZXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gICAgY29uc3QgZ3JvdXBlZERhdGEgPSB1c2VNZW1vKCgpID0+IHRvR3JvdXBlZERhdGEoZGF0YSksIFtkYXRhXSk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGZpbHRlclJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2xlYXIoKTsgfSxcbiAgICAgICAgcmVzZXQ6ICgpID0+IHsgdmFyIF9hOyByZXR1cm4gKF9hID0gZmlsdGVyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5yZXNldCgpOyB9LFxuICAgIH0pKTtcbiAgICByZXR1cm4gKF9qc3goRmlsdGVyLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogZmlsdGVyUmVmLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgcGFuZWxDbGFzc05hbWU6IFBBTkVMX0NMUywgZ3JvdXBMYWJlbENsYXNzTmFtZTogR1JPVVBfTEFCRUxfQ0xTLCBzaXplOiBzaXplLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgb3B0aW9uczogZ3JvdXBlZERhdGEsIGFsbExhYmVsOiBhbGxMYWJlbCwgc2VhcmNoOiBzZWFyY2gsIHNlYXJjaFBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgZW1wdHlDb250ZW50OiBzZWFyY2hFbXB0eSwgcmVuZGVyUm93OiByZW5kZXJSb3csIG9uQXBwbHk6IG9uQXBwbHksIG9uUmVzZXQ6IG9uUmVzZXQgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQXNzZXRGaWx0ZXIgPSBtZW1vKEFzc2V0RmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
170
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L0Fzc2V0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZU1lbW8iLCJ1c2VSZWYiLCJDaGVja2JveCIsIkVtcHR5IiwiRmlsdGVyIiwiRmxleCIsIkljb25zIiwiVHlwb2dyYXBoeUJvZHkiLCJBc3NldEZpbHRlckdyb3VwcyIsIldSQVBfQ0xTIiwiUEFORUxfQ0xTIiwiY29uY2F0IiwiR1JPVVBfTEFCRUxfQ0xTIiwiSUNPTl9DTFMiLCJJQ09OX1NJWkUiLCJHUk9VUF9MQUJFTFMiLCJmaWF0Iiwic3RhYmxlY29pbiIsImRpZ2l0YWxBc3NldCIsIkRFRkFVTFRfQUxMX0xBQkVMIiwiREVGQVVMVF9QTEFDRUhPTERFUiIsIkRFRkFVTFRfRU1QVFkiLCJ2YXJpYW50IiwiaWNvbiIsIm5hbWUiLCJzaXplIiwiY29sb3IiLCJ0aXRsZSIsInN0cm9uZyIsImNoaWxkcmVuIiwiZGVzY3JpcHRpb24iLCJzdHlsZSIsInBhZGRpbmciLCJ0b09wdGlvbiIsIml0ZW0iLCJsYWJlbCIsImFzc2V0TmFtZSIsInZhbHVlIiwiaWNvblVybCIsImFzc2V0SWNvblVybCIsInNlYXJjaFRleHQiLCJhc3NldERlc2MiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsInJlc29sdmVHcm91cCIsIl9hIiwiZ3JvdXAiLCJpc0ZpYXQiLCJ0b0dyb3VwZWREYXRhIiwiaXRlbXMiLCJyZWR1Y2UiLCJkYXRhIiwib3B0aW9ucyIsIm1hcCIsInB1c2giLCJrZXkiLCJyZW5kZXJSb3ciLCJvcHRpb24iLCJjaGVja2VkIiwidGV4dCIsImFsaWduIiwianVzdGlmeSIsImdhcCIsImNsYXNzTmFtZSIsInNyYyIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwicmVhZE9ubHkiLCJBc3NldEZpbHRlckJhc2UiLCJyZWYiLCJfYSRzaXplIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJGFsbExhYmVsIiwiYWxsTGFiZWwiLCJfYSRzZWFyY2giLCJzZWFyY2giLCJzZWFyY2hQbGFjZWhvbGRlciIsIl9hJHNlYXJjaEVtcHR5Iiwic2VhcmNoRW1wdHkiLCJvbkFwcGx5Iiwib25SZXNldCIsInJlc3QiLCJmaWx0ZXJSZWYiLCJncm91cGVkRGF0YSIsImNsZWFyIiwiY3VycmVudCIsInJlc2V0IiwiYXNzaWduIiwicGFuZWxDbGFzc05hbWUiLCJncm91cExhYmVsQ2xhc3NOYW1lIiwiZW1wdHlDb250ZW50IiwiQXNzZXRGaWx0ZXIiXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMs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QU8sRUFBRUE7RUFBTyxDQUFBLENBQUEsQ0FDaEI7QUFFTixDQUFDO0FBRUQsT0FBTyxJQUFNVyxXQUFXLGdCQUFHaEcsSUFBSSxDQUFDd0UsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9Bc3NldC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJbXBlcmF0aXZlSGFuZGxlLCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDaGVja2JveCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2hlY2tib3gnO1xuaW1wb3J0IHsgRW1wdHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0VtcHR5JztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmlsdGVyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IEFzc2V0RmlsdGVyR3JvdXBzIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tYXNzZXQtZmlsdGVyJztcbmNvbnN0IFBBTkVMX0NMUyA9IGAke1dSQVBfQ0xTfS1wYW5lbGA7XG5jb25zdCBHUk9VUF9MQUJFTF9DTFMgPSBgJHtXUkFQX0NMU31fX2dyb3VwLWxhYmVsYDtcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG4vLyBQYW5lbCBoZWFkaW5nIHBlciBncm91cCwgcmVuZGVyZWQgaW4gYEFzc2V0RmlsdGVyR3JvdXBzYCBvcmRlci5cbmNvbnN0IEdST1VQX0xBQkVMUyA9IHtcbiAgICBmaWF0OiAnQ2FzaCcsXG4gICAgc3RhYmxlY29pbjogJ1N0YWJsZWNvaW5zJyxcbiAgICBkaWdpdGFsQXNzZXQ6ICdEaWdpdGFsIEFzc2V0cycsXG59O1xuY29uc3QgREVGQVVMVF9BTExfTEFCRUwgPSAnQWxsIGFzc2V0cyc7XG5jb25zdCBERUZBVUxUX1BMQUNFSE9MREVSID0gJ0Fzc2V0JztcbmNvbnN0IERFRkFVTFRfRU1QVFkgPSAoX2pzeChFbXB0eSwgeyB2YXJpYW50OiAnZmlsbCcsIGljb246IF9qc3goSWNvbnMsIHsgbmFtZTogJ3NlYXJjaCcsIHNpemU6IDE2LCBjb2xvcjogJ2N1cnJlbnRDb2xvcicgfSksIHRpdGxlOiBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICduZXV0cmFsLXNlY29uZGFyeScsIGNoaWxkcmVuOiBcIk5vIHJlc3VsdHNcIiB9KSwgZGVzY3JpcHRpb246IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICduZXV0cmFsLXNlY29uZGFyeScsIGNoaWxkcmVuOiBcIlRyeSBhIGRpZmZlcmVudCBuYW1lIG9yIGFkanVzdCB5b3VyIHNlYXJjaCBmaWx0ZXJzLlwiIH0pLCBzdHlsZTogeyBwYWRkaW5nOiAwIH0gfSkpO1xuY29uc3QgdG9PcHRpb24gPSAoaXRlbSkgPT4gKHtcbiAgICBsYWJlbDogaXRlbS5hc3NldE5hbWUsXG4gICAgdmFsdWU6IGl0ZW0uYXNzZXROYW1lLFxuICAgIGljb25Vcmw6IGl0ZW0uYXNzZXRJY29uVXJsLFxuICAgIHNlYXJjaFRleHQ6IFtpdGVtLmFzc2V0TmFtZSwgaXRlbS5hc3NldERlc2NdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJyksXG59KTtcbi8vIEV4cGxpY2l0IGBncm91cGAgd2luczsgb3RoZXJ3aXNlIHRoZSBsZWdhY3kgYGlzRmlhdGAgZmxhZyBtYXBzIHRvIGZpYXQgL1xuLy8gc3RhYmxlY29pbiAoc28gY2FsbGVycyB0aGF0IG5ldmVyIHNldCBgZ3JvdXBgIGtlZXAgdGhlIG9sZCB0d28tYnVja2V0IHNwbGl0KS5cbmNvbnN0IHJlc29sdmVHcm91cCA9IChpdGVtKSA9PiB7IHZhciBfYTsgcmV0dXJuIChfYSA9IGl0ZW0uZ3JvdXApICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChpdGVtLmlzRmlhdCA/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
- * Whether the asset is a fiat currency. Drives the group heading: fiat rows
20
- * bucket under "Cash", the rest under "Stablecoins".
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
  }
@@ -1,2 +1,7 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
1
+ /**
2
+ * Group bucket an asset row falls under — drives the panel heading:
3
+ * `'fiat'` → "Cash", `'stablecoin'` → "Stablecoins",
4
+ * `'digitalAsset'` → "Digital Assets".
5
+ */
6
+ export var AssetFilterGroups = ['fiat', 'stablecoin', 'digitalAsset'];
7
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9zcmMvYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L2ludGVyZmFjZS50cyIsImJ1c2luZXNzL0ZpbHRlci9Bc3NldC9pbnRlcmZhY2UuanMiXSwibmFtZXMiOlsiQXNzZXRGaWx0ZXJHcm91cHMiXSwibWFwcGluZ3MiOiJBQUdBO0FDRkE7QUFDQTtBQUNBO0FBQ0E7QURJQSxPQUFPLElBQU1BLGlCQUFpQixHQUFHLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLENBQVUiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0Fzc2V0L2ludGVyZmFjZS5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLyoqXG4gKiBHcm91cCBidWNrZXQgYW4gYXNzZXQgcm93IGZhbGxzIHVuZGVyIOKAlCBkcml2ZXMgdGhlIHBhbmVsIGhlYWRpbmc6XG4gKiBgJ2ZpYXQnYCDihpIgXCJDYXNoXCIsIGAnc3RhYmxlY29pbidgIOKGkiBcIlN0YWJsZWNvaW5zXCIsXG4gKiBgJ2RpZ2l0YWxBc3NldCdgIOKGkiBcIkRpZ2l0YWwgQXNzZXRzXCIuXG4gKi9cbmV4cG9ydCBjb25zdCBBc3NldEZpbHRlckdyb3VwcyA9IFsnZmlhdCcsICdzdGFibGVjb2luJywgJ2RpZ2l0YWxBc3NldCddOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -21,7 +21,8 @@ var ICON_CLS = "".concat(WRAP_CLS, "-icon");
21
21
  var BALANCE_CLS = "".concat(WRAP_CLS, "-balance");
22
22
  var ICON_SIZE = 24;
23
23
  var GROUP_FIAT = 'Cash';
24
- var GROUP_CRYPTO = 'Stablecoins';
24
+ var GROUP_STABLECOIN = 'Stablecoins';
25
+ var GROUP_DIGITAL = 'Digital Assets';
25
26
  var toOption = function toOption(currency) {
26
27
  return {
27
28
  label: currency.currencyName,
@@ -74,21 +75,24 @@ var AssetSelectBase = function AssetSelectBase(_a) {
74
75
  onSearchChange === null || onSearchChange === void 0 ? void 0 : onSearchChange(value);
75
76
  };
76
77
  var groupedOptions = useMemo(function () {
77
- var fiat = toGroupOptions(options.fiat);
78
- var crypto = toGroupOptions(options.crypto);
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 [{
78
+ var groups = [{
85
79
  label: GROUP_FIAT,
86
- options: fiat
80
+ options: toGroupOptions(options.fiat)
81
+ }, {
82
+ label: GROUP_STABLECOIN,
83
+ options: toGroupOptions(options.stablecoins)
87
84
  }, {
88
- label: GROUP_CRYPTO,
89
- options: crypto
90
- }];
91
- }, [options.fiat, options.crypto]);
85
+ label: GROUP_DIGITAL,
86
+ options: toGroupOptions(options.digitalAssets)
87
+ }].filter(function (group) {
88
+ return group.options.length > 0;
89
+ });
90
+ // With only one populated group, drop the group label and render a flat
91
+ // list — a lone "Cash"/"Stablecoins"/"Digital Assets" heading is just
92
+ // noise. `Select` only shows a heading for groups with a truthy `label`.
93
+ if (groups.length === 1) return groups[0].options;
94
+ return groups;
95
+ }, [options.fiat, options.stablecoins, options.digitalAssets]);
92
96
  return _jsx(Select, Object.assign({}, rest, {
93
97
  label: label,
94
98
  name: name,
@@ -179,4 +183,4 @@ var AssetSelectBase = function AssetSelectBase(_a) {
179
183
  }));
180
184
  };
181
185
  export var AssetSelect = /*#__PURE__*/memo(AssetSelectBase);
182
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwibnVtZXJpY0Zvcm1hdHRlciIsIkVtcHR5IiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiam9pbkNscyIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJCQUxBTkNFX0NMUyIsIklDT05fU0laRSIsIkdST1VQX0ZJQVQiLCJHUk9VUF9DUllQVE8iLCJ0b09wdGlvbiIsImN1cnJlbmN5IiwibGFiZWwiLCJjdXJyZW5jeU5hbWUiLCJ2YWx1ZSIsImljb24iLCJjdXJyZW5jeUljb25VcmwiLCJuYW1lIiwiY3VycmVuY3lEZXNjIiwiYmFsYW5jZSIsImN1cnJlbmN5QmFsYW5jZSIsInNlYXJjaFRleHQiLCJieU9yZGVyIiwiYSIsImIiLCJfYSIsIl9iIiwib3JkZXIiLCJ0b0dyb3VwT3B0aW9ucyIsImN1cnJlbmNpZXMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwibWFwIiwiQXNzZXRTZWxlY3RCYXNlIiwib3B0aW9ucyIsImNsYXNzTmFtZSIsImxhYmVsQ2xhc3NOYW1lIiwiX2EkbGFiZWwiLCJfYSRuYW1lIiwiX2EkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9hJHNlYXJjaGFibGUiLCJzZWFyY2hhYmxlIiwiX2EkZmlsdGVySW5wdXRBdXRvRm9jIiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJfYSRzdHJvbmciLCJzdHJvbmciLCJfYSRzaG93QmFsYW5jZSIsInNob3dCYWxhbmNlIiwiZW1wdHlDb250ZW50Iiwib25TZWFyY2hDaGFuZ2UiLCJwYW5lbENsYXNzTmFtZSIsInJlc3QiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJrZXl3b3JkIiwic2V0S2V5d29yZCIsImhhbmRsZVNlYXJjaENoYW5nZSIsImdyb3VwZWRPcHRpb25zIiwiZmlhdCIsImNyeXB0byIsImFzc2lnbiIsImRlc2NyaXB0aW9uIiwicmVuZGVyVmFsdWUiLCJvcHRpb24iLCJfcmVmIiwiZm9udFNpemUiLCJBcnJheSIsImlzQXJyYXkiLCJpdGVtIiwiYWxpZ24iLCJnYXAiLCJjaGlsZHJlbiIsInNyYyIsImFsdCIsIlN0cmluZyIsIndpZHRoIiwiaGVpZ2h0Iiwic2l6ZSIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJqdXN0aWZ5Iiwic3R5bGUiLCJtaW5XaWR0aCIsInZlcnRpY2FsIiwiY29sb3IiLCJ0aG91c2FuZFNlcGFyYXRvciIsIkFzc2V0U2VsZWN0Il0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUks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Q0FBQyxFQUFBLEdBQUEsRUFBR1YsTUFBTSxDQUFDLENBQUFwRCxFQUFBLEdBQUE4QyxJQUFJLENBQUMxRCxLQUFLLE1BQUEsSUFBQSxJQUFBWSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLENBQUM7UUFBQSxDQUFBLENBRTFGO01BQUEsQ0FBQSxDQUNJO0lBRVg7RUFBQyxDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU0rRCxXQUFXLGdCQUFHaEcsSUFBSSxDQUFDMEMsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9FbXB0eSc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tYXNzZXQtc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgQkFMQU5DRV9DTFMgPSBgJHtXUkFQX0NMU30tYmFsYW5jZWA7XG5jb25zdCBJQ09OX1NJWkUgPSAyNDtcbmNvbnN0IEdST1VQX0ZJQVQgPSAnQ2FzaCc7XG5jb25zdCBHUk9VUF9DUllQVE8gPSAnU3RhYmxlY29pbnMnO1xuY29uc3QgdG9PcHRpb24gPSAoY3VycmVuY3kpID0+ICh7XG4gICAgbGFiZWw6IGN1cnJlbmN5LmN1cnJlbmN5TmFtZSxcbiAgICB2YWx1ZTogY3VycmVuY3kuY3VycmVuY3lOYW1lLFxuICAgIGljb246IGN1cnJlbmN5LmN1cnJlbmN5SWNvblVybCxcbiAgICBuYW1lOiBjdXJyZW5jeS5jdXJyZW5jeURlc2MsXG4gICAgYmFsYW5jZTogY3VycmVuY3kuY3VycmVuY3lCYWxhbmNlLFxuICAgIC8vIE1hdGNoIHRoZSBzZWFyY2ggYWdhaW5zdCBib3RoIHRoZSBzeW1ib2wgYW5kIHRoZSBodW1hbi1yZWFkYWJsZSBuYW1lLlxuICAgIHNlYXJjaFRleHQ6IGAke2N1cnJlbmN5LmN1cnJlbmN5TmFtZX0gJHtjdXJyZW5jeS5jdXJyZW5jeURlc2N9YCxcbn0pO1xuLy8gU29ydCB3aXRoaW4gYSBncm91cCBieSB0aGUgYmFja2VuZCBgb3JkZXJgIChhc2NlbmRpbmcpLiBDb3BpZXMgdGhlIGFycmF5IHNvXG4vLyB0aGUgY2FsbGVyJ3MgYG9wdGlvbnNgIGlzIG5ldmVyIG11dGF0ZWQ7IG1pc3NpbmcgYG9yZGVyYCBmYWxscyBiYWNrIHRvIDAuXG5jb25zdCBieU9yZGVyID0gKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoX2EgPSBhLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKSAtICgoX2IgPSBiLm9yZGVyKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwKTsgfTtcbmNvbnN0IHRvR3JvdXBPcHRpb25zID0gKGN1cnJlbmNpZXMgPSBbXSkgPT4gWy4uLmN1cnJlbmNpZXNdLnNvcnQoYnlPcmRlcikubWFwKHRvT3B0aW9uKTtcbmNvbnN0IEFzc2V0U2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWUsIGxhYmVsID0gJ0Fzc2V0JywgbmFtZSA9ICdhc3NldCcsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhc3NldCcsIHNlYXJjaGFibGUgPSB0cnVlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIHN0cm9uZyA9IHRydWUsIHNob3dCYWxhbmNlID0gZmFsc2UsIGVtcHR5Q29udGVudCwgb25TZWFyY2hDaGFuZ2UsIHBhbmVsQ2xhc3NOYW1lIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wib3B0aW9uc1wiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzZWFyY2hhYmxlXCIsIFwiZmlsdGVySW5wdXRBdXRvRm9jdXNcIiwgXCJzdHJvbmdcIiwgXCJzaG93QmFsYW5jZVwiLCBcImVtcHR5Q29udGVudFwiLCBcIm9uU2VhcmNoQ2hhbmdlXCIsIFwicGFuZWxDbGFzc05hbWVcIl0pO1xuICAgIGNvbnN0IFtrZXl3b3JkLCBzZXRLZXl3b3JkXSA9IHVzZVN0YXRlKCcnKTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICAgICAgc2V0S2V5d29yZCh2YWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZSh2YWx1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBncm91cGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBmaWF0ID0gdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5maWF0KTtcbiAgICAgICAgY29uc3QgY3J5cHRvID0gdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5jcnlwdG8pO1xuICAgICAgICAvLyBXaXRoIG9ubHkgb25lIHBvcHVsYXRlZCBncm91cCwgZHJvcCB0aGUgZ3JvdXAgbGFiZWwgYW5kIHJlbmRlciBhIGZsYXRcbiAgICAgICAgLy8gbGlzdCDigJQgYSBsb25lIFwiQ2FzaFwiL1wiU3RhYmxlY29pbnNcIiBoZWFkaW5nIGlzIGp1c3Qgbm9pc2UuIGBTZWxlY3RgIG9ubHlcbiAgICAgICAgLy8gc2hvd3MgYSBoZWFkaW5nIGZvciBncm91cHMgdGhhdCBjYXJyeSBhIHRydXRoeSBgbGFiZWxgLlxuICAgICAgICBpZiAoZmlhdC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gY3J5cHRvO1xuICAgICAgICBpZiAoY3J5cHRvLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiBmaWF0O1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfRklBVCwgb3B0aW9uczogZmlhdCB9LFxuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfQ1JZUFRPLCBvcHRpb25zOiBjcnlwdG8gfSxcbiAgICAgICAgXTtcbiAgICB9LCBbb3B0aW9ucy5maWF0LCBvcHRpb25zLmNyeXB0b10pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbGFiZWw6IGxhYmVsLCBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHNlYXJjaGFibGU6IHNlYXJjaGFibGUsIGZpbHRlcklucHV0QXV0b0ZvY3VzOiBmaWx0ZXJJbnB1dEF1dG9Gb2N1cywgb25TZWFyY2hDaGFuZ2U6IGhhbmRsZVNlYXJjaENoYW5nZSwgZW1wdHlDb250ZW50OiBlbXB0eUNvbnRlbnQgIT09IG51bGwgJiYgZW1wdHlDb250ZW50ICE9PSB2b2lkIDAgPyBlbXB0eUNvbnRlbnQgOiAoX2pzeChFbXB0eSwgeyBpY29uOiAnY29pbicsIGRlc2NyaXB0aW9uOiBrZXl3b3JkID8gYE5vIHJlc3VsdHMgZm9yIFwiJHtrZXl3b3JkfVwiYCA6ICdObyByZXN1bHRzJyB9KSksIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgbGFiZWxDbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9LWxhYmVsYCwgbGFiZWxDbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tcGFuZWxgLCBwYW5lbENsYXNzTmFtZSksIG9wdGlvbnM6IGdyb3VwZWRPcHRpb25zLCByZW5kZXJWYWx1ZTogKG9wdGlvbiwgeyBmb250U2l6ZSB9KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pXSB9KSk7XG4gICAgICAgIH0sIHJlbmRlck9wdGlvbkNvbnRlbnQ6IChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBzdHlsZTogeyBtaW5XaWR0aDogMCB9LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogaXRlbS5sYWJlbCB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtdGVydGlhcnknLCBjaGlsZHJlbjogaXRlbS5uYW1lIH0pXSB9KV0gfSksIHNob3dCYWxhbmNlICYmIGl0ZW0uYmFsYW5jZSAhPSBudWxsICYmIChfanN4cyhUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjb2xvcjogJ2RlZmF1bHQnLCBjbGFzc05hbWU6IEJBTEFOQ0VfQ0xTLCBjaGlsZHJlbjogW251bWVyaWNGb3JtYXR0ZXIoaXRlbS5iYWxhbmNlLCB7IHRob3VzYW5kU2VwYXJhdG9yOiB0cnVlIH0pLCBcIiBcIiwgU3RyaW5nKChfYiA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6ICcnKV0gfSkpXSB9KSk7XG4gICAgICAgIH0gfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQXNzZXRTZWxlY3QgPSBtZW1vKEFzc2V0U2VsZWN0QmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
186
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0Fzc2V0L0Fzc2V0U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsInVzZVN0YXRlIiwibnVtZXJpY0Zvcm1hdHRlciIsIkVtcHR5IiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5IiwiVHlwb2dyYXBoeUxhYmVsIiwiam9pbkNscyIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJCQUxBTkNFX0NMUyIsIklDT05fU0laRSIsIkdST1VQX0ZJQVQiLCJHUk9VUF9TVEFCTEVDT0lOIiwiR1JPVVBfRElHSVRBTCIsInRvT3B0aW9uIiwiY3VycmVuY3kiLCJsYWJlbCIsImN1cnJlbmN5TmFtZSIsInZhbHVlIiwiaWNvbiIsImN1cnJlbmN5SWNvblVybCIsIm5hbWUiLCJjdXJyZW5jeURlc2MiLCJiYWxhbmNlIiwiY3VycmVuY3lCYWxhbmNlIiwic2VhcmNoVGV4dCIsImJ5T3JkZXIiLCJhIiwiYiIsIl9hIiwiX2IiLCJvcmRlciIsInRvR3JvdXBPcHRpb25zIiwiY3VycmVuY2llcyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJtYXAiLCJBc3NldFNlbGVjdEJhc2UiLCJvcHRpb25zIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfYSRmaWx0ZXJJbnB1dEF1dG9Gb2MiLCJmaWx0ZXJJbnB1dEF1dG9Gb2N1cyIsIl9hJHN0cm9uZyIsInN0cm9uZyIsIl9hJHNob3dCYWxhbmNlIiwic2hvd0JhbGFuY2UiLCJlbXB0eUNvbnRlbnQiLCJvblNlYXJjaENoYW5nZSIsInBhbmVsQ2xhc3NOYW1lIiwicmVzdCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImtleXdvcmQiLCJzZXRLZXl3b3JkIiwiaGFuZGxlU2VhcmNoQ2hhbmdlIiwiZ3JvdXBlZE9wdGlvbnMiLCJncm91cHMiLCJmaWF0Iiwic3RhYmxlY29pbnMiLCJkaWdpdGFsQXNzZXRzIiwiZmlsdGVyIiwiZ3JvdXAiLCJhc3NpZ24iLCJkZXNjcmlwdGlvbiIsInJlbmRlclZhbHVlIiwib3B0aW9uIiwiX3JlZiIsImZvbnRTaXplIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbSIsImFsaWduIiwiZ2FwIiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJTdHJpbmciLCJ3aWR0aCIsImhlaWdodCIsInNpemUiLCJyZW5kZXJPcHRpb25Db250ZW50IiwianVzdGlmeSIsInN0eWxlIiwibWluV2lkdGgiLCJ2ZXJ0aWNhbCIsImNvbG9yIiwidGhvdXNhbmRTZXBhcmF0b3IiLCJBc3NldFNlbGVjdCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENB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Q0FDRixFQUNOaUMsV0FBVyxJQUFJMEIsSUFBSSxDQUFDekQsT0FBTyxJQUFJLElBQUksSUFDbEM1QixLQUFBLENBQUNRLGNBQWMsRUFBQTtVQUFDc0YsSUFBSSxFQUFDLElBQUk7VUFBQ00sS0FBSyxFQUFDLFNBQVM7VUFBQ3RELFNBQVMsRUFBRWhDLFdBQVc7VUFBQTBFLFFBQUEsRUFBQSxDQUM3RHBGLGdCQUFnQixDQUFDaUYsSUFBSSxDQUFDekQsT0FBTyxFQUFFO1lBQUV5RSxpQkFBaUIsRUFBRTtVQUFJLENBQUUsQ0FBQyxFQUFBLEdBQUEsRUFBR1YsTUFBTSxDQUFDLENBQUF4RCxFQUFBLEdBQUFrRCxJQUFJLENBQUM5RCxLQUFLLE1BQUEsSUFBQSxJQUFBWSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxFQUFFLENBQUM7UUFBQSxDQUFBLENBRTFGO01BQUEsQ0FBQSxDQUNJO0lBRVg7RUFBQyxDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU1tRSxXQUFXLGdCQUFHckcsSUFBSSxDQUFDMkMsZUFBZSxDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9Bc3NldC9Bc3NldFNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IG51bWVyaWNGb3JtYXR0ZXIgfSBmcm9tICdyZWFjdC1udW1iZXItZm9ybWF0JztcbmltcG9ydCB7IEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9FbXB0eSc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tYXNzZXQtc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgQkFMQU5DRV9DTFMgPSBgJHtXUkFQX0NMU30tYmFsYW5jZWA7XG5jb25zdCBJQ09OX1NJWkUgPSAyNDtcbmNvbnN0IEdST1VQX0ZJQVQgPSAnQ2FzaCc7XG5jb25zdCBHUk9VUF9TVEFCTEVDT0lOID0gJ1N0YWJsZWNvaW5zJztcbmNvbnN0IEdST1VQX0RJR0lUQUwgPSAnRGlnaXRhbCBBc3NldHMnO1xuY29uc3QgdG9PcHRpb24gPSAoY3VycmVuY3kpID0+ICh7XG4gICAgbGFiZWw6IGN1cnJlbmN5LmN1cnJlbmN5TmFtZSxcbiAgICB2YWx1ZTogY3VycmVuY3kuY3VycmVuY3lOYW1lLFxuICAgIGljb246IGN1cnJlbmN5LmN1cnJlbmN5SWNvblVybCxcbiAgICBuYW1lOiBjdXJyZW5jeS5jdXJyZW5jeURlc2MsXG4gICAgYmFsYW5jZTogY3VycmVuY3kuY3VycmVuY3lCYWxhbmNlLFxuICAgIC8vIE1hdGNoIHRoZSBzZWFyY2ggYWdhaW5zdCBib3RoIHRoZSBzeW1ib2wgYW5kIHRoZSBodW1hbi1yZWFkYWJsZSBuYW1lLlxuICAgIHNlYXJjaFRleHQ6IGAke2N1cnJlbmN5LmN1cnJlbmN5TmFtZX0gJHtjdXJyZW5jeS5jdXJyZW5jeURlc2N9YCxcbn0pO1xuLy8gU29ydCB3aXRoaW4gYSBncm91cCBieSB0aGUgYmFja2VuZCBgb3JkZXJgIChhc2NlbmRpbmcpLiBDb3BpZXMgdGhlIGFycmF5IHNvXG4vLyB0aGUgY2FsbGVyJ3MgYG9wdGlvbnNgIGlzIG5ldmVyIG11dGF0ZWQ7IG1pc3NpbmcgYG9yZGVyYCBmYWxscyBiYWNrIHRvIDAuXG5jb25zdCBieU9yZGVyID0gKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoX2EgPSBhLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKSAtICgoX2IgPSBiLm9yZGVyKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwKTsgfTtcbmNvbnN0IHRvR3JvdXBPcHRpb25zID0gKGN1cnJlbmNpZXMgPSBbXSkgPT4gWy4uLmN1cnJlbmNpZXNdLnNvcnQoYnlPcmRlcikubWFwKHRvT3B0aW9uKTtcbmNvbnN0IEFzc2V0U2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWUsIGxhYmVsID0gJ0Fzc2V0JywgbmFtZSA9ICdhc3NldCcsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBhc3NldCcsIHNlYXJjaGFibGUgPSB0cnVlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1cyA9IHRydWUsIHN0cm9uZyA9IHRydWUsIHNob3dCYWxhbmNlID0gZmFsc2UsIGVtcHR5Q29udGVudCwgb25TZWFyY2hDaGFuZ2UsIHBhbmVsQ2xhc3NOYW1lIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wib3B0aW9uc1wiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzZWFyY2hhYmxlXCIsIFwiZmlsdGVySW5wdXRBdXRvRm9jdXNcIiwgXCJzdHJvbmdcIiwgXCJzaG93QmFsYW5jZVwiLCBcImVtcHR5Q29udGVudFwiLCBcIm9uU2VhcmNoQ2hhbmdlXCIsIFwicGFuZWxDbGFzc05hbWVcIl0pO1xuICAgIGNvbnN0IFtrZXl3b3JkLCBzZXRLZXl3b3JkXSA9IHVzZVN0YXRlKCcnKTtcbiAgICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICAgICAgc2V0S2V5d29yZCh2YWx1ZSk7XG4gICAgICAgIG9uU2VhcmNoQ2hhbmdlID09PSBudWxsIHx8IG9uU2VhcmNoQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlYXJjaENoYW5nZSh2YWx1ZSk7XG4gICAgfTtcbiAgICBjb25zdCBncm91cGVkT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBncm91cHMgPSBbXG4gICAgICAgICAgICB7IGxhYmVsOiBHUk9VUF9GSUFULCBvcHRpb25zOiB0b0dyb3VwT3B0aW9ucyhvcHRpb25zLmZpYXQpIH0sXG4gICAgICAgICAgICB7IGxhYmVsOiBHUk9VUF9TVEFCTEVDT0lOLCBvcHRpb25zOiB0b0dyb3VwT3B0aW9ucyhvcHRpb25zLnN0YWJsZWNvaW5zKSB9LFxuICAgICAgICAgICAgeyBsYWJlbDogR1JPVVBfRElHSVRBTCwgb3B0aW9uczogdG9Hcm91cE9wdGlvbnMob3B0aW9ucy5kaWdpdGFsQXNzZXRzKSB9LFxuICAgICAgICBdLmZpbHRlcigoZ3JvdXApID0+IGdyb3VwLm9wdGlvbnMubGVuZ3RoID4gMCk7XG4gICAgICAgIC8vIFdpdGggb25seSBvbmUgcG9wdWxhdGVkIGdyb3VwLCBkcm9wIHRoZSBncm91cCBsYWJlbCBhbmQgcmVuZGVyIGEgZmxhdFxuICAgICAgICAvLyBsaXN0IOKAlCBhIGxvbmUgXCJDYXNoXCIvXCJTdGFibGVjb2luc1wiL1wiRGlnaXRhbCBBc3NldHNcIiBoZWFkaW5nIGlzIGp1c3RcbiAgICAgICAgLy8gbm9pc2UuIGBTZWxlY3RgIG9ubHkgc2hvd3MgYSBoZWFkaW5nIGZvciBncm91cHMgd2l0aCBhIHRydXRoeSBgbGFiZWxgLlxuICAgICAgICBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgICAgIHJldHVybiBncm91cHNbMF0ub3B0aW9ucztcbiAgICAgICAgcmV0dXJuIGdyb3VwcztcbiAgICB9LCBbb3B0aW9ucy5maWF0LCBvcHRpb25zLnN0YWJsZWNvaW5zLCBvcHRpb25zLmRpZ2l0YWxBc3NldHNdKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IGxhYmVsOiBsYWJlbCwgbmFtZTogbmFtZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBzZWFyY2hhYmxlOiBzZWFyY2hhYmxlLCBmaWx0ZXJJbnB1dEF1dG9Gb2N1czogZmlsdGVySW5wdXRBdXRvRm9jdXMsIG9uU2VhcmNoQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIGVtcHR5Q29udGVudDogZW1wdHlDb250ZW50ICE9PSBudWxsICYmIGVtcHR5Q29udGVudCAhPT0gdm9pZCAwID8gZW1wdHlDb250ZW50IDogKF9qc3goRW1wdHksIHsgaWNvbjogJ2NvaW4nLCBkZXNjcmlwdGlvbjoga2V5d29yZCA/IGBObyByZXN1bHRzIGZvciBcIiR7a2V5d29yZH1cImAgOiAnTm8gcmVzdWx0cycgfSkpLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIGxhYmVsQ2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfS1sYWJlbGAsIGxhYmVsQ2xhc3NOYW1lKSwgcGFuZWxDbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9LXBhbmVsYCwgcGFuZWxDbGFzc05hbWUpLCBvcHRpb25zOiBncm91cGVkT3B0aW9ucywgcmVuZGVyVmFsdWU6IChvcHRpb24sIHsgZm9udFNpemUgfSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgaWYgKCFvcHRpb24gfHwgQXJyYXkuaXNBcnJheShvcHRpb24pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbjtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogaXRlbS5sYWJlbCB9KV0gfSkpO1xuICAgICAgICB9LCByZW5kZXJPcHRpb25Db250ZW50OiAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbjtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGp1c3RpZnk6ICdzcGFjZS1iZXR3ZWVuJywgZ2FwOiA4LCBzdHlsZTogeyB3aWR0aDogJzEwMCUnIH0sIGNoaWxkcmVuOiBbX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgc3R5bGU6IHsgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb24sIGFsdDogU3RyaW5nKChfYSA9IGl0ZW0udmFsdWUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICcnKSwgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMCwgYWxpZ246ICdzdGFydCcsIHN0eWxlOiB7IG1pbldpZHRoOiAwIH0sIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogJ21kJywgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXRlcnRpYXJ5JywgY2hpbGRyZW46IGl0ZW0ubmFtZSB9KV0gfSldIH0pLCBzaG93QmFsYW5jZSAmJiBpdGVtLmJhbGFuY2UgIT0gbnVsbCAmJiAoX2pzeHMoVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY29sb3I6ICdkZWZhdWx0JywgY2xhc3NOYW1lOiBCQUxBTkNFX0NMUywgY2hpbGRyZW46IFtudW1lcmljRm9ybWF0dGVyKGl0ZW0uYmFsYW5jZSwgeyB0aG91c2FuZFNlcGFyYXRvcjogdHJ1ZSB9KSwgXCIgXCIsIFN0cmluZygoX2IgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAnJyldIH0pKV0gfSkpO1xuICAgICAgICB9IH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IEFzc2V0U2VsZWN0ID0gbWVtbyhBc3NldFNlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -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. Both the fiat list (`data.fiat[i]`) and the crypto list
5
- * (`data.crypto[i]`) share these display fields — the component reads only
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
- * both the fiat and crypto lists; rendered right-aligned in the dropdown
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 and `crypto` under a
28
- * **Stablecoins** group pass `res.data` through as-is.
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
- /** Crypto currencies, rendered under the **Stablecoins** group. */
34
- crypto: AssetCurrency[];
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) and
40
- * **Stablecoins** (crypto) groups, renders the searchable dropdown, and
41
- * derives the trigger from the selected currency.
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
- * crypto: [
62
+ * stablecoins: [
55
63
  * {
56
64
  * currencyName: 'USDC',
57
65
  * currencyIconUrl: 'https://static.1money.com/images/asset/usdc.png',