@toptal/picasso-button 1.0.13-alpha-fx-5263-merge-feature-branch-d124b1f9a.10 → 1.0.13-alpha-fx-4593-migrate-tag-4f7c872c8.4
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/dist-package/src/Button/Button.d.ts.map +1 -1
- package/dist-package/src/Button/Button.js +47 -39
- package/dist-package/src/Button/Button.js.map +1 -1
- package/dist-package/src/Button/styles.d.ts +45 -19
- package/dist-package/src/Button/styles.d.ts.map +1 -1
- package/dist-package/src/Button/styles.js +178 -161
- package/dist-package/src/Button/styles.js.map +1 -1
- package/dist-package/src/ButtonAction/ButtonAction.d.ts.map +1 -1
- package/dist-package/src/ButtonAction/ButtonAction.js +28 -20
- package/dist-package/src/ButtonAction/ButtonAction.js.map +1 -1
- package/dist-package/src/ButtonAction/styles.d.ts +3 -11
- package/dist-package/src/ButtonAction/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonAction/styles.js +55 -36
- package/dist-package/src/ButtonAction/styles.js.map +1 -1
- package/dist-package/src/ButtonCircular/ButtonCircular.d.ts.map +1 -1
- package/dist-package/src/ButtonCircular/ButtonCircular.js +26 -12
- package/dist-package/src/ButtonCircular/ButtonCircular.js.map +1 -1
- package/dist-package/src/ButtonCircular/styles.d.ts +3 -15
- package/dist-package/src/ButtonCircular/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonCircular/styles.js +57 -92
- package/dist-package/src/ButtonCircular/styles.js.map +1 -1
- package/dist-package/src/ButtonCompound/index.d.ts +1 -1
- package/dist-package/src/ButtonControlLabel/ButtonControlLabel.d.ts.map +1 -1
- package/dist-package/src/ButtonControlLabel/ButtonControlLabel.js +13 -4
- package/dist-package/src/ButtonControlLabel/ButtonControlLabel.js.map +1 -1
- package/dist-package/src/ButtonControlLabel/styles.d.ts +2 -2
- package/dist-package/src/ButtonControlLabel/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonControlLabel/styles.js +25 -16
- package/dist-package/src/ButtonControlLabel/styles.js.map +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist-package/src/ButtonGroup/ButtonGroup.js +27 -5
- package/dist-package/src/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist-package/src/ButtonGroup/styles.d.ts +2 -1
- package/dist-package/src/ButtonGroup/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonGroup/styles.js +47 -20
- package/dist-package/src/ButtonGroup/styles.js.map +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.d.ts +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.d.ts.map +1 -1
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.js +12 -17
- package/dist-package/src/ButtonGroupItem/ButtonGroupItem.js.map +1 -1
- package/dist-package/src/ButtonGroupItem/styles.d.ts +3 -13
- package/dist-package/src/ButtonGroupItem/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonGroupItem/styles.js +17 -39
- package/dist-package/src/ButtonGroupItem/styles.js.map +1 -1
- package/dist-package/src/ButtonSplit/ButtonSplit.d.ts.map +1 -1
- package/dist-package/src/ButtonSplit/ButtonSplit.js +24 -28
- package/dist-package/src/ButtonSplit/ButtonSplit.js.map +1 -1
- package/dist-package/src/ButtonSplit/styles.d.ts +3 -9
- package/dist-package/src/ButtonSplit/styles.d.ts.map +1 -1
- package/dist-package/src/ButtonSplit/styles.js +50 -13
- package/dist-package/src/ButtonSplit/styles.js.map +1 -1
- package/package.json +15 -19
- package/src/Button/Button.tsx +100 -69
- package/src/Button/__snapshots__/test.tsx.snap +4 -8
- package/src/Button/styles.ts +221 -214
- package/src/Button/test.tsx +1 -3
- package/src/ButtonAction/ButtonAction.tsx +48 -36
- package/src/ButtonAction/styles.ts +57 -57
- package/src/ButtonCheckbox/__snapshots__/test.tsx.snap +3 -4
- package/src/ButtonCircular/ButtonCircular.tsx +37 -22
- package/src/ButtonCircular/styles.ts +75 -127
- package/src/ButtonControlLabel/ButtonControlLabel.tsx +16 -7
- package/src/ButtonControlLabel/styles.ts +26 -30
- package/src/ButtonGroup/ButtonGroup.tsx +44 -9
- package/src/ButtonGroup/__snapshots__/test.tsx.snap +7 -13
- package/src/ButtonGroup/styles.ts +63 -21
- package/src/ButtonGroupItem/ButtonGroupItem.tsx +15 -24
- package/src/ButtonGroupItem/styles.ts +28 -62
- package/src/ButtonRadio/__snapshots__/test.tsx.snap +3 -4
- package/src/ButtonSplit/ButtonSplit.tsx +42 -46
- package/src/ButtonSplit/__snapshots__/test.tsx.snap +9 -13
- package/src/ButtonSplit/styles.ts +56 -37
- package/dist-package/src/ButtonBase/ButtonBase.d.ts +0 -29
- package/dist-package/src/ButtonBase/ButtonBase.d.ts.map +0 -1
- package/dist-package/src/ButtonBase/ButtonBase.js +0 -78
- package/dist-package/src/ButtonBase/ButtonBase.js.map +0 -1
- package/dist-package/src/ButtonBase/index.d.ts +0 -5
- package/dist-package/src/ButtonBase/index.d.ts.map +0 -1
- package/dist-package/src/ButtonBase/index.js +0 -2
- package/dist-package/src/ButtonBase/index.js.map +0 -1
- package/dist-package/src/ButtonBase/styles.d.ts +0 -6
- package/dist-package/src/ButtonBase/styles.d.ts.map +0 -1
- package/dist-package/src/ButtonBase/styles.js +0 -29
- package/dist-package/src/ButtonBase/styles.js.map +0 -1
- package/src/ButtonBase/ButtonBase.tsx +0 -182
- package/src/ButtonBase/__snapshots__/test.tsx.snap +0 -262
- package/src/ButtonBase/index.ts +0 -5
- package/src/ButtonBase/styles.ts +0 -36
- package/src/ButtonBase/test.tsx +0 -212
package/src/ButtonBase/test.tsx
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { render, fireEvent } from '@toptal/picasso-test-utils'
|
|
3
|
-
import type { OmitInternalProps } from '@toptal/picasso-shared'
|
|
4
|
-
import { useTitleCase } from '@toptal/picasso-shared'
|
|
5
|
-
import { Link } from '@toptal/picasso-link'
|
|
6
|
-
import { toTitleCase } from '@toptal/picasso-utils'
|
|
7
|
-
|
|
8
|
-
import type { Props } from './ButtonBase'
|
|
9
|
-
import { ButtonBase } from './ButtonBase'
|
|
10
|
-
|
|
11
|
-
jest.mock('@toptal/picasso-shared', () => ({
|
|
12
|
-
__esModule: true,
|
|
13
|
-
...jest.requireActual('@toptal/picasso-shared'),
|
|
14
|
-
useTitleCase: jest.fn(value => value),
|
|
15
|
-
}))
|
|
16
|
-
|
|
17
|
-
jest.mock('@toptal/picasso-utils', () => ({
|
|
18
|
-
__esModule: true,
|
|
19
|
-
...jest.requireActual('@toptal/picasso-utils'),
|
|
20
|
-
noop: jest.fn(),
|
|
21
|
-
toTitleCase: jest.fn(value => `__TITLE_CASE__${value}`),
|
|
22
|
-
}))
|
|
23
|
-
|
|
24
|
-
const useTitleCaseMocked = useTitleCase as jest.Mocked<typeof useTitleCase>
|
|
25
|
-
const toTitleCaseMocked = toTitleCase as jest.Mocked<typeof toTitleCase>
|
|
26
|
-
|
|
27
|
-
const renderButton = (props: OmitInternalProps<Props>) => {
|
|
28
|
-
const { children, disabled, loading, onClick, titleCase, as, href, ...rest } =
|
|
29
|
-
props
|
|
30
|
-
|
|
31
|
-
return render(
|
|
32
|
-
<ButtonBase
|
|
33
|
-
disabled={disabled}
|
|
34
|
-
loading={loading}
|
|
35
|
-
onClick={onClick}
|
|
36
|
-
titleCase={titleCase}
|
|
37
|
-
as={as}
|
|
38
|
-
href={href}
|
|
39
|
-
{...rest}
|
|
40
|
-
>
|
|
41
|
-
{children}
|
|
42
|
-
</ButtonBase>,
|
|
43
|
-
undefined
|
|
44
|
-
)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
describe('ButtonBase', () => {
|
|
48
|
-
beforeEach(() => {
|
|
49
|
-
useTitleCaseMocked.mockReturnValue(false)
|
|
50
|
-
toTitleCaseMocked.mockImplementation(value => {
|
|
51
|
-
return `__TITLE_CASE__${value}`
|
|
52
|
-
})
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
afterEach(() => {
|
|
56
|
-
useTitleCaseMocked.mockRestore()
|
|
57
|
-
toTitleCaseMocked.mockRestore()
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
describe('when "as" prop is passed', () => {
|
|
61
|
-
describe('when "as" prop equals "a"', () => {
|
|
62
|
-
it('renders Button as a', () => {
|
|
63
|
-
const { container } = renderButton({
|
|
64
|
-
children: 'Click me!',
|
|
65
|
-
as: 'a',
|
|
66
|
-
href: '/',
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
expect(container).toMatchSnapshot()
|
|
70
|
-
})
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
describe('when "as" prop equals "Link" component', () => {
|
|
74
|
-
it('renders Button as a', () => {
|
|
75
|
-
const onClick = jest.fn()
|
|
76
|
-
const { container, getByText } = renderButton({
|
|
77
|
-
children: 'Click me!',
|
|
78
|
-
as: Link,
|
|
79
|
-
href: 'URL',
|
|
80
|
-
onClick,
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
expect(container).toMatchSnapshot()
|
|
84
|
-
|
|
85
|
-
fireEvent.click(getByText('Click me!'))
|
|
86
|
-
|
|
87
|
-
expect(onClick).toHaveBeenCalled()
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
describe('when "disabled" prop is true', () => {
|
|
91
|
-
it('renders Button as a and does not trigger onClick handler', () => {
|
|
92
|
-
const onClick = jest.fn()
|
|
93
|
-
const { container, getByText } = renderButton({
|
|
94
|
-
children: 'Click me!',
|
|
95
|
-
as: Link,
|
|
96
|
-
href: 'URL',
|
|
97
|
-
onClick,
|
|
98
|
-
disabled: true,
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
expect(container).toMatchSnapshot()
|
|
102
|
-
|
|
103
|
-
fireEvent.click(getByText('Click me!'))
|
|
104
|
-
|
|
105
|
-
expect(onClick).not.toHaveBeenCalled()
|
|
106
|
-
})
|
|
107
|
-
})
|
|
108
|
-
})
|
|
109
|
-
|
|
110
|
-
describe('when "as" prop does not equal "button"', () => {
|
|
111
|
-
describe('when "href" prop is passed', () => {
|
|
112
|
-
it('renders Button as a link', () => {
|
|
113
|
-
const { container } = renderButton({
|
|
114
|
-
children: 'Click me!',
|
|
115
|
-
as: 'span',
|
|
116
|
-
href: '/',
|
|
117
|
-
})
|
|
118
|
-
|
|
119
|
-
expect(container).toMatchSnapshot()
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
|
|
123
|
-
describe('when "to" prop is passed', () => {
|
|
124
|
-
it('renders Button as a link', () => {
|
|
125
|
-
const { container } = renderButton({
|
|
126
|
-
children: 'Click me!',
|
|
127
|
-
as: 'span',
|
|
128
|
-
to: '/',
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
expect(container).toMatchSnapshot()
|
|
132
|
-
})
|
|
133
|
-
})
|
|
134
|
-
})
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
describe('when "role" prop is passed', () => {
|
|
138
|
-
it('renders Button with a custom role', () => {
|
|
139
|
-
const { container } = renderButton({
|
|
140
|
-
children: 'Click me!',
|
|
141
|
-
role: 'custom',
|
|
142
|
-
})
|
|
143
|
-
|
|
144
|
-
expect(container).toMatchSnapshot()
|
|
145
|
-
})
|
|
146
|
-
})
|
|
147
|
-
|
|
148
|
-
describe('when "disabled" prop is true', () => {
|
|
149
|
-
it('renders Button and does not trigger onClick handler', () => {
|
|
150
|
-
const onClick = jest.fn()
|
|
151
|
-
const { container, getByText } = renderButton({
|
|
152
|
-
children: 'Click me!',
|
|
153
|
-
onClick,
|
|
154
|
-
disabled: true,
|
|
155
|
-
})
|
|
156
|
-
|
|
157
|
-
expect(container).toMatchSnapshot()
|
|
158
|
-
|
|
159
|
-
fireEvent.click(getByText('Click me!'))
|
|
160
|
-
|
|
161
|
-
expect(onClick).not.toHaveBeenCalled()
|
|
162
|
-
})
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
describe('when "disabled" prop is false', () => {
|
|
166
|
-
it('renders Button and does not trigger onClick handler', () => {
|
|
167
|
-
const onClick = jest.fn()
|
|
168
|
-
const { container, getByText } = renderButton({
|
|
169
|
-
children: 'Click me!',
|
|
170
|
-
onClick,
|
|
171
|
-
disabled: false,
|
|
172
|
-
})
|
|
173
|
-
|
|
174
|
-
expect(container).toMatchSnapshot()
|
|
175
|
-
|
|
176
|
-
fireEvent.click(getByText('Click me!'))
|
|
177
|
-
|
|
178
|
-
expect(onClick).toHaveBeenCalledTimes(1)
|
|
179
|
-
})
|
|
180
|
-
})
|
|
181
|
-
|
|
182
|
-
describe('when "loading" prop is true', () => {
|
|
183
|
-
it('renders Button with loading state and does not trigger onClick handler', () => {
|
|
184
|
-
const onClick = jest.fn()
|
|
185
|
-
const { container, getByText } = renderButton({
|
|
186
|
-
children: 'Click me!',
|
|
187
|
-
onClick,
|
|
188
|
-
loading: true,
|
|
189
|
-
})
|
|
190
|
-
|
|
191
|
-
expect(container).toMatchSnapshot()
|
|
192
|
-
|
|
193
|
-
fireEvent.click(getByText('Click me!'))
|
|
194
|
-
|
|
195
|
-
expect(onClick).toHaveBeenCalledTimes(0)
|
|
196
|
-
})
|
|
197
|
-
})
|
|
198
|
-
|
|
199
|
-
describe('when "titleCase" prop is true', () => {
|
|
200
|
-
it('renders Button with transformed text to title case', () => {
|
|
201
|
-
useTitleCaseMocked.mockReturnValue(true)
|
|
202
|
-
const TEXT_CONTENT = 'Test bk9'
|
|
203
|
-
|
|
204
|
-
const { container } = renderButton({
|
|
205
|
-
children: TEXT_CONTENT,
|
|
206
|
-
titleCase: true,
|
|
207
|
-
})
|
|
208
|
-
|
|
209
|
-
expect(container).toMatchSnapshot()
|
|
210
|
-
})
|
|
211
|
-
})
|
|
212
|
-
})
|