@ledgerhq/react-ui 0.22.0 → 0.23.0-nightly.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/components/asorted/Icon/Icons.stories.js +1 -2
- package/lib/cjs/components/asorted/Icon/Icons.stories.js.map +2 -2
- package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js +1 -1
- package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js.map +1 -1
- package/lib/cjs/components/cta/Toggle/Toggle.stories.js.map +2 -2
- package/lib/cjs/components/form/Checkbox/Checkbox.stories.js.map +2 -2
- package/lib/cjs/components/form/Radio/Radio.stories.js.map +2 -2
- package/lib/cjs/components/form/Switch/Switch.stories.js.map +2 -2
- package/lib/cjs/components/layout/Carousel/Carousel.stories.js.map +2 -2
- package/lib/cjs/components/layout/Drawer/Drawer.stories.js.map +2 -2
- package/lib/cjs/components/layout/Popin/Popin.stories.js.map +2 -2
- package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js.map +2 -2
- package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js +100 -0
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js.map +7 -0
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js +45 -0
- package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.js +50 -0
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.js.map +7 -0
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js +62 -0
- package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/Input/Input.stories.js.map +2 -2
- package/lib/cjs/pre-ldls/components/Search/Search.js +63 -0
- package/lib/cjs/pre-ldls/components/Search/Search.js.map +7 -0
- package/lib/cjs/pre-ldls/components/Search/Search.stories.js +63 -0
- package/lib/cjs/pre-ldls/components/Search/Search.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.js +54 -0
- package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.js.map +7 -0
- package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js +70 -0
- package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/components/index.js +4 -0
- package/lib/cjs/pre-ldls/components/index.js.map +2 -2
- package/lib/cjs/pre-ldls/{types.js → hooks/index.js} +5 -3
- package/lib/cjs/pre-ldls/hooks/index.js.map +7 -0
- package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.js +39 -0
- package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.js.map +7 -0
- package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.stories.js +91 -0
- package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.stories.js.map +7 -0
- package/lib/cjs/pre-ldls/libs/index.js +13 -3
- package/lib/cjs/pre-ldls/libs/index.js.map +2 -2
- package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts +11 -0
- package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts.map +1 -0
- package/lib/pre-ldls/components/AssetItem/AssetItem.js +43 -0
- package/lib/pre-ldls/components/AssetItem/AssetItem.js.map +1 -0
- package/lib/pre-ldls/components/AssetList/AssetList.d.ts +7 -0
- package/lib/pre-ldls/components/AssetList/AssetList.d.ts.map +1 -0
- package/lib/pre-ldls/components/AssetList/AssetList.js +7 -0
- package/lib/pre-ldls/components/AssetList/AssetList.js.map +1 -0
- package/lib/pre-ldls/components/Search/Search.d.ts +9 -0
- package/lib/pre-ldls/components/Search/Search.d.ts.map +1 -0
- package/lib/pre-ldls/components/Search/Search.js +27 -0
- package/lib/pre-ldls/components/Search/Search.js.map +1 -0
- package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts +7 -0
- package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts.map +1 -0
- package/lib/pre-ldls/components/VirtualList/VirtualList.js +7 -0
- package/lib/pre-ldls/components/VirtualList/VirtualList.js.map +1 -0
- package/lib/pre-ldls/components/index.d.ts +4 -0
- package/lib/pre-ldls/components/index.d.ts.map +1 -1
- package/lib/pre-ldls/components/index.js +4 -0
- package/lib/pre-ldls/components/index.js.map +1 -1
- package/lib/pre-ldls/hooks/index.d.ts +2 -0
- package/lib/pre-ldls/hooks/index.d.ts.map +1 -0
- package/lib/pre-ldls/hooks/index.js +2 -0
- package/lib/pre-ldls/hooks/index.js.map +1 -0
- package/lib/pre-ldls/hooks/useDebouncedCallback.d.ts +2 -0
- package/lib/pre-ldls/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/lib/pre-ldls/hooks/useDebouncedCallback.js +16 -0
- package/lib/pre-ldls/hooks/useDebouncedCallback.js.map +1 -0
- package/lib/pre-ldls/libs/index.d.ts +2 -2
- package/lib/pre-ldls/libs/index.d.ts.map +1 -1
- package/lib/pre-ldls/libs/index.js +14 -3
- package/lib/pre-ldls/libs/index.js.map +1 -1
- package/package.json +7 -3
- package/lib/cjs/pre-ldls/types.js.map +0 -7
- package/lib/pre-ldls/types.d.ts +0 -4
- package/lib/pre-ldls/types.d.ts.map +0 -1
- package/lib/pre-ldls/types.js +0 -2
- package/lib/pre-ldls/types.js.map +0 -1
|
@@ -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 useDebouncedCallback_stories_exports = {};
|
|
30
|
+
__export(useDebouncedCallback_stories_exports, {
|
|
31
|
+
Test: () => Test,
|
|
32
|
+
default: () => useDebouncedCallback_stories_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(useDebouncedCallback_stories_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_test = require("@storybook/test");
|
|
37
|
+
var import__ = require(".");
|
|
38
|
+
const callback1 = (0, import_test.fn)();
|
|
39
|
+
const callback2 = (0, import_test.fn)();
|
|
40
|
+
const meta = {
|
|
41
|
+
component: Template,
|
|
42
|
+
title: "PreLdls/Hooks/useDebouncedCallback",
|
|
43
|
+
tags: ["!autodocs"],
|
|
44
|
+
args: {
|
|
45
|
+
delay: 100,
|
|
46
|
+
callback1,
|
|
47
|
+
callback2
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var useDebouncedCallback_stories_default = meta;
|
|
51
|
+
const Test = {
|
|
52
|
+
name: "useDebouncedCallback",
|
|
53
|
+
play: async ({ canvasElement, step }) => {
|
|
54
|
+
const canvas = (0, import_test.within)(canvasElement);
|
|
55
|
+
const input = canvas.getByRole("textbox");
|
|
56
|
+
const callback2Btn = canvas.getByText("Use Callback 2");
|
|
57
|
+
await step("Debounce callback calls", async () => {
|
|
58
|
+
await import_test.userEvent.type(input, "Write something");
|
|
59
|
+
(0, import_test.expect)(input).toHaveValue("Write something");
|
|
60
|
+
(0, import_test.expect)(callback1).not.toHaveBeenCalled();
|
|
61
|
+
await (0, import_test.waitFor)(() => (0, import_test.expect)(callback1).toHaveBeenCalledTimes(1), { timeout: 200 });
|
|
62
|
+
(0, import_test.expect)(callback1).toHaveBeenCalledWith("Write something");
|
|
63
|
+
});
|
|
64
|
+
await step("Switch callback function", async () => {
|
|
65
|
+
await import_test.userEvent.type(input, " else");
|
|
66
|
+
await import_test.userEvent.click(callback2Btn);
|
|
67
|
+
await import_test.userEvent.type(input, ".");
|
|
68
|
+
await (0, import_test.waitFor)(() => (0, import_test.expect)(callback2).toHaveBeenCalledTimes(1), { timeout: 200 });
|
|
69
|
+
(0, import_test.expect)(callback1).not.toHaveBeenCalledWith(/^Write something else.*/);
|
|
70
|
+
(0, import_test.expect)(callback2).toHaveBeenCalledWith("Write something else.");
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
function Template({ callback1: callback12, callback2: callback22, delay }) {
|
|
75
|
+
const [callback, setCallback] = (0, import_react.useState)(() => callback12);
|
|
76
|
+
const debouncedCallback = (0, import__.useDebouncedCallback)(callback, delay);
|
|
77
|
+
const [value, setValue] = (0, import_react.useState)("");
|
|
78
|
+
return /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(
|
|
79
|
+
"input",
|
|
80
|
+
{
|
|
81
|
+
type: "text",
|
|
82
|
+
value,
|
|
83
|
+
onChange: (event) => {
|
|
84
|
+
const value2 = event.target.value;
|
|
85
|
+
setValue(value2);
|
|
86
|
+
debouncedCallback == null ? void 0 : debouncedCallback(value2);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
), " ", /* @__PURE__ */ import_react.default.createElement("button", { onClick: () => setCallback(() => callback12) }, "Use Callback 1"), " ", /* @__PURE__ */ import_react.default.createElement("button", { onClick: () => setCallback(() => callback22) }, "Use Callback 2"));
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=useDebouncedCallback.stories.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/pre-ldls/hooks/useDebouncedCallback.stories.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useState } from \"react\";\nimport { type Meta, type StoryObj } from \"@storybook/react\";\nimport { expect, fn, Mock, userEvent, waitFor, within } from \"@storybook/test\";\nimport { useDebouncedCallback } from \".\";\n\nconst callback1 = fn();\nconst callback2 = fn();\n\nconst meta: Meta<typeof Template> = {\n component: Template,\n title: \"PreLdls/Hooks/useDebouncedCallback\",\n tags: [\"!autodocs\"],\n args: {\n delay: 100,\n callback1,\n callback2,\n },\n};\nexport default meta;\n\nexport const Test: StoryObj<typeof Template> = {\n name: \"useDebouncedCallback\",\n play: async ({ canvasElement, step }) => {\n const canvas = within(canvasElement);\n const input = canvas.getByRole(\"textbox\");\n const callback2Btn = canvas.getByText(\"Use Callback 2\");\n\n await step(\"Debounce callback calls\", async () => {\n await userEvent.type(input, \"Write something\");\n expect(input).toHaveValue(\"Write something\");\n expect(callback1).not.toHaveBeenCalled();\n await waitFor(() => expect(callback1).toHaveBeenCalledTimes(1), { timeout: 200 });\n expect(callback1).toHaveBeenCalledWith(\"Write something\");\n });\n\n await step(\"Switch callback function\", async () => {\n await userEvent.type(input, \" else\");\n await userEvent.click(callback2Btn);\n await userEvent.type(input, \".\");\n await waitFor(() => expect(callback2).toHaveBeenCalledTimes(1), { timeout: 200 });\n expect(callback1).not.toHaveBeenCalledWith(/^Write something else.*/);\n expect(callback2).toHaveBeenCalledWith(\"Write something else.\");\n });\n },\n};\n\ntype TemplateProps = {\n delay: number;\n callback1: Mock;\n callback2: Mock;\n};\nfunction Template({ callback1, callback2, delay }: TemplateProps) {\n const [callback, setCallback] = useState(() => callback1);\n const debouncedCallback = useDebouncedCallback(callback, delay);\n\n const [value, setValue] = useState(\"\");\n return (\n <div>\n <input\n type=\"text\"\n value={value}\n onChange={event => {\n const value = event.target.value;\n setValue(value);\n debouncedCallback?.(value);\n }}\n />{\" \"}\n <button onClick={() => setCallback(() => callback1)}>Use Callback 1</button>{\" \"}\n <button onClick={() => setCallback(() => callback2)}>Use Callback 2</button>\n </div>\n );\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgC;AAEhC,kBAA6D;AAC7D,eAAqC;AAErC,MAAM,gBAAY,gBAAG;AACrB,MAAM,gBAAY,gBAAG;AAErB,MAAM,OAA8B;AAAA,EAClC,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM,CAAC,WAAW;AAAA,EAClB,MAAM;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF;AACF;AACA,IAAO,uCAAQ;AAER,MAAM,OAAkC;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM,OAAO,EAAE,eAAe,KAAK,MAAM;AACvC,UAAM,aAAS,oBAAO,aAAa;AACnC,UAAM,QAAQ,OAAO,UAAU,SAAS;AACxC,UAAM,eAAe,OAAO,UAAU,gBAAgB;AAEtD,UAAM,KAAK,2BAA2B,YAAY;AAChD,YAAM,sBAAU,KAAK,OAAO,iBAAiB;AAC7C,8BAAO,KAAK,EAAE,YAAY,iBAAiB;AAC3C,8BAAO,SAAS,EAAE,IAAI,iBAAiB;AACvC,gBAAM,qBAAQ,UAAM,oBAAO,SAAS,EAAE,sBAAsB,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC;AAChF,8BAAO,SAAS,EAAE,qBAAqB,iBAAiB;AAAA,IAC1D,CAAC;AAED,UAAM,KAAK,4BAA4B,YAAY;AACjD,YAAM,sBAAU,KAAK,OAAO,OAAO;AACnC,YAAM,sBAAU,MAAM,YAAY;AAClC,YAAM,sBAAU,KAAK,OAAO,GAAG;AAC/B,gBAAM,qBAAQ,UAAM,oBAAO,SAAS,EAAE,sBAAsB,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC;AAChF,8BAAO,SAAS,EAAE,IAAI,qBAAqB,yBAAyB;AACpE,8BAAO,SAAS,EAAE,qBAAqB,uBAAuB;AAAA,IAChE,CAAC;AAAA,EACH;AACF;AAOA,SAAS,SAAS,EAAE,WAAAA,YAAW,WAAAC,YAAW,MAAM,GAAkB;AAChE,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,MAAMD,UAAS;AACxD,QAAM,wBAAoB,+BAAqB,UAAU,KAAK;AAE9D,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,SACE,6BAAAE,QAAA,cAAC,aACC,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL;AAAA,MACA,UAAU,WAAS;AACjB,cAAMC,SAAQ,MAAM,OAAO;AAC3B,iBAASA,MAAK;AACd,+DAAoBA;AAAA,MACtB;AAAA;AAAA,EACF,GAAG,KACH,6BAAAD,QAAA,cAAC,YAAO,SAAS,MAAM,YAAY,MAAMF,UAAS,KAAG,gBAAc,GAAU,KAC7E,6BAAAE,QAAA,cAAC,YAAO,SAAS,MAAM,YAAY,MAAMD,UAAS,KAAG,gBAAc,CACrE;AAEJ;",
|
|
6
|
+
"names": ["callback1", "callback2", "React", "value"]
|
|
7
|
+
}
|
|
@@ -34,19 +34,29 @@ module.exports = __toCommonJS(libs_exports);
|
|
|
34
34
|
var import_memoize = __toESM(require("lodash/memoize"));
|
|
35
35
|
var import_styled_components = require("styled-components");
|
|
36
36
|
var import_design_tokens = require("./design-tokens");
|
|
37
|
-
const
|
|
37
|
+
const extraOther = {
|
|
38
38
|
"radius-s": "8px"
|
|
39
39
|
};
|
|
40
|
+
const overrideColor = {
|
|
41
|
+
light: {
|
|
42
|
+
"surface-transparent-hover": "#0000000D",
|
|
43
|
+
"surface-transparent-pressed": "#0000001A"
|
|
44
|
+
},
|
|
45
|
+
dark: {}
|
|
46
|
+
};
|
|
40
47
|
const withTokens = (...usedTokens) => {
|
|
41
48
|
const filterTokens = (0, import_memoize.default)((theme) => {
|
|
42
|
-
const colors = {
|
|
49
|
+
const colors = {
|
|
50
|
+
dark: { ...import_design_tokens.dark, ...overrideColor.dark },
|
|
51
|
+
light: { ...import_design_tokens.light, ...overrideColor.light }
|
|
52
|
+
}[theme];
|
|
43
53
|
const colorEntries = Object.entries(colors).flatMap(([key, value]) => {
|
|
44
54
|
const color = `colors-${key}`;
|
|
45
55
|
if (!usedTokens.includes(color))
|
|
46
56
|
return [];
|
|
47
57
|
return [[`--${color}`, value]];
|
|
48
58
|
});
|
|
49
|
-
const otherEntries = [import_design_tokens.spacing,
|
|
59
|
+
const otherEntries = [import_design_tokens.spacing, extraOther].flatMap(Object.entries).flatMap(([key, value]) => {
|
|
50
60
|
if (!usedTokens.includes(key))
|
|
51
61
|
return [];
|
|
52
62
|
return [[`--${key}`, value]];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/pre-ldls/libs/index.ts"],
|
|
4
|
-
"sourcesContent": ["import memoize from \"lodash/memoize\";\nimport { css, DefaultTheme } from \"styled-components\";\nimport { dark, light, ModeColors, spacing, SpacingScale } from \"./design-tokens\";\n\n// Add temporarily missing tokens here\nconst
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,+BAAkC;AAClC,2BAA+D;AAG/D,MAAM,
|
|
4
|
+
"sourcesContent": ["import memoize from \"lodash/memoize\";\nimport { css, DefaultTheme } from \"styled-components\";\nimport { dark, light, ModeColors, spacing, SpacingScale } from \"./design-tokens\";\n\n// Add temporarily missing tokens here\nconst extraOther = {\n \"radius-s\": \"8px\",\n} as const;\n\n// override colours based on Figma differing from design-tokens.ts\nconst overrideColor = {\n light: {\n \"surface-transparent-hover\": \"#0000000D\",\n \"surface-transparent-pressed\": \"#0000001A\",\n },\n dark: {},\n} as const;\n\ntype ColorToken = `colors-${keyof ModeColors}`;\ntype OtherToken = keyof (SpacingScale & typeof extraOther);\n\nexport const withTokens = (...usedTokens: Array<ColorToken | OtherToken>) => {\n const filterTokens = memoize((theme: DefaultTheme[\"theme\"]) => {\n const colors = {\n dark: { ...dark, ...overrideColor.dark },\n light: { ...light, ...overrideColor.light },\n }[theme];\n\n const colorEntries = Object.entries(colors).flatMap(([key, value]) => {\n const color = `colors-${key}` as ColorToken;\n if (!usedTokens.includes(color)) return [];\n return [[`--${color}`, value]];\n });\n const otherEntries = [spacing, extraOther].flatMap(Object.entries).flatMap(([key, value]) => {\n if (!usedTokens.includes(key as OtherToken)) return [];\n return [[`--${key}`, value]];\n });\n\n return Object.fromEntries([...colorEntries, ...otherEntries]);\n });\n\n return css(({ theme }) => filterTokens(theme.colors.type as DefaultTheme[\"theme\"]));\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,+BAAkC;AAClC,2BAA+D;AAG/D,MAAM,aAAa;AAAA,EACjB,YAAY;AACd;AAGA,MAAM,gBAAgB;AAAA,EACpB,OAAO;AAAA,IACL,6BAA6B;AAAA,IAC7B,+BAA+B;AAAA,EACjC;AAAA,EACA,MAAM,CAAC;AACT;AAKO,MAAM,aAAa,IAAI,eAA+C;AAC3E,QAAM,mBAAe,eAAAA,SAAQ,CAAC,UAAiC;AAC7D,UAAM,SAAS;AAAA,MACb,MAAM,EAAE,GAAG,2BAAM,GAAG,cAAc,KAAK;AAAA,MACvC,OAAO,EAAE,GAAG,4BAAO,GAAG,cAAc,MAAM;AAAA,IAC5C,EAAE,KAAK;AAEP,UAAM,eAAe,OAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACpE,YAAM,QAAQ,UAAU,GAAG;AAC3B,UAAI,CAAC,WAAW,SAAS,KAAK;AAAG,eAAO,CAAC;AACzC,aAAO,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC;AAAA,IAC/B,CAAC;AACD,UAAM,eAAe,CAAC,8BAAS,UAAU,EAAE,QAAQ,OAAO,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC3F,UAAI,CAAC,WAAW,SAAS,GAAiB;AAAG,eAAO,CAAC;AACrD,aAAO,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;AAAA,IAC7B,CAAC;AAED,WAAO,OAAO,YAAY,CAAC,GAAG,cAAc,GAAG,YAAY,CAAC;AAAA,EAC9D,CAAC;AAED,aAAO,8BAAI,CAAC,EAAE,MAAM,MAAM,aAAa,MAAM,OAAO,IAA6B,CAAC;AACpF;",
|
|
6
6
|
"names": ["memoize"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type AssetType = {
|
|
3
|
+
name: string;
|
|
4
|
+
ticker: string;
|
|
5
|
+
};
|
|
6
|
+
type AssetItemProps = AssetType & {
|
|
7
|
+
onClick: (asset: AssetType) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare const AssetItem: ({ name, ticker, onClick }: AssetItemProps) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=AssetItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetItem.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetItem/AssetItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACrC,CAAC;AA+CF,eAAO,MAAM,SAAS,8BAA+B,cAAc,sBAsBlE,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import { withTokens } from "../../libs";
|
|
4
|
+
import { Text } from "../../../components";
|
|
5
|
+
const TempAssetBadge = () => (
|
|
6
|
+
// TODO: To be replaced with LIVE-18221
|
|
7
|
+
React.createElement("div", { style: { display: "flex", alignItems: "center" } },
|
|
8
|
+
React.createElement("span", { style: {
|
|
9
|
+
height: 48,
|
|
10
|
+
width: 48,
|
|
11
|
+
borderRadius: 48,
|
|
12
|
+
backgroundColor: "grey",
|
|
13
|
+
display: "inline-block",
|
|
14
|
+
} })));
|
|
15
|
+
const Wrapper = styled.div `
|
|
16
|
+
${withTokens("spacing-xs", "marging-s", "colors-content-subdued-default-default", "colors-content-default-default", "colors-surface-transparent-hover", "colors-surface-transparent-pressed")}
|
|
17
|
+
|
|
18
|
+
display: flex;
|
|
19
|
+
padding: var(--spacing-xs);
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
|
|
22
|
+
:hover {
|
|
23
|
+
background-color: var(--colors-surface-transparent-hover);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
:active {
|
|
27
|
+
background-color: var(--colors-surface-transparent-pressed);
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
const InfoWrapper = styled.div `
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
justify-content: center;
|
|
34
|
+
margin-left: var(--marging-s);
|
|
35
|
+
`;
|
|
36
|
+
export const AssetItem = ({ name, ticker, onClick }) => {
|
|
37
|
+
return (React.createElement(Wrapper, { onClick: () => onClick({ name, ticker }) },
|
|
38
|
+
React.createElement(TempAssetBadge, null),
|
|
39
|
+
React.createElement(InfoWrapper, null,
|
|
40
|
+
React.createElement(Text, { variant: "largeLineHeight", fontWeight: "semiBold", color: "var(--colors-content-default-default)" }, name),
|
|
41
|
+
React.createElement(Text, { variant: "bodyLineHeight", fontWeight: "semiBold", color: "var(--colors-content-subdued-default-default)" }, ticker))));
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=AssetItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetItem.js","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetItem/AssetItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAW3C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC;AAC3B,uCAAuC;AACvC,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;IACnD,8BACE,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,MAAM;YACvB,OAAO,EAAE,cAAc;SACxB,GACD,CACE,CACP,CAAC;AAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;IACtB,UAAU,CACV,YAAY,EACZ,WAAW,EACX,wCAAwC,EACxC,gCAAgC,EAChC,kCAAkC,EAClC,oCAAoC,CACrC;;;;;;;;;;;;;CAaF,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAK7B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAkB,EAAE,EAAE;IACrE,OAAO,CACL,oBAAC,OAAO,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC/C,oBAAC,cAAc,OAAG;QAClB,oBAAC,WAAW;YACV,oBAAC,IAAI,IACH,OAAO,EAAC,iBAAiB,EACzB,UAAU,EAAC,UAAU,EACrB,KAAK,EAAC,uCAAuC,IAE5C,IAAI,CACA;YACP,oBAAC,IAAI,IACH,OAAO,EAAC,gBAAgB,EACxB,UAAU,EAAC,UAAU,EACrB,KAAK,EAAC,+CAA+C,IAEpD,MAAM,CACF,CACK,CACN,CACX,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AssetType } from "../AssetItem/AssetItem";
|
|
3
|
+
export declare const AssetList: ({ assets, onClick, }: {
|
|
4
|
+
assets: AssetType[];
|
|
5
|
+
onClick: (asset: AssetType) => void;
|
|
6
|
+
}) => React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=AssetList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetList/AssetList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAa,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D,eAAO,MAAM,SAAS;YAIZ,SAAS,EAAE;qBACF,SAAS,KAAK,IAAI;uBAWpC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AssetItem } from "../AssetItem/AssetItem";
|
|
3
|
+
import { VirtualList } from "../VirtualList/VirtualList";
|
|
4
|
+
export const AssetList = ({ assets, onClick, }) => {
|
|
5
|
+
return (React.createElement(VirtualList, { itemHeight: 64, count: assets.length, renderItem: (i) => (React.createElement(AssetItem, { name: assets[i].name, ticker: assets[i].ticker, onClick: onClick })) }));
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=AssetList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssetList.js","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetList/AssetList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAa,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,MAAM,EACN,OAAO,GAIR,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,WAAW,IACV,UAAU,EAAE,EAAE,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EACpB,UAAU,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CACzB,oBAAC,SAAS,IAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAChF,GACD,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type InputProps = React.ComponentProps<"input">;
|
|
3
|
+
type Props = Readonly<InputProps & {
|
|
4
|
+
onDebouncedChange?: (current: string, prev: string) => void;
|
|
5
|
+
debounceTime?: number;
|
|
6
|
+
}>;
|
|
7
|
+
export declare function Search({ onDebouncedChange, debounceTime, onChange, ...props }: Props): React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=Search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/Search/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,KAAK,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAChD,KAAK,KAAK,GAAG,QAAQ,CACnB,UAAU,GAAG;IACX,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CACF,CAAC;AAEF,wBAAgB,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAkB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,qBAyB1F"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React, { useMemo, useRef } from "react";
|
|
2
|
+
import { Icons } from "../../../assets";
|
|
3
|
+
import { useDebouncedCallback } from "../../hooks";
|
|
4
|
+
import { Input } from "..";
|
|
5
|
+
export function Search({ onDebouncedChange, debounceTime = 500, onChange, ...props }) {
|
|
6
|
+
const initialValue = props.value ?? props.defaultValue ?? "";
|
|
7
|
+
const prevValue = useRef(String(initialValue));
|
|
8
|
+
const handleDebouncedChange = useDebouncedCallback(useMemo(() => {
|
|
9
|
+
if (!onDebouncedChange)
|
|
10
|
+
return;
|
|
11
|
+
return (event) => {
|
|
12
|
+
const current = event.target.value;
|
|
13
|
+
onDebouncedChange(current, prevValue.current);
|
|
14
|
+
prevValue.current = current;
|
|
15
|
+
};
|
|
16
|
+
}, [onDebouncedChange]), debounceTime);
|
|
17
|
+
const handleChange = useMemo(() => {
|
|
18
|
+
if (!handleDebouncedChange && !onChange)
|
|
19
|
+
return;
|
|
20
|
+
return (event) => {
|
|
21
|
+
onChange?.(event);
|
|
22
|
+
handleDebouncedChange?.(event);
|
|
23
|
+
};
|
|
24
|
+
}, [handleDebouncedChange, onChange]);
|
|
25
|
+
return React.createElement(Input, { ...props, icon: React.createElement(Icons.Search, { size: "S" }), onChange: handleChange });
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=Search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../../src/pre-ldls/components/Search/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAe,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAU3B,MAAM,UAAU,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,GAAG,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAS;IACzF,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAE/C,MAAM,qBAAqB,GAAG,oBAAoB,CAChD,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,OAAO,CAAC,KAAoC,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EACvB,YAAY,CACb,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,qBAAqB,IAAI,CAAC,QAAQ;YAAE,OAAO;QAChD,OAAO,CAAC,KAAoC,EAAE,EAAE;YAC9C,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;YAClB,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,OAAO,oBAAC,KAAK,OAAK,KAAK,EAAE,IAAI,EAAE,oBAAC,KAAK,CAAC,MAAM,IAAC,IAAI,EAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,YAAY,GAAI,CAAC;AACvF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
export declare const VirtualList: ({ count, itemHeight, renderItem, }: {
|
|
3
|
+
count: number;
|
|
4
|
+
itemHeight: number;
|
|
5
|
+
renderItem: (index: number) => ReactNode;
|
|
6
|
+
}) => React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=VirtualList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/VirtualList/VirtualList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,eAAO,MAAM,WAAW;WAKf,MAAM;gBACD,MAAM;wBACE,MAAM,KAAK,SAAS;uBAiBzC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { FixedSizeList as List } from "react-window";
|
|
3
|
+
import AutoSizer from "react-virtualized-auto-sizer";
|
|
4
|
+
export const VirtualList = ({ count, itemHeight, renderItem, }) => {
|
|
5
|
+
return (React.createElement(AutoSizer, { style: { height: "100%", width: "100%" } }, ({ height }) => (React.createElement(List, { height: height, itemCount: count, itemSize: itemHeight, layout: "vertical", width: "100%" }, ({ index, style }) => React.createElement("div", { style: style }, renderItem(index))))));
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=VirtualList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VirtualList.js","sourceRoot":"","sources":["../../../../src/pre-ldls/components/VirtualList/VirtualList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,UAAU,EACV,UAAU,GAKX,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,SAAS,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAChD,CAAC,EAAE,MAAM,EAAsB,EAAE,EAAE,CAAC,CACnC,oBAAC,IAAI,IACH,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAC,UAAU,EACjB,KAAK,EAAC,MAAM,IAEX,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,6BAAK,KAAK,EAAE,KAAK,IAAG,UAAU,CAAC,KAAK,CAAC,CAAO,CAC9D,CACR,CACS,CACb,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pre-ldls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pre-ldls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pre-ldls/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebouncedCallback.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/hooks/useDebouncedCallback.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,OAAO,EAAE,EACtD,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,EAC5C,KAAK,CAAC,EAAE,MAAM,cAEuD,CAAC,KAAK,IAAI,cAehF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
export function useDebouncedCallback(callback, delay) {
|
|
3
|
+
const [debouncedCallback, setDebouncedCallback] = useState();
|
|
4
|
+
const timeout = useRef();
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!callback)
|
|
7
|
+
return setDebouncedCallback(undefined);
|
|
8
|
+
setDebouncedCallback(() => (...args) => {
|
|
9
|
+
clearTimeout(timeout.current);
|
|
10
|
+
timeout.current = setTimeout(() => callback(...args), delay);
|
|
11
|
+
});
|
|
12
|
+
return () => clearTimeout(timeout.current);
|
|
13
|
+
}, [callback, delay]);
|
|
14
|
+
return debouncedCallback;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=useDebouncedCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebouncedCallback.js","sourceRoot":"","sources":["../../../src/pre-ldls/hooks/useDebouncedCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAClC,QAA4C,EAC5C,KAAc;IAEd,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAwB,CAAC;IACnF,MAAM,OAAO,GAAG,MAAM,EAAU,CAAC;IAEjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEtD,oBAAoB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAO,EAAE,EAAE;YACxC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtB,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DefaultTheme } from "styled-components";
|
|
2
2
|
import { ModeColors, SpacingScale } from "./design-tokens";
|
|
3
|
-
declare const
|
|
3
|
+
declare const extraOther: {
|
|
4
4
|
readonly "radius-s": "8px";
|
|
5
5
|
};
|
|
6
6
|
type ColorToken = `colors-${keyof ModeColors}`;
|
|
7
|
-
type OtherToken = keyof (SpacingScale & typeof
|
|
7
|
+
type OtherToken = keyof (SpacingScale & typeof extraOther);
|
|
8
8
|
export declare const withTokens: (...usedTokens: Array<ColorToken | OtherToken>) => import("styled-components").FlattenInterpolation<import("styled-components").ThemeProps<DefaultTheme>>;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/libs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAe,UAAU,EAAW,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGjF,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/libs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAe,UAAU,EAAW,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGjF,QAAA,MAAM,UAAU;;CAEN,CAAC;AAWX,KAAK,UAAU,GAAG,UAAU,MAAM,UAAU,EAAE,CAAC;AAC/C,KAAK,UAAU,GAAG,MAAM,CAAC,YAAY,GAAG,OAAO,UAAU,CAAC,CAAC;AAE3D,eAAO,MAAM,UAAU,kBAAmB,MAAM,UAAU,GAAG,UAAU,CAAC,2GAqBvE,CAAC"}
|
|
@@ -2,19 +2,30 @@ import memoize from "lodash/memoize";
|
|
|
2
2
|
import { css } from "styled-components";
|
|
3
3
|
import { dark, light, spacing } from "./design-tokens";
|
|
4
4
|
// Add temporarily missing tokens here
|
|
5
|
-
const
|
|
5
|
+
const extraOther = {
|
|
6
6
|
"radius-s": "8px",
|
|
7
7
|
};
|
|
8
|
+
// override colours based on Figma differing from design-tokens.ts
|
|
9
|
+
const overrideColor = {
|
|
10
|
+
light: {
|
|
11
|
+
"surface-transparent-hover": "#0000000D",
|
|
12
|
+
"surface-transparent-pressed": "#0000001A",
|
|
13
|
+
},
|
|
14
|
+
dark: {},
|
|
15
|
+
};
|
|
8
16
|
export const withTokens = (...usedTokens) => {
|
|
9
17
|
const filterTokens = memoize((theme) => {
|
|
10
|
-
const colors = {
|
|
18
|
+
const colors = {
|
|
19
|
+
dark: { ...dark, ...overrideColor.dark },
|
|
20
|
+
light: { ...light, ...overrideColor.light },
|
|
21
|
+
}[theme];
|
|
11
22
|
const colorEntries = Object.entries(colors).flatMap(([key, value]) => {
|
|
12
23
|
const color = `colors-${key}`;
|
|
13
24
|
if (!usedTokens.includes(color))
|
|
14
25
|
return [];
|
|
15
26
|
return [[`--${color}`, value]];
|
|
16
27
|
});
|
|
17
|
-
const otherEntries = [spacing,
|
|
28
|
+
const otherEntries = [spacing, extraOther].flatMap(Object.entries).flatMap(([key, value]) => {
|
|
18
29
|
if (!usedTokens.includes(key))
|
|
19
30
|
return [];
|
|
20
31
|
return [[`--${key}`, value]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pre-ldls/libs/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAc,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AAEjF,sCAAsC;AACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pre-ldls/libs/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAc,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AAEjF,sCAAsC;AACtC,MAAM,UAAU,GAAG;IACjB,UAAU,EAAE,KAAK;CACT,CAAC;AAEX,kEAAkE;AAClE,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE;QACL,2BAA2B,EAAE,WAAW;QACxC,6BAA6B,EAAE,WAAW;KAC3C;IACD,IAAI,EAAE,EAAE;CACA,CAAC;AAKX,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,UAA0C,EAAE,EAAE;IAC1E,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,KAA4B,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE;YACxC,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE;SAC5C,CAAC,KAAK,CAAC,CAAC;QAET,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,UAAU,GAAG,EAAgB,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,CAAC,KAAK,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1F,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAiB,CAAC;gBAAE,OAAO,EAAE,CAAC;YACvD,OAAO,CAAC,CAAC,KAAK,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAA6B,CAAC,CAAC,CAAC;AACtF,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/react-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0-nightly.0",
|
|
4
4
|
"description": "Ledger Live - Desktop UI",
|
|
5
5
|
"author": "Ledger Live Team <team-live@ledger.fr>",
|
|
6
6
|
"repository": {
|
|
@@ -71,11 +71,12 @@
|
|
|
71
71
|
"react-select": "^5.2.1",
|
|
72
72
|
"react-spring": "8.0.27",
|
|
73
73
|
"react-transition-group": "^4.4.2",
|
|
74
|
+
"react-virtualized-auto-sizer": "1.0.24",
|
|
74
75
|
"react-window": "^1.8.6",
|
|
75
76
|
"styled-system": "^5.1.5",
|
|
76
|
-
"@ledgerhq/ui
|
|
77
|
+
"@ledgerhq/crypto-icons-ui": "^1.12.0",
|
|
77
78
|
"@ledgerhq/icons-ui": "^0.9.0",
|
|
78
|
-
"@ledgerhq/
|
|
79
|
+
"@ledgerhq/ui-shared": "^0.3.0"
|
|
79
80
|
},
|
|
80
81
|
"peerDependencies": {
|
|
81
82
|
"react": ">=17.0.2",
|
|
@@ -92,6 +93,7 @@
|
|
|
92
93
|
"@storybook/addon-interactions": "8.6.12",
|
|
93
94
|
"@storybook/addon-links": "^8.6.12",
|
|
94
95
|
"@storybook/addon-webpack5-compiler-babel": "^3.0.6",
|
|
96
|
+
"@storybook/core": "8.6.12",
|
|
95
97
|
"@storybook/manager-api": "^8.6.12",
|
|
96
98
|
"@storybook/react": "^8.6.12",
|
|
97
99
|
"@storybook/react-webpack5": "^8.6.12",
|
|
@@ -99,7 +101,9 @@
|
|
|
99
101
|
"@storybook/theming": "^8.6.12",
|
|
100
102
|
"@svgr/core": "^5.5.0",
|
|
101
103
|
"@svgr/plugin-svgo": "*",
|
|
104
|
+
"@testing-library/dom": "10.4.0",
|
|
102
105
|
"@testing-library/jest-dom": "6.6.3",
|
|
106
|
+
"@testing-library/react": "16.3.0",
|
|
103
107
|
"@testing-library/user-event": "14.5.2",
|
|
104
108
|
"@types/color": "^3.0.2",
|
|
105
109
|
"@types/hoist-non-react-statics": "^3.3.1",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/pre-ldls/types.ts"],
|
|
4
|
-
"sourcesContent": ["// NOTE: this type is needed due to Storybook types breaking in `@ledgerhq/react-ui`\nexport type PlayFnProps = { canvasElement: HTMLElement };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/lib/pre-ldls/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pre-ldls/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG;IAAE,aAAa,EAAE,WAAW,CAAA;CAAE,CAAC"}
|
package/lib/pre-ldls/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pre-ldls/types.ts"],"names":[],"mappings":""}
|