@sproutsocial/racine 8.8.0-dar35-beta.0 → 9.1.0-token-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.
Files changed (47) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/__flow__/Button/styles.js +1 -1
  3. package/__flow__/Card/styles.js +1 -1
  4. package/__flow__/Drawer/index.stories.js +3 -3
  5. package/__flow__/Drawer/styles.js +1 -1
  6. package/__flow__/KeyboardKey/styles.js +1 -1
  7. package/__flow__/Menu/index.stories.js +1 -1
  8. package/__flow__/Modal/__snapshots__/index.test.js.snap +1 -1
  9. package/__flow__/Modal/styles.js +1 -1
  10. package/__flow__/Popout/index.js +1 -1
  11. package/__flow__/Token/index.js +4 -1
  12. package/__flow__/Token/index.stories.js +11 -0
  13. package/__flow__/Token/styles.js +43 -33
  14. package/__flow__/Tooltip/index.js +1 -1
  15. package/__flow__/themes/_themes.scss +23 -25
  16. package/__flow__/themes/dark/theme.js +179 -159
  17. package/__flow__/themes/default/theme.js +15 -8
  18. package/__flow__/themes/utils/interact.js +12 -0
  19. package/__flow__/types/system-props.flow.js +1 -2
  20. package/commonjs/Button/styles.js +1 -1
  21. package/commonjs/Card/styles.js +1 -1
  22. package/commonjs/Drawer/styles.js +1 -1
  23. package/commonjs/KeyboardKey/styles.js +1 -1
  24. package/commonjs/Modal/styles.js +1 -1
  25. package/commonjs/Popout/index.js +1 -1
  26. package/commonjs/Token/index.js +5 -2
  27. package/commonjs/Token/styles.js +19 -50
  28. package/commonjs/Tooltip/index.js +1 -1
  29. package/commonjs/themes/dark/theme.js +178 -157
  30. package/commonjs/themes/default/theme.js +15 -8
  31. package/commonjs/themes/utils/interact.js +19 -0
  32. package/dist/themes/_themes.scss +23 -25
  33. package/dist/themes/dark.scss +18 -11
  34. package/dist/themes/default.scss +14 -15
  35. package/lib/Button/styles.js +1 -1
  36. package/lib/Card/styles.js +1 -1
  37. package/lib/Drawer/styles.js +1 -1
  38. package/lib/KeyboardKey/styles.js +1 -1
  39. package/lib/Modal/styles.js +1 -1
  40. package/lib/Popout/index.js +1 -1
  41. package/lib/Token/index.js +5 -2
  42. package/lib/Token/styles.js +19 -50
  43. package/lib/Tooltip/index.js +1 -1
  44. package/lib/themes/dark/theme.js +173 -156
  45. package/lib/themes/default/theme.js +14 -8
  46. package/lib/themes/utils/interact.js +13 -0
  47. package/package.json +2 -2
@@ -1,200 +1,221 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
4
+ exports.default = exports.shadows = void 0;
5
5
 
6
6
  var _seedsColor = _interopRequireDefault(require("@sproutsocial/seeds-color"));
7
7
 
8
+ var _seedsDepth = _interopRequireDefault(require("@sproutsocial/seeds-depth"));
9
+
8
10
  var _theme = _interopRequireDefault(require("../default/theme"));
9
11
 
10
12
  var _datavizPalette = require("./dataviz-palette");
11
13
 
12
14
  var _decorativePalettes = require("./decorative-palettes");
13
15
 
16
+ var _interact = _interopRequireDefault(require("../utils/interact"));
17
+
14
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
19
 
16
20
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
21
 
18
- var darkTheme = _extends({}, _theme.default, {
19
- colors: _extends({}, _theme.default.colors, {
20
- app: {
22
+ var MODE = "default-dark";
23
+ var shadows = {
24
+ low: _seedsDepth.default.ELEVATION_LEVEL_100 + " " + _seedsColor.default.COLOR_NEUTRAL_1100 + "FF",
25
+ medium: _seedsDepth.default.ELEVATION_LEVEL_300 + " " + _seedsColor.default.COLOR_NEUTRAL_1100 + "FF",
26
+ high: _seedsDepth.default.ELEVATION_LEVEL_400 + " " + _seedsColor.default.COLOR_NEUTRAL_1100 + "FF"
27
+ };
28
+ exports.shadows = shadows;
29
+
30
+ var colors = _extends({}, _theme.default.colors, {
31
+ utils: {
32
+ interact: (0, _interact.default)(MODE)
33
+ },
34
+ app: {
35
+ background: {
36
+ base: _seedsColor.default.COLOR_NEUTRAL_1000
37
+ }
38
+ },
39
+ container: {
40
+ background: {
41
+ base: _seedsColor.default.COLOR_NEUTRAL_900,
42
+ success: _decorativePalettes.green.background,
43
+ warning: _decorativePalettes.yellow.background,
44
+ error: _decorativePalettes.red.background,
45
+ info: _decorativePalettes.blue.background,
46
+ opportunity: _decorativePalettes.purple.background,
47
+ danger: _decorativePalettes.red.background,
48
+ decorative: {
49
+ green: _decorativePalettes.green.background,
50
+ blue: _decorativePalettes.blue.background,
51
+ purple: _decorativePalettes.purple.background,
52
+ yellow: _decorativePalettes.yellow.background,
53
+ orange: _decorativePalettes.orange.background,
54
+ red: _decorativePalettes.red.background,
55
+ neutral: _decorativePalettes.neutral.background
56
+ },
57
+ selected: _seedsColor.default.COLOR_NEUTRAL_0
58
+ },
59
+ border: {
60
+ base: _seedsColor.default.COLOR_NEUTRAL_1100,
61
+ success: _decorativePalettes.green.highlight,
62
+ warning: _decorativePalettes.yellow.highlight,
63
+ error: _decorativePalettes.red.highlight,
64
+ danger: _decorativePalettes.red.highlight,
65
+ info: _decorativePalettes.blue.highlight,
66
+ opportunity: _decorativePalettes.purple.highlight,
67
+ decorative: {
68
+ green: _decorativePalettes.green.highlight,
69
+ blue: _decorativePalettes.blue.highlight,
70
+ purple: _decorativePalettes.purple.highlight,
71
+ yellow: _decorativePalettes.yellow.highlight,
72
+ orange: _decorativePalettes.orange.highlight,
73
+ red: _decorativePalettes.red.highlight,
74
+ neutral: _decorativePalettes.neutral.highlight
75
+ },
76
+ selected: _seedsColor.default.COLOR_NEUTRAL_0
77
+ }
78
+ },
79
+ button: {
80
+ primary: {
21
81
  background: {
22
- base: _seedsColor.default.COLOR_NEUTRAL_1000
82
+ base: _seedsColor.default.COLOR_BLUE_400,
83
+ hover: _seedsColor.default.COLOR_BLUE_300,
84
+ active: _seedsColor.default.COLOR_BLUE_200
85
+ },
86
+ border: {
87
+ base: "transparent"
88
+ },
89
+ text: {
90
+ base: _seedsColor.default.COLOR_NEUTRAL_900,
91
+ hover: _seedsColor.default.COLOR_NEUTRAL_1000
23
92
  }
24
93
  },
25
- container: {
94
+ secondary: {
26
95
  background: {
27
- base: _seedsColor.default.COLOR_NEUTRAL_900,
28
- success: _decorativePalettes.green.background,
29
- warning: _decorativePalettes.yellow.background,
30
- error: _decorativePalettes.red.background,
31
- info: _decorativePalettes.blue.background,
32
- opportunity: _decorativePalettes.purple.background,
33
- danger: _decorativePalettes.red.background,
34
- decorative: {
35
- green: _decorativePalettes.green.background,
36
- blue: _decorativePalettes.blue.background,
37
- purple: _decorativePalettes.purple.background,
38
- yellow: _decorativePalettes.yellow.background,
39
- orange: _decorativePalettes.orange.background,
40
- red: _decorativePalettes.red.background,
41
- neutral: _decorativePalettes.neutral.background
42
- },
43
- selected: _seedsColor.default.COLOR_NEUTRAL_0
96
+ base: "transparent",
97
+ hover: _seedsColor.default.COLOR_NEUTRAL_100,
98
+ active: _seedsColor.default.COLOR_NEUTRAL_0
44
99
  },
45
100
  border: {
46
- base: _seedsColor.default.COLOR_NEUTRAL_1100,
47
- success: _decorativePalettes.green.highlight,
48
- warning: _decorativePalettes.yellow.highlight,
49
- error: _decorativePalettes.red.highlight,
50
- danger: _decorativePalettes.red.highlight,
51
- info: _decorativePalettes.blue.highlight,
52
- opportunity: _decorativePalettes.purple.highlight,
53
- decorative: {
54
- green: _decorativePalettes.green.highlight,
55
- blue: _decorativePalettes.blue.highlight,
56
- purple: _decorativePalettes.purple.highlight,
57
- yellow: _decorativePalettes.yellow.highlight,
58
- orange: _decorativePalettes.orange.highlight,
59
- red: _decorativePalettes.red.highlight,
60
- neutral: _decorativePalettes.neutral.highlight
61
- },
62
- selected: _seedsColor.default.COLOR_NEUTRAL_0
101
+ base: _seedsColor.default.COLOR_NEUTRAL_0
102
+ },
103
+ text: {
104
+ base: _seedsColor.default.COLOR_NEUTRAL_0,
105
+ hover: _seedsColor.default.COLOR_NEUTRAL_800
63
106
  }
64
107
  },
65
- button: {
66
- primary: {
67
- background: {
68
- base: _seedsColor.default.COLOR_BLUE_400,
69
- hover: _seedsColor.default.COLOR_BLUE_300,
70
- active: _seedsColor.default.COLOR_BLUE_200
71
- },
72
- border: {
73
- base: "transparent"
74
- },
75
- text: {
76
- base: _seedsColor.default.COLOR_NEUTRAL_900,
77
- hover: _seedsColor.default.COLOR_NEUTRAL_1000
78
- }
79
- },
80
- secondary: {
81
- background: {
82
- base: "transparent",
83
- hover: _seedsColor.default.COLOR_NEUTRAL_100,
84
- active: _seedsColor.default.COLOR_NEUTRAL_0
85
- },
86
- border: {
87
- base: _seedsColor.default.COLOR_NEUTRAL_0
88
- },
89
- text: {
90
- base: _seedsColor.default.COLOR_NEUTRAL_0,
91
- hover: _seedsColor.default.COLOR_NEUTRAL_800
92
- }
108
+ pill: {
109
+ background: {
110
+ base: "transparent",
111
+ hover: _seedsColor.default.COLOR_NEUTRAL_1000,
112
+ active: _seedsColor.default.COLOR_NEUTRAL_900
93
113
  },
94
- pill: {
95
- background: {
96
- base: "transparent",
97
- hover: _seedsColor.default.COLOR_NEUTRAL_1000,
98
- active: _seedsColor.default.COLOR_NEUTRAL_900
99
- },
100
- border: {
101
- base: "transparent"
102
- },
103
- text: {
104
- base: _seedsColor.default.COLOR_NEUTRAL_100,
105
- hover: _seedsColor.default.COLOR_NEUTRAL_0
106
- }
114
+ border: {
115
+ base: "transparent"
107
116
  },
108
- destructive: {
109
- background: {
110
- base: _seedsColor.default.COLOR_RED_400,
111
- hover: _seedsColor.default.COLOR_RED_300,
112
- active: _seedsColor.default.COLOR_RED_200
113
- },
114
- border: {
115
- base: "transparent"
116
- },
117
- text: {
118
- base: _seedsColor.default.COLOR_NEUTRAL_900,
119
- hover: _seedsColor.default.COLOR_NEUTRAL_1000
120
- }
117
+ text: {
118
+ base: _seedsColor.default.COLOR_NEUTRAL_100,
119
+ hover: _seedsColor.default.COLOR_NEUTRAL_0
120
+ }
121
+ },
122
+ destructive: {
123
+ background: {
124
+ base: _seedsColor.default.COLOR_RED_400,
125
+ hover: _seedsColor.default.COLOR_RED_300,
126
+ active: _seedsColor.default.COLOR_RED_200
121
127
  },
122
- placeholder: {
123
- background: {
124
- base: "transparent",
125
- hover: _seedsColor.default.COLOR_NEUTRAL_1100,
126
- active: _seedsColor.default.COLOR_NEUTRAL_1100
127
- },
128
- border: {
129
- base: _seedsColor.default.COLOR_NEUTRAL_500
130
- },
131
- text: {
132
- base: _seedsColor.default.COLOR_BLUE_400,
133
- hover: _seedsColor.default.COLOR_BLUE_300
134
- }
128
+ border: {
129
+ base: "transparent"
135
130
  },
136
- unstyled: {
137
- background: {
138
- base: "transparent"
139
- },
140
- border: {
141
- base: "transparent"
142
- },
143
- text: {
144
- base: _seedsColor.default.COLOR_NEUTRAL_300,
145
- hover: _seedsColor.default.COLOR_NEUTRAL_200
146
- }
131
+ text: {
132
+ base: _seedsColor.default.COLOR_NEUTRAL_900,
133
+ hover: _seedsColor.default.COLOR_NEUTRAL_1000
147
134
  }
148
135
  },
149
- link: {
150
- base: _seedsColor.default.COLOR_BLUE_400,
151
- hover: _seedsColor.default.COLOR_BLUE_300
152
- },
153
- text: {
154
- headline: _seedsColor.default.COLOR_NEUTRAL_0,
155
- subtext: _seedsColor.default.COLOR_NEUTRAL_300,
156
- body: _seedsColor.default.COLOR_NEUTRAL_100,
157
- inverse: _seedsColor.default.COLOR_NEUTRAL_900,
158
- error: _seedsColor.default.COLOR_RED_400
159
- },
160
- icon: {
161
- base: _seedsColor.default.COLOR_NEUTRAL_100,
162
- inverse: _seedsColor.default.COLOR_NEUTRAL_900,
163
- success: _decorativePalettes.green.foreground,
164
- warning: _decorativePalettes.yellow.foreground,
165
- error: _decorativePalettes.red.foreground,
166
- danger: _decorativePalettes.red.foreground,
167
- info: _decorativePalettes.blue.foreground,
168
- opportunity: _decorativePalettes.purple.foreground
169
- },
170
- form: {
136
+ placeholder: {
171
137
  background: {
172
- base: _seedsColor.default.COLOR_NEUTRAL_900,
173
- selected: _seedsColor.default.COLOR_NEUTRAL_0
138
+ base: "transparent",
139
+ hover: _seedsColor.default.COLOR_NEUTRAL_1100,
140
+ active: _seedsColor.default.COLOR_NEUTRAL_1100
174
141
  },
175
142
  border: {
176
- base: _seedsColor.default.COLOR_NEUTRAL_500,
177
- error: _decorativePalettes.red.highlight,
178
- warning: _decorativePalettes.yellow.highlight,
179
- selected: _seedsColor.default.COLOR_NEUTRAL_0
180
- },
181
- placeholder: {
182
143
  base: _seedsColor.default.COLOR_NEUTRAL_500
144
+ },
145
+ text: {
146
+ base: _seedsColor.default.COLOR_BLUE_400,
147
+ hover: _seedsColor.default.COLOR_BLUE_300
183
148
  }
184
149
  },
185
- listItem: {
150
+ unstyled: {
186
151
  background: {
187
- base: "transparent",
188
- hover: _seedsColor.default.COLOR_NEUTRAL_800,
189
- selected: _seedsColor.default.COLOR_NEUTRAL_0
152
+ base: "transparent"
153
+ },
154
+ border: {
155
+ base: "transparent"
156
+ },
157
+ text: {
158
+ base: _seedsColor.default.COLOR_NEUTRAL_300,
159
+ hover: _seedsColor.default.COLOR_NEUTRAL_200
190
160
  }
161
+ }
162
+ },
163
+ link: {
164
+ base: _seedsColor.default.COLOR_BLUE_400,
165
+ hover: _seedsColor.default.COLOR_BLUE_300
166
+ },
167
+ text: {
168
+ headline: _seedsColor.default.COLOR_NEUTRAL_0,
169
+ subtext: _seedsColor.default.COLOR_NEUTRAL_300,
170
+ body: _seedsColor.default.COLOR_NEUTRAL_100,
171
+ inverse: _seedsColor.default.COLOR_NEUTRAL_900,
172
+ error: _seedsColor.default.COLOR_RED_400
173
+ },
174
+ icon: {
175
+ base: _seedsColor.default.COLOR_NEUTRAL_100,
176
+ inverse: _seedsColor.default.COLOR_NEUTRAL_900,
177
+ success: _decorativePalettes.green.foreground,
178
+ warning: _decorativePalettes.yellow.foreground,
179
+ error: _decorativePalettes.red.foreground,
180
+ danger: _decorativePalettes.red.foreground,
181
+ info: _decorativePalettes.blue.foreground,
182
+ opportunity: _decorativePalettes.purple.foreground
183
+ },
184
+ form: {
185
+ background: {
186
+ base: _seedsColor.default.COLOR_NEUTRAL_900,
187
+ selected: _seedsColor.default.COLOR_NEUTRAL_0
188
+ },
189
+ border: {
190
+ base: _seedsColor.default.COLOR_NEUTRAL_500,
191
+ error: _decorativePalettes.red.highlight,
192
+ warning: _decorativePalettes.yellow.highlight,
193
+ selected: _seedsColor.default.COLOR_NEUTRAL_0
191
194
  },
192
- dataviz: {
193
- map: _datavizPalette.datavizPalette.DATAVIZ_COLORS_MAP,
194
- list: _datavizPalette.datavizPalette.DATAVIZ_COLORS_LIST
195
+ placeholder: {
196
+ base: _seedsColor.default.COLOR_NEUTRAL_500
197
+ }
198
+ },
199
+ listItem: {
200
+ background: {
201
+ base: "transparent",
202
+ hover: _seedsColor.default.COLOR_NEUTRAL_800,
203
+ selected: _seedsColor.default.COLOR_NEUTRAL_0
195
204
  }
196
- }, _datavizPalette.datavizPalette),
197
- mode: "dark"
205
+ },
206
+ elevation: {
207
+ base: _seedsColor.default.COLOR_NEUTRAL_1100
208
+ },
209
+ dataviz: {
210
+ map: _datavizPalette.datavizPalette.DATAVIZ_COLORS_MAP,
211
+ list: _datavizPalette.datavizPalette.DATAVIZ_COLORS_LIST
212
+ }
213
+ }, _datavizPalette.datavizPalette);
214
+
215
+ var darkTheme = _extends({}, _theme.default, {
216
+ colors: colors,
217
+ shadows: shadows,
218
+ mode: MODE
198
219
  });
199
220
 
200
221
  var _default = darkTheme;
@@ -23,12 +23,15 @@ var _seedsMotion = _interopRequireDefault(require("@sproutsocial/seeds-motion"))
23
23
 
24
24
  var _seedsBorder = _interopRequireDefault(require("@sproutsocial/seeds-border"));
25
25
 
26
+ var _interact = _interopRequireDefault(require("../utils/interact"));
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
31
 
30
32
  var breakpoints = ["900px", "1200px", "1500px", "1800px"];
31
33
  exports.breakpoints = breakpoints;
34
+ var MODE = "default-light";
32
35
 
33
36
  var colors = _extends({
34
37
  app: {
@@ -203,6 +206,9 @@ var colors = _extends({
203
206
  selected: _seedsColor.default.COLOR_NEUTRAL_800
204
207
  }
205
208
  },
209
+ elevation: {
210
+ base: _seedsColor.default.COLOR_NEUTRAL_900 + "3D"
211
+ },
206
212
  network: {
207
213
  twitter: _seedsNetworkcolor.default.NETWORK_COLOR_TWITTER,
208
214
  twitter_like: _seedsNetworkcolor.default.NETWORK_COLOR_TWITTER_LIKE,
@@ -291,10 +297,9 @@ var borderWidths = {
291
297
  };
292
298
  exports.borderWidths = borderWidths;
293
299
  var shadows = {
294
- "100": _seedsDepth.default.ELEVATION_LEVEL_100,
295
- "200": _seedsDepth.default.ELEVATION_LEVEL_200,
296
- "300": _seedsDepth.default.ELEVATION_LEVEL_300,
297
- "400": _seedsDepth.default.ELEVATION_LEVEL_400
300
+ low: _seedsDepth.default.ELEVATION_LEVEL_100 + " " + _seedsColor.default.COLOR_NEUTRAL_900 + "3D",
301
+ medium: _seedsDepth.default.ELEVATION_LEVEL_300 + " " + _seedsColor.default.COLOR_NEUTRAL_900 + "3D",
302
+ high: _seedsDepth.default.ELEVATION_LEVEL_400 + " " + _seedsColor.default.COLOR_NEUTRAL_900 + "3D"
298
303
  };
299
304
  exports.shadows = shadows;
300
305
  var easing = {
@@ -310,6 +315,9 @@ var duration = {
310
315
  };
311
316
  exports.duration = duration;
312
317
  var theme = {
318
+ utils: {
319
+ interact: (0, _interact.default)(MODE)
320
+ },
313
321
  breakpoints: breakpoints,
314
322
  colors: colors,
315
323
  typography: _extends({}, typography, {
@@ -330,11 +338,10 @@ var theme = {
330
338
  }),
331
339
  borders: borders,
332
340
  borderWidths: borderWidths,
333
- shadows: _extends({}, shadows, {
334
- shadows: shadows
335
- }),
341
+ shadows: shadows,
336
342
  easing: easing,
337
- duration: duration
343
+ duration: duration,
344
+ mode: MODE
338
345
  };
339
346
  var _default = theme;
340
347
  exports.default = _default;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _polished = require("polished");
7
+
8
+ var interact = function interact(mode) {
9
+ return function (themeValue) {
10
+ if (mode === "default-dark") {
11
+ return (0, _polished.lighten)(0.2, themeValue);
12
+ } else {
13
+ return (0, _polished.darken)(0.2, themeValue);
14
+ }
15
+ };
16
+ };
17
+
18
+ var _default = interact;
19
+ exports.default = _default;
@@ -3,25 +3,21 @@
3
3
 
4
4
  // SET-UP
5
5
  // These files are auto-generated based on JS theme files, ensuring our SCSS theme variables stay in sync.
6
- @import "dist/themes/default.scss";
7
- @import "dist/themes/dark.scss";
6
+ @import "../../dist/themes/default.scss";
7
+ @import "../../dist/themes/dark.scss";
8
8
 
9
9
  // In the JS theme files, the theme object is exported as "default" (i.e., using "export default"),
10
10
  // so we need to map-get "default" to access it.
11
11
  $themes: (
12
- default: map-get($default, "default"),
13
- dark: map-get($dark, "default")
12
+ light: map-get($default, "default"),
13
+ dark: map-get($dark, "default")
14
14
  );
15
15
 
16
16
  // MIXIN
17
17
  // CSS properties that are theme-dependent must be wrapped in this mixin
18
18
  @mixin themed() {
19
19
  @each $theme, $map in $themes {
20
- // ~ selects siblings to the specified selector, * selects all children of those siblings,
21
- // which makes ~ * a kind of nephew selector. Thus we can target all elements on the page even if they are
22
- // not a direct descendent of the element that we apply the theme classname to.
23
- // This is important for pop-ups and modals, since they are often mounted directly to the body.
24
- .theme--#{$theme} ~ * & {
20
+ .theme--#{$theme} & {
25
21
  $theme-map: () !global;
26
22
  @each $key, $submap in $map {
27
23
  $value: map-get(map-get($themes, $theme), "#{$key}");
@@ -37,78 +33,79 @@ $themes: (
37
33
  // This function will allow you to get any value from the theme.
38
34
  // @param {string} $key - the period-separated path to the value in the theme object. e.g., "colors.text.body"
39
35
  @function t($key) {
40
- $keys: _string-split($key, ".");
36
+ $keys: _str-split($key, ".");
41
37
  @return _map-deep-get($theme-map, $keys);
42
38
  }
43
39
 
44
- // These functions are convenience methods to get theme values for subsets of the theme.
40
+ // The rest of the functions are convenience methods to get theme values for subsets of the theme.
45
41
  // @param {string} $key - the period-separated path to the value in the theme object, with "colors." omitted. e.g., "text.body"
46
42
  @function colors($key) {
47
- $keys: _string-split($key, ".");
43
+ $keys: _str-split($key, ".");
48
44
  @return _map-deep-get($theme-map, join("colors", $keys));
49
45
  }
50
46
 
51
47
  // @param {string} $key - the period-separated path to the value in the theme object, with "typography." omitted. e.g., "100.fontSize"
52
48
  @function typography($key) {
53
- $keys: _string-split($key, ".");
49
+ $keys: _str-split($key, ".");
54
50
  @return _map-deep-get($theme-map, join("typography", $keys));
55
51
  }
56
52
 
57
53
  // @param {string} $key - the period-separated path to the value in the theme object, with "fontWeights." omitted. e.g., "normal"
58
54
  @function fontWeights($key) {
59
- $keys: _string-split($key, ".");
55
+ $keys: _str-split($key, ".");
60
56
  @return _map-deep-get($theme-map, join("fontWeights", $keys));
61
57
  }
62
58
 
63
59
  // @param {string} $key - the period-separated path to the value in the theme object, with "space." omitted. e.g., "100"
64
60
  @function space($key) {
65
- $keys: _string-split($key, ".");
61
+ $keys: _str-split($key, ".");
66
62
  @return _map-deep-get($theme-map, join("space", $keys));
67
63
  }
68
64
 
69
65
  // @param {string} $key - the period-separated path to the value in the theme object, with "radii." omitted. e.g., "inner"
70
66
  @function radii($key) {
71
- $keys: _string-split($key, ".");
67
+ $keys: _str-split($key, ".");
72
68
  @return _map-deep-get($theme-map, join("radii", $keys));
73
69
  }
74
70
 
75
71
  // @param {string} $key - the period-separated path to the value in the theme object, with "borders." omitted. e.g., "500"
76
72
  @function borders($key) {
77
- $keys: _string-split($key, ".");
73
+ $keys: _str-split($key, ".");
78
74
  @return _map-deep-get($theme-map, join("borders", $keys));
79
75
  }
80
76
 
81
77
  // @param {string} $key - the period-separated path to the value in the theme object, with "borderWidths." omitted. e.g., "500"
82
78
  @function borderWidths($key) {
83
- $keys: _string-split($key, ".");
79
+ $keys: _str-split($key, ".");
84
80
  @return _map-deep-get($theme-map, join("borderWidths", $keys));
85
81
  }
86
82
 
87
83
  // @param {string} $key - the period-separated path to the value in the theme object, with "shadows." omitted. e.g., "low"
88
84
  @function shadows($key) {
89
- $keys: _string-split($key, ".");
85
+ $keys: _str-split($key, ".");
90
86
  @return _map-deep-get($theme-map, join("shadows", $keys));
91
87
  }
92
88
 
93
89
  // @param {string} $key - the period-separated path to the value in the theme object, with "easing." omitted. e.g., "ease_in"
94
90
  @function easing($key) {
95
- $keys: _string-split($key, ".");
91
+ $keys: _str-split($key, ".");
96
92
  @return _map-deep-get($theme-map, join("easing", $keys));
97
93
  }
98
94
 
99
95
  // @param {string} $key - the period-separated path to the value in the theme object, with "duration." omitted. e.g., "fast"
100
96
  @function duration($key) {
101
- $keys: _string-split($key, ".");
97
+ $keys: _str-split($key, ".");
102
98
  @return _map-deep-get($theme-map, join("duration", $keys));
103
99
  }
104
100
 
105
101
  // UTILITIES
106
102
  // Helper functions that power the functions above. Not relevant to the theme.
107
- // If you import this file with @use, they will not be included.
103
+ // If you import this file with @use, these functions will be excluded because they are private.
108
104
 
109
105
  // Via https://stackoverflow.com/a/42295154
110
- // Only works with a single-character separator
111
- @function _string-split($string, $separator) {
106
+ // Used to split period-separated object keys, e.g. "colors.text.body" => ["colors", "text", "body"]
107
+ // Only works with a single-character separator.
108
+ @function _str-split($string, $separator) {
112
109
  // empty array/list
113
110
  $split-arr: ();
114
111
  // first index of separator in string
@@ -131,7 +128,8 @@ $themes: (
131
128
  }
132
129
 
133
130
  // Adapted from https://css-tricks.com/snippets/sass/deep-getset-maps/
134
- // Iterates over a list of keys to read multi-level maps
131
+ // Iterates over a list of keys to read multi-level maps.
132
+ // e.g., _map-deep-get((colors: (text: (body: "#364141"))), ["colors", "text", "body"]) => "#364141"
135
133
  @function _map-deep-get($map, $keys) {
136
134
  @each $key in $keys {
137
135
  $map: map-get($map, $key);
@@ -1,6 +1,14 @@
1
1
  $dark: (
2
2
  __esModule: true,
3
+ shadows: (
4
+ low: 0px 2px 4px rgba(39,51,51,.24) #040404FF,
5
+ medium: 0px 8px 16px rgba(39,51,51,.24) #040404FF,
6
+ high: 0px 16px 32px rgba(39,51,51,.24) #040404FF
7
+ ),
3
8
  default: (
9
+ utils: (
10
+
11
+ ),
4
12
  breakpoints: (900px, 1200px, 1500px, 1800px),
5
13
  colors: (
6
14
  app: (
@@ -175,6 +183,9 @@ $dark: (
175
183
  selected: #FFFFFF
176
184
  )
177
185
  ),
186
+ elevation: (
187
+ base: #040404
188
+ ),
178
189
  network: (
179
190
  twitter: #1da1f2,
180
191
  twitter_like: #e0245e,
@@ -401,6 +412,9 @@ $dark: (
401
412
  18: #ff7f6e,
402
413
  19: #c2f2bd,
403
414
  20: #ffe99a
415
+ ),
416
+ utils: (
417
+
404
418
  )
405
419
  ),
406
420
  typography: (
@@ -568,16 +582,9 @@ $dark: (
568
582
  500: 1px
569
583
  ),
570
584
  shadows: (
571
- 100: 0px 2px 4px rgba(39,51,51,.24),
572
- 200: 0px 4px 8px rgba(39,51,51,.24),
573
- 300: 0px 8px 16px rgba(39,51,51,.24),
574
- 400: 0px 16px 32px rgba(39,51,51,.24),
575
- shadows: (
576
- 100: 0px 2px 4px rgba(39,51,51,.24),
577
- 200: 0px 4px 8px rgba(39,51,51,.24),
578
- 300: 0px 8px 16px rgba(39,51,51,.24),
579
- 400: 0px 16px 32px rgba(39,51,51,.24)
580
- )
585
+ low: 0px 2px 4px rgba(39,51,51,.24) #040404FF,
586
+ medium: 0px 8px 16px rgba(39,51,51,.24) #040404FF,
587
+ high: 0px 16px 32px rgba(39,51,51,.24) #040404FF
581
588
  ),
582
589
  easing: (
583
590
  ease_in: cubic-bezier(.4, 0, .7, .2),
@@ -589,6 +596,6 @@ $dark: (
589
596
  medium: .3s,
590
597
  slow: .6s
591
598
  ),
592
- mode: dark
599
+ mode: default-dark
593
600
  )
594
601
  );