@ledgerhq/react-ui 0.25.0 → 0.26.0
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/lib/cjs/pre-ldls/components/Address/Address.js +2 -19
- package/lib/cjs/pre-ldls/components/Address/Address.js.map +3 -3
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js +6 -17
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js.map +3 -3
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js +1 -1
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.js +12 -3
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.js.map +2 -2
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js +6 -2
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/CardButton/CardButton.js +91 -0
- package/lib/cjs/pre-ldls/components/CardButton/CardButton.js.map +7 -0
- package/lib/cjs/pre-ldls/components/CardButton/CardButton.stories.js +84 -0
- package/lib/cjs/pre-ldls/components/CardButton/CardButton.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/CryptoIcon/CryptoIcon.js +39 -0
- package/lib/cjs/pre-ldls/components/CryptoIcon/CryptoIcon.js.map +7 -0
- package/lib/cjs/pre-ldls/components/CryptoIcon/CryptoIcon.stories.js +47 -0
- package/lib/cjs/pre-ldls/components/CryptoIcon/CryptoIcon.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/Input/Input.js +2 -1
- package/lib/cjs/pre-ldls/components/Input/Input.js.map +2 -2
- package/lib/cjs/pre-ldls/components/NetworkItem/NetworkItem.js +6 -17
- package/lib/cjs/pre-ldls/components/NetworkItem/NetworkItem.js.map +3 -3
- package/lib/cjs/pre-ldls/components/NetworkItem/NetworkItem.stories.js +1 -1
- package/lib/cjs/pre-ldls/components/NetworkItem/NetworkItem.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/NetworkList/NetworkList.js +1 -1
- package/lib/cjs/pre-ldls/components/NetworkList/NetworkList.js.map +2 -2
- package/lib/cjs/pre-ldls/components/NetworkList/NetworkList.stories.js +6 -2
- package/lib/cjs/pre-ldls/components/NetworkList/NetworkList.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/index.js +1 -0
- package/lib/cjs/pre-ldls/components/index.js.map +2 -2
- package/lib/cjs/pre-ldls/libs/index.js +15 -2
- package/lib/cjs/pre-ldls/libs/index.js.map +2 -2
- package/lib/pre-ldls/components/Address/Address.d.ts.map +1 -1
- package/lib/pre-ldls/components/Address/Address.js +2 -11
- package/lib/pre-ldls/components/Address/Address.js.map +1 -1
- package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts +2 -1
- package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts.map +1 -1
- package/lib/pre-ldls/components/AssetItem/AssetItem.js +7 -14
- package/lib/pre-ldls/components/AssetItem/AssetItem.js.map +1 -1
- package/lib/pre-ldls/components/AssetList/AssetList.d.ts +2 -1
- package/lib/pre-ldls/components/AssetList/AssetList.d.ts.map +1 -1
- package/lib/pre-ldls/components/AssetList/AssetList.js +3 -3
- package/lib/pre-ldls/components/AssetList/AssetList.js.map +1 -1
- package/lib/pre-ldls/components/CardButton/CardButton.d.ts +8 -0
- package/lib/pre-ldls/components/CardButton/CardButton.d.ts.map +1 -0
- package/lib/pre-ldls/components/CardButton/CardButton.js +43 -0
- package/lib/pre-ldls/components/CardButton/CardButton.js.map +1 -0
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.d.ts +4 -0
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.d.ts.map +1 -0
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.js +6 -0
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.js.map +1 -0
- package/lib/pre-ldls/components/Input/Input.d.ts.map +1 -1
- package/lib/pre-ldls/components/Input/Input.js +2 -1
- package/lib/pre-ldls/components/Input/Input.js.map +1 -1
- package/lib/pre-ldls/components/NetworkItem/NetworkItem.d.ts +6 -2
- package/lib/pre-ldls/components/NetworkItem/NetworkItem.d.ts.map +1 -1
- package/lib/pre-ldls/components/NetworkItem/NetworkItem.js +6 -13
- package/lib/pre-ldls/components/NetworkItem/NetworkItem.js.map +1 -1
- package/lib/pre-ldls/components/NetworkList/NetworkList.d.ts +1 -5
- package/lib/pre-ldls/components/NetworkList/NetworkList.d.ts.map +1 -1
- package/lib/pre-ldls/components/NetworkList/NetworkList.js +1 -1
- package/lib/pre-ldls/components/NetworkList/NetworkList.js.map +1 -1
- package/lib/pre-ldls/components/index.d.ts +1 -0
- package/lib/pre-ldls/components/index.d.ts.map +1 -1
- package/lib/pre-ldls/components/index.js +1 -0
- package/lib/pre-ldls/components/index.js.map +1 -1
- package/lib/pre-ldls/libs/index.d.ts +14 -1
- package/lib/pre-ldls/libs/index.d.ts.map +1 -1
- package/lib/pre-ldls/libs/index.js +10 -4
- package/lib/pre-ldls/libs/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -35,24 +35,7 @@ var import_react = __toESM(require("react"));
|
|
|
35
35
|
var import_components = require("../../../components");
|
|
36
36
|
var import_styled_components = __toESM(require("styled-components"));
|
|
37
37
|
var import_libs = require("../../libs");
|
|
38
|
-
|
|
39
|
-
ledgerId: _ledgerId,
|
|
40
|
-
ticker: _ticker
|
|
41
|
-
}) => (
|
|
42
|
-
// TODO: To be replaced with LIVE-18221
|
|
43
|
-
/* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center" }, "data-testid": "address-icon" }, /* @__PURE__ */ import_react.default.createElement(
|
|
44
|
-
"span",
|
|
45
|
-
{
|
|
46
|
-
style: {
|
|
47
|
-
height: 20,
|
|
48
|
-
width: 20,
|
|
49
|
-
borderRadius: 20,
|
|
50
|
-
backgroundColor: "grey",
|
|
51
|
-
display: "inline-block"
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
))
|
|
55
|
-
);
|
|
38
|
+
var import_CryptoIcon = require("../CryptoIcon/CryptoIcon");
|
|
56
39
|
const Wrapper = import_styled_components.default.div`
|
|
57
40
|
${(0, import_libs.withTokens)("spacing-xxxs", "colors-content-subdued-default-default")}
|
|
58
41
|
|
|
@@ -74,6 +57,6 @@ const Address = ({
|
|
|
74
57
|
color: "var(--colors-content-subdued-default-default)"
|
|
75
58
|
},
|
|
76
59
|
address
|
|
77
|
-
), showIcon && /* @__PURE__ */ import_react.default.createElement(
|
|
60
|
+
), showIcon && /* @__PURE__ */ import_react.default.createElement(import_CryptoIcon.CryptoIcon, { ledgerId: cryptoId, ticker }));
|
|
78
61
|
};
|
|
79
62
|
//# sourceMappingURL=Address.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/Address/Address.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport { Text } from \"../../../components\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,wBAAqB;AACrB,+BAAmB;AACnB,kBAA2B;
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport { Text } from \"../../../components\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\nimport { CryptoIcon } from \"../CryptoIcon/CryptoIcon\";\n\nconst Wrapper = styled.div`\n ${withTokens(\"spacing-xxxs\", \"colors-content-subdued-default-default\")}\n\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const Address = ({\n address,\n showIcon,\n cryptoId,\n ticker,\n}: {\n address: string;\n showIcon: boolean;\n cryptoId?: string;\n ticker?: string;\n}) => {\n return (\n <Wrapper>\n <Text\n marginRight=\"var(--spacing-xxxs)\"\n fontSize=\"12px\"\n color=\"var(--colors-content-subdued-default-default)\"\n >\n {address}\n </Text>\n {showIcon && <CryptoIcon ledgerId={cryptoId} ticker={ticker} />}\n </Wrapper>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,wBAAqB;AACrB,+BAAmB;AACnB,kBAA2B;AAC3B,wBAA2B;AAE3B,MAAM,UAAU,yBAAAA,QAAO;AAAA,QACnB,wBAAW,gBAAgB,wCAAwC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOjE,MAAM,UAAU,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAKM;AACJ,SACE,6BAAAC,QAAA,cAAC,eACC,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,aAAY;AAAA,MACZ,UAAS;AAAA,MACT,OAAM;AAAA;AAAA,IAEL;AAAA,EACH,GACC,YAAY,6BAAAA,QAAA,cAAC,gCAAW,UAAU,UAAU,QAAgB,CAC/D;AAEJ;",
|
|
6
|
+
"names": ["styled", "React"]
|
|
7
7
|
}
|
|
@@ -35,25 +35,12 @@ var import_react = __toESM(require("react"));
|
|
|
35
35
|
var import_styled_components = __toESM(require("styled-components"));
|
|
36
36
|
var import_libs = require("../../libs");
|
|
37
37
|
var import_components = require("../../../components");
|
|
38
|
-
|
|
39
|
-
// TODO: To be replaced with LIVE-18221
|
|
40
|
-
/* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ import_react.default.createElement(
|
|
41
|
-
"span",
|
|
42
|
-
{
|
|
43
|
-
style: {
|
|
44
|
-
height: 48,
|
|
45
|
-
width: 48,
|
|
46
|
-
borderRadius: 48,
|
|
47
|
-
backgroundColor: "grey",
|
|
48
|
-
display: "inline-block"
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
))
|
|
52
|
-
);
|
|
38
|
+
var import_CryptoIcon = require("../CryptoIcon/CryptoIcon");
|
|
53
39
|
const Wrapper = import_styled_components.default.div`
|
|
54
40
|
${(0, import_libs.withTokens)(
|
|
55
41
|
"spacing-xxs",
|
|
56
42
|
"margin-s",
|
|
43
|
+
"radius-s",
|
|
57
44
|
"colors-content-subdued-default-default",
|
|
58
45
|
"colors-content-default-default",
|
|
59
46
|
"colors-surface-transparent-hover",
|
|
@@ -63,6 +50,8 @@ const Wrapper = import_styled_components.default.div`
|
|
|
63
50
|
display: flex;
|
|
64
51
|
padding: var(--spacing-xxs);
|
|
65
52
|
cursor: pointer;
|
|
53
|
+
border-radius: var(--radius-s, 8px);
|
|
54
|
+
align-items: center;
|
|
66
55
|
|
|
67
56
|
:hover {
|
|
68
57
|
background-color: var(--colors-surface-transparent-hover);
|
|
@@ -78,8 +67,8 @@ const InfoWrapper = import_styled_components.default.div`
|
|
|
78
67
|
justify-content: center;
|
|
79
68
|
margin-left: var(--margin-s);
|
|
80
69
|
`;
|
|
81
|
-
const AssetItem = ({ name, ticker, onClick }) => {
|
|
82
|
-
return /* @__PURE__ */ import_react.default.createElement(Wrapper, { onClick: () => onClick({ name, ticker }) }, /* @__PURE__ */ import_react.default.createElement(
|
|
70
|
+
const AssetItem = ({ name, ticker, id, onClick }) => {
|
|
71
|
+
return /* @__PURE__ */ import_react.default.createElement(Wrapper, { onClick: () => onClick({ name, ticker, id }) }, /* @__PURE__ */ import_react.default.createElement(import_CryptoIcon.CryptoIcon, { size: "48px", ledgerId: id, ticker }), /* @__PURE__ */ import_react.default.createElement(InfoWrapper, null, /* @__PURE__ */ import_react.default.createElement(
|
|
83
72
|
import_components.Text,
|
|
84
73
|
{
|
|
85
74
|
variant: "largeLineHeight",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/AssetItem/AssetItem.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\nimport { Text } from \"../../../components\";\n\nexport type AssetType = {\n name: string;\n ticker: string;\n};\n\ntype AssetItemProps = AssetType & {\n onClick: (asset: AssetType) => void;\n};\n\nconst
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAA2B;AAC3B,wBAAqB;
|
|
6
|
-
"names": ["
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\nimport { Text } from \"../../../components\";\nimport { CryptoIcon } from \"../CryptoIcon/CryptoIcon\";\n\nexport type AssetType = {\n name: string;\n ticker: string;\n id: string;\n};\n\ntype AssetItemProps = AssetType & {\n onClick: (asset: AssetType) => void;\n};\n\nconst Wrapper = styled.div`\n ${withTokens(\n \"spacing-xxs\",\n \"margin-s\",\n \"radius-s\",\n \"colors-content-subdued-default-default\",\n \"colors-content-default-default\",\n \"colors-surface-transparent-hover\",\n \"colors-surface-transparent-pressed\",\n )}\n\n display: flex;\n padding: var(--spacing-xxs);\n cursor: pointer;\n border-radius: var(--radius-s, 8px);\n align-items: center;\n\n :hover {\n background-color: var(--colors-surface-transparent-hover);\n }\n\n :active {\n background-color: var(--colors-surface-transparent-pressed);\n }\n`;\n\nconst InfoWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-left: var(--margin-s);\n`;\n\nexport const AssetItem = ({ name, ticker, id, onClick }: AssetItemProps) => {\n return (\n <Wrapper onClick={() => onClick({ name, ticker, id })}>\n <CryptoIcon size=\"48px\" ledgerId={id} ticker={ticker} />\n <InfoWrapper>\n <Text\n variant=\"largeLineHeight\"\n fontWeight=\"semiBold\"\n color=\"var(--colors-content-default-default)\"\n >\n {name}\n </Text>\n <Text\n variant=\"bodyLineHeight\"\n fontWeight=\"semiBold\"\n color=\"var(--colors-content-subdued-default-default)\"\n >\n {ticker}\n </Text>\n </InfoWrapper>\n </Wrapper>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAA2B;AAC3B,wBAAqB;AACrB,wBAA2B;AAY3B,MAAM,UAAU,yBAAAA,QAAO;AAAA,QACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBH,MAAM,cAAc,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB,MAAM,YAAY,CAAC,EAAE,MAAM,QAAQ,IAAI,QAAQ,MAAsB;AAC1E,SACE,6BAAAC,QAAA,cAAC,WAAQ,SAAS,MAAM,QAAQ,EAAE,MAAM,QAAQ,GAAG,CAAC,KAClD,6BAAAA,QAAA,cAAC,gCAAW,MAAK,QAAO,UAAU,IAAI,QAAgB,GACtD,6BAAAA,QAAA,cAAC,mBACC,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,OAAM;AAAA;AAAA,IAEL;AAAA,EACH,GACA,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAW;AAAA,MACX,OAAM;AAAA;AAAA,IAEL;AAAA,EACH,CACF,CACF;AAEJ;",
|
|
6
|
+
"names": ["styled", "React"]
|
|
7
7
|
}
|
|
@@ -29,7 +29,7 @@ const meta = {
|
|
|
29
29
|
component: import_AssetItem.AssetItem,
|
|
30
30
|
title: "PreLdls/Components/AssetItem",
|
|
31
31
|
tags: ["autodocs"],
|
|
32
|
-
args: { name: "Bitcoin", ticker: "BTC" }
|
|
32
|
+
args: { name: "Bitcoin", ticker: "BTC", id: "bitcoin" }
|
|
33
33
|
};
|
|
34
34
|
var AssetItem_stories_default = meta;
|
|
35
35
|
const Default = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/AssetItem/AssetItem.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { AssetItem } from \"./AssetItem\";\nimport { expect, within } from \"@storybook/test\";\n\nconst meta: Meta<typeof AssetItem> = {\n component: AssetItem,\n title: \"PreLdls/Components/AssetItem\",\n tags: [\"autodocs\"],\n args: { name: \"Bitcoin\", ticker: \"BTC\" },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof AssetItem>;\n\nexport const Default: Story = {};\n\nexport const TestAssetItem: Story = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const name = canvas.getByText(\"Bitcoin\");\n const ticker = canvas.getByText(\"BTC\");\n\n await expect(name).toBeInTheDocument();\n await expect(ticker).toBeInTheDocument();\n },\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0B;AAC1B,kBAA+B;AAE/B,MAAM,OAA+B;AAAA,EACnC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM,EAAE,MAAM,WAAW,QAAQ,
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { AssetItem } from \"./AssetItem\";\nimport { expect, within } from \"@storybook/test\";\n\nconst meta: Meta<typeof AssetItem> = {\n component: AssetItem,\n title: \"PreLdls/Components/AssetItem\",\n tags: [\"autodocs\"],\n args: { name: \"Bitcoin\", ticker: \"BTC\", id: \"bitcoin\" },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof AssetItem>;\n\nexport const Default: Story = {};\n\nexport const TestAssetItem: Story = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const name = canvas.getByText(\"Bitcoin\");\n const ticker = canvas.getByText(\"BTC\");\n\n await expect(name).toBeInTheDocument();\n await expect(ticker).toBeInTheDocument();\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0B;AAC1B,kBAA+B;AAE/B,MAAM,OAA+B;AAAA,EACnC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM,EAAE,MAAM,WAAW,QAAQ,OAAO,IAAI,UAAU;AACxD;AACA,IAAO,4BAAQ;AAIR,MAAM,UAAiB,CAAC;AAExB,MAAM,gBAAuB;AAAA,EAClC,MAAM,OAAO,EAAE,cAAc,MAAM;AACjC,UAAM,aAAS,oBAAO,aAAa;AAEnC,UAAM,OAAO,OAAO,UAAU,SAAS;AACvC,UAAM,SAAS,OAAO,UAAU,KAAK;AAErC,cAAM,oBAAO,IAAI,EAAE,kBAAkB;AACrC,cAAM,oBAAO,MAAM,EAAE,kBAAkB;AAAA,EACzC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -36,12 +36,21 @@ var import_AssetItem = require("../AssetItem/AssetItem");
|
|
|
36
36
|
var import_VirtualList = require("../VirtualList/VirtualList");
|
|
37
37
|
const AssetList = ({
|
|
38
38
|
assets,
|
|
39
|
-
onClick
|
|
39
|
+
onClick,
|
|
40
|
+
onVisibleItemsScrollEnd
|
|
40
41
|
}) => {
|
|
41
42
|
const renderAssetItem = (0, import_react.useCallback)(
|
|
42
|
-
({ name, ticker }) => /* @__PURE__ */ import_react.default.createElement(import_AssetItem.AssetItem, { name, ticker, onClick }),
|
|
43
|
+
({ name, ticker, id }) => /* @__PURE__ */ import_react.default.createElement(import_AssetItem.AssetItem, { name, ticker, id, onClick }),
|
|
43
44
|
[onClick]
|
|
44
45
|
);
|
|
45
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
46
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
47
|
+
import_VirtualList.VirtualList,
|
|
48
|
+
{
|
|
49
|
+
itemHeight: 64,
|
|
50
|
+
items: assets,
|
|
51
|
+
onVisibleItemsScrollEnd,
|
|
52
|
+
renderItem: renderAssetItem
|
|
53
|
+
}
|
|
54
|
+
);
|
|
46
55
|
};
|
|
47
56
|
//# sourceMappingURL=AssetList.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/AssetList/AssetList.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useCallback } from \"react\";\nimport { AssetItem, AssetType } from \"../AssetItem/AssetItem\";\nimport { VirtualList } from \"../VirtualList/VirtualList\";\n\nexport const AssetList = ({\n assets,\n onClick,\n}: {\n assets: AssetType[];\n onClick: (asset: AssetType) => void;\n}) => {\n const renderAssetItem = useCallback(\n ({ name, ticker }: AssetType) => <AssetItem name={name} ticker={ticker} onClick={onClick}
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,uBAAqC;AACrC,yBAA4B;AAErB,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AACF,
|
|
4
|
+
"sourcesContent": ["import React, { useCallback } from \"react\";\nimport { AssetItem, AssetType } from \"../AssetItem/AssetItem\";\nimport { VirtualList } from \"../VirtualList/VirtualList\";\n\nexport const AssetList = ({\n assets,\n onClick,\n onVisibleItemsScrollEnd,\n}: {\n assets: AssetType[];\n onClick: (asset: AssetType) => void;\n onVisibleItemsScrollEnd?: () => void;\n}) => {\n const renderAssetItem = useCallback(\n ({ name, ticker, id }: AssetType) => (\n <AssetItem name={name} ticker={ticker} id={id} onClick={onClick} />\n ),\n [onClick],\n );\n\n return (\n <VirtualList\n itemHeight={64}\n items={assets}\n onVisibleItemsScrollEnd={onVisibleItemsScrollEnd}\n renderItem={renderAssetItem}\n />\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,uBAAqC;AACrC,yBAA4B;AAErB,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AACF,MAIM;AACJ,QAAM,sBAAkB;AAAA,IACtB,CAAC,EAAE,MAAM,QAAQ,GAAG,MAClB,6BAAAA,QAAA,cAAC,8BAAU,MAAY,QAAgB,IAAQ,SAAkB;AAAA,IAEnE,CAAC,OAAO;AAAA,EACV;AAEA,SACE,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,YAAY;AAAA,MACZ,OAAO;AAAA,MACP;AAAA,MACA,YAAY;AAAA;AAAA,EACd;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -45,7 +45,11 @@ const meta = {
|
|
|
45
45
|
title: "PreLdls/Components/AssetList",
|
|
46
46
|
tags: ["autodocs"],
|
|
47
47
|
args: {
|
|
48
|
-
assets: Array.from({ length: 50 }).map((_, i) => ({
|
|
48
|
+
assets: Array.from({ length: 50 }).map((_, i) => ({
|
|
49
|
+
name: `Bitcoin ${i}`,
|
|
50
|
+
ticker: "BTC",
|
|
51
|
+
id: "bitcoin"
|
|
52
|
+
})),
|
|
49
53
|
onClick: testFn
|
|
50
54
|
}
|
|
51
55
|
};
|
|
@@ -56,7 +60,7 @@ const TestAssetClick = {
|
|
|
56
60
|
const canvas = (0, import_test.within)(canvasElement);
|
|
57
61
|
const input = canvas.getByText("Bitcoin 1");
|
|
58
62
|
await import_test.userEvent.click(input);
|
|
59
|
-
await (0, import_test.expect)(testFn).toHaveBeenCalledWith({ name: "Bitcoin 1", ticker: "BTC" });
|
|
63
|
+
await (0, import_test.expect)(testFn).toHaveBeenCalledWith({ name: "Bitcoin 1", ticker: "BTC", id: "bitcoin" });
|
|
60
64
|
}
|
|
61
65
|
};
|
|
62
66
|
//# sourceMappingURL=AssetList.stories.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/AssetList/AssetList.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { AssetList } from \"./AssetList\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\n\nconst testFn = fn();\n\nconst meta: Meta<typeof AssetList> = {\n component: AssetList,\n decorators: [\n Story => (\n <div style={{ height: \"400px\" }}>\n <Story />\n </div>\n ),\n ],\n title: \"PreLdls/Components/AssetList\",\n tags: [\"autodocs\"],\n args: {\n assets: Array.from({ length: 50 }).map((_, i) => ({
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0B;AAC1B,kBAA8C;AAC9C,mBAAkB;AAElB,MAAM,aAAS,gBAAG;AAElB,MAAM,OAA+B;AAAA,EACnC,WAAW;AAAA,EACX,YAAY;AAAA,IACV,WACE,6BAAAA,QAAA,cAAC,SAAI,OAAO,EAAE,QAAQ,QAAQ,KAC5B,6BAAAA,QAAA,cAAC,WAAM,CACT;AAAA,EAEJ;AAAA,EACA,OAAO;AAAA,EACP,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM;AAAA,IACJ,QAAQ,MAAM,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { AssetList } from \"./AssetList\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\n\nconst testFn = fn();\n\nconst meta: Meta<typeof AssetList> = {\n component: AssetList,\n decorators: [\n Story => (\n <div style={{ height: \"400px\" }}>\n <Story />\n </div>\n ),\n ],\n title: \"PreLdls/Components/AssetList\",\n tags: [\"autodocs\"],\n args: {\n assets: Array.from({ length: 50 }).map((_, i) => ({\n name: `Bitcoin ${i}`,\n ticker: \"BTC\",\n id: \"bitcoin\",\n })),\n onClick: testFn,\n },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof AssetList>;\n\nexport const Default: Story = {};\n\nexport const TestAssetClick: Story = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const input = canvas.getByText(\"Bitcoin 1\");\n await userEvent.click(input);\n await expect(testFn).toHaveBeenCalledWith({ name: \"Bitcoin 1\", ticker: \"BTC\", id: \"bitcoin\" });\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,uBAA0B;AAC1B,kBAA8C;AAC9C,mBAAkB;AAElB,MAAM,aAAS,gBAAG;AAElB,MAAM,OAA+B;AAAA,EACnC,WAAW;AAAA,EACX,YAAY;AAAA,IACV,WACE,6BAAAA,QAAA,cAAC,SAAI,OAAO,EAAE,QAAQ,QAAQ,KAC5B,6BAAAA,QAAA,cAAC,WAAM,CACT;AAAA,EAEJ;AAAA,EACA,OAAO;AAAA,EACP,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM;AAAA,IACJ,QAAQ,MAAM,KAAK,EAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO;AAAA,MAChD,MAAM,WAAW,CAAC;AAAA,MAClB,QAAQ;AAAA,MACR,IAAI;AAAA,IACN,EAAE;AAAA,IACF,SAAS;AAAA,EACX;AACF;AACA,IAAO,4BAAQ;AAIR,MAAM,UAAiB,CAAC;AAExB,MAAM,iBAAwB;AAAA,EACnC,MAAM,OAAO,EAAE,cAAc,MAAM;AACjC,UAAM,aAAS,oBAAO,aAAa;AACnC,UAAM,QAAQ,OAAO,UAAU,WAAW;AAC1C,UAAM,sBAAU,MAAM,KAAK;AAC3B,cAAM,oBAAO,MAAM,EAAE,qBAAqB,EAAE,MAAM,aAAa,QAAQ,OAAO,IAAI,UAAU,CAAC;AAAA,EAC/F;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var CardButton_exports = {};
|
|
30
|
+
__export(CardButton_exports, {
|
|
31
|
+
CardButton: () => CardButton
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(CardButton_exports);
|
|
34
|
+
var import_react = __toESM(require("react"));
|
|
35
|
+
var import_libs = require("../../libs");
|
|
36
|
+
var import_styled_components = __toESM(require("styled-components"));
|
|
37
|
+
const Button = import_styled_components.default.button`
|
|
38
|
+
${(0, import_libs.withTokens)(
|
|
39
|
+
"colors-content-default-default",
|
|
40
|
+
"colors-surface-transparent-hover",
|
|
41
|
+
"colors-surface-transparent-pressed",
|
|
42
|
+
"colors-border-light-default",
|
|
43
|
+
"colors-opacity-default-10",
|
|
44
|
+
"colors-border-subdued-default-hover",
|
|
45
|
+
"colors-border-subdued-default-pressed",
|
|
46
|
+
"colors-border-focus-default",
|
|
47
|
+
"radius-s",
|
|
48
|
+
"border-width-default",
|
|
49
|
+
"border-width-focus",
|
|
50
|
+
"spacing-xs"
|
|
51
|
+
)}
|
|
52
|
+
|
|
53
|
+
display: flex;
|
|
54
|
+
padding: var(--spacing-xs);
|
|
55
|
+
flex-grow: 1;
|
|
56
|
+
justify-content: space-between;
|
|
57
|
+
align-items: center;
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
|
|
60
|
+
background-color: transparent;
|
|
61
|
+
color: var(--colors-content-default-default);
|
|
62
|
+
font-weight: 600;
|
|
63
|
+
|
|
64
|
+
border-width: var(--border-width-default);
|
|
65
|
+
border-radius: var(--radius-s);
|
|
66
|
+
border-color: ${({ theme: { theme } }) => theme === "light" ? "var(--colors-border-light-default);" : "var(--colors-opacity-default-10);"}
|
|
67
|
+
|
|
68
|
+
:hover {
|
|
69
|
+
background-color: var(--colors-surface-transparent-hover);
|
|
70
|
+
${({ theme: { theme } }) => theme === "light" && "border-color: var(--colors-border-subdued-default-hover);"}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
:active {
|
|
74
|
+
background-color: var(--colors-surface-transparent-pressed);
|
|
75
|
+
${({ theme: { theme } }) => theme === "light" && "border-color: var(--colors-border-subdued-default-pressed);"}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
:focus-visible {
|
|
79
|
+
border-color: var(--colors-border-focus-default);
|
|
80
|
+
border-width: var(--border-width-focus);
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
const CardButton = ({
|
|
84
|
+
onClick,
|
|
85
|
+
title,
|
|
86
|
+
iconRight,
|
|
87
|
+
variant = "default"
|
|
88
|
+
}) => {
|
|
89
|
+
return /* @__PURE__ */ import_react.default.createElement(Button, { onClick, style: { borderStyle: variant === "default" ? "solid" : "dashed" } }, title, " ", iconRight);
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=CardButton.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/pre-ldls/components/CardButton/CardButton.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport { withTokens } from \"../../libs\";\nimport styled from \"styled-components\";\n\nconst Button = styled.button`\n ${withTokens(\n \"colors-content-default-default\",\n \"colors-surface-transparent-hover\",\n \"colors-surface-transparent-pressed\",\n \"colors-border-light-default\",\n \"colors-opacity-default-10\",\n \"colors-border-subdued-default-hover\",\n \"colors-border-subdued-default-pressed\",\n \"colors-border-focus-default\",\n \"radius-s\",\n \"border-width-default\",\n \"border-width-focus\",\n \"spacing-xs\",\n )}\n\n display: flex;\n padding: var(--spacing-xs);\n flex-grow: 1;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n\n background-color: transparent;\n color: var(--colors-content-default-default);\n font-weight: 600;\n\n border-width: var(--border-width-default);\n border-radius: var(--radius-s);\n border-color: ${({ theme: { theme } }) =>\n theme === \"light\" ? \"var(--colors-border-light-default);\" : \"var(--colors-opacity-default-10);\"}\n\n :hover {\n background-color: var(--colors-surface-transparent-hover);\n ${({ theme: { theme } }) =>\n theme === \"light\" && \"border-color: var(--colors-border-subdued-default-hover);\"}\n }\n\n :active {\n background-color: var(--colors-surface-transparent-pressed);\n ${({ theme: { theme } }) => theme === \"light\" && \"border-color: var(--colors-border-subdued-default-pressed);\"}\n }\n\n :focus-visible {\n border-color: var(--colors-border-focus-default);\n border-width: var(--border-width-focus);\n }\n`;\n\nexport const CardButton = ({\n onClick,\n title,\n iconRight,\n variant = \"default\",\n}: {\n onClick: () => void;\n title: string;\n iconRight?: JSX.Element;\n variant?: \"default\" | \"dashed\";\n}) => {\n return (\n <Button onClick={onClick} style={{ borderStyle: variant === \"default\" ? \"solid\" : \"dashed\" }}>\n {title} {iconRight}\n </Button>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,kBAA2B;AAC3B,+BAAmB;AAEnB,MAAM,SAAS,yBAAAA,QAAO;AAAA,QAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAee,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAClC,UAAU,UAAU,wCAAwC,mCAAmC;AAAA;AAAA;AAAA;AAAA,MAI7F,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MACpB,UAAU,WAAW,2DAA2D;AAAA;AAAA;AAAA;AAAA;AAAA,MAKhF,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,WAAW,6DAA6D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS3G,MAAM,aAAa,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AACZ,MAKM;AACJ,SACE,6BAAAC,QAAA,cAAC,UAAO,SAAkB,OAAO,EAAE,aAAa,YAAY,YAAY,UAAU,SAAS,KACxF,OAAM,KAAE,SACX;AAEJ;",
|
|
6
|
+
"names": ["styled", "React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var CardButton_stories_exports = {};
|
|
30
|
+
__export(CardButton_stories_exports, {
|
|
31
|
+
Dashed: () => Dashed,
|
|
32
|
+
Default: () => Default,
|
|
33
|
+
IconRight: () => IconRight,
|
|
34
|
+
TestOnClick: () => TestOnClick,
|
|
35
|
+
default: () => CardButton_stories_default
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(CardButton_stories_exports);
|
|
38
|
+
var import_react = __toESM(require("react"));
|
|
39
|
+
var import_CardButton = require("./CardButton");
|
|
40
|
+
var import_test = require("@storybook/test");
|
|
41
|
+
var import_assets = require("../../../assets");
|
|
42
|
+
const meta = {
|
|
43
|
+
component: import_CardButton.CardButton,
|
|
44
|
+
title: "PreLdls/Components/CardButton",
|
|
45
|
+
decorators: [
|
|
46
|
+
(Story) => /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex" } }, /* @__PURE__ */ import_react.default.createElement(Story, null))
|
|
47
|
+
],
|
|
48
|
+
tags: ["autodocs"],
|
|
49
|
+
args: {
|
|
50
|
+
onClick: () => null,
|
|
51
|
+
title: "Title",
|
|
52
|
+
variant: "default"
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
var CardButton_stories_default = meta;
|
|
56
|
+
const Default = {};
|
|
57
|
+
const Dashed = {
|
|
58
|
+
args: {
|
|
59
|
+
onClick: () => null,
|
|
60
|
+
title: "Title",
|
|
61
|
+
variant: "dashed"
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const IconRight = {
|
|
65
|
+
args: {
|
|
66
|
+
onClick: () => null,
|
|
67
|
+
title: "Title",
|
|
68
|
+
iconRight: /* @__PURE__ */ import_react.default.createElement(import_assets.Icons.Plus, { size: "S" })
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const onClick = (0, import_test.fn)();
|
|
72
|
+
const TestOnClick = {
|
|
73
|
+
args: {
|
|
74
|
+
onClick,
|
|
75
|
+
title: "Title"
|
|
76
|
+
},
|
|
77
|
+
play: async ({ canvasElement }) => {
|
|
78
|
+
const canvas = (0, import_test.within)(canvasElement);
|
|
79
|
+
const button = canvas.getByText(/title/i);
|
|
80
|
+
await import_test.userEvent.click(button);
|
|
81
|
+
await (0, import_test.expect)(onClick).toHaveBeenCalled();
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=CardButton.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/pre-ldls/components/CardButton/CardButton.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { CardButton } from \"./CardButton\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport { Icons } from \"../../../assets\";\n\nconst meta: Meta<typeof CardButton> = {\n component: CardButton,\n title: \"PreLdls/Components/CardButton\",\n decorators: [\n Story => (\n <div style={{ display: \"flex\" }}>\n <Story />\n </div>\n ),\n ],\n tags: [\"autodocs\"],\n args: {\n onClick: () => null,\n title: \"Title\",\n variant: \"default\",\n },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof CardButton>;\n\nexport const Default: Story = {};\n\nexport const Dashed: Story = {\n args: {\n onClick: () => null,\n title: \"Title\",\n variant: \"dashed\",\n },\n};\n\nexport const IconRight: Story = {\n args: {\n onClick: () => null,\n title: \"Title\",\n iconRight: <Icons.Plus size=\"S\" />,\n },\n};\n\nconst onClick = fn();\n\nexport const TestOnClick: Story = {\n args: {\n onClick,\n title: \"Title\",\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const button = canvas.getByText(/title/i);\n\n await userEvent.click(button);\n\n await expect(onClick).toHaveBeenCalled();\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,wBAA2B;AAC3B,kBAA8C;AAC9C,oBAAsB;AAEtB,MAAM,OAAgC;AAAA,EACpC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,IACV,WACE,6BAAAA,QAAA,cAAC,SAAI,OAAO,EAAE,SAAS,OAAO,KAC5B,6BAAAA,QAAA,cAAC,WAAM,CACT;AAAA,EAEJ;AAAA,EACA,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM;AAAA,IACJ,SAAS,MAAM;AAAA,IACf,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AACF;AACA,IAAO,6BAAQ;AAIR,MAAM,UAAiB,CAAC;AAExB,MAAM,SAAgB;AAAA,EAC3B,MAAM;AAAA,IACJ,SAAS,MAAM;AAAA,IACf,OAAO;AAAA,IACP,SAAS;AAAA,EACX;AACF;AAEO,MAAM,YAAmB;AAAA,EAC9B,MAAM;AAAA,IACJ,SAAS,MAAM;AAAA,IACf,OAAO;AAAA,IACP,WAAW,6BAAAA,QAAA,cAAC,oBAAM,MAAN,EAAW,MAAK,KAAI;AAAA,EAClC;AACF;AAEA,MAAM,cAAU,gBAAG;AAEZ,MAAM,cAAqB;AAAA,EAChC,MAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,EAAE,cAAc,MAAM;AACjC,UAAM,aAAS,oBAAO,aAAa;AACnC,UAAM,SAAS,OAAO,UAAU,QAAQ;AAExC,UAAM,sBAAU,MAAM,MAAM;AAE5B,cAAM,oBAAO,OAAO,EAAE,iBAAiB;AAAA,EACzC;AACF;",
|
|
6
|
+
"names": ["React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var CryptoIcon_exports = {};
|
|
30
|
+
__export(CryptoIcon_exports, {
|
|
31
|
+
CryptoIcon: () => CryptoIcon
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(CryptoIcon_exports);
|
|
34
|
+
var import_react = __toESM(require("react"));
|
|
35
|
+
var import_crypto_icons = require("@ledgerhq/crypto-icons");
|
|
36
|
+
function CryptoIcon(props) {
|
|
37
|
+
return /* @__PURE__ */ import_react.default.createElement(import_crypto_icons.CryptoIcon, { ...props });
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=CryptoIcon.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport { CryptoIcon as Icon } from \"@ledgerhq/crypto-icons\";\n\nexport function CryptoIcon(props: Parameters<typeof Icon>[0]) {\n return <Icon {...props} />;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,0BAAmC;AAE5B,SAAS,WAAW,OAAmC;AAC5D,SAAO,6BAAAA,QAAA,cAAC,oBAAAC,YAAA,EAAM,GAAG,OAAO;AAC1B;",
|
|
6
|
+
"names": ["React", "Icon"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var CryptoIcon_stories_exports = {};
|
|
20
|
+
__export(CryptoIcon_stories_exports, {
|
|
21
|
+
Default: () => Default,
|
|
22
|
+
default: () => CryptoIcon_stories_default
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(CryptoIcon_stories_exports);
|
|
25
|
+
var import_CryptoIcon = require("./CryptoIcon");
|
|
26
|
+
const meta = {
|
|
27
|
+
component: import_CryptoIcon.CryptoIcon,
|
|
28
|
+
title: "PreLdls/Components/CryptoIcon",
|
|
29
|
+
tags: ["autodocs"],
|
|
30
|
+
args: {
|
|
31
|
+
ledgerId: "bitcoin",
|
|
32
|
+
ticker: "BTC",
|
|
33
|
+
size: "56px",
|
|
34
|
+
network: ""
|
|
35
|
+
},
|
|
36
|
+
argTypes: {
|
|
37
|
+
size: { options: ["16px", "24px", "32px", "40px", "48px", "56px"], control: "select" },
|
|
38
|
+
ledgerId: {
|
|
39
|
+
description: "A chain eg algorand, aptos, bitcoin, cardano, casper"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
var CryptoIcon_stories_default = meta;
|
|
44
|
+
const Default = {
|
|
45
|
+
name: "CryptoIcon"
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=CryptoIcon.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import { type Meta, type StoryObj } from \"@storybook/react\";\nimport { CryptoIcon } from \"./CryptoIcon\";\n\nconst meta: Meta<typeof CryptoIcon> = {\n component: CryptoIcon,\n title: \"PreLdls/Components/CryptoIcon\",\n tags: [\"autodocs\"],\n args: {\n ledgerId: \"bitcoin\",\n ticker: \"BTC\",\n size: \"56px\",\n network: \"\",\n },\n argTypes: {\n size: { options: [\"16px\", \"24px\", \"32px\", \"40px\", \"48px\", \"56px\"], control: \"select\" },\n ledgerId: {\n description: \"A chain eg algorand, aptos, bitcoin, cardano, casper\",\n },\n },\n};\nexport default meta;\n\ntype Story = StoryObj<typeof CryptoIcon>;\n\nexport const Default: Story = {\n name: \"CryptoIcon\",\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAA2B;AAE3B,MAAM,OAAgC;AAAA,EACpC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM,CAAC,UAAU;AAAA,EACjB,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM,EAAE,SAAS,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,MAAM,GAAG,SAAS,SAAS;AAAA,IACrF,UAAU;AAAA,MACR,aAAa;AAAA,IACf;AAAA,EACF;AACF;AACA,IAAO,6BAAQ;AAIR,MAAM,UAAiB;AAAA,EAC5B,MAAM;AACR;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -44,7 +44,6 @@ const Wrapper = import_styled_components.default.div`
|
|
|
44
44
|
)}
|
|
45
45
|
|
|
46
46
|
display: flex;
|
|
47
|
-
width: 328px;
|
|
48
47
|
height: 40px;
|
|
49
48
|
min-width: 328px;
|
|
50
49
|
padding: 0px var(--spacing-s, 16px);
|
|
@@ -54,9 +53,11 @@ const Wrapper = import_styled_components.default.div`
|
|
|
54
53
|
border-radius: var(--radius-s, 8px);
|
|
55
54
|
background: var(--colors-surface-transparent-subdued-default, rgba(0, 0, 0, 0.03));
|
|
56
55
|
color: var(--colors-content-subdued-default-default);
|
|
56
|
+
overflow: hidden;
|
|
57
57
|
`;
|
|
58
58
|
const StyledInput = import_styled_components.default.input`
|
|
59
59
|
background: none;
|
|
60
|
+
cursor: text;
|
|
60
61
|
border: none;
|
|
61
62
|
width: 100%;
|
|
62
63
|
`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/Input/Input.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\n\ntype Props = Readonly<React.ComponentProps<\"input\"> & { icon?: React.ReactNode }>;\n\nconst Wrapper = styled.div`\n ${withTokens(\n \"spacing-s\",\n \"spacing-xxs\",\n \"radius-s\",\n \"colors-surface-transparent-subdued-default\",\n \"colors-content-subdued-default-default\",\n )}\n\n display: flex;\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAA2B;AAI3B,MAAM,UAAU,yBAAAA,QAAO;AAAA,QACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeH,MAAM,cAAc,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"sourcesContent": ["import React from \"react\";\nimport styled from \"styled-components\";\nimport { withTokens } from \"../../libs\";\n\ntype Props = Readonly<React.ComponentProps<\"input\"> & { icon?: React.ReactNode }>;\n\nconst Wrapper = styled.div`\n ${withTokens(\n \"spacing-s\",\n \"spacing-xxs\",\n \"radius-s\",\n \"colors-surface-transparent-subdued-default\",\n \"colors-content-subdued-default-default\",\n )}\n\n display: flex;\n height: 40px;\n min-width: 328px;\n padding: 0px var(--spacing-s, 16px);\n align-items: center;\n gap: var(--spacing-xxs, 8px);\n\n border-radius: var(--radius-s, 8px);\n background: var(--colors-surface-transparent-subdued-default, rgba(0, 0, 0, 0.03));\n color: var(--colors-content-subdued-default-default);\n overflow: hidden;\n`;\n\nconst StyledInput = styled.input`\n background: none;\n cursor: text;\n border: none;\n width: 100%;\n`;\n\nexport const Input = React.forwardRef<HTMLInputElement, Props>(\n ({ type = \"text\", icon = null, ...props }, ref) => {\n return (\n <Wrapper>\n {icon}\n <StyledInput {...props} type={type} ref={ref} />\n </Wrapper>\n );\n },\n);\nInput.displayName = \"Input\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,+BAAmB;AACnB,kBAA2B;AAI3B,MAAM,UAAU,yBAAAA,QAAO;AAAA,QACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeH,MAAM,cAAc,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpB,MAAM,QAAQ,aAAAC,QAAM;AAAA,EACzB,CAAC,EAAE,OAAO,QAAQ,OAAO,MAAM,GAAG,MAAM,GAAG,QAAQ;AACjD,WACE,6BAAAA,QAAA,cAAC,eACE,MACD,6BAAAA,QAAA,cAAC,eAAa,GAAG,OAAO,MAAY,KAAU,CAChD;AAAA,EAEJ;AACF;AACA,MAAM,cAAc;",
|
|
6
6
|
"names": ["styled", "React"]
|
|
7
7
|
}
|
|
@@ -35,25 +35,12 @@ var import_react = __toESM(require("react"));
|
|
|
35
35
|
var import_styled_components = __toESM(require("styled-components"));
|
|
36
36
|
var import_libs = require("../../libs");
|
|
37
37
|
var import_components = require("../../../components");
|
|
38
|
-
|
|
39
|
-
// TODO: To be replaced with LIVE-18221
|
|
40
|
-
/* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center" } }, /* @__PURE__ */ import_react.default.createElement(
|
|
41
|
-
"span",
|
|
42
|
-
{
|
|
43
|
-
style: {
|
|
44
|
-
height: 48,
|
|
45
|
-
width: 48,
|
|
46
|
-
borderRadius: 48,
|
|
47
|
-
backgroundColor: "grey",
|
|
48
|
-
display: "inline-block"
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
))
|
|
52
|
-
);
|
|
38
|
+
var import_CryptoIcon = require("../CryptoIcon/CryptoIcon");
|
|
53
39
|
const Wrapper = import_styled_components.default.div`
|
|
54
40
|
${(0, import_libs.withTokens)(
|
|
55
41
|
"spacing-xxs",
|
|
56
42
|
"margin-s",
|
|
43
|
+
"radius-s",
|
|
57
44
|
"colors-content-default-default",
|
|
58
45
|
"colors-surface-transparent-hover",
|
|
59
46
|
"colors-surface-transparent-pressed"
|
|
@@ -61,6 +48,8 @@ const Wrapper = import_styled_components.default.div`
|
|
|
61
48
|
display: flex;
|
|
62
49
|
padding: var(--spacing-xxs);
|
|
63
50
|
cursor: pointer;
|
|
51
|
+
border-radius: var(--radius-s, 8px);
|
|
52
|
+
align-items: center;
|
|
64
53
|
|
|
65
54
|
:hover {
|
|
66
55
|
background-color: var(--colors-surface-transparent-hover);
|
|
@@ -76,8 +65,8 @@ const InfoWrapper = import_styled_components.default.div`
|
|
|
76
65
|
justify-content: center;
|
|
77
66
|
margin-left: var(--margin-s);
|
|
78
67
|
`;
|
|
79
|
-
const NetworkItem = ({ name, onClick }) => {
|
|
80
|
-
return /* @__PURE__ */ import_react.default.createElement(Wrapper, { onClick }, /* @__PURE__ */ import_react.default.createElement(
|
|
68
|
+
const NetworkItem = ({ name, onClick, id, ticker }) => {
|
|
69
|
+
return /* @__PURE__ */ import_react.default.createElement(Wrapper, { onClick }, /* @__PURE__ */ import_react.default.createElement(import_CryptoIcon.CryptoIcon, { size: "48px", ledgerId: id, ticker }), /* @__PURE__ */ import_react.default.createElement(InfoWrapper, null, /* @__PURE__ */ import_react.default.createElement(
|
|
81
70
|
import_components.Text,
|
|
82
71
|
{
|
|
83
72
|
variant: "largeLineHeight",
|