@centreon/ui 23.10.108 → 23.10.109

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 (517) hide show
  1. package/.storybook/main.js +82 -0
  2. package/.storybook/preview.tsx +21 -0
  3. package/README.md +14 -44
  4. package/jest.config.js +20 -0
  5. package/package.json +31 -96
  6. package/{test/setupTests.js → setupTests.js} +1 -1
  7. package/src/ActionsList/index.stories.tsx +0 -74
  8. package/src/ActionsList/index.tsx +21 -58
  9. package/src/Button/Icon/index.tsx +2 -11
  10. package/src/Button/Save/index.stories.tsx +5 -10
  11. package/src/Button/Save/index.tsx +1 -1
  12. package/src/Dialog/Confirm/index.tsx +4 -17
  13. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  14. package/src/Dialog/index.tsx +2 -14
  15. package/src/FallbackPage/FallbackPage.tsx +2 -2
  16. package/src/FileDropZone/index.tsx +1 -1
  17. package/src/Form/CollapsibleGroup.tsx +5 -15
  18. package/src/Form/FormButtons.tsx +4 -2
  19. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  20. package/src/Form/Inputs/ConnectedAutocomplete.tsx +1 -3
  21. package/src/Form/Inputs/Grid.tsx +2 -4
  22. package/src/Form/Inputs/Radio.tsx +5 -16
  23. package/src/Form/Inputs/Switch.tsx +1 -1
  24. package/src/Form/Inputs/Text.tsx +7 -18
  25. package/src/Form/Inputs/index.tsx +15 -31
  26. package/src/Form/Inputs/models.ts +4 -20
  27. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  28. package/src/Form/{Form.tsx → index.tsx} +16 -38
  29. package/src/Form/storiesData.tsx +3 -50
  30. package/src/Home.stories.mdx +84 -1
  31. package/src/Image/Image.tsx +1 -11
  32. package/src/Image/index.stories.tsx +2 -2
  33. package/src/Image/index.test.tsx +3 -3
  34. package/src/InputField/Search/PersistentTooltip.tsx +6 -10
  35. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -3
  36. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  37. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +7 -3
  38. package/src/InputField/Select/Autocomplete/Connected/index.tsx +6 -32
  39. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  40. package/src/InputField/Select/Autocomplete/Multi/index.tsx +15 -32
  41. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  42. package/src/InputField/Select/Autocomplete/index.tsx +2 -5
  43. package/src/InputField/Select/index.tsx +1 -2
  44. package/src/InputField/Text/index.tsx +9 -14
  45. package/src/Listing/ActionBar/index.tsx +8 -15
  46. package/src/Listing/Cell/DataCell.tsx +68 -43
  47. package/src/Listing/Cell/index.tsx +8 -88
  48. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  49. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  50. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  51. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +105 -28
  52. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  53. package/src/Listing/Skeleton.tsx +11 -0
  54. package/src/Listing/index.stories.tsx +40 -144
  55. package/src/Listing/index.test.tsx +1 -1
  56. package/src/Listing/index.tsx +262 -217
  57. package/src/Listing/models.ts +0 -1
  58. package/src/Listing/tableAtoms.ts +10 -15
  59. package/src/Listing/useStyleTable.ts +9 -9
  60. package/src/ListingPage/index.stories.tsx +8 -21
  61. package/src/ListingPage/index.tsx +38 -20
  62. package/src/Logo/CentreonLogo.tsx +2 -2
  63. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  64. package/src/Panel/Memoized.tsx +1 -1
  65. package/src/Panel/Section/index.test.tsx +1 -1
  66. package/src/Panel/Section/index.tsx +1 -1
  67. package/src/Panel/index.tsx +6 -10
  68. package/src/PopoverMenu/index.tsx +4 -18
  69. package/src/RichTextEditor/ContentEditable.tsx +24 -70
  70. package/src/RichTextEditor/RichTextEditor.tsx +47 -155
  71. package/src/RichTextEditor/index.stories.tsx +0 -14
  72. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  73. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  74. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +10 -3
  75. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -7
  76. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +9 -39
  77. package/src/Snackbar/index.tsx +4 -14
  78. package/src/Snackbar/useSnackbar.tsx +1 -5
  79. package/src/SortableItems/SortableItem.tsx +2 -3
  80. package/src/ThemeProvider/index.tsx +33 -41
  81. package/src/ThemeProvider/palettes.ts +201 -422
  82. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  83. package/src/WallpaperPage/index.stories.tsx +1 -1
  84. package/src/Wizard/ActionsBar.test.tsx +1 -1
  85. package/src/Wizard/WizardContent.tsx +3 -2
  86. package/src/Wizard/index.stories.tsx +18 -5
  87. package/src/Wizard/index.test.tsx +1 -1
  88. package/src/Wizard/index.tsx +5 -20
  89. package/src/Wizard/models.ts +0 -7
  90. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  91. package/src/api/TestQueryProvider.tsx +1 -2
  92. package/src/api/buildListingEndpoint/getSearchQueryParameterValue.ts +26 -35
  93. package/src/api/buildListingEndpoint/index.test.ts +2 -2
  94. package/src/api/buildListingEndpoint/index.ts +1 -1
  95. package/src/api/buildListingEndpoint/models.ts +1 -0
  96. package/src/api/customFetch.ts +0 -10
  97. package/src/api/useFetchQuery/index.ts +15 -19
  98. package/src/api/useMutationQuery/index.ts +20 -41
  99. package/src/api/useRequest/index.ts +6 -9
  100. package/src/index.ts +21 -28
  101. package/src/storyshots.test.js +52 -0
  102. package/{test → src}/testRenderer.tsx +1 -1
  103. package/src/utils/getNormalizedId.ts +3 -1
  104. package/src/utils/useCopyToClipboard.ts +3 -2
  105. package/src/utils/useDebounce.ts +5 -8
  106. package/src/utils/useDeepCallback.ts +3 -1
  107. package/src/utils/useDeepMemo.ts +3 -1
  108. package/src/utils/useIntersectionObserver.ts +5 -5
  109. package/src/utils/useKeyObserver.tsx +3 -1
  110. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  111. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  112. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  113. package/src/utils/useMemoComponent.ts +1 -1
  114. package/testRunner.js +36 -0
  115. package/tsconfig.json +29 -0
  116. package/types/declarations.d.ts +9 -0
  117. package/public/README.md +0 -39
  118. package/public/mockServiceWorker.js +0 -303
  119. package/src/@assets/README.md +0 -5
  120. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  121. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  122. package/src/@assets/icons/downtime.icon.svg +0 -1
  123. package/src/@types/aria-attributes.d.ts +0 -10
  124. package/src/@types/data-attributes.d.ts +0 -3
  125. package/src/@types/globals.d.ts +0 -9
  126. package/src/@types/vite-env.d.ts +0 -2
  127. package/src/ActionsList/ActionsList.styles.ts +0 -116
  128. package/src/ActionsList/models.ts +0 -8
  129. package/src/Checkbox/Checkbox.tsx +0 -109
  130. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  131. package/src/Checkbox/CheckboxGroup/index.tsx +0 -75
  132. package/src/Checkbox/index.stories.tsx +0 -39
  133. package/src/Checkbox/index.tsx +0 -2
  134. package/src/Dashboard/Dashboard.styles.ts +0 -108
  135. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  136. package/src/Dashboard/Grid.tsx +0 -70
  137. package/src/Dashboard/Item.tsx +0 -100
  138. package/src/Dashboard/Layout.tsx +0 -79
  139. package/src/Dashboard/index.tsx +0 -9
  140. package/src/Dashboard/utils.ts +0 -28
  141. package/src/Form/Form.styles.ts +0 -11
  142. package/src/Form/Inputs/Checkbox.tsx +0 -57
  143. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  144. package/src/Form/index.ts +0 -1
  145. package/src/Graph/Gauge/AnimatedPie.tsx +0 -102
  146. package/src/Graph/Gauge/Gauge.stories.tsx +0 -146
  147. package/src/Graph/Gauge/Gauge.tsx +0 -41
  148. package/src/Graph/Gauge/PieData.tsx +0 -63
  149. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -148
  150. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  151. package/src/Graph/Gauge/index.ts +0 -1
  152. package/src/Graph/Gauge/models.ts +0 -20
  153. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  154. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  155. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  156. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  157. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  158. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -99
  159. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  160. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -81
  161. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  162. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  163. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  164. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  165. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  166. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  167. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -142
  168. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  169. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  170. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  171. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  172. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  173. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  174. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  175. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  176. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -62
  177. package/src/Graph/LineChart/Header/index.tsx +0 -65
  178. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  179. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  180. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  181. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  182. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  183. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  184. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  185. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  186. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  187. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  188. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  189. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  190. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  191. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  192. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  193. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  194. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  195. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  196. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  197. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  198. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  199. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  200. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  201. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  202. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  203. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  204. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  205. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  206. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  207. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  208. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  209. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  210. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  211. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  212. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  213. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  214. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -71
  215. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -27
  216. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -45
  217. package/src/Graph/LineChart/Legend/Marker.tsx +0 -43
  218. package/src/Graph/LineChart/Legend/index.tsx +0 -173
  219. package/src/Graph/LineChart/Legend/models.ts +0 -11
  220. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  221. package/src/Graph/LineChart/Legend/useLegend.ts +0 -105
  222. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  223. package/src/Graph/LineChart/LineChart.tsx +0 -303
  224. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  225. package/src/Graph/LineChart/common/index.ts +0 -35
  226. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  227. package/src/Graph/LineChart/helpers/doc.ts +0 -560
  228. package/src/Graph/LineChart/helpers/index.ts +0 -63
  229. package/src/Graph/LineChart/index.stories.tsx +0 -478
  230. package/src/Graph/LineChart/index.tsx +0 -115
  231. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  232. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  233. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  234. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  235. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  236. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  237. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  238. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  239. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  240. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  241. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  242. package/src/Graph/LineChart/models.ts +0 -146
  243. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  244. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  245. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  246. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -197
  247. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -204
  248. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  249. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -103
  250. package/src/Graph/SingleBar/Thresholds.tsx +0 -50
  251. package/src/Graph/SingleBar/index.ts +0 -1
  252. package/src/Graph/SingleBar/models.ts +0 -10
  253. package/src/Graph/Text/Text.stories.tsx +0 -67
  254. package/src/Graph/Text/Text.styles.ts +0 -17
  255. package/src/Graph/Text/Text.tsx +0 -91
  256. package/src/Graph/Text/index.ts +0 -1
  257. package/src/Graph/common/margins.ts +0 -1
  258. package/src/Graph/common/models.ts +0 -19
  259. package/src/Graph/common/timeSeries/index.test.ts +0 -624
  260. package/src/Graph/common/timeSeries/index.ts +0 -626
  261. package/src/Graph/common/timeSeries/models.ts +0 -129
  262. package/src/Graph/common/utils.ts +0 -75
  263. package/src/Graph/index.ts +0 -4
  264. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -127
  265. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  266. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  267. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  268. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  269. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  270. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  271. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  272. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  273. package/src/Listing/Header/index.ts +0 -1
  274. package/src/Listing/Listing.cypress.spec.tsx +0 -122
  275. package/src/Listing/Listing.styles.ts +0 -81
  276. package/src/Listing/ListingDocs.mdx +0 -61
  277. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  278. package/src/Listing/Row/EmptyRow.tsx +0 -30
  279. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  280. package/src/ParentSize/ParentSize.tsx +0 -24
  281. package/src/ParentSize/index.ts +0 -1
  282. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -360
  283. package/src/RichTextEditor/plugins/ToolbarPlugin/AlignPicker.tsx +0 -115
  284. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -197
  285. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -91
  286. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -22
  287. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  288. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  289. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  290. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -166
  291. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  292. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  293. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  294. package/src/TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod.tsx +0 -28
  295. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  296. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  297. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  298. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  299. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  300. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  301. package/src/TimePeriods/helpers/index.ts +0 -26
  302. package/src/TimePeriods/index.stories.tsx +0 -113
  303. package/src/TimePeriods/index.tsx +0 -79
  304. package/src/TimePeriods/mockedData.ts +0 -12
  305. package/src/TimePeriods/models.ts +0 -97
  306. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  307. package/src/TimePeriods/translatedLabels.ts +0 -9
  308. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  309. package/src/TimePeriods/useTimePeriod.ts +0 -49
  310. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  311. package/src/Typography/FluidTypography/index.tsx +0 -51
  312. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  313. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  314. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  315. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  316. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  317. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  318. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  319. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  320. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  321. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  322. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  323. package/src/api/useGraphQuery/index.ts +0 -166
  324. package/src/api/useGraphQuery/models.ts +0 -15
  325. package/src/base/tokens/README.md +0 -3
  326. package/src/base/tokens/source/$metadata.json +0 -5
  327. package/src/base/tokens/source/base.json +0 -142
  328. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  329. package/src/base/tokens/themes/base.tokens.json +0 -695
  330. package/src/base/tokens/themes/base.tokens.ts +0 -38
  331. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  332. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  333. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  334. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  335. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  336. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  337. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  338. package/src/components/Avatar/Avatar.styles.ts +0 -11
  339. package/src/components/Avatar/Avatar.tsx +0 -32
  340. package/src/components/Avatar/index.ts +0 -1
  341. package/src/components/Button/Button.stories.tsx +0 -34
  342. package/src/components/Button/Button.styles.ts +0 -44
  343. package/src/components/Button/Button.tsx +0 -78
  344. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  345. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  346. package/src/components/Button/Icon/IconButton.tsx +0 -58
  347. package/src/components/Button/Icon/index.tsx +0 -1
  348. package/src/components/Button/index.ts +0 -2
  349. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  350. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  351. package/src/components/CollapsibleItem/index.ts +0 -1
  352. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  353. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  354. package/src/components/DataTable/DataTable.styles.ts +0 -27
  355. package/src/components/DataTable/DataTable.tsx +0 -35
  356. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  357. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  358. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  359. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  360. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -33
  361. package/src/components/DataTable/Item/DataTableItem.tsx +0 -123
  362. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  363. package/src/components/DataTable/index.ts +0 -10
  364. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  365. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  366. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  367. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  368. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  369. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  370. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  371. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  372. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  373. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  374. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  375. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  376. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  377. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  378. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  379. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  380. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  381. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  382. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  383. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  384. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  385. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  386. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  387. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  388. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  389. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  390. package/src/components/Form/AccessRights/index.ts +0 -3
  391. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  392. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  393. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  394. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -9
  395. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  396. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -21
  397. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -134
  398. package/src/components/Form/Dashboard/GlobalRefreshFieldOption.tsx +0 -59
  399. package/src/components/Form/Dashboard/index.ts +0 -2
  400. package/src/components/Form/Dashboard/translatedLabels.ts +0 -9
  401. package/src/components/Form/Form.models.ts +0 -1
  402. package/src/components/Form/Form.resource.ts +0 -1
  403. package/src/components/Form/Form.styles.ts +0 -17
  404. package/src/components/Form/FormActions.tsx +0 -57
  405. package/src/components/Form/index.ts +0 -3
  406. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  407. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  408. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  409. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  410. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  411. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  412. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  413. package/src/components/Header/PageHeader/index.ts +0 -12
  414. package/src/components/Header/index.ts +0 -1
  415. package/src/components/Icon/Icon.styles.ts +0 -0
  416. package/src/components/Icon/Icon.tsx +0 -2
  417. package/src/components/Icon/index.ts +0 -0
  418. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  419. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  420. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  421. package/src/components/Inputs/index.ts +0 -1
  422. package/src/components/ItemComposition/Item.tsx +0 -41
  423. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  424. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -29
  425. package/src/components/ItemComposition/ItemComposition.tsx +0 -45
  426. package/src/components/ItemComposition/index.ts +0 -6
  427. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  428. package/src/components/Layout/AreaIndicator.tsx +0 -35
  429. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  430. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -41
  431. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  432. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -24
  433. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  434. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  435. package/src/components/Layout/PageLayout/index.ts +0 -10
  436. package/src/components/Layout/index.ts +0 -1
  437. package/src/components/List/Item/Avatar.tsx +0 -21
  438. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  439. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  440. package/src/components/List/Item/ListItem.styles.ts +0 -57
  441. package/src/components/List/Item/ListItem.tsx +0 -32
  442. package/src/components/List/Item/Text.tsx +0 -25
  443. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  444. package/src/components/List/Item/index.ts +0 -14
  445. package/src/components/List/List.stories.tsx +0 -70
  446. package/src/components/List/List.styles.ts +0 -8
  447. package/src/components/List/List.tsx +0 -19
  448. package/src/components/List/index.ts +0 -6
  449. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  450. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  451. package/src/components/Menu/Button/MenuButton.tsx +0 -65
  452. package/src/components/Menu/Button/index.ts +0 -1
  453. package/src/components/Menu/Menu.stories.tsx +0 -71
  454. package/src/components/Menu/Menu.styles.ts +0 -68
  455. package/src/components/Menu/Menu.tsx +0 -25
  456. package/src/components/Menu/MenuDivider.tsx +0 -13
  457. package/src/components/Menu/MenuItem.tsx +0 -36
  458. package/src/components/Menu/MenuItems.tsx +0 -35
  459. package/src/components/Menu/index.ts +0 -12
  460. package/src/components/Menu/useMenu.tsx +0 -79
  461. package/src/components/Modal/Modal.stories.tsx +0 -142
  462. package/src/components/Modal/Modal.styles.ts +0 -88
  463. package/src/components/Modal/Modal.tsx +0 -79
  464. package/src/components/Modal/ModalActions.tsx +0 -62
  465. package/src/components/Modal/ModalBody.tsx +0 -15
  466. package/src/components/Modal/ModalHeader.tsx +0 -21
  467. package/src/components/Modal/index.ts +0 -12
  468. package/src/components/README.md +0 -3
  469. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.stories.tsx +0 -62
  470. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.styles.tsx +0 -22
  471. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.tsx +0 -68
  472. package/src/components/Tooltip/ConfirmationTooltip/TooltipContent.tsx +0 -31
  473. package/src/components/Tooltip/ConfirmationTooltip/index.ts +0 -1
  474. package/src/components/Tooltip/ConfirmationTooltip/models.ts +0 -18
  475. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  476. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  477. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  478. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  479. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  480. package/src/components/Tooltip/Tooltip.tsx +0 -57
  481. package/src/components/Tooltip/index.ts +0 -2
  482. package/src/components/index.ts +0 -13
  483. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  484. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  485. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  486. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  487. package/src/utils/centreonBaseURL.ts +0 -4
  488. package/src/utils/docsURL.ts +0 -31
  489. package/src/utils/index.ts +0 -22
  490. package/src/utils/panelSize.ts +0 -15
  491. package/src/utils/sanitizedHTML.ts +0 -18
  492. package/src/utils/translatedLabel.ts +0 -2
  493. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  494. package/src/utils/useInfiniteScrollListing.ts +0 -106
  495. package/src/utils/useLicenseExpirationWarning.cypress.spec.tsx +0 -137
  496. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  497. package/src/utils/useRefreshInterval.ts +0 -39
  498. package/src/utils/useResizeObserver.ts +0 -6
  499. package/src/utils/useThresholds.ts +0 -0
  500. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  501. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  502. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  503. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  504. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  505. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  506. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  507. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  508. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  509. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  510. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  511. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  512. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  513. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  514. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  515. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  516. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  517. /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
 
@@ -29,7 +29,6 @@ const actionsBarLabelsDefaultValues = {
29
29
  };
30
30
 
31
31
  const Wizard = ({
32
- classNameDialogContent,
33
32
  steps,
34
33
  onSubmit = undefined,
35
34
  initialValues = {},
@@ -38,11 +37,9 @@ const Wizard = ({
38
37
  open,
39
38
  onClose = undefined,
40
39
  confirmDialogLabels = undefined,
41
- actionsBarLabels = actionsBarLabelsDefaultValues,
42
- displayConfirmDialog,
43
- ...rest
40
+ actionsBarLabels = actionsBarLabelsDefaultValues
44
41
  }: WizardProps): JSX.Element => {
45
- const { classes, cx } = useStyles();
42
+ const { classes } = useStyles();
46
43
  const [currentStep, setCurrentStep] = useState(0);
47
44
  const [sendingRequest, setSendingRequest] = useState(false);
48
45
  const [openConfirm, setOpenConfirm] = useState(false);
@@ -81,18 +78,9 @@ const Wizard = ({
81
78
  bag.setSubmitting(false);
82
79
  };
83
80
 
84
- const controlDisplayConfirmationDialog = (): void => {
85
- if (!equals(displayConfirmDialog, false)) {
86
- setOpenConfirm(displayConfirmDialog ?? true);
87
-
88
- return;
89
- }
90
- onClose?.();
91
- };
92
-
93
81
  const handleClose = (_, reason): void => {
94
82
  if (equals(reason, 'backdropClick')) {
95
- controlDisplayConfirmationDialog();
83
+ setOpenConfirm(true);
96
84
 
97
85
  return;
98
86
  }
@@ -101,6 +89,7 @@ const Wizard = ({
101
89
 
102
90
  const handleCloseConfirm = (confirm): void => {
103
91
  setOpenConfirm(false);
92
+
104
93
  if (!confirm) {
105
94
  return;
106
95
  }
@@ -117,11 +106,9 @@ const Wizard = ({
117
106
  classes={{
118
107
  paper: fullHeight ? classes.fullHeight : undefined
119
108
  }}
120
- data-testid="Dialog"
121
109
  maxWidth={width}
122
110
  open={open}
123
111
  onClose={handleClose}
124
- {...rest}
125
112
  >
126
113
  <Stepper currentStep={currentStep} steps={steps} />
127
114
  <Formik
@@ -132,9 +119,7 @@ const Wizard = ({
132
119
  validationSchema={validationSchema}
133
120
  onSubmit={submit}
134
121
  >
135
- <DialogContent
136
- className={cx(classes.dialogContent, classNameDialogContent)}
137
- >
122
+ <DialogContent className={classes.dialogContent}>
138
123
  <WizardContent
139
124
  actionsBarLabels={actionsBarLabels}
140
125
  currentStep={currentStep}
@@ -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,14 +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
- classNameDialogContent?: string;
49
43
  confirmDialogLabels?: ConfirmDialogLabels;
50
- displayConfirmDialog?: boolean;
51
44
  fullHeight?: boolean;
52
45
  initialValues?: FormikValues;
53
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
  });
@@ -5,10 +5,9 @@ import {
5
5
  prop,
6
6
  head,
7
7
  toPairs,
8
- flatten,
9
- pluck,
10
- uniq,
11
- equals
8
+ pipe,
9
+ map,
10
+ flatten
12
11
  } from 'ramda';
13
12
 
14
13
  import {
@@ -22,7 +21,7 @@ import {
22
21
  GetConditionsSearchQueryParameterValueState
23
22
  } from './models';
24
23
 
25
- export const getFoundFields = ({
24
+ const getFoundFields = ({
26
25
  value,
27
26
  fields
28
27
  }: RegexSearchParameter): Array<SearchMatch> => {
@@ -84,42 +83,32 @@ const getConditionsSearchQueryParameterValue = (
84
83
  return undefined;
85
84
  }
86
85
 
87
- const fields = uniq(pluck('field', conditions));
88
-
89
- const toIndividualOperatorValues = (
90
- listField: string
91
- ): { $or: Array<Record<string, unknown>> } => {
92
- const filteredItems = conditions.filter(({ field }) =>
93
- equals(listField, field)
94
- );
95
-
96
- return {
97
- $or: flatten(
98
- filteredItems.map(({ value, values }) => {
99
- if (!isNil(value)) {
100
- return [
101
- {
102
- [listField]: value
103
- }
104
- ];
105
- }
106
-
107
- return toPairs(values || {}).map(([operator, operatorValue]) => ({
108
- [listField]: {
109
- [operator]: operatorValue
110
- }
111
- }));
112
- })
113
- )
114
- };
86
+ const toIndividualOperatorValues = ({
87
+ field,
88
+ values,
89
+ value
90
+ }: ConditionsSearchParameter): Array<Record<string, unknown>> => {
91
+ if (!isNil(value)) {
92
+ return [
93
+ {
94
+ [field]: value
95
+ }
96
+ ];
97
+ }
98
+
99
+ return toPairs(values || {}).map(([operator, operatorValue]) => ({
100
+ [field]: {
101
+ [operator]: operatorValue
102
+ }
103
+ }));
115
104
  };
116
105
 
117
106
  return {
118
- $and: fields.map(toIndividualOperatorValues)
107
+ $and: pipe(map(toIndividualOperatorValues), flatten)(conditions)
119
108
  };
120
109
  };
121
110
 
122
- export const getSearchQueryParameterValue = (
111
+ const getSearchQueryParameterValue = (
123
112
  search: SearchParameter | undefined
124
113
  ): SearchQueryParameterValue => {
125
114
  if (search === undefined) {
@@ -145,3 +134,5 @@ export const getSearchQueryParameterValue = (
145
134
 
146
135
  return { $and: result };
147
136
  };
137
+
138
+ export default getSearchQueryParameterValue;
@@ -115,7 +115,7 @@ describe(buildListingEndpoint, () => {
115
115
  });
116
116
 
117
117
  expect(decodeURIComponent(endpointWithValues)).toContain(
118
- '&search={"$and":[{"$or":[{"date":{"$gt":"2020-12-01T07:00:00"}},{"date":{"$lt":"2020-12-01T11:00:00"}}]}]}'
118
+ '&search={"$and":[{"date":{"$gt":"2020-12-01T07:00:00"}},{"date":{"$lt":"2020-12-01T11:00:00"}}]}'
119
119
  );
120
120
 
121
121
  const endpointWithValue = buildListingEndpoint({
@@ -134,7 +134,7 @@ describe(buildListingEndpoint, () => {
134
134
  });
135
135
 
136
136
  expect(decodeURIComponent(endpointWithValue)).toContain(
137
- '&search={"$and":[{"$or":[{"is_activated":true}]}]}'
137
+ '&search={"$and":[{"is_activated":true}]}'
138
138
  );
139
139
  });
140
140
  });
@@ -1,7 +1,7 @@
1
1
  import toRawQueryParameters from '../../queryParameters';
2
2
  import { QueryParameter } from '../../queryParameters/models';
3
3
 
4
- import { getSearchQueryParameterValue } from './getSearchQueryParameterValue';
4
+ import getSearchQueryParameterValue from './getSearchQueryParameterValue';
5
5
  import { Parameters, BuildListingEndpointParameters } from './models';
6
6
 
7
7
  const getQueryParameters = ({
@@ -18,6 +18,7 @@ export interface Parameters {
18
18
  search?: SearchParameter;
19
19
  sort?: SortQueryParameterValue;
20
20
  }
21
+
21
22
  export interface SearchParameter {
22
23
  conditions?: Array<ConditionsSearchParameter>;
23
24
  lists?: Array<ListsSearchParameter>;
@@ -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 {
@@ -14,7 +14,6 @@ import { has, includes, not, omit } from 'ramda';
14
14
 
15
15
  import { CatchErrorProps, customFetch, ResponseError } from '../customFetch';
16
16
  import useSnackbar from '../../Snackbar/useSnackbar';
17
- import { useDeepCompare } from '../../utils';
18
17
 
19
18
  export interface UseFetchQueryProps<T> {
20
19
  catchError?: (props: CatchErrorProps) => void;
@@ -31,13 +30,14 @@ export interface UseFetchQueryProps<T> {
31
30
  >;
32
31
  }
33
32
 
34
- export type UseFetchQueryState<T> = {
33
+ export interface UseFetchQueryState<T>
34
+ extends Omit<QueryObserverBaseResult, 'data'> {
35
35
  data?: T;
36
36
  fetchQuery: () => Promise<T | ResponseError>;
37
37
  prefetchNextPage: ({ page, getPrefetchQueryKey }) => void;
38
38
  prefetchPreviousPage: ({ page, getPrefetchQueryKey }) => void;
39
39
  prefetchQuery: ({ endpointParams, queryKey }) => void;
40
- } & Omit<QueryObserverBaseResult, 'data'>;
40
+ }
41
41
 
42
42
  export interface PrefetchEndpointParams {
43
43
  page: number;
@@ -91,6 +91,14 @@ const useFetchQuery = <T extends object>({
91
91
  }
92
92
  };
93
93
 
94
+ useEffect(() => {
95
+ return (): void => {
96
+ queryClient.cancelQueries(getQueryKey());
97
+ };
98
+ }, []);
99
+
100
+ manageError();
101
+
94
102
  const prefetchQuery = ({ endpointParams, queryKey }): void => {
95
103
  queryClient.prefetchQuery(
96
104
  queryKey,
@@ -147,24 +155,12 @@ const useFetchQuery = <T extends object>({
147
155
  );
148
156
  };
149
157
 
150
- const data = useMemo(
151
- () =>
152
- not(has('isError', queryData.data)) ? (queryData.data as T) : undefined,
153
- [queryData.data]
154
- );
158
+ const data = not(has('isError', queryData.data))
159
+ ? (queryData.data as T)
160
+ : undefined;
155
161
 
156
162
  const errorData = queryData.data as ResponseError | undefined;
157
163
 
158
- useEffect(() => {
159
- return (): void => {
160
- queryClient.cancelQueries(getQueryKey());
161
- };
162
- }, []);
163
-
164
- useEffect(() => {
165
- manageError();
166
- }, useDeepCompare([queryData.data]));
167
-
168
164
  return {
169
165
  ...omit(['data'], queryData),
170
166
  data,
@@ -1,18 +1,11 @@
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';
12
6
 
13
7
  import { CatchErrorProps, customFetch, ResponseError } from '../customFetch';
14
8
  import useSnackbar from '../../Snackbar/useSnackbar';
15
- import { useDeepCompare } from '../../utils';
16
9
 
17
10
  export enum Method {
18
11
  DELETE = 'DELETE',
@@ -22,50 +15,43 @@ export enum Method {
22
15
  PUT = 'PUT'
23
16
  }
24
17
 
25
- export type UseMutationQueryProps<T, TMeta> = {
18
+ export interface UseMutationQueryProps<T> {
26
19
  catchError?: (props: CatchErrorProps) => void;
27
20
  decoder?: JsonDecoder.Decoder<T>;
28
21
  defaultFailureMessage?: string;
29
22
  fetchHeaders?: HeadersInit;
30
- getEndpoint: (_meta: TMeta) => string;
23
+ getEndpoint: () => string;
31
24
  httpCodesBypassErrorSnackbar?: Array<number>;
32
25
  method: Method;
33
- } & Omit<UseMutationOptions<T & { _meta?: TMeta }>, 'mutationFn'>;
26
+ }
34
27
 
35
28
  const log = anylogger('API Request');
36
29
 
37
- export type UseMutationQueryState<T> = {
30
+ export interface UseMutationQueryState<T> {
38
31
  isError: boolean;
39
32
  isMutating: boolean;
40
- } & UseMutationResult<T | ResponseError>;
33
+ mutate: (payload) => void;
34
+ mutateAsync: (payload) => Promise<T | ResponseError>;
35
+ }
41
36
 
42
- const useMutationQuery = <T extends object, TMeta>({
37
+ const useMutationQuery = <T extends object>({
43
38
  getEndpoint,
44
39
  catchError,
45
40
  decoder,
46
41
  defaultFailureMessage,
47
42
  fetchHeaders,
48
43
  httpCodesBypassErrorSnackbar = [],
49
- method,
50
- onMutate,
51
- onError,
52
- onSuccess
53
- }: UseMutationQueryProps<T, TMeta>): UseMutationQueryState<T> => {
44
+ method
45
+ }: UseMutationQueryProps<T>): UseMutationQueryState<T> => {
54
46
  const { showErrorMessage } = useSnackbar();
55
47
 
56
- const queryData = useMutation<
57
- T | ResponseError,
58
- ResponseError,
59
- T & { _meta: TMeta }
60
- >(
61
- (_payload: T & { _meta: TMeta }): Promise<T | ResponseError> => {
62
- const { _meta, ...payload } = _payload || {};
63
-
64
- return customFetch<T>({
48
+ const queryData = useMutation<T | ResponseError>(
49
+ (payload): Promise<T | ResponseError> =>
50
+ customFetch<T>({
65
51
  catchError,
66
52
  decoder,
67
53
  defaultFailureMessage,
68
- endpoint: getEndpoint(_meta as TMeta),
54
+ endpoint: getEndpoint(),
69
55
  headers: new Headers({
70
56
  'Content-Type': 'application/x-www-form-urlencoded',
71
57
  ...fetchHeaders
@@ -73,13 +59,7 @@ const useMutationQuery = <T extends object, TMeta>({
73
59
  isMutation: true,
74
60
  method,
75
61
  payload
76
- });
77
- },
78
- {
79
- onError,
80
- onMutate,
81
- onSuccess
82
- }
62
+ })
83
63
  );
84
64
 
85
65
  const manageError = (): void => {
@@ -97,14 +77,13 @@ const useMutationQuery = <T extends object, TMeta>({
97
77
  }
98
78
  };
99
79
 
100
- useEffect(() => {
101
- manageError();
102
- }, useDeepCompare([queryData.data]));
80
+ manageError();
103
81
 
104
82
  return {
105
- ...queryData,
106
83
  isError: (queryData.data as ResponseError | undefined)?.isError || false,
107
- isMutating: queryData.isLoading
84
+ isMutating: queryData.isLoading,
85
+ mutate: queryData.mutate,
86
+ mutateAsync: queryData.mutateAsync
108
87
  };
109
88
  };
110
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
 
@@ -75,10 +73,7 @@ export { default as useCancelTokenSource } from './api/useCancelTokenSource';
75
73
  export { getData, patchData, postData, putData, deleteData } from './api';
76
74
  export { default as useRequest } from './api/useRequest';
77
75
  export { default as buildListingEndpoint } from './api/buildListingEndpoint';
78
- export {
79
- getSearchQueryParameterValue,
80
- getFoundFields
81
- } from './api/buildListingEndpoint/getSearchQueryParameterValue';
76
+ export { default as getSearchQueryParameterValue } from './api/buildListingEndpoint/getSearchQueryParameterValue';
82
77
  export type {
83
78
  Parameters as ListingParameters,
84
79
  BuildListingEndpointParameters,
@@ -87,6 +82,15 @@ export type {
87
82
  } from './api/buildListingEndpoint/models';
88
83
  export { default as buildListingDecoder } from './api/buildListingDecoder';
89
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';
90
94
  export { default as ContentWithCircularLoading } from './ContentWithCircularProgress';
91
95
  export {
92
96
  setUrlQueryParameters,
@@ -98,6 +102,12 @@ export type {
98
102
  ListsSearchParameter
99
103
  } from './api/buildListingEndpoint/models';
100
104
 
105
+ export {
106
+ default as useMemoComponent,
107
+ useDeepCompare
108
+ } from './utils/useMemoComponent';
109
+ export { default as useCopyToClipboard } from './utils/useCopyToClipboard';
110
+
101
111
  export { default as MenuSkeleton } from './MenuSkeleton';
102
112
  export { default as PopoverMenu } from './PopoverMenu';
103
113
 
@@ -116,7 +126,7 @@ export { default as Module } from './Module/index';
116
126
  export { default as LicensedModule } from './Module/LicensedModule';
117
127
  export { default as SnackbarProvider } from './Snackbar/SnackbarProvider';
118
128
  export { default as PersistentTooltip } from './InputField/Search/PersistentTooltip';
119
- export * from './Form';
129
+ export { default as Form, GroupDirection } from './Form';
120
130
  export { InputType } from './Form/Inputs/models';
121
131
  export type {
122
132
  InputProps,
@@ -126,10 +136,6 @@ export type {
126
136
  export { default as Responsive } from './Responsive';
127
137
  export { default as useFetchQuery } from './api/useFetchQuery';
128
138
  export { default as useMutationQuery, Method } from './api/useMutationQuery';
129
- export {
130
- default as useGraphQuery,
131
- resourceTypeQueryParameter
132
- } from './api/useGraphQuery';
133
139
  export { default as QueryProvider } from './api/QueryProvider';
134
140
  export {
135
141
  default as FileDropZone,
@@ -137,28 +143,15 @@ export {
137
143
  } from './FileDropZone';
138
144
  export type { CustomDropZoneContentProps } from './FileDropZone';
139
145
  export { default as TestQueryProvider } from './api/TestQueryProvider';
146
+ export * from './utils/useThemeMode';
147
+ export * from './utils/typedMemo';
140
148
  export * from './FallbackPage/FallbackPage';
141
149
  export * from './Logo/CentreonLogo';
142
150
  export * from './TopCounterElements';
143
151
  export { default as Image, ImageVariant } from './Image/Image';
144
152
  export { default as WallpaperPage } from './WallpaperPage';
145
153
  export { RichTextEditor } from './RichTextEditor';
146
- export {
147
- default as ActionsList,
148
- ActionsListActionDivider
149
- } from './ActionsList';
150
- export type { ActionsListActions } from './ActionsList';
151
- export type { ActionVariants } from './ActionsList/models';
154
+ export { default as ActionsList } from './ActionsList';
155
+ export { getStatusColors, SeverityCode } from './utils/statuses';
152
156
 
153
157
  export type { ResponseError, CatchErrorProps } from './api/customFetch';
154
-
155
- export * from './utils';
156
- export { default as FluidTypography } from './Typography/FluidTypography';
157
- export * from './Dashboard';
158
- export * from './Graph';
159
- export type { LineChartData } from './Graph/common/models';
160
- export * from './Graph/common/timeSeries';
161
-
162
- export { default as TimePeriods } from './TimePeriods';
163
- export { default as SimpleCustomTimePeriod } from './TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod';
164
- export * from './ParentSize';
@@ -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
+ });