@platformatic/ui-components 0.1.53 → 0.1.55

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 (51) hide show
  1. package/package.json +1 -1
  2. package/renovate.json +6 -0
  3. package/src/components/Modal.jsx +1 -1
  4. package/src/components/Sidebar.jsx +12 -5
  5. package/src/components/Sidebar.module.css +1 -1
  6. package/src/components/SimpleMetric.jsx +1 -1
  7. package/src/components/forms/Preview.jsx +1 -1
  8. package/src/components/icons/AlertIcon.jsx +1 -1
  9. package/src/components/icons/ApiEmptyIcon.jsx +140 -106
  10. package/src/components/icons/ApiIconClosed.jsx +51 -18
  11. package/src/components/icons/AppEmptyIcon.jsx +126 -93
  12. package/src/components/icons/AppListIcon.jsx +101 -71
  13. package/src/components/icons/BellIcon.jsx +78 -0
  14. package/src/components/icons/BillingIcon.jsx +98 -0
  15. package/src/components/icons/CircleArrowLeftIcon.jsx +95 -0
  16. package/src/components/icons/CircleArrowRightIcon.jsx +98 -0
  17. package/src/components/icons/CircleCheckMarkIcon.jsx +41 -29
  18. package/src/components/icons/CircleCloseHoverIcon.jsx +62 -36
  19. package/src/components/icons/CircleCloseIcon.jsx +52 -26
  20. package/src/components/icons/CircleExclamationIcon.jsx +87 -24
  21. package/src/components/icons/CircleTwoArrowsDownIcon.jsx +84 -0
  22. package/src/components/icons/CircleTwoArrowsUpIcon.jsx +87 -0
  23. package/src/components/icons/EnlargeIcon.jsx +85 -0
  24. package/src/components/icons/EntryIcon.jsx +82 -0
  25. package/src/components/icons/ExploreDocIcon.jsx +95 -0
  26. package/src/components/icons/GearIcon.jsx +2 -2
  27. package/src/components/icons/GraphQLIcon.jsx +98 -0
  28. package/src/components/icons/Icons.module.css +6 -0
  29. package/src/components/icons/KeyIcon.jsx +85 -0
  30. package/src/components/icons/LayersIcon.jsx +81 -0
  31. package/src/components/icons/LensIcon.jsx +79 -0
  32. package/src/components/icons/LiveIcon.jsx +60 -18
  33. package/src/components/icons/LogOutIcon.jsx +81 -0
  34. package/src/components/icons/MetricsIcon.jsx +80 -47
  35. package/src/components/icons/PlayIcon.jsx +57 -2
  36. package/src/components/icons/PullRequestIcon.jsx +87 -30
  37. package/src/components/icons/SendIcon.jsx +75 -0
  38. package/src/components/icons/SocialDiscordIcon.jsx +79 -0
  39. package/src/components/icons/SocialGitHubIcon.jsx +98 -0
  40. package/src/components/icons/SocialGitLabIcon.jsx +122 -0
  41. package/src/components/icons/SocialLinkedInIcon.jsx +85 -0
  42. package/src/components/icons/SocialNPMIcon.jsx +77 -0
  43. package/src/components/icons/SocialTwitterIcon.jsx +77 -0
  44. package/src/components/icons/StopIcon.jsx +59 -2
  45. package/src/components/icons/TerminalIcon.jsx +62 -2
  46. package/src/components/icons/{Users2Icon.jsx → TwoUsersIcon.jsx} +4 -4
  47. package/src/components/icons/UpgradeIcon.jsx +70 -1
  48. package/src/components/icons/WorkspaceFailIcon.jsx +112 -0
  49. package/src/components/icons/index.js +47 -5
  50. package/src/stories/PlatformaticIcon.stories.jsx +58 -26
  51. package/src/components/icons/CircleBackIcon.jsx +0 -51
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,98 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const BillingIcon = ({ 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
+ <path d='M12 5V3C12 2.44772 11.5523 2 11 2H3C2.44772 2 2 2.44772 2 3V13C2 13.5523 2.44772 14 3 14H6' stroke='none' strokeLinecap='round' />
23
+ <path d='M4 4H9.55556' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <path d='M4 6H6' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
25
+ <path d='M4 8H5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
26
+ <path d='M10.8332 9.07407C10.8332 9.35021 11.057 9.57407 11.3332 9.57407C11.6093 9.57407 11.8332 9.35021 11.8332 9.07407H10.8332ZM9.99984 9.49999C9.72081 9.49999 9.48985 9.42063 9.34223 9.31811C9.19275 9.21431 9.1665 9.12 9.1665 9.07407H8.1665C8.1665 9.5395 8.43873 9.90816 8.77183 10.1395C9.10678 10.3721 9.54249 10.5 9.99984 10.5V9.49999ZM9.1665 9.07407C9.1665 9.02813 9.19275 8.93382 9.34223 8.83002C9.48985 8.72751 9.72081 8.64814 9.99984 8.64814V7.64814C9.54249 7.64814 9.10678 7.77605 8.77183 8.00865C8.43873 8.23997 8.1665 8.60863 8.1665 9.07407H9.1665ZM9.99984 8.64814C10.2789 8.64814 10.5098 8.72751 10.6574 8.83002C10.8069 8.93382 10.8332 9.02813 10.8332 9.07407H11.8332C11.8332 8.60863 11.5609 8.23997 11.2278 8.00865C10.8929 7.77605 10.4572 7.64814 9.99984 7.64814V8.64814Z' fill='none' className={filledClassName} />
27
+ <path d='M8.66683 10.9259C8.66683 11.4373 9.26378 11.8519 10.0002 11.8519C10.7365 11.8519 11.3335 11.4373 11.3335 10.9259C11.3335 10.4146 10.7365 10 10.0002 10' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
28
+ <path d='M10 7.77778V12.2222' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
29
+ <circle cx={10} cy={10} r={4} stroke='none' />
30
+ </svg>
31
+ )
32
+ break
33
+ case 'medium':
34
+ icon = (
35
+ <svg
36
+ width={24}
37
+ height={24}
38
+ viewBox='0 0 24 24'
39
+ fill='none'
40
+ xmlns='http://www.w3.org/2000/svg'
41
+ className={className}
42
+ >
43
+ <path d='M18 7.5V4C18 3.44772 17.5523 3 17 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H9' stroke='none' strokeWidth={1.5} strokeLinecap='round' />
44
+ <path d='M6 6H14.3333' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
45
+ <path d='M6 9H9' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
46
+ <path d='M6 12H7.5' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
47
+ <path d='M16.2498 13.6111C16.2498 14.0253 16.5855 14.3611 16.9998 14.3611C17.414 14.3611 17.7498 14.0253 17.7498 13.6111H16.2498ZM14.9998 14.25C14.5812 14.25 14.2348 14.1309 14.0133 13.9772C13.7891 13.8215 13.7498 13.68 13.7498 13.6111H12.2498C12.2498 14.3093 12.6581 14.8622 13.1577 15.2092C13.6602 15.5581 14.3137 15.75 14.9998 15.75V14.25ZM13.7498 13.6111C13.7498 13.5422 13.7891 13.4007 14.0133 13.245C14.2348 13.0913 14.5812 12.9722 14.9998 12.9722V11.4722C14.3137 11.4722 13.6602 11.6641 13.1577 12.013C12.6581 12.36 12.2498 12.9129 12.2498 13.6111H13.7498ZM14.9998 12.9722C15.4183 12.9722 15.7647 13.0913 15.9862 13.245C16.2104 13.4007 16.2498 13.5422 16.2498 13.6111H17.7498C17.7498 12.9129 17.3414 12.36 16.8418 12.013C16.3393 11.6641 15.6858 11.4722 14.9998 11.4722V12.9722Z' fill='none' className={filledClassName} />
48
+ <path d='M13.0002 16.3889C13.0002 17.156 13.8957 17.7778 15.0002 17.7778C16.1048 17.7778 17.0002 17.156 17.0002 16.3889C17.0002 15.6219 16.1048 15 15.0002 15' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
49
+ <path d='M15 11.6667V18.3333' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
50
+ <circle cx={15} cy={15} r={6} stroke='none' strokeWidth={1.5} />
51
+ </svg>
52
+ )
53
+ break
54
+ case 'large':
55
+ icon = (
56
+ <svg
57
+ width={40}
58
+ height={40}
59
+ viewBox='0 0 40 40'
60
+ fill='none'
61
+ xmlns='http://www.w3.org/2000/svg'
62
+ className={className}
63
+ >
64
+ <path d='M30 12.5V6C30 5.44772 29.5523 5 29 5H6C5.44772 5 5 5.44772 5 6V34C5 34.5523 5.44772 35 6 35H15' stroke='none' strokeWidth={2} strokeLinecap='round' />
65
+ <path d='M10 10H23.8889' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
66
+ <path d='M10 15H15' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
67
+ <path d='M10 20H12.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
68
+ <path d='M27.3332 22.6852C27.3332 23.2375 27.7809 23.6852 28.3332 23.6852C28.8855 23.6852 29.3332 23.2375 29.3332 22.6852H27.3332ZM24.9998 24C24.2577 24 23.6291 23.7894 23.2132 23.5006C22.7936 23.2092 22.6665 22.9049 22.6665 22.6852H20.6665C20.6665 23.7439 21.2856 24.5969 22.0724 25.1434C22.863 25.6923 23.901 26 24.9998 26V24ZM22.6665 22.6852C22.6665 22.4655 22.7936 22.1611 23.2132 21.8697C23.6291 21.5809 24.2577 21.3704 24.9998 21.3704V19.3704C23.901 19.3704 22.863 19.678 22.0724 20.227C21.2856 20.7734 20.6665 21.6264 20.6665 22.6852H22.6665ZM24.9998 21.3704C25.742 21.3704 26.3706 21.5809 26.7865 21.8697C27.2061 22.1611 27.3332 22.4655 27.3332 22.6852H29.3332C29.3332 21.6264 28.7141 20.7734 27.9273 20.227C27.1367 19.678 26.0986 19.3704 24.9998 19.3704V21.3704Z' fill='none' className={filledClassName} />
69
+ <path d='M21.6671 27.3149C21.6671 28.5933 23.1595 29.6297 25.0004 29.6297C26.8414 29.6297 28.3337 28.5933 28.3337 27.3149C28.3337 26.0364 26.8414 25.0001 25.0004 25.0001' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
70
+ <path d='M25 19.4445V30.5556' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
71
+ <circle cx={25} cy={25} r={10} stroke='none' strokeWidth={2} />
72
+ </svg>
73
+ )
74
+ break
75
+
76
+ default:
77
+ break
78
+ }
79
+ return icon
80
+ }
81
+
82
+ BillingIcon.propTypes = {
83
+ /**
84
+ * color of text, icon and borders
85
+ */
86
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
87
+ /**
88
+ * Size
89
+ */
90
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
91
+ }
92
+
93
+ BillingIcon.defaultProps = {
94
+ color: 'main-dark-blue',
95
+ size: 'medium'
96
+ }
97
+
98
+ export default BillingIcon