@sproutsocial/racine 9.1.1-theme-extension.1 → 10.0.0--dar97-beta.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/CHANGELOG.md +36 -0
- package/__flow__/Box/index.stories.js +1 -1
- package/__flow__/Breadcrumb/styles.js +0 -5
- package/__flow__/Button/styles.js +1 -1
- package/__flow__/Card/index.stories.js +0 -1
- package/__flow__/Card/styles.js +1 -1
- package/__flow__/Drawer/index.stories.js +3 -3
- package/__flow__/Drawer/styles.js +1 -1
- package/__flow__/KeyboardKey/styles.js +1 -1
- package/__flow__/Listbox/__snapshots__/index.test.js.snap +40 -34
- package/__flow__/Menu/__snapshots__/index.test.js.snap +15 -12
- package/__flow__/Menu/index.js +3 -7
- package/__flow__/Menu/index.stories.js +1 -1
- package/__flow__/Menu/styles.js +1 -18
- package/__flow__/Modal/index.test.js +0 -16
- package/__flow__/Modal/styles.js +1 -1
- package/__flow__/Popout/index.js +1 -1
- package/__flow__/Stack/index.js +1 -1
- package/__flow__/ThemeProvider/index.js +4 -4
- package/__flow__/Token/index.js +4 -1
- package/__flow__/Token/index.stories.js +11 -0
- package/__flow__/Token/styles.js +43 -33
- package/__flow__/Tooltip/index.js +1 -1
- package/__flow__/index.js +1 -2
- package/__flow__/themes/dark/_themes.scss +132 -0
- package/__flow__/themes/dark/theme.js +181 -157
- package/__flow__/themes/light/_themes.scss +132 -0
- package/__flow__/themes/{default → light}/dataviz-palette.js +0 -0
- package/__flow__/themes/{default → light}/decorative-palettes.js +0 -0
- package/__flow__/themes/{default → light}/literal-colors.js +0 -0
- package/__flow__/themes/{default → light}/theme.js +19 -8
- package/__flow__/themes/utils/interact.js +12 -0
- package/__flow__/types/system-props.flow.js +1 -2
- package/__flow__/types/theme.colors.flow.js +1 -1
- package/__flow__/types/theme.flow.js +2 -2
- package/__flow__/utils/mixins.js +1 -1
- package/__flow__/utils/responsiveProps/index.js +1 -1
- package/commonjs/Breadcrumb/styles.js +1 -1
- package/commonjs/Button/styles.js +1 -1
- package/commonjs/Card/styles.js +1 -1
- package/commonjs/Drawer/styles.js +1 -1
- package/commonjs/KeyboardKey/styles.js +1 -1
- package/commonjs/Menu/index.js +3 -1
- package/commonjs/Menu/styles.js +3 -16
- package/commonjs/Modal/styles.js +1 -1
- package/commonjs/Popout/index.js +1 -1
- package/commonjs/ThemeProvider/index.js +1 -1
- package/commonjs/Token/index.js +5 -2
- package/commonjs/Token/styles.js +19 -50
- package/commonjs/Tooltip/index.js +1 -1
- package/commonjs/index.js +2 -6
- package/commonjs/themes/dark/theme.js +180 -155
- package/commonjs/themes/{default → light}/dataviz-palette.js +0 -0
- package/commonjs/themes/{default → light}/decorative-palettes.js +0 -0
- package/commonjs/themes/{default → light}/literal-colors.js +0 -0
- package/commonjs/themes/{default → light}/theme.js +19 -8
- package/commonjs/themes/utils/interact.js +19 -0
- package/commonjs/types/theme.colors.flow.js +1 -1
- package/commonjs/types/theme.flow.js +1 -1
- package/commonjs/utils/mixins.js +1 -1
- package/commonjs/utils/responsiveProps/index.js +1 -1
- package/dist/themes/dark/_themes.scss +132 -0
- package/dist/themes/dark/dark.scss +601 -0
- package/dist/themes/light/_themes.scss +132 -0
- package/dist/themes/light/light.scss +692 -0
- package/lib/Breadcrumb/styles.js +1 -1
- package/lib/Button/styles.js +1 -1
- package/lib/Card/styles.js +1 -1
- package/lib/Drawer/styles.js +1 -1
- package/lib/KeyboardKey/styles.js +1 -1
- package/lib/Menu/index.js +4 -2
- package/lib/Menu/styles.js +2 -13
- package/lib/Modal/styles.js +1 -1
- package/lib/Popout/index.js +1 -1
- package/lib/ThemeProvider/index.js +1 -1
- package/lib/Token/index.js +5 -2
- package/lib/Token/styles.js +19 -50
- package/lib/Tooltip/index.js +1 -1
- package/lib/index.js +1 -2
- package/lib/themes/dark/theme.js +175 -154
- package/lib/themes/{default → light}/dataviz-palette.js +0 -0
- package/lib/themes/{default → light}/decorative-palettes.js +0 -0
- package/lib/themes/{default → light}/literal-colors.js +0 -0
- package/lib/themes/{default → light}/theme.js +18 -8
- package/lib/themes/utils/interact.js +13 -0
- package/lib/types/theme.colors.flow.js +1 -1
- package/lib/types/theme.flow.js +1 -1
- package/lib/utils/mixins.js +1 -1
- package/lib/utils/responsiveProps/index.js +1 -1
- package/package.json +4 -4
- package/__flow__/CustomThemeProvider/index.js +0 -17
- package/__flow__/Modal/__snapshots__/index.test.js.snap +0 -80
- package/__flow__/themes/sprout/theme.js +0 -22
- package/__flow__/utils/extendTheme.js +0 -17
- package/commonjs/CustomThemeProvider/index.js +0 -23
- package/commonjs/themes/sprout/theme.js +0 -29
- package/commonjs/utils/extendTheme.js +0 -22
- package/lib/CustomThemeProvider/index.js +0 -12
- package/lib/themes/sprout/theme.js +0 -19
- package/lib/utils/extendTheme.js +0 -12
package/__flow__/Token/styles.js
CHANGED
|
@@ -6,68 +6,78 @@ import { focusRing } from "../utils/mixins";
|
|
|
6
6
|
import type { TypeTheme } from "../types/theme.flow";
|
|
7
7
|
|
|
8
8
|
const Container: StyledComponent<any, TypeTheme, *> = styled.button`
|
|
9
|
-
font-family: ${(props) => props.theme.fontFamily};
|
|
10
|
-
${(props) => props.theme.typography[200]};
|
|
11
9
|
position: relative;
|
|
12
10
|
display: inline-block;
|
|
13
|
-
padding: ${(props) => props.theme.space[200]}
|
|
14
|
-
${(props) => props.theme.space[300]};
|
|
15
11
|
margin: 0;
|
|
16
|
-
color: ${(props) => props.theme.colors.text.body};
|
|
17
|
-
background: ${(props) => props.theme.colors.container.background.base};
|
|
18
|
-
border: 1px solid ${(props) => props.theme.colors.container.border.base};
|
|
19
|
-
font-weight: ${(props) => props.theme.fontWeights.normal};
|
|
20
12
|
line-height: 1;
|
|
21
13
|
vertical-align: middle;
|
|
22
|
-
border-radius: ${(props) => props.theme.radii[500]};
|
|
23
14
|
outline: none;
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
/* Theme Properties */
|
|
16
|
+
${({ theme }) => css`
|
|
17
|
+
${theme.typography[200]}
|
|
18
|
+
font-family: ${theme.fontFamily};
|
|
19
|
+
font-weight: ${theme.fontWeights.normal};
|
|
20
|
+
border: 1px solid ${theme.colors.container.border.base};
|
|
21
|
+
border-radius: ${theme.radii[500]};
|
|
22
|
+
color: ${theme.colors.text.body};
|
|
23
|
+
background: ${theme.colors.container.background.base};
|
|
24
|
+
padding: ${theme.space[200]} ${theme.space[300]};
|
|
25
|
+
transition: all ${theme.duration.fast} ${theme.easing.ease_inout};
|
|
26
|
+
`}
|
|
26
27
|
|
|
27
28
|
&:focus {
|
|
28
29
|
${focusRing}
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
${(
|
|
32
|
-
|
|
32
|
+
${({ theme, palette }) =>
|
|
33
|
+
palette === "blue" &&
|
|
33
34
|
css`
|
|
34
|
-
|
|
35
|
+
color: ${theme.colors.text.body};
|
|
36
|
+
background: ${theme.colors.container.background.decorative.blue};
|
|
37
|
+
border: 1px solid ${theme.colors.container.border.decorative.blue};
|
|
38
|
+
&:hover,
|
|
39
|
+
&:active {
|
|
40
|
+
cursor: pointer;
|
|
41
|
+
box-shadow: ${theme.shadows.low};
|
|
42
|
+
border: 1px solid
|
|
43
|
+
${theme.utils.interact(theme.colors.container.border.decorative.blue)};
|
|
44
|
+
}
|
|
45
|
+
`}
|
|
35
46
|
|
|
47
|
+
${({ closeable, theme }) =>
|
|
48
|
+
closeable &&
|
|
49
|
+
css`
|
|
50
|
+
cursor: pointer;
|
|
36
51
|
&:hover,
|
|
37
52
|
&:active {
|
|
38
|
-
|
|
53
|
+
box-shadow: ${theme.shadows.low};
|
|
39
54
|
border: 1px solid
|
|
40
|
-
${(
|
|
41
|
-
background-color: ${(props) =>
|
|
42
|
-
props.theme.colors.container.background.decorative.neutral};
|
|
55
|
+
${theme.utils.interact(theme.colors.container.border.base)};
|
|
43
56
|
}
|
|
44
57
|
`}
|
|
45
58
|
|
|
46
|
-
${(
|
|
47
|
-
|
|
59
|
+
${({ disabled, theme }) =>
|
|
60
|
+
disabled &&
|
|
48
61
|
css`
|
|
49
62
|
opacity: 0.4;
|
|
50
63
|
cursor: not-allowed;
|
|
51
64
|
&:hover,
|
|
52
65
|
&:active {
|
|
53
|
-
|
|
54
|
-
border: 1px solid ${
|
|
66
|
+
box-shadow: none;
|
|
67
|
+
border: 1px solid ${theme.colors.container.border.base};
|
|
55
68
|
}
|
|
56
69
|
`}
|
|
57
|
-
|
|
58
|
-
${(
|
|
59
|
-
!
|
|
70
|
+
|
|
71
|
+
${({ valid, theme }) =>
|
|
72
|
+
!valid &&
|
|
60
73
|
css`
|
|
61
|
-
color: ${
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
color: ${theme.colors.text.error};
|
|
75
|
+
background: ${theme.colors.container.background.error};
|
|
76
|
+
border: 1px solid ${theme.colors.container.border.error};
|
|
65
77
|
&:hover {
|
|
66
|
-
|
|
78
|
+
box-shadow: ${theme.shadows.low};
|
|
67
79
|
border: 1px solid
|
|
68
|
-
${(
|
|
69
|
-
background-color: ${(props) =>
|
|
70
|
-
props.theme.colors.container.background.error};
|
|
80
|
+
${theme.utils.interact(theme.colors.container.border.error)};
|
|
71
81
|
}
|
|
72
82
|
`}
|
|
73
83
|
|
package/__flow__/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export type { EnumIconNames } from "./EnumIconNames";
|
|
|
3
3
|
export type { TypeTheme } from "./types/theme.flow";
|
|
4
4
|
export { visuallyHidden, focusRing, disabled } from "./utils/mixins";
|
|
5
5
|
export { useSelect, useMultiselect, useTextContent } from "./utils/hooks";
|
|
6
|
-
export { default as theme } from "./themes/
|
|
6
|
+
export { default as theme } from "./themes/light/theme";
|
|
7
7
|
export { default as darkTheme } from "./themes/dark/theme";
|
|
8
8
|
export { default as Icon } from "./Icon";
|
|
9
9
|
// DEPRECATED: Alert has been renamed to Banner
|
|
@@ -43,7 +43,6 @@ export { default as Modal } from "./Modal";
|
|
|
43
43
|
export { default as Popout } from "./Popout";
|
|
44
44
|
export type { EnumPlacements } from "./Popout";
|
|
45
45
|
export { default as ThemeProvider } from "./ThemeProvider";
|
|
46
|
-
export { default as CustomThemeProvider } from "./CustomThemeProvider";
|
|
47
46
|
export { default as Tooltip } from "./Tooltip";
|
|
48
47
|
export { default as Drawer } from "./Drawer";
|
|
49
48
|
export { default as LoaderButton } from "./LoaderButton";
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// Inspired by https://medium.com/@katiemctigue/how-to-create-a-dark-mode-in-sass-609f131a3995
|
|
2
|
+
// This file is excluded from stylelint, because stylelint is only set up to lint styled-components at the moment.
|
|
3
|
+
|
|
4
|
+
// SET-UP
|
|
5
|
+
// These files are auto-generated based on JS theme files, ensuring our SCSS theme variables stay in sync.
|
|
6
|
+
@import "../../../dist/themes/dark/dark.scss";
|
|
7
|
+
|
|
8
|
+
// In the JS theme files, the theme object is exported as "default" (i.e., using "export default"),
|
|
9
|
+
// so we need to map-get "default" to access it.
|
|
10
|
+
$theme = map-get($dark, 'default');
|
|
11
|
+
|
|
12
|
+
// MIXIN
|
|
13
|
+
// CSS properties that are theme-dependent must be wrapped in this mixin
|
|
14
|
+
@mixin themed() {
|
|
15
|
+
& {
|
|
16
|
+
$theme-map: () !global;
|
|
17
|
+
@each $key, $submap in $theme {
|
|
18
|
+
$value: map-get($theme, "#{$key}");
|
|
19
|
+
$theme-map: map-merge($theme-map, ($key: $value)) !global;
|
|
20
|
+
}
|
|
21
|
+
@content;
|
|
22
|
+
$theme-map: null !global;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// FUNCTIONS
|
|
27
|
+
// This function will allow you to get any value from the theme.
|
|
28
|
+
// @param {string} $key - the period-separated path to the value in the theme object. e.g., "colors.text.body"
|
|
29
|
+
@function t($key) {
|
|
30
|
+
$keys: _str-split($key, ".");
|
|
31
|
+
@return _map-deep-get($theme-map, $keys);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// The rest of the functions are convenience methods to get theme values for subsets of the theme.
|
|
35
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "colors." omitted. e.g., "text.body"
|
|
36
|
+
@function colors($key) {
|
|
37
|
+
$keys: _str-split($key, ".");
|
|
38
|
+
@return _map-deep-get($theme-map, join("colors", $keys));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "typography." omitted. e.g., "100.fontSize"
|
|
42
|
+
@function typography($key) {
|
|
43
|
+
$keys: _str-split($key, ".");
|
|
44
|
+
@return _map-deep-get($theme-map, join("typography", $keys));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "fontWeights." omitted. e.g., "normal"
|
|
48
|
+
@function fontWeights($key) {
|
|
49
|
+
$keys: _str-split($key, ".");
|
|
50
|
+
@return _map-deep-get($theme-map, join("fontWeights", $keys));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "space." omitted. e.g., "100"
|
|
54
|
+
@function space($key) {
|
|
55
|
+
$keys: _str-split($key, ".");
|
|
56
|
+
@return _map-deep-get($theme-map, join("space", $keys));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "radii." omitted. e.g., "inner"
|
|
60
|
+
@function radii($key) {
|
|
61
|
+
$keys: _str-split($key, ".");
|
|
62
|
+
@return _map-deep-get($theme-map, join("radii", $keys));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "borders." omitted. e.g., "500"
|
|
66
|
+
@function borders($key) {
|
|
67
|
+
$keys: _str-split($key, ".");
|
|
68
|
+
@return _map-deep-get($theme-map, join("borders", $keys));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "borderWidths." omitted. e.g., "500"
|
|
72
|
+
@function borderWidths($key) {
|
|
73
|
+
$keys: _str-split($key, ".");
|
|
74
|
+
@return _map-deep-get($theme-map, join("borderWidths", $keys));
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "shadows." omitted. e.g., "low"
|
|
78
|
+
@function shadows($key) {
|
|
79
|
+
$keys: _str-split($key, ".");
|
|
80
|
+
@return _map-deep-get($theme-map, join("shadows", $keys));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "easing." omitted. e.g., "ease_in"
|
|
84
|
+
@function easing($key) {
|
|
85
|
+
$keys: _str-split($key, ".");
|
|
86
|
+
@return _map-deep-get($theme-map, join("easing", $keys));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// @param {string} $key - the period-separated path to the value in the theme object, with "duration." omitted. e.g., "fast"
|
|
90
|
+
@function duration($key) {
|
|
91
|
+
$keys: _str-split($key, ".");
|
|
92
|
+
@return _map-deep-get($theme-map, join("duration", $keys));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// UTILITIES
|
|
96
|
+
// Helper functions that power the functions above. Not relevant to the theme.
|
|
97
|
+
// If you import this file with @use, these functions will be excluded because they are private.
|
|
98
|
+
|
|
99
|
+
// Via https://stackoverflow.com/a/42295154
|
|
100
|
+
// Used to split period-separated object keys, e.g. "colors.text.body" => ["colors", "text", "body"]
|
|
101
|
+
// Only works with a single-character separator.
|
|
102
|
+
@function _str-split($string, $separator) {
|
|
103
|
+
// empty array/list
|
|
104
|
+
$split-arr: ();
|
|
105
|
+
// first index of separator in string
|
|
106
|
+
$index : str-index($string, $separator);
|
|
107
|
+
// loop through string
|
|
108
|
+
@while $index != null {
|
|
109
|
+
// get the substring from the first character to the separator
|
|
110
|
+
$item: str-slice($string, 1, $index - 1);
|
|
111
|
+
// push item to array
|
|
112
|
+
$split-arr: append($split-arr, $item);
|
|
113
|
+
// remove item and separator from string
|
|
114
|
+
$string: str-slice($string, $index + 1);
|
|
115
|
+
// find new index of separator
|
|
116
|
+
$index : str-index($string, $separator);
|
|
117
|
+
}
|
|
118
|
+
// add the remaining string to list (the last item)
|
|
119
|
+
$split-arr: append($split-arr, $string);
|
|
120
|
+
|
|
121
|
+
@return $split-arr;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Adapted from https://css-tricks.com/snippets/sass/deep-getset-maps/
|
|
125
|
+
// Iterates over a list of keys to read multi-level maps.
|
|
126
|
+
// e.g., _map-deep-get((colors: (text: (body: "#364141"))), ["colors", "text", "body"]) => "#364141"
|
|
127
|
+
@function _map-deep-get($map, $keys) {
|
|
128
|
+
@each $key in $keys {
|
|
129
|
+
$map: map-get($map, $key);
|
|
130
|
+
}
|
|
131
|
+
@return $map;
|
|
132
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// @flow strict-local
|
|
2
2
|
|
|
3
3
|
import COLORS from "@sproutsocial/seeds-color";
|
|
4
|
-
import
|
|
4
|
+
import DEPTH from "@sproutsocial/seeds-depth";
|
|
5
|
+
import defaultTheme from "../light/theme";
|
|
5
6
|
import { datavizPalette } from "./dataviz-palette";
|
|
6
7
|
import {
|
|
7
8
|
green,
|
|
@@ -13,185 +14,208 @@ import {
|
|
|
13
14
|
neutral,
|
|
14
15
|
} from "./decorative-palettes";
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
import interact from "../utils/interact";
|
|
18
|
+
|
|
19
|
+
const MODE = "default-dark";
|
|
20
|
+
|
|
21
|
+
export const shadows = {
|
|
22
|
+
low: `${DEPTH.ELEVATION_LEVEL_100} ${COLORS.COLOR_NEUTRAL_1100}FF`,
|
|
23
|
+
medium: `${DEPTH.ELEVATION_LEVEL_300} ${COLORS.COLOR_NEUTRAL_1100}FF`,
|
|
24
|
+
high: `${DEPTH.ELEVATION_LEVEL_400} ${COLORS.COLOR_NEUTRAL_1100}FF`,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const colors = {
|
|
28
|
+
...defaultTheme.colors,
|
|
29
|
+
utils: {
|
|
30
|
+
interact: interact(MODE),
|
|
31
|
+
},
|
|
32
|
+
app: {
|
|
33
|
+
background: {
|
|
34
|
+
base: COLORS.COLOR_NEUTRAL_1000,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
container: {
|
|
38
|
+
background: {
|
|
39
|
+
base: COLORS.COLOR_NEUTRAL_900,
|
|
40
|
+
success: green.background,
|
|
41
|
+
warning: yellow.background,
|
|
42
|
+
error: red.background,
|
|
43
|
+
info: blue.background,
|
|
44
|
+
opportunity: purple.background,
|
|
45
|
+
danger: red.background,
|
|
46
|
+
decorative: {
|
|
47
|
+
green: green.background,
|
|
48
|
+
blue: blue.background,
|
|
49
|
+
purple: purple.background,
|
|
50
|
+
yellow: yellow.background,
|
|
51
|
+
orange: orange.background,
|
|
52
|
+
red: red.background,
|
|
53
|
+
neutral: neutral.background,
|
|
54
|
+
},
|
|
55
|
+
selected: COLORS.COLOR_NEUTRAL_0,
|
|
56
|
+
},
|
|
57
|
+
border: {
|
|
58
|
+
base: COLORS.COLOR_NEUTRAL_1100,
|
|
59
|
+
success: green.highlight,
|
|
60
|
+
warning: yellow.highlight,
|
|
61
|
+
error: red.highlight,
|
|
62
|
+
danger: red.highlight,
|
|
63
|
+
info: blue.highlight,
|
|
64
|
+
opportunity: purple.highlight,
|
|
65
|
+
decorative: {
|
|
66
|
+
green: green.highlight,
|
|
67
|
+
blue: blue.highlight,
|
|
68
|
+
purple: purple.highlight,
|
|
69
|
+
yellow: yellow.highlight,
|
|
70
|
+
orange: orange.highlight,
|
|
71
|
+
red: red.highlight,
|
|
72
|
+
neutral: neutral.highlight,
|
|
23
73
|
},
|
|
74
|
+
selected: COLORS.COLOR_NEUTRAL_0,
|
|
24
75
|
},
|
|
25
|
-
|
|
76
|
+
},
|
|
77
|
+
button: {
|
|
78
|
+
primary: {
|
|
26
79
|
background: {
|
|
27
|
-
base: COLORS.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
error: red.background,
|
|
31
|
-
info: blue.background,
|
|
32
|
-
opportunity: purple.background,
|
|
33
|
-
danger: red.background,
|
|
34
|
-
decorative: {
|
|
35
|
-
green: green.background,
|
|
36
|
-
blue: blue.background,
|
|
37
|
-
purple: purple.background,
|
|
38
|
-
yellow: yellow.background,
|
|
39
|
-
orange: orange.background,
|
|
40
|
-
red: red.background,
|
|
41
|
-
neutral: neutral.background,
|
|
42
|
-
},
|
|
43
|
-
selected: COLORS.COLOR_NEUTRAL_0,
|
|
80
|
+
base: COLORS.COLOR_BLUE_400,
|
|
81
|
+
hover: COLORS.COLOR_BLUE_300,
|
|
82
|
+
active: COLORS.COLOR_BLUE_200,
|
|
44
83
|
},
|
|
45
84
|
border: {
|
|
46
|
-
base:
|
|
47
|
-
success: green.highlight,
|
|
48
|
-
warning: yellow.highlight,
|
|
49
|
-
error: red.highlight,
|
|
50
|
-
danger: red.highlight,
|
|
51
|
-
info: blue.highlight,
|
|
52
|
-
opportunity: purple.highlight,
|
|
53
|
-
decorative: {
|
|
54
|
-
green: green.highlight,
|
|
55
|
-
blue: blue.highlight,
|
|
56
|
-
purple: purple.highlight,
|
|
57
|
-
yellow: yellow.highlight,
|
|
58
|
-
orange: orange.highlight,
|
|
59
|
-
red: red.highlight,
|
|
60
|
-
neutral: neutral.highlight,
|
|
61
|
-
},
|
|
62
|
-
selected: COLORS.COLOR_NEUTRAL_0,
|
|
85
|
+
base: "transparent",
|
|
63
86
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
background: {
|
|
68
|
-
base: COLORS.COLOR_BLUE_400,
|
|
69
|
-
hover: COLORS.COLOR_BLUE_300,
|
|
70
|
-
active: COLORS.COLOR_BLUE_200,
|
|
71
|
-
},
|
|
72
|
-
border: {
|
|
73
|
-
base: "transparent",
|
|
74
|
-
},
|
|
75
|
-
text: {
|
|
76
|
-
base: COLORS.COLOR_NEUTRAL_900,
|
|
77
|
-
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
secondary: {
|
|
81
|
-
background: {
|
|
82
|
-
base: "transparent",
|
|
83
|
-
hover: COLORS.COLOR_NEUTRAL_100,
|
|
84
|
-
active: COLORS.COLOR_NEUTRAL_0,
|
|
85
|
-
},
|
|
86
|
-
border: {
|
|
87
|
-
base: COLORS.COLOR_NEUTRAL_0,
|
|
88
|
-
},
|
|
89
|
-
text: {
|
|
90
|
-
base: COLORS.COLOR_NEUTRAL_0,
|
|
91
|
-
hover: COLORS.COLOR_NEUTRAL_800,
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
pill: {
|
|
95
|
-
background: {
|
|
96
|
-
base: "transparent",
|
|
97
|
-
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
98
|
-
active: COLORS.COLOR_NEUTRAL_900,
|
|
99
|
-
},
|
|
100
|
-
border: {
|
|
101
|
-
base: "transparent",
|
|
102
|
-
},
|
|
103
|
-
text: {
|
|
104
|
-
base: COLORS.COLOR_NEUTRAL_100,
|
|
105
|
-
hover: COLORS.COLOR_NEUTRAL_0,
|
|
106
|
-
},
|
|
107
|
-
},
|
|
108
|
-
destructive: {
|
|
109
|
-
background: {
|
|
110
|
-
base: COLORS.COLOR_RED_400,
|
|
111
|
-
hover: COLORS.COLOR_RED_300,
|
|
112
|
-
active: COLORS.COLOR_RED_200,
|
|
113
|
-
},
|
|
114
|
-
border: {
|
|
115
|
-
base: "transparent",
|
|
116
|
-
},
|
|
117
|
-
text: {
|
|
118
|
-
base: COLORS.COLOR_NEUTRAL_900,
|
|
119
|
-
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
placeholder: {
|
|
123
|
-
background: {
|
|
124
|
-
base: "transparent",
|
|
125
|
-
hover: COLORS.COLOR_NEUTRAL_1100,
|
|
126
|
-
active: COLORS.COLOR_NEUTRAL_1100,
|
|
127
|
-
},
|
|
128
|
-
border: {
|
|
129
|
-
base: COLORS.COLOR_NEUTRAL_500,
|
|
130
|
-
},
|
|
131
|
-
text: {
|
|
132
|
-
base: COLORS.COLOR_BLUE_400,
|
|
133
|
-
hover: COLORS.COLOR_BLUE_300,
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
unstyled: {
|
|
137
|
-
background: {
|
|
138
|
-
base: "transparent",
|
|
139
|
-
},
|
|
140
|
-
border: {
|
|
141
|
-
base: "transparent",
|
|
142
|
-
},
|
|
143
|
-
text: {
|
|
144
|
-
base: COLORS.COLOR_NEUTRAL_300,
|
|
145
|
-
hover: COLORS.COLOR_NEUTRAL_200,
|
|
146
|
-
},
|
|
87
|
+
text: {
|
|
88
|
+
base: COLORS.COLOR_NEUTRAL_900,
|
|
89
|
+
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
147
90
|
},
|
|
148
91
|
},
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
92
|
+
secondary: {
|
|
93
|
+
background: {
|
|
94
|
+
base: "transparent",
|
|
95
|
+
hover: COLORS.COLOR_NEUTRAL_100,
|
|
96
|
+
active: COLORS.COLOR_NEUTRAL_0,
|
|
97
|
+
},
|
|
98
|
+
border: {
|
|
99
|
+
base: COLORS.COLOR_NEUTRAL_0,
|
|
100
|
+
},
|
|
101
|
+
text: {
|
|
102
|
+
base: COLORS.COLOR_NEUTRAL_0,
|
|
103
|
+
hover: COLORS.COLOR_NEUTRAL_800,
|
|
104
|
+
},
|
|
159
105
|
},
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
106
|
+
pill: {
|
|
107
|
+
background: {
|
|
108
|
+
base: "transparent",
|
|
109
|
+
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
110
|
+
active: COLORS.COLOR_NEUTRAL_900,
|
|
111
|
+
},
|
|
112
|
+
border: {
|
|
113
|
+
base: "transparent",
|
|
114
|
+
},
|
|
115
|
+
text: {
|
|
116
|
+
base: COLORS.COLOR_NEUTRAL_100,
|
|
117
|
+
hover: COLORS.COLOR_NEUTRAL_0,
|
|
118
|
+
},
|
|
169
119
|
},
|
|
170
|
-
|
|
120
|
+
destructive: {
|
|
171
121
|
background: {
|
|
122
|
+
base: COLORS.COLOR_RED_400,
|
|
123
|
+
hover: COLORS.COLOR_RED_300,
|
|
124
|
+
active: COLORS.COLOR_RED_200,
|
|
125
|
+
},
|
|
126
|
+
border: {
|
|
127
|
+
base: "transparent",
|
|
128
|
+
},
|
|
129
|
+
text: {
|
|
172
130
|
base: COLORS.COLOR_NEUTRAL_900,
|
|
173
|
-
|
|
131
|
+
hover: COLORS.COLOR_NEUTRAL_1000,
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
placeholder: {
|
|
135
|
+
background: {
|
|
136
|
+
base: "transparent",
|
|
137
|
+
hover: COLORS.COLOR_NEUTRAL_1100,
|
|
138
|
+
active: COLORS.COLOR_NEUTRAL_1100,
|
|
174
139
|
},
|
|
175
140
|
border: {
|
|
176
141
|
base: COLORS.COLOR_NEUTRAL_500,
|
|
177
|
-
error: red.highlight,
|
|
178
|
-
warning: yellow.highlight,
|
|
179
|
-
selected: COLORS.COLOR_NEUTRAL_0,
|
|
180
142
|
},
|
|
181
|
-
|
|
182
|
-
base: COLORS.
|
|
143
|
+
text: {
|
|
144
|
+
base: COLORS.COLOR_BLUE_400,
|
|
145
|
+
hover: COLORS.COLOR_BLUE_300,
|
|
183
146
|
},
|
|
184
147
|
},
|
|
185
|
-
|
|
148
|
+
unstyled: {
|
|
186
149
|
background: {
|
|
187
150
|
base: "transparent",
|
|
188
|
-
|
|
189
|
-
|
|
151
|
+
},
|
|
152
|
+
border: {
|
|
153
|
+
base: "transparent",
|
|
154
|
+
},
|
|
155
|
+
text: {
|
|
156
|
+
base: COLORS.COLOR_NEUTRAL_300,
|
|
157
|
+
hover: COLORS.COLOR_NEUTRAL_200,
|
|
190
158
|
},
|
|
191
159
|
},
|
|
192
|
-
...datavizPalette,
|
|
193
160
|
},
|
|
194
|
-
|
|
161
|
+
link: {
|
|
162
|
+
base: COLORS.COLOR_BLUE_400,
|
|
163
|
+
hover: COLORS.COLOR_BLUE_300,
|
|
164
|
+
},
|
|
165
|
+
text: {
|
|
166
|
+
headline: COLORS.COLOR_NEUTRAL_0,
|
|
167
|
+
subtext: COLORS.COLOR_NEUTRAL_300,
|
|
168
|
+
body: COLORS.COLOR_NEUTRAL_100,
|
|
169
|
+
inverse: COLORS.COLOR_NEUTRAL_900,
|
|
170
|
+
error: COLORS.COLOR_RED_400,
|
|
171
|
+
},
|
|
172
|
+
icon: {
|
|
173
|
+
base: COLORS.COLOR_NEUTRAL_100,
|
|
174
|
+
inverse: COLORS.COLOR_NEUTRAL_900,
|
|
175
|
+
success: green.foreground,
|
|
176
|
+
warning: yellow.foreground,
|
|
177
|
+
error: red.foreground,
|
|
178
|
+
danger: red.foreground,
|
|
179
|
+
info: blue.foreground,
|
|
180
|
+
opportunity: purple.foreground,
|
|
181
|
+
},
|
|
182
|
+
form: {
|
|
183
|
+
background: {
|
|
184
|
+
base: COLORS.COLOR_NEUTRAL_900,
|
|
185
|
+
selected: COLORS.COLOR_NEUTRAL_0,
|
|
186
|
+
},
|
|
187
|
+
border: {
|
|
188
|
+
base: COLORS.COLOR_NEUTRAL_500,
|
|
189
|
+
error: red.highlight,
|
|
190
|
+
warning: yellow.highlight,
|
|
191
|
+
selected: COLORS.COLOR_NEUTRAL_0,
|
|
192
|
+
},
|
|
193
|
+
placeholder: {
|
|
194
|
+
base: COLORS.COLOR_NEUTRAL_500,
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
listItem: {
|
|
198
|
+
background: {
|
|
199
|
+
base: "transparent",
|
|
200
|
+
hover: COLORS.COLOR_NEUTRAL_800,
|
|
201
|
+
selected: COLORS.COLOR_NEUTRAL_0,
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
elevation: {
|
|
205
|
+
base: COLORS.COLOR_NEUTRAL_1100,
|
|
206
|
+
},
|
|
207
|
+
dataviz: {
|
|
208
|
+
map: datavizPalette.DATAVIZ_COLORS_MAP,
|
|
209
|
+
list: datavizPalette.DATAVIZ_COLORS_LIST,
|
|
210
|
+
},
|
|
211
|
+
...datavizPalette,
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
const darkTheme = {
|
|
215
|
+
...defaultTheme,
|
|
216
|
+
colors,
|
|
217
|
+
shadows,
|
|
218
|
+
mode: MODE,
|
|
195
219
|
};
|
|
196
220
|
|
|
197
221
|
export default darkTheme;
|