@sproutsocial/racine 10.0.0-dar97-beta.1 → 10.0.1-dependencies.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 (39) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/__flow__/Avatar/index.test.js +0 -5
  3. package/__flow__/Badge/index.test.js +0 -5
  4. package/__flow__/Button/index.stories.js +51 -67
  5. package/__flow__/Button/styles.js +1 -1
  6. package/__flow__/CharacterCounter/index.test.js +0 -8
  7. package/__flow__/ChartLegend/index.test.js +0 -37
  8. package/__flow__/Checkbox/styles.js +1 -1
  9. package/__flow__/EmptyState/index.test.js +1 -3
  10. package/__flow__/Link/index.test.js +0 -10
  11. package/__flow__/Listbox/__snapshots__/index.test.js.snap +13 -13
  12. package/__flow__/Loader/index.test.js +0 -14
  13. package/__flow__/Menu/__snapshots__/index.test.js.snap +5 -5
  14. package/__flow__/Modal/index.test.js +0 -19
  15. package/__flow__/Modal/styles.js +1 -3
  16. package/__flow__/Text/index.test.js +0 -39
  17. package/__flow__/themes/dark/{_themes.scss → _themed.scss} +4 -3
  18. package/__flow__/themes/dark/theme.js +24 -4
  19. package/__flow__/themes/light/{_themes.scss → _themed.scss} +12 -11
  20. package/__flow__/themes/light/theme.js +21 -1
  21. package/__flow__/themes/utils/interact.js +1 -1
  22. package/__flow__/types/theme.colors.flow.js +6 -0
  23. package/commonjs/Button/styles.js +1 -1
  24. package/commonjs/Checkbox/styles.js +1 -1
  25. package/commonjs/Modal/styles.js +1 -3
  26. package/commonjs/themes/dark/theme.js +24 -4
  27. package/commonjs/themes/light/theme.js +22 -3
  28. package/commonjs/themes/utils/interact.js +1 -1
  29. package/dist/themes/dark/{_themes.scss → _themed.scss} +4 -3
  30. package/dist/themes/dark/dark.scss +20 -3
  31. package/dist/themes/light/{_themes.scss → _themed.scss} +12 -11
  32. package/dist/themes/light/light.scss +20 -3
  33. package/lib/Button/styles.js +1 -1
  34. package/lib/Checkbox/styles.js +1 -1
  35. package/lib/Modal/styles.js +1 -2
  36. package/lib/themes/dark/theme.js +25 -7
  37. package/lib/themes/light/theme.js +21 -3
  38. package/lib/themes/utils/interact.js +1 -1
  39. package/package.json +18 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Change Log
2
2
 
3
+ ## 10.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 98f063a: Make theme names consistent by removing references to "default-light" and "default-dark"
8
+ - We no longer refer to the "light" theme as "default-light" in the theme object.
9
+ - We no longer refer to the "dark" theme as "default-dark" in the theme object.
10
+ - 98f063a: Change "themed" SCSS mixin setup
11
+ - A parent theme classname of 'theme--light' or 'theme--dark' is no longer required to use the mixin.
12
+ - A separate mixin is offered per theme, instead of a single mixin for all themes.
13
+ - 98f063a: Rename "default" theme to "light"
14
+
15
+ ## 9.0.3
16
+
17
+ ### Patch Changes
18
+
19
+ - a9a06a6: Added aliases for sentiment colors
20
+
21
+ ## 9.0.2
22
+
23
+ ### Patch Changes
24
+
25
+ - 3215099: bug fix for mix blend mode
26
+
3
27
  ## 9.0.1
4
28
 
5
29
  ### 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
  });
@@ -10,11 +10,6 @@ describe("Racine Badge", () => {
10
10
  expect(getByDataQaLabel({ "badge-type": "primary" })).toBeTruthy();
11
11
  });
12
12
 
13
- it("should render with correct size styling", () => {
14
- const { getByText } = render(<Badge text="Test" size="small" />);
15
- expect(getByText("Test")).toHaveStyleRule("padding", "4px 8px");
16
- });
17
-
18
13
  it("should render with secondary type", () => {
19
14
  const { getByText, getByDataQaLabel } = render(
20
15
  <Badge text="Test" type="secondary" />
@@ -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
  };
@@ -87,7 +87,7 @@ const Container: StyledComponent<any, TypeTheme, *> = styled.button`
87
87
  align-items: center;
88
88
  justify-content: center;
89
89
  /* This solution is temporary. DS-1095 */
90
- mix-blend-mode: ${props.theme.mode ? "screen" : "multiply"};
90
+ mix-blend-mode: ${props.theme.mode === "dark" ? "screen" : "multiply"};
91
91
 
92
92
  ${pill}
93
93
  `}
@@ -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
  });
@@ -35,7 +35,7 @@ export const InputWrapper = styled<typeof Box, TypeTheme, any>(Box)`
35
35
  transition: all ${(props) => props.theme.duration.fast}
36
36
  ${(props) => props.theme.easing.ease_inout};
37
37
  /* This solution is temporary. DS-1095 */
38
- mix-blend-mode: ${props.theme.mode ? "screen" : "multiply"};
38
+ mix-blend-mode: ${props.theme.mode === "dark" ? "screen" : "multiply"};
39
39
  ${pill}
40
40
 
41
41
  &:hover {
@@ -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
  });
@@ -1,8 +1,7 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`Listbox AsListbox multiselect should match snapshot 1`] = `
4
- <body>
5
- .c5 {
4
+ .c5 {
6
5
  display: inline-block;
7
6
  color: inherit;
8
7
  vertical-align: middle;
@@ -20,12 +19,12 @@ exports[`Listbox AsListbox multiselect should match snapshot 1`] = `
20
19
  width: 16px;
21
20
  }
22
21
 
23
- _:-ms-fullscreen .c5,
22
+ _:-ms-fullscreen .c4,
24
23
  html .c5 {
25
24
  width: 16px;
26
25
  }
27
26
 
28
- .pdf-page .c5 {
27
+ .pdf-page .c4 {
29
28
  width: 16px;
30
29
  }
31
30
 
@@ -131,7 +130,8 @@ html .c5 {
131
130
  transform: none;
132
131
  }
133
132
 
134
- <div>
133
+ <body>
134
+ <div>
135
135
  <div
136
136
  class="c0"
137
137
  >
@@ -185,12 +185,12 @@ exports[`Listbox AsListbox should match snapshot 1`] = `
185
185
  fill: currentColor;
186
186
  }
187
187
 
188
- _:-ms-fullscreen .c6,
188
+ _:-ms-fullscreen .c5,
189
189
  html .c6 {
190
190
  width: 16px;
191
191
  }
192
192
 
193
- .pdf-page .c6 {
193
+ .pdf-page .c5 {
194
194
  width: 16px;
195
195
  }
196
196
 
@@ -375,8 +375,7 @@ html .c6 {
375
375
  `;
376
376
 
377
377
  exports[`Listbox AsListbox with checkboxes should match snapshot 1`] = `
378
- <body>
379
- .c0 {
378
+ .c0 {
380
379
  box-sizing: border-box;
381
380
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
382
381
  margin: 0px;
@@ -550,7 +549,8 @@ exports[`Listbox AsListbox with checkboxes should match snapshot 1`] = `
550
549
  }
551
550
  }
552
551
 
553
- <div>
552
+ <body>
553
+ <div>
554
554
  <ul
555
555
  aria-activedescendant="MenuItem-28"
556
556
  aria-multiselectable="true"
@@ -673,8 +673,7 @@ exports[`Listbox AsListbox with checkboxes should match snapshot 1`] = `
673
673
  `;
674
674
 
675
675
  exports[`Listbox AsListbox with filter input should match snapshot 1`] = `
676
- <body>
677
- .c0 {
676
+ .c0 {
678
677
  box-sizing: border-box;
679
678
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
680
679
  margin: 0px;
@@ -905,7 +904,8 @@ exports[`Listbox AsListbox with filter input should match snapshot 1`] = `
905
904
  }
906
905
  }
907
906
 
908
- <div>
907
+ <body>
908
+ <div>
909
909
  <ul
910
910
  aria-activedescendant="MenuItem-34"
911
911
  aria-multiselectable="true"
@@ -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
  });
@@ -270,8 +270,7 @@ exports[`Menu AsMenu should match snapshot 1`] = `
270
270
  `;
271
271
 
272
272
  exports[`Menu AsMenuButton should match snapshot 1`] = `
273
- <body>
274
- .c3 {
273
+ .c3 {
275
274
  display: inline-block;
276
275
  color: inherit;
277
276
  vertical-align: middle;
@@ -284,12 +283,12 @@ exports[`Menu AsMenuButton should match snapshot 1`] = `
284
283
  fill: currentColor;
285
284
  }
286
285
 
287
- _:-ms-fullscreen .c3,
286
+ _:-ms-fullscreen .c2,
288
287
  html .c3 {
289
288
  width: 16px;
290
289
  }
291
290
 
292
- .pdf-page .c3 {
291
+ .pdf-page .c2 {
293
292
  width: 16px;
294
293
  }
295
294
 
@@ -357,7 +356,8 @@ html .c3 {
357
356
  display: inline-block;
358
357
  }
359
358
 
360
- <div>
359
+ <body>
360
+ <div>
361
361
  <div
362
362
  class="c0"
363
363
  >
@@ -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(
@@ -6,7 +6,6 @@ import styled, {
6
6
  } from "styled-components";
7
7
  import { width, zIndex } from "styled-system";
8
8
  import ReactModal from "react-modal";
9
- import { transparentize } from "polished";
10
9
  import Box from "../Box";
11
10
  import { COMMON } from "../utils/system-props";
12
11
 
@@ -62,8 +61,7 @@ export const Container: StyledComponent<any, TypeTheme, *> = styled(ReactModalAd
62
61
  display: flex;
63
62
  align-items: center;
64
63
  justify-content: center;
65
- background-color: ${(props) =>
66
- transparentize(0.32, props.theme.colors.neutral[1000])};
64
+ background-color: ${(props) => props.theme.colors.overlay.background.base};
67
65
  opacity: 0;
68
66
  will-change: opacity;
69
67
  transition: opacity ${(props) => props.theme.duration.medium}
@@ -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
  });
@@ -2,15 +2,16 @@
2
2
  // This file is excluded from stylelint, because stylelint is only set up to lint styled-components at the moment.
3
3
 
4
4
  // SET-UP
5
- // These files are auto-generated based on JS theme files, ensuring our SCSS theme variables stay in sync.
5
+ // This file is auto-generated based on the JS theme file, ensuring our SCSS theme variables stay in sync.
6
6
  @import "../../../dist/themes/dark/dark.scss";
7
7
 
8
- // In the JS theme files, the theme object is exported as "default" (i.e., using "export default"),
8
+ // In the JS theme file, the theme object is exported as "default" (i.e., using "export default"),
9
9
  // so we need to map-get "default" to access it.
10
10
  $theme: map-get($dark, 'default');
11
11
 
12
12
  // MIXIN
13
- // CSS properties that are theme-dependent must be wrapped in this mixin
13
+ // CSS properties that are theme-dependent must be wrapped in this mixin.
14
+ // It will convert semantic tokens to the appropriate theme-dependent CSS property.
14
15
  @mixin themed() {
15
16
  & {
16
17
  $theme-map: () !global;