@platformatic/ui-components 0.1.50 → 0.1.51

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 (55) hide show
  1. package/dist/api-icon-closed.svg +6 -0
  2. package/dist/api-icon.svg +9 -0
  3. package/dist/assets/Montserrat-Regular.dcfe8df2.ttf +0 -0
  4. package/dist/assets/index.691ca940.css +1 -0
  5. package/dist/assets/index.ff0dadfc.js +797 -0
  6. package/dist/index.html +14 -0
  7. package/dist/stats.html +6177 -0
  8. package/dist/vite.svg +1 -0
  9. package/package.json +1 -1
  10. package/src/components/DropDown.jsx +3 -4
  11. package/src/components/DropDown.module.css +0 -2
  12. package/src/components/Modal.jsx +1 -1
  13. package/src/components/Sidebar.jsx +3 -5
  14. package/src/components/Sidebar.module.css +8 -4
  15. package/src/components/forms/Preview.jsx +1 -1
  16. package/src/components/icons/AddIcon.jsx +78 -0
  17. package/src/components/icons/AlertIcon.jsx +81 -0
  18. package/src/components/icons/AllInOneIcon.jsx +111 -0
  19. package/src/components/icons/ApiCloudIcon.jsx +93 -0
  20. package/src/components/icons/ApiIcon.jsx +83 -28
  21. package/src/components/icons/AppIcon.jsx +84 -37
  22. package/src/components/icons/ArrowDownFullIcon.jsx +76 -0
  23. package/src/components/icons/ArrowDownIcon.jsx +75 -0
  24. package/src/components/icons/ArrowLeftIcon.jsx +75 -0
  25. package/src/components/icons/ArrowRightIcon.jsx +75 -0
  26. package/src/components/icons/ArrowUpIcon.jsx +75 -0
  27. package/src/components/icons/Calendar1DayIcon.jsx +90 -0
  28. package/src/components/icons/Calendar7DaysIcon.jsx +88 -0
  29. package/src/components/icons/CalendarIcon.jsx +75 -29
  30. package/src/components/icons/CircleAddIcon.jsx +58 -17
  31. package/src/components/icons/CloseIcon.jsx +73 -25
  32. package/src/components/icons/CopyPasteIcon.jsx +81 -0
  33. package/src/components/icons/DatabaseIcon.jsx +81 -0
  34. package/src/components/icons/EditIcon.jsx +63 -20
  35. package/src/components/icons/GearIcon.jsx +67 -29
  36. package/src/components/icons/Icons.module.css +17 -0
  37. package/src/components/icons/Users2Icon.jsx +84 -0
  38. package/src/components/icons/WorkspaceDynamicIcon.jsx +87 -0
  39. package/src/components/icons/WorkspaceReadyIcon.jsx +144 -0
  40. package/src/components/icons/WorkspaceStaticIcon.jsx +84 -0
  41. package/src/components/icons/index.js +35 -15
  42. package/src/stories/PlatformaticIcon.stories.jsx +7 -1
  43. package/src/stories/Sidebar.stories.jsx +2 -2
  44. package/src/stories/forms/Input.stories.jsx +1 -1
  45. package/src/stories/forms/Preview.stories.jsx +1 -1
  46. package/src/stories/icons/Icons.stories.jsx +4 -10
  47. package/src/styles/main.css +8 -1
  48. package/dist/main.css +0 -704
  49. package/src/components/icons/Calendar1Icon.jsx +0 -54
  50. package/src/components/icons/Calendar7Icon.jsx +0 -55
  51. package/src/components/icons/CopyIcon.jsx +0 -75
  52. package/src/components/icons/CreatedWorkspaceIcon.jsx +0 -70
  53. package/src/components/icons/DynamicWorkspaceIcon.jsx +0 -125
  54. package/src/components/icons/StaticWorkspaceIcon.jsx +0 -119
  55. package/src/components/icons/TriangleExclamationIcon.jsx +0 -26
@@ -1,9 +1,12 @@
1
1
  import * as React from 'react'
2
+ import PropTypes from 'prop-types'
2
3
  import styles from './Icons.module.css'
3
4
 
4
- const CalendarIcon = ({ color = 'green', size = 'normal' }) => {
5
+ const CalendarIcon = ({ color, size }) => {
5
6
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
6
8
  let icon = <></>
9
+
7
10
  switch (size) {
8
11
  case 'small':
9
12
  icon = (
@@ -16,41 +19,84 @@ const CalendarIcon = ({ color = 'green', size = 'normal' }) => {
16
19
  className={className}
17
20
  >
18
21
  <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
19
- <path
20
- d='M2 7H14'
21
- stroke='none'
22
- strokeLinecap='round'
23
- strokeLinejoin='round'
24
- />
25
- <line
26
- x1={4.5}
27
- y1={5.5}
28
- x2={4.5}
29
- y2={2.5}
30
- stroke='none'
31
- strokeLinecap='round'
32
- />
33
- <line
34
- x1={11.5}
35
- y1={5.5}
36
- x2={11.5}
37
- y2={2.5}
38
- stroke='none'
39
- strokeLinecap='round'
40
- />
41
- <rect x={4} y={8} width={2} height={2} rx={0.5} fill='none' />
42
- <rect x={4} y={11} width={2} height={2} rx={0.5} fill='none' />
43
- <rect x={7} y={8} width={2} height={2} rx={0.5} fill='none' />
44
- <rect x={10} y={8} width={2} height={2} rx={0.5} fill='none' />
45
- <rect x={7} y={11} width={2} height={2} rx={0.5} fill='none' />
46
- <rect x={10} y={11} width={2} height={2} rx={0.5} fill='none' />
22
+ <path d='M2 7H14' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
23
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
24
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <rect x={4} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
26
+ <rect x={4} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
27
+ <rect x={7} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
28
+ <rect x={10} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
29
+ <rect x={7} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
30
+ <rect x={10} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
31
+ </svg>
32
+ )
33
+ break
34
+ case 'normal':
35
+ icon = (
36
+ <svg
37
+ width={24}
38
+ height={24}
39
+ viewBox='0 0 24 24'
40
+ fill='none'
41
+ xmlns='http://www.w3.org/2000/svg'
42
+ className={className}
43
+ >
44
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={1.5} />
45
+ <path d='M3 10.5H21' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
46
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
47
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
48
+ <rect x={6} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
49
+ <rect x={6} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
50
+ <rect x={10.5} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
51
+ <rect x={15} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
52
+ <rect x={10.5} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
53
+ <rect x={15} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
47
54
  </svg>
48
55
  )
49
56
  break
57
+ case 'large':
58
+ icon = (
59
+ <svg
60
+ width={40}
61
+ height={40}
62
+ viewBox='0 0 40 40'
63
+ fill='none'
64
+ xmlns='http://www.w3.org/2000/svg'
65
+ className={className}
66
+ ><rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
67
+ <path d='M5 17.5H35' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
68
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
69
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
70
+ <rect x={10} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
71
+ <rect x={10} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
72
+ <rect x={17.5} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
73
+ <rect x={25} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
74
+ <rect x={17.5} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
75
+ <rect x={25} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
76
+ </svg>
77
+ )
78
+ break
79
+
50
80
  default:
51
81
  break
52
82
  }
53
83
  return icon
54
84
  }
55
85
 
86
+ CalendarIcon.propTypes = {
87
+ /**
88
+ * color of text, icon and borders
89
+ */
90
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
91
+ /**
92
+ * Size
93
+ */
94
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
95
+ }
96
+
97
+ CalendarIcon.defaultProps = {
98
+ color: 'main-dark-blue',
99
+ size: 'normal'
100
+ }
101
+
56
102
  export default CalendarIcon
@@ -1,40 +1,81 @@
1
1
  import * as React from 'react'
2
+ import PropTypes from 'prop-types'
2
3
  import styles from './Icons.module.css'
3
4
 
4
- const CircleAddIcon = ({ color = 'green', size = 'normal' }) => {
5
+ const CircleAddIcon = ({ color, size }) => {
5
6
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
7
  let icon = <></>
8
+
7
9
  switch (size) {
8
10
  case 'small':
9
11
  icon = (
10
12
  <svg
11
- width={18}
12
- height={18}
13
- viewBox='0 0 18 18'
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <circle cx={8} cy={8} r={6} stroke='none' />
21
+ <line x1={8} y1={5} x2={8} y2={11} stroke='none' strokeLinecap='round' />
22
+ <line x1={5} y1={8} x2={11} y2={8} stroke='none' strokeLinecap='round' />
23
+ </svg>
24
+ )
25
+ break
26
+ case 'normal':
27
+ icon = (
28
+ <svg
29
+ width={24}
30
+ height={24}
31
+ viewBox='0 0 24 24'
32
+ fill='none'
33
+ xmlns='http://www.w3.org/2000/svg'
34
+ className={className}
35
+ >
36
+ <circle cx={12} cy={12} r={9} stroke='none' strokeWidth={1.5} />
37
+ <line x1={12} y1={7.5} x2={12} y2={16.5} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
38
+ <line x1={7.5} y1={12} x2={16.5} y2={12} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
39
+ </svg>
40
+ )
41
+ break
42
+ case 'large':
43
+ icon = (
44
+ <svg
45
+ width={40}
46
+ height={40}
47
+ viewBox='0 0 40 40'
14
48
  fill='none'
15
49
  xmlns='http://www.w3.org/2000/svg'
16
50
  className={className}
17
51
  >
18
- <circle cx={9} cy={9} r={8} stroke='none' />
19
- <path
20
- d='M4 9H14'
21
- stroke='none'
22
- strokeLinecap='round'
23
- strokeLinejoin='round'
24
- />
25
- <path
26
- d='M9 14L9 4.00002'
27
- stroke='none'
28
- strokeLinecap='round'
29
- strokeLinejoin='round'
30
- />
52
+ <circle cx={20} cy={20} r={15} stroke='none' strokeWidth={2} />
53
+ <line x1={19.75} y1={12.25} x2={19.75} y2={27.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
54
+ <line x1={12.25} y1={20.25} x2={27.75} y2={20.25} stroke='none' strokeWidth={2} strokeLinecap='round' />
31
55
  </svg>
32
56
  )
33
57
  break
58
+
34
59
  default:
35
60
  break
36
61
  }
37
62
  return icon
38
63
  }
39
64
 
65
+ CircleAddIcon.propTypes = {
66
+ /**
67
+ * color of text, icon and borders
68
+ */
69
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
70
+ /**
71
+ * Size
72
+ */
73
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
74
+ }
75
+
76
+ CircleAddIcon.defaultProps = {
77
+ color: 'main-dark-blue',
78
+ size: 'normal'
79
+ }
80
+
40
81
  export default CircleAddIcon
@@ -1,31 +1,79 @@
1
1
  import * as React from 'react'
2
+ import PropTypes from 'prop-types'
2
3
  import styles from './Icons.module.css'
3
4
 
4
- const CloseIcon = ({ color = 'main-dark-blue' }) => {
5
- const className = styles[`${color}`]
6
- return (
7
- <svg
8
- width={16}
9
- height={16}
10
- viewBox='0 0 16 16'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- >
15
- <path
16
- d='M2 2L14 14'
17
- stroke='none'
18
- strokeLinecap='round'
19
- strokeLinejoin='round'
20
- />
21
- <path
22
- d='M2 14L14 2'
23
- stroke='none'
24
- strokeLinecap='round'
25
- strokeLinejoin='round'
26
- />
27
- </svg>
28
- )
5
+ const CloseIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'small':
11
+ icon = (
12
+ <svg
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <path d='M2 2L14 14' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
21
+ <path d='M2 14L14 2' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
22
+ </svg>
23
+ )
24
+ break
25
+ case 'normal':
26
+ icon = (
27
+ <svg
28
+ width={24}
29
+ height={24}
30
+ viewBox='0 0 24 24'
31
+ fill='none'
32
+ xmlns='http://www.w3.org/2000/svg'
33
+ className={className}
34
+ >
35
+ <path d='M3 3L21 21' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
36
+ <path d='M3 21L21 3' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
37
+ </svg>
38
+ )
39
+ break
40
+ case 'large':
41
+ icon = (
42
+ <svg
43
+ width={40}
44
+ height={40}
45
+ viewBox='0 0 40 40'
46
+ fill='none'
47
+ xmlns='http://www.w3.org/2000/svg'
48
+ className={className}
49
+ >
50
+ <path d='M5 5L35 35' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
51
+ <path d='M5 35L35 5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
52
+
53
+ </svg>
54
+ )
55
+ break
56
+
57
+ default:
58
+ break
59
+ }
60
+ return icon
61
+ }
62
+
63
+ CloseIcon.propTypes = {
64
+ /**
65
+ * color of text, icon and borders
66
+ */
67
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
68
+ /**
69
+ * Size
70
+ */
71
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
72
+ }
73
+
74
+ CloseIcon.defaultProps = {
75
+ color: 'main-dark-blue',
76
+ size: 'normal'
29
77
  }
30
78
 
31
79
  export default CloseIcon
@@ -0,0 +1,81 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const CopyPasteIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'small':
11
+ icon = (
12
+ <svg
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <path d='M6 13.5V4.94497C6 4.66882 6.22386 4.44497 6.5 4.44497H10.5365C10.6594 4.44497 10.7779 4.4902 10.8696 4.57203L13.833 7.21859C13.9393 7.31345 14 7.44911 14 7.59152V13.5C14 13.7761 13.7761 14 13.5 14H6.5C6.22386 14 6 13.7761 6 13.5Z' stroke='none' strokeLinecap='round' />
21
+ <path d='M10.5 7.78923V4.44497L14 7.78923H10.5Z' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
22
+ <path d='M9.5 3.96723L7.36816 2.12196C7.27729 2.0433 7.16112 2.00001 7.04093 2.00001H4.61364H2.5C2.22386 2.00001 2 2.22386 2 2.50001L2.00001 10.6335C2.00001 10.9096 2.22386 11.1335 2.50001 11.1335H5.50001' stroke='none' strokeLinecap='round' />
23
+ </svg>
24
+ )
25
+ break
26
+ case 'normal':
27
+ icon = (
28
+ <svg
29
+ width={24}
30
+ height={24}
31
+ viewBox='0 0 24 24'
32
+ fill='none'
33
+ xmlns='http://www.w3.org/2000/svg'
34
+ className={className}
35
+ >
36
+ <path d='M9 20.5V7.16745C9 6.8913 9.22386 6.66745 9.5 6.66745H15.9001C16.023 6.66745 16.1416 6.71268 16.2332 6.79451L20.833 10.9024C20.9393 10.9973 21 11.1329 21 11.2754V20.5C21 20.7761 20.7761 21 20.5 21H9.5C9.22386 21 9 20.7761 9 20.5Z' stroke='none' strokeWidth={1.5} strokeLinecap='round' />
37
+ <path d='M15.75 11.6838V6.66745L21 11.6838H15.75Z' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
38
+ <path d='M14.25 5.95084L10.9818 3.12196C10.8909 3.0433 10.7748 3.00001 10.6546 3.00001H6.92045H3.5C3.22386 3.00001 3 3.22387 3 3.50001L3.00001 16.2002C3.00001 16.4764 3.22387 16.7002 3.50001 16.7002H8.25001' stroke='none' strokeWidth={1.5} strokeLinecap='round' />
39
+ </svg>
40
+ )
41
+ break
42
+ case 'large':
43
+ icon = (
44
+ <svg
45
+ width={40}
46
+ height={40}
47
+ viewBox='0 0 40 40'
48
+ fill='none'
49
+ xmlns='http://www.w3.org/2000/svg'
50
+ className={className}
51
+ >
52
+ <path d='M15 34.5V11.6124C15 11.3363 15.2239 11.1124 15.5 11.1124H26.6274C26.7503 11.1124 26.8688 11.1576 26.9605 11.2395L34.833 18.2701C34.9393 18.365 35 18.5006 35 18.643V34.5C35 34.7761 34.7761 35 34.5 35H15.5C15.2239 35 15 34.7761 15 34.5Z' stroke='none' strokeWidth={2} strokeLinecap='round' />
53
+ <path d='M26.25 19.4731V11.1124L35 19.4731H26.25Z' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
54
+ <path d='M23.75 9.91807L18.2091 5.12197C18.1182 5.04331 18.002 5.00001 17.8818 5.00001H11.5341H5.5C5.22386 5.00001 5 5.22387 5 5.50002L5.00002 27.3337C5.00002 27.6099 5.22387 27.8337 5.50002 27.8337H13.75' stroke='none' strokeWidth={2} strokeLinecap='round' />
55
+ </svg>
56
+ )
57
+ break
58
+
59
+ default:
60
+ break
61
+ }
62
+ return icon
63
+ }
64
+
65
+ CopyPasteIcon.propTypes = {
66
+ /**
67
+ * color of text, icon and borders
68
+ */
69
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
70
+ /**
71
+ * Size
72
+ */
73
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
74
+ }
75
+
76
+ CopyPasteIcon.defaultProps = {
77
+ color: 'main-dark-blue',
78
+ size: 'normal'
79
+ }
80
+
81
+ export default CopyPasteIcon
@@ -0,0 +1,81 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const DatabaseIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'small':
11
+ icon = (
12
+ <svg
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <path d='M8 6.8072C11.3137 6.8072 14 5.73107 14 4.4036C14 3.07613 11.3137 2 8 2C4.68629 2 2 3.07613 2 4.4036C2 5.73107 4.68629 6.8072 8 6.8072Z' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
21
+ <path d='M14 8.08533C14 9.41275 11.3133 10.4889 8 10.4889C4.68667 10.4889 2 9.41275 2 8.08533' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
22
+ <path d='M14 4.40356V11.5964C14 12.9238 11.3133 14 8 14C4.68667 14 2 12.9238 2 11.5964V4.40356' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
23
+ </svg>
24
+ )
25
+ break
26
+ case 'normal':
27
+ icon = (
28
+ <svg
29
+ width={24}
30
+ height={24}
31
+ viewBox='0 0 24 24'
32
+ fill='none'
33
+ xmlns='http://www.w3.org/2000/svg'
34
+ className={className}
35
+ >
36
+ <path d='M12 10.2108C16.9706 10.2108 21 8.59661 21 6.6054C21 4.61419 16.9706 3 12 3C7.02944 3 3 4.61419 3 6.6054C3 8.59661 7.02944 10.2108 12 10.2108Z' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
37
+ <path d='M21 12.128C21 14.1191 16.97 15.7334 12 15.7334C7.03 15.7334 3 14.1191 3 12.128' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
38
+ <path d='M21 6.60535V17.3945C21 19.3857 16.97 21 12 21C7.03 21 3 19.3857 3 17.3945V6.60535' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
39
+ </svg>
40
+ )
41
+ break
42
+ case 'large':
43
+ icon = (
44
+ <svg
45
+ width={40}
46
+ height={40}
47
+ viewBox='0 0 40 40'
48
+ fill='none'
49
+ xmlns='http://www.w3.org/2000/svg'
50
+ className={className}
51
+ >
52
+ <path d='M20 17.018C28.2843 17.018 35 14.3277 35 11.009C35 7.69032 28.2843 5 20 5C11.7157 5 5 7.69032 5 11.009C5 14.3277 11.7157 17.018 20 17.018Z' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
53
+ <path d='M35 20.2133C35 23.5319 28.2833 26.2223 20 26.2223C11.7167 26.2223 5 23.5319 5 20.2133' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
54
+ <path d='M35 11.0089V28.9909C35 32.3095 28.2833 34.9999 20 34.9999C11.7167 34.9999 5 32.3095 5 28.9909V11.0089' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
55
+ </svg>
56
+ )
57
+ break
58
+
59
+ default:
60
+ break
61
+ }
62
+ return icon
63
+ }
64
+
65
+ DatabaseIcon.propTypes = {
66
+ /**
67
+ * color of text, icon and borders
68
+ */
69
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
70
+ /**
71
+ * Size
72
+ */
73
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
74
+ }
75
+
76
+ DatabaseIcon.defaultProps = {
77
+ color: 'main-dark-blue',
78
+ size: 'normal'
79
+ }
80
+
81
+ export default DatabaseIcon
@@ -1,38 +1,81 @@
1
1
  import * as React from 'react'
2
+ import PropTypes from 'prop-types'
2
3
  import styles from './Icons.module.css'
3
4
 
4
- const EditIcon = ({ color = 'green', size = 'normal' }) => {
5
+ const EditIcon = ({ color, size }) => {
5
6
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
7
  let icon = <></>
8
+
7
9
  switch (size) {
8
10
  case 'small':
9
11
  icon = (
10
- <svg width={16} height={16} viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg' className={className}>
11
- <rect
12
- x={10.0554}
13
- y={4.50607}
14
- width={2.11765}
15
- height={7.76471}
16
- transform='rotate(45 10.0554 4.50607)'
17
- stroke='none'
18
- strokeLinejoin='round'
19
- />
20
- <path
21
- d='M6.06234 11.4939L4.56494 9.99654L3.81624 12.2426L6.06234 11.4939Z'
22
- stroke='none'
23
- strokeLinejoin='round'
24
- />
25
- <path
26
- d='M10.8456 3.71577C11.2362 3.32525 11.8693 3.32525 12.2598 3.71577L12.343 3.79896C12.7336 4.18949 12.7336 4.82265 12.343 5.21318L11.5527 6.00347L10.0553 4.50607L10.8456 3.71577Z'
27
- stroke='none'
28
- />
12
+ <svg
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <rect x={10.0554} y={4.50604} width={2.11765} height={7.76471} transform='rotate(45 10.0554 4.50604)' stroke='none' strokeLinejoin='round' />
21
+ <path d='M6.06234 11.4939L4.56494 9.99652L3.81624 12.2426L6.06234 11.4939Z' stroke='none' strokeLinejoin='round' />
22
+ <path d='M10.8456 3.71577C11.2362 3.32525 11.8693 3.32525 12.2598 3.71577L12.343 3.79896C12.7336 4.18949 12.7336 4.82265 12.343 5.21318L11.5527 6.00347L10.0553 4.50607L10.8456 3.71577Z' stroke='none' />
23
+ </svg>
24
+ )
25
+ break
26
+ case 'normal':
27
+ icon = (
28
+ <svg
29
+ width={24}
30
+ height={24}
31
+ viewBox='0 0 24 24'
32
+ fill='none'
33
+ xmlns='http://www.w3.org/2000/svg'
34
+ className={className}
35
+ >
36
+ <rect x={15.083} y={6.75909} width={3.17647} height={11.6471} transform='rotate(45 15.083 6.75909)' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
37
+ <path d='M9.09327 17.2409L6.84717 14.9948L5.72412 18.364L9.09327 17.2409Z' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
38
+ <path d='M16.622 5.22011C17.0125 4.82958 17.6457 4.82958 18.0362 5.22011L18.8681 6.052C19.2586 6.44252 19.2586 7.07569 18.8681 7.46621L17.3291 9.00521L15.083 6.7591L16.622 5.22011Z' stroke='none' strokeWidth={1.5} />
39
+ </svg>
40
+ )
41
+ break
42
+ case 'large':
43
+ icon = (
44
+ <svg
45
+ width={40}
46
+ height={40}
47
+ viewBox='0 0 40 40'
48
+ fill='none'
49
+ xmlns='http://www.w3.org/2000/svg'
50
+ className={className}
51
+ >
52
+ <rect x={25.1384} y={11.2652} width={5.29412} height={19.4118} transform='rotate(45 25.1384 11.2652)' stroke='none' strokeWidth={2} strokeLinejoin='round' />
53
+ <path d='M15.1556 28.7348L11.4121 24.9913L9.54036 30.6066L15.1556 28.7348Z' stroke='none' strokeWidth={2} strokeLinejoin='round' />
54
+ <path d='M28.1747 8.22877C28.5653 7.83825 29.1984 7.83825 29.5889 8.22877L31.9182 10.5581C32.3088 10.9486 32.3088 11.5818 31.9182 11.9723L28.8818 15.0087L25.1383 11.2652L28.1747 8.22877Z' stroke='none' strokeWidth={2} />
29
55
  </svg>
30
56
  )
31
57
  break
58
+
32
59
  default:
33
60
  break
34
61
  }
35
62
  return icon
36
63
  }
37
64
 
65
+ EditIcon.propTypes = {
66
+ /**
67
+ * color of text, icon and borders
68
+ */
69
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
70
+ /**
71
+ * Size
72
+ */
73
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
74
+ }
75
+
76
+ EditIcon.defaultProps = {
77
+ color: 'main-dark-blue',
78
+ size: 'normal'
79
+ }
80
+
38
81
  export default EditIcon