@platformatic/ui-components 0.1.49 → 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 (177) hide show
  1. package/.github/workflows/ci.yml +26 -26
  2. package/.nvmrc +1 -1
  3. package/LICENSE +201 -201
  4. package/README.md +30 -30
  5. package/dist/api-icon-closed.svg +6 -0
  6. package/dist/api-icon.svg +9 -0
  7. package/dist/assets/Montserrat-Regular.dcfe8df2.ttf +0 -0
  8. package/dist/assets/index.691ca940.css +1 -0
  9. package/dist/assets/index.ff0dadfc.js +797 -0
  10. package/dist/index.html +14 -0
  11. package/dist/stats.html +6177 -0
  12. package/dist/vite.svg +1 -0
  13. package/fonts/Montserrat/README.txt +81 -81
  14. package/index.html +12 -12
  15. package/index.js +71 -71
  16. package/package.json +76 -76
  17. package/postcss.config.cjs +8 -8
  18. package/public/api-icon-closed.svg +6 -6
  19. package/public/api-icon.svg +9 -9
  20. package/src/App.jsx +12 -12
  21. package/src/components/BorderedBox.jsx +18 -18
  22. package/src/components/BorderedBox.module.css +8 -8
  23. package/src/components/BorderedText.jsx +8 -8
  24. package/src/components/BorderedText.module.css +2 -2
  25. package/src/components/Box.jsx +14 -14
  26. package/src/components/Box.module.css +7 -7
  27. package/src/components/Button.jsx +95 -95
  28. package/src/components/Button.module.css +127 -127
  29. package/src/components/ButtonFullRounded.jsx +17 -17
  30. package/src/components/ButtonFullRounded.module.css +28 -28
  31. package/src/components/Checkbox.jsx +11 -11
  32. package/src/components/Checkbox.module.css +18 -18
  33. package/src/components/Common.module.css +28 -28
  34. package/src/components/DetailedMetric.jsx +32 -32
  35. package/src/components/DetailedMetric.module.css +2 -2
  36. package/src/components/DropDown.jsx +35 -36
  37. package/src/components/DropDown.module.css +25 -27
  38. package/src/components/FollowUs.jsx +35 -35
  39. package/src/components/FollowUs.module.css +11 -11
  40. package/src/components/GHLoginButton.jsx +14 -14
  41. package/src/components/HorizontalSeparator.jsx +15 -15
  42. package/src/components/HorizontalSeparator.module.css +26 -26
  43. package/src/components/InfoBox.jsx +50 -50
  44. package/src/components/InfoBox.module.css +5 -5
  45. package/src/components/List.jsx +20 -20
  46. package/src/components/List.module.css +11 -11
  47. package/src/components/ListElement.jsx +23 -23
  48. package/src/components/ListElement.module.css +23 -23
  49. package/src/components/Loadable.jsx +34 -34
  50. package/src/components/Loadable.module.css +13 -13
  51. package/src/components/Loader.jsx +22 -22
  52. package/src/components/Loader.module.css +13 -13
  53. package/src/components/LoginButton.jsx +17 -17
  54. package/src/components/LoginButton.module.css +7 -7
  55. package/src/components/LoginButton.test.jsx +25 -25
  56. package/src/components/Logo.jsx +62 -62
  57. package/src/components/Logo.module.css +5 -5
  58. package/src/components/Main.jsx +33 -33
  59. package/src/components/MetricValue.jsx +15 -15
  60. package/src/components/MetricValue.module.css +9 -9
  61. package/src/components/Modal.jsx +93 -93
  62. package/src/components/Modal.module.css +50 -50
  63. package/src/components/PlatformaticIcon.jsx +57 -57
  64. package/src/components/PlatformaticIcon.module.css +2 -2
  65. package/src/components/Playground.jsx +9 -9
  66. package/src/components/SearchBar.jsx +63 -63
  67. package/src/components/SearchBar.module.css +20 -20
  68. package/src/components/Sidebar.jsx +151 -153
  69. package/src/components/Sidebar.module.css +70 -66
  70. package/src/components/SimpleMetric.jsx +28 -28
  71. package/src/components/SimpleMetric.module.css +6 -6
  72. package/src/components/Status.jsx +26 -26
  73. package/src/components/TabbedWindow.jsx +39 -39
  74. package/src/components/TabbedWindow.module.css +16 -16
  75. package/src/components/TextWithLabel.jsx +11 -11
  76. package/src/components/TextWithLabel.module.css +8 -8
  77. package/src/components/Versions.jsx +9 -9
  78. package/src/components/VerticalSeparator.jsx +5 -5
  79. package/src/components/forms/Field.jsx +53 -20
  80. package/src/components/forms/Field.module.css +23 -17
  81. package/src/components/forms/Input.jsx +80 -80
  82. package/src/components/forms/Input.module.css +28 -28
  83. package/src/components/forms/Preview.jsx +75 -77
  84. package/src/components/forms/Preview.module.css +14 -14
  85. package/src/components/forms/ToggleSwitch.jsx +18 -18
  86. package/src/components/forms/ToggleSwitch.module.css +42 -42
  87. package/src/components/forms/index.js +8 -8
  88. package/src/components/icons/AddIcon.jsx +78 -0
  89. package/src/components/icons/AlertIcon.jsx +81 -0
  90. package/src/components/icons/AllInOneIcon.jsx +111 -0
  91. package/src/components/icons/ApiCloudIcon.jsx +93 -0
  92. package/src/components/icons/ApiEmptyIcon.jsx +107 -107
  93. package/src/components/icons/ApiIcon.jsx +84 -29
  94. package/src/components/icons/ApiIconClosed.jsx +19 -19
  95. package/src/components/icons/AppEmptyIcon.jsx +94 -94
  96. package/src/components/icons/AppIcon.jsx +85 -38
  97. package/src/components/icons/AppListIcon.jsx +73 -73
  98. package/src/components/icons/ArrowDownFullIcon.jsx +76 -0
  99. package/src/components/icons/ArrowDownIcon.jsx +75 -0
  100. package/src/components/icons/ArrowLeftIcon.jsx +75 -0
  101. package/src/components/icons/ArrowRightIcon.jsx +75 -0
  102. package/src/components/icons/ArrowUpIcon.jsx +75 -0
  103. package/src/components/icons/Calendar1DayIcon.jsx +90 -0
  104. package/src/components/icons/Calendar7DaysIcon.jsx +88 -0
  105. package/src/components/icons/CalendarIcon.jsx +102 -56
  106. package/src/components/icons/CircleAddIcon.jsx +81 -40
  107. package/src/components/icons/CircleBackIcon.jsx +51 -51
  108. package/src/components/icons/{Calendar1Icon.jsx → CircleCheckMarkIcon.jsx} +66 -54
  109. package/src/components/icons/CircleCloseHoverIcon.jsx +42 -42
  110. package/src/components/icons/CircleCloseIcon.jsx +32 -32
  111. package/src/components/icons/CircleExclamationIcon.jsx +29 -29
  112. package/src/components/icons/CloseIcon.jsx +79 -31
  113. package/src/components/icons/CopyPasteIcon.jsx +81 -0
  114. package/src/components/icons/DatabaseIcon.jsx +81 -0
  115. package/src/components/icons/EditIcon.jsx +81 -38
  116. package/src/components/icons/GearIcon.jsx +78 -40
  117. package/src/components/icons/Icons.module.css +46 -29
  118. package/src/components/icons/LiveIcon.jsx +43 -43
  119. package/src/components/icons/MetricsIcon.jsx +52 -52
  120. package/src/components/icons/PlayIcon.jsx +20 -20
  121. package/src/components/icons/PullRequestIcon.jsx +35 -35
  122. package/src/components/icons/StopIcon.jsx +21 -21
  123. package/src/components/icons/TerminalIcon.jsx +22 -22
  124. package/src/components/icons/UpgradeIcon.jsx +48 -48
  125. package/src/components/icons/Users2Icon.jsx +84 -0
  126. package/src/components/icons/WorkspaceDynamicIcon.jsx +87 -0
  127. package/src/components/icons/WorkspaceReadyIcon.jsx +144 -0
  128. package/src/components/icons/WorkspaceStaticIcon.jsx +84 -0
  129. package/src/components/icons/index.js +83 -61
  130. package/src/components/layouts/Layout.jsx +11 -11
  131. package/src/components/layouts/TwoColumnsLayout.jsx +12 -12
  132. package/src/components/layouts/TwoColumnsLayout.module.css +9 -9
  133. package/src/hooks/useEscapeKey.js +20 -20
  134. package/src/lib/utils.js +23 -23
  135. package/src/main.jsx +9 -9
  136. package/src/stories/BorderedBox.stories.jsx +33 -33
  137. package/src/stories/BorderedText.stories.jsx +24 -24
  138. package/src/stories/Button.stories.jsx +114 -114
  139. package/src/stories/ButtonFullRounded.stories.jsx +61 -61
  140. package/src/stories/Checkbox.stories.jsx +27 -27
  141. package/src/stories/DetailedMetric.stories.jsx +33 -33
  142. package/src/stories/DropDown.stories.jsx +62 -62
  143. package/src/stories/FollowUs.stories.jsx +14 -14
  144. package/src/stories/GHLoginButton.stories.jsx +14 -14
  145. package/src/stories/HorizontalSeparator.stories.jsx +12 -12
  146. package/src/stories/InfoBox.stories.jsx +46 -46
  147. package/src/stories/Introduction.stories.mdx +211 -211
  148. package/src/stories/List.stories.jsx +29 -29
  149. package/src/stories/ListElement.stories.jsx +15 -15
  150. package/src/stories/Loadable.stories.jsx +75 -75
  151. package/src/stories/Loader.stories.jsx +44 -44
  152. package/src/stories/LoginButton.stories.jsx +15 -15
  153. package/src/stories/Logo.stories.jsx +17 -17
  154. package/src/stories/Modal.stories.jsx +100 -100
  155. package/src/stories/PlatformaticIcon.stories.jsx +57 -35
  156. package/src/stories/SearchBar.stories.jsx +28 -28
  157. package/src/stories/Sidebar.stories.jsx +61 -61
  158. package/src/stories/SimpleMetric.stories.jsx +41 -41
  159. package/src/stories/Status.stories.jsx +31 -31
  160. package/src/stories/TextWithLabel.stories.jsx +25 -25
  161. package/src/stories/TwoColumnsLayout.stories.jsx +42 -42
  162. package/src/stories/forms/Field.stories.jsx +89 -81
  163. package/src/stories/forms/Input.stories.jsx +89 -89
  164. package/src/stories/forms/Preview.stories.jsx +57 -57
  165. package/src/stories/forms/ToggleSwitch.stories.jsx +15 -15
  166. package/src/stories/icons/Icons.stories.jsx +68 -74
  167. package/src/styles/main.css +22 -15
  168. package/tailwind.config.cjs +60 -60
  169. package/vite.config.js +6 -6
  170. package/vitest.config.js +14 -14
  171. package/dist/main.css +0 -704
  172. package/src/components/icons/Calendar7Icon.jsx +0 -55
  173. package/src/components/icons/CopyIcon.jsx +0 -75
  174. package/src/components/icons/CreatedWorkspaceIcon.jsx +0 -70
  175. package/src/components/icons/DynamicWorkspaceIcon.jsx +0 -125
  176. package/src/components/icons/StaticWorkspaceIcon.jsx +0 -119
  177. package/src/components/icons/TriangleExclamationIcon.jsx +0 -26
@@ -1,43 +1,43 @@
1
- .container {
2
- @apply flex w-full h-10 items-center;
3
- }
4
- .switch {
5
- @apply relative inline-block w-[50px] h-[24px];
6
- }
7
- .switch input {
8
- @apply opacity-0 w-0 h-0;
9
- }
10
- .slider {
11
- @apply absolute cursor-pointer top-0 left-0 right-0 bottom-0 h-full;
12
- background-color: #707070;
13
- -webkit-transition: .4s;
14
- transition: .4s;
15
- }
16
- .label {
17
- @apply px-2 text-xs font-normal text-main-dark-blue;
18
- }
19
- .slider:before {
20
- @apply absolute h-4 w-4 left-[4px] bottom-[4px] bg-white;
21
- content: "";
22
- -webkit-transition: .4s;
23
- transition: .4s;
24
- }
25
-
26
- input:checked + .slider {
27
- @apply bg-main-green;
28
- }
29
-
30
- input:checked + .slider:before {
31
- -webkit-transform: translateX(26px);
32
- -ms-transform: translateX(26px);
33
- transform: translateX(26px);
34
- }
35
-
36
- /* Rounded sliders */
37
- .slider.round {
38
- border-radius: 100px;
39
- }
40
-
41
- .slider.round:before {
42
- @apply rounded-full;
1
+ .container {
2
+ @apply flex w-full h-10 items-center;
3
+ }
4
+ .switch {
5
+ @apply relative inline-block w-[50px] h-[24px];
6
+ }
7
+ .switch input {
8
+ @apply opacity-0 w-0 h-0;
9
+ }
10
+ .slider {
11
+ @apply absolute cursor-pointer top-0 left-0 right-0 bottom-0 h-full;
12
+ background-color: #707070;
13
+ -webkit-transition: .4s;
14
+ transition: .4s;
15
+ }
16
+ .label {
17
+ @apply px-2 text-xs font-normal text-main-dark-blue;
18
+ }
19
+ .slider:before {
20
+ @apply absolute h-4 w-4 left-[4px] bottom-[4px] bg-white;
21
+ content: "";
22
+ -webkit-transition: .4s;
23
+ transition: .4s;
24
+ }
25
+
26
+ input:checked + .slider {
27
+ @apply bg-main-green;
28
+ }
29
+
30
+ input:checked + .slider:before {
31
+ -webkit-transform: translateX(26px);
32
+ -ms-transform: translateX(26px);
33
+ transform: translateX(26px);
34
+ }
35
+
36
+ /* Rounded sliders */
37
+ .slider.round {
38
+ border-radius: 100px;
39
+ }
40
+
41
+ .slider.round:before {
42
+ @apply rounded-full;
43
43
  }
@@ -1,8 +1,8 @@
1
- import Input from './Input'
2
- import Field from './Field'
3
- import Preview from './Preview'
4
- import ToggleSwitch from './ToggleSwitch'
5
-
6
- export default {
7
- Input, Field, Preview, ToggleSwitch
8
- }
1
+ import Input from './Input'
2
+ import Field from './Field'
3
+ import Preview from './Preview'
4
+ import ToggleSwitch from './ToggleSwitch'
5
+
6
+ export default {
7
+ Input, Field, Preview, ToggleSwitch
8
+ }
@@ -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 AddIcon = ({ 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 8H14' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
21
+ <path d='M8 13.9999L8 1.99999' 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 11.9999H20.9999' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
36
+ <path d='M12 20.9999L12 3.00001' 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 19.9999H34.9999' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
51
+ <path d='M20 34.9999L20 5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
52
+ </svg>
53
+ )
54
+ break
55
+
56
+ default:
57
+ break
58
+ }
59
+ return icon
60
+ }
61
+
62
+ AddIcon.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
+ AddIcon.defaultProps = {
74
+ color: 'main-dark-blue',
75
+ size: 'normal'
76
+ }
77
+
78
+ export default AddIcon
@@ -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 AlertIcon = ({ 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='M14 14H2L8 2L14 14Z' stroke='none' strokeLinejoin='round' />
21
+ <path d='M8 6V10.5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
22
+ <circle cx='8' cy='12' r='0.5' fill='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
+ <path d='M21 21H3L12 3L21 21Z' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
37
+ <path d='M12 9V15.75' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
38
+ <circle cx={12} cy={18} r={0.75} fill='none' />
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='M35 35H5L20 5L35 35Z' stroke='none' strokeWidth={2} strokeLinejoin='round' />
53
+ <path d='M20 15V26.25' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
54
+ <circle cx={20} cy={30} r={1.25} fill='none' />
55
+ </svg>
56
+ )
57
+ break
58
+
59
+ default:
60
+ break
61
+ }
62
+ return icon
63
+ }
64
+
65
+ AlertIcon.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
+ AlertIcon.defaultProps = {
77
+ color: 'red',
78
+ size: 'small'
79
+ }
80
+
81
+ export default AlertIcon
@@ -0,0 +1,111 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const AllInOneIcon = ({ 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
+ <circle cx={8} cy={8} r={2} stroke='none' />
21
+ <circle cx={13} cy={3} r={1} stroke='none' />
22
+ <circle cx={4} cy={4} r={1} stroke='none' />
23
+ <circle cx={8} cy={3} r={1} stroke='none' />
24
+ <circle cx={8} cy={13} r={1} transform='rotate(-180 8 13)' stroke='none' />
25
+ <circle cx={12} cy={12} r={1} stroke='none' />
26
+ <path d='M12 11V10C12 9.44772 11.5523 9 11 9H9.5' stroke='none' strokeLinejoin='round' />
27
+ <circle cx={3} cy={13} r={1} stroke='none' />
28
+ <path d='M3 12V10.5C3 9.94772 3.44772 9.5 4 9.5H6.5' stroke='none' strokeLinejoin='round' />
29
+ <path d='M4 5C4 5.53386 4 6.35273 4 7.00014C4 7.55243 4.44772 8 5 8H6' stroke='none' strokeLinejoin='round' />
30
+ <path d='M8 4V6' stroke='none' strokeLinejoin='round' />
31
+ <path d='M13 4V6C13 6.55228 12.5523 7 12 7H9.5' stroke='none' strokeLinejoin='round' />
32
+ <path d='M8 12L8 10' stroke='none' strokeLinejoin='round' />
33
+ </svg>
34
+ )
35
+ break
36
+ case 'normal':
37
+ icon = (
38
+ <svg
39
+ width={24}
40
+ height={24}
41
+ viewBox='0 0 24 24'
42
+ fill='none'
43
+ xmlns='http://www.w3.org/2000/svg'
44
+ className={className}
45
+ >
46
+ <circle cx={12} cy={12} r={3} stroke='none' strokeWidth={1.5} />
47
+ <circle cx={19.5} cy={4.5} r={1.5} stroke='none' strokeWidth={1.5} />
48
+ <circle cx={6} cy={6} r={1.5} stroke='none' strokeWidth={1.5} />
49
+ <circle cx={12} cy={4.5} r={1.5} stroke='none' strokeWidth={1.5} />
50
+ <circle cx={12} cy={19.5} r={1.5} transform='rotate(-180 12 19.5)' stroke='none' strokeWidth={1.5} />
51
+ <circle cx={18} cy={18} r={1.5} stroke='none' strokeWidth={1.5} />
52
+ <path d='M18 16.5V14.5C18 13.9477 17.5523 13.5 17 13.5H14.25' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
53
+ <circle cx={4.5} cy={19.5} r={1.5} stroke='none' strokeWidth={1.5} />
54
+ <path d='M4.5 18V15.25C4.5 14.6977 4.94772 14.25 5.5 14.25H9.75' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
55
+ <path d='M6 7.5C6 8.44649 6 9.99022 6 11.0006C6 11.5529 6.44772 12 7 12H9' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
56
+ <path d='M12 6V9' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
57
+ <path d='M19.5 6V9.5C19.5 10.0523 19.0523 10.5 18.5 10.5H14.25' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
58
+ <path d='M12 18L12 15' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
59
+ </svg>
60
+ )
61
+ break
62
+ case 'large':
63
+ icon = (
64
+ <svg
65
+ width={40}
66
+ height={40}
67
+ viewBox='0 0 40 40'
68
+ fill='none'
69
+ xmlns='http://www.w3.org/2000/svg'
70
+ className={className}
71
+ >
72
+ <circle cx={20} cy={20} r={5} stroke='none' strokeWidth={2} />
73
+ <circle cx={32.5} cy={7.5} r={2.5} stroke='none' strokeWidth={2} />
74
+ <circle cx={10} cy={10} r={2.5} stroke='none' strokeWidth={2} />
75
+ <circle cx={20} cy={7.5} r={2.5} stroke='none' strokeWidth={2} />
76
+ <circle cx={20} cy={32.5} r={2.5} transform='rotate(-180 20 32.5)' stroke='none' strokeWidth={2} />
77
+ <circle cx={30} cy={30} r={2.5} stroke='none' strokeWidth={2} />
78
+ <path d='M30 27.5V23.5C30 22.9477 29.5523 22.5 29 22.5H23.75' stroke='none' strokeWidth={2} strokeLinejoin='round' />
79
+ <circle cx='7.5' cy='32.5' r={2.5} stroke='none' strokeWidth={2} />
80
+ <path d='M7.5 30V24.75C7.5 24.1977 7.94772 23.75 8.5 23.75H16.25' stroke='none' strokeWidth={2} strokeLinejoin='round' />
81
+ <path d='M10 12.5C10 14.3046 10 17.4118 10 19.0008C10 19.5531 10.4477 20 11 20H15' stroke='none' strokeWidth={2} strokeLinejoin='round' />
82
+ <path d='M20 10V15' stroke='none' strokeWidth={2} strokeLinejoin='round' />
83
+ <path d='M32.5 10V16.5C32.5 17.0523 32.0523 17.5 31.5 17.5H23.75' stroke='none' strokeWidth={2} strokeLinejoin='round' />
84
+ <path d='M20 30L20 25' stroke='none' strokeWidth={2} strokeLinejoin='round' />
85
+ </svg>
86
+ )
87
+ break
88
+
89
+ default:
90
+ break
91
+ }
92
+ return icon
93
+ }
94
+
95
+ AllInOneIcon.propTypes = {
96
+ /**
97
+ * color of text, icon and borders
98
+ */
99
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
100
+ /**
101
+ * Size
102
+ */
103
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
104
+ }
105
+
106
+ AllInOneIcon.defaultProps = {
107
+ color: 'main-dark-blue',
108
+ size: 'normal'
109
+ }
110
+
111
+ export default AllInOneIcon
@@ -0,0 +1,93 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const ApiCloudIcon = ({ 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='M4.37341 9.11943C3.0621 9.11943 2 8.05653 2 6.74602C2 5.43551 3.0621 4.37261 4.37261 4.37341C4.37261 3.0621 5.43551 2 6.74602 2C7.71497 2 8.54777 2.58041 8.9164 3.41322C8.98328 3.40685 9.05096 3.40366 9.11943 3.40366C10.2126 3.40366 11.1322 4.14331 11.4076 5.14889C11.5876 5.09634 11.7779 5.06768 11.9745 5.06768C13.0932 5.06768 14 5.97532 14 7.09395C14 8.21258 13.0932 9.11943 11.9745 9.11943' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
21
+ <path d='M6 5.5V12H5.5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
22
+ <path d='M10 6V12H11' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
23
+ <path d='M8 7V12' stroke='none' strokeLinecap='round' />
24
+ <circle cx={4} cy={12} r={1} stroke='none' />
25
+ <circle cx={12} cy={12} r={1} stroke='none' />
26
+ <circle cx={8} cy={13} r={1} stroke='none' />
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
+ <path d='M6.56011 13.6791C4.59315 13.6791 3 12.0848 3 10.119C3 8.15327 4.59315 6.55892 6.55892 6.56011C6.55892 4.59315 8.15327 3 10.119 3C11.5725 3 12.8217 3.87062 13.3746 5.11983C13.4749 5.11027 13.5764 5.10549 13.6791 5.10549C15.3189 5.10549 16.6982 6.21497 17.1115 7.72333C17.3814 7.64451 17.6668 7.60151 17.9618 7.60151C19.6397 7.60151 21 8.96298 21 10.6409C21 12.3189 19.6397 13.6791 17.9618 13.6791' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
41
+ <path d='M9 8.25V18H8.25' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
42
+ <path d='M15 9V18H16.5' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
43
+ <path d='M12 10.5V18' stroke='none' strokeWidth={1.5} strokeLinecap='round' />
44
+ <circle cx={6} cy={18} r={1.5} stroke='none' strokeWidth={1.5} />
45
+ <circle cx={18} cy={18} r={1.5} stroke='none' strokeWidth={1.5} />
46
+ <circle cx={12} cy={19.5} r={1.5} stroke='none' strokeWidth={1.5} />
47
+ </svg>
48
+ )
49
+ break
50
+ case 'large':
51
+ icon = (
52
+ <svg
53
+ width={40}
54
+ height={40}
55
+ viewBox='0 0 40 40'
56
+ fill='none'
57
+ xmlns='http://www.w3.org/2000/svg'
58
+ className={className}
59
+ >
60
+ <path d='M10.9335 22.7986C7.65526 22.7986 5 20.1413 5 16.865C5 13.5888 7.65526 10.9315 10.9315 10.9335C10.9315 7.65526 13.5888 5 16.865 5C19.2874 5 21.3694 6.45104 22.291 8.53304C22.4582 8.51712 22.6274 8.50916 22.7986 8.50916C25.5315 8.50916 27.8304 10.3583 28.5191 12.8722C28.969 12.7408 29.4447 12.6692 29.9363 12.6692C32.7329 12.6692 35 14.9383 35 17.7349C35 20.5315 32.7329 22.7986 29.9363 22.7986' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
61
+ <path d='M15 13.75V30H13.75' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
62
+ <path d='M25 15V30H27.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
63
+ <path d='M20 17.5V30' stroke='none' strokeWidth={2} strokeLinecap='round' />
64
+ <circle cx={10} cy={30} r={2.5} stroke='none' strokeWidth={2} />
65
+ <circle cx={30} cy={30} r={2.5} stroke='none' strokeWidth={2} />
66
+ <circle cx={20} cy={32.5} r={2.5} stroke='none' strokeWidth={2} />
67
+ </svg>
68
+ )
69
+ break
70
+
71
+ default:
72
+ break
73
+ }
74
+ return icon
75
+ }
76
+
77
+ ApiCloudIcon.propTypes = {
78
+ /**
79
+ * color of text, icon and borders
80
+ */
81
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
82
+ /**
83
+ * Size
84
+ */
85
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
86
+ }
87
+
88
+ ApiCloudIcon.defaultProps = {
89
+ color: 'main-dark-blue',
90
+ size: 'normal'
91
+ }
92
+
93
+ export default ApiCloudIcon