@centreon/ui 23.10.42 → 23.10.44

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