@1money/component-ui 0.0.64-alpha.8 → 0.0.64-alpha.9

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.
@@ -0,0 +1,2 @@
1
+ import type { CurrencySelectProps } from './interface';
2
+ export declare const CurrencySelect: import("react").NamedExoticComponent<CurrencySelectProps>;
@@ -0,0 +1,127 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
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 { Empty } from '../../../components/Empty';
13
+ import { Flex } from '../../../components/Flex';
14
+ import { Select } from '../../../components/Select';
15
+ import { TypographyBody } from '../../../components/Typography';
16
+ import { joinCls } from '../../../utils/classnames';
17
+ var WRAP_CLS = 'om-currency-select';
18
+ var ICON_CLS = "".concat(WRAP_CLS, "-icon");
19
+ var ICON_SIZE = 24;
20
+ var toOption = function toOption(currency) {
21
+ return {
22
+ label: currency.name,
23
+ value: currency.name,
24
+ icon: currency.iconUrl,
25
+ name: currency.desc,
26
+ // Match search against both the code and the human-readable name.
27
+ searchText: "".concat(currency.name, " ").concat(currency.desc)
28
+ };
29
+ };
30
+ // Sort by the backend `sortOrder` (ascending). Copies the array so the
31
+ // caller's `options` is never mutated; a missing `sortOrder` falls back to 0.
32
+ var bySortOrder = function bySortOrder(a, b) {
33
+ var _a, _b;
34
+ return ((_a = a.sortOrder) !== null && _a !== void 0 ? _a : 0) - ((_b = b.sortOrder) !== null && _b !== void 0 ? _b : 0);
35
+ };
36
+ var CurrencySelectBase = function CurrencySelectBase(_a) {
37
+ var options = _a.options,
38
+ className = _a.className,
39
+ labelClassName = _a.labelClassName,
40
+ _a$label = _a.label,
41
+ label = _a$label === void 0 ? 'Currency' : _a$label,
42
+ _a$name = _a.name,
43
+ name = _a$name === void 0 ? 'currency' : _a$name,
44
+ _a$placeholder = _a.placeholder,
45
+ placeholder = _a$placeholder === void 0 ? 'Please select currency' : _a$placeholder,
46
+ _a$strong = _a.strong,
47
+ strong = _a$strong === void 0 ? true : _a$strong,
48
+ emptyContent = _a.emptyContent,
49
+ panelClassName = _a.panelClassName,
50
+ rest = __rest(_a, ["options", "className", "labelClassName", "label", "name", "placeholder", "strong", "emptyContent", "panelClassName"]);
51
+ var mappedOptions = useMemo(function () {
52
+ return _toConsumableArray(options).sort(bySortOrder).map(toOption);
53
+ }, [options]);
54
+ return _jsx(Select, Object.assign({}, rest, {
55
+ label: label,
56
+ name: name,
57
+ placeholder: placeholder,
58
+ emptyContent: emptyContent !== null && emptyContent !== void 0 ? emptyContent : _jsx(Empty, {
59
+ icon: 'coin',
60
+ description: 'No results'
61
+ }),
62
+ className: joinCls(WRAP_CLS, className),
63
+ labelClassName: joinCls("".concat(WRAP_CLS, "-label"), labelClassName),
64
+ panelClassName: joinCls("".concat(WRAP_CLS, "-panel"), panelClassName),
65
+ options: mappedOptions,
66
+ renderValue: function renderValue(option, _ref) {
67
+ var fontSize = _ref.fontSize;
68
+ var _a;
69
+ if (!option || Array.isArray(option)) {
70
+ return placeholder;
71
+ }
72
+ var item = option;
73
+ return _jsxs(Flex, {
74
+ align: 'center',
75
+ gap: 8,
76
+ children: [_jsx("img", {
77
+ src: item.icon,
78
+ alt: String((_a = item.value) !== null && _a !== void 0 ? _a : ''),
79
+ width: ICON_SIZE,
80
+ height: ICON_SIZE,
81
+ className: ICON_CLS
82
+ }), _jsx(TypographyBody, {
83
+ size: fontSize,
84
+ strong: strong,
85
+ children: item.label
86
+ })]
87
+ });
88
+ },
89
+ renderOptionContent: function renderOptionContent(option) {
90
+ var _a;
91
+ var item = option;
92
+ return _jsxs(Flex, {
93
+ align: 'center',
94
+ gap: 8,
95
+ style: {
96
+ width: '100%'
97
+ },
98
+ children: [_jsx("img", {
99
+ src: item.icon,
100
+ alt: String((_a = item.value) !== null && _a !== void 0 ? _a : ''),
101
+ width: ICON_SIZE,
102
+ height: ICON_SIZE,
103
+ className: ICON_CLS
104
+ }), _jsxs(Flex, {
105
+ vertical: true,
106
+ gap: 0,
107
+ align: 'start',
108
+ style: {
109
+ minWidth: 0
110
+ },
111
+ children: [_jsx(TypographyBody, {
112
+ size: 'md',
113
+ strong: true,
114
+ color: 'default',
115
+ children: item.label
116
+ }), _jsx(TypographyBody, {
117
+ size: 'sm',
118
+ color: 'default-secondary',
119
+ children: item.name
120
+ })]
121
+ })]
122
+ });
123
+ }
124
+ }));
125
+ };
126
+ export var CurrencySelect = /*#__PURE__*/memo(CurrencySelectBase);
127
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9DdXJyZW5jeS9DdXJyZW5jeVNlbGVjdC5qcyIsImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L0N1cnJlbmN5U2VsZWN0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlTWVtbyIsIkVtcHR5IiwiRmxleCIsIlNlbGVjdCIsIlR5cG9ncmFwaHlCb2R5Iiwiam9pbkNscyIsIldSQVBfQ0xTIiwiSUNPTl9DTFMiLCJjb25jYXQiLCJJQ09OX1NJWkUiLCJ0b09wdGlvbiIsImN1cnJlbmN5IiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJpY29uIiwiaWNvblVybCIsImRlc2MiLCJzZWFyY2hUZXh0IiwiYnlTb3J0T3JkZXIiLCJhIiwiYiIsIl9hIiwiX2IiLCJzb3J0T3JkZXIiLCJDdXJyZW5jeVNlbGVjdEJhc2UiLCJvcHRpb25zIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfYSRsYWJlbCIsIl9hJG5hbWUiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2Ekc3Ryb25nIiwic3Ryb25nIiwiZW1wdHlDb250ZW50IiwicGFuZWxDbGFzc05hbWUiLCJyZXN0IiwibWFwcGVkT3B0aW9ucyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJtYXAiLCJhc3NpZ24iLCJkZXNjcmlwdGlvbiIsInJlbmRlclZhbHVlIiwib3B0aW9uIiwiX3JlZiIsImZvbnRTaXplIiwiQXJyYXkiLCJpc0FycmF5IiwiaXRlbSIsImFsaWduIiwiZ2FwIiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJTdHJpbmciLCJ3aWR0aCIsImhlaWdodCIsInNpemUiLCJyZW5kZXJPcHRpb25Db250ZW50Iiwic3R5bGUiLCJ2ZXJ0aWNhbCIsIm1pbldpZHRoIiwiY29sb3IiLCJDdXJyZW5jeVNlbGVjdCJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VB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RCxRQUFRLEVBQUEsSUFBQTtVQUFDVixHQUFHLEVBQUUsQ0FBQztVQUFFRCxLQUFLLEVBQUMsT0FBTztVQUFDVSxLQUFLLEVBQUU7WUFBRUUsUUFBUSxFQUFFO1VBQUMsQ0FBRTtVQUFBVixRQUFBLEVBQUEsQ0FDekR6RCxJQUFBLENBQUNRLGNBQWMsRUFBQTtZQUFDdUQsSUFBSSxFQUFDLElBQUk7WUFBQ3pCLE1BQU0sRUFBQSxJQUFBO1lBQUM4QixLQUFLLEVBQUMsU0FBUztZQUFBWCxRQUFBLEVBQzdDSCxJQUFJLENBQUN0QztVQUFLLENBQUEsQ0FDSSxFQUNqQmhCLElBQUEsQ0FBQ1EsY0FBYyxFQUFBO1lBQUN1RCxJQUFJLEVBQUMsSUFBSTtZQUFDSyxLQUFLLEVBQUMsbUJBQW1CO1lBQUFYLFFBQUEsRUFDaERILElBQUksQ0FBQ3JDO1VBQUksQ0FBQSxDQUNLO1FBQUEsQ0FBQSxDQUNaO01BQUEsQ0FBQSxDQUNGO0lBRVg7RUFBQyxDQUFBLENBQUEsQ0FDRDtBQUVOLENBQUM7QUFFRCxPQUFPLElBQU1vRCxjQUFjLGdCQUFHbEUsSUFBSSxDQUFDMEIsa0JBQWtCLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L0N1cnJlbmN5U2VsZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBFbXB0eSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRW1wdHknO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1jdXJyZW5jeS1zZWxlY3QnO1xuY29uc3QgSUNPTl9DTFMgPSBgJHtXUkFQX0NMU30taWNvbmA7XG5jb25zdCBJQ09OX1NJWkUgPSAyNDtcbmNvbnN0IHRvT3B0aW9uID0gKGN1cnJlbmN5KSA9PiAoe1xuICAgIGxhYmVsOiBjdXJyZW5jeS5uYW1lLFxuICAgIHZhbHVlOiBjdXJyZW5jeS5uYW1lLFxuICAgIGljb246IGN1cnJlbmN5Lmljb25VcmwsXG4gICAgbmFtZTogY3VycmVuY3kuZGVzYyxcbiAgICAvLyBNYXRjaCBzZWFyY2ggYWdhaW5zdCBib3RoIHRoZSBjb2RlIGFuZCB0aGUgaHVtYW4tcmVhZGFibGUgbmFtZS5cbiAgICBzZWFyY2hUZXh0OiBgJHtjdXJyZW5jeS5uYW1lfSAke2N1cnJlbmN5LmRlc2N9YCxcbn0pO1xuLy8gU29ydCBieSB0aGUgYmFja2VuZCBgc29ydE9yZGVyYCAoYXNjZW5kaW5nKS4gQ29waWVzIHRoZSBhcnJheSBzbyB0aGVcbi8vIGNhbGxlcidzIGBvcHRpb25zYCBpcyBuZXZlciBtdXRhdGVkOyBhIG1pc3NpbmcgYHNvcnRPcmRlcmAgZmFsbHMgYmFjayB0byAwLlxuY29uc3QgYnlTb3J0T3JkZXIgPSAoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKChfYSA9IGEuc29ydE9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwKSAtICgoX2IgPSBiLnNvcnRPcmRlcikgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogMCk7IH07XG5jb25zdCBDdXJyZW5jeVNlbGVjdEJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyBvcHRpb25zLCBjbGFzc05hbWUsIGxhYmVsQ2xhc3NOYW1lLCBsYWJlbCA9ICdDdXJyZW5jeScsIG5hbWUgPSAnY3VycmVuY3knLCBwbGFjZWhvbGRlciA9ICdQbGVhc2Ugc2VsZWN0IGN1cnJlbmN5Jywgc3Ryb25nID0gdHJ1ZSwgZW1wdHlDb250ZW50LCBwYW5lbENsYXNzTmFtZSB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcIm9wdGlvbnNcIiwgXCJjbGFzc05hbWVcIiwgXCJsYWJlbENsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwibmFtZVwiLCBcInBsYWNlaG9sZGVyXCIsIFwic3Ryb25nXCIsIFwiZW1wdHlDb250ZW50XCIsIFwicGFuZWxDbGFzc05hbWVcIl0pO1xuICAgIGNvbnN0IG1hcHBlZE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IFsuLi5vcHRpb25zXS5zb3J0KGJ5U29ydE9yZGVyKS5tYXAodG9PcHRpb24pLCBbb3B0aW9uc10pO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgbGFiZWw6IGxhYmVsLCBuYW1lOiBuYW1lLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGVtcHR5Q29udGVudDogZW1wdHlDb250ZW50ICE9PSBudWxsICYmIGVtcHR5Q29udGVudCAhPT0gdm9pZCAwID8gZW1wdHlDb250ZW50IDogX2pzeChFbXB0eSwgeyBpY29uOiAnY29pbicsIGRlc2NyaXB0aW9uOiAnTm8gcmVzdWx0cycgfSksIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgbGFiZWxDbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9LWxhYmVsYCwgbGFiZWxDbGFzc05hbWUpLCBwYW5lbENsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU30tcGFuZWxgLCBwYW5lbENsYXNzTmFtZSksIG9wdGlvbnM6IG1hcHBlZE9wdGlvbnMsIHJlbmRlclZhbHVlOiAob3B0aW9uLCB7IGZvbnRTaXplIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGlmICghb3B0aW9uIHx8IEFycmF5LmlzQXJyYXkob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwbGFjZWhvbGRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBvcHRpb247XG4gICAgICAgICAgICByZXR1cm4gKF9qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNoaWxkcmVuOiBbX2pzeChcImltZ1wiLCB7IHNyYzogaXRlbS5pY29uLCBhbHQ6IFN0cmluZygoX2EgPSBpdGVtLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJyksIHdpZHRoOiBJQ09OX1NJWkUsIGhlaWdodDogSUNPTl9TSVpFLCBjbGFzc05hbWU6IElDT05fQ0xTIH0pLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IGZvbnRTaXplLCBzdHJvbmc6IHN0cm9uZywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSldIH0pKTtcbiAgICAgICAgfSwgcmVuZGVyT3B0aW9uQ29udGVudDogKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IG9wdGlvbjtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeHMoRmxleCwgeyBhbGlnbjogJ2NlbnRlcicsIGdhcDogOCwgc3R5bGU6IHsgd2lkdGg6ICcxMDAlJyB9LCBjaGlsZHJlbjogW19qc3goXCJpbWdcIiwgeyBzcmM6IGl0ZW0uaWNvbiwgYWx0OiBTdHJpbmcoKF9hID0gaXRlbS52YWx1ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLCB3aWR0aDogSUNPTl9TSVpFLCBoZWlnaHQ6IElDT05fU0laRSwgY2xhc3NOYW1lOiBJQ09OX0NMUyB9KSwgX2pzeHMoRmxleCwgeyB2ZXJ0aWNhbDogdHJ1ZSwgZ2FwOiAwLCBhbGlnbjogJ3N0YXJ0Jywgc3R5bGU6IHsgbWluV2lkdGg6IDAgfSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdtZCcsIHN0cm9uZzogdHJ1ZSwgY29sb3I6ICdkZWZhdWx0JywgY2hpbGRyZW46IGl0ZW0ubGFiZWwgfSksIF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ3NtJywgY29sb3I6ICdkZWZhdWx0LXNlY29uZGFyeScsIGNoaWxkcmVuOiBpdGVtLm5hbWUgfSldIH0pXSB9KSk7XG4gICAgICAgIH0gfSkpKTtcbn07XG5leHBvcnQgY29uc3QgQ3VycmVuY3lTZWxlY3QgPSBtZW1vKEN1cnJlbmN5U2VsZWN0QmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,2 @@
1
+ export { CurrencySelect } from './CurrencySelect';
2
+ export * from './interface';
@@ -0,0 +1,3 @@
1
+ export { CurrencySelect } from './CurrencySelect';
2
+ export * from './interface';
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9zcmMvYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L2luZGV4LnRzIl0sIm5hbWVzIjpbIkN1cnJlbmN5U2VsZWN0Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxjQUFjLFFBQVEsa0JBQWtCO0FBQ2pELGNBQWMsYUFBYSIsImZpbGUiOiJidXNpbmVzcy9TZWxlY3QvQ3VycmVuY3kvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1,50 @@
1
+ import type { SelectProps } from "../../../components/Select";
2
+ /**
3
+ * A single selectable currency as carried by the 1money recipients
4
+ * dictionary — an entry of a bank country's `subItems`
5
+ * (`dicts.bankCountryCode[i].subItems[j]`). The component reads the icon,
6
+ * code (`name`), and description; the entry's own nested `subItems`
7
+ * (payment methods) are ignored.
8
+ */
9
+ export interface CurrencyItem {
10
+ /** Display order within the list (ascending), e.g. `0`. */
11
+ sortOrder?: number;
12
+ /** Currency code — bound to the select value, e.g. `"USD"`. */
13
+ name: string;
14
+ /** Human-readable currency name shown on the secondary line, e.g. `"United States Dollar"`. */
15
+ desc: string;
16
+ /** Backend code; unused by the component and often `null`. */
17
+ code?: string | null;
18
+ /** Public URL of the currency / flag icon. */
19
+ iconUrl: string;
20
+ }
21
+ export interface CurrencySelectProps extends Omit<SelectProps, 'options' | 'renderValue' | 'renderOption' | 'renderOptionContent'> {
22
+ /**
23
+ * The currency list for the selected bank country — the `subItems` array
24
+ * from the 1money recipients dictionary
25
+ * (`dicts.bankCountryCode[i].subItems`). Pass it through as-is; the
26
+ * component renders the flag icon, the bold code, and the currency name,
27
+ * and derives the trigger from the selected entry.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * const options: CurrencyItem[] = [
32
+ * {
33
+ * sortOrder: 0,
34
+ * name: 'USD',
35
+ * desc: 'United States Dollar',
36
+ * code: null,
37
+ * iconUrl: 'https://static.1money.com/images/currencies/Icon-USD.svg',
38
+ * },
39
+ * ];
40
+ *
41
+ * <CurrencySelect options={options} defaultValue='USD' />
42
+ * ```
43
+ */
44
+ options: CurrencyItem[];
45
+ /**
46
+ * Bold the currency code in the trigger.
47
+ * @default true
48
+ */
49
+ strong?: boolean;
50
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -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-currency-select-label {
24
+ width: 100%;
25
+ }
26
+
27
+ .om-currency-select-panel .om-component-ui-select-empty {
28
+ padding: 0;
29
+ }
30
+
31
+ .om-currency-select-icon {
32
+ flex: 0 0 auto;
33
+ width: 24px;
34
+ height: 24px;
35
+ -o-object-fit: cover;
36
+ object-fit: cover;
37
+ border-radius: var(--om-radius-full, 9999px);
38
+ }
@@ -0,0 +1,2 @@
1
+ import './CurrencySelect.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9DdXJyZW5jeS9zcmMvYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sdUJBQXVCIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9DdXJyZW5jeS9zdHlsZS9jc3MuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
@@ -0,0 +1 @@
1
+ import './CurrencySelect.css';
@@ -0,0 +1,2 @@
1
+ import './CurrencySelect.css';
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL1NlbGVjdC9DdXJyZW5jeS9zcmMvYnVzaW5lc3MvU2VsZWN0L0N1cnJlbmN5L3N0eWxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sdUJBQXVCIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9DdXJyZW5jeS9zdHlsZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -1,4 +1,5 @@
1
1
  export * from './Asset';
2
2
  export * from './Country';
3
+ export * from './Currency';
3
4
  export * from './Network';
4
5
  export * from './PaymentMethod';
@@ -1,5 +1,6 @@
1
1
  export * from './Asset';
2
2
  export * from './Country';
3
+ export * from './Currency';
3
4
  export * from './Network';
4
5
  export * from './PaymentMethod';
5
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NyYy9idXNpbmVzcy9TZWxlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTO0FBQ3ZCLGNBQWMsV0FBVztBQUN6QixjQUFjLFdBQVc7QUFDekIsY0FBYyxpQkFBaUIiLCJmaWxlIjoiYnVzaW5lc3MvU2VsZWN0L2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
6
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL3NyYy9idXNpbmVzcy9TZWxlY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTO0FBQ3ZCLGNBQWMsV0FBVztBQUN6QixjQUFjLFlBQVk7QUFDMUIsY0FBYyxXQUFXO0FBQ3pCLGNBQWMsaUJBQWlCIiwiZmlsZSI6ImJ1c2luZXNzL1NlbGVjdC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==