@1money/component-ui 0.0.64-alpha.3 → 0.0.64-alpha.6

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