@platformatic/ui-components 0.1.48 → 0.1.50

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 (152) 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/fonts/Montserrat/README.txt +81 -81
  6. package/index.html +12 -12
  7. package/index.js +71 -71
  8. package/package.json +76 -76
  9. package/postcss.config.cjs +8 -8
  10. package/public/api-icon-closed.svg +6 -6
  11. package/public/api-icon.svg +9 -9
  12. package/src/App.jsx +12 -12
  13. package/src/components/BorderedBox.jsx +18 -18
  14. package/src/components/BorderedBox.module.css +8 -8
  15. package/src/components/BorderedText.jsx +8 -8
  16. package/src/components/BorderedText.module.css +2 -2
  17. package/src/components/Box.jsx +14 -14
  18. package/src/components/Box.module.css +7 -7
  19. package/src/components/Button.jsx +95 -95
  20. package/src/components/Button.module.css +127 -127
  21. package/src/components/ButtonFullRounded.jsx +17 -17
  22. package/src/components/ButtonFullRounded.module.css +28 -28
  23. package/src/components/Checkbox.jsx +11 -11
  24. package/src/components/Checkbox.module.css +18 -18
  25. package/src/components/Common.module.css +28 -28
  26. package/src/components/DetailedMetric.jsx +32 -32
  27. package/src/components/DetailedMetric.module.css +2 -2
  28. package/src/components/DropDown.jsx +36 -36
  29. package/src/components/DropDown.module.css +27 -27
  30. package/src/components/FollowUs.jsx +35 -35
  31. package/src/components/FollowUs.module.css +11 -11
  32. package/src/components/GHLoginButton.jsx +14 -14
  33. package/src/components/HorizontalSeparator.jsx +15 -15
  34. package/src/components/HorizontalSeparator.module.css +26 -26
  35. package/src/components/InfoBox.jsx +50 -50
  36. package/src/components/InfoBox.module.css +5 -5
  37. package/src/components/List.jsx +20 -20
  38. package/src/components/List.module.css +11 -11
  39. package/src/components/ListElement.jsx +23 -23
  40. package/src/components/ListElement.module.css +23 -23
  41. package/src/components/Loadable.jsx +34 -34
  42. package/src/components/Loadable.module.css +13 -13
  43. package/src/components/Loader.jsx +22 -22
  44. package/src/components/Loader.module.css +13 -13
  45. package/src/components/LoginButton.jsx +17 -17
  46. package/src/components/LoginButton.module.css +7 -7
  47. package/src/components/LoginButton.test.jsx +25 -25
  48. package/src/components/Logo.jsx +62 -62
  49. package/src/components/Logo.module.css +5 -5
  50. package/src/components/Main.jsx +33 -33
  51. package/src/components/MetricValue.jsx +15 -15
  52. package/src/components/MetricValue.module.css +9 -9
  53. package/src/components/Modal.jsx +93 -93
  54. package/src/components/Modal.module.css +50 -50
  55. package/src/components/PlatformaticIcon.jsx +57 -57
  56. package/src/components/PlatformaticIcon.module.css +2 -2
  57. package/src/components/Playground.jsx +9 -9
  58. package/src/components/SearchBar.jsx +63 -63
  59. package/src/components/SearchBar.module.css +20 -20
  60. package/src/components/Sidebar.jsx +153 -153
  61. package/src/components/Sidebar.module.css +66 -66
  62. package/src/components/SimpleMetric.jsx +28 -28
  63. package/src/components/SimpleMetric.module.css +6 -6
  64. package/src/components/Status.jsx +26 -26
  65. package/src/components/TabbedWindow.jsx +39 -39
  66. package/src/components/TabbedWindow.module.css +16 -16
  67. package/src/components/TextWithLabel.jsx +11 -11
  68. package/src/components/TextWithLabel.module.css +8 -8
  69. package/src/components/Versions.jsx +9 -9
  70. package/src/components/VerticalSeparator.jsx +5 -5
  71. package/src/components/forms/Field.jsx +53 -20
  72. package/src/components/forms/Field.module.css +23 -17
  73. package/src/components/forms/Input.jsx +80 -87
  74. package/src/components/forms/Input.module.css +28 -28
  75. package/src/components/forms/Preview.jsx +75 -77
  76. package/src/components/forms/Preview.module.css +14 -14
  77. package/src/components/forms/ToggleSwitch.jsx +18 -18
  78. package/src/components/forms/ToggleSwitch.module.css +42 -42
  79. package/src/components/forms/index.js +8 -8
  80. package/src/components/icons/ApiEmptyIcon.jsx +107 -107
  81. package/src/components/icons/ApiIcon.jsx +29 -29
  82. package/src/components/icons/ApiIconClosed.jsx +19 -19
  83. package/src/components/icons/AppEmptyIcon.jsx +94 -94
  84. package/src/components/icons/AppIcon.jsx +38 -38
  85. package/src/components/icons/AppListIcon.jsx +73 -73
  86. package/src/components/icons/Calendar1Icon.jsx +54 -54
  87. package/src/components/icons/Calendar7Icon.jsx +55 -55
  88. package/src/components/icons/CalendarIcon.jsx +56 -56
  89. package/src/components/icons/CircleAddIcon.jsx +40 -40
  90. package/src/components/icons/CircleBackIcon.jsx +51 -51
  91. package/src/components/icons/CircleCheckMarkIcon.jsx +66 -0
  92. package/src/components/icons/CircleCloseHoverIcon.jsx +42 -42
  93. package/src/components/icons/CircleCloseIcon.jsx +32 -32
  94. package/src/components/icons/CircleExclamationIcon.jsx +29 -29
  95. package/src/components/icons/CloseIcon.jsx +31 -31
  96. package/src/components/icons/CopyIcon.jsx +75 -46
  97. package/src/components/icons/CreatedWorkspaceIcon.jsx +70 -70
  98. package/src/components/icons/DynamicWorkspaceIcon.jsx +125 -125
  99. package/src/components/icons/EditIcon.jsx +38 -0
  100. package/src/components/icons/GearIcon.jsx +40 -40
  101. package/src/components/icons/Icons.module.css +29 -29
  102. package/src/components/icons/LiveIcon.jsx +43 -43
  103. package/src/components/icons/MetricsIcon.jsx +52 -52
  104. package/src/components/icons/PlayIcon.jsx +20 -20
  105. package/src/components/icons/PullRequestIcon.jsx +35 -35
  106. package/src/components/icons/StaticWorkspaceIcon.jsx +119 -119
  107. package/src/components/icons/StopIcon.jsx +21 -21
  108. package/src/components/icons/TerminalIcon.jsx +22 -22
  109. package/src/components/icons/TriangleExclamationIcon.jsx +26 -26
  110. package/src/components/icons/UpgradeIcon.jsx +48 -48
  111. package/src/components/icons/index.js +63 -59
  112. package/src/components/layouts/Layout.jsx +11 -11
  113. package/src/components/layouts/TwoColumnsLayout.jsx +12 -12
  114. package/src/components/layouts/TwoColumnsLayout.module.css +9 -9
  115. package/src/hooks/useEscapeKey.js +20 -20
  116. package/src/lib/utils.js +23 -23
  117. package/src/main.jsx +9 -9
  118. package/src/stories/BorderedBox.stories.jsx +33 -33
  119. package/src/stories/BorderedText.stories.jsx +24 -24
  120. package/src/stories/Button.stories.jsx +114 -114
  121. package/src/stories/ButtonFullRounded.stories.jsx +61 -61
  122. package/src/stories/Checkbox.stories.jsx +27 -27
  123. package/src/stories/DetailedMetric.stories.jsx +33 -33
  124. package/src/stories/DropDown.stories.jsx +62 -62
  125. package/src/stories/FollowUs.stories.jsx +14 -14
  126. package/src/stories/GHLoginButton.stories.jsx +14 -14
  127. package/src/stories/HorizontalSeparator.stories.jsx +12 -12
  128. package/src/stories/InfoBox.stories.jsx +46 -46
  129. package/src/stories/Introduction.stories.mdx +211 -211
  130. package/src/stories/List.stories.jsx +29 -29
  131. package/src/stories/ListElement.stories.jsx +15 -15
  132. package/src/stories/Loadable.stories.jsx +75 -75
  133. package/src/stories/Loader.stories.jsx +44 -44
  134. package/src/stories/LoginButton.stories.jsx +15 -15
  135. package/src/stories/Logo.stories.jsx +17 -17
  136. package/src/stories/Modal.stories.jsx +100 -100
  137. package/src/stories/PlatformaticIcon.stories.jsx +51 -35
  138. package/src/stories/SearchBar.stories.jsx +28 -28
  139. package/src/stories/Sidebar.stories.jsx +61 -61
  140. package/src/stories/SimpleMetric.stories.jsx +41 -41
  141. package/src/stories/Status.stories.jsx +31 -31
  142. package/src/stories/TextWithLabel.stories.jsx +25 -25
  143. package/src/stories/TwoColumnsLayout.stories.jsx +42 -42
  144. package/src/stories/forms/Field.stories.jsx +89 -81
  145. package/src/stories/forms/Input.stories.jsx +89 -69
  146. package/src/stories/forms/Preview.stories.jsx +57 -57
  147. package/src/stories/forms/ToggleSwitch.stories.jsx +15 -15
  148. package/src/stories/icons/Icons.stories.jsx +74 -74
  149. package/src/styles/main.css +15 -15
  150. package/tailwind.config.cjs +60 -60
  151. package/vite.config.js +6 -6
  152. package/vitest.config.js +14 -14
@@ -1,51 +1,51 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CircleBackIcon = ({ color = 'green', size = 'normal' }) => {
5
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
- let icon = (
7
- <svg
8
- width={26}
9
- height={26}
10
- viewBox='0 0 26 26'
11
- fill='none'
12
- xmlns='http://www.w3.org/2000/svg'
13
- className={className}
14
- >
15
- <circle cx={13} cy={13} r={12} fill='none' stroke='none' />
16
- <path
17
- d='M14.5 7L8.5 13L14.5 19'
18
- stroke='none'
19
- strokeLinecap='round'
20
- strokeLinejoin='round'
21
- />
22
- </svg>
23
- )
24
- switch (size) {
25
- case 'small':
26
- icon = (
27
- <svg
28
- width={18}
29
- height={18}
30
- viewBox='0 0 18 18'
31
- fill='none'
32
- xmlns='http://www.w3.org/2000/svg'
33
- className={className}
34
- >
35
- <circle cx={9} cy={9} r={8} stroke='none' />
36
- <path
37
- d='M10 5L6 9L10 13'
38
- stroke='none'
39
- strokeLinecap='round'
40
- strokeLinejoin='round'
41
- />
42
- </svg>
43
- )
44
- break
45
- default:
46
- break
47
- }
48
- return icon
49
- }
50
-
51
- export default CircleBackIcon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+
4
+ const CircleBackIcon = ({ color = 'green', size = 'normal' }) => {
5
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ let icon = (
7
+ <svg
8
+ width={26}
9
+ height={26}
10
+ viewBox='0 0 26 26'
11
+ fill='none'
12
+ xmlns='http://www.w3.org/2000/svg'
13
+ className={className}
14
+ >
15
+ <circle cx={13} cy={13} r={12} fill='none' stroke='none' />
16
+ <path
17
+ d='M14.5 7L8.5 13L14.5 19'
18
+ stroke='none'
19
+ strokeLinecap='round'
20
+ strokeLinejoin='round'
21
+ />
22
+ </svg>
23
+ )
24
+ switch (size) {
25
+ case 'small':
26
+ icon = (
27
+ <svg
28
+ width={18}
29
+ height={18}
30
+ viewBox='0 0 18 18'
31
+ fill='none'
32
+ xmlns='http://www.w3.org/2000/svg'
33
+ className={className}
34
+ >
35
+ <circle cx={9} cy={9} r={8} stroke='none' />
36
+ <path
37
+ d='M10 5L6 9L10 13'
38
+ stroke='none'
39
+ strokeLinecap='round'
40
+ strokeLinejoin='round'
41
+ />
42
+ </svg>
43
+ )
44
+ break
45
+ default:
46
+ break
47
+ }
48
+ return icon
49
+ }
50
+
51
+ export default CircleBackIcon
@@ -0,0 +1,66 @@
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,31 @@
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 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,46 +1,75 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CopyIcon = ({ 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={24}
12
- height={25}
13
- viewBox='0 0 24 25'
14
- fill='none'
15
- xmlns='http://www.w3.org/2000/svg'
16
- className={className}
17
- >
18
- <path
19
- d='M9 21.3333V8.00073C9 7.72459 9.22386 7.50073 9.5 7.50073H15.9001C16.023 7.50073 16.1416 7.54597 16.2332 7.6278L20.833 11.7357C20.9393 11.8306 21 11.9662 21 12.1086V21.3333C21 21.6094 20.7761 21.8333 20.5 21.8333H9.5C9.22386 21.8333 9 21.6094 9 21.3333Z'
20
- stroke='none'
21
- strokeWidth={1.5}
22
- strokeLinecap='round'
23
- />
24
- <path
25
- d='M15.75 12.5171V7.50073L21 12.5171H15.75Z'
26
- stroke='none'
27
- strokeWidth={1.5}
28
- strokeLinecap='round'
29
- strokeLinejoin='round'
30
- />
31
- <path
32
- d='M14.25 6.78409L10.9818 3.95521C10.8909 3.87655 10.7748 3.83326 10.6546 3.83326H6.92045H3.5C3.22386 3.83326 3 4.05712 3 4.33326L3.00001 17.0335C3.00001 17.3096 3.22387 17.5335 3.50001 17.5335H8.25001'
33
- stroke='none'
34
- strokeWidth={1.5}
35
- strokeLinecap='round'
36
- />
37
- </svg>
38
- )
39
- break
40
- default:
41
- break
42
- }
43
- return icon
44
- }
45
-
46
- export default CopyIcon
1
+ import * as React from 'react'
2
+ import styles from './Icons.module.css'
3
+
4
+ const CopyIcon = ({ 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
+ <path
19
+ d='M6 13.5V4.94496C6 4.66882 6.22386 4.44496 6.5 4.44496H10.5365C10.6594 4.44496 10.7779 4.49019 10.8696 4.57203L13.833 7.21858C13.9393 7.31345 14 7.4491 14 7.59152V13.5C14 13.7761 13.7761 14 13.5 14H6.5C6.22386 14 6 13.7761 6 13.5Z'
20
+ stroke='none'
21
+ strokeLinecap='round'
22
+ />
23
+ <path
24
+ d='M10.5 7.78923V4.44496L14 7.78923H10.5Z'
25
+ stroke='none'
26
+ strokeLinecap='round'
27
+ strokeLinejoin='round'
28
+ />
29
+ <path
30
+ 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'
31
+ stroke='none'
32
+ strokeLinecap='round'
33
+ />
34
+ </svg>
35
+ )
36
+ break
37
+ case 'normal':
38
+ icon = (
39
+ <svg
40
+ width={24}
41
+ height={25}
42
+ viewBox='0 0 24 25'
43
+ fill='none'
44
+ xmlns='http://www.w3.org/2000/svg'
45
+ className={className}
46
+ >
47
+ <path
48
+ d='M9 21.3333V8.00073C9 7.72459 9.22386 7.50073 9.5 7.50073H15.9001C16.023 7.50073 16.1416 7.54597 16.2332 7.6278L20.833 11.7357C20.9393 11.8306 21 11.9662 21 12.1086V21.3333C21 21.6094 20.7761 21.8333 20.5 21.8333H9.5C9.22386 21.8333 9 21.6094 9 21.3333Z'
49
+ stroke='none'
50
+ strokeWidth={1.5}
51
+ strokeLinecap='round'
52
+ />
53
+ <path
54
+ d='M15.75 12.5171V7.50073L21 12.5171H15.75Z'
55
+ stroke='none'
56
+ strokeWidth={1.5}
57
+ strokeLinecap='round'
58
+ strokeLinejoin='round'
59
+ />
60
+ <path
61
+ d='M14.25 6.78409L10.9818 3.95521C10.8909 3.87655 10.7748 3.83326 10.6546 3.83326H6.92045H3.5C3.22386 3.83326 3 4.05712 3 4.33326L3.00001 17.0335C3.00001 17.3096 3.22387 17.5335 3.50001 17.5335H8.25001'
62
+ stroke='none'
63
+ strokeWidth={1.5}
64
+ strokeLinecap='round'
65
+ />
66
+ </svg>
67
+ )
68
+ break
69
+ default:
70
+ break
71
+ }
72
+ return icon
73
+ }
74
+
75
+ export default CopyIcon