Skip to content

Commit 7642d80

Browse files
authored
UIDS-163 updates Alert component, changes Flash into Toast component (#175)
updates Alert component, changes Flash into Toast component, general ui updates, and directory changes
1 parent f506a51 commit 7642d80

28 files changed

+755
-480
lines changed

scss/elevations.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
$ux-elevations-00: 0rem 0rem 0rem rgba(0, 0, 0, 0.1);
2+
$ux-elevations-01: 0rem 0.06rem 0.12rem rgba(0, 0, 0, 0.1);
3+
$ux-elevations-02: 0rem 0.13rem 0.3rem rgba(0, 0, 0, 0.1);
4+
$ux-elevations-03: 0rem 0.3rem 0.5rem rgba(0, 0, 0, 0.1);
5+
$ux-elevations-04: 0rem 0.4rem 0.8rem rgba(0, 0, 0, 0.1);
6+
$ux-elevations-05: 0rem 0.5rem 1rem rgba(0, 0, 0, 0.1);

scss/spacing.scss

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
$ux-spacing-01: 0.25rem;
2+
$ux-spacing-02: 0.5rem;
3+
$ux-spacing-03: 0.75rem;
4+
$ux-spacing-04: 1rem;
5+
$ux-spacing-05: 1.5rem;
6+
$ux-spacing-06: 2rem;
7+
$ux-spacing-07: 3rem;

scss/theme.scss

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22
@import './box_shadow';
33
@import './buttons';
44
@import './colors';
5+
@import './elevations';
56
@import './inputs';
67
@import './lists';
78
@import './navbar';
9+
@import './spacing';
810
@import './typography';
911
@import './z_stack';
12+

spec/Flash/Flash.test.jsx

Lines changed: 0 additions & 20 deletions
This file was deleted.

spec/Flash/__snapshots__/withFlash.test.jsx.snap

Lines changed: 0 additions & 19 deletions
This file was deleted.

spec/Flash/withFlash.test.jsx

Lines changed: 0 additions & 29 deletions
This file was deleted.

spec/Toast/Toast.test.jsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import React from 'react';
2+
import { create } from 'react-test-renderer';
3+
4+
import { Toast } from 'src/Toast';
5+
6+
describe('Toast', () => {
7+
test('no header classes', () => {
8+
const { props } = create(<Toast header messages={[]} />).toJSON();
9+
10+
expect(props.className).toContain('Toast');
11+
expect(props.className).not.toContain('Toast--no-header');
12+
});
13+
14+
test('header classes', () => {
15+
const { props } = create(<Toast header={false} messages={[]} />).toJSON();
16+
17+
expect(props.className).toContain('Toast');
18+
expect(props.className).toContain('Toast--no-header');
19+
});
20+
});
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`test withToast it can create a new Toast message 1`] = `
4+
Array [
5+
<div
6+
className="Alert Alert-success"
7+
>
8+
<div
9+
className="Alert__icon"
10+
>
11+
<svg
12+
aria-hidden="true"
13+
className="svg-inline--fa fa-check-circle fa-w-16 "
14+
data-icon="check-circle"
15+
data-prefix="fas"
16+
focusable="false"
17+
role="img"
18+
style={Object {}}
19+
viewBox="0 0 512 512"
20+
xmlns="http://www.w3.org/2000/svg"
21+
>
22+
<path
23+
d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"
24+
fill="currentColor"
25+
style={Object {}}
26+
/>
27+
</svg>
28+
</div>
29+
<div
30+
className="Alert__content"
31+
>
32+
This is just a test...
33+
</div>
34+
<div
35+
className="Alert__close"
36+
>
37+
<button
38+
className="close"
39+
onClick={[Function]}
40+
type="button"
41+
>
42+
×
43+
</button>
44+
</div>
45+
</div>,
46+
<div />,
47+
]
48+
`;
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { renderHook, act } from '@testing-library/react-hooks';
2-
import { MessageTypes, useFlash } from 'src/Flash';
2+
import { MessageTypes } from 'src/Alert';
3+
import { useToast } from 'src/Toast';
34

45
const GENERATED_UUID = '1234';
56

@@ -9,10 +10,10 @@ jest.mock('uuid', () => (
910
}
1011
));
1112

12-
describe('useFlash', () => {
13+
describe('useToast', () => {
1314
test('can set a new message', () => {
1415
const newMessage = 'I want to say something!';
15-
const { result } = renderHook(() => useFlash());
16+
const { result } = renderHook(() => useToast());
1617

1718
act(() => {
1819
result.current.setMessage(MessageTypes.SUCCESS, newMessage);
@@ -27,7 +28,7 @@ describe('useFlash', () => {
2728

2829
test('can dismiss an existing message', () => {
2930
const newMessage = 'I want to say something else!';
30-
const { result } = renderHook(() => useFlash());
31+
const { result } = renderHook(() => useToast());
3132

3233
act(() => {
3334
result.current.setMessage(MessageTypes.SUCCESS, newMessage);
@@ -48,7 +49,7 @@ describe('useFlash', () => {
4849

4950
test('can set two messages', () => {
5051
const newMessages = ['I want to say', 'so many things'];
51-
const { result } = renderHook(() => useFlash());
52+
const { result } = renderHook(() => useToast());
5253

5354
newMessages.forEach(
5455
(message) => {
@@ -76,7 +77,7 @@ describe('useFlash', () => {
7677
}),
7778
);
7879

79-
const { result } = renderHook(() => useFlash(messages));
80+
const { result } = renderHook(() => useToast(messages));
8081
expect(result.current.messages.length).toEqual(2);
8182

8283
act(() => {

spec/Toast/withToast.test.jsx

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import React from 'react';
2+
import { act } from '@testing-library/react-hooks';
3+
import { create } from 'react-test-renderer';
4+
5+
import { MessageTypes } from 'src/Alert';
6+
import { withToast } from 'src/Toast';
7+
8+
jest.mock('react-transition-group', () => (
9+
{
10+
CSSTransition: ({ children }) => children,
11+
TransitionGroup: ({ children }) => children,
12+
}
13+
));
14+
15+
const WrappedComponent = () => <div />;
16+
17+
describe('test withToast', () => {
18+
test('it can create a new Toast message', async () => {
19+
const newMessage = 'This is just a test...';
20+
const ComponentWithToast = withToast(WrappedComponent);
21+
const toast = create(<ComponentWithToast />);
22+
const component = toast.root.findByType(WrappedComponent);
23+
24+
act(() => {
25+
component.props.setToastMessage(MessageTypes.SUCCESS, newMessage);
26+
});
27+
28+
expect(toast).toMatchSnapshot();
29+
});
30+
});

0 commit comments

Comments
 (0)