@ledgerhq/native-ui 0.39.0-nightly.3 → 0.40.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/pre-ldls/components/AssetItem/AssetItem.d.ts.map +1 -1
- package/lib/pre-ldls/components/AssetItem/AssetItem.js +3 -4
- package/lib/pre-ldls/components/AssetTypeList/AssetList.d.ts.map +1 -1
- package/lib/pre-ldls/components/AssetTypeList/AssetList.js +14 -9
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.d.ts +1 -1
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.d.ts.map +1 -1
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.js +1 -1
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.stories.d.ts.map +1 -1
- package/lib/pre-ldls/components/CryptoIcon/CryptoIcon.stories.js +1 -0
- package/lib/pre-ldls/components/NetworkItem/NetworkItem.js +2 -2
- package/lib/pre-ldls/components/NetworkList/NetworkList.d.ts.map +1 -0
- package/lib/pre-ldls/components/{NetwrokList → NetworkList}/NetworkList.js +13 -9
- package/lib/pre-ldls/components/{NetwrokList → NetworkList}/NetwrokList.stories.d.ts.map +1 -1
- package/lib/pre-ldls/components/Search/Search.js +3 -3
- package/lib/pre-ldls/components/index.d.ts +2 -1
- package/lib/pre-ldls/components/index.d.ts.map +1 -1
- package/lib/pre-ldls/components/index.js +2 -1
- package/package.json +3 -4
- package/lib/pre-ldls/components/NetwrokList/NetworkList.d.ts.map +0 -1
- /package/lib/pre-ldls/components/{NetwrokList → NetworkList}/NetworkList.d.ts +0 -0
- /package/lib/pre-ldls/components/{NetwrokList → NetworkList}/NetwrokList.stories.d.ts +0 -0
- /package/lib/pre-ldls/components/{NetwrokList → NetworkList}/NetwrokList.stories.js +0 -0
|
@@ -1 +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;AAO1B,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"AssetItem.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetItem/AssetItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,GAAG;IAChC,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACrC,CAAC;AAwBF,eAAO,MAAM,SAAS,8DAOnB,cAAc,sBAkDhB,CAAC"}
|
|
@@ -16,6 +16,7 @@ const InfoWrapper = styled(View) `
|
|
|
16
16
|
overflow: hidden;
|
|
17
17
|
flex: 1;
|
|
18
18
|
gap: 4px;
|
|
19
|
+
margin-left: 16px;
|
|
19
20
|
`;
|
|
20
21
|
const LeftElementWrapper = styled(View) `
|
|
21
22
|
flex-direction: row;
|
|
@@ -39,10 +40,8 @@ export const AssetItem = ({ name, ticker, id, onClick, leftElement, rightElement
|
|
|
39
40
|
backgroundColor: String(tokens["colors-surface-transparent-default"]),
|
|
40
41
|
opacity: pressed ? 0.7 : 1,
|
|
41
42
|
}) },
|
|
42
|
-
React.createElement(CryptoIcon, { size:
|
|
43
|
-
React.createElement(InfoWrapper,
|
|
44
|
-
marginLeft: Number(tokens["margin-s"]),
|
|
45
|
-
} },
|
|
43
|
+
React.createElement(CryptoIcon, { size: 48, ledgerId: id, ticker: ticker }),
|
|
44
|
+
React.createElement(InfoWrapper, null,
|
|
46
45
|
React.createElement(Text, { fontSize: "14px", variant: "largeLineHeight", fontWeight: "semiBold", color: String(tokens["colors-content-default-default"]), numberOfLines: 1, ellipsizeMode: "tail" }, name),
|
|
47
46
|
React.createElement(LeftElementWrapper, null,
|
|
48
47
|
React.createElement(Text, { fontSize: "12px", lineHeight: "16px", variant: "bodyLineHeight", fontWeight: "medium", color: String(tokens["colors-content-subdued-default-default"]) }, ticker),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetTypeList/AssetList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAa,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"AssetList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/AssetTypeList/AssetList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAa,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAK9D,eAAO,MAAM,SAAS;YAOZ,SAAS,EAAE;qBACF,SAAS,KAAK,IAAI;qCACH,IAAI;;;uBA0CrC,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { FlatList } from "react-native";
|
|
3
3
|
import { AssetItem } from "../AssetItem/AssetItem";
|
|
4
|
+
const ITEM_PADDING = 8;
|
|
5
|
+
const ITEM_HEIGHT = 48 + ITEM_PADDING * 2;
|
|
4
6
|
export const AssetList = ({ assets, onClick, onVisibleItemsScrollEnd, scrollToTop, hasNextPage, }) => {
|
|
5
|
-
const
|
|
7
|
+
const flatListRef = useRef(null);
|
|
6
8
|
const renderAssetItem = useCallback(({ item }) => React.createElement(AssetItem, { ...item, onClick: onClick }), [onClick]);
|
|
7
9
|
const keyExtractor = useCallback((item, index) => `${item.id}-${index}`, []);
|
|
8
10
|
useEffect(() => {
|
|
9
|
-
if (scrollToTop &&
|
|
10
|
-
|
|
11
|
+
if (scrollToTop && flatListRef.current) {
|
|
12
|
+
flatListRef.current.scrollToOffset({ offset: 0, animated: true });
|
|
11
13
|
}
|
|
12
14
|
}, [scrollToTop]);
|
|
13
15
|
const handleEndReached = useCallback(() => {
|
|
@@ -15,17 +17,20 @@ export const AssetList = ({ assets, onClick, onVisibleItemsScrollEnd, scrollToTo
|
|
|
15
17
|
onVisibleItemsScrollEnd();
|
|
16
18
|
}
|
|
17
19
|
}, [hasNextPage, onVisibleItemsScrollEnd]);
|
|
18
|
-
const
|
|
19
|
-
ref: flashListRef,
|
|
20
|
+
const flatListProps = {
|
|
20
21
|
data: assets,
|
|
21
22
|
renderItem: renderAssetItem,
|
|
23
|
+
initialNumToRender: 15,
|
|
22
24
|
keyExtractor,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
getItemLayout: (data, index) => ({
|
|
26
|
+
length: ITEM_HEIGHT,
|
|
27
|
+
offset: ITEM_HEIGHT * index,
|
|
28
|
+
index,
|
|
29
|
+
}),
|
|
25
30
|
...(hasNextPage && {
|
|
26
31
|
onEndReached: handleEndReached,
|
|
27
32
|
onEndReachedThreshold: 0.1,
|
|
28
33
|
}),
|
|
29
34
|
};
|
|
30
|
-
return React.createElement(
|
|
35
|
+
return React.createElement(FlatList, { ref: flatListRef, ...flatListProps });
|
|
31
36
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import
|
|
2
|
+
import Icon from "@ledgerhq/crypto-icons/native";
|
|
3
3
|
export declare function CryptoIcon(props: Parameters<typeof Icon>[0]): React.JSX.Element;
|
|
4
4
|
//# sourceMappingURL=CryptoIcon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoIcon.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"CryptoIcon.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,+BAA+B,CAAC;AAEjD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,qBAE3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoIcon.stories.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"CryptoIcon.stories.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/CryptoIcon/CryptoIcon.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAoBjC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AAEzC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC"}
|
|
@@ -14,7 +14,7 @@ const Wrapper = styled(Pressable) `
|
|
|
14
14
|
const InfoWrapper = styled(View) `
|
|
15
15
|
flex-direction: column;
|
|
16
16
|
justify-content: center;
|
|
17
|
-
margin-left:
|
|
17
|
+
margin-left: 16px;
|
|
18
18
|
flex: 1;
|
|
19
19
|
`;
|
|
20
20
|
const LeftElementWrapper = styled(View) `
|
|
@@ -38,7 +38,7 @@ export const NetworkItem = ({ name, onClick, id, ticker, leftElement, rightEleme
|
|
|
38
38
|
return (React.createElement(Wrapper, { tokens: tokens, onPress: onClick, style: ({ pressed }) => ({
|
|
39
39
|
opacity: pressed ? 0.7 : 1,
|
|
40
40
|
}) },
|
|
41
|
-
React.createElement(CryptoIcon, { size:
|
|
41
|
+
React.createElement(CryptoIcon, { size: 48, ledgerId: id, ticker: ticker }),
|
|
42
42
|
React.createElement(InfoWrapper, { tokens: tokens },
|
|
43
43
|
React.createElement(Text, { variant: "largeLineHeight", fontWeight: "semiBold", color: String(tokens["colors-content-default-default"]) }, name),
|
|
44
44
|
React.createElement(LeftElementWrapper, null, leftElement)),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NetworkList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/NetworkList/NetworkList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAC;AAMlE,eAAO,MAAM,WAAW;cAOZ,OAAO,EAAE;yBACE,MAAM,KAAK,IAAI;qCACJ,IAAI;;;uBAyCrC,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from "react";
|
|
2
|
-
import { FlashList } from "@shopify/flash-list";
|
|
3
2
|
import { NetworkItem } from "../NetworkItem/NetworkItem";
|
|
3
|
+
import { FlatList } from "react-native";
|
|
4
|
+
const ITEM_PADDING = 8;
|
|
5
|
+
const ITEM_HEIGHT = 48 + ITEM_PADDING * 2;
|
|
4
6
|
export const NetworkList = ({ networks, onClick, onVisibleItemsScrollEnd, scrollToTop, hasNextPage, }) => {
|
|
5
|
-
const
|
|
7
|
+
const flatListRef = useRef(null);
|
|
6
8
|
const renderNetworkItem = useCallback(({ item }) => React.createElement(NetworkItem, { ...item, onClick: () => onClick(item.id) }), [onClick]);
|
|
7
9
|
const keyExtractor = useCallback((item, index) => `${item.id}-${index}`, []);
|
|
8
10
|
useEffect(() => {
|
|
9
|
-
if (scrollToTop &&
|
|
10
|
-
|
|
11
|
+
if (scrollToTop && flatListRef.current) {
|
|
12
|
+
flatListRef.current.scrollToOffset({ offset: 0, animated: true });
|
|
11
13
|
}
|
|
12
14
|
}, [scrollToTop]);
|
|
13
15
|
const handleEndReached = useCallback(() => {
|
|
@@ -15,17 +17,19 @@ export const NetworkList = ({ networks, onClick, onVisibleItemsScrollEnd, scroll
|
|
|
15
17
|
onVisibleItemsScrollEnd();
|
|
16
18
|
}
|
|
17
19
|
}, [hasNextPage, onVisibleItemsScrollEnd]);
|
|
18
|
-
const
|
|
19
|
-
ref: flashListRef,
|
|
20
|
+
const flatListProps = {
|
|
20
21
|
data: networks,
|
|
21
22
|
renderItem: renderNetworkItem,
|
|
22
23
|
keyExtractor,
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
getItemLayout: (data, index) => ({
|
|
25
|
+
length: ITEM_HEIGHT,
|
|
26
|
+
offset: ITEM_HEIGHT * index,
|
|
27
|
+
index,
|
|
28
|
+
}),
|
|
25
29
|
...(hasNextPage && {
|
|
26
30
|
onEndReached: handleEndReached,
|
|
27
31
|
onEndReachedThreshold: 0.1,
|
|
28
32
|
}),
|
|
29
33
|
};
|
|
30
|
-
return React.createElement(
|
|
34
|
+
return React.createElement(FlatList, { ref: flatListRef, ...flatListProps });
|
|
31
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetwrokList.stories.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/
|
|
1
|
+
{"version":3,"file":"NetwrokList.stories.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/NetworkList/NetwrokList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CAkBlC,CAAC;AACF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAC;AAE1C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,gBAAgB,EAAE,KAQ9B,CAAC"}
|
|
@@ -8,8 +8,7 @@ export function Search({ onDebouncedChange, debounceTime = 500, onChange, ...pro
|
|
|
8
8
|
const handleDebouncedChange = useDebouncedCallback(useMemo(() => {
|
|
9
9
|
if (!onDebouncedChange)
|
|
10
10
|
return;
|
|
11
|
-
return (
|
|
12
|
-
const current = e.nativeEvent.text;
|
|
11
|
+
return (current) => {
|
|
13
12
|
onDebouncedChange(current, prevValue.current);
|
|
14
13
|
prevValue.current = current;
|
|
15
14
|
};
|
|
@@ -18,8 +17,9 @@ export function Search({ onDebouncedChange, debounceTime = 500, onChange, ...pro
|
|
|
18
17
|
if (!handleDebouncedChange && !onChange)
|
|
19
18
|
return;
|
|
20
19
|
return (e) => {
|
|
20
|
+
const current = e.nativeEvent.text;
|
|
21
21
|
onChange?.(e);
|
|
22
|
-
handleDebouncedChange?.(
|
|
22
|
+
handleDebouncedChange?.(current);
|
|
23
23
|
};
|
|
24
24
|
}, [handleDebouncedChange, onChange]);
|
|
25
25
|
return React.createElement(Input, { ...props, icon: Icons.Search, onChange: handleChange });
|
|
@@ -2,6 +2,7 @@ export * from "./Input/Input";
|
|
|
2
2
|
export * from "./AssetItem/AssetItem";
|
|
3
3
|
export * from "./AssetTypeList/AssetList";
|
|
4
4
|
export * from "./NetworkItem/NetworkItem";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./NetworkList/NetworkList";
|
|
6
6
|
export * from "./Tag/Tag";
|
|
7
|
+
export * from "./Search/Search";
|
|
7
8
|
//# 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;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pre-ldls/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
|
|
@@ -2,5 +2,6 @@ export * from "./Input/Input";
|
|
|
2
2
|
export * from "./AssetItem/AssetItem";
|
|
3
3
|
export * from "./AssetTypeList/AssetList";
|
|
4
4
|
export * from "./NetworkItem/NetworkItem";
|
|
5
|
-
export * from "./
|
|
5
|
+
export * from "./NetworkList/NetworkList";
|
|
6
6
|
export * from "./Tag/Tag";
|
|
7
|
+
export * from "./Search/Search";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/native-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0-nightly.0",
|
|
4
4
|
"description": "Ledger Live - Mobile UI",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,13 +35,12 @@
|
|
|
35
35
|
"lib/**/*"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ledgerhq/crypto-icons": "1.1.
|
|
39
|
-
"@shopify/flash-list": "1.6.4",
|
|
38
|
+
"@ledgerhq/crypto-icons": "1.1.2",
|
|
40
39
|
"color": "^4.0.0",
|
|
41
40
|
"react-native-modal": "14.0.0-rc.1",
|
|
42
41
|
"rn-range-slider": "2.1.1",
|
|
43
42
|
"styled-system": "^5.1.5",
|
|
44
|
-
"@ledgerhq/crypto-icons-ui": "^1.16.0
|
|
43
|
+
"@ledgerhq/crypto-icons-ui": "^1.16.0",
|
|
45
44
|
"@ledgerhq/icons-ui": "^0.13.0-nightly.0",
|
|
46
45
|
"@ledgerhq/ui-shared": "^0.3.0"
|
|
47
46
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkList.d.ts","sourceRoot":"","sources":["../../../../src/pre-ldls/components/NetwrokList/NetworkList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAC;AAElE,eAAO,MAAM,WAAW;cAOZ,OAAO,EAAE;yBACE,MAAM,KAAK,IAAI;qCACJ,IAAI;;;uBAuCrC,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|