@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.
Files changed (90) hide show
  1. package/dist-package/src/Form/Form.d.ts +1 -1
  2. package/dist-package/src/Form/Form.d.ts.map +1 -1
  3. package/dist-package/src/Form/Form.js +1 -1
  4. package/dist-package/src/Form/Form.js.map +1 -1
  5. package/dist-package/src/FormActionsContainer/FormActionsContainer.js +1 -1
  6. package/dist-package/src/FormActionsContainer/FormActionsContainer.js.map +1 -1
  7. package/dist-package/src/FormCompound/index.d.ts +1 -1
  8. package/dist-package/src/FormCompound/index.d.ts.map +1 -1
  9. package/dist-package/src/FormCompound/index.js +1 -1
  10. package/dist-package/src/FormCompound/index.js.map +1 -1
  11. package/dist-package/src/FormField/FormField.js +1 -1
  12. package/dist-package/src/FormField/FormField.js.map +1 -1
  13. package/dist-package/src/FormField/styles.d.ts +1 -1
  14. package/dist-package/src/FormField/styles.d.ts.map +1 -1
  15. package/dist-package/src/FormField/styles.js +1 -1
  16. package/dist-package/src/FormField/styles.js.map +1 -1
  17. package/dist-package/src/FormLevelError/FormLevelError.d.ts +9 -0
  18. package/dist-package/src/FormLevelError/FormLevelError.d.ts.map +1 -0
  19. package/dist-package/src/FormLevelError/FormLevelError.js +23 -0
  20. package/dist-package/src/FormLevelError/FormLevelError.js.map +1 -0
  21. package/dist-package/src/FormLevelError/index.d.ts +2 -0
  22. package/dist-package/src/FormLevelError/index.d.ts.map +1 -0
  23. package/dist-package/src/FormLevelError/index.js +2 -0
  24. package/dist-package/src/FormLevelError/index.js.map +1 -0
  25. package/dist-package/src/FormLevelWarning/FormLevelWarning.d.ts +9 -0
  26. package/dist-package/src/FormLevelWarning/FormLevelWarning.d.ts.map +1 -0
  27. package/dist-package/src/FormLevelWarning/FormLevelWarning.js +23 -0
  28. package/dist-package/src/FormLevelWarning/FormLevelWarning.js.map +1 -0
  29. package/dist-package/src/FormLevelWarning/index.d.ts +2 -0
  30. package/dist-package/src/FormLevelWarning/index.d.ts.map +1 -0
  31. package/dist-package/src/FormLevelWarning/index.js +2 -0
  32. package/dist-package/src/FormLevelWarning/index.js.map +1 -0
  33. package/dist-package/src/index.d.ts +4 -3
  34. package/dist-package/src/index.d.ts.map +1 -1
  35. package/dist-package/src/index.js +3 -3
  36. package/dist-package/src/index.js.map +1 -1
  37. package/package.json +15 -13
  38. package/src/Form/Form.tsx +2 -3
  39. package/src/Form/story/Error.example.tsx +50 -0
  40. package/src/Form/story/Warning.example.tsx +50 -0
  41. package/src/Form/story/index.jsx +18 -1
  42. package/src/FormActionsContainer/FormActionsContainer.tsx +1 -1
  43. package/src/FormCompound/index.ts +2 -1
  44. package/src/FormField/FormField.tsx +1 -1
  45. package/src/FormField/styles.ts +2 -3
  46. package/src/FormField/test.tsx +4 -4
  47. package/src/FormLevelError/FormLevelError.tsx +31 -0
  48. package/src/FormLevelError/index.ts +1 -0
  49. package/src/FormLevelWarning/FormLevelWarning.tsx +31 -0
  50. package/src/FormLevelWarning/index.ts +1 -0
  51. package/src/index.ts +14 -3
  52. package/LICENSE +0 -20
  53. package/dist-package/src/FieldsLayout/FieldsLayoutContext.d.ts +0 -20
  54. package/dist-package/src/FieldsLayout/FieldsLayoutContext.d.ts.map +0 -1
  55. package/dist-package/src/FieldsLayout/FieldsLayoutContext.js +0 -17
  56. package/dist-package/src/FieldsLayout/FieldsLayoutContext.js.map +0 -1
  57. package/dist-package/src/FieldsLayout/index.d.ts +0 -2
  58. package/dist-package/src/FieldsLayout/index.d.ts.map +0 -1
  59. package/dist-package/src/FieldsLayout/index.js +0 -2
  60. package/dist-package/src/FieldsLayout/index.js.map +0 -1
  61. package/dist-package/src/FormControlLabel/FormControlLabel.d.ts +0 -23
  62. package/dist-package/src/FormControlLabel/FormControlLabel.d.ts.map +0 -1
  63. package/dist-package/src/FormControlLabel/FormControlLabel.js +0 -26
  64. package/dist-package/src/FormControlLabel/FormControlLabel.js.map +0 -1
  65. package/dist-package/src/FormControlLabel/index.d.ts +0 -5
  66. package/dist-package/src/FormControlLabel/index.d.ts.map +0 -1
  67. package/dist-package/src/FormControlLabel/index.js +0 -2
  68. package/dist-package/src/FormControlLabel/index.js.map +0 -1
  69. package/dist-package/src/FormLabel/FormLabel.d.ts +0 -30
  70. package/dist-package/src/FormLabel/FormLabel.d.ts.map +0 -1
  71. package/dist-package/src/FormLabel/FormLabel.js +0 -37
  72. package/dist-package/src/FormLabel/FormLabel.js.map +0 -1
  73. package/dist-package/src/FormLabel/index.d.ts +0 -6
  74. package/dist-package/src/FormLabel/index.d.ts.map +0 -1
  75. package/dist-package/src/FormLabel/index.js +0 -2
  76. package/dist-package/src/FormLabel/index.js.map +0 -1
  77. package/dist-package/src/FormLabel/styles.d.ts +0 -12
  78. package/dist-package/src/FormLabel/styles.d.ts.map +0 -1
  79. package/dist-package/src/FormLabel/styles.js +0 -24
  80. package/dist-package/src/FormLabel/styles.js.map +0 -1
  81. package/src/FieldsLayout/FieldsLayoutContext.tsx +0 -53
  82. package/src/FieldsLayout/index.ts +0 -1
  83. package/src/FormControlLabel/FormControlLabel.tsx +0 -84
  84. package/src/FormControlLabel/index.ts +0 -6
  85. package/src/FormLabel/FormLabel.tsx +0 -106
  86. package/src/FormLabel/__snapshots__/test.tsx.snap +0 -146
  87. package/src/FormLabel/index.ts +0 -7
  88. package/src/FormLabel/story/index.jsx +0 -6
  89. package/src/FormLabel/styles.ts +0 -66
  90. 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
- `;
@@ -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>
@@ -1,6 +0,0 @@
1
- import { FormLabel } from '../FormLabel'
2
- import PicassoBook from '~/.storybook/components/PicassoBook'
3
-
4
- const componentDocs = PicassoBook.createComponentDocs(FormLabel, 'Form.Label')
5
-
6
- export default { componentDocs }
@@ -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
- }
@@ -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
- })