@centreon/ui 23.10.68 → 23.10.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/.storybook/main.js +82 -0
  2. package/.storybook/preview.tsx +21 -0
  3. package/README.md +14 -44
  4. package/jest.config.js +20 -0
  5. package/package.json +31 -96
  6. package/{test/setupTests.js → setupTests.js} +1 -1
  7. package/src/ActionsList/index.tsx +13 -29
  8. package/src/Button/Icon/index.tsx +2 -11
  9. package/src/Button/Save/index.stories.tsx +5 -10
  10. package/src/Button/Save/index.tsx +1 -1
  11. package/src/Dialog/Confirm/index.tsx +4 -17
  12. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  13. package/src/Dialog/index.tsx +2 -14
  14. package/src/FallbackPage/FallbackPage.tsx +2 -2
  15. package/src/FileDropZone/index.tsx +1 -1
  16. package/src/Form/CollapsibleGroup.tsx +5 -15
  17. package/src/Form/FormButtons.tsx +4 -2
  18. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  19. package/src/Form/Inputs/Grid.tsx +2 -4
  20. package/src/Form/Inputs/Radio.tsx +1 -1
  21. package/src/Form/Inputs/Switch.tsx +1 -1
  22. package/src/Form/Inputs/Text.tsx +7 -18
  23. package/src/Form/Inputs/index.tsx +15 -31
  24. package/src/Form/Inputs/models.ts +3 -18
  25. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  26. package/src/Form/{Form.tsx → index.tsx} +16 -38
  27. package/src/Form/storiesData.tsx +3 -50
  28. package/src/Home.stories.mdx +84 -1
  29. package/src/Image/Image.tsx +1 -11
  30. package/src/Image/index.stories.tsx +2 -2
  31. package/src/Image/index.test.tsx +3 -3
  32. package/src/InputField/Search/PersistentTooltip.tsx +2 -7
  33. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -3
  34. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  35. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +1 -1
  36. package/src/InputField/Select/Autocomplete/Connected/index.tsx +4 -25
  37. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  38. package/src/InputField/Select/Autocomplete/Multi/index.tsx +4 -11
  39. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  40. package/src/InputField/Select/Autocomplete/index.tsx +2 -5
  41. package/src/InputField/Select/index.tsx +1 -1
  42. package/src/InputField/Text/index.tsx +9 -14
  43. package/src/Listing/ActionBar/index.tsx +8 -15
  44. package/src/Listing/Cell/DataCell.tsx +69 -44
  45. package/src/Listing/Cell/index.tsx +8 -88
  46. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  47. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  48. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  49. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +105 -28
  50. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  51. package/src/Listing/Skeleton.tsx +11 -0
  52. package/src/Listing/index.stories.tsx +39 -142
  53. package/src/Listing/index.test.tsx +1 -1
  54. package/src/Listing/index.tsx +167 -133
  55. package/src/Listing/models.ts +0 -1
  56. package/src/Listing/tableAtoms.ts +10 -15
  57. package/src/Listing/useStyleTable.ts +9 -9
  58. package/src/ListingPage/index.tsx +1 -1
  59. package/src/Logo/CentreonLogo.tsx +2 -2
  60. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  61. package/src/Panel/Memoized.tsx +1 -1
  62. package/src/Panel/Section/index.test.tsx +1 -1
  63. package/src/Panel/Section/index.tsx +1 -1
  64. package/src/Panel/index.tsx +6 -10
  65. package/src/RichTextEditor/ContentEditable.tsx +19 -56
  66. package/src/RichTextEditor/RichTextEditor.tsx +47 -152
  67. package/src/RichTextEditor/index.stories.tsx +0 -5
  68. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  69. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  70. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +10 -3
  71. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -7
  72. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +7 -33
  73. package/src/Snackbar/index.tsx +4 -14
  74. package/src/Snackbar/useSnackbar.tsx +1 -5
  75. package/src/SortableItems/SortableItem.tsx +2 -3
  76. package/src/ThemeProvider/index.tsx +33 -41
  77. package/src/ThemeProvider/palettes.ts +201 -419
  78. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  79. package/src/WallpaperPage/index.stories.tsx +1 -1
  80. package/src/Wizard/ActionsBar.test.tsx +1 -1
  81. package/src/Wizard/WizardContent.tsx +3 -2
  82. package/src/Wizard/index.stories.tsx +18 -5
  83. package/src/Wizard/index.test.tsx +1 -1
  84. package/src/Wizard/index.tsx +3 -15
  85. package/src/Wizard/models.ts +0 -6
  86. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  87. package/src/api/TestQueryProvider.tsx +1 -2
  88. package/src/api/customFetch.ts +0 -10
  89. package/src/api/useFetchQuery/index.ts +15 -18
  90. package/src/api/useMutationQuery/index.ts +17 -32
  91. package/src/api/useRequest/index.ts +6 -9
  92. package/src/index.ts +19 -11
  93. package/src/storyshots.test.js +52 -0
  94. package/{test → src}/testRenderer.tsx +1 -1
  95. package/src/utils/getNormalizedId.ts +3 -1
  96. package/src/utils/useCopyToClipboard.ts +3 -2
  97. package/src/utils/useDebounce.ts +3 -1
  98. package/src/utils/useDeepCallback.ts +3 -1
  99. package/src/utils/useDeepMemo.ts +3 -1
  100. package/src/utils/useIntersectionObserver.ts +5 -5
  101. package/src/utils/useKeyObserver.tsx +3 -1
  102. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  103. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  104. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  105. package/src/utils/useMemoComponent.ts +1 -1
  106. package/testRunner.js +36 -0
  107. package/tsconfig.json +29 -0
  108. package/types/declarations.d.ts +9 -0
  109. package/public/README.md +0 -39
  110. package/public/mockServiceWorker.js +0 -303
  111. package/src/@assets/README.md +0 -5
  112. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  113. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  114. package/src/@assets/icons/downtime.icon.svg +0 -1
  115. package/src/@types/aria-attributes.d.ts +0 -10
  116. package/src/@types/data-attributes.d.ts +0 -3
  117. package/src/@types/globals.d.ts +0 -9
  118. package/src/@types/vite-env.d.ts +0 -2
  119. package/src/Checkbox/Checkbox.tsx +0 -107
  120. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  121. package/src/Checkbox/CheckboxGroup/index.tsx +0 -66
  122. package/src/Checkbox/index.stories.tsx +0 -39
  123. package/src/Checkbox/index.tsx +0 -2
  124. package/src/Dashboard/Dashboard.styles.ts +0 -95
  125. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  126. package/src/Dashboard/Grid.tsx +0 -70
  127. package/src/Dashboard/Item.tsx +0 -93
  128. package/src/Dashboard/Layout.tsx +0 -76
  129. package/src/Dashboard/index.tsx +0 -9
  130. package/src/Dashboard/utils.ts +0 -28
  131. package/src/Form/Form.styles.ts +0 -11
  132. package/src/Form/Inputs/Checkbox.tsx +0 -57
  133. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  134. package/src/Form/index.ts +0 -1
  135. package/src/Graph/Gauge/AnimatedPie.tsx +0 -98
  136. package/src/Graph/Gauge/Gauge.stories.tsx +0 -146
  137. package/src/Graph/Gauge/Gauge.tsx +0 -42
  138. package/src/Graph/Gauge/PieData.tsx +0 -63
  139. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -141
  140. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  141. package/src/Graph/Gauge/index.ts +0 -1
  142. package/src/Graph/Gauge/models.ts +0 -20
  143. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  144. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  145. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  146. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  147. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  148. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -94
  149. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  150. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -79
  151. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  152. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  153. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  154. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  155. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  156. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  157. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -142
  158. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  159. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  160. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  161. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  162. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  163. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  164. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  165. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  166. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -62
  167. package/src/Graph/LineChart/Header/index.tsx +0 -65
  168. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  169. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  170. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  171. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  172. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  173. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  174. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  175. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  176. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  177. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  178. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  179. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  180. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  181. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  182. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  183. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  184. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  185. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  186. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  187. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  188. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  189. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  190. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  191. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  192. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  193. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  194. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  195. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  196. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  197. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  198. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  199. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  200. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  201. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  202. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  203. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  204. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -71
  205. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -27
  206. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -45
  207. package/src/Graph/LineChart/Legend/Marker.tsx +0 -43
  208. package/src/Graph/LineChart/Legend/index.tsx +0 -171
  209. package/src/Graph/LineChart/Legend/models.ts +0 -11
  210. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  211. package/src/Graph/LineChart/Legend/useLegend.ts +0 -111
  212. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  213. package/src/Graph/LineChart/LineChart.tsx +0 -303
  214. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  215. package/src/Graph/LineChart/common/index.ts +0 -35
  216. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  217. package/src/Graph/LineChart/helpers/doc.ts +0 -560
  218. package/src/Graph/LineChart/helpers/index.ts +0 -63
  219. package/src/Graph/LineChart/index.stories.tsx +0 -478
  220. package/src/Graph/LineChart/index.tsx +0 -114
  221. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  222. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  223. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  224. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  225. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  226. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  227. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  228. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  229. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  230. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  231. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  232. package/src/Graph/LineChart/models.ts +0 -146
  233. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  234. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  235. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  236. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -171
  237. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -168
  238. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  239. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -72
  240. package/src/Graph/SingleBar/Thresholds.tsx +0 -46
  241. package/src/Graph/SingleBar/index.ts +0 -1
  242. package/src/Graph/SingleBar/models.ts +0 -8
  243. package/src/Graph/Text/Text.stories.tsx +0 -67
  244. package/src/Graph/Text/Text.styles.ts +0 -17
  245. package/src/Graph/Text/Text.tsx +0 -91
  246. package/src/Graph/Text/index.ts +0 -1
  247. package/src/Graph/common/margins.ts +0 -1
  248. package/src/Graph/common/models.ts +0 -19
  249. package/src/Graph/common/timeSeries/index.test.ts +0 -609
  250. package/src/Graph/common/timeSeries/index.ts +0 -624
  251. package/src/Graph/common/timeSeries/models.ts +0 -127
  252. package/src/Graph/common/utils.ts +0 -75
  253. package/src/Graph/index.ts +0 -4
  254. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -159
  255. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  256. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  257. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  258. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  259. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  260. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  261. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  262. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  263. package/src/Listing/Header/index.ts +0 -1
  264. package/src/Listing/Listing.cypress.spec.tsx +0 -120
  265. package/src/Listing/Listing.styles.ts +0 -76
  266. package/src/Listing/ListingDocs.mdx +0 -61
  267. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  268. package/src/Listing/Row/EmptyRow.tsx +0 -30
  269. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  270. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -337
  271. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -197
  272. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -92
  273. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -7
  274. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  275. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  276. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  277. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -163
  278. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  279. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  280. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  281. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  282. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  283. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  284. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  285. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  286. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  287. package/src/TimePeriods/helpers/index.ts +0 -26
  288. package/src/TimePeriods/index.stories.tsx +0 -98
  289. package/src/TimePeriods/index.tsx +0 -78
  290. package/src/TimePeriods/mockedData.ts +0 -12
  291. package/src/TimePeriods/models.ts +0 -97
  292. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  293. package/src/TimePeriods/translatedLabels.ts +0 -9
  294. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  295. package/src/TimePeriods/useTimePeriod.ts +0 -49
  296. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  297. package/src/Typography/FluidTypography/index.tsx +0 -51
  298. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  299. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  300. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  301. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  302. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  303. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  304. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  305. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  306. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  307. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  308. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  309. package/src/api/useGraphQuery/index.ts +0 -126
  310. package/src/api/useGraphQuery/models.ts +0 -12
  311. package/src/base/tokens/README.md +0 -3
  312. package/src/base/tokens/source/$metadata.json +0 -5
  313. package/src/base/tokens/source/base.json +0 -142
  314. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  315. package/src/base/tokens/themes/base.tokens.json +0 -695
  316. package/src/base/tokens/themes/base.tokens.ts +0 -38
  317. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  318. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  319. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  320. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  321. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  322. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  323. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  324. package/src/components/Avatar/Avatar.styles.ts +0 -11
  325. package/src/components/Avatar/Avatar.tsx +0 -32
  326. package/src/components/Avatar/index.ts +0 -1
  327. package/src/components/Button/Button.stories.tsx +0 -34
  328. package/src/components/Button/Button.styles.ts +0 -44
  329. package/src/components/Button/Button.tsx +0 -78
  330. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  331. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  332. package/src/components/Button/Icon/IconButton.tsx +0 -58
  333. package/src/components/Button/Icon/index.tsx +0 -1
  334. package/src/components/Button/index.ts +0 -2
  335. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  336. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  337. package/src/components/CollapsibleItem/index.ts +0 -1
  338. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  339. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  340. package/src/components/DataTable/DataTable.styles.ts +0 -27
  341. package/src/components/DataTable/DataTable.tsx +0 -35
  342. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  343. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  344. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  345. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  346. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -39
  347. package/src/components/DataTable/Item/DataTableItem.tsx +0 -102
  348. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  349. package/src/components/DataTable/index.ts +0 -10
  350. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  351. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  352. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  353. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  354. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  355. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  356. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  357. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  358. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  359. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  360. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  361. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  362. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  363. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  364. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  365. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  366. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  367. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  368. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  369. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  370. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  371. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  372. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  373. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  374. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  375. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  376. package/src/components/Form/AccessRights/index.ts +0 -3
  377. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  378. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  379. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  380. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -4
  381. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  382. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -13
  383. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -101
  384. package/src/components/Form/Dashboard/index.ts +0 -2
  385. package/src/components/Form/Dashboard/translatedLabels.ts +0 -6
  386. package/src/components/Form/Form.models.ts +0 -1
  387. package/src/components/Form/Form.resource.ts +0 -1
  388. package/src/components/Form/Form.styles.ts +0 -17
  389. package/src/components/Form/FormActions.tsx +0 -57
  390. package/src/components/Form/index.ts +0 -3
  391. package/src/components/Header/Header.styles.ts +0 -0
  392. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  393. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  394. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  395. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  396. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  397. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  398. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  399. package/src/components/Header/PageHeader/index.ts +0 -12
  400. package/src/components/Header/index.ts +0 -1
  401. package/src/components/Icon/Icon.styles.ts +0 -0
  402. package/src/components/Icon/Icon.tsx +0 -2
  403. package/src/components/Icon/index.ts +0 -0
  404. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  405. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  406. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  407. package/src/components/Inputs/index.ts +0 -1
  408. package/src/components/ItemComposition/Item.tsx +0 -41
  409. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  410. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -26
  411. package/src/components/ItemComposition/ItemComposition.tsx +0 -45
  412. package/src/components/ItemComposition/index.ts +0 -6
  413. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  414. package/src/components/Layout/AreaIndicator.tsx +0 -35
  415. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  416. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -40
  417. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  418. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -15
  419. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  420. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  421. package/src/components/Layout/PageLayout/index.ts +0 -10
  422. package/src/components/Layout/index.ts +0 -1
  423. package/src/components/List/Item/Avatar.tsx +0 -21
  424. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  425. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  426. package/src/components/List/Item/ListItem.styles.ts +0 -57
  427. package/src/components/List/Item/ListItem.tsx +0 -32
  428. package/src/components/List/Item/Text.tsx +0 -25
  429. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  430. package/src/components/List/Item/index.ts +0 -14
  431. package/src/components/List/List.stories.tsx +0 -70
  432. package/src/components/List/List.styles.ts +0 -8
  433. package/src/components/List/List.tsx +0 -19
  434. package/src/components/List/index.ts +0 -6
  435. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  436. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  437. package/src/components/Menu/Button/MenuButton.tsx +0 -62
  438. package/src/components/Menu/Button/index.ts +0 -1
  439. package/src/components/Menu/Menu.stories.tsx +0 -71
  440. package/src/components/Menu/Menu.styles.ts +0 -70
  441. package/src/components/Menu/Menu.tsx +0 -25
  442. package/src/components/Menu/MenuDivider.tsx +0 -13
  443. package/src/components/Menu/MenuItem.tsx +0 -36
  444. package/src/components/Menu/MenuItems.tsx +0 -35
  445. package/src/components/Menu/index.ts +0 -12
  446. package/src/components/Menu/useMenu.tsx +0 -79
  447. package/src/components/Modal/Modal.stories.tsx +0 -142
  448. package/src/components/Modal/Modal.styles.ts +0 -87
  449. package/src/components/Modal/Modal.tsx +0 -79
  450. package/src/components/Modal/ModalActions.tsx +0 -62
  451. package/src/components/Modal/ModalBody.tsx +0 -15
  452. package/src/components/Modal/ModalHeader.tsx +0 -21
  453. package/src/components/Modal/index.ts +0 -12
  454. package/src/components/README.md +0 -3
  455. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  456. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  457. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  458. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  459. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  460. package/src/components/Tooltip/Tooltip.styles.ts +0 -5
  461. package/src/components/Tooltip/Tooltip.tsx +0 -46
  462. package/src/components/Tooltip/index.ts +0 -1
  463. package/src/components/index.ts +0 -13
  464. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  465. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  466. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  467. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  468. package/src/utils/centreonBaseURL.ts +0 -4
  469. package/src/utils/docsURL.ts +0 -31
  470. package/src/utils/index.ts +0 -22
  471. package/src/utils/panelSize.ts +0 -15
  472. package/src/utils/sanitizedHTML.ts +0 -18
  473. package/src/utils/translatedLabel.ts +0 -2
  474. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  475. package/src/utils/useInfiniteScrollListing.ts +0 -106
  476. package/src/utils/useLicenseExpirationWarning.cypress.spec.tsx +0 -137
  477. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  478. package/src/utils/useRefreshInterval.ts +0 -21
  479. package/src/utils/useResizeObserver.ts +0 -6
  480. package/src/utils/useThresholds.ts +0 -0
  481. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  482. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  483. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  484. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  485. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  486. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  487. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  488. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  489. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  490. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  491. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  492. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  493. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  494. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  495. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  496. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  497. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  498. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -1,6 +1,8 @@
1
1
  import { Meta } from '@storybook/addon-docs'
2
- import { Typography, Link, Stack } from '@mui/material'
2
+ import { Typography, Box, Paper, Accordion, AccordionSummary, AccordionDetails, Link, Stack } from '@mui/material'
3
+ import ExpandMoreIcon from '@mui/icons-material/ExpandMore'
3
4
 
5
+ import { MdxThemeProvider } from './StoryBookThemeProvider'
4
6
 
5
7
  <Meta title="Home" />
6
8
 
@@ -37,3 +39,84 @@ import { Typography, Link, Stack } from '@mui/material'
37
39
  <Typography>20.04</Typography>
38
40
  </Link>
39
41
  </Stack>
42
+ <br />
43
+
44
+ <Accordion>
45
+ <AccordionSummary
46
+ expandIcon={<ExpandMoreIcon />}
47
+ >
48
+ <Typography variant="h5">Add stories</Typography>
49
+ </AccordionSummary>
50
+ <AccordionDetails>
51
+ <ul>
52
+ <li><Typography>Create a file named `index.stories.tsx` along side your component</Typography></li>
53
+ <li>
54
+ <Typography>Add a title, the component and argTypes</Typography>
55
+ <Typography>Example: </Typography>
56
+
57
+ ```typescript
58
+ export default {
59
+ title: 'MyComponent',
60
+ Component: MyComponent,
61
+ argTypes: {
62
+ propA: { control: 'text' },
63
+ propB: { control: 'number' },
64
+ },
65
+ };
66
+ ```
67
+
68
+ </li>
69
+ <li>
70
+ <Typography>Create a playground for your component</Typography>
71
+
72
+ ```typescript
73
+ const Template: ComponentStory<typeof MyComponent> = (args) => (
74
+ <MyComponent {...args} />
75
+ );
76
+
77
+ export const Playground = Template.bind({});
78
+ ```
79
+
80
+ </li>
81
+ <li>
82
+ <Typography>Then add your story</Typography>
83
+
84
+ ```typescript
85
+ export const basic = Template.bind({});
86
+ basic.args = { propA: 'test', propB: 0 };
87
+ ```
88
+
89
+ </li>
90
+ </ul>
91
+ </AccordionDetails>
92
+ </Accordion>
93
+ <Accordion>
94
+ <AccordionSummary
95
+ expandIcon={<ExpandMoreIcon />}
96
+ >
97
+ <Typography variant="h5">Run tests</Typography>
98
+ </AccordionSummary>
99
+ <AccordionDetails>
100
+ <Typography>There are two kinds of tests in Centreon UI.</Typography>
101
+ <Typography>Jest + RTL: Component testing</Typography>
102
+ <Typography>Storyshots: When running them, storybook will capture a snapshot for each and compares them with the older ones</Typography>
103
+ <br />
104
+
105
+ <Typography>Run all the test (Jest + Storyshots)</Typography>
106
+ `pnpm build:storybook && pnpm t`
107
+ <br />
108
+
109
+ <Typography>Run storyshots following one or more story title</Typography>
110
+ `pnpm build:storybook && pnpm test:storyshot -- --story "MyComponent"`
111
+ <Typography>Or</Typography>
112
+ `pnpm build:storybook && pnpm test:storyshot -- --story "MyComponent|MyOtherComponent"`
113
+ <br />
114
+
115
+ <Typography>Update snapshots</Typography>
116
+ `pnpm build:storybook && pnpm t -- -u`
117
+ <Typography>Or</Typography>
118
+ `pnpm build:storybook && pnpm test:storyshot -- --story "MyComponent" -u`
119
+ <Typography>Or</Typography>
120
+ `pnpm build:storybook && pnpm test:storyshot -- --story "MyComponent|MyOtherComponent" -u`
121
+ </AccordionDetails>
122
+ </Accordion>
@@ -22,10 +22,6 @@ interface Props {
22
22
 
23
23
  const useStyles = makeStyles<Pick<Props, 'width' | 'height' | 'variant'>>()(
24
24
  (_, { width, height, variant }) => ({
25
- fallbackContainer: {
26
- height: '100%',
27
- width: '100%'
28
- },
29
25
  imageContent: {
30
26
  height,
31
27
  objectFit: variant,
@@ -45,20 +41,14 @@ const ImageContent = ({
45
41
  }: Props): JSX.Element => {
46
42
  const { classes, cx } = useStyles({ height, variant, width });
47
43
  const isImageLoaded = useLoadImage({ alt, imageSrc: imagePath });
48
-
49
44
  if (!isImageLoaded) {
50
- return (
51
- <div className={classes.fallbackContainer} data-testid={alt}>
52
- {fallback}
53
- </div>
54
- );
45
+ return fallback;
55
46
  }
56
47
 
57
48
  return (
58
49
  <img
59
50
  alt={alt}
60
51
  className={cx(classes.imageContent, className)}
61
- data-testid={alt}
62
52
  src={imagePath}
63
53
  />
64
54
  );
@@ -1,8 +1,8 @@
1
1
  import { ComponentStory } from '@storybook/react';
2
2
 
3
3
  import LoadingSkeleton from '../LoadingSkeleton';
4
- import CentreonLogoLight from '../@assets/brand/centreon-logo-one-line-light.svg';
5
- import NotAuthorized from '../@assets/images/not-authorized-template-background-light.svg';
4
+ import CentreonLogoLight from '../../assets/centreon-logo-one-line-light.svg';
5
+ import NotAuthorized from '../../assets/not-authorized-template-background-light.svg';
6
6
 
7
7
  import Image, { ImageVariant } from './Image';
8
8
 
@@ -1,12 +1,12 @@
1
1
  import { RenderResult, screen, waitFor } from '@testing-library/react';
2
2
  import { Provider } from 'jotai';
3
3
 
4
- import { render } from '../../test/testRenderer';
5
- import CentreonLogoLight from '../@assets/brand/centreon-logo-one-line-light.svg';
4
+ import { render } from '../testRenderer';
5
+ import CentreonLogoLight from '../../assets/centreon-logo-one-line-light.svg';
6
6
 
7
7
  import Image from './Image';
8
8
 
9
- jest.mock('../../@assets/centreon-logo-one-line-light.svg');
9
+ jest.mock('../../assets/centreon-logo-one-line-light.svg');
10
10
 
11
11
  const renderImage = (): RenderResult =>
12
12
  render(
@@ -10,8 +10,7 @@ import IconClose from '@mui/icons-material/HighlightOff';
10
10
  const useStyles = makeStyles()((theme) => ({
11
11
  buttonClose: {
12
12
  position: 'absolute',
13
- right: theme.spacing(0.5),
14
- top: '40%'
13
+ right: theme.spacing(0.5)
15
14
  },
16
15
  tooltip: {
17
16
  backgroundColor: theme.palette.common.white,
@@ -73,11 +72,7 @@ const PersistentTooltip = ({
73
72
  );
74
73
 
75
74
  return (
76
- <Tooltip
77
- classes={{ tooltip: classes.tooltip }}
78
- open={openTooltip || open}
79
- title={title}
80
- >
75
+ <Tooltip classes={{ tooltip: classes.tooltip }} open={open} title={title}>
81
76
  <IconButton
82
77
  aria-label={labelSearchHelp}
83
78
  size="small"
@@ -6,13 +6,32 @@ import {
6
6
  RenderResult,
7
7
  resetMocks,
8
8
  waitFor
9
- } from '../../../../../../test/testRenderer';
9
+ } from '../../../../../testRenderer';
10
+ import { buildListingEndpoint } from '../../../../..';
10
11
  import TestQueryProvider from '../../../../../api/TestQueryProvider';
11
12
 
12
- import { baseEndpoint, getEndpoint, label, optionsData } from './utils';
13
-
14
13
  import MultiConnectedAutocompleteField from '.';
15
14
 
15
+ const baseEndpoint = 'endpoint';
16
+
17
+ const getEndpoint = (parameters): string => {
18
+ return buildListingEndpoint({ baseEndpoint, parameters });
19
+ };
20
+
21
+ const label = 'Multi Connected Autocomplete';
22
+
23
+ const optionsData = {
24
+ meta: {
25
+ limit: 2,
26
+ page: 1,
27
+ total: 20
28
+ },
29
+ result: [
30
+ { id: 0, name: 'My Option 1' },
31
+ { id: 1, name: 'My Option 2' }
32
+ ]
33
+ };
34
+
16
35
  const renderMultiAutocompleteField = (): RenderResult =>
17
36
  render(
18
37
  <TestQueryProvider>
@@ -1,3 +1,5 @@
1
+ import withMock from 'storybook-addon-mock';
2
+
1
3
  import { buildListingEndpoint } from '../../../..';
2
4
  import { SelectEntry } from '../..';
3
5
  import { Listing } from '../../../../api/models';
@@ -6,6 +8,7 @@ import SingleConnectedAutocompleteField from './Single';
6
8
  import MultiConnectedAutocompleteField from './Multi';
7
9
 
8
10
  export default {
11
+ decorators: [withMock],
9
12
  title: 'InputField/Autocomplete/Connected'
10
13
  };
11
14
 
@@ -7,7 +7,7 @@ import {
7
7
  resetMocks,
8
8
  mockResponse,
9
9
  getFetchCall
10
- } from '../../../../../test/testRenderer';
10
+ } from '../../../../testRenderer';
11
11
  import buildListingEndpoint from '../../../../api/buildListingEndpoint';
12
12
  import { ConditionsSearchParameter } from '../../../../api/buildListingEndpoint/models';
13
13
  import TestQueryProvider from '../../../../api/TestQueryProvider';
@@ -16,18 +16,16 @@ import {
16
16
  import { CircularProgress, useTheme } from '@mui/material';
17
17
 
18
18
  import { Props as AutocompleteFieldProps } from '..';
19
- import {
20
- useDebounce,
21
- useIntersectionObserver,
22
- useDeepCompare
23
- } from '../../../../utils';
19
+ import useIntersectionObserver from '../../../../utils/useIntersectionObserver';
24
20
  import { ListingModel, SelectEntry } from '../../../..';
25
21
  import Option from '../../Option';
26
22
  import {
27
23
  ConditionsSearchParameter,
28
24
  SearchParameter
29
25
  } from '../../../../api/buildListingEndpoint/models';
26
+ import useDebounce from '../../../../utils/useDebounce';
30
27
  import useFetchQuery from '../../../../api/useFetchQuery';
28
+ import { useDeepCompare } from '../../../../utils/useMemoComponent';
31
29
 
32
30
  export interface ConnectedAutoCompleteFieldProps<TData> {
33
31
  conditionField?: keyof SelectEntry;
@@ -37,7 +35,6 @@ export interface ConnectedAutoCompleteFieldProps<TData> {
37
35
  getRequestHeaders?: HeadersInit;
38
36
  initialPage: number;
39
37
  labelKey?: string;
40
- queryKey?: string;
41
38
  searchConditions?: Array<ConditionsSearchParameter>;
42
39
  }
43
40
 
@@ -56,7 +53,6 @@ const ConnectedAutocompleteField = (
56
53
  getRenderedOptionText = (option): string => option.name?.toString(),
57
54
  getRequestHeaders,
58
55
  displayOptionThumbnail,
59
- queryKey,
60
56
  ...props
61
57
  }: ConnectedAutoCompleteFieldProps<TData> &
62
58
  Omit<AutocompleteFieldProps, 'options'>): JSX.Element => {
@@ -67,9 +63,6 @@ const ConnectedAutocompleteField = (
67
63
  const [searchParameter, setSearchParameter] = useState<
68
64
  SearchParameter | undefined
69
65
  >(undefined);
70
-
71
- const [autocompleteChangedValue, setAutocompleteChangedValue] =
72
- useState<Array<SelectEntry>>();
73
66
  const debounce = useDebounce({
74
67
  functionToDebounce: (value): void => {
75
68
  setSearchParameter(getSearchParameter(value));
@@ -91,16 +84,10 @@ const ConnectedAutocompleteField = (
91
84
  search: searchParameter
92
85
  });
93
86
  },
94
- getQueryKey: () => [
95
- `autocomplete-${queryKey || props.label}`,
96
- page,
97
- searchParameter
98
- ],
87
+ getQueryKey: () => [`autocomplete-${props.label}`, page, searchParameter],
99
88
  isPaginated: true,
100
89
  queryOptions: {
101
- cacheTime: 0,
102
90
  enabled: false,
103
- staleTime: 0,
104
91
  suspense: false
105
92
  }
106
93
  });
@@ -285,13 +272,6 @@ const ConnectedAutocompleteField = (
285
272
  );
286
273
  }, useDeepCompare([searchConditions]));
287
274
 
288
- useEffect(() => {
289
- if (!autocompleteChangedValue && !props?.value) {
290
- return;
291
- }
292
- setSearchParameter(undefined);
293
- }, [autocompleteChangedValue, props?.value]);
294
-
295
275
  useEffect(() => {
296
276
  if (!optionsOpen) {
297
277
  return;
@@ -307,7 +287,6 @@ const ConnectedAutocompleteField = (
307
287
  open={optionsOpen}
308
288
  options={options}
309
289
  renderOption={renderOptions}
310
- onChange={(_, value) => setAutocompleteChangedValue(value)}
311
290
  onClose={(): void => setOptionsOpen(false)}
312
291
  onOpen={(): void => setOptionsOpen(true)}
313
292
  onTextChange={changeText}
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react';
2
2
 
3
3
  import { isNil, not } from 'ramda';
4
+ import withMock from 'storybook-addon-mock';
4
5
 
5
6
  import { Tooltip, Typography } from '@mui/material';
6
7
 
@@ -14,6 +15,7 @@ import MultiDraggableAutocompleteField from './Multi';
14
15
  import { ItemActionProps } from '.';
15
16
 
16
17
  export default {
18
+ decorators: [withMock],
17
19
  title: 'InputField/Autocomplete/Draggable'
18
20
  };
19
21
 
@@ -1,7 +1,7 @@
1
1
  import { includes, map, prop, reject } from 'ramda';
2
2
  import { makeStyles } from 'tss-react/mui';
3
3
 
4
- import { Chip, ChipProps } from '@mui/material';
4
+ import { Chip } from '@mui/material';
5
5
  import { UseAutocompleteProps } from '@mui/material/useAutocomplete';
6
6
 
7
7
  import Autocomplete, { Props as AutocompleteProps } from '..';
@@ -18,6 +18,7 @@ const useStyles = makeStyles()((theme) => ({
18
18
  width: theme.spacing(1.5)
19
19
  },
20
20
  tag: {
21
+ backgroundColor: theme.palette.divider,
21
22
  fontSize: theme.typography.caption.fontSize
22
23
  }
23
24
  }));
@@ -32,20 +33,13 @@ export interface Props
32
33
  UseAutocompleteProps<SelectEntry, Multiple, DisableClearable, FreeSolo>,
33
34
  'multiple'
34
35
  > {
35
- chipProps?: ChipProps;
36
36
  disableSortedOptions?: boolean;
37
- getTagLabel?: (option) => string;
38
- optionProperty?: string;
39
37
  }
40
38
 
41
39
  const MultiAutocompleteField = ({
42
40
  value,
43
41
  options,
44
42
  disableSortedOptions = false,
45
- optionProperty = 'name',
46
- getOptionLabel = (option): string => option.name,
47
- getTagLabel = (option): string => option[optionProperty],
48
- chipProps,
49
43
  ...props
50
44
  }: Props): JSX.Element => {
51
45
  const { classes } = useStyles();
@@ -58,10 +52,9 @@ const MultiAutocompleteField = ({
58
52
  root: classes.tag
59
53
  }}
60
54
  key={option.id}
61
- label={getTagLabel(option)}
55
+ label={option.name}
62
56
  size="medium"
63
57
  {...getTagProps({ index })}
64
- {...chipProps}
65
58
  />
66
59
  ));
67
60
 
@@ -91,7 +84,7 @@ const MultiAutocompleteField = ({
91
84
  key={option.id}
92
85
  {...(renderProps as React.HTMLAttributes<HTMLLIElement>)}
93
86
  >
94
- <Option checkboxSelected={selected}>{getOptionLabel(option)}</Option>
87
+ <Option checkboxSelected={selected}>{option.name}</Option>
95
88
  </li>
96
89
  )}
97
90
  renderTags={renderTags}
@@ -85,7 +85,7 @@ const AutoSizeAutocompleteField = ({
85
85
  endAdornment,
86
86
  customPadding
87
87
  }: AutoSizeAutocompleteFieldProps): JSX.Element => {
88
- const [value, setValue] = React.useState(null);
88
+ const [value, setValue] = React.useState(autoSizeOptions[1]);
89
89
 
90
90
  const change = (_, newValue): void => {
91
91
  setValue(newValue);
@@ -108,3 +108,12 @@ const AutoSizeAutocompleteField = ({
108
108
  export const autoSize = (): JSX.Element => {
109
109
  return <AutoSizeAutocompleteField />;
110
110
  };
111
+
112
+ export const autoSizeWithCustomPadding = (): JSX.Element => {
113
+ return (
114
+ <AutoSizeAutocompleteField
115
+ customPadding={5}
116
+ endAdornment={<EndAdornment />}
117
+ />
118
+ );
119
+ };
@@ -20,7 +20,7 @@ import Option from '../Option';
20
20
  import TextField from '../../Text';
21
21
  import { SelectEntry } from '..';
22
22
  import { searchLabel } from '../../translatedLabels';
23
- import { getNormalizedId } from '../../../utils';
23
+ import getNormalizedId from '../../../utils/getNormalizedId';
24
24
 
25
25
  export type Props = {
26
26
  autoFocus?: boolean;
@@ -32,7 +32,6 @@ export type Props = {
32
32
  displayPopupIcon?: boolean;
33
33
  endAdornment?: React.ReactElement;
34
34
  error?: string;
35
- getOptionItemLabel?: (option) => string;
36
35
  hideInput?: boolean;
37
36
  label: string;
38
37
  loading?: boolean;
@@ -159,7 +158,6 @@ const AutocompleteField = ({
159
158
  autoSize = false,
160
159
  autoSizeDefaultWidth = 0,
161
160
  autoSizeCustomPadding,
162
- getOptionItemLabel = (option) => option.name,
163
161
  ...autocompleteProps
164
162
  }: Props): JSX.Element => {
165
163
  const { classes, cx } = useStyles({ hideInput });
@@ -195,7 +193,6 @@ const AutocompleteField = ({
195
193
  </>
196
194
  ),
197
195
  style: {
198
- background: 'transparent',
199
196
  paddingRight: theme.spacing(5)
200
197
  }
201
198
  }}
@@ -252,7 +249,7 @@ const AutocompleteField = ({
252
249
  <Option
253
250
  thumbnailUrl={displayOptionThumbnail ? option.url : undefined}
254
251
  >
255
- {getOptionItemLabel(option)}
252
+ {option.name}
256
253
  </Option>
257
254
  </li>
258
255
  );
@@ -13,7 +13,7 @@ import {
13
13
  Divider
14
14
  } from '@mui/material';
15
15
 
16
- import { getNormalizedId } from '../../utils';
16
+ import getNormalizedId from '../../utils/getNormalizedId';
17
17
 
18
18
  import Option from './Option';
19
19
 
@@ -1,6 +1,6 @@
1
1
  import { forwardRef, useCallback } from 'react';
2
2
 
3
- import { equals, isNil } from 'ramda';
3
+ import { isNil } from 'ramda';
4
4
  import { makeStyles } from 'tss-react/mui';
5
5
 
6
6
  import {
@@ -9,19 +9,17 @@ import {
9
9
  TextFieldProps,
10
10
  Theme,
11
11
  Tooltip,
12
- Typography,
13
- Box
12
+ Typography
14
13
  } from '@mui/material';
15
14
 
16
- import { getNormalizedId } from '../../utils';
15
+ import getNormalizedId from '../../utils/getNormalizedId';
17
16
 
18
17
  import useAutoSize from './useAutoSize';
19
18
 
20
19
  const useStyles = makeStyles<{ displayAsBlock: boolean }>()(
21
20
  (theme: Theme, { displayAsBlock }) => ({
22
- autoSizeCompact: {
23
- paddingRight: theme.spacing(1),
24
- paddingTop: theme.spacing(0.6)
21
+ compact: {
22
+ fontSize: 'x-small'
25
23
  },
26
24
  hiddenText: {
27
25
  display: 'table',
@@ -86,7 +84,6 @@ export type Props = {
86
84
  error?: string;
87
85
  externalValueForAutoSize?: string;
88
86
  open?: boolean;
89
- required?: boolean;
90
87
  size?: SizeVariant;
91
88
  transparent?: boolean;
92
89
  value?: string;
@@ -111,7 +108,6 @@ const TextField = forwardRef(
111
108
  externalValueForAutoSize,
112
109
  autoSizeCustomPadding,
113
110
  defaultValue,
114
- required = false,
115
111
  ...rest
116
112
  }: Props,
117
113
  ref: React.ForwardedRef<HTMLDivElement>
@@ -142,7 +138,7 @@ const TextField = forwardRef(
142
138
  }, [innerValue, debounced, defaultValue]);
143
139
 
144
140
  return (
145
- <Box sx={{ width: autoSize ? 'auto' : '100%' }}>
141
+ <>
146
142
  <Tooltip placement="top" title={tooltipTitle}>
147
143
  <MuiTextField
148
144
  data-testid={dataTestId}
@@ -164,11 +160,11 @@ const TextField = forwardRef(
164
160
  className: cx(
165
161
  classes.inputBase,
166
162
  {
167
- [classes.transparent]: transparent,
168
- [classes.autoSizeCompact]: autoSize && equals(size, 'compact')
163
+ [classes.transparent]: transparent
169
164
  },
170
165
  className
171
166
  ),
167
+ disableUnderline: true,
172
168
  endAdornment: (
173
169
  <OptionalLabelInputAdornment label={label} position="end">
174
170
  {EndAdornment ? (
@@ -186,7 +182,6 @@ const TextField = forwardRef(
186
182
  ...rest.InputProps
187
183
  }}
188
184
  className={classes.textField}
189
- required={required}
190
185
  sx={{
191
186
  width: autoSize ? width : undefined,
192
187
  ...rest?.sx
@@ -198,7 +193,7 @@ const TextField = forwardRef(
198
193
  {rest.value || externalValueForAutoSize || innerValue}
199
194
  </Typography>
200
195
  )}
201
- </Box>
196
+ </>
202
197
  );
203
198
  }
204
199
  );
@@ -11,7 +11,7 @@ import { userAtom, ListingVariant } from '@centreon/ui-context';
11
11
 
12
12
  import { ListingProps } from '../..';
13
13
  import { labelOf, labelRowsPerPage } from '../translatedLabels';
14
- import { useMemoComponent } from '../../utils';
14
+ import useMemoComponent from '../../utils/useMemoComponent';
15
15
  import IconButton from '../../Button/Icon/index';
16
16
 
17
17
  import StyledPagination from './Pagination';
@@ -86,7 +86,7 @@ type Props = Pick<
86
86
  | 'moveTablePagination'
87
87
  | 'widthToMoveTablePagination'
88
88
  | 'customPaginationClassName'
89
- | 'listingVariant'
89
+ | 'viewMode'
90
90
  | 'viewerModeConfiguration'
91
91
  >;
92
92
 
@@ -107,8 +107,7 @@ const MemoListingActionBar = ({
107
107
  widthToMoveTablePagination = 550,
108
108
  actionsBarMemoProps = [],
109
109
  viewerModeConfiguration,
110
- listingVariant,
111
- visualizationActions
110
+ viewMode
112
111
  }: Props): JSX.Element => {
113
112
  const marginWidthTableListing = 30;
114
113
  const { classes, cx } = useStyles({
@@ -137,7 +136,6 @@ const MemoListingActionBar = ({
137
136
  <div className={classes.actions}>
138
137
  <div>{actions}</div>
139
138
  </div>
140
- {visualizationActions && <div>{visualizationActions}</div>}
141
139
  <div className={classes.subContainer}>
142
140
  {!isEmpty(viewerModeConfiguration) &&
143
141
  !isNil(viewerModeConfiguration) && (
@@ -161,10 +159,7 @@ const MemoListingActionBar = ({
161
159
  viewerModeConfiguration?.customStyle
162
160
  ?.customStyleViewerModeIcon,
163
161
  {
164
- [classes.mode]: equals(
165
- listingVariant,
166
- ListingVariant.extended
167
- )
162
+ [classes.mode]: equals(viewMode, ListingVariant.extended)
168
163
  }
169
164
  )}
170
165
  >
@@ -215,7 +210,7 @@ const MemoListingActionBar = ({
215
210
  currentPage,
216
211
  moveTablePagination,
217
212
  widthToMoveTablePagination,
218
- listingVariant,
213
+ viewMode,
219
214
  themeMode,
220
215
  limit,
221
216
  pick(
@@ -245,9 +240,8 @@ const ListingActionBar = ({
245
240
  moveTablePagination,
246
241
  widthToMoveTablePagination,
247
242
  customPaginationClassName,
248
- listingVariant,
249
- viewerModeConfiguration,
250
- visualizationActions
243
+ viewMode,
244
+ viewerModeConfiguration
251
245
  }: Props): JSX.Element | null => {
252
246
  if (
253
247
  not(paginated) &&
@@ -266,12 +260,11 @@ const ListingActionBar = ({
266
260
  currentPage={currentPage}
267
261
  customPaginationClassName={customPaginationClassName}
268
262
  limit={limit}
269
- listingVariant={listingVariant}
270
263
  moveTablePagination={moveTablePagination}
271
264
  paginated={paginated}
272
265
  totalRows={totalRows}
266
+ viewMode={viewMode}
273
267
  viewerModeConfiguration={viewerModeConfiguration}
274
- visualizationActions={visualizationActions}
275
268
  widthToMoveTablePagination={widthToMoveTablePagination}
276
269
  onLimitChange={onLimitChange}
277
270
  onPaginate={onPaginate}