@sproutsocial/racine 11.2.1 → 11.2.3-dependencies.1

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,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 9cc377e: Created extended theme directory
8
+
3
9
  ## 11.2.1
4
10
 
5
11
  ### Patch Changes
@@ -14,9 +14,4 @@ describe("Avatar", () => {
14
14
  const { container } = render(<Avatar name="Test User" />);
15
15
  expect(container.textContent).toEqual("TU");
16
16
  });
17
-
18
- it("should set the correct font size", () => {
19
- const { getByText } = render(<Avatar name="Test User" />);
20
- expect(getByText("TU")).toHaveStyleRule("font-size", "16px");
21
- });
22
17
  });
@@ -1,5 +1,4 @@
1
1
  import React from "react";
2
- import { boolean, text, number } from "@storybook/addon-knobs";
3
2
  import Button from "./index";
4
3
  import Icon from "../Icon";
5
4
  import Box from "../Box";
@@ -8,155 +7,140 @@ export default {
8
7
  title: "Button",
9
8
  };
10
9
 
11
- export const defaultStory = () => (
12
- <Button
13
- appearance={text("appearance", "default")}
14
- onClick={() => alert("Testing...")}
15
- >
10
+ export const defaultStory = (args) => (
11
+ <Button {...args} onClick={() => alert("Testing...")}>
16
12
  Default
17
13
  </Button>
18
14
  );
19
15
 
16
+ defaultStory.args = { appearance: "default" };
17
+
20
18
  defaultStory.story = {
21
19
  name: "Default",
22
20
  };
23
21
 
24
- export const primary = () => (
25
- <Button
26
- appearance={text("appearance", "primary")}
27
- onClick={() => alert("Testing...")}
28
- >
22
+ export const primary = (args) => (
23
+ <Button {...args} onClick={() => alert("Testing...")}>
29
24
  Primary Button
30
25
  </Button>
31
26
  );
32
27
 
28
+ primary.args = { appearance: "primary" };
29
+
33
30
  primary.story = {
34
31
  name: "Primary",
35
32
  };
36
33
 
37
- export const secondary = () => (
38
- <Button appearance={text("appearance", "secondary")}>Secondary Button</Button>
39
- );
34
+ export const secondary = (args) => <Button {...args}>Secondary Button</Button>;
35
+
36
+ secondary.args = { appearance: "secondary" };
40
37
 
41
38
  secondary.story = {
42
39
  name: "Secondary",
43
40
  };
44
41
 
45
- export const destructive = () => (
46
- <Button appearance={text("appearance", "destructive")}>
47
- Destructive Button
48
- </Button>
42
+ export const destructive = (args) => (
43
+ <Button {...args}>Destructive Button</Button>
49
44
  );
50
45
 
46
+ destructive.args = { appearance: "destructive" };
51
47
  destructive.story = {
52
48
  name: "Destructive",
53
49
  };
54
50
 
55
- export const placeholder = () => (
56
- <Button appearance={text("appearance", "placeholder")}>
57
- Placeholder Button
58
- </Button>
51
+ export const placeholder = (args) => (
52
+ <Button {...args}>Placeholder Button</Button>
59
53
  );
60
54
 
55
+ placeholder.args = { appearance: "placeholder" };
61
56
  placeholder.story = {
62
57
  name: "Placeholder",
63
58
  };
64
59
 
65
- export const largeButton = () => (
66
- <Button
67
- appearance={text("appearance", "primary")}
68
- size={text("size", "large")}
69
- >
70
- Large Button
71
- </Button>
72
- );
60
+ export const largeButton = (args) => <Button {...args}>Large Button</Button>;
61
+ largeButton.args = { size: "large", appearance: "primary" };
73
62
 
74
63
  largeButton.story = {
75
64
  name: "Large button",
76
65
  };
77
66
 
78
- export const pillButton = () => (
67
+ export const pillButton = (args) => (
79
68
  <Box bg="container.background.base" p={400}>
80
- <Button appearance={text("shape", "pill")}>
69
+ <Button {...args}>
81
70
  <Icon name="reply" mr={350} />
82
71
  Pill Button
83
72
  </Button>
84
73
  </Box>
85
74
  );
86
-
75
+ pillButton.args = { appearance: "pill" };
87
76
  pillButton.story = {
88
77
  name: "Pill button",
89
78
  };
90
79
 
91
- export const pillIconOnlyButton = () => (
80
+ export const pillIconOnlyButton = (args) => (
92
81
  <Box bg="container.background.base" p={400}>
93
- <Button appearance={text("shape", "pill")} ariaLabel="This is a label">
82
+ <Button {...args} ariaLabel="This is a label">
94
83
  <Icon name="circle-check-outline" />
95
84
  </Button>
96
85
  </Box>
97
86
  );
98
87
 
88
+ pillIconOnlyButton.args = { appearance: "pill" };
99
89
  pillIconOnlyButton.story = {
100
90
  name: "Pill icon only button",
101
91
  };
102
92
 
103
- export const activeButton = () => (
104
- <Button
105
- appearance={text("appearance", "secondary")}
106
- active={boolean("active", true)}
107
- >
108
- Active Button
109
- </Button>
110
- );
93
+ export const activeButton = (args) => <Button {...args}>Active Button</Button>;
111
94
 
95
+ activeButton.args = { appearance: "secondary", active: true };
112
96
  activeButton.story = {
113
97
  name: "Active button",
114
98
  };
115
99
 
116
- export const buttonAsALink = () => (
117
- <Button
118
- href={text("href", "http://sproutsocial.style")}
119
- external={boolean("external", true)}
120
- appearance={text("appearance", "primary")}
121
- >
122
- Button using anchor element
123
- </Button>
100
+ export const buttonAsALink = (args) => (
101
+ <Button {...args}>Button using anchor element</Button>
124
102
  );
125
-
103
+ buttonAsALink.args = {
104
+ appearance: "primary",
105
+ external: true,
106
+ href: "http://sproutsocial.style",
107
+ };
126
108
  buttonAsALink.story = {
127
109
  name: "Button as a link",
128
110
  };
129
111
 
130
- export const disabledButton = () => (
131
- <Button
132
- appearance={text("appearance", "primary")}
133
- disabled={text("disabled", "true")}
134
- >
135
- This Button is disabled
136
- </Button>
112
+ export const disabledButton = (args) => (
113
+ <Button {...args}>This Button is disabled</Button>
137
114
  );
138
-
115
+ disabledButton.args = {
116
+ appearance: "primary",
117
+ disabled: true,
118
+ };
139
119
  disabledButton.story = {
140
120
  name: "Disabled button",
141
121
  };
142
122
 
143
- export const fullWidthButton = () => (
144
- <Button appearance={text("appearance", "primary")} width={number("width", 1)}>
145
- Full-Width Button
146
- </Button>
123
+ export const fullWidthButton = (args) => (
124
+ <Button {...args}>Full-Width Button</Button>
147
125
  );
148
-
126
+ fullWidthButton.args = {
127
+ appearance: "primary",
128
+ width: 1,
129
+ };
149
130
  fullWidthButton.story = {
150
131
  name: "Full width button",
151
132
  };
152
133
 
153
- export const withIcon = () => (
154
- <Button appearance={text("appearance", "secondary")}>
134
+ export const withIcon = (args) => (
135
+ <Button {...args}>
155
136
  <Icon name="twitter" mr={350} />
156
137
  Secondary Button
157
138
  </Button>
158
139
  );
159
140
 
141
+ withIcon.args = {
142
+ appearance: "secondary",
143
+ };
160
144
  withIcon.story = {
161
145
  name: "With icon",
162
146
  };
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import { render } from "../utils/react-testing-library";
3
3
  import "jest-styled-components";
4
4
  import CharacterCounter from "./";
5
- import { COLOR_RED_800 } from "@sproutsocial/seeds-color";
6
5
 
7
6
  describe.only("CharacterCounter", () => {
8
7
  it("should render properly", () => {
@@ -13,11 +12,4 @@ describe.only("CharacterCounter", () => {
13
12
 
14
13
  expect(getByText(remainingNumber.toString())).toBeTruthy();
15
14
  });
16
-
17
- it("should render properly with overlimit values", () => {
18
- const { getByText } = render(
19
- <CharacterCounter currentValue={2} maxValue={1} />
20
- );
21
- expect(getByText("-1")).toHaveStyleRule("color", COLOR_RED_800);
22
- });
23
15
  });
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import { render } from "../utils/react-testing-library";
3
3
  import "jest-styled-components";
4
4
  import ChartLegend from "./";
5
- import { CONTRAST_THEME, COMPARE_THEME } from "../utils/chartColors";
6
5
 
7
6
  describe("ChartLegend", () => {
8
7
  let legendLabelsArray = [{ name: "Label One" }, { name: "Label Two" }];
@@ -15,40 +14,4 @@ describe("ChartLegend", () => {
15
14
  expect(getByText("Label One")).toBeTruthy();
16
15
  expect(getByText("Label Two")).toBeTruthy();
17
16
  });
18
-
19
- it("should render the correct theme", () => {
20
- const { getAllByDataQaLabel } = render(
21
- <ChartLegend legendLabels={legendLabelsArray} theme="contrast" />
22
- );
23
-
24
- expect(getAllByDataQaLabel({ swatch: "" })[0]).toHaveStyleRule(
25
- "background-color",
26
- CONTRAST_THEME[0]
27
- );
28
-
29
- expect(getAllByDataQaLabel({ swatch: "" })[1]).toHaveStyleRule(
30
- "background-color",
31
- CONTRAST_THEME[1]
32
- );
33
- });
34
-
35
- it("should display a custom color", () => {
36
- const newLegendLabelsArray = [
37
- { name: "Label One", color: "#000" },
38
- { name: "Label Two" },
39
- ];
40
- const { getAllByDataQaLabel } = render(
41
- <ChartLegend legendLabels={newLegendLabelsArray} />
42
- );
43
-
44
- expect(getAllByDataQaLabel({ swatch: "" })[0]).toHaveStyleRule(
45
- "background-color",
46
- "#000"
47
- );
48
-
49
- expect(getAllByDataQaLabel({ swatch: "" })[1]).toHaveStyleRule(
50
- "background-color",
51
- COMPARE_THEME[1]
52
- );
53
- });
54
17
  });
@@ -97,7 +97,6 @@ describe("EmptyState", () => {
97
97
  );
98
98
  const element = getByText("Reload Page");
99
99
  expect(element).toBeTruthy();
100
- expect(element).toHaveStyleRule("color", "#FFFFFF");
101
100
  });
102
101
 
103
102
  it("should render a secondary button", async () => {
@@ -105,7 +104,7 @@ describe("EmptyState", () => {
105
104
  <EmptyState
106
105
  media={
107
106
  <Image
108
- alt="No assets matching yoursearch or filters"
107
+ alt="No assets matching your search or filters"
109
108
  src="https://cl.ly/db498c7682df/download/analytics.svg"
110
109
  m={0}
111
110
  />
@@ -118,6 +117,5 @@ describe("EmptyState", () => {
118
117
  );
119
118
  const element = getByText("I'll do this later");
120
119
  expect(element).toBeTruthy();
121
- expect(element).toHaveStyleRule("color", "#515e5f");
122
120
  });
123
121
  });
@@ -2,7 +2,6 @@ import React from "react";
2
2
  import "jest-styled-components";
3
3
  import { render } from "../utils/react-testing-library";
4
4
  import Link from "./";
5
- import { TYPOGRAPHY_SIZE_600 } from "@sproutsocial/seeds-typography";
6
5
 
7
6
  describe("Racine Link", () => {
8
7
  it("should render in an anchor tag", () => {
@@ -83,10 +82,6 @@ describe("Racine Link", () => {
83
82
  );
84
83
 
85
84
  expect(getByText("Link as span").tagName).toEqual("SPAN");
86
- expect(getByText("Link as span")).toHaveStyleRule(
87
- "font-size",
88
- TYPOGRAPHY_SIZE_600.fontSize
89
- );
90
85
  });
91
86
 
92
87
  it("Has type attribute as button when rendered as a button element", () => {
@@ -99,9 +94,4 @@ describe("Racine Link", () => {
99
94
  expect(getByText("Link").type).toBeFalsy();
100
95
  expect(getByText("Link").type).not.toEqual("button");
101
96
  });
102
-
103
- it("Can render with an underline", () => {
104
- const { getByText } = render(<Link underline>Link</Link>);
105
- expect(getByText("Link")).toHaveStyleRule("text-decoration", "underline");
106
- });
107
97
  });
@@ -8,18 +8,4 @@ describe("Loader", () => {
8
8
  const { getByText } = render(<Loader />);
9
9
  expect(getByText("Loading")).toBeTruthy();
10
10
  });
11
-
12
- it("should render with small size class", () => {
13
- const { getByDataQaLabel } = render(<Loader size="small" />);
14
- expect(getByDataQaLabel({ loader: "" })).toHaveStyleRule("width", "20px");
15
- });
16
-
17
- it("should render with light theme", () => {
18
- const { getByDataQaLabel } = render(<Loader color="light" />);
19
- expect(getByDataQaLabel({ loader: "" })).toHaveStyleRule(
20
- "border-color",
21
- "rgba(255,255,255,0.3) rgba(255,255,255,0.3) rgba(255,255,255,0.7) rgba(255,255,255,0.7)",
22
- { modifier: ":after" }
23
- );
24
- });
25
11
  });
@@ -14,12 +14,12 @@ exports[`Menu AsMenuButton should match snapshot 1`] = `
14
14
  fill: currentColor;
15
15
  }
16
16
 
17
- _:-ms-fullscreen .c3,
17
+ _:-ms-fullscreen .c2,
18
18
  html .c3 {
19
19
  width: 16px;
20
20
  }
21
21
 
22
- .pdf-page .c3 {
22
+ .pdf-page .c2 {
23
23
  width: 16px;
24
24
  }
25
25
 
@@ -7,25 +7,6 @@ import { COLOR_PURPLE_300 } from "@sproutsocial/seeds-color";
7
7
  afterEach(() => cleanup());
8
8
 
9
9
  describe("Modal", () => {
10
- it("renders a custom background color", () => {
11
- // Use baseElement since it renders in a Portal
12
- const { baseElement } = render(
13
- <Modal
14
- isOpen={true}
15
- label="Label"
16
- bg={COLOR_PURPLE_300}
17
- onClose={() => {}}
18
- closeButtonLabel="Close this dialog"
19
- >
20
- ajdsfljasdlfjlasdjf
21
- </Modal>
22
- );
23
- expect(baseElement.querySelector(".ReactModal__Content")).toHaveStyleRule(
24
- "background-color",
25
- COLOR_PURPLE_300
26
- );
27
- });
28
-
29
10
  it("should close on overlay click and esc", () => {
30
11
  const onClose = jest.fn();
31
12
  const { baseElement, getByText, getByLabelText } = render(
@@ -4,49 +4,10 @@ import "jest-styled-components";
4
4
  import Text from "./";
5
5
 
6
6
  describe("Text", () => {
7
- it("does not set word break or truncated styles by default", () => {
8
- const { getByDataQaLabel } = render(<Text children="Default" />);
9
- const component = getByDataQaLabel({ text: "Default" });
10
- expect(component).not.toHaveStyleRule("word-break", "break-word");
11
- expect(component).not.toHaveStyleRule("text-overflow", "ellipsis");
12
- });
13
-
14
- it("sets word break styles when breakWord is true", () => {
15
- const { getByDataQaLabel } = render(
16
- <Text breakWord children="Word Break" />
17
- );
18
- const component = getByDataQaLabel({ text: "Word Break" });
19
- expect(component).toHaveStyleRule("word-break", "break-word");
20
- });
21
-
22
- it("sets truncated styles when truncated is true", () => {
23
- const { getByDataQaLabel } = render(
24
- <Text truncated children="Truncated" />
25
- );
26
- const component = getByDataQaLabel({ text: "Truncated" });
27
- expect(component).toHaveStyleRule("text-overflow", "ellipsis");
28
- });
29
-
30
- it("is italic when isItalicized is true", () => {
31
- const { getByDataQaLabel } = render(
32
- <Text isItalicized children="Italicized" />
33
- );
34
- const component = getByDataQaLabel({ text: "Italicized" });
35
- expect(component).toHaveStyleRule("font-style", "italic");
36
- });
37
-
38
7
  it("outputs the correct string/content", () => {
39
8
  const { getByText } = render(
40
9
  <Text children="Supercalifragilisticexpialidocious" />
41
10
  );
42
11
  expect(getByText("Supercalifragilisticexpialidocious")).toBeTruthy();
43
12
  });
44
-
45
- it("displays a custom size if using fontSize", () => {
46
- const { getByText } = render(
47
- <Text children="Custom sized text!" fontSize={1000} />
48
- );
49
- const component = getByText("Custom sized text!");
50
- expect(component).toHaveStyleRule("font-size", "76px");
51
- });
52
13
  });
@@ -0,0 +1,6 @@
1
+ ## Extended Theme Directory
2
+
3
+ This directory serves as a shared environment for all extended themes. Each unique theme should have its own folder and theme.js file.
4
+ `src/themes/extendedThemes/customTheme/theme.js`
5
+
6
+ Check out our documentation for [How to extend the theme](https://seeds.sproutsocial.com/components/theme#extending-the-theme) on Seeds.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "11.2.1",
3
+ "version": "11.2.3-dependencies.1",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "__flow__",
@@ -77,14 +77,14 @@
77
77
  "react-popper": "^1.3.3",
78
78
  "react-spring": "^8.0.25",
79
79
  "react-toastify": "^6.0.5",
80
- "react-virtualized": "9.18.5",
80
+ "react-virtualized": "9.22.3",
81
81
  "scroll-into-view-if-needed": "1.1.0",
82
82
  "styled-system": "^5.1.5",
83
83
  "use-measure": "^0.2.2"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@babel/cli": "^7.5.5",
87
- "@babel/core": "^7.4.5",
87
+ "@babel/core": "^7.12.9",
88
88
  "@babel/plugin-proposal-class-properties": "^7.4.4",
89
89
  "@babel/plugin-syntax-dynamic-import": "^7.0.0",
90
90
  "@babel/preset-env": "^7.8.0",
@@ -99,20 +99,22 @@
99
99
  "@sproutsocial/seeds-networkcolor": "^2.9.0",
100
100
  "@sproutsocial/seeds-space": "^0.4.7",
101
101
  "@sproutsocial/seeds-typography": "^3.0.1",
102
- "@storybook/addon-a11y": "^6.1.11",
103
- "@storybook/addon-actions": "^6.3.8",
104
- "@storybook/addon-knobs": "^6.1.11",
105
- "@storybook/addon-storysource": "^6.1.11",
106
- "@storybook/addon-viewport": "^6.1.11",
107
- "@storybook/addons": "^6.1.11",
102
+ "@storybook/addon-a11y": "^6.4.19",
103
+ "@storybook/addon-actions": "^6.4.19",
104
+ "@storybook/addon-controls": "^6.4.19",
105
+ "@storybook/addon-knobs": "^6.4.0",
106
+ "@storybook/addon-storysource": "^6.4.19",
107
+ "@storybook/addon-viewport": "^6.4.19",
108
+ "@storybook/addons": "^6.4.19",
108
109
  "@storybook/react": "^6.4.19",
109
- "@storybook/theming": "^6.1.11",
110
+ "@storybook/theming": "^6.4.19",
110
111
  "@testing-library/react": "^11.2.2",
111
112
  "@testing-library/user-event": "^13.0.0",
113
+ "axios": "^0.26.1",
112
114
  "babel-core": "^7.0.0-bridge",
113
115
  "babel-eslint": "10.1.0",
114
116
  "babel-jest": "26.1.0",
115
- "babel-loader": "8.0.6",
117
+ "babel-loader": "8.2.3",
116
118
  "babel-plugin-inline-import": "^3.0.0",
117
119
  "babel-plugin-polished": "^1.1.0",
118
120
  "babel-plugin-styled-components": "^1.10.0",
@@ -140,7 +142,7 @@
140
142
  "jest": "26.1.0",
141
143
  "jest-axe": "3.4.0",
142
144
  "jest-dom": "^3.5.0",
143
- "jest-styled-components": "7.0.0-beta.1",
145
+ "jest-styled-components": "7.0.8",
144
146
  "jscodeshift": "^0.6.4",
145
147
  "json-to-scss": "^1.6.2",
146
148
  "lint-staged": "^10.2.11",
@@ -148,15 +150,15 @@
148
150
  "npm-run-all": "^4.1.2",
149
151
  "outdent": "^0.7.0",
150
152
  "pify": "^4.0.1",
151
- "playroom": "^0.22.2",
153
+ "playroom": "^0.27.9",
152
154
  "prettier": "^2.0.5",
153
155
  "prop-types": "^15.6.1",
154
156
  "react": "16.12.0",
155
157
  "react-dates": "^21.8.0",
156
158
  "react-dom": "16.12.0",
157
159
  "rimraf": "^2.6.3",
158
- "storybook-dark-mode": "^1.0.7",
159
- "styled-components": "5.0.0-rc.2",
160
+ "storybook-dark-mode": "^1.0.9",
161
+ "styled-components": "5.3.3",
160
162
  "stylelint": "^13.8.0",
161
163
  "stylelint-config-recommended": "^2.2.0",
162
164
  "stylelint-config-styled-components": "^0.1.1",
@@ -181,6 +183,7 @@
181
183
  "styled-components": "^5.0.0-rc.2"
182
184
  },
183
185
  "resolutions": {
186
+ "**/eslint-import-resolver-node": "0.3.4",
184
187
  "lodash": "^4.17.21",
185
188
  "react-popper/create-react-context": "^0.3.0"
186
189
  },