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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agroptima-design-system",
3
- "version": "1.2.15",
3
+ "version": "1.2.16",
4
4
  "scripts": {
5
5
  "dev": "npm run storybook",
6
6
  "storybook": "storybook dev -p 6006 --ci",
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  /* Disabled common state */
40
- .checkbox-input:checked:disabled {
40
+ .checkbox-input:disabled {
41
41
  cursor: not-allowed;
42
42
  }
43
43
 
@@ -1,14 +1,16 @@
1
1
  import './Checkbox.scss'
2
- import React, { useEffect, useRef } from 'react'
2
+ import React from 'react'
3
3
  import { classNames } from '../../utils/classNames'
4
4
  import { Label } from '../Label'
5
- import { CheckboxCheckedIcon } from './CheckboxCheckedIcon'
6
- import { CheckboxDisabledCheckedIcon } from './CheckboxDisabledCheckedIcon'
7
- import { CheckboxDisabledIcon } from './CheckboxDisabledIcon'
8
- import { CheckboxDisabledIndeterminateIcon } from './CheckboxDisabledIndeterminateIcon'
9
- import { CheckboxIndeterminateIcon } from './CheckboxIndeterminateIcon'
10
- import { CheckboxUncheckedHoverIcon } from './CheckboxUncheckedHoverIcon'
11
- import { CheckboxUncheckedIcon } from './CheckboxUncheckedIcon'
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
@@ -3,3 +3,5 @@ declare module '*.svg' {
3
3
  const content: FC<SVGProps<SVGElement>>
4
4
  export default content
5
5
  }
6
+
7
+ declare module '*.scss' {}
@@ -4,6 +4,11 @@ import { Meta } from "@storybook/addon-docs/blocks";
4
4
 
5
5
  # Changelog
6
6
 
7
+ ## 1.2.16
8
+
9
+ * Fix disabled styles on Checkbox component
10
+ * Add not-allowed cursor on disabled Checkbox component
11
+
7
12
  ## 1.2.15
8
13
 
9
14
  * Add ChangeStatus icon
@@ -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 Disabled: Story = {
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,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "es5",
3
+ "target": "es6",
4
4
  "lib": ["dom", "dom.iterable", "esnext"],
5
5
  "allowJs": true,
6
6
  "skipLibCheck": true,
@@ -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
- }