@platformatic/ui-components 0.1.52 → 0.1.54

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 (65) hide show
  1. package/README.md +12 -0
  2. package/package.json +1 -1
  3. package/src/components/Modal.jsx +1 -1
  4. package/src/components/Sidebar.jsx +2 -2
  5. package/src/components/SimpleMetric.jsx +1 -1
  6. package/src/components/forms/Preview.jsx +1 -1
  7. package/src/components/icons/AddIcon.jsx +2 -2
  8. package/src/components/icons/AlertIcon.jsx +2 -2
  9. package/src/components/icons/AllInOneIcon.jsx +2 -2
  10. package/src/components/icons/ApiCloudIcon.jsx +2 -2
  11. package/src/components/icons/ApiEmptyIcon.jsx +140 -106
  12. package/src/components/icons/ApiIcon.jsx +2 -2
  13. package/src/components/icons/ApiIconClosed.jsx +51 -18
  14. package/src/components/icons/AppEmptyIcon.jsx +126 -93
  15. package/src/components/icons/AppIcon.jsx +2 -2
  16. package/src/components/icons/AppListIcon.jsx +101 -71
  17. package/src/components/icons/ArrowDownFullIcon.jsx +2 -2
  18. package/src/components/icons/ArrowDownIcon.jsx +2 -2
  19. package/src/components/icons/ArrowLeftIcon.jsx +2 -2
  20. package/src/components/icons/ArrowRightIcon.jsx +2 -2
  21. package/src/components/icons/ArrowUpIcon.jsx +2 -2
  22. package/src/components/icons/BellIcon.jsx +78 -0
  23. package/src/components/icons/BillingIcon.jsx +98 -0
  24. package/src/components/icons/Calendar1DayIcon.jsx +2 -2
  25. package/src/components/icons/Calendar7DaysIcon.jsx +2 -2
  26. package/src/components/icons/CalendarIcon.jsx +2 -2
  27. package/src/components/icons/CircleAddIcon.jsx +2 -2
  28. package/src/components/icons/CircleBackIcon.jsx +46 -24
  29. package/src/components/icons/CircleCheckMarkIcon.jsx +41 -29
  30. package/src/components/icons/CircleCloseHoverIcon.jsx +62 -36
  31. package/src/components/icons/CircleCloseIcon.jsx +52 -26
  32. package/src/components/icons/CircleExclamationIcon.jsx +87 -24
  33. package/src/components/icons/CloseIcon.jsx +2 -2
  34. package/src/components/icons/CopyPasteIcon.jsx +2 -2
  35. package/src/components/icons/DatabaseIcon.jsx +2 -2
  36. package/src/components/icons/EditIcon.jsx +2 -2
  37. package/src/components/icons/EnlargeIcon.jsx +85 -0
  38. package/src/components/icons/EntryIcon.jsx +82 -0
  39. package/src/components/icons/GearIcon.jsx +4 -4
  40. package/src/components/icons/GraphQLIcon.jsx +98 -0
  41. package/src/components/icons/Icons.module.css +6 -0
  42. package/src/components/icons/KeyIcon.jsx +85 -0
  43. package/src/components/icons/LayersIcon.jsx +81 -0
  44. package/src/components/icons/LensIcon.jsx +79 -0
  45. package/src/components/icons/LiveIcon.jsx +60 -18
  46. package/src/components/icons/LogOutIcon.jsx +81 -0
  47. package/src/components/icons/MetricsIcon.jsx +80 -47
  48. package/src/components/icons/PlayIcon.jsx +57 -2
  49. package/src/components/icons/PullRequestIcon.jsx +87 -30
  50. package/src/components/icons/SendIcon.jsx +75 -0
  51. package/src/components/icons/SocialDiscordIcon.jsx +79 -0
  52. package/src/components/icons/SocialGitHubIcon.jsx +98 -0
  53. package/src/components/icons/SocialGitLabIcon.jsx +122 -0
  54. package/src/components/icons/SocialLinkedInIcon.jsx +85 -0
  55. package/src/components/icons/SocialNPMIcon.jsx +77 -0
  56. package/src/components/icons/SocialTwitterIcon.jsx +77 -0
  57. package/src/components/icons/StopIcon.jsx +59 -2
  58. package/src/components/icons/TerminalIcon.jsx +62 -2
  59. package/src/components/icons/UpgradeIcon.jsx +70 -1
  60. package/src/components/icons/Users2Icon.jsx +2 -2
  61. package/src/components/icons/WorkspaceDynamicIcon.jsx +2 -2
  62. package/src/components/icons/WorkspaceReadyIcon.jsx +2 -2
  63. package/src/components/icons/WorkspaceStaticIcon.jsx +2 -2
  64. package/src/components/icons/index.js +33 -1
  65. package/src/stories/PlatformaticIcon.stories.jsx +1 -1
@@ -1,94 +1,127 @@
1
- import React from 'react'
2
- export default function AppEmptyIcon () {
3
- return (
4
- <svg
5
- width={81}
6
- height={80}
7
- viewBox='0 0 81 80'
8
- fill='none'
9
- xmlns='http://www.w3.org/2000/svg'
10
- >
11
- <path
12
- d='M34.8199 45.5671H24.4589C23.9066 45.5671 23.4589 46.0149 23.4589 46.5671V66.3802C23.4589 66.9324 23.9066 67.3802 24.4589 67.3802H56.5418C57.0941 67.3802 57.5418 66.9324 57.5418 66.3802V46.5671C57.5418 46.0149 57.0941 45.5671 56.5418 45.5671H46.1808'
13
- stroke='#21FA90'
14
- strokeWidth={3}
15
- strokeLinecap='round'
16
- />
17
- <rect
18
- x={34.8199}
19
- y={67.3799}
20
- width={11.3609}
21
- height={5.45325}
22
- stroke='#21FA90'
23
- strokeWidth={3}
24
- />
25
- <path
26
- d='M29.1394 73.8333C29.1394 73.281 29.5871 72.8333 30.1394 72.8333H50.8613C51.4136 72.8333 51.8613 73.281 51.8613 73.8333V76.9232H29.1394V73.8333Z'
27
- stroke='#21FA90'
28
- strokeWidth={3}
29
- />
30
- <path
31
- d='M40.5004 42.8403L43.051 50.3765L51.3053 50.3765L44.6275 55.0342L47.1782 62.5704L40.5004 57.9128L33.8226 62.5704L36.3732 55.0342L29.6954 50.3765L37.9497 50.3765L40.5004 42.8403Z'
32
- stroke='#21FA90'
33
- strokeWidth={3}
34
- strokeLinejoin='round'
35
- />
36
- <path
37
- d='M19.1982 57.0413H9.25739V37.1597'
38
- stroke='#21FA90'
39
- strokeWidth={3}
40
- strokeLinecap='round'
41
- strokeLinejoin='round'
42
- />
43
- <path
44
- d='M29.139 39.9999V14.4377'
45
- stroke='#21FA90'
46
- strokeWidth={3}
47
- strokeLinecap='round'
48
- strokeLinejoin='round'
49
- />
50
- <path
51
- d='M61.8018 57.0414H71.7426V45.6804'
52
- stroke='#21FA90'
53
- strokeWidth={3}
54
- strokeLinecap='round'
55
- strokeLinejoin='round'
56
- />
57
- <path
58
- d='M49.0207 41.4201V32.8994H58.9615V17.2781'
59
- stroke='#21FA90'
60
- strokeWidth={3}
61
- strokeLinecap='round'
62
- strokeLinejoin='round'
63
- />
64
- <circle
65
- cx={9.25738}
66
- cy={31.4793}
67
- r={5.68047}
68
- stroke='#21FA90'
69
- strokeWidth={3}
70
- />
71
- <circle
72
- cx={29.139}
73
- cy={8.75738}
74
- r={5.68047}
75
- stroke='#21FA90'
76
- strokeWidth={3}
77
- />
78
- <circle
79
- cx={58.9615}
80
- cy={11.5977}
81
- r={5.68047}
82
- stroke='#21FA90'
83
- strokeWidth={3}
84
- />
85
- <circle
86
- cx={71.7426}
87
- cy={40.0001}
88
- r={5.68047}
89
- stroke='#21FA90'
90
- strokeWidth={3}
91
- />
92
- </svg>
93
- )
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const AppEmptyIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'extra-large':
11
+ icon = (
12
+ <svg
13
+ width={81}
14
+ height={80}
15
+ viewBox='0 0 81 80'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <path
21
+ d='M34.8199 45.5671H24.4589C23.9066 45.5671 23.4589 46.0149 23.4589 46.5671V66.3802C23.4589 66.9324 23.9066 67.3802 24.4589 67.3802H56.5418C57.0941 67.3802 57.5418 66.9324 57.5418 66.3802V46.5671C57.5418 46.0149 57.0941 45.5671 56.5418 45.5671H46.1808'
22
+ stroke='none'
23
+ strokeWidth={3}
24
+ strokeLinecap='round'
25
+ />
26
+ <rect
27
+ x={34.8199}
28
+ y={67.3799}
29
+ width={11.3609}
30
+ height={5.45325}
31
+ stroke='none'
32
+ strokeWidth={3}
33
+ />
34
+ <path
35
+ d='M29.1394 73.8333C29.1394 73.281 29.5871 72.8333 30.1394 72.8333H50.8613C51.4136 72.8333 51.8613 73.281 51.8613 73.8333V76.9232H29.1394V73.8333Z'
36
+ stroke='none'
37
+ strokeWidth={3}
38
+ />
39
+ <path
40
+ d='M40.5004 42.8403L43.051 50.3765L51.3053 50.3765L44.6275 55.0342L47.1782 62.5704L40.5004 57.9128L33.8226 62.5704L36.3732 55.0342L29.6954 50.3765L37.9497 50.3765L40.5004 42.8403Z'
41
+ stroke='none'
42
+ strokeWidth={3}
43
+ strokeLinejoin='round'
44
+ />
45
+ <path
46
+ d='M19.1982 57.0413H9.25739V37.1597'
47
+ stroke='none'
48
+ strokeWidth={3}
49
+ strokeLinecap='round'
50
+ strokeLinejoin='round'
51
+ />
52
+ <path
53
+ d='M29.139 39.9999V14.4377'
54
+ stroke='none'
55
+ strokeWidth={3}
56
+ strokeLinecap='round'
57
+ strokeLinejoin='round'
58
+ />
59
+ <path
60
+ d='M61.8018 57.0414H71.7426V45.6804'
61
+ stroke='none'
62
+ strokeWidth={3}
63
+ strokeLinecap='round'
64
+ strokeLinejoin='round'
65
+ />
66
+ <path
67
+ d='M49.0207 41.4201V32.8994H58.9615V17.2781'
68
+ stroke='none'
69
+ strokeWidth={3}
70
+ strokeLinecap='round'
71
+ strokeLinejoin='round'
72
+ />
73
+ <circle
74
+ cx={9.25738}
75
+ cy={31.4793}
76
+ r={5.68047}
77
+ stroke='none'
78
+ strokeWidth={3}
79
+ />
80
+ <circle
81
+ cx={29.139}
82
+ cy={8.75738}
83
+ r={5.68047}
84
+ stroke='none'
85
+ strokeWidth={3}
86
+ />
87
+ <circle
88
+ cx={58.9615}
89
+ cy={11.5977}
90
+ r={5.68047}
91
+ stroke='none'
92
+ strokeWidth={3}
93
+ />
94
+ <circle
95
+ cx={71.7426}
96
+ cy={40.0001}
97
+ r={5.68047}
98
+ stroke='none'
99
+ strokeWidth={3}
100
+ />
101
+ </svg>
102
+ )
103
+ break
104
+
105
+ default:
106
+ break
107
+ }
108
+ return icon
94
109
  }
110
+
111
+ AppEmptyIcon.propTypes = {
112
+ /**
113
+ * color of text, icon and borders
114
+ */
115
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
116
+ /**
117
+ * Size
118
+ */
119
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
120
+ }
121
+
122
+ AppEmptyIcon.defaultProps = {
123
+ color: 'main-dark-blue',
124
+ size: 'medium'
125
+ }
126
+
127
+ export default AppEmptyIcon
@@ -25,7 +25,7 @@ const AppIcon = ({ color, size }) => {
25
25
  </svg>
26
26
  )
27
27
  break
28
- case 'normal':
28
+ case 'medium':
29
29
  icon = (
30
30
  <svg
31
31
  width={24}
@@ -79,7 +79,7 @@ AppIcon.propTypes = {
79
79
 
80
80
  AppIcon.defaultProps = {
81
81
  color: 'main-dark-blue',
82
- size: 'normal'
82
+ size: 'medium'
83
83
  }
84
84
 
85
85
  export default AppIcon
@@ -1,73 +1,103 @@
1
- import React from 'react'
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
2
3
  import styles from './Icons.module.css'
3
- export default function AppListIcon ({ color = 'white' }) {
4
- const className = styles[`${color}`]
5
- return (
6
- <svg
7
- width={49}
8
- height={67}
9
- viewBox='0 0 49 67'
10
- fill='none'
11
- xmlns='http://www.w3.org/2000/svg'
12
- className={className}
13
- >
14
- <path
15
- d='M19.6628 38.0801H11.9961C11.4438 38.0801 10.9961 38.5278 10.9961 39.0801V53.7201C10.9961 54.2724 11.4438 54.7201 11.9961 54.7201H35.9961C36.5484 54.7201 36.9961 54.2724 36.9961 53.7201V39.0801C36.9961 38.5278 36.5484 38.0801 35.9961 38.0801H28.3294'
16
- stroke='none'
17
- strokeWidth={2}
18
- strokeLinecap='round'
19
- />
20
- <rect
21
- x={19.6631}
22
- y={54.72}
23
- width={8.66667}
24
- height={4.16}
25
- stroke='white'
26
- strokeWidth={2}
27
- />
28
- <path
29
- d='M15.3291 59.8799C15.3291 59.3276 15.7768 58.8799 16.3291 58.8799H31.6624C32.2147 58.8799 32.6624 59.3276 32.6624 59.8799V61.9999H15.3291V59.8799Z'
30
- stroke='white'
31
- strokeWidth={2}
32
- />
33
- <path
34
- d='M23.9958 36L25.9416 41.749H32.2383L27.1441 45.302L29.0899 51.051L23.9958 47.498L18.9016 51.051L20.8474 45.302L15.7533 41.749H22.05L23.9958 36Z'
35
- stroke='white'
36
- strokeWidth={2}
37
- strokeLinejoin='round'
38
- />
39
- <path
40
- d='M20.9961 34H15.9961V25H13.9961'
41
- stroke='white'
42
- strokeWidth={2}
43
- strokeLinecap='round'
44
- strokeLinejoin='round'
45
- />
46
- <path
47
- d='M19.9961 29.5V9'
48
- stroke='white'
49
- strokeWidth={2}
50
- strokeLinecap='round'
51
- strokeLinejoin='round'
52
- />
53
- <path
54
- d='M27.9961 35H32V27H38.9961V19'
55
- stroke='white'
56
- strokeWidth={2}
57
- strokeLinecap='round'
58
- strokeLinejoin='round'
59
- />
60
- <path
61
- d='M26 31.5V22H30.9961V14.5'
62
- stroke='white'
63
- strokeWidth={2}
64
- strokeLinecap='round'
65
- strokeLinejoin='round'
66
- />
67
- <circle cx={11.9961} cy={25} r={2} stroke='white' strokeWidth={2} />
68
- <circle cx={19.9961} cy={7} r={2} stroke='white' strokeWidth={2} />
69
- <circle cx={30.9961} cy={12} r={2} stroke='white' strokeWidth={2} />
70
- <circle cx={38.9961} cy={17} r={2} stroke='white' strokeWidth={2} />
71
- </svg>
72
- )
4
+
5
+ const AppListIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'extra-large':
11
+ icon = (
12
+ <svg
13
+ width={81}
14
+ height={80}
15
+ viewBox='0 0 81 80'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <path
21
+ d='M19.6628 38.0801H11.9961C11.4438 38.0801 10.9961 38.5278 10.9961 39.0801V53.7201C10.9961 54.2724 11.4438 54.7201 11.9961 54.7201H35.9961C36.5484 54.7201 36.9961 54.2724 36.9961 53.7201V39.0801C36.9961 38.5278 36.5484 38.0801 35.9961 38.0801H28.3294'
22
+ stroke='none'
23
+ strokeWidth={2}
24
+ strokeLinecap='round'
25
+ />
26
+ <rect
27
+ x={19.6631}
28
+ y={54.72}
29
+ width={8.66667}
30
+ height={4.16}
31
+ stroke='none'
32
+ strokeWidth={2}
33
+ />
34
+ <path
35
+ d='M15.3291 59.8799C15.3291 59.3276 15.7768 58.8799 16.3291 58.8799H31.6624C32.2147 58.8799 32.6624 59.3276 32.6624 59.8799V61.9999H15.3291V59.8799Z'
36
+ stroke='none'
37
+ strokeWidth={2}
38
+ />
39
+ <path
40
+ d='M23.9958 36L25.9416 41.749H32.2383L27.1441 45.302L29.0899 51.051L23.9958 47.498L18.9016 51.051L20.8474 45.302L15.7533 41.749H22.05L23.9958 36Z'
41
+ stroke='none'
42
+ strokeWidth={2}
43
+ strokeLinejoin='round'
44
+ />
45
+ <path
46
+ d='M20.9961 34H15.9961V25H13.9961'
47
+ stroke='none'
48
+ strokeWidth={2}
49
+ strokeLinecap='round'
50
+ strokeLinejoin='round'
51
+ />
52
+ <path
53
+ d='M19.9961 29.5V9'
54
+ stroke='none'
55
+ strokeWidth={2}
56
+ strokeLinecap='round'
57
+ strokeLinejoin='round'
58
+ />
59
+ <path
60
+ d='M27.9961 35H32V27H38.9961V19'
61
+ stroke='none'
62
+ strokeWidth={2}
63
+ strokeLinecap='round'
64
+ strokeLinejoin='round'
65
+ />
66
+ <path
67
+ d='M26 31.5V22H30.9961V14.5'
68
+ stroke='none'
69
+ strokeWidth={2}
70
+ strokeLinecap='round'
71
+ strokeLinejoin='round'
72
+ />
73
+ <circle cx={11.9961} cy={25} r={2} stroke='none' strokeWidth={2} />
74
+ <circle cx={19.9961} cy={7} r={2} stroke='none' strokeWidth={2} />
75
+ <circle cx={30.9961} cy={12} r={2} stroke='none' strokeWidth={2} />
76
+ <circle cx={38.9961} cy={17} r={2} stroke='none' strokeWidth={2} />
77
+ </svg>
78
+ )
79
+ break
80
+
81
+ default:
82
+ break
83
+ }
84
+ return icon
73
85
  }
86
+
87
+ AppListIcon.propTypes = {
88
+ /**
89
+ * color of text, icon and borders
90
+ */
91
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
92
+ /**
93
+ * Size
94
+ */
95
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
96
+ }
97
+
98
+ AppListIcon.defaultProps = {
99
+ color: 'main-dark-blue',
100
+ size: 'medium'
101
+ }
102
+
103
+ export default AppListIcon
@@ -22,7 +22,7 @@ const ArrowDownFullIcon = ({ color, size }) => {
22
22
  </svg>
23
23
  )
24
24
  break
25
- case 'normal':
25
+ case 'medium':
26
26
  icon = (
27
27
  <svg
28
28
  width={24}
@@ -70,7 +70,7 @@ ArrowDownFullIcon.propTypes = {
70
70
 
71
71
  ArrowDownFullIcon.defaultProps = {
72
72
  color: 'main-dark-blue',
73
- size: 'normal'
73
+ size: 'medium'
74
74
  }
75
75
 
76
76
  export default ArrowDownFullIcon
@@ -21,7 +21,7 @@ const ArrowDownIcon = ({ color, size }) => {
21
21
  </svg>
22
22
  )
23
23
  break
24
- case 'normal':
24
+ case 'medium':
25
25
  icon = (
26
26
  <svg
27
27
  width={24}
@@ -69,7 +69,7 @@ ArrowDownIcon.propTypes = {
69
69
 
70
70
  ArrowDownIcon.defaultProps = {
71
71
  color: 'main-dark-blue',
72
- size: 'normal'
72
+ size: 'medium'
73
73
  }
74
74
 
75
75
  export default ArrowDownIcon
@@ -21,7 +21,7 @@ const ArrowLeftIcon = ({ color, size }) => {
21
21
  </svg>
22
22
  )
23
23
  break
24
- case 'normal':
24
+ case 'medium':
25
25
  icon = (
26
26
  <svg
27
27
  width={24}
@@ -69,7 +69,7 @@ ArrowLeftIcon.propTypes = {
69
69
 
70
70
  ArrowLeftIcon.defaultProps = {
71
71
  color: 'main-dark-blue',
72
- size: 'normal'
72
+ size: 'medium'
73
73
  }
74
74
 
75
75
  export default ArrowLeftIcon
@@ -21,7 +21,7 @@ const ArrowRightIcon = ({ color, size }) => {
21
21
  </svg>
22
22
  )
23
23
  break
24
- case 'normal':
24
+ case 'medium':
25
25
  icon = (
26
26
  <svg
27
27
  width={24}
@@ -69,7 +69,7 @@ ArrowRightIcon.propTypes = {
69
69
 
70
70
  ArrowRightIcon.defaultProps = {
71
71
  color: 'main-dark-blue',
72
- size: 'normal'
72
+ size: 'medium'
73
73
  }
74
74
 
75
75
  export default ArrowRightIcon
@@ -21,7 +21,7 @@ const ArrowDownIcon = ({ color, size }) => {
21
21
  </svg>
22
22
  )
23
23
  break
24
- case 'normal':
24
+ case 'medium':
25
25
  icon = (
26
26
  <svg
27
27
  width={24}
@@ -69,7 +69,7 @@ ArrowDownIcon.propTypes = {
69
69
 
70
70
  ArrowDownIcon.defaultProps = {
71
71
  color: 'main-dark-blue',
72
- size: 'normal'
72
+ size: 'medium'
73
73
  }
74
74
 
75
75
  export default ArrowDownIcon
@@ -0,0 +1,78 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const BellIcon = ({ 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 2C5.79086 2 4 3.62806 4 5.63636V9.5L2 12H14L12 9V5.63636C12 3.62806 10.2091 2 8 2Z' stroke='none' strokeLinejoin='round' />
21
+ <path d='M10 12C10 13.1046 9.10457 14 8 14C6.89543 14 6 13.1046 6 12' stroke='none' />
22
+ </svg>
23
+ )
24
+ break
25
+ case 'medium':
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='M12 3C8.68629 3 6 5.44208 6 8.45455V14.25L3 18H21L18 13.5V8.45455C18 5.44208 15.3137 3 12 3Z' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
36
+ <path d='M15 18C15 19.6569 13.6569 21 12 21C10.3431 21 9 19.6569 9 18' stroke='none' strokeWidth={1.5} />
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='M20 5C14.4772 5 10 9.07014 10 14.0909V23.75L5 30H35L30 22.5V14.0909C30 9.07014 25.5228 5 20 5Z' stroke='none' strokeWidth={2} strokeLinejoin='round' />
51
+ <path d='M25 30C25 32.7614 22.7614 35 20 35C17.2386 35 15 32.7614 15 30' stroke='none' strokeWidth={2} />
52
+ </svg>
53
+ )
54
+ break
55
+
56
+ default:
57
+ break
58
+ }
59
+ return icon
60
+ }
61
+
62
+ BellIcon.propTypes = {
63
+ /**
64
+ * color of text, icon and borders
65
+ */
66
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
67
+ /**
68
+ * Size
69
+ */
70
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
71
+ }
72
+
73
+ BellIcon.defaultProps = {
74
+ color: 'main-dark-blue',
75
+ size: 'medium'
76
+ }
77
+
78
+ export default BellIcon