@1money/component-ui 0.0.61-alpha.1 → 0.0.61-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/business/Select/Network/NetworkSelect.d.ts +2 -0
- package/es/business/Select/Network/NetworkSelect.js +150 -0
- package/es/business/Select/Network/index.d.ts +2 -0
- package/es/business/Select/Network/index.js +3 -0
- package/es/business/Select/Network/interface.d.ts +66 -0
- package/es/business/Select/Network/interface.js +2 -0
- package/es/business/Select/Network/style/NetworkSelect.css +59 -0
- package/es/business/Select/Network/style/css.js +2 -0
- package/es/business/Select/Network/style/index.d.ts +1 -0
- package/es/business/Select/Network/style/index.js +2 -0
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.d.ts +2 -0
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +150 -0
- package/es/business/Select/PaymentMethod/index.d.ts +2 -0
- package/es/business/Select/PaymentMethod/index.js +3 -0
- package/es/business/Select/PaymentMethod/interface.d.ts +70 -0
- package/es/business/Select/PaymentMethod/interface.js +2 -0
- package/es/business/Select/PaymentMethod/style/PaymentMethodSelect.css +38 -0
- package/es/business/Select/PaymentMethod/style/css.js +2 -0
- package/es/business/Select/PaymentMethod/style/index.d.ts +1 -0
- package/es/business/Select/PaymentMethod/style/index.js +2 -0
- package/es/business/Select/index.d.ts +2 -0
- package/es/business/Select/index.js +3 -1
- package/es/components/Input/Input/Input.css +4 -6
- package/es/index.css +1 -1
- package/lib/business/Select/Network/NetworkSelect.d.ts +2 -0
- package/lib/business/Select/Network/NetworkSelect.js +157 -0
- package/lib/business/Select/Network/index.d.ts +2 -0
- package/lib/business/Select/Network/index.js +28 -0
- package/lib/business/Select/Network/interface.d.ts +66 -0
- package/lib/business/Select/Network/interface.js +6 -0
- package/lib/business/Select/Network/style/NetworkSelect.css +59 -0
- package/lib/business/Select/Network/style/css.js +4 -0
- package/lib/business/Select/Network/style/index.d.ts +1 -0
- package/lib/business/Select/Network/style/index.js +4 -0
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.d.ts +2 -0
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +157 -0
- package/lib/business/Select/PaymentMethod/index.d.ts +2 -0
- package/lib/business/Select/PaymentMethod/index.js +28 -0
- package/lib/business/Select/PaymentMethod/interface.d.ts +70 -0
- package/lib/business/Select/PaymentMethod/interface.js +6 -0
- package/lib/business/Select/PaymentMethod/style/PaymentMethodSelect.css +38 -0
- package/lib/business/Select/PaymentMethod/style/css.js +4 -0
- package/lib/business/Select/PaymentMethod/style/index.d.ts +1 -0
- package/lib/business/Select/PaymentMethod/style/index.js +4 -0
- package/lib/business/Select/index.d.ts +2 -0
- package/lib/business/Select/index.js +23 -1
- package/lib/components/Input/Input/Input.css +4 -6
- package/lib/index.css +1 -1
- package/package.json +11 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
6
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { memo, useMemo } from 'react';
|
|
12
|
+
import { useControlledState, useEventCallback } from '@1money/hooks';
|
|
13
|
+
import { Alert } from '../../../components/Alert';
|
|
14
|
+
import { Flex } from '../../../components/Flex';
|
|
15
|
+
import { Icons } from '../../../components/Icons';
|
|
16
|
+
import { Select } from '../../../components/Select';
|
|
17
|
+
import { TypographyBody } from '../../../components/Typography';
|
|
18
|
+
import { joinCls } from '../../../utils/classnames';
|
|
19
|
+
var WRAP_CLS = 'om-network-select';
|
|
20
|
+
var PANEL_CLS = "".concat(WRAP_CLS, "-panel");
|
|
21
|
+
var CARD_CLS = "".concat(WRAP_CLS, "-card");
|
|
22
|
+
var CARD_ACTIVE_CLS = "".concat(CARD_CLS, "-active");
|
|
23
|
+
var CHECK_BADGE_CLS = "".concat(WRAP_CLS, "-check");
|
|
24
|
+
var ICON_SIZE = 24;
|
|
25
|
+
var CHECK_ICON_SIZE = 16;
|
|
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
|
+
var renderTimeMeta = function renderTimeMeta(item) {
|
|
28
|
+
return _jsx(TypographyBody, {
|
|
29
|
+
size: 'sm',
|
|
30
|
+
color: 'default-secondary',
|
|
31
|
+
children: "\u2248 ".concat(item.processingTime, " mins")
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var NetworkSelectBase = function NetworkSelectBase(_a) {
|
|
35
|
+
var options = _a.options,
|
|
36
|
+
className = _a.className,
|
|
37
|
+
_a$label = _a.label,
|
|
38
|
+
label = _a$label === void 0 ? 'Network' : _a$label,
|
|
39
|
+
_a$name = _a.name,
|
|
40
|
+
name = _a$name === void 0 ? 'network' : _a$name,
|
|
41
|
+
_a$placeholder = _a.placeholder,
|
|
42
|
+
placeholder = _a$placeholder === void 0 ? 'Select network' : _a$placeholder,
|
|
43
|
+
_a$strong = _a.strong,
|
|
44
|
+
strong = _a$strong === void 0 ? true : _a$strong,
|
|
45
|
+
value = _a.value,
|
|
46
|
+
defaultValue = _a.defaultValue,
|
|
47
|
+
onChange = _a.onChange,
|
|
48
|
+
rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong", "value", "defaultValue", "onChange"]);
|
|
49
|
+
var _useControlledState = useControlledState(defaultValue, value),
|
|
50
|
+
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
51
|
+
selected = _useControlledState2[0],
|
|
52
|
+
setSelected = _useControlledState2[1];
|
|
53
|
+
var selectedItem = useMemo(function () {
|
|
54
|
+
return options.find(function (item) {
|
|
55
|
+
return item.network === selected;
|
|
56
|
+
});
|
|
57
|
+
}, [options, selected]);
|
|
58
|
+
var handlePick = useEventCallback(function (item, close) {
|
|
59
|
+
setSelected(item.network);
|
|
60
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(item.network, item);
|
|
61
|
+
close();
|
|
62
|
+
});
|
|
63
|
+
return _jsx(Select.Custom, Object.assign({}, rest, {
|
|
64
|
+
name: name,
|
|
65
|
+
label: label,
|
|
66
|
+
placeholder: placeholder,
|
|
67
|
+
className: joinCls(WRAP_CLS, className),
|
|
68
|
+
panelClassName: PANEL_CLS,
|
|
69
|
+
selectedTemplate: selectedItem ? function (_ref) {
|
|
70
|
+
var fontSize = _ref.fontSize;
|
|
71
|
+
return _jsxs(Flex, {
|
|
72
|
+
align: 'center',
|
|
73
|
+
justify: 'space-between',
|
|
74
|
+
gap: 8,
|
|
75
|
+
style: {
|
|
76
|
+
width: '100%'
|
|
77
|
+
},
|
|
78
|
+
children: [_jsxs(Flex, {
|
|
79
|
+
align: 'center',
|
|
80
|
+
gap: 8,
|
|
81
|
+
children: [_jsx("img", {
|
|
82
|
+
src: selectedItem.iconUrl,
|
|
83
|
+
alt: selectedItem.networkDesc,
|
|
84
|
+
width: ICON_SIZE,
|
|
85
|
+
height: ICON_SIZE
|
|
86
|
+
}), _jsx(TypographyBody, {
|
|
87
|
+
size: fontSize,
|
|
88
|
+
strong: strong,
|
|
89
|
+
children: selectedItem.networkDesc
|
|
90
|
+
})]
|
|
91
|
+
}), renderTimeMeta(selectedItem)]
|
|
92
|
+
});
|
|
93
|
+
} : null,
|
|
94
|
+
children: function children(_ref2) {
|
|
95
|
+
var close = _ref2.close,
|
|
96
|
+
fontSize = _ref2.fontSize;
|
|
97
|
+
return _jsxs(Flex, {
|
|
98
|
+
vertical: true,
|
|
99
|
+
gap: 8,
|
|
100
|
+
children: [_jsx(Alert, {
|
|
101
|
+
status: 'warning',
|
|
102
|
+
body: WARNING_BODY
|
|
103
|
+
}), _jsx(Flex, {
|
|
104
|
+
vertical: true,
|
|
105
|
+
gap: 8,
|
|
106
|
+
role: 'listbox',
|
|
107
|
+
children: options.map(function (item) {
|
|
108
|
+
var active = item.network === selected;
|
|
109
|
+
return _jsxs("button", {
|
|
110
|
+
type: 'button',
|
|
111
|
+
role: 'option',
|
|
112
|
+
"aria-selected": active,
|
|
113
|
+
className: joinCls(CARD_CLS, active && CARD_ACTIVE_CLS),
|
|
114
|
+
onClick: function onClick() {
|
|
115
|
+
return handlePick(item, close);
|
|
116
|
+
},
|
|
117
|
+
children: [_jsxs(Flex, {
|
|
118
|
+
align: 'center',
|
|
119
|
+
gap: 8,
|
|
120
|
+
style: {
|
|
121
|
+
flex: 1
|
|
122
|
+
},
|
|
123
|
+
children: [active ? _jsx("span", {
|
|
124
|
+
className: CHECK_BADGE_CLS,
|
|
125
|
+
"aria-hidden": true,
|
|
126
|
+
children: _jsx(Icons, {
|
|
127
|
+
name: 'check',
|
|
128
|
+
size: CHECK_ICON_SIZE,
|
|
129
|
+
color: '#FEFEFE'
|
|
130
|
+
})
|
|
131
|
+
}) : _jsx("img", {
|
|
132
|
+
src: item.iconUrl,
|
|
133
|
+
alt: item.networkDesc,
|
|
134
|
+
width: ICON_SIZE,
|
|
135
|
+
height: ICON_SIZE
|
|
136
|
+
}), _jsx(TypographyBody, {
|
|
137
|
+
size: fontSize,
|
|
138
|
+
strong: strong,
|
|
139
|
+
children: item.networkDesc
|
|
140
|
+
})]
|
|
141
|
+
}), renderTimeMeta(item)]
|
|
142
|
+
}, item.network);
|
|
143
|
+
})
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
149
|
+
export var NetworkSelect = /*#__PURE__*/memo(NetworkSelectBase);
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9OZXR3b3JrL05ldHdvcmtTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VNZW1vIiwidXNlQ29udHJvbGxlZFN0YXRlIiwidXNlRXZlbnRDYWxsYmFjayIsIkFsZXJ0IiwiRmxleCIsIkljb25zIiwiU2VsZWN0IiwiVHlwb2dyYXBoeUJvZHkiLCJqb2luQ2xzIiwiV1JBUF9DTFMiLCJQQU5FTF9DTFMiLCJjb25jYXQiLCJDQVJEX0NMUyIsIkNBUkRfQUNUSVZFX0NMUyIsIkNIRUNLX0JBREdFX0NMUyIsIklDT05fU0laRSIsIkNIRUNLX0lDT05fU0laRSIsIldBUk5JTkdfQk9EWSIsInJlbmRlclRpbWVNZXRhIiwiaXRlbSIsInNpemUiLCJjb2xvciIsImNoaWxkcmVuIiwicHJvY2Vzc2luZ1RpbWUiLCJOZXR3b3JrU2VsZWN0QmFzZSIsIl9hIiwib3B0aW9ucyIsImNsYXNzTmFtZSIsIl9hJGxhYmVsIiwibGFiZWwiLCJfYSRuYW1lIiwibmFtZSIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRzdHJvbmciLCJzdHJvbmciLCJ2YWx1ZSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwicmVzdCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2VsZWN0ZWQiLCJzZXRTZWxlY3RlZCIsInNlbGVjdGVkSXRlbSIsImZpbmQiLCJuZXR3b3JrIiwiaGFuZGxlUGljayIsImNsb3NlIiwiQ3VzdG9tIiwiYXNzaWduIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3RlZFRlbXBsYXRlIiwiX3JlZiIsImZvbnRTaXplIiwiYWxpZ24iLCJqdXN0aWZ5IiwiZ2FwIiwic3R5bGUiLCJ3aWR0aCIsInNyYyIsImljb25VcmwiLCJhbHQiLCJuZXR3b3JrRGVzYyIsImhlaWdodCIsIl9yZWYyIiwidmVydGljYWwiLCJzdGF0dXMiLCJib2R5Iiwicm9sZSIsIm1hcCIsImFjdGl2ZSIsInR5cGUiLCJvbkNsaWNrIiwiZmxleCIsIk5ldHdvcmtTZWxlY3QiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4s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QUksRUFBRW1DLFFBQVE7a0JBQUVwQixNQUFNLEVBQUVBLE1BQU07a0JBQUFiLFFBQUEsRUFDM0NILElBQUksQ0FBQzZDO2dCQUFXLENBQUEsQ0FDRjtjQUFBLENBQUEsQ0FDWixFQUNOOUMsY0FBYyxDQUFDQyxJQUFJLENBQUM7WUFBQSxDQUFBLEVBeEJoQkEsSUFBSSxDQUFDNEIsT0FBTyxDQXlCVjtVQUViLENBQUM7UUFBQyxDQUFBLENBQ0c7TUFBQSxDQUFBLENBQ0Y7SUFBQTtFQUNSLENBQUEsQ0FBQSxDQUNhO0FBRXBCLENBQUM7QUFFRCxPQUFPLElBQU02QixhQUFhLGdCQUFHN0UsSUFBSSxDQUFDeUIsaUJBQWlCLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvTmV0d29ya1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQWxlcnQnO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9TZWxlY3QnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuY29uc3QgV1JBUF9DTFMgPSAnb20tbmV0d29yay1zZWxlY3QnO1xuY29uc3QgUEFORUxfQ0xTID0gYCR7V1JBUF9DTFN9LXBhbmVsYDtcbmNvbnN0IENBUkRfQ0xTID0gYCR7V1JBUF9DTFN9LWNhcmRgO1xuY29uc3QgQ0FSRF9BQ1RJVkVfQ0xTID0gYCR7Q0FSRF9DTFN9LWFjdGl2ZWA7XG5jb25zdCBDSEVDS19CQURHRV9DTFMgPSBgJHtXUkFQX0NMU30tY2hlY2tgO1xuY29uc3QgSUNPTl9TSVpFID0gMjQ7XG5jb25zdCBDSEVDS19JQ09OX1NJWkUgPSAxNjtcbmNvbnN0IFdBUk5JTkdfQk9EWSA9ICdPbmx5IGRlcG9zaXQgeW91ciBhc3NldCB1c2luZyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBuZXR3b3JrcyBiZWxvdy4gRGVwb3NpdGluZyB2aWEgYW4gdW5zdXBwb3J0ZWQgbmV0d29yayB3aWxsIHJlc3VsdCBpbiB0aGUgcGVybWFuZW50IGxvc3Mgb2YgeW91ciBmdW5kcy4nO1xuY29uc3QgcmVuZGVyVGltZU1ldGEgPSAoaXRlbSkgPT4gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBg4omIICR7aXRlbS5wcm9jZXNzaW5nVGltZX0gbWluc2AgfSkpO1xuY29uc3QgTmV0d29ya1NlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsID0gJ05ldHdvcmsnLCBuYW1lID0gJ25ldHdvcmsnLCBwbGFjZWhvbGRlciA9ICdTZWxlY3QgbmV0d29yaycsIHN0cm9uZyA9IHRydWUsIHZhbHVlLCBkZWZhdWx0VmFsdWUsIG9uQ2hhbmdlIH0gPSBfYSwgcmVzdCA9IF9fcmVzdChfYSwgW1wib3B0aW9uc1wiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwibmFtZVwiLCBcInBsYWNlaG9sZGVyXCIsIFwic3Ryb25nXCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiXSk7XG4gICAgY29uc3QgW3NlbGVjdGVkLCBzZXRTZWxlY3RlZF0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdXNlTWVtbygoKSA9PiBvcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmV0d29yayA9PT0gc2VsZWN0ZWQpLCBbb3B0aW9ucywgc2VsZWN0ZWRdKTtcbiAgICBjb25zdCBoYW5kbGVQaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoaXRlbSwgY2xvc2UpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWQoaXRlbS5uZXR3b3JrKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKGl0ZW0ubmV0d29yaywgaXRlbSk7XG4gICAgICAgIGNsb3NlKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChfanN4KFNlbGVjdC5DdXN0b20sIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbmFtZTogbmFtZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgcGFuZWxDbGFzc05hbWU6IFBBTkVMX0NMUywgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgICA/ICh7IGZvbnRTaXplIH0pID0+IChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IHNlbGVjdGVkSXRlbS5pY29uVXJsLCBhbHQ6IHNlbGVjdGVkSXRlbS5uZXR3b3JrRGVzYywgd2lkdGg6IElDT05fU0laRSwgaGVpZ2h0OiBJQ09OX1NJWkUgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogc2VsZWN0ZWRJdGVtLm5ldHdvcmtEZXNjIH0pXSB9KSwgcmVuZGVyVGltZU1ldGEoc2VsZWN0ZWRJdGVtKV0gfSkpXG4gICAgICAgICAgICA6IG51bGwsIGNoaWxkcmVuOiAoeyBjbG9zZSwgZm9udFNpemUgfSkgPT4gKF9qc3hzKEZsZXgsIHsgdmVydGljYWw6IHRydWUsIGdhcDogOCwgY2hpbGRyZW46IFtfanN4KEFsZXJ0LCB7IHN0YXR1czogJ3dhcm5pbmcnLCBib2R5OiBXQVJOSU5HX0JPRFkgfSksIF9qc3goRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiA4LCByb2xlOiAnbGlzdGJveCcsIGNoaWxkcmVuOiBvcHRpb25zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gaXRlbS5uZXR3b3JrID09PSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeHMoXCJidXR0b25cIiwgeyB0eXBlOiAnYnV0dG9uJywgcm9sZTogJ29wdGlvbicsIFwiYXJpYS1zZWxlY3RlZFwiOiBhY3RpdmUsIGNsYXNzTmFtZTogam9pbkNscyhDQVJEX0NMUywgYWN0aXZlICYmIENBUkRfQUNUSVZFX0NMUyksIG9uQ2xpY2s6ICgpID0+IGhhbmRsZVBpY2soaXRlbSwgY2xvc2UpLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIHN0eWxlOiB7IGZsZXg6IDEgfSwgY2hpbGRyZW46IFthY3RpdmUgPyAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IENIRUNLX0JBREdFX0NMUywgXCJhcmlhLWhpZGRlblwiOiB0cnVlLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiAnY2hlY2snLCBzaXplOiBDSEVDS19JQ09OX1NJWkUsIGNvbG9yOiAnI0ZFRkVGRScgfSkgfSkpIDogKF9qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvblVybCwgYWx0OiBpdGVtLm5ldHdvcmtEZXNjLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSB9KSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogZm9udFNpemUsIHN0cm9uZzogc3Ryb25nLCBjaGlsZHJlbjogaXRlbS5uZXR3b3JrRGVzYyB9KV0gfSksIHJlbmRlclRpbWVNZXRhKGl0ZW0pXSB9LCBpdGVtLm5ldHdvcmspKTtcbiAgICAgICAgICAgICAgICAgICAgfSkgfSldIH0pKSB9KSkpO1xufTtcbmV4cG9ydCBjb25zdCBOZXR3b3JrU2VsZWN0ID0gbWVtbyhOZXR3b3JrU2VsZWN0QmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { NetworkSelect } from './NetworkSelect';
|
|
2
|
+
export * from './interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW5kZXgudHMiXSwibmFtZXMiOlsiTmV0d29ya1NlbGVjdCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBYSxRQUFRLGlCQUFpQjtBQUMvQyxjQUFjLGFBQWEiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { SelectCustomProps } from "../../../components/Select";
|
|
2
|
+
/**
|
|
3
|
+
* Single crypto network entry as returned by 1money's `/private/currencies`
|
|
4
|
+
* endpoint (`data.crypto[i].networks[j]`). Pass the array through as-is —
|
|
5
|
+
* the component renders icon, name, processing time, and minimum deposit
|
|
6
|
+
* internally.
|
|
7
|
+
*/
|
|
8
|
+
export interface NetworkItem {
|
|
9
|
+
/** Stable identifier — bound to the select value, e.g. `"ETHEREUM"` / `"POLYGON"`. */
|
|
10
|
+
network: string;
|
|
11
|
+
/** Display name, e.g. `"Ethereum"` / `"BNB Smart Chain"`. */
|
|
12
|
+
networkDesc: string;
|
|
13
|
+
/** Public URL of the network icon. */
|
|
14
|
+
iconUrl: string;
|
|
15
|
+
/** Smart-contract address of the asset on this network. May be `""` for native chains. */
|
|
16
|
+
contractAddress: string;
|
|
17
|
+
/** Block-explorer URL for `contractAddress`. */
|
|
18
|
+
contractAddressUrl: string;
|
|
19
|
+
/** Minimum deposit amount in the parent asset, e.g. `"0.1"`. */
|
|
20
|
+
depositMin: string;
|
|
21
|
+
/** Number of confirmations required before the deposit is credited, e.g. `12`. */
|
|
22
|
+
minConfirm: number;
|
|
23
|
+
/** Estimated processing time in minutes, e.g. `4`. */
|
|
24
|
+
processingTime: number;
|
|
25
|
+
}
|
|
26
|
+
export interface NetworkSelectProps extends Omit<SelectCustomProps, 'selectedTemplate' | 'children' | 'arrow' | 'panelClassName' | 'panelFooter' | 'onChange'> {
|
|
27
|
+
/**
|
|
28
|
+
* Crypto networks returned by 1money's `/private/currencies` endpoint
|
|
29
|
+
* (`data.crypto[i].networks`). Pass through as-is — the component
|
|
30
|
+
* derives the trigger and dropdown card list internally.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const networks: NetworkItem[] = [
|
|
35
|
+
* {
|
|
36
|
+
* network: 'ETHEREUM',
|
|
37
|
+
* networkDesc: 'Ethereum',
|
|
38
|
+
* iconUrl: 'https://static.1money.com/images/ethereum-eth-logo.png',
|
|
39
|
+
* contractAddress: '0x9348fd2b3789261ba8327a33fd758e993a1ba786',
|
|
40
|
+
* contractAddressUrl:
|
|
41
|
+
* 'https://etherscan.io/address/0x9348fd2b3789261ba8327a33fd758e993a1ba786',
|
|
42
|
+
* depositMin: '0.1',
|
|
43
|
+
* minConfirm: 12,
|
|
44
|
+
* processingTime: 4,
|
|
45
|
+
* },
|
|
46
|
+
* ];
|
|
47
|
+
*
|
|
48
|
+
* <NetworkSelect options={networks} defaultValue='ETHEREUM' />
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
options: NetworkItem[];
|
|
52
|
+
/** Selected `network` value. */
|
|
53
|
+
value?: string;
|
|
54
|
+
/** Initial `network` value when uncontrolled. */
|
|
55
|
+
defaultValue?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Bold the network name in the trigger and the dropdown cards.
|
|
58
|
+
* @default true
|
|
59
|
+
*/
|
|
60
|
+
strong?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Fires when the user picks a network. The second argument is the full
|
|
63
|
+
* `NetworkItem` for convenience.
|
|
64
|
+
*/
|
|
65
|
+
onChange?: (network: string, item: NetworkItem) => void;
|
|
66
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L05ldHdvcmsvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
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-network-select-check {
|
|
24
|
+
display: inline-flex;
|
|
25
|
+
flex: 0 0 auto;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
width: 24px;
|
|
29
|
+
height: 24px;
|
|
30
|
+
background-color: var(--om-bg-brand, #073387);
|
|
31
|
+
border-radius: var(--om-radius-full, 9999px);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.om-network-select-panel {
|
|
35
|
+
padding: var(--om-spacing-200, 8px);
|
|
36
|
+
}
|
|
37
|
+
.om-network-select-panel .om-network-select-card {
|
|
38
|
+
display: inline-flex;
|
|
39
|
+
gap: var(--om-spacing-200, 8px);
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: space-between;
|
|
42
|
+
width: 100%;
|
|
43
|
+
padding: var(--om-spacing-400, 16px);
|
|
44
|
+
color: var(--om-text-default, #131313);
|
|
45
|
+
text-align: left;
|
|
46
|
+
background-color: var(--om-bg-default-secondary, #f8f8f8);
|
|
47
|
+
border: 1px solid transparent;
|
|
48
|
+
border-radius: var(--om-radius-300, 12px);
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
transition: border-color 0.15s ease;
|
|
51
|
+
}
|
|
52
|
+
.om-network-select-panel .om-network-select-card:hover,
|
|
53
|
+
.om-network-select-panel .om-network-select-card-active {
|
|
54
|
+
border-color: var(--om-border-brand, #073387);
|
|
55
|
+
}
|
|
56
|
+
.om-network-select-panel .om-network-select-card:focus-visible {
|
|
57
|
+
outline: 2px solid var(--om-border-brand, #073387);
|
|
58
|
+
outline-offset: 2px;
|
|
59
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import './NetworkSelect.css';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL3NyYy9idXNpbmVzcy9TZWxlY3QvTmV0d29yay9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './NetworkSelect.css';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import './NetworkSelect.css';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9OZXR3b3JrL3NyYy9idXNpbmVzcy9TZWxlY3QvTmV0d29yay9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvTmV0d29yay9zdHlsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
6
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { memo, useMemo } from 'react';
|
|
12
|
+
import { numericFormatter } from 'react-number-format';
|
|
13
|
+
import { Flex } from '../../../components/Flex';
|
|
14
|
+
import { Select } from '../../../components/Select';
|
|
15
|
+
import { Tag } from '../../../components/Tag';
|
|
16
|
+
import { TypographyBody } from '../../../components/Typography';
|
|
17
|
+
import { joinCls } from '../../../utils/classnames';
|
|
18
|
+
var WRAP_CLS = 'om-payment-method-select';
|
|
19
|
+
var ICON_SIZE = 20;
|
|
20
|
+
var DESC_SEPARATOR = ' - ';
|
|
21
|
+
var toOption = function toOption(method) {
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
var _method$paymentMethod = method.paymentMethodTypeDesc.split(DESC_SEPARATOR),
|
|
24
|
+
_method$paymentMethod2 = _slicedToArray(_method$paymentMethod, 2),
|
|
25
|
+
name = _method$paymentMethod2[0],
|
|
26
|
+
sla = _method$paymentMethod2[1];
|
|
27
|
+
var description = ((_a = method.fee) === null || _a === void 0 ? void 0 : _a.transactionTime) ? "".concat(method.fee.transactionTime, " ").concat((_b = method.fee.transactionUnit) !== null && _b !== void 0 ? _b : '').trim() : sla;
|
|
28
|
+
return {
|
|
29
|
+
label: name,
|
|
30
|
+
value: method.paymentMethodType,
|
|
31
|
+
icon: method.paymentMethodIconUrl,
|
|
32
|
+
description: description,
|
|
33
|
+
fee: (_c = method.fee) === null || _c === void 0 ? void 0 : _c.transactionFee,
|
|
34
|
+
depositAmtMin: method.depositAmtMin,
|
|
35
|
+
tags: method.tags
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
var formatAmount = function formatAmount(value) {
|
|
39
|
+
return numericFormatter(value !== null && value !== void 0 ? value : '', {
|
|
40
|
+
thousandSeparator: ',',
|
|
41
|
+
prefix: '$'
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var renderFeeLine = function renderFeeLine(item) {
|
|
45
|
+
return "Deposit fee: ".concat(formatAmount(item.fee), " | Minimum deposit amount: ").concat(formatAmount(item.depositAmtMin));
|
|
46
|
+
};
|
|
47
|
+
var renderMetaColumn = function renderMetaColumn(item) {
|
|
48
|
+
return _jsxs(Flex, {
|
|
49
|
+
vertical: true,
|
|
50
|
+
align: 'end',
|
|
51
|
+
gap: 0,
|
|
52
|
+
children: [item.description && _jsx(TypographyBody, {
|
|
53
|
+
size: 'sm',
|
|
54
|
+
strong: true,
|
|
55
|
+
color: 'default-secondary',
|
|
56
|
+
children: item.description
|
|
57
|
+
}), _jsx(TypographyBody, {
|
|
58
|
+
size: 'sm',
|
|
59
|
+
color: 'default-secondary',
|
|
60
|
+
children: renderFeeLine(item)
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
var PaymentMethodSelectBase = function PaymentMethodSelectBase(_a) {
|
|
65
|
+
var options = _a.options,
|
|
66
|
+
className = _a.className,
|
|
67
|
+
_a$label = _a.label,
|
|
68
|
+
label = _a$label === void 0 ? 'Payment method' : _a$label,
|
|
69
|
+
_a$name = _a.name,
|
|
70
|
+
name = _a$name === void 0 ? 'paymentMethod' : _a$name,
|
|
71
|
+
_a$placeholder = _a.placeholder,
|
|
72
|
+
placeholder = _a$placeholder === void 0 ? 'Select payment method' : _a$placeholder,
|
|
73
|
+
_a$strong = _a.strong,
|
|
74
|
+
strong = _a$strong === void 0 ? true : _a$strong,
|
|
75
|
+
rest = __rest(_a, ["options", "className", "label", "name", "placeholder", "strong"]);
|
|
76
|
+
var mapped = useMemo(function () {
|
|
77
|
+
return options.map(toOption);
|
|
78
|
+
}, [options]);
|
|
79
|
+
return _jsx(Select, Object.assign({}, rest, {
|
|
80
|
+
label: label,
|
|
81
|
+
name: name,
|
|
82
|
+
placeholder: placeholder,
|
|
83
|
+
className: joinCls(WRAP_CLS, className),
|
|
84
|
+
options: mapped,
|
|
85
|
+
renderValue: function renderValue(option, _ref) {
|
|
86
|
+
var fontSize = _ref.fontSize;
|
|
87
|
+
var _a;
|
|
88
|
+
if (!option || Array.isArray(option)) {
|
|
89
|
+
return placeholder;
|
|
90
|
+
}
|
|
91
|
+
var item = option;
|
|
92
|
+
return _jsxs(Flex, {
|
|
93
|
+
align: 'center',
|
|
94
|
+
justify: 'space-between',
|
|
95
|
+
gap: 8,
|
|
96
|
+
style: {
|
|
97
|
+
width: '100%'
|
|
98
|
+
},
|
|
99
|
+
children: [_jsxs(Flex, {
|
|
100
|
+
align: 'center',
|
|
101
|
+
gap: 8,
|
|
102
|
+
children: [item.icon && _jsx("img", {
|
|
103
|
+
src: item.icon,
|
|
104
|
+
alt: String((_a = item.value) !== null && _a !== void 0 ? _a : ''),
|
|
105
|
+
width: ICON_SIZE,
|
|
106
|
+
height: ICON_SIZE
|
|
107
|
+
}), _jsx(TypographyBody, {
|
|
108
|
+
size: fontSize,
|
|
109
|
+
strong: strong,
|
|
110
|
+
children: item.label
|
|
111
|
+
})]
|
|
112
|
+
}), renderMetaColumn(item)]
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
renderOptionContent: function renderOptionContent(option, _ref2) {
|
|
116
|
+
var fontSize = _ref2.fontSize;
|
|
117
|
+
var _a, _b;
|
|
118
|
+
var item = option;
|
|
119
|
+
return _jsxs(Flex, {
|
|
120
|
+
align: 'center',
|
|
121
|
+
justify: 'space-between',
|
|
122
|
+
gap: 8,
|
|
123
|
+
style: {
|
|
124
|
+
width: '100%'
|
|
125
|
+
},
|
|
126
|
+
children: [_jsxs(Flex, {
|
|
127
|
+
align: 'center',
|
|
128
|
+
gap: 8,
|
|
129
|
+
children: [item.icon && _jsx("img", {
|
|
130
|
+
src: item.icon,
|
|
131
|
+
alt: String((_a = item.value) !== null && _a !== void 0 ? _a : ''),
|
|
132
|
+
width: ICON_SIZE,
|
|
133
|
+
height: ICON_SIZE
|
|
134
|
+
}), _jsx(TypographyBody, {
|
|
135
|
+
size: fontSize,
|
|
136
|
+
strong: strong,
|
|
137
|
+
children: item.label
|
|
138
|
+
}), (_b = item.tags) === null || _b === void 0 ? void 0 : _b.map(function (tag, index) {
|
|
139
|
+
return _jsx(Tag, {
|
|
140
|
+
color: 'success',
|
|
141
|
+
label: tag
|
|
142
|
+
}, "".concat(tag, "-").concat(index));
|
|
143
|
+
})]
|
|
144
|
+
}), renderMetaColumn(item)]
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}));
|
|
148
|
+
};
|
|
149
|
+
export var PaymentMethodSelect = /*#__PURE__*/memo(PaymentMethodSelectBase);
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QuanMiLCJidXNpbmVzcy9TZWxlY3Qvc3JjL2J1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL1BheW1lbnRNZXRob2RTZWxlY3QudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VNZW1vIiwibnVtZXJpY0Zvcm1hdHRlciIsIkZsZXgiLCJTZWxlY3QiLCJUYWciLCJUeXBvZ3JhcGh5Qm9keSIsImpvaW5DbHMiLCJXUkFQX0NMUyIsIklDT05fU0laRSIsIkRFU0NfU0VQQVJBVE9SIiwidG9PcHRpb24iLCJtZXRob2QiLCJfYSIsIl9iIiwiX2MiLCJfbWV0aG9kJHBheW1lbnRNZXRob2QiLCJwYXltZW50TWV0aG9kVHlwZURlc2MiLCJzcGxpdCIsIl9tZXRob2QkcGF5bWVudE1ldGhvZDIiLCJfc2xpY2VkVG9BcnJheSIsIm5hbWUiLCJzbGEiLCJkZXNjcmlwdGlvbiIsImZlZSIsInRyYW5zYWN0aW9uVGltZSIsImNvbmNhdCIsInRyYW5zYWN0aW9uVW5pdCIsInRyaW0iLCJsYWJlbCIsInZhbHVlIiwicGF5bWVudE1ldGhvZFR5cGUiLCJpY29uIiwicGF5bWVudE1ldGhvZEljb25VcmwiLCJ0cmFuc2FjdGlvbkZlZSIsImRlcG9zaXRBbXRNaW4iLCJ0YWdzIiwiZm9ybWF0QW1vdW50IiwidGhvdXNhbmRTZXBhcmF0b3IiLCJwcmVmaXgiLCJyZW5kZXJGZWVMaW5lIiwiaXRlbSIsInJlbmRlck1ldGFDb2x1bW4iLCJ2ZXJ0aWNhbCIsImFsaWduIiwiZ2FwIiwiY2hpbGRyZW4iLCJzaXplIiwic3Ryb25nIiwiY29sb3IiLCJQYXltZW50TWV0aG9kU2VsZWN0QmFzZSIsIm9wdGlvbnMiLCJjbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwicmVzdCIsIm1hcHBlZCIsIm1hcCIsImFzc2lnbiIsInJlbmRlclZhbHVlIiwib3B0aW9uIiwiX3JlZiIsImZvbnRTaXplIiwiQXJyYXkiLCJpc0FycmF5IiwianVzdGlmeSIsInN0eWxlIiwid2lkdGgiLCJzcmMiLCJhbHQiLCJTdHJpbmciLCJoZWlnaHQiLCJyZW5kZXJPcHRpb25Db250ZW50IiwiX3JlZjIiLCJ0YWciLCJpbmRleCIsIlBheW1lbnRNZXRob2RTZWxlY3QiXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJ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QUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU1zQyxtQkFBbUIsZ0JBQUcvRSxJQUFJLENBQUNrRCx1QkFBdUIsQ0FBQyIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvUGF5bWVudE1ldGhvZC9QYXltZW50TWV0aG9kU2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBudW1lcmljRm9ybWF0dGVyIH0gZnJvbSAncmVhY3QtbnVtYmVyLWZvcm1hdCc7XG5pbXBvcnQgeyBGbGV4IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9GbGV4JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVGFnJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLXBheW1lbnQtbWV0aG9kLXNlbGVjdCc7XG5jb25zdCBJQ09OX1NJWkUgPSAyMDtcbmNvbnN0IERFU0NfU0VQQVJBVE9SID0gJyAtICc7XG5jb25zdCB0b09wdGlvbiA9IChtZXRob2QpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBjb25zdCBbbmFtZSwgc2xhXSA9IG1ldGhvZC5wYXltZW50TWV0aG9kVHlwZURlc2Muc3BsaXQoREVTQ19TRVBBUkFUT1IpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gKChfYSA9IG1ldGhvZC5mZWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50cmFuc2FjdGlvblRpbWUpXG4gICAgICAgID8gYCR7bWV0aG9kLmZlZS50cmFuc2FjdGlvblRpbWV9ICR7KF9iID0gbWV0aG9kLmZlZS50cmFuc2FjdGlvblVuaXQpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6ICcnfWAudHJpbSgpXG4gICAgICAgIDogc2xhO1xuICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiBuYW1lLFxuICAgICAgICB2YWx1ZTogbWV0aG9kLnBheW1lbnRNZXRob2RUeXBlLFxuICAgICAgICBpY29uOiBtZXRob2QucGF5bWVudE1ldGhvZEljb25VcmwsXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICBmZWU6IChfYyA9IG1ldGhvZC5mZWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy50cmFuc2FjdGlvbkZlZSxcbiAgICAgICAgZGVwb3NpdEFtdE1pbjogbWV0aG9kLmRlcG9zaXRBbXRNaW4sXG4gICAgICAgIHRhZ3M6IG1ldGhvZC50YWdzLFxuICAgIH07XG59O1xuY29uc3QgZm9ybWF0QW1vdW50ID0gKHZhbHVlKSA9PiBudW1lcmljRm9ybWF0dGVyKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDAgPyB2YWx1ZSA6ICcnLCB7IHRob3VzYW5kU2VwYXJhdG9yOiAnLCcsIHByZWZpeDogJyQnIH0pO1xuY29uc3QgcmVuZGVyRmVlTGluZSA9IChpdGVtKSA9PiBgRGVwb3NpdCBmZWU6ICR7Zm9ybWF0QW1vdW50KGl0ZW0uZmVlKX0gfCBNaW5pbXVtIGRlcG9zaXQgYW1vdW50OiAke2Zvcm1hdEFtb3VudChpdGVtLmRlcG9zaXRBbXRNaW4pfWA7XG5jb25zdCByZW5kZXJNZXRhQ29sdW1uID0gKGl0ZW0pID0+IChfanN4cyhGbGV4LCB7IHZlcnRpY2FsOiB0cnVlLCBhbGlnbjogJ2VuZCcsIGdhcDogMCwgY2hpbGRyZW46IFtpdGVtLmRlc2NyaXB0aW9uICYmIChfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLmRlc2NyaXB0aW9uIH0pKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnc20nLCBjb2xvcjogJ2RlZmF1bHQtc2Vjb25kYXJ5JywgY2hpbGRyZW46IHJlbmRlckZlZUxpbmUoaXRlbSkgfSldIH0pKTtcbmNvbnN0IFBheW1lbnRNZXRob2RTZWxlY3RCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgb3B0aW9ucywgY2xhc3NOYW1lLCBsYWJlbCA9ICdQYXltZW50IG1ldGhvZCcsIG5hbWUgPSAncGF5bWVudE1ldGhvZCcsIHBsYWNlaG9sZGVyID0gJ1NlbGVjdCBwYXltZW50IG1ldGhvZCcsIHN0cm9uZyA9IHRydWUgfSA9IF9hLCByZXN0ID0gX19yZXN0KF9hLCBbXCJvcHRpb25zXCIsIFwiY2xhc3NOYW1lXCIsIFwibGFiZWxcIiwgXCJuYW1lXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJzdHJvbmdcIl0pO1xuICAgIGNvbnN0IG1hcHBlZCA9IHVzZU1lbW8oKCkgPT4gb3B0aW9ucy5tYXAodG9PcHRpb24pLCBbb3B0aW9uc10pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbGFiZWw6IGxhYmVsLCBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgb3B0aW9uczogbWFwcGVkLCByZW5kZXJWYWx1ZTogKG9wdGlvbiwgeyBmb250U2l6ZSB9KSA9PiB7XG4gICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbiB8fCBBcnJheS5pc0FycmF5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW2l0ZW0uaWNvbiAmJiAoX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFIH0pKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pXSB9KSwgcmVuZGVyTWV0YUNvbHVtbihpdGVtKV0gfSkpO1xuICAgICAgICB9LCByZW5kZXJPcHRpb25Db250ZW50OiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gb3B0aW9uO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywganVzdGlmeTogJ3NwYWNlLWJldHdlZW4nLCBnYXA6IDgsIHN0eWxlOiB7IHdpZHRoOiAnMTAwJScgfSwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjaGlsZHJlbjogW2l0ZW0uaWNvbiAmJiAoX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFIH0pKSwgX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiBmb250U2l6ZSwgc3Ryb25nOiBzdHJvbmcsIGNoaWxkcmVuOiBpdGVtLmxhYmVsIH0pLCAoX2IgPSBpdGVtLnRhZ3MpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5tYXAoKHRhZywgaW5kZXgpID0+IChfanN4KFRhZywgeyBjb2xvcjogJ3N1Y2Nlc3MnLCBsYWJlbDogdGFnIH0sIGAke3RhZ30tJHtpbmRleH1gKSkpXSB9KSwgcmVuZGVyTWV0YUNvbHVtbihpdGVtKV0gfSkpO1xuICAgICAgICB9IH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IFBheW1lbnRNZXRob2RTZWxlY3QgPSBtZW1vKFBheW1lbnRNZXRob2RTZWxlY3RCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { PaymentMethodSelect } from './PaymentMethodSelect';
|
|
2
|
+
export * from './interface';
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L1BheW1lbnRNZXRob2QvaW5kZXgudHMiXSwibmFtZXMiOlsiUGF5bWVudE1ldGhvZFNlbGVjdCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsbUJBQW1CLFFBQVEsdUJBQXVCO0FBQzNELGNBQWMsYUFBYSIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvUGF5bWVudE1ldGhvZC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { SelectProps } from "../../../components/Select";
|
|
2
|
+
/**
|
|
3
|
+
* Per-payment-method fee block as returned by 1money's `/private/currencies`
|
|
4
|
+
* fiat list. All numeric fields are strings to preserve precision across the wire.
|
|
5
|
+
*/
|
|
6
|
+
export interface PaymentMethodFee {
|
|
7
|
+
/** Numeric transaction fee, e.g. `"10.00"`. */
|
|
8
|
+
transactionFee: string;
|
|
9
|
+
/** Asset the fee is denominated in, e.g. `"USD"`. */
|
|
10
|
+
transactionFeeAsset?: string;
|
|
11
|
+
/** Settlement time value, e.g. `"1-3"`. */
|
|
12
|
+
transactionTime?: string;
|
|
13
|
+
/** Unit paired with `transactionTime`, e.g. `"business days"`. */
|
|
14
|
+
transactionUnit?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Single fiat payment method entry as returned by 1money's
|
|
18
|
+
* `/private/currencies` endpoint (`data.fiat[i].paymentMethods[j]`).
|
|
19
|
+
*/
|
|
20
|
+
export interface PaymentMethodItem {
|
|
21
|
+
/** Stable identifier — bound to the Select `value`, e.g. `"ACH"` / `"WIRE"`. */
|
|
22
|
+
paymentMethodType: string;
|
|
23
|
+
/** Display description, typically `"<Name> - <SLA>"`, e.g. `"ACH Transfer - 1-3 business days"`. */
|
|
24
|
+
paymentMethodTypeDesc: string;
|
|
25
|
+
/** Public URL of the payment method icon. */
|
|
26
|
+
paymentMethodIconUrl?: string;
|
|
27
|
+
/** Optional badges rendered next to the option label in the dropdown. */
|
|
28
|
+
tags?: string[];
|
|
29
|
+
/** Minimum deposit amount, as a numeric string. */
|
|
30
|
+
depositAmtMin?: string;
|
|
31
|
+
/** Minimum withdrawal amount, as a numeric string. */
|
|
32
|
+
withdrawAmtMin?: string;
|
|
33
|
+
/** Fee + settlement info; absent for methods without a configured fee. */
|
|
34
|
+
fee?: PaymentMethodFee;
|
|
35
|
+
}
|
|
36
|
+
export interface PaymentMethodSelectProps extends Omit<SelectProps, 'options' | 'renderValue' | 'renderOption' | 'renderOptionContent'> {
|
|
37
|
+
/**
|
|
38
|
+
* Fiat payment methods returned by 1money's `/private/currencies` endpoint
|
|
39
|
+
* (`data.fiat[i].paymentMethods`). Pass through as-is — the component
|
|
40
|
+
* derives label / description / fee row internally.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```ts
|
|
44
|
+
* const paymentMethods: PaymentMethodItem[] = [
|
|
45
|
+
* {
|
|
46
|
+
* paymentMethodIconUrl: 'https://static.1money.com/images/payment-methods/Icon-ACH.svg',
|
|
47
|
+
* paymentMethodType: 'ACH',
|
|
48
|
+
* paymentMethodTypeDesc: 'ACH Transfer - 1-3 business days',
|
|
49
|
+
* tags: [],
|
|
50
|
+
* depositAmtMin: '1.00',
|
|
51
|
+
* withdrawAmtMin: '1.00',
|
|
52
|
+
* fee: {
|
|
53
|
+
* transactionFee: '0.55',
|
|
54
|
+
* transactionFeeAsset: 'USD',
|
|
55
|
+
* transactionTime: '1-3',
|
|
56
|
+
* transactionUnit: 'business days',
|
|
57
|
+
* },
|
|
58
|
+
* },
|
|
59
|
+
* ];
|
|
60
|
+
*
|
|
61
|
+
* <PaymentMethodSelect options={paymentMethods} />
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
options: PaymentMethodItem[];
|
|
65
|
+
/**
|
|
66
|
+
* Bold the payment method name in the trigger and the dropdown options.
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
strong?: boolean;
|
|
70
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L1BheW1lbnRNZXRob2QvaW50ZXJmYWNlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIiwic291cmNlcyI6WyJidXNpbmVzcy9TZWxlY3QvUGF5bWVudE1ldGhvZC9pbnRlcmZhY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
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-payment-method-select .om-component-ui-select-trigger-large {
|
|
24
|
+
height: 56px;
|
|
25
|
+
}
|
|
26
|
+
.om-payment-method-select .om-component-ui-select-trigger-small {
|
|
27
|
+
height: 44px;
|
|
28
|
+
}
|
|
29
|
+
.om-payment-method-select .om-component-ui-select-value {
|
|
30
|
+
overflow: visible;
|
|
31
|
+
white-space: normal;
|
|
32
|
+
}
|
|
33
|
+
.om-payment-method-select .om-component-ui-select-value-large {
|
|
34
|
+
height: 22px;
|
|
35
|
+
}
|
|
36
|
+
.om-payment-method-select .om-component-ui-select-value-small {
|
|
37
|
+
height: 18px;
|
|
38
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import './PaymentMethodSelect.css';
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9QYXltZW50TWV0aG9kL3NyYy9idXNpbmVzcy9TZWxlY3QvUGF5bWVudE1ldGhvZC9zdHlsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLDRCQUE0QiIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvUGF5bWVudE1ldGhvZC9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './PaymentMethodSelect.css';
|