@platformatic/ui-components 0.1.123 → 0.1.125

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 (178) hide show
  1. package/dist/assets/index-78f54889.js +206 -0
  2. package/dist/assets/index-89e9ad97.css +1 -0
  3. package/dist/index.html +2 -2
  4. package/dist/main.css +0 -10
  5. package/fonts/Inter/Inter-VariableFont_slnt,wght.ttf +0 -0
  6. package/fonts/Inter/OFL.txt +93 -0
  7. package/fonts/Inter/README.txt +72 -0
  8. package/fonts/Inter/static/Inter-Black.ttf +0 -0
  9. package/fonts/Inter/static/Inter-Bold.ttf +0 -0
  10. package/fonts/Inter/static/Inter-ExtraBold.ttf +0 -0
  11. package/fonts/Inter/static/Inter-ExtraLight.ttf +0 -0
  12. package/fonts/Inter/static/Inter-Light.ttf +0 -0
  13. package/fonts/Inter/static/Inter-Medium.ttf +0 -0
  14. package/fonts/Inter/static/Inter-Regular.ttf +0 -0
  15. package/fonts/Inter/static/Inter-SemiBold.ttf +0 -0
  16. package/fonts/Inter/static/Inter-Thin.ttf +0 -0
  17. package/fonts/{Montserrat/fonts.css → fonts.css} +7 -0
  18. package/index.js +8 -0
  19. package/package.json +1 -1
  20. package/src/components/BorderedBox.jsx +25 -6
  21. package/src/components/BorderedBox.module.css +3 -0
  22. package/src/components/Common.module.css +34 -3
  23. package/src/components/HorizontalSeparator.jsx +2 -1
  24. package/src/components/HorizontalSeparator.module.css +19 -0
  25. package/src/components/LoadingSpinnerV2.jsx +45 -0
  26. package/src/components/LoadingSpinnerV2.module.css +8 -0
  27. package/src/components/Modal.jsx +36 -3
  28. package/src/components/Modal.module.css +9 -1
  29. package/src/components/ModalDirectional.jsx +83 -0
  30. package/src/components/ModalDirectional.module.css +38 -0
  31. package/src/components/PlatformaticIcon.jsx +20 -5
  32. package/src/components/SearchBarV2.jsx +120 -0
  33. package/src/components/SearchBarV2.module.css +28 -0
  34. package/src/components/Sidebar.jsx +91 -86
  35. package/src/components/Sidebar.module.css +4 -4
  36. package/src/components/TabbedWindowV2.jsx +82 -0
  37. package/src/components/TabbedWindowV2.module.css +17 -0
  38. package/src/components/VerticalSeparator.jsx +18 -6
  39. package/src/components/VerticalSeparator.module.css +3 -0
  40. package/src/components/constants.js +10 -2
  41. package/src/components/forms/Field.jsx +29 -8
  42. package/src/components/forms/Field.module.css +7 -1
  43. package/src/components/forms/Input.jsx +73 -8
  44. package/src/components/forms/Input.module.css +8 -3
  45. package/src/components/forms/Select.jsx +98 -20
  46. package/src/components/forms/Select.module.css +17 -6
  47. package/src/components/forms/ToggleSwitch.jsx +11 -5
  48. package/src/components/forms/ToggleSwitch.module.css +2 -2
  49. package/src/components/icons/AddIcon.jsx +12 -5
  50. package/src/components/icons/AlertIcon.jsx +12 -5
  51. package/src/components/icons/AllInOneIcon.jsx +12 -5
  52. package/src/components/icons/ApiCloudIcon.jsx +12 -5
  53. package/src/components/icons/ApiEmptyIcon.jsx +12 -5
  54. package/src/components/icons/ApiIcon.jsx +12 -5
  55. package/src/components/icons/ApiIconClosed.jsx +10 -4
  56. package/src/components/icons/ApiPerformanceIcon.jsx +12 -5
  57. package/src/components/icons/AppEmptyIcon.jsx +12 -5
  58. package/src/components/icons/AppIcon.jsx +12 -5
  59. package/src/components/icons/AppListIcon.jsx +12 -5
  60. package/src/components/icons/AppWorkspace.jsx +5 -2
  61. package/src/components/icons/ApplicationTypeIcon.jsx +12 -5
  62. package/src/components/icons/ArrowDownFullIcon.jsx +12 -5
  63. package/src/components/icons/ArrowDownIcon.jsx +12 -5
  64. package/src/components/icons/ArrowLeftIcon.jsx +12 -5
  65. package/src/components/icons/ArrowLongLeftIcon.jsx +84 -0
  66. package/src/components/icons/ArrowLongRightIcon.jsx +12 -5
  67. package/src/components/icons/ArrowRightIcon.jsx +12 -5
  68. package/src/components/icons/ArrowUpIcon.jsx +12 -5
  69. package/src/components/icons/BellIcon.jsx +12 -5
  70. package/src/components/icons/BillingIcon.jsx +12 -5
  71. package/src/components/icons/Calendar1DayIcon.jsx +12 -5
  72. package/src/components/icons/Calendar7DaysIcon.jsx +12 -5
  73. package/src/components/icons/CalendarIcon.jsx +12 -5
  74. package/src/components/icons/CheckListIcon.jsx +12 -5
  75. package/src/components/icons/CircleAddIcon.jsx +12 -5
  76. package/src/components/icons/CircleArrowLeftIcon.jsx +12 -5
  77. package/src/components/icons/CircleArrowRightIcon.jsx +12 -5
  78. package/src/components/icons/CircleCheckMarkButtonIcon.jsx +7 -3
  79. package/src/components/icons/CircleCheckMarkFullIcon.jsx +12 -5
  80. package/src/components/icons/CircleCheckMarkIcon.jsx +10 -4
  81. package/src/components/icons/CircleCloseHoverIcon.jsx +12 -5
  82. package/src/components/icons/CircleCloseIcon.jsx +12 -5
  83. package/src/components/icons/CircleCopyPasteIcon.jsx +12 -5
  84. package/src/components/icons/CircleDownloadIcon.jsx +12 -5
  85. package/src/components/icons/CircleEditIcon.jsx +12 -5
  86. package/src/components/icons/CircleExclamationIcon.jsx +5 -2
  87. package/src/components/icons/CircleFullIcon.jsx +12 -5
  88. package/src/components/icons/CircleGearIcon.jsx +12 -5
  89. package/src/components/icons/CircleRestartIcon.jsx +12 -5
  90. package/src/components/icons/CircleSubtractIcon.jsx +12 -5
  91. package/src/components/icons/CircleTwoArrowsDownIcon.jsx +12 -5
  92. package/src/components/icons/CircleTwoArrowsUpIcon.jsx +12 -5
  93. package/src/components/icons/CloseIcon.jsx +12 -5
  94. package/src/components/icons/CloudIcon.jsx +12 -5
  95. package/src/components/icons/ConfigureDatabaseIcon.jsx +12 -5
  96. package/src/components/icons/CopyPasteIcon.jsx +12 -5
  97. package/src/components/icons/CreatingAppIcon.jsx +12 -5
  98. package/src/components/icons/CreditCardIcon.jsx +12 -5
  99. package/src/components/icons/DatabaseIcon.jsx +12 -5
  100. package/src/components/icons/DatabaseMigrationIcon.jsx +12 -5
  101. package/src/components/icons/DepencenciesReloadIcon.jsx +12 -5
  102. package/src/components/icons/EditDocumentIcon.jsx +12 -5
  103. package/src/components/icons/EditIcon.jsx +12 -5
  104. package/src/components/icons/EnlargeIcon.jsx +12 -5
  105. package/src/components/icons/EntryIcon.jsx +12 -5
  106. package/src/components/icons/ExpandIcon.jsx +92 -0
  107. package/src/components/icons/ExploreDocIcon.jsx +12 -5
  108. package/src/components/icons/EyeClosedIcon.jsx +12 -5
  109. package/src/components/icons/EyeOpenedIcon.jsx +12 -5
  110. package/src/components/icons/FolderIcon.jsx +83 -0
  111. package/src/components/icons/FoldersIcon.jsx +86 -0
  112. package/src/components/icons/GearIcon.jsx +12 -5
  113. package/src/components/icons/GenerationLoadingIcon.jsx +12 -5
  114. package/src/components/icons/GitHubRepo2Icon.jsx +12 -5
  115. package/src/components/icons/GitHubRepoIcon.jsx +12 -5
  116. package/src/components/icons/GiveOwnershipIcon.jsx +12 -5
  117. package/src/components/icons/GraphQLIcon.jsx +12 -5
  118. package/src/components/icons/Icons.module.css +7 -2
  119. package/src/components/icons/ImportApplicationIcon.jsx +12 -5
  120. package/src/components/icons/KeyIcon.jsx +12 -5
  121. package/src/components/icons/LabelIcon.jsx +12 -5
  122. package/src/components/icons/LayersIcon.jsx +12 -5
  123. package/src/components/icons/LensIcon.jsx +12 -5
  124. package/src/components/icons/LiveIcon.jsx +12 -5
  125. package/src/components/icons/LoadingAppIcon.jsx +12 -5
  126. package/src/components/icons/LogOutIcon.jsx +5 -2
  127. package/src/components/icons/MetricsIcon.jsx +12 -5
  128. package/src/components/icons/MetricsLoadingIcon.jsx +12 -5
  129. package/src/components/icons/NameAppIcon.jsx +12 -5
  130. package/src/components/icons/OrganizationIcon.jsx +12 -5
  131. package/src/components/icons/OutOfBoxGraphQLIcon.jsx +12 -5
  132. package/src/components/icons/PlatformaticComposerIcon.jsx +12 -5
  133. package/src/components/icons/PlatformaticDBIcon.jsx +12 -5
  134. package/src/components/icons/PlatformaticRuntimeIcon.jsx +12 -5
  135. package/src/components/icons/PlatformaticServiceIcon.jsx +12 -5
  136. package/src/components/icons/PlayIcon.jsx +12 -5
  137. package/src/components/icons/PreviewPRIcon.jsx +12 -5
  138. package/src/components/icons/PullRequestIcon.jsx +12 -5
  139. package/src/components/icons/PullRequestLoadingIcon.jsx +12 -5
  140. package/src/components/icons/RequestOwnershipIcon.jsx +12 -5
  141. package/src/components/icons/RestartIcon.jsx +12 -5
  142. package/src/components/icons/RocketIcon.jsx +12 -5
  143. package/src/components/icons/RunningIcon.jsx +12 -5
  144. package/src/components/icons/SendIcon.jsx +12 -5
  145. package/src/components/icons/ServiceIcon.jsx +12 -5
  146. package/src/components/icons/SlotIcon.jsx +12 -5
  147. package/src/components/icons/SocialDiscordIcon.jsx +12 -5
  148. package/src/components/icons/SocialGitHubIcon.jsx +12 -5
  149. package/src/components/icons/SocialGitLabIcon.jsx +12 -5
  150. package/src/components/icons/SocialLinkedInIcon.jsx +12 -5
  151. package/src/components/icons/SocialNPMIcon.jsx +12 -5
  152. package/src/components/icons/SocialXIcon.jsx +12 -5
  153. package/src/components/icons/SortableIcon.jsx +93 -0
  154. package/src/components/icons/StackablesPluginIcon.jsx +134 -0
  155. package/src/components/icons/StackablesTemplateIcon.jsx +133 -0
  156. package/src/components/icons/StopIcon.jsx +12 -5
  157. package/src/components/icons/SwitchIcon.jsx +12 -5
  158. package/src/components/icons/TeamsIcon.jsx +12 -5
  159. package/src/components/icons/TerminalIcon.jsx +12 -5
  160. package/src/components/icons/TrashIcon.jsx +95 -0
  161. package/src/components/icons/TwoUsersIcon.jsx +12 -5
  162. package/src/components/icons/UpgradeIcon.jsx +12 -5
  163. package/src/components/icons/UserIcon.jsx +12 -5
  164. package/src/components/icons/UserRemoveIcon.jsx +5 -2
  165. package/src/components/icons/UserRoleIcon.jsx +5 -2
  166. package/src/components/icons/WorkspaceDynamicIcon.jsx +12 -5
  167. package/src/components/icons/WorkspaceEmptyIcon.jsx +12 -5
  168. package/src/components/icons/WorkspaceFailIcon.jsx +12 -5
  169. package/src/components/icons/WorkspaceGitHubIcon.jsx +12 -5
  170. package/src/components/icons/WorkspaceLoadingIcon.jsx +12 -5
  171. package/src/components/icons/WorkspaceReadyIcon.jsx +12 -5
  172. package/src/components/icons/WorkspaceStaticIcon.jsx +12 -5
  173. package/src/components/icons/index.js +23 -7
  174. package/src/stories/ModalDirectional.stories.jsx +45 -0
  175. package/src/stories/forms/Select.stories.jsx +33 -1
  176. package/tailwind.config.cjs +5 -2
  177. package/dist/assets/index-3a61658e.css +0 -1
  178. package/dist/assets/index-8f6ac36c.js +0 -206
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const ServiceIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const ServiceIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  let icon = <></>
9
12
 
10
13
  switch (size) {
@@ -79,12 +82,16 @@ ServiceIcon.propTypes = {
79
82
  /**
80
83
  * Size
81
84
  */
82
- size: PropTypes.oneOf(SIZES)
85
+ size: PropTypes.oneOf(SIZES),
86
+ /**
87
+ * disabled
88
+ */
89
+ disabled: PropTypes.bool
83
90
  }
84
-
85
91
  ServiceIcon.defaultProps = {
86
92
  color: MAIN_DARK_BLUE,
87
- size: MEDIUM
93
+ size: MEDIUM,
94
+ disabled: false
88
95
  }
89
96
 
90
97
  export default ServiceIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SlotIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SlotIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  let icon = <></>
9
12
 
10
13
  switch (size) {
@@ -77,12 +80,16 @@ SlotIcon.propTypes = {
77
80
  /**
78
81
  * Size
79
82
  */
80
- size: PropTypes.oneOf(SIZES)
83
+ size: PropTypes.oneOf(SIZES),
84
+ /**
85
+ * disabled
86
+ */
87
+ disabled: PropTypes.bool
81
88
  }
82
-
83
89
  SlotIcon.defaultProps = {
84
90
  color: MAIN_DARK_BLUE,
85
- size: MEDIUM
91
+ size: MEDIUM,
92
+ disabled: false
86
93
  }
87
94
 
88
95
  export default SlotIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialDiscordIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialDiscordIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -69,12 +72,16 @@ SocialDiscordIcon.propTypes = {
69
72
  /**
70
73
  * Size
71
74
  */
72
- size: PropTypes.oneOf(SIZES)
75
+ size: PropTypes.oneOf(SIZES),
76
+ /**
77
+ * disabled
78
+ */
79
+ disabled: PropTypes.bool
73
80
  }
74
-
75
81
  SocialDiscordIcon.defaultProps = {
76
82
  color: MAIN_DARK_BLUE,
77
- size: MEDIUM
83
+ size: MEDIUM,
84
+ disabled: false
78
85
  }
79
86
 
80
87
  export default SocialDiscordIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialGitHubIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialGitHubIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -88,12 +91,16 @@ SocialGitHubIcon.propTypes = {
88
91
  /**
89
92
  * Size
90
93
  */
91
- size: PropTypes.oneOf(SIZES)
94
+ size: PropTypes.oneOf(SIZES),
95
+ /**
96
+ * disabled
97
+ */
98
+ disabled: PropTypes.bool
92
99
  }
93
-
94
100
  SocialGitHubIcon.defaultProps = {
95
101
  color: MAIN_DARK_BLUE,
96
- size: MEDIUM
102
+ size: MEDIUM,
103
+ disabled: false
97
104
  }
98
105
 
99
106
  export default SocialGitHubIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialGitLabIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialGitLabIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -112,12 +115,16 @@ SocialGitLabIcon.propTypes = {
112
115
  /**
113
116
  * Size
114
117
  */
115
- size: PropTypes.oneOf(SIZES)
118
+ size: PropTypes.oneOf(SIZES),
119
+ /**
120
+ * disabled
121
+ */
122
+ disabled: PropTypes.bool
116
123
  }
117
-
118
124
  SocialGitLabIcon.defaultProps = {
119
125
  color: MAIN_DARK_BLUE,
120
- size: MEDIUM
126
+ size: MEDIUM,
127
+ disabled: false
121
128
  }
122
129
 
123
130
  export default SocialGitLabIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialLinkedInIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialLinkedInIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -75,12 +78,16 @@ SocialLinkedInIcon.propTypes = {
75
78
  /**
76
79
  * Size
77
80
  */
78
- size: PropTypes.oneOf(SIZES)
81
+ size: PropTypes.oneOf(SIZES),
82
+ /**
83
+ * disabled
84
+ */
85
+ disabled: PropTypes.bool
79
86
  }
80
-
81
87
  SocialLinkedInIcon.defaultProps = {
82
88
  color: MAIN_DARK_BLUE,
83
- size: MEDIUM
89
+ size: MEDIUM,
90
+ disabled: false
84
91
  }
85
92
 
86
93
  export default SocialLinkedInIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialNPMIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialNPMIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -67,12 +70,16 @@ SocialNPMIcon.propTypes = {
67
70
  /**
68
71
  * Size
69
72
  */
70
- size: PropTypes.oneOf(SIZES)
73
+ size: PropTypes.oneOf(SIZES),
74
+ /**
75
+ * disabled
76
+ */
77
+ disabled: PropTypes.bool
71
78
  }
72
-
73
79
  SocialNPMIcon.defaultProps = {
74
80
  color: MAIN_DARK_BLUE,
75
- size: MEDIUM
81
+ size: MEDIUM,
82
+ disabled: false
76
83
  }
77
84
 
78
85
  export default SocialNPMIcon
@@ -3,8 +3,11 @@ import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
4
  import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
- const SocialXIcon = ({ color, size }) => {
7
- const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
6
+ const SocialXIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
8
11
  const filledClassName = styles[`filled-${color}`]
9
12
  let icon = <></>
10
13
 
@@ -68,12 +71,16 @@ SocialXIcon.propTypes = {
68
71
  /**
69
72
  * Size
70
73
  */
71
- size: PropTypes.oneOf(SIZES)
74
+ size: PropTypes.oneOf(SIZES),
75
+ /**
76
+ * disabled
77
+ */
78
+ disabled: PropTypes.bool
72
79
  }
73
-
74
80
  SocialXIcon.defaultProps = {
75
81
  color: MAIN_DARK_BLUE,
76
- size: MEDIUM
82
+ size: MEDIUM,
83
+ disabled: false
77
84
  }
78
85
 
79
86
  export default SocialXIcon
@@ -0,0 +1,93 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const SortableIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
11
+ let icon = <></>
12
+
13
+ switch (size) {
14
+ case SMALL:
15
+ icon = (
16
+ <svg
17
+ width={16}
18
+ height={16}
19
+ viewBox='0 0 16 16'
20
+ fill='none'
21
+ xmlns='http://www.w3.org/2000/svg'
22
+ className={className}
23
+ >
24
+ <path d='M10 3.2H14V12.8H10M10 3.2L11.1429 2M10 3.2L11.1429 4.4M10 12.8L11.1429 11.6M10 12.8L11.1429 14' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
25
+ <rect x={2} y={7} width={6} height={2} stroke='none' strokeLinejoin='round' />
26
+ <rect x={2} y={12} width={6} height={2} stroke='none' strokeLinejoin='round' />
27
+ <rect x={2} y={2} width={6} height={2} stroke='none' strokeLinejoin='round' />
28
+ </svg>
29
+ )
30
+ break
31
+ case MEDIUM:
32
+ icon = (
33
+ <svg
34
+ width={24}
35
+ height={24}
36
+ viewBox='0 0 24 24'
37
+ fill='none'
38
+ xmlns='http://www.w3.org/2000/svg'
39
+ className={className}
40
+ >
41
+ <path d='M15 4.8H21V19.2H15M15 4.8L16.7143 3M15 4.8L16.7143 6.6M15 19.2L16.7143 17.4M15 19.2L16.7143 21' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
42
+ <rect x={3} y={10.5} width={9} height={3} stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
43
+ <rect x={3} y={18} width={9} height={3} stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
44
+ <rect x={3} y={3} width={9} height={3} stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
45
+
46
+ </svg>
47
+ )
48
+ break
49
+ case LARGE:
50
+ icon = (
51
+ <svg
52
+ width={40}
53
+ height={40}
54
+ viewBox='0 0 40 40'
55
+ fill='none'
56
+ xmlns='http://www.w3.org/2000/svg'
57
+ className={className}
58
+ >
59
+ <path d='M25 8H35V32H25M25 8L27.8571 5M25 8L27.8571 11M25 32L27.8571 29M25 32L27.8571 35' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
60
+ <rect x={5} y={17.5} width={15} height={5} stroke='none' strokeWidth={2} strokeLinejoin='round' />
61
+ <rect x={5} y={30} width={15} height={5} stroke='none' strokeWidth={2} strokeLinejoin='round' />
62
+ <rect x={5} y={5} width={15} height={5} stroke='none' strokeWidth={2} strokeLinejoin='round' />
63
+ </svg>
64
+ )
65
+ break
66
+
67
+ default:
68
+ break
69
+ }
70
+ return icon
71
+ }
72
+
73
+ SortableIcon.propTypes = {
74
+ /**
75
+ * color of text, icon and borders
76
+ */
77
+ color: PropTypes.oneOf(COLORS_ICON),
78
+ /**
79
+ * Size
80
+ */
81
+ size: PropTypes.oneOf(SIZES),
82
+ /**
83
+ * disabled
84
+ */
85
+ disabled: PropTypes.bool
86
+ }
87
+ SortableIcon.defaultProps = {
88
+ color: MAIN_DARK_BLUE,
89
+ size: MEDIUM,
90
+ disabled: false
91
+ }
92
+
93
+ export default SortableIcon
@@ -0,0 +1,134 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const StackablesPluginIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
11
+ let icon = <></>
12
+
13
+ switch (size) {
14
+ case SMALL:
15
+ icon = (
16
+ <svg
17
+ width={16}
18
+ height={16}
19
+ viewBox='0 0 16 16'
20
+ fill='none'
21
+ xmlns='http://www.w3.org/2000/svg'
22
+ className={className}
23
+ >
24
+ <path d='M5.67533 11.5745L2 9.71631' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
25
+ <path d='M5.66943 13.4989V11.808' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
26
+ <path d='M2 9.71643V12.1196L5.67533 13.9746L9 12.5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
27
+ <path d='M5.67533 9.06714L2 7.20898' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
28
+ <path d='M5.66943 10.9916V9.30066' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
29
+ <path d='M2 7.20911V9.61228L5.67533 11.4672L7 11' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
30
+ <path d='M9.38344 4.66032L5.67533 6.55991L2 4.70176L3.83767 3.81234M9.38344 4.66032L7.52939 3.79163M9.38344 4.66032V5.85938' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
31
+ <path d='M10.5 14C10.5 14.2761 10.7239 14.5 11 14.5C11.2761 14.5 11.5 14.2761 11.5 14L10.5 14ZM10.5 12L10.5 14L11.5 14L11.5 12L10.5 12Z' fill='white' />
32
+ <path d='M9.5 7C9.5 6.72386 9.27614 6.5 9 6.5C8.72386 6.5 8.5 6.72386 8.5 7L9.5 7ZM9.5 9L9.5 7L8.5 7L8.5 9L9.5 9Z' fill='white' />
33
+ <path d='M13.5 7C13.5 6.72386 13.2761 6.5 13 6.5C12.7239 6.5 12.5 6.72386 12.5 7L13.5 7ZM13.5 9L13.5 7L12.5 7L12.5 9L13.5 9Z' fill='white' />
34
+ <path d='M11 12C12.6569 12 14 10.6569 14 9H8C8 10.6569 9.34315 12 11 12Z' stroke='none' strokeLinejoin='round' />
35
+ <path d='M5.66943 8.48436V6.79346' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
36
+ <path d='M2 4.7019V7.10507L5.67533 8.96004L7 8.5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
37
+ <path d='M3.8457 2.69214V4.07653' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
38
+ <ellipse cx='5.57619' cy='2.69219' rx='1.73049' ry='0.692194' stroke='none' />
39
+ <path d='M7.30667 4.07654C7.30667 4.45883 6.53191 4.76873 5.57619 4.76873C4.62047 4.76873 3.8457 4.45883 3.8457 4.07654' stroke='none' />
40
+ <path d='M7.30664 2.69214V4.07653' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
41
+
42
+ </svg>
43
+ )
44
+ break
45
+ case MEDIUM:
46
+ icon = (
47
+ <svg
48
+ width={24}
49
+ height={24}
50
+ viewBox='0 0 24 24'
51
+ fill='none'
52
+ xmlns='http://www.w3.org/2000/svg'
53
+ className={className}
54
+ >
55
+ <path d='M8.513 17.3617L3 14.5745' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
56
+ <path d='M8.50439 20.2483V17.7119' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
57
+ <path d='M3 14.5746V18.1793L8.513 20.9618L13.5 18.7499' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
58
+ <path d='M8.513 13.6008L3 10.8136' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
59
+ <path d='M8.50439 16.4874V13.951' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
60
+ <path d='M3 10.8137V14.4185L8.513 17.2009L10.5 16.5001' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
61
+ <path d='M14.0752 6.99055L8.513 9.83993L3 7.0527L5.7565 5.71858M14.0752 6.99055L11.2941 5.6875M14.0752 6.99055V8.78912' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
62
+ <path d='M15.75 21C15.75 21.4142 16.0858 21.75 16.5 21.75C16.9142 21.75 17.25 21.4142 17.25 21L15.75 21ZM15.75 18L15.75 21L17.25 21L17.25 18L15.75 18Z' fill='white' />
63
+ <path d='M14.25 10.5C14.25 10.0858 13.9142 9.75 13.5 9.75C13.0858 9.75 12.75 10.0858 12.75 10.5L14.25 10.5ZM14.25 13.5L14.25 10.5L12.75 10.5L12.75 13.5L14.25 13.5Z' fill='white' />
64
+ <path d='M20.25 10.5C20.25 10.0858 19.9142 9.75 19.5 9.75C19.0858 9.75 18.75 10.0858 18.75 10.5L20.25 10.5ZM20.25 13.5L20.25 10.5L18.75 10.5L18.75 13.5L20.25 13.5Z' fill='white' />
65
+ <path d='M16.5 18C18.9853 18 21 15.9853 21 13.5H12C12 15.9853 14.0147 18 16.5 18Z' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
66
+ <path d='M8.50439 12.7265V10.1902' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
67
+ <path d='M3 7.05286V10.6576L8.513 13.4401L10.5 12.75' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
68
+ <path d='M5.76855 4.03833V6.11491' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
69
+ <ellipse cx='8.36428' cy='4.03829' rx='2.59573' ry='1.03829' stroke='none' strokeWidth={1.5} />
70
+ <path d='M10.96 6.11487C10.96 6.6883 9.79786 7.15316 8.36428 7.15316C6.9307 7.15316 5.76855 6.6883 5.76855 6.11487' stroke='none' strokeWidth={1.5} />
71
+ <path d='M10.96 4.03833V6.11491' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
72
+
73
+ </svg>
74
+ )
75
+ break
76
+ case LARGE:
77
+ icon = (
78
+ <svg
79
+ width={40}
80
+ height={40}
81
+ viewBox='0 0 40 40'
82
+ fill='none'
83
+ xmlns='http://www.w3.org/2000/svg'
84
+ className={className}
85
+ >
86
+ <path d='M14.1883 28.936L5 24.2906' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
87
+ <path d='M14.1738 33.747V29.5198' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
88
+ <path d='M5 24.2908V30.2987L14.1883 34.9361L22.5 31.2497' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
89
+ <path d='M14.1883 22.6678L5 18.0225' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
90
+ <path d='M14.1738 27.4787V23.2515' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
91
+ <path d='M5 18.0226V24.0305L14.1883 28.6679L17.5 27.4998' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
92
+ <path d='M23.4586 11.6508L14.1883 16.3997L5 11.7543L9.59416 9.5308M23.4586 11.6508L18.8235 9.479M23.4586 11.6508V14.6484' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
93
+ <path d='M26.5 35C26.5 35.5523 26.9477 36 27.5 36C28.0523 36 28.5 35.5523 28.5 35L26.5 35ZM26.5 30L26.5 35L28.5 35L28.5 30L26.5 30Z' fill='white' />
94
+ <path d='M23.5 17.5C23.5 16.9477 23.0523 16.5 22.5 16.5C21.9477 16.5 21.5 16.9477 21.5 17.5L23.5 17.5ZM23.5 22.5L23.5 17.5L21.5 17.5L21.5 22.5L23.5 22.5Z' fill='white' />
95
+ <path d='M33.5 17.5C33.5 16.9477 33.0523 16.5 32.5 16.5C31.9477 16.5 31.5 16.9477 31.5 17.5L33.5 17.5ZM33.5 22.5L33.5 17.5L31.5 17.5L31.5 22.5L33.5 22.5Z' fill='white' />
96
+ <path d='M27.5 30C31.6421 30 35 26.6421 35 22.5H20C20 26.6421 23.3579 30 27.5 30Z' stroke='none' strokeWidth={2} strokeLinejoin='round' />
97
+ <path d='M14.1738 21.2108V16.9835' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
98
+ <path d='M5 11.7545V17.7624L14.1883 22.3999L17.5 21.2498' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
99
+ <path d='M9.61426 6.73047V10.1914' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
100
+ <ellipse cx='13.9405' cy='6.73049' rx='4.32621' ry='1.73049' stroke='none' strokeWidth={2} />
101
+ <path d='M18.2667 10.1914C18.2667 11.1471 16.3298 11.9219 13.9405 11.9219C11.5512 11.9219 9.61426 11.1471 9.61426 10.1914' stroke='none' strokeWidth={2} />
102
+ <path d='M18.2666 6.73047V10.1914' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
103
+
104
+ </svg>
105
+ )
106
+ break
107
+
108
+ default:
109
+ break
110
+ }
111
+ return icon
112
+ }
113
+
114
+ StackablesPluginIcon.propTypes = {
115
+ /**
116
+ * color of text, icon and borders
117
+ */
118
+ color: PropTypes.oneOf(COLORS_ICON),
119
+ /**
120
+ * Size
121
+ */
122
+ size: PropTypes.oneOf(SIZES),
123
+ /**
124
+ * disabled
125
+ */
126
+ disabled: PropTypes.bool
127
+ }
128
+ StackablesPluginIcon.defaultProps = {
129
+ color: MAIN_DARK_BLUE,
130
+ size: MEDIUM,
131
+ disabled: false
132
+ }
133
+
134
+ export default StackablesPluginIcon
@@ -0,0 +1,133 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
+
6
+ const StackablesTemplateIcon = ({ color, size, disabled }) => {
7
+ let className = `${styles.svgClassName} ` + styles[`${color}`]
8
+ if (disabled) {
9
+ className += ` ${styles.iconDisabled}`
10
+ }
11
+ let icon = <></>
12
+
13
+ switch (size) {
14
+ case SMALL:
15
+ icon = (
16
+ <svg
17
+ width={16}
18
+ height={16}
19
+ viewBox='0 0 16 16'
20
+ fill='none'
21
+ xmlns='http://www.w3.org/2000/svg'
22
+ className={className}
23
+ >
24
+ <path d='M5.67533 11.5745L2 9.71631' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
25
+ <path d='M5.66943 13.4989V11.808' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
26
+ <path d='M5.67533 13.9746L2 12.1196V9.71643' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
27
+ <path d='M5.67533 9.06714L2 7.20898' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
28
+ <path d='M5.66943 10.9916V9.30066' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
29
+ <path d='M5.67533 11.4672L2 9.61228V7.20911' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
30
+ <path d='M7.52939 3.79163L9.38344 4.66032L5.67533 6.55991L2 4.70176L3.83767 3.81234' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
31
+ <path d='M5.66943 8.48436V6.79346' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
32
+ <path d='M5.67533 8.96004L2 7.10507V4.7019M9.5 4.7019V5.5' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
33
+ <path d='M3.8457 2.69214V4.07653' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
34
+ <ellipse cx='5.57619' cy='2.69219' rx='1.73049' ry='0.692194' stroke='none' />
35
+ <path d='M7.30667 4.07654C7.30667 4.45883 6.53191 4.76873 5.57619 4.76873C4.62047 4.76873 3.8457 4.45883 3.8457 4.07654' stroke='none' />
36
+ <path d='M7.30664 2.69214V4.07653' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
37
+ <rect x='7' y='7' width='7' height='7' rx='1' stroke='none' strokeLinejoin='round' />
38
+ <rect x='8.16699' y='8.16675' width='4.66667' height='1.16667' stroke='none' strokeLinejoin='round' />
39
+ <rect x='8.16699' y='11.0833' width='1.75' height='1.75' stroke='none' strokeLinejoin='round' />
40
+ <rect x='11.083' y='11.0833' width='1.75' height='1.75' stroke='none' strokeLinejoin='round' />
41
+
42
+ </svg>
43
+ )
44
+ break
45
+ case MEDIUM:
46
+ icon = (
47
+ <svg
48
+ width={24}
49
+ height={24}
50
+ viewBox='0 0 24 24'
51
+ fill='none'
52
+ xmlns='http://www.w3.org/2000/svg'
53
+ className={className}
54
+ >
55
+ <path d='M8.513 17.3617L3 14.5745' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
56
+ <path d='M8.50439 20.2483V17.7119' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
57
+ <path d='M8.513 20.9618L3 18.1793V14.5746' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
58
+ <path d='M8.513 13.6008L3 10.8136' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
59
+ <path d='M8.50439 16.4874V13.951' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
60
+ <path d='M8.513 17.2009L3 14.4185V10.8137' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
61
+ <path d='M11.2941 5.6875L14.0752 6.99055L8.513 9.83993L3 7.0527L5.7565 5.71858' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
62
+ <path d='M8.50439 12.7265V10.1902' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
63
+ <path d='M8.513 13.4401L3 10.6576V7.05286M14.25 7.05286V8.25' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
64
+ <path d='M5.76855 4.03833V6.11491' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
65
+ <ellipse cx='8.36428' cy='4.03829' rx='2.59573' ry='1.03829' stroke='none' strokeWidth={1.5} />
66
+ <path d='M10.96 6.11487C10.96 6.6883 9.79786 7.15316 8.36428 7.15316C6.9307 7.15316 5.76855 6.6883 5.76855 6.11487' stroke='none' strokeWidth={1.5} />
67
+ <path d='M10.96 4.03833V6.11491' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
68
+ <rect x='10.5' y='10.5' width='10.5' height='10.5' rx='1' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
69
+ <rect x='12.2505' y='12.2501' width='7' height='1.75' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
70
+ <rect x='12.25' y='16.625' width='2.625' height='2.625' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
71
+ <rect x='16.625' y='16.625' width='2.625' height='2.625' stroke='none' strokeWidth={1.5} strokeLinejoin='round' />
72
+
73
+ </svg>
74
+ )
75
+ break
76
+ case LARGE:
77
+ icon = (
78
+ <svg
79
+ width={40}
80
+ height={40}
81
+ viewBox='0 0 40 40'
82
+ fill='none'
83
+ xmlns='http://www.w3.org/2000/svg'
84
+ className={className}
85
+ >
86
+ <path d='M14.1883 28.936L5 24.2906' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
87
+ <path d='M14.1738 33.747V29.5198' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
88
+ <path d='M14.1883 34.9361L5 30.2987V24.2908' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
89
+ <path d='M14.1883 22.6678L5 18.0225' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
90
+ <path d='M14.1738 27.4787V23.2515' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
91
+ <path d='M14.1883 28.6679L5 24.0305V18.0226' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
92
+ <path d='M18.8235 9.479L23.4586 11.6508L14.1883 16.3997L5 11.7543L9.59416 9.5308' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
93
+ <path d='M14.1738 21.2108V16.9835' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
94
+ <path d='M14.1883 22.3999L5 17.7624V11.7545M23.75 11.7545V13.7498' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
95
+ <path d='M9.61426 6.73047V10.1914' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
96
+ <ellipse cx='13.9405' cy='6.73049' rx='4.32621' ry='1.73049' stroke='none' strokeWidth={2} />
97
+ <path d='M18.2667 10.1914C18.2667 11.1471 16.3298 11.9219 13.9405 11.9219C11.5512 11.9219 9.61426 11.1471 9.61426 10.1914' stroke='none' strokeWidth={2} />
98
+ <path d='M18.2666 6.73047V10.1914' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
99
+ <rect x='17.5' y='17.5' width='17.5' height='17.5' rx='1' stroke='none' strokeWidth={2} strokeLinejoin='round' />
100
+ <rect x='20.4175' y='20.4169' width='11.6667' height='2.91667' stroke='none' strokeWidth={2} strokeLinejoin='round' />
101
+ <rect x='20.417' y='27.7083' width='4.375' height='4.375' stroke='none' strokeWidth={2} strokeLinejoin='round' />
102
+ <rect x='27.708' y='27.7083' width='4.375' height='4.375' stroke='none' strokeWidth={2} strokeLinejoin='round' />
103
+ </svg>
104
+ )
105
+ break
106
+
107
+ default:
108
+ break
109
+ }
110
+ return icon
111
+ }
112
+
113
+ StackablesTemplateIcon.propTypes = {
114
+ /**
115
+ * color of text, icon and borders
116
+ */
117
+ color: PropTypes.oneOf(COLORS_ICON),
118
+ /**
119
+ * Size
120
+ */
121
+ size: PropTypes.oneOf(SIZES),
122
+ /**
123
+ * disabled
124
+ */
125
+ disabled: PropTypes.bool
126
+ }
127
+ StackablesTemplateIcon.defaultProps = {
128
+ color: MAIN_DARK_BLUE,
129
+ size: MEDIUM,
130
+ disabled: false
131
+ }
132
+
133
+ export default StackablesTemplateIcon