@platformatic/ui-components 0.1.104 → 0.1.106

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 (126) hide show
  1. package/.nvmrc +1 -1
  2. package/dist/assets/index-68be35eb.js +206 -0
  3. package/dist/assets/{index.f8753767.css → index-6fadf156.css} +1 -1
  4. package/dist/index.html +2 -2
  5. package/index.js +2 -0
  6. package/package.json +20 -20
  7. package/src/components/ModalStepsForward.jsx +90 -0
  8. package/src/components/ModalStepsForward.module.css +32 -0
  9. package/src/components/PlatformaticIcon.jsx +4 -4
  10. package/src/components/constants.js +2 -0
  11. package/src/components/forms/Field.jsx +1 -1
  12. package/src/components/forms/Field.module.css +1 -1
  13. package/src/components/forms/Input.jsx +9 -7
  14. package/src/components/forms/Input.module.css +19 -5
  15. package/src/components/forms/Password.jsx +79 -0
  16. package/src/components/forms/Password.module.css +34 -0
  17. package/src/components/forms/RadioGroup.jsx +72 -0
  18. package/src/components/forms/RadioGroup.module.css +37 -0
  19. package/src/components/forms/Select.jsx +125 -0
  20. package/src/components/forms/Select.module.css +23 -0
  21. package/src/components/forms/TextArea.jsx +83 -0
  22. package/src/components/forms/TextArea.module.css +16 -0
  23. package/src/components/forms/index.js +13 -1
  24. package/src/components/icons/AddIcon.jsx +6 -6
  25. package/src/components/icons/AlertIcon.jsx +6 -6
  26. package/src/components/icons/AllInOneIcon.jsx +6 -6
  27. package/src/components/icons/ApiCloudIcon.jsx +6 -6
  28. package/src/components/icons/ApiEmptyIcon.jsx +4 -4
  29. package/src/components/icons/ApiIcon.jsx +6 -6
  30. package/src/components/icons/AppEmptyIcon.jsx +4 -4
  31. package/src/components/icons/AppIcon.jsx +6 -6
  32. package/src/components/icons/AppListIcon.jsx +4 -4
  33. package/src/components/icons/ArrowDownFullIcon.jsx +6 -6
  34. package/src/components/icons/ArrowDownIcon.jsx +6 -6
  35. package/src/components/icons/ArrowLeftIcon.jsx +6 -6
  36. package/src/components/icons/ArrowRightIcon.jsx +6 -6
  37. package/src/components/icons/ArrowUpIcon.jsx +6 -6
  38. package/src/components/icons/BellIcon.jsx +6 -6
  39. package/src/components/icons/BillingIcon.jsx +6 -6
  40. package/src/components/icons/Calendar1DayIcon.jsx +6 -6
  41. package/src/components/icons/Calendar7DaysIcon.jsx +6 -6
  42. package/src/components/icons/CalendarIcon.jsx +6 -6
  43. package/src/components/icons/ChatGPTIcon.jsx +77 -0
  44. package/src/components/icons/CheckListIcon.jsx +6 -6
  45. package/src/components/icons/CircleAddIcon.jsx +6 -6
  46. package/src/components/icons/CircleArrowLeftIcon.jsx +6 -6
  47. package/src/components/icons/CircleArrowRightIcon.jsx +6 -6
  48. package/src/components/icons/CircleCheckMarkFullIcon.jsx +50 -0
  49. package/src/components/icons/CircleCheckMarkIcon.jsx +6 -6
  50. package/src/components/icons/CircleCloseHoverIcon.jsx +4 -4
  51. package/src/components/icons/CircleCloseIcon.jsx +5 -5
  52. package/src/components/icons/CircleExclamationIcon.jsx +6 -6
  53. package/src/components/icons/CircleFullIcon.jsx +3 -3
  54. package/src/components/icons/CircleGearIcon.jsx +6 -6
  55. package/src/components/icons/CircleTwoArrowsDownIcon.jsx +6 -6
  56. package/src/components/icons/CircleTwoArrowsUpIcon.jsx +6 -6
  57. package/src/components/icons/CloseIcon.jsx +6 -6
  58. package/src/components/icons/ConfigureDatabaseIcon.jsx +89 -0
  59. package/src/components/icons/CopyPasteIcon.jsx +6 -6
  60. package/src/components/icons/CreatingAppIcon.jsx +95 -0
  61. package/src/components/icons/CreditCardIcon.jsx +6 -6
  62. package/src/components/icons/DatabaseIcon.jsx +6 -6
  63. package/src/components/icons/DatabaseMigrationIcon.jsx +86 -0
  64. package/src/components/icons/EditIcon.jsx +6 -6
  65. package/src/components/icons/EnlargeIcon.jsx +6 -6
  66. package/src/components/icons/EntryIcon.jsx +6 -6
  67. package/src/components/icons/ExploreDocIcon.jsx +6 -6
  68. package/src/components/icons/EyeClosedIcon.jsx +51 -0
  69. package/src/components/icons/EyeOpenedIcon.jsx +49 -0
  70. package/src/components/icons/GearIcon.jsx +6 -6
  71. package/src/components/icons/GenerationLoadingIcon.jsx +3 -3
  72. package/src/components/icons/GitHubRepoIcon.jsx +108 -0
  73. package/src/components/icons/GiveOwnershipIcon.jsx +6 -6
  74. package/src/components/icons/GraphQLIcon.jsx +6 -6
  75. package/src/components/icons/KeyIcon.jsx +6 -6
  76. package/src/components/icons/LabelIcon.jsx +3 -3
  77. package/src/components/icons/LayersIcon.jsx +6 -6
  78. package/src/components/icons/LensIcon.jsx +6 -6
  79. package/src/components/icons/LiveIcon.jsx +6 -6
  80. package/src/components/icons/LoadingAppIcon.jsx +5 -5
  81. package/src/components/icons/LogOutIcon.jsx +6 -6
  82. package/src/components/icons/MetricsIcon.jsx +6 -6
  83. package/src/components/icons/MetricsLoadingIcon.jsx +3 -3
  84. package/src/components/icons/NameAppIcon.jsx +90 -0
  85. package/src/components/icons/OrganizationIcon.jsx +6 -6
  86. package/src/components/icons/PlayIcon.jsx +6 -6
  87. package/src/components/icons/PullRequestIcon.jsx +6 -6
  88. package/src/components/icons/PullRequestLoadingIcon.jsx +4 -4
  89. package/src/components/icons/RequestOwnershipIcon.jsx +6 -6
  90. package/src/components/icons/RestartIcon.jsx +6 -6
  91. package/src/components/icons/RocketIcon.jsx +6 -6
  92. package/src/components/icons/RunningIcon.jsx +83 -0
  93. package/src/components/icons/SendIcon.jsx +6 -6
  94. package/src/components/icons/ServiceIcon.jsx +6 -6
  95. package/src/components/icons/SlotIcon.jsx +6 -6
  96. package/src/components/icons/SocialDiscordIcon.jsx +6 -6
  97. package/src/components/icons/SocialGitHubIcon.jsx +6 -6
  98. package/src/components/icons/SocialGitLabIcon.jsx +9 -9
  99. package/src/components/icons/SocialLinkedInIcon.jsx +6 -6
  100. package/src/components/icons/SocialNPMIcon.jsx +6 -6
  101. package/src/components/icons/SocialTwitterIcon.jsx +6 -6
  102. package/src/components/icons/StopIcon.jsx +6 -6
  103. package/src/components/icons/SwitchIcon.jsx +6 -6
  104. package/src/components/icons/TeamsIcon.jsx +6 -6
  105. package/src/components/icons/TerminalIcon.jsx +6 -6
  106. package/src/components/icons/TwoUsersIcon.jsx +6 -6
  107. package/src/components/icons/UpgradeIcon.jsx +7 -7
  108. package/src/components/icons/UserIcon.jsx +6 -6
  109. package/src/components/icons/UserRemoveIcon.jsx +6 -6
  110. package/src/components/icons/UserRoleIcon.jsx +6 -6
  111. package/src/components/icons/WorkspaceDynamicIcon.jsx +6 -6
  112. package/src/components/icons/WorkspaceEmptyIcon.jsx +4 -4
  113. package/src/components/icons/WorkspaceFailIcon.jsx +7 -7
  114. package/src/components/icons/WorkspaceGitHubIcon.jsx +7 -7
  115. package/src/components/icons/WorkspaceLoadingIcon.jsx +4 -4
  116. package/src/components/icons/WorkspaceReadyIcon.jsx +7 -7
  117. package/src/components/icons/WorkspaceStaticIcon.jsx +6 -6
  118. package/src/components/icons/index.js +20 -0
  119. package/src/stories/ModalStepsForward.stories.jsx +60 -0
  120. package/src/stories/PlatformaticIcon.stories.jsx +32 -26
  121. package/src/stories/forms/Password.stories.jsx +63 -0
  122. package/src/stories/forms/RadioGroup.stories.jsx +77 -0
  123. package/src/stories/forms/Select.stories.jsx +71 -0
  124. package/src/stories/forms/TextArea.stories.jsx +73 -0
  125. package/dist/assets/index.605a6a5e.js +0 -206
  126. /package/dist/assets/{Montserrat-Regular.dcfe8df2.ttf → Montserrat-Regular-dcfe8df2.ttf} +0 -0
@@ -0,0 +1,125 @@
1
+ 'use strict'
2
+ import React, { useState, useEffect, useRef } from 'react'
3
+ import PropTypes from 'prop-types'
4
+ import styles from './Select.module.css'
5
+ import commonStyles from '../Common.module.css'
6
+ import { MAIN_DARK_BLUE, MAIN_GREEN } from '../constants'
7
+ import PlatformaticIcon from '../PlatformaticIcon'
8
+
9
+ function Select ({ placeholder, name, value, options, borderColor, errorMessage, onChange, onSelect, disabled }) {
10
+ const inputRef = useRef()
11
+ const [showOptions, setShowOptions] = useState(false)
12
+ const [isSelected, setIsSelected] = useState(false)
13
+ const showError = errorMessage.length > 0
14
+ let inputClassName = `${commonStyles.fullWidth} ${styles.select} `
15
+ inputClassName += ' ' + commonStyles[`bordered--${borderColor}`] + ' ' + commonStyles[`text--${borderColor}`]
16
+ if (showError) inputClassName += ' ' + commonStyles['bordered--error-red']
17
+ if (disabled) inputClassName += ' ' + commonStyles['apply-opacity-30']
18
+
19
+ function setSelected ({ label, value }) {
20
+ setIsSelected(true)
21
+ setShowOptions(false)
22
+ /* eslint-disable-next-line no-undef */
23
+ onSelect(new CustomEvent('valueSelected', {
24
+ detail: {
25
+ name,
26
+ label,
27
+ value
28
+ }
29
+ }))
30
+ }
31
+
32
+ useEffect(() => {
33
+ if (value.length > 0 && !showOptions && !isSelected) {
34
+ setShowOptions(true)
35
+ }
36
+ if (value.length === 0) {
37
+ setIsSelected(false)
38
+ }
39
+ }, [value])
40
+
41
+ function renderOptions () {
42
+ const filteredOptions = value.length > 0 ? options.filter(option => option.label.toLowerCase().includes(value.toLowerCase())) : options
43
+ return (
44
+ <ul className={styles.options}>
45
+ {filteredOptions.length > 0 ? filteredOptions.map((option, index) => <li key={index} className={styles.option} onClick={() => setSelected(option)}>{option.label}</li>) : <li className={styles.option}>No data found</li>}
46
+ </ul>
47
+ )
48
+ }
49
+
50
+ // https://stackoverflow.com/questions/23892547/what-is-the-best-way-to-trigger-change-or-input-event-in-react-js
51
+ function clearValue () {
52
+ const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set
53
+ nativeInputValueSetter.call(inputRef.current, '')
54
+ const ev2 = new Event('input', { bubbles: true })
55
+ ev2.simulated = true
56
+ inputRef.current.dispatchEvent(ev2)
57
+ }
58
+
59
+ return (
60
+ <div className={styles.container}>
61
+ <div className={styles.selectContainer}>
62
+ <input type='text' name={name} value={value} className={inputClassName} ref={inputRef} onChange={onChange} disabled={disabled} placeholder={placeholder} />
63
+ <div className={styles.icons}>
64
+ {value?.length > 0 && <PlatformaticIcon iconName='CloseIcon' color={borderColor} onClick={() => clearValue()} />}
65
+ <PlatformaticIcon iconName={showOptions ? 'ArrowUpIcon' : 'ArrowDownIcon'} color={borderColor} onClick={() => setShowOptions(!showOptions)} />
66
+ </div>
67
+ </div>
68
+ {showOptions && !showError && renderOptions()}
69
+ {showError && <span className={commonStyles['error-message']}>{errorMessage}</span>}
70
+ </div>
71
+ )
72
+ }
73
+
74
+ Select.propTypes = {
75
+ /**
76
+ * placeholder
77
+ */
78
+ placeholder: PropTypes.string,
79
+ /**
80
+ * name
81
+ */
82
+ name: PropTypes.string,
83
+ /**
84
+ * value
85
+ */
86
+ value: PropTypes.string,
87
+ /**
88
+ * options
89
+ */
90
+ options: PropTypes.arrayOf(PropTypes.shape({
91
+ value: PropTypes.string,
92
+ label: PropTypes.string
93
+ })),
94
+ /**
95
+ * color of border
96
+ */
97
+ borderColor: PropTypes.oneOf([MAIN_GREEN, MAIN_DARK_BLUE]),
98
+ /**
99
+ * onChange
100
+ */
101
+ onChange: PropTypes.func,
102
+ /**
103
+ * onSelect
104
+ */
105
+ onSelect: PropTypes.func,
106
+ /**
107
+ * Disabled
108
+ */
109
+ disabled: PropTypes.bool
110
+ }
111
+
112
+ Select.defaultProps = {
113
+ placeholder: 'this is the default',
114
+ name: '',
115
+ value: '',
116
+ id: '',
117
+ options: [],
118
+ borderColor: MAIN_GREEN,
119
+ errorMessage: '',
120
+ onChange: () => {},
121
+ onSelect: () => {},
122
+ disabled: false
123
+ }
124
+
125
+ export default Select
@@ -0,0 +1,23 @@
1
+ .container {
2
+ @apply flex flex-col w-full relative z-10;
3
+ }
4
+ .selectContainer {
5
+ @apply w-full flex items-center h-10 relative;
6
+ }
7
+ .select {
8
+ @apply px-2 h-full border border-solid box-border rounded-md ;
9
+ }
10
+ .select.active,
11
+ .select:focus {
12
+ @apply shadow-main-dark-blue outline-none;
13
+ }
14
+ .options {
15
+ @apply absolute left-0 top-[42px] bg-white w-full max-h-[216px] overflow-y-scroll;
16
+ box-shadow: 0px 0px 10px rgb(0 40 61 / 25%);
17
+ }
18
+ .option {
19
+ @apply w-full px-4 py-2 border-b border-main-dark-blue/[.15] font-light cursor-pointer hover:bg-main-dark-blue hover:bg-opacity-10
20
+ }
21
+ .icons {
22
+ @apply absolute top-[50%] right-[0.5rem] translate-y-[-50%] flex gap-x-2;
23
+ }
@@ -0,0 +1,83 @@
1
+ 'use strict'
2
+ import React from 'react'
3
+ import PropTypes from 'prop-types'
4
+ import styles from './TextArea.module.css'
5
+ import commonStyles from '../Common.module.css'
6
+ import PlatformaticIcon from '../PlatformaticIcon'
7
+ import { MAIN_DARK_BLUE, MAIN_GREEN } from '../constants'
8
+
9
+ function TextArea ({ placeholder, value, name, borderColor, errorMessage, onChange, disabled, afterIcon, rows, cols }) {
10
+ let className = styles.textAreaContainer + ' ' + commonStyles[`bordered--${borderColor}`] + ' ' + commonStyles[`text--${borderColor}`]
11
+ const showError = errorMessage.length > 0
12
+ if (showError) className += ' ' + commonStyles['bordered--error-red']
13
+ if (disabled) className += ' ' + commonStyles['apply-opacity-30']
14
+ const textAreaClassName = `${commonStyles.fullWidth} ${styles.textarea}`
15
+
16
+ return (
17
+ <div className={styles.container}>
18
+ <div className={className}>
19
+ <textarea name={name} className={textAreaClassName} onChange={onChange} disabled={disabled} placeholder={placeholder} rows={rows} cols={cols} value={value} />
20
+ {afterIcon && <div className={styles.afterIcon}><PlatformaticIcon iconName={afterIcon.iconName} color={afterIcon.color} data-testid='after-icon' onClick={null} /></div>}
21
+ </div>
22
+ {showError && <span className={commonStyles['error-message']}>{errorMessage}</span>}
23
+ </div>
24
+ )
25
+ }
26
+
27
+ TextArea.propTypes = {
28
+ /**
29
+ * placeholder
30
+ */
31
+ placeholder: PropTypes.string,
32
+ /**
33
+ * value
34
+ */
35
+ value: PropTypes.string,
36
+ /**
37
+ * name
38
+ */
39
+ name: PropTypes.string,
40
+ /**
41
+ * color of border
42
+ */
43
+ borderColor: PropTypes.oneOf([MAIN_GREEN, MAIN_DARK_BLUE]),
44
+ /**
45
+ * onChange
46
+ */
47
+ onChange: PropTypes.func,
48
+ /**
49
+ * Disabled
50
+ */
51
+ disabled: PropTypes.bool,
52
+ /**
53
+ * afterIcon: PlatformaticIcon props
54
+ */
55
+ afterIcon: PropTypes.shape({
56
+ iconName: PropTypes.string,
57
+ color: PropTypes.string,
58
+ onClick: PropTypes.func
59
+ }),
60
+ /**
61
+ * rows
62
+ */
63
+ rows: PropTypes.number,
64
+ /**
65
+ * cols
66
+ */
67
+ cols: PropTypes.number
68
+ }
69
+
70
+ TextArea.defaultProps = {
71
+ placeholder: '',
72
+ value: '',
73
+ name: '',
74
+ borderColor: MAIN_DARK_BLUE,
75
+ errorMessage: '',
76
+ onChange: () => {},
77
+ disabled: false,
78
+ afterIcon: null,
79
+ rows: 5,
80
+ cols: 20
81
+ }
82
+
83
+ export default TextArea
@@ -0,0 +1,16 @@
1
+ .container {
2
+ @apply flex flex-col w-full relative z-10;
3
+ }
4
+ .textAreaContainer {
5
+ @apply w-full flex items-center relative;
6
+ }
7
+ .textarea {
8
+ @apply p-3 h-full border border-solid box-border rounded-md bg-transparent;
9
+ }
10
+ .textarea.active,
11
+ .textarea:focus {
12
+ @apply shadow-main-dark-blue outline-none;
13
+ }
14
+ .afterIcon {
15
+ @apply absolute top-[1.25rem] right-[1.25rem]
16
+ }
@@ -1,9 +1,21 @@
1
1
  import Field from './Field'
2
2
  import Input from './Input'
3
3
  import InputWithSeparator from './InputWithSeparator'
4
+ import Password from './Password'
4
5
  import Preview from './Preview'
6
+ import RadioGroup from './RadioGroup'
7
+ import Select from './Select'
8
+ import TextArea from './TextArea'
5
9
  import ToggleSwitch from './ToggleSwitch'
6
10
 
7
11
  export default {
8
- Field, Input, InputWithSeparator, Preview, ToggleSwitch
12
+ Field,
13
+ Input,
14
+ InputWithSeparator,
15
+ Password,
16
+ Preview,
17
+ RadioGroup,
18
+ Select,
19
+ TextArea,
20
+ ToggleSwitch
9
21
  }
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const AddIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -23,7 +23,7 @@ const AddIcon = ({ color, size }) => {
23
23
  </svg>
24
24
  )
25
25
  break
26
- case 'medium':
26
+ case MEDIUM:
27
27
  icon = (
28
28
  <svg
29
29
  width={24}
@@ -38,7 +38,7 @@ const AddIcon = ({ color, size }) => {
38
38
  </svg>
39
39
  )
40
40
  break
41
- case 'large':
41
+ case LARGE:
42
42
  icon = (
43
43
  <svg
44
44
  width={40}
@@ -72,8 +72,8 @@ AddIcon.propTypes = {
72
72
  }
73
73
 
74
74
  AddIcon.defaultProps = {
75
- color: 'main-dark-blue',
76
- size: 'medium'
75
+ color: MAIN_DARK_BLUE,
76
+ size: MEDIUM
77
77
  }
78
78
 
79
79
  export default AddIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, ERROR_RED } from '../constants'
5
5
 
6
6
  const AlertIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -24,7 +24,7 @@ const AlertIcon = ({ color, size }) => {
24
24
  </svg>
25
25
  )
26
26
  break
27
- case 'medium':
27
+ case MEDIUM:
28
28
  icon = (
29
29
  <svg
30
30
  width={24}
@@ -40,7 +40,7 @@ const AlertIcon = ({ color, size }) => {
40
40
  </svg>
41
41
  )
42
42
  break
43
- case 'large':
43
+ case LARGE:
44
44
  icon = (
45
45
  <svg
46
46
  width={40}
@@ -75,8 +75,8 @@ AlertIcon.propTypes = {
75
75
  }
76
76
 
77
77
  AlertIcon.defaultProps = {
78
- color: 'error-red',
79
- size: 'medium'
78
+ color: ERROR_RED,
79
+ size: MEDIUM
80
80
  }
81
81
 
82
82
  export default AlertIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const AllInOneIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -34,7 +34,7 @@ const AllInOneIcon = ({ color, size }) => {
34
34
  </svg>
35
35
  )
36
36
  break
37
- case 'medium':
37
+ case MEDIUM:
38
38
  icon = (
39
39
  <svg
40
40
  width={24}
@@ -60,7 +60,7 @@ const AllInOneIcon = ({ color, size }) => {
60
60
  </svg>
61
61
  )
62
62
  break
63
- case 'large':
63
+ case LARGE:
64
64
  icon = (
65
65
  <svg
66
66
  width={40}
@@ -105,8 +105,8 @@ AllInOneIcon.propTypes = {
105
105
  }
106
106
 
107
107
  AllInOneIcon.defaultProps = {
108
- color: 'main-dark-blue',
109
- size: 'medium'
108
+ color: MAIN_DARK_BLUE,
109
+ size: MEDIUM
110
110
  }
111
111
 
112
112
  export default AllInOneIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const ApiCloudIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -28,7 +28,7 @@ const ApiCloudIcon = ({ color, size }) => {
28
28
  </svg>
29
29
  )
30
30
  break
31
- case 'medium':
31
+ case MEDIUM:
32
32
  icon = (
33
33
  <svg
34
34
  width={24}
@@ -48,7 +48,7 @@ const ApiCloudIcon = ({ color, size }) => {
48
48
  </svg>
49
49
  )
50
50
  break
51
- case 'large':
51
+ case LARGE:
52
52
  icon = (
53
53
  <svg
54
54
  width={40}
@@ -87,8 +87,8 @@ ApiCloudIcon.propTypes = {
87
87
  }
88
88
 
89
89
  ApiCloudIcon.defaultProps = {
90
- color: 'main-dark-blue',
91
- size: 'medium'
90
+ color: MAIN_DARK_BLUE,
91
+ size: MEDIUM
92
92
  }
93
93
 
94
94
  export default ApiCloudIcon
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, MEDIUM, EXTRA_LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const ApiEmptyIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`] + ' '
@@ -9,7 +9,7 @@ const ApiEmptyIcon = ({ color, size }) => {
9
9
  let icon = <></>
10
10
 
11
11
  switch (size) {
12
- case 'extra-large':
12
+ case EXTRA_LARGE:
13
13
  icon = (
14
14
  <svg
15
15
  width={80}
@@ -135,8 +135,8 @@ ApiEmptyIcon.propTypes = {
135
135
  }
136
136
 
137
137
  ApiEmptyIcon.defaultProps = {
138
- color: 'main-dark-blue',
139
- size: 'medium'
138
+ color: MAIN_DARK_BLUE,
139
+ size: MEDIUM
140
140
  }
141
141
 
142
142
  export default ApiEmptyIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const ApiIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -25,7 +25,7 @@ const ApiIcon = ({ color, size }) => {
25
25
  </svg>
26
26
  )
27
27
  break
28
- case 'medium':
28
+ case MEDIUM:
29
29
  icon = (
30
30
  <svg
31
31
  width={24}
@@ -42,7 +42,7 @@ const ApiIcon = ({ color, size }) => {
42
42
  </svg>
43
43
  )
44
44
  break
45
- case 'large':
45
+ case LARGE:
46
46
  icon = (
47
47
  <svg
48
48
  width={40}
@@ -78,8 +78,8 @@ ApiIcon.propTypes = {
78
78
  }
79
79
 
80
80
  ApiIcon.defaultProps = {
81
- color: 'main-dark-blue',
82
- size: 'medium'
81
+ color: MAIN_DARK_BLUE,
82
+ size: MEDIUM
83
83
  }
84
84
 
85
85
  export default ApiIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, MEDIUM, EXTRA_LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const AppEmptyIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'extra-large':
11
+ case EXTRA_LARGE:
12
12
  icon = (
13
13
  <svg width={105} height={105} viewBox='0 0 105 105' fill='none' xmlns='http://www.w3.org/2000/svg' className={className}>
14
14
  <path d='M45.1159 59.7372H31.3467C30.7944 59.7372 30.3467 60.1849 30.3467 60.7372V87.0941C30.3467 87.6464 30.7944 88.0941 31.3467 88.0941H73.6544C74.2067 88.0941 74.6544 87.6464 74.6544 87.0941V60.7372C74.6544 60.1849 74.2067 59.7372 73.6544 59.7372H59.8851' stroke='none' strokeWidth={3} strokeLinecap='round' />
@@ -46,8 +46,8 @@ AppEmptyIcon.propTypes = {
46
46
  }
47
47
 
48
48
  AppEmptyIcon.defaultProps = {
49
- color: 'main-dark-blue',
50
- size: 'medium'
49
+ color: MAIN_DARK_BLUE,
50
+ size: MEDIUM
51
51
  }
52
52
 
53
53
  export default AppEmptyIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const AppIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'small':
11
+ case SMALL:
12
12
  icon = (
13
13
  <svg
14
14
  width={16}
@@ -26,7 +26,7 @@ const AppIcon = ({ color, size }) => {
26
26
  </svg>
27
27
  )
28
28
  break
29
- case 'medium':
29
+ case MEDIUM:
30
30
  icon = (
31
31
  <svg
32
32
  width={24}
@@ -43,7 +43,7 @@ const AppIcon = ({ color, size }) => {
43
43
  </svg>
44
44
  )
45
45
  break
46
- case 'large':
46
+ case LARGE:
47
47
  icon = (
48
48
  <svg
49
49
  width={40}
@@ -79,8 +79,8 @@ AppIcon.propTypes = {
79
79
  }
80
80
 
81
81
  AppIcon.defaultProps = {
82
- color: 'main-dark-blue',
83
- size: 'medium'
82
+ color: MAIN_DARK_BLUE,
83
+ size: MEDIUM
84
84
  }
85
85
 
86
86
  export default AppIcon
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, MEDIUM, EXTRA_LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const AppListIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
8
8
  let icon = <></>
9
9
 
10
10
  switch (size) {
11
- case 'extra-large':
11
+ case EXTRA_LARGE:
12
12
  icon = (
13
13
  <svg
14
14
  width={81}
@@ -97,8 +97,8 @@ AppListIcon.propTypes = {
97
97
  }
98
98
 
99
99
  AppListIcon.defaultProps = {
100
- color: 'main-dark-blue',
101
- size: 'medium'
100
+ color: MAIN_DARK_BLUE,
101
+ size: MEDIUM
102
102
  }
103
103
 
104
104
  export default AppListIcon
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react'
2
2
  import PropTypes from 'prop-types'
3
3
  import styles from './Icons.module.css'
4
- import { COLORS_ICON, SIZES } from '../constants'
4
+ import { COLORS_ICON, SIZES, SMALL, MEDIUM, LARGE, MAIN_DARK_BLUE } from '../constants'
5
5
 
6
6
  const ArrowDownFullIcon = ({ color, size }) => {
7
7
  const className = `${styles.noShrinkForFlex} ` + styles[`${color}`] + ' '
@@ -9,7 +9,7 @@ const ArrowDownFullIcon = ({ color, size }) => {
9
9
  let icon = <></>
10
10
 
11
11
  switch (size) {
12
- case 'small':
12
+ case SMALL:
13
13
  icon = (
14
14
  <svg
15
15
  width={16}
@@ -23,7 +23,7 @@ const ArrowDownFullIcon = ({ color, size }) => {
23
23
  </svg>
24
24
  )
25
25
  break
26
- case 'medium':
26
+ case MEDIUM:
27
27
  icon = (
28
28
  <svg
29
29
  width={24}
@@ -37,7 +37,7 @@ const ArrowDownFullIcon = ({ color, size }) => {
37
37
  </svg>
38
38
  )
39
39
  break
40
- case 'large':
40
+ case LARGE:
41
41
  icon = (
42
42
  <svg
43
43
  width={40}
@@ -70,8 +70,8 @@ ArrowDownFullIcon.propTypes = {
70
70
  }
71
71
 
72
72
  ArrowDownFullIcon.defaultProps = {
73
- color: 'main-dark-blue',
74
- size: 'medium'
73
+ color: MAIN_DARK_BLUE,
74
+ size: MEDIUM
75
75
  }
76
76
 
77
77
  export default ArrowDownFullIcon