@sproutsocial/racine 11.6.1-theme-type.0 → 11.6.2

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 (33) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/__flow__/Checkbox/styles.js +75 -75
  3. package/__flow__/Collapsible/index.js +2 -3
  4. package/__flow__/Image/index.js +2 -10
  5. package/__flow__/SegmentedControl/index.js +2 -3
  6. package/__flow__/TableCell/index.js +2 -9
  7. package/__flow__/ToggleHint/index.js +2 -9
  8. package/__flow__/systemProps/color.js +2 -1
  9. package/__flow__/themes/dark/theme.js +3 -3
  10. package/__flow__/themes/extendedThemes/sproutTheme/dark/theme.js +44 -13
  11. package/__flow__/themes/extendedThemes/sproutTheme/light/theme.js +44 -13
  12. package/__flow__/types/theme.colors.flow.js +8 -1
  13. package/__flow__/types/theme.flow.js +8 -43
  14. package/__flow__/utils/responsiveProps/index.test.js +2 -10
  15. package/commonjs/themes/dark/theme.js +3 -3
  16. package/commonjs/themes/extendedThemes/sproutTheme/dark/theme.js +48 -15
  17. package/commonjs/themes/extendedThemes/sproutTheme/light/theme.js +48 -15
  18. package/commonjs/types/theme.flow.js +3 -1
  19. package/dist/themes/dark/dark.scss +0 -3
  20. package/lib/themes/dark/theme.js +3 -3
  21. package/lib/themes/extendedThemes/sproutTheme/dark/theme.js +44 -10
  22. package/lib/themes/extendedThemes/sproutTheme/light/theme.js +44 -10
  23. package/lib/types/theme.flow.js +2 -1
  24. package/package.json +2 -3
  25. package/__flow__/themes/extendedThemes/sproutTheme/NonColorThemeValues/index.js +0 -17
  26. package/__flow__/themes/extendedThemes/sproutTheme/dark/getDarkThemeColors.js +0 -36
  27. package/__flow__/themes/extendedThemes/sproutTheme/light/getLightThemeColors.js +0 -36
  28. package/commonjs/themes/extendedThemes/sproutTheme/NonColorThemeValues/index.js +0 -16
  29. package/commonjs/themes/extendedThemes/sproutTheme/dark/getDarkThemeColors.js +0 -39
  30. package/commonjs/themes/extendedThemes/sproutTheme/light/getLightThemeColors.js +0 -39
  31. package/lib/themes/extendedThemes/sproutTheme/NonColorThemeValues/index.js +0 -12
  32. package/lib/themes/extendedThemes/sproutTheme/dark/getDarkThemeColors.js +0 -34
  33. package/lib/themes/extendedThemes/sproutTheme/light/getLightThemeColors.js +0 -34
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.6.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 560c463: Added a new extended theme for the compare to period for the date picker.
8
+
9
+ ## 11.6.1
10
+
11
+ ### Patch Changes
12
+
13
+ - eb27d01: Fix interact util in dark mode themes
14
+ - The `interact` util was located at a different location in the light and dark mode base theme objects. It was at the base level of the light theme and nested inside of `colors` for the dark theme.
15
+ - `interact` was seemingly available at the base level of the theme in both modes, because we spread the light theme as the basis of the dark theme. However, the `interact` util accessible at the base level of the theme would behave like light mode in either mode.
16
+ - The `interact` util located inside the `colors` object inside the dark mode theme object was not usable, due to only being defined in that location for dark mode, and has been removed.
17
+ - eb27d01: Remove 'just-clone' dependency
18
+ - eb27d01: Fix "navigation" colors in SproutTheme
19
+ - The "navigation" colors were not available in the theme due to being spread in incorrectly.
20
+ - eb27d01: Improve theme types to be more accurate
21
+
3
22
  ## 11.6.0
4
23
 
5
24
  ### Minor Changes
@@ -182,90 +182,90 @@ const getIcon = (type, color) => {
182
182
 
183
183
  // eslint-disable-next-line prettier/prettier
184
184
  export const CheckboxContainer: StyledComponent<any, TypeTheme, *> = styled.span(
185
- (props) => css`
186
- display: inline-flex;
187
- align-items: center;
188
- box-sizing: border-box;
189
- position: relative;
190
- transition: all ${props.theme.duration.fast} ${props.theme.easing.ease_in};
191
-
192
- @supports (-webkit-appearance: none) {
193
- &:before {
194
- /* stylelint-disable */
195
- content: url("data:image/svg+xml;utf8,${getIcon(
196
- props.indeterminate ? "indeterminate" : "check",
197
-
198
- props.checked
199
- ? props.theme.colors.form.background.base
200
- : props.theme.colors.form.border.base
201
- )}");
202
- opacity: ${props.checked ? 1 : 0};
203
- position: absolute;
204
- width: ${props.theme.space[400]};
205
- height: ${props.theme.space[400]};
206
- text-align: center;
207
- transform: translateY(1px);
208
- line-height: 1;
209
- margin: auto;
210
- pointer-events: none;
211
- transition: ${props.theme.duration.fast}
212
- ${props.theme.easing.ease_inout};
213
- }
214
-
215
- &:hover:before {
216
- opacity: ${props.disabled && !props.checked ? 0 : 1};
217
- }
218
-
219
- ${props.disabled &&
220
- css`
221
- opacity: 0.4;
222
- `}
223
-
224
- input[type='checkbox'] {
225
- box-sizing: border-box;
226
- appearance: none;
227
- margin: 0;
228
- padding: 0;
229
- width: ${props.theme.space[400]};
230
- height: ${props.theme.space[400]};
231
- border: 1px solid ${props.theme.colors.form.border.base};
232
- border-radius: 4px;
233
- background-color: ${props.theme.colors.form.background.base};
234
- transition: all ${props.theme.duration.fast}
235
- ${props.theme.easing.ease_in};
236
- cursor: ${props.disabled ? "not-allowed" : "pointer"};
237
- flex-shrink: 0;
238
-
239
- &:not(:checked) {
240
- ${!props.indeterminate &&
241
- css`
242
- border-color: ${props.theme.colors
243
- .neutral[300]} !important; /* We don't want the focus ring to remove the border */
244
- background-color: ${props.theme.colors.form.background.base};
245
- `}
185
+ (props) => css`
186
+ display: inline-flex;
187
+ align-items: center;
188
+ box-sizing: border-box;
189
+ position: relative;
190
+ transition: all ${props.theme.duration.fast} ${props.theme.easing.ease_in};
191
+
192
+ @supports (-webkit-appearance: none) {
193
+ &:before {
194
+ /* stylelint-disable */
195
+ content: url("data:image/svg+xml;utf8,${getIcon(
196
+ props.indeterminate ? "indeterminate" : "check",
197
+
198
+ props.checked
199
+ ? props.theme.colors.form.background.base
200
+ : props.theme.colors.form.border.base
201
+ )}");
202
+ opacity: ${props.checked ? 1 : 0};
203
+ position: absolute;
204
+ width: ${props.theme.space[400]};
205
+ height: ${props.theme.space[400]};
206
+ text-align: center;
207
+ transform: translateY(1px);
208
+ line-height: 1;
209
+ margin: auto;
210
+ pointer-events: none;
211
+ transition: ${props.theme.duration.fast}
212
+ ${props.theme.easing.ease_inout};
246
213
  }
247
214
 
248
- &:checked {
249
- border-color: ${props.theme.colors.form.border.selected};
250
- background-color: ${props.theme.colors.form.background.selected};
215
+ &:hover:before {
216
+ opacity: ${props.disabled && !props.checked ? 0 : 1};
251
217
  }
252
218
 
253
- ${props.indeterminate &&
254
- props.checked &&
219
+ ${props.disabled &&
255
220
  css`
256
- border-color: ${props.theme.colors.form.border.selected} !important;
257
- background-color: ${props.theme.colors.form.background
258
- .selected} !important;
221
+ opacity: 0.4;
259
222
  `}
260
223
 
261
- &:focus {
262
- ${focusRing}
224
+ input[type='checkbox'] {
225
+ box-sizing: border-box;
226
+ appearance: none;
227
+ margin: 0;
228
+ padding: 0;
229
+ width: ${props.theme.space[400]};
230
+ height: ${props.theme.space[400]};
231
+ border: 1px solid ${props.theme.colors.form.border.base};
232
+ border-radius: 4px;
233
+ background-color: ${props.theme.colors.form.background.base};
234
+ transition: all ${props.theme.duration.fast}
235
+ ${props.theme.easing.ease_in};
236
+ cursor: ${props.disabled ? "not-allowed" : "pointer"};
237
+ flex-shrink: 0;
238
+
239
+ &:not(:checked) {
240
+ ${!props.indeterminate &&
241
+ css`
242
+ border-color: ${props.theme.colors
243
+ .neutral[300]} !important; /* We don't want the focus ring to remove the border */
244
+ background-color: ${props.theme.colors.form.background.base};
245
+ `}
246
+ }
247
+
248
+ &:checked {
249
+ border-color: ${props.theme.colors.form.border.selected};
250
+ background-color: ${props.theme.colors.form.background.selected};
251
+ }
252
+
253
+ ${props.indeterminate &&
254
+ props.checked &&
255
+ css`
256
+ border-color: ${props.theme.colors.form.border.selected} !important;
257
+ background-color: ${props.theme.colors.form.background
258
+ .selected} !important;
259
+ `}
260
+
261
+ &:focus {
262
+ ${focusRing}
263
+ }
263
264
  }
264
265
  }
265
- }
266
266
 
267
- ${COMMON}
268
- `
269
- );
267
+ ${COMMON}
268
+ `
269
+ );
270
270
 
271
271
  export default Container;
@@ -73,9 +73,8 @@ const Trigger = ({ children, ...rest }) => {
73
73
  };
74
74
 
75
75
  const Panel = ({ children, ...rest }) => {
76
- const { isOpen, id, offset, collapsedHeight, openHeight } = useContext(
77
- CollapsibleContext
78
- );
76
+ const { isOpen, id, offset, collapsedHeight, openHeight } =
77
+ useContext(CollapsibleContext);
79
78
  const ref = useRef();
80
79
  const measurement = useMeasure(ref);
81
80
  const [isHidden, setIsHidden] = useState(undefined);
@@ -80,16 +80,8 @@ export default class Image extends React.Component<TypeProps, TypeState> {
80
80
  };
81
81
 
82
82
  render() {
83
- const {
84
- alt,
85
- title,
86
- onClick,
87
- onError,
88
- onLoad,
89
- src,
90
- qa,
91
- ...rest
92
- } = this.props;
83
+ const { alt, title, onClick, onError, onLoad, src, qa, ...rest } =
84
+ this.props;
93
85
 
94
86
  return (
95
87
  <ImageContainer
@@ -17,9 +17,8 @@ type TypeSegmentedControlContext = {
17
17
  onChange: (e: SyntheticInputEvent<HTMLInputElement>) => void,
18
18
  };
19
19
 
20
- const SegmentedControlContext = React.createContext<?TypeSegmentedControlContext>(
21
- null
22
- );
20
+ const SegmentedControlContext =
21
+ React.createContext<?TypeSegmentedControlContext>(null);
23
22
 
24
23
  type TypeSegmentedControlItemProps = {
25
24
  /** The value of this item. Should be unique among sibling items. */
@@ -22,15 +22,8 @@ export type TypeTableCell = {
22
22
  */
23
23
  export default class TableCell extends React.Component<TypeTableCell> {
24
24
  render() {
25
- const {
26
- id,
27
- content,
28
- colSpan,
29
- width,
30
- align,
31
- children,
32
- ...rest
33
- } = this.props;
25
+ const { id, content, colSpan, width, align, children, ...rest } =
26
+ this.props;
34
27
 
35
28
  return (
36
29
  <Container
@@ -32,15 +32,8 @@ export default class ToggleHint extends React.Component<TypeProps> {
32
32
  };
33
33
 
34
34
  render() {
35
- const {
36
- icon,
37
- isOpen,
38
- openString,
39
- closeString,
40
- qa,
41
- className,
42
- ...rest
43
- } = this.props;
35
+ const { icon, isOpen, openString, closeString, qa, className, ...rest } =
36
+ this.props;
44
37
 
45
38
  return (
46
39
  <Container
@@ -14,7 +14,8 @@ import type {
14
14
 
15
15
  // https://styled-system.com/table#color
16
16
 
17
- type TypeBackgroundColorSystemProp = TypeResponsiveBaseSystemProp<BackgroundColorProperty>;
17
+ type TypeBackgroundColorSystemProp =
18
+ TypeResponsiveBaseSystemProp<BackgroundColorProperty>;
18
19
  export type TypeColorSystemProps = $ReadOnly<{|
19
20
  backgroundColor?: TypeBackgroundColorSystemProp,
20
21
  bg?: TypeBackgroundColorSystemProp,
@@ -29,9 +29,6 @@ export const shadows = {
29
29
 
30
30
  const colors = {
31
31
  ...lightTheme.colors,
32
- utils: {
33
- interact: interact(MODE),
34
- },
35
32
  app: {
36
33
  background: {
37
34
  base: COLORS.COLOR_NEUTRAL_1000,
@@ -238,6 +235,9 @@ const colors = {
238
235
 
239
236
  const darkTheme = {
240
237
  ...lightTheme,
238
+ utils: {
239
+ interact: interact(MODE),
240
+ },
241
241
  colors,
242
242
  shadows,
243
243
  mode: MODE,
@@ -1,23 +1,54 @@
1
1
  // @flow strict-local
2
- import clone from "just-clone";
3
2
  import baseDarkTheme from "../../../dark/theme";
4
- import { getDarkThemeColors } from "./getDarkThemeColors";
5
- import { getNonColorThemeValues } from "../NonColorThemeValues";
6
3
  import type { TypeSproutTheme } from "../../../../types/theme.flow";
7
4
 
8
- // clone base theme. (we don't want to mutate the base theme)
9
- const themeClone = clone(baseDarkTheme);
10
-
11
- // get non color theme values
12
- const nonColorThemeValues = getNonColorThemeValues(themeClone);
5
+ export const navigation = {
6
+ main: {
7
+ background: {
8
+ base: baseDarkTheme.colors.neutral[1000],
9
+ overflowGradient: baseDarkTheme.colors.neutral[1100],
10
+ },
11
+ },
12
+ secondary: {
13
+ background: {
14
+ base: baseDarkTheme.colors.neutral[900],
15
+ },
16
+ },
17
+ text: {
18
+ base: baseDarkTheme.colors.neutral[0],
19
+ hover: baseDarkTheme.colors.neutral[0],
20
+ },
21
+ icon: {
22
+ base: baseDarkTheme.colors.neutral[0],
23
+ hover: baseDarkTheme.colors.neutral[0],
24
+ },
25
+ listItem: {
26
+ background: {
27
+ base: baseDarkTheme.colors.neutral[1000],
28
+ hover: baseDarkTheme.colors.neutral[1100],
29
+ selected: baseDarkTheme.colors.neutral[700],
30
+ },
31
+ },
32
+ };
13
33
 
14
- // get sprout specific dark theme colors
15
- const darkThemeColors = getDarkThemeColors(themeClone.colors);
34
+ export const datePicker = {
35
+ comparison: {
36
+ background: {
37
+ base: baseDarkTheme.colors.neutral[400],
38
+ },
39
+ text: {
40
+ base: baseDarkTheme.colors.neutral[800],
41
+ },
42
+ },
43
+ };
16
44
 
17
45
  const darkTheme: TypeSproutTheme = {
18
- ...themeClone,
19
- ...nonColorThemeValues,
20
- ...darkThemeColors,
46
+ ...baseDarkTheme,
47
+ colors: {
48
+ ...baseDarkTheme.colors,
49
+ navigation,
50
+ datePicker,
51
+ },
21
52
  };
22
53
 
23
54
  export default darkTheme;
@@ -1,23 +1,54 @@
1
1
  // @flow strict-local
2
- import clone from "just-clone";
3
2
  import baseLightTheme from "../../../light/theme";
4
- import { getLightThemeColors } from "./getLightThemeColors";
5
- import { getNonColorThemeValues } from "../NonColorThemeValues";
6
3
  import type { TypeSproutTheme } from "../../../../types/theme.flow";
7
4
 
8
- // clone base theme. (we don't want to mutate the base theme)
9
- const themeClone = clone(baseLightTheme);
10
-
11
- // get non color theme values
12
- const nonColorThemeValues = getNonColorThemeValues(themeClone);
5
+ export const navigation = {
6
+ main: {
7
+ background: {
8
+ base: baseLightTheme.colors.neutral[900],
9
+ overflowGradient: baseLightTheme.colors.neutral[1000],
10
+ },
11
+ },
12
+ secondary: {
13
+ background: {
14
+ base: baseLightTheme.colors.neutral[800],
15
+ },
16
+ },
17
+ text: {
18
+ base: baseLightTheme.colors.neutral[0],
19
+ hover: baseLightTheme.colors.neutral[0],
20
+ },
21
+ icon: {
22
+ base: baseLightTheme.colors.neutral[0],
23
+ hover: baseLightTheme.colors.neutral[0],
24
+ },
25
+ listItem: {
26
+ background: {
27
+ base: baseLightTheme.colors.neutral[800],
28
+ hover: baseLightTheme.colors.neutral[1000],
29
+ selected: baseLightTheme.colors.neutral[700],
30
+ },
31
+ },
32
+ };
13
33
 
14
- // get sprout specific light theme colors
15
- const lightThemeColors = getLightThemeColors(themeClone.colors);
34
+ export const datePicker = {
35
+ comparison: {
36
+ background: {
37
+ base: baseLightTheme.colors.neutral[400],
38
+ },
39
+ text: {
40
+ base: baseLightTheme.colors.neutral[800],
41
+ },
42
+ },
43
+ };
16
44
 
17
45
  const lightTheme: TypeSproutTheme = {
18
- ...themeClone,
19
- ...nonColorThemeValues,
20
- ...lightThemeColors,
46
+ ...baseLightTheme,
47
+ colors: {
48
+ ...baseLightTheme.colors,
49
+ navigation,
50
+ datePicker,
51
+ },
21
52
  };
22
53
 
23
54
  export default lightTheme;
@@ -229,7 +229,14 @@ type TypeElevationColors = {|
229
229
  },
230
230
  |};
231
231
 
232
- type TypeDatavizColors = typeof datavizPalette;
232
+ type TypeDatavizColors = {|
233
+ DATAVIZ_COLORS_MAP: typeof datavizPalette.DATAVIZ_COLORS_MAP,
234
+ DATAVIZ_COLORS_LIST: typeof datavizPalette.DATAVIZ_COLORS_LIST,
235
+ dataviz: {
236
+ map: typeof datavizPalette.DATAVIZ_COLORS_MAP,
237
+ list: typeof datavizPalette.DATAVIZ_COLORS_LIST,
238
+ },
239
+ |};
233
240
 
234
241
  type TypeNetworkColors = {|
235
242
  network: {
@@ -13,7 +13,12 @@ import {
13
13
  } from "../themes/light/theme";
14
14
  import type { TypeColors } from "./theme.colors.flow.js";
15
15
  import type { TypeFontFamilyString } from "../themes/light/theme";
16
+ import {
17
+ datePicker,
18
+ navigation,
19
+ } from "../themes/extendedThemes/sproutTheme/light/theme";
16
20
 
21
+ export type TypeThemeUtils = {| interact: (color: string) => string |};
17
22
  export type TypeThemeMode = "light" | "dark";
18
23
  export type TypeBreakpoint = typeof breakpoints;
19
24
  export type TypeTypography = typeof typography;
@@ -30,6 +35,7 @@ export type TypeDuration = typeof duration;
30
35
 
31
36
  export type TypeTheme = {
32
37
  mode: TypeThemeMode,
38
+ utils: TypeThemeUtils,
33
39
  breakpoints: TypeBreakpoint,
34
40
  colors: TypeColor,
35
41
  typography: TypeTypography,
@@ -44,53 +50,12 @@ export type TypeTheme = {
44
50
  duration: TypeDuration,
45
51
  };
46
52
 
47
- export type TypeNonColorThemeValues = {
48
- mode: TypeThemeMode,
49
- breakpoints: TypeBreakpoint,
50
- typography: TypeTypography,
51
- fontWeights: TypeFontWeight,
52
- fontFamily: TypeFontFamily,
53
- space: TypeSpace,
54
- radii: TypeRadii,
55
- borders: TypeBorder,
56
- borderWidths: TypeBorderWidth,
57
- shadows: TypeShadow,
58
- easing: TypeEasing,
59
- duration: TypeDuration,
60
- };
61
-
62
53
  // Extended themes
63
54
  export type TypeSproutTheme = {
64
55
  ...$Exact<TypeTheme>,
65
56
  colors: {|
66
57
  ...$Exact<TypeColor>,
67
- navigation: {|
68
- main: {|
69
- background: {|
70
- base: string,
71
- gradient: string,
72
- |},
73
- |},
74
- secondary: {|
75
- background: {|
76
- base: string,
77
- |},
78
- |},
79
- text: {|
80
- base: string,
81
- hover: string,
82
- |},
83
- icon: {|
84
- base: string,
85
- hover: string,
86
- |},
87
- listItem: {|
88
- background: {|
89
- base: string,
90
- hover: string,
91
- active: string,
92
- |},
93
- |},
94
- |},
58
+ navigation: typeof navigation,
59
+ datePicker: typeof datePicker,
95
60
  |},
96
61
  };
@@ -19,21 +19,13 @@ describe("normalizeResponsiveProp", () => {
19
19
 
20
20
  it("should handle arrays with 4 values", () => {
21
21
  expect(normalizeResponsiveProp([0, 1, 2, 3])).toMatchObject([
22
- 0,
23
- 1,
24
- 2,
25
- 3,
26
- 3,
22
+ 0, 1, 2, 3, 3,
27
23
  ]);
28
24
  });
29
25
 
30
26
  it("should handle arrays with 5 values", () => {
31
27
  expect(normalizeResponsiveProp([0, 1, 2, 3, 4])).toMatchObject([
32
- 0,
33
- 1,
34
- 2,
35
- 3,
36
- 4,
28
+ 0, 1, 2, 3, 4,
37
29
  ]);
38
30
  });
39
31
  });
@@ -31,9 +31,6 @@ var shadows = {
31
31
  exports.shadows = shadows;
32
32
 
33
33
  var colors = _extends({}, _theme.default.colors, {
34
- utils: {
35
- interact: (0, _interact.default)(MODE)
36
- },
37
34
  app: {
38
35
  background: {
39
36
  base: _seedsColor.default.COLOR_NEUTRAL_1000
@@ -237,6 +234,9 @@ var colors = _extends({}, _theme.default.colors, {
237
234
  }, _datavizPalette.datavizPalette);
238
235
 
239
236
  var darkTheme = _extends({}, _theme.default, {
237
+ utils: {
238
+ interact: (0, _interact.default)(MODE)
239
+ },
240
240
  colors: colors,
241
241
  shadows: shadows,
242
242
  mode: MODE
@@ -1,28 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
5
-
6
- var _justClone = _interopRequireDefault(require("just-clone"));
4
+ exports.navigation = exports.default = exports.datePicker = void 0;
7
5
 
8
6
  var _theme = _interopRequireDefault(require("../../../dark/theme"));
9
7
 
10
- var _getDarkThemeColors = require("./getDarkThemeColors");
11
-
12
- var _NonColorThemeValues = require("../NonColorThemeValues");
13
-
14
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
9
 
16
10
  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
11
 
18
- // clone base theme. (we don't want to mutate the base theme)
19
- var themeClone = (0, _justClone.default)(_theme.default); // get non color theme values
20
-
21
- var nonColorThemeValues = (0, _NonColorThemeValues.getNonColorThemeValues)(themeClone); // get sprout specific dark theme colors
22
-
23
- var darkThemeColors = (0, _getDarkThemeColors.getDarkThemeColors)(themeClone.colors);
24
-
25
- var darkTheme = _extends({}, themeClone, nonColorThemeValues, darkThemeColors);
12
+ var navigation = {
13
+ main: {
14
+ background: {
15
+ base: _theme.default.colors.neutral[1000],
16
+ overflowGradient: _theme.default.colors.neutral[1100]
17
+ }
18
+ },
19
+ secondary: {
20
+ background: {
21
+ base: _theme.default.colors.neutral[900]
22
+ }
23
+ },
24
+ text: {
25
+ base: _theme.default.colors.neutral[0],
26
+ hover: _theme.default.colors.neutral[0]
27
+ },
28
+ icon: {
29
+ base: _theme.default.colors.neutral[0],
30
+ hover: _theme.default.colors.neutral[0]
31
+ },
32
+ listItem: {
33
+ background: {
34
+ base: _theme.default.colors.neutral[1000],
35
+ hover: _theme.default.colors.neutral[1100],
36
+ selected: _theme.default.colors.neutral[700]
37
+ }
38
+ }
39
+ };
40
+ exports.navigation = navigation;
41
+ var datePicker = {
42
+ comparison: {
43
+ background: {
44
+ base: _theme.default.colors.neutral[400]
45
+ },
46
+ text: {
47
+ base: _theme.default.colors.neutral[800]
48
+ }
49
+ }
50
+ };
51
+ exports.datePicker = datePicker;
52
+
53
+ var darkTheme = _extends({}, _theme.default, {
54
+ colors: _extends({}, _theme.default.colors, {
55
+ navigation: navigation,
56
+ datePicker: datePicker
57
+ })
58
+ });
26
59
 
27
60
  var _default = darkTheme;
28
61
  exports.default = _default;
@@ -1,28 +1,61 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = void 0;
5
-
6
- var _justClone = _interopRequireDefault(require("just-clone"));
4
+ exports.navigation = exports.default = exports.datePicker = void 0;
7
5
 
8
6
  var _theme = _interopRequireDefault(require("../../../light/theme"));
9
7
 
10
- var _getLightThemeColors = require("./getLightThemeColors");
11
-
12
- var _NonColorThemeValues = require("../NonColorThemeValues");
13
-
14
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
9
 
16
10
  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
11
 
18
- // clone base theme. (we don't want to mutate the base theme)
19
- var themeClone = (0, _justClone.default)(_theme.default); // get non color theme values
20
-
21
- var nonColorThemeValues = (0, _NonColorThemeValues.getNonColorThemeValues)(themeClone); // get sprout specific light theme colors
22
-
23
- var lightThemeColors = (0, _getLightThemeColors.getLightThemeColors)(themeClone.colors);
24
-
25
- var lightTheme = _extends({}, themeClone, nonColorThemeValues, lightThemeColors);
12
+ var navigation = {
13
+ main: {
14
+ background: {
15
+ base: _theme.default.colors.neutral[900],
16
+ overflowGradient: _theme.default.colors.neutral[1000]
17
+ }
18
+ },
19
+ secondary: {
20
+ background: {
21
+ base: _theme.default.colors.neutral[800]
22
+ }
23
+ },
24
+ text: {
25
+ base: _theme.default.colors.neutral[0],
26
+ hover: _theme.default.colors.neutral[0]
27
+ },
28
+ icon: {
29
+ base: _theme.default.colors.neutral[0],
30
+ hover: _theme.default.colors.neutral[0]
31
+ },
32
+ listItem: {
33
+ background: {
34
+ base: _theme.default.colors.neutral[800],
35
+ hover: _theme.default.colors.neutral[1000],
36
+ selected: _theme.default.colors.neutral[700]
37
+ }
38
+ }
39
+ };
40
+ exports.navigation = navigation;
41
+ var datePicker = {
42
+ comparison: {
43
+ background: {
44
+ base: _theme.default.colors.neutral[400]
45
+ },
46
+ text: {
47
+ base: _theme.default.colors.neutral[800]
48
+ }
49
+ }
50
+ };
51
+ exports.datePicker = datePicker;
52
+
53
+ var lightTheme = _extends({}, _theme.default, {
54
+ colors: _extends({}, _theme.default.colors, {
55
+ navigation: navigation,
56
+ datePicker: datePicker
57
+ })
58
+ });
26
59
 
27
60
  var _default = lightTheme;
28
61
  exports.default = _default;
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _theme = require("../themes/light/theme");
3
+ var _theme = require("../themes/light/theme");
4
+
5
+ var _theme2 = require("../themes/extendedThemes/sproutTheme/light/theme");
@@ -430,9 +430,6 @@ $dark: (
430
430
  18: #ff7f6e,
431
431
  19: #c2f2bd,
432
432
  20: #ffe99a
433
- ),
434
- utils: (
435
-
436
433
  )
437
434
  ),
438
435
  typography: (
@@ -15,9 +15,6 @@ export var shadows = {
15
15
  }; // If you are making changes to the colors in the theme file tag the Design Systems team on your PR! Thank you!!
16
16
 
17
17
  var colors = _extends({}, lightTheme.colors, {
18
- utils: {
19
- interact: interact(MODE)
20
- },
21
18
  app: {
22
19
  background: {
23
20
  base: COLORS.COLOR_NEUTRAL_1000
@@ -221,6 +218,9 @@ var colors = _extends({}, lightTheme.colors, {
221
218
  }, datavizPalette);
222
219
 
223
220
  var darkTheme = _extends({}, lightTheme, {
221
+ utils: {
222
+ interact: interact(MODE)
223
+ },
224
224
  colors: colors,
225
225
  shadows: shadows,
226
226
  mode: MODE
@@ -1,16 +1,50 @@
1
1
  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); }
2
2
 
3
- import clone from "just-clone";
4
3
  import baseDarkTheme from "../../../dark/theme";
5
- import { getDarkThemeColors } from "./getDarkThemeColors";
6
- import { getNonColorThemeValues } from "../NonColorThemeValues";
7
- // clone base theme. (we don't want to mutate the base theme)
8
- var themeClone = clone(baseDarkTheme); // get non color theme values
4
+ export var navigation = {
5
+ main: {
6
+ background: {
7
+ base: baseDarkTheme.colors.neutral[1000],
8
+ overflowGradient: baseDarkTheme.colors.neutral[1100]
9
+ }
10
+ },
11
+ secondary: {
12
+ background: {
13
+ base: baseDarkTheme.colors.neutral[900]
14
+ }
15
+ },
16
+ text: {
17
+ base: baseDarkTheme.colors.neutral[0],
18
+ hover: baseDarkTheme.colors.neutral[0]
19
+ },
20
+ icon: {
21
+ base: baseDarkTheme.colors.neutral[0],
22
+ hover: baseDarkTheme.colors.neutral[0]
23
+ },
24
+ listItem: {
25
+ background: {
26
+ base: baseDarkTheme.colors.neutral[1000],
27
+ hover: baseDarkTheme.colors.neutral[1100],
28
+ selected: baseDarkTheme.colors.neutral[700]
29
+ }
30
+ }
31
+ };
32
+ export var datePicker = {
33
+ comparison: {
34
+ background: {
35
+ base: baseDarkTheme.colors.neutral[400]
36
+ },
37
+ text: {
38
+ base: baseDarkTheme.colors.neutral[800]
39
+ }
40
+ }
41
+ };
9
42
 
10
- var nonColorThemeValues = getNonColorThemeValues(themeClone); // get sprout specific dark theme colors
11
-
12
- var darkThemeColors = getDarkThemeColors(themeClone.colors);
13
-
14
- var darkTheme = _extends({}, themeClone, nonColorThemeValues, darkThemeColors);
43
+ var darkTheme = _extends({}, baseDarkTheme, {
44
+ colors: _extends({}, baseDarkTheme.colors, {
45
+ navigation: navigation,
46
+ datePicker: datePicker
47
+ })
48
+ });
15
49
 
16
50
  export default darkTheme;
@@ -1,16 +1,50 @@
1
1
  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); }
2
2
 
3
- import clone from "just-clone";
4
3
  import baseLightTheme from "../../../light/theme";
5
- import { getLightThemeColors } from "./getLightThemeColors";
6
- import { getNonColorThemeValues } from "../NonColorThemeValues";
7
- // clone base theme. (we don't want to mutate the base theme)
8
- var themeClone = clone(baseLightTheme); // get non color theme values
4
+ export var navigation = {
5
+ main: {
6
+ background: {
7
+ base: baseLightTheme.colors.neutral[900],
8
+ overflowGradient: baseLightTheme.colors.neutral[1000]
9
+ }
10
+ },
11
+ secondary: {
12
+ background: {
13
+ base: baseLightTheme.colors.neutral[800]
14
+ }
15
+ },
16
+ text: {
17
+ base: baseLightTheme.colors.neutral[0],
18
+ hover: baseLightTheme.colors.neutral[0]
19
+ },
20
+ icon: {
21
+ base: baseLightTheme.colors.neutral[0],
22
+ hover: baseLightTheme.colors.neutral[0]
23
+ },
24
+ listItem: {
25
+ background: {
26
+ base: baseLightTheme.colors.neutral[800],
27
+ hover: baseLightTheme.colors.neutral[1000],
28
+ selected: baseLightTheme.colors.neutral[700]
29
+ }
30
+ }
31
+ };
32
+ export var datePicker = {
33
+ comparison: {
34
+ background: {
35
+ base: baseLightTheme.colors.neutral[400]
36
+ },
37
+ text: {
38
+ base: baseLightTheme.colors.neutral[800]
39
+ }
40
+ }
41
+ };
9
42
 
10
- var nonColorThemeValues = getNonColorThemeValues(themeClone); // get sprout specific light theme colors
11
-
12
- var lightThemeColors = getLightThemeColors(themeClone.colors);
13
-
14
- var lightTheme = _extends({}, themeClone, nonColorThemeValues, lightThemeColors);
43
+ var lightTheme = _extends({}, baseLightTheme, {
44
+ colors: _extends({}, baseLightTheme.colors, {
45
+ navigation: navigation,
46
+ datePicker: datePicker
47
+ })
48
+ });
15
49
 
16
50
  export default lightTheme;
@@ -1 +1,2 @@
1
- import { breakpoints, typography, fontWeights, radii, borders, borderWidths, shadows, space, easing, duration } from "../themes/light/theme";
1
+ import { breakpoints, typography, fontWeights, radii, borders, borderWidths, shadows, space, easing, duration } from "../themes/light/theme";
2
+ import { datePicker, navigation } from "../themes/extendedThemes/sproutTheme/light/theme";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "11.6.1-theme-type.0",
3
+ "version": "11.6.2",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "__flow__",
@@ -66,7 +66,6 @@
66
66
  "dependencies": {
67
67
  "@styled-system/theme-get": "^5.1.2",
68
68
  "classnames": "^2.2.6",
69
- "just-clone": "^5.0.1",
70
69
  "lodash.curry": "^4.1.1",
71
70
  "lodash.uniqueid": "^4.0.1",
72
71
  "lru-memoize": "^1.1.0",
@@ -167,7 +166,7 @@
167
166
  "svgo": "^1.3.0",
168
167
  "svgstore": "^2.0.3",
169
168
  "webpack": "^4.20.0",
170
- "webpack-dev-server": "^3.11.0"
169
+ "webpack-dev-server": "^4.9.0"
171
170
  },
172
171
  "peerDependencies": {
173
172
  "@sproutsocial/seeds-border": ">=0.3.0",
@@ -1,17 +0,0 @@
1
- // @flow strict-local
2
- import type {
3
- TypeNonColorThemeValues,
4
- TypeTheme,
5
- } from "../../../../types/theme.flow.js";
6
-
7
- export function getNonColorThemeValues(
8
- theme: TypeTheme
9
- ): TypeNonColorThemeValues {
10
- const { colors, ...otherThemeValues } = theme;
11
- return {
12
- ...otherThemeValues,
13
- /**
14
- * You can add your own theme values or overrides here.
15
- */
16
- };
17
- }
@@ -1,36 +0,0 @@
1
- // @flow strict-local
2
- import type { TypeColors } from "../../../../types/theme.colors.flow.js";
3
-
4
- export function getDarkThemeColors(themeColors: TypeColors) {
5
- return {
6
- ...themeColors,
7
- navigation: {
8
- main: {
9
- background: {
10
- base: themeColors.neutral[1000],
11
- gradient: themeColors.neutral[1100],
12
- },
13
- },
14
- secondary: {
15
- background: {
16
- base: themeColors.neutral[900],
17
- },
18
- },
19
- text: {
20
- base: themeColors.neutral[0],
21
- hover: themeColors.neutral[0],
22
- },
23
- icon: {
24
- base: themeColors.neutral[0],
25
- hover: themeColors.neutral[0],
26
- },
27
- listItem: {
28
- background: {
29
- base: themeColors.neutral[1000],
30
- hover: themeColors.neutral[1100],
31
- active: themeColors.neutral[700],
32
- },
33
- },
34
- },
35
- };
36
- }
@@ -1,36 +0,0 @@
1
- // @flow strict-local
2
- import type { TypeColors } from "../../../../types/theme.colors.flow.js";
3
-
4
- export function getLightThemeColors(themeColors: TypeColors) {
5
- return {
6
- ...themeColors,
7
- navigation: {
8
- main: {
9
- background: {
10
- base: themeColors.neutral[900],
11
- overflowGradient: themeColors.neutral[1000],
12
- },
13
- },
14
- secondary: {
15
- background: {
16
- base: themeColors.neutral[800],
17
- },
18
- },
19
- text: {
20
- base: themeColors.neutral[0],
21
- hover: themeColors.neutral[0],
22
- },
23
- icon: {
24
- base: themeColors.neutral[0],
25
- hover: themeColors.neutral[0],
26
- },
27
- listItem: {
28
- background: {
29
- base: themeColors.neutral[800],
30
- hover: themeColors.neutral[1000],
31
- selected: themeColors.neutral[700],
32
- },
33
- },
34
- },
35
- };
36
- }
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.getNonColorThemeValues = getNonColorThemeValues;
5
- var _excluded = ["colors"];
6
-
7
- 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); }
8
-
9
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
-
11
- function getNonColorThemeValues(theme) {
12
- var colors = theme.colors,
13
- otherThemeValues = _objectWithoutPropertiesLoose(theme, _excluded);
14
-
15
- return _extends({}, otherThemeValues);
16
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.getDarkThemeColors = getDarkThemeColors;
5
-
6
- 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); }
7
-
8
- function getDarkThemeColors(themeColors) {
9
- return _extends({}, themeColors, {
10
- navigation: {
11
- main: {
12
- background: {
13
- base: themeColors.neutral[1000],
14
- gradient: themeColors.neutral[1100]
15
- }
16
- },
17
- secondary: {
18
- background: {
19
- base: themeColors.neutral[900]
20
- }
21
- },
22
- text: {
23
- base: themeColors.neutral[0],
24
- hover: themeColors.neutral[0]
25
- },
26
- icon: {
27
- base: themeColors.neutral[0],
28
- hover: themeColors.neutral[0]
29
- },
30
- listItem: {
31
- background: {
32
- base: themeColors.neutral[1000],
33
- hover: themeColors.neutral[1100],
34
- active: themeColors.neutral[700]
35
- }
36
- }
37
- }
38
- });
39
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.getLightThemeColors = getLightThemeColors;
5
-
6
- 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); }
7
-
8
- function getLightThemeColors(themeColors) {
9
- return _extends({}, themeColors, {
10
- navigation: {
11
- main: {
12
- background: {
13
- base: themeColors.neutral[900],
14
- overflowGradient: themeColors.neutral[1000]
15
- }
16
- },
17
- secondary: {
18
- background: {
19
- base: themeColors.neutral[800]
20
- }
21
- },
22
- text: {
23
- base: themeColors.neutral[0],
24
- hover: themeColors.neutral[0]
25
- },
26
- icon: {
27
- base: themeColors.neutral[0],
28
- hover: themeColors.neutral[0]
29
- },
30
- listItem: {
31
- background: {
32
- base: themeColors.neutral[800],
33
- hover: themeColors.neutral[1000],
34
- selected: themeColors.neutral[700]
35
- }
36
- }
37
- }
38
- });
39
- }
@@ -1,12 +0,0 @@
1
- var _excluded = ["colors"];
2
-
3
- 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); }
4
-
5
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
-
7
- export function getNonColorThemeValues(theme) {
8
- var colors = theme.colors,
9
- otherThemeValues = _objectWithoutPropertiesLoose(theme, _excluded);
10
-
11
- return _extends({}, otherThemeValues);
12
- }
@@ -1,34 +0,0 @@
1
- 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); }
2
-
3
- export function getDarkThemeColors(themeColors) {
4
- return _extends({}, themeColors, {
5
- navigation: {
6
- main: {
7
- background: {
8
- base: themeColors.neutral[1000],
9
- gradient: themeColors.neutral[1100]
10
- }
11
- },
12
- secondary: {
13
- background: {
14
- base: themeColors.neutral[900]
15
- }
16
- },
17
- text: {
18
- base: themeColors.neutral[0],
19
- hover: themeColors.neutral[0]
20
- },
21
- icon: {
22
- base: themeColors.neutral[0],
23
- hover: themeColors.neutral[0]
24
- },
25
- listItem: {
26
- background: {
27
- base: themeColors.neutral[1000],
28
- hover: themeColors.neutral[1100],
29
- active: themeColors.neutral[700]
30
- }
31
- }
32
- }
33
- });
34
- }
@@ -1,34 +0,0 @@
1
- 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); }
2
-
3
- export function getLightThemeColors(themeColors) {
4
- return _extends({}, themeColors, {
5
- navigation: {
6
- main: {
7
- background: {
8
- base: themeColors.neutral[900],
9
- overflowGradient: themeColors.neutral[1000]
10
- }
11
- },
12
- secondary: {
13
- background: {
14
- base: themeColors.neutral[800]
15
- }
16
- },
17
- text: {
18
- base: themeColors.neutral[0],
19
- hover: themeColors.neutral[0]
20
- },
21
- icon: {
22
- base: themeColors.neutral[0],
23
- hover: themeColors.neutral[0]
24
- },
25
- listItem: {
26
- background: {
27
- base: themeColors.neutral[800],
28
- hover: themeColors.neutral[1000],
29
- selected: themeColors.neutral[700]
30
- }
31
- }
32
- }
33
- });
34
- }