@centreon/ui 23.10.68 → 23.10.69

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 (498) 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.tsx +13 -29
  8. package/src/Button/Icon/index.tsx +2 -11
  9. package/src/Button/Save/index.stories.tsx +5 -10
  10. package/src/Button/Save/index.tsx +1 -1
  11. package/src/Dialog/Confirm/index.tsx +4 -17
  12. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  13. package/src/Dialog/index.tsx +2 -14
  14. package/src/FallbackPage/FallbackPage.tsx +2 -2
  15. package/src/FileDropZone/index.tsx +1 -1
  16. package/src/Form/CollapsibleGroup.tsx +5 -15
  17. package/src/Form/FormButtons.tsx +4 -2
  18. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  19. package/src/Form/Inputs/Grid.tsx +2 -4
  20. package/src/Form/Inputs/Radio.tsx +1 -1
  21. package/src/Form/Inputs/Switch.tsx +1 -1
  22. package/src/Form/Inputs/Text.tsx +7 -18
  23. package/src/Form/Inputs/index.tsx +15 -31
  24. package/src/Form/Inputs/models.ts +3 -18
  25. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  26. package/src/Form/{Form.tsx → index.tsx} +16 -38
  27. package/src/Form/storiesData.tsx +3 -50
  28. package/src/Home.stories.mdx +84 -1
  29. package/src/Image/Image.tsx +1 -11
  30. package/src/Image/index.stories.tsx +2 -2
  31. package/src/Image/index.test.tsx +3 -3
  32. package/src/InputField/Search/PersistentTooltip.tsx +2 -7
  33. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -3
  34. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  35. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +1 -1
  36. package/src/InputField/Select/Autocomplete/Connected/index.tsx +4 -25
  37. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  38. package/src/InputField/Select/Autocomplete/Multi/index.tsx +4 -11
  39. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  40. package/src/InputField/Select/Autocomplete/index.tsx +2 -5
  41. package/src/InputField/Select/index.tsx +1 -1
  42. package/src/InputField/Text/index.tsx +9 -14
  43. package/src/Listing/ActionBar/index.tsx +8 -15
  44. package/src/Listing/Cell/DataCell.tsx +69 -44
  45. package/src/Listing/Cell/index.tsx +8 -88
  46. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  47. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  48. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  49. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +105 -28
  50. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  51. package/src/Listing/Skeleton.tsx +11 -0
  52. package/src/Listing/index.stories.tsx +39 -142
  53. package/src/Listing/index.test.tsx +1 -1
  54. package/src/Listing/index.tsx +167 -133
  55. package/src/Listing/models.ts +0 -1
  56. package/src/Listing/tableAtoms.ts +10 -15
  57. package/src/Listing/useStyleTable.ts +9 -9
  58. package/src/ListingPage/index.tsx +1 -1
  59. package/src/Logo/CentreonLogo.tsx +2 -2
  60. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  61. package/src/Panel/Memoized.tsx +1 -1
  62. package/src/Panel/Section/index.test.tsx +1 -1
  63. package/src/Panel/Section/index.tsx +1 -1
  64. package/src/Panel/index.tsx +6 -10
  65. package/src/RichTextEditor/ContentEditable.tsx +19 -56
  66. package/src/RichTextEditor/RichTextEditor.tsx +47 -152
  67. package/src/RichTextEditor/index.stories.tsx +0 -5
  68. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  69. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  70. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +10 -3
  71. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -7
  72. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +7 -33
  73. package/src/Snackbar/index.tsx +4 -14
  74. package/src/Snackbar/useSnackbar.tsx +1 -5
  75. package/src/SortableItems/SortableItem.tsx +2 -3
  76. package/src/ThemeProvider/index.tsx +33 -41
  77. package/src/ThemeProvider/palettes.ts +201 -419
  78. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  79. package/src/WallpaperPage/index.stories.tsx +1 -1
  80. package/src/Wizard/ActionsBar.test.tsx +1 -1
  81. package/src/Wizard/WizardContent.tsx +3 -2
  82. package/src/Wizard/index.stories.tsx +18 -5
  83. package/src/Wizard/index.test.tsx +1 -1
  84. package/src/Wizard/index.tsx +3 -15
  85. package/src/Wizard/models.ts +0 -6
  86. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  87. package/src/api/TestQueryProvider.tsx +1 -2
  88. package/src/api/customFetch.ts +0 -10
  89. package/src/api/useFetchQuery/index.ts +15 -18
  90. package/src/api/useMutationQuery/index.ts +17 -32
  91. package/src/api/useRequest/index.ts +6 -9
  92. package/src/index.ts +19 -11
  93. package/src/storyshots.test.js +52 -0
  94. package/{test → src}/testRenderer.tsx +1 -1
  95. package/src/utils/getNormalizedId.ts +3 -1
  96. package/src/utils/useCopyToClipboard.ts +3 -2
  97. package/src/utils/useDebounce.ts +3 -1
  98. package/src/utils/useDeepCallback.ts +3 -1
  99. package/src/utils/useDeepMemo.ts +3 -1
  100. package/src/utils/useIntersectionObserver.ts +5 -5
  101. package/src/utils/useKeyObserver.tsx +3 -1
  102. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  103. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  104. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  105. package/src/utils/useMemoComponent.ts +1 -1
  106. package/testRunner.js +36 -0
  107. package/tsconfig.json +29 -0
  108. package/types/declarations.d.ts +9 -0
  109. package/public/README.md +0 -39
  110. package/public/mockServiceWorker.js +0 -303
  111. package/src/@assets/README.md +0 -5
  112. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  113. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  114. package/src/@assets/icons/downtime.icon.svg +0 -1
  115. package/src/@types/aria-attributes.d.ts +0 -10
  116. package/src/@types/data-attributes.d.ts +0 -3
  117. package/src/@types/globals.d.ts +0 -9
  118. package/src/@types/vite-env.d.ts +0 -2
  119. package/src/Checkbox/Checkbox.tsx +0 -107
  120. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  121. package/src/Checkbox/CheckboxGroup/index.tsx +0 -66
  122. package/src/Checkbox/index.stories.tsx +0 -39
  123. package/src/Checkbox/index.tsx +0 -2
  124. package/src/Dashboard/Dashboard.styles.ts +0 -95
  125. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  126. package/src/Dashboard/Grid.tsx +0 -70
  127. package/src/Dashboard/Item.tsx +0 -93
  128. package/src/Dashboard/Layout.tsx +0 -76
  129. package/src/Dashboard/index.tsx +0 -9
  130. package/src/Dashboard/utils.ts +0 -28
  131. package/src/Form/Form.styles.ts +0 -11
  132. package/src/Form/Inputs/Checkbox.tsx +0 -57
  133. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  134. package/src/Form/index.ts +0 -1
  135. package/src/Graph/Gauge/AnimatedPie.tsx +0 -98
  136. package/src/Graph/Gauge/Gauge.stories.tsx +0 -146
  137. package/src/Graph/Gauge/Gauge.tsx +0 -42
  138. package/src/Graph/Gauge/PieData.tsx +0 -63
  139. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -141
  140. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  141. package/src/Graph/Gauge/index.ts +0 -1
  142. package/src/Graph/Gauge/models.ts +0 -20
  143. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  144. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  145. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  146. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  147. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  148. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -94
  149. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  150. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -79
  151. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  152. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  153. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  154. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  155. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  156. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  157. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -142
  158. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  159. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  160. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  161. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  162. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  163. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  164. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  165. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  166. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -62
  167. package/src/Graph/LineChart/Header/index.tsx +0 -65
  168. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  169. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  170. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  171. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  172. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  173. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  174. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  175. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  176. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  177. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  178. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  179. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  180. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  181. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  182. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  183. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  184. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  185. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  186. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  187. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  188. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  189. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  190. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  191. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  192. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  193. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  194. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  195. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  196. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  197. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  198. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  199. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  200. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  201. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  202. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  203. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  204. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -71
  205. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -27
  206. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -45
  207. package/src/Graph/LineChart/Legend/Marker.tsx +0 -43
  208. package/src/Graph/LineChart/Legend/index.tsx +0 -171
  209. package/src/Graph/LineChart/Legend/models.ts +0 -11
  210. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  211. package/src/Graph/LineChart/Legend/useLegend.ts +0 -111
  212. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  213. package/src/Graph/LineChart/LineChart.tsx +0 -303
  214. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  215. package/src/Graph/LineChart/common/index.ts +0 -35
  216. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  217. package/src/Graph/LineChart/helpers/doc.ts +0 -560
  218. package/src/Graph/LineChart/helpers/index.ts +0 -63
  219. package/src/Graph/LineChart/index.stories.tsx +0 -478
  220. package/src/Graph/LineChart/index.tsx +0 -114
  221. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  222. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  223. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  224. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  225. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  226. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  227. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  228. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  229. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  230. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  231. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  232. package/src/Graph/LineChart/models.ts +0 -146
  233. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  234. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  235. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  236. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -171
  237. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -168
  238. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  239. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -72
  240. package/src/Graph/SingleBar/Thresholds.tsx +0 -46
  241. package/src/Graph/SingleBar/index.ts +0 -1
  242. package/src/Graph/SingleBar/models.ts +0 -8
  243. package/src/Graph/Text/Text.stories.tsx +0 -67
  244. package/src/Graph/Text/Text.styles.ts +0 -17
  245. package/src/Graph/Text/Text.tsx +0 -91
  246. package/src/Graph/Text/index.ts +0 -1
  247. package/src/Graph/common/margins.ts +0 -1
  248. package/src/Graph/common/models.ts +0 -19
  249. package/src/Graph/common/timeSeries/index.test.ts +0 -609
  250. package/src/Graph/common/timeSeries/index.ts +0 -624
  251. package/src/Graph/common/timeSeries/models.ts +0 -127
  252. package/src/Graph/common/utils.ts +0 -75
  253. package/src/Graph/index.ts +0 -4
  254. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -159
  255. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  256. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  257. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  258. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  259. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  260. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  261. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  262. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  263. package/src/Listing/Header/index.ts +0 -1
  264. package/src/Listing/Listing.cypress.spec.tsx +0 -120
  265. package/src/Listing/Listing.styles.ts +0 -76
  266. package/src/Listing/ListingDocs.mdx +0 -61
  267. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  268. package/src/Listing/Row/EmptyRow.tsx +0 -30
  269. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  270. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -337
  271. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -197
  272. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -92
  273. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -7
  274. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  275. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  276. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  277. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -163
  278. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  279. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  280. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  281. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  282. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  283. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  284. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  285. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  286. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  287. package/src/TimePeriods/helpers/index.ts +0 -26
  288. package/src/TimePeriods/index.stories.tsx +0 -98
  289. package/src/TimePeriods/index.tsx +0 -78
  290. package/src/TimePeriods/mockedData.ts +0 -12
  291. package/src/TimePeriods/models.ts +0 -97
  292. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  293. package/src/TimePeriods/translatedLabels.ts +0 -9
  294. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  295. package/src/TimePeriods/useTimePeriod.ts +0 -49
  296. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  297. package/src/Typography/FluidTypography/index.tsx +0 -51
  298. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  299. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  300. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  301. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  302. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  303. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  304. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  305. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  306. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  307. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  308. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  309. package/src/api/useGraphQuery/index.ts +0 -126
  310. package/src/api/useGraphQuery/models.ts +0 -12
  311. package/src/base/tokens/README.md +0 -3
  312. package/src/base/tokens/source/$metadata.json +0 -5
  313. package/src/base/tokens/source/base.json +0 -142
  314. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  315. package/src/base/tokens/themes/base.tokens.json +0 -695
  316. package/src/base/tokens/themes/base.tokens.ts +0 -38
  317. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  318. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  319. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  320. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  321. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  322. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  323. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  324. package/src/components/Avatar/Avatar.styles.ts +0 -11
  325. package/src/components/Avatar/Avatar.tsx +0 -32
  326. package/src/components/Avatar/index.ts +0 -1
  327. package/src/components/Button/Button.stories.tsx +0 -34
  328. package/src/components/Button/Button.styles.ts +0 -44
  329. package/src/components/Button/Button.tsx +0 -78
  330. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  331. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  332. package/src/components/Button/Icon/IconButton.tsx +0 -58
  333. package/src/components/Button/Icon/index.tsx +0 -1
  334. package/src/components/Button/index.ts +0 -2
  335. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  336. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  337. package/src/components/CollapsibleItem/index.ts +0 -1
  338. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  339. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  340. package/src/components/DataTable/DataTable.styles.ts +0 -27
  341. package/src/components/DataTable/DataTable.tsx +0 -35
  342. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  343. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  344. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  345. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  346. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -39
  347. package/src/components/DataTable/Item/DataTableItem.tsx +0 -102
  348. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  349. package/src/components/DataTable/index.ts +0 -10
  350. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  351. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  352. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  353. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  354. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  355. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  356. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  357. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  358. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  359. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  360. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  361. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  362. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  363. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  364. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  365. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  366. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  367. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  368. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  369. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  370. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  371. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  372. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  373. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  374. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  375. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  376. package/src/components/Form/AccessRights/index.ts +0 -3
  377. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  378. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  379. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  380. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -4
  381. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  382. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -13
  383. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -101
  384. package/src/components/Form/Dashboard/index.ts +0 -2
  385. package/src/components/Form/Dashboard/translatedLabels.ts +0 -6
  386. package/src/components/Form/Form.models.ts +0 -1
  387. package/src/components/Form/Form.resource.ts +0 -1
  388. package/src/components/Form/Form.styles.ts +0 -17
  389. package/src/components/Form/FormActions.tsx +0 -57
  390. package/src/components/Form/index.ts +0 -3
  391. package/src/components/Header/Header.styles.ts +0 -0
  392. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  393. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  394. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  395. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  396. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  397. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  398. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  399. package/src/components/Header/PageHeader/index.ts +0 -12
  400. package/src/components/Header/index.ts +0 -1
  401. package/src/components/Icon/Icon.styles.ts +0 -0
  402. package/src/components/Icon/Icon.tsx +0 -2
  403. package/src/components/Icon/index.ts +0 -0
  404. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  405. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  406. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  407. package/src/components/Inputs/index.ts +0 -1
  408. package/src/components/ItemComposition/Item.tsx +0 -41
  409. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  410. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -26
  411. package/src/components/ItemComposition/ItemComposition.tsx +0 -45
  412. package/src/components/ItemComposition/index.ts +0 -6
  413. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  414. package/src/components/Layout/AreaIndicator.tsx +0 -35
  415. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  416. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -40
  417. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  418. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -15
  419. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  420. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  421. package/src/components/Layout/PageLayout/index.ts +0 -10
  422. package/src/components/Layout/index.ts +0 -1
  423. package/src/components/List/Item/Avatar.tsx +0 -21
  424. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  425. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  426. package/src/components/List/Item/ListItem.styles.ts +0 -57
  427. package/src/components/List/Item/ListItem.tsx +0 -32
  428. package/src/components/List/Item/Text.tsx +0 -25
  429. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  430. package/src/components/List/Item/index.ts +0 -14
  431. package/src/components/List/List.stories.tsx +0 -70
  432. package/src/components/List/List.styles.ts +0 -8
  433. package/src/components/List/List.tsx +0 -19
  434. package/src/components/List/index.ts +0 -6
  435. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  436. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  437. package/src/components/Menu/Button/MenuButton.tsx +0 -62
  438. package/src/components/Menu/Button/index.ts +0 -1
  439. package/src/components/Menu/Menu.stories.tsx +0 -71
  440. package/src/components/Menu/Menu.styles.ts +0 -70
  441. package/src/components/Menu/Menu.tsx +0 -25
  442. package/src/components/Menu/MenuDivider.tsx +0 -13
  443. package/src/components/Menu/MenuItem.tsx +0 -36
  444. package/src/components/Menu/MenuItems.tsx +0 -35
  445. package/src/components/Menu/index.ts +0 -12
  446. package/src/components/Menu/useMenu.tsx +0 -79
  447. package/src/components/Modal/Modal.stories.tsx +0 -142
  448. package/src/components/Modal/Modal.styles.ts +0 -87
  449. package/src/components/Modal/Modal.tsx +0 -79
  450. package/src/components/Modal/ModalActions.tsx +0 -62
  451. package/src/components/Modal/ModalBody.tsx +0 -15
  452. package/src/components/Modal/ModalHeader.tsx +0 -21
  453. package/src/components/Modal/index.ts +0 -12
  454. package/src/components/README.md +0 -3
  455. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  456. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  457. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  458. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  459. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  460. package/src/components/Tooltip/Tooltip.styles.ts +0 -5
  461. package/src/components/Tooltip/Tooltip.tsx +0 -46
  462. package/src/components/Tooltip/index.ts +0 -1
  463. package/src/components/index.ts +0 -13
  464. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  465. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  466. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  467. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  468. package/src/utils/centreonBaseURL.ts +0 -4
  469. package/src/utils/docsURL.ts +0 -31
  470. package/src/utils/index.ts +0 -22
  471. package/src/utils/panelSize.ts +0 -15
  472. package/src/utils/sanitizedHTML.ts +0 -18
  473. package/src/utils/translatedLabel.ts +0 -2
  474. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  475. package/src/utils/useInfiniteScrollListing.ts +0 -106
  476. package/src/utils/useLicenseExpirationWarning.cypress.spec.tsx +0 -137
  477. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  478. package/src/utils/useRefreshInterval.ts +0 -21
  479. package/src/utils/useResizeObserver.ts +0 -6
  480. package/src/utils/useThresholds.ts +0 -0
  481. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  482. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  483. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  484. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  485. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  486. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  487. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  488. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  489. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  490. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  491. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  492. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  493. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  494. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  495. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  496. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  497. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  498. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -201,16 +201,29 @@ export const threeStepsWithCustomConfirmDialogLabels = (): JSX.Element => (
201
201
  />
202
202
  );
203
203
 
204
+ const FirstStep = ({
205
+ disableNextOnSendingRequests
206
+ }: StepComponentProps): JSX.Element => {
207
+ useEffect(() => {
208
+ disableNextOnSendingRequests([true, false, true]);
209
+ setTimeout(() => {
210
+ disableNextOnSendingRequests([false, false, false]);
211
+ }, 1500);
212
+ }, []);
213
+
214
+ return (
215
+ <Typography align="center" variant="h5">
216
+ Sending request...
217
+ </Typography>
218
+ );
219
+ };
220
+
204
221
  export const twoStepsWithSendingRequest = (): JSX.Element => (
205
222
  <Wizard
206
223
  open
207
224
  steps={[
208
225
  {
209
- Component: (): JSX.Element => (
210
- <Typography align="center" variant="h5">
211
- Sending request...
212
- </Typography>
213
- ),
226
+ Component: FirstStep,
214
227
  skipFormChangeCheck: true,
215
228
  stepName: 'First step'
216
229
  },
@@ -8,7 +8,7 @@ import {
8
8
  waitFor,
9
9
  screen,
10
10
  RenderResult
11
- } from '../../test/testRenderer';
11
+ } from '../testRenderer';
12
12
 
13
13
  import { StepComponentProps } from './models';
14
14
 
@@ -37,9 +37,7 @@ const Wizard = ({
37
37
  open,
38
38
  onClose = undefined,
39
39
  confirmDialogLabels = undefined,
40
- actionsBarLabels = actionsBarLabelsDefaultValues,
41
- displayConfirmDialog,
42
- ...rest
40
+ actionsBarLabels = actionsBarLabelsDefaultValues
43
41
  }: WizardProps): JSX.Element => {
44
42
  const { classes } = useStyles();
45
43
  const [currentStep, setCurrentStep] = useState(0);
@@ -80,18 +78,9 @@ const Wizard = ({
80
78
  bag.setSubmitting(false);
81
79
  };
82
80
 
83
- const controlDisplayConfirmationDialog = (): void => {
84
- if (!equals(displayConfirmDialog, false)) {
85
- setOpenConfirm(displayConfirmDialog ?? true);
86
-
87
- return;
88
- }
89
- onClose?.();
90
- };
91
-
92
81
  const handleClose = (_, reason): void => {
93
82
  if (equals(reason, 'backdropClick')) {
94
- controlDisplayConfirmationDialog();
83
+ setOpenConfirm(true);
95
84
 
96
85
  return;
97
86
  }
@@ -100,6 +89,7 @@ const Wizard = ({
100
89
 
101
90
  const handleCloseConfirm = (confirm): void => {
102
91
  setOpenConfirm(false);
92
+
103
93
  if (!confirm) {
104
94
  return;
105
95
  }
@@ -116,11 +106,9 @@ const Wizard = ({
116
106
  classes={{
117
107
  paper: fullHeight ? classes.fullHeight : undefined
118
108
  }}
119
- data-testid="Dialog"
120
109
  maxWidth={width}
121
110
  open={open}
122
111
  onClose={handleClose}
123
- {...rest}
124
112
  >
125
113
  <Stepper currentStep={currentStep} steps={steps} />
126
114
  <Formik
@@ -1,7 +1,5 @@
1
1
  import { FormikValues, FormikErrors, FormikHelpers } from 'formik';
2
2
 
3
- import { DialogProps } from '@mui/material';
4
-
5
3
  export interface StepComponentProps {
6
4
  disableNextOnSendingRequests: (sendingRequests: Array<boolean>) => void;
7
5
  }
@@ -40,13 +38,9 @@ interface ConfirmDialogLabels {
40
38
  labelTitle: string;
41
39
  }
42
40
 
43
- type ValueOf<T> = T[keyof T];
44
-
45
41
  export interface WizardProps {
46
- [key: string]: ValueOf<DialogProps>;
47
42
  actionsBarLabels?: ActionsBarLabels;
48
43
  confirmDialogLabels?: ConfirmDialogLabels;
49
- displayConfirmDialog?: boolean;
50
44
  fullHeight?: boolean;
51
45
  initialValues?: FormikValues;
52
46
  onClose?: () => void;
@@ -5,8 +5,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
5
5
  const client = new QueryClient({
6
6
  defaultOptions: {
7
7
  queries: {
8
- cacheTime: 0,
9
- retry: false
8
+ cacheTime: 0
10
9
  }
11
10
  }
12
11
  });
@@ -10,7 +10,6 @@ interface ApiErrorResponse {
10
10
 
11
11
  export interface ResponseError {
12
12
  additionalInformation?;
13
- data?;
14
13
  isError: boolean;
15
14
  message: string;
16
15
  statusCode: number;
@@ -83,15 +82,6 @@ export const customFetch = <T>({
83
82
  };
84
83
  }
85
84
 
86
- if (equals(response.status, 207)) {
87
- return {
88
- data: data.results,
89
- isError: false,
90
- message: '',
91
- statusCode: response.status
92
- };
93
- }
94
-
95
85
  if (decoder) {
96
86
  return decoder.decodeToPromise(data).catch((error: string) => {
97
87
  catchError({
@@ -1,4 +1,4 @@
1
- import { useEffect, useMemo } from 'react';
1
+ import { useEffect } from 'react';
2
2
 
3
3
  import 'ulog';
4
4
  import {
@@ -30,13 +30,14 @@ export interface UseFetchQueryProps<T> {
30
30
  >;
31
31
  }
32
32
 
33
- export type UseFetchQueryState<T> = {
33
+ export interface UseFetchQueryState<T>
34
+ extends Omit<QueryObserverBaseResult, 'data'> {
34
35
  data?: T;
35
36
  fetchQuery: () => Promise<T | ResponseError>;
36
37
  prefetchNextPage: ({ page, getPrefetchQueryKey }) => void;
37
38
  prefetchPreviousPage: ({ page, getPrefetchQueryKey }) => void;
38
39
  prefetchQuery: ({ endpointParams, queryKey }) => void;
39
- } & Omit<QueryObserverBaseResult, 'data'>;
40
+ }
40
41
 
41
42
  export interface PrefetchEndpointParams {
42
43
  page: number;
@@ -90,6 +91,14 @@ const useFetchQuery = <T extends object>({
90
91
  }
91
92
  };
92
93
 
94
+ useEffect(() => {
95
+ return (): void => {
96
+ queryClient.cancelQueries(getQueryKey());
97
+ };
98
+ }, []);
99
+
100
+ manageError();
101
+
93
102
  const prefetchQuery = ({ endpointParams, queryKey }): void => {
94
103
  queryClient.prefetchQuery(
95
104
  queryKey,
@@ -146,24 +155,12 @@ const useFetchQuery = <T extends object>({
146
155
  );
147
156
  };
148
157
 
149
- const data = useMemo(
150
- () =>
151
- not(has('isError', queryData.data)) ? (queryData.data as T) : undefined,
152
- [queryData.data]
153
- );
158
+ const data = not(has('isError', queryData.data))
159
+ ? (queryData.data as T)
160
+ : undefined;
154
161
 
155
162
  const errorData = queryData.data as ResponseError | undefined;
156
163
 
157
- useEffect(() => {
158
- return (): void => {
159
- queryClient.cancelQueries(getQueryKey());
160
- };
161
- }, []);
162
-
163
- useEffect(() => {
164
- manageError();
165
- }, [queryData.data]);
166
-
167
164
  return {
168
165
  ...omit(['data'], queryData),
169
166
  data,
@@ -1,11 +1,5 @@
1
1
  import 'ulog';
2
- import { useEffect } from 'react';
3
-
4
- import {
5
- useMutation,
6
- UseMutationOptions,
7
- UseMutationResult
8
- } from '@tanstack/react-query';
2
+ import { useMutation } from '@tanstack/react-query';
9
3
  import { JsonDecoder } from 'ts.data.json';
10
4
  import anylogger from 'anylogger';
11
5
  import { includes } from 'ramda';
@@ -21,22 +15,24 @@ export enum Method {
21
15
  PUT = 'PUT'
22
16
  }
23
17
 
24
- export type UseMutationQueryProps<T> = {
18
+ export interface UseMutationQueryProps<T> {
25
19
  catchError?: (props: CatchErrorProps) => void;
26
20
  decoder?: JsonDecoder.Decoder<T>;
27
21
  defaultFailureMessage?: string;
28
22
  fetchHeaders?: HeadersInit;
29
- getEndpoint: (_meta?: Record<string, unknown> | unknown) => string;
23
+ getEndpoint: () => string;
30
24
  httpCodesBypassErrorSnackbar?: Array<number>;
31
25
  method: Method;
32
- } & Omit<UseMutationOptions<T>, 'mutationFn'>;
26
+ }
33
27
 
34
28
  const log = anylogger('API Request');
35
29
 
36
- export type UseMutationQueryState<T> = {
30
+ export interface UseMutationQueryState<T> {
37
31
  isError: boolean;
38
32
  isMutating: boolean;
39
- } & UseMutationResult<T | ResponseError>;
33
+ mutate: (payload) => void;
34
+ mutateAsync: (payload) => Promise<T | ResponseError>;
35
+ }
40
36
 
41
37
  const useMutationQuery = <T extends object>({
42
38
  getEndpoint,
@@ -45,22 +41,17 @@ const useMutationQuery = <T extends object>({
45
41
  defaultFailureMessage,
46
42
  fetchHeaders,
47
43
  httpCodesBypassErrorSnackbar = [],
48
- method,
49
- onMutate,
50
- onError
44
+ method
51
45
  }: UseMutationQueryProps<T>): UseMutationQueryState<T> => {
52
46
  const { showErrorMessage } = useSnackbar();
53
47
 
54
48
  const queryData = useMutation<T | ResponseError>(
55
- // @ts-expect-error useMutation / useMutationQuery is not typed correctly
56
- (_payload: Record<string, unknown> | null): Promise<T | ResponseError> => {
57
- const { _meta, ...payload } = _payload || {};
58
-
59
- return customFetch<T>({
49
+ (payload): Promise<T | ResponseError> =>
50
+ customFetch<T>({
60
51
  catchError,
61
52
  decoder,
62
53
  defaultFailureMessage,
63
- endpoint: getEndpoint(_meta),
54
+ endpoint: getEndpoint(),
64
55
  headers: new Headers({
65
56
  'Content-Type': 'application/x-www-form-urlencoded',
66
57
  ...fetchHeaders
@@ -68,12 +59,7 @@ const useMutationQuery = <T extends object>({
68
59
  isMutation: true,
69
60
  method,
70
61
  payload
71
- });
72
- },
73
- {
74
- onError,
75
- onMutate
76
- }
62
+ })
77
63
  );
78
64
 
79
65
  const manageError = (): void => {
@@ -91,14 +77,13 @@ const useMutationQuery = <T extends object>({
91
77
  }
92
78
  };
93
79
 
94
- useEffect(() => {
95
- manageError();
96
- }, [queryData.data]);
80
+ manageError();
97
81
 
98
82
  return {
99
- ...queryData,
100
83
  isError: (queryData.data as ResponseError | undefined)?.isError || false,
101
- isMutating: queryData.isLoading
84
+ isMutating: queryData.isLoading,
85
+ mutate: queryData.mutate,
86
+ mutateAsync: queryData.mutateAsync
102
87
  };
103
88
  };
104
89
 
@@ -2,7 +2,7 @@ import { useState, useEffect } from 'react';
2
2
 
3
3
  import 'ulog';
4
4
  import axios from 'axios';
5
- import { pathOr, defaultTo, path, includes, or } from 'ramda';
5
+ import { pathOr, defaultTo, path, includes } from 'ramda';
6
6
  import anylogger from 'anylogger';
7
7
  import { JsonDecoder } from 'ts.data.json';
8
8
 
@@ -42,15 +42,12 @@ const useRequest = <TResult>({
42
42
 
43
43
  const showRequestErrorMessage = (error): void => {
44
44
  log.error(error);
45
+ const message = defaultTo(
46
+ pathOr(defaultFailureMessage, ['response', 'data', 'message']),
47
+ getErrorMessage
48
+ )(error);
45
49
 
46
- const message = or(
47
- pathOr(undefined, ['response', 'data', 'message'], error),
48
- pathOr(defaultFailureMessage, ['response', 'data'], error)
49
- );
50
-
51
- const errorMessage = defaultTo(message, getErrorMessage?.(error));
52
-
53
- showErrorMessage(errorMessage as string);
50
+ showErrorMessage(message);
54
51
  };
55
52
 
56
53
  const sendRequest = (params): Promise<TResult> => {
package/src/index.ts CHANGED
@@ -2,8 +2,6 @@ import type { Props as SingleAutocompleteFieldProps } from './InputField/Select/
2
2
 
3
3
  export { default as IconButton } from './Button/Icon';
4
4
 
5
- export { Checkbox, CheckboxGroup } from './Checkbox';
6
-
7
5
  export { default as SingleAutocompleteField } from './InputField/Select/Autocomplete';
8
6
  export type { SingleAutocompleteFieldProps };
9
7
 
@@ -84,6 +82,15 @@ export type {
84
82
  } from './api/buildListingEndpoint/models';
85
83
  export { default as buildListingDecoder } from './api/buildListingDecoder';
86
84
 
85
+ export {
86
+ default as useLocaleDateTimeFormat,
87
+ dateTimeFormat,
88
+ dateFormat,
89
+ timeFormat
90
+ } from './utils/useLocaleDateTimeFormat';
91
+
92
+ export { default as useDebounce } from './utils/useDebounce';
93
+ export { default as useIntersectionObserver } from './utils/useIntersectionObserver';
87
94
  export { default as ContentWithCircularLoading } from './ContentWithCircularProgress';
88
95
  export {
89
96
  setUrlQueryParameters,
@@ -95,6 +102,12 @@ export type {
95
102
  ListsSearchParameter
96
103
  } from './api/buildListingEndpoint/models';
97
104
 
105
+ export {
106
+ default as useMemoComponent,
107
+ useDeepCompare
108
+ } from './utils/useMemoComponent';
109
+ export { default as useCopyToClipboard } from './utils/useCopyToClipboard';
110
+
98
111
  export { default as MenuSkeleton } from './MenuSkeleton';
99
112
  export { default as PopoverMenu } from './PopoverMenu';
100
113
 
@@ -113,7 +126,7 @@ export { default as Module } from './Module/index';
113
126
  export { default as LicensedModule } from './Module/LicensedModule';
114
127
  export { default as SnackbarProvider } from './Snackbar/SnackbarProvider';
115
128
  export { default as PersistentTooltip } from './InputField/Search/PersistentTooltip';
116
- export * from './Form';
129
+ export { default as Form, GroupDirection } from './Form';
117
130
  export { InputType } from './Form/Inputs/models';
118
131
  export type {
119
132
  InputProps,
@@ -123,7 +136,6 @@ export type {
123
136
  export { default as Responsive } from './Responsive';
124
137
  export { default as useFetchQuery } from './api/useFetchQuery';
125
138
  export { default as useMutationQuery, Method } from './api/useMutationQuery';
126
- export { default as useGraphQuery } from './api/useGraphQuery';
127
139
  export { default as QueryProvider } from './api/QueryProvider';
128
140
  export {
129
141
  default as FileDropZone,
@@ -131,6 +143,8 @@ export {
131
143
  } from './FileDropZone';
132
144
  export type { CustomDropZoneContentProps } from './FileDropZone';
133
145
  export { default as TestQueryProvider } from './api/TestQueryProvider';
146
+ export * from './utils/useThemeMode';
147
+ export * from './utils/typedMemo';
134
148
  export * from './FallbackPage/FallbackPage';
135
149
  export * from './Logo/CentreonLogo';
136
150
  export * from './TopCounterElements';
@@ -138,12 +152,6 @@ export { default as Image, ImageVariant } from './Image/Image';
138
152
  export { default as WallpaperPage } from './WallpaperPage';
139
153
  export { RichTextEditor } from './RichTextEditor';
140
154
  export { default as ActionsList } from './ActionsList';
155
+ export { getStatusColors, SeverityCode } from './utils/statuses';
141
156
 
142
157
  export type { ResponseError, CatchErrorProps } from './api/customFetch';
143
-
144
- export * from './utils';
145
- export { default as FluidTypography } from './Typography/FluidTypography';
146
- export * from './Dashboard';
147
- export * from './Graph';
148
- export type { LineChartData } from './Graph/common/models';
149
- export * from './Graph/common/timeSeries';
@@ -0,0 +1,52 @@
1
+ import initStoryshots from '@storybook/addon-storyshots';
2
+ import { imageSnapshot } from '@storybook/addon-storyshots-puppeteer';
3
+
4
+ jest.unmock('axios');
5
+
6
+ const getMatchOptions = () => {
7
+ return {
8
+ failureThreshold: 0.2,
9
+ failureThresholdType: 'percent'
10
+ };
11
+ };
12
+
13
+ const beforeScreenshot = async (page) => {
14
+ await page.addStyleTag({
15
+ content: `
16
+ *,
17
+ *::before,
18
+ *::after {
19
+ animation-delay: -1s !important;
20
+ animation-duration: 0s !important;
21
+ animation-iteration-count: 1 !important;
22
+ background-attachment: initial !important;
23
+ scroll-behavior: auto !important;
24
+ transition-duration: 0s !important;
25
+ transition: none !important;
26
+ }`
27
+ });
28
+
29
+ await page.setViewport({
30
+ height: 1000,
31
+ width: 1000
32
+ });
33
+ };
34
+
35
+ const getStoryKindRegex = () => {
36
+ const config = JSON.parse(process.env.TEST_CONFIGURATION);
37
+ if (!config.story) {
38
+ return null;
39
+ }
40
+
41
+ return new RegExp(`^(${config.story || ''})$`, 'g');
42
+ };
43
+
44
+ initStoryshots({
45
+ storyKindRegex: getStoryKindRegex(),
46
+ suite: 'Image StoryShots',
47
+ test: imageSnapshot({
48
+ beforeScreenshot,
49
+ getMatchOptions,
50
+ storybookUrl: `file://${__dirname}/../.out`
51
+ })
52
+ });
@@ -9,7 +9,7 @@ import fetchMock, { MockParams } from 'jest-fetch-mock';
9
9
 
10
10
  import { ThemeMode } from '@centreon/ui-context';
11
11
 
12
- import ThemeProvider from '../src/StoryBookThemeProvider';
12
+ import ThemeProvider from './StoryBookThemeProvider';
13
13
 
14
14
  interface Props {
15
15
  children: ReactElement;
@@ -1,3 +1,5 @@
1
- export const getNormalizedId = (idToNormalized: string): string => {
1
+ const getNormalizedId = (idToNormalized: string): string => {
2
2
  return idToNormalized?.replace(/[^A-Z0-9]+/gi, '');
3
3
  };
4
+
5
+ export default getNormalizedId;
@@ -10,8 +10,7 @@ interface Props {
10
10
  errorMessage: string;
11
11
  successMessage: string;
12
12
  }
13
-
14
- export const useCopyToClipboard = ({
13
+ const useCopyToClipboard = ({
15
14
  successMessage,
16
15
  errorMessage
17
16
  }: Props): Result => {
@@ -54,3 +53,5 @@ export const useCopyToClipboard = ({
54
53
 
55
54
  return { copy };
56
55
  };
56
+
57
+ export default useCopyToClipboard;
@@ -6,7 +6,7 @@ interface Props {
6
6
  wait: number;
7
7
  }
8
8
 
9
- export const useDebounce = ({
9
+ const useDebounce = ({
10
10
  functionToDebounce,
11
11
  wait,
12
12
  memoProps = []
@@ -23,3 +23,5 @@ export const useDebounce = ({
23
23
  }, wait);
24
24
  }, memoProps);
25
25
  };
26
+
27
+ export default useDebounce;
@@ -7,9 +7,11 @@ interface UseDeepCallback<TParameters, TReturn, TMemoProps> {
7
7
  deps: Array<TMemoProps>;
8
8
  }
9
9
 
10
- export const useDeepCallback = <TParameters, TReturn, TMemoProps>({
10
+ const useDeepCallback = <TParameters, TReturn, TMemoProps>({
11
11
  deps,
12
12
  callback
13
13
  }: UseDeepCallback<TParameters, TReturn, TMemoProps>): ((
14
14
  props: TParameters
15
15
  ) => TReturn) => useCallback((props) => callback(props), useDeepCompare(deps));
16
+
17
+ export default useDeepCallback;
@@ -7,8 +7,10 @@ interface UseDeepMemo<TVariable, TMemoProps> {
7
7
  variable: TVariable;
8
8
  }
9
9
 
10
- export const useDeepMemo = <TVariable, TMemoProps>({
10
+ const useDeepMemo = <TVariable, TMemoProps>({
11
11
  deps,
12
12
  variable
13
13
  }: UseDeepMemo<TVariable, TMemoProps>): TVariable =>
14
14
  useMemo(() => variable, useDeepCompare(deps));
15
+
16
+ export default useDeepMemo;
@@ -2,18 +2,16 @@ import { useRef, useCallback } from 'react';
2
2
 
3
3
  interface HookParam {
4
4
  action: () => void;
5
- intersectionObserverOptions?: IntersectionObserverInit;
6
5
  loading: boolean;
7
6
  maxPage: number;
8
7
  page: number;
9
8
  }
10
9
 
11
- export const useIntersectionObserver = ({
10
+ const useIntersectionObserver = ({
12
11
  maxPage,
13
12
  page,
14
13
  loading,
15
- action,
16
- intersectionObserverOptions
14
+ action
17
15
  }: HookParam): ((node) => void) => {
18
16
  const observer = useRef<IntersectionObserver | null>(null);
19
17
  const lastElementRef = useCallback(
@@ -32,7 +30,7 @@ export const useIntersectionObserver = ({
32
30
  if (entry.isIntersecting && page < maxPage) {
33
31
  action();
34
32
  }
35
- }, intersectionObserverOptions);
33
+ });
36
34
 
37
35
  if (node && observer.current) {
38
36
  observer.current.observe(node);
@@ -43,3 +41,5 @@ export const useIntersectionObserver = ({
43
41
 
44
42
  return lastElementRef;
45
43
  };
44
+
45
+ export default useIntersectionObserver;
@@ -4,7 +4,7 @@ interface UseKeyObserverProps {
4
4
  isShiftKeyDown: boolean;
5
5
  }
6
6
 
7
- export const useKeyObserver = (): UseKeyObserverProps => {
7
+ const useKeyObserver = (): UseKeyObserverProps => {
8
8
  const [isShiftKeyDown, setIsShiftKeyDown] = useState<boolean>(false);
9
9
 
10
10
  const pressShift = (): void => setIsShiftKeyDown(true);
@@ -34,3 +34,5 @@ export const useKeyObserver = (): UseKeyObserverProps => {
34
34
  isShiftKeyDown
35
35
  };
36
36
  };
37
+
38
+ export default useKeyObserver;
@@ -10,7 +10,7 @@ import { Provider, useSetAtom } from 'jotai';
10
10
 
11
11
  import { userAtom, ThemeMode } from '@centreon/ui-context';
12
12
 
13
- import { useLocaleDateTimeFormat } from '.';
13
+ import useLocaleDateTimeFormat from '.';
14
14
 
15
15
  dayjs.extend(timezonePlugin);
16
16
  dayjs.extend(utcPlugin);
@@ -87,4 +87,5 @@ const useLocaleDateTimeFormat = (): LocaleDateTimeFormat => {
87
87
  };
88
88
  };
89
89
 
90
- export { dateTimeFormat, dateFormat, timeFormat, useLocaleDateTimeFormat };
90
+ export default useLocaleDateTimeFormat;
91
+ export { dateTimeFormat, dateFormat, timeFormat };
@@ -10,7 +10,7 @@ import { render, RenderResult } from '@testing-library/react';
10
10
 
11
11
  import { userAtom, ThemeMode } from '@centreon/ui-context';
12
12
 
13
- import { useLocaleDateTimeFormat } from '.';
13
+ import useLocaleDateTimeFormat from '.';
14
14
 
15
15
  dayjs.extend(timezonePlugin);
16
16
  dayjs.extend(utcPlugin);
@@ -19,7 +19,7 @@ interface MemoComponent {
19
19
  memoProps: Array<unknown>;
20
20
  }
21
21
 
22
- export const useMemoComponent = ({
22
+ const useMemoComponent = ({
23
23
  Component,
24
24
  memoProps
25
25
  }: MemoComponent): JSX.Element =>