@toptal/picasso-form 6.1.9-alpha-bill-optimize-select-performance-381ce8200.1 → 6.2.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/dist-package/src/Form/Form.d.ts +1 -1
- package/dist-package/src/Form/Form.d.ts.map +1 -1
- package/dist-package/src/Form/Form.js +1 -1
- package/dist-package/src/Form/Form.js.map +1 -1
- package/dist-package/src/FormActionsContainer/FormActionsContainer.js +1 -1
- package/dist-package/src/FormActionsContainer/FormActionsContainer.js.map +1 -1
- package/dist-package/src/FormCompound/index.d.ts +1 -1
- package/dist-package/src/FormCompound/index.d.ts.map +1 -1
- package/dist-package/src/FormCompound/index.js +1 -1
- package/dist-package/src/FormCompound/index.js.map +1 -1
- package/dist-package/src/FormField/FormField.js +1 -1
- package/dist-package/src/FormField/FormField.js.map +1 -1
- package/dist-package/src/FormField/styles.d.ts +1 -1
- package/dist-package/src/FormField/styles.d.ts.map +1 -1
- package/dist-package/src/FormField/styles.js +1 -1
- package/dist-package/src/FormField/styles.js.map +1 -1
- package/dist-package/src/FormLevelError/FormLevelError.d.ts +9 -0
- package/dist-package/src/FormLevelError/FormLevelError.d.ts.map +1 -0
- package/dist-package/src/FormLevelError/FormLevelError.js +23 -0
- package/dist-package/src/FormLevelError/FormLevelError.js.map +1 -0
- package/dist-package/src/FormLevelError/index.d.ts +2 -0
- package/dist-package/src/FormLevelError/index.d.ts.map +1 -0
- package/dist-package/src/FormLevelError/index.js +2 -0
- package/dist-package/src/FormLevelError/index.js.map +1 -0
- package/dist-package/src/FormLevelWarning/FormLevelWarning.d.ts +9 -0
- package/dist-package/src/FormLevelWarning/FormLevelWarning.d.ts.map +1 -0
- package/dist-package/src/FormLevelWarning/FormLevelWarning.js +23 -0
- package/dist-package/src/FormLevelWarning/FormLevelWarning.js.map +1 -0
- package/dist-package/src/FormLevelWarning/index.d.ts +2 -0
- package/dist-package/src/FormLevelWarning/index.d.ts.map +1 -0
- package/dist-package/src/FormLevelWarning/index.js +2 -0
- package/dist-package/src/FormLevelWarning/index.js.map +1 -0
- package/dist-package/src/index.d.ts +4 -3
- package/dist-package/src/index.d.ts.map +1 -1
- package/dist-package/src/index.js +3 -3
- package/dist-package/src/index.js.map +1 -1
- package/package.json +15 -13
- package/src/Form/Form.tsx +2 -3
- package/src/Form/story/Error.example.tsx +50 -0
- package/src/Form/story/Warning.example.tsx +50 -0
- package/src/Form/story/index.jsx +18 -1
- package/src/FormActionsContainer/FormActionsContainer.tsx +1 -1
- package/src/FormCompound/index.ts +2 -1
- package/src/FormField/FormField.tsx +1 -1
- package/src/FormField/styles.ts +2 -3
- package/src/FormField/test.tsx +4 -4
- package/src/FormLevelError/FormLevelError.tsx +31 -0
- package/src/FormLevelError/index.ts +1 -0
- package/src/FormLevelWarning/FormLevelWarning.tsx +31 -0
- package/src/FormLevelWarning/index.ts +1 -0
- package/src/index.ts +14 -3
- package/LICENSE +0 -20
- package/dist-package/src/FieldsLayout/FieldsLayoutContext.d.ts +0 -20
- package/dist-package/src/FieldsLayout/FieldsLayoutContext.d.ts.map +0 -1
- package/dist-package/src/FieldsLayout/FieldsLayoutContext.js +0 -17
- package/dist-package/src/FieldsLayout/FieldsLayoutContext.js.map +0 -1
- package/dist-package/src/FieldsLayout/index.d.ts +0 -2
- package/dist-package/src/FieldsLayout/index.d.ts.map +0 -1
- package/dist-package/src/FieldsLayout/index.js +0 -2
- package/dist-package/src/FieldsLayout/index.js.map +0 -1
- package/dist-package/src/FormControlLabel/FormControlLabel.d.ts +0 -23
- package/dist-package/src/FormControlLabel/FormControlLabel.d.ts.map +0 -1
- package/dist-package/src/FormControlLabel/FormControlLabel.js +0 -26
- package/dist-package/src/FormControlLabel/FormControlLabel.js.map +0 -1
- package/dist-package/src/FormControlLabel/index.d.ts +0 -5
- package/dist-package/src/FormControlLabel/index.d.ts.map +0 -1
- package/dist-package/src/FormControlLabel/index.js +0 -2
- package/dist-package/src/FormControlLabel/index.js.map +0 -1
- package/dist-package/src/FormLabel/FormLabel.d.ts +0 -30
- package/dist-package/src/FormLabel/FormLabel.d.ts.map +0 -1
- package/dist-package/src/FormLabel/FormLabel.js +0 -37
- package/dist-package/src/FormLabel/FormLabel.js.map +0 -1
- package/dist-package/src/FormLabel/index.d.ts +0 -6
- package/dist-package/src/FormLabel/index.d.ts.map +0 -1
- package/dist-package/src/FormLabel/index.js +0 -2
- package/dist-package/src/FormLabel/index.js.map +0 -1
- package/dist-package/src/FormLabel/styles.d.ts +0 -12
- package/dist-package/src/FormLabel/styles.d.ts.map +0 -1
- package/dist-package/src/FormLabel/styles.js +0 -24
- package/dist-package/src/FormLabel/styles.js.map +0 -1
- package/src/FieldsLayout/FieldsLayoutContext.tsx +0 -53
- package/src/FieldsLayout/index.ts +0 -1
- package/src/FormControlLabel/FormControlLabel.tsx +0 -84
- package/src/FormControlLabel/index.ts +0 -6
- package/src/FormLabel/FormLabel.tsx +0 -106
- package/src/FormLabel/__snapshots__/test.tsx.snap +0 -146
- package/src/FormLabel/index.ts +0 -7
- package/src/FormLabel/story/index.jsx +0 -6
- package/src/FormLabel/styles.ts +0 -66
- package/src/FormLabel/test.tsx +0 -111
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`FormLabel disabled 1`] = `
|
|
4
|
-
<div>
|
|
5
|
-
<div
|
|
6
|
-
class="Picasso-root"
|
|
7
|
-
>
|
|
8
|
-
<form
|
|
9
|
-
class=""
|
|
10
|
-
>
|
|
11
|
-
<div
|
|
12
|
-
class="text-[1rem] [&+&]:mt-4"
|
|
13
|
-
data-field-has-error="false"
|
|
14
|
-
>
|
|
15
|
-
<label
|
|
16
|
-
class="block leading-[1em] mb-[0.5em] text-graphite"
|
|
17
|
-
>
|
|
18
|
-
<span
|
|
19
|
-
class="text-[0.875rem]"
|
|
20
|
-
>
|
|
21
|
-
Label
|
|
22
|
-
</span>
|
|
23
|
-
</label>
|
|
24
|
-
</div>
|
|
25
|
-
</form>
|
|
26
|
-
</div>
|
|
27
|
-
</div>
|
|
28
|
-
`;
|
|
29
|
-
|
|
30
|
-
exports[`FormLabel renders 1`] = `
|
|
31
|
-
<div>
|
|
32
|
-
<div
|
|
33
|
-
class="Picasso-root"
|
|
34
|
-
>
|
|
35
|
-
<form
|
|
36
|
-
class=""
|
|
37
|
-
>
|
|
38
|
-
<div
|
|
39
|
-
class="text-[1rem] [&+&]:mt-4"
|
|
40
|
-
data-field-has-error="false"
|
|
41
|
-
>
|
|
42
|
-
<label
|
|
43
|
-
class="block leading-[1em] mb-[0.5em] text-graphite"
|
|
44
|
-
>
|
|
45
|
-
<span
|
|
46
|
-
class="text-[0.875rem]"
|
|
47
|
-
>
|
|
48
|
-
Label
|
|
49
|
-
</span>
|
|
50
|
-
</label>
|
|
51
|
-
</div>
|
|
52
|
-
</form>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
`;
|
|
56
|
-
|
|
57
|
-
exports[`FormLabel required with (optional) 1`] = `
|
|
58
|
-
<div>
|
|
59
|
-
<div
|
|
60
|
-
class="Picasso-root"
|
|
61
|
-
>
|
|
62
|
-
<form
|
|
63
|
-
class=""
|
|
64
|
-
>
|
|
65
|
-
<div
|
|
66
|
-
class="text-[1rem] [&+&]:mt-4"
|
|
67
|
-
data-field-has-error="false"
|
|
68
|
-
>
|
|
69
|
-
<label
|
|
70
|
-
class="block leading-[1em] mb-[0.5em] text-graphite"
|
|
71
|
-
>
|
|
72
|
-
<span
|
|
73
|
-
class="text-[0.875rem]"
|
|
74
|
-
>
|
|
75
|
-
Label
|
|
76
|
-
(optional)
|
|
77
|
-
</span>
|
|
78
|
-
</label>
|
|
79
|
-
</div>
|
|
80
|
-
</form>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
`;
|
|
84
|
-
|
|
85
|
-
exports[`FormLabel required with (optional) and with \`labelEndAdornment\` 1`] = `
|
|
86
|
-
<div>
|
|
87
|
-
<div
|
|
88
|
-
class="Picasso-root"
|
|
89
|
-
>
|
|
90
|
-
<form
|
|
91
|
-
class=""
|
|
92
|
-
>
|
|
93
|
-
<div
|
|
94
|
-
class="text-[1rem] [&+&]:mt-4"
|
|
95
|
-
data-field-has-error="false"
|
|
96
|
-
>
|
|
97
|
-
<label
|
|
98
|
-
class="block leading-[1em] mb-[0.5em] text-graphite"
|
|
99
|
-
>
|
|
100
|
-
<span
|
|
101
|
-
class="text-[0.875rem]"
|
|
102
|
-
>
|
|
103
|
-
Label
|
|
104
|
-
(optional)
|
|
105
|
-
<span>
|
|
106
|
-
label end adornment
|
|
107
|
-
</span>
|
|
108
|
-
</span>
|
|
109
|
-
</label>
|
|
110
|
-
</div>
|
|
111
|
-
</form>
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
`;
|
|
115
|
-
|
|
116
|
-
exports[`FormLabel required with asterisk 1`] = `
|
|
117
|
-
<div>
|
|
118
|
-
<div
|
|
119
|
-
class="Picasso-root"
|
|
120
|
-
>
|
|
121
|
-
<form
|
|
122
|
-
class=""
|
|
123
|
-
>
|
|
124
|
-
<div
|
|
125
|
-
class="text-[1rem] [&+&]:mt-4"
|
|
126
|
-
data-field-has-error="false"
|
|
127
|
-
>
|
|
128
|
-
<label
|
|
129
|
-
class="block leading-[1em] mb-[0.5em] text-graphite"
|
|
130
|
-
>
|
|
131
|
-
<span
|
|
132
|
-
class="text-[0.875rem]"
|
|
133
|
-
>
|
|
134
|
-
<span
|
|
135
|
-
class="align-top text-red mr-[0.3125em]"
|
|
136
|
-
>
|
|
137
|
-
*
|
|
138
|
-
</span>
|
|
139
|
-
Label
|
|
140
|
-
</span>
|
|
141
|
-
</label>
|
|
142
|
-
</div>
|
|
143
|
-
</form>
|
|
144
|
-
</div>
|
|
145
|
-
</div>
|
|
146
|
-
`;
|
package/src/FormLabel/index.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { OmitInternalProps } from '@toptal/picasso-shared'
|
|
2
|
-
|
|
3
|
-
import type { Props } from './FormLabel'
|
|
4
|
-
|
|
5
|
-
export { default as FormLabel } from './FormLabel'
|
|
6
|
-
export type { RequiredDecoration } from './FormLabel'
|
|
7
|
-
export type FormLabelProps = OmitInternalProps<Props>
|
package/src/FormLabel/styles.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { twJoin } from '@toptal/picasso-tailwind-merge'
|
|
2
|
-
|
|
3
|
-
import type { FieldLayout } from '../FieldsLayout/FieldsLayoutContext'
|
|
4
|
-
import type { Alignment, Size } from './FormLabel'
|
|
5
|
-
|
|
6
|
-
export const classesBySize: Record<Size, string> = {
|
|
7
|
-
medium: 'text-[0.875rem]',
|
|
8
|
-
large: 'text-[1rem]',
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
type GetRootClassesOptions = {
|
|
12
|
-
disabled?: boolean
|
|
13
|
-
isInline: boolean
|
|
14
|
-
layout: FieldLayout
|
|
15
|
-
alignment: Alignment
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const getDisplayClasses = ({
|
|
19
|
-
isInline,
|
|
20
|
-
layout,
|
|
21
|
-
alignment,
|
|
22
|
-
}: Partial<GetRootClassesOptions>) => {
|
|
23
|
-
if (layout === 'horizontal' && alignment === 'top') {
|
|
24
|
-
return 'flex items-start'
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (layout === 'horizontal') {
|
|
28
|
-
return 'flex items-center'
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (isInline) {
|
|
32
|
-
return 'inline-block'
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return 'block'
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const getMarginClasses = ({
|
|
39
|
-
layout,
|
|
40
|
-
isInline,
|
|
41
|
-
}: Partial<GetRootClassesOptions>) =>
|
|
42
|
-
layout === 'horizontal' || isInline ? 'mb-0' : 'mb-[0.5em]'
|
|
43
|
-
|
|
44
|
-
const getPaddingsClasses = ({
|
|
45
|
-
layout,
|
|
46
|
-
alignment,
|
|
47
|
-
}: Partial<GetRootClassesOptions>) =>
|
|
48
|
-
layout === 'horizontal' && alignment === 'top' ? 'pt-2' : ''
|
|
49
|
-
|
|
50
|
-
const getColorClasses = ({ disabled }: Partial<GetRootClassesOptions>) =>
|
|
51
|
-
disabled ? 'text-graphite-700/[0.48]' : 'text-graphite-700'
|
|
52
|
-
|
|
53
|
-
export const getRootClasses = ({
|
|
54
|
-
disabled,
|
|
55
|
-
isInline,
|
|
56
|
-
layout,
|
|
57
|
-
alignment,
|
|
58
|
-
}: GetRootClassesOptions) => {
|
|
59
|
-
return twJoin(
|
|
60
|
-
getDisplayClasses({ isInline, layout, alignment }),
|
|
61
|
-
'leading-[1em]',
|
|
62
|
-
getMarginClasses({ layout, isInline }),
|
|
63
|
-
getColorClasses({ disabled }),
|
|
64
|
-
getPaddingsClasses({ layout, alignment })
|
|
65
|
-
)
|
|
66
|
-
}
|
package/src/FormLabel/test.tsx
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { render } from '@toptal/picasso-test-utils'
|
|
3
|
-
import type { OmitInternalProps } from '@toptal/picasso-shared'
|
|
4
|
-
import * as titleCaseModule from 'ap-style-title-case'
|
|
5
|
-
|
|
6
|
-
import type { Props } from './FormLabel'
|
|
7
|
-
import { FormLabel } from './FormLabel'
|
|
8
|
-
import { FormCompound as Form } from '../FormCompound'
|
|
9
|
-
|
|
10
|
-
jest.mock('ap-style-title-case')
|
|
11
|
-
|
|
12
|
-
const TestFormLabel = ({
|
|
13
|
-
children,
|
|
14
|
-
requiredDecoration,
|
|
15
|
-
disabled,
|
|
16
|
-
titleCase,
|
|
17
|
-
htmlFor,
|
|
18
|
-
inline,
|
|
19
|
-
labelEndAdornment,
|
|
20
|
-
}: OmitInternalProps<Props>) => {
|
|
21
|
-
return (
|
|
22
|
-
<Form>
|
|
23
|
-
<Form.Field>
|
|
24
|
-
<FormLabel
|
|
25
|
-
requiredDecoration={requiredDecoration}
|
|
26
|
-
disabled={disabled}
|
|
27
|
-
titleCase={titleCase}
|
|
28
|
-
htmlFor={htmlFor}
|
|
29
|
-
inline={inline}
|
|
30
|
-
labelEndAdornment={labelEndAdornment}
|
|
31
|
-
>
|
|
32
|
-
{children}
|
|
33
|
-
</FormLabel>
|
|
34
|
-
</Form.Field>
|
|
35
|
-
</Form>
|
|
36
|
-
)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
let spiedOnTitleCase: jest.SpyInstance
|
|
40
|
-
|
|
41
|
-
describe('FormLabel', () => {
|
|
42
|
-
beforeEach(() => {
|
|
43
|
-
spiedOnTitleCase = jest.spyOn(titleCaseModule, 'default')
|
|
44
|
-
})
|
|
45
|
-
afterEach(() => {
|
|
46
|
-
spiedOnTitleCase.mockReset()
|
|
47
|
-
})
|
|
48
|
-
|
|
49
|
-
it('renders', () => {
|
|
50
|
-
const { container } = render(<TestFormLabel>Label</TestFormLabel>)
|
|
51
|
-
|
|
52
|
-
expect(container).toMatchSnapshot()
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
it('disabled', () => {
|
|
56
|
-
const { container } = render(<TestFormLabel disabled>Label</TestFormLabel>)
|
|
57
|
-
|
|
58
|
-
expect(container).toMatchSnapshot()
|
|
59
|
-
})
|
|
60
|
-
|
|
61
|
-
it('required with (optional)', () => {
|
|
62
|
-
const { container } = render(
|
|
63
|
-
<TestFormLabel requiredDecoration='optional'>Label</TestFormLabel>
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
expect(container).toMatchSnapshot()
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
it('required with (optional) and with `labelEndAdornment`', () => {
|
|
70
|
-
const { container } = render(
|
|
71
|
-
<TestFormLabel
|
|
72
|
-
labelEndAdornment={<span>label end adornment</span>}
|
|
73
|
-
requiredDecoration='optional'
|
|
74
|
-
>
|
|
75
|
-
Label
|
|
76
|
-
</TestFormLabel>
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
expect(container).toMatchSnapshot()
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
it('required with asterisk', () => {
|
|
83
|
-
const { container } = render(
|
|
84
|
-
<TestFormLabel requiredDecoration='asterisk'>Label</TestFormLabel>
|
|
85
|
-
)
|
|
86
|
-
|
|
87
|
-
expect(container).toMatchSnapshot()
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
it('should transform text to title case when Picasso titleCase property is true', () => {
|
|
91
|
-
const TEXT_CONTENT = 'Test kb8'
|
|
92
|
-
|
|
93
|
-
render(<TestFormLabel>{TEXT_CONTENT}</TestFormLabel>, undefined, {
|
|
94
|
-
titleCase: true,
|
|
95
|
-
})
|
|
96
|
-
|
|
97
|
-
expect(spiedOnTitleCase).toHaveBeenCalledWith(TEXT_CONTENT)
|
|
98
|
-
})
|
|
99
|
-
|
|
100
|
-
it('should not transform text to title case when Picasso titleCase property is true but the component property overrides it', () => {
|
|
101
|
-
render(
|
|
102
|
-
<TestFormLabel titleCase={false}>
|
|
103
|
-
some text with-the-edge case for TEST
|
|
104
|
-
</TestFormLabel>,
|
|
105
|
-
undefined,
|
|
106
|
-
{ titleCase: true }
|
|
107
|
-
)
|
|
108
|
-
|
|
109
|
-
expect(spiedOnTitleCase).toHaveBeenCalledTimes(0)
|
|
110
|
-
})
|
|
111
|
-
})
|