@sproutsocial/racine 11.8.0 → 11.9.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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 6c3e703: Extend the sprout theme to add colors for trend arrows
8
+
9
+ ### Patch Changes
10
+
11
+ - 1c10a77: Fix args
12
+
3
13
  ## 11.8.0
4
14
 
5
15
  ### Minor Changes
@@ -1,114 +1,131 @@
1
1
  import React from "react";
2
- import { boolean } from "@storybook/addon-knobs";
3
2
  import { action } from "@storybook/addon-actions";
4
3
 
5
4
  import Checkbox from "./";
6
5
 
7
6
  export default {
8
7
  title: "Checkbox",
8
+ component: Checkbox,
9
9
  };
10
10
 
11
- export const Checked = () => <Checkbox checked={boolean("checked", true)} />;
12
- export const Unchecked = () => <Checkbox checked={boolean("checked", false)} />;
11
+ export const Checked = (args) => <Checkbox {...args} />;
13
12
 
14
- export const PillChecked = () => (
15
- <Checkbox appearance="pill" checked={boolean("checked", true)} />
16
- );
13
+ Checked.args = { checked: true };
14
+
15
+ export const Unchecked = (args) => <Checkbox {...args} />;
16
+
17
+ Unchecked.args = { checked: false };
18
+
19
+ export const PillChecked = (args) => <Checkbox {...args} />;
20
+
21
+ PillChecked.args = {
22
+ checked: true,
23
+ appearance: "pill",
24
+ };
17
25
 
18
26
  PillChecked.story = {
19
27
  name: "Pill/Checked",
20
28
  };
21
29
 
22
- export const PillUnchecked = () => (
23
- <Checkbox appearance="pill" checked={boolean("checked", false)} />
24
- );
30
+ export const PillUnchecked = (args) => <Checkbox {...args} />;
31
+
32
+ PillUnchecked.args = {
33
+ checked: false,
34
+ appearance: "pill",
35
+ };
25
36
 
26
37
  PillUnchecked.story = {
27
38
  name: "Pill/Unchecked",
28
39
  };
29
40
 
30
- export const DisabledChecked = () => (
31
- <Checkbox
32
- checked={boolean("checked", true)}
33
- disabled={boolean("disabled", true)}
34
- />
35
- );
41
+ export const DisabledChecked = (args) => <Checkbox {...args} />;
42
+
43
+ DisabledChecked.args = {
44
+ checked: true,
45
+ disabled: true,
46
+ };
36
47
 
37
48
  DisabledChecked.story = {
38
49
  name: "Disabled/Checked",
39
50
  };
40
51
 
41
- export const DisabledUnchecked = () => (
42
- <Checkbox
43
- checked={boolean("checked", false)}
44
- disabled={boolean("disabled", true)}
45
- />
46
- );
52
+ export const DisabledUnchecked = (args) => <Checkbox {...args} />;
53
+
54
+ DisabledUnchecked.args = {
55
+ checked: false,
56
+ disabled: true,
57
+ };
47
58
 
48
59
  DisabledUnchecked.story = {
49
60
  name: "Disabled/Unchecked",
50
61
  };
51
62
 
52
- export const IndeterminateChecked = () => (
53
- <Checkbox
54
- checked={boolean("checked", true)}
55
- indeterminate={boolean("indeterminate", true)}
56
- />
57
- );
63
+ export const IndeterminateChecked = (args) => <Checkbox {...args} />;
64
+
65
+ IndeterminateChecked.args = {
66
+ checked: true,
67
+ indeterminate: true,
68
+ };
58
69
 
59
70
  IndeterminateChecked.story = {
60
71
  name: "Indeterminate/Checked",
61
72
  };
62
73
 
63
- export const IndeterminateUnchecked = () => (
64
- <Checkbox
65
- checked={boolean("checked", false)}
66
- indeterminate={boolean("indeterminate", true)}
67
- />
68
- );
74
+ export const IndeterminateUnchecked = (args) => <Checkbox {...args} />;
75
+
76
+ IndeterminateUnchecked.args = {
77
+ checked: false,
78
+ indeterminate: true,
79
+ };
69
80
 
70
81
  IndeterminateUnchecked.story = {
71
82
  name: "Indeterminate/Unchecked",
72
83
  };
73
84
 
74
- export const LabelledChecked = () => (
75
- <Checkbox checked={boolean("checked", true)} label="Check Me" />
76
- );
85
+ export const LabelledChecked = (args) => <Checkbox {...args} />;
86
+
87
+ LabelledChecked.args = {
88
+ checked: true,
89
+ label: "Labelled checkbox",
90
+ };
77
91
 
78
92
  LabelledChecked.story = {
79
93
  name: "Labelled/Checked",
80
94
  };
81
95
 
82
- export const LabelledUnchecked = () => (
83
- <Checkbox checked={boolean("checked", false)} label="Check Me" />
84
- );
96
+ export const LabelledUnchecked = (args) => <Checkbox {...args} />;
97
+
98
+ LabelledUnchecked.args = {
99
+ checked: false,
100
+ label: "Labelled checkbox",
101
+ };
85
102
 
86
103
  LabelledUnchecked.story = {
87
104
  name: "Labelled/Unchecked",
88
105
  };
89
106
 
90
- export const LabelledDisabled = () => (
91
- <Checkbox
92
- checked={boolean("checked", true)}
93
- disabled={boolean("disabled", true)}
94
- label="Check Me"
95
- />
96
- );
107
+ export const LabelledDisabled = (args) => <Checkbox {...args} />;
108
+
109
+ LabelledDisabled.args = {
110
+ checked: true,
111
+ disabled: true,
112
+ label: "Labelled checkbox",
113
+ };
97
114
 
98
115
  LabelledDisabled.story = {
99
116
  name: "Labelled/Disabled",
100
117
  };
101
118
 
102
- export const InputPropsOnMouseOver = () => (
103
- <Checkbox
104
- checked={boolean("checked", true)}
105
- label="Check Me"
106
- inputProps={{
107
- onMouseOver: action("checkbox-mouseOver"),
108
- onClick: action("checkbox-click"),
109
- }}
110
- />
111
- );
119
+ export const InputPropsOnMouseOver = (args) => <Checkbox {...args} />;
120
+
121
+ InputPropsOnMouseOver.args = {
122
+ checked: true,
123
+ label: "Labelled checkbox",
124
+ inputProps: {
125
+ onMouseOver: action("checkbox-mouseOver"),
126
+ onClick: action("checkbox-click"),
127
+ },
128
+ };
112
129
 
113
130
  InputPropsOnMouseOver.story = {
114
131
  name: "InputProps/OnMouseOver",
@@ -1,6 +1,4 @@
1
1
  import React, { useState } from "react";
2
- import { text } from "@storybook/addon-knobs";
3
-
4
2
  import Icon from "./";
5
3
  import Button from "../Button";
6
4
  import Box from "../Box";
@@ -10,65 +8,72 @@ export default {
10
8
  title: "Icon",
11
9
  };
12
10
 
13
- export const mini12X12 = () => (
14
- <Icon
15
- color="icon.base"
16
- name={text("name", "dashboard")}
17
- size={text("size", "mini")}
18
- />
19
- );
11
+ export const mini12X12 = (args) => <Icon {...args} />;
12
+
13
+ mini12X12.args = {
14
+ color: "icon.base",
15
+ name: "dashboard",
16
+ size: "mini",
17
+ };
20
18
 
21
19
  mini12X12.story = {
22
20
  name: "Mini (12 x 12)",
23
21
  };
24
22
 
25
- export const default16X16 = () => (
26
- <Icon color="icon.base" name={text("name", "dashboard")} />
27
- );
23
+ export const default16X16 = (args) => <Icon {...args} />;
24
+
25
+ default16X16.args = {
26
+ color: "icon.base",
27
+ name: "dashboard",
28
+ };
28
29
 
29
30
  default16X16.story = {
30
31
  name: "Default (16 x 16)",
31
32
  };
32
33
 
33
- export const medium24X24 = () => (
34
- <Icon
35
- color="icon.base"
36
- name={text("name", "dashboard")}
37
- size={text("size", "medium")}
38
- />
39
- );
34
+ export const medium24X24 = (args) => <Icon {...args} />;
35
+
36
+ medium24X24.args = {
37
+ color: "icon.base",
38
+ name: "dashboard",
39
+ size: "medium",
40
+ };
40
41
 
41
42
  medium24X24.story = {
42
43
  name: "Medium (24 x 24)",
43
44
  };
44
45
 
45
- export const large32X32 = () => (
46
- <Icon
47
- color="icon.base"
48
- name={text("name", "dashboard")}
49
- size={text("size", "large")}
50
- />
51
- );
46
+ export const large32X32 = (args) => <Icon {...args} />;
47
+
48
+ large32X32.args = {
49
+ color: "icon.base",
50
+ name: "dashboard",
51
+ size: "large",
52
+ };
52
53
 
53
54
  large32X32.story = {
54
55
  name: "Large (32 x 32)",
55
56
  };
56
57
 
57
- export const jumbo64X64 = () => (
58
- <Icon
59
- color="icon.base"
60
- name={text("name", "dashboard")}
61
- size={text("size", "jumbo")}
62
- />
63
- );
58
+ export const jumbo64X64 = (args) => <Icon {...args} />;
59
+
60
+ jumbo64X64.args = {
61
+ color: "icon.base",
62
+ name: "dashboard",
63
+ size: "jumbo",
64
+ };
64
65
 
65
66
  jumbo64X64.story = {
66
67
  name: "Jumbo (64 x 64)",
67
68
  };
68
69
 
69
- export const defaultFixedWidth = () => (
70
- <Icon color="icon.success" name={text("name", "dashboard")} fixedWidth />
71
- );
70
+ export const defaultFixedWidth = (args) => <Icon {...args} />;
71
+
72
+ defaultFixedWidth.args = {
73
+ color: "icon.success",
74
+ name: "dashboard",
75
+ fixedWidth: true,
76
+ };
72
77
 
73
78
  defaultFixedWidth.story = {
74
79
  name: "Fixed Width (16 x 16)",
@@ -1,34 +1,38 @@
1
1
  import React from "react";
2
- import { boolean, text } from "@storybook/addon-knobs";
3
-
4
2
  import Loader from "./";
5
3
 
6
4
  export default {
7
5
  title: "Loader",
6
+ component: Loader,
8
7
  };
9
8
 
10
- export const defaultStory = () => (
11
- <Loader text={text("text", "Content loading")} />
12
- );
9
+ export const defaultStory = (args) => <Loader {...args} />;
10
+
11
+ defaultStory.args = {
12
+ text: "Content loading",
13
+ };
13
14
 
14
15
  defaultStory.story = {
15
16
  name: "Default",
16
17
  };
17
18
 
18
- export const small = () => (
19
- <Loader text={text("text", "Content loading")} size={text("size", "small")} />
20
- );
19
+ export const small = (args) => <Loader {...args} />;
20
+
21
+ small.args = {
22
+ text: "Content loading",
23
+ size: "small",
24
+ };
21
25
 
22
26
  small.story = {
23
27
  name: "Small",
24
28
  };
25
29
 
26
- export const noDelay = () => (
27
- <Loader
28
- text={text("text", "Content loading")}
29
- delay={boolean("delay", false)}
30
- />
31
- );
30
+ export const noDelay = (args) => <Loader {...args} />;
31
+
32
+ noDelay.args = {
33
+ text: "Content loading",
34
+ delay: false,
35
+ };
32
36
 
33
37
  noDelay.story = {
34
38
  name: "No delay",
@@ -1,9 +1,22 @@
1
1
  import React from "react";
2
- import { number, select } from "@storybook/addon-knobs";
3
2
  import Numeral from "./index";
4
3
 
5
- const localeOptions = {
6
- "": null,
4
+ const localeOptions = [
5
+ "United States (en-US)",
6
+ "English (en)",
7
+ "Arabic (ar-EG)",
8
+ "Brazil (pt-BR)",
9
+ "India (en-IN)",
10
+ "French (fr-FR)",
11
+ "Spain (es-ES)",
12
+ "Mexico (es-MX)",
13
+ "Germany (de-DE)",
14
+ "German (de)",
15
+ "Japan (ja-JP)",
16
+ "Japanese (ja)",
17
+ ];
18
+
19
+ const localeMapping = {
7
20
  "United States (en-US)": "en-US",
8
21
  "English (en)": "en",
9
22
  "Arabic (ar-EG)": "ar-EG",
@@ -18,8 +31,15 @@ const localeOptions = {
18
31
  "Japanese (ja)": "ja",
19
32
  };
20
33
 
21
- const currencyOptions = {
22
- "": null,
34
+ const currencyOptions = [
35
+ "Egyptian £",
36
+ "European €",
37
+ "Indian ₹",
38
+ "Japanese ¥",
39
+ "USA $",
40
+ ];
41
+
42
+ const currencyMapping = {
23
43
  "Egyptian £": "EGP",
24
44
  "European €": "EUR",
25
45
  "Indian ₹": "INR",
@@ -27,15 +47,24 @@ const currencyOptions = {
27
47
  "USA $": "USD",
28
48
  };
29
49
 
30
- const formatOptions = {
31
- "": null,
50
+ const formatOptions = ["decimal", "currency", "percent"];
51
+
52
+ const formatMapping = {
32
53
  decimal: "decimal",
33
54
  currency: "currency",
34
55
  percent: "percent",
35
56
  };
36
57
 
37
- const abbreviateOptions = {
38
- "": null,
58
+ const abbreviateOptions = [
59
+ "true",
60
+ "false",
61
+ " 500",
62
+ "1_000",
63
+ "10_000",
64
+ "100_000",
65
+ ];
66
+
67
+ const abbreviateMapping = {
39
68
  true: true,
40
69
  false: false,
41
70
  " 500": 500,
@@ -44,79 +73,109 @@ const abbreviateOptions = {
44
73
  "100_000": 100000,
45
74
  };
46
75
 
47
- const precisionOptions = {
48
- "": null,
49
- " 0": 0,
50
- " 1": 1,
51
- " 2": 2,
52
- " 3": 3,
53
- " 6": 6,
76
+ const precisionOptions = ["0", "1", "2", "3", "6", "none"];
77
+
78
+ const precisionMapping = {
79
+ "0": 0,
80
+ "1": 1,
81
+ "2": 2,
82
+ "3": 3,
83
+ "6": 6,
54
84
  none: "none",
55
85
  };
56
86
 
57
87
  export default {
58
88
  title: "Numeral",
89
+ component: Numeral,
90
+ argTypes: {
91
+ locale: {
92
+ control: "select",
93
+ options: localeOptions,
94
+ mapping: localeMapping,
95
+ },
96
+ format: {
97
+ control: "select",
98
+ options: formatOptions,
99
+ mapping: formatMapping,
100
+ },
101
+ currency: {
102
+ control: "select",
103
+ options: currencyOptions,
104
+ mapping: currencyMapping,
105
+ },
106
+ abbreviate: {
107
+ control: "select",
108
+ options: abbreviateOptions,
109
+ mapping: abbreviateMapping,
110
+ },
111
+ precision: {
112
+ control: "select",
113
+ options: precisionOptions,
114
+ mapping: precisionMapping,
115
+ },
116
+ },
117
+ args: {
118
+ color: "text.headline",
119
+ number: 12.89,
120
+ },
59
121
  };
60
122
 
61
- // We wrap the knobs select function to properly create undefined values
62
- const _select = (...args) => {
63
- const answer = select(...args);
64
-
65
- return answer === null ? undefined : answer;
66
- };
67
-
68
- export const defaultStory = () => (
69
- <Numeral
70
- number={number("Number", 12.89)}
71
- locale={_select("Locale", localeOptions)}
72
- format={_select("Format", formatOptions)}
73
- currency={_select("Currency", currencyOptions)}
74
- abbreviate={_select("Abbreviate", abbreviateOptions)}
75
- precision={_select("Precision", precisionOptions)}
76
- color="text.headline"
77
- />
78
- );
123
+ export const defaultStory = (args) => <Numeral {...args} />;
79
124
 
80
125
  defaultStory.story = {
81
126
  name: "Default",
82
127
  };
83
128
 
84
- export const total = () => (
85
- <Numeral
86
- number={100}
87
- fontWeight="semibold"
88
- fontSize={500}
89
- color="text.headline"
90
- />
91
- );
129
+ export const total = (args) => <Numeral {...args} />;
130
+
131
+ total.args = {
132
+ number: 100,
133
+ fontWeight: "semibold",
134
+ fontSize: 500,
135
+ };
92
136
 
93
137
  total.story = {
94
138
  name: "Total",
95
139
  };
96
140
 
97
- export const trend = () => <Numeral number={100} color="teal.500" />;
141
+ export const trend = (args) => <Numeral {...args} />;
142
+
143
+ trend.args = {
144
+ number: 100,
145
+ color: "teal.500",
146
+ };
98
147
 
99
148
  trend.story = {
100
149
  name: "Trend",
101
150
  };
102
151
 
103
- export const noPrecision = () => (
104
- <Numeral number={123.45678} precision="none" color="text.headline" />
105
- );
152
+ export const noPrecision = (args) => <Numeral {...args} />;
153
+
154
+ noPrecision.args = {
155
+ number: 123.45678,
156
+ precision: "none",
157
+ };
106
158
 
107
159
  noPrecision.story = {
108
160
  name: "No Precision",
109
161
  };
110
162
 
111
- export const currencyPrecision = () => (
112
- <Numeral number={123.4} format="currency" color="text.headline" />
113
- );
163
+ export const currencyPrecision = (args) => <Numeral {...args} />;
164
+
165
+ currencyPrecision.args = {
166
+ number: 123.4,
167
+ format: "currency",
168
+ };
114
169
 
115
170
  currencyPrecision.story = {
116
171
  name: "Currency precision",
117
172
  };
118
173
 
119
- export const invalid = () => <Numeral number={null} />;
174
+ export const invalid = (args) => <Numeral {...args} />;
175
+
176
+ invalid.args = {
177
+ number: null,
178
+ };
120
179
 
121
180
  invalid.story = {
122
181
  name: "Invalid",
@@ -1,58 +1,73 @@
1
1
  import React from "react";
2
- import { boolean } from "@storybook/addon-knobs";
3
-
4
2
  import Radio from "./";
5
3
 
6
4
  export default {
7
5
  title: "Radio",
6
+ component: Radio,
7
+ };
8
+
9
+ export const Unchecked = (args) => <Radio {...args} />;
10
+
11
+ Unchecked.args = {
12
+ checked: false,
8
13
  };
9
14
 
10
- export const Unchecked = () => <Radio checked={boolean("checked", false)} />;
15
+ export const Checked = (args) => <Radio {...args} />;
11
16
 
12
- export const Checked = () => <Radio checked={boolean("checked", true)} />;
17
+ Checked.args = {
18
+ checked: true,
19
+ };
20
+
21
+ export const DisabledUnchecked = (args) => <Radio {...args} />;
13
22
 
14
- export const DisabledUnchecked = () => (
15
- <Radio disabled={boolean("disabled", true)} />
16
- );
23
+ DisabledUnchecked.args = {
24
+ disabled: true,
25
+ };
17
26
 
18
27
  DisabledUnchecked.story = {
19
28
  name: "Disabled/Unchecked",
20
29
  };
21
30
 
22
- export const DisabledChecked = () => (
23
- <Radio
24
- checked={boolean("checked", true)}
25
- disabled={boolean("disabled", true)}
26
- />
27
- );
31
+ export const DisabledChecked = (args) => <Radio {...args} />;
32
+
33
+ DisabledChecked.args = {
34
+ checked: true,
35
+ disabled: true,
36
+ };
28
37
 
29
38
  DisabledChecked.story = {
30
39
  name: "Disabled/Checked",
31
40
  };
32
41
 
33
- export const LabelledChecked = () => (
34
- <Radio checked={boolean("checked", true)} label="Toggle Me" />
35
- );
42
+ export const LabelledChecked = (args) => <Radio {...args} />;
43
+
44
+ LabelledChecked.args = {
45
+ checked: true,
46
+ label: "Toggle Me",
47
+ };
36
48
 
37
49
  LabelledChecked.story = {
38
50
  name: "Labelled/Checked",
39
51
  };
40
52
 
41
- export const LabelledUnchecked = () => (
42
- <Radio checked={boolean("checked", false)} label="Toggle Me" />
43
- );
53
+ export const LabelledUnchecked = (args) => <Radio {...args} />;
54
+
55
+ LabelledUnchecked.args = {
56
+ checked: false,
57
+ label: "Toggle Me",
58
+ };
44
59
 
45
60
  LabelledUnchecked.story = {
46
61
  name: "Labelled/Unchecked",
47
62
  };
48
63
 
49
- export const LabelledDisabled = () => (
50
- <Radio
51
- checked={boolean("checked", true)}
52
- disabled={boolean("disabled", true)}
53
- label="Toggle Me"
54
- />
55
- );
64
+ export const LabelledDisabled = (args) => <Radio {...args} />;
65
+
66
+ LabelledDisabled.args = {
67
+ checked: false,
68
+ disabled: true,
69
+ label: "Toggle Me",
70
+ };
56
71
 
57
72
  LabelledDisabled.story = {
58
73
  name: "Labelled/Disabled",
@@ -1,33 +1,41 @@
1
1
  import React from "react";
2
- import { boolean } from "@storybook/addon-knobs";
3
-
4
2
  import Switch from "./";
5
3
 
6
4
  export default {
7
5
  title: "Switch",
6
+ component: Switch,
8
7
  };
9
8
 
10
- export const Off = () => <Switch checked={boolean("checked", false)} />;
11
- export const On = () => <Switch checked={boolean("checked", true)} />;
9
+ export const On = (args) => <Switch {...args} />;
12
10
 
13
- export const DisabledOff = () => (
14
- <Switch
15
- checked={boolean("checked", false)}
16
- disabled={boolean("disabled", true)}
17
- />
18
- );
11
+ On.args = {
12
+ checked: true,
13
+ };
19
14
 
20
- DisabledOff.story = {
21
- name: "Disabled/Off",
15
+ export const Off = (args) => <Switch {...args} />;
16
+
17
+ Off.args = {
18
+ checked: false,
22
19
  };
23
20
 
24
- export const DisabledOn = () => (
25
- <Switch
26
- checked={boolean("checked", true)}
27
- disabled={boolean("disabled", true)}
28
- />
29
- );
21
+ export const DisabledOn = (args) => <Switch {...args} />;
22
+
23
+ DisabledOn.args = {
24
+ checked: true,
25
+ disabled: true,
26
+ };
30
27
 
31
28
  DisabledOn.story = {
32
29
  name: "Disabled/On",
33
30
  };
31
+
32
+ export const DisabledOff = (args) => <Switch {...args} />;
33
+
34
+ DisabledOff.args = {
35
+ checked: false,
36
+ disabled: true,
37
+ };
38
+
39
+ DisabledOff.story = {
40
+ name: "Disabled/Off",
41
+ };
@@ -42,12 +42,21 @@ export const datePicker = {
42
42
  },
43
43
  };
44
44
 
45
+ export const analytics = {
46
+ trend: {
47
+ positive: baseDarkTheme.colors.teal[500],
48
+ neutral: baseDarkTheme.colors.neutral[100],
49
+ negative: baseDarkTheme.colors.neutral[100],
50
+ },
51
+ };
52
+
45
53
  const darkTheme: TypeSproutTheme = {
46
54
  ...baseDarkTheme,
47
55
  colors: {
48
56
  ...baseDarkTheme.colors,
49
57
  navigation,
50
58
  datePicker,
59
+ analytics,
51
60
  },
52
61
  };
53
62
 
@@ -42,12 +42,21 @@ export const datePicker = {
42
42
  },
43
43
  };
44
44
 
45
+ export const analytics = {
46
+ trend: {
47
+ positive: baseLightTheme.colors.teal[800],
48
+ neutral: baseLightTheme.colors.neutral[800],
49
+ negative: baseLightTheme.colors.neutral[800],
50
+ },
51
+ };
52
+
45
53
  const lightTheme: TypeSproutTheme = {
46
54
  ...baseLightTheme,
47
55
  colors: {
48
56
  ...baseLightTheme.colors,
49
57
  navigation,
50
58
  datePicker,
59
+ analytics,
51
60
  },
52
61
  };
53
62
 
@@ -16,6 +16,7 @@ import type { TypeFontFamilyString } from "../themes/light/theme";
16
16
  import {
17
17
  datePicker,
18
18
  navigation,
19
+ analytics,
19
20
  } from "../themes/extendedThemes/sproutTheme/light/theme";
20
21
 
21
22
  export type TypeThemeUtils = {| interact: (color: string) => string |};
@@ -57,5 +58,6 @@ export type TypeSproutTheme = {
57
58
  ...$Exact<TypeColor>,
58
59
  navigation: typeof navigation,
59
60
  datePicker: typeof datePicker,
61
+ analytics: typeof analytics,
60
62
  |},
61
63
  };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.navigation = exports.default = exports.datePicker = void 0;
4
+ exports.navigation = exports.default = exports.datePicker = exports.analytics = void 0;
5
5
 
6
6
  var _theme = _interopRequireDefault(require("../../../dark/theme"));
7
7
 
@@ -49,11 +49,20 @@ var datePicker = {
49
49
  }
50
50
  };
51
51
  exports.datePicker = datePicker;
52
+ var analytics = {
53
+ trend: {
54
+ positive: _theme.default.colors.teal[500],
55
+ neutral: _theme.default.colors.neutral[100],
56
+ negative: _theme.default.colors.neutral[100]
57
+ }
58
+ };
59
+ exports.analytics = analytics;
52
60
 
53
61
  var darkTheme = _extends({}, _theme.default, {
54
62
  colors: _extends({}, _theme.default.colors, {
55
63
  navigation: navigation,
56
- datePicker: datePicker
64
+ datePicker: datePicker,
65
+ analytics: analytics
57
66
  })
58
67
  });
59
68
 
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.navigation = exports.default = exports.datePicker = void 0;
4
+ exports.navigation = exports.default = exports.datePicker = exports.analytics = void 0;
5
5
 
6
6
  var _theme = _interopRequireDefault(require("../../../light/theme"));
7
7
 
@@ -49,11 +49,20 @@ var datePicker = {
49
49
  }
50
50
  };
51
51
  exports.datePicker = datePicker;
52
+ var analytics = {
53
+ trend: {
54
+ positive: _theme.default.colors.teal[800],
55
+ neutral: _theme.default.colors.neutral[800],
56
+ negative: _theme.default.colors.neutral[800]
57
+ }
58
+ };
59
+ exports.analytics = analytics;
52
60
 
53
61
  var lightTheme = _extends({}, _theme.default, {
54
62
  colors: _extends({}, _theme.default.colors, {
55
63
  navigation: navigation,
56
- datePicker: datePicker
64
+ datePicker: datePicker,
65
+ analytics: analytics
57
66
  })
58
67
  });
59
68
 
@@ -1,5 +1,12 @@
1
1
  $theme: (
2
2
  __esModule: true,
3
+ analytics: (
4
+ trend: (
5
+ positive: #08c4b2,
6
+ neutral: #f3f4f4,
7
+ negative: #f3f4f4
8
+ )
9
+ ),
3
10
  datePicker: (
4
11
  comparison: (
5
12
  background: (
@@ -478,6 +485,13 @@ $theme: (
478
485
  base: #364141
479
486
  )
480
487
  )
488
+ ),
489
+ analytics: (
490
+ trend: (
491
+ positive: #08c4b2,
492
+ neutral: #f3f4f4,
493
+ negative: #f3f4f4
494
+ )
481
495
  )
482
496
  ),
483
497
  typography: (
@@ -1,5 +1,12 @@
1
1
  $theme: (
2
2
  __esModule: true,
3
+ analytics: (
4
+ trend: (
5
+ positive: #067c7c,
6
+ neutral: #364141,
7
+ negative: #364141
8
+ )
9
+ ),
3
10
  datePicker: (
4
11
  comparison: (
5
12
  background: (
@@ -478,6 +485,13 @@ $theme: (
478
485
  base: #364141
479
486
  )
480
487
  )
488
+ ),
489
+ analytics: (
490
+ trend: (
491
+ positive: #067c7c,
492
+ neutral: #364141,
493
+ negative: #364141
494
+ )
481
495
  )
482
496
  ),
483
497
  typography: (
@@ -39,11 +39,19 @@ export var datePicker = {
39
39
  }
40
40
  }
41
41
  };
42
+ export var analytics = {
43
+ trend: {
44
+ positive: baseDarkTheme.colors.teal[500],
45
+ neutral: baseDarkTheme.colors.neutral[100],
46
+ negative: baseDarkTheme.colors.neutral[100]
47
+ }
48
+ };
42
49
 
43
50
  var darkTheme = _extends({}, baseDarkTheme, {
44
51
  colors: _extends({}, baseDarkTheme.colors, {
45
52
  navigation: navigation,
46
- datePicker: datePicker
53
+ datePicker: datePicker,
54
+ analytics: analytics
47
55
  })
48
56
  });
49
57
 
@@ -39,11 +39,19 @@ export var datePicker = {
39
39
  }
40
40
  }
41
41
  };
42
+ export var analytics = {
43
+ trend: {
44
+ positive: baseLightTheme.colors.teal[800],
45
+ neutral: baseLightTheme.colors.neutral[800],
46
+ negative: baseLightTheme.colors.neutral[800]
47
+ }
48
+ };
42
49
 
43
50
  var lightTheme = _extends({}, baseLightTheme, {
44
51
  colors: _extends({}, baseLightTheme.colors, {
45
52
  navigation: navigation,
46
- datePicker: datePicker
53
+ datePicker: datePicker,
54
+ analytics: analytics
47
55
  })
48
56
  });
49
57
 
@@ -1,2 +1,2 @@
1
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";
2
+ import { datePicker, navigation, analytics } from "../themes/extendedThemes/sproutTheme/light/theme";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "11.8.0",
3
+ "version": "11.9.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "__flow__",