@1money/component-ui 0.0.67 → 0.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/es/business/Filter/Account/Account.d.ts +2 -0
  2. package/es/business/Filter/Account/Account.js +289 -0
  3. package/es/business/Filter/Account/index.d.ts +2 -0
  4. package/es/business/Filter/Account/index.js +3 -0
  5. package/es/business/Filter/Account/interface.d.ts +83 -0
  6. package/es/business/Filter/Account/interface.js +2 -0
  7. package/es/business/Filter/Account/style/Account.css +84 -0
  8. package/es/business/Filter/Account/style/css.js +2 -0
  9. package/es/business/Filter/Account/style/index.d.ts +1 -0
  10. package/es/business/Filter/Account/style/index.js +2 -0
  11. package/es/business/Filter/Asset/Asset.d.ts +2 -0
  12. package/es/business/Filter/Asset/Asset.js +306 -0
  13. package/es/business/Filter/Asset/index.d.ts +2 -0
  14. package/es/business/Filter/Asset/index.js +3 -0
  15. package/es/business/Filter/Asset/interface.d.ts +90 -0
  16. package/es/business/Filter/Asset/interface.js +2 -0
  17. package/es/business/Filter/Asset/style/Asset.css +96 -0
  18. package/es/business/Filter/Asset/style/css.js +2 -0
  19. package/es/business/Filter/Asset/style/index.d.ts +1 -0
  20. package/es/business/Filter/Asset/style/index.js +2 -0
  21. package/es/business/Filter/DateRange/DateRange.d.ts +2 -0
  22. package/es/business/Filter/DateRange/DateRange.js +393 -0
  23. package/es/business/Filter/DateRange/index.d.ts +2 -0
  24. package/es/business/Filter/DateRange/index.js +3 -0
  25. package/es/business/Filter/DateRange/interface.d.ts +68 -0
  26. package/es/business/Filter/DateRange/interface.js +9 -0
  27. package/es/business/Filter/DateRange/style/DateRange.css +85 -0
  28. package/es/business/Filter/DateRange/style/css.js +2 -0
  29. package/es/business/Filter/DateRange/style/index.d.ts +1 -0
  30. package/es/business/Filter/DateRange/style/index.js +2 -0
  31. package/es/business/Filter/Option/Option.d.ts +2 -0
  32. package/es/business/Filter/Option/Option.js +264 -0
  33. package/es/business/Filter/Option/index.d.ts +2 -0
  34. package/es/business/Filter/Option/index.js +3 -0
  35. package/es/business/Filter/Option/interface.d.ts +81 -0
  36. package/es/business/Filter/Option/interface.js +2 -0
  37. package/es/business/Filter/Option/style/Option.css +72 -0
  38. package/es/business/Filter/Option/style/css.js +2 -0
  39. package/es/business/Filter/Option/style/index.d.ts +1 -0
  40. package/es/business/Filter/Option/style/index.js +2 -0
  41. package/es/business/Filter/index.d.ts +4 -0
  42. package/es/business/Filter/index.js +5 -0
  43. package/es/business/Select/Asset/AssetSelect.js +49 -27
  44. package/es/business/Select/Asset/interface.d.ts +16 -1
  45. package/es/business/Select/Asset/style/AssetSelect.css +5 -0
  46. package/es/business/Select/Network/NetworkSelect.js +79 -13
  47. package/es/business/Select/Network/interface.d.ts +43 -9
  48. package/es/business/Select/Network/interface.js +9 -2
  49. package/es/business/Select/Network/style/NetworkSelect.css +10 -0
  50. package/es/business/index.d.ts +1 -0
  51. package/es/business/index.js +2 -1
  52. package/es/components/ProForm/interface.d.ts +3 -1
  53. package/es/components/ProForm/layouts/QueryFilter.js +5 -1
  54. package/es/components/ProTable/ProTable.d.ts +5 -0
  55. package/es/components/ProTable/ProTable.js +309 -0
  56. package/es/components/ProTable/constants.d.ts +12 -0
  57. package/es/components/ProTable/constants.js +12 -0
  58. package/es/components/ProTable/core/genColumns.d.ts +10 -0
  59. package/es/components/ProTable/core/genColumns.js +81 -0
  60. package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
  61. package/es/components/ProTable/core/genSearchFields.js +103 -0
  62. package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  63. package/es/components/ProTable/core/useAwaitableReload.js +39 -0
  64. package/es/components/ProTable/core/utils.d.ts +12 -0
  65. package/es/components/ProTable/core/utils.js +21 -0
  66. package/es/components/ProTable/index.d.ts +4 -0
  67. package/es/components/ProTable/index.js +5 -0
  68. package/es/components/ProTable/interface.d.ts +132 -0
  69. package/es/components/ProTable/interface.js +2 -0
  70. package/es/components/ProTable/style/ProTable.css +47 -0
  71. package/es/components/ProTable/style/css.js +6 -0
  72. package/es/components/ProTable/style/index.d.ts +5 -0
  73. package/es/components/ProTable/style/index.js +6 -0
  74. package/es/components/ProTable/useFetchData.d.ts +48 -0
  75. package/es/components/ProTable/useFetchData.js +270 -0
  76. package/es/components/Select/Select.js +3 -2
  77. package/es/components/Select/interface.d.ts +2 -0
  78. package/es/index.css +1 -1
  79. package/es/index.d.ts +2 -0
  80. package/es/index.js +2 -1
  81. package/lib/business/Filter/Account/Account.d.ts +2 -0
  82. package/lib/business/Filter/Account/Account.js +296 -0
  83. package/lib/business/Filter/Account/index.d.ts +2 -0
  84. package/lib/business/Filter/Account/index.js +28 -0
  85. package/lib/business/Filter/Account/interface.d.ts +83 -0
  86. package/lib/business/Filter/Account/interface.js +6 -0
  87. package/lib/business/Filter/Account/style/Account.css +84 -0
  88. package/lib/business/Filter/Account/style/css.js +4 -0
  89. package/lib/business/Filter/Account/style/index.d.ts +1 -0
  90. package/lib/business/Filter/Account/style/index.js +4 -0
  91. package/lib/business/Filter/Asset/Asset.d.ts +2 -0
  92. package/lib/business/Filter/Asset/Asset.js +313 -0
  93. package/lib/business/Filter/Asset/index.d.ts +2 -0
  94. package/lib/business/Filter/Asset/index.js +28 -0
  95. package/lib/business/Filter/Asset/interface.d.ts +90 -0
  96. package/lib/business/Filter/Asset/interface.js +6 -0
  97. package/lib/business/Filter/Asset/style/Asset.css +96 -0
  98. package/lib/business/Filter/Asset/style/css.js +4 -0
  99. package/lib/business/Filter/Asset/style/index.d.ts +1 -0
  100. package/lib/business/Filter/Asset/style/index.js +4 -0
  101. package/lib/business/Filter/DateRange/DateRange.d.ts +2 -0
  102. package/lib/business/Filter/DateRange/DateRange.js +400 -0
  103. package/lib/business/Filter/DateRange/index.d.ts +2 -0
  104. package/lib/business/Filter/DateRange/index.js +28 -0
  105. package/lib/business/Filter/DateRange/interface.d.ts +68 -0
  106. package/lib/business/Filter/DateRange/interface.js +15 -0
  107. package/lib/business/Filter/DateRange/style/DateRange.css +85 -0
  108. package/lib/business/Filter/DateRange/style/css.js +4 -0
  109. package/lib/business/Filter/DateRange/style/index.d.ts +1 -0
  110. package/lib/business/Filter/DateRange/style/index.js +4 -0
  111. package/lib/business/Filter/Option/Option.d.ts +2 -0
  112. package/lib/business/Filter/Option/Option.js +271 -0
  113. package/lib/business/Filter/Option/index.d.ts +2 -0
  114. package/lib/business/Filter/Option/index.js +28 -0
  115. package/lib/business/Filter/Option/interface.d.ts +81 -0
  116. package/lib/business/Filter/Option/interface.js +6 -0
  117. package/lib/business/Filter/Option/style/Option.css +72 -0
  118. package/lib/business/Filter/Option/style/css.js +4 -0
  119. package/lib/business/Filter/Option/style/index.d.ts +1 -0
  120. package/lib/business/Filter/Option/style/index.js +4 -0
  121. package/lib/business/Filter/index.d.ts +4 -0
  122. package/lib/business/Filter/index.js +50 -0
  123. package/lib/business/Select/Asset/AssetSelect.js +49 -27
  124. package/lib/business/Select/Asset/interface.d.ts +16 -1
  125. package/lib/business/Select/Asset/style/AssetSelect.css +5 -0
  126. package/lib/business/Select/Network/NetworkSelect.js +80 -13
  127. package/lib/business/Select/Network/interface.d.ts +43 -9
  128. package/lib/business/Select/Network/interface.js +10 -1
  129. package/lib/business/Select/Network/style/NetworkSelect.css +10 -0
  130. package/lib/business/index.d.ts +1 -0
  131. package/lib/business/index.js +12 -1
  132. package/lib/components/ProForm/interface.d.ts +3 -1
  133. package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
  134. package/lib/components/ProTable/ProTable.d.ts +5 -0
  135. package/lib/components/ProTable/ProTable.js +316 -0
  136. package/lib/components/ProTable/constants.d.ts +12 -0
  137. package/lib/components/ProTable/constants.js +18 -0
  138. package/lib/components/ProTable/core/genColumns.d.ts +10 -0
  139. package/lib/components/ProTable/core/genColumns.js +87 -0
  140. package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
  141. package/lib/components/ProTable/core/genSearchFields.js +111 -0
  142. package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
  143. package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
  144. package/lib/components/ProTable/core/utils.d.ts +12 -0
  145. package/lib/components/ProTable/core/utils.js +28 -0
  146. package/lib/components/ProTable/index.d.ts +4 -0
  147. package/lib/components/ProTable/index.js +33 -0
  148. package/lib/components/ProTable/interface.d.ts +132 -0
  149. package/lib/components/ProTable/interface.js +6 -0
  150. package/lib/components/ProTable/style/ProTable.css +47 -0
  151. package/lib/components/ProTable/style/css.js +8 -0
  152. package/lib/components/ProTable/style/index.d.ts +5 -0
  153. package/lib/components/ProTable/style/index.js +8 -0
  154. package/lib/components/ProTable/useFetchData.d.ts +48 -0
  155. package/lib/components/ProTable/useFetchData.js +277 -0
  156. package/lib/components/Select/Select.js +3 -2
  157. package/lib/components/Select/interface.d.ts +2 -0
  158. package/lib/index.css +1 -1
  159. package/lib/index.d.ts +2 -0
  160. package/lib/index.js +8 -1
  161. package/package.json +31 -1
  162. package/scripts/mcp-server/examples.generated.json +156 -0
  163. package/scripts/mcp-server/index.generated.json +741 -1
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.NetworkSelect = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _jsxRuntime = require("react/jsx-runtime");
8
10
  var _react = require("react");
9
11
  var _hooks = require("@1money/hooks");
10
- var _Alert = require("../../../components/Alert");
11
12
  var _Flex = require("../../../components/Flex");
12
13
  var _Select = require("../../../components/Select");
14
+ var _Tag = require("../../../components/Tag");
13
15
  var _Typography = require("../../../components/Typography");
14
16
  var _classnames = require("../../../utils/classnames");
15
17
  var __rest = void 0 && (void 0).__rest || function (s, e) {
@@ -22,22 +24,67 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
22
24
  };
23
25
  var WRAP_CLS = 'om-network-select';
24
26
  var ICON_CLS = "".concat(WRAP_CLS, "-icon");
27
+ var NAME_CLS = "".concat(WRAP_CLS, "-name");
28
+ var META_CLS = "".concat(WRAP_CLS, "-meta");
25
29
  var ICON_SIZE = 24;
26
- var WARNING_BODY = 'Only deposit your asset using one of the supported networks below. Depositing via an unsupported network will result in the permanent loss of your funds.';
30
+ var MODE_WITHDRAW = 'withdraw';
31
+ // Fee value the backend sends for a no-cost network — highlighted in green.
32
+ var FREE_FEE_LABEL = 'Free';
33
+ // `tagStatus` → Tag color, matching the backend `NETWORK_TAG_STATUS` enum:
34
+ // `0` success, `1` recommend, `2` negative. Unknown codes fall back to neutral.
35
+ var TAG_STATUS_SUCCESS = 0;
36
+ var TAG_STATUS_RECOMMENDED = 1;
37
+ var TAG_STATUS_NEGATIVE = 2;
38
+ var TAG_COLOR_BY_STATUS = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, TAG_STATUS_SUCCESS, 'success'), TAG_STATUS_RECOMMENDED, 'recommended'), TAG_STATUS_NEGATIVE, 'negative');
27
39
  /** Display-only: the all-caps `network` id with just its first letter capitalized, e.g. `"ETHEREUM"` → `"Ethereum"`. The bound value stays the raw id. */
28
40
  var formatNetwork = function formatNetwork(network) {
29
41
  return network ? network.charAt(0).toUpperCase() + network.slice(1).toLowerCase() : network;
30
42
  };
31
- var renderTimeMeta = function renderTimeMeta(item) {
43
+ /** Deposit-mode latency, shown on the right of each option. */
44
+ var renderDepositMeta = function renderDepositMeta(item) {
32
45
  return (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
33
46
  size: 'sm',
34
47
  color: 'default-secondary',
35
48
  children: item.txLatency
36
49
  });
37
50
  };
51
+ /** Withdraw-mode meta column — pre-formatted `gasFee` (`"Free"` in green) on top, `txLatency` below. Returns `null` when neither is present. */
52
+ var renderWithdrawMeta = function renderWithdrawMeta(item) {
53
+ if (!item.gasFee && !item.txLatency) return null;
54
+ return (0, _jsxRuntime.jsxs)(_Flex.Flex, {
55
+ vertical: true,
56
+ gap: 0,
57
+ align: 'end',
58
+ className: META_CLS,
59
+ children: [item.gasFee ? (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
60
+ size: 'md',
61
+ strong: true,
62
+ color: item.gasFee === FREE_FEE_LABEL ? 'positive' : 'default',
63
+ children: item.gasFee
64
+ }) : null, item.txLatency ? (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
65
+ size: 'md',
66
+ strong: true,
67
+ color: 'default-secondary',
68
+ children: item.txLatency
69
+ }) : null]
70
+ });
71
+ };
72
+ /** Withdraw-mode status badge shown next to the network name. Hidden when there's no `tag` label. */
73
+ var renderTag = function renderTag(item) {
74
+ var _a;
75
+ if (!item.tag) return null;
76
+ var color = item.tagStatus != null ? (_a = TAG_COLOR_BY_STATUS[item.tagStatus]) !== null && _a !== void 0 ? _a : 'neutral' : 'neutral';
77
+ return (0, _jsxRuntime.jsx)(_Tag.Tag, {
78
+ color: color,
79
+ label: item.tag
80
+ });
81
+ };
38
82
  var NetworkSelectBase = function NetworkSelectBase(_a) {
83
+ var _b;
39
84
  var options = _a.options,
40
85
  className = _a.className,
86
+ _a$mode = _a.mode,
87
+ mode = _a$mode === void 0 ? 'deposit' : _a$mode,
41
88
  _a$label = _a.label,
42
89
  label = _a$label === void 0 ? 'Network' : _a$label,
43
90
  _a$name = _a.name,
@@ -49,7 +96,8 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
49
96
  value = _a.value,
50
97
  defaultValue = _a.defaultValue,
51
98
  onChange = _a.onChange,
52
- rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
99
+ rest = __rest(_a, ["options", "className", "mode", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
100
+ var isWithdraw = mode === MODE_WITHDRAW;
53
101
  // Adapt the backend payload to the shared `Select`, which owns selection
54
102
  // state, keyboard navigation, and the trailing selected check.
55
103
  var selectOptions = (0, _react.useMemo)(function () {
@@ -69,10 +117,32 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
69
117
  });
70
118
  if (item) onChange === null || onChange === void 0 ? void 0 : onChange(next, item);
71
119
  });
72
- // Custom option body icon, two lines (network id + display name), and
73
- // latency. The shared `Select` appends the brand-colored selected check.
120
+ // Custom option body. Withdraw: icon + single-line name + status badge, with a
121
+ // fee/latency meta column. Deposit: icon + two lines (id + display name) + latency.
122
+ // The shared `Select` appends the brand-colored selected check.
74
123
  var renderOptionContent = function renderOptionContent(option) {
75
124
  var item = option.raw;
125
+ if (isWithdraw) {
126
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
127
+ children: [(0, _jsxRuntime.jsx)("img", {
128
+ src: item.iconUrl,
129
+ alt: item.networkDesc,
130
+ width: ICON_SIZE,
131
+ height: ICON_SIZE,
132
+ className: ICON_CLS
133
+ }), (0, _jsxRuntime.jsxs)(_Flex.Flex, {
134
+ align: 'center',
135
+ gap: 8,
136
+ className: NAME_CLS,
137
+ children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
138
+ size: 'md',
139
+ strong: strong,
140
+ color: 'default',
141
+ children: item.networkDesc
142
+ }), renderTag(item)]
143
+ }), renderWithdrawMeta(item)]
144
+ });
145
+ }
76
146
  return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
77
147
  children: [(0, _jsxRuntime.jsx)("img", {
78
148
  src: item.iconUrl,
@@ -98,7 +168,7 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
98
168
  color: 'default-secondary',
99
169
  children: item.networkDesc
100
170
  })]
101
- }), renderTimeMeta(item)]
171
+ }), renderDepositMeta(item)]
102
172
  });
103
173
  };
104
174
  var renderValue = function renderValue(option, meta) {
@@ -118,11 +188,12 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
118
188
  }), (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
119
189
  size: meta.fontSize,
120
190
  strong: strong,
121
- children: formatNetwork(item.network)
191
+ children: isWithdraw ? item.networkDesc : formatNetwork(item.network)
122
192
  })]
123
193
  });
124
194
  };
125
195
  return (0, _jsxRuntime.jsx)(_Select.Select, Object.assign({}, rest, {
196
+ searchable: (_b = rest.searchable) !== null && _b !== void 0 ? _b : isWithdraw ? true : undefined,
126
197
  name: name,
127
198
  label: label,
128
199
  placeholder: placeholder,
@@ -130,14 +201,10 @@ var NetworkSelectBase = function NetworkSelectBase(_a) {
130
201
  options: selectOptions,
131
202
  value: value,
132
203
  defaultValue: defaultValue,
133
- panelHeader: (0, _jsxRuntime.jsx)(_Alert.Alert, {
134
- status: 'warning',
135
- body: WARNING_BODY
136
- }),
137
204
  renderOptionContent: renderOptionContent,
138
205
  renderValue: renderValue,
139
206
  onChange: handleChange
140
207
  }));
141
208
  };
142
209
  var NetworkSelect = exports.NetworkSelect = /*#__PURE__*/(0, _react.memo)(NetworkSelectBase);
143
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9BbGVydCIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJJQ09OX1NJWkUiLCJXQVJOSU5HX0JPRFkiLCJmb3JtYXROZXR3b3JrIiwibmV0d29yayIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJ0b0xvd2VyQ2FzZSIsInJlbmRlclRpbWVNZXRhIiwiaXRlbSIsIl9qc3giLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJjb2xvciIsImNoaWxkcmVuIiwidHhMYXRlbmN5IiwiTmV0d29ya1NlbGVjdEJhc2UiLCJfYSIsIm9wdGlvbnMiLCJjbGFzc05hbWUiLCJfYSRsYWJlbCIsImxhYmVsIiwiX2EkbmFtZSIsIm5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwic3Ryb25nIiwidmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsInJlc3QiLCJzZWxlY3RPcHRpb25zIiwidXNlTWVtbyIsIm1hcCIsIm5ldHdvcmtEZXNjIiwicmF3IiwiaGFuZGxlQ2hhbmdlIiwidXNlRXZlbnRDYWxsYmFjayIsIm5leHQiLCJvcHRpb24iLCJmaW5kIiwicmVuZGVyT3B0aW9uQ29udGVudCIsIl9qc3hzIiwiX0ZyYWdtZW50Iiwic3JjIiwiaWNvblVybCIsImFsdCIsIndpZHRoIiwiaGVpZ2h0IiwiRmxleCIsInZlcnRpY2FsIiwiZ2FwIiwiYWxpZ24iLCJzdHlsZSIsIm1pbldpZHRoIiwiZmxleCIsInJlbmRlclZhbHVlIiwibWV0YSIsIkFycmF5IiwiaXNBcnJheSIsImZvbnRTaXplIiwiU2VsZWN0IiwiYXNzaWduIiwiam9pbkNscyIsInBhbmVsSGVhZGVyIiwiQWxlcnQiLCJzdGF0dXMiLCJib2R5IiwiTmV0d29ya1NlbGVjdCIsImV4cG9ydHMiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUROQSxJQUFJUSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMs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ZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9BbGVydCc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLW5ldHdvcmstc2VsZWN0JztcbmNvbnN0IElDT05fQ0xTID0gYCR7V1JBUF9DTFN9LWljb25gO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBXQVJOSU5HX0JPRFkgPSAnT25seSBkZXBvc2l0IHlvdXIgYXNzZXQgdXNpbmcgb25lIG9mIHRoZSBzdXBwb3J0ZWQgbmV0d29ya3MgYmVsb3cuIERlcG9zaXRpbmcgdmlhIGFuIHVuc3VwcG9ydGVkIG5ldHdvcmsgd2lsbCByZXN1bHQgaW4gdGhlIHBlcm1hbmVudCBsb3NzIG9mIHlvdXIgZnVuZHMuJztcbi8qKiBEaXNwbGF5LW9ubHk6IHRoZSBhbGwtY2FwcyBgbmV0d29ya2AgaWQgd2l0aCBqdXN0IGl0cyBmaXJzdCBsZXR0ZXIgY2FwaXRhbGl6ZWQsIGUuZy4gYFwiRVRIRVJFVU1cImAg4oaSIGBcIkV0aGVyZXVtXCJgLiBUaGUgYm91bmQgdmFsdWUgc3RheXMgdGhlIHJhdyBpZC4gKi9cbmNvbnN0IGZvcm1hdE5ldHdvcmsgPSAobmV0d29yaykgPT4gbmV0d29yayA/IG5ldHdvcmsuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBuZXR3b3JrLnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkgOiBuZXR3b3JrO1xuY29uc3QgcmVuZGVyVGltZU1ldGEgPSAoaXRlbSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLnR4TGF0ZW5jeSB9KSk7XG5jb25zdCBOZXR3b3JrU2VsZWN0QmFzZSA9IChfYSkgPT4ge1xuICAgIHZhciB7IG9wdGlvbnMsIGNsYXNzTmFtZSwgbGFiZWwgPSAnTmV0d29yaycsIG5hbWUgPSAnbmV0d29yaycsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBuZXR3b3JrJywgc3Ryb25nID0gdHJ1ZSwgdmFsdWUsIGRlZmF1bHRWYWx1ZSwgb25DaGFuZ2UgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCJdKTtcbiAgICAvLyBBZGFwdCB0aGUgYmFja2VuZCBwYXlsb2FkIHRvIHRoZSBzaGFyZWQgYFNlbGVjdGAsIHdoaWNoIG93bnMgc2VsZWN0aW9uXG4gICAgLy8gc3RhdGUsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0aGUgdHJhaWxpbmcgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtLm5ldHdvcmssXG4gICAgICAgIGxhYmVsOiBpdGVtLm5ldHdvcmtEZXNjLFxuICAgICAgICByYXc6IGl0ZW0sXG4gICAgfSkpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHQsIG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICh0eXBlb2YgbmV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoX2EgPSBvcHRpb24gPT09IG51bGwgfHwgb3B0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb24ucmF3KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvcHRpb25zLmZpbmQoKG5ldHdvcmspID0+IG5ldHdvcmsubmV0d29yayA9PT0gbmV4dCk7XG4gICAgICAgIGlmIChpdGVtKVxuICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIC8vIEN1c3RvbSBvcHRpb24gYm9keSDigJQgaWNvbiwgdHdvIGxpbmVzIChuZXR3b3JrIGlkICsgZGlzcGxheSBuYW1lKSwgYW5kXG4gICAgLy8gbGF0ZW5jeS4gVGhlIHNoYXJlZCBgU2VsZWN0YCBhcHBlbmRzIHRoZSBicmFuZC1jb2xvcmVkIHNlbGVjdGVkIGNoZWNrLlxuICAgIGNvbnN0IHJlbmRlck9wdGlvbkNvbnRlbnQgPSAob3B0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb24ucmF3O1xuICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAsIGZsZXg6IDEgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogc3Ryb25nLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogZm9ybWF0TmV0d29yayhpdGVtLm5ldHdvcmspIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KV0gfSksIHJlbmRlclRpbWVNZXRhKGl0ZW0pXSB9KSk7XG4gICAgfTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZSA9IChvcHRpb24sIG1ldGEpID0+IHtcbiAgICAgICAgLy8gYFNlbGVjdGAgY2FsbHMgYHJlbmRlclZhbHVlKG51bGwpYCB3aGVuIG5vdGhpbmcgaXMgc2VsZWN0ZWQsIHNvIHRoZVxuICAgICAgICAvLyBwbGFjZWhvbGRlciBmYWxsYmFjayBpcyB0aGlzIGZ1bmN0aW9uJ3MgcmVzcG9uc2liaWxpdHkuXG4gICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSlcbiAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbi5yYXc7XG4gICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogbWV0YS5mb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBmb3JtYXROZXR3b3JrKGl0ZW0ubmV0d29yaykgfSldIH0pKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgb3B0aW9uczogc2VsZWN0T3B0aW9ucywgdmFsdWU6IHZhbHVlLCBkZWZhdWx0VmFsdWU6IGRlZmF1bHRWYWx1ZSwgcGFuZWxIZWFkZXI6IF9qc3goQWxlcnQsIHsgc3RhdHVzOiAnd2FybmluZycsIGJvZHk6IFdBUk5JTkdfQk9EWSB9KSwgcmVuZGVyT3B0aW9uQ29udGVudDogcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWU6IHJlbmRlclZhbHVlLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IE5ldHdvcmtTZWxlY3QgPSBtZW1vKE5ldHdvcmtTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
210
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9ob29rcyIsIl9GbGV4IiwiX1NlbGVjdCIsIl9UYWciLCJfVHlwb2dyYXBoeSIsIl9jbGFzc25hbWVzIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIklDT05fQ0xTIiwiY29uY2F0IiwiTkFNRV9DTFMiLCJNRVRBX0NMUyIsIklDT05fU0laRSIsIk1PREVfV0lUSERSQVciLCJGUkVFX0ZFRV9MQUJFTCIsIlRBR19TVEFUVVNfU1VDQ0VTUyIsIlRBR19TVEFUVVNfUkVDT01NRU5ERUQiLCJUQUdfU1RBVFVTX05FR0FUSVZFIiwiVEFHX0NPTE9SX0JZX1NUQVRVUyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJmb3JtYXROZXR3b3JrIiwibmV0d29yayIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJ0b0xvd2VyQ2FzZSIsInJlbmRlckRlcG9zaXRNZXRhIiwiaXRlbSIsIl9qc3giLCJUeXBvZ3JhcGh5Qm9keSIsInNpemUiLCJjb2xvciIsImNoaWxkcmVuIiwidHhMYXRlbmN5IiwicmVuZGVyV2l0aGRyYXdNZXRhIiwiZ2FzRmVlIiwiX2pzeHMiLCJGbGV4IiwidmVydGljYWwiLCJnYXAiLCJhbGlnbiIsImNsYXNzTmFtZSIsInN0cm9uZyIsInJlbmRlclRhZyIsIl9hIiwidGFnIiwidGFnU3RhdHVzIiwiVGFnIiwibGFiZWwiLCJOZXR3b3JrU2VsZWN0QmFzZSIsIl9iIiwib3B0aW9ucyIsIl9hJG1vZGUiLCJtb2RlIiwiX2EkbGFiZWwiLCJfYSRuYW1lIiwibmFtZSIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRzdHJvbmciLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwicmVzdCIsImlzV2l0aGRyYXciLCJzZWxlY3RPcHRpb25zIiwidXNlTWVtbyIsIm1hcCIsIm5ldHdvcmtEZXNjIiwicmF3IiwiaGFuZGxlQ2hhbmdlIiwidXNlRXZlbnRDYWxsYmFjayIsIm5leHQiLCJvcHRpb24iLCJmaW5kIiwicmVuZGVyT3B0aW9uQ29udGVudCIsIl9GcmFnbWVudCIsInNyYyIsImljb25VcmwiLCJhbHQiLCJ3aWR0aCIsImhlaWdodCIsInN0eWxlIiwibWluV2lkdGgiLCJmbGV4IiwicmVuZGVyVmFsdWUiLCJtZXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiZm9udFNpemUiLCJTZWxlY3QiLCJhc3NpZ24iLCJzZWFyY2hhYmxlIiwidW5kZWZpbmVkIiwiam9pbkNscyIsIk5ldHdvcmtTZWxlY3QiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUROQSxJQUFJUSxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFT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LE1BQU07UUFBQVYsUUFBQSxFQUNoRGdDLFVBQVUsR0FBR3JDLElBQUksQ0FBQ3lDLFdBQVcsR0FBR2hELGFBQWEsQ0FBQ08sSUFBSSxDQUFDTixPQUFPO01BQUMsQ0FBQSxDQUM3QztJQUFBLENBQUEsQ0FDWjtFQUVYLENBQUM7RUFFRCxPQUNFLElBQUFPLGVBQUEsRUFBQzhELGNBQU0sRUFBQTVGLE1BQUEsQ0FBQTZGLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDRDVCLElBQUksRUFBQTtJQUNSNkIsVUFBVSxFQUFFLENBQUExQyxFQUFBLEdBQUFhLElBQUksQ0FBQzZCLFVBQVUsTUFBQSxJQUFBLElBQUExQyxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBS2MsVUFBVSxHQUFHLElBQUksR0FBRzZCLFNBQVU7SUFDOURyQyxJQUFJLEVBQUVBLElBQUk7SUFDVlIsS0FBSyxFQUFFQSxLQUFLO0lBQ1pVLFdBQVcsRUFBRUEsV0FBVztJQUN4QmpCLFNBQVMsRUFBRSxJQUFBcUQsbUJBQU8sRUFBQ3ZGLFFBQVEsRUFBRWtDLFNBQVMsQ0FBQztJQUN2Q1UsT0FBTyxFQUFFYyxhQUFhO0lBQ3RCTCxLQUFLLEVBQUVBLEtBQUs7SUFDWkMsWUFBWSxFQUFFQSxZQUFZO0lBQzFCYyxtQkFBbUIsRUFBRUEsbUJBQW1CO0lBQ3hDVSxXQUFXLEVBQUVBLFdBQVc7SUFDeEJ2QixRQUFRLEVBQUVRO0VBQVksQ0FBQSxDQUFBLENBQ3RCO0FBRU4sQ0FBQztBQUVNLElBQU15QixhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxnQkFBRyxJQUFBRSxXQUFJLEVBQUNoRCxpQkFBaUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9OZXR3b3JrU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUV2ZW50Q2FsbGJhY2sgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UYWcnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tbmV0d29yay1zZWxlY3QnO1xuY29uc3QgSUNPTl9DTFMgPSBgJHtXUkFQX0NMU30taWNvbmA7XG5jb25zdCBOQU1FX0NMUyA9IGAke1dSQVBfQ0xTfS1uYW1lYDtcbmNvbnN0IE1FVEFfQ0xTID0gYCR7V1JBUF9DTFN9LW1ldGFgO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBNT0RFX1dJVEhEUkFXID0gJ3dpdGhkcmF3Jztcbi8vIEZlZSB2YWx1ZSB0aGUgYmFja2VuZCBzZW5kcyBmb3IgYSBuby1jb3N0IG5ldHdvcmsg4oCUIGhpZ2hsaWdodGVkIGluIGdyZWVuLlxuY29uc3QgRlJFRV9GRUVfTEFCRUwgPSAnRnJlZSc7XG4vLyBgdGFnU3RhdHVzYCDihpIgVGFnIGNvbG9yLCBtYXRjaGluZyB0aGUgYmFja2VuZCBgTkVUV09SS19UQUdfU1RBVFVTYCBlbnVtOlxuLy8gYDBgIHN1Y2Nlc3MsIGAxYCByZWNvbW1lbmQsIGAyYCBuZWdhdGl2ZS4gVW5rbm93biBjb2RlcyBmYWxsIGJhY2sgdG8gbmV1dHJhbC5cbmNvbnN0IFRBR19TVEFUVVNfU1VDQ0VTUyA9IDA7XG5jb25zdCBUQUdfU1RBVFVTX1JFQ09NTUVOREVEID0gMTtcbmNvbnN0IFRBR19TVEFUVVNfTkVHQVRJVkUgPSAyO1xuY29uc3QgVEFHX0NPTE9SX0JZX1NUQVRVUyA9IHtcbiAgICBbVEFHX1NUQVRVU19TVUNDRVNTXTogJ3N1Y2Nlc3MnLFxuICAgIFtUQUdfU1RBVFVTX1JFQ09NTUVOREVEXTogJ3JlY29tbWVuZGVkJyxcbiAgICBbVEFHX1NUQVRVU19ORUdBVElWRV06ICduZWdhdGl2ZScsXG59O1xuLyoqIERpc3BsYXktb25seTogdGhlIGFsbC1jYXBzIGBuZXR3b3JrYCBpZCB3aXRoIGp1c3QgaXRzIGZpcnN0IGxldHRlciBjYXBpdGFsaXplZCwgZS5nLiBgXCJFVEhFUkVVTVwiYCDihpIgYFwiRXRoZXJldW1cImAuIFRoZSBib3VuZCB2YWx1ZSBzdGF5cyB0aGUgcmF3IGlkLiAqL1xuY29uc3QgZm9ybWF0TmV0d29yayA9IChuZXR3b3JrKSA9PiBuZXR3b3JrID8gbmV0d29yay5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5ldHdvcmsuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSA6IG5ldHdvcms7XG4vKiogRGVwb3NpdC1tb2RlIGxhdGVuY3ksIHNob3duIG9uIHRoZSByaWdodCBvZiBlYWNoIG9wdGlvbi4gKi9cbmNvbnN0IHJlbmRlckRlcG9zaXRNZXRhID0gKGl0ZW0pID0+IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIGNvbG9yOiAnZGVmYXVsdC1zZWNvbmRhcnknLCBjaGlsZHJlbjogaXRlbS50eExhdGVuY3kgfSkpO1xuLyoqIFdpdGhkcmF3LW1vZGUgbWV0YSBjb2x1bW4g4oCUIHByZS1mb3JtYXR0ZWQgYGdhc0ZlZWAgKGBcIkZyZWVcImAgaW4gZ3JlZW4pIG9uIHRvcCwgYHR4TGF0ZW5jeWAgYmVsb3cuIFJldHVybnMgYG51bGxgIHdoZW4gbmVpdGhlciBpcyBwcmVzZW50LiAqL1xuY29uc3QgcmVuZGVyV2l0aGRyYXdNZXRhID0gKGl0ZW0pID0+IHtcbiAgICBpZiAoIWl0ZW0uZ2FzRmVlICYmICFpdGVtLnR4TGF0ZW5jeSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBnYXA6IDAsIGFsaWduOiAnZW5kJywgY2xhc3NOYW1lOiBNRVRBX0NMUywgY2hpbGRyZW46IFtpdGVtLmdhc0ZlZSA/IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6IGl0ZW0uZ2FzRmVlID09PSBGUkVFX0ZFRV9MQUJFTCA/ICdwb3NpdGl2ZScgOiAnZGVmYXVsdCcsIGNoaWxkcmVuOiBpdGVtLmdhc0ZlZSB9KSkgOiBudWxsLCBpdGVtLnR4TGF0ZW5jeSA/IChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLnR4TGF0ZW5jeSB9KSkgOiBudWxsXSB9KSk7XG59O1xuLyoqIFdpdGhkcmF3LW1vZGUgc3RhdHVzIGJhZGdlIHNob3duIG5leHQgdG8gdGhlIG5ldHdvcmsgbmFtZS4gSGlkZGVuIHdoZW4gdGhlcmUncyBubyBgdGFnYCBsYWJlbC4gKi9cbmNvbnN0IHJlbmRlclRhZyA9IChpdGVtKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGlmICghaXRlbS50YWcpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNvbG9yID0gaXRlbS50YWdTdGF0dXMgIT0gbnVsbCA/ICgoX2EgPSBUQUdfQ09MT1JfQllfU1RBVFVTW2l0ZW0udGFnU3RhdHVzXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ25ldXRyYWwnKSA6ICduZXV0cmFsJztcbiAgICByZXR1cm4gX2pzeChUYWcsIHsgY29sb3I6IGNvbG9yLCBsYWJlbDogaXRlbS50YWcgfSk7XG59O1xuY29uc3QgTmV0d29ya1NlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgX2I7XG4gICAgdmFyIHsgb3B0aW9ucywgY2xhc3NOYW1lLCBtb2RlID0gJ2RlcG9zaXQnLCBsYWJlbCA9ICdOZXR3b3JrJywgbmFtZSA9ICduZXR3b3JrJywgcGxhY2Vob2xkZXIgPSAnU2VsZWN0IG5ldHdvcmsnLCBzdHJvbmcgPSB0cnVlLCB2YWx1ZSwgZGVmYXVsdFZhbHVlLCBvbkNoYW5nZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJtb2RlXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCJdKTtcbiAgICBjb25zdCBpc1dpdGhkcmF3ID0gbW9kZSA9PT0gTU9ERV9XSVRIRFJBVztcbiAgICAvLyBBZGFwdCB0aGUgYmFja2VuZCBwYXlsb2FkIHRvIHRoZSBzaGFyZWQgYFNlbGVjdGAsIHdoaWNoIG93bnMgc2VsZWN0aW9uXG4gICAgLy8gc3RhdGUsIGtleWJvYXJkIG5hdmlnYXRpb24sIGFuZCB0aGUgdHJhaWxpbmcgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgIHZhbHVlOiBpdGVtLm5ldHdvcmssXG4gICAgICAgIGxhYmVsOiBpdGVtLm5ldHdvcmtEZXNjLFxuICAgICAgICByYXc6IGl0ZW0sXG4gICAgfSkpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHQsIG9wdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICh0eXBlb2YgbmV4dCAhPT0gJ3N0cmluZycpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IGl0ZW0gPSAoX2EgPSBvcHRpb24gPT09IG51bGwgfHwgb3B0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb24ucmF3KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBvcHRpb25zLmZpbmQoKG5ldHdvcmspID0+IG5ldHdvcmsubmV0d29yayA9PT0gbmV4dCk7XG4gICAgICAgIGlmIChpdGVtKVxuICAgICAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHQsIGl0ZW0pO1xuICAgIH0pO1xuICAgIC8vIEN1c3RvbSBvcHRpb24gYm9keS4gV2l0aGRyYXc6IGljb24gKyBzaW5nbGUtbGluZSBuYW1lICsgc3RhdHVzIGJhZGdlLCB3aXRoIGFcbiAgICAvLyBmZWUvbGF0ZW5jeSBtZXRhIGNvbHVtbi4gRGVwb3NpdDogaWNvbiArIHR3byBsaW5lcyAoaWQgKyBkaXNwbGF5IG5hbWUpICsgbGF0ZW5jeS5cbiAgICAvLyBUaGUgc2hhcmVkIGBTZWxlY3RgIGFwcGVuZHMgdGhlIGJyYW5kLWNvbG9yZWQgc2VsZWN0ZWQgY2hlY2suXG4gICAgY29uc3QgcmVuZGVyT3B0aW9uQ29udGVudCA9IChvcHRpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbi5yYXc7XG4gICAgICAgIGlmIChpc1dpdGhkcmF3KSB7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgY2xhc3NOYW1lOiBOQU1FX0NMUywgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogc3Ryb25nLCBjb2xvcjogJ2RlZmF1bHQnLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KSwgcmVuZGVyVGFnKGl0ZW0pXSB9KSwgcmVuZGVyV2l0aGRyYXdNZXRhKGl0ZW0pXSB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwiaW1nXCIsIHsgc3JjOiBpdGVtLmljb25VcmwsIGFsdDogaXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUsIGNsYXNzTmFtZTogSUNPTl9DTFMgfSksIF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogMCwgYWxpZ246ICdzdGFydCcsIHN0eWxlOiB7IG1pbldpZHRoOiAwLCBmbGV4OiAxIH0sIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBzdHJvbmc6IHN0cm9uZywgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IGZvcm1hdE5ldHdvcmsoaXRlbS5uZXR3b3JrKSB9KSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IGl0ZW0ubmV0d29ya0Rlc2MgfSldIH0pLCByZW5kZXJEZXBvc2l0TWV0YShpdGVtKV0gfSkpO1xuICAgIH07XG4gICAgY29uc3QgcmVuZGVyVmFsdWUgPSAob3B0aW9uLCBtZXRhKSA9PiB7XG4gICAgICAgIC8vIGBTZWxlY3RgIGNhbGxzIGByZW5kZXJWYWx1ZShudWxsKWAgd2hlbiBub3RoaW5nIGlzIHNlbGVjdGVkLCBzbyB0aGVcbiAgICAgICAgLy8gcGxhY2Vob2xkZXIgZmFsbGJhY2sgaXMgdGhpcyBmdW5jdGlvbidzIHJlc3BvbnNpYmlsaXR5LlxuICAgICAgICBpZiAoIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikpXG4gICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb24ucmF3O1xuICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uVXJsLCBhbHQ6IGl0ZW0ubmV0d29ya0Rlc2MsIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IG1ldGEuZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogaXNXaXRoZHJhdyA/IGl0ZW0ubmV0d29ya0Rlc2MgOiBmb3JtYXROZXR3b3JrKGl0ZW0ubmV0d29yaykgfSldIH0pKTtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgc2VhcmNoYWJsZTogKF9iID0gcmVzdC5zZWFyY2hhYmxlKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAoaXNXaXRoZHJhdyA/IHRydWUgOiB1bmRlZmluZWQpLCBuYW1lOiBuYW1lLCBsYWJlbDogbGFiZWwsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgY2xhc3NOYW1lOiBqb2luQ2xzKFdSQVBfQ0xTLCBjbGFzc05hbWUpLCBvcHRpb25zOiBzZWxlY3RPcHRpb25zLCB2YWx1ZTogdmFsdWUsIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFZhbHVlLCByZW5kZXJPcHRpb25Db250ZW50OiByZW5kZXJPcHRpb25Db250ZW50LCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgTmV0d29ya1NlbGVjdCA9IG1lbW8oTmV0d29ya1NlbGVjdEJhc2UpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,14 +1,25 @@
1
1
  import type { SelectProps } from "../../../components/Select";
2
+ /** Selector mode — `deposit` (two-line rows, latency) or `withdraw` (single-line rows, fee + status badge). The panel header is **not** part of the mode; pass it via `panelHeader`. */
3
+ export declare const NETWORK_SELECT_MODES: readonly ["deposit", "withdraw"];
4
+ export type NetworkSelectMode = (typeof NETWORK_SELECT_MODES)[number];
5
+ /**
6
+ * Default deposit safety copy. Not rendered automatically — pass it through
7
+ * `panelHeader` on deposit screens, e.g.
8
+ * `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
9
+ */
10
+ export declare const NETWORK_DEPOSIT_WARNING = "Only deposit your asset using one of the supported networks below. Depositing via an unsupported network will result in the permanent loss of your funds.";
2
11
  /**
3
12
  * A crypto network entry for the selector.
4
13
  *
5
14
  * `network`, `networkDesc`, and `iconUrl` are always required (identity +
6
- * display). The remaining fields are deposit-only metadata from
7
- * `/private/currencies` (`data.crypto[i].networks[j]`) and are optional, so a
8
- * withdraw-side network list which carries only `network`/`networkDesc`/
9
- * `iconUrl` — can be passed through as-is without casting or filling in dummies.
10
- * The component itself only reads `network`, `networkDesc`, `iconUrl`, and
11
- * `txLatency`.
15
+ * display). The remaining fields are optional metadata, so a list that carries
16
+ * only `network`/`networkDesc`/`iconUrl` can be passed through as-is without
17
+ * casting or filling in dummies.
18
+ *
19
+ * - **deposit** mode reads `network`, `networkDesc`, `iconUrl`, `txLatency`.
20
+ * - **withdraw** mode reads `network`, `networkDesc`, `iconUrl`, `gasFee`,
21
+ * `txLatency`, `tag`, `tagStatus`. Map the withdraw payload's `networkName` →
22
+ * `networkDesc` and `networkIconUrl` → `iconUrl` when passing it in.
12
23
  */
13
24
  export interface NetworkItem {
14
25
  /** Network identifier — bound to the select value (not displayed), e.g. `"ETHEREUM"` / `"POLYGON"`. */
@@ -17,6 +28,12 @@ export interface NetworkItem {
17
28
  networkDesc: string;
18
29
  /** Public URL of the network icon. */
19
30
  iconUrl: string;
31
+ /**
32
+ * Pre-formatted gas fee shown on the right of each option in **withdraw**
33
+ * mode, e.g. `"$0.19 fee"`. Rendered verbatim (the backend includes the
34
+ * currency symbol and `fee` suffix); the literal `"Free"` is shown in green.
35
+ */
36
+ gasFee?: string;
20
37
  /** Human-readable latency shown on the right of each option, e.g. `"3 mins"` / `"Hours"`. Blank when absent. */
21
38
  txLatency?: string;
22
39
  /** Smart-contract address of the asset on this network. May be `""` for native chains. Deposit-only. */
@@ -29,16 +46,16 @@ export interface NetworkItem {
29
46
  minConfirm?: number;
30
47
  /** Estimated processing time in minutes, e.g. `4`. Deposit-only. */
31
48
  processingTime?: number;
32
- /** Badge label, e.g. `"Recommended"` / `"Delayed"`; `""` when none. Not rendered yet. */
49
+ /** Badge label shown next to the name in **withdraw** mode, e.g. `"Instant"` / `"Recommended"` / `"Delayed"`; omitted (`""` / `null`) renders no badge. */
33
50
  tag?: string;
34
- /** Badge status code: `0` none, `1` recommended, `2` delayed. Not rendered yet. */
51
+ /** Badge status code driving the Tag color (matches the backend `NETWORK_TAG_STATUS` enum): `0` → success, `1` recommended, `2` negative. */
35
52
  tagStatus?: number;
36
53
  /** Deposit address for this network. Deposit-only. */
37
54
  address?: string;
38
55
  /** Display order within the list, e.g. `0`. Deposit-only. */
39
56
  order?: number;
40
57
  }
41
- export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'renderOption' | 'renderOptionContent' | 'renderValue' | 'panelHeader' | 'panelFooter'> {
58
+ export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value' | 'defaultValue' | 'onChange' | 'multiple' | 'renderOption' | 'renderOptionContent' | 'renderValue' | 'panelFooter'> {
42
59
  /**
43
60
  * Crypto networks returned by 1money's `/private/currencies` endpoint
44
61
  * (`data.crypto[i].networks`). Pass through as-is — the component
@@ -69,6 +86,23 @@ export interface NetworkSelectProps extends Omit<SelectProps, 'options' | 'value
69
86
  * ```
70
87
  */
71
88
  options: NetworkItem[];
89
+ /**
90
+ * Rendering mode (option row layout + right-side meta only — the header is
91
+ * controlled separately via `panelHeader`).
92
+ * - `deposit` (default): two-line option rows (capitalized id + display
93
+ * name) with `txLatency` on the right.
94
+ * - `withdraw`: single-line option rows (display name + status `Tag`), a
95
+ * `gasFee` (`"Free"` in green) + `txLatency` meta column, and `searchable`
96
+ * defaulted on.
97
+ * @default 'deposit'
98
+ */
99
+ mode?: NetworkSelectMode;
100
+ /**
101
+ * Panel header rendered above the options (inherited from `Select`, forwarded
102
+ * as-is). Not set by default; on deposit screens pass a warning Alert, e.g.
103
+ * `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
104
+ */
105
+ panelHeader?: SelectProps['panelHeader'];
72
106
  /** Selected `network` value. */
73
107
  value?: string;
74
108
  /** Initial `network` value when uncontrolled. */
@@ -3,4 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
6
+ exports.NETWORK_SELECT_MODES = exports.NETWORK_DEPOSIT_WARNING = void 0;
7
+ /** Selector mode — `deposit` (two-line rows, latency) or `withdraw` (single-line rows, fee + status badge). The panel header is **not** part of the mode; pass it via `panelHeader`. */
8
+ var NETWORK_SELECT_MODES = exports.NETWORK_SELECT_MODES = ['deposit', 'withdraw'];
9
+ /**
10
+ * Default deposit safety copy. Not rendered automatically — pass it through
11
+ * `panelHeader` on deposit screens, e.g.
12
+ * `panelHeader={<Alert status="warning" body={NETWORK_DEPOSIT_WARNING} />}`.
13
+ */
14
+ var NETWORK_DEPOSIT_WARNING = exports.NETWORK_DEPOSIT_WARNING = 'Only deposit your asset using one of the supported networks below. Depositing via an unsupported network will result in the permanent loss of your funds.';
15
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLnRzIiwiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLmpzIl0sIm5hbWVzIjpbIk5FVFdPUktfU0VMRUNUX01PREVTIiwiZXhwb3J0cyIsIk5FVFdPUktfREVQT1NJVF9XQVJOSU5HIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQTtBQUNPLElBQU1BLG9CQUFvQixHQUFBQyxPQUFBLENBQUFELG9CQUFBLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFVO0FBR3BFO0FDSEE7QUFDQTtBQUNBO0FBQ0E7QURLTyxJQUFNRSx1QkFBdUIsR0FBQUQsT0FBQSxDQUFBQyx1QkFBQSxHQUNsQywySkFBMkoiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCIvKiogU2VsZWN0b3IgbW9kZSDigJQgYGRlcG9zaXRgICh0d28tbGluZSByb3dzLCBsYXRlbmN5KSBvciBgd2l0aGRyYXdgIChzaW5nbGUtbGluZSByb3dzLCBmZWUgKyBzdGF0dXMgYmFkZ2UpLiBUaGUgcGFuZWwgaGVhZGVyIGlzICoqbm90KiogcGFydCBvZiB0aGUgbW9kZTsgcGFzcyBpdCB2aWEgYHBhbmVsSGVhZGVyYC4gKi9cbmV4cG9ydCBjb25zdCBORVRXT1JLX1NFTEVDVF9NT0RFUyA9IFsnZGVwb3NpdCcsICd3aXRoZHJhdyddO1xuLyoqXG4gKiBEZWZhdWx0IGRlcG9zaXQgc2FmZXR5IGNvcHkuIE5vdCByZW5kZXJlZCBhdXRvbWF0aWNhbGx5IOKAlCBwYXNzIGl0IHRocm91Z2hcbiAqIGBwYW5lbEhlYWRlcmAgb24gZGVwb3NpdCBzY3JlZW5zLCBlLmcuXG4gKiBgcGFuZWxIZWFkZXI9ezxBbGVydCBzdGF0dXM9XCJ3YXJuaW5nXCIgYm9keT17TkVUV09SS19ERVBPU0lUX1dBUk5JTkd9IC8+fWAuXG4gKi9cbmV4cG9ydCBjb25zdCBORVRXT1JLX0RFUE9TSVRfV0FSTklORyA9ICdPbmx5IGRlcG9zaXQgeW91ciBhc3NldCB1c2luZyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBuZXR3b3JrcyBiZWxvdy4gRGVwb3NpdGluZyB2aWEgYW4gdW5zdXBwb3J0ZWQgbmV0d29yayB3aWxsIHJlc3VsdCBpbiB0aGUgcGVybWFuZW50IGxvc3Mgb2YgeW91ciBmdW5kcy4nOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -27,4 +27,14 @@
27
27
  -o-object-fit: cover;
28
28
  object-fit: cover;
29
29
  border-radius: var(--om-radius-full, 9999px);
30
+ }
31
+
32
+ .om-network-select-name {
33
+ flex: 1 1 auto;
34
+ min-width: 0;
35
+ }
36
+
37
+ .om-network-select-meta {
38
+ flex: 0 0 auto;
39
+ text-align: right;
30
40
  }
@@ -1,2 +1,3 @@
1
+ export * from './Filter';
1
2
  export * from './Dialog';
2
3
  export * from './Select';
@@ -3,6 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _Filter = require("./Filter");
7
+ Object.keys(_Filter).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Filter[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _Filter[key];
14
+ }
15
+ });
16
+ });
6
17
  var _Dialog = require("./Dialog");
7
18
  Object.keys(_Dialog).forEach(function (key) {
8
19
  if (key === "default" || key === "__esModule") return;
@@ -25,4 +36,4 @@ Object.keys(_Select).forEach(function (key) {
25
36
  }
26
37
  });
27
38
  });
28
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6WyJfRGlhbG9nIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9TZWxlY3QiXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSCxPQUFBLEVBQUFJLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFDLE9BQUEsSUFBQUEsT0FBQSxDQUFBRCxHQUFBLE1BQUFMLE9BQUEsQ0FBQUssR0FBQTtFQUFBSCxNQUFBLENBQUFLLGNBQUEsQ0FBQUQsT0FBQSxFQUFBRCxHQUFBO0lBQUFHLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQVQsT0FBQSxDQUFBSyxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBVCxPQUFBO0FBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBTyxPQUFBLEVBQUFOLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFDLE9BQUEsSUFBQUEsT0FBQSxDQUFBRCxHQUFBLE1BQUFLLE9BQUEsQ0FBQUwsR0FBQTtFQUFBSCxNQUFBLENBQUFLLGNBQUEsQ0FBQUQsT0FBQSxFQUFBRCxHQUFBO0lBQUFHLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQUMsT0FBQSxDQUFBTCxHQUFBO0lBQUE7RUFBQTtBQUFBIiwiZmlsZSI6ImJ1c2luZXNzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
39
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9idXNpbmVzcy9pbmRleC50cyJdLCJuYW1lcyI6WyJfRmlsdGVyIiwicmVxdWlyZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwia2V5IiwiZXhwb3J0cyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsIl9EaWFsb2ciLCJfU2VsZWN0Il0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUgsT0FBQSxFQUFBSSxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBQyxPQUFBLElBQUFBLE9BQUEsQ0FBQUQsR0FBQSxNQUFBTCxPQUFBLENBQUFLLEdBQUE7RUFBQUgsTUFBQSxDQUFBSyxjQUFBLENBQUFELE9BQUEsRUFBQUQsR0FBQTtJQUFBRyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFULE9BQUEsQ0FBQUssR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFLLE9BQUEsR0FBQVQsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQU8sT0FBQSxFQUFBTixPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBQyxPQUFBLElBQUFBLE9BQUEsQ0FBQUQsR0FBQSxNQUFBSyxPQUFBLENBQUFMLEdBQUE7RUFBQUgsTUFBQSxDQUFBSyxjQUFBLENBQUFELE9BQUEsRUFBQUQsR0FBQTtJQUFBRyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFDLE9BQUEsQ0FBQUwsR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUNBLElBQUFNLE9BQUEsR0FBQVYsT0FBQTtBQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQVEsT0FBQSxFQUFBUCxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBQyxPQUFBLElBQUFBLE9BQUEsQ0FBQUQsR0FBQSxNQUFBTSxPQUFBLENBQUFOLEdBQUE7RUFBQUgsTUFBQSxDQUFBSyxjQUFBLENBQUFELE9BQUEsRUFBQUQsR0FBQTtJQUFBRyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFFLE9BQUEsQ0FBQU4sR0FBQTtJQUFBO0VBQUE7QUFBQSIsImZpbGUiOiJidXNpbmVzcy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode, FC, ReactElement, MutableRefObject, CSSProperties, FormHTMLAttributes } from 'react';
2
2
  import type { FormInstance, FormSize, LabelAlign, ValidateStatus, ValidateTrigger, Rule } from './core/interface';
3
- import type { ButtonProps } from "../Button";
3
+ import type { ButtonProps, ButtonSize } from "../Button";
4
4
  import type { DrawerProps, DrawerPlacement } from "../Drawer";
5
5
  import type { GridRowProps, GridColSize } from "../Grid";
6
6
  import type { DialogProps } from "../Dialog";
@@ -271,6 +271,8 @@ export interface QueryFilterProps extends ProFormProps {
271
271
  searchConfig?: {
272
272
  searchText?: ReactNode;
273
273
  resetText?: ReactNode;
274
+ /** Size of the search / reset / collapse buttons. Defaults to the Button default. */
275
+ size?: ButtonSize;
274
276
  };
275
277
  syncToUrl?: boolean | ((values: Record<string, unknown>, type: 'get' | 'set') => Record<string, unknown>);
276
278
  }
@@ -121,6 +121,7 @@ var QueryFilterBase = function QueryFilterBase(props) {
121
121
  var hasMore = childArray.length > defaultColsNumber;
122
122
  var searchText = (_a = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.searchText) !== null && _a !== void 0 ? _a : _constants.DEFAULT_TEXT.search;
123
123
  var resetText = (_b = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.resetText) !== null && _b !== void 0 ? _b : _constants.DEFAULT_TEXT.reset;
124
+ var buttonSize = searchConfig === null || searchConfig === void 0 ? void 0 : searchConfig.size;
124
125
  var labelStyle = labelWidth !== undefined && labelWidth !== 'auto' ? {
125
126
  width: labelWidth
126
127
  } : undefined;
@@ -145,15 +146,18 @@ var QueryFilterBase = function QueryFilterBase(props) {
145
146
  children: [(0, _jsxRuntime.jsx)(_Button.Button, {
146
147
  type: "submit",
147
148
  color: "primary",
149
+ size: buttonSize,
148
150
  children: searchText
149
151
  }), (0, _jsxRuntime.jsx)(_Button.Button, {
150
152
  type: "button",
151
153
  color: "secondary",
154
+ size: buttonSize,
152
155
  onClick: handleReset,
153
156
  children: resetText
154
157
  }), hasMore && (0, _jsxRuntime.jsx)(_Button.Button, {
155
158
  type: "button",
156
159
  variant: "text",
160
+ size: buttonSize,
157
161
  onClick: handleCollapse,
158
162
  children: collapsed ? _constants.DEFAULT_TEXT.expand : _constants.DEFAULT_TEXT.collapse
159
163
  })]
@@ -164,4 +168,4 @@ var QueryFilterBase = function QueryFilterBase(props) {
164
168
  QueryFilterBase.displayName = 'QueryFilter';
165
169
  var QueryFilter = exports.QueryFilter = /*#__PURE__*/(0, _react.memo)(QueryFilterBase);
166
170
  var _default = exports["default"] = QueryFilter;
167
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL1F1ZXJ5RmlsdGVyLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9RdWVyeUZpbHRlci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaG9va3MiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwiX1Byb0Zvcm0iLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbmNhdCIsIkNTU19QUkVGSVgiLCJnZXRVcmxQYXJhbXMiLCJ3aW5kb3ciLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImZvckVhY2giLCJ2IiwiayIsInNldFVybFBhcmFtcyIsInNwIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwiX3NsaWNlZFRvQXJyYXkyIiwidW5kZWZpbmVkIiwiU3RyaW5nIiwidG9TdHJpbmciLCJ1cmwiLCJwYXRobmFtZSIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJRdWVyeUZpbHRlckJhc2UiLCJwcm9wcyIsIl9hIiwiX2IiLCJfcHJvcHMkZGVmYXVsdENvbGxhcHMiLCJkZWZhdWx0Q29sbGFwc2VkIiwiY29udHJvbGxlZENvbGxhcHNlZCIsImNvbGxhcHNlZCIsIm9uQ29sbGFwc2UiLCJfcHJvcHMkZGVmYXVsdENvbHNOdW0iLCJkZWZhdWx0Q29sc051bWJlciIsImxhYmVsV2lkdGgiLCJfcHJvcHMkc3BsaXQiLCJzcGxpdCIsInNlYXJjaENvbmZpZyIsInN5bmNUb1VybCIsIm9uRmluaXNoIiwib25SZXNldCIsImNoaWxkcmVuIiwiX3Byb3BzJHN1Ym1pdHRlciIsInN1Ym1pdHRlciIsImluaXRpYWxWYWx1ZXNQcm9wIiwiaW5pdGlhbFZhbHVlcyIsImZvcm1Qcm9wcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsInNldENvbGxhcHNlZCIsInN5bmNJbml0UmVmIiwidXNlUmVmIiwidXNlTWVtbyIsImN1cnJlbnQiLCJ1cmxQYXJhbXMiLCJhc3NpZ24iLCJoYW5kbGVTeW5jU2V0IiwidXNlTWVtb2l6ZWRGbiIsInZhbHVlcyIsInRvV3JpdGUiLCJoYW5kbGVGaW5pc2giLCJoYW5kbGVSZXNldCIsImhhbmRsZUNvbGxhcHNlIiwibmV4dCIsImNoaWxkQXJyYXkiLCJhcnIiLCJSZWFjdCIsIkNoaWxkcmVuIiwiY2hpbGQiLCJpc1ZhbGlkRWxlbWVudCIsInB1c2giLCJ2aXNpYmxlQ2hpbGRyZW4iLCJzbGljZSIsImhhc01vcmUiLCJzZWFyY2hUZXh0IiwiREVGQVVMVF9URVhUIiwicmVzZXRUZXh0IiwicmVzZXQiLCJsYWJlbFN0eWxlIiwid2lkdGgiLCJfanN4IiwiUHJvRm9ybSIsIl9qc3hzIiwiY2xhc3NOYW1lIiwibWFwIiwiaW5kZXgiLCJGcmFnbWVudCIsInN0eWxlIiwiQnV0dG9uIiwidHlwZSIsImNvbG9yIiwib25DbGljayIsInZhcmlhbnQiLCJleHBhbmQiLCJjb2xsYXBzZSIsImRpc3BsYXlOYW1lIiwiUXVlcnlG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LENBQ2hDLElBQUF3QyxlQUFBLEVBQUNRLGNBQU0sRUFBQTtVQUFDQyxJQUFJLEVBQUMsUUFBUTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFBbEQsUUFBQSxFQUNsQ2tDO1FBQVUsQ0FBQSxDQUNKLEVBQ1QsSUFBQU0sZUFBQSxFQUFDUSxjQUFNLEVBQUE7VUFBQ0MsSUFBSSxFQUFDLFFBQVE7VUFBQ0MsS0FBSyxFQUFDLFdBQVc7VUFBQ0MsT0FBTyxFQUFFOUIsV0FBVztVQUFBckIsUUFBQSxFQUN6RG9DO1FBQVMsQ0FBQSxDQUNILEVBQ1JILE9BQU8sSUFDTixJQUFBTyxlQUFBLEVBQUNRLGNBQU0sRUFBQTtVQUFDQyxJQUFJLEVBQUMsUUFBUTtVQUFDRyxPQUFPLEVBQUMsTUFBTTtVQUFDRCxPQUFPLEVBQUU3QixjQUFjO1VBQUF0QixRQUFBLEVBQ3pEWCxTQUFTLEdBQUc4Qyx1QkFBWSxDQUFDa0IsTUFBTSxHQUFHbEIsdUJBQVksQ0FBQ21CO1FBQVEsQ0FBQSxDQUUzRDtNQUFBLENBQUEsQ0FDRztJQUFBLENBQUE7RUFDRixDQUFBLENBQUEsQ0FDRTtBQUVkLENBQUM7QUFFRHhFLGVBQWUsQ0FBQ3lFLFdBQVcsR0FBRyxhQUFhO0FBRXBDLElBQU1DLFdBQVcsR0FBQUMsT0FBQSxDQUFBRCxXQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQzVFLGVBQWUsQ0FBQztBQUFDLElBQUE2RSxRQUFBLEdBQUFGLE9BQUEsY0FFbENELFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvUXVlcnlGaWx0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VNZW1vaXplZEZuIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL0J1dHRvbic7XG5pbXBvcnQgeyBQcm9Gb3JtIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBDU1NfUFJFRklYLCBERUZBVUxUX1RFWFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LXF1ZXJ5LWZpbHRlcmApO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVUkwgc3luYyBoZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZ1bmN0aW9uIGdldFVybFBhcmFtcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgcGFyYW1zW2tdID0gdjtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gc2V0VXJsUGFyYW1zKHBhcmFtcykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IHNwID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICAgICAgaWYgKHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09ICcnKSB7XG4gICAgICAgICAgICBzcC5zZXQoaywgU3RyaW5nKHYpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzZWFyY2ggPSBzcC50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHNlYXJjaCA/IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0/JHtzZWFyY2h9YCA6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIHVybCk7XG59XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFF1ZXJ5RmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IFF1ZXJ5RmlsdGVyQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QgeyBkZWZhdWx0Q29sbGFwc2VkID0gdHJ1ZSwgY29sbGFwc2VkOiBjb250cm9sbGVkQ29sbGFwc2VkLCBvbkNvbGxhcHNlLCBkZWZhdWx0Q29sc051bWJlciA9IDMsIGxhYmVsV2lkdGgsIHNwbGl0ID0gZmFsc2UsIHNlYXJjaENvbmZpZywgc3luY1RvVXJsLCBvbkZpbmlzaCwgb25SZXNldCwgY2hpbGRyZW4sIHN1Ym1pdHRlciA9IGZhbHNlLCBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzUHJvcCB9ID0gcHJvcHMsIGZvcm1Qcm9wcyA9IF9fcmVzdChwcm9wcywgW1wiZGVmYXVsdENvbGxhcHNlZFwiLCBcImNvbGxhcHNlZFwiLCBcIm9uQ29sbGFwc2VcIiwgXCJkZWZhdWx0Q29sc051bWJlclwiLCBcImxhYmVsV2lkdGhcIiwgXCJzcGxpdFwiLCBcInNlYXJjaENvbmZpZ1wiLCBcInN5bmNUb1VybFwiLCBcIm9uRmluaXNoXCIsIFwib25SZXNldFwiLCBcImNoaWxkcmVuXCIsIFwic3VibWl0dGVyXCIsIFwiaW5pdGlhbFZhbHVlc1wiXSk7XG4gICAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q29sbGFwc2VkLCBjb250cm9sbGVkQ29sbGFwc2VkKTtcbiAgICAvLyDilIDilIAgc3luY1RvVXJsOiBtZXJnZSBVUkwgcGFyYW1zIGludG8gaW5pdGlhbCB2YWx1ZXMgb24gbW91bnQg4pSA4pSAXG4gICAgY29uc3Qgc3luY0luaXRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgc3luY0luaXRSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybiBpbml0aWFsVmFsdWVzUHJvcDtcbiAgICAgICAgc3luY0luaXRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IGdldFVybFBhcmFtcygpO1xuICAgICAgICBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaW5pdGlhbFZhbHVlc1Byb3ApLCBzeW5jVG9VcmwodXJsUGFyYW1zLCAnZ2V0JykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGluaXRpYWxWYWx1ZXNQcm9wKSwgdXJsUGFyYW1zKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlU3luY1NldCA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgdG9Xcml0ZSA9IHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gc3luY1RvVXJsKHZhbHVlcywgJ3NldCcpXG4gICAgICAgICAgICA6IHZhbHVlcztcbiAgICAgICAgc2V0VXJsUGFyYW1zKHRvV3JpdGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUZpbmlzaCA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBoYW5kbGVTeW5jU2V0KHZhbHVlcyk7XG4gICAgICAgIG9uRmluaXNoID09PSBudWxsIHx8IG9uRmluaXNoID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZpbmlzaCh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIGlmIChzeW5jVG9VcmwpXG4gICAgICAgICAgICBzZXRVcmxQYXJhbXMoe30pO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVDb2xsYXBzZSA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0ID0gIWNvbGxhcHNlZDtcbiAgICAgICAgc2V0Q29sbGFwc2VkKG5leHQpO1xuICAgICAgICBvbkNvbGxhcHNlID09PSBudWxsIHx8IG9uQ29sbGFwc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29sbGFwc2UobmV4dCk7XG4gICAgfSk7XG4gICAgLy8gQ291bnQgY2hpbGRyZW4gYW5kIHNwbGl0IHZpc2libGUvaGlkZGVuXG4gICAgY29uc3QgY2hpbGRBcnJheSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgICAgUmVhY3QuQ2hpbGRyZW4uZm9yRWFjaChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgYXJyLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbY2hpbGRyZW5dKTtcbiAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjb2xsYXBzZWRcbiAgICAgICAgPyBjaGlsZEFycmF5LnNsaWNlKDAsIGRlZmF1bHRDb2xzTnVtYmVyKVxuICAgICAgICA6IGNoaWxkQXJyYXk7XG4gICAgY29uc3QgaGFzTW9yZSA9IGNoaWxkQXJyYXkubGVuZ3RoID4gZGVmYXVsdENvbHNOdW1iZXI7XG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IChfYSA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5zZWFyY2hUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1RFWFQuc2VhcmNoO1xuICAgIGNvbnN0IHJlc2V0VGV4dCA9IChfYiA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5yZXNldFRleHQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IERFRkFVTFRfVEVYVC5yZXNldDtcbiAgICBjb25zdCBsYWJlbFN0eWxlID0gbGFiZWxXaWR0aCAhPT0gdW5kZWZpbmVkICYmIGxhYmVsV2lkdGggIT09ICdhdXRvJ1xuICAgICAgICA/IHsgd2lkdGg6IGxhYmVsV2lkdGggfVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gKF9qc3goUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgZm9ybVByb3BzLCB7IGluaXRpYWxWYWx1ZXM6IGluaXRpYWxWYWx1ZXMsIG9uRmluaXNoOiBoYW5kbGVGaW5pc2gsIG9uUmVzZXQ6IGhhbmRsZVJlc2V0LCBzdWJtaXR0ZXI6IGZhbHNlLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoKSwgY2hpbGRyZW46IFt2aXNpYmxlQ2hpbGRyZW4ubWFwKChjaGlsZCwgaW5kZXgpID0+IChfanN4cyhSZWFjdC5GcmFnbWVudCwgeyBjaGlsZHJlbjogW3NwbGl0ICYmIGluZGV4ID4gMCAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzcGxpdCcpIH0pLCBsYWJlbFN0eWxlID8gKF9qc3goXCJkaXZcIiwgeyBzdHlsZTogbGFiZWxTdHlsZSwgY2hpbGRyZW46IGNoaWxkIH0pKSA6IChjaGlsZCldIH0sIGluZGV4KSkpLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnYWN0aW9ucycpLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IHR5cGU6IFwic3VibWl0XCIsIGNvbG9yOiBcInByaW1hcnlcIiwgY2hpbGRyZW46IHNlYXJjaFRleHQgfSksIF9qc3goQnV0dG9uLCB7IHR5cGU6IFwiYnV0dG9uXCIsIGNvbG9yOiBcInNlY29uZGFyeVwiLCBvbkNsaWNrOiBoYW5kbGVSZXNldCwgY2hpbGRyZW46IHJlc2V0VGV4dCB9KSwgaGFzTW9yZSAmJiAoX2pzeChCdXR0b24sIHsgdHlwZTogXCJidXR0b25cIiwgdmFyaWFudDogXCJ0ZXh0XCIsIG9uQ2xpY2s6IGhhbmRsZUNvbGxhcHNlLCBjaGlsZHJlbjogY29sbGFwc2VkID8gREVGQVVMVF9URVhULmV4cGFuZCA6IERFRkFVTFRfVEVYVC5jb2xsYXBzZSB9KSldIH0pXSB9KSB9KSkpO1xufTtcblF1ZXJ5RmlsdGVyQmFzZS5kaXNwbGF5TmFtZSA9ICdRdWVyeUZpbHRlcic7XG5leHBvcnQgY29uc3QgUXVlcnlGaWx0ZXIgPSBtZW1vKFF1ZXJ5RmlsdGVyQmFzZSk7XG5leHBvcnQgZGVmYXVsdCBRdWVyeUZpbHRlcjsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
171
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL1F1ZXJ5RmlsdGVyLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9RdWVyeUZpbHRlci50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaG9va3MiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQnV0dG9uIiwiX1Byb0Zvcm0iLCJfY29uc3RhbnRzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX19yZXN0IiwicyIsInAiLCJwcm90b3R5cGUiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNvbmNhdCIsIkNTU19QUkVGSVgiLCJnZXRVcmxQYXJhbXMiLCJ3aW5kb3ciLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJsb2NhdGlvbiIsInNlYXJjaCIsImZvckVhY2giLCJ2IiwiayIsInNldFVybFBhcmFtcyIsInNwIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwiX3NsaWNlZFRvQXJyYXkyIiwidW5kZWZpbmVkIiwiU3RyaW5nIiwidG9TdHJpbmciLCJ1cmwiLCJwYXRobmFtZSIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJRdWVyeUZpbHRlckJhc2UiLCJwcm9wcyIsIl9hIiwiX2IiLCJfcHJvcHMkZGVmYXVsdENvbGxhcHMiLCJkZWZhdWx0Q29sbGFwc2VkIiwiY29udHJvbGxlZENvbGxhcHNlZCIsImNvbGxhcHNlZCIsIm9uQ29sbGFwc2UiLCJfcHJvcHMkZGVmYXVsdENvbHNOdW0iLCJkZWZhdWx0Q29sc051bWJlciIsImxhYmVsV2lkdGgiLCJfcHJvcHMkc3BsaXQiLCJzcGxpdCIsInNlYXJjaENvbmZpZyIsInN5bmNUb1VybCIsIm9uRmluaXNoIiwib25SZXNldCIsImNoaWxkcmVuIiwiX3Byb3BzJHN1Ym1pdHRlciIsInN1Ym1pdHRlciIsImluaXRpYWxWYWx1ZXNQcm9wIiwiaW5pdGlhbFZhbHVlcyIsImZvcm1Qcm9wcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsInNldENvbGxhcHNlZCIsInN5bmNJbml0UmVmIiwidXNlUmVmIiwidXNlTWVtbyIsImN1cnJlbnQiLCJ1cmxQYXJhbXMiLCJhc3NpZ24iLCJoYW5kbGVTeW5jU2V0IiwidXNlTWVtb2l6ZWRGbiIsInZhbHVlcyIsInRvV3JpdGUiLCJoYW5kbGVGaW5pc2giLCJoYW5kbGVSZXNldCIsImhhbmRsZUNvbGxhcHNlIiwibmV4dCIsImNoaWxkQXJyYXkiLCJhcnIiLCJSZWFjdCIsIkNoaWxkcmVuIiwiY2hpbGQiLCJpc1ZhbGlkRWxlbWVudCIsInB1c2giLCJ2aXNpYmxlQ2hpbGRyZW4iLCJzbGljZSIsImhhc01vcmUiLCJzZWFyY2hUZXh0IiwiREVGQVVMVF9URVhUIiwicmVzZXRUZXh0IiwicmVzZXQiLCJidXR0b25TaXplIiwic2l6ZSIsImxhYmVsU3R5bGUiLCJ3aWR0aCIsIl9qc3giLCJQcm9Gb3JtIiwiX2pzeHMiLCJjbGFzc05hbWUiLCJtYXAiLCJpbmRleCIsIkZyYWdtZW50Iiwic3R5bGUiLCJCdXR0b24iLCJ0eXBlIiwiY29sb3IiLCJvbkNsaWNrIiwidmFyaWFudCIsImV4cGFuZCIsImNvbGxhcHNlIiwi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QUEsRUFOa0JtQixLQUFLLENBT1Q7TUFBQSxDQUNsQixDQUFDLEVBRUYsSUFBQUgsZ0JBQUEsRUFBQSxLQUFBLEVBQUE7UUFBS0MsU0FBUyxFQUFFMUYsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUFBNkMsUUFBQSxFQUFBLENBQ2hDLElBQUEwQyxlQUFBLEVBQUNRLGNBQU0sRUFBQTtVQUFDQyxJQUFJLEVBQUMsUUFBUTtVQUFDQyxLQUFLLEVBQUMsU0FBUztVQUFDYixJQUFJLEVBQUVELFVBQVU7VUFBQXRDLFFBQUEsRUFDbkRrQztRQUFVLENBQUEsQ0FDSixFQUNULElBQUFRLGVBQUEsRUFBQ1EsY0FBTSxFQUFBO1VBQUNDLElBQUksRUFBQyxRQUFRO1VBQUNDLEtBQUssRUFBQyxXQUFXO1VBQUNiLElBQUksRUFBRUQsVUFBVTtVQUFFZSxPQUFPLEVBQUVoQyxXQUFXO1VBQUFyQixRQUFBLEVBQzNFb0M7UUFBUyxDQUFBLENBQ0gsRUFDUkgsT0FBTyxJQUNOLElBQUFTLGVBQUEsRUFBQ1EsY0FBTSxFQUFBO1VBQUNDLElBQUksRUFBQyxRQUFRO1VBQUNHLE9BQU8sRUFBQyxNQUFNO1VBQUNmLElBQUksRUFBRUQsVUFBVTtVQUFFZSxPQUFPLEVBQUUvQixjQUFjO1VBQUF0QixRQUFBLEVBQzNFWCxTQUFTLEdBQUc4Qyx1QkFBWSxDQUFDb0IsTUFBTSxHQUFHcEIsdUJBQVksQ0FBQ3FCO1FBQVEsQ0FBQSxDQUUzRDtNQUFBLENBQUEsQ0FDRztJQUFBLENBQUE7RUFDRixDQUFBLENBQUEsQ0FDRTtBQUVkLENBQUM7QUFFRDFFLGVBQWUsQ0FBQzJFLFdBQVcsR0FBRyxhQUFhO0FBRXBDLElBQU1DLFdBQVcsR0FBQUMsT0FBQSxDQUFBRCxXQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQzlFLGVBQWUsQ0FBQztBQUFDLElBQUErRSxRQUFBLEdBQUFGLE9BQUEsY0FFbENELFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvUXVlcnlGaWx0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VNZW1vaXplZEZuIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL0J1dHRvbic7XG5pbXBvcnQgeyBQcm9Gb3JtIH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBDU1NfUFJFRklYLCBERUZBVUxUX1RFWFQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKGAke0NTU19QUkVGSVh9LXF1ZXJ5LWZpbHRlcmApO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVUkwgc3luYyBoZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmZ1bmN0aW9uIGdldFVybFBhcmFtcygpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICAgIHJldHVybiB7fTtcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcbiAgICBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpLmZvckVhY2goKHYsIGspID0+IHtcbiAgICAgICAgcGFyYW1zW2tdID0gdjtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1zO1xufVxuZnVuY3Rpb24gc2V0VXJsUGFyYW1zKHBhcmFtcykge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IHNwID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHBhcmFtcykpIHtcbiAgICAgICAgaWYgKHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09ICcnKSB7XG4gICAgICAgICAgICBzcC5zZXQoaywgU3RyaW5nKHYpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBzZWFyY2ggPSBzcC50b1N0cmluZygpO1xuICAgIGNvbnN0IHVybCA9IHNlYXJjaCA/IGAke3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0/JHtzZWFyY2h9YCA6IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIHVybCk7XG59XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFF1ZXJ5RmlsdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmNvbnN0IFF1ZXJ5RmlsdGVyQmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYSwgX2I7XG4gICAgY29uc3QgeyBkZWZhdWx0Q29sbGFwc2VkID0gdHJ1ZSwgY29sbGFwc2VkOiBjb250cm9sbGVkQ29sbGFwc2VkLCBvbkNvbGxhcHNlLCBkZWZhdWx0Q29sc051bWJlciA9IDMsIGxhYmVsV2lkdGgsIHNwbGl0ID0gZmFsc2UsIHNlYXJjaENvbmZpZywgc3luY1RvVXJsLCBvbkZpbmlzaCwgb25SZXNldCwgY2hpbGRyZW4sIHN1Ym1pdHRlciA9IGZhbHNlLCBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzUHJvcCB9ID0gcHJvcHMsIGZvcm1Qcm9wcyA9IF9fcmVzdChwcm9wcywgW1wiZGVmYXVsdENvbGxhcHNlZFwiLCBcImNvbGxhcHNlZFwiLCBcIm9uQ29sbGFwc2VcIiwgXCJkZWZhdWx0Q29sc051bWJlclwiLCBcImxhYmVsV2lkdGhcIiwgXCJzcGxpdFwiLCBcInNlYXJjaENvbmZpZ1wiLCBcInN5bmNUb1VybFwiLCBcIm9uRmluaXNoXCIsIFwib25SZXNldFwiLCBcImNoaWxkcmVuXCIsIFwic3VibWl0dGVyXCIsIFwiaW5pdGlhbFZhbHVlc1wiXSk7XG4gICAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0Q29sbGFwc2VkLCBjb250cm9sbGVkQ29sbGFwc2VkKTtcbiAgICAvLyDilIDilIAgc3luY1RvVXJsOiBtZXJnZSBVUkwgcGFyYW1zIGludG8gaW5pdGlhbCB2YWx1ZXMgb24gbW91bnQg4pSA4pSAXG4gICAgY29uc3Qgc3luY0luaXRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCFzeW5jVG9VcmwgfHwgc3luY0luaXRSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybiBpbml0aWFsVmFsdWVzUHJvcDtcbiAgICAgICAgc3luY0luaXRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHVybFBhcmFtcyA9IGdldFVybFBhcmFtcygpO1xuICAgICAgICBpZiAodHlwZW9mIHN5bmNUb1VybCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgaW5pdGlhbFZhbHVlc1Byb3ApLCBzeW5jVG9VcmwodXJsUGFyYW1zLCAnZ2V0JykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGluaXRpYWxWYWx1ZXNQcm9wKSwgdXJsUGFyYW1zKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlU3luY1NldCA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAoIXN5bmNUb1VybClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgdG9Xcml0ZSA9IHR5cGVvZiBzeW5jVG9VcmwgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gc3luY1RvVXJsKHZhbHVlcywgJ3NldCcpXG4gICAgICAgICAgICA6IHZhbHVlcztcbiAgICAgICAgc2V0VXJsUGFyYW1zKHRvV3JpdGUpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUZpbmlzaCA9IHVzZU1lbW9pemVkRm4oKHZhbHVlcykgPT4ge1xuICAgICAgICBoYW5kbGVTeW5jU2V0KHZhbHVlcyk7XG4gICAgICAgIG9uRmluaXNoID09PSBudWxsIHx8IG9uRmluaXNoID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZpbmlzaCh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVJlc2V0ID0gdXNlTWVtb2l6ZWRGbigoKSA9PiB7XG4gICAgICAgIGlmIChzeW5jVG9VcmwpXG4gICAgICAgICAgICBzZXRVcmxQYXJhbXMoe30pO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVDb2xsYXBzZSA9IHVzZU1lbW9pemVkRm4oKCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0ID0gIWNvbGxhcHNlZDtcbiAgICAgICAgc2V0Q29sbGFwc2VkKG5leHQpO1xuICAgICAgICBvbkNvbGxhcHNlID09PSBudWxsIHx8IG9uQ29sbGFwc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29sbGFwc2UobmV4dCk7XG4gICAgfSk7XG4gICAgLy8gQ291bnQgY2hpbGRyZW4gYW5kIHNwbGl0IHZpc2libGUvaGlkZGVuXG4gICAgY29uc3QgY2hpbGRBcnJheSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgICAgUmVhY3QuQ2hpbGRyZW4uZm9yRWFjaChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgYXJyLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbY2hpbGRyZW5dKTtcbiAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjb2xsYXBzZWRcbiAgICAgICAgPyBjaGlsZEFycmF5LnNsaWNlKDAsIGRlZmF1bHRDb2xzTnVtYmVyKVxuICAgICAgICA6IGNoaWxkQXJyYXk7XG4gICAgY29uc3QgaGFzTW9yZSA9IGNoaWxkQXJyYXkubGVuZ3RoID4gZGVmYXVsdENvbHNOdW1iZXI7XG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IChfYSA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5zZWFyY2hUZXh0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1RFWFQuc2VhcmNoO1xuICAgIGNvbnN0IHJlc2V0VGV4dCA9IChfYiA9IHNlYXJjaENvbmZpZyA9PT0gbnVsbCB8fCBzZWFyY2hDb25maWcgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHNlYXJjaENvbmZpZy5yZXNldFRleHQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IERFRkFVTFRfVEVYVC5yZXNldDtcbiAgICBjb25zdCBidXR0b25TaXplID0gc2VhcmNoQ29uZmlnID09PSBudWxsIHx8IHNlYXJjaENvbmZpZyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc2VhcmNoQ29uZmlnLnNpemU7XG4gICAgY29uc3QgbGFiZWxTdHlsZSA9IGxhYmVsV2lkdGggIT09IHVuZGVmaW5lZCAmJiBsYWJlbFdpZHRoICE9PSAnYXV0bydcbiAgICAgICAgPyB7IHdpZHRoOiBsYWJlbFdpZHRoIH1cbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIChfanN4KFByb0Zvcm0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1Qcm9wcywgeyBpbml0aWFsVmFsdWVzOiBpbml0aWFsVmFsdWVzLCBvbkZpbmlzaDogaGFuZGxlRmluaXNoLCBvblJlc2V0OiBoYW5kbGVSZXNldCwgc3VibWl0dGVyOiBmYWxzZSwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCksIGNoaWxkcmVuOiBbdmlzaWJsZUNoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PiAoX2pzeHMoUmVhY3QuRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtzcGxpdCAmJiBpbmRleCA+IDAgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3BsaXQnKSB9KSwgbGFiZWxTdHlsZSA/IChfanN4KFwiZGl2XCIsIHsgc3R5bGU6IGxhYmVsU3R5bGUsIGNoaWxkcmVuOiBjaGlsZCB9KSkgOiAoY2hpbGQpXSB9LCBpbmRleCkpKSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2FjdGlvbnMnKSwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyB0eXBlOiBcInN1Ym1pdFwiLCBjb2xvcjogXCJwcmltYXJ5XCIsIHNpemU6IGJ1dHRvblNpemUsIGNoaWxkcmVuOiBzZWFyY2hUZXh0IH0pLCBfanN4KEJ1dHRvbiwgeyB0eXBlOiBcImJ1dHRvblwiLCBjb2xvcjogXCJzZWNvbmRhcnlcIiwgc2l6ZTogYnV0dG9uU2l6ZSwgb25DbGljazogaGFuZGxlUmVzZXQsIGNoaWxkcmVuOiByZXNldFRleHQgfSksIGhhc01vcmUgJiYgKF9qc3goQnV0dG9uLCB7IHR5cGU6IFwiYnV0dG9uXCIsIHZhcmlhbnQ6IFwidGV4dFwiLCBzaXplOiBidXR0b25TaXplLCBvbkNsaWNrOiBoYW5kbGVDb2xsYXBzZSwgY2hpbGRyZW46IGNvbGxhcHNlZCA/IERFRkFVTFRfVEVYVC5leHBhbmQgOiBERUZBVUxUX1RFWFQuY29sbGFwc2UgfSkpXSB9KV0gfSkgfSkpKTtcbn07XG5RdWVyeUZpbHRlckJhc2UuZGlzcGxheU5hbWUgPSAnUXVlcnlGaWx0ZXInO1xuZXhwb3J0IGNvbnN0IFF1ZXJ5RmlsdGVyID0gbWVtbyhRdWVyeUZpbHRlckJhc2UpO1xuZXhwb3J0IGRlZmF1bHQgUXVlcnlGaWx0ZXI7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,5 @@
1
+ import type { TableRecord } from "../Table";
2
+ import type { ProTableProps } from './interface';
3
+ declare function ProTableInner<T extends TableRecord = TableRecord, Params extends Record<string, unknown> = Record<string, unknown>>(props: ProTableProps<T, Params>): import("react/jsx-runtime").JSX.Element;
4
+ export declare const ProTable: typeof ProTableInner;
5
+ export default ProTable;