@ledgerhq/react-ui 0.1.1 → 0.4.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 (121) hide show
  1. package/README.md +54 -13
  2. package/assets/icons.d.ts +1 -0
  3. package/assets/icons.js +1 -0
  4. package/components/Chart/index.js +1 -1
  5. package/components/Table/Columns.d.ts +2 -2
  6. package/components/Table/Columns.js +2 -2
  7. package/components/Table/index.d.ts +3 -2
  8. package/components/Table/index.js +1 -4
  9. package/components/Table/stories.helper.js +6 -6
  10. package/components/Tag/index.d.ts +18 -5
  11. package/components/Tag/index.js +54 -21
  12. package/components/animations/GlitchText/index.d.ts +7 -0
  13. package/components/animations/GlitchText/index.js +35 -0
  14. package/components/asorted/Divider/index.js +2 -2
  15. package/components/asorted/Icon/Icon.d.ts +1 -0
  16. package/components/asorted/Icon/Icon.js +8 -1
  17. package/components/asorted/Icon/index.d.ts +1 -1
  18. package/components/asorted/Icon/index.js +1 -1
  19. package/components/asorted/Text/index.d.ts +9 -31
  20. package/components/asorted/Text/index.js +11 -17
  21. package/components/asorted/Text/styles.d.ts +7 -2
  22. package/components/asorted/Text/styles.js +69 -85
  23. package/components/asorted/index.d.ts +1 -1
  24. package/components/asorted/index.js +1 -1
  25. package/components/cards/Carousel/Slide.js +3 -3
  26. package/components/cards/Carousel/index.js +8 -8
  27. package/components/cta/Button/index.d.ts +26 -14
  28. package/components/cta/Button/index.js +77 -66
  29. package/components/cta/Link/index.d.ts +12 -4
  30. package/components/cta/Link/index.js +4 -3
  31. package/components/cta/Toggle/index.js +1 -1
  32. package/components/cta/getCtaStyle.d.ts +2 -2
  33. package/components/cta/index.d.ts +1 -0
  34. package/components/cta/index.js +1 -0
  35. package/components/form/BaseInput/index.d.ts +86 -15
  36. package/components/form/BaseInput/index.js +47 -20
  37. package/components/form/Checkbox/Checkbox.js +12 -9
  38. package/components/form/Dropdown/index.js +3 -3
  39. package/components/form/LegendInput/index.js +3 -3
  40. package/components/form/NumberInput/index.d.ts +1 -1
  41. package/components/form/NumberInput/index.js +18 -7
  42. package/components/form/QrCodeInput/index.js +4 -4
  43. package/components/form/QuantityInput/index.js +8 -8
  44. package/components/form/Radio/RadioElement.d.ts +5 -2
  45. package/components/form/Radio/RadioElement.js +16 -14
  46. package/components/form/Radio/RadioListElement.d.ts +22 -0
  47. package/components/form/Radio/RadioListElement.js +63 -0
  48. package/components/form/Radio/index.d.ts +8 -1
  49. package/components/form/Radio/index.js +2 -0
  50. package/components/form/SearchInput/index.js +1 -1
  51. package/components/form/SelectInput/DropdownIndicator.js +1 -1
  52. package/components/form/SelectInput/MenuList.js +1 -1
  53. package/components/form/SelectInput/Option.js +12 -12
  54. package/components/form/SelectInput/ValueContainer.js +2 -2
  55. package/components/form/SelectInput/index.d.ts +3 -2
  56. package/components/form/SelectInput/index.js +5 -5
  57. package/components/form/SplitInput/index.js +5 -5
  58. package/components/form/Switch/Switch.js +9 -9
  59. package/components/helpers.d.ts +2 -2
  60. package/components/layout/Box/index.d.ts +11 -0
  61. package/components/layout/Box/index.js +3 -0
  62. package/components/layout/Drawer/index.d.ts +13 -0
  63. package/components/layout/{Side/Side.js → Drawer/index.js} +12 -12
  64. package/components/layout/Flex/index.d.ts +10 -7
  65. package/components/layout/Flex/index.js +2 -11
  66. package/components/layout/Grid/index.d.ts +3 -2
  67. package/components/layout/Grid/index.js +3 -3
  68. package/components/layout/Popin/index.d.ts +33 -6
  69. package/components/layout/Popin/index.js +65 -41
  70. package/components/layout/Side/Provider.d.ts +9 -8
  71. package/components/layout/Side/Provider.js +1 -3
  72. package/components/layout/Side/index.js +7 -10
  73. package/components/layout/index.d.ts +2 -0
  74. package/components/layout/index.js +2 -0
  75. package/components/loaders/ProgressLoader/index.js +4 -4
  76. package/components/message/Alert/index.js +7 -7
  77. package/components/message/Log/index.js +2 -2
  78. package/components/message/Notification/Badge.js +2 -2
  79. package/components/message/Notification/index.d.ts +8 -14
  80. package/components/message/Notification/index.js +9 -29
  81. package/components/message/StatusNotification/index.d.ts +11 -0
  82. package/components/message/StatusNotification/index.js +33 -0
  83. package/components/message/Tip/index.d.ts +8 -0
  84. package/components/message/Tip/index.js +43 -0
  85. package/components/message/Tooltip/index.d.ts +3 -2
  86. package/components/message/Tooltip/index.js +26 -3
  87. package/components/message/Tooltip/styles.js +3 -3
  88. package/components/message/index.d.ts +3 -0
  89. package/components/message/index.js +3 -0
  90. package/components/navigation/Aside/index.d.ts +8 -1
  91. package/components/navigation/Breadcrumb/index.js +5 -5
  92. package/components/navigation/Header/index.d.ts +3 -3
  93. package/components/navigation/progress/ProgressBar/Onboarding.js +6 -6
  94. package/components/navigation/progress/Stepper/index.js +10 -10
  95. package/components/navigation/sideBar/Item/Item.d.ts +4 -7
  96. package/components/navigation/sideBar/Item/Item.js +34 -16
  97. package/components/navigation/sideBar/SideBar/SideBar.d.ts +1 -1
  98. package/components/navigation/sideBar/SideBar/SideBar.js +14 -6
  99. package/components/navigation/sideBar/Toggle/Toggle.js +2 -2
  100. package/components/styled.d.ts +13 -0
  101. package/components/styled.js +13 -0
  102. package/components/tabs/Bar/index.js +4 -4
  103. package/components/tabs/Chip/index.d.ts +13 -0
  104. package/components/tabs/Chip/index.js +21 -0
  105. package/components/tabs/Pill/index.js +7 -7
  106. package/components/tabs/Tabs/index.js +8 -7
  107. package/components/tabs/index.d.ts +2 -0
  108. package/components/tabs/index.js +2 -0
  109. package/package.json +19 -8
  110. package/styles/InvertTheme.d.ts +1 -8
  111. package/styles/StyleProvider.d.ts +3 -3
  112. package/styles/StyleProvider.js +3 -3
  113. package/styles/global.d.ts +1 -0
  114. package/styles/global.js +16 -38
  115. package/styles/index.d.ts +0 -1
  116. package/styles/index.js +0 -1
  117. package/styles/theme.d.ts +63 -39
  118. package/styles/theme.js +34 -8
  119. package/components/layout/Side/Side.d.ts +0 -13
  120. package/styles/reset.d.ts +0 -2
  121. package/styles/reset.js +0 -62
package/styles/global.js CHANGED
@@ -1,60 +1,38 @@
1
1
  import { createGlobalStyle } from "styled-components";
2
2
  import { rgba } from "./helpers";
3
- import reset from "./reset";
4
- import textStyles, { fontStyles } from "../components/asorted/Text/styles";
5
3
  import tippyStyles from "../components/message/Tooltip/styles";
4
+ import { fontStyles } from "../components/asorted/Text/styles";
6
5
  export const GlobalStyle = createGlobalStyle `
7
- ${reset};
6
+ html {
7
+ box-sizing: border-box;
8
+ }
8
9
 
9
10
  body {
10
11
  font-family: Inter;
11
12
  font-size: 100%;
12
13
  }
13
14
 
14
- ${(props) => (props.fontsPath ? fontStyles : "")}
15
- ${textStyles}
16
-
17
- .spectron-run canvas:not(.visible-for-spectron) {
18
- visibility: hidden;
15
+ *, *:before, *:after {
16
+ box-sizing: inherit;
19
17
  }
20
18
 
21
- #react-root {
22
- display: flex;
23
- flex-direction: column;
24
- max-width: 100%;
25
- max-height: 100%;
26
- width: 100vw;
27
- height: 100vh;
28
- background-color: ${(p) => p.theme.colors.palette.neutral.c00};
19
+ * {
20
+ margin: 0;
21
+ padding: 0;
22
+ font: inherit;
23
+ color: inherit;
24
+ user-select: inherit;
25
+ cursor: inherit;
26
+ outline: none;
29
27
  }
30
28
 
31
29
  ::selection {
32
- background: ${(p) => rgba(p.theme.colors.palette.primary.c100, 0.1)};
30
+ background: ${(p) => rgba(p.theme.colors.primary.c100, 0.1)};
33
31
  }
34
32
 
35
33
  --track-color: rgba(0,0,0,0);
36
34
 
37
- ::-webkit-scrollbar {
38
- width: ${(p) => p.theme.overflow.trackSize}px;
39
- height: ${(p) => p.theme.overflow.trackSize}px;
40
- background-color: rgba(0,0,0,0);
41
- }
42
- ::-webkit-scrollbar-button {
43
- opacity: 0;
44
- height: 0;
45
- width: 0;
46
- }
47
- ::-webkit-scrollbar-track {
48
- background-color: rgba(0,0,0,0);
49
- }
50
- ::-webkit-scrollbar-thumb {
51
- box-shadow: inset 0 0 0 ${(p) => p.theme.overflow.trackSize}px var(--track-color);
52
- border: 2px solid rgba(0,0,0,0);
53
- border-radius: ${(p) => p.theme.overflow.trackSize}px;
54
- }
55
- ::-webkit-scrollbar-corner {
56
- opacity: 0;
57
- }
35
+ ${(props) => (typeof props.fontsPath === "string" ? fontStyles : "")}
58
36
 
59
37
  ${tippyStyles}
60
38
  `;
package/styles/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { default as defaultTheme } from "./theme";
2
2
  export * from "./helpers";
3
3
  export * from "./global";
4
- export { default as resetCss } from "./reset";
5
4
  export * from "./StyleProvider";
6
5
  export type { ThemeNames, ColorPalette } from "@ledgerhq/ui-shared";
7
6
  export { palettes } from "@ledgerhq/ui-shared";
package/styles/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  export { default as defaultTheme } from "./theme";
2
2
  export * from "./helpers";
3
3
  export * from "./global";
4
- export { default as resetCss } from "./reset";
5
4
  export * from "./StyleProvider";
6
5
  export { palettes } from "@ledgerhq/ui-shared";
package/styles/theme.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { DefaultTheme } from "styled-components";
2
2
  import { ColorPalette } from "@ledgerhq/ui-shared";
3
3
  export declare const space: number[];
4
- export declare const fontSizes: number[];
4
+ export declare type TextVariants = "h1" | "h2" | "h3" | "h4" | "h5" | "large" | "largeLineHeight" | "body" | "bodyLineHeight" | "paragraph" | "paragraphLineHeight" | "small" | "extraSmall" | "tiny" | "micro" | "subtitle";
5
+ export declare type ThemeScale<Type, Aliases extends string> = Array<Type> & Record<Aliases, Type>;
6
+ export declare const fontSizes: ThemeScale<number, TextVariants>;
5
7
  export declare const radii: number[];
6
8
  export declare const shadows: string[];
7
9
  export declare const zIndexes: number[];
@@ -43,47 +45,69 @@ export declare const fontFamilies: {
43
45
  };
44
46
  };
45
47
  };
46
- interface Font {
47
- weight: number;
48
- style: string;
49
- }
50
- export interface Theme extends DefaultTheme {
51
- sizes: {
52
- topBarHeight: number;
53
- sideBarWidth: number;
54
- drawer: {
55
- side: {
56
- big: {
57
- width: number;
58
- };
59
- small: {
60
- width: number;
61
- };
62
- };
63
- popin: {
64
- min: {
65
- height: number;
66
- width: number;
48
+ declare const transition: (properties?: string[]) => FlattenSimpleInterpolation;
49
+ declare const animations: {
50
+ fadeIn: () => FlattenSimpleInterpolation;
51
+ fadeOut: () => FlattenSimpleInterpolation;
52
+ fadeInGrowX: () => FlattenSimpleInterpolation;
53
+ fadeInUp: () => FlattenSimpleInterpolation;
54
+ };
55
+ declare const overflow: {
56
+ x: FlattenInterpolation<ThemeProps<DefaultTheme>>;
57
+ y: FlattenInterpolation<ThemeProps<DefaultTheme>>;
58
+ yAuto: FlattenInterpolation<ThemeProps<DefaultTheme>>;
59
+ xy: FlattenInterpolation<ThemeProps<DefaultTheme>>;
60
+ trackSize: number;
61
+ };
62
+ declare module "styled-components" {
63
+ interface Font {
64
+ weight: number;
65
+ style: string;
66
+ }
67
+ interface DefaultTheme {
68
+ theme: string;
69
+ animations: typeof animations;
70
+ transition: typeof transition;
71
+ overflow: typeof overflow;
72
+ sizes: {
73
+ topBarHeight: number;
74
+ sideBarWidth: number;
75
+ drawer: {
76
+ side: {
77
+ big: {
78
+ width: number;
79
+ };
80
+ small: {
81
+ width: number;
82
+ };
67
83
  };
68
- max: {
69
- height: number;
70
- width: number;
84
+ popin: {
85
+ min: {
86
+ height: number;
87
+ width: number;
88
+ };
89
+ max: {
90
+ height: number;
91
+ width: number;
92
+ };
71
93
  };
72
94
  };
73
95
  };
74
- };
75
- radii: number[];
76
- fontFamilies: Record<string, Record<string, Font>>;
77
- fontSizes: number[];
78
- space: number[];
79
- shadows: string[];
80
- colors: {
81
- palette: ColorPalette;
82
- };
83
- animations: Record<string, (props: never) => any>;
84
- transition: (properties?: Array<string>) => any;
85
- overflow: Record<string, any>;
86
- zIndexes: number[];
96
+ radii: number[];
97
+ fontFamilies: Record<string, Record<string, Font>>;
98
+ fontSizes: number[];
99
+ space: number[];
100
+ shadows: string[];
101
+ colors: ColorPalette & {
102
+ /**
103
+ * @deprecated Do not use the .palette prefix anymore!
104
+ */
105
+ palette: ColorPalette;
106
+ };
107
+ fontWeights: Record<string, string>;
108
+ zIndexes: number[];
109
+ }
87
110
  }
88
- declare const theme: Theme;
111
+ declare const theme: DefaultTheme;
89
112
  export default theme;
113
+ export declare type Theme = DefaultTheme;
package/styles/theme.js CHANGED
@@ -6,7 +6,34 @@ import { palettes } from "@ledgerhq/ui-shared";
6
6
  export const space = [
7
7
  0, 2, 4, 8, 10, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76,
8
8
  ];
9
- export const fontSizes = [8, 9, 10, 12, 13, 16, 18, 22, 32];
9
+ export const fontSizes = [8, 10, 11, 12, 13, 14, 16, 20, 24, 28, 32, 36];
10
+ [
11
+ fontSizes.micro,
12
+ fontSizes.tiny,
13
+ fontSizes.extraSmall,
14
+ fontSizes.small,
15
+ fontSizes.paragraph,
16
+ fontSizes.body,
17
+ fontSizes.large,
18
+ fontSizes.h5,
19
+ fontSizes.h4,
20
+ fontSizes.h3,
21
+ fontSizes.h2,
22
+ fontSizes.h1,
23
+ ] = fontSizes;
24
+ fontSizes.largeLineHeight = fontSizes.large;
25
+ fontSizes.bodyLineHeight = fontSizes.body;
26
+ fontSizes.paragraphLineHeight = fontSizes.paragraph;
27
+ fontSizes.subtitle = fontSizes.extraSmall;
28
+ const fontWeights = {
29
+ extraLight: "100",
30
+ light: "300",
31
+ regular: "400",
32
+ medium: "500",
33
+ semiBold: "600",
34
+ bold: "700",
35
+ extraBold: "800",
36
+ };
10
37
  export const radii = [0, 4, 8, 12];
11
38
  export const shadows = ["0 4px 8px 0 rgba(0, 0, 0, 0.03)"];
12
39
  export const zIndexes = [-1, 0, 1, 9, 10, 90, 100, 900, 1000];
@@ -114,7 +141,7 @@ const overflow = {
114
141
  overflow-x: scroll;
115
142
  will-change: transform;
116
143
  &:hover {
117
- --track-color: ${(p) => p.theme.colors.palette.neutral.c30};
144
+ --track-color: ${(p) => p.theme.colors.neutral.c30};
118
145
  }
119
146
  `,
120
147
  y: css `
@@ -122,7 +149,7 @@ const overflow = {
122
149
  overflow-y: scroll;
123
150
  will-change: transform;
124
151
  &:hover {
125
- --track-color: ${(p) => p.theme.colors.palette.neutral.c30};
152
+ --track-color: ${(p) => p.theme.colors.neutral.c30};
126
153
  }
127
154
  `,
128
155
  yAuto: css `
@@ -130,14 +157,14 @@ const overflow = {
130
157
  overflow-y: auto;
131
158
  will-change: transform;
132
159
  &:hover {
133
- --track-color: ${(p) => p.theme.colors.palette.neutral.c30};
160
+ --track-color: ${(p) => p.theme.colors.neutral.c30};
134
161
  }
135
162
  `,
136
163
  xy: css `
137
164
  overflow: scroll;
138
165
  will-change: transform;
139
166
  &:hover {
140
- --track-color: ${(p) => p.theme.colors.palette.neutral.c30};
167
+ --track-color: ${(p) => p.theme.colors.neutral.c30};
141
168
  }
142
169
  `,
143
170
  trackSize: 12,
@@ -171,11 +198,10 @@ const theme = {
171
198
  radii,
172
199
  fontFamilies,
173
200
  fontSizes,
201
+ fontWeights,
174
202
  space,
175
203
  shadows,
176
- colors: {
177
- palette: palettes.light,
178
- },
204
+ colors: Object.assign({ palette: palettes.light }, palettes.light),
179
205
  animations,
180
206
  overflow,
181
207
  transition,
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- interface DrawerProps {
3
- isOpen: boolean;
4
- children: React.ReactNode;
5
- title?: React.ReactNode;
6
- big?: boolean;
7
- small?: boolean;
8
- onClose: () => void;
9
- onBack?: () => void;
10
- setTransitionsEnabled: (arg0: boolean) => void;
11
- }
12
- declare const DrawerWrapper: ({ children, ...sideProps }: DrawerProps) => React.ReactElement;
13
- export default DrawerWrapper;
package/styles/reset.d.ts DELETED
@@ -1,2 +0,0 @@
1
- declare const _default: "\n* {\n -webkit-font-smoothing: antialiased;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n font: inherit;\n color: inherit;\n user-select: inherit;\n cursor: inherit;\n min-width: 0;\n outline: none;\n\n /* it will surely make problem in the future... to be inspected. */\n /* ;_; */\n flex-shrink: 0;\n}\n\nbody {\n cursor: default;\n font-family: Inter, Arial, Helvetica, sans-serif;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.5;\n user-select: none;\n cursor: default;\n}\n\nb {\n font-weight: bold;\n}\n\nem {\n font-style: italic;\n}\n\n#a11y-status-message {\n display: none;\n}\n\n.scroll-content {\n height: 100%;\n\n > div {\n height: 100%;\n }\n}\n.scrollbar-thumb {\n background: rgb(102, 102, 102) !important;\n padding: 2px;\n background-clip: content-box !important;\n}\n.scrollbar-track {\n background: transparent !important;\n transition: opacity 0.2s ease-in-out !important;\n z-index: 20 !important;\n}\n\n.currentTicker {\n background: palette.background.paper;\n z-index: 11 !important;\n}";
2
- export default _default;
package/styles/reset.js DELETED
@@ -1,62 +0,0 @@
1
- export default `
2
- * {
3
- -webkit-font-smoothing: antialiased;
4
- box-sizing: border-box;
5
- margin: 0;
6
- padding: 0;
7
- font: inherit;
8
- color: inherit;
9
- user-select: inherit;
10
- cursor: inherit;
11
- min-width: 0;
12
- outline: none;
13
-
14
- /* it will surely make problem in the future... to be inspected. */
15
- /* ;_; */
16
- flex-shrink: 0;
17
- }
18
-
19
- body {
20
- cursor: default;
21
- font-family: Inter, Arial, Helvetica, sans-serif;
22
- font-size: 16px;
23
- font-weight: 300;
24
- line-height: 1.5;
25
- user-select: none;
26
- cursor: default;
27
- }
28
-
29
- b {
30
- font-weight: bold;
31
- }
32
-
33
- em {
34
- font-style: italic;
35
- }
36
-
37
- #a11y-status-message {
38
- display: none;
39
- }
40
-
41
- .scroll-content {
42
- height: 100%;
43
-
44
- > div {
45
- height: 100%;
46
- }
47
- }
48
- .scrollbar-thumb {
49
- background: rgb(102, 102, 102) !important;
50
- padding: 2px;
51
- background-clip: content-box !important;
52
- }
53
- .scrollbar-track {
54
- background: transparent !important;
55
- transition: opacity 0.2s ease-in-out !important;
56
- z-index: 20 !important;
57
- }
58
-
59
- .currentTicker {
60
- background: palette.background.paper;
61
- z-index: 11 !important;
62
- }`;