@scality/core-ui 0.115.0

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 (596) hide show
  1. package/.babelrc +17 -0
  2. package/.eslintrc.json +7 -0
  3. package/.flowconfig +21 -0
  4. package/.github/ISSUE_TEMPLATE/bug.md +18 -0
  5. package/.github/ISSUE_TEMPLATE/improvement.md +18 -0
  6. package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  7. package/.github/workflows/codeql.yaml +25 -0
  8. package/.github/workflows/dependency-review.yaml +16 -0
  9. package/.github/workflows/github-pages.yml +17 -0
  10. package/.github/workflows/post-release.yml +52 -0
  11. package/.github/workflows/tests.yaml +32 -0
  12. package/.prettierrc +5 -0
  13. package/.storybook/main.ts +38 -0
  14. package/.storybook/manager.ts +6 -0
  15. package/.storybook/preview-head.html +99 -0
  16. package/.storybook/preview.js +68 -0
  17. package/.storybook/public/favicon.ico +0 -0
  18. package/.storybook/public/logo-core-ui.png +0 -0
  19. package/.storybook/theme.storybook.ts +13 -0
  20. package/LICENSE +201 -0
  21. package/README.md +296 -0
  22. package/__mocks__/fileMock.js +2 -0
  23. package/__mocks__/styleMock.js +2 -0
  24. package/dist/components/IconHelper.d.ts +10 -0
  25. package/dist/components/IconHelper.d.ts.map +1 -0
  26. package/dist/components/IconHelper.js +4 -0
  27. package/dist/components/areachart/AreaChart.component.d.ts +14 -0
  28. package/dist/components/areachart/AreaChart.component.d.ts.map +1 -0
  29. package/dist/components/areachart/AreaChart.component.js +27 -0
  30. package/dist/components/banner/Banner.component.d.ts +11 -0
  31. package/dist/components/banner/Banner.component.d.ts.map +1 -0
  32. package/dist/components/banner/Banner.component.js +40 -0
  33. package/dist/components/barchart/BarChart.component.d.ts +13 -0
  34. package/dist/components/barchart/BarChart.component.d.ts.map +1 -0
  35. package/dist/components/barchart/BarChart.component.js +22 -0
  36. package/dist/components/box/Box.d.ts +9 -0
  37. package/dist/components/box/Box.d.ts.map +1 -0
  38. package/dist/components/box/Box.js +21 -0
  39. package/dist/components/breadcrumb/Breadcrumb.component.d.ts +7 -0
  40. package/dist/components/breadcrumb/Breadcrumb.component.d.ts.map +1 -0
  41. package/dist/components/breadcrumb/Breadcrumb.component.js +77 -0
  42. package/dist/components/button/Button.component.d.ts +28 -0
  43. package/dist/components/button/Button.component.d.ts.map +1 -0
  44. package/dist/components/button/Button.component.js +227 -0
  45. package/dist/components/buttonv2/Buttonv2.component.d.ts +34 -0
  46. package/dist/components/buttonv2/Buttonv2.component.d.ts.map +1 -0
  47. package/dist/components/buttonv2/Buttonv2.component.js +198 -0
  48. package/dist/components/buttonv2/CopyButton.component.d.ts +24 -0
  49. package/dist/components/buttonv2/CopyButton.component.d.ts.map +1 -0
  50. package/dist/components/buttonv2/CopyButton.component.js +52 -0
  51. package/dist/components/card/Card.component.d.ts +28 -0
  52. package/dist/components/card/Card.component.d.ts.map +1 -0
  53. package/dist/components/card/Card.component.js +105 -0
  54. package/dist/components/checkbox/Checkbox.component.d.ts +10 -0
  55. package/dist/components/checkbox/Checkbox.component.d.ts.map +1 -0
  56. package/dist/components/checkbox/Checkbox.component.js +94 -0
  57. package/dist/components/chips/Chips.component.d.ts +22 -0
  58. package/dist/components/chips/Chips.component.d.ts.map +1 -0
  59. package/dist/components/chips/Chips.component.js +105 -0
  60. package/dist/components/circularprogressbar/CircularProgressBar.component.d.ts +13 -0
  61. package/dist/components/circularprogressbar/CircularProgressBar.component.d.ts.map +1 -0
  62. package/dist/components/circularprogressbar/CircularProgressBar.component.js +9 -0
  63. package/dist/components/circularprogressbar/CircularProgressBar.component.style.d.ts +11 -0
  64. package/dist/components/circularprogressbar/CircularProgressBar.component.style.d.ts.map +1 -0
  65. package/dist/components/circularprogressbar/CircularProgressBar.component.style.js +27 -0
  66. package/dist/components/cloudprogressbar/CloudProgressBar.component.d.ts +11 -0
  67. package/dist/components/cloudprogressbar/CloudProgressBar.component.d.ts.map +1 -0
  68. package/dist/components/cloudprogressbar/CloudProgressBar.component.js +38 -0
  69. package/dist/components/collapsiblepanel/CollapsiblePanel.component.d.ts +10 -0
  70. package/dist/components/collapsiblepanel/CollapsiblePanel.component.d.ts.map +1 -0
  71. package/dist/components/collapsiblepanel/CollapsiblePanel.component.js +44 -0
  72. package/dist/components/constants.d.ts +27 -0
  73. package/dist/components/constants.d.ts.map +1 -0
  74. package/dist/components/constants.js +47 -0
  75. package/dist/components/constrainedtext/Constrainedtext.component.d.ts +12 -0
  76. package/dist/components/constrainedtext/Constrainedtext.component.d.ts.map +1 -0
  77. package/dist/components/constrainedtext/Constrainedtext.component.js +46 -0
  78. package/dist/components/coreuithemeprovider/CoreUiThemeProvider.d.ts +9 -0
  79. package/dist/components/coreuithemeprovider/CoreUiThemeProvider.d.ts.map +1 -0
  80. package/dist/components/coreuithemeprovider/CoreUiThemeProvider.js +13 -0
  81. package/dist/components/date/FormattedDateTime.d.ts +11 -0
  82. package/dist/components/date/FormattedDateTime.d.ts.map +1 -0
  83. package/dist/components/date/FormattedDateTime.js +66 -0
  84. package/dist/components/date/FormattedDateTime.spec.d.ts +2 -0
  85. package/dist/components/date/FormattedDateTime.spec.d.ts.map +1 -0
  86. package/dist/components/date/FormattedDateTime.spec.js +140 -0
  87. package/dist/components/date/dateDiffer.d.ts +2 -0
  88. package/dist/components/date/dateDiffer.d.ts.map +1 -0
  89. package/dist/components/date/dateDiffer.js +7 -0
  90. package/dist/components/date/dateDiffer.spec.d.ts +2 -0
  91. package/dist/components/date/dateDiffer.spec.d.ts.map +1 -0
  92. package/dist/components/date/dateDiffer.spec.js +6 -0
  93. package/dist/components/dropdown/Dropdown.component.d.ts +20 -0
  94. package/dist/components/dropdown/Dropdown.component.d.ts.map +1 -0
  95. package/dist/components/dropdown/Dropdown.component.js +99 -0
  96. package/dist/components/dropzone/Dropzone.d.ts +16 -0
  97. package/dist/components/dropzone/Dropzone.d.ts.map +1 -0
  98. package/dist/components/dropzone/Dropzone.js +79 -0
  99. package/dist/components/emptystate/Emptystate.component.d.ts +13 -0
  100. package/dist/components/emptystate/Emptystate.component.d.ts.map +1 -0
  101. package/dist/components/emptystate/Emptystate.component.js +32 -0
  102. package/dist/components/emptytable/Emptytable.component.d.ts +8 -0
  103. package/dist/components/emptytable/Emptytable.component.d.ts.map +1 -0
  104. package/dist/components/emptytable/Emptytable.component.js +62 -0
  105. package/dist/components/error-pages/ErrorPage401.component.d.ts +9 -0
  106. package/dist/components/error-pages/ErrorPage401.component.d.ts.map +1 -0
  107. package/dist/components/error-pages/ErrorPage401.component.js +28 -0
  108. package/dist/components/error-pages/ErrorPage404.component.d.ts +8 -0
  109. package/dist/components/error-pages/ErrorPage404.component.d.ts.map +1 -0
  110. package/dist/components/error-pages/ErrorPage404.component.js +26 -0
  111. package/dist/components/error-pages/ErrorPage500.component.d.ts +13 -0
  112. package/dist/components/error-pages/ErrorPage500.component.d.ts.map +1 -0
  113. package/dist/components/error-pages/ErrorPage500.component.js +32 -0
  114. package/dist/components/error-pages/ErrorPageAuth.component.d.ts +8 -0
  115. package/dist/components/error-pages/ErrorPageAuth.component.d.ts.map +1 -0
  116. package/dist/components/error-pages/ErrorPageAuth.component.js +27 -0
  117. package/dist/components/error-pages/ErrorPageStyle.d.ts +7 -0
  118. package/dist/components/error-pages/ErrorPageStyle.d.ts.map +1 -0
  119. package/dist/components/error-pages/ErrorPageStyle.js +34 -0
  120. package/dist/components/form/Form.component.d.ts +61 -0
  121. package/dist/components/form/Form.component.d.ts.map +1 -0
  122. package/dist/components/form/Form.component.js +115 -0
  123. package/dist/components/globalhealthbar/GlobalHealthBar.component.d.ts +20 -0
  124. package/dist/components/globalhealthbar/GlobalHealthBar.component.d.ts.map +1 -0
  125. package/dist/components/globalhealthbar/GlobalHealthBar.component.js +169 -0
  126. package/dist/components/globalhealthbar/tooltip/index.d.ts +8 -0
  127. package/dist/components/globalhealthbar/tooltip/index.d.ts.map +1 -0
  128. package/dist/components/globalhealthbar/tooltip/index.js +55 -0
  129. package/dist/components/healthselectorv2/HealthSelector.component.d.ts +61 -0
  130. package/dist/components/healthselectorv2/HealthSelector.component.d.ts.map +1 -0
  131. package/dist/components/healthselectorv2/HealthSelector.component.js +70 -0
  132. package/dist/components/icon/Icon.component.d.ts +134 -0
  133. package/dist/components/icon/Icon.component.d.ts.map +1 -0
  134. package/dist/components/icon/Icon.component.js +209 -0
  135. package/dist/components/infomessage/InfoMessage.component.d.ts +9 -0
  136. package/dist/components/infomessage/InfoMessage.component.d.ts.map +1 -0
  137. package/dist/components/infomessage/InfoMessage.component.js +20 -0
  138. package/dist/components/infomessage/InfoMessageUtils.d.ts +8 -0
  139. package/dist/components/infomessage/InfoMessageUtils.d.ts.map +1 -0
  140. package/dist/components/infomessage/InfoMessageUtils.js +32 -0
  141. package/dist/components/input/Input.component.d.ts +24 -0
  142. package/dist/components/input/Input.component.d.ts.map +1 -0
  143. package/dist/components/input/Input.component.js +55 -0
  144. package/dist/components/input/Input.component.style.d.ts +9 -0
  145. package/dist/components/input/Input.component.style.d.ts.map +1 -0
  146. package/dist/components/input/Input.component.style.js +136 -0
  147. package/dist/components/inputlist/InputButtons.d.ts +20 -0
  148. package/dist/components/inputlist/InputButtons.d.ts.map +1 -0
  149. package/dist/components/inputlist/InputButtons.js +48 -0
  150. package/dist/components/inputlist/InputList.component.d.ts +27 -0
  151. package/dist/components/inputlist/InputList.component.d.ts.map +1 -0
  152. package/dist/components/inputlist/InputList.component.js +30 -0
  153. package/dist/components/inputv2/inputv2.d.ts +12 -0
  154. package/dist/components/inputv2/inputv2.d.ts.map +1 -0
  155. package/dist/components/inputv2/inputv2.js +80 -0
  156. package/dist/components/lateralnavbarlayout/LateralNavbarLayout.component.d.ts +9 -0
  157. package/dist/components/lateralnavbarlayout/LateralNavbarLayout.component.d.ts.map +1 -0
  158. package/dist/components/lateralnavbarlayout/LateralNavbarLayout.component.js +23 -0
  159. package/dist/components/layout/Layout.component.d.ts +12 -0
  160. package/dist/components/layout/Layout.component.d.ts.map +1 -0
  161. package/dist/components/layout/Layout.component.js +26 -0
  162. package/dist/components/layout/v2/AppContainer.d.ts +28 -0
  163. package/dist/components/layout/v2/AppContainer.d.ts.map +1 -0
  164. package/dist/components/layout/v2/AppContainer.js +63 -0
  165. package/dist/components/layout/v2/index.d.ts +6 -0
  166. package/dist/components/layout/v2/index.d.ts.map +1 -0
  167. package/dist/components/layout/v2/index.js +16 -0
  168. package/dist/components/layout/v2/panels.d.ts +17 -0
  169. package/dist/components/layout/v2/panels.d.ts.map +1 -0
  170. package/dist/components/layout/v2/panels.js +52 -0
  171. package/dist/components/linechart/LineChart.component.d.ts +22 -0
  172. package/dist/components/linechart/LineChart.component.d.ts.map +1 -0
  173. package/dist/components/linechart/LineChart.component.js +109 -0
  174. package/dist/components/linetemporalchart/ChartUtil.d.ts +40 -0
  175. package/dist/components/linetemporalchart/ChartUtil.d.ts.map +1 -0
  176. package/dist/components/linetemporalchart/ChartUtil.js +126 -0
  177. package/dist/components/linetemporalchart/LineTemporalChart.component.d.ts +43 -0
  178. package/dist/components/linetemporalchart/LineTemporalChart.component.d.ts.map +1 -0
  179. package/dist/components/linetemporalchart/LineTemporalChart.component.js +576 -0
  180. package/dist/components/linetemporalchart/MetricTimespanProvider.d.ts +8 -0
  181. package/dist/components/linetemporalchart/MetricTimespanProvider.d.ts.map +1 -0
  182. package/dist/components/linetemporalchart/MetricTimespanProvider.js +31 -0
  183. package/dist/components/linetemporalchart/tooltip/index.d.ts +30 -0
  184. package/dist/components/linetemporalchart/tooltip/index.d.ts.map +1 -0
  185. package/dist/components/linetemporalchart/tooltip/index.js +104 -0
  186. package/dist/components/loader/Loader.component.d.ts +11 -0
  187. package/dist/components/loader/Loader.component.d.ts.map +1 -0
  188. package/dist/components/loader/Loader.component.js +41 -0
  189. package/dist/components/modal/Modal.component.d.ts +13 -0
  190. package/dist/components/modal/Modal.component.d.ts.map +1 -0
  191. package/dist/components/modal/Modal.component.js +64 -0
  192. package/dist/components/multiselect/MultiSelect.component.d.ts +29 -0
  193. package/dist/components/multiselect/MultiSelect.component.d.ts.map +1 -0
  194. package/dist/components/multiselect/MultiSelect.component.js +73 -0
  195. package/dist/components/navbar/Navbar.component.d.ts +23 -0
  196. package/dist/components/navbar/Navbar.component.d.ts.map +1 -0
  197. package/dist/components/navbar/Navbar.component.js +151 -0
  198. package/dist/components/notifications/Notification.component.d.ts +13 -0
  199. package/dist/components/notifications/Notification.component.d.ts.map +1 -0
  200. package/dist/components/notifications/Notification.component.js +107 -0
  201. package/dist/components/notifications/Notifications.component.d.ts +15 -0
  202. package/dist/components/notifications/Notifications.component.d.ts.map +1 -0
  203. package/dist/components/notifications/Notifications.component.js +42 -0
  204. package/dist/components/prettybytes/PrettyBytes.component.d.ts +9 -0
  205. package/dist/components/prettybytes/PrettyBytes.component.d.ts.map +1 -0
  206. package/dist/components/prettybytes/PrettyBytes.component.js +24 -0
  207. package/dist/components/progressbar/ProgressBar.component.d.ts +18 -0
  208. package/dist/components/progressbar/ProgressBar.component.d.ts.map +1 -0
  209. package/dist/components/progressbar/ProgressBar.component.js +129 -0
  210. package/dist/components/scrollbarwrapper/ScrollbarWrapper.component.d.ts +7 -0
  211. package/dist/components/scrollbarwrapper/ScrollbarWrapper.component.d.ts.map +1 -0
  212. package/dist/components/scrollbarwrapper/ScrollbarWrapper.component.js +54 -0
  213. package/dist/components/searchinput/SearchInput.component.d.ts +12 -0
  214. package/dist/components/searchinput/SearchInput.component.d.ts.map +1 -0
  215. package/dist/components/searchinput/SearchInput.component.js +91 -0
  216. package/dist/components/select/Select.component.d.ts +15 -0
  217. package/dist/components/select/Select.component.d.ts.map +1 -0
  218. package/dist/components/select/Select.component.js +71 -0
  219. package/dist/components/selectv2/SelectStyle.d.ts +3 -0
  220. package/dist/components/selectv2/SelectStyle.d.ts.map +1 -0
  221. package/dist/components/selectv2/SelectStyle.js +238 -0
  222. package/dist/components/selectv2/Selectv2.component.d.ts +32 -0
  223. package/dist/components/selectv2/Selectv2.component.d.ts.map +1 -0
  224. package/dist/components/selectv2/Selectv2.component.js +267 -0
  225. package/dist/components/sidebar/Sidebar.component.d.ts +22 -0
  226. package/dist/components/sidebar/Sidebar.component.d.ts.map +1 -0
  227. package/dist/components/sidebar/Sidebar.component.js +136 -0
  228. package/dist/components/spacedbox/SpacedBox.d.ts +34 -0
  229. package/dist/components/spacedbox/SpacedBox.d.ts.map +1 -0
  230. package/dist/components/spacedbox/SpacedBox.js +64 -0
  231. package/dist/components/sparkline/SparkLine.component.d.ts +19 -0
  232. package/dist/components/sparkline/SparkLine.component.d.ts.map +1 -0
  233. package/dist/components/sparkline/SparkLine.component.js +148 -0
  234. package/dist/components/statuswrapper/Statuswrapper.component.d.ts +9 -0
  235. package/dist/components/statuswrapper/Statuswrapper.component.d.ts.map +1 -0
  236. package/dist/components/statuswrapper/Statuswrapper.component.js +44 -0
  237. package/dist/components/steppers/Stepper.component.d.ts +14 -0
  238. package/dist/components/steppers/Stepper.component.d.ts.map +1 -0
  239. package/dist/components/steppers/Stepper.component.js +33 -0
  240. package/dist/components/steppers/Steppers.component.d.ts +18 -0
  241. package/dist/components/steppers/Steppers.component.d.ts.map +1 -0
  242. package/dist/components/steppers/Steppers.component.js +96 -0
  243. package/dist/components/tablev2/MultiSelectableContent.d.ts +22 -0
  244. package/dist/components/tablev2/MultiSelectableContent.d.ts.map +1 -0
  245. package/dist/components/tablev2/MultiSelectableContent.js +129 -0
  246. package/dist/components/tablev2/Search.d.ts +29 -0
  247. package/dist/components/tablev2/Search.d.ts.map +1 -0
  248. package/dist/components/tablev2/Search.js +49 -0
  249. package/dist/components/tablev2/SearchWithQueryParams.d.ts +7 -0
  250. package/dist/components/tablev2/SearchWithQueryParams.d.ts.map +1 -0
  251. package/dist/components/tablev2/SearchWithQueryParams.js +24 -0
  252. package/dist/components/tablev2/SingleSelectableContent.d.ts +17 -0
  253. package/dist/components/tablev2/SingleSelectableContent.d.ts.map +1 -0
  254. package/dist/components/tablev2/SingleSelectableContent.js +75 -0
  255. package/dist/components/tablev2/TableCommon.d.ts +24 -0
  256. package/dist/components/tablev2/TableCommon.d.ts.map +1 -0
  257. package/dist/components/tablev2/TableCommon.js +35 -0
  258. package/dist/components/tablev2/TableUtils.d.ts +18 -0
  259. package/dist/components/tablev2/TableUtils.d.ts.map +1 -0
  260. package/dist/components/tablev2/TableUtils.js +32 -0
  261. package/dist/components/tablev2/Tablestyle.d.ts +36 -0
  262. package/dist/components/tablev2/Tablestyle.d.ts.map +1 -0
  263. package/dist/components/tablev2/Tablestyle.js +136 -0
  264. package/dist/components/tablev2/Tablev2.component.d.ts +71 -0
  265. package/dist/components/tablev2/Tablev2.component.d.ts.map +1 -0
  266. package/dist/components/tablev2/Tablev2.component.js +144 -0
  267. package/dist/components/tablev2/react-table-config.d.ts +28 -0
  268. package/dist/components/tablev2/react-table-config.d.ts.map +1 -0
  269. package/dist/components/tablev2/react-table-config.js +1 -0
  270. package/dist/components/tablev2/useCheckbox.d.ts +6 -0
  271. package/dist/components/tablev2/useCheckbox.d.ts.map +1 -0
  272. package/dist/components/tablev2/useCheckbox.js +40 -0
  273. package/dist/components/tablev2/useSyncedScroll.d.ts +7 -0
  274. package/dist/components/tablev2/useSyncedScroll.d.ts.map +1 -0
  275. package/dist/components/tablev2/useSyncedScroll.js +43 -0
  276. package/dist/components/tabsv2/ScrollButton.d.ts +8 -0
  277. package/dist/components/tabsv2/ScrollButton.d.ts.map +1 -0
  278. package/dist/components/tabsv2/ScrollButton.js +32 -0
  279. package/dist/components/tabsv2/StyledTabs.d.ts +18 -0
  280. package/dist/components/tabsv2/StyledTabs.d.ts.map +1 -0
  281. package/dist/components/tabsv2/StyledTabs.js +96 -0
  282. package/dist/components/tabsv2/Tab.d.ts +17 -0
  283. package/dist/components/tabsv2/Tab.d.ts.map +1 -0
  284. package/dist/components/tabsv2/Tab.js +10 -0
  285. package/dist/components/tabsv2/Tabsv2.component.d.ts +21 -0
  286. package/dist/components/tabsv2/Tabsv2.component.d.ts.map +1 -0
  287. package/dist/components/tabsv2/Tabsv2.component.js +89 -0
  288. package/dist/components/tabsv2/useScrollingTabs.d.ts +17 -0
  289. package/dist/components/tabsv2/useScrollingTabs.d.ts.map +1 -0
  290. package/dist/components/tabsv2/useScrollingTabs.js +261 -0
  291. package/dist/components/text/Text.component.d.ts +33 -0
  292. package/dist/components/text/Text.component.d.ts.map +1 -0
  293. package/dist/components/text/Text.component.js +154 -0
  294. package/dist/components/textarea/TextArea.component.d.ts +10 -0
  295. package/dist/components/textarea/TextArea.component.d.ts.map +1 -0
  296. package/dist/components/textarea/TextArea.component.js +60 -0
  297. package/dist/components/textbadge/TextBadge.component.d.ts +9 -0
  298. package/dist/components/textbadge/TextBadge.component.d.ts.map +1 -0
  299. package/dist/components/textbadge/TextBadge.component.js +19 -0
  300. package/dist/components/toast/DurationBasedProgressBar.d.ts +6 -0
  301. package/dist/components/toast/DurationBasedProgressBar.d.ts.map +1 -0
  302. package/dist/components/toast/DurationBasedProgressBar.js +24 -0
  303. package/dist/components/toast/Toast.component.d.ts +20 -0
  304. package/dist/components/toast/Toast.component.d.ts.map +1 -0
  305. package/dist/components/toast/Toast.component.js +106 -0
  306. package/dist/components/toast/ToastPositionHelpers.d.ts +4 -0
  307. package/dist/components/toast/ToastPositionHelpers.d.ts.map +1 -0
  308. package/dist/components/toast/ToastPositionHelpers.js +28 -0
  309. package/dist/components/toast/ToastProvider.d.ts +14 -0
  310. package/dist/components/toast/ToastProvider.d.ts.map +1 -0
  311. package/dist/components/toast/ToastProvider.js +18 -0
  312. package/dist/components/toast/useMutationsHandler.d.ts +40 -0
  313. package/dist/components/toast/useMutationsHandler.d.ts.map +1 -0
  314. package/dist/components/toast/useMutationsHandler.js +66 -0
  315. package/dist/components/toast/useToastParameters.d.ts +10 -0
  316. package/dist/components/toast/useToastParameters.d.ts.map +1 -0
  317. package/dist/components/toast/useToastParameters.js +39 -0
  318. package/dist/components/toggle/Toggle.component.d.ts +11 -0
  319. package/dist/components/toggle/Toggle.component.d.ts.map +1 -0
  320. package/dist/components/toggle/Toggle.component.js +80 -0
  321. package/dist/components/tooltip/Tooltip.component.d.ts +23 -0
  322. package/dist/components/tooltip/Tooltip.component.d.ts.map +1 -0
  323. package/dist/components/tooltip/Tooltip.component.js +82 -0
  324. package/dist/components/vegachart/VegaChart.component.d.ts +14 -0
  325. package/dist/components/vegachart/VegaChart.component.d.ts.map +1 -0
  326. package/dist/components/vegachart/VegaChart.component.js +120 -0
  327. package/dist/components/vegachartv2/SyncedCursorCharts.d.ts +13 -0
  328. package/dist/components/vegachartv2/SyncedCursorCharts.d.ts.map +1 -0
  329. package/dist/components/vegachartv2/SyncedCursorCharts.js +17 -0
  330. package/dist/components/vegachartv2/VegaChartV2.component.d.ts +16 -0
  331. package/dist/components/vegachartv2/VegaChartV2.component.d.ts.map +1 -0
  332. package/dist/components/vegachartv2/VegaChartV2.component.js +216 -0
  333. package/dist/hooks.d.ts +2 -0
  334. package/dist/hooks.d.ts.map +1 -0
  335. package/dist/hooks.js +19 -0
  336. package/dist/icons/branding.d.ts +4 -0
  337. package/dist/icons/branding.d.ts.map +1 -0
  338. package/dist/icons/branding.js +3 -0
  339. package/dist/icons/scality-loading.d.ts +4 -0
  340. package/dist/icons/scality-loading.d.ts.map +1 -0
  341. package/dist/icons/scality-loading.js +3 -0
  342. package/dist/index.css +25 -0
  343. package/dist/index.d.ts +65 -0
  344. package/dist/index.d.ts.map +1 -0
  345. package/dist/index.js +64 -0
  346. package/dist/next.d.ts +15 -0
  347. package/dist/next.d.ts.map +1 -0
  348. package/dist/next.js +14 -0
  349. package/dist/organisms/attachments/AttachmentConfirmationModal.d.ts +22 -0
  350. package/dist/organisms/attachments/AttachmentConfirmationModal.d.ts.map +1 -0
  351. package/dist/organisms/attachments/AttachmentConfirmationModal.js +142 -0
  352. package/dist/organisms/attachments/AttachmentTable.d.ts +37 -0
  353. package/dist/organisms/attachments/AttachmentTable.d.ts.map +1 -0
  354. package/dist/organisms/attachments/AttachmentTable.js +375 -0
  355. package/dist/organisms/attachments/AttachmentTypes.d.ts +15 -0
  356. package/dist/organisms/attachments/AttachmentTypes.d.ts.map +1 -0
  357. package/dist/organisms/attachments/AttachmentTypes.js +5 -0
  358. package/dist/spacing.d.ts +44 -0
  359. package/dist/spacing.d.ts.map +1 -0
  360. package/dist/spacing.js +60 -0
  361. package/dist/style/fonts/Lato-Bold.woff +0 -0
  362. package/dist/style/fonts/Lato-Bold.woff2 +0 -0
  363. package/dist/style/fonts/Lato-Regular.woff +0 -0
  364. package/dist/style/fonts/Lato-Regular.woff2 +0 -0
  365. package/dist/style/theme.d.ts +160 -0
  366. package/dist/style/theme.d.ts.map +1 -0
  367. package/dist/style/theme.js +234 -0
  368. package/dist/testUtils.d.ts +9 -0
  369. package/dist/testUtils.d.ts.map +1 -0
  370. package/dist/testUtils.js +11 -0
  371. package/dist/utils.d.ts +9 -0
  372. package/dist/utils.d.ts.map +1 -0
  373. package/dist/utils.js +46 -0
  374. package/global-setup.js +3 -0
  375. package/jest.config.js +8 -0
  376. package/package.json +161 -0
  377. package/plop-templates/component.hbs +18 -0
  378. package/plop-templates/component.test.hbs +10 -0
  379. package/plop-templates/stories.hbs +18 -0
  380. package/plopfile.js +38 -0
  381. package/setupTests.js +3 -0
  382. package/src/lib/components/IconHelper.tsx +23 -0
  383. package/src/lib/components/areachart/AreaChart.component.tsx +49 -0
  384. package/src/lib/components/banner/Banner.component.tsx +59 -0
  385. package/src/lib/components/barchart/BarChart.component.tsx +46 -0
  386. package/src/lib/components/box/Box.ts +57 -0
  387. package/src/lib/components/breadcrumb/Breadcrumb.component.tsx +101 -0
  388. package/src/lib/components/button/Button.component.tsx +312 -0
  389. package/src/lib/components/buttonv2/Buttonv2.component.tsx +270 -0
  390. package/src/lib/components/buttonv2/CopyButton.component.tsx +89 -0
  391. package/src/lib/components/card/Card.component.tsx +196 -0
  392. package/src/lib/components/checkbox/Checkbox.component.tsx +131 -0
  393. package/src/lib/components/chips/Chips.component.tsx +169 -0
  394. package/src/lib/components/circularprogressbar/CircularProgressBar.component.style.ts +31 -0
  395. package/src/lib/components/circularprogressbar/CircularProgressBar.component.tsx +58 -0
  396. package/src/lib/components/cloudprogressbar/CloudProgressBar.component.tsx +105 -0
  397. package/src/lib/components/collapsiblepanel/CollapsiblePanel.component.tsx +77 -0
  398. package/src/lib/components/constants.ts +67 -0
  399. package/src/lib/components/constrainedtext/Constrainedtext.component.tsx +93 -0
  400. package/src/lib/components/coreuithemeprovider/CoreUiThemeProvider.tsx +21 -0
  401. package/src/lib/components/date/FormattedDateTime.spec.tsx +217 -0
  402. package/src/lib/components/date/FormattedDateTime.tsx +150 -0
  403. package/src/lib/components/date/dateDiffer.spec.ts +13 -0
  404. package/src/lib/components/date/dateDiffer.ts +12 -0
  405. package/src/lib/components/dropdown/Dropdown.component.tsx +184 -0
  406. package/src/lib/components/dropzone/Dropzone.tsx +181 -0
  407. package/src/lib/components/emptystate/Emptystate.component.tsx +66 -0
  408. package/src/lib/components/emptytable/Emptytable.component.tsx +79 -0
  409. package/src/lib/components/error-pages/ErrorPage401.component.tsx +77 -0
  410. package/src/lib/components/error-pages/ErrorPage404.component.tsx +64 -0
  411. package/src/lib/components/error-pages/ErrorPage500.component.tsx +88 -0
  412. package/src/lib/components/error-pages/ErrorPageAuth.component.tsx +70 -0
  413. package/src/lib/components/error-pages/ErrorPageStyle.ts +34 -0
  414. package/src/lib/components/form/Form.component.tsx +416 -0
  415. package/src/lib/components/globalhealthbar/GlobalHealthBar.component.tsx +201 -0
  416. package/src/lib/components/globalhealthbar/tooltip/index.ts +72 -0
  417. package/src/lib/components/healthselectorv2/HealthSelector.component.test.tsx +62 -0
  418. package/src/lib/components/healthselectorv2/HealthSelector.component.tsx +103 -0
  419. package/src/lib/components/icon/Icon.component.tsx +280 -0
  420. package/src/lib/components/infomessage/InfoMessage.component.tsx +47 -0
  421. package/src/lib/components/infomessage/InfoMessageUtils.test.tsx +110 -0
  422. package/src/lib/components/infomessage/InfoMessageUtils.ts +39 -0
  423. package/src/lib/components/input/Input.component.style.ts +141 -0
  424. package/src/lib/components/input/Input.component.tsx +174 -0
  425. package/src/lib/components/inputlist/InputButtons.tsx +111 -0
  426. package/src/lib/components/inputlist/InputList.component.tsx +98 -0
  427. package/src/lib/components/inputlist/InputList.test.tsx +102 -0
  428. package/src/lib/components/inputv2/inputv2.tsx +155 -0
  429. package/src/lib/components/lateralnavbarlayout/LateralNavbarLayout.component.tsx +38 -0
  430. package/src/lib/components/layout/Layout.component.tsx +46 -0
  431. package/src/lib/components/layout/v2/AppContainer.tsx +160 -0
  432. package/src/lib/components/layout/v2/index.tsx +30 -0
  433. package/src/lib/components/layout/v2/panels.tsx +105 -0
  434. package/src/lib/components/linechart/LineChart.component.tsx +152 -0
  435. package/src/lib/components/linetemporalchart/ChartUtil.test.ts +261 -0
  436. package/src/lib/components/linetemporalchart/ChartUtil.ts +187 -0
  437. package/src/lib/components/linetemporalchart/LineTemporalChart.component.tsx +797 -0
  438. package/src/lib/components/linetemporalchart/MetricTimespanProvider.tsx +50 -0
  439. package/src/lib/components/linetemporalchart/tooltip/index.ts +178 -0
  440. package/src/lib/components/loader/Loader.component.tsx +71 -0
  441. package/src/lib/components/modal/Modal.component.tsx +121 -0
  442. package/src/lib/components/multiselect/MultiSelect.component.tsx +158 -0
  443. package/src/lib/components/navbar/Navbar.component.tsx +238 -0
  444. package/src/lib/components/notifications/Notification.component.tsx +160 -0
  445. package/src/lib/components/notifications/Notifications.component.tsx +73 -0
  446. package/src/lib/components/prettybytes/PrettyBytes.component.tsx +39 -0
  447. package/src/lib/components/prettybytes/prettybytes.test.tsx +217 -0
  448. package/src/lib/components/progressbar/ProgressBar.component.tsx +217 -0
  449. package/src/lib/components/scrollbarwrapper/ScrollbarWrapper.component.tsx +66 -0
  450. package/src/lib/components/searchinput/SearchInput.component.tsx +146 -0
  451. package/src/lib/components/select/Select.component.tsx +98 -0
  452. package/src/lib/components/selectv2/SelectStyle.ts +267 -0
  453. package/src/lib/components/selectv2/Selectv2.component.tsx +487 -0
  454. package/src/lib/components/selectv2/selectv2.test.tsx +277 -0
  455. package/src/lib/components/sidebar/Sidebar.component.tsx +217 -0
  456. package/src/lib/components/spacedbox/SpacedBox.ts +116 -0
  457. package/src/lib/components/sparkline/SparkLine.component.tsx +176 -0
  458. package/src/lib/components/statuswrapper/Statuswrapper.component.tsx +66 -0
  459. package/src/lib/components/steppers/Stepper.component.d.ts +70 -0
  460. package/src/lib/components/steppers/Stepper.component.tsx +62 -0
  461. package/src/lib/components/steppers/Steppers.component.tsx +157 -0
  462. package/src/lib/components/tablev2/MultiSelectableContent.tsx +318 -0
  463. package/src/lib/components/tablev2/Search.tsx +112 -0
  464. package/src/lib/components/tablev2/SearchWithQueryParams.tsx +38 -0
  465. package/src/lib/components/tablev2/SingleSelectableContent.tsx +222 -0
  466. package/src/lib/components/tablev2/TableCommon.tsx +102 -0
  467. package/src/lib/components/tablev2/TableUtils.test.ts +17 -0
  468. package/src/lib/components/tablev2/TableUtils.ts +60 -0
  469. package/src/lib/components/tablev2/Tablestyle.tsx +184 -0
  470. package/src/lib/components/tablev2/Tablev2.component.tsx +316 -0
  471. package/src/lib/components/tablev2/Tablev2.test.tsx +136 -0
  472. package/src/lib/components/tablev2/react-table-config.ts +90 -0
  473. package/src/lib/components/tablev2/useCheckbox.tsx +62 -0
  474. package/src/lib/components/tablev2/useSyncedScroll.ts +64 -0
  475. package/src/lib/components/tabsv2/ScrollButton.tsx +39 -0
  476. package/src/lib/components/tabsv2/StyledTabs.ts +108 -0
  477. package/src/lib/components/tabsv2/Tab.ts +27 -0
  478. package/src/lib/components/tabsv2/Tabsv2.component.tsx +247 -0
  479. package/src/lib/components/tabsv2/useScrollingTabs.ts +335 -0
  480. package/src/lib/components/text/Text.component.tsx +194 -0
  481. package/src/lib/components/textarea/TextArea.component.tsx +106 -0
  482. package/src/lib/components/textbadge/TextBadge.component.tsx +44 -0
  483. package/src/lib/components/toast/DurationBasedProgressBar.tsx +45 -0
  484. package/src/lib/components/toast/Toast.component.tsx +181 -0
  485. package/src/lib/components/toast/ToastPositionHelpers.ts +38 -0
  486. package/src/lib/components/toast/ToastProvider.tsx +40 -0
  487. package/src/lib/components/toast/useMutationsHandler.test.tsx +238 -0
  488. package/src/lib/components/toast/useMutationsHandler.ts +172 -0
  489. package/src/lib/components/toast/useToastParameters.ts +59 -0
  490. package/src/lib/components/toggle/Toggle.component.tsx +128 -0
  491. package/src/lib/components/tooltip/Tooltip.component.tsx +136 -0
  492. package/src/lib/components/vegachart/VegaChart.component.tsx +146 -0
  493. package/src/lib/components/vegachartv2/SyncedCursorCharts.tsx +30 -0
  494. package/src/lib/components/vegachartv2/VegaChartV2.component.tsx +279 -0
  495. package/src/lib/hooks.ts +26 -0
  496. package/src/lib/icons/branding.tsx +55 -0
  497. package/src/lib/icons/scality-loading.tsx +118 -0
  498. package/src/lib/index.css +25 -0
  499. package/src/lib/index.ts +75 -0
  500. package/src/lib/next.ts +17 -0
  501. package/src/lib/organisms/attachments/AttachmentConfirmationModal.tsx +311 -0
  502. package/src/lib/organisms/attachments/AttachmentTable.tsx +728 -0
  503. package/src/lib/organisms/attachments/AttachmentTypes.ts +16 -0
  504. package/src/lib/spacing.tsx +108 -0
  505. package/src/lib/style/fonts/Lato-Bold.woff +0 -0
  506. package/src/lib/style/fonts/Lato-Bold.woff2 +0 -0
  507. package/src/lib/style/fonts/Lato-Regular.woff +0 -0
  508. package/src/lib/style/fonts/Lato-Regular.woff2 +0 -0
  509. package/src/lib/style/theme.ts +270 -0
  510. package/src/lib/testUtils.tsx +18 -0
  511. package/src/lib/utils.ts +57 -0
  512. package/stories/Button/button.guideline.mdx +199 -0
  513. package/stories/Button/button.stories.tsx +299 -0
  514. package/stories/Icon.mdx +31 -0
  515. package/stories/InfoMessage/infomessage.guideline.mdx +32 -0
  516. package/stories/InfoMessage/infomessage.stories.tsx +124 -0
  517. package/stories/Introduction.mdx +32 -0
  518. package/stories/Select/select.guideline.mdx +91 -0
  519. package/stories/Select/selectv2.stories.tsx +169 -0
  520. package/stories/areachart.stories.tsx +121 -0
  521. package/stories/banner.stories.tsx +75 -0
  522. package/stories/barchart.stories.tsx +148 -0
  523. package/stories/box.stories.tsx +114 -0
  524. package/stories/breadcrumb.stories.tsx +42 -0
  525. package/stories/card.stories.tsx +195 -0
  526. package/stories/checkbox.stories.tsx +63 -0
  527. package/stories/chips.stories.tsx +107 -0
  528. package/stories/circularprogressbar.stories.tsx +136 -0
  529. package/stories/cloudprogressbar.stories.tsx +93 -0
  530. package/stories/collapsiblepanel.stories.tsx +57 -0
  531. package/stories/color.mdx +43 -0
  532. package/stories/common.tsx +39 -0
  533. package/stories/constrainedtext.stories.tsx +51 -0
  534. package/stories/controls.ts +59 -0
  535. package/stories/copybutton.stories.tsx +58 -0
  536. package/stories/data/areachart.ts +122 -0
  537. package/stories/data/barchart.ts +1497 -0
  538. package/stories/data/linechart.ts +1516 -0
  539. package/stories/data/list.ts +802 -0
  540. package/stories/data/sparklinechart.ts +164 -0
  541. package/stories/designprinciples.mdx +29 -0
  542. package/stories/dropdown.stories.tsx +146 -0
  543. package/stories/dropzone.stories.tsx +49 -0
  544. package/stories/emptystate.stories.tsx +22 -0
  545. package/stories/errorpage401.stories.tsx +25 -0
  546. package/stories/errorpage404.stories.tsx +24 -0
  547. package/stories/errorpage500.stories.tsx +44 -0
  548. package/stories/errorpageauth.stories.tsx +31 -0
  549. package/stories/form.stories.tsx +255 -0
  550. package/stories/format.mdx +44 -0
  551. package/stories/formattedate.stories.tsx +58 -0
  552. package/stories/globalhealthbar.stories.tsx +171 -0
  553. package/stories/guideline/chart-guideline.mdx +63 -0
  554. package/stories/guideline/docs-template.mdx +43 -0
  555. package/stories/guideline/mdxExampleComponents.tsx +57 -0
  556. package/stories/healthselectorv2.stories.tsx +74 -0
  557. package/stories/icon.stories.tsx +146 -0
  558. package/stories/icons.mdx +108 -0
  559. package/stories/input.stories.tsx +228 -0
  560. package/stories/inputlist.stories.tsx +57 -0
  561. package/stories/lateralnavbarlayout.stories.tsx +127 -0
  562. package/stories/layout.stories.tsx +378 -0
  563. package/stories/linechart.stories.tsx +319 -0
  564. package/stories/linecharttemporal.stories.tsx +88 -0
  565. package/stories/loader.stories.tsx +49 -0
  566. package/stories/modal.mdx +17 -0
  567. package/stories/modal.stories.tsx +177 -0
  568. package/stories/multiselect.stories.tsx +126 -0
  569. package/stories/navbar.stories.tsx +156 -0
  570. package/stories/notifications.stories.tsx +199 -0
  571. package/stories/pictures/icon-design-system.png +0 -0
  572. package/stories/prettybytes.stories.tsx +51 -0
  573. package/stories/progressbar.stories.tsx +174 -0
  574. package/stories/scrollbar.stories.tsx +76 -0
  575. package/stories/searchinput.stories.tsx +86 -0
  576. package/stories/select.stories.tsx +52 -0
  577. package/stories/selectinput.stories.tsx +73 -0
  578. package/stories/sidebar.stories.tsx +95 -0
  579. package/stories/spacing.stories.mdx +50 -0
  580. package/stories/spacing.stories.tsx +116 -0
  581. package/stories/sparkline.stories.tsx +85 -0
  582. package/stories/statuswrapper.stories.tsx +108 -0
  583. package/stories/stepper.stories.tsx +124 -0
  584. package/stories/steppers.stories.tsx +115 -0
  585. package/stories/tablev2.stories.tsx +539 -0
  586. package/stories/tabsv2.stories.tsx +168 -0
  587. package/stories/text.stories.tsx +138 -0
  588. package/stories/textarea.stories.tsx +69 -0
  589. package/stories/textbadge.stories.tsx +27 -0
  590. package/stories/toast.stories.tsx +144 -0
  591. package/stories/toggle.stories.tsx +45 -0
  592. package/stories/tooltip.stories.tsx +170 -0
  593. package/stories/typography.mdx +28 -0
  594. package/stories/vegachart.stories.tsx +98 -0
  595. package/tsconfig.json +18 -0
  596. package/types/styled.d.ts +6 -0
@@ -0,0 +1,74 @@
1
+ import React, { useMemo } from 'react';
2
+ import styled, { useTheme } from 'styled-components';
3
+ import { action } from '@storybook/addon-actions';
4
+ import {
5
+ HealthSelector,
6
+ optionsDefaultConfiguration,
7
+ } from '../src/lib/components/healthselectorv2/HealthSelector.component';
8
+ import { Wrapper } from './common';
9
+ import { Icon } from '../src/lib/components/icon/Icon.component';
10
+ export default {
11
+ title: 'Components/HealthSelector',
12
+ component: HealthSelector,
13
+
14
+ decorators: [
15
+ (story) => (
16
+ <Wrapper style={{ minHeight: '40vh' }}>
17
+ <HealthSelectorWrapper>{story()}</HealthSelectorWrapper>
18
+ </Wrapper>
19
+ ),
20
+ ],
21
+ args: {
22
+ onChange: (value) => action(value),
23
+ },
24
+ };
25
+ const HealthSelectorWrapper = styled.div`
26
+ width: 205px;
27
+ `;
28
+
29
+ export const Playground = {
30
+ args: {
31
+ id: 'playground',
32
+ },
33
+ argTypes: {
34
+ value: {
35
+ options: ['all', 'warning', 'critical', 'unknown'],
36
+ control: 'select',
37
+ },
38
+ },
39
+ };
40
+
41
+ export const ChangingLabels = {
42
+ args: {
43
+ options: [
44
+ {
45
+ ...optionsDefaultConfiguration.all,
46
+ label: 'label all',
47
+ },
48
+ {
49
+ ...optionsDefaultConfiguration.healthy,
50
+ label: 'any label',
51
+ },
52
+ {
53
+ ...optionsDefaultConfiguration.warning,
54
+ label: 'warning',
55
+ icon: <Icon name="Tape" />,
56
+ value: 'myValue',
57
+ },
58
+ optionsDefaultConfiguration.critical,
59
+ optionsDefaultConfiguration.unknown,
60
+ ],
61
+ },
62
+ };
63
+
64
+ export const HiddingOptions = {
65
+ args: {
66
+ id: 'hiddenoptions',
67
+ options: [
68
+ optionsDefaultConfiguration.all,
69
+ optionsDefaultConfiguration.warning,
70
+ optionsDefaultConfiguration.critical,
71
+ optionsDefaultConfiguration.unknown,
72
+ ],
73
+ },
74
+ };
@@ -0,0 +1,146 @@
1
+ import React from 'react';
2
+ import {
3
+ Icon,
4
+ iconTable,
5
+ IconName,
6
+ } from '../src/lib/components/icon/Icon.component';
7
+ import { SizeProp } from '@fortawesome/fontawesome-svg-core';
8
+
9
+ export default {
10
+ title: 'Components/Icon',
11
+ component: Icon,
12
+ argTypes: {
13
+ color: {
14
+ control: {
15
+ type: 'color',
16
+ },
17
+ },
18
+ },
19
+ };
20
+
21
+ export const Playground = {
22
+ args: {
23
+ name: 'Exclamation-triangle',
24
+ },
25
+ };
26
+
27
+ export const Size = {
28
+ render: (args) => {
29
+ const NameSizes: SizeProp[] = ['xs', 'sm', 'lg'];
30
+ const MultiplicatorSizes: SizeProp[] = [
31
+ '1x',
32
+ '2x',
33
+ '3x',
34
+ '4x',
35
+ '5x',
36
+ '6x',
37
+ '7x',
38
+ '8x',
39
+ '9x',
40
+ '10x',
41
+ ];
42
+ return (
43
+ <>
44
+ <h3>Size Name</h3>
45
+ <div style={{ display: 'flex', alignItems: 'flex-end' }}>
46
+ {NameSizes.map((size) => (
47
+ <div style={{ paddingInline: '1rem' }}>
48
+ <Icon size={size} {...args} />
49
+ <h5 style={{ textAlign: 'center' }}>{size}</h5>
50
+ </div>
51
+ ))}
52
+ </div>
53
+ <h3>Size Multiplicator</h3>
54
+ <div
55
+ style={{ display: 'flex', alignItems: 'flex-end', flexWrap: 'wrap' }}
56
+ >
57
+ {MultiplicatorSizes.map((size) => (
58
+ <div style={{ paddingInline: '1rem' }}>
59
+ <Icon size={size} {...args} />
60
+ <h5 style={{ textAlign: 'center' }}>{size}</h5>
61
+ </div>
62
+ ))}
63
+ </div>
64
+ </>
65
+ );
66
+ },
67
+ args: {
68
+ name: 'Exclamation-triangle',
69
+ },
70
+ parameters: {
71
+ docs: {
72
+ source: {
73
+ code: null,
74
+ },
75
+ },
76
+ },
77
+ };
78
+
79
+ export const Statuses = {
80
+ render: () => {
81
+ return (
82
+ <table style={{ width: '70%', textAlign: 'center' }}>
83
+ <thead>
84
+ <tr>
85
+ <th>Status</th>
86
+ <th>Visual</th>
87
+ <th>Code</th>
88
+ </tr>
89
+ </thead>
90
+ <tbody>
91
+ <tr>
92
+ <td>Unknown</td>
93
+ <td>
94
+ <Icon name="Dot-circle" color="infoPrimary" size="2x" />
95
+ </td>
96
+ <td>&lt;Icon name='Dot-circle' color='infoPrimary' /&gt;</td>
97
+ </tr>
98
+ <tr>
99
+ <td>Healthy</td>
100
+ <td>
101
+ <Icon name="Check-circle" color="statusHealthy" size="2x" />
102
+ </td>
103
+ <td>&lt;Icon name='Check-circle' color='statusHealthy' /&gt;</td>
104
+ </tr>
105
+ <tr>
106
+ <td>Warning</td>
107
+ <td>
108
+ <Icon name="Exclamation-circle" color="statusWarning" size="2x" />
109
+ </td>
110
+ <td>
111
+ &lt;Icon name='Exclamation-circle' color='statusWarning' /&gt;
112
+ </td>
113
+ </tr>
114
+ <tr>
115
+ <td>Critical</td>
116
+ <td>
117
+ <Icon name="Times-circle" color="statusCritical" size="2x" />
118
+ </td>
119
+ <td>&lt;Icon name='Times-circle' color='statusCritical' /&gt;</td>
120
+ </tr>
121
+ </tbody>
122
+ </table>
123
+ );
124
+ },
125
+ };
126
+
127
+ export const AllIcons = {
128
+ render: () => (
129
+ <table>
130
+ <thead>
131
+ <td>Visual</td>
132
+ <td>Name</td>
133
+ </thead>
134
+ <tbody>
135
+ {(Object.keys(iconTable) as IconName[]).map((key, index) => (
136
+ <tr key={key}>
137
+ <td style={{ paddingRight: '2rem' }}>
138
+ <Icon key={index} name={key} size={'2x'} />
139
+ </td>
140
+ <td>{key}</td>
141
+ </tr>
142
+ ))}
143
+ </tbody>
144
+ </table>
145
+ ),
146
+ };
@@ -0,0 +1,108 @@
1
+ import ImageFile from './pictures/icon-design-system.png';
2
+ import { Meta } from '@storybook/addon-docs';
3
+
4
+ <Meta title="Style/Icons" />
5
+
6
+ # Icons
7
+
8
+ ## Style
9
+
10
+ Icon style should be consistent.
11
+ The style is rather outlined.
12
+ If two options are possible when choosing an icon, choose the simpler one.
13
+
14
+ <img src={ImageFile} />
15
+
16
+ ## Size
17
+
18
+ When next to a text, the icon and the text should have the same size.
19
+
20
+ ## Icon set table
21
+
22
+ | Icons | Name | Category | Origin | FontAwesome name | FontAwesome code | Icon Style & Prefix | FA free | Use case |
23
+ | :-------------------------------------------------: | -------------------- | ------------- | ------ | -------------------- | ----------------------------------------------- | ------------------- | ------- | ------------------------------------------------------- |
24
+ | <i className="fas fa-wallet fa-3x" /> | Account | Entities | FA | wallet | `<i className="fas fa-wallet" />` | solid Style (fas) | yes | Hero |
25
+ | <i className="fas fa-network-wired fa-3x" /> | Backend | Entities | FA | network-wired | `<i className="fas fa-network-wired" />` | solid Style (fas) | yes | Hero |
26
+ | <i className="fas fa-tape fa-3x" /> | Tape | Entities | FA | tape | `<i className="fas fa-tape" />` | solid Style (fas) | yes | Hero |
27
+ | <i className="fas fa-server fa-3x" /> | Node-backend | Entities | FA | server | `<i className="fas fa-server" />` | solid Style (fas) | yes | Hero |
28
+ | <i className="fas fa-hdd fa-3x" /> | Volume-backend | Entities | FA | hdd | `<i className="fas fa-hdd" />` | solid Style (fas) | yes | Hero |
29
+ | <i className="fas fa-database fa-3x" /> | Node-ptf | Entities | FA | database | `<i className="fas fa-database" />` | solid Style (fas) | yes | Hero |
30
+ | <i className="fas fa-compact-disc fa-3x" /> | Volume-ptf | Entities | FA | compact-disc | `<i className="fas fa-compact-disc" />` | solid Style (fas) | yes | Hero |
31
+ | <i className="fas fa-project-diagram fa-3x" /> | Network | Entities | FA | project-diagram | `<i className="fas fa-project-diagram" />` | solid Style (fas) | yes | Hero |
32
+ | <i className="fas fa-glass-whiskey fa-3x" /> | Bucket | Entities | FA | glass-whiskey | `<i className="fas fa-glass-whiskey" />` | solid Style (fas) | yes | Hero |
33
+ | <i className="fas fa-cloud fa-3x" /> | Cloud-backend | Entities | FA | cloud | `<i className="fas fa-cloud" />` | solid Style (fas) | yes | Hero |
34
+ | <i className="fas fa-warehouse fa-3x" /> | Datacenter | Entities | FA | warehouse | `<i className="fas fa-warehouse" />` | solid Style (fas) | yes | Hero |
35
+ | <i className="fas fa-user-cog fa-3x" /> | User | Menu | FA | user-cog | `<i className="fas fa-user-cog" />` | solid Style (fas) | yes | Top navbar |
36
+ | <i className="fas fa-bell fa-3x" /> | Alert | Menu | FA | bell | `<i className="fas fa-bell" />` | solid Style (fas) | yes | |
37
+ | <i className="fas fa-bars fa-3x" /> | Lat-menu | Menu | FA | bars | `<i className="fas fa-bars" />` | solid Style (fas) | yes | Expanded version of lat navbar |
38
+ | <i className="fas fa-desktop fa-3x" /> | Dashboard | Menu | FA | desktop | `<i className="fas fa-desktop" />` | solid Style (fas) | yes | |
39
+ | <i className="fas fa-stopwatch fa-3x" /> | Expiration | Workflow | FA | stopwatch | `<i className="fas fa-stopwatch" />` | solid Style (fas) | yes | |
40
+ | <i className="fas fa-coins fa-3x" /> | Replication | Workflow | FA | coins | `<i className="fas fa-coins" />` | solid Style (fas) | yes | |
41
+ | <i className="fas fa-rocket fa-3x" /> | Transition | Workflow | FA | rocket | `<i className="fas fa-rocket" />` | solid Style (fas) | yes | |
42
+ | <i className="fas fa-reply fa-3x" /> | Discovery | Workflow | FA | reply | `<i className="fas fa-reply" />` | solid Style (fas) | yes | |
43
+ | <i className="fas fa-chart-line fa-3x" /> | Metrics | Action icon | FA | chart-line | `<i className="fas fa-chart-line" />` | solid Style (fas) | yes | Last column of Tables |
44
+ | <i className="far fa-file-alt fa-3x" /> | Logs | Action icon | FA | file-alt | `<i className="far fa-file-alt" />` | regular Style (far) | yes | |
45
+ | <i className="fas fa-edit fa-3x" /> | Edit | Action icon | FA | edit | `<i className="fas fa-edit" />` | solid Style (fas) | yes | Field editable |
46
+ | <i className="fas fa-plus fa-3x" /> | Create-add | Button-action | FA | plus | `<i className="fas fa-plus" />` | solid Style (fas) | yes | New entity creation |
47
+ | <i className="fas fa-trash fa-3x" /> | Delete | Button-action | FA | trash | `<i className="fas fa-trash" />` | solid Style (fas) | yes | Entity deletion |
48
+ | <i className="fas fa-save fa-3x" /> | Save | Button-action | FA | save | `<i className="fas fa-save" />` | solid Style (fas) | yes | Save changes on an entity |
49
+ | <i className="fas fa-external-link-alt fa-3x" /> | External-link | Button-action | FA | external-link-alt | `<i className="fas fa-external-link-alt" />` | solid Style (fas) | yes | Open an external link |
50
+ | <i className="fas fa-times fa-3x" /> | Close | Button-action | FA | times | `<i className="fas fa-times" />` | solid Style (fas) | yes | Close a window/modal |
51
+ | <i className="fas fa-caret-down fa-3x" /> | Dropdown-down | Button-action | FA | caret-down | `<i className="fas fa-caret-down" />` | solid Style (fas) | yes | Expand a drop-down |
52
+ | <i className="fas fa-caret-up fa-3x" /> | Dropdown-up | Button-action | FA | caret-up | `<i className="fas fa-caret-up" />` | solid Style (fas) | yes | Dropdown expanded |
53
+ | <i className="fas fa-search fa-3x" /> | Search | Button-action | FA | search | `<i className="fas fa-search" />` | solid Style (fas) | yes | Search bar |
54
+ | <i className="fas fa-ellipsis-v fa-3x" /> | More | Button-action | FA | ellipsis-v | `<i className="fas fa-ellipsis-v" />` | solid Style (fas) | yes | End of tables (not enough space to display all actions) |
55
+ | <i className="fas fa-question-circle fa-3x" /> | Info | Button-action | FA | question-circle | `<i className="fas fa-question-circle" />` | solid Style (fas) | yes | Display tooltip info AND "About" (top menu) |
56
+ | <i className="fas fa-sync fa-3x" /> | Sync | Button-action | FA | sync | `<i className="fas fa-sync" />` | solid Style (fas) | yes | Refresh the metrics |
57
+ | <i className="fas fa-file-export fa-3x" /> | Export | Button-action | FA | file-export | `<i className="fas fa-file-export" />` | solid Style (fas) | yes | Export the data in predefined format |
58
+ | <i className="far fa-clone fa-3x" /> | Copy | Button-action | FA | clone | `<i className="far fa-clone" />` | regular Style (far) | yes | Small icon next to a field that can be copied |
59
+ | <i className="fas fa-file-upload fa-3x" /> | Upload | Button-action | FA | file-upload | `<i className="fas fa-file-upload" />` | solid Style (fas) | yes | Upload object |
60
+ | <i className="fas fa-plus-square fa-3x" /> | Add-plus | Button-action | FA | plus-square | `<i className="fas fa-plus-square" />` | solid Style (fas) | yes | Add an item in a list |
61
+ | <i className="fas fa-minus-square fa-3x" /> | Remove-minus | Button-action | FA | minus-square | `<i className="fas fa-minus-square" />` | solid Style (fas) | yes | Remove an item in a list |
62
+ | <i className="fas fa-sort fa-3x" /> | Sort | Table | FA | sort | `<i className="fas fa-sort" />` | solid Style (fas) | yes | Sort |
63
+ | <i className="fas fa-sort-up fa-3x" /> | Sort-up | Table | FA | sort-up | `<i className="fas fa-sort-up" />` | solid Style (fas) | yes | Sort |
64
+ | <i className="fas fa-sort-down fa-3x" /> | Sort-down | Table | FA | sort-down | `<i className="fas fa-sort-down" />` | solid Style (fas) | yes | Sort |
65
+ | <i className="fas fa-calendar-week fa-3x" /> | Calendar | Pill | FA | calendar-week | `<i className="fas fa-calendar-week" />` | solid Style (fas) | yes | Metric over a period |
66
+ | <i className="fas fa-arrow-up fa-3x" /> | Arrow-up | Pill | FA | arrow-up | `<i className="fas fa-arrow-up" />` | solid Style (fas) | yes | Show an increase in trend |
67
+ | <i className="fas fa-arrow-down fa-3x" /> | Arrow-down | Pill | FA | arrow-down | `<i className="fas fa-arrow-down" />` | solid Style (fas) | yes | Show a decrease in trend |
68
+ | <i className="far fa-folder fa-3x" /> | Folder | Browsing | FA | folder | `<i className="far fa-folder" />` | regular Style (far) | yes | Browsing |
69
+ | <i className="far fa-file fa-3x" /> | File | Browsing | FA | file | `<i className="far fa-file" />` | regular Style (far) | yes | Browsing |
70
+ | <i className="fas fa-ban fa-3x" /> | Deletion-marker | Browsing | FA | ban | `<i className="fas fa-ban" />` | solid Style (fas) | yes | Browsing - deletion markers on objects |
71
+ | <i className="fas fa-info-circle fa-3x" /> | Info-circle | Status | FA | info-circle | `<i className="fas fa-info-circle" />` | solid Style (fas) | yes | Grey empty state-status (charts, tables) |
72
+ | <i className="fas fa-exclamation-triangle fa-3x" /> | Exclamation-triangle | Status | FA | exclamation-triangle | `<i className="fas fa-exclamation-triangle" />` | solid Style (fas) | yes | Yellow warning status (alerts list) |
73
+ | <i className="fas fa-exclamation-circle fa-3x" /> | Exclamation-circle | Status | FA | exclamation-circle | `<i className="fas fa-exclamation-circle" />` | solid Style (fas) | yes | Red critical alerts |
74
+ | <i className="fas fa-check fa-3x" /> | Check | Status | FA | check | `<i className="fas fa-check" />` | solid Style (fas) | yes | Healthy status AND successful operation |
75
+ | <i className="fas fa-shield-alt fa-3x" /> | Protected | Status | FA | shield-alt | `<i className="fas fa-shield-alt" />` | solid Style (fas) | yes | Extra protection status |
76
+ | <i className="fas fa-bars fa-3x" /> | Bars | Menu | FA | bars | `<i className="fas fa-bars" />` | solid Style (fas) | yes | Expand/collapse the lat navbar |
77
+ | <i className="fas fa-link fa-3x" /> | Bound | Status | FA | link | `<i className="fas fa-link" />` | solid Style (fas) | yes | Bound status |
78
+ | <i className="fas fa-unlink fa-3x" /> | Unbound | Status | FA | unlink | `<i className="fas fa-unlink" />` | solid Style (fas) | yes | Unbound status |
79
+ | <i className="fas fa-exclamation fa-3x" /> | Exclamation | Status | FA | exclamation | `<i className="fas fa-exclamation" />` | solid Style (fas) | yes | Issue status |
80
+ | <i className="fas fa-minus fa-3x" /> | Hyphen | Status | FA | minus | `<i class="fas fa-minus" />` | solid Style (fas) | yes | No status, in tables |
81
+ | <i className="fas fa-times-circle fa-3x" /> | Remove-circle | Action | FA | times-circle | `<i class="fas fa-times-circle" />` | solid Style (fas) | yes | Remove a criteria in a search |
82
+ | <i className="fas fa-file-upload fa-3x" /> | Object-upload | Action | FA | file-upload | `<i class="fas fa-file-upload" />` | solid Style (fas) | yes | When uploading an object |
83
+ | <i className="fas fa-chevron-left fa-3x" /> | Chevron-left | Navigation | FA | chevron-left | `<i className="fas fa-chevron-left" />` | solid Style (fas) | yes | Expand tabs |
84
+ | <i className="fas fa-chevron-right fa-3x" /> | Chevron-right | Navigation | FA | chevron-right | `<i className="fas fa-chevron-right" />` | solid Style (fas) | yes | Expand tables |
85
+ | <i className="fas fa-angle-double-right fa-3x" /> | Angle-double-right | Status | FA | angle-double-right | `<i className="fas fa-angle-double-right" />` | solid Style (fas) | yes | Show an increase "From 1 value to another one" |
86
+ | <i className="fas fa-language fa-3x" /> | Language | Menu | FA | language | `<i className="fas fa-language" />` | solid Style (fas) | yes | Select the language in the top menu |
87
+ | <i className="fas fa-palette fa-3x" /> | Theme | Menu | FA | palette | `<i className="fas fa-palette" />` | solid Style (fas) | yes | Select the theme in the top menu |
88
+ | <i className="fas fa-clipboard-list fa-3x" /> | Documentation | Menu | FA | clipboard-list | `<i className="fas fa-clipboard-list" />` | solid Style (fas) | yes | Access to the documentation link |
89
+ | <i className="fas fa-comments fa-3x" /> | Support | Menu | FA | comments | `<i className="fas fa-comments" />` | solid Style (fas) | yes | Access to the support link |
90
+ | <i className="fas fa-file-contract fa-3x" /> | EULA | Menu | FA | file-contract | `<i className="fas fa-file-contract" />` | solid Style (fas) | yes | Access to the "Terms of use" link |
91
+ | <i className="fas fa-sign-out-alt fa-3x" /> | Log-out | Menu | FA | sign-out-alt | `<i className="fas fa-sign-out-alt" />` | solid Style (fas) | yes | Log out action |
92
+ | <i className="far fa-hourglass fa-3x" /> | Hourglass | Status | FA | hourglass | `<i className="far fa-hourglass" />` | regular Style (far) | ? | Workflow delayed |
93
+ | <i className="fas fa-pause fa-3x" /> | Pause | Status | FA | pause | `<i className="fas fa-pause" />` | solid Style (fas) | yes | Workflow paused |
94
+ | <i className="fas fa-level-up-alt fa-3x" /> | Upgrade | Button-action | FA | level-up-alt | `<i className="fas fa-level-up-alt" />` | solid Style (fas) | yes | Upgrade version |
95
+ | <i className="fas fa-expand-alt fa-3x" /> | Expansion | Button-action | FA | expand-alt | `<i className="fas fa-expand-alt" />` | solid Style (fas) | yes | Expand with no rebalancing |
96
+ | <i className="fas fa-balance-scale fa-3x" /> | Rebalance | Button-action | FA | balance-scale | `<i className="fas fa-balance-scale" />` | solid Style (fas) | yes | Expand with rebalancing |
97
+ | <i className="fas fa-hard-hat fa-3x" /> | Maintenance | Button-action | FA | hard-hat | `<i className="fas fa-hard-hat" />` | solid Style (fas) | yes | Switch to "maintenance mode" |
98
+ | <i className="fas fa-exchange-alt fa-3x" /> | Change-erasure | Button-action | FA | exchange-alt | `<i className="fas fa-exchange-alt" />` | solid Style (fas) | yes | Change erasure code level |
99
+ | <i className="fas fa-circle fa-3x" /> | Circle-health | Status | FA | circle | `<i className="fas-circle" />` | solid Style (fas) | yes | Display status (Healthy, Warning, Critical) |
100
+ | <i className="far fa-circle fa-3x" /> | Circle-empty | Status | FA | circle | `<i className="far-circle" />` | regular Style (far) | yes | Display empty health status |
101
+ | <i className="fas fa-toolbox fa-3x" /> | Services | Status | FA | toolbox | `<i className="fas fa-toolbox" />` | solid Style (fas) | yes | Status icon for Services |
102
+ | <i className="fas fa-cubes fa-3x" /> | Data-services | Hero | FA | cubes | `<i className="fas fa-cubes" />` | solid Style (fas) | yes | Hero icon for Data-services |
103
+ | <i className="fas fa-arrow-right fa-3x" /> | Arrow-right | Navigation | FA | arrow-right | `<i className="fas fa-right-up" />` | solid Style (fas) | yes | Button as "Continue", next step |
104
+ | <i className="fas fa-arrow-left fa-3x" /> | Arrow-left | Navigation | FA | arrow-left | `<i className="fas fa-arrow-left" />` | solid Style (fas) | yes | Go back to a previous status/page |
105
+ | <i className="fas fa-certificate fa-3x" /> | Certificate | Entities | FA | certificate | `<i className="fas fa-certificate" />` | solid Style (fas) | yes | Certificate |
106
+ | <i className="fas fa-download fa-3x" /> | Download | Action icon | FA | download | `<i className="fas fa-download" />` | solid Style (fas) | yes | Download |
107
+ | <i className="fas fa-id-card fa-3x" /> | ID-card | Entities | FA | id-card | `<i className="fas fa-id-card"/>` | solid Style (fas) | yes | Identity |
108
+ | <i className="fas fa-cog fa-3x" /> | Setting | Action | FA | cog | `<i className="fas fa-cog"/>` | solid Style (fas) | yes | Global Settings |
@@ -0,0 +1,228 @@
1
+ import React from 'react';
2
+ import { Input as InputV2 } from '../src/lib/components/inputv2/inputv2';
3
+ import { action } from '@storybook/addon-actions';
4
+ import styled from 'styled-components';
5
+ import { Wrapper } from './common';
6
+
7
+ const sizes = ['1/3', '1/2', '2/3', '1'];
8
+
9
+ const InputWrapper = styled.div`
10
+ display: flex;
11
+ justify-content: space-around;
12
+ `;
13
+
14
+ export default {
15
+ title: 'Components/Inputs/Input',
16
+ component: InputV2,
17
+ decorators: [
18
+ (story) => <Wrapper style={{ minHeight: '15rem' }}>{story()}</Wrapper>,
19
+ ],
20
+ args: {
21
+ onChange: action('onChange'),
22
+ },
23
+ argTypes: {
24
+ size: {
25
+ options: sizes,
26
+ },
27
+ },
28
+ };
29
+
30
+ export const Playground = {
31
+ args: {
32
+ placeholder: 'Try me',
33
+ },
34
+ };
35
+
36
+ export const WithPlaceholder = {
37
+ args: {
38
+ placeholder: 'Some text',
39
+ },
40
+ };
41
+
42
+ export const SizeScale = {
43
+ render: (args) => {
44
+ return (
45
+ <InputWrapper>
46
+ {sizes.map((size) => (
47
+ <InputV2
48
+ size={size}
49
+ placeholder={`Size : ${size}`}
50
+ {...args}
51
+ ></InputV2>
52
+ ))}
53
+ </InputWrapper>
54
+ );
55
+ },
56
+ };
57
+
58
+ export const WithIcons = {
59
+ render: (args) => {
60
+ return (
61
+ <InputWrapper>
62
+ <InputV2
63
+ id="ileft"
64
+ leftIcon="Account"
65
+ placeholder="With a left icon"
66
+ {...args}
67
+ />
68
+ <InputV2
69
+ id="iright"
70
+ rightIcon="Alert"
71
+ placeholder="With a right icon"
72
+ {...args}
73
+ />
74
+ </InputWrapper>
75
+ );
76
+ },
77
+ };
78
+
79
+ export const WithError = {
80
+ args: {
81
+ error: 'Something bad',
82
+ placeholder: 'Some text',
83
+ },
84
+ };
85
+
86
+ export const Disabled = {
87
+ args: {
88
+ disabled: true,
89
+ placeholder: 'Some text',
90
+ },
91
+ };
92
+
93
+ /*
94
+ const options = Array.from(new Array(1000), (_, index) => ({
95
+ label: `Item ${index}`,
96
+ value: index,
97
+ 'data-cy': `Item_${index}`,
98
+ }));
99
+
100
+
101
+ const ExampleInput = ({}) => {
102
+ const CustomInput = styled.div`
103
+ .sc-input-error {
104
+ width: 200px;
105
+ }
106
+ `;
107
+ const [numberValue, setNumberValue] = useState(1);
108
+ return (
109
+ <Wrapper>
110
+ <Title>Input without label</Title>
111
+ <Input
112
+ id="id1"
113
+ value="value"
114
+ onChange={action('onChange')}
115
+ data-cy="default_input"
116
+ />
117
+ <Title>Input disabled</Title>
118
+ <Input
119
+ id="id1"
120
+ value="value"
121
+ disabled={true}
122
+ onChange={action('onChange')}
123
+ data-cy="default_input"
124
+ />
125
+ <Title>Input with label</Title>
126
+ <Input
127
+ id="id2"
128
+ label="label"
129
+ value="value"
130
+ onChange={action('onChange')}
131
+ />
132
+ <Title>Input with error</Title>
133
+ <Input
134
+ id="id3"
135
+ label="label"
136
+ value="value"
137
+ error="error"
138
+ onChange={action('onChange')}
139
+ />
140
+ <Title>Input with long error</Title>
141
+ <CustomInput>
142
+ <Input
143
+ id="id3"
144
+ label="label"
145
+ value="value"
146
+ error="long error error error error error error error error error"
147
+ onChange={action('onChange')}
148
+ />
149
+ </CustomInput>
150
+ <Title>Checkbox Input</Title>
151
+ <Input
152
+ id="id4"
153
+ label="label"
154
+ value="value"
155
+ onChange={action('onChange')}
156
+ type="checkbox"
157
+ />
158
+ <Title>Checkbox Input with error</Title>
159
+ <Input
160
+ id="id5"
161
+ label="label"
162
+ value="value"
163
+ onChange={action('onChange')}
164
+ type="checkbox"
165
+ error="error"
166
+ />
167
+ <Title>Select Input</Title>
168
+ <Input
169
+ id="id6"
170
+ label="label"
171
+ onChange={action('onChange')}
172
+ type="select"
173
+ options={options}
174
+ placeholder="Select an item..."
175
+ noOptionsMessage={() => 'Not found'}
176
+ value={options[0]}
177
+ />
178
+ <Title>Textarea Input</Title>
179
+ <Input
180
+ id="id7"
181
+ label="label"
182
+ onChange={action('onChange')}
183
+ type="textarea"
184
+ placeholder="Write here..."
185
+ value=""
186
+ />
187
+ <Title>Textarea Input with error</Title>
188
+ <Input
189
+ id="id7"
190
+ label="label"
191
+ onChange={action('onChange')}
192
+ type="textarea"
193
+ placeholder="Write here..."
194
+ error="error"
195
+ value="Hello"
196
+ cols={50}
197
+ rows={5}
198
+ />
199
+ <Title>Number Input (Max 100)</Title>
200
+ <Input
201
+ id="id8"
202
+ value={numberValue}
203
+ onChange={(e) => {
204
+ setNumberValue(e.currentTarget.value);
205
+ }}
206
+ type="number"
207
+ min="0"
208
+ max="100"
209
+ error={
210
+ parseInt(numberValue) > 100
211
+ ? 'The input number must be less than or equal to 100'
212
+ : ''
213
+ }
214
+ />
215
+ </Wrapper>
216
+ );
217
+ };
218
+
219
+ export default {
220
+ title: 'Components/Input/Input',
221
+ component: Input,
222
+ };
223
+ export const Default = {
224
+ render: ({}) => {
225
+ return <ExampleInput />;
226
+ },
227
+ };
228
+ */
@@ -0,0 +1,57 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import React from 'react';
3
+ import { InputList } from '../src/lib/components/inputlist/InputList.component';
4
+ import { Wrapper as StoryWrapper } from './common';
5
+ import { FormSection } from '../src/lib/components/form/Form.component';
6
+ import { Controller, useForm } from 'react-hook-form';
7
+
8
+ const meta: Meta<typeof InputList> = {
9
+ tags: ['autodocs'],
10
+ title: 'Components/Inputs/InputList',
11
+ component: InputList,
12
+ };
13
+ export default meta;
14
+
15
+ interface InputListForm {
16
+ firstNames: string[];
17
+ lastNames: string[];
18
+ }
19
+
20
+ const ExampleList = () => {
21
+ const { control } = useForm<InputListForm>({
22
+ mode: 'all',
23
+ defaultValues: {
24
+ firstNames: [''],
25
+ lastNames: [''],
26
+ },
27
+ });
28
+
29
+ return (
30
+ <FormSection>
31
+ <Controller
32
+ control={control}
33
+ rules={{
34
+ required: true,
35
+ }}
36
+ render={({ field: { onChange, onBlur, value } }) => (
37
+ <InputList
38
+ placeholder="First name"
39
+ onBlur={onBlur}
40
+ onChange={onChange}
41
+ value={value}
42
+ />
43
+ )}
44
+ name="firstNames"
45
+ />
46
+ </FormSection>
47
+ );
48
+ };
49
+ type Story = StoryObj<typeof InputList>;
50
+ export const SimpleListOfInputs: Story = {
51
+ name: 'List of inputs',
52
+ render: () => (
53
+ <StoryWrapper>
54
+ <ExampleList />
55
+ </StoryWrapper>
56
+ ),
57
+ };