@centreon/ui 23.10.36 → 23.10.37

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 (386) 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 -84
  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 -11
  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 +1 -15
  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 -26
  42. package/src/Listing/Cell/index.tsx +1 -1
  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} +6 -4
  48. package/src/Listing/Skeleton.tsx +11 -0
  49. package/src/Listing/index.stories.tsx +4 -34
  50. package/src/Listing/index.test.tsx +1 -1
  51. package/src/Listing/index.tsx +128 -21
  52. package/src/Listing/useStyleTable.ts +1 -1
  53. package/src/ListingPage/index.tsx +1 -1
  54. package/src/Logo/CentreonLogo.tsx +2 -2
  55. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  56. package/src/Panel/Memoized.tsx +1 -1
  57. package/src/Panel/Section/index.test.tsx +1 -1
  58. package/src/Panel/Section/index.tsx +1 -1
  59. package/src/Panel/index.tsx +4 -6
  60. package/src/RichTextEditor/ContentEditable.tsx +7 -27
  61. package/src/RichTextEditor/RichTextEditor.tsx +45 -86
  62. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +0 -1
  63. package/src/Snackbar/index.tsx +4 -14
  64. package/src/Snackbar/useSnackbar.tsx +1 -5
  65. package/src/SortableItems/SortableItem.tsx +1 -1
  66. package/src/ThemeProvider/index.tsx +4 -37
  67. package/src/ThemeProvider/palettes.ts +201 -389
  68. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  69. package/src/WallpaperPage/index.stories.tsx +1 -1
  70. package/src/Wizard/ActionsBar.test.tsx +1 -1
  71. package/src/Wizard/index.stories.tsx +18 -5
  72. package/src/Wizard/index.test.tsx +1 -1
  73. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  74. package/src/api/TestQueryProvider.tsx +1 -2
  75. package/src/api/customFetch.ts +0 -10
  76. package/src/api/useFetchQuery/index.ts +7 -8
  77. package/src/api/useMutationQuery/index.ts +13 -18
  78. package/src/api/useRequest/index.ts +6 -9
  79. package/src/index.ts +19 -7
  80. package/src/storyshots.test.js +52 -0
  81. package/{test → src}/testRenderer.tsx +1 -1
  82. package/src/utils/getNormalizedId.ts +3 -1
  83. package/src/utils/useCopyToClipboard.ts +3 -2
  84. package/src/utils/useDebounce.ts +3 -1
  85. package/src/utils/useDeepCallback.ts +3 -1
  86. package/src/utils/useDeepMemo.ts +3 -1
  87. package/src/utils/useIntersectionObserver.ts +5 -5
  88. package/src/utils/useKeyObserver.tsx +3 -1
  89. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  90. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  91. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  92. package/src/utils/useMemoComponent.ts +1 -1
  93. package/testRunner.js +36 -0
  94. package/tsconfig.json +29 -0
  95. package/types/declarations.d.ts +9 -0
  96. package/public/README.md +0 -39
  97. package/public/mockServiceWorker.js +0 -303
  98. package/src/@assets/README.md +0 -5
  99. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  100. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  101. package/src/@assets/icons/downtime.icon.svg +0 -1
  102. package/src/@types/aria-attributes.d.ts +0 -10
  103. package/src/@types/data-attributes.d.ts +0 -3
  104. package/src/@types/globals.d.ts +0 -9
  105. package/src/@types/vite-env.d.ts +0 -2
  106. package/src/Checkbox/Checkbox.tsx +0 -107
  107. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  108. package/src/Checkbox/CheckboxGroup/index.tsx +0 -66
  109. package/src/Checkbox/index.stories.tsx +0 -39
  110. package/src/Checkbox/index.tsx +0 -2
  111. package/src/Dashboard/Dashboard.styles.ts +0 -85
  112. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  113. package/src/Dashboard/Grid.tsx +0 -70
  114. package/src/Dashboard/Item.tsx +0 -81
  115. package/src/Dashboard/Layout.tsx +0 -74
  116. package/src/Dashboard/index.tsx +0 -9
  117. package/src/Dashboard/utils.ts +0 -28
  118. package/src/Form/Form.styles.ts +0 -11
  119. package/src/Form/Inputs/Checkbox.tsx +0 -57
  120. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  121. package/src/Form/index.ts +0 -1
  122. package/src/Graph/BasicComponents/Axes/UnitLabel.tsx +0 -20
  123. package/src/Graph/BasicComponents/Axes/index.tsx +0 -88
  124. package/src/Graph/BasicComponents/Axes/models.ts +0 -26
  125. package/src/Graph/BasicComponents/Axes/useAxisY.ts +0 -100
  126. package/src/Graph/BasicComponents/Grids/index.tsx +0 -20
  127. package/src/Graph/BasicComponents/Lines/RegularLines/index.tsx +0 -91
  128. package/src/Graph/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  129. package/src/Graph/BasicComponents/Lines/StackedLines/index.tsx +0 -76
  130. package/src/Graph/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  131. package/src/Graph/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -51
  132. package/src/Graph/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  133. package/src/Graph/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -73
  134. package/src/Graph/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -59
  135. package/src/Graph/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  136. package/src/Graph/BasicComponents/Lines/Threshold/index.tsx +0 -138
  137. package/src/Graph/BasicComponents/Lines/Threshold/models.ts +0 -105
  138. package/src/Graph/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  139. package/src/Graph/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  140. package/src/Graph/BasicComponents/Lines/index.tsx +0 -180
  141. package/src/Graph/BasicComponents/Lines/models.ts +0 -42
  142. package/src/Graph/BasicComponents/LoadingProgress.tsx +0 -46
  143. package/src/Graph/BasicComponents/useFilterLines.ts +0 -60
  144. package/src/Graph/Graph.styles.ts +0 -45
  145. package/src/Graph/Graph.tsx +0 -217
  146. package/src/Graph/Header/index.tsx +0 -65
  147. package/src/Graph/Icons/Downtime.tsx +0 -9
  148. package/src/Graph/InteractiveComponents/AnchorPoint/AnchorPoint.styles.ts +0 -58
  149. package/src/Graph/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  150. package/src/Graph/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  151. package/src/Graph/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  152. package/src/Graph/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -70
  153. package/src/Graph/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  154. package/src/Graph/InteractiveComponents/AnchorPoint/models.ts +0 -62
  155. package/src/Graph/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  156. package/src/Graph/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  157. package/src/Graph/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  158. package/src/Graph/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  159. package/src/Graph/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  160. package/src/Graph/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  161. package/src/Graph/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  162. package/src/Graph/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  163. package/src/Graph/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  164. package/src/Graph/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  165. package/src/Graph/InteractiveComponents/Annotations/index.tsx +0 -49
  166. package/src/Graph/InteractiveComponents/Annotations/models.ts +0 -25
  167. package/src/Graph/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  168. package/src/Graph/InteractiveComponents/Bar.tsx +0 -21
  169. package/src/Graph/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  170. package/src/Graph/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  171. package/src/Graph/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  172. package/src/Graph/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  173. package/src/Graph/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  174. package/src/Graph/InteractiveComponents/Tooltip/index.tsx +0 -59
  175. package/src/Graph/InteractiveComponents/Tooltip/models.ts +0 -9
  176. package/src/Graph/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  177. package/src/Graph/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  178. package/src/Graph/InteractiveComponents/ZoomPreview/models.ts +0 -9
  179. package/src/Graph/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  180. package/src/Graph/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  181. package/src/Graph/InteractiveComponents/index.tsx +0 -168
  182. package/src/Graph/InteractiveComponents/interactionWithGraphAtoms.ts +0 -51
  183. package/src/Graph/Legend/InteractiveValue.tsx +0 -22
  184. package/src/Graph/Legend/Legend.styles.ts +0 -71
  185. package/src/Graph/Legend/LegendContent.tsx +0 -27
  186. package/src/Graph/Legend/LegendHeader.tsx +0 -45
  187. package/src/Graph/Legend/Marker.tsx +0 -43
  188. package/src/Graph/Legend/index.tsx +0 -166
  189. package/src/Graph/Legend/models.ts +0 -11
  190. package/src/Graph/Legend/useInteractiveValues.ts +0 -86
  191. package/src/Graph/Legend/useLegend.ts +0 -114
  192. package/src/Graph/LoadingSkeleton.tsx +0 -44
  193. package/src/Graph/common/index.ts +0 -35
  194. package/src/Graph/graphAtoms.ts +0 -6
  195. package/src/Graph/helpers/doc.ts +0 -560
  196. package/src/Graph/helpers/index.ts +0 -58
  197. package/src/Graph/index.stories.tsx +0 -372
  198. package/src/Graph/index.tsx +0 -90
  199. package/src/Graph/mockedData/annotationData.json +0 -326
  200. package/src/Graph/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  201. package/src/Graph/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  202. package/src/Graph/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  203. package/src/Graph/mockedData/lastDay.json +0 -1326
  204. package/src/Graph/mockedData/lastDayAreaStack.json +0 -3106
  205. package/src/Graph/mockedData/lastDayForward.json +0 -1338
  206. package/src/Graph/mockedData/lastDayThreshold.json +0 -2352
  207. package/src/Graph/mockedData/lastMonth.json +0 -1674
  208. package/src/Graph/mockedData/lastWeek.json +0 -2202
  209. package/src/Graph/mockedData/zoomPreview.json +0 -742
  210. package/src/Graph/models.ts +0 -150
  211. package/src/Graph/timeSeries/index.test.ts +0 -506
  212. package/src/Graph/timeSeries/index.ts +0 -512
  213. package/src/Graph/timeSeries/models.ts +0 -120
  214. package/src/Graph/translatedLabels.ts +0 -9
  215. package/src/Graph/useGraphData.ts +0 -47
  216. package/src/Graph/useGraphIntersection.ts +0 -36
  217. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -161
  218. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  219. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  220. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  221. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  222. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  223. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  224. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  225. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  226. package/src/Listing/Header/index.ts +0 -1
  227. package/src/Listing/Listing.styles.ts +0 -76
  228. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  229. package/src/Listing/Row/EmptyRow.tsx +0 -30
  230. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  231. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -204
  232. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  233. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  234. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  235. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -163
  236. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  237. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  238. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  239. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  240. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  241. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  242. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  243. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  244. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  245. package/src/TimePeriods/helpers/index.ts +0 -26
  246. package/src/TimePeriods/index.stories.tsx +0 -98
  247. package/src/TimePeriods/index.tsx +0 -78
  248. package/src/TimePeriods/mockedData.ts +0 -12
  249. package/src/TimePeriods/models.ts +0 -97
  250. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  251. package/src/TimePeriods/translatedLabels.ts +0 -9
  252. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  253. package/src/TimePeriods/useTimePeriod.ts +0 -49
  254. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  255. package/src/Typography/FluidTypography/index.tsx +0 -51
  256. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  257. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  258. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  259. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  260. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  261. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  262. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  263. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  264. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  265. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  266. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  267. package/src/base/tokens/README.md +0 -3
  268. package/src/base/tokens/source/$metadata.json +0 -5
  269. package/src/base/tokens/source/base.json +0 -142
  270. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  271. package/src/base/tokens/themes/base.tokens.json +0 -695
  272. package/src/base/tokens/themes/base.tokens.ts +0 -38
  273. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  274. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  275. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  276. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  277. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  278. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  279. package/src/components/Button/Button.stories.tsx +0 -34
  280. package/src/components/Button/Button.styles.ts +0 -44
  281. package/src/components/Button/Button.tsx +0 -78
  282. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  283. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  284. package/src/components/Button/Icon/IconButton.tsx +0 -58
  285. package/src/components/Button/Icon/index.tsx +0 -1
  286. package/src/components/Button/index.ts +0 -2
  287. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  288. package/src/components/DataTable/DataTable.styles.ts +0 -27
  289. package/src/components/DataTable/DataTable.tsx +0 -35
  290. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  291. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  292. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  293. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  294. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -39
  295. package/src/components/DataTable/Item/DataTableItem.tsx +0 -102
  296. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  297. package/src/components/DataTable/index.ts +0 -10
  298. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -4
  299. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  300. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -19
  301. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -104
  302. package/src/components/Form/Dashboard/DashboardFormActions.tsx +0 -56
  303. package/src/components/Form/Dashboard/index.ts +0 -2
  304. package/src/components/Form/Dashboard/translatedLabels.ts +0 -6
  305. package/src/components/Form/Form.models.ts +0 -1
  306. package/src/components/Form/index.ts +0 -2
  307. package/src/components/Header/Header.styles.ts +0 -0
  308. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -88
  309. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  310. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  311. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  312. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  313. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  314. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  315. package/src/components/Header/PageHeader/index.ts +0 -12
  316. package/src/components/Header/index.ts +0 -1
  317. package/src/components/Icon/Icon.styles.ts +0 -0
  318. package/src/components/Icon/Icon.tsx +0 -2
  319. package/src/components/Icon/index.ts +0 -0
  320. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  321. package/src/components/Layout/AreaIndicator.tsx +0 -35
  322. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  323. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -40
  324. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  325. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -15
  326. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  327. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  328. package/src/components/Layout/PageLayout/index.ts +0 -10
  329. package/src/components/Layout/index.ts +0 -1
  330. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  331. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  332. package/src/components/Menu/Button/MenuButton.tsx +0 -62
  333. package/src/components/Menu/Button/index.ts +0 -1
  334. package/src/components/Menu/Menu.stories.tsx +0 -71
  335. package/src/components/Menu/Menu.styles.ts +0 -70
  336. package/src/components/Menu/Menu.tsx +0 -25
  337. package/src/components/Menu/MenuDivider.tsx +0 -13
  338. package/src/components/Menu/MenuItem.tsx +0 -36
  339. package/src/components/Menu/MenuItems.tsx +0 -35
  340. package/src/components/Menu/index.ts +0 -12
  341. package/src/components/Menu/useMenu.tsx +0 -79
  342. package/src/components/Modal/Modal.stories.tsx +0 -111
  343. package/src/components/Modal/Modal.styles.ts +0 -55
  344. package/src/components/Modal/Modal.tsx +0 -59
  345. package/src/components/Modal/ModalActions.tsx +0 -59
  346. package/src/components/Modal/ModalBody.tsx +0 -15
  347. package/src/components/Modal/ModalHeader.tsx +0 -21
  348. package/src/components/Modal/index.ts +0 -12
  349. package/src/components/README.md +0 -3
  350. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  351. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  352. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  353. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  354. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  355. package/src/components/Tooltip/Tooltip.styles.ts +0 -5
  356. package/src/components/Tooltip/Tooltip.tsx +0 -46
  357. package/src/components/Tooltip/index.ts +0 -1
  358. package/src/components/index.ts +0 -8
  359. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  360. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  361. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  362. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  363. package/src/utils/docsURL.ts +0 -31
  364. package/src/utils/index.ts +0 -18
  365. package/src/utils/panelSize.ts +0 -15
  366. package/src/utils/sanitizedHTML.ts +0 -18
  367. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  368. package/src/utils/useResizeObserver.ts +0 -6
  369. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  370. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  371. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  372. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  373. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  374. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  375. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  376. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  377. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  378. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  379. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  380. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  381. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  382. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  383. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  384. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  385. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  386. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -0,0 +1,82 @@
1
+ const { equals } = require("ramda");
2
+
3
+ const excludeNodeModulesExceptCentreonUi =
4
+ /node_modules(\\|\/)(?!(centreon-frontend(\\|\/)packages(\\|\/)(ui-context|centreon-ui)))/;
5
+
6
+ module.exports = {
7
+ core: {
8
+ builder: 'webpack5',
9
+ },
10
+ features: {
11
+ previewMdx2: true,
12
+ },
13
+ stories: ['../src/*.stories.mdx', '../src/**/*.stories.@(jsx|tsx)'],
14
+ typescript: {
15
+ reactDocgen: 'react-docgen-typescript'
16
+ },
17
+ addons: [
18
+ 'storybook-addon-mock/register',
19
+ 'storybook-dark-mode',
20
+ '@storybook/addon-controls',
21
+ {
22
+ name: '@storybook/addon-docs',
23
+ options: {
24
+ configureJSX: true,
25
+ },
26
+ },
27
+ ],
28
+ webpackFinal: (config) => {
29
+ delete config.resolve.alias['emotion-theming'];
30
+ delete config.resolve.alias['@emotion/styled'];
31
+ delete config.resolve.alias['@emotion/core'];
32
+
33
+ const configWithoutEmotionAliases = {
34
+ ...config,
35
+ resolve: {
36
+ ...config.resolve,
37
+ extensions: ['.js', '.ts', '.tsx'],
38
+ },
39
+ module: {
40
+ ...config.module,
41
+ rules: [
42
+ {
43
+ test: /\.tsx?$/,
44
+ exclude: /node_modules(\\|\/)(?!(@centreon))/,
45
+ use: {
46
+ loader: 'swc-loader',
47
+ options: {
48
+ jsc: {
49
+ transform: {
50
+ react: {
51
+ runtime: 'automatic',
52
+ },
53
+ },
54
+ parser: {
55
+ syntax: 'typescript',
56
+ },
57
+ },
58
+ parseMap: true,
59
+ },
60
+ }
61
+ },
62
+ {
63
+ exclude: excludeNodeModulesExceptCentreonUi,
64
+ test: /\.(bmp|png|jpg|jpeg|gif|svg)$/,
65
+ use: [
66
+ {
67
+ loader: 'url-loader',
68
+ options: {
69
+ limit: 10000,
70
+ name: '[name].[hash:8].[ext]',
71
+ },
72
+ },
73
+ ],
74
+ },
75
+ ...(config.module.rules.filter(({ type }) => !equals(type, 'asset/resource'))),
76
+ ],
77
+ },
78
+ }
79
+
80
+ return configWithoutEmotionAliases;
81
+ }
82
+ };
@@ -0,0 +1,21 @@
1
+ import { addDecorator } from '@storybook/react';
2
+
3
+ import { useDarkMode } from 'storybook-dark-mode';
4
+
5
+ import { ThemeMode } from '@centreon/ui-context';
6
+
7
+ import StoryBookThemeProvider from '../src/StoryBookThemeProvider';
8
+ import QueryProvider from '../src/api/QueryProvider';
9
+ import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
10
+
11
+
12
+ const withThemeProvider = (story): JSX.Element => (
13
+ <StoryBookThemeProvider themeMode={useDarkMode() ? ThemeMode.dark : ThemeMode.light}>
14
+ <QueryProvider>
15
+ {story()}
16
+ <ReactQueryDevtools />
17
+ </QueryProvider>
18
+ </StoryBookThemeProvider>
19
+ );
20
+
21
+ addDecorator(withThemeProvider);
package/README.md CHANGED
@@ -20,57 +20,27 @@ To start Storybook server, run:
20
20
 
21
21
  `pnpm storybook`
22
22
 
23
+ # Tests
23
24
 
24
- # Add stories
25
+ We have two kind of tests:
26
+ - Unit tests provided by Jest
27
+ - End to End tests provided by Storyshot using Jest. Storyshot is an addon of Storybook that compares graphically our stories.
25
28
 
26
- - Create a file named `index.stories.tsx` along side your component
27
-
28
- - Add a title, the component and argTypes
29
-
30
- ```typescript
31
- export default {
32
- title: 'MyComponent',
33
- Component: MyComponent,
34
- argTypes: {
35
- propA: { control: 'text' },
36
- propB: { control: 'number' },
37
- },
38
- };
39
- ```
29
+ To run Unit tests:
40
30
 
41
- - Create a playground for your component
31
+ `pnpm test`
42
32
 
43
- ```typescript
44
- const Template: ComponentStory<typeof MyComponent> = (args) => (
45
- <MyComponent {...args} />
46
- );
33
+ or
47
34
 
48
- export const Playground = Template.bind({});
49
- ```
35
+ `pnpm t`
50
36
 
51
- - Then add your story
37
+ To run End to End tests:
38
+ - Build Storybook : `pnpm build:storybook`
39
+ - Run all Storyshot tests : `pnpm test:storyshot`
52
40
 
53
- ```typescript
54
- export const basic = Template.bind({});
55
- basic.args = { propA: 'test', propB: 0 };
56
- ```
57
-
58
- # Tests architecture
59
-
60
- There are two kinds of tests in Centreon UI.
61
- - Jest + RTL and Cypress: Component testing. We want to migrate from Jest to Cypress
62
- - Chromatic: Chromatic is a tool that snapshots our stories and better handle snapshots changes using a review process
63
-
64
-
65
- ### Run Jest tests
66
-
67
- ```bash
68
- pnpm t
69
- ```
70
-
71
- ### Run Cypress tests
41
+ You can also test one or more Components using the following syntax:
72
42
 
73
43
  ```bash
74
- pnpm cypress:ui # Opens the Cypress controlled browser to debug tests
75
- pnpm cypress:cli # Runs tests in the terminal
44
+ pnpm test:storyshot -- --story "Title" # Run Storyshot tests about Title component
45
+ pnpm test:storyshot -- --story "Breadcrumb|Title" # Run Storyshot tests about Title and Breadcrumb components
76
46
  ```
package/jest.config.js ADDED
@@ -0,0 +1,20 @@
1
+ const baseConfig = require('../js-config/jest');
2
+
3
+ module.exports = {
4
+ ...baseConfig,
5
+ moduleNameMapper: {
6
+ '\\.(s?css|png|svg)$': 'identity-obj-proxy',
7
+ '^react($|/.+)': '<rootDir>/../../node_modules/react$1'
8
+ },
9
+ reporters: ['default', ['jest-junit', { outputName: 'junit.xml' }]],
10
+ roots: ['<rootDir>/src/'],
11
+ setupFilesAfterEnv: [
12
+ '<rootDir>/setupTests.js',
13
+ '@testing-library/jest-dom/extend-expect'
14
+ ],
15
+ testResultsProcessor: 'jest-junit',
16
+ transform: {
17
+ ...baseConfig.transform,
18
+ '^.+\\.mdx?$': '@storybook/addon-docs/jest-transform-mdx'
19
+ }
20
+ };
package/package.json CHANGED
@@ -1,19 +1,16 @@
1
1
  {
2
2
  "name": "@centreon/ui",
3
- "version": "23.10.36",
3
+ "version": "23.10.37",
4
4
  "description": "Centreon UI Components",
5
+ "main": "src/index.ts",
5
6
  "scripts": {
6
7
  "eslint": "eslint ./src --ext .js,.jsx,.ts,.tsx --max-warnings 0",
7
8
  "eslint:fix": "pnpm eslint --fix",
8
- "storybook": "storybook dev -p 9001 -c .storybook",
9
- "build:storybook": "storybook build -c .storybook -o .out",
10
- "test": "jest",
11
- "test:storybook:local": "test-storybook --url http://127.0.0.1:9001",
12
- "test:ci": "jest --silent --reporter=jest-junit",
13
- "cypress:ui": "cypress open --component --browser=chrome",
14
- "cypress:cli:updateSnapshot": "pnpm cypress:cli --env updateSnapshots=true",
15
- "cypress:cli": "cypress run --component --browser=chrome",
16
- "tokens:transform": "TS_NODE_PROJECT=tsconfig.node.json ts-node style-dictionary.transform.ts"
9
+ "storybook": "start-storybook -p 9001 -c .storybook",
10
+ "build:storybook": "build-storybook -c .storybook -o .out",
11
+ "test": "node testRunner.js",
12
+ "test:storyshot": "pnpm test storyshots.test.js",
13
+ "test:ci": "node testRunner.js --silent --reporter=jest-junit"
17
14
  },
18
15
  "sideEffects": false,
19
16
  "repository": {
@@ -24,108 +21,52 @@
24
21
  "centreon",
25
22
  "react"
26
23
  ],
27
- "author": {
28
- "name": "centreon@centreon.com"
29
- },
24
+ "author": "centreon@centreon.com",
30
25
  "license": "GPL-2.0",
31
26
  "bugs": {
32
27
  "url": "https://github.com/centreon/centreon/issues"
33
28
  },
34
29
  "homepage": "https://github.com/centreon/centreon#readme",
35
- "main": "src/index.ts",
36
- "exports": {
37
- ".": "./src/index.ts",
38
- "./components": "./src/components/index.ts",
39
- "./fonts/*": "./public/fonts/*",
40
- "./test/testRenderer": "./test/testRenderer.tsx"
41
- },
42
- "files": [
43
- "package.json",
44
- "src/*",
45
- "public/*",
46
- "test/*"
47
- ],
48
30
  "devDependencies": {
49
- "@cypress/react": "^7.0.2",
50
- "@cypress/webpack-dev-server": "^3.2.3",
51
31
  "@mdx-js/react": "^2.1.4",
52
- "@simonsmith/cypress-image-snapshot": "^6.1.0",
53
- "@storybook/addon-a11y": "^7.0.9",
54
- "@storybook/addon-docs": "^7.0.9",
55
- "@storybook/addon-essentials": "^7.0.9",
56
- "@storybook/addon-interactions": "^7.0.9",
57
- "@storybook/addon-styling": "^1.0.6",
58
- "@storybook/builder-vite": "^7.0.9",
59
- "@storybook/jest": "^0.1.0",
60
- "@storybook/manager-api": "^7.0.9",
61
- "@storybook/mdx2-csf": "^1.0.0",
62
- "@storybook/preview-api": "^7.0.9",
63
- "@storybook/react": "^7.0.9",
64
- "@storybook/react-vite": "^7.0.9",
65
- "@storybook/test-runner": "^0.10.0",
66
- "@storybook/testing-library": "^0.1.0",
67
- "@storybook/theming": "^7.0.9",
68
- "@testing-library/cypress": "^8.0.7",
69
- "@testing-library/jest-dom": "^5.16.5",
70
- "@testing-library/react": "^13.4.0",
71
- "@testing-library/react-hooks": "^8.0.1",
32
+ "@storybook/addon-docs": "^6.5.16",
33
+ "@storybook/addon-essentials": "^6.5.11",
34
+ "@storybook/addon-storyshots": "^6.5.11",
35
+ "@storybook/addon-storyshots-puppeteer": "^6.5.11",
36
+ "@storybook/builder-webpack5": "^6.5.11",
37
+ "@storybook/manager-webpack5": "^6.5.11",
38
+ "@storybook/mdx2-csf": "^0.0.3",
39
+ "@storybook/react": "^6.5.11",
72
40
  "@types/jest": "^27.5.0",
73
41
  "@types/ramda": "^0.28.12",
74
- "@types/react": "^18.0.26",
75
- "@types/testing-library__jest-dom": "^5.14.6",
76
- "@vitejs/plugin-react": "^4.0.0",
77
- "@vitejs/plugin-react-swc": "^3.3.0",
78
- "axios-mock-adapter": "^1.21.4",
79
- "cypress": "^12.8.0",
42
+ "axios-mock-adapter": "^1.20.0",
43
+ "babel-plugin-require-context-hook": "^1.0.0",
44
+ "clean-webpack-plugin": "^4.0.0",
80
45
  "identity-obj-proxy": "^3.0.0",
81
- "jest-transform-stub": "^2.0.0",
82
- "mochawesome": "^7.1.3",
83
46
  "puppeteer": "^13.7.0",
84
- "react": "^18.2.0",
85
- "react-dom": "^18.2.0",
86
- "react-test-renderer": "^18.2.0",
87
- "remark-gfm": "^3.0.1",
88
- "sass": "^1.62.1",
89
- "speed-measure-vite-plugin": "^0.1.2",
90
- "storybook": "^7.0.9",
91
- "storybook-addon-mock": "^4.0.0",
92
- "storybook-dark-mode": "^3.0.0",
93
- "style-dictionary": "^3.8.0",
94
- "ts-node": "^10.9.1",
95
- "use-resize-observer": "^9.1.0",
96
- "vite": "^4.3.5",
97
- "vite-plugin-svgr": "^3.2.0",
98
- "vite-plugin-turbosnap": "^1.0.2"
47
+ "react-test-renderer": "^18.1.0",
48
+ "storybook-addon-mock": "^2.4.1",
49
+ "storybook-dark-mode": "^1.1.0"
99
50
  },
100
51
  "dependencies": {
101
52
  "@lexical/link": "0.8.0",
102
53
  "@lexical/react": "0.8.0",
103
54
  "@lexical/selection": "0.8.0",
104
55
  "@lexical/utils": "0.8.0",
105
- "@visx/curve": "^2.1.0",
106
- "@visx/pattern": "^3.0.0",
107
- "@visx/scale": "^3.0.0",
108
- "@visx/shape": "^2.12.2",
109
- "@visx/threshold": "^2.12.2",
110
- "@visx/visx": "2.16.0",
111
56
  "anylogger": "^1.0.11",
112
- "d3-array": "3.2.0",
113
57
  "humanize-duration": "^3.27.3",
114
58
  "lexical": "0.8.0",
115
59
  "notistack": "^2.0.8",
116
- "react-grid-layout": "^1.3.4",
117
- "react-html-parser": "^2.0.2",
118
- "react-resizable": "^3.0.5",
119
60
  "react-transition-group": "^4.4.5",
120
- "sanitize-html": "^2.10.0",
121
61
  "ulog": "^2.0.0-beta.19"
122
62
  },
123
63
  "peerDependencies": {
124
64
  "@centreon/ui-context": "file:../ui-context",
125
65
  "@dnd-kit/core": "6.x",
126
66
  "@dnd-kit/sortable": "6.x",
127
- "@dnd-kit/utilities": "3.x",
67
+ "@dnd-kit/utilities": "6.x",
128
68
  "@mui/icons-material": "5.x",
69
+ "@mui/lab": "5.x",
129
70
  "@mui/material": "5.x",
130
71
  "@mui/styles": "5.x",
131
72
  "@tanstack/react-query": "4.x",
@@ -135,9 +76,10 @@
135
76
  "jotai": "2.x",
136
77
  "numeral": "2.x",
137
78
  "ramda": "0.x",
79
+ "react": "18.x",
80
+ "react-dom": "18.x",
138
81
  "react-i18next": "12.x",
139
82
  "react-router-dom": "6.x",
140
- "react-scale-text": "1.x",
141
83
  "resize-observer-polyfill": "1.x",
142
84
  "ts.data.json": "2.x",
143
85
  "tss-react": "4.x"
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable no-underscore-dangle */
2
2
  /* eslint-disable no-undef */
3
-
3
+ // import '@testing-library/jest-dom/extend-expect';
4
4
  import i18n from 'i18next';
5
5
  import { initReactI18next } from 'react-i18next';
6
6
  import fetchMock from 'jest-fetch-mock';
@@ -6,7 +6,7 @@ import {
6
6
  Tooltip
7
7
  } from '@mui/material';
8
8
 
9
- import { getNormalizedId } from '../../utils';
9
+ import getNormalizedId from '../../utils/getNormalizedId';
10
10
 
11
11
  const useStyles = makeStyles()((theme) => ({
12
12
  button: {
@@ -1,4 +1,4 @@
1
- import { ComponentStory } from '@storybook/react';
1
+ import { ComponentMeta, ComponentStory } from '@storybook/react';
2
2
  import { makeStyles } from 'tss-react/mui';
3
3
 
4
4
  import { Theme } from '@mui/material';
@@ -13,7 +13,7 @@ const useStyles = makeStyles()((theme: Theme) => ({
13
13
  }
14
14
  }));
15
15
 
16
- const meta = {
16
+ export default {
17
17
  argTypes: {
18
18
  labelLoading: { control: 'text' },
19
19
  labelSave: { control: 'text' },
@@ -26,13 +26,8 @@ const meta = {
26
26
 
27
27
  component: ButtonSave,
28
28
 
29
- parameters: {
30
- chromatic: { delay: 300 }
31
- },
32
29
  title: 'Button/Save'
33
- };
34
-
35
- export default meta;
30
+ } as ComponentMeta<typeof ButtonSave>;
36
31
 
37
32
  const TemplateButtonSave: ComponentStory<typeof ButtonSave> = (args) => (
38
33
  <ButtonSave {...args} />
@@ -47,7 +42,7 @@ export const loading = (): JSX.Element => <ButtonSave loading />;
47
42
  export const succeeded = (): JSX.Element => <ButtonSave succeeded />;
48
43
 
49
44
  export const normalWithText = (): JSX.Element => (
50
- <ButtonSave labelSave="Save" size="medium" />
45
+ <ButtonSave labelSave="Save" />
51
46
  );
52
47
 
53
48
  export const largeWithText = (): JSX.Element => (
@@ -55,7 +50,7 @@ export const largeWithText = (): JSX.Element => (
55
50
  );
56
51
 
57
52
  export const loadingWithTextAndMediumSize = (): JSX.Element => (
58
- <ButtonSave loading labelLoading="Loading" size="medium" />
53
+ <ButtonSave loading labelLoading="Loading" />
59
54
  );
60
55
 
61
56
  export const succeededWithText = (): JSX.Element => (
@@ -4,7 +4,7 @@ import { makeStyles } from 'tss-react/mui';
4
4
  import { Theme, Tooltip } from '@mui/material';
5
5
  import { LoadingButton } from '@mui/lab';
6
6
 
7
- import { getNormalizedId } from '../../utils';
7
+ import getNormalizedId from '../../utils/getNormalizedId';
8
8
 
9
9
  import StartIcon from './StartIcon';
10
10
  import Content from './Content';
@@ -1,22 +1,12 @@
1
- import { DialogContentText, Typography } from '@mui/material';
1
+ import DialogContentText from '@mui/material/DialogContentText';
2
2
 
3
3
  import Dialog, { Props as DialogProps } from '..';
4
4
 
5
- type Props = DialogProps & {
6
- labelMessage?: string | null;
7
- labelSecondMessage?: string | null;
8
- };
5
+ type Props = DialogProps & { labelMessage?: string | null };
9
6
 
10
- const Confirm = ({
11
- labelMessage,
12
- labelSecondMessage,
13
- ...rest
14
- }: Props): JSX.Element => (
7
+ const Confirm = ({ labelMessage, ...rest }: Props): JSX.Element => (
15
8
  <Dialog {...rest}>
16
- <DialogContentText>
17
- {labelMessage && <Typography>{labelMessage}</Typography>}
18
- {labelSecondMessage && <Typography>{labelSecondMessage}</Typography>}
19
- </DialogContentText>
9
+ {labelMessage && <DialogContentText>{labelMessage}</DialogContentText>}
20
10
  </Dialog>
21
11
  );
22
12
 
@@ -1,4 +1,4 @@
1
- import { render, fireEvent } from '../../../test/testRenderer';
1
+ import { render, fireEvent } from '../../testRenderer';
2
2
 
3
3
  import DialogDuplicate from '.';
4
4
 
@@ -12,8 +12,6 @@ import {
12
12
  CircularProgress
13
13
  } from '@mui/material';
14
14
 
15
- import { DataTestAttributes } from '../@types/data-attributes';
16
-
17
15
  interface StylesProps {
18
16
  contentWidth?: number;
19
17
  }
@@ -37,7 +35,6 @@ export type Props = {
37
35
  confirmDisabled?: boolean;
38
36
  contentWidth?: number;
39
37
  dialogActionsClassName?: string;
40
- dialogConfirmButtonClassName?: string;
41
38
  dialogContentClassName?: string;
42
39
  dialogPaperClassName?: string;
43
40
  dialogTitleClassName?: string;
@@ -49,8 +46,7 @@ export type Props = {
49
46
  onConfirm: (event, value?) => void;
50
47
  open: boolean;
51
48
  submitting?: boolean;
52
- } & DialogProps &
53
- DataTestAttributes;
49
+ } & DialogProps;
54
50
 
55
51
  const Dialog = ({
56
52
  open,
@@ -69,7 +65,6 @@ const Dialog = ({
69
65
  dialogTitleClassName,
70
66
  dialogContentClassName,
71
67
  dialogActionsClassName,
72
- dialogConfirmButtonClassName,
73
68
  ...rest
74
69
  }: Props): JSX.Element => {
75
70
  const { classes, cx } = useStyles({ contentWidth });
@@ -96,20 +91,13 @@ const Dialog = ({
96
91
  )}
97
92
  <DialogActions className={dialogActionsClassName}>
98
93
  {onCancel && (
99
- <Button
100
- color="primary"
101
- data-testid="Cancel"
102
- disabled={cancelDisabled}
103
- onClick={onCancel}
104
- >
94
+ <Button color="primary" disabled={cancelDisabled} onClick={onCancel}>
105
95
  {labelCancel}
106
96
  </Button>
107
97
  )}
108
98
  <Button
109
99
  aria-label={labelConfirm || ''}
110
- className={dialogConfirmButtonClassName}
111
100
  color="primary"
112
- data-testid="Confirm"
113
101
  disabled={confirmDisabled}
114
102
  endIcon={submitting && <CircularProgress size={15} />}
115
103
  onClick={onConfirm}
@@ -7,8 +7,8 @@ import { Typography } from '@mui/material';
7
7
 
8
8
  import LoadingSkeleton from '../LoadingSkeleton';
9
9
  import { CentreonLogo } from '../Logo/CentreonLogo';
10
- import NotAuthorizedTemplateBackgroundDark from '../@assets/images/not-authorized-template-background-dark.svg';
11
- import NotAuthorizedTemplateBackgroundLight from '../@assets/images/not-authorized-template-background-light.svg';
10
+ import NotAuthorizedTemplateBackgroundDark from '../../assets/not-authorized-template-background-dark.svg';
11
+ import NotAuthorizedTemplateBackgroundLight from '../../assets/not-authorized-template-background-light.svg';
12
12
  import { Image } from '..';
13
13
  import { useThemeMode } from '../utils/useThemeMode';
14
14
  import { typedMemo } from '../utils/typedMemo';
@@ -17,7 +17,7 @@ import { alpha, Box, FormHelperText, Typography } from '@mui/material';
17
17
 
18
18
  import { userAtom } from '@centreon/ui-context';
19
19
 
20
- import { useMemoComponent } from '../utils';
20
+ import useMemoComponent from '../utils/useMemoComponent';
21
21
 
22
22
  import { labelDropOr, labelSelectAFile } from './translatedLabels';
23
23
  import useDropzone, { UseDropzoneState } from './useDropzone';
@@ -18,7 +18,6 @@ import { Group } from './Inputs/models';
18
18
 
19
19
  interface Props {
20
20
  children: React.ReactNode;
21
- className?: string;
22
21
  defaultIsOpen?: boolean;
23
22
  group?: Group;
24
23
  hasGroupTitle: boolean;
@@ -51,10 +50,9 @@ const CollapsibleGroup = ({
51
50
  isCollapsible,
52
51
  group,
53
52
  hasGroupTitle,
54
- defaultIsOpen = false,
55
- className
53
+ defaultIsOpen = false
56
54
  }: Props): JSX.Element => {
57
- const { classes, cx } = useStyles();
55
+ const { classes } = useStyles();
58
56
  const { t } = useTranslation();
59
57
 
60
58
  const [isOpen, setIsOpen] = useState(isCollapsible && defaultIsOpen);
@@ -63,8 +61,6 @@ const CollapsibleGroup = ({
63
61
  setIsOpen((currentIsOpen) => !currentIsOpen);
64
62
  };
65
63
 
66
- const containerClassName = className || '';
67
-
68
64
  const CollapseIcon = isOpen ? ExpandMore : ChevronRightIcon;
69
65
  const ContainerComponent = useCallback(
70
66
  ({
@@ -76,13 +72,13 @@ const CollapsibleGroup = ({
76
72
  disableGutters
77
73
  disableRipple
78
74
  aria-label={group?.name}
79
- className={cx(classes.groupTitleContainer, containerClassName)}
75
+ className={classes.groupTitleContainer}
80
76
  onClick={toggle}
81
77
  >
82
78
  {containerComponentChildren}
83
79
  </ListItemButton>
84
80
  ) : (
85
- <Box className={cx(classes.groupTitleContainer, containerClassName)}>
81
+ <Box className={classes.groupTitleContainer}>
86
82
  {containerComponentChildren}
87
83
  </Box>
88
84
  ),
@@ -95,9 +91,7 @@ const CollapsibleGroup = ({
95
91
  <ContainerComponent>
96
92
  {isCollapsible && <CollapseIcon />}
97
93
  <div className={classes.groupTitleIcon}>
98
- <Typography className="groupText" variant="h5">
99
- {t(group?.name as string)}
100
- </Typography>
94
+ <Typography variant="h5">{t(group?.name as string)}</Typography>
101
95
  {group?.EndIcon && (
102
96
  <Tooltip
103
97
  classes={{
@@ -8,7 +8,8 @@ import { makeStyles } from 'tss-react/mui';
8
8
  import { Button } from '@mui/material';
9
9
 
10
10
  import SaveButton from '../Button/Save';
11
- import { useMemoComponent, getNormalizedId } from '../utils';
11
+ import useMemoComponent from '../utils/useMemoComponent';
12
+ import getNormalizedId from '../utils/getNormalizedId';
12
13
 
13
14
  import {
14
15
  labelReset,
@@ -23,7 +24,8 @@ const useStyles = makeStyles()((theme) => ({
23
24
  columnGap: theme.spacing(2),
24
25
  display: 'flex',
25
26
  flexDirection: 'row',
26
- justifyContent: 'flex-end'
27
+ justifyContent: 'flex-end',
28
+ marginTop: theme.spacing(2)
27
29
  }
28
30
  }));
29
31
 
@@ -9,7 +9,7 @@ import { FormHelperText, Stack } from '@mui/material';
9
9
  import SingleAutocompleteField from '../../InputField/Select/Autocomplete';
10
10
  import { labelPressEnterToAccept } from '../translatedLabels';
11
11
  import MultiAutocompleteField from '../../InputField/Select/Autocomplete/Multi';
12
- import { useMemoComponent } from '../../utils';
12
+ import useMemoComponent from '../../utils/useMemoComponent';
13
13
  import { SelectEntry } from '../../InputField/Select';
14
14
 
15
15
  import { InputPropsWithoutGroup, InputType } from './models';
@@ -23,16 +23,14 @@ const useStyles = makeStyles<StylesProps>()(
23
23
  );
24
24
 
25
25
  const Grid = ({ grid }: InputPropsWithoutGroup): JSX.Element => {
26
- const { classes, cx } = useStyles({
26
+ const { classes } = useStyles({
27
27
  alignItems: grid?.alignItems,
28
28
  columns: grid?.columns.length,
29
29
  gridTemplateColumns: grid?.gridTemplateColumns
30
30
  });
31
31
 
32
- const className = grid?.className || '';
33
-
34
32
  return (
35
- <div className={cx(classes.gridFields, className)}>
33
+ <div className={classes.gridFields}>
36
34
  {grid?.columns.map((field) => {
37
35
  const Input = getInput(field.type);
38
36