@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
@@ -0,0 +1,90 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const Calendar1DayIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
8
+
9
+ let icon = <></>
10
+
11
+ switch (size) {
12
+ case 'small':
13
+ icon = (
14
+ <svg
15
+ width={16}
16
+ height={16}
17
+ viewBox='0 0 16 16'
18
+ fill='none'
19
+ xmlns='http://www.w3.org/2000/svg'
20
+ className={className}
21
+ >
22
+ <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
23
+ <path d='M2 7H5M14 7H11' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
26
+ <path d='M7.59712 13V6.5L8.21223 7.09L7.59712 8H7.5L6.5 9V7L7.5 6H9V13H7.59712Z' fill='none' className={filledClassName} />
27
+ </svg>
28
+ )
29
+ break
30
+ case 'normal':
31
+ icon = (
32
+ <svg
33
+ width={24}
34
+ height={24}
35
+ viewBox='0 0 24 24'
36
+ fill='none'
37
+ xmlns='http://www.w3.org/2000/svg'
38
+ className={className}
39
+ >
40
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={2} />
41
+ <path d='M3 10.5H7.5M21 10.5H16.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
42
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
43
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
44
+ <path d='M11.3957 19.5V9.75L12.3183 10.635L11.3957 12H11.25L9.75 13.5V10.5L11.25 9H13.5V19.5H11.3957Z' fill='none' className={filledClassName} />
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
+ <rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
60
+ <path d='M5 17.5H12.5M35 17.5H27.5' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
61
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
62
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
63
+ <path d='M18.9928 32.5V16.25L20.5306 17.725L18.9928 20H18.75L16.25 22.5V17.5L18.75 15H22.5V32.5H18.9928Z' fill='none' className={filledClassName} />
64
+ </svg>
65
+ )
66
+ break
67
+
68
+ default:
69
+ break
70
+ }
71
+ return icon
72
+ }
73
+
74
+ Calendar1DayIcon.propTypes = {
75
+ /**
76
+ * color of text, icon and borders
77
+ */
78
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
79
+ /**
80
+ * Size
81
+ */
82
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
83
+ }
84
+
85
+ Calendar1DayIcon.defaultProps = {
86
+ color: 'main-dark-blue',
87
+ size: 'normal'
88
+ }
89
+
90
+ export default Calendar1DayIcon
@@ -0,0 +1,88 @@
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const Calendar7DaysIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
8
+
9
+ let icon = <></>
10
+
11
+ switch (size) {
12
+ case 'small':
13
+ icon = (
14
+ <svg
15
+ width={16}
16
+ height={16}
17
+ viewBox='0 0 16 16'
18
+ fill='none'
19
+ xmlns='http://www.w3.org/2000/svg'
20
+ className={className}
21
+ >
22
+ <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
23
+ <path d='M2 7H4M14 7H12' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
24
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
26
+ <path d='M6.46691 13L9.65441 6.52L10.0294 7.1H5.65074L6.33456 6.47V8.29H5V6H11V6.87L8 13H6.46691Z' fill='none' className={filledClassName} />
27
+ </svg>
28
+ )
29
+ break
30
+ case 'normal':
31
+ icon = (
32
+ <svg
33
+ width={24}
34
+ height={24}
35
+ viewBox='0 0 24 24'
36
+ fill='none'
37
+ xmlns='http://www.w3.org/2000/svg'
38
+ className={className}
39
+ >
40
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={1.5} />
41
+ <path d='M3 10.5H6M21 10.5H18' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
42
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
43
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
44
+ <path d='M9.70037 19.5L14.4816 9.78L15.0441 10.65H8.4761L9.50184 9.705V12.435H7.5V9H16.5V10.305L12 19.5H9.70037Z' fill='none' className={filledClassName} />
45
+ </svg>
46
+ )
47
+ break
48
+ case 'large':
49
+ icon = (
50
+ <svg
51
+ width={40}
52
+ height={40}
53
+ viewBox='0 0 40 40'
54
+ fill='none'
55
+ xmlns='http://www.w3.org/2000/svg'
56
+ className={className}
57
+ ><rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
58
+ <path d='M5 17.5H10M35 17.5H30' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
59
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
60
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
61
+ <path d='M16.1673 32.5L24.136 16.3L25.0735 17.75H14.1268L15.8364 16.175V20.725H12.5V15H27.5V17.175L20 32.5H16.1673Z' fill='none' className={filledClassName} />
62
+ </svg>
63
+ )
64
+ break
65
+
66
+ default:
67
+ break
68
+ }
69
+ return icon
70
+ }
71
+
72
+ Calendar7DaysIcon.propTypes = {
73
+ /**
74
+ * color of text, icon and borders
75
+ */
76
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
77
+ /**
78
+ * Size
79
+ */
80
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
81
+ }
82
+
83
+ Calendar7DaysIcon.defaultProps = {
84
+ color: 'main-dark-blue',
85
+ size: 'normal'
86
+ }
87
+
88
+ export default Calendar7DaysIcon
@@ -1,56 +1,102 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CalendarIcon = ({ 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 7H14'
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
- <rect x={4} y={8} width={2} height={2} rx={0.5} fill='none' />
42
- <rect x={4} y={11} width={2} height={2} rx={0.5} fill='none' />
43
- <rect x={7} y={8} width={2} height={2} rx={0.5} fill='none' />
44
- <rect x={10} y={8} width={2} height={2} rx={0.5} fill='none' />
45
- <rect x={7} y={11} width={2} height={2} rx={0.5} fill='none' />
46
- <rect x={10} y={11} width={2} height={2} rx={0.5} fill='none' />
47
- </svg>
48
- )
49
- break
50
- default:
51
- break
52
- }
53
- return icon
54
- }
55
-
56
- export default CalendarIcon
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const CalendarIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ const filledClassName = styles[`filled-${color}`]
8
+ let icon = <></>
9
+
10
+ switch (size) {
11
+ case 'small':
12
+ icon = (
13
+ <svg
14
+ width={16}
15
+ height={16}
16
+ viewBox='0 0 16 16'
17
+ fill='none'
18
+ xmlns='http://www.w3.org/2000/svg'
19
+ className={className}
20
+ >
21
+ <rect x={2} y={4} width={12} height={10} rx={1} stroke='none' />
22
+ <path d='M2 7H14' stroke='none' strokeLinecap='round' strokeLinejoin='round' />
23
+ <line x1={4.5} y1={5.5} x2={4.5} y2={2.5} stroke='none' strokeLinecap='round' />
24
+ <line x1={11.5} y1={5.5} x2={11.5} y2={2.5} stroke='none' strokeLinecap='round' />
25
+ <rect x={4} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
26
+ <rect x={4} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
27
+ <rect x={7} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
28
+ <rect x={10} y={8} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
29
+ <rect x={7} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
30
+ <rect x={10} y={11} width={2} height={2} rx={0.5} fill='none' className={filledClassName} />
31
+ </svg>
32
+ )
33
+ break
34
+ case 'normal':
35
+ icon = (
36
+ <svg
37
+ width={24}
38
+ height={24}
39
+ viewBox='0 0 24 24'
40
+ fill='none'
41
+ xmlns='http://www.w3.org/2000/svg'
42
+ className={className}
43
+ >
44
+ <rect x={3} y={6} width={18} height={15} rx={1} stroke='none' strokeWidth={1.5} />
45
+ <path d='M3 10.5H21' stroke='none' strokeWidth={1.5} strokeLinecap='round' strokeLinejoin='round' />
46
+ <line x1={6.75} y1={8.25} x2={6.75} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
47
+ <line x1={17.25} y1={8.25} x2={17.25} y2={3.75} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
48
+ <rect x={6} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
49
+ <rect x={6} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
50
+ <rect x={10.5} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
51
+ <rect x={15} y={12} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
52
+ <rect x={10.5} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
53
+ <rect x={15} y={16.5} width={3} height={3} rx={0.5} fill='none' className={filledClassName} />
54
+ </svg>
55
+ )
56
+ break
57
+ case 'large':
58
+ icon = (
59
+ <svg
60
+ width={40}
61
+ height={40}
62
+ viewBox='0 0 40 40'
63
+ fill='none'
64
+ xmlns='http://www.w3.org/2000/svg'
65
+ className={className}
66
+ ><rect x={5} y={10} width={30} height={25} rx={1} stroke='none' strokeWidth={2} />
67
+ <path d='M5 17.5H35' stroke='none' strokeWidth={2} strokeLinecap='round' strokeLinejoin='round' />
68
+ <line x1={11.5} y1={14} x2={11.5} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
69
+ <line x1={29} y1={14} x2={29} y2={6} stroke='none' strokeWidth={2} strokeLinecap='round' />
70
+ <rect x={10} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
71
+ <rect x={10} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
72
+ <rect x={17.5} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
73
+ <rect x={25} y={20} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
74
+ <rect x={17.5} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
75
+ <rect x={25} y={27.5} width={5} height={5} rx={0.5} fill='none' className={filledClassName} />
76
+ </svg>
77
+ )
78
+ break
79
+
80
+ default:
81
+ break
82
+ }
83
+ return icon
84
+ }
85
+
86
+ CalendarIcon.propTypes = {
87
+ /**
88
+ * color of text, icon and borders
89
+ */
90
+ color: PropTypes.oneOf(['green', 'white', 'main-dark-blue', 'red']),
91
+ /**
92
+ * Size
93
+ */
94
+ size: PropTypes.oneOf(['small', 'medium', 'large', 'extra-large'])
95
+ }
96
+
97
+ CalendarIcon.defaultProps = {
98
+ color: 'main-dark-blue',
99
+ size: 'normal'
100
+ }
101
+
102
+ export default CalendarIcon
@@ -1,40 +1,81 @@
1
- import * as React from 'react'
2
- import styles from './Icons.module.css'
3
-
4
- const CircleAddIcon = ({ 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={18}
12
- height={18}
13
- viewBox='0 0 18 18'
14
- fill='none'
15
- xmlns='http://www.w3.org/2000/svg'
16
- className={className}
17
- >
18
- <circle cx={9} cy={9} r={8} stroke='none' />
19
- <path
20
- d='M4 9H14'
21
- stroke='none'
22
- strokeLinecap='round'
23
- strokeLinejoin='round'
24
- />
25
- <path
26
- d='M9 14L9 4.00002'
27
- stroke='none'
28
- strokeLinecap='round'
29
- strokeLinejoin='round'
30
- />
31
- </svg>
32
- )
33
- break
34
- default:
35
- break
36
- }
37
- return icon
38
- }
39
-
40
- export default CircleAddIcon
1
+ import * as React from 'react'
2
+ import PropTypes from 'prop-types'
3
+ import styles from './Icons.module.css'
4
+
5
+ const CircleAddIcon = ({ color, size }) => {
6
+ const className = `${styles.noShrinkForFlex} ` + styles[`${color}`]
7
+ let icon = <></>
8
+
9
+ switch (size) {
10
+ case 'small':
11
+ icon = (
12
+ <svg
13
+ width={16}
14
+ height={16}
15
+ viewBox='0 0 16 16'
16
+ fill='none'
17
+ xmlns='http://www.w3.org/2000/svg'
18
+ className={className}
19
+ >
20
+ <circle cx={8} cy={8} r={6} stroke='none' />
21
+ <line x1={8} y1={5} x2={8} y2={11} stroke='none' strokeLinecap='round' />
22
+ <line x1={5} y1={8} x2={11} y2={8} 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
+ <circle cx={12} cy={12} r={9} stroke='none' strokeWidth={1.5} />
37
+ <line x1={12} y1={7.5} x2={12} y2={16.5} stroke='none' strokeWidth={1.5} strokeLinecap='round' />
38
+ <line x1={7.5} y1={12} x2={16.5} y2={12} 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
+ <circle cx={20} cy={20} r={15} stroke='none' strokeWidth={2} />
53
+ <line x1={19.75} y1={12.25} x2={19.75} y2={27.75} stroke='none' strokeWidth={2} strokeLinecap='round' />
54
+ <line x1={12.25} y1={20.25} x2={27.75} y2={20.25} stroke='none' strokeWidth={2} strokeLinecap='round' />
55
+ </svg>
56
+ )
57
+ break
58
+
59
+ default:
60
+ break
61
+ }
62
+ return icon
63
+ }
64
+
65
+ CircleAddIcon.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
+ CircleAddIcon.defaultProps = {
77
+ color: 'main-dark-blue',
78
+ size: 'normal'
79
+ }
80
+
81
+ export default CircleAddIcon
@@ -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