@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.
Files changed (78) hide show
  1. package/lib/cjs/components/asorted/Icon/Icons.stories.js +1 -2
  2. package/lib/cjs/components/asorted/Icon/Icons.stories.js.map +2 -2
  3. package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js +1 -1
  4. package/lib/cjs/components/asorted/Icon/NotificationIcon.stories.js.map +1 -1
  5. package/lib/cjs/components/cta/Toggle/Toggle.stories.js.map +2 -2
  6. package/lib/cjs/components/form/Checkbox/Checkbox.stories.js.map +2 -2
  7. package/lib/cjs/components/form/Radio/Radio.stories.js.map +2 -2
  8. package/lib/cjs/components/form/Switch/Switch.stories.js.map +2 -2
  9. package/lib/cjs/components/layout/Carousel/Carousel.stories.js.map +2 -2
  10. package/lib/cjs/components/layout/Drawer/Drawer.stories.js.map +2 -2
  11. package/lib/cjs/components/layout/Popin/Popin.stories.js.map +2 -2
  12. package/lib/cjs/components/navigation/FlowStepper/FlowStepper.stories.js.map +2 -2
  13. package/lib/cjs/components/navigation/sideBar/SideBar/SideBar.stories.js.map +2 -2
  14. package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js +100 -0
  15. package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.js.map +7 -0
  16. package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js +45 -0
  17. package/lib/cjs/pre-ldls/components/AssetItem/AssetItem.stories.js.map +7 -0
  18. package/lib/cjs/pre-ldls/components/AssetList/AssetList.js +50 -0
  19. package/lib/cjs/pre-ldls/components/AssetList/AssetList.js.map +7 -0
  20. package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js +62 -0
  21. package/lib/cjs/pre-ldls/components/AssetList/AssetList.stories.js.map +7 -0
  22. package/lib/cjs/pre-ldls/components/Input/Input.stories.js.map +2 -2
  23. package/lib/cjs/pre-ldls/components/Search/Search.js +63 -0
  24. package/lib/cjs/pre-ldls/components/Search/Search.js.map +7 -0
  25. package/lib/cjs/pre-ldls/components/Search/Search.stories.js +63 -0
  26. package/lib/cjs/pre-ldls/components/Search/Search.stories.js.map +7 -0
  27. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.js +54 -0
  28. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.js.map +7 -0
  29. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js +70 -0
  30. package/lib/cjs/pre-ldls/components/VirtualList/VirtualList.stories.js.map +7 -0
  31. package/lib/cjs/pre-ldls/components/index.js +4 -0
  32. package/lib/cjs/pre-ldls/components/index.js.map +2 -2
  33. package/lib/cjs/pre-ldls/{types.js → hooks/index.js} +5 -3
  34. package/lib/cjs/pre-ldls/hooks/index.js.map +7 -0
  35. package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.js +39 -0
  36. package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.js.map +7 -0
  37. package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.stories.js +91 -0
  38. package/lib/cjs/pre-ldls/hooks/useDebouncedCallback.stories.js.map +7 -0
  39. package/lib/cjs/pre-ldls/libs/index.js +13 -3
  40. package/lib/cjs/pre-ldls/libs/index.js.map +2 -2
  41. package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts +11 -0
  42. package/lib/pre-ldls/components/AssetItem/AssetItem.d.ts.map +1 -0
  43. package/lib/pre-ldls/components/AssetItem/AssetItem.js +43 -0
  44. package/lib/pre-ldls/components/AssetItem/AssetItem.js.map +1 -0
  45. package/lib/pre-ldls/components/AssetList/AssetList.d.ts +7 -0
  46. package/lib/pre-ldls/components/AssetList/AssetList.d.ts.map +1 -0
  47. package/lib/pre-ldls/components/AssetList/AssetList.js +7 -0
  48. package/lib/pre-ldls/components/AssetList/AssetList.js.map +1 -0
  49. package/lib/pre-ldls/components/Search/Search.d.ts +9 -0
  50. package/lib/pre-ldls/components/Search/Search.d.ts.map +1 -0
  51. package/lib/pre-ldls/components/Search/Search.js +27 -0
  52. package/lib/pre-ldls/components/Search/Search.js.map +1 -0
  53. package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts +7 -0
  54. package/lib/pre-ldls/components/VirtualList/VirtualList.d.ts.map +1 -0
  55. package/lib/pre-ldls/components/VirtualList/VirtualList.js +7 -0
  56. package/lib/pre-ldls/components/VirtualList/VirtualList.js.map +1 -0
  57. package/lib/pre-ldls/components/index.d.ts +4 -0
  58. package/lib/pre-ldls/components/index.d.ts.map +1 -1
  59. package/lib/pre-ldls/components/index.js +4 -0
  60. package/lib/pre-ldls/components/index.js.map +1 -1
  61. package/lib/pre-ldls/hooks/index.d.ts +2 -0
  62. package/lib/pre-ldls/hooks/index.d.ts.map +1 -0
  63. package/lib/pre-ldls/hooks/index.js +2 -0
  64. package/lib/pre-ldls/hooks/index.js.map +1 -0
  65. package/lib/pre-ldls/hooks/useDebouncedCallback.d.ts +2 -0
  66. package/lib/pre-ldls/hooks/useDebouncedCallback.d.ts.map +1 -0
  67. package/lib/pre-ldls/hooks/useDebouncedCallback.js +16 -0
  68. package/lib/pre-ldls/hooks/useDebouncedCallback.js.map +1 -0
  69. package/lib/pre-ldls/libs/index.d.ts +2 -2
  70. package/lib/pre-ldls/libs/index.d.ts.map +1 -1
  71. package/lib/pre-ldls/libs/index.js +14 -3
  72. package/lib/pre-ldls/libs/index.js.map +1 -1
  73. package/package.json +7 -3
  74. package/lib/cjs/pre-ldls/types.js.map +0 -7
  75. package/lib/pre-ldls/types.d.ts +0 -4
  76. package/lib/pre-ldls/types.d.ts.map +0 -1
  77. package/lib/pre-ldls/types.js +0 -2
  78. 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 extra = {
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 = { dark: import_design_tokens.dark, light: import_design_tokens.light }[theme];
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, extra].flatMap(Object.entries).flatMap(([key, value]) => {
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 extra = {\n \"radius-s\": \"8px\",\n} as const;\n\ntype ColorToken = `colors-${keyof ModeColors}`;\ntype OtherToken = keyof (SpacingScale & typeof extra);\n\nexport const withTokens = (...usedTokens: Array<ColorToken | OtherToken>) => {\n const filterTokens = memoize((theme: DefaultTheme[\"theme\"]) => {\n const colors = { dark, light }[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, extra].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,QAAQ;AAAA,EACZ,YAAY;AACd;AAKO,MAAM,aAAa,IAAI,eAA+C;AAC3E,QAAM,mBAAe,eAAAA,SAAQ,CAAC,UAAiC;AAC7D,UAAM,SAAS,EAAE,iCAAM,kCAAM,EAAE,KAAK;AAEpC,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,KAAK,EAAE,QAAQ,OAAO,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACtF,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;",
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,2 +1,6 @@
1
+ export * from "./AssetItem/AssetItem";
2
+ export * from "./AssetList/AssetList";
1
3
  export * from "./Input/Input";
4
+ export * from "./Search/Search";
5
+ export * from "./VirtualList/VirtualList";
2
6
  //# sourceMappingURL=index.d.ts.map
@@ -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,2 +1,6 @@
1
+ export * from "./AssetItem/AssetItem";
2
+ export * from "./AssetList/AssetList";
1
3
  export * from "./Input/Input";
4
+ export * from "./Search/Search";
5
+ export * from "./VirtualList/VirtualList";
2
6
  //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export * from "./useDebouncedCallback";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export * from "./useDebouncedCallback";
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export declare function useDebouncedCallback<T extends unknown[]>(callback: ((...args: T) => void) | undefined, delay?: number): ((...args: T) => void) | undefined;
2
+ //# sourceMappingURL=useDebouncedCallback.d.ts.map
@@ -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 extra: {
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 extra);
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,KAAK;;CAED,CAAC;AAEX,KAAK,UAAU,GAAG,UAAU,MAAM,UAAU,EAAE,CAAC;AAC/C,KAAK,UAAU,GAAG,MAAM,CAAC,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC;AAEtD,eAAO,MAAM,UAAU,kBAAmB,MAAM,UAAU,GAAG,UAAU,CAAC,2GAkBvE,CAAC"}
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 extra = {
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 = { dark, light }[theme];
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, extra].flatMap(Object.entries).flatMap(([key, value]) => {
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,KAAK,GAAG;IACZ,UAAU,EAAE,KAAK;CACT,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,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtC,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,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACrF,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"}
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.22.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-shared": "^0.3.0",
77
+ "@ledgerhq/crypto-icons-ui": "^1.12.0",
77
78
  "@ledgerhq/icons-ui": "^0.9.0",
78
- "@ledgerhq/crypto-icons-ui": "^1.12.0"
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
- }
@@ -1,4 +0,0 @@
1
- export type PlayFnProps = {
2
- canvasElement: HTMLElement;
3
- };
4
- //# sourceMappingURL=types.d.ts.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pre-ldls/types.ts"],"names":[],"mappings":""}