@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,118 @@
1
+ import React from 'react';
2
+
3
+ const LoaderIcon = () => (
4
+ <svg
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ version="1.1"
7
+ viewBox="0 0 56 56"
8
+ width="50"
9
+ height="50"
10
+ >
11
+ <g className="container">
12
+ <path
13
+ d="M25.80000004768371,5.250000393390657 v8.2 H30.200000047683716 V5.1500003933906555 l5.7,3.3 l2.2,-3.8 l-5.8,-3.3 c-1.3,-0.8 -2.8,-1.1 -4.4,-1.1 c-1.5,0 -3,0.4 -4.3,1.2 l-5.8,3.3 l2.2,3.8 L25.80000004768371,5.250000393390657 z"
14
+ className="svg_3"
15
+ >
16
+ <animate
17
+ attributeName="opacity"
18
+ attributeType="XML"
19
+ values="1; 0"
20
+ begin="0s"
21
+ dur="1s"
22
+ repeatCount="indefinite"
23
+ />
24
+ </path>
25
+ <path
26
+ d="M46.60000004768372,14.650000393390656 l-7.1,4.1 l2.2,3.8 l7.1,-4.1 l0,6.6 l4.4,0 l0,-6.7 c0,-1.5 -0.4,-3 -1.2,-4.3 c-0.8,-1.3 -1.9,-2.4 -3.2,-3.2 l-5.8,-3.3 l-2.2,3.8 L46.60000004768372,14.650000393390656 z"
27
+ className="svg_5"
28
+ >
29
+ <animate
30
+ attributeName="opacity"
31
+ attributeType="XML"
32
+ values="1; 0"
33
+ begin="0.3s"
34
+ dur="1s"
35
+ repeatCount="indefinite"
36
+ />
37
+ </path>
38
+ <path
39
+ d="M46.60000004768372,41.25000039339065 L39.60000004768372,37.150000393390656 l2.2,-3.8 l7.1,4.1 l0,-6.6 l4.4,0 l0,6.7 c0,1.5 -0.4,2.9 -1.2,4.3 c-0.8,1.3 -1.9,2.4 -3.2,3.2 l-5.8,3.3 l-2.2,-3.8 L46.60000004768372,41.25000039339065 z"
40
+ className="svg_8"
41
+ >
42
+ <animate
43
+ attributeName="opacity"
44
+ attributeType="XML"
45
+ values="1; 0"
46
+ begin="0.55s"
47
+ dur="1s"
48
+ repeatCount="indefinite"
49
+ />
50
+ </path>
51
+ <path
52
+ d="M25.80000004768371,50.75000039339065 v-8.2 H30.200000047683716 v8.2 l5.7,-3.3 l2.2,3.8 l-5.7,3.3 c-1.3,0.8 -2.9,1.2 -4.4,1.2 c-1.5,0 -3,-0.4 -4.3,-1.2 l-5.8,-3.3 l2.2,-3.8 L25.80000004768371,50.75000039339065 z"
53
+ className="svg_4"
54
+ >
55
+ <animate
56
+ attributeName="opacity"
57
+ attributeType="XML"
58
+ values="1; 0"
59
+ begin="0.75s"
60
+ dur="1s"
61
+ repeatCount="indefinite"
62
+ />
63
+ </path>
64
+ <path
65
+ d="M7.2000000476837185,37.45000039339065 l7.1,-4.1 l2.2,3.8 l-7.1,4.1 l5.7,3.3 l-2.2,3.8 l-5.8,-3.3 c-1.3,-0.8 -2.4,-1.9 -3.1,-3.2 c-0.8,-1.3 -1.2,-2.8 -1.2,-4.3 l0,-6.7 l4.4,0 L7.2000000476837185,37.45000039339065 z"
66
+ className="svg_6"
67
+ >
68
+ <animate
69
+ attributeName="opacity"
70
+ attributeType="XML"
71
+ values="1; 0"
72
+ begin="0.85s"
73
+ dur="1s"
74
+ repeatCount="indefinite"
75
+ />
76
+ </path>
77
+ <path
78
+ d="M7.2000000476837185,18.550000393390654 l7.1,4.1 l2.2,-3.8 l-7.1,-4.1 l5.7,-3.3 l-2.2,-3.8 l-5.8,3.3 c-1.3,0.8 -2.4,1.9 -3.2,3.2 c-0.8,1.3 -1.2,2.8 -1.2,4.4 l0,6.7 l4.4,0 L7.2000000476837185,18.550000393390654 z"
79
+ className="svg_7"
80
+ >
81
+ <animate
82
+ attributeName="opacity"
83
+ attributeType="XML"
84
+ values="1; 0"
85
+ begin="0.9"
86
+ dur="1s"
87
+ repeatCount="indefinite"
88
+ />
89
+ </path>
90
+ <polygon
91
+ points="28.60000228881836,17.649999976158142 28.60000228881836,26.950003027915955 36.70000076293945,22.34999692440033 "
92
+ className="svg_9"
93
+ />
94
+ <polygon
95
+ points="27.39999771118164,17.649999976158142 19.39999771118164,22.34999692440033 27.39999771118164,26.950003027915955 "
96
+ className="svg_10"
97
+ />
98
+ <polygon
99
+ points="26.89999771118164,27.950003027915955 18.89999771118164,23.34999692440033 18.89999771118164,32.55000340938568 "
100
+ className="svg_11"
101
+ />
102
+ <polygon
103
+ points="29.200000762939453,27.950003027915955 37.20000076293945,32.55000340938568 37.20000076293945,23.450003027915955 "
104
+ className="svg_12"
105
+ />
106
+ <polygon
107
+ points="27.39999771118164,29.05000150203705 19.500003814697266,33.650001883506775 27.39999771118164,38.34999883174896 "
108
+ className="svg_13"
109
+ />
110
+ <polygon
111
+ points="28.60000228881836,29.05000150203705 28.60000228881836,38.34999883174896 36.60000228881836,33.650001883506775 "
112
+ className="svg_14"
113
+ />
114
+ </g>
115
+ </svg>
116
+ );
117
+
118
+ export { LoaderIcon };
@@ -0,0 +1,25 @@
1
+ html,
2
+ body {
3
+ font-family: 'Lato';
4
+ font-size: max(14px, 0.972vw);
5
+ }
6
+
7
+ /* Lato-Regular */
8
+ @font-face {
9
+ font-family: 'Lato';
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ src: local(''), url('./style/fonts/Lato-Regular.woff2') format('woff2'),
13
+ /* Chrome 26+, Opera 23+, Firefox 39+ */
14
+ url('./style/fonts/Lato-Regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
15
+ }
16
+
17
+ /* Lato-Bold */
18
+ @font-face {
19
+ font-family: 'Lato';
20
+ font-style: normal;
21
+ font-weight: bold;
22
+ src: local(''), url('./style/fonts/Lato-Bold.woff2') format('woff2'),
23
+ /* Chrome 26+, Opera 23+, Firefox 39+ */ url('./style/fonts/Lato-Bold.woff')
24
+ format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
25
+ }
@@ -0,0 +1,75 @@
1
+ import '@fortawesome/fontawesome-free/css/all.css';
2
+ import './index.css';
3
+ export { Banner } from './components/banner/Banner.component';
4
+ export { Breadcrumb } from './components/breadcrumb/Breadcrumb.component';
5
+ export { Button } from './components/button/Button.component';
6
+ export { Checkbox } from './components/checkbox/Checkbox.component';
7
+ export { Chips } from './components/chips/Chips.component';
8
+ export { Dropdown } from './components/dropdown/Dropdown.component';
9
+ export { Input } from './components/input/Input.component';
10
+ export { LOADER_SIZE } from './components/constants';
11
+ export { Layout } from './components/layout/Layout.component';
12
+ export { Loader } from './components/loader/Loader.component';
13
+ export { Modal } from './components/modal/Modal.component';
14
+ export { Navbar } from './components/navbar/Navbar.component';
15
+ export { Notifications } from './components/notifications/Notifications.component';
16
+ export { SearchInput } from './components/searchinput/SearchInput.component';
17
+ export { Select } from './components/select/Select.component';
18
+ export { Sidebar } from './components/sidebar/Sidebar.component';
19
+ export { Steppers } from './components/steppers/Steppers.component';
20
+ export { Toggle } from './components/toggle/Toggle.component';
21
+ export { Tooltip } from './components/tooltip/Tooltip.component';
22
+ export { MultiSelect } from './components/multiselect/MultiSelect.component';
23
+ export { VegaChart } from './components/vegachart/VegaChart.component';
24
+ export { LineChart } from './components/linechart/LineChart.component';
25
+ export { ProgressBar } from './components/progressbar/ProgressBar.component';
26
+ export { TextArea } from './components/textarea/TextArea.component';
27
+ export { CloudProgressBar } from './components/cloudprogressbar/CloudProgressBar.component';
28
+ export { Sparkline } from './components/sparkline/SparkLine.component';
29
+ export { BarChart } from './components/barchart/BarChart.component';
30
+ export { CircularProgressBar } from './components/circularprogressbar/CircularProgressBar.component';
31
+ export { AreaChart } from './components/areachart/AreaChart.component';
32
+ export { CollapsiblePanel } from './components/collapsiblepanel/CollapsiblePanel.component';
33
+ export { LateralNavbarLayout } from './components/lateralnavbarlayout/LateralNavbarLayout.component';
34
+ export { GlobalHealthBar } from './components/globalhealthbar/GlobalHealthBar.component';
35
+ export { ConstrainedText } from './components/constrainedtext/Constrainedtext.component';
36
+ export { EmptyState } from './components/emptystate/Emptystate.component';
37
+ export { EmptyTable } from './components/emptytable/Emptytable.component';
38
+ export { ScrollbarWrapper } from './components/scrollbarwrapper/ScrollbarWrapper.component';
39
+ export { ErrorPage401 } from './components/error-pages/ErrorPage401.component';
40
+ export { ErrorPage404 } from './components/error-pages/ErrorPage404.component';
41
+ export { ErrorPage500 } from './components/error-pages/ErrorPage500.component';
42
+ export { ErrorPageAuth } from './components/error-pages/ErrorPageAuth.component';
43
+ export { TextBadge } from './components/textbadge/TextBadge.component';
44
+ export { SpacedBox } from './components/spacedbox/SpacedBox';
45
+ export { Layout as Layout2 } from './components/layout/v2';
46
+ export { TwoPanelLayout } from './components/layout/v2/panels';
47
+ export { AppContainer } from './components/layout/v2/AppContainer';
48
+ export {
49
+ BasicText,
50
+ SecondaryText,
51
+ LargerText,
52
+ EmphaseText,
53
+ StatusText,
54
+ LargeText,
55
+ SmallerText,
56
+ ChartTitleText,
57
+ Text,
58
+ Link,
59
+ } from './components/text/Text.component';
60
+ export { Card } from './components/card/Card.component';
61
+ export { PrettyBytes } from './components/prettybytes/PrettyBytes.component';
62
+ export { Icon } from './components/icon/Icon.component';
63
+ export { StatusWrapper } from './components/statuswrapper/Statuswrapper.component';
64
+ export { Stack, Wrap, spacing } from './spacing';
65
+ export { Form, FormSection, FormGroup } from './components/form/Form.component';
66
+ export { FormattedDateTime } from './components/date/FormattedDateTime';
67
+ export { getDateDaysDiff } from './components/date/dateDiffer';
68
+ export { IconHelp } from './components/IconHelper';
69
+ export { Dropzone } from './components/dropzone/Dropzone';
70
+ export { Toast } from './components/toast/Toast.component';
71
+ export { ToastProvider, useToast } from './components/toast/ToastProvider';
72
+ export { useMutationsHandler } from './components/toast/useMutationsHandler';
73
+ export { Stepper } from './components/steppers/Stepper.component';
74
+ export { InfoMessage } from './components/infomessage/InfoMessage.component';
75
+ export { InputList } from './components/inputlist/InputList.component';
@@ -0,0 +1,17 @@
1
+ import '@fortawesome/fontawesome-free/css/all.css';
2
+ import './index.css';
3
+ export { Button } from './components/buttonv2/Buttonv2.component';
4
+ export { CopyButton } from './components/buttonv2/CopyButton.component';
5
+ export { Tabs, Tab } from './components/tabsv2/Tabsv2.component';
6
+ export { Table } from './components/tablev2/Tablev2.component';
7
+ export { LineTemporalChart } from './components/linetemporalchart/LineTemporalChart.component';
8
+ export {
9
+ MetricsTimeSpanProvider,
10
+ useMetricsTimeSpan,
11
+ } from './components/linetemporalchart/MetricTimespanProvider';
12
+ export { SyncedCursorCharts } from './components/vegachartv2/SyncedCursorCharts';
13
+ export { Select } from './components/selectv2/Selectv2.component';
14
+ export { HealthSelector } from './components/healthselectorv2/HealthSelector.component';
15
+ export { CoreUiThemeProvider } from './components/coreuithemeprovider/CoreUiThemeProvider';
16
+ export { Box } from './components/box/Box';
17
+ export { Input } from './components/inputv2/inputv2';
@@ -0,0 +1,311 @@
1
+ import { ComponentType, useState } from 'react';
2
+ import { Column, Table } from '../../components/tablev2/Tablev2.component';
3
+ import { Box, Button } from '../../next';
4
+ import { useMutation, UseMutationOptions } from 'react-query';
5
+ import { AttachmentOperation, AttachmentAction } from './AttachmentTypes';
6
+ import { useTheme } from 'styled-components';
7
+ import { useHistory } from 'react-router';
8
+ import { Icon, LargerText, Modal, SecondaryText, Stack, Wrap } from '../..';
9
+
10
+ type AttachmentStatus = 'Waiting for confirmation' | 'Error' | 'Success';
11
+
12
+ //The entity is the "thing" you want to attach to the resource, sorry about the naming :(
13
+ export function AttachmentConfirmationModal<ENTITY_TYPE, RESOURCE_TYPE>({
14
+ attachmentOperations,
15
+ getAttachmentMutationOptions,
16
+ resourceType,
17
+ resourceName,
18
+ redirectUrl,
19
+ EntityIcon,
20
+ cancelButtonDisabled,
21
+ onCancel,
22
+ onExit,
23
+ }: {
24
+ attachmentOperations: AttachmentOperation<ENTITY_TYPE>[];
25
+ getAttachmentMutationOptions: () => UseMutationOptions<
26
+ unknown,
27
+ unknown,
28
+ {
29
+ action: AttachmentAction;
30
+ type: ENTITY_TYPE;
31
+ entityName: string;
32
+ id: string;
33
+ }
34
+ >;
35
+ resourceName: string;
36
+ resourceType: RESOURCE_TYPE;
37
+ redirectUrl: string;
38
+ EntityIcon: ComponentType<{ type: ENTITY_TYPE | RESOURCE_TYPE }>;
39
+ cancelButtonDisabled?: boolean;
40
+ onCancel?: () => void;
41
+ onExit?: (
42
+ successfullOperations: AttachmentOperation<ENTITY_TYPE>[],
43
+ failedOperations: AttachmentOperation<ENTITY_TYPE>[],
44
+ ) => void;
45
+ }) {
46
+ const history = useHistory();
47
+
48
+ const [isModalOpen, setIsModalOpen] = useState(false);
49
+
50
+ const handleClose = () => {
51
+ setIsModalOpen(false);
52
+ };
53
+
54
+ const [attachmentOperationsStatuses, setAttachmentOperationsStatuses] =
55
+ useState<Record<string, AttachmentStatus>>({});
56
+
57
+ const attachmentMutation = useMutation({
58
+ ...getAttachmentMutationOptions(),
59
+ onSettled: (_, error, flatEntity) => {
60
+ setAttachmentOperationsStatuses((statuses) => ({
61
+ ...statuses,
62
+ [flatEntity.id]: error ? 'Error' : 'Success',
63
+ }));
64
+ },
65
+ });
66
+
67
+ const attachmentOperationsFlat: {
68
+ action: AttachmentAction;
69
+ type: ENTITY_TYPE;
70
+ entityName: string;
71
+ id: string;
72
+ }[] = attachmentOperations.map(
73
+ (attachmentOperation: AttachmentOperation<ENTITY_TYPE>) => {
74
+ return {
75
+ action: attachmentOperation.action,
76
+ type: attachmentOperation.entity.type,
77
+ entityName: attachmentOperation.entity.name,
78
+ id: attachmentOperation.entity.id,
79
+ };
80
+ },
81
+ );
82
+
83
+ const attach = () => {
84
+ attachmentOperationsFlat.forEach((attachmentOperationFlat) => {
85
+ if (
86
+ attachmentOperationsStatuses[attachmentOperationFlat.id] ===
87
+ 'Waiting for confirmation' ||
88
+ attachmentOperationsStatuses[attachmentOperationFlat.id] === 'Error' ||
89
+ !attachmentOperationsStatuses[attachmentOperationFlat.id]
90
+ ) {
91
+ setAttachmentOperationsStatuses((attachmentOperationsStatuses) => {
92
+ return {
93
+ ...attachmentOperationsStatuses,
94
+ [attachmentOperationFlat.id]: 'Waiting for confirmation',
95
+ };
96
+ });
97
+ attachmentMutation.mutate({
98
+ ...attachmentOperationFlat,
99
+ });
100
+ }
101
+ });
102
+ };
103
+ const isAttachNotDone = attachmentOperationsFlat.find(
104
+ (attachmentOperation) =>
105
+ !attachmentOperationsStatuses[attachmentOperation.id],
106
+ );
107
+ const handleExit = () => {
108
+ if (onExit) {
109
+ const successfulOperations = Object.entries(attachmentOperationsStatuses)
110
+ .filter(([_, status]) => status === 'Success')
111
+ .flatMap(([operationId]) => {
112
+ const op = attachmentOperations.find(
113
+ (op) => op.entity.id === operationId,
114
+ );
115
+ if (op) return [op];
116
+ return [];
117
+ });
118
+ const failedOperations = Object.entries(attachmentOperationsStatuses)
119
+ .filter(([_, status]) => status === 'Error')
120
+ .flatMap(([operationId]) => {
121
+ const op = attachmentOperations.find(
122
+ (op) => op.entity.id === operationId,
123
+ );
124
+ if (op) return [op];
125
+ return [];
126
+ });
127
+ onExit(successfulOperations, failedOperations);
128
+ }
129
+ handleClose();
130
+ history.push(redirectUrl);
131
+ };
132
+ const modalFooter = () => {
133
+ return (
134
+ <Wrap>
135
+ <p></p>
136
+ <>
137
+ {isAttachNotDone ? (
138
+ <Stack>
139
+ <Button variant="outline" onClick={handleClose} label="Cancel" />
140
+ <Button
141
+ icon={<Icon name="Arrow-right" />}
142
+ variant="primary"
143
+ onClick={attach}
144
+ label="Confirm"
145
+ disabled={attachmentMutation.isLoading}
146
+ />
147
+ </Stack>
148
+ ) : (
149
+ <Button
150
+ icon={<Icon name="Arrow-right" />}
151
+ variant="primary"
152
+ onClick={() => {
153
+ handleExit();
154
+ }}
155
+ label="Exit"
156
+ />
157
+ )}
158
+ </>
159
+ </Wrap>
160
+ );
161
+ };
162
+
163
+ function AttachmentList() {
164
+ const theme = useTheme();
165
+ const columns: Column<{
166
+ action: AttachmentAction;
167
+ type: ENTITY_TYPE;
168
+ entityName: string;
169
+ id: string;
170
+ }>[] = [
171
+ {
172
+ Header: 'Action',
173
+ accessor: 'action',
174
+ cellStyle: {
175
+ width: '12.5%',
176
+ },
177
+ Cell: ({ value }: { value: AttachmentAction }) => {
178
+ return value === AttachmentAction.ADD ? (
179
+ <span>
180
+ <Icon name="Link" /> Attach
181
+ </span>
182
+ ) : (
183
+ <Box color={theme.statusCritical}>
184
+ <Icon name="Unlink" /> Detach
185
+ </Box>
186
+ );
187
+ },
188
+ },
189
+ {
190
+ Header: 'Type',
191
+ accessor: 'type',
192
+ cellStyle: {
193
+ width: '12.5%',
194
+ },
195
+ Cell: ({ value }: { value: ENTITY_TYPE }) => {
196
+ return <EntityIcon type={value} />;
197
+ },
198
+ },
199
+ {
200
+ Header: 'Entity name',
201
+ accessor: 'entityName',
202
+ cellStyle: {
203
+ width: '42.5%',
204
+ },
205
+ },
206
+ {
207
+ Header: 'Attachment status',
208
+ accessor: 'id',
209
+ cellStyle: {
210
+ width: '32.5%',
211
+ },
212
+ Cell: ({ value: resourceId }: { value: string }) => {
213
+ if (attachmentOperationsStatuses[resourceId] === 'Error') {
214
+ return (
215
+ <Box display="flex" gap={8} alignItems="center">
216
+ <Icon color="statusCritical" name="Times-circle" />
217
+ {attachmentOperationsStatuses[resourceId]}{' '}
218
+ <Button
219
+ size="inline"
220
+ onClick={attach}
221
+ variant="outline"
222
+ label="Retry"
223
+ />
224
+ </Box>
225
+ );
226
+ }
227
+ if (attachmentOperationsStatuses[resourceId] === 'Success') {
228
+ return (
229
+ <Box display="flex" gap={8} alignItems="center">
230
+ <Icon color="statusHealthy" name="Check-circle" />
231
+ {attachmentOperationsStatuses[resourceId]}
232
+ </Box>
233
+ );
234
+ }
235
+ return (
236
+ <>
237
+ {attachmentOperationsStatuses[resourceId] ||
238
+ 'Waiting for confirmation'}
239
+ </>
240
+ );
241
+ },
242
+ },
243
+ ];
244
+
245
+ return (
246
+ <div style={{ height: '25rem', width: '50rem' }}>
247
+ <div>The following entities will be attached or detached: </div>
248
+ <Box display="flex" gap={24} alignItems="center">
249
+ <SecondaryText>
250
+ <EntityIcon type={resourceType} />
251
+ </SecondaryText>
252
+ <p>{resourceName}</p>
253
+ </Box>
254
+ <Table
255
+ columns={columns}
256
+ data={attachmentOperationsFlat}
257
+ defaultSortingKey={'entityName'}
258
+ >
259
+ <Table.SingleSelectableContent
260
+ rowHeight="h32"
261
+ separationLineVariant="backgroundLevel3"
262
+ backgroundVariant="backgroundLevel1"
263
+ children={(Rows) => {
264
+ return <>{Rows}</>;
265
+ }}
266
+ ></Table.SingleSelectableContent>
267
+ </Table>
268
+ </div>
269
+ );
270
+ }
271
+
272
+ return (
273
+ <>
274
+ <Button
275
+ label="Cancel"
276
+ variant="outline"
277
+ disabled={cancelButtonDisabled}
278
+ onClick={() => {
279
+ if (onCancel) onCancel();
280
+ history.push(redirectUrl);
281
+ }}
282
+ />
283
+ <Button
284
+ icon={<Icon name="Save" />}
285
+ label="Save"
286
+ onClick={() => {
287
+ setAttachmentOperationsStatuses({});
288
+ setIsModalOpen(true);
289
+ }}
290
+ variant="primary"
291
+ disabled={attachmentOperations.length === 0}
292
+ />
293
+
294
+ <Modal
295
+ close={isAttachNotDone ? handleClose : handleExit}
296
+ footer={modalFooter()}
297
+ isOpen={isModalOpen}
298
+ title={
299
+ <Box display="flex" gap={8}>
300
+ <LargerText>
301
+ <Icon name="Link" />
302
+ </LargerText>
303
+ <LargerText>Attachment</LargerText>
304
+ </Box>
305
+ }
306
+ >
307
+ <AttachmentList />
308
+ </Modal>
309
+ </>
310
+ );
311
+ }