@platformatic/ui-components 0.1.50 → 0.1.52

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 (54) 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/main.css +10 -0
  8. package/dist/vite.svg +1 -0
  9. package/package.json +3 -2
  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/src/components/icons/Calendar1Icon.jsx +0 -54
  49. package/src/components/icons/Calendar7Icon.jsx +0 -55
  50. package/src/components/icons/CopyIcon.jsx +0 -75
  51. package/src/components/icons/CreatedWorkspaceIcon.jsx +0 -70
  52. package/src/components/icons/DynamicWorkspaceIcon.jsx +0 -125
  53. package/src/components/icons/StaticWorkspaceIcon.jsx +0 -119
  54. package/src/components/icons/TriangleExclamationIcon.jsx +0 -26
@@ -0,0 +1,90 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const Calendar1DayIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
8
+
9
+ let icon = <></>
10
+
11
+ switch (size) {
12
+ case 'small':
13
+ icon = (
14
+ <svg
15
+ width={16}
16
+ height={16}
17
+ viewBox='0 0 16 16'
18
+ fill='none'
19
+ xmlns='http://www.w3.org/2000/svg'
20
+ className={className}
21
+ >
22
+ <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
23
+ <path d='M2 7H5M14 7H11' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
26
+ <path d='M7.59712 13V6.5L8.21223 7.09L7.59712 8H7.5L6.5 9V7L7.5 6H9V13H7.59712Z' fill='none' className={filledClassName} />
27
+ </svg>
28
+ )
29
+ break
30
+ case 'normal':
31
+ icon = (
32
+ <svg
33
+ width={24}
34
+ height={24}
35
+ viewBox='0 0 24 24'
36
+ fill='none'
37
+ xmlns='http://www.w3.org/2000/svg'
38
+ className={className}
39
+ >
40
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={2} />
41
+ <path d='M3 10.5H7.5M21 10.5H16.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
42
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
43
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
44
+ <path d='M11.3957 19.5V9.75L12.3183 10.635L11.3957 12H11.25L9.75 13.5V10.5L11.25 9H13.5V19.5H11.3957Z' fill='none' className={filledClassName} />
45
+
46
+ </svg>
47
+ )
48
+ break
49
+ case 'large':
50
+ icon = (
51
+ <svg
52
+ width={40}
53
+ height={40}
54
+ viewBox='0 0 40 40'
55
+ fill='none'
56
+ xmlns='http://www.w3.org/2000/svg'
57
+ className={className}
58
+ >
59
+ <rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
60
+ <path d='M5 17.5H12.5M35 17.5H27.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
61
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
62
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
63
+ <path d='M18.9928 32.5V16.25L20.5306 17.725L18.9928 20H18.75L16.25 22.5V17.5L18.75 15H22.5V32.5H18.9928Z' fill='none' className={filledClassName} />
64
+ </svg>
65
+ )
66
+ break
67
+
68
+ default:
69
+ break
70
+ }
71
+ return icon
72
+ }
73
+
74
+ Calendar1DayIcon.propTypes = {
75
+ /**
76
+ * color of text, icon and borders
77
+ */
78
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
79
+ /**
80
+ * Size
81
+ */
82
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
83
+ }
84
+
85
+ Calendar1DayIcon.defaultProps = {
86
+ color: 'main-dark-blue',
87
+ size: 'normal'
88
+ }
89
+
90
+ export default Calendar1DayIcon
@@ -0,0 +1,88 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const Calendar7DaysIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
8
+
9
+ let icon = <></>
10
+
11
+ switch (size) {
12
+ case 'small':
13
+ icon = (
14
+ <svg
15
+ width={16}
16
+ height={16}
17
+ viewBox='0 0 16 16'
18
+ fill='none'
19
+ xmlns='http://www.w3.org/2000/svg'
20
+ className={className}
21
+ >
22
+ <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
23
+ <path d='M2 7H4M14 7H12' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
26
+ <path d='M6.46691 13L9.65441 6.52L10.0294 7.1H5.65074L6.33456 6.47V8.29H5V6H11V6.87L8 13H6.46691Z' fill='none' className={filledClassName} />
27
+ </svg>
28
+ )
29
+ break
30
+ case 'normal':
31
+ icon = (
32
+ <svg
33
+ width={24}
34
+ height={24}
35
+ viewBox='0 0 24 24'
36
+ fill='none'
37
+ xmlns='http://www.w3.org/2000/svg'
38
+ className={className}
39
+ >
40
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={1.5} />
41
+ <path d='M3 10.5H6M21 10.5H18' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
42
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
43
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
44
+ <path d='M9.70037 19.5L14.4816 9.78L15.0441 10.65H8.4761L9.50184 9.705V12.435H7.5V9H16.5V10.305L12 19.5H9.70037Z' fill='none' className={filledClassName} />
45
+ </svg>
46
+ )
47
+ break
48
+ case 'large':
49
+ icon = (
50
+ <svg
51
+ width={40}
52
+ height={40}
53
+ viewBox='0 0 40 40'
54
+ fill='none'
55
+ xmlns='http://www.w3.org/2000/svg'
56
+ className={className}
57
+ ><rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
58
+ <path d='M5 17.5H10M35 17.5H30' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
59
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
60
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
61
+ <path d='M16.1673 32.5L24.136 16.3L25.0735 17.75H14.1268L15.8364 16.175V20.725H12.5V15H27.5V17.175L20 32.5H16.1673Z' fill='none' className={filledClassName} />
62
+ </svg>
63
+ )
64
+ break
65
+
66
+ default:
67
+ break
68
+ }
69
+ return icon
70
+ }
71
+
72
+ Calendar7DaysIcon.propTypes = {
73
+ /**
74
+ * color of text, icon and borders
75
+ */
76
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
77
+ /**
78
+ * Size
79
+ */
80
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
81
+ }
82
+
83
+ Calendar7DaysIcon.defaultProps = {
84
+ color: 'main-dark-blue',
85
+ size: 'normal'
86
+ }
87
+
88
+ export default Calendar7DaysIcon
@@ -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