@ledgerhq/react-ui 0.41.2-nightly.20251129023709 → 0.42.0-nightly.20251203101856
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/assets/index.d.ts +0 -2
- package/lib/assets/index.d.ts.map +1 -1
- package/lib/assets/index.js +0 -2
- package/lib/assets/index.js.map +1 -1
- package/lib/cjs/assets/index.js +0 -2
- package/lib/cjs/assets/index.js.map +2 -2
- package/lib/cjs/components/asorted/Icon/index.js +0 -2
- package/lib/cjs/components/asorted/Icon/index.js.map +2 -2
- package/lib/cjs/components/asorted/index.js +0 -1
- package/lib/cjs/components/asorted/index.js.map +2 -2
- package/lib/components/asorted/Icon/index.d.ts +0 -1
- package/lib/components/asorted/Icon/index.d.ts.map +1 -1
- package/lib/components/asorted/Icon/index.js +0 -1
- package/lib/components/asorted/Icon/index.js.map +1 -1
- package/lib/components/asorted/index.d.ts +1 -1
- package/lib/components/asorted/index.d.ts.map +1 -1
- package/lib/components/asorted/index.js +1 -1
- package/lib/components/asorted/index.js.map +1 -1
- package/package.json +3 -7
- package/lib/assets/cryptoIcons.d.ts +0 -2
- package/lib/assets/cryptoIcons.d.ts.map +0 -1
- package/lib/assets/cryptoIcons.js +0 -2
- package/lib/assets/cryptoIcons.js.map +0 -1
- package/lib/cjs/assets/cryptoIcons.js +0 -19
- package/lib/cjs/assets/cryptoIcons.js.map +0 -7
- package/lib/cjs/components/asorted/Icon/CryptoIcon.js +0 -134
- package/lib/cjs/components/asorted/Icon/CryptoIcon.js.map +0 -7
- package/lib/cjs/components/asorted/Icon/CryptoIcons.stories.js +0 -174
- package/lib/cjs/components/asorted/Icon/CryptoIcons.stories.js.map +0 -7
- package/lib/components/asorted/Icon/CryptoIcon.d.ts +0 -15
- package/lib/components/asorted/Icon/CryptoIcon.d.ts.map +0 -1
- package/lib/components/asorted/Icon/CryptoIcon.js +0 -78
- package/lib/components/asorted/Icon/CryptoIcon.js.map +0 -1
package/lib/assets/index.d.ts
CHANGED
|
@@ -2,7 +2,5 @@ import * as IconsLegacy from "@ledgerhq/icons-ui/reactLegacy";
|
|
|
2
2
|
export { IconsLegacy };
|
|
3
3
|
import * as Icons from "@ledgerhq/icons-ui/react";
|
|
4
4
|
export { Icons };
|
|
5
|
-
import * as CryptoIcons from "@ledgerhq/crypto-icons-ui/react";
|
|
6
|
-
export { CryptoIcons };
|
|
7
5
|
export * as Logos from "./logos";
|
|
8
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
package/lib/assets/index.js
CHANGED
|
@@ -2,7 +2,5 @@ import * as IconsLegacy from "@ledgerhq/icons-ui/reactLegacy";
|
|
|
2
2
|
export { IconsLegacy };
|
|
3
3
|
import * as Icons from "@ledgerhq/icons-ui/react";
|
|
4
4
|
export { Icons };
|
|
5
|
-
import * as CryptoIcons from "@ledgerhq/crypto-icons-ui/react";
|
|
6
|
-
export { CryptoIcons };
|
|
7
5
|
export * as Logos from "./logos";
|
|
8
6
|
//# sourceMappingURL=index.js.map
|
package/lib/assets/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC"}
|
package/lib/cjs/assets/index.js
CHANGED
|
@@ -28,7 +28,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var assets_exports = {};
|
|
30
30
|
__export(assets_exports, {
|
|
31
|
-
CryptoIcons: () => CryptoIcons,
|
|
32
31
|
Icons: () => Icons,
|
|
33
32
|
IconsLegacy: () => IconsLegacy,
|
|
34
33
|
Logos: () => Logos
|
|
@@ -36,6 +35,5 @@ __export(assets_exports, {
|
|
|
36
35
|
module.exports = __toCommonJS(assets_exports);
|
|
37
36
|
var IconsLegacy = __toESM(require("@ledgerhq/icons-ui/reactLegacy"));
|
|
38
37
|
var Icons = __toESM(require("@ledgerhq/icons-ui/react"));
|
|
39
|
-
var CryptoIcons = __toESM(require("@ledgerhq/crypto-icons-ui/react"));
|
|
40
38
|
var Logos = __toESM(require("./logos"));
|
|
41
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/assets/index.ts"],
|
|
4
|
-
"sourcesContent": ["import * as IconsLegacy from \"@ledgerhq/icons-ui/reactLegacy\";\nexport { IconsLegacy };\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nexport { Icons };\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
4
|
+
"sourcesContent": ["import * as IconsLegacy from \"@ledgerhq/icons-ui/reactLegacy\";\nexport { IconsLegacy };\nimport * as Icons from \"@ledgerhq/icons-ui/react\";\nexport { Icons };\nexport * as Logos from \"./logos\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B;AAE7B,YAAuB;AAEvB,YAAuB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -29,7 +29,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var Icon_exports = {};
|
|
30
30
|
__export(Icon_exports, {
|
|
31
31
|
BoxedIcon: () => import_BoxedIcon.default,
|
|
32
|
-
CryptoIcon: () => import_CryptoIcon.default,
|
|
33
32
|
IconBox: () => import_BoxedIcon.IconBox,
|
|
34
33
|
NotificationIcon: () => import_NotificationIcon.default,
|
|
35
34
|
default: () => import_Icon.default,
|
|
@@ -38,6 +37,5 @@ __export(Icon_exports, {
|
|
|
38
37
|
module.exports = __toCommonJS(Icon_exports);
|
|
39
38
|
var import_Icon = __toESM(require("./Icon"));
|
|
40
39
|
var import_BoxedIcon = __toESM(require("./BoxedIcon"));
|
|
41
|
-
var import_CryptoIcon = __toESM(require("./CryptoIcon"));
|
|
42
40
|
var import_NotificationIcon = __toESM(require("./NotificationIcon"));
|
|
43
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/asorted/Icon/index.tsx"],
|
|
4
|
-
"sourcesContent": ["export { default, iconNames } from \"./Icon\";\nimport BoxedIcon, { IconBox } from \"./BoxedIcon\";\nexport { BoxedIcon, IconBox };\nexport type { Props } from \"./Icon\";\nexport { default as
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,oCAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
4
|
+
"sourcesContent": ["export { default, iconNames } from \"./Icon\";\nimport BoxedIcon, { IconBox } from \"./BoxedIcon\";\nexport { BoxedIcon, IconBox };\nexport type { Props } from \"./Icon\";\nexport { default as NotificationIcon } from \"./NotificationIcon\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,oCAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmC;AACnC,uBAAmC;AAGnC,8BAA4C;",
|
|
6
6
|
"names": ["BoxedIcon"]
|
|
7
7
|
}
|
|
@@ -29,7 +29,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var asorted_exports = {};
|
|
30
30
|
__export(asorted_exports, {
|
|
31
31
|
BoxedIcon: () => import_Icon.BoxedIcon,
|
|
32
|
-
CryptoIcon: () => import_Icon.CryptoIcon,
|
|
33
32
|
Divider: () => import_Divider.default,
|
|
34
33
|
Icon: () => import_Icon.default,
|
|
35
34
|
IconBox: () => import_Icon.IconBox,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/asorted/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { default as Divider } from \"./Divider\";\nexport { default as Icon, IconBox, BoxedIcon,
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA
|
|
4
|
+
"sourcesContent": ["export { default as Divider } from \"./Divider\";\nexport { default as Icon, IconBox, BoxedIcon, NotificationIcon } from \"./Icon\";\nexport { default as Text } from \"./Text\";\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmC;AACnC,kBAAsE;AACtE,kBAAgC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,5 @@ export { default, iconNames } from "./Icon";
|
|
|
2
2
|
import BoxedIcon, { IconBox } from "./BoxedIcon";
|
|
3
3
|
export { BoxedIcon, IconBox };
|
|
4
4
|
export type { Props } from "./Icon";
|
|
5
|
-
export { default as CryptoIcon } from "./CryptoIcon";
|
|
6
5
|
export { default as NotificationIcon } from "./NotificationIcon";
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC9B,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC9B,YAAY,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { default, iconNames } from "./Icon";
|
|
2
2
|
import BoxedIcon, { IconBox } from "./BoxedIcon";
|
|
3
3
|
export { BoxedIcon, IconBox };
|
|
4
|
-
export { default as CryptoIcon } from "./CryptoIcon";
|
|
5
4
|
export { default as NotificationIcon } from "./NotificationIcon";
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAE9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as Divider } from "./Divider";
|
|
2
|
-
export { default as Icon, IconBox, BoxedIcon,
|
|
2
|
+
export { default as Icon, IconBox, BoxedIcon, NotificationIcon } from "./Icon";
|
|
3
3
|
export { default as Text } from "./Text";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/asorted/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/asorted/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { default as Divider } from "./Divider";
|
|
2
|
-
export { default as Icon, IconBox, BoxedIcon,
|
|
2
|
+
export { default as Icon, IconBox, BoxedIcon, NotificationIcon } from "./Icon";
|
|
3
3
|
export { default as Text } from "./Text";
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/asorted/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/asorted/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ledgerhq/react-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0-nightly.20251203101856",
|
|
4
4
|
"description": "Ledger Live - Desktop UI",
|
|
5
5
|
"author": "Ledger Wallet Team <team-live@ledger.fr>",
|
|
6
6
|
"repository": {
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"lib/**/*"
|
|
61
61
|
],
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@ledgerhq/crypto-icons": "1.
|
|
63
|
+
"@ledgerhq/crypto-icons": "1.3.0",
|
|
64
64
|
"@tanstack/react-virtual": "3.13.6",
|
|
65
65
|
"@tippyjs/react": "^4.2.6",
|
|
66
66
|
"color": "^4.0.0",
|
|
@@ -74,8 +74,7 @@
|
|
|
74
74
|
"react-transition-group": "^4.4.2",
|
|
75
75
|
"react-window": "^1.8.6",
|
|
76
76
|
"styled-system": "^5.1.5",
|
|
77
|
-
"@ledgerhq/
|
|
78
|
-
"@ledgerhq/icons-ui": "^0.17.0-nightly.20251129023709",
|
|
77
|
+
"@ledgerhq/icons-ui": "^0.17.0-nightly.20251203101856",
|
|
79
78
|
"@ledgerhq/ui-shared": "^0.5.0"
|
|
80
79
|
},
|
|
81
80
|
"peerDependencies": {
|
|
@@ -142,9 +141,6 @@
|
|
|
142
141
|
"webpack": "*"
|
|
143
142
|
},
|
|
144
143
|
"dependenciesMeta": {
|
|
145
|
-
"@ledgerhq/crypto-icons-ui": {
|
|
146
|
-
"injected": true
|
|
147
|
-
},
|
|
148
144
|
"@ledgerhq/icons-ui": {
|
|
149
145
|
"injected": true
|
|
150
146
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoIcons.d.ts","sourceRoot":"","sources":["../../src/assets/cryptoIcons.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cryptoIcons.js","sourceRoot":"","sources":["../../src/assets/cryptoIcons.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var cryptoIcons_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(cryptoIcons_exports);
|
|
18
|
-
__reExport(cryptoIcons_exports, require("@ledgerhq/crypto-icons-ui/react"), module.exports);
|
|
19
|
-
//# sourceMappingURL=cryptoIcons.js.map
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var CryptoIcon_exports = {};
|
|
30
|
-
__export(CryptoIcon_exports, {
|
|
31
|
-
default: () => CryptoIcon_default,
|
|
32
|
-
iconNames: () => iconNames
|
|
33
|
-
});
|
|
34
|
-
module.exports = __toCommonJS(CryptoIcon_exports);
|
|
35
|
-
var icons = __toESM(require("@ledgerhq/crypto-icons-ui/react"));
|
|
36
|
-
var import_react = __toESM(require("react"));
|
|
37
|
-
var import_styles = require("../../../styles");
|
|
38
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
39
|
-
var import_Text = __toESM(require("../Text/index"));
|
|
40
|
-
var import_Flex = __toESM(require("../../layout/Flex"));
|
|
41
|
-
const iconNames = Array.from(
|
|
42
|
-
Object.keys(icons).reduce((set, rawKey) => {
|
|
43
|
-
const key = rawKey;
|
|
44
|
-
if (!set.has(key))
|
|
45
|
-
set.add(key);
|
|
46
|
-
return set;
|
|
47
|
-
}, /* @__PURE__ */ new Set())
|
|
48
|
-
);
|
|
49
|
-
const Container = (0, import_styled_components.default)(import_Flex.default).attrs((p) => ({
|
|
50
|
-
heigth: p.size,
|
|
51
|
-
width: p.size,
|
|
52
|
-
alignItems: "center",
|
|
53
|
-
justifyContent: "center",
|
|
54
|
-
position: "relative"
|
|
55
|
-
}))``;
|
|
56
|
-
const Circle = (0, import_styled_components.default)(import_Flex.default).attrs((p) => ({
|
|
57
|
-
heigth: p.size,
|
|
58
|
-
width: p.size,
|
|
59
|
-
alignItems: "center",
|
|
60
|
-
justifyContent: "center",
|
|
61
|
-
position: "relative",
|
|
62
|
-
borderRadius: "50%",
|
|
63
|
-
backgroundColor: p.backgroundColor
|
|
64
|
-
}))``;
|
|
65
|
-
const TokenContainer = (0, import_styled_components.default)(import_Flex.default).attrs(
|
|
66
|
-
(p) => ({
|
|
67
|
-
position: "absolute",
|
|
68
|
-
bottom: "-2px",
|
|
69
|
-
right: "-5px",
|
|
70
|
-
alignItems: "center",
|
|
71
|
-
justifyContent: "center",
|
|
72
|
-
heigth: p.size,
|
|
73
|
-
width: p.size,
|
|
74
|
-
borderRadius: "50%",
|
|
75
|
-
border: `2px solid ${p.borderColor}`,
|
|
76
|
-
backgroundColor: p.backgroundColor,
|
|
77
|
-
zIndex: 0
|
|
78
|
-
})
|
|
79
|
-
)``;
|
|
80
|
-
function Fallback({ name }) {
|
|
81
|
-
return /* @__PURE__ */ import_react.default.createElement(import_Text.default, { uppercase: true, color: "neutral.c70" }, name.slice(0, 1));
|
|
82
|
-
}
|
|
83
|
-
const IconBox = ({
|
|
84
|
-
children,
|
|
85
|
-
color,
|
|
86
|
-
backgroundColor,
|
|
87
|
-
disabled,
|
|
88
|
-
size = 16,
|
|
89
|
-
tokenIcon = ""
|
|
90
|
-
}) => {
|
|
91
|
-
const { colors } = (0, import_styled_components.useTheme)();
|
|
92
|
-
if (tokenIcon in icons) {
|
|
93
|
-
const Component = icons[tokenIcon];
|
|
94
|
-
const defaultColor = Component.DefaultColor;
|
|
95
|
-
const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;
|
|
96
|
-
const contrastedColor = (0, import_styles.ensureContrast)(iconColor, backgroundColor || colors.background.main);
|
|
97
|
-
return /* @__PURE__ */ import_react.default.createElement(Container, { size }, children, tokenIcon && /* @__PURE__ */ import_react.default.createElement(
|
|
98
|
-
TokenContainer,
|
|
99
|
-
{
|
|
100
|
-
size: size / 3,
|
|
101
|
-
borderColor: colors.background.main,
|
|
102
|
-
backgroundColor: contrastedColor
|
|
103
|
-
},
|
|
104
|
-
/* @__PURE__ */ import_react.default.createElement(Component, { size, color: colors.background.main })
|
|
105
|
-
));
|
|
106
|
-
}
|
|
107
|
-
return children;
|
|
108
|
-
};
|
|
109
|
-
const CryptoIcon = ({
|
|
110
|
-
name,
|
|
111
|
-
size = 16,
|
|
112
|
-
color,
|
|
113
|
-
backgroundColor,
|
|
114
|
-
circleIcon,
|
|
115
|
-
disabled,
|
|
116
|
-
tokenIcon,
|
|
117
|
-
fallbackIcon
|
|
118
|
-
}) => {
|
|
119
|
-
const { colors } = (0, import_styled_components.useTheme)();
|
|
120
|
-
const maybeIconName = `${name}`;
|
|
121
|
-
if (maybeIconName in icons) {
|
|
122
|
-
const Component = icons[maybeIconName];
|
|
123
|
-
const defaultColor = Component.DefaultColor;
|
|
124
|
-
const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;
|
|
125
|
-
const contrastedColor = (0, import_styles.ensureContrast)(iconColor, backgroundColor || colors.background.main);
|
|
126
|
-
return /* @__PURE__ */ import_react.default.createElement(IconBox, { size, tokenIcon, color, disabled, name }, tokenIcon || circleIcon ? /* @__PURE__ */ import_react.default.createElement(Circle, { backgroundColor: contrastedColor, size }, /* @__PURE__ */ import_react.default.createElement(Component, { size, color: colors.background.main })) : /* @__PURE__ */ import_react.default.createElement(Component, { size, color: contrastedColor }));
|
|
127
|
-
}
|
|
128
|
-
if (fallbackIcon) {
|
|
129
|
-
return fallbackIcon;
|
|
130
|
-
}
|
|
131
|
-
return /* @__PURE__ */ import_react.default.createElement(Fallback, { name });
|
|
132
|
-
};
|
|
133
|
-
var CryptoIcon_default = CryptoIcon;
|
|
134
|
-
//# sourceMappingURL=CryptoIcon.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/components/asorted/Icon/CryptoIcon.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as icons from \"@ledgerhq/crypto-icons-ui/react\";\nimport React from \"react\";\nimport { ensureContrast } from \"../../../styles\";\nimport styled, { useTheme } from \"styled-components\";\nimport Text from \"../Text/index\";\nimport Flex from \"../../layout/Flex\";\n\nexport type Props = {\n name: string;\n size?: number;\n color?: string;\n backgroundColor?: string; // overrides background color to ensure contrast with icon color\n circleIcon?: boolean;\n disabled?: boolean;\n tokenIcon?: string;\n fallbackIcon?: JSX.Element;\n};\n\ntype IconBoxProps = {\n children: JSX.Element;\n} & Props;\n\ntype FallbackProps = {\n name: string;\n};\n\nexport const iconNames = Array.from(\n Object.keys(icons).reduce((set, rawKey) => {\n const key = rawKey;\n if (!set.has(key)) set.add(key);\n return set;\n }, new Set<string>()),\n);\n\nconst Container = styled(Flex).attrs((p: { size: number }) => ({\n heigth: p.size,\n width: p.size,\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n}))<{ size: number }>``;\n\nconst Circle = styled(Flex).attrs((p: { size: number; backgroundColor: string }) => ({\n heigth: p.size,\n width: p.size,\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"relative\",\n borderRadius: \"50%\",\n backgroundColor: p.backgroundColor,\n}))<{ size: number }>``;\n\nconst TokenContainer = styled(Flex).attrs(\n (p: { size: number; borderColor: string; backgroundColor: string }) => ({\n position: \"absolute\",\n bottom: \"-2px\",\n right: \"-5px\",\n alignItems: \"center\",\n justifyContent: \"center\",\n heigth: p.size,\n width: p.size,\n borderRadius: \"50%\",\n border: `2px solid ${p.borderColor}`,\n backgroundColor: p.backgroundColor,\n zIndex: 0,\n }),\n)<{ size: number }>``;\n\nfunction Fallback({ name }: FallbackProps) {\n return (\n <Text uppercase color=\"neutral.c70\">\n {name.slice(0, 1)}\n </Text>\n );\n}\n\nconst IconBox = ({\n children,\n color,\n backgroundColor,\n disabled,\n size = 16,\n tokenIcon = \"\",\n}: IconBoxProps) => {\n const { colors } = useTheme();\n if (tokenIcon in icons) {\n // @ts-expect-error FIXME I don't know how to make you happy ts\n const Component = icons[tokenIcon];\n const defaultColor = Component.DefaultColor;\n const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;\n const contrastedColor = ensureContrast(iconColor, backgroundColor || colors.background.main);\n return (\n <Container size={size}>\n {children}\n {tokenIcon && (\n <TokenContainer\n size={size / 3}\n borderColor={colors.background.main}\n backgroundColor={contrastedColor}\n >\n <Component size={size} color={colors.background.main} />\n </TokenContainer>\n )}\n </Container>\n );\n }\n return children;\n};\n\nconst CryptoIcon = ({\n name,\n size = 16,\n color,\n backgroundColor,\n circleIcon,\n disabled,\n tokenIcon,\n fallbackIcon,\n}: Props): JSX.Element => {\n const { colors } = useTheme();\n const maybeIconName = `${name}`;\n if (maybeIconName in icons) {\n // @ts-expect-error FIXME I don't know how to make you happy ts\n const Component = icons[maybeIconName];\n const defaultColor = Component.DefaultColor;\n const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;\n const contrastedColor = ensureContrast(iconColor, backgroundColor || colors.background.main);\n\n return (\n <IconBox size={size} tokenIcon={tokenIcon} color={color} disabled={disabled} name={name}>\n {tokenIcon || circleIcon ? (\n <Circle backgroundColor={contrastedColor} size={size}>\n <Component size={size} color={colors.background.main} />\n </Circle>\n ) : (\n <Component size={size} color={contrastedColor} />\n )}\n </IconBox>\n );\n }\n if (fallbackIcon) {\n return fallbackIcon;\n }\n return <Fallback name={name} />;\n};\n\nexport default CryptoIcon;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["styled", "Flex", "React", "Text"]
|
|
7
|
-
}
|
|
@@ -1,174 +0,0 @@
|
|
|
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 CryptoIcons_stories_exports = {};
|
|
30
|
-
__export(CryptoIcons_stories_exports, {
|
|
31
|
-
ListCryptoIcons: () => ListCryptoIcons,
|
|
32
|
-
SingleCryptoIcon: () => SingleCryptoIcon,
|
|
33
|
-
default: () => CryptoIcons_stories_default
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(CryptoIcons_stories_exports);
|
|
36
|
-
var import_react = __toESM(require("react"));
|
|
37
|
-
var import_styled_components = __toESM(require("styled-components"));
|
|
38
|
-
var import__ = require("../../..");
|
|
39
|
-
var cryptoIcons = __toESM(require("@ledgerhq/crypto-icons-ui/react"));
|
|
40
|
-
const description = `
|
|
41
|
-
### A customizable crypto-icon component.
|
|
42
|
-
|
|
43
|
-
### Props
|
|
44
|
-
|
|
45
|
-
\`\`\`tsx
|
|
46
|
-
type Props = {
|
|
47
|
-
name: string;
|
|
48
|
-
size?: number;
|
|
49
|
-
color?: string;
|
|
50
|
-
backgroundColor?: string; // overrides background color to ensure contrast with icon color
|
|
51
|
-
circleIcon?: boolean; // if icon is in a circle or not
|
|
52
|
-
tokenIcon?: string; // ref to the token icon to show as a sub icon
|
|
53
|
-
disabled?: boolean;
|
|
54
|
-
fallback?: JSX.Element; // fallback element if no icon found - defaults to an icon with first letter of icon name
|
|
55
|
-
};
|
|
56
|
-
\`\`\`
|
|
57
|
-
`;
|
|
58
|
-
const ScrollArea = (0, import_styled_components.default)(import__.Grid)`
|
|
59
|
-
flex: 1;
|
|
60
|
-
height: auto;
|
|
61
|
-
${(p) => p.theme.overflow.y};
|
|
62
|
-
`;
|
|
63
|
-
const Container = (0, import_styled_components.default)(import__.Flex).attrs({
|
|
64
|
-
flex: 1,
|
|
65
|
-
flexDirection: "column",
|
|
66
|
-
p: 4
|
|
67
|
-
})`
|
|
68
|
-
overflow: hidden;
|
|
69
|
-
height: calc(100vh - 4em);
|
|
70
|
-
`;
|
|
71
|
-
const IconContainer = (0, import_styled_components.default)(import__.Flex).attrs({
|
|
72
|
-
flexDirection: "column",
|
|
73
|
-
justifyContent: "flex-end",
|
|
74
|
-
alignItems: "center",
|
|
75
|
-
p: 4
|
|
76
|
-
})`
|
|
77
|
-
${(p) => p.active ? `background-color: ${p.theme.colors.neutral.c20};` : ``}
|
|
78
|
-
border-radius: 4px;
|
|
79
|
-
height: 100px;
|
|
80
|
-
`;
|
|
81
|
-
const Bold = import_styled_components.default.b`
|
|
82
|
-
color: ${(p) => p.theme.colors.primary.c80};
|
|
83
|
-
`;
|
|
84
|
-
const Story = {
|
|
85
|
-
title: "Asorted/CryptoIcons",
|
|
86
|
-
argTypes: {
|
|
87
|
-
size: {
|
|
88
|
-
type: "number",
|
|
89
|
-
description: "Icon size for preview"
|
|
90
|
-
},
|
|
91
|
-
color: {
|
|
92
|
-
type: "string",
|
|
93
|
-
description: "Color",
|
|
94
|
-
control: { control: "color" }
|
|
95
|
-
},
|
|
96
|
-
name: {
|
|
97
|
-
type: "enum",
|
|
98
|
-
description: "[Only for single icon], Icon name",
|
|
99
|
-
options: Object.keys(cryptoIcons),
|
|
100
|
-
control: {
|
|
101
|
-
type: "select"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
circleIcon: {
|
|
105
|
-
type: "boolean",
|
|
106
|
-
description: "if icon is in a circle or not"
|
|
107
|
-
},
|
|
108
|
-
disabled: {
|
|
109
|
-
type: "boolean",
|
|
110
|
-
description: "if icon is in a disabled or not"
|
|
111
|
-
},
|
|
112
|
-
tokenIcon: {
|
|
113
|
-
type: "string",
|
|
114
|
-
description: "ref to the token icon to show as a sub icon"
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
args: {
|
|
118
|
-
size: 32,
|
|
119
|
-
name: "BTC",
|
|
120
|
-
circleIcon: false,
|
|
121
|
-
disabled: false,
|
|
122
|
-
tokenIcon: ""
|
|
123
|
-
},
|
|
124
|
-
parameters: {
|
|
125
|
-
docs: {
|
|
126
|
-
description: {
|
|
127
|
-
component: description
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
var CryptoIcons_stories_default = Story;
|
|
133
|
-
const ListTemplate = (args) => {
|
|
134
|
-
const color = args.color || void 0;
|
|
135
|
-
const [search, setSearch] = (0, import_react.useState)("");
|
|
136
|
-
const s = search.toLowerCase();
|
|
137
|
-
const regexp = new RegExp(s, "i");
|
|
138
|
-
const { tokenIcon, disabled, circleIcon, size } = args;
|
|
139
|
-
return /* @__PURE__ */ import_react.default.createElement(Container, null, /* @__PURE__ */ import_react.default.createElement(import__.SearchInput, { value: search, onChange: setSearch }), /* @__PURE__ */ import_react.default.createElement(
|
|
140
|
-
ScrollArea,
|
|
141
|
-
{
|
|
142
|
-
gridTemplateColumns: "repeat(auto-fill, 100px);",
|
|
143
|
-
gridTemplateRows: "repeat(auto-fill, 100px);",
|
|
144
|
-
gridGap: 4,
|
|
145
|
-
mt: 4
|
|
146
|
-
},
|
|
147
|
-
Object.keys(cryptoIcons).sort((a, b) => {
|
|
148
|
-
return s ? b.toLowerCase().indexOf(s) - a.toLowerCase().indexOf(s) : a.localeCompare(b);
|
|
149
|
-
}).map((name) => {
|
|
150
|
-
const match = name.match(regexp);
|
|
151
|
-
const active = s && match;
|
|
152
|
-
const index = (match == null ? void 0 : match.index) ?? 0;
|
|
153
|
-
return /* @__PURE__ */ import_react.default.createElement(IconContainer, { active: !!active }, /* @__PURE__ */ import_react.default.createElement(import__.Flex, { flex: 1, justifyContent: "center", alignItems: "center" }, /* @__PURE__ */ import_react.default.createElement(
|
|
154
|
-
import__.CryptoIcon,
|
|
155
|
-
{
|
|
156
|
-
key: name,
|
|
157
|
-
name,
|
|
158
|
-
size,
|
|
159
|
-
color,
|
|
160
|
-
disabled,
|
|
161
|
-
circleIcon,
|
|
162
|
-
tokenIcon
|
|
163
|
-
}
|
|
164
|
-
)), /* @__PURE__ */ import_react.default.createElement(import__.Text, { variant: "extraSmall" }, active ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, name.substr(0, index), /* @__PURE__ */ import_react.default.createElement(Bold, null, name.substr(index, s.length)), name.substr(index + s.length)) : name));
|
|
165
|
-
})
|
|
166
|
-
));
|
|
167
|
-
};
|
|
168
|
-
const IconTemplate = (args) => {
|
|
169
|
-
const color = args.color || void 0;
|
|
170
|
-
return /* @__PURE__ */ import_react.default.createElement(import__.CryptoIcon, { ...args, color });
|
|
171
|
-
};
|
|
172
|
-
const ListCryptoIcons = ListTemplate.bind({});
|
|
173
|
-
const SingleCryptoIcon = IconTemplate.bind({});
|
|
174
|
-
//# sourceMappingURL=CryptoIcons.stories.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../src/components/asorted/Icon/CryptoIcons.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport { Text, SearchInput, Flex, Grid, CryptoIcon } from \"../../..\";\nimport * as cryptoIcons from \"@ledgerhq/crypto-icons-ui/react\";\n\nconst description = `\n### A customizable crypto-icon component.\n\n### Props\n\n\\`\\`\\`tsx\ntype Props = {\n name: string;\n size?: number;\n color?: string;\n backgroundColor?: string; // overrides background color to ensure contrast with icon color\n circleIcon?: boolean; // if icon is in a circle or not\n tokenIcon?: string; // ref to the token icon to show as a sub icon\n disabled?: boolean;\n fallback?: JSX.Element; // fallback element if no icon found - defaults to an icon with first letter of icon name\n};\n\\`\\`\\`\n`;\n\ntype CryptoIconsProps = {\n name: keyof typeof cryptoIcons;\n size?: number;\n color?: string;\n circleIcon?: boolean;\n disabled?: boolean;\n tokenIcon?: string;\n};\n\nconst ScrollArea = styled(Grid)`\n flex: 1;\n height: auto;\n ${p => p.theme.overflow.y};\n`;\n\nconst Container = styled(Flex).attrs({\n flex: 1,\n flexDirection: \"column\",\n p: 4,\n})`\n overflow: hidden;\n height: calc(100vh - 4em);\n`;\n\nconst IconContainer = styled(Flex).attrs<{ active?: boolean }>({\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n p: 4,\n})<{ active?: boolean }>`\n ${p => (p.active ? `background-color: ${p.theme.colors.neutral.c20};` : ``)}\n border-radius: 4px;\n height: 100px;\n`;\n\nconst Bold = styled.b`\n color: ${p => p.theme.colors.primary.c80};\n`;\n\nconst Story = {\n title: \"Asorted/CryptoIcons\",\n argTypes: {\n size: {\n type: \"number\",\n description: \"Icon size for preview\",\n },\n color: {\n type: \"string\",\n description: \"Color\",\n control: { control: \"color\" },\n },\n name: {\n type: \"enum\",\n description: \"[Only for single icon], Icon name\",\n options: Object.keys(cryptoIcons),\n control: {\n type: \"select\",\n },\n },\n circleIcon: {\n type: \"boolean\",\n description: \"if icon is in a circle or not\",\n },\n disabled: {\n type: \"boolean\",\n description: \"if icon is in a disabled or not\",\n },\n tokenIcon: {\n type: \"string\",\n description: \"ref to the token icon to show as a sub icon\",\n },\n },\n args: {\n size: 32,\n name: \"BTC\",\n circleIcon: false,\n disabled: false,\n tokenIcon: \"\",\n },\n parameters: {\n docs: {\n description: {\n component: description,\n },\n },\n },\n};\nexport default Story;\n\nconst ListTemplate = (args: CryptoIconsProps) => {\n const color = args.color || undefined;\n const [search, setSearch] = useState(\"\");\n const s = search.toLowerCase();\n const regexp = new RegExp(s, \"i\");\n\n const { tokenIcon, disabled, circleIcon, size } = args;\n\n return (\n <Container>\n <SearchInput value={search} onChange={setSearch} />\n <ScrollArea\n gridTemplateColumns=\"repeat(auto-fill, 100px);\"\n gridTemplateRows=\"repeat(auto-fill, 100px);\"\n gridGap={4}\n mt={4}\n >\n {Object.keys(cryptoIcons)\n .sort((a, b) => {\n return s ? b.toLowerCase().indexOf(s) - a.toLowerCase().indexOf(s) : a.localeCompare(b);\n })\n // @ts-expect-error FIXME I don't know how to make you happy ts\n .map((name: keyof typeof cryptoIcons) => {\n const match = name.match(regexp);\n const active = s && match;\n const index = match?.index ?? 0;\n return (\n <IconContainer active={!!active}>\n <Flex flex={1} justifyContent=\"center\" alignItems=\"center\">\n <CryptoIcon\n key={name}\n name={name}\n size={size}\n color={color}\n disabled={disabled}\n circleIcon={circleIcon}\n tokenIcon={tokenIcon}\n />\n </Flex>\n <Text variant=\"extraSmall\">\n {active ? (\n <>\n {name.substr(0, index)}\n <Bold>{name.substr(index, s.length)}</Bold>\n {name.substr(index + s.length)}\n </>\n ) : (\n name\n )}\n </Text>\n </IconContainer>\n );\n })}\n </ScrollArea>\n </Container>\n );\n};\nconst IconTemplate = (args: CryptoIconsProps) => {\n const color = args.color || undefined;\n\n return <CryptoIcon {...args} color={color} />;\n};\n\nexport const ListCryptoIcons = ListTemplate.bind({});\nexport const SingleCryptoIcon = IconTemplate.bind({});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["styled", "React"]
|
|
7
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export type Props = {
|
|
3
|
-
name: string;
|
|
4
|
-
size?: number;
|
|
5
|
-
color?: string;
|
|
6
|
-
backgroundColor?: string;
|
|
7
|
-
circleIcon?: boolean;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
tokenIcon?: string;
|
|
10
|
-
fallbackIcon?: JSX.Element;
|
|
11
|
-
};
|
|
12
|
-
export declare const iconNames: string[];
|
|
13
|
-
declare const CryptoIcon: ({ name, size, color, backgroundColor, circleIcon, disabled, tokenIcon, fallbackIcon, }: Props) => JSX.Element;
|
|
14
|
-
export default CryptoIcon;
|
|
15
|
-
//# sourceMappingURL=CryptoIcon.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoIcon.d.ts","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/CryptoIcon.tsx"],"names":[],"mappings":";AAOA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC5B,CAAC;AAUF,eAAO,MAAM,SAAS,UAMrB,CAAC;AA6EF,QAAA,MAAM,UAAU,2FASb,KAAK,KAAG,WA0BV,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import * as icons from "@ledgerhq/crypto-icons-ui/react";
|
|
2
|
-
import React from "react";
|
|
3
|
-
import { ensureContrast } from "../../../styles";
|
|
4
|
-
import styled, { useTheme } from "styled-components";
|
|
5
|
-
import Text from "../Text/index";
|
|
6
|
-
import Flex from "../../layout/Flex";
|
|
7
|
-
export const iconNames = Array.from(Object.keys(icons).reduce((set, rawKey) => {
|
|
8
|
-
const key = rawKey;
|
|
9
|
-
if (!set.has(key))
|
|
10
|
-
set.add(key);
|
|
11
|
-
return set;
|
|
12
|
-
}, new Set()));
|
|
13
|
-
const Container = styled(Flex).attrs((p) => ({
|
|
14
|
-
heigth: p.size,
|
|
15
|
-
width: p.size,
|
|
16
|
-
alignItems: "center",
|
|
17
|
-
justifyContent: "center",
|
|
18
|
-
position: "relative",
|
|
19
|
-
})) ``;
|
|
20
|
-
const Circle = styled(Flex).attrs((p) => ({
|
|
21
|
-
heigth: p.size,
|
|
22
|
-
width: p.size,
|
|
23
|
-
alignItems: "center",
|
|
24
|
-
justifyContent: "center",
|
|
25
|
-
position: "relative",
|
|
26
|
-
borderRadius: "50%",
|
|
27
|
-
backgroundColor: p.backgroundColor,
|
|
28
|
-
})) ``;
|
|
29
|
-
const TokenContainer = styled(Flex).attrs((p) => ({
|
|
30
|
-
position: "absolute",
|
|
31
|
-
bottom: "-2px",
|
|
32
|
-
right: "-5px",
|
|
33
|
-
alignItems: "center",
|
|
34
|
-
justifyContent: "center",
|
|
35
|
-
heigth: p.size,
|
|
36
|
-
width: p.size,
|
|
37
|
-
borderRadius: "50%",
|
|
38
|
-
border: `2px solid ${p.borderColor}`,
|
|
39
|
-
backgroundColor: p.backgroundColor,
|
|
40
|
-
zIndex: 0,
|
|
41
|
-
})) ``;
|
|
42
|
-
function Fallback({ name }) {
|
|
43
|
-
return (React.createElement(Text, { uppercase: true, color: "neutral.c70" }, name.slice(0, 1)));
|
|
44
|
-
}
|
|
45
|
-
const IconBox = ({ children, color, backgroundColor, disabled, size = 16, tokenIcon = "", }) => {
|
|
46
|
-
const { colors } = useTheme();
|
|
47
|
-
if (tokenIcon in icons) {
|
|
48
|
-
// @ts-expect-error FIXME I don't know how to make you happy ts
|
|
49
|
-
const Component = icons[tokenIcon];
|
|
50
|
-
const defaultColor = Component.DefaultColor;
|
|
51
|
-
const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;
|
|
52
|
-
const contrastedColor = ensureContrast(iconColor, backgroundColor || colors.background.main);
|
|
53
|
-
return (React.createElement(Container, { size: size },
|
|
54
|
-
children,
|
|
55
|
-
tokenIcon && (React.createElement(TokenContainer, { size: size / 3, borderColor: colors.background.main, backgroundColor: contrastedColor },
|
|
56
|
-
React.createElement(Component, { size: size, color: colors.background.main })))));
|
|
57
|
-
}
|
|
58
|
-
return children;
|
|
59
|
-
};
|
|
60
|
-
const CryptoIcon = ({ name, size = 16, color, backgroundColor, circleIcon, disabled, tokenIcon, fallbackIcon, }) => {
|
|
61
|
-
const { colors } = useTheme();
|
|
62
|
-
const maybeIconName = `${name}`;
|
|
63
|
-
if (maybeIconName in icons) {
|
|
64
|
-
// @ts-expect-error FIXME I don't know how to make you happy ts
|
|
65
|
-
const Component = icons[maybeIconName];
|
|
66
|
-
const defaultColor = Component.DefaultColor;
|
|
67
|
-
const iconColor = disabled ? colors.neutral.c70 : color || defaultColor;
|
|
68
|
-
const contrastedColor = ensureContrast(iconColor, backgroundColor || colors.background.main);
|
|
69
|
-
return (React.createElement(IconBox, { size: size, tokenIcon: tokenIcon, color: color, disabled: disabled, name: name }, tokenIcon || circleIcon ? (React.createElement(Circle, { backgroundColor: contrastedColor, size: size },
|
|
70
|
-
React.createElement(Component, { size: size, color: colors.background.main }))) : (React.createElement(Component, { size: size, color: contrastedColor }))));
|
|
71
|
-
}
|
|
72
|
-
if (fallbackIcon) {
|
|
73
|
-
return fallbackIcon;
|
|
74
|
-
}
|
|
75
|
-
return React.createElement(Fallback, { name: name });
|
|
76
|
-
};
|
|
77
|
-
export default CryptoIcon;
|
|
78
|
-
//# sourceMappingURL=CryptoIcon.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoIcon.js","sourceRoot":"","sources":["../../../../src/components/asorted/Icon/CryptoIcon.tsx"],"names":[],"mappings":"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"}
|