@ledgerhq/react-ui 0.37.0-nightly.2 → 0.37.0-nightly.3
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/Search/Search.js +22 -2
- package/lib/cjs/pre-ldls/components/Search/Search.js.map +2 -2
- package/lib/pre-ldls/components/Search/Search.d.ts +2 -1
- package/lib/pre-ldls/components/Search/Search.d.ts.map +1 -1
- package/lib/pre-ldls/components/Search/Search.js +9 -3
- package/lib/pre-ldls/components/Search/Search.js.map +1 -1
- package/package.json +3 -3
|
@@ -35,9 +35,21 @@ var import_react = __toESM(require("react"));
|
|
|
35
35
|
var import_assets = require("../../../assets");
|
|
36
36
|
var import_hooks = require("../../hooks");
|
|
37
37
|
var import__ = require("..");
|
|
38
|
-
function Search({
|
|
38
|
+
function Search({
|
|
39
|
+
onDebouncedChange,
|
|
40
|
+
debounceTime = 500,
|
|
41
|
+
onChange,
|
|
42
|
+
autoFocus = true,
|
|
43
|
+
...props
|
|
44
|
+
}) {
|
|
39
45
|
const initialValue = props.value ?? props.defaultValue ?? "";
|
|
40
46
|
const prevValue = (0, import_react.useRef)(String(initialValue));
|
|
47
|
+
const searchInputRef = (0, import_react.useRef)(null);
|
|
48
|
+
(0, import_react.useEffect)(() => {
|
|
49
|
+
if (autoFocus && searchInputRef.current) {
|
|
50
|
+
searchInputRef.current.focus();
|
|
51
|
+
}
|
|
52
|
+
}, [autoFocus]);
|
|
41
53
|
const handleDebouncedChange = (0, import_hooks.useDebouncedCallback)(
|
|
42
54
|
(0, import_react.useMemo)(() => {
|
|
43
55
|
if (!onDebouncedChange)
|
|
@@ -58,6 +70,14 @@ function Search({ onDebouncedChange, debounceTime = 500, onChange, ...props }) {
|
|
|
58
70
|
handleDebouncedChange == null ? void 0 : handleDebouncedChange(event);
|
|
59
71
|
};
|
|
60
72
|
}, [handleDebouncedChange, onChange]);
|
|
61
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
73
|
+
return /* @__PURE__ */ import_react.default.createElement(
|
|
74
|
+
import__.Input,
|
|
75
|
+
{
|
|
76
|
+
...props,
|
|
77
|
+
ref: searchInputRef,
|
|
78
|
+
icon: /* @__PURE__ */ import_react.default.createElement(import_assets.Icons.Search, { size: "S" }),
|
|
79
|
+
onChange: handleChange
|
|
80
|
+
}
|
|
81
|
+
);
|
|
62
82
|
}
|
|
63
83
|
//# sourceMappingURL=Search.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/pre-ldls/components/Search/Search.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { ChangeEvent, useMemo, useRef } from \"react\";\nimport { Icons } from \"../../../assets\";\nimport { useDebouncedCallback } from \"../../hooks\";\nimport { Input } from \"..\";\n\ntype InputProps = React.ComponentProps<\"input\">;\ntype Props = Readonly<\n InputProps & {\n onDebouncedChange?: (current: string, prev: string) => void;\n debounceTime?: number;\n }\n>;\n\nexport function Search({
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, { ChangeEvent, useEffect, useMemo, useRef } from \"react\";\nimport { Icons } from \"../../../assets\";\nimport { useDebouncedCallback } from \"../../hooks\";\nimport { Input } from \"..\";\n\ntype InputProps = React.ComponentProps<\"input\">;\ntype Props = Readonly<\n InputProps & {\n onDebouncedChange?: (current: string, prev: string) => void;\n debounceTime?: number;\n autoFocus?: boolean;\n }\n>;\n\nexport function Search({\n onDebouncedChange,\n debounceTime = 500,\n onChange,\n autoFocus = true,\n ...props\n}: Props) {\n const initialValue = props.value ?? props.defaultValue ?? \"\";\n const prevValue = useRef(String(initialValue));\n const searchInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (autoFocus && searchInputRef.current) {\n searchInputRef.current.focus();\n }\n }, [autoFocus]);\n\n const handleDebouncedChange = useDebouncedCallback(\n useMemo(() => {\n if (!onDebouncedChange) return;\n return (event: ChangeEvent<HTMLInputElement>) => {\n const current = event.target.value;\n onDebouncedChange(current, prevValue.current);\n prevValue.current = current;\n };\n }, [onDebouncedChange]),\n debounceTime,\n );\n\n const handleChange = useMemo(() => {\n if (!handleDebouncedChange && !onChange) return;\n return (event: ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n handleDebouncedChange?.(event);\n };\n }, [handleDebouncedChange, onChange]);\n\n return (\n <Input\n {...props}\n ref={searchInputRef}\n icon={<Icons.Search size=\"S\" />}\n onChange={handleChange}\n />\n );\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+D;AAC/D,oBAAsB;AACtB,mBAAqC;AACrC,eAAsB;AAWf,SAAS,OAAO;AAAA,EACrB;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACL,GAAU;AACR,QAAM,eAAe,MAAM,SAAS,MAAM,gBAAgB;AAC1D,QAAM,gBAAY,qBAAO,OAAO,YAAY,CAAC;AAC7C,QAAM,qBAAiB,qBAAyB,IAAI;AAEpD,8BAAU,MAAM;AACd,QAAI,aAAa,eAAe,SAAS;AACvC,qBAAe,QAAQ,MAAM;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,4BAAwB;AAAA,QAC5B,sBAAQ,MAAM;AACZ,UAAI,CAAC;AAAmB;AACxB,aAAO,CAAC,UAAyC;AAC/C,cAAM,UAAU,MAAM,OAAO;AAC7B,0BAAkB,SAAS,UAAU,OAAO;AAC5C,kBAAU,UAAU;AAAA,MACtB;AAAA,IACF,GAAG,CAAC,iBAAiB,CAAC;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,mBAAe,sBAAQ,MAAM;AACjC,QAAI,CAAC,yBAAyB,CAAC;AAAU;AACzC,WAAO,CAAC,UAAyC;AAC/C,2CAAW;AACX,qEAAwB;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,uBAAuB,QAAQ,CAAC;AAEpC,SACE,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,MAAM,6BAAAA,QAAA,cAAC,oBAAM,QAAN,EAAa,MAAK,KAAI;AAAA,MAC7B,UAAU;AAAA;AAAA,EACZ;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -3,7 +3,8 @@ type InputProps = React.ComponentProps<"input">;
|
|
|
3
3
|
type Props = Readonly<InputProps & {
|
|
4
4
|
onDebouncedChange?: (current: string, prev: string) => void;
|
|
5
5
|
debounceTime?: number;
|
|
6
|
+
autoFocus?: boolean;
|
|
6
7
|
}>;
|
|
7
|
-
export declare function Search({ onDebouncedChange, debounceTime, onChange, ...props }: Props): React.JSX.Element;
|
|
8
|
+
export declare function Search({ onDebouncedChange, debounceTime, onChange, autoFocus, ...props }: Props): React.JSX.Element;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=Search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/Search/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/Search/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAKvE,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;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CACF,CAAC;AAEF,wBAAgB,MAAM,CAAC,EACrB,iBAAiB,EACjB,YAAkB,EAClB,QAAQ,EACR,SAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,qBAuCP"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import React, { useMemo, useRef } from "react";
|
|
1
|
+
import React, { useEffect, useMemo, useRef } from "react";
|
|
2
2
|
import { Icons } from "../../../assets";
|
|
3
3
|
import { useDebouncedCallback } from "../../hooks";
|
|
4
4
|
import { Input } from "..";
|
|
5
|
-
export function Search({ onDebouncedChange, debounceTime = 500, onChange, ...props }) {
|
|
5
|
+
export function Search({ onDebouncedChange, debounceTime = 500, onChange, autoFocus = true, ...props }) {
|
|
6
6
|
const initialValue = props.value ?? props.defaultValue ?? "";
|
|
7
7
|
const prevValue = useRef(String(initialValue));
|
|
8
|
+
const searchInputRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (autoFocus && searchInputRef.current) {
|
|
11
|
+
searchInputRef.current.focus();
|
|
12
|
+
}
|
|
13
|
+
}, [autoFocus]);
|
|
8
14
|
const handleDebouncedChange = useDebouncedCallback(useMemo(() => {
|
|
9
15
|
if (!onDebouncedChange)
|
|
10
16
|
return;
|
|
@@ -22,6 +28,6 @@ export function Search({ onDebouncedChange, debounceTime = 500, onChange, ...pro
|
|
|
22
28
|
handleDebouncedChange?.(event);
|
|
23
29
|
};
|
|
24
30
|
}, [handleDebouncedChange, onChange]);
|
|
25
|
-
return React.createElement(Input, { ...props, icon: React.createElement(Icons.Search, { size: "S" }), onChange: handleChange });
|
|
31
|
+
return (React.createElement(Input, { ...props, ref: searchInputRef, icon: React.createElement(Icons.Search, { size: "S" }), onChange: handleChange }));
|
|
26
32
|
}
|
|
27
33
|
//# sourceMappingURL=Search.js.map
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../../src/pre-ldls/components/Search/Search.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;AAW3B,MAAM,UAAU,MAAM,CAAC,EACrB,iBAAiB,EACjB,YAAY,GAAG,GAAG,EAClB,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,GAAG,KAAK,EACF;IACN,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;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YACxC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,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,CACL,oBAAC,KAAK,OACA,KAAK,EACT,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,oBAAC,KAAK,CAAC,MAAM,IAAC,IAAI,EAAC,GAAG,GAAG,EAC/B,QAAQ,EAAE,YAAY,GACtB,CACH,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/react-ui",
|
|
3
|
-
"version": "0.37.0-nightly.
|
|
3
|
+
"version": "0.37.0-nightly.3",
|
|
4
4
|
"description": "Ledger Live - Desktop UI",
|
|
5
5
|
"author": "Ledger Live Team <team-live@ledger.fr>",
|
|
6
6
|
"repository": {
|
|
@@ -75,9 +75,9 @@
|
|
|
75
75
|
"react-transition-group": "^4.4.2",
|
|
76
76
|
"react-window": "^1.8.6",
|
|
77
77
|
"styled-system": "^5.1.5",
|
|
78
|
+
"@ledgerhq/crypto-icons-ui": "^1.19.0-nightly.1",
|
|
78
79
|
"@ledgerhq/icons-ui": "^0.13.0",
|
|
79
|
-
"@ledgerhq/ui-shared": "^0.4.0-nightly.0"
|
|
80
|
-
"@ledgerhq/crypto-icons-ui": "^1.19.0-nightly.1"
|
|
80
|
+
"@ledgerhq/ui-shared": "^0.4.0-nightly.0"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"react": ">=17.0.2",
|