@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.
- package/CHANGELOG.md +24 -0
- package/__flow__/Avatar/index.test.js +0 -5
- package/__flow__/Badge/index.test.js +0 -5
- package/__flow__/Button/index.stories.js +51 -67
- package/__flow__/Button/styles.js +1 -1
- package/__flow__/CharacterCounter/index.test.js +0 -8
- package/__flow__/ChartLegend/index.test.js +0 -37
- package/__flow__/Checkbox/styles.js +1 -1
- package/__flow__/EmptyState/index.test.js +1 -3
- package/__flow__/Link/index.test.js +0 -10
- package/__flow__/Listbox/__snapshots__/index.test.js.snap +13 -13
- package/__flow__/Loader/index.test.js +0 -14
- package/__flow__/Menu/__snapshots__/index.test.js.snap +5 -5
- package/__flow__/Modal/index.test.js +0 -19
- package/__flow__/Modal/styles.js +1 -3
- package/__flow__/Text/index.test.js +0 -39
- package/__flow__/themes/dark/{_themes.scss → _themed.scss} +4 -3
- package/__flow__/themes/dark/theme.js +24 -4
- package/__flow__/themes/light/{_themes.scss → _themed.scss} +12 -11
- package/__flow__/themes/light/theme.js +21 -1
- package/__flow__/themes/utils/interact.js +1 -1
- package/__flow__/types/theme.colors.flow.js +6 -0
- package/commonjs/Button/styles.js +1 -1
- package/commonjs/Checkbox/styles.js +1 -1
- package/commonjs/Modal/styles.js +1 -3
- package/commonjs/themes/dark/theme.js +24 -4
- package/commonjs/themes/light/theme.js +22 -3
- package/commonjs/themes/utils/interact.js +1 -1
- package/dist/themes/dark/{_themes.scss → _themed.scss} +4 -3
- package/dist/themes/dark/dark.scss +20 -3
- package/dist/themes/light/{_themes.scss → _themed.scss} +12 -11
- package/dist/themes/light/light.scss +20 -3
- package/lib/Button/styles.js +1 -1
- package/lib/Checkbox/styles.js +1 -1
- package/lib/Modal/styles.js +1 -2
- package/lib/themes/dark/theme.js +25 -7
- package/lib/themes/light/theme.js +21 -3
- package/lib/themes/utils/interact.js +1 -1
- 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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 your
|
|
107
|
+
alt="No assets matching your
|
|
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
|
-
|
|
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 .
|
|
22
|
+
_:-ms-fullscreen .c4,
|
|
24
23
|
html .c5 {
|
|
25
24
|
width: 16px;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
.pdf-page .
|
|
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
|
-
<
|
|
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 .
|
|
188
|
+
_:-ms-fullscreen .c5,
|
|
189
189
|
html .c6 {
|
|
190
190
|
width: 16px;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
.pdf-page .
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
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 .
|
|
286
|
+
_:-ms-fullscreen .c2,
|
|
288
287
|
html .c3 {
|
|
289
288
|
width: 16px;
|
|
290
289
|
}
|
|
291
290
|
|
|
292
|
-
.pdf-page .
|
|
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
|
-
<
|
|
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(
|
package/__flow__/Modal/styles.js
CHANGED
|
@@ -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
|
-
//
|
|
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
|
|
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;
|