@centreon/ui 24.4.24 → 24.4.26

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 (576) 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 +34 -109
  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 +3 -12
  10. package/src/Button/Save/Content.tsx +9 -26
  11. package/src/Button/Save/StartIcon.tsx +3 -3
  12. package/src/Button/Save/index.stories.tsx +5 -10
  13. package/src/Button/Save/index.tsx +7 -14
  14. package/src/Dialog/Confirm/index.tsx +4 -17
  15. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  16. package/src/Dialog/index.tsx +3 -15
  17. package/src/FallbackPage/FallbackPage.tsx +5 -5
  18. package/src/FileDropZone/index.tsx +2 -4
  19. package/src/Form/CollapsibleGroup.tsx +5 -15
  20. package/src/Form/FormButtons.tsx +4 -2
  21. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  22. package/src/Form/Inputs/ConnectedAutocomplete.tsx +1 -3
  23. package/src/Form/Inputs/Grid.tsx +2 -4
  24. package/src/Form/Inputs/Radio.tsx +5 -16
  25. package/src/Form/Inputs/Switch.tsx +1 -1
  26. package/src/Form/Inputs/Text.tsx +7 -18
  27. package/src/Form/Inputs/index.tsx +16 -34
  28. package/src/Form/Inputs/models.ts +4 -28
  29. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  30. package/src/Form/{Form.tsx → index.tsx} +16 -38
  31. package/src/Form/storiesData.tsx +3 -50
  32. package/src/Home.stories.mdx +84 -1
  33. package/src/Image/Image.tsx +1 -11
  34. package/src/Image/index.stories.tsx +2 -2
  35. package/src/Image/index.test.tsx +3 -3
  36. package/src/InputField/Search/PersistentTooltip.tsx +6 -10
  37. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -4
  38. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  39. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +7 -4
  40. package/src/InputField/Select/Autocomplete/Connected/index.tsx +15 -56
  41. package/src/InputField/Select/Autocomplete/Draggable/SortableList.tsx +1 -1
  42. package/src/InputField/Select/Autocomplete/Draggable/SortableListContent.tsx +1 -1
  43. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  44. package/src/InputField/Select/Autocomplete/Draggable/index.tsx +1 -1
  45. package/src/InputField/Select/Autocomplete/Multi/index.tsx +15 -32
  46. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  47. package/src/InputField/Select/Autocomplete/index.tsx +114 -123
  48. package/src/InputField/Select/IconPopover/index.tsx +2 -2
  49. package/src/InputField/Select/index.tsx +2 -3
  50. package/src/InputField/Text/index.tsx +11 -21
  51. package/src/Listing/ActionBar/index.tsx +8 -15
  52. package/src/Listing/Cell/DataCell.tsx +69 -58
  53. package/src/Listing/Cell/index.tsx +8 -88
  54. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  55. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  56. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  57. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +106 -29
  58. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  59. package/src/Listing/Skeleton.tsx +11 -0
  60. package/src/Listing/index.stories.tsx +40 -155
  61. package/src/Listing/index.test.tsx +1 -1
  62. package/src/Listing/index.tsx +263 -217
  63. package/src/Listing/models.ts +0 -1
  64. package/src/Listing/tableAtoms.ts +10 -15
  65. package/src/Listing/useStyleTable.ts +9 -9
  66. package/src/ListingPage/index.stories.tsx +8 -21
  67. package/src/ListingPage/index.tsx +38 -20
  68. package/src/Logo/CentreonLogo.tsx +2 -2
  69. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  70. package/src/Module/LicensedModule/LicenseCheck/index.tsx +9 -24
  71. package/src/Module/LicensedModule/index.tsx +1 -7
  72. package/src/Module/index.tsx +4 -2
  73. package/src/Panel/Memoized.tsx +1 -1
  74. package/src/Panel/Section/index.test.tsx +1 -1
  75. package/src/Panel/Section/index.tsx +1 -1
  76. package/src/Panel/index.tsx +6 -10
  77. package/src/PopoverMenu/index.tsx +4 -18
  78. package/src/RichTextEditor/ContentEditable.tsx +24 -70
  79. package/src/RichTextEditor/RichTextEditor.tsx +47 -172
  80. package/src/RichTextEditor/index.stories.tsx +0 -14
  81. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  82. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  83. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +92 -31
  84. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -13
  85. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +10 -35
  86. package/src/RichTextEditor/translatedLabels.ts +0 -3
  87. package/src/Snackbar/index.tsx +4 -14
  88. package/src/Snackbar/useSnackbar.tsx +1 -5
  89. package/src/SortableItems/SortableItem.tsx +2 -3
  90. package/src/SortableItems/index.tsx +7 -2
  91. package/src/ThemeProvider/index.tsx +10 -42
  92. package/src/ThemeProvider/palettes.ts +201 -422
  93. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  94. package/src/WallpaperPage/index.stories.tsx +1 -1
  95. package/src/Wizard/ActionsBar.test.tsx +1 -1
  96. package/src/Wizard/WizardContent.tsx +3 -2
  97. package/src/Wizard/index.stories.tsx +18 -5
  98. package/src/Wizard/index.test.tsx +1 -1
  99. package/src/Wizard/index.tsx +5 -20
  100. package/src/Wizard/models.ts +0 -7
  101. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  102. package/src/api/QueryProvider.tsx +1 -1
  103. package/src/api/TestQueryProvider.tsx +1 -2
  104. package/src/api/buildListingEndpoint/getSearchQueryParameterValue.ts +26 -35
  105. package/src/api/buildListingEndpoint/index.test.ts +2 -2
  106. package/src/api/buildListingEndpoint/index.ts +1 -1
  107. package/src/api/buildListingEndpoint/models.ts +2 -2
  108. package/src/api/customFetch.ts +3 -22
  109. package/src/api/useFetchQuery/index.ts +37 -56
  110. package/src/api/useMutationQuery/index.ts +22 -77
  111. package/src/api/useRequest/index.ts +6 -9
  112. package/src/index.ts +21 -31
  113. package/src/queryParameters/url/index.ts +1 -5
  114. package/src/storyshots.test.js +52 -0
  115. package/{test → src}/testRenderer.tsx +1 -1
  116. package/src/utils/getNormalizedId.ts +3 -1
  117. package/src/utils/useCopyToClipboard.ts +3 -2
  118. package/src/utils/useDebounce.ts +5 -8
  119. package/src/utils/useDeepCallback.ts +3 -1
  120. package/src/utils/useDeepMemo.ts +3 -1
  121. package/src/utils/useIntersectionObserver.ts +5 -5
  122. package/src/utils/useKeyObserver.tsx +3 -1
  123. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  124. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -4
  125. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  126. package/src/utils/useMemoComponent.ts +1 -1
  127. package/testRunner.js +36 -0
  128. package/tsconfig.json +29 -0
  129. package/types/declarations.d.ts +9 -0
  130. package/public/README.md +0 -39
  131. package/public/mockServiceWorker.js +0 -303
  132. package/src/@assets/README.md +0 -5
  133. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  134. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  135. package/src/@assets/icons/downtime.icon.svg +0 -1
  136. package/src/@types/aria-attributes.d.ts +0 -10
  137. package/src/@types/data-attributes.d.ts +0 -3
  138. package/src/@types/globals.d.ts +0 -9
  139. package/src/@types/vite-env.d.ts +0 -2
  140. package/src/ActionsList/ActionsList.styles.ts +0 -116
  141. package/src/ActionsList/models.ts +0 -8
  142. package/src/Checkbox/Checkbox.tsx +0 -109
  143. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  144. package/src/Checkbox/CheckboxGroup/index.tsx +0 -75
  145. package/src/Checkbox/index.stories.tsx +0 -39
  146. package/src/Checkbox/index.tsx +0 -2
  147. package/src/Dashboard/Dashboard.styles.ts +0 -108
  148. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  149. package/src/Dashboard/Grid.tsx +0 -70
  150. package/src/Dashboard/Item.tsx +0 -100
  151. package/src/Dashboard/Layout.tsx +0 -79
  152. package/src/Dashboard/index.tsx +0 -9
  153. package/src/Dashboard/utils.ts +0 -28
  154. package/src/Form/Form.cypress.spec.tsx +0 -133
  155. package/src/Form/Form.styles.ts +0 -11
  156. package/src/Form/Inputs/Checkbox.tsx +0 -57
  157. package/src/Form/Inputs/CheckboxGroup.tsx +0 -73
  158. package/src/Form/Inputs/List/Content.tsx +0 -62
  159. package/src/Form/Inputs/List/List.styles.ts +0 -29
  160. package/src/Form/Inputs/List/List.tsx +0 -58
  161. package/src/Form/Inputs/List/useList.ts +0 -81
  162. package/src/Form/index.ts +0 -1
  163. package/src/Graph/Gauge/AnimatedPie.tsx +0 -102
  164. package/src/Graph/Gauge/Gauge.stories.tsx +0 -159
  165. package/src/Graph/Gauge/Gauge.tsx +0 -41
  166. package/src/Graph/Gauge/PieData.tsx +0 -63
  167. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -148
  168. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  169. package/src/Graph/Gauge/index.ts +0 -1
  170. package/src/Graph/Gauge/models.ts +0 -20
  171. package/src/Graph/HeatMap/HeatMap.stories.tsx +0 -105
  172. package/src/Graph/HeatMap/HeatMap.styles.tsx +0 -29
  173. package/src/Graph/HeatMap/HeatMap.tsx +0 -12
  174. package/src/Graph/HeatMap/HeatMapData.json +0 -137
  175. package/src/Graph/HeatMap/ResponsiveHeatMap.tsx +0 -98
  176. package/src/Graph/HeatMap/index.ts +0 -1
  177. package/src/Graph/HeatMap/model.ts +0 -33
  178. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  179. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  180. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  181. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  182. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  183. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -99
  184. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  185. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -81
  186. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  187. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  188. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  189. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  190. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  191. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  192. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -143
  193. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  194. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  195. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  196. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  197. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  198. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  199. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  200. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  201. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -60
  202. package/src/Graph/LineChart/Header/index.tsx +0 -65
  203. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  204. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  205. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  206. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  207. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  208. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  209. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  210. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  211. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  212. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  213. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  214. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -80
  215. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  216. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  217. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  218. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  219. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  220. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  221. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  222. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  223. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  224. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  225. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  226. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  227. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  228. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  229. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  230. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  231. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  232. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  233. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  234. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  235. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  236. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  237. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  238. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  239. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -117
  240. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -33
  241. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -93
  242. package/src/Graph/LineChart/Legend/index.tsx +0 -201
  243. package/src/Graph/LineChart/Legend/models.ts +0 -16
  244. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  245. package/src/Graph/LineChart/Legend/useLegend.ts +0 -104
  246. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  247. package/src/Graph/LineChart/LineChart.tsx +0 -317
  248. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  249. package/src/Graph/LineChart/common/index.ts +0 -35
  250. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  251. package/src/Graph/LineChart/helpers/doc.ts +0 -563
  252. package/src/Graph/LineChart/helpers/index.ts +0 -63
  253. package/src/Graph/LineChart/index.stories.tsx +0 -480
  254. package/src/Graph/LineChart/index.tsx +0 -115
  255. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  256. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  257. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  258. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  259. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  260. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  261. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  262. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  263. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  264. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  265. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  266. package/src/Graph/LineChart/models.ts +0 -146
  267. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  268. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  269. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  270. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -197
  271. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -204
  272. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  273. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -103
  274. package/src/Graph/SingleBar/Thresholds.tsx +0 -50
  275. package/src/Graph/SingleBar/index.ts +0 -1
  276. package/src/Graph/SingleBar/models.ts +0 -10
  277. package/src/Graph/Text/Text.stories.tsx +0 -123
  278. package/src/Graph/Text/Text.styles.ts +0 -17
  279. package/src/Graph/Text/Text.tsx +0 -91
  280. package/src/Graph/Text/index.ts +0 -1
  281. package/src/Graph/common/margins.ts +0 -1
  282. package/src/Graph/common/models.ts +0 -19
  283. package/src/Graph/common/timeSeries/index.test.ts +0 -624
  284. package/src/Graph/common/timeSeries/index.ts +0 -626
  285. package/src/Graph/common/timeSeries/models.ts +0 -129
  286. package/src/Graph/common/utils.ts +0 -75
  287. package/src/Graph/index.ts +0 -5
  288. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -127
  289. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  290. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  291. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  292. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  293. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  294. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  295. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  296. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  297. package/src/Listing/Header/index.ts +0 -1
  298. package/src/Listing/Listing.cypress.spec.tsx +0 -122
  299. package/src/Listing/Listing.styles.ts +0 -80
  300. package/src/Listing/ListingDocs.mdx +0 -61
  301. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  302. package/src/Listing/Row/EmptyRow.tsx +0 -30
  303. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  304. package/src/Module/Module.cypress.spec.tsx +0 -129
  305. package/src/ParentSize/ParentSize.tsx +0 -24
  306. package/src/ParentSize/index.ts +0 -1
  307. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -408
  308. package/src/RichTextEditor/plugins/ToolbarPlugin/AlignPicker.tsx +0 -116
  309. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -155
  310. package/src/RichTextEditor/plugins/ToolbarPlugin/LinkButton.tsx +0 -106
  311. package/src/RichTextEditor/plugins/ToolbarPlugin/ListButton.tsx +0 -155
  312. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -75
  313. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -32
  314. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  315. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  316. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  317. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -171
  318. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  319. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -59
  320. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  321. package/src/TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod.tsx +0 -28
  322. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  323. package/src/TimePeriods/DateTimePickerInput.tsx +0 -86
  324. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  325. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  326. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -486
  327. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  328. package/src/TimePeriods/helpers/index.ts +0 -26
  329. package/src/TimePeriods/index.stories.tsx +0 -121
  330. package/src/TimePeriods/index.tsx +0 -79
  331. package/src/TimePeriods/mockedData.ts +0 -12
  332. package/src/TimePeriods/models.ts +0 -97
  333. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  334. package/src/TimePeriods/translatedLabels.ts +0 -9
  335. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  336. package/src/TimePeriods/useTimePeriod.ts +0 -49
  337. package/src/Typography/EllipsisTypography.tsx +0 -18
  338. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  339. package/src/Typography/FluidTypography/index.tsx +0 -51
  340. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  341. package/src/Typography/Subtitle.tsx +0 -55
  342. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  343. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  344. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  345. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  346. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  347. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  348. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  349. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  350. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  351. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  352. package/src/api/useGraphQuery/index.ts +0 -166
  353. package/src/api/useGraphQuery/models.ts +0 -15
  354. package/src/base/tokens/README.md +0 -3
  355. package/src/base/tokens/source/$metadata.json +0 -5
  356. package/src/base/tokens/source/base.json +0 -142
  357. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  358. package/src/base/tokens/themes/base.tokens.json +0 -695
  359. package/src/base/tokens/themes/base.tokens.ts +0 -38
  360. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  361. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  362. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  363. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  364. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  365. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  366. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  367. package/src/components/Avatar/Avatar.styles.ts +0 -11
  368. package/src/components/Avatar/Avatar.tsx +0 -32
  369. package/src/components/Avatar/index.ts +0 -1
  370. package/src/components/Button/Button.stories.tsx +0 -34
  371. package/src/components/Button/Button.styles.ts +0 -44
  372. package/src/components/Button/Button.tsx +0 -78
  373. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  374. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  375. package/src/components/Button/Icon/IconButton.tsx +0 -62
  376. package/src/components/Button/Icon/index.tsx +0 -1
  377. package/src/components/Button/index.ts +0 -2
  378. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  379. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  380. package/src/components/CollapsibleItem/index.ts +0 -1
  381. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  382. package/src/components/DataTable/DataListing.tsx +0 -6
  383. package/src/components/DataTable/DataTable.cypress.spec.tsx +0 -193
  384. package/src/components/DataTable/DataTable.stories.tsx +0 -91
  385. package/src/components/DataTable/DataTable.styles.ts +0 -30
  386. package/src/components/DataTable/DataTable.tsx +0 -35
  387. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  388. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  389. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  390. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  391. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -38
  392. package/src/components/DataTable/Item/DataTableItem.tsx +0 -123
  393. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  394. package/src/components/DataTable/index.ts +0 -12
  395. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  396. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  397. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  398. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  399. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  400. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  401. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  402. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  403. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  404. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  405. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  406. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  407. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  408. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  409. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  410. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  411. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  412. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  413. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  414. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  415. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -54
  416. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  417. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  418. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  419. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  420. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  421. package/src/components/Form/AccessRights/index.ts +0 -3
  422. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  423. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  424. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  425. package/src/components/Form/AccessRightsV2/AccessRights.cypress.spec.tsx +0 -350
  426. package/src/components/Form/AccessRightsV2/AccessRights.stories.tsx +0 -119
  427. package/src/components/Form/AccessRightsV2/AccessRights.styles.ts +0 -10
  428. package/src/components/Form/AccessRightsV2/AccessRights.tsx +0 -60
  429. package/src/components/Form/AccessRightsV2/Actions/Actions.styles.ts +0 -14
  430. package/src/components/Form/AccessRightsV2/Actions/Actions.tsx +0 -81
  431. package/src/components/Form/AccessRightsV2/Actions/useActions.ts +0 -79
  432. package/src/components/Form/AccessRightsV2/List/Item.tsx +0 -90
  433. package/src/components/Form/AccessRightsV2/List/List.styles.tsx +0 -45
  434. package/src/components/Form/AccessRightsV2/List/List.tsx +0 -52
  435. package/src/components/Form/AccessRightsV2/List/ListItemSkeleton.tsx +0 -18
  436. package/src/components/Form/AccessRightsV2/List/ListSkeleton.tsx +0 -22
  437. package/src/components/Form/AccessRightsV2/List/RemoveAccessRight.tsx +0 -38
  438. package/src/components/Form/AccessRightsV2/List/StateChip.tsx +0 -28
  439. package/src/components/Form/AccessRightsV2/List/useItem.ts +0 -64
  440. package/src/components/Form/AccessRightsV2/Provider.tsx +0 -15
  441. package/src/components/Form/AccessRightsV2/ShareInput/ContactSwitch.tsx +0 -42
  442. package/src/components/Form/AccessRightsV2/ShareInput/ShareInput.styles.ts +0 -9
  443. package/src/components/Form/AccessRightsV2/ShareInput/ShareInput.tsx +0 -77
  444. package/src/components/Form/AccessRightsV2/ShareInput/useShareInput.tsx +0 -109
  445. package/src/components/Form/AccessRightsV2/Stats/Stats.tsx +0 -36
  446. package/src/components/Form/AccessRightsV2/atoms.ts +0 -97
  447. package/src/components/Form/AccessRightsV2/common/RoleSelectField.styles.tsx +0 -7
  448. package/src/components/Form/AccessRightsV2/common/RoleSelectField.tsx +0 -45
  449. package/src/components/Form/AccessRightsV2/models.ts +0 -54
  450. package/src/components/Form/AccessRightsV2/storiesData.ts +0 -221
  451. package/src/components/Form/AccessRightsV2/useAccessRightsInitValues.ts +0 -51
  452. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -9
  453. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  454. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -21
  455. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -137
  456. package/src/components/Form/Dashboard/GlobalRefreshFieldOption.tsx +0 -59
  457. package/src/components/Form/Dashboard/index.ts +0 -2
  458. package/src/components/Form/Dashboard/translatedLabels.ts +0 -9
  459. package/src/components/Form/Form.models.ts +0 -1
  460. package/src/components/Form/Form.resource.ts +0 -1
  461. package/src/components/Form/Form.styles.ts +0 -17
  462. package/src/components/Form/FormActions.tsx +0 -57
  463. package/src/components/Form/index.ts +0 -4
  464. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  465. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -126
  466. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  467. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  468. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  469. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  470. package/src/components/Header/PageHeader/PageHeaderMessage.tsx +0 -32
  471. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  472. package/src/components/Header/PageHeader/index.ts +0 -14
  473. package/src/components/Header/index.ts +0 -1
  474. package/src/components/Icon/Icon.styles.ts +0 -0
  475. package/src/components/Icon/Icon.tsx +0 -2
  476. package/src/components/Icon/index.ts +0 -0
  477. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  478. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  479. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  480. package/src/components/Inputs/index.ts +0 -1
  481. package/src/components/ItemComposition/Item.tsx +0 -41
  482. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  483. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -29
  484. package/src/components/ItemComposition/ItemComposition.tsx +0 -47
  485. package/src/components/ItemComposition/index.ts +0 -6
  486. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  487. package/src/components/Layout/AreaIndicator.tsx +0 -35
  488. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  489. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -41
  490. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  491. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -25
  492. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -25
  493. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -19
  494. package/src/components/Layout/PageLayout/PageQuickAccess.tsx +0 -76
  495. package/src/components/Layout/PageLayout/index.ts +0 -12
  496. package/src/components/Layout/PageLayout.cypress.spec.tsx +0 -66
  497. package/src/components/Layout/index.ts +0 -1
  498. package/src/components/List/Item/Avatar.tsx +0 -21
  499. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  500. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  501. package/src/components/List/Item/ListItem.styles.ts +0 -63
  502. package/src/components/List/Item/ListItem.tsx +0 -34
  503. package/src/components/List/Item/Text.tsx +0 -27
  504. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  505. package/src/components/List/Item/index.ts +0 -14
  506. package/src/components/List/List.stories.tsx +0 -70
  507. package/src/components/List/List.styles.ts +0 -8
  508. package/src/components/List/List.tsx +0 -19
  509. package/src/components/List/index.ts +0 -6
  510. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  511. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  512. package/src/components/Menu/Button/MenuButton.tsx +0 -67
  513. package/src/components/Menu/Button/index.ts +0 -1
  514. package/src/components/Menu/Menu.stories.tsx +0 -71
  515. package/src/components/Menu/Menu.styles.ts +0 -68
  516. package/src/components/Menu/Menu.tsx +0 -25
  517. package/src/components/Menu/MenuDivider.tsx +0 -13
  518. package/src/components/Menu/MenuItem.tsx +0 -38
  519. package/src/components/Menu/MenuItems.tsx +0 -36
  520. package/src/components/Menu/index.ts +0 -12
  521. package/src/components/Menu/useMenu.tsx +0 -79
  522. package/src/components/Modal/Modal.stories.tsx +0 -142
  523. package/src/components/Modal/Modal.styles.ts +0 -91
  524. package/src/components/Modal/Modal.tsx +0 -79
  525. package/src/components/Modal/ModalActions.tsx +0 -64
  526. package/src/components/Modal/ModalBody.tsx +0 -15
  527. package/src/components/Modal/ModalHeader.tsx +0 -21
  528. package/src/components/Modal/index.ts +0 -12
  529. package/src/components/README.md +0 -3
  530. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.stories.tsx +0 -62
  531. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.styles.tsx +0 -22
  532. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.tsx +0 -68
  533. package/src/components/Tooltip/ConfirmationTooltip/TooltipContent.tsx +0 -31
  534. package/src/components/Tooltip/ConfirmationTooltip/index.ts +0 -1
  535. package/src/components/Tooltip/ConfirmationTooltip/models.ts +0 -18
  536. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  537. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  538. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  539. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  540. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  541. package/src/components/Tooltip/Tooltip.tsx +0 -57
  542. package/src/components/Tooltip/index.ts +0 -2
  543. package/src/components/index.ts +0 -13
  544. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  545. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  546. package/src/utils/centreonBaseURL.ts +0 -4
  547. package/src/utils/docsURL.ts +0 -31
  548. package/src/utils/index.ts +0 -22
  549. package/src/utils/panelSize.ts +0 -15
  550. package/src/utils/sanitizedHTML.ts +0 -18
  551. package/src/utils/translatedLabel.ts +0 -2
  552. package/src/utils/useInfiniteScrollListing.ts +0 -121
  553. package/src/utils/useLicenseExpirationWarning.test.tsx +0 -148
  554. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  555. package/src/utils/usePluralizedTranslation.ts +0 -21
  556. package/src/utils/useRefreshInterval.ts +0 -39
  557. package/src/utils/useResizeObserver.ts +0 -6
  558. package/src/utils/useThresholds.ts +0 -0
  559. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  560. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  561. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  562. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  563. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  564. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  565. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  566. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  567. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  568. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  569. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  570. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  571. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  572. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  573. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  574. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  575. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  576. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -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
- import { includes, omit } from 'ramda';
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,75 +15,43 @@ export enum Method {
22
15
  PUT = 'PUT'
23
16
  }
24
17
 
25
- export type UseMutationQueryProps<T, TMeta> = {
26
- baseEndpoint?: string;
18
+ export interface UseMutationQueryProps<T> {
27
19
  catchError?: (props: CatchErrorProps) => void;
28
20
  decoder?: JsonDecoder.Decoder<T>;
29
21
  defaultFailureMessage?: string;
30
22
  fetchHeaders?: HeadersInit;
31
- getEndpoint: (_meta: TMeta) => string;
23
+ getEndpoint: () => string;
32
24
  httpCodesBypassErrorSnackbar?: Array<number>;
33
25
  method: Method;
34
- onError?: (
35
- error: ResponseError,
36
- variables: T & { _meta: TMeta },
37
- context: unknown
38
- ) => unknown;
39
- onMutate?: (variables: T & { _meta: TMeta }) => Promise<unknown> | unknown;
40
- onSuccess?: (
41
- data: ResponseError | T,
42
- variables: T & {
43
- _meta: TMeta;
44
- },
45
- context: unknown
46
- ) => unknown;
47
- } & Omit<
48
- UseMutationOptions<T & { _meta?: TMeta }>,
49
- 'mutationFn' | 'onError' | 'onMutate' | 'onSuccess'
50
- >;
26
+ }
51
27
 
52
28
  const log = anylogger('API Request');
53
29
 
54
- export type UseMutationQueryState<T> = Omit<
55
- UseMutationResult<T | ResponseError>,
56
- 'isError'
57
- > & {
30
+ export interface UseMutationQueryState<T> {
58
31
  isError: boolean;
59
32
  isMutating: boolean;
60
- };
33
+ mutate: (payload) => void;
34
+ mutateAsync: (payload) => Promise<T | ResponseError>;
35
+ }
61
36
 
62
- const useMutationQuery = <T extends object, TMeta>({
37
+ const useMutationQuery = <T extends object>({
63
38
  getEndpoint,
64
39
  catchError,
65
40
  decoder,
66
41
  defaultFailureMessage,
67
42
  fetchHeaders,
68
43
  httpCodesBypassErrorSnackbar = [],
69
- method,
70
- onMutate,
71
- onError,
72
- onSuccess,
73
- onSettled,
74
- baseEndpoint
75
- }: UseMutationQueryProps<T, TMeta>): UseMutationQueryState<T> => {
44
+ method
45
+ }: UseMutationQueryProps<T>): UseMutationQueryState<T> => {
76
46
  const { showErrorMessage } = useSnackbar();
77
47
 
78
- const queryData = useMutation<
79
- T | ResponseError,
80
- ResponseError,
81
- T & { _meta: TMeta }
82
- >({
83
- mutationFn: (
84
- _payload: T & { _meta: TMeta }
85
- ): Promise<T | ResponseError> => {
86
- const { _meta, ...payload } = _payload || {};
87
-
88
- return customFetch<T>({
89
- baseEndpoint,
48
+ const queryData = useMutation<T | ResponseError>(
49
+ (payload): Promise<T | ResponseError> =>
50
+ customFetch<T>({
90
51
  catchError,
91
52
  decoder,
92
53
  defaultFailureMessage,
93
- endpoint: getEndpoint(_meta as TMeta),
54
+ endpoint: getEndpoint(),
94
55
  headers: new Headers({
95
56
  'Content-Type': 'application/x-www-form-urlencoded',
96
57
  ...fetchHeaders
@@ -98,20 +59,8 @@ const useMutationQuery = <T extends object, TMeta>({
98
59
  isMutation: true,
99
60
  method,
100
61
  payload
101
- });
102
- },
103
- onError,
104
- onMutate,
105
- onSettled,
106
- onSuccess: (data, variables, context) => {
107
- if (data?.isError) {
108
- onError?.(data, variables, context);
109
-
110
- return;
111
- }
112
- onSuccess?.(data, variables, context);
113
- }
114
- });
62
+ })
63
+ );
115
64
 
116
65
  const manageError = (): void => {
117
66
  const data = queryData.data as ResponseError | undefined;
@@ -128,17 +77,13 @@ const useMutationQuery = <T extends object, TMeta>({
128
77
  }
129
78
  };
130
79
 
131
- useEffect(
132
- () => {
133
- manageError();
134
- },
135
- useDeepCompare([queryData.data])
136
- );
80
+ manageError();
137
81
 
138
82
  return {
139
- ...omit(['isError'], queryData),
140
83
  isError: (queryData.data as ResponseError | undefined)?.isError || false,
141
- isMutating: queryData.isPending
84
+ isMutating: queryData.isLoading,
85
+ mutate: queryData.mutate,
86
+ mutateAsync: queryData.mutateAsync
142
87
  };
143
88
  };
144
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,33 +143,17 @@ 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 { default as EllipsisTypography } from './Typography/EllipsisTypography';
158
- export * from './Dashboard';
159
- export * from './Graph';
160
- export type { LineChartData } from './Graph/common/models';
161
- export * from './Graph/common/timeSeries';
162
-
163
- export { default as TimePeriods } from './TimePeriods';
164
- export { default as SimpleCustomTimePeriod } from './TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod';
165
- export { default as DateTimePickerInput } from './TimePeriods/DateTimePickerInput';
166
- export * from './ParentSize';
167
- export { default as Subtitle } from './Typography/Subtitle';
168
158
  export { default as TablePagination } from './Listing/ActionBar/Pagination';
169
159
  export { default as PaginationActions } from './Listing/ActionBar/PaginationActions';
@@ -1,4 +1,4 @@
1
- import { fromPairs, startsWith } from 'ramda';
1
+ import { fromPairs } from 'ramda';
2
2
 
3
3
  import { QueryParameter } from '../models';
4
4
 
@@ -25,10 +25,6 @@ const getUrlQueryParameters = <
25
25
 
26
26
  const entries = [...urlParams.entries()].map<[string, string]>(
27
27
  ([key, value]) => {
28
- if (startsWith('/', value)) {
29
- return [key, value];
30
- }
31
-
32
28
  return [key, JSON.parse(value)];
33
29
  }
34
30
  );
@@ -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;
@@ -1,4 +1,4 @@
1
- import { useRef, useCallback, useEffect } from 'react';
1
+ import { useRef, useCallback } from 'react';
2
2
 
3
3
  interface Props {
4
4
  functionToDebounce: (...args) => void;
@@ -6,17 +6,12 @@ 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 = []
13
13
  }: Props): ((...args) => void) => {
14
14
  const timeoutRef = useRef<number | null>(null);
15
- const ref = useRef();
16
-
17
- useEffect(() => {
18
- ref.current = functionToDebounce;
19
- }, [functionToDebounce]);
20
15
 
21
16
  return useCallback((...args): void => {
22
17
  if (timeoutRef.current) {
@@ -24,7 +19,9 @@ export const useDebounce = ({
24
19
  }
25
20
 
26
21
  timeoutRef.current = setTimeout(() => {
27
- ref.current?.(...args);
22
+ functionToDebounce(...args);
28
23
  }, wait);
29
24
  }, memoProps);
30
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);
@@ -1,7 +1,6 @@
1
1
  import dayjs from 'dayjs';
2
2
  import humanizeDuration from 'humanize-duration';
3
3
  import { useAtomValue } from 'jotai';
4
- import localizedFormat from 'dayjs/plugin/localizedFormat';
5
4
 
6
5
  import { userAtom } from '@centreon/ui-context';
7
6
 
@@ -21,8 +20,6 @@ export interface LocaleDateTimeFormat {
21
20
  toTime: (date: Date | string) => string;
22
21
  }
23
22
 
24
- dayjs.extend(localizedFormat);
25
-
26
23
  const dateFormat = 'L';
27
24
  const timeFormat = 'LT';
28
25
  const dateTimeFormat = `${dateFormat} ${timeFormat}`;
@@ -90,4 +87,5 @@ const useLocaleDateTimeFormat = (): LocaleDateTimeFormat => {
90
87
  };
91
88
  };
92
89
 
93
- 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 =>
package/testRunner.js ADDED
@@ -0,0 +1,36 @@
1
+ /* eslint-disable array-callback-return */
2
+ /* eslint-disable consistent-return */
3
+ const config = {
4
+ story: null
5
+ };
6
+
7
+ const argv = process.argv.slice(0, 2);
8
+
9
+ process.argv.reduce((cmd, arg) => {
10
+ if (cmd) {
11
+ config[cmd] = arg;
12
+
13
+ return;
14
+ }
15
+
16
+ if (arg.startsWith('--')) {
17
+ const sub = arg.substring('--'.length);
18
+ if (Object.keys(config).includes(sub)) {
19
+ if (typeof config[sub] === 'boolean') {
20
+ config[cmd] = true;
21
+
22
+ return;
23
+ }
24
+
25
+ return sub;
26
+ }
27
+ }
28
+
29
+ argv.push(arg);
30
+ });
31
+
32
+ process.argv = argv;
33
+
34
+ process.env.TEST_CONFIGURATION = JSON.stringify(config);
35
+
36
+ require('jest/bin/jest');
package/tsconfig.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "extends": "../js-config/tsconfig/index.json",
3
+ "compilerOptions": {
4
+ "baseUrl": "./",
5
+ "typeRoots": [
6
+ "./types",
7
+ "./node_modules/@types"
8
+ ],
9
+ "outDir": "./dist",
10
+ "declaration": true,
11
+ "skipLibCheck": true,
12
+ "pretty": true,
13
+ "emitDeclarationOnly": true,
14
+ "types": [],
15
+ "esModuleInterop": true
16
+ },
17
+ "include": [
18
+ "./src",
19
+ "./types"
20
+ ],
21
+ "exclude": [
22
+ "./node_modules",
23
+ "./dist",
24
+ "./src/**/*.test.ts",
25
+ "./src/**/*.test.tsx",
26
+ "./src/**/*.stories.tsx",
27
+ "../../node_modules",
28
+ ]
29
+ }
@@ -0,0 +1,9 @@
1
+ declare module '*.scss' {
2
+ export const content: { [className: string]: string };
3
+ export default content;
4
+ }
5
+
6
+ declare module '*.svg' {
7
+ const content: string;
8
+ export default content;
9
+ }
package/public/README.md DELETED
@@ -1,39 +0,0 @@
1
- > The assets in `public` are served as-is.
2
-
3
-
4
- ---
5
-
6
- ### `public/fonts` → `@centreon/ui/fonts` alias
7
-
8
- The `ThemeProvider` specifies the `@font-face` for MUI.
9
- It imports the fonts using the `@centreon/ui/fonts` alias, but does not bundle them.
10
-
11
-
12
-
13
- #### ⚠️ **note**
14
- When the `@centreon/ui` package is used as non-build dependency, then the `@centreon/ui/fonts` alias need to be added in the webpack config, and configured to handle the asset types.
15
- ```js
16
- // webpack.config.js
17
-
18
- // alias
19
- resolve: {
20
- alias: {
21
- '@centreon/ui/fonts': path.resolve(
22
- './node_modules/@centreon/ui/public/fonts'
23
- )
24
- }
25
- }
26
-
27
- // asset types
28
- module: {
29
- rules: [
30
- {
31
- generator: {
32
- filename: '[name][ext]'
33
- },
34
- test: /\.(woff|woff2|eot|ttf|otf)$/i,
35
- type: 'asset/resource'
36
- }
37
- ]
38
- }
39
- ```