@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,54 +1,66 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const Calendar1Icon = ({ color = 'green', size = 'normal' }) => {
5
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
- let icon = <></>
7
- switch (size) {
8
- case 'small':
9
- icon = (
10
- <svg
11
- width={16}
12
- height={16}
13
- viewBox='0 0 16 16'
14
- fill='none'
15
- xmlns='http://www.w3.org/2000/svg'
16
- className={className}
17
- >
18
- <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
19
- <path
20
- d='M2 7H5M14 7H11'
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
- <path
42
- d='M7.59712 13V6.5L8.21223 7.09L7.59712 8H7.5L6.5 9V7L7.5 6H9V13H7.59712Z'
43
- fill='none'
44
- />
45
- </svg>
46
- )
47
- break
48
- default:
49
- break
50
- }
51
- return icon
52
- }
53
-
54
- export default Calendar1Icon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+
4
+ const CircleCheckMarkIcon = ({ color = 'green', size = 'small' }) => {
5
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ let icon = <></>
7
+ switch (size) {
8
+ case 'small':
9
+ icon = (
10
+ <svg
11
+ width={16}
12
+ height={16}
13
+ viewBox='0 0 16 16'
14
+ fill='none'
15
+ xmlns='http://www.w3.org/2000/svg'
16
+ className={className}
17
+ >
18
+ <circle
19
+ cx={8}
20
+ cy={8}
21
+ r={6}
22
+ stroke='none'
23
+ />
24
+ <path
25
+ d='M5 8L7.5 10L11 6'
26
+ stroke='none'
27
+ strokeLinecap='round'
28
+ strokeLinejoin='round'
29
+ />
30
+ </svg>
31
+ )
32
+ break
33
+ case 'large':
34
+ icon = (
35
+ <svg
36
+ width={40}
37
+ height={41}
38
+ viewBox='0 0 40 41'
39
+ fill='none'
40
+ xmlns='http://www.w3.org/2000/svg'
41
+ className={className}
42
+ >
43
+ <circle
44
+ cx={20}
45
+ cy={20.3334}
46
+ r={15}
47
+ stroke='none'
48
+ strokeWidth={2.5}
49
+ />
50
+ <path
51
+ d='M12.5 20.3334L18.75 25.3334L27.5 15.3334'
52
+ stroke='none'
53
+ strokeWidth={2.5}
54
+ strokeLinecap='round'
55
+ strokeLinejoin='round'
56
+ />
57
+ </svg>
58
+ )
59
+ break
60
+ default:
61
+ break
62
+ }
63
+ return icon
64
+ }
65
+
66
+ export default CircleCheckMarkIcon
@@ -1,42 +1,42 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CircleCloseHoverIcon = ({ color = 'green' }) => {
5
- const className = styles[`${color}`] + ' ' + styles[`fill-circle-${color}`]
6
- return (
7
- <svg
8
- width={24}
9
- height={24}
10
- viewBox='0 0 24 24'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- >
15
- <circle
16
- cx={12}
17
- cy={12}
18
- r={11.25}
19
- fill='none'
20
- fillOpacity={0.2}
21
- stroke='none'
22
- strokeWidth={1.5}
23
- />
24
- <path
25
- d='M6 6L18 18'
26
- stroke='none'
27
- strokeWidth={1.5}
28
- strokeLinecap='round'
29
- strokeLinejoin='round'
30
- />
31
- <path
32
- d='M6 18L18 6'
33
- stroke='none'
34
- strokeWidth={1.5}
35
- strokeLinecap='round'
36
- strokeLinejoin='round'
37
- />
38
- </svg>
39
- )
40
- }
41
-
42
- export default CircleCloseHoverIcon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+
4
+ const CircleCloseHoverIcon = ({ color = 'green' }) => {
5
+ const className = styles[`${color}`] + ' ' + styles[`fill-circle-${color}`]
6
+ return (
7
+ <svg
8
+ width={24}
9
+ height={24}
10
+ viewBox='0 0 24 24'
11
+ fill='none'
12
+ xmlns='http://www.w3.org/2000/svg'
13
+ className={className}
14
+ >
15
+ <circle
16
+ cx={12}
17
+ cy={12}
18
+ r={11.25}
19
+ fill='none'
20
+ fillOpacity={0.2}
21
+ stroke='none'
22
+ strokeWidth={1.5}
23
+ />
24
+ <path
25
+ d='M6 6L18 18'
26
+ stroke='none'
27
+ strokeWidth={1.5}
28
+ strokeLinecap='round'
29
+ strokeLinejoin='round'
30
+ />
31
+ <path
32
+ d='M6 18L18 6'
33
+ stroke='none'
34
+ strokeWidth={1.5}
35
+ strokeLinecap='round'
36
+ strokeLinejoin='round'
37
+ />
38
+ </svg>
39
+ )
40
+ }
41
+
42
+ export default CircleCloseHoverIcon
@@ -1,32 +1,32 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CircleCloseIcon = ({ color = 'green' }) => {
5
- const className = styles[`${color}`]
6
- return (
7
- <svg
8
- width={24}
9
- height={24}
10
- viewBox='0 0 24 24'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- >
15
- <circle cx={12} cy={12} r={11.5} stroke='none' />
16
- <path
17
- d='M6 6L18 18'
18
- stroke='none'
19
- strokeLinecap='round'
20
- strokeLinejoin='round'
21
- />
22
- <path
23
- d='M6 18L18 6'
24
- stroke='none'
25
- strokeLinecap='round'
26
- strokeLinejoin='round'
27
- />
28
- </svg>
29
- )
30
- }
31
-
32
- export default CircleCloseIcon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+
4
+ const CircleCloseIcon = ({ color = 'green' }) => {
5
+ const className = styles[`${color}`]
6
+ return (
7
+ <svg
8
+ width={24}
9
+ height={24}
10
+ viewBox='0 0 24 24'
11
+ fill='none'
12
+ xmlns='http://www.w3.org/2000/svg'
13
+ className={className}
14
+ >
15
+ <circle cx={12} cy={12} r={11.5} stroke='none' />
16
+ <path
17
+ d='M6 6L18 18'
18
+ stroke='none'
19
+ strokeLinecap='round'
20
+ strokeLinejoin='round'
21
+ />
22
+ <path
23
+ d='M6 18L18 6'
24
+ stroke='none'
25
+ strokeLinecap='round'
26
+ strokeLinejoin='round'
27
+ />
28
+ </svg>
29
+ )
30
+ }
31
+
32
+ export default CircleCloseIcon
@@ -1,29 +1,29 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
- const CircleExclamationIcon = ({ color = 'white', tip = '' }) => {
4
- const className = styles[`${color}`]
5
-
6
- return (
7
- <svg
8
- width={24}
9
- height={24}
10
- viewBox='0 0 24 24'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- data-tip={tip}
15
- >
16
- <circle cx={12} cy={12} r={9} stroke='none' strokeWidth={1.5} />
17
- <path
18
- d='M12 8.25V13.5'
19
- stroke='none'
20
- strokeWidth={1.5}
21
- strokeLinecap='round'
22
- strokeLinejoin='round'
23
- />
24
- <circle cx={12} cy={15.75} r={0.75} fill='none' />
25
- </svg>
26
- )
27
- }
28
-
29
- export default CircleExclamationIcon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+ const CircleExclamationIcon = ({ color = 'white', tip = '' }) => {
4
+ const className = styles[`${color}`]
5
+
6
+ return (
7
+ <svg
8
+ width={24}
9
+ height={24}
10
+ viewBox='0 0 24 24'
11
+ fill='none'
12
+ xmlns='http://www.w3.org/2000/svg'
13
+ className={className}
14
+ data-tip={tip}
15
+ >
16
+ <circle cx={12} cy={12} r={9} stroke='none' strokeWidth={1.5} />
17
+ <path
18
+ d='M12 8.25V13.5'
19
+ stroke='none'
20
+ strokeWidth={1.5}
21
+ strokeLinecap='round'
22
+ strokeLinejoin='round'
23
+ />
24
+ <circle cx={12} cy={15.75} r={0.75} fill='none' />
25
+ </svg>
26
+ )
27
+ }
28
+
29
+ export default CircleExclamationIcon
@@ -1,31 +1,79 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
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
- )
29
- }
30
-
31
- export default CloseIcon
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
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'
77
+ }
78
+
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