@xylabs/sdk-react 2.7.10 → 2.7.14
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/dist/components/TokenAmount/TokenAmount.d.ts.map +1 -1
- package/dist/components/TokenAmount/TokenAmount.js +2 -3
- package/dist/components/TokenAmount/TokenAmount.js.map +1 -1
- package/dist/components/TokenAmount/TokenAmount.stories.d.ts +2 -1
- package/dist/components/TokenAmount/TokenAmount.stories.d.ts.map +1 -1
- package/dist/components/TokenAmount/TokenAmount.stories.js +7 -1
- package/dist/components/TokenAmount/TokenAmount.stories.js.map +1 -1
- package/dist/components/TokenAmount/TokenAmountProps.d.ts +5 -2
- package/dist/components/TokenAmount/TokenAmountProps.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/TokenAmount/TokenAmount.stories.tsx +8 -1
- package/src/components/TokenAmount/TokenAmount.tsx +38 -25
- package/src/components/TokenAmount/TokenAmountProps.tsx +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAmount.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAWrD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TokenAmount.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAWrD,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6C3C,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -25,11 +25,10 @@ const base10Shift = (bn, places) => {
|
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
const TokenAmount = (_a) => {
|
|
28
|
-
var { amount, places = -18, logo, label, onButtonClick } = _a, props = __rest(_a, ["amount", "places", "logo", "label", "onButtonClick"]);
|
|
28
|
+
var { textFontFamily = '"Source Code Pro",monospace', textColor, statusColor, style, amount, places = -18, logo, label, onButtonClick } = _a, props = __rest(_a, ["textFontFamily", "textColor", "statusColor", "style", "amount", "places", "logo", "label", "onButtonClick"]);
|
|
29
29
|
const adjustedAmount = amount ? base10Shift(amount, places).toNumber() : undefined;
|
|
30
30
|
const amountString = adjustedAmount ? Math.trunc(adjustedAmount).toLocaleString() : '-';
|
|
31
|
-
|
|
32
|
-
return (_jsx(FlexRow, Object.assign({ margin: 0.5, padding: 0.5 }, props, { children: _jsx(ButtonEx, Object.assign({ fullWidth: true, variant: "outlined", onClick: onButtonClick }, { children: _jsxs(FlexRow, Object.assign({ justifyContent: "space-between", width: "100%", busy: !amount, busySize: 16 }, { children: [_jsxs(FlexRow, { children: [logo ? _jsx("img", { src: xyoLogo, height: 24 }, void 0) : null, label ? (_jsx(Typography, Object.assign({ marginRight: 1, marginLeft: logo ? 1 : 0, noWrap: true, fontFamily: fontFamily, variant: "caption" }, { children: label }), void 0)) : null] }, void 0), _jsx(Typography, Object.assign({ noWrap: true, fontFamily: fontFamily, variant: "body1", style: { textTransform: 'none' } }, { children: amountString }), void 0)] }), void 0) }), void 0) }), void 0));
|
|
31
|
+
return (_jsx(ButtonEx, Object.assign({ style: Object.assign({ backgroundColor: statusColor }, style), variant: "outlined", onClick: onButtonClick }, props, { children: _jsxs(FlexRow, Object.assign({ justifyContent: "space-between", width: "100%", busy: !amount, busySize: 16 }, { children: [_jsxs(FlexRow, { children: [logo ? _jsx("img", { src: xyoLogo, height: 24 }, void 0) : null, label ? (_jsx(Typography, Object.assign({ marginRight: 1, marginLeft: logo ? 1 : 0, noWrap: true, fontFamily: textFontFamily, variant: "caption" }, { children: label }), void 0)) : null] }, void 0), _jsx(Typography, Object.assign({ color: textColor, noWrap: true, fontFamily: textFontFamily, variant: "body1", style: { textTransform: 'none' } }, { children: amountString }), void 0)] }), void 0) }), void 0));
|
|
33
32
|
};
|
|
34
33
|
export { TokenAmount };
|
|
35
34
|
//# sourceMappingURL=TokenAmount.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAmount.js","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,OAAO,MAAM,eAAe,CAAA;AAGnC,MAAM,WAAW,GAAG,CAAC,EAAa,EAAE,MAAc,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;SAAM;QACL,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAA+B,CAAC,
|
|
1
|
+
{"version":3,"file":"TokenAmount.js","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,OAAO,MAAM,eAAe,CAAA;AAGnC,MAAM,WAAW,GAAG,CAAC,EAAa,EAAE,MAAc,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACrE,IAAI,MAAM,GAAG,CAAC,EAAE;QACd,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;SAAM;QACL,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAA+B,CAAC,EAWhD,EAAE,EAAE;QAX4C,EAC/C,cAAc,GAAG,6BAA6B,EAC9C,SAAS,EACT,WAAW,EACX,KAAK,EACL,MAAM,EACN,MAAM,GAAG,CAAC,EAAE,EACZ,IAAI,EACJ,KAAK,EACL,aAAa,OAEd,EADI,KAAK,cAVuC,6GAWhD,CADS;IAER,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAElF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAEvF,OAAO,CACL,KAAC,QAAQ,kBAAC,KAAK,kBAAI,eAAe,EAAE,WAAW,IAAK,KAAK,GAAI,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,aAAa,IAAM,KAAK,cAC/G,MAAC,OAAO,kBAAC,cAAc,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAC9E,MAAC,OAAO,eACL,IAAI,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAI,CAAC,CAAC,CAAC,IAAI,EAC/C,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,kBACT,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxB,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAC,SAAS,gBAEhB,KAAK,YACK,CACd,CAAC,CAAC,CAAC,IAAI,YACA,EACV,KAAC,UAAU,kBACT,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,IAAI,EACZ,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAC,OAAO,EACf,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,gBAE/B,YAAY,YACF,aACL,YACD,CACZ,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -3,8 +3,9 @@ import { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
|
3
3
|
declare const StorybookEntry: ComponentMeta<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
4
4
|
declare const Default: ComponentStory<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
5
5
|
declare const WithLogo: ComponentStory<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
6
|
+
declare const WithLogoAndColor: ComponentStory<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
6
7
|
declare const WithLabel: ComponentStory<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
7
8
|
declare const WithLogoAndLabel: ComponentStory<import("react").FC<import("./TokenAmountProps").TokenAmountProps>>;
|
|
8
|
-
export { Default, WithLabel, WithLogo, WithLogoAndLabel };
|
|
9
|
+
export { Default, WithLabel, WithLogo, WithLogoAndColor, WithLogoAndLabel };
|
|
9
10
|
export default StorybookEntry;
|
|
10
11
|
//# sourceMappingURL=TokenAmount.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAmount.stories.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKhE,QAAA,MAAM,cAAc,kFASkB,CAAA;AAItC,QAAA,MAAM,OAAO,mFAAoB,CAAA;AAKjC,QAAA,MAAM,QAAQ,mFAAoB,CAAA;AAMlC,QAAA,MAAM,SAAS,mFAAoB,CAAA;AAMnC,QAAA,MAAM,gBAAgB,mFAAoB,CAAA;AAO1C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"TokenAmount.stories.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAKhE,QAAA,MAAM,cAAc,kFASkB,CAAA;AAItC,QAAA,MAAM,OAAO,mFAAoB,CAAA;AAKjC,QAAA,MAAM,QAAQ,mFAAoB,CAAA;AAMlC,QAAA,MAAM,gBAAgB,mFAAoB,CAAA;AAO1C,QAAA,MAAM,SAAS,mFAAoB,CAAA;AAMnC,QAAA,MAAM,gBAAgB,mFAAoB,CAAA;AAO1C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;AAG3E,eAAe,cAAc,CAAA"}
|
|
@@ -21,6 +21,12 @@ WithLogo.args = {
|
|
|
21
21
|
amount: new BigNumber('1195c751dbcc90ab4200000', 16),
|
|
22
22
|
logo: true,
|
|
23
23
|
};
|
|
24
|
+
const WithLogoAndColor = Template.bind({});
|
|
25
|
+
WithLogoAndColor.args = {
|
|
26
|
+
amount: new BigNumber('1195c751dbcc90ab4200000', 16),
|
|
27
|
+
logo: true,
|
|
28
|
+
statusColor: '#ff0',
|
|
29
|
+
};
|
|
24
30
|
const WithLabel = Template.bind({});
|
|
25
31
|
WithLabel.args = {
|
|
26
32
|
amount: new BigNumber('1195c751dbcc90ab4200000', 16),
|
|
@@ -32,7 +38,7 @@ WithLogoAndLabel.args = {
|
|
|
32
38
|
label: 'Balance',
|
|
33
39
|
logo: true,
|
|
34
40
|
};
|
|
35
|
-
export { Default, WithLabel, WithLogo, WithLogoAndLabel };
|
|
41
|
+
export { Default, WithLabel, WithLogo, WithLogoAndColor, WithLogoAndLabel };
|
|
36
42
|
// eslint-disable-next-line import/no-default-export
|
|
37
43
|
export default StorybookEntry;
|
|
38
44
|
//# sourceMappingURL=TokenAmount.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAmount.stories.js","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;KACF;IACD,KAAK,EAAE,wBAAwB;CACK,CAAA;AAEtC,MAAM,QAAQ,GAAuC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,WAAW,oBAAK,IAAI,UAAgB,CAAA;AAEpG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjC,OAAO,CAAC,IAAI,GAAG;IACb,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;CACrD,CAAA;AAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,QAAQ,CAAC,IAAI,GAAG;IACd,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,IAAI;CACX,CAAA;AAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnC,SAAS,CAAC,IAAI,GAAG;IACf,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,gBAAgB,CAAC,IAAI,GAAG;IACtB,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,IAAI;CACX,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"TokenAmount.stories.js","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmount.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,cAAc,GAAG;IACrB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI;SACX;KACF;IACD,KAAK,EAAE,wBAAwB;CACK,CAAA;AAEtC,MAAM,QAAQ,GAAuC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAC,WAAW,oBAAK,IAAI,UAAgB,CAAA;AAEpG,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACjC,OAAO,CAAC,IAAI,GAAG;IACb,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;CACrD,CAAA;AAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,QAAQ,CAAC,IAAI,GAAG;IACd,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,IAAI;CACX,CAAA;AAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,gBAAgB,CAAC,IAAI,GAAG;IACtB,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,MAAM;CACpB,CAAA;AAED,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACnC,SAAS,CAAC,IAAI,GAAG;IACf,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,KAAK,EAAE,SAAS;CACjB,CAAA;AAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC1C,gBAAgB,CAAC,IAAI,GAAG;IACtB,MAAM,EAAE,IAAI,SAAS,CAAC,yBAAyB,EAAE,EAAE,CAAC;IACpD,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,IAAI;CACX,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;AAE3E,oDAAoD;AACpD,eAAe,cAAc,CAAA"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/// <reference types="bn.js" />
|
|
2
2
|
import { BigNumber } from '@xylabs/sdk-js';
|
|
3
3
|
import { MouseEventHandler } from 'react';
|
|
4
|
-
import {
|
|
5
|
-
interface TokenAmountProps extends
|
|
4
|
+
import { ButtonExProps } from '../ButtonEx';
|
|
5
|
+
interface TokenAmountProps extends ButtonExProps {
|
|
6
6
|
amount?: BigNumber | null;
|
|
7
7
|
label?: string;
|
|
8
8
|
logo?: boolean;
|
|
9
9
|
places?: number;
|
|
10
|
+
textFontFamily?: string;
|
|
11
|
+
textColor?: string;
|
|
12
|
+
statusColor?: string;
|
|
10
13
|
onButtonClick?: MouseEventHandler<HTMLButtonElement>;
|
|
11
14
|
}
|
|
12
15
|
export type { TokenAmountProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenAmountProps.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmountProps.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TokenAmountProps.d.ts","sourceRoot":"","sources":["../../../src/components/TokenAmount/TokenAmountProps.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;CACrD;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -27,6 +27,13 @@ WithLogo.args = {
|
|
|
27
27
|
logo: true,
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
+
const WithLogoAndColor = Template.bind({})
|
|
31
|
+
WithLogoAndColor.args = {
|
|
32
|
+
amount: new BigNumber('1195c751dbcc90ab4200000', 16),
|
|
33
|
+
logo: true,
|
|
34
|
+
statusColor: '#ff0',
|
|
35
|
+
}
|
|
36
|
+
|
|
30
37
|
const WithLabel = Template.bind({})
|
|
31
38
|
WithLabel.args = {
|
|
32
39
|
amount: new BigNumber('1195c751dbcc90ab4200000', 16),
|
|
@@ -40,7 +47,7 @@ WithLogoAndLabel.args = {
|
|
|
40
47
|
logo: true,
|
|
41
48
|
}
|
|
42
49
|
|
|
43
|
-
export { Default, WithLabel, WithLogo, WithLogoAndLabel }
|
|
50
|
+
export { Default, WithLabel, WithLogo, WithLogoAndColor, WithLogoAndLabel }
|
|
44
51
|
|
|
45
52
|
// eslint-disable-next-line import/no-default-export
|
|
46
53
|
export default StorybookEntry
|
|
@@ -15,37 +15,50 @@ const base10Shift = (bn: BigNumber, places: number) => {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
const TokenAmount: React.FC<TokenAmountProps> = ({
|
|
18
|
+
const TokenAmount: React.FC<TokenAmountProps> = ({
|
|
19
|
+
textFontFamily = '"Source Code Pro",monospace',
|
|
20
|
+
textColor,
|
|
21
|
+
statusColor,
|
|
22
|
+
style,
|
|
23
|
+
amount,
|
|
24
|
+
places = -18,
|
|
25
|
+
logo,
|
|
26
|
+
label,
|
|
27
|
+
onButtonClick,
|
|
28
|
+
...props
|
|
29
|
+
}) => {
|
|
19
30
|
const adjustedAmount = amount ? base10Shift(amount, places).toNumber() : undefined
|
|
20
31
|
|
|
21
32
|
const amountString = adjustedAmount ? Math.trunc(adjustedAmount).toLocaleString() : '-'
|
|
22
33
|
|
|
23
|
-
const fontFamily = '"Source Code Pro",monospace'
|
|
24
|
-
|
|
25
34
|
return (
|
|
26
|
-
<
|
|
27
|
-
<
|
|
28
|
-
<FlexRow
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
) : null}
|
|
42
|
-
</FlexRow>
|
|
43
|
-
<Typography noWrap={true} fontFamily={fontFamily} variant="body1" style={{ textTransform: 'none' }}>
|
|
44
|
-
{amountString}
|
|
45
|
-
</Typography>
|
|
35
|
+
<ButtonEx style={{ backgroundColor: statusColor, ...style }} variant="outlined" onClick={onButtonClick} {...props}>
|
|
36
|
+
<FlexRow justifyContent="space-between" width="100%" busy={!amount} busySize={16}>
|
|
37
|
+
<FlexRow>
|
|
38
|
+
{logo ? <img src={xyoLogo} height={24} /> : null}
|
|
39
|
+
{label ? (
|
|
40
|
+
<Typography
|
|
41
|
+
marginRight={1}
|
|
42
|
+
marginLeft={logo ? 1 : 0}
|
|
43
|
+
noWrap={true}
|
|
44
|
+
fontFamily={textFontFamily}
|
|
45
|
+
variant="caption"
|
|
46
|
+
>
|
|
47
|
+
{label}
|
|
48
|
+
</Typography>
|
|
49
|
+
) : null}
|
|
46
50
|
</FlexRow>
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
<Typography
|
|
52
|
+
color={textColor}
|
|
53
|
+
noWrap={true}
|
|
54
|
+
fontFamily={textFontFamily}
|
|
55
|
+
variant="body1"
|
|
56
|
+
style={{ textTransform: 'none' }}
|
|
57
|
+
>
|
|
58
|
+
{amountString}
|
|
59
|
+
</Typography>
|
|
60
|
+
</FlexRow>
|
|
61
|
+
</ButtonEx>
|
|
49
62
|
)
|
|
50
63
|
}
|
|
51
64
|
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { BigNumber } from '@xylabs/sdk-js'
|
|
2
2
|
import { MouseEventHandler } from 'react'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { ButtonExProps } from '../ButtonEx'
|
|
5
5
|
|
|
6
|
-
interface TokenAmountProps extends
|
|
6
|
+
interface TokenAmountProps extends ButtonExProps {
|
|
7
7
|
amount?: BigNumber | null
|
|
8
8
|
label?: string
|
|
9
9
|
logo?: boolean
|
|
10
10
|
places?: number
|
|
11
|
+
textFontFamily?: string
|
|
12
|
+
textColor?: string
|
|
13
|
+
statusColor?: string
|
|
11
14
|
onButtonClick?: MouseEventHandler<HTMLButtonElement>
|
|
12
15
|
}
|
|
13
16
|
|