@centreon/ui 23.10.42 → 23.10.44

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 (437) hide show
  1. package/.storybook/main.js +82 -0
  2. package/.storybook/preview.tsx +21 -0
  3. package/README.md +14 -44
  4. package/jest.config.js +20 -0
  5. package/package.json +26 -86
  6. package/{test/setupTests.js → setupTests.js} +1 -1
  7. package/src/Button/Icon/index.tsx +1 -1
  8. package/src/Button/Save/index.stories.tsx +5 -10
  9. package/src/Button/Save/index.tsx +1 -1
  10. package/src/Dialog/Confirm/index.tsx +4 -14
  11. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  12. package/src/Dialog/index.tsx +2 -14
  13. package/src/FallbackPage/FallbackPage.tsx +2 -2
  14. package/src/FileDropZone/index.tsx +1 -1
  15. package/src/Form/CollapsibleGroup.tsx +5 -15
  16. package/src/Form/FormButtons.tsx +4 -2
  17. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  18. package/src/Form/Inputs/Grid.tsx +2 -4
  19. package/src/Form/Inputs/Radio.tsx +1 -1
  20. package/src/Form/Inputs/Switch.tsx +1 -1
  21. package/src/Form/Inputs/Text.tsx +7 -18
  22. package/src/Form/Inputs/index.tsx +12 -30
  23. package/src/Form/Inputs/models.ts +2 -17
  24. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  25. package/src/Form/{Form.tsx → index.tsx} +16 -38
  26. package/src/Form/storiesData.tsx +3 -50
  27. package/src/Home.stories.mdx +84 -1
  28. package/src/Image/index.stories.tsx +2 -2
  29. package/src/Image/index.test.tsx +3 -3
  30. package/src/InputField/Search/PersistentTooltip.tsx +2 -7
  31. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -3
  32. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  33. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +1 -1
  34. package/src/InputField/Select/Autocomplete/Connected/index.tsx +3 -16
  35. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  36. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  37. package/src/InputField/Select/Autocomplete/index.tsx +1 -1
  38. package/src/InputField/Select/index.tsx +1 -1
  39. package/src/InputField/Text/index.tsx +2 -4
  40. package/src/Listing/ActionBar/index.tsx +1 -1
  41. package/src/Listing/Cell/DataCell.tsx +63 -38
  42. package/src/Listing/Cell/index.tsx +3 -83
  43. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  44. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +81 -16
  45. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  46. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +102 -25
  47. package/src/Listing/{Row/Row.tsx → Row.tsx} +8 -9
  48. package/src/Listing/Skeleton.tsx +11 -0
  49. package/src/Listing/index.stories.tsx +34 -137
  50. package/src/Listing/index.test.tsx +1 -1
  51. package/src/Listing/index.tsx +157 -120
  52. package/src/Listing/models.ts +0 -1
  53. package/src/Listing/tableAtoms.ts +0 -2
  54. package/src/Listing/useStyleTable.ts +1 -1
  55. package/src/ListingPage/index.tsx +1 -1
  56. package/src/Logo/CentreonLogo.tsx +2 -2
  57. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  58. package/src/Panel/Memoized.tsx +1 -1
  59. package/src/Panel/Section/index.test.tsx +1 -1
  60. package/src/Panel/Section/index.tsx +1 -1
  61. package/src/Panel/index.tsx +5 -7
  62. package/src/RichTextEditor/ContentEditable.tsx +7 -27
  63. package/src/RichTextEditor/RichTextEditor.tsx +45 -86
  64. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +0 -1
  65. package/src/Snackbar/index.tsx +4 -14
  66. package/src/Snackbar/useSnackbar.tsx +1 -5
  67. package/src/SortableItems/SortableItem.tsx +1 -1
  68. package/src/ThemeProvider/index.tsx +29 -35
  69. package/src/ThemeProvider/palettes.ts +201 -419
  70. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  71. package/src/WallpaperPage/index.stories.tsx +1 -1
  72. package/src/Wizard/ActionsBar.test.tsx +1 -1
  73. package/src/Wizard/index.stories.tsx +18 -5
  74. package/src/Wizard/index.test.tsx +1 -1
  75. package/src/Wizard/index.tsx +3 -13
  76. package/src/Wizard/models.ts +0 -1
  77. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  78. package/src/api/TestQueryProvider.tsx +1 -2
  79. package/src/api/customFetch.ts +0 -10
  80. package/src/api/useFetchQuery/index.ts +7 -8
  81. package/src/api/useMutationQuery/index.ts +17 -32
  82. package/src/api/useRequest/index.ts +6 -9
  83. package/src/index.ts +19 -7
  84. package/src/storyshots.test.js +52 -0
  85. package/{test → src}/testRenderer.tsx +1 -1
  86. package/src/utils/getNormalizedId.ts +3 -1
  87. package/src/utils/useCopyToClipboard.ts +3 -2
  88. package/src/utils/useDebounce.ts +3 -1
  89. package/src/utils/useDeepCallback.ts +3 -1
  90. package/src/utils/useDeepMemo.ts +3 -1
  91. package/src/utils/useIntersectionObserver.ts +5 -5
  92. package/src/utils/useKeyObserver.tsx +3 -1
  93. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  94. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  95. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  96. package/src/utils/useMemoComponent.ts +1 -1
  97. package/testRunner.js +36 -0
  98. package/tsconfig.json +29 -0
  99. package/types/declarations.d.ts +9 -0
  100. package/public/README.md +0 -39
  101. package/public/mockServiceWorker.js +0 -303
  102. package/src/@assets/README.md +0 -5
  103. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  104. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  105. package/src/@assets/icons/downtime.icon.svg +0 -1
  106. package/src/@types/aria-attributes.d.ts +0 -10
  107. package/src/@types/data-attributes.d.ts +0 -3
  108. package/src/@types/globals.d.ts +0 -9
  109. package/src/@types/vite-env.d.ts +0 -2
  110. package/src/Checkbox/Checkbox.tsx +0 -107
  111. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  112. package/src/Checkbox/CheckboxGroup/index.tsx +0 -66
  113. package/src/Checkbox/index.stories.tsx +0 -39
  114. package/src/Checkbox/index.tsx +0 -2
  115. package/src/Dashboard/Dashboard.styles.ts +0 -85
  116. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  117. package/src/Dashboard/Grid.tsx +0 -70
  118. package/src/Dashboard/Item.tsx +0 -81
  119. package/src/Dashboard/Layout.tsx +0 -74
  120. package/src/Dashboard/index.tsx +0 -9
  121. package/src/Dashboard/utils.ts +0 -28
  122. package/src/Form/Form.styles.ts +0 -11
  123. package/src/Form/Inputs/Checkbox.tsx +0 -57
  124. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  125. package/src/Form/index.ts +0 -1
  126. package/src/Graph/BasicComponents/Axes/UnitLabel.tsx +0 -20
  127. package/src/Graph/BasicComponents/Axes/index.tsx +0 -88
  128. package/src/Graph/BasicComponents/Axes/models.ts +0 -26
  129. package/src/Graph/BasicComponents/Axes/useAxisY.ts +0 -100
  130. package/src/Graph/BasicComponents/Grids/index.tsx +0 -20
  131. package/src/Graph/BasicComponents/Lines/RegularLines/index.tsx +0 -91
  132. package/src/Graph/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  133. package/src/Graph/BasicComponents/Lines/StackedLines/index.tsx +0 -76
  134. package/src/Graph/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  135. package/src/Graph/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -51
  136. package/src/Graph/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  137. package/src/Graph/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -73
  138. package/src/Graph/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -59
  139. package/src/Graph/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  140. package/src/Graph/BasicComponents/Lines/Threshold/index.tsx +0 -138
  141. package/src/Graph/BasicComponents/Lines/Threshold/models.ts +0 -105
  142. package/src/Graph/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  143. package/src/Graph/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  144. package/src/Graph/BasicComponents/Lines/index.tsx +0 -180
  145. package/src/Graph/BasicComponents/Lines/models.ts +0 -42
  146. package/src/Graph/BasicComponents/LoadingProgress.tsx +0 -46
  147. package/src/Graph/BasicComponents/useFilterLines.ts +0 -60
  148. package/src/Graph/Graph.styles.ts +0 -45
  149. package/src/Graph/Graph.tsx +0 -217
  150. package/src/Graph/Header/index.tsx +0 -65
  151. package/src/Graph/Icons/Downtime.tsx +0 -9
  152. package/src/Graph/InteractiveComponents/AnchorPoint/AnchorPoint.styles.ts +0 -58
  153. package/src/Graph/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  154. package/src/Graph/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  155. package/src/Graph/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  156. package/src/Graph/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -70
  157. package/src/Graph/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  158. package/src/Graph/InteractiveComponents/AnchorPoint/models.ts +0 -62
  159. package/src/Graph/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  160. package/src/Graph/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  161. package/src/Graph/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  162. package/src/Graph/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  163. package/src/Graph/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  164. package/src/Graph/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  165. package/src/Graph/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  166. package/src/Graph/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  167. package/src/Graph/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  168. package/src/Graph/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  169. package/src/Graph/InteractiveComponents/Annotations/index.tsx +0 -49
  170. package/src/Graph/InteractiveComponents/Annotations/models.ts +0 -25
  171. package/src/Graph/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  172. package/src/Graph/InteractiveComponents/Bar.tsx +0 -21
  173. package/src/Graph/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  174. package/src/Graph/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  175. package/src/Graph/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  176. package/src/Graph/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  177. package/src/Graph/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  178. package/src/Graph/InteractiveComponents/Tooltip/index.tsx +0 -59
  179. package/src/Graph/InteractiveComponents/Tooltip/models.ts +0 -9
  180. package/src/Graph/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  181. package/src/Graph/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  182. package/src/Graph/InteractiveComponents/ZoomPreview/models.ts +0 -9
  183. package/src/Graph/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  184. package/src/Graph/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  185. package/src/Graph/InteractiveComponents/index.tsx +0 -168
  186. package/src/Graph/InteractiveComponents/interactionWithGraphAtoms.ts +0 -51
  187. package/src/Graph/Legend/InteractiveValue.tsx +0 -22
  188. package/src/Graph/Legend/Legend.styles.ts +0 -71
  189. package/src/Graph/Legend/LegendContent.tsx +0 -27
  190. package/src/Graph/Legend/LegendHeader.tsx +0 -45
  191. package/src/Graph/Legend/Marker.tsx +0 -43
  192. package/src/Graph/Legend/index.tsx +0 -166
  193. package/src/Graph/Legend/models.ts +0 -11
  194. package/src/Graph/Legend/useInteractiveValues.ts +0 -86
  195. package/src/Graph/Legend/useLegend.ts +0 -114
  196. package/src/Graph/LoadingSkeleton.tsx +0 -44
  197. package/src/Graph/common/index.ts +0 -35
  198. package/src/Graph/graphAtoms.ts +0 -6
  199. package/src/Graph/helpers/doc.ts +0 -560
  200. package/src/Graph/helpers/index.ts +0 -58
  201. package/src/Graph/index.stories.tsx +0 -372
  202. package/src/Graph/index.tsx +0 -90
  203. package/src/Graph/mockedData/annotationData.json +0 -326
  204. package/src/Graph/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  205. package/src/Graph/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  206. package/src/Graph/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  207. package/src/Graph/mockedData/lastDay.json +0 -1326
  208. package/src/Graph/mockedData/lastDayAreaStack.json +0 -3106
  209. package/src/Graph/mockedData/lastDayForward.json +0 -1338
  210. package/src/Graph/mockedData/lastDayThreshold.json +0 -2352
  211. package/src/Graph/mockedData/lastMonth.json +0 -1674
  212. package/src/Graph/mockedData/lastWeek.json +0 -2202
  213. package/src/Graph/mockedData/zoomPreview.json +0 -742
  214. package/src/Graph/models.ts +0 -150
  215. package/src/Graph/timeSeries/index.test.ts +0 -506
  216. package/src/Graph/timeSeries/index.ts +0 -512
  217. package/src/Graph/timeSeries/models.ts +0 -120
  218. package/src/Graph/translatedLabels.ts +0 -9
  219. package/src/Graph/useGraphData.ts +0 -47
  220. package/src/Graph/useGraphIntersection.ts +0 -36
  221. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -161
  222. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  223. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  224. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  225. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  226. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  227. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  228. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  229. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  230. package/src/Listing/Header/index.ts +0 -1
  231. package/src/Listing/Listing.cypress.spec.tsx +0 -120
  232. package/src/Listing/Listing.styles.ts +0 -76
  233. package/src/Listing/ListingDocs.mdx +0 -61
  234. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  235. package/src/Listing/Row/EmptyRow.tsx +0 -30
  236. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  237. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -204
  238. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  239. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  240. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  241. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -163
  242. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  243. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  244. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  245. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  246. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  247. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  248. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  249. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  250. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  251. package/src/TimePeriods/helpers/index.ts +0 -26
  252. package/src/TimePeriods/index.stories.tsx +0 -98
  253. package/src/TimePeriods/index.tsx +0 -78
  254. package/src/TimePeriods/mockedData.ts +0 -12
  255. package/src/TimePeriods/models.ts +0 -97
  256. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  257. package/src/TimePeriods/translatedLabels.ts +0 -9
  258. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  259. package/src/TimePeriods/useTimePeriod.ts +0 -49
  260. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  261. package/src/Typography/FluidTypography/index.tsx +0 -51
  262. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  263. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  264. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  265. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  266. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  267. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  268. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  269. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  270. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  271. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  272. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  273. package/src/base/tokens/README.md +0 -3
  274. package/src/base/tokens/source/$metadata.json +0 -5
  275. package/src/base/tokens/source/base.json +0 -142
  276. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  277. package/src/base/tokens/themes/base.tokens.json +0 -695
  278. package/src/base/tokens/themes/base.tokens.ts +0 -38
  279. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  280. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  281. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  282. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  283. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  284. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  285. package/src/components/Button/Button.stories.tsx +0 -34
  286. package/src/components/Button/Button.styles.ts +0 -44
  287. package/src/components/Button/Button.tsx +0 -78
  288. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  289. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  290. package/src/components/Button/Icon/IconButton.tsx +0 -58
  291. package/src/components/Button/Icon/index.tsx +0 -1
  292. package/src/components/Button/index.ts +0 -2
  293. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  294. package/src/components/DataTable/DataTable.styles.ts +0 -27
  295. package/src/components/DataTable/DataTable.tsx +0 -35
  296. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  297. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  298. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  299. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  300. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -39
  301. package/src/components/DataTable/Item/DataTableItem.tsx +0 -102
  302. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  303. package/src/components/DataTable/index.ts +0 -10
  304. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  305. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  306. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  307. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  308. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  309. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  310. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  311. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  312. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  313. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  314. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  315. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  316. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  317. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  318. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  319. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  320. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  321. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  322. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  323. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  324. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  325. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  326. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  327. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  328. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  329. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  330. package/src/components/Form/AccessRights/index.ts +0 -3
  331. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  332. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  333. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  334. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -4
  335. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  336. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -13
  337. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -101
  338. package/src/components/Form/Dashboard/index.ts +0 -2
  339. package/src/components/Form/Dashboard/translatedLabels.ts +0 -6
  340. package/src/components/Form/Form.models.ts +0 -1
  341. package/src/components/Form/Form.resource.ts +0 -1
  342. package/src/components/Form/Form.styles.ts +0 -17
  343. package/src/components/Form/FormActions.tsx +0 -57
  344. package/src/components/Form/index.ts +0 -3
  345. package/src/components/Header/Header.styles.ts +0 -0
  346. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  347. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  348. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  349. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  350. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  351. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  352. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  353. package/src/components/Header/PageHeader/index.ts +0 -12
  354. package/src/components/Header/index.ts +0 -1
  355. package/src/components/Icon/Icon.styles.ts +0 -0
  356. package/src/components/Icon/Icon.tsx +0 -2
  357. package/src/components/Icon/index.ts +0 -0
  358. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  359. package/src/components/Layout/AreaIndicator.tsx +0 -35
  360. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  361. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -40
  362. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  363. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -15
  364. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  365. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  366. package/src/components/Layout/PageLayout/index.ts +0 -10
  367. package/src/components/Layout/index.ts +0 -1
  368. package/src/components/List/Item/Avatar.tsx +0 -21
  369. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  370. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  371. package/src/components/List/Item/ListItem.styles.ts +0 -57
  372. package/src/components/List/Item/ListItem.tsx +0 -32
  373. package/src/components/List/Item/Text.tsx +0 -25
  374. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  375. package/src/components/List/Item/index.ts +0 -14
  376. package/src/components/List/List.stories.tsx +0 -70
  377. package/src/components/List/List.styles.ts +0 -8
  378. package/src/components/List/List.tsx +0 -19
  379. package/src/components/List/index.ts +0 -6
  380. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  381. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  382. package/src/components/Menu/Button/MenuButton.tsx +0 -62
  383. package/src/components/Menu/Button/index.ts +0 -1
  384. package/src/components/Menu/Menu.stories.tsx +0 -71
  385. package/src/components/Menu/Menu.styles.ts +0 -70
  386. package/src/components/Menu/Menu.tsx +0 -25
  387. package/src/components/Menu/MenuDivider.tsx +0 -13
  388. package/src/components/Menu/MenuItem.tsx +0 -36
  389. package/src/components/Menu/MenuItems.tsx +0 -35
  390. package/src/components/Menu/index.ts +0 -12
  391. package/src/components/Menu/useMenu.tsx +0 -79
  392. package/src/components/Modal/Modal.stories.tsx +0 -111
  393. package/src/components/Modal/Modal.styles.ts +0 -55
  394. package/src/components/Modal/Modal.tsx +0 -59
  395. package/src/components/Modal/ModalActions.tsx +0 -62
  396. package/src/components/Modal/ModalBody.tsx +0 -15
  397. package/src/components/Modal/ModalHeader.tsx +0 -21
  398. package/src/components/Modal/index.ts +0 -12
  399. package/src/components/README.md +0 -3
  400. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  401. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  402. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  403. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  404. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  405. package/src/components/Tooltip/Tooltip.styles.ts +0 -5
  406. package/src/components/Tooltip/Tooltip.tsx +0 -46
  407. package/src/components/Tooltip/index.ts +0 -1
  408. package/src/components/index.ts +0 -9
  409. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  410. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  411. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  412. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  413. package/src/utils/docsURL.ts +0 -31
  414. package/src/utils/index.ts +0 -19
  415. package/src/utils/panelSize.ts +0 -15
  416. package/src/utils/sanitizedHTML.ts +0 -18
  417. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  418. package/src/utils/useInfiniteScrollListing.ts +0 -106
  419. package/src/utils/useResizeObserver.ts +0 -6
  420. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  421. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  422. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  423. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  424. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  425. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  426. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  427. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  428. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  429. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  430. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  431. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  432. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  433. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  434. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  435. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  436. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  437. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -18,46 +18,50 @@ import {
18
18
  map,
19
19
  not,
20
20
  pick,
21
- pluck,
22
21
  prop,
23
22
  propEq,
24
- reduce,
25
23
  reject,
26
24
  slice,
27
25
  subtract,
28
26
  uniqBy
29
27
  } from 'ramda';
30
28
  import { useTranslation } from 'react-i18next';
31
- import { useAtomValue } from 'jotai';
29
+ import { makeStyles } from 'tss-react/mui';
32
30
 
33
- import { Box, LinearProgress, Table, TableBody } from '@mui/material';
31
+ import {
32
+ Box,
33
+ LinearProgress,
34
+ Table,
35
+ TableBody,
36
+ TableRow,
37
+ useTheme
38
+ } from '@mui/material';
34
39
 
35
40
  import { ListingVariant } from '@centreon/ui-context';
36
41
 
37
- import { useKeyObserver, useMemoComponent } from '../utils';
42
+ import useKeyObserver from '../utils/useKeyObserver';
43
+ import useMemoComponent from '../utils/useMemoComponent';
38
44
 
39
45
  import ListingActionBar from './ActionBar';
40
46
  import Cell from './Cell';
41
47
  import DataCell from './Cell/DataCell';
42
48
  import Checkbox from './Checkbox';
43
49
  import getCumulativeOffset from './getCumulativeOffset';
50
+ import ListingHeader, { headerHeight } from './Header/index';
44
51
  import {
45
52
  Column,
46
53
  ColumnConfiguration,
47
54
  PredefinedRowSelection,
48
55
  RowColorCondition,
49
56
  RowId,
50
- SortOrder
57
+ SortOrder,
58
+ TableStyleAtom as TableStyle
51
59
  } from './models';
52
- import ListingRow from './Row/Row';
60
+ import ListingRow from './Row';
61
+ import ListingLoadingSkeleton from './Skeleton';
53
62
  import { labelNoResultFound } from './translatedLabels';
54
63
  import useResizeObserver from './useResizeObserver';
55
64
  import useStyleTable from './useStyleTable';
56
- import { loadingIndicatorHeight, useListingStyles } from './Listing.styles';
57
- import { EmptyResult } from './EmptyResult/EmptyResult';
58
- import { SkeletonLoader } from './Row/SkeletonLoaderRows';
59
- import { ListingHeader } from './Header';
60
- import { subItemsPivotsAtom } from './tableAtoms';
61
65
 
62
66
  const getVisibleColumns = ({
63
67
  columnConfiguration,
@@ -74,6 +78,88 @@ const getVisibleColumns = ({
74
78
  ) as Array<Column>;
75
79
  };
76
80
 
81
+ const loadingIndicatorHeight = 3;
82
+
83
+ interface StylesProps {
84
+ checkable: boolean;
85
+ currentVisibleColumns: Array<Column>;
86
+ dataStyle: TableStyle;
87
+ getGridTemplateColumn: string;
88
+ rows: Array<unknown>;
89
+ viewMode: ListingVariant;
90
+ }
91
+
92
+ const useStyles = makeStyles<StylesProps>()(
93
+ (
94
+ theme,
95
+ { dataStyle, getGridTemplateColumn, rows, checkable, currentVisibleColumns }
96
+ ) => ({
97
+ actionBar: {
98
+ alignItems: 'center',
99
+ display: 'flex'
100
+ },
101
+ checkbox: {
102
+ justifyContent: 'start'
103
+ },
104
+ container: {
105
+ background: 'none',
106
+ display: 'flex',
107
+ flexDirection: 'column',
108
+ height: '100%',
109
+ width: '100%'
110
+ },
111
+ emptyDataCell: {
112
+ flexDirection: 'column',
113
+ gridColumn: `auto / span ${
114
+ checkable
115
+ ? currentVisibleColumns.length + 1
116
+ : currentVisibleColumns.length
117
+ }`,
118
+ justifyContent: 'center'
119
+ },
120
+ emptyDataRow: {
121
+ display: 'contents'
122
+ },
123
+ loadingIndicator: {
124
+ height: loadingIndicatorHeight,
125
+ width: '100%'
126
+ },
127
+ table: {
128
+ '.listingHeader > div > div:first-of-type': {
129
+ paddingLeft: theme.spacing(1.5)
130
+ },
131
+ '.listingHeader div div': {
132
+ backgroundColor: theme.palette.background.listingHeader,
133
+ boxShadow: `-1px 0px 0px 0px ${theme.palette.background.listingHeader}`,
134
+ height: dataStyle.header.height,
135
+ padding: 0
136
+ },
137
+ alignItems: 'center',
138
+ display: 'grid',
139
+ gridTemplateColumns: getGridTemplateColumn,
140
+ gridTemplateRows: `${theme.spacing(dataStyle.header.height / 8)} repeat(${
141
+ rows?.length
142
+ }, ${dataStyle.body.height}px)`,
143
+ position: 'relative'
144
+ },
145
+ tableBody: {
146
+ '.MuiTableRow-root > div:first-of-type': {
147
+ paddingLeft: theme.spacing(1.5)
148
+ },
149
+
150
+ display: 'contents',
151
+ 'div:first-of-type': {
152
+ gridColumnStart: 1
153
+ },
154
+ position: 'relative'
155
+ },
156
+ tableWrapper: {
157
+ borderBottom: 'none',
158
+ overflow: 'auto'
159
+ }
160
+ })
161
+ );
162
+
77
163
  interface CustomStyle {
78
164
  customStyleViewerModeContainer?: string;
79
165
  customStyleViewerModeIcon?: string;
@@ -110,7 +196,7 @@ export interface Props<TRow> {
110
196
  onRowClick?: (row: TRow) => void;
111
197
  onSelectColumns?: (selectedColumnIds: Array<string>) => void;
112
198
  onSelectRows?: (rows: Array<TRow>) => void;
113
- onSort?: (sortParams: { sortField: string; sortOrder: SortOrder }) => void;
199
+ onSort?: (sortParams) => void;
114
200
  paginated?: boolean;
115
201
  predefinedRowsSelection?: Array<PredefinedRowSelection>;
116
202
  rowColorConditions?: Array<RowColorCondition>;
@@ -118,13 +204,6 @@ export interface Props<TRow> {
118
204
  selectedRows?: Array<TRow>;
119
205
  sortField?: string;
120
206
  sortOrder?: SortOrder;
121
- subItems?: {
122
- canCheckSubItems: boolean;
123
- enable: boolean;
124
- labelCollapse: string;
125
- labelExpand: string;
126
- rowProperty: string;
127
- };
128
207
  totalRows?: number;
129
208
  viewMode?: ListingVariant;
130
209
  viewerModeConfiguration?: ViewerModeConfiguration;
@@ -171,14 +250,7 @@ const Listing = <TRow extends { id: RowId }>({
171
250
  viewMode = ListingVariant.compact,
172
251
  widthToMoveTablePagination,
173
252
  getHighlightRowCondition,
174
- viewerModeConfiguration,
175
- subItems = {
176
- canCheckSubItems: false,
177
- enable: false,
178
- labelCollapse: 'Collapse',
179
- labelExpand: 'Expand',
180
- rowProperty: ''
181
- }
253
+ viewerModeConfiguration
182
254
  }: Props<TRow>): JSX.Element => {
183
255
  const currentVisibleColumns = getVisibleColumns({
184
256
  columnConfiguration,
@@ -190,6 +262,14 @@ const Listing = <TRow extends { id: RowId }>({
190
262
  viewMode
191
263
  });
192
264
 
265
+ const { classes } = useStyles({
266
+ checkable,
267
+ currentVisibleColumns,
268
+ dataStyle,
269
+ getGridTemplateColumn,
270
+ rows,
271
+ viewMode
272
+ });
193
273
  const { t } = useTranslation();
194
274
 
195
275
  const [tableTopOffset, setTableTopOffset] = React.useState(0);
@@ -203,36 +283,7 @@ const Listing = <TRow extends { id: RowId }>({
203
283
  const containerRef = React.useRef<HTMLDivElement>();
204
284
  const actionBarRef = React.useRef<HTMLDivElement>();
205
285
 
206
- const subItemsPivots = useAtomValue(subItemsPivotsAtom);
207
-
208
- const rowsToDisplay = React.useMemo(
209
- () =>
210
- subItems?.enable
211
- ? reduce<TRow, Array<TRow>>(
212
- (acc, row): Array<TRow> => {
213
- if (
214
- row[subItems.rowProperty] &&
215
- subItemsPivots.includes(row.id)
216
- ) {
217
- return [...acc, row, ...row[subItems.rowProperty]];
218
- }
219
-
220
- return [...acc, row];
221
- },
222
- [],
223
- rows
224
- )
225
- : rows,
226
- [rows, subItemsPivots, subItems]
227
- );
228
-
229
- const { classes, theme } = useListingStyles({
230
- dataStyle,
231
- getGridTemplateColumn,
232
- limit,
233
- rows: rowsToDisplay,
234
- viewMode
235
- });
286
+ const theme = useTheme();
236
287
 
237
288
  useResizeObserver({
238
289
  onResize: () => {
@@ -439,9 +490,9 @@ const Listing = <TRow extends { id: RowId }>({
439
490
 
440
491
  return `calc(100vh - ${tableTopOffset}px - ${
441
492
  actionBarRef.current?.offsetHeight
442
- }px - ${
443
- dataStyle.header.height
444
- }px - ${loadingIndicatorHeight}px - ${theme.spacing(1)})`;
493
+ }px - ${headerHeight}px - ${loadingIndicatorHeight}px - ${theme.spacing(
494
+ 1
495
+ )})`;
445
496
  };
446
497
 
447
498
  const changeLimit = (updatedLimit: string): void => {
@@ -464,19 +515,6 @@ const Listing = <TRow extends { id: RowId }>({
464
515
 
465
516
  const areColumnsEditable = not(isNil(onSelectColumns));
466
517
 
467
- const allSubItemIds = React.useMemo(
468
- () =>
469
- reduce<TRow | number, Array<string | number>>(
470
- (acc, row) => [
471
- ...acc,
472
- ...pluck('id', row[subItems?.rowProperty || ''] || [])
473
- ],
474
- [],
475
- rows
476
- ),
477
- [rows, subItems]
478
- );
479
-
480
518
  return (
481
519
  <>
482
520
  {loading && rows.length > 0 && (
@@ -550,16 +588,14 @@ const Listing = <TRow extends { id: RowId }>({
550
588
  component="div"
551
589
  onMouseLeave={clearHoveredRow}
552
590
  >
553
- {rowsToDisplay.map((row, index) => {
591
+ {rows.map((row, index) => {
554
592
  const isRowSelected = isSelected(row);
593
+
555
594
  const isRowHovered = equals(hoveredRowId, getId(row));
556
- const isSubItem = allSubItemIds.includes(row.id);
557
595
 
558
596
  return (
559
597
  <ListingRow
560
- checkable={
561
- checkable && (!isSubItem || subItems.canCheckSubItems)
562
- }
598
+ checkable={checkable}
563
599
  columnConfiguration={columnConfiguration}
564
600
  columnIds={columns.map(prop('id'))}
565
601
  disableRowCondition={disableRowCondition}
@@ -576,7 +612,6 @@ const Listing = <TRow extends { id: RowId }>({
576
612
  row={row}
577
613
  rowColorConditions={rowColorConditions}
578
614
  shiftKeyDownRowPivot={shiftKeyDownRowPivot}
579
- subItemsPivots={subItemsPivots}
580
615
  tabIndex={-1}
581
616
  viewMode={viewMode}
582
617
  visibleColumns={visibleColumns}
@@ -586,64 +621,66 @@ const Listing = <TRow extends { id: RowId }>({
586
621
  onFocus={(): void => hoverRow(row)}
587
622
  onMouseOver={(): void => hoverRow(row)}
588
623
  >
589
- {checkable &&
590
- (!isSubItem || subItems.canCheckSubItems ? (
591
- <Cell
592
- align="left"
593
- className={classes.checkbox}
594
- disableRowCondition={disableRowCondition}
595
- isRowHovered={isRowHovered}
596
- row={row}
597
- rowColorConditions={rowColorConditions}
598
- onClick={(event): void => selectRow(event, row)}
599
- >
600
- <Checkbox
601
- checked={isRowSelected}
602
- disabled={
603
- disableRowCheckCondition(row) ||
604
- disableRowCondition(row)
605
- }
606
- inputProps={{
607
- 'aria-label': `Select row ${getId(row)}`
608
- }}
609
- />
610
- </Cell>
611
- ) : (
612
- <Cell
613
- align="left"
614
- disableRowCondition={disableRowCondition}
615
- isRowHovered={isRowHovered}
616
- row={row}
617
- rowColorConditions={rowColorConditions}
624
+ {checkable && (
625
+ <Cell
626
+ align="left"
627
+ className={classes.checkbox}
628
+ disableRowCondition={disableRowCondition}
629
+ isRowHovered={isRowHovered}
630
+ row={row}
631
+ rowColorConditions={rowColorConditions}
632
+ onClick={(event): void => selectRow(event, row)}
633
+ >
634
+ <Checkbox
635
+ checked={isRowSelected}
636
+ disabled={
637
+ disableRowCheckCondition(row) ||
638
+ disableRowCondition(row)
639
+ }
640
+ inputProps={{
641
+ 'aria-label': `Select row ${getId(row)}`
642
+ }}
618
643
  />
619
- ))}
644
+ </Cell>
645
+ )}
620
646
 
621
647
  {visibleColumns.map((column) => (
622
648
  <DataCell
649
+ areColumnsEditable={areColumnsEditable}
623
650
  column={column}
624
651
  disableRowCondition={disableRowCondition}
625
652
  getHighlightRowCondition={getHighlightRowCondition}
626
653
  isRowHovered={isRowHovered}
627
654
  isRowSelected={isRowSelected}
628
655
  key={`${getId(row)}-${column.id}`}
629
- labelCollapse={subItems.labelCollapse}
630
- labelExpand={subItems.labelExpand}
631
656
  row={row}
632
657
  rowColorConditions={rowColorConditions}
633
- subItemsRowProperty={subItems?.rowProperty}
634
658
  viewMode={viewMode}
635
659
  />
636
660
  ))}
637
661
  </ListingRow>
638
662
  );
639
663
  })}
640
-
641
- {rows.length < 1 &&
642
- (loading ? (
643
- <SkeletonLoader rows={limit} />
644
- ) : (
645
- <EmptyResult label={t(labelNoResultFound)} />
646
- ))}
664
+ {rows.length < 1 && (
665
+ <TableRow
666
+ className={classes.emptyDataRow}
667
+ component="div"
668
+ tabIndex={-1}
669
+ >
670
+ <Cell
671
+ align="center"
672
+ className={classes.emptyDataCell}
673
+ disableRowCondition={(): boolean => false}
674
+ isRowHovered={false}
675
+ >
676
+ {loading ? (
677
+ <ListingLoadingSkeleton />
678
+ ) : (
679
+ t(labelNoResultFound)
680
+ )}
681
+ </Cell>
682
+ </TableRow>
683
+ )}
647
684
  </TableBody>
648
685
  </Table>
649
686
  </Box>
@@ -19,7 +19,6 @@ export interface Column {
19
19
  compact?: boolean;
20
20
  disablePadding?: boolean;
21
21
  disabled?: boolean;
22
- displaySubItemsCaret?: boolean;
23
22
  getColSpan?: (isSelected) => number | undefined;
24
23
  getFormattedString?: (row) => string | null;
25
24
  getHiddenCondition?: (isSelected) => boolean;
@@ -43,5 +43,3 @@ export const tableStyleDerivedAtom = atom(null, (get, set, { viewMode }) => {
43
43
  header: isExtendedMode ? extendedTableHeader : compactTableHeader
44
44
  });
45
45
  });
46
-
47
- export const subItemsPivotsAtom = atom<Array<number | string>>([]);
@@ -50,7 +50,7 @@ const useStyleTable = ({
50
50
  const updateStyleTable = useSetAtom(tableStyleDerivedAtom);
51
51
 
52
52
  const getGridTemplateColumn = (): string => {
53
- const checkbox = checkable ? 'fit-content(1rem) ' : ''; // SelectAction (checkbox) cell adjusts to content
53
+ const checkbox = checkable ? '50px ' : '';
54
54
 
55
55
  const columnTemplate = currentVisibleColumns
56
56
  ?.map(({ width, shortLabel }) => {
@@ -4,7 +4,7 @@ import { makeStyles } from 'tss-react/mui';
4
4
 
5
5
  import { Box } from '@mui/material';
6
6
 
7
- import { useMemoComponent } from '../utils';
7
+ import useMemoComponent from '../utils/useMemoComponent';
8
8
  import WithPanel from '../Panel/WithPanel';
9
9
 
10
10
  import FilterSkeleton from './FilterSkeleton';
@@ -6,8 +6,8 @@ import { makeStyles } from 'tss-react/mui';
6
6
  import { Image, ImageVariant } from '..';
7
7
  import LoadingSkeleton from '../LoadingSkeleton';
8
8
  import { useThemeMode } from '../utils/useThemeMode';
9
- import CentreonLogoLight from '../@assets/brand/centreon-logo-one-line-light.svg';
10
- import CentreonLogoDark from '../@assets/brand/centreon-logo-one-line-dark.svg';
9
+ import CentreonLogoLight from '../../assets/centreon-logo-one-line-light.svg';
10
+ import CentreonLogoDark from '../../assets/centreon-logo-one-line-dark.svg';
11
11
 
12
12
  import { labelCentreonLogo } from './translatedLabels';
13
13
 
@@ -1,4 +1,5 @@
1
1
  import { ComponentMeta, ComponentStory } from '@storybook/react';
2
+ import withMock from 'storybook-addon-mock';
2
3
  import { makeStyles } from 'tss-react/mui';
3
4
 
4
5
  import { Alert, Container } from '@mui/material';
@@ -19,6 +20,7 @@ export default {
19
20
  moduleName: { control: 'text' }
20
21
  },
21
22
  component: LicenseCheck,
23
+ decorators: [withMock],
22
24
  title: 'LicenseCheck'
23
25
  } as ComponentMeta<typeof LicenseCheck>;
24
26
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { forwardRef } from 'react';
4
4
 
5
- import { useMemoComponent } from '../utils';
5
+ import useMemoComponent from '../utils/useMemoComponent';
6
6
 
7
7
  import Panel, { Props } from '.';
8
8
 
@@ -1,4 +1,4 @@
1
- import { render, fireEvent } from '../../../test/testRenderer';
1
+ import { render, fireEvent } from '../../testRenderer';
2
2
 
3
3
  import SectionPanel from '.';
4
4
 
@@ -6,7 +6,7 @@ import ForwardIcon from '@mui/icons-material/ArrowForwardIos';
6
6
 
7
7
  import Panel from '..';
8
8
  import ContentWithCircularLoading from '../../ContentWithCircularProgress';
9
- import { useMemoComponent } from '../../utils';
9
+ import useMemoComponent from '../../utils/useMemoComponent';
10
10
 
11
11
  import ExpandableSection from './ExpandableSection';
12
12
 
@@ -33,7 +33,7 @@ const useStyles = makeStyles<StylesProps>()(
33
33
  height: '100%'
34
34
  },
35
35
  container: {
36
- backgroundColor: theme.palette.background.panel,
36
+ backgroundColor: theme.palette.background.default,
37
37
  borderTopRightRadius: 0,
38
38
  display: 'grid',
39
39
  gridTemplate: 'auto auto 1fr / 1fr',
@@ -85,8 +85,7 @@ export interface Tab {
85
85
  }
86
86
 
87
87
  export interface Props {
88
- className?: string;
89
- header?: React.ReactElement;
88
+ header: React.ReactElement;
90
89
  headerBackgroundColor?: string;
91
90
  labelClose?: string;
92
91
  minWidth?: number;
@@ -112,12 +111,11 @@ const Panel = React.forwardRef(
112
111
  width = 550,
113
112
  minWidth = 550,
114
113
  headerBackgroundColor,
115
- onResize,
116
- className
114
+ onResize
117
115
  }: Props,
118
116
  ref
119
117
  ): JSX.Element => {
120
- const { classes, cx } = useStyles({
118
+ const { classes } = useStyles({
121
119
  hasTabs: !isEmpty(tabs),
122
120
  headerBackgroundColor,
123
121
  width
@@ -181,7 +179,7 @@ const Panel = React.forwardRef(
181
179
  exit: 50
182
180
  }}
183
181
  >
184
- <Paper className={cx(classes.container, className)} elevation={2}>
182
+ <Paper className={classes.container} elevation={2}>
185
183
  {!isNil(onResize) && (
186
184
  <div className={classes.dragger} role="none" onMouseDown={resize} />
187
185
  )}
@@ -9,20 +9,17 @@ import { Typography } from '@mui/material';
9
9
 
10
10
  interface StyleProps {
11
11
  editable: boolean;
12
- error?: string;
13
12
  minInputHeight: number;
14
13
  }
15
14
 
16
15
  const useStyles = makeStyles<StyleProps>()(
17
- (theme, { minInputHeight, editable, error }) => ({
16
+ (theme, { minInputHeight, editable }) => ({
18
17
  container: {
19
18
  '& p': {
20
19
  margin: 0
21
20
  },
22
21
  backgroundColor: theme.palette.background.paper,
23
- border: error
24
- ? `1px solid ${theme.palette.error.main}`
25
- : '1px solid transparent',
22
+ border: '1px solid transparent',
26
23
  borderRadius: theme.shape.borderRadius,
27
24
  padding: theme.spacing(0.5, 1)
28
25
  },
@@ -34,9 +31,7 @@ const useStyles = makeStyles<StyleProps>()(
34
31
  outline: '0px solid transparent'
35
32
  },
36
33
  inputFocused: {
37
- border: error
38
- ? `1px solid ${theme.palette.error.main}`
39
- : `1px solid ${theme.palette.primary.main}`
34
+ border: `1px solid ${theme.palette.primary.main}`
40
35
  },
41
36
  placeholder: {
42
37
  color: theme.palette.grey[500],
@@ -46,16 +41,13 @@ const useStyles = makeStyles<StyleProps>()(
46
41
  );
47
42
 
48
43
  interface Props {
49
- className?: string;
50
44
  editable: boolean;
51
45
  editorState?: string;
52
- error?: string;
53
46
  hasInitialTextContent?: boolean;
54
47
  initialEditorState?: string;
55
48
  inputClassname?: string;
56
49
  minInputHeight: number;
57
50
  namespace: string;
58
- onBlur?: (e: string) => void;
59
51
  placeholder: string;
60
52
  resetEditorToInitialStateCondition?: () => boolean;
61
53
  }
@@ -69,12 +61,9 @@ const ContentEditable = ({
69
61
  editorState,
70
62
  namespace,
71
63
  resetEditorToInitialStateCondition,
72
- initialEditorState,
73
- error,
74
- onBlur,
75
- className
64
+ initialEditorState
76
65
  }: Props): JSX.Element => {
77
- const { classes, cx } = useStyles({ editable, error, minInputHeight });
66
+ const { classes, cx } = useStyles({ editable, minInputHeight });
78
67
  const { t } = useTranslation();
79
68
 
80
69
  const [editor] = useLexicalComposerContext();
@@ -130,18 +119,9 @@ const ContentEditable = ({
130
119
 
131
120
  const isTextEmpty = isEmpty(root);
132
121
 
133
- const handleBlur = (event: React.FocusEvent<HTMLInputElement>): void => {
134
- setFocused(false);
135
- onBlur?.(event);
136
- };
137
-
138
122
  return (
139
123
  <div
140
- className={cx(
141
- classes.container,
142
- className,
143
- isFocused && classes.inputFocused
144
- )}
124
+ className={cx(classes.container, isFocused && classes.inputFocused)}
145
125
  id={namespace}
146
126
  >
147
127
  {editable && isTextEmpty && (
@@ -159,7 +139,7 @@ const ContentEditable = ({
159
139
  contentEditable={isEditable}
160
140
  data-testid={namespace}
161
141
  ref={ref}
162
- onBlur={handleBlur}
142
+ onBlur={(): void => setFocused(false)}
163
143
  onFocus={(): void => setFocused(true)}
164
144
  />
165
145
  </div>