agroptima-design-system 1.2.15 → 1.2.16
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/package.json +1 -1
- package/src/atoms/Checkbox/Checkbox.scss +1 -1
- package/src/atoms/Checkbox/Checkbox.tsx +10 -8
- package/src/atoms/Checkbox/CheckboxIcons.tsx +113 -0
- package/src/globals.d.ts +2 -0
- package/src/stories/Changelog.mdx +5 -0
- package/src/stories/Checkbox.stories.tsx +27 -1
- package/tsconfig.json +1 -1
- package/src/atoms/Checkbox/CheckboxActiveIcon.tsx +0 -20
- package/src/atoms/Checkbox/CheckboxCheckedIcon.tsx +0 -20
- package/src/atoms/Checkbox/CheckboxDisabledCheckedIcon.tsx +0 -22
- package/src/atoms/Checkbox/CheckboxDisabledIcon.tsx +0 -16
- package/src/atoms/Checkbox/CheckboxDisabledIndeterminateIcon.tsx +0 -19
- package/src/atoms/Checkbox/CheckboxIndeterminateIcon.tsx +0 -19
- package/src/atoms/Checkbox/CheckboxUncheckedHoverIcon.tsx +0 -18
- package/src/atoms/Checkbox/CheckboxUncheckedIcon.tsx +0 -16
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import './Checkbox.scss'
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react'
|
|
3
3
|
import { classNames } from '../../utils/classNames'
|
|
4
4
|
import { Label } from '../Label'
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import {
|
|
6
|
+
CheckboxCheckedIcon,
|
|
7
|
+
CheckboxDisabledCheckedIcon,
|
|
8
|
+
CheckboxDisabledIcon,
|
|
9
|
+
CheckboxDisabledIndeterminateIcon,
|
|
10
|
+
CheckboxIndeterminateIcon,
|
|
11
|
+
CheckboxUncheckedHoverIcon,
|
|
12
|
+
CheckboxUncheckedIcon,
|
|
13
|
+
} from './CheckboxIcons'
|
|
12
14
|
|
|
13
15
|
export type Variant = 'primary'
|
|
14
16
|
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
interface CheckboxIconProps extends React.SVGProps<SVGSVGElement> {
|
|
4
|
+
fill: string
|
|
5
|
+
stroke: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function CheckboxSVG({ fill, stroke, children, ...props }: CheckboxIconProps) {
|
|
9
|
+
return (
|
|
10
|
+
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
11
|
+
<path
|
|
12
|
+
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
13
|
+
fill={fill}
|
|
14
|
+
/>
|
|
15
|
+
<path
|
|
16
|
+
fillRule="evenodd"
|
|
17
|
+
clipRule="evenodd"
|
|
18
|
+
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
19
|
+
fill={stroke}
|
|
20
|
+
/>
|
|
21
|
+
{children}
|
|
22
|
+
</svg>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function CheckPath({ fill }: { fill: string }) {
|
|
27
|
+
return (
|
|
28
|
+
<path
|
|
29
|
+
d="m7.085 13.699-3.793-3.98L2 11.063 7.085 16.4 18 4.946 16.718 3.6 7.085 13.699Z"
|
|
30
|
+
fill={fill}
|
|
31
|
+
/>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function LinePath({ fill }: { fill: string }) {
|
|
36
|
+
return <path d="M18 10.8H2V8.4h16v2.4Z" fill={fill} />
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function CheckboxUncheckedIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
40
|
+
return (
|
|
41
|
+
<CheckboxSVG
|
|
42
|
+
fill="var(--neutral-white)"
|
|
43
|
+
stroke="var(--neutral-color-500)"
|
|
44
|
+
{...props}
|
|
45
|
+
/>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function CheckboxCheckedIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
50
|
+
return (
|
|
51
|
+
<CheckboxSVG
|
|
52
|
+
fill="var(--primary-color-600)"
|
|
53
|
+
stroke="var(--primary-color-600)"
|
|
54
|
+
{...props}
|
|
55
|
+
>
|
|
56
|
+
<CheckPath fill="var(--neutral-white)" />
|
|
57
|
+
</CheckboxSVG>
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function CheckboxDisabledIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
62
|
+
return <CheckboxSVG fill="#f3f3f5" stroke="#c3c7cf" {...props} />
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function CheckboxDisabledCheckedIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
66
|
+
return (
|
|
67
|
+
<CheckboxDisabledIcon {...props}>
|
|
68
|
+
<CheckPath fill="#c3c7cf" />
|
|
69
|
+
</CheckboxDisabledIcon>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function CheckboxDisabledIndeterminateIcon(
|
|
74
|
+
props: React.SVGProps<SVGSVGElement>,
|
|
75
|
+
) {
|
|
76
|
+
return (
|
|
77
|
+
<CheckboxDisabledIcon {...props}>
|
|
78
|
+
<LinePath fill="#c3c7cf" />
|
|
79
|
+
</CheckboxDisabledIcon>
|
|
80
|
+
)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function CheckboxIndeterminateIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
84
|
+
return (
|
|
85
|
+
<CheckboxSVG
|
|
86
|
+
fill="var(--primary-color-600)"
|
|
87
|
+
stroke="var(--primary-color-600)"
|
|
88
|
+
{...props}
|
|
89
|
+
>
|
|
90
|
+
<LinePath fill="#F3F3F3" />
|
|
91
|
+
</CheckboxSVG>
|
|
92
|
+
)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function CheckboxUncheckedHoverIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
96
|
+
return (
|
|
97
|
+
<CheckboxSVG
|
|
98
|
+
fill="var(--neutral-white)"
|
|
99
|
+
stroke="var(--primary-color-600)"
|
|
100
|
+
{...props}
|
|
101
|
+
/>
|
|
102
|
+
)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
CheckboxCheckedIcon,
|
|
107
|
+
CheckboxDisabledCheckedIcon,
|
|
108
|
+
CheckboxDisabledIcon,
|
|
109
|
+
CheckboxDisabledIndeterminateIcon,
|
|
110
|
+
CheckboxIndeterminateIcon,
|
|
111
|
+
CheckboxUncheckedHoverIcon,
|
|
112
|
+
CheckboxUncheckedIcon,
|
|
113
|
+
}
|
package/src/globals.d.ts
CHANGED
|
@@ -78,11 +78,36 @@ export const PrimaryWithoutLabel: Story = {
|
|
|
78
78
|
parameters: figmaPrimaryDesign,
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
export const Disabled: Story = {
|
|
82
|
+
args: {
|
|
83
|
+
accessibilityLabel: 'Marks if the user likes videogames',
|
|
84
|
+
variant: 'primary',
|
|
85
|
+
disabled: true,
|
|
86
|
+
defaultChecked: false,
|
|
87
|
+
children: 'Do you like videogames?',
|
|
88
|
+
id: 'checkbox-videogames-preference',
|
|
89
|
+
},
|
|
90
|
+
parameters: figmaPrimaryDesign,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export const DisabledChecked: Story = {
|
|
94
|
+
args: {
|
|
95
|
+
accessibilityLabel: 'Marks if the user likes videogames',
|
|
96
|
+
variant: 'primary',
|
|
97
|
+
disabled: true,
|
|
98
|
+
defaultChecked: true,
|
|
99
|
+
children: 'Do you like videogames?',
|
|
100
|
+
id: 'checkbox-videogames-preference',
|
|
101
|
+
},
|
|
102
|
+
parameters: figmaPrimaryDesign,
|
|
103
|
+
}
|
|
104
|
+
|
|
81
105
|
export const Indeterminate: Story = {
|
|
82
106
|
args: {
|
|
83
107
|
accessibilityLabel: 'Marks if the user likes videogames',
|
|
84
108
|
variant: 'primary',
|
|
85
109
|
disabled: false,
|
|
110
|
+
defaultChecked: true,
|
|
86
111
|
children: 'Do you like videogames?',
|
|
87
112
|
id: 'checkbox-videogames-preference',
|
|
88
113
|
indeterminate: true,
|
|
@@ -90,12 +115,13 @@ export const Indeterminate: Story = {
|
|
|
90
115
|
parameters: figmaPrimaryDesign,
|
|
91
116
|
}
|
|
92
117
|
|
|
93
|
-
export const
|
|
118
|
+
export const IntermediateDisabled: Story = {
|
|
94
119
|
args: {
|
|
95
120
|
accessibilityLabel: 'Marks if the user likes videogames',
|
|
96
121
|
variant: 'primary',
|
|
97
122
|
disabled: true,
|
|
98
123
|
defaultChecked: true,
|
|
124
|
+
indeterminate: true,
|
|
99
125
|
children: 'Do you like videogames?',
|
|
100
126
|
id: 'checkbox-videogames-preference',
|
|
101
127
|
},
|
package/tsconfig.json
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export function CheckboxActiveIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
2
|
-
return (
|
|
3
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
4
|
-
<path
|
|
5
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
6
|
-
fill="var(--primary-color-600)"
|
|
7
|
-
/>
|
|
8
|
-
<path
|
|
9
|
-
fillRule="evenodd"
|
|
10
|
-
clipRule="evenodd"
|
|
11
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
12
|
-
fill="var(--primary-color-600)"
|
|
13
|
-
/>
|
|
14
|
-
<path
|
|
15
|
-
d="m7.085 13.699-3.793-3.98L2 11.063 7.085 16.4 18 4.946 16.718 3.6 7.085 13.699Z"
|
|
16
|
-
fill="var(--neutral-white)"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
19
|
-
)
|
|
20
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export function CheckboxCheckedIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
2
|
-
return (
|
|
3
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
4
|
-
<path
|
|
5
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
6
|
-
fill="var(--primary-color-600)"
|
|
7
|
-
/>
|
|
8
|
-
<path
|
|
9
|
-
fillRule="evenodd"
|
|
10
|
-
clipRule="evenodd"
|
|
11
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
12
|
-
fill="var(--primary-color-600)"
|
|
13
|
-
/>
|
|
14
|
-
<path
|
|
15
|
-
d="m7.085 13.699-3.793-3.98L2 11.063 7.085 16.4 18 4.946 16.718 3.6 7.085 13.699Z"
|
|
16
|
-
fill="var(--neutral-white)"
|
|
17
|
-
/>
|
|
18
|
-
</svg>
|
|
19
|
-
)
|
|
20
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export function CheckboxDisabledCheckedIcon(
|
|
2
|
-
props: React.SVGProps<SVGSVGElement>,
|
|
3
|
-
) {
|
|
4
|
-
return (
|
|
5
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
8
|
-
fill="#F3F3F3"
|
|
9
|
-
/>
|
|
10
|
-
<path
|
|
11
|
-
fillRule="evenodd"
|
|
12
|
-
clipRule="evenodd"
|
|
13
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
14
|
-
fill="var(--neutral-color-500)"
|
|
15
|
-
/>
|
|
16
|
-
<path
|
|
17
|
-
d="m7.085 13.699-3.793-3.98L2 11.063 7.085 16.4 18 4.946 16.718 3.6 7.085 13.699Z"
|
|
18
|
-
fill="var(--neutral-color-500)"
|
|
19
|
-
/>
|
|
20
|
-
</svg>
|
|
21
|
-
)
|
|
22
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function CheckboxDisabledIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
2
|
-
return (
|
|
3
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
4
|
-
<path
|
|
5
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
6
|
-
fill="#F3F3F3"
|
|
7
|
-
/>
|
|
8
|
-
<path
|
|
9
|
-
fillRule="evenodd"
|
|
10
|
-
clipRule="evenodd"
|
|
11
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
12
|
-
fill="var(--neutral-color-500)"
|
|
13
|
-
/>
|
|
14
|
-
</svg>
|
|
15
|
-
)
|
|
16
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export function CheckboxDisabledIndeterminateIcon(
|
|
2
|
-
props: React.SVGProps<SVGSVGElement>,
|
|
3
|
-
) {
|
|
4
|
-
return (
|
|
5
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
8
|
-
fill="var(--neutral-color-500)"
|
|
9
|
-
/>
|
|
10
|
-
<path
|
|
11
|
-
fillRule="evenodd"
|
|
12
|
-
clipRule="evenodd"
|
|
13
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
14
|
-
fill="var(--neutral-color-500)"
|
|
15
|
-
/>
|
|
16
|
-
<path d="M18 10.8H2V8.4h16v2.4Z" fill="var(--neutral-white)" />
|
|
17
|
-
</svg>
|
|
18
|
-
)
|
|
19
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export function CheckboxIndeterminateIcon(
|
|
2
|
-
props: React.SVGProps<SVGSVGElement>,
|
|
3
|
-
) {
|
|
4
|
-
return (
|
|
5
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
8
|
-
fill="var(--primary-color-600)"
|
|
9
|
-
/>
|
|
10
|
-
<path
|
|
11
|
-
fillRule="evenodd"
|
|
12
|
-
clipRule="evenodd"
|
|
13
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
14
|
-
fill="var(--primary-color-600)"
|
|
15
|
-
/>
|
|
16
|
-
<path d="M18 10.8H2V8.4h16v2.4Z" fill="#F3F3F3" />
|
|
17
|
-
</svg>
|
|
18
|
-
)
|
|
19
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export function CheckboxUncheckedHoverIcon(
|
|
2
|
-
props: React.SVGProps<SVGSVGElement>,
|
|
3
|
-
) {
|
|
4
|
-
return (
|
|
5
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
6
|
-
<path
|
|
7
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
8
|
-
fill="var(--neutral-white)"
|
|
9
|
-
/>
|
|
10
|
-
<path
|
|
11
|
-
fillRule="evenodd"
|
|
12
|
-
clipRule="evenodd"
|
|
13
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
14
|
-
fill="var(--primary-color-600)"
|
|
15
|
-
/>
|
|
16
|
-
</svg>
|
|
17
|
-
)
|
|
18
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function CheckboxUncheckedIcon(props: React.SVGProps<SVGSVGElement>) {
|
|
2
|
-
return (
|
|
3
|
-
<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" {...props}>
|
|
4
|
-
<path
|
|
5
|
-
d="M0 2a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Z"
|
|
6
|
-
fill="var(--neutral-white)"
|
|
7
|
-
/>
|
|
8
|
-
<path
|
|
9
|
-
fillRule="evenodd"
|
|
10
|
-
clipRule="evenodd"
|
|
11
|
-
d="M18 1H2a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM2 0a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Z"
|
|
12
|
-
fill="var(--neutral-color-500)"
|
|
13
|
-
/>
|
|
14
|
-
</svg>
|
|
15
|
-
)
|
|
16
|
-
}
|