@centreon/ui 24.4.19 → 24.4.21

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 (528) 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 +31 -96
  6. package/{test/setupTests.js → setupTests.js} +1 -1
  7. package/src/ActionsList/index.stories.tsx +0 -74
  8. package/src/ActionsList/index.tsx +21 -58
  9. package/src/Button/Icon/index.tsx +2 -11
  10. package/src/Button/Save/index.stories.tsx +5 -10
  11. package/src/Button/Save/index.tsx +1 -1
  12. package/src/Dialog/Confirm/index.tsx +4 -17
  13. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  14. package/src/Dialog/index.tsx +2 -14
  15. package/src/FallbackPage/FallbackPage.tsx +2 -2
  16. package/src/FileDropZone/index.tsx +1 -1
  17. package/src/Form/CollapsibleGroup.tsx +5 -15
  18. package/src/Form/FormButtons.tsx +4 -2
  19. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  20. package/src/Form/Inputs/ConnectedAutocomplete.tsx +1 -3
  21. package/src/Form/Inputs/Grid.tsx +2 -4
  22. package/src/Form/Inputs/Radio.tsx +5 -16
  23. package/src/Form/Inputs/Switch.tsx +1 -1
  24. package/src/Form/Inputs/Text.tsx +7 -18
  25. package/src/Form/Inputs/index.tsx +15 -31
  26. package/src/Form/Inputs/models.ts +4 -20
  27. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  28. package/src/Form/{Form.tsx → index.tsx} +16 -38
  29. package/src/Form/storiesData.tsx +3 -50
  30. package/src/Home.stories.mdx +84 -1
  31. package/src/Image/Image.tsx +1 -11
  32. package/src/Image/index.stories.tsx +2 -2
  33. package/src/Image/index.test.tsx +3 -3
  34. package/src/InputField/Search/PersistentTooltip.tsx +6 -10
  35. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -4
  36. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  37. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +7 -4
  38. package/src/InputField/Select/Autocomplete/Connected/index.tsx +6 -35
  39. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  40. package/src/InputField/Select/Autocomplete/Multi/index.tsx +15 -32
  41. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  42. package/src/InputField/Select/Autocomplete/index.tsx +2 -5
  43. package/src/InputField/Select/index.tsx +1 -2
  44. package/src/InputField/Text/index.tsx +9 -19
  45. package/src/Listing/ActionBar/index.tsx +8 -15
  46. package/src/Listing/Cell/DataCell.tsx +68 -43
  47. package/src/Listing/Cell/index.tsx +8 -88
  48. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  49. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  50. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  51. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +105 -28
  52. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  53. package/src/Listing/Skeleton.tsx +11 -0
  54. package/src/Listing/index.stories.tsx +40 -144
  55. package/src/Listing/index.test.tsx +1 -1
  56. package/src/Listing/index.tsx +262 -217
  57. package/src/Listing/models.ts +0 -1
  58. package/src/Listing/tableAtoms.ts +10 -15
  59. package/src/Listing/useStyleTable.ts +9 -9
  60. package/src/ListingPage/index.stories.tsx +8 -21
  61. package/src/ListingPage/index.tsx +38 -20
  62. package/src/Logo/CentreonLogo.tsx +2 -2
  63. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  64. package/src/Panel/Memoized.tsx +1 -1
  65. package/src/Panel/Section/index.test.tsx +1 -1
  66. package/src/Panel/Section/index.tsx +1 -1
  67. package/src/Panel/index.tsx +6 -10
  68. package/src/PopoverMenu/index.tsx +4 -18
  69. package/src/RichTextEditor/ContentEditable.tsx +24 -70
  70. package/src/RichTextEditor/RichTextEditor.tsx +47 -161
  71. package/src/RichTextEditor/index.stories.tsx +0 -14
  72. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  73. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  74. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +92 -31
  75. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -13
  76. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +10 -35
  77. package/src/RichTextEditor/translatedLabels.ts +0 -3
  78. package/src/Snackbar/index.tsx +4 -14
  79. package/src/Snackbar/useSnackbar.tsx +1 -5
  80. package/src/SortableItems/SortableItem.tsx +2 -3
  81. package/src/ThemeProvider/index.tsx +33 -41
  82. package/src/ThemeProvider/palettes.ts +201 -422
  83. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  84. package/src/WallpaperPage/index.stories.tsx +1 -1
  85. package/src/Wizard/ActionsBar.test.tsx +1 -1
  86. package/src/Wizard/WizardContent.tsx +3 -2
  87. package/src/Wizard/index.stories.tsx +18 -5
  88. package/src/Wizard/index.test.tsx +1 -1
  89. package/src/Wizard/index.tsx +5 -20
  90. package/src/Wizard/models.ts +0 -7
  91. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  92. package/src/api/TestQueryProvider.tsx +1 -2
  93. package/src/api/buildListingEndpoint/getSearchQueryParameterValue.ts +26 -35
  94. package/src/api/buildListingEndpoint/index.test.ts +2 -2
  95. package/src/api/buildListingEndpoint/index.ts +1 -1
  96. package/src/api/buildListingEndpoint/models.ts +2 -2
  97. package/src/api/customFetch.ts +3 -22
  98. package/src/api/useFetchQuery/index.ts +19 -34
  99. package/src/api/useMutationQuery/index.ts +20 -44
  100. package/src/api/useRequest/index.ts +6 -9
  101. package/src/index.ts +21 -30
  102. package/src/storyshots.test.js +52 -0
  103. package/{test → src}/testRenderer.tsx +1 -1
  104. package/src/utils/getNormalizedId.ts +3 -1
  105. package/src/utils/useCopyToClipboard.ts +3 -2
  106. package/src/utils/useDebounce.ts +5 -8
  107. package/src/utils/useDeepCallback.ts +3 -1
  108. package/src/utils/useDeepMemo.ts +3 -1
  109. package/src/utils/useIntersectionObserver.ts +5 -5
  110. package/src/utils/useKeyObserver.tsx +3 -1
  111. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  112. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -4
  113. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  114. package/src/utils/useMemoComponent.ts +1 -1
  115. package/testRunner.js +36 -0
  116. package/tsconfig.json +29 -0
  117. package/types/declarations.d.ts +9 -0
  118. package/public/README.md +0 -39
  119. package/public/mockServiceWorker.js +0 -303
  120. package/src/@assets/README.md +0 -5
  121. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  122. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  123. package/src/@assets/icons/downtime.icon.svg +0 -1
  124. package/src/@types/aria-attributes.d.ts +0 -10
  125. package/src/@types/data-attributes.d.ts +0 -3
  126. package/src/@types/globals.d.ts +0 -9
  127. package/src/@types/vite-env.d.ts +0 -2
  128. package/src/ActionsList/ActionsList.styles.ts +0 -116
  129. package/src/ActionsList/models.ts +0 -8
  130. package/src/Checkbox/Checkbox.tsx +0 -109
  131. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  132. package/src/Checkbox/CheckboxGroup/index.tsx +0 -75
  133. package/src/Checkbox/index.stories.tsx +0 -39
  134. package/src/Checkbox/index.tsx +0 -2
  135. package/src/Dashboard/Dashboard.styles.ts +0 -108
  136. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  137. package/src/Dashboard/Grid.tsx +0 -70
  138. package/src/Dashboard/Item.tsx +0 -100
  139. package/src/Dashboard/Layout.tsx +0 -79
  140. package/src/Dashboard/index.tsx +0 -9
  141. package/src/Dashboard/utils.ts +0 -28
  142. package/src/Form/Form.styles.ts +0 -11
  143. package/src/Form/Inputs/Checkbox.tsx +0 -57
  144. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  145. package/src/Form/index.ts +0 -1
  146. package/src/Graph/Gauge/AnimatedPie.tsx +0 -102
  147. package/src/Graph/Gauge/Gauge.stories.tsx +0 -159
  148. package/src/Graph/Gauge/Gauge.tsx +0 -41
  149. package/src/Graph/Gauge/PieData.tsx +0 -63
  150. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -148
  151. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  152. package/src/Graph/Gauge/index.ts +0 -1
  153. package/src/Graph/Gauge/models.ts +0 -20
  154. package/src/Graph/HeatMap/HeatMap.stories.tsx +0 -105
  155. package/src/Graph/HeatMap/HeatMap.styles.tsx +0 -29
  156. package/src/Graph/HeatMap/HeatMap.tsx +0 -12
  157. package/src/Graph/HeatMap/HeatMapData.json +0 -137
  158. package/src/Graph/HeatMap/ResponsiveHeatMap.tsx +0 -98
  159. package/src/Graph/HeatMap/index.ts +0 -1
  160. package/src/Graph/HeatMap/model.ts +0 -33
  161. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  162. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  163. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  164. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  165. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  166. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -99
  167. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  168. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -81
  169. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  170. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  171. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  172. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  173. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  174. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  175. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -142
  176. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  177. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  178. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  179. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  180. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  181. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  182. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  183. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  184. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -60
  185. package/src/Graph/LineChart/Header/index.tsx +0 -65
  186. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  187. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  188. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  189. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  190. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  191. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  192. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  193. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  194. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  195. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  196. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  197. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  198. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  199. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  200. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  201. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  202. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  203. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  204. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  205. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  206. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  207. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  208. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  209. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  210. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  211. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  212. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  213. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  214. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  215. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  216. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  217. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  218. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  219. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  220. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  221. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  222. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -117
  223. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -33
  224. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -93
  225. package/src/Graph/LineChart/Legend/index.tsx +0 -201
  226. package/src/Graph/LineChart/Legend/models.ts +0 -16
  227. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  228. package/src/Graph/LineChart/Legend/useLegend.ts +0 -104
  229. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  230. package/src/Graph/LineChart/LineChart.tsx +0 -317
  231. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  232. package/src/Graph/LineChart/common/index.ts +0 -35
  233. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  234. package/src/Graph/LineChart/helpers/doc.ts +0 -560
  235. package/src/Graph/LineChart/helpers/index.ts +0 -63
  236. package/src/Graph/LineChart/index.stories.tsx +0 -478
  237. package/src/Graph/LineChart/index.tsx +0 -115
  238. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  239. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  240. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  241. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  242. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  243. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  244. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  245. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  246. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  247. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  248. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  249. package/src/Graph/LineChart/models.ts +0 -146
  250. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  251. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  252. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  253. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -197
  254. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -204
  255. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  256. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -103
  257. package/src/Graph/SingleBar/Thresholds.tsx +0 -50
  258. package/src/Graph/SingleBar/index.ts +0 -1
  259. package/src/Graph/SingleBar/models.ts +0 -10
  260. package/src/Graph/Text/Text.stories.tsx +0 -67
  261. package/src/Graph/Text/Text.styles.ts +0 -17
  262. package/src/Graph/Text/Text.tsx +0 -91
  263. package/src/Graph/Text/index.ts +0 -1
  264. package/src/Graph/common/margins.ts +0 -1
  265. package/src/Graph/common/models.ts +0 -19
  266. package/src/Graph/common/timeSeries/index.test.ts +0 -624
  267. package/src/Graph/common/timeSeries/index.ts +0 -626
  268. package/src/Graph/common/timeSeries/models.ts +0 -129
  269. package/src/Graph/common/utils.ts +0 -75
  270. package/src/Graph/index.ts +0 -5
  271. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -127
  272. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  273. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  274. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  275. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  276. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  277. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  278. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  279. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  280. package/src/Listing/Header/index.ts +0 -1
  281. package/src/Listing/Listing.cypress.spec.tsx +0 -122
  282. package/src/Listing/Listing.styles.ts +0 -81
  283. package/src/Listing/ListingDocs.mdx +0 -61
  284. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  285. package/src/Listing/Row/EmptyRow.tsx +0 -30
  286. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  287. package/src/ParentSize/ParentSize.tsx +0 -24
  288. package/src/ParentSize/index.ts +0 -1
  289. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -408
  290. package/src/RichTextEditor/plugins/ToolbarPlugin/AlignPicker.tsx +0 -116
  291. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -155
  292. package/src/RichTextEditor/plugins/ToolbarPlugin/LinkButton.tsx +0 -106
  293. package/src/RichTextEditor/plugins/ToolbarPlugin/ListButton.tsx +0 -155
  294. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -75
  295. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -32
  296. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  297. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  298. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  299. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -166
  300. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  301. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  302. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  303. package/src/TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod.tsx +0 -28
  304. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  305. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  306. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  307. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  308. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  309. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  310. package/src/TimePeriods/helpers/index.ts +0 -26
  311. package/src/TimePeriods/index.stories.tsx +0 -113
  312. package/src/TimePeriods/index.tsx +0 -79
  313. package/src/TimePeriods/mockedData.ts +0 -12
  314. package/src/TimePeriods/models.ts +0 -97
  315. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  316. package/src/TimePeriods/translatedLabels.ts +0 -9
  317. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  318. package/src/TimePeriods/useTimePeriod.ts +0 -49
  319. package/src/Typography/EllipsisTypography.tsx +0 -18
  320. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  321. package/src/Typography/FluidTypography/index.tsx +0 -51
  322. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  323. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  324. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  325. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  326. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  327. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  328. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  329. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  330. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  331. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  332. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  333. package/src/api/useGraphQuery/index.ts +0 -166
  334. package/src/api/useGraphQuery/models.ts +0 -15
  335. package/src/base/tokens/README.md +0 -3
  336. package/src/base/tokens/source/$metadata.json +0 -5
  337. package/src/base/tokens/source/base.json +0 -142
  338. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  339. package/src/base/tokens/themes/base.tokens.json +0 -695
  340. package/src/base/tokens/themes/base.tokens.ts +0 -38
  341. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  342. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  343. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  344. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  345. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  346. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  347. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  348. package/src/components/Avatar/Avatar.styles.ts +0 -11
  349. package/src/components/Avatar/Avatar.tsx +0 -32
  350. package/src/components/Avatar/index.ts +0 -1
  351. package/src/components/Button/Button.stories.tsx +0 -34
  352. package/src/components/Button/Button.styles.ts +0 -44
  353. package/src/components/Button/Button.tsx +0 -78
  354. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  355. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  356. package/src/components/Button/Icon/IconButton.tsx +0 -58
  357. package/src/components/Button/Icon/index.tsx +0 -1
  358. package/src/components/Button/index.ts +0 -2
  359. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  360. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  361. package/src/components/CollapsibleItem/index.ts +0 -1
  362. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  363. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  364. package/src/components/DataTable/DataTable.styles.ts +0 -27
  365. package/src/components/DataTable/DataTable.tsx +0 -35
  366. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  367. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  368. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  369. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  370. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -33
  371. package/src/components/DataTable/Item/DataTableItem.tsx +0 -123
  372. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  373. package/src/components/DataTable/index.ts +0 -10
  374. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  375. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  376. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  377. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  378. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  379. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  380. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  381. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  382. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  383. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  384. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  385. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  386. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  387. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  388. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  389. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  390. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  391. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  392. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  393. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  394. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  395. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  396. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  397. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  398. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  399. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  400. package/src/components/Form/AccessRights/index.ts +0 -3
  401. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  402. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  403. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  404. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -9
  405. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  406. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -21
  407. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -134
  408. package/src/components/Form/Dashboard/GlobalRefreshFieldOption.tsx +0 -59
  409. package/src/components/Form/Dashboard/index.ts +0 -2
  410. package/src/components/Form/Dashboard/translatedLabels.ts +0 -9
  411. package/src/components/Form/Form.models.ts +0 -1
  412. package/src/components/Form/Form.resource.ts +0 -1
  413. package/src/components/Form/Form.styles.ts +0 -17
  414. package/src/components/Form/FormActions.tsx +0 -57
  415. package/src/components/Form/index.ts +0 -3
  416. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  417. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -126
  418. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  419. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  420. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  421. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  422. package/src/components/Header/PageHeader/PageHeaderMessage.tsx +0 -32
  423. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  424. package/src/components/Header/PageHeader/index.ts +0 -14
  425. package/src/components/Header/index.ts +0 -1
  426. package/src/components/Icon/Icon.styles.ts +0 -0
  427. package/src/components/Icon/Icon.tsx +0 -2
  428. package/src/components/Icon/index.ts +0 -0
  429. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  430. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  431. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  432. package/src/components/Inputs/index.ts +0 -1
  433. package/src/components/ItemComposition/Item.tsx +0 -41
  434. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  435. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -29
  436. package/src/components/ItemComposition/ItemComposition.tsx +0 -47
  437. package/src/components/ItemComposition/index.ts +0 -6
  438. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  439. package/src/components/Layout/AreaIndicator.tsx +0 -35
  440. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  441. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -41
  442. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  443. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -24
  444. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  445. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  446. package/src/components/Layout/PageLayout/index.ts +0 -10
  447. package/src/components/Layout/index.ts +0 -1
  448. package/src/components/List/Item/Avatar.tsx +0 -21
  449. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  450. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  451. package/src/components/List/Item/ListItem.styles.ts +0 -57
  452. package/src/components/List/Item/ListItem.tsx +0 -32
  453. package/src/components/List/Item/Text.tsx +0 -25
  454. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  455. package/src/components/List/Item/index.ts +0 -14
  456. package/src/components/List/List.stories.tsx +0 -70
  457. package/src/components/List/List.styles.ts +0 -8
  458. package/src/components/List/List.tsx +0 -19
  459. package/src/components/List/index.ts +0 -6
  460. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  461. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  462. package/src/components/Menu/Button/MenuButton.tsx +0 -67
  463. package/src/components/Menu/Button/index.ts +0 -1
  464. package/src/components/Menu/Menu.stories.tsx +0 -71
  465. package/src/components/Menu/Menu.styles.ts +0 -68
  466. package/src/components/Menu/Menu.tsx +0 -25
  467. package/src/components/Menu/MenuDivider.tsx +0 -13
  468. package/src/components/Menu/MenuItem.tsx +0 -38
  469. package/src/components/Menu/MenuItems.tsx +0 -36
  470. package/src/components/Menu/index.ts +0 -12
  471. package/src/components/Menu/useMenu.tsx +0 -79
  472. package/src/components/Modal/Modal.stories.tsx +0 -142
  473. package/src/components/Modal/Modal.styles.ts +0 -90
  474. package/src/components/Modal/Modal.tsx +0 -79
  475. package/src/components/Modal/ModalActions.tsx +0 -62
  476. package/src/components/Modal/ModalBody.tsx +0 -15
  477. package/src/components/Modal/ModalHeader.tsx +0 -21
  478. package/src/components/Modal/index.ts +0 -12
  479. package/src/components/README.md +0 -3
  480. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.stories.tsx +0 -62
  481. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.styles.tsx +0 -22
  482. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.tsx +0 -68
  483. package/src/components/Tooltip/ConfirmationTooltip/TooltipContent.tsx +0 -31
  484. package/src/components/Tooltip/ConfirmationTooltip/index.ts +0 -1
  485. package/src/components/Tooltip/ConfirmationTooltip/models.ts +0 -18
  486. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  487. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  488. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  489. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  490. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  491. package/src/components/Tooltip/Tooltip.tsx +0 -57
  492. package/src/components/Tooltip/index.ts +0 -2
  493. package/src/components/index.ts +0 -13
  494. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  495. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  496. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  497. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  498. package/src/utils/centreonBaseURL.ts +0 -4
  499. package/src/utils/docsURL.ts +0 -31
  500. package/src/utils/index.ts +0 -22
  501. package/src/utils/panelSize.ts +0 -15
  502. package/src/utils/sanitizedHTML.ts +0 -18
  503. package/src/utils/translatedLabel.ts +0 -2
  504. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  505. package/src/utils/useInfiniteScrollListing.ts +0 -121
  506. package/src/utils/useLicenseExpirationWarning.cypress.spec.tsx +0 -137
  507. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  508. package/src/utils/useRefreshInterval.ts +0 -39
  509. package/src/utils/useResizeObserver.ts +0 -6
  510. package/src/utils/useThresholds.ts +0 -0
  511. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  512. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  513. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  514. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  515. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  516. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  517. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  518. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  519. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  520. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  521. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  522. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  523. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  524. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  525. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  526. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  527. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  528. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -14,7 +14,7 @@ import { tableStyleAtom, tableStyleDerivedAtom } from './tableAtoms';
14
14
  interface TableStyle {
15
15
  checkable?: boolean;
16
16
  currentVisibleColumns?: Array<Column>;
17
- listingVariant?: ListingVariant;
17
+ viewMode?: ListingVariant;
18
18
  }
19
19
 
20
20
  interface TableStyleState {
@@ -27,30 +27,30 @@ const isCompactMode = equals<ListingVariant | undefined>(
27
27
  );
28
28
 
29
29
  interface GetTextStyleProps {
30
- listingVariant?: ListingVariant;
31
30
  theme: Theme;
31
+ viewMode?: ListingVariant;
32
32
  }
33
33
 
34
34
  export const getTextStyleByViewMode = ({
35
- listingVariant,
35
+ viewMode,
36
36
  theme
37
37
  }: GetTextStyleProps): CSSObject =>
38
38
  pick(
39
39
  ['color', 'fontSize', 'lineHeight'],
40
- theme.typography[isCompactMode(listingVariant) ? 'body2' : 'body1']
40
+ theme.typography[isCompactMode(viewMode) ? 'body2' : 'body1']
41
41
  );
42
42
 
43
43
  const useStyleTable = ({
44
44
  checkable,
45
45
  currentVisibleColumns,
46
- listingVariant
46
+ viewMode
47
47
  }: TableStyle): TableStyleState => {
48
48
  const dataStyle = useAtomValue(tableStyleAtom);
49
49
 
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 }) => {
@@ -69,10 +69,10 @@ const useStyleTable = ({
69
69
  };
70
70
 
71
71
  useEffect(() => {
72
- if (listingVariant) {
73
- updateStyleTable({ listingVariant });
72
+ if (viewMode) {
73
+ updateStyleTable({ viewMode });
74
74
  }
75
- }, [listingVariant]);
75
+ }, [viewMode]);
76
76
 
77
77
  return {
78
78
  dataStyle,
@@ -14,7 +14,7 @@ import Panel from '../Panel';
14
14
 
15
15
  import Filter from './Filter';
16
16
 
17
- import ListingPage, { ListingPageProps } from '.';
17
+ import ListingPage from '.';
18
18
 
19
19
  export default { title: 'Listing Page' };
20
20
 
@@ -59,9 +59,6 @@ const useStyles = makeStyles()((theme) => ({
59
59
  gridGap: theme.spacing(2),
60
60
  gridTemplateColumns: 'auto auto 1fr'
61
61
  },
62
- page: {
63
- height: '100vh'
64
- },
65
62
  title: {
66
63
  alignItems: 'center',
67
64
  gridArea: 'title',
@@ -254,18 +251,8 @@ const DetailsPanelWithTabs = (): JSX.Element => (
254
251
  />
255
252
  );
256
253
 
257
- const Template = (args: ListingPageProps): JSX.Element => {
258
- const { classes } = useStyles();
259
-
260
- return (
261
- <div className={classes.page}>
262
- <ListingPage {...args} />
263
- </div>
264
- );
265
- };
266
-
267
254
  export const normal = (): JSX.Element => (
268
- <Template
255
+ <ListingPage
269
256
  filter={<FilterWithContent />}
270
257
  listing={listing}
271
258
  panelOpen={false}
@@ -273,7 +260,7 @@ export const normal = (): JSX.Element => (
273
260
  );
274
261
 
275
262
  export const withOpenPanel = (): JSX.Element => (
276
- <Template
263
+ <ListingPage
277
264
  panelOpen
278
265
  filter={<FilterWithContent />}
279
266
  listing={listing}
@@ -282,7 +269,7 @@ export const withOpenPanel = (): JSX.Element => (
282
269
  );
283
270
 
284
271
  export const withOpenPanelAndTabs = (): JSX.Element => (
285
- <Template
272
+ <ListingPage
286
273
  panelOpen
287
274
  filter={<FilterWithContent />}
288
275
  listing={listing}
@@ -291,7 +278,7 @@ export const withOpenPanelAndTabs = (): JSX.Element => (
291
278
  );
292
279
 
293
280
  export const withFilterDetailsAndOpenPanel = (): JSX.Element => (
294
- <Template
281
+ <ListingPage
295
282
  panelOpen
296
283
  filter={<FilterWithContent />}
297
284
  listing={listing}
@@ -303,7 +290,7 @@ export const withFixedPanel = (): JSX.Element => {
303
290
  const [open, setOpen] = useState(true);
304
291
 
305
292
  return (
306
- <Template
293
+ <ListingPage
307
294
  panelFixed
308
295
  filter={<FilterWithOpenButton onOpen={(): void => setOpen(true)} />}
309
296
  listing={listing}
@@ -317,7 +304,7 @@ export const withResponsivePaginationTable = (): JSX.Element => {
317
304
  const [open, setOpen] = useState(true);
318
305
 
319
306
  return (
320
- <Template
307
+ <ListingPage
321
308
  filter={<FilterWithOpenButton onOpen={(): void => setOpen(true)} />}
322
309
  listing={
323
310
  <Listing
@@ -339,7 +326,7 @@ export const withResponsivePaginationTable = (): JSX.Element => {
339
326
  };
340
327
 
341
328
  export const withALongContent = (): JSX.Element => (
342
- <Template
329
+ <ListingPage
343
330
  filter={<FilterWithContent />}
344
331
  listing={
345
332
  <div>
@@ -1,12 +1,11 @@
1
- import { Suspense, useRef } from 'react';
1
+ import { Suspense, useEffect, useRef, useState } from 'react';
2
2
 
3
3
  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
- import { ParentSize } from '..';
10
9
 
11
10
  import FilterSkeleton from './FilterSkeleton';
12
11
  import ListingSkeleton from './ListingSkeleton';
@@ -31,7 +30,7 @@ const useStyles = makeStyles()((theme) => {
31
30
  };
32
31
  });
33
32
 
34
- export interface ListingPageProps {
33
+ interface Props {
35
34
  filter: JSX.Element;
36
35
  fullHeight?: boolean;
37
36
  listing: JSX.Element;
@@ -53,10 +52,32 @@ const ListingPage = ({
53
52
  listingScrollOffset = 16,
54
53
  fullHeight = false,
55
54
  memoListingProps = []
56
- }: ListingPageProps): JSX.Element => {
55
+ }: Props): JSX.Element => {
57
56
  const { classes, cx } = useStyles();
57
+ const [listingHeight, setListingHeight] = useState(0);
58
+ const listingRef = useRef<HTMLDivElement | null>(null);
58
59
  const filtersRef = useRef<HTMLDivElement | null>(null);
59
60
 
61
+ const resize = (): void => {
62
+ setListingHeight(window.innerHeight);
63
+ };
64
+
65
+ useEffect(() => {
66
+ window.addEventListener('resize', resize);
67
+
68
+ setListingHeight(window.innerHeight);
69
+
70
+ return () => {
71
+ window.removeEventListener('resize', resize);
72
+ };
73
+ }, []);
74
+
75
+ const listingContainerHeight =
76
+ listingHeight -
77
+ (filtersRef.current?.getBoundingClientRect().height || 0) -
78
+ (filtersRef.current?.getBoundingClientRect().top || 0) -
79
+ listingScrollOffset;
80
+
60
81
  const memoListingComponent = useMemoComponent({
61
82
  Component: listing,
62
83
  memoProps: [...memoListingProps]
@@ -69,21 +90,18 @@ const ListingPage = ({
69
90
  </div>
70
91
 
71
92
  <WithPanel fixed={panelFixed} open={panelOpen} panel={panel}>
72
- <ParentSize>
73
- {({ height }) => (
74
- <Box
75
- className={classes.listing}
76
- sx={{
77
- height: `calc(${height}px - ${listingScrollOffset}px)`,
78
- ...(fullHeight && { height: '100%' })
79
- }}
80
- >
81
- <Suspense fallback={<ListingSkeleton />}>
82
- {memoListingComponent}
83
- </Suspense>
84
- </Box>
85
- )}
86
- </ParentSize>
93
+ <Box
94
+ className={classes.listing}
95
+ ref={listingRef}
96
+ sx={{
97
+ ...(fullHeight && { height: '100%' }),
98
+ maxHeight: listingContainerHeight
99
+ }}
100
+ >
101
+ <Suspense fallback={<ListingSkeleton />}>
102
+ {memoListingComponent}
103
+ </Suspense>
104
+ </Box>
87
105
  </WithPanel>
88
106
  </div>
89
107
  );
@@ -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
  )}
@@ -226,9 +224,7 @@ const Panel = React.forwardRef(
226
224
  className={classes.contentContainer}
227
225
  ref={ref as React.RefObject<HTMLDivElement>}
228
226
  >
229
- <div className={classes.content} id="panel-content">
230
- {selectedTab}
231
- </div>
227
+ <div className={classes.content}>{selectedTab}</div>
232
228
  </div>
233
229
  </div>
234
230
  </Paper>
@@ -1,4 +1,4 @@
1
- import { Dispatch, SetStateAction, useEffect, useState } from 'react';
1
+ import { useState, useEffect } from 'react';
2
2
 
3
3
  import { makeStyles } from 'tss-react/mui';
4
4
 
@@ -9,7 +9,6 @@ import {
9
9
  PopperPlacementType,
10
10
  useTheme
11
11
  } from '@mui/material';
12
- import { PopperProps } from '@mui/material/Popper';
13
12
 
14
13
  import { IconButton } from '..';
15
14
 
@@ -20,22 +19,15 @@ const useStyles = makeStyles()(() => ({
20
19
  }
21
20
  }));
22
21
 
23
- interface PopoverData {
24
- anchorEl: HTMLElement | undefined;
25
- setAnchorEl: Dispatch<SetStateAction<HTMLElement | undefined>>;
26
- }
27
-
28
22
  interface Props {
29
23
  canOpen?: boolean;
30
24
  children: (props?) => JSX.Element;
31
25
  className?: string;
32
26
  dataTestId?: string;
33
- getPopoverData?: (data: PopoverData) => void;
34
27
  icon: JSX.Element;
35
28
  onClose?: () => void;
36
29
  onOpen?: () => void;
37
30
  popperPlacement?: PopperPlacementType;
38
- popperProps?: Partial<PopperProps>;
39
31
  title?: string;
40
32
  }
41
33
 
@@ -48,21 +40,20 @@ const PopoverMenu = ({
48
40
  onClose,
49
41
  canOpen = true,
50
42
  className,
51
- dataTestId,
52
- getPopoverData,
53
- popperProps
43
+ dataTestId
54
44
  }: Props): JSX.Element => {
55
45
  const theme = useTheme();
56
46
  const { classes, cx } = useStyles();
57
47
  const [anchorEl, setAnchorEl] = useState<HTMLElement | undefined>();
48
+
58
49
  const isOpen = Boolean(anchorEl);
59
50
 
60
51
  const close = (reason?): void => {
61
52
  const isClosedByInputClick = reason?.type === 'mousedown';
53
+
62
54
  if (isClosedByInputClick) {
63
55
  return;
64
56
  }
65
-
66
57
  onClose?.();
67
58
  setAnchorEl(undefined);
68
59
  };
@@ -84,10 +75,6 @@ const PopoverMenu = ({
84
75
  }
85
76
  }, [canOpen]);
86
77
 
87
- useEffect(() => {
88
- getPopoverData?.({ anchorEl, setAnchorEl });
89
- }, [anchorEl]);
90
-
91
78
  return (
92
79
  <>
93
80
  <IconButton
@@ -110,7 +97,6 @@ const PopoverMenu = ({
110
97
  style={{ zIndex: theme.zIndex.tooltip }}
111
98
  onResize={(): undefined => undefined}
112
99
  onResizeCapture={(): undefined => undefined}
113
- {...popperProps}
114
100
  >
115
101
  <Paper>{children({ close })}</Paper>
116
102
  </Popper>
@@ -9,17 +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: {
18
+ '& p': {
19
+ margin: 0
20
+ },
19
21
  backgroundColor: theme.palette.background.paper,
20
- border: error
21
- ? `1px solid ${theme.palette.error.main}`
22
- : '1px solid transparent',
22
+ border: '1px solid transparent',
23
23
  borderRadius: theme.shape.borderRadius,
24
24
  padding: theme.spacing(0.5, 1)
25
25
  },
@@ -31,45 +31,27 @@ const useStyles = makeStyles<StyleProps>()(
31
31
  outline: '0px solid transparent'
32
32
  },
33
33
  inputFocused: {
34
- border: error
35
- ? `1px solid ${theme.palette.error.main}`
36
- : `1px solid ${theme.palette.primary.main}`
37
- },
38
- notEditable: {
39
- backgroundColor: 'transparent'
34
+ border: `1px solid ${theme.palette.primary.main}`
40
35
  },
41
36
  placeholder: {
42
37
  color: theme.palette.grey[500],
43
38
  pointerEvents: 'none'
44
- },
45
- root: {
46
- '& p,h1,h2,h3,h4,h5,h6,span': {
47
- margin: 0
48
- }
49
39
  }
50
40
  })
51
41
  );
52
42
 
53
43
  interface Props {
54
- className?: string;
55
- disabled?: boolean;
56
44
  editable: boolean;
57
45
  editorState?: string;
58
- error?: string;
59
46
  hasInitialTextContent?: boolean;
60
47
  initialEditorState?: string;
61
- initialize?: (editor) => void;
62
48
  inputClassname?: string;
63
49
  minInputHeight: number;
64
50
  namespace: string;
65
- onBlur?: (e: string) => void;
66
51
  placeholder: string;
67
52
  resetEditorToInitialStateCondition?: () => boolean;
68
53
  }
69
54
 
70
- const defaultState =
71
- '{"root":{"children":[{"children":[],"direction":null,"format":"","indent":0,"type":"paragraph","version":1}],"direction":null,"format":"","indent":0,"type":"root","version":1}}';
72
-
73
55
  const ContentEditable = ({
74
56
  minInputHeight,
75
57
  inputClassname,
@@ -79,17 +61,13 @@ const ContentEditable = ({
79
61
  editorState,
80
62
  namespace,
81
63
  resetEditorToInitialStateCondition,
82
- initialEditorState,
83
- error,
84
- onBlur,
85
- className,
86
- disabled,
87
- initialize
64
+ initialEditorState
88
65
  }: Props): JSX.Element => {
89
- const { classes, cx } = useStyles({ editable, error, minInputHeight });
66
+ const { classes, cx } = useStyles({ editable, minInputHeight });
90
67
  const { t } = useTranslation();
91
68
 
92
69
  const [editor] = useLexicalComposerContext();
70
+ const [isEditable, setEditable] = useState(false);
93
71
  const [isFocused, setFocused] = useState(false);
94
72
  const [root, setRoot] = useState('');
95
73
 
@@ -101,13 +79,17 @@ const ContentEditable = ({
101
79
  );
102
80
 
103
81
  useLayoutEffect(() => {
104
- if (!editable) {
105
- const newEditorState = editor.parseEditorState(
106
- editorState || defaultState
107
- );
82
+ setEditable(editor.isEditable());
83
+
84
+ if (editorState && !editable) {
85
+ const newEditorState = editor.parseEditorState(editorState);
108
86
 
109
87
  editor.setEditorState(newEditorState);
110
88
  }
89
+
90
+ return editor.registerEditableListener((currentIsEditable) => {
91
+ setEditable(currentIsEditable);
92
+ });
111
93
  }, [editor, editorState]);
112
94
 
113
95
  useEffect(() => {
@@ -126,49 +108,21 @@ const ContentEditable = ({
126
108
  const shouldResetEditorToInitialState =
127
109
  resetEditorToInitialStateCondition?.();
128
110
 
129
- if (!shouldResetEditorToInitialState) {
111
+ if (!shouldResetEditorToInitialState || isNil(initialEditorState)) {
130
112
  return;
131
113
  }
132
114
 
133
- const newEditorState = editor.parseEditorState(
134
- initialEditorState || defaultState
135
- );
115
+ const newEditorState = editor.parseEditorState(initialEditorState);
136
116
 
137
117
  editor.setEditorState(newEditorState);
138
118
  }, [editorState]);
139
119
 
140
- const isTextEmpty =
141
- isEmpty(root) &&
142
- !editor.getEditorState().toJSON().root.children?.[0]?.children?.length;
143
-
144
- const handleBlur = (event: React.FocusEvent<HTMLInputElement>): void => {
145
- setFocused(false);
146
- onBlur?.(event);
147
- };
148
-
149
- const isEditable = editor.isEditable();
150
-
151
- useEffect(() => {
152
- if (isNil(disabled)) {
153
- return;
154
- }
155
-
156
- editor.setEditable(!disabled);
157
- }, [disabled]);
158
-
159
- useEffect(() => {
160
- initialize?.(editor);
161
- }, []);
120
+ const isTextEmpty = isEmpty(root);
162
121
 
163
122
  return (
164
123
  <div
165
- className={cx(
166
- classes.root,
167
- editable && classes.container,
168
- !isEditable && !disabled && classes.notEditable,
169
- className,
170
- isFocused && classes.inputFocused
171
- )}
124
+ className={cx(classes.container, isFocused && classes.inputFocused)}
125
+ id={namespace}
172
126
  >
173
127
  {editable && isTextEmpty && (
174
128
  <Typography className={classes.placeholder}>
@@ -178,14 +132,14 @@ const ContentEditable = ({
178
132
  <div
179
133
  aria-label={namespace}
180
134
  className={cx(
181
- editable && isTextEmpty && classes.emptyInput,
135
+ isTextEmpty && classes.emptyInput,
182
136
  classes.input,
183
137
  inputClassname
184
138
  )}
185
139
  contentEditable={isEditable}
186
140
  data-testid={namespace}
187
141
  ref={ref}
188
- onBlur={handleBlur}
142
+ onBlur={(): void => setFocused(false)}
189
143
  onFocus={(): void => setFocused(true)}
190
144
  />
191
145
  </div>