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