@centreon/ui 23.10.122 → 24.4.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 (360) hide show
  1. package/package.json +64 -45
  2. package/public/mockServiceWorker.js +2 -2
  3. package/src/ActionsList/ActionsList.styles.ts +40 -71
  4. package/src/Button/Icon/index.stories.tsx +1 -1
  5. package/src/Button/Icon/index.tsx +2 -2
  6. package/src/Button/Save/StartIcon.tsx +3 -3
  7. package/src/Button/Save/index.tsx +9 -5
  8. package/src/Checkbox/Checkbox.tsx +2 -2
  9. package/src/Checkbox/CheckboxGroup/index.tsx +2 -2
  10. package/src/Checkbox/fonts/roboto-bold-webfont.ttf +0 -0
  11. package/src/Checkbox/fonts/roboto-bold-webfont.woff +0 -0
  12. package/src/Checkbox/fonts/roboto-bold-webfont.woff2 +0 -0
  13. package/src/Checkbox/fonts/roboto-light-webfont.ttf +0 -0
  14. package/src/Checkbox/fonts/roboto-light-webfont.woff +0 -0
  15. package/src/Checkbox/fonts/roboto-light-webfont.woff2 +0 -0
  16. package/src/Checkbox/fonts/roboto-medium-webfont.ttf +0 -0
  17. package/src/Checkbox/fonts/roboto-medium-webfont.woff +0 -0
  18. package/src/Checkbox/fonts/roboto-medium-webfont.woff2 +0 -0
  19. package/src/Checkbox/fonts/roboto-regular-webfont.ttf +0 -0
  20. package/src/Checkbox/fonts/roboto-regular-webfont.woff +0 -0
  21. package/src/Checkbox/fonts/roboto-regular-webfont.woff2 +0 -0
  22. package/src/Dashboard/Dashboard.styles.ts +6 -5
  23. package/src/Dashboard/Item.tsx +1 -1
  24. package/src/Dashboard/Layout.tsx +2 -2
  25. package/src/Dashboard/utils.ts +1 -1
  26. package/src/Dialog/Confirm/index.tsx +10 -2
  27. package/src/Dialog/UnsavedChanges/index.tsx +21 -20
  28. package/src/Dialog/UnsavedChanges/translatedLabels.ts +4 -6
  29. package/src/Dialog/index.tsx +9 -2
  30. package/src/FallbackPage/FallbackPage.tsx +3 -3
  31. package/src/FileDropZone/index.tsx +3 -1
  32. package/src/Form/Form.cypress.spec.tsx +133 -0
  33. package/src/Form/Inputs/Grid.tsx +8 -4
  34. package/src/Form/Inputs/List/Content.tsx +62 -0
  35. package/src/Form/Inputs/List/List.styles.ts +29 -0
  36. package/src/Form/Inputs/List/List.tsx +58 -0
  37. package/src/Form/Inputs/List/useList.ts +81 -0
  38. package/src/Form/Inputs/Text.tsx +3 -1
  39. package/src/Form/Inputs/index.tsx +3 -1
  40. package/src/Form/Inputs/models.ts +23 -13
  41. package/src/Graph/BarStack/BarStack.cypress.spec.tsx +217 -0
  42. package/src/Graph/BarStack/BarStack.stories.tsx +125 -0
  43. package/src/Graph/BarStack/BarStack.styles.ts +66 -0
  44. package/src/Graph/BarStack/BarStack.tsx +14 -0
  45. package/src/Graph/BarStack/Graph.tsx +176 -0
  46. package/src/Graph/BarStack/GraphAndLegend.tsx +119 -0
  47. package/src/Graph/BarStack/ResponsiveBarStack.tsx +114 -0
  48. package/src/Graph/BarStack/constants.ts +5 -0
  49. package/src/Graph/BarStack/index.ts +1 -0
  50. package/src/Graph/BarStack/models.ts +19 -0
  51. package/src/Graph/BarStack/useGraphAndLegend.ts +86 -0
  52. package/src/Graph/BarStack/useResponsiveBarStack.ts +106 -0
  53. package/src/Graph/Gauge/Gauge.cypress.spec.tsx +102 -0
  54. package/src/Graph/Gauge/Gauge.tsx +1 -1
  55. package/src/Graph/HeatMap/HeatMap.cypress.spec.tsx +145 -0
  56. package/src/Graph/HeatMap/HeatMap.stories.tsx +0 -25
  57. package/src/Graph/HeatMap/HeatMap.styles.tsx +1 -0
  58. package/src/Graph/HeatMap/ResponsiveHeatMap.tsx +39 -12
  59. package/src/Graph/HeatMap/model.ts +6 -1
  60. package/src/Graph/Legend/Legend.styles.ts +10 -0
  61. package/src/Graph/Legend/Legend.tsx +26 -0
  62. package/src/Graph/Legend/index.ts +1 -0
  63. package/src/Graph/Legend/models.ts +11 -0
  64. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +2 -1
  65. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +3 -4
  66. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +2 -2
  67. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +3 -1
  68. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +2 -2
  69. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +3 -5
  70. package/src/Graph/LineChart/Header/index.tsx +3 -31
  71. package/src/Graph/LineChart/Icons/Downtime.tsx +3 -3
  72. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +2 -2
  73. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +9 -11
  74. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +1 -1
  75. package/src/Graph/LineChart/InteractiveComponents/GraphValueTooltip/GraphValueTooltip.tsx +68 -0
  76. package/src/Graph/LineChart/InteractiveComponents/GraphValueTooltip/useGraphValueTooltip.ts +27 -0
  77. package/src/Graph/LineChart/InteractiveComponents/GraphValueTooltip/useGraphValueTooltipStyles.ts +31 -0
  78. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +2 -1
  79. package/src/Graph/LineChart/InteractiveComponents/index.tsx +132 -17
  80. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +7 -27
  81. package/src/Graph/LineChart/Legend/Legend.styles.ts +85 -32
  82. package/src/Graph/LineChart/Legend/LegendContent.tsx +12 -6
  83. package/src/Graph/LineChart/Legend/LegendHeader.tsx +66 -27
  84. package/src/Graph/LineChart/Legend/index.tsx +43 -46
  85. package/src/Graph/LineChart/Legend/models.ts +5 -0
  86. package/src/Graph/LineChart/Legend/useLegend.ts +12 -13
  87. package/src/Graph/LineChart/LineChart.cypress.spec.tsx +144 -0
  88. package/src/Graph/LineChart/LineChart.styles.ts +8 -0
  89. package/src/Graph/LineChart/LineChart.tsx +125 -123
  90. package/src/Graph/LineChart/LoadingSkeleton.tsx +2 -2
  91. package/src/Graph/LineChart/helpers/doc.ts +16 -13
  92. package/src/Graph/LineChart/helpers/index.ts +1 -1
  93. package/src/Graph/LineChart/index.stories.tsx +17 -2
  94. package/src/Graph/LineChart/index.tsx +6 -7
  95. package/src/Graph/LineChart/mockedData/curvesWithSameColor.json +252 -0
  96. package/src/Graph/LineChart/mockedData/lastDayWithIncompleteValues.json +1320 -0
  97. package/src/Graph/LineChart/mockedData/lastDayWithNullValues.json +1314 -0
  98. package/src/Graph/LineChart/models.ts +12 -1
  99. package/src/Graph/LineChart/useLineChartData.ts +68 -18
  100. package/src/Graph/PieChart/PieChart.cypress.spec.tsx +154 -0
  101. package/src/Graph/PieChart/PieChart.stories.tsx +194 -0
  102. package/src/Graph/PieChart/PieChart.styles.ts +39 -0
  103. package/src/Graph/PieChart/PieChart.tsx +14 -0
  104. package/src/Graph/PieChart/ResponsivePie.tsx +245 -0
  105. package/src/Graph/PieChart/index.ts +1 -0
  106. package/src/Graph/PieChart/models.ts +20 -0
  107. package/src/Graph/PieChart/useResponsivePie.ts +81 -0
  108. package/src/Graph/SingleBar/SingleBar.cypress.spec.tsx +121 -0
  109. package/src/Graph/SingleBar/Thresholds.tsx +2 -2
  110. package/src/Graph/Text/Text.cypress.spec.tsx +101 -0
  111. package/src/Graph/Text/Text.stories.tsx +60 -4
  112. package/src/Graph/Text/Text.styles.ts +12 -1
  113. package/src/Graph/Text/Text.tsx +17 -12
  114. package/src/Graph/Tree/DescendantNodes.tsx +88 -0
  115. package/src/Graph/Tree/Links.tsx +64 -0
  116. package/src/Graph/Tree/StandaloneTree.tsx +32 -0
  117. package/src/Graph/Tree/Tree.cypress.spec.tsx +171 -0
  118. package/src/Graph/Tree/Tree.stories.tsx +144 -0
  119. package/src/Graph/Tree/Tree.tsx +116 -0
  120. package/src/Graph/Tree/constants.ts +2 -0
  121. package/src/Graph/Tree/index.ts +4 -0
  122. package/src/Graph/Tree/models.ts +52 -0
  123. package/src/Graph/Tree/stories/contents.tsx +164 -0
  124. package/src/Graph/Tree/stories/datas.ts +305 -0
  125. package/src/Graph/Tree/utils.ts +49 -0
  126. package/src/Graph/common/testUtils.ts +71 -0
  127. package/src/Graph/common/timeSeries/index.ts +53 -15
  128. package/src/Graph/common/utils.ts +69 -1
  129. package/src/Graph/index.ts +4 -0
  130. package/src/Icon/BaseIcon.tsx +32 -0
  131. package/src/Icon/DowntimeIcon.tsx +14 -0
  132. package/src/InputField/Number/Number.cypress.spec.tsx +85 -0
  133. package/src/InputField/Number/Number.stories.tsx +66 -0
  134. package/src/InputField/Number/Number.tsx +74 -0
  135. package/src/InputField/Search/index.tsx +2 -2
  136. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -1
  137. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +3 -2
  138. package/src/InputField/Select/Autocomplete/Connected/index.tsx +35 -17
  139. package/src/InputField/Select/Autocomplete/Draggable/SortableList.tsx +1 -1
  140. package/src/InputField/Select/Autocomplete/Draggable/SortableListContent.tsx +1 -1
  141. package/src/InputField/Select/Autocomplete/Draggable/index.tsx +1 -1
  142. package/src/InputField/Select/Autocomplete/Multi/index.stories.tsx +19 -0
  143. package/src/InputField/Select/Autocomplete/Multi/index.tsx +12 -7
  144. package/src/InputField/Select/Autocomplete/index.tsx +129 -116
  145. package/src/InputField/Select/IconPopover/index.tsx +3 -3
  146. package/src/InputField/Select/index.tsx +15 -2
  147. package/src/InputField/Text/index.tsx +53 -46
  148. package/src/Listing/ActionBar/index.tsx +11 -10
  149. package/src/Listing/Cell/DataCell.styles.ts +3 -0
  150. package/src/Listing/Cell/DataCell.tsx +23 -5
  151. package/src/Listing/Header/ListingHeader.tsx +1 -1
  152. package/src/Listing/Listing.cypress.spec.tsx +218 -33
  153. package/src/Listing/Listing.styles.ts +4 -7
  154. package/src/Listing/Row/Row.tsx +7 -3
  155. package/src/Listing/index.stories.tsx +39 -5
  156. package/src/Listing/index.test.tsx +1 -1
  157. package/src/Listing/index.tsx +207 -149
  158. package/src/Listing/models.ts +1 -0
  159. package/src/Listing/useStyleTable.ts +1 -0
  160. package/src/Module/LicensedModule/LicenseCheck/index.tsx +24 -9
  161. package/src/Module/LicensedModule/index.tsx +7 -1
  162. package/src/Module/Module.cypress.spec.tsx +129 -0
  163. package/src/Module/index.tsx +2 -4
  164. package/src/Panel/index.tsx +1 -1
  165. package/src/PopoverMenu/index.tsx +9 -8
  166. package/src/RichTextEditor/ContentEditable.tsx +195 -195
  167. package/src/RichTextEditor/RichTextEditor.tsx +12 -1
  168. package/src/SortableItems/index.tsx +2 -7
  169. package/src/StoryBookThemeProvider/index.tsx +35 -36
  170. package/src/ThemeProvider/index.tsx +39 -12
  171. package/src/ThemeProvider/palettes.ts +15 -12
  172. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +6 -7
  173. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +10 -6
  174. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -2
  175. package/src/TimePeriods/DateTimePickerInput.tsx +59 -19
  176. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +12 -9
  177. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +9 -33
  178. package/src/TimePeriods/helpers/index.ts +1 -1
  179. package/src/TimePeriods/index.stories.tsx +12 -4
  180. package/src/TimePeriods/index.tsx +2 -2
  181. package/src/TopCounterElements/TopCounterLayout.tsx +3 -0
  182. package/src/TopCounterElements/useCloseOnLegacyPage.tsx +42 -0
  183. package/src/Typography/FluidTypography/FluidTypography.cypress.spec.tsx +27 -0
  184. package/src/Typography/FluidTypography/index.stories.tsx +2 -2
  185. package/src/Typography/FluidTypography/index.tsx +21 -28
  186. package/src/Typography/Subtitle.tsx +55 -0
  187. package/src/api/QueryProvider.tsx +1 -1
  188. package/src/api/TestQueryProvider.tsx +1 -1
  189. package/src/api/buildListingEndpoint/getSearchQueryParameterValue.ts +7 -1
  190. package/src/api/buildListingEndpoint/models.ts +3 -1
  191. package/src/api/customFetch.ts +12 -3
  192. package/src/api/index.ts +3 -3
  193. package/src/api/useFetchQuery/index.ts +49 -28
  194. package/src/api/useGraphQuery/index.ts +26 -5
  195. package/src/api/useGraphQuery/models.ts +5 -0
  196. package/src/api/useMutationQuery/index.test.ts +4 -4
  197. package/src/api/useMutationQuery/index.ts +65 -20
  198. package/src/components/Button/Icon/IconButton.tsx +6 -2
  199. package/src/components/CollapsibleItem/CollapsibleItem.cypress.spec.tsx +76 -0
  200. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +26 -0
  201. package/src/components/CollapsibleItem/CollapsibleItem.tsx +43 -14
  202. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +24 -1
  203. package/src/components/DataTable/DataListing.tsx +6 -0
  204. package/src/components/DataTable/DataTable.cypress.spec.tsx +174 -0
  205. package/src/components/DataTable/DataTable.stories.tsx +40 -0
  206. package/src/components/DataTable/DataTable.styles.ts +3 -0
  207. package/src/components/DataTable/DataTable.tsx +3 -3
  208. package/src/components/DataTable/Item/DataTableItem.styles.ts +7 -2
  209. package/src/components/DataTable/Item/DataTableItem.tsx +4 -60
  210. package/src/components/DataTable/index.ts +3 -1
  211. package/src/components/Form/AccessRights/AccessRights.cypress.spec.tsx +373 -0
  212. package/src/components/Form/AccessRights/AccessRights.stories.tsx +119 -0
  213. package/src/components/Form/AccessRights/AccessRights.styles.ts +10 -0
  214. package/src/components/Form/AccessRights/AccessRights.tsx +60 -0
  215. package/src/components/Form/AccessRights/Actions/Actions.styles.ts +14 -0
  216. package/src/components/Form/AccessRights/Actions/Actions.tsx +81 -0
  217. package/src/components/Form/AccessRights/Actions/useActions.ts +79 -0
  218. package/src/components/Form/AccessRights/List/Item.tsx +90 -0
  219. package/src/components/Form/AccessRights/List/List.styles.tsx +45 -0
  220. package/src/components/Form/AccessRights/List/List.tsx +52 -0
  221. package/src/components/Form/AccessRights/List/ListItemSkeleton.tsx +18 -0
  222. package/src/components/Form/AccessRights/List/ListSkeleton.tsx +22 -0
  223. package/src/components/Form/AccessRights/List/RemoveAccessRight.tsx +38 -0
  224. package/src/components/Form/AccessRights/List/StateChip.tsx +28 -0
  225. package/src/components/Form/AccessRights/List/useItem.ts +64 -0
  226. package/src/components/Form/AccessRights/Provider.tsx +15 -0
  227. package/src/components/Form/AccessRights/ShareInput/ContactSwitch.tsx +50 -0
  228. package/src/components/Form/AccessRights/ShareInput/ShareInput.styles.ts +17 -0
  229. package/src/components/Form/AccessRights/ShareInput/ShareInput.tsx +78 -0
  230. package/src/components/Form/AccessRights/ShareInput/useShareInput.tsx +113 -0
  231. package/src/components/Form/AccessRights/Stats/Stats.tsx +36 -0
  232. package/src/components/Form/AccessRights/atoms.ts +97 -0
  233. package/src/components/Form/AccessRights/common/RoleSelectField.styles.tsx +7 -0
  234. package/src/components/Form/AccessRights/common/RoleSelectField.tsx +45 -0
  235. package/src/components/Form/AccessRights/models.ts +55 -0
  236. package/src/components/Form/AccessRights/storiesData.ts +222 -0
  237. package/src/components/Form/AccessRights/useAccessRightsInitValues.ts +51 -0
  238. package/src/components/Form/Dashboard/DashboardDuplicationForm.tsx +85 -0
  239. package/src/components/Form/Dashboard/DashboardForm.tsx +15 -12
  240. package/src/components/Form/Dashboard/index.ts +1 -0
  241. package/src/components/Form/FormActions.tsx +7 -2
  242. package/src/components/Form/index.ts +2 -1
  243. package/src/components/ItemComposition/Item.tsx +1 -1
  244. package/src/components/ItemComposition/ItemComposition.cypress.spec.tsx +113 -0
  245. package/src/components/ItemComposition/ItemComposition.stories.tsx +14 -0
  246. package/src/components/ItemComposition/ItemComposition.styles.ts +36 -3
  247. package/src/components/ItemComposition/ItemComposition.tsx +41 -17
  248. package/src/components/Layout/PageLayout/PageLayout.tsx +1 -1
  249. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +1 -0
  250. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +1 -0
  251. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +5 -1
  252. package/src/components/Layout/PageLayout/PageQuickAccess.tsx +76 -0
  253. package/src/components/Layout/PageLayout/index.ts +3 -1
  254. package/src/components/Layout/PageLayout.cypress.spec.tsx +66 -0
  255. package/src/components/List/Item/ListItem.styles.ts +6 -0
  256. package/src/components/List/Item/ListItem.tsx +6 -4
  257. package/src/components/List/Item/Text.tsx +5 -3
  258. package/src/components/Modal/ConfirmationModal/ConfirmationModal.cypress.spec.tsx +168 -0
  259. package/src/components/Modal/ConfirmationModal/ConfirmationModal.stories.tsx +62 -0
  260. package/src/components/Modal/ConfirmationModal/ConfirmationModal.tsx +87 -0
  261. package/src/components/Modal/Modal.styles.ts +10 -2
  262. package/src/components/Modal/ModalActions.tsx +4 -2
  263. package/src/components/Modal/index.ts +2 -0
  264. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.stories.tsx +3 -3
  265. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.tsx +1 -1
  266. package/src/components/Tooltip/ConfirmationTooltip/models.ts +1 -1
  267. package/src/components/Zoom/Minimap.tsx +127 -0
  268. package/src/components/Zoom/Zoom.cypress.spec.tsx +246 -0
  269. package/src/components/Zoom/Zoom.stories.tsx +115 -0
  270. package/src/components/Zoom/Zoom.styles.tsx +68 -0
  271. package/src/components/Zoom/Zoom.tsx +61 -0
  272. package/src/components/Zoom/ZoomContent.tsx +167 -0
  273. package/src/components/Zoom/constants.ts +2 -0
  274. package/src/components/Zoom/localPoint.ts +51 -0
  275. package/src/components/Zoom/models.ts +25 -0
  276. package/src/components/Zoom/useMinimap.ts +156 -0
  277. package/src/components/Zoom/useZoom.ts +70 -0
  278. package/src/components/Zoom/utils.ts +55 -0
  279. package/src/components/index.ts +1 -0
  280. package/src/fonts/roboto-bold-webfont.ttf +0 -0
  281. package/src/fonts/roboto-bold-webfont.woff +0 -0
  282. package/src/fonts/roboto-bold-webfont.woff2 +0 -0
  283. package/src/fonts/roboto-light-webfont.ttf +0 -0
  284. package/src/fonts/roboto-light-webfont.woff +0 -0
  285. package/src/fonts/roboto-light-webfont.woff2 +0 -0
  286. package/src/fonts/roboto-medium-webfont.ttf +0 -0
  287. package/src/fonts/roboto-medium-webfont.woff +0 -0
  288. package/src/fonts/roboto-medium-webfont.woff2 +0 -0
  289. package/src/fonts/roboto-regular-webfont.ttf +0 -0
  290. package/src/fonts/roboto-regular-webfont.woff +0 -0
  291. package/src/fonts/roboto-regular-webfont.woff2 +0 -0
  292. package/src/index.ts +6 -0
  293. package/src/queryParameters/url/index.ts +5 -1
  294. package/src/utils/index.ts +25 -22
  295. package/src/utils/useFullscreen/Fullscreen.cypress.spec.tsx +133 -0
  296. package/src/utils/useFullscreen/atoms.ts +3 -0
  297. package/src/utils/useFullscreen/index.ts +2 -0
  298. package/src/utils/useFullscreen/translatedLabels.ts +1 -0
  299. package/src/utils/useFullscreen/useFullscreen.ts +73 -0
  300. package/src/utils/useFullscreen/useFullscreenListener.ts +62 -0
  301. package/src/utils/useInfiniteScrollListing.ts +31 -8
  302. package/src/utils/{useLicenseExpirationWarning.cypress.spec.tsx → useLicenseExpirationWarning.test.tsx} +48 -37
  303. package/src/utils/useLicenseExpirationWarning.ts +18 -18
  304. package/src/utils/useLocale/index.ts +10 -0
  305. package/src/utils/useLocale/useLocale.cypress.spec.tsx +40 -0
  306. package/src/utils/useLocaleDateTimeFormat/index.ts +8 -2
  307. package/src/utils/usePluralizedTranslation.ts +21 -0
  308. package/src/@assets/icons/downtime.icon.svg +0 -1
  309. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  310. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  311. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  312. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  313. package/src/Graph/LineChart/Legend/Marker.tsx +0 -43
  314. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  315. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  316. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  317. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  318. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  319. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  320. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  321. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  322. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  323. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  324. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  325. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  326. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  327. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  328. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  329. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  330. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  331. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  332. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  333. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  334. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  335. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  336. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  337. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  338. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  339. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  340. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  341. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  342. package/src/components/Form/AccessRights/index.ts +0 -3
  343. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  344. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  345. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  346. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  347. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  348. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  349. /package/{public → src/Button}/fonts/roboto-bold-webfont.ttf +0 -0
  350. /package/{public → src/Button}/fonts/roboto-bold-webfont.woff +0 -0
  351. /package/{public → src/Button}/fonts/roboto-bold-webfont.woff2 +0 -0
  352. /package/{public → src/Button}/fonts/roboto-light-webfont.ttf +0 -0
  353. /package/{public → src/Button}/fonts/roboto-light-webfont.woff +0 -0
  354. /package/{public → src/Button}/fonts/roboto-light-webfont.woff2 +0 -0
  355. /package/{public → src/Button}/fonts/roboto-medium-webfont.ttf +0 -0
  356. /package/{public → src/Button}/fonts/roboto-medium-webfont.woff +0 -0
  357. /package/{public → src/Button}/fonts/roboto-medium-webfont.woff2 +0 -0
  358. /package/{public → src/Button}/fonts/roboto-regular-webfont.ttf +0 -0
  359. /package/{public → src/Button}/fonts/roboto-regular-webfont.woff +0 -0
  360. /package/{public → src/Button}/fonts/roboto-regular-webfont.woff2 +0 -0
@@ -0,0 +1,4 @@
1
+ export { Tree } from './Tree';
2
+ export { StandaloneTree } from './StandaloneTree';
3
+ export * from './utils';
4
+ export type { Node, TreeProps, ChildrenProps } from './models';
@@ -0,0 +1,52 @@
1
+ export interface Node<T> {
2
+ children?: Array<Node<T>>;
3
+ data: T;
4
+ isExpanded?: boolean;
5
+ }
6
+
7
+ export interface LinkProps<T> {
8
+ source: T;
9
+ target: T;
10
+ }
11
+
12
+ export interface BaseProp {
13
+ id: number;
14
+ name: string;
15
+ }
16
+
17
+ export interface ChildrenProps<TData> {
18
+ ancestors: Array<Node<TData>>;
19
+ depth: number;
20
+ expandCollapseNode: (targetNode: Node<TData>) => void;
21
+ isExpanded: boolean;
22
+ node: Node<TData>;
23
+ nodeSize: {
24
+ height: number;
25
+ width: number;
26
+ };
27
+ onMouseDown: (e) => void;
28
+ onMouseUp: (callback) => (e) => void;
29
+ }
30
+
31
+ export interface TreeProps<TData> {
32
+ changeTree?: (newTree: Node<TData>) => void;
33
+ children: (props: ChildrenProps<TData>) => JSX.Element;
34
+ containerHeight: number;
35
+ containerWidth: number;
36
+ contentHeight?: number;
37
+ contentWidth?: number;
38
+ node: {
39
+ height: number;
40
+ isDefaultExpanded?: (data: TData) => boolean;
41
+ width: number;
42
+ };
43
+ tree: Node<TData>;
44
+ treeLink?: {
45
+ getStroke?: (props: LinkProps<TData>) => string | undefined;
46
+ getStrokeDasharray?: (
47
+ props: LinkProps<TData>
48
+ ) => string | number | undefined;
49
+ getStrokeOpacity?: (props: LinkProps<TData>) => string | number | undefined;
50
+ getStrokeWidth?: (props: LinkProps<TData>) => string | number | undefined;
51
+ };
52
+ }
@@ -0,0 +1,164 @@
1
+ import { always, cond, equals, has, T } from 'ramda';
2
+
3
+ import { Avatar, Paper, Typography, useTheme } from '@mui/material';
4
+ import SpaIcon from '@mui/icons-material/Spa';
5
+
6
+ import { ChildrenProps } from '..';
7
+
8
+ import { ComplexData, SimpleData } from './datas';
9
+
10
+ export const SimpleContent = ({
11
+ node,
12
+ depth,
13
+ isExpanded,
14
+ nodeSize,
15
+ expandCollapseNode
16
+ }: ChildrenProps<SimpleData>): JSX.Element => {
17
+ const theme = useTheme();
18
+ const fillColor = cond([
19
+ [equals('critical'), always(theme.palette.error.main)],
20
+ [equals('warning'), always(theme.palette.warning.main)],
21
+ [T, always(theme.palette.success.main)]
22
+ ])(node.data.status);
23
+
24
+ if (equals(depth, 0)) {
25
+ return (
26
+ <div
27
+ style={{
28
+ alignItems: 'center',
29
+ display: 'flex',
30
+ height: '100%',
31
+ justifyContent: 'center',
32
+ width: '100%'
33
+ }}
34
+ >
35
+ <Avatar
36
+ sx={{
37
+ backgroundColor: fillColor,
38
+ color: theme.palette.text.primary,
39
+ cursor: 'pointer'
40
+ }}
41
+ >
42
+ {node.data.name}
43
+ </Avatar>
44
+ </div>
45
+ );
46
+ }
47
+
48
+ return (
49
+ <Paper
50
+ sx={{
51
+ alignItems: 'center',
52
+ backgroundColor: fillColor,
53
+ cursor: node.children ? 'pointer' : 'default',
54
+ display: 'flex',
55
+ flexDirection: 'column',
56
+ height: nodeSize.height,
57
+ justifyContent: 'center',
58
+ p: 1,
59
+ position: 'relative',
60
+ width: nodeSize.width
61
+ }}
62
+ onClick={() => {
63
+ expandCollapseNode(node);
64
+ }}
65
+ >
66
+ {!node.children && (
67
+ <SpaIcon
68
+ fontSize="small"
69
+ sx={{ position: 'absolute', right: 8, top: 8 }}
70
+ />
71
+ )}
72
+ <Typography>{node.data.name}</Typography>
73
+ {node.children && (
74
+ <Typography>{isExpanded ? 'Expanded' : 'Collapsed'}</Typography>
75
+ )}
76
+ </Paper>
77
+ );
78
+ };
79
+
80
+ export const ComplexContent = ({
81
+ node,
82
+ depth,
83
+ nodeSize,
84
+ expandCollapseNode,
85
+ onMouseDown,
86
+ onMouseUp
87
+ }: ChildrenProps<ComplexData>): JSX.Element => {
88
+ const theme = useTheme();
89
+ const fillColor = cond([
90
+ [equals('critical'), always(theme.palette.error.main)],
91
+ [equals('warning'), always(theme.palette.warning.main)],
92
+ [T, always(theme.palette.success.main)]
93
+ ])(node.data.status);
94
+
95
+ if (equals(depth, 0)) {
96
+ return (
97
+ <Paper
98
+ sx={{
99
+ alignItems: 'center',
100
+ backgroundColor: fillColor,
101
+ display: 'flex',
102
+ flexDirection: 'column',
103
+ height: nodeSize.height,
104
+ justifyContent: 'center',
105
+ p: 1,
106
+ position: 'relative',
107
+ width: nodeSize.width
108
+ }}
109
+ >
110
+ <Typography>{node.data.name}</Typography>
111
+ </Paper>
112
+ );
113
+ }
114
+
115
+ if (has('count', node.data)) {
116
+ return (
117
+ <div
118
+ style={{
119
+ alignItems: 'center',
120
+ display: 'flex',
121
+ height: '100%',
122
+ justifyContent: 'center',
123
+ width: '100%'
124
+ }}
125
+ >
126
+ <Avatar
127
+ sx={{
128
+ backgroundColor: fillColor,
129
+ color: theme.palette.text.primary,
130
+ cursor: 'pointer'
131
+ }}
132
+ onMouseDown={onMouseDown}
133
+ onMouseUp={onMouseUp(() => expandCollapseNode(node))}
134
+ >
135
+ {node.data.count}
136
+ </Avatar>
137
+ </div>
138
+ );
139
+ }
140
+
141
+ return (
142
+ <Paper
143
+ sx={{
144
+ alignItems: 'center',
145
+ backgroundColor: fillColor,
146
+ display: 'flex',
147
+ flexDirection: 'column',
148
+ height: nodeSize.height,
149
+ justifyContent: 'center',
150
+ p: 1,
151
+ position: 'relative',
152
+ width: nodeSize.width
153
+ }}
154
+ >
155
+ {!node.children && (
156
+ <SpaIcon
157
+ fontSize="small"
158
+ sx={{ position: 'absolute', right: 8, top: 8 }}
159
+ />
160
+ )}
161
+ <Typography>{node.data.name}</Typography>
162
+ </Paper>
163
+ );
164
+ };
@@ -0,0 +1,305 @@
1
+ import { Node } from '../models';
2
+
3
+ export interface SimpleData {
4
+ id: number;
5
+ name: string;
6
+ status: 'critical' | 'warning' | 'ok';
7
+ }
8
+
9
+ export interface ComplexData {
10
+ count?: number;
11
+ id: number;
12
+ name: string;
13
+ status: 'critical' | 'warning' | 'ok';
14
+ }
15
+
16
+ export const simpleData: Node<SimpleData> = {
17
+ children: [
18
+ {
19
+ children: [
20
+ { data: { id: 2, name: 'A1', status: 'ok' } },
21
+ { data: { id: 3, name: 'A2', status: 'ok' } },
22
+ { data: { id: 4, name: 'A3', status: 'critical' } },
23
+ {
24
+ children: [
25
+ {
26
+ data: { id: 10, name: 'C1', status: 'warning' }
27
+ },
28
+ {
29
+ children: [
30
+ {
31
+ data: { id: 11, name: 'D1', status: 'ok' }
32
+ },
33
+ {
34
+ data: { id: 12, name: 'D2', status: 'ok' }
35
+ },
36
+ {
37
+ data: { id: 13, name: 'D3', status: 'ok' }
38
+ }
39
+ ],
40
+ data: { id: 14, name: 'D', status: 'ok' }
41
+ },
42
+ {
43
+ children: [
44
+ {
45
+ data: { id: 21, name: 'E1', status: 'critical' }
46
+ }
47
+ ],
48
+ data: { id: 20, name: 'E', status: 'critical' }
49
+ }
50
+ ],
51
+ data: { id: 3, name: 'C', status: 'critical' }
52
+ }
53
+ ],
54
+ data: { id: 6273286320, name: 'A', status: 'critical' }
55
+ },
56
+ { data: { id: 1, name: 'Z', status: 'ok' } },
57
+ {
58
+ children: [{ data: { id: 50, name: 'B1', status: 'warning' } }],
59
+ data: { id: 2, name: 'B', status: 'warning' }
60
+ }
61
+ ],
62
+ data: {
63
+ id: 0,
64
+ name: 'T',
65
+ status: 'critical'
66
+ }
67
+ };
68
+
69
+ export const complexData: Node<ComplexData> = {
70
+ children: [
71
+ {
72
+ children: [
73
+ { data: { id: 2, name: 'Indicator 1', status: 'critical' } },
74
+ {
75
+ children: [
76
+ {
77
+ children: [
78
+ { data: { id: 6, name: 'Indicator 6', status: 'critical' } },
79
+ { data: { id: 7, name: 'Indicator 7', status: 'ok' } }
80
+ ],
81
+ data: { count: 2, id: 0, name: 'critical', status: 'critical' }
82
+ },
83
+ {
84
+ children: [
85
+ {
86
+ children: [
87
+ {
88
+ children: [
89
+ {
90
+ data: {
91
+ id: 8,
92
+ name: 'Indicator 8',
93
+ status: 'warning'
94
+ }
95
+ }
96
+ ],
97
+ data: {
98
+ count: 1,
99
+ id: 4,
100
+ name: 'warning',
101
+ status: 'warning'
102
+ }
103
+ },
104
+ {
105
+ children: [
106
+ {
107
+ data: {
108
+ id: 10,
109
+ name: 'Indicator 10',
110
+ status: 'ok'
111
+ }
112
+ }
113
+ ],
114
+ data: {
115
+ count: 1,
116
+ id: 0,
117
+ name: 'ok',
118
+ status: 'ok'
119
+ }
120
+ }
121
+ ],
122
+ data: {
123
+ id: 6,
124
+ name: 'BA 3',
125
+ status: 'warning'
126
+ }
127
+ }
128
+ ],
129
+ data: {
130
+ count: 1,
131
+ id: 4,
132
+ name: 'warning',
133
+ status: 'warning'
134
+ }
135
+ },
136
+ {
137
+ children: [
138
+ { data: { id: 9, name: 'Indicator 9', status: 'ok' } }
139
+ ],
140
+ data: { count: 1, id: 0, name: 'ok', status: 'ok' }
141
+ }
142
+ ],
143
+ data: { id: 3, name: 'BA 2', status: 'critical' }
144
+ }
145
+ ],
146
+ data: { count: 2, id: 6, name: 'critical', status: 'critical' }
147
+ },
148
+ {
149
+ children: [
150
+ { data: { id: 4, name: 'Indicator 4', status: 'warning' } },
151
+ { data: { id: 5, name: 'Indicator 5', status: 'warning' } }
152
+ ],
153
+ data: { count: 2, id: 4, name: 'warning', status: 'warning' }
154
+ },
155
+ {
156
+ children: [
157
+ { data: { id: 6, name: 'Indicator 2', status: 'ok' } },
158
+ {
159
+ children: [
160
+ {
161
+ children: [
162
+ { data: { id: 6, name: 'Indicator 2', status: 'ok' } }
163
+ ],
164
+ data: {
165
+ count: 1,
166
+ name: 'ok',
167
+ status: 'ok'
168
+ }
169
+ }
170
+ ],
171
+ data: { id: 0, name: 'BA 4', status: 'ok' }
172
+ }
173
+ ],
174
+ data: { count: 2, id: 0, name: 'ok', status: 'ok' }
175
+ }
176
+ ],
177
+ data: {
178
+ id: 1,
179
+ name: 'BA 1',
180
+ status: 'critical'
181
+ }
182
+ };
183
+
184
+ export const moreComplexData: Node<ComplexData> = {
185
+ children: [
186
+ {
187
+ children: [
188
+ { data: { id: 2, name: 'Indicator 1', status: 'critical' } },
189
+ {
190
+ children: [
191
+ {
192
+ children: [
193
+ { data: { id: 6, name: 'Indicator 6', status: 'critical' } },
194
+ { data: { id: 7, name: 'Indicator 7', status: 'ok' } }
195
+ ],
196
+ data: { count: 2, id: 0, name: 'critical', status: 'critical' }
197
+ },
198
+ {
199
+ children: [
200
+ {
201
+ children: [
202
+ {
203
+ children: [
204
+ {
205
+ data: {
206
+ id: 8,
207
+ name: 'Indicator 8',
208
+ status: 'warning'
209
+ }
210
+ }
211
+ ],
212
+ data: {
213
+ count: 1,
214
+ id: 4,
215
+ name: 'warning',
216
+ status: 'warning'
217
+ }
218
+ },
219
+ {
220
+ children: [
221
+ {
222
+ data: {
223
+ id: 10,
224
+ name: 'Indicator 10',
225
+ status: 'ok'
226
+ }
227
+ }
228
+ ],
229
+ data: {
230
+ count: 1,
231
+ id: 0,
232
+ name: 'ok',
233
+ status: 'ok'
234
+ }
235
+ }
236
+ ],
237
+ data: {
238
+ id: 6,
239
+ name: 'BA 3',
240
+ status: 'warning'
241
+ }
242
+ }
243
+ ],
244
+ data: {
245
+ count: 1,
246
+ id: 4,
247
+ name: 'warning',
248
+ status: 'warning'
249
+ }
250
+ },
251
+ {
252
+ children: [
253
+ { data: { id: 9, name: 'Indicator 9', status: 'ok' } }
254
+ ],
255
+ data: { count: 1, id: 0, name: 'ok', status: 'ok' }
256
+ }
257
+ ],
258
+ data: { id: 3, name: 'BA 2', status: 'critical' }
259
+ }
260
+ ],
261
+ data: { count: 2, id: 6, name: 'critical', status: 'critical' }
262
+ },
263
+ {
264
+ children: [
265
+ { data: { id: 4, name: 'Indicator 4', status: 'warning' } },
266
+ { data: { id: 5, name: 'Indicator 5', status: 'warning' } }
267
+ ],
268
+ data: { count: 2, id: 4, name: 'warning', status: 'warning' }
269
+ },
270
+ {
271
+ children: [
272
+ {
273
+ children: [
274
+ {
275
+ children: [
276
+ { data: { id: 11, name: 'Indicator 11', status: 'ok' } }
277
+ ],
278
+ data: {
279
+ count: 1,
280
+ name: 'ok',
281
+ status: 'ok'
282
+ }
283
+ }
284
+ ],
285
+ data: { id: 0, name: 'BA 3', status: 'ok' }
286
+ },
287
+ { data: { id: 30, name: 'Indicator 30', status: 'ok' } },
288
+ { data: { id: 31, name: 'Indicator 31', status: 'ok' } },
289
+ { data: { id: 32, name: 'Indicator 32', status: 'ok' } },
290
+ { data: { id: 33, name: 'Indicator 33', status: 'ok' } },
291
+ { data: { id: 34, name: 'Indicator 34', status: 'ok' } },
292
+ { data: { id: 35, name: 'Indicator 35', status: 'ok' } },
293
+ { data: { id: 36, name: 'Indicator 36', status: 'ok' } },
294
+ { data: { id: 37, name: 'Indicator 37', status: 'ok' } },
295
+ { data: { id: 38, name: 'Indicator 38', status: 'ok' } }
296
+ ],
297
+ data: { count: 9, id: 0, name: 'ok', status: 'ok' }
298
+ }
299
+ ],
300
+ data: {
301
+ id: 1,
302
+ name: 'BA 1',
303
+ status: 'critical'
304
+ }
305
+ };
@@ -0,0 +1,49 @@
1
+ import { equals, omit } from 'ramda';
2
+
3
+ import { BaseProp, Node } from './models';
4
+
5
+ interface UpdateNodeFromTreeProps<TData> {
6
+ callback: (tree: Node<TData>) => Partial<Node<TData>>;
7
+ targetNode: Node<TData>;
8
+ tree: Node<TData>;
9
+ }
10
+
11
+ export const updateNodeFromTree = <TData extends BaseProp>({
12
+ tree,
13
+ targetNode,
14
+ callback
15
+ }: UpdateNodeFromTreeProps<TData>): Node<TData> => {
16
+ if (!tree.children) {
17
+ return tree;
18
+ }
19
+
20
+ if (
21
+ equals(tree.data, targetNode.data) &&
22
+ equals(tree.children, targetNode.children)
23
+ ) {
24
+ return {
25
+ ...tree,
26
+ ...callback(tree)
27
+ };
28
+ }
29
+
30
+ return {
31
+ ...tree,
32
+ children: tree.children?.map((child) =>
33
+ updateNodeFromTree({ callback, targetNode, tree: child })
34
+ )
35
+ };
36
+ };
37
+
38
+ export const cleanUpTree = <TData extends BaseProp>(
39
+ tree: Node<TData>
40
+ ): Node<TData> => {
41
+ if (!tree.children) {
42
+ return tree;
43
+ }
44
+
45
+ return {
46
+ ...omit(['isExpanded'], tree),
47
+ children: tree.children?.map((child) => cleanUpTree(child))
48
+ };
49
+ };
@@ -0,0 +1,71 @@
1
+ export const successThresholds = {
2
+ critical: [
3
+ {
4
+ label: 'Critical',
5
+ value: 1.5
6
+ }
7
+ ],
8
+ enabled: true,
9
+ warning: [
10
+ {
11
+ label: 'Warning',
12
+ value: 0.5
13
+ }
14
+ ]
15
+ };
16
+
17
+ export const warningThresholds = {
18
+ critical: [
19
+ {
20
+ label: 'Critical',
21
+ value: 1.5
22
+ }
23
+ ],
24
+ enabled: true,
25
+ warning: [
26
+ {
27
+ label: 'Warning',
28
+ value: 0.4
29
+ }
30
+ ]
31
+ };
32
+
33
+ export const criticalThresholds = {
34
+ critical: [
35
+ {
36
+ label: 'Critical',
37
+ value: 0.3
38
+ }
39
+ ],
40
+ enabled: true,
41
+ warning: [
42
+ {
43
+ label: 'Warning',
44
+ value: 0.2
45
+ }
46
+ ]
47
+ };
48
+
49
+ export const rangedThresholds = {
50
+ critical: [
51
+ {
52
+ label: 'Critical',
53
+ value: 0.55
54
+ },
55
+ {
56
+ label: 'Critical',
57
+ value: 0.65
58
+ }
59
+ ],
60
+ enabled: true,
61
+ warning: [
62
+ {
63
+ label: 'Warning',
64
+ value: 0.13
65
+ },
66
+ {
67
+ label: 'Warning',
68
+ value: 0.5
69
+ }
70
+ ]
71
+ };