@centreon/ui 23.10.107 → 23.10.109

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/.storybook/main.js +82 -0
  2. package/.storybook/preview.tsx +21 -0
  3. package/README.md +14 -44
  4. package/jest.config.js +20 -0
  5. package/package.json +31 -96
  6. package/{test/setupTests.js → setupTests.js} +1 -1
  7. package/src/ActionsList/index.stories.tsx +0 -74
  8. package/src/ActionsList/index.tsx +21 -58
  9. package/src/Button/Icon/index.tsx +2 -11
  10. package/src/Button/Save/index.stories.tsx +5 -10
  11. package/src/Button/Save/index.tsx +1 -1
  12. package/src/Dialog/Confirm/index.tsx +4 -17
  13. package/src/Dialog/Duplicate/index.test.tsx +1 -1
  14. package/src/Dialog/index.tsx +2 -14
  15. package/src/FallbackPage/FallbackPage.tsx +2 -2
  16. package/src/FileDropZone/index.tsx +1 -1
  17. package/src/Form/CollapsibleGroup.tsx +5 -15
  18. package/src/Form/FormButtons.tsx +4 -2
  19. package/src/Form/Inputs/Autocomplete.tsx +1 -1
  20. package/src/Form/Inputs/ConnectedAutocomplete.tsx +1 -3
  21. package/src/Form/Inputs/Grid.tsx +2 -4
  22. package/src/Form/Inputs/Radio.tsx +5 -16
  23. package/src/Form/Inputs/Switch.tsx +1 -1
  24. package/src/Form/Inputs/Text.tsx +7 -18
  25. package/src/Form/Inputs/index.tsx +15 -31
  26. package/src/Form/Inputs/models.ts +4 -20
  27. package/src/Form/{Form.stories.tsx → index.stories.tsx} +3 -2
  28. package/src/Form/{Form.tsx → index.tsx} +16 -38
  29. package/src/Form/storiesData.tsx +3 -50
  30. package/src/Home.stories.mdx +84 -1
  31. package/src/Image/Image.tsx +1 -11
  32. package/src/Image/index.stories.tsx +2 -2
  33. package/src/Image/index.test.tsx +3 -3
  34. package/src/InputField/Search/PersistentTooltip.tsx +6 -10
  35. package/src/InputField/Select/Autocomplete/Connected/Multi/index.test.tsx +22 -3
  36. package/src/InputField/Select/Autocomplete/Connected/index.stories.tsx +3 -0
  37. package/src/InputField/Select/Autocomplete/Connected/index.test.tsx +7 -3
  38. package/src/InputField/Select/Autocomplete/Connected/index.tsx +6 -32
  39. package/src/InputField/Select/Autocomplete/Draggable/index.stories.tsx +2 -0
  40. package/src/InputField/Select/Autocomplete/Multi/index.tsx +15 -32
  41. package/src/InputField/Select/Autocomplete/index.stories.tsx +10 -1
  42. package/src/InputField/Select/Autocomplete/index.tsx +2 -5
  43. package/src/InputField/Select/index.tsx +1 -2
  44. package/src/InputField/Text/index.tsx +9 -14
  45. package/src/Listing/ActionBar/index.tsx +8 -15
  46. package/src/Listing/Cell/DataCell.tsx +68 -43
  47. package/src/Listing/Cell/index.tsx +8 -88
  48. package/src/Listing/Header/{_internals/PredefinedSelectionList.tsx → PredefinedSelectionList.tsx} +1 -1
  49. package/src/Listing/Header/{Cell/ListingHeaderCell.tsx → SortableCell/Content.tsx} +83 -18
  50. package/src/Listing/Header/SortableCell/DraggableIcon.tsx +41 -0
  51. package/src/Listing/Header/{ListingHeader.tsx → index.tsx} +105 -28
  52. package/src/Listing/{Row/Row.tsx → Row.tsx} +11 -12
  53. package/src/Listing/Skeleton.tsx +11 -0
  54. package/src/Listing/index.stories.tsx +40 -144
  55. package/src/Listing/index.test.tsx +1 -1
  56. package/src/Listing/index.tsx +262 -217
  57. package/src/Listing/models.ts +0 -1
  58. package/src/Listing/tableAtoms.ts +10 -15
  59. package/src/Listing/useStyleTable.ts +9 -9
  60. package/src/ListingPage/index.stories.tsx +8 -21
  61. package/src/ListingPage/index.tsx +38 -20
  62. package/src/Logo/CentreonLogo.tsx +2 -2
  63. package/src/Module/LicensedModule/LicenseCheck/index.stories.tsx +2 -0
  64. package/src/Panel/Memoized.tsx +1 -1
  65. package/src/Panel/Section/index.test.tsx +1 -1
  66. package/src/Panel/Section/index.tsx +1 -1
  67. package/src/Panel/index.tsx +6 -10
  68. package/src/PopoverMenu/index.tsx +4 -18
  69. package/src/RichTextEditor/ContentEditable.tsx +24 -70
  70. package/src/RichTextEditor/RichTextEditor.tsx +47 -155
  71. package/src/RichTextEditor/index.stories.tsx +0 -14
  72. package/src/RichTextEditor/plugins/AutoLinkPlugin/index.tsx +5 -53
  73. package/src/RichTextEditor/plugins/FloatingLinkEditorPlugin.tsx +16 -54
  74. package/src/RichTextEditor/plugins/ToolbarPlugin/FormatButtons.tsx +10 -3
  75. package/src/RichTextEditor/plugins/ToolbarPlugin/UndoRedoButtons.tsx +3 -7
  76. package/src/RichTextEditor/plugins/ToolbarPlugin/index.tsx +9 -39
  77. package/src/Snackbar/index.tsx +4 -14
  78. package/src/Snackbar/useSnackbar.tsx +1 -5
  79. package/src/SortableItems/SortableItem.tsx +2 -3
  80. package/src/ThemeProvider/index.tsx +33 -41
  81. package/src/ThemeProvider/palettes.ts +201 -422
  82. package/src/Typography/{Typography.stories.tsx → index.stories.tsx} +5 -5
  83. package/src/WallpaperPage/index.stories.tsx +1 -1
  84. package/src/Wizard/ActionsBar.test.tsx +1 -1
  85. package/src/Wizard/WizardContent.tsx +3 -2
  86. package/src/Wizard/index.stories.tsx +18 -5
  87. package/src/Wizard/index.test.tsx +1 -1
  88. package/src/Wizard/index.tsx +5 -20
  89. package/src/Wizard/models.ts +0 -7
  90. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-loading-with-no-data-1-snap.png +0 -0
  91. package/src/api/TestQueryProvider.tsx +1 -2
  92. package/src/api/buildListingEndpoint/getSearchQueryParameterValue.ts +26 -35
  93. package/src/api/buildListingEndpoint/index.test.ts +2 -2
  94. package/src/api/buildListingEndpoint/index.ts +1 -1
  95. package/src/api/buildListingEndpoint/models.ts +1 -0
  96. package/src/api/customFetch.ts +0 -10
  97. package/src/api/useFetchQuery/index.ts +15 -19
  98. package/src/api/useMutationQuery/index.ts +20 -41
  99. package/src/api/useRequest/index.ts +6 -9
  100. package/src/index.ts +21 -28
  101. package/src/storyshots.test.js +52 -0
  102. package/{test → src}/testRenderer.tsx +1 -1
  103. package/src/utils/getNormalizedId.ts +3 -1
  104. package/src/utils/useCopyToClipboard.ts +3 -2
  105. package/src/utils/useDebounce.ts +5 -8
  106. package/src/utils/useDeepCallback.ts +3 -1
  107. package/src/utils/useDeepMemo.ts +3 -1
  108. package/src/utils/useIntersectionObserver.ts +5 -5
  109. package/src/utils/useKeyObserver.tsx +3 -1
  110. package/src/utils/useLocaleDateTimeFormat/index.test.tsx +1 -1
  111. package/src/utils/useLocaleDateTimeFormat/index.ts +2 -1
  112. package/src/utils/useLocaleDateTimeFormat/localeFallback.test.tsx +1 -1
  113. package/src/utils/useMemoComponent.ts +1 -1
  114. package/testRunner.js +36 -0
  115. package/tsconfig.json +29 -0
  116. package/types/declarations.d.ts +9 -0
  117. package/public/README.md +0 -39
  118. package/public/mockServiceWorker.js +0 -303
  119. package/src/@assets/README.md +0 -5
  120. package/src/@assets/brand/centreon-logo-one-line-dark.svg +0 -1
  121. package/src/@assets/brand/centreon-logo-one-line-light.svg +0 -1
  122. package/src/@assets/icons/downtime.icon.svg +0 -1
  123. package/src/@types/aria-attributes.d.ts +0 -10
  124. package/src/@types/data-attributes.d.ts +0 -3
  125. package/src/@types/globals.d.ts +0 -9
  126. package/src/@types/vite-env.d.ts +0 -2
  127. package/src/ActionsList/ActionsList.styles.ts +0 -116
  128. package/src/ActionsList/models.ts +0 -8
  129. package/src/Checkbox/Checkbox.tsx +0 -109
  130. package/src/Checkbox/CheckboxGroup/index.stories.tsx +0 -41
  131. package/src/Checkbox/CheckboxGroup/index.tsx +0 -75
  132. package/src/Checkbox/index.stories.tsx +0 -39
  133. package/src/Checkbox/index.tsx +0 -2
  134. package/src/Dashboard/Dashboard.styles.ts +0 -108
  135. package/src/Dashboard/DashboardLayout.stories.tsx +0 -104
  136. package/src/Dashboard/Grid.tsx +0 -70
  137. package/src/Dashboard/Item.tsx +0 -100
  138. package/src/Dashboard/Layout.tsx +0 -79
  139. package/src/Dashboard/index.tsx +0 -9
  140. package/src/Dashboard/utils.ts +0 -28
  141. package/src/Form/Form.styles.ts +0 -11
  142. package/src/Form/Inputs/Checkbox.tsx +0 -57
  143. package/src/Form/Inputs/CheckboxGroup.tsx +0 -76
  144. package/src/Form/index.ts +0 -1
  145. package/src/Graph/Gauge/AnimatedPie.tsx +0 -102
  146. package/src/Graph/Gauge/Gauge.stories.tsx +0 -146
  147. package/src/Graph/Gauge/Gauge.tsx +0 -41
  148. package/src/Graph/Gauge/PieData.tsx +0 -63
  149. package/src/Graph/Gauge/ResponsiveGauge.tsx +0 -148
  150. package/src/Graph/Gauge/Thresholds.tsx +0 -117
  151. package/src/Graph/Gauge/index.ts +0 -1
  152. package/src/Graph/Gauge/models.ts +0 -20
  153. package/src/Graph/LineChart/BasicComponents/Axes/UnitLabel.tsx +0 -20
  154. package/src/Graph/LineChart/BasicComponents/Axes/index.tsx +0 -88
  155. package/src/Graph/LineChart/BasicComponents/Axes/models.ts +0 -26
  156. package/src/Graph/LineChart/BasicComponents/Axes/useAxisY.ts +0 -100
  157. package/src/Graph/LineChart/BasicComponents/Grids/index.tsx +0 -20
  158. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/index.tsx +0 -99
  159. package/src/Graph/LineChart/BasicComponents/Lines/RegularLines/useRegularLines.ts +0 -15
  160. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/index.tsx +0 -81
  161. package/src/Graph/LineChart/BasicComponents/Lines/StackedLines/useStackedLines.ts +0 -39
  162. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/BasicThreshold.tsx +0 -53
  163. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/Circle.tsx +0 -43
  164. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithPatternLines.tsx +0 -78
  165. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/ThresholdWithVariation.tsx +0 -63
  166. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/helpers/index.ts +0 -69
  167. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/index.tsx +0 -142
  168. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/models.ts +0 -105
  169. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useCoordinateCircle.ts +0 -46
  170. package/src/Graph/LineChart/BasicComponents/Lines/Threshold/useScaleThreshold.ts +0 -171
  171. package/src/Graph/LineChart/BasicComponents/Lines/index.tsx +0 -189
  172. package/src/Graph/LineChart/BasicComponents/Lines/models.ts +0 -45
  173. package/src/Graph/LineChart/BasicComponents/LoadingProgress.tsx +0 -46
  174. package/src/Graph/LineChart/BasicComponents/ThresholdLine.tsx +0 -64
  175. package/src/Graph/LineChart/BasicComponents/Thresholds.tsx +0 -77
  176. package/src/Graph/LineChart/BasicComponents/useFilterLines.ts +0 -62
  177. package/src/Graph/LineChart/Header/index.tsx +0 -65
  178. package/src/Graph/LineChart/Icons/Downtime.tsx +0 -9
  179. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/GuidingLines.tsx +0 -45
  180. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/RegularAnchorPoint.tsx +0 -66
  181. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/StackedAnchorPoint.tsx +0 -76
  182. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/TooltipAnchorPoint.tsx +0 -96
  183. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/index.tsx +0 -20
  184. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/models.ts +0 -62
  185. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTickGraph.ts +0 -94
  186. package/src/Graph/LineChart/InteractiveComponents/AnchorPoint/useTooltipAnchorPoint.ts +0 -107
  187. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Area.tsx +0 -114
  188. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/Line.tsx +0 -103
  189. package/src/Graph/LineChart/InteractiveComponents/Annotations/Annotation/index.tsx +0 -81
  190. package/src/Graph/LineChart/InteractiveComponents/Annotations/Area/Downtime.tsx +0 -27
  191. package/src/Graph/LineChart/InteractiveComponents/Annotations/EventAnnotations.tsx +0 -61
  192. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Acknowledgement.tsx +0 -27
  193. package/src/Graph/LineChart/InteractiveComponents/Annotations/Line/Comments.tsx +0 -25
  194. package/src/Graph/LineChart/InteractiveComponents/Annotations/annotationsAtoms.ts +0 -183
  195. package/src/Graph/LineChart/InteractiveComponents/Annotations/index.tsx +0 -49
  196. package/src/Graph/LineChart/InteractiveComponents/Annotations/models.ts +0 -25
  197. package/src/Graph/LineChart/InteractiveComponents/Annotations/useAnnotation.ts +0 -56
  198. package/src/Graph/LineChart/InteractiveComponents/Bar.tsx +0 -21
  199. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftIcon.tsx +0 -62
  200. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/TimeShiftZone.tsx +0 -74
  201. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/index.tsx +0 -85
  202. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/models.ts +0 -12
  203. package/src/Graph/LineChart/InteractiveComponents/TimeShiftZones/useTimeShiftZones.ts +0 -72
  204. package/src/Graph/LineChart/InteractiveComponents/Tooltip/index.tsx +0 -59
  205. package/src/Graph/LineChart/InteractiveComponents/Tooltip/models.ts +0 -9
  206. package/src/Graph/LineChart/InteractiveComponents/Tooltip/useGraphTooltip.ts +0 -67
  207. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/index.tsx +0 -38
  208. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/models.ts +0 -9
  209. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/useZoomPreview.ts +0 -107
  210. package/src/Graph/LineChart/InteractiveComponents/ZoomPreview/zoomPreviewAtoms.ts +0 -3
  211. package/src/Graph/LineChart/InteractiveComponents/index.tsx +0 -168
  212. package/src/Graph/LineChart/InteractiveComponents/interactionWithGraphAtoms.ts +0 -52
  213. package/src/Graph/LineChart/Legend/InteractiveValue.tsx +0 -22
  214. package/src/Graph/LineChart/Legend/Legend.styles.ts +0 -71
  215. package/src/Graph/LineChart/Legend/LegendContent.tsx +0 -27
  216. package/src/Graph/LineChart/Legend/LegendHeader.tsx +0 -45
  217. package/src/Graph/LineChart/Legend/Marker.tsx +0 -43
  218. package/src/Graph/LineChart/Legend/index.tsx +0 -173
  219. package/src/Graph/LineChart/Legend/models.ts +0 -11
  220. package/src/Graph/LineChart/Legend/useInteractiveValues.ts +0 -99
  221. package/src/Graph/LineChart/Legend/useLegend.ts +0 -105
  222. package/src/Graph/LineChart/LineChart.styles.ts +0 -45
  223. package/src/Graph/LineChart/LineChart.tsx +0 -303
  224. package/src/Graph/LineChart/LoadingSkeleton.tsx +0 -44
  225. package/src/Graph/LineChart/common/index.ts +0 -35
  226. package/src/Graph/LineChart/graphAtoms.ts +0 -3
  227. package/src/Graph/LineChart/helpers/doc.ts +0 -560
  228. package/src/Graph/LineChart/helpers/index.ts +0 -63
  229. package/src/Graph/LineChart/index.stories.tsx +0 -478
  230. package/src/Graph/LineChart/index.tsx +0 -115
  231. package/src/Graph/LineChart/mockedData/annotationData.json +0 -326
  232. package/src/Graph/LineChart/mockedData/exclusionPeriodFirstPeriod.json +0 -588
  233. package/src/Graph/LineChart/mockedData/exclusionPeriodSecondPeriod.json +0 -588
  234. package/src/Graph/LineChart/mockedData/exclusionPeriodThirdPeriod.json +0 -581
  235. package/src/Graph/LineChart/mockedData/lastDay.json +0 -1326
  236. package/src/Graph/LineChart/mockedData/lastDayAreaStack.json +0 -3106
  237. package/src/Graph/LineChart/mockedData/lastDayForward.json +0 -1338
  238. package/src/Graph/LineChart/mockedData/lastDayThreshold.json +0 -2352
  239. package/src/Graph/LineChart/mockedData/lastMonth.json +0 -1674
  240. package/src/Graph/LineChart/mockedData/lastWeek.json +0 -2202
  241. package/src/Graph/LineChart/mockedData/zoomPreview.json +0 -742
  242. package/src/Graph/LineChart/models.ts +0 -146
  243. package/src/Graph/LineChart/translatedLabels.ts +0 -9
  244. package/src/Graph/LineChart/useLineChartData.ts +0 -49
  245. package/src/Graph/LineChart/useLineChartIntersection.ts +0 -36
  246. package/src/Graph/SingleBar/ResponsiveSingleBar.tsx +0 -197
  247. package/src/Graph/SingleBar/SingleBar.stories.tsx +0 -204
  248. package/src/Graph/SingleBar/SingleBar.tsx +0 -25
  249. package/src/Graph/SingleBar/ThresholdLine.tsx +0 -103
  250. package/src/Graph/SingleBar/Thresholds.tsx +0 -50
  251. package/src/Graph/SingleBar/index.ts +0 -1
  252. package/src/Graph/SingleBar/models.ts +0 -10
  253. package/src/Graph/Text/Text.stories.tsx +0 -67
  254. package/src/Graph/Text/Text.styles.ts +0 -17
  255. package/src/Graph/Text/Text.tsx +0 -91
  256. package/src/Graph/Text/index.ts +0 -1
  257. package/src/Graph/common/margins.ts +0 -1
  258. package/src/Graph/common/models.ts +0 -19
  259. package/src/Graph/common/timeSeries/index.test.ts +0 -624
  260. package/src/Graph/common/timeSeries/index.ts +0 -626
  261. package/src/Graph/common/timeSeries/models.ts +0 -129
  262. package/src/Graph/common/utils.ts +0 -75
  263. package/src/Graph/index.ts +0 -4
  264. package/src/InputField/Select/Autocomplete/Connected/Multi/MultiConnectedAutocompleteField.cypress.spec.tsx +0 -127
  265. package/src/InputField/Select/Autocomplete/Connected/Multi/utils/index.ts +0 -22
  266. package/src/Listing/Cell/DataCell.styles.ts +0 -24
  267. package/src/Listing/EmptyResult/EmptyResult.tsx +0 -13
  268. package/src/Listing/Header/Cell/ListingHeaderCell.styles.ts +0 -71
  269. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.styles.ts +0 -26
  270. package/src/Listing/Header/Cell/SelectActionListingHeaderCell.tsx +0 -70
  271. package/src/Listing/Header/ListingHeader.styles.ts +0 -16
  272. package/src/Listing/Header/_internals/DraggableIconButton.tsx +0 -35
  273. package/src/Listing/Header/index.ts +0 -1
  274. package/src/Listing/Listing.cypress.spec.tsx +0 -122
  275. package/src/Listing/Listing.styles.ts +0 -81
  276. package/src/Listing/ListingDocs.mdx +0 -61
  277. package/src/Listing/Row/EmptyRow.styles.ts +0 -14
  278. package/src/Listing/Row/EmptyRow.tsx +0 -30
  279. package/src/Listing/Row/SkeletonLoaderRows.tsx +0 -23
  280. package/src/ParentSize/ParentSize.tsx +0 -24
  281. package/src/ParentSize/index.ts +0 -1
  282. package/src/RichTextEditor/RichTextEditor.cypress.spec.tsx +0 -360
  283. package/src/RichTextEditor/plugins/ToolbarPlugin/AlignPicker.tsx +0 -115
  284. package/src/RichTextEditor/plugins/ToolbarPlugin/BlockButtons.tsx +0 -197
  285. package/src/RichTextEditor/plugins/ToolbarPlugin/MacrosButton.tsx +0 -91
  286. package/src/RichTextEditor/plugins/ToolbarPlugin/ToolbarPlugin.styles.ts +0 -22
  287. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.styles.ts +0 -51
  288. package/src/TimePeriods/CustomTimePeriod/CompactCustomTimePeriod.tsx +0 -95
  289. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/ErrorText.tsx +0 -14
  290. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/PickersStartEndDate.tsx +0 -166
  291. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/index.tsx +0 -76
  292. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/models.ts +0 -61
  293. package/src/TimePeriods/CustomTimePeriod/PopoverCustomTimePeriod/usePickersStartEndDate.ts +0 -82
  294. package/src/TimePeriods/CustomTimePeriod/SimpleCustomTimePeriod.tsx +0 -28
  295. package/src/TimePeriods/CustomTimePeriod/index.tsx +0 -66
  296. package/src/TimePeriods/DateTimePickerInput.tsx +0 -49
  297. package/src/TimePeriods/ResolutionTimePeriod.cypress.spec.tsx +0 -65
  298. package/src/TimePeriods/SelectedTimePeriod.tsx +0 -102
  299. package/src/TimePeriods/TimePeriods.cypress.spec.tsx +0 -510
  300. package/src/TimePeriods/TimePeriods.styles.ts +0 -22
  301. package/src/TimePeriods/helpers/index.ts +0 -26
  302. package/src/TimePeriods/index.stories.tsx +0 -113
  303. package/src/TimePeriods/index.tsx +0 -79
  304. package/src/TimePeriods/mockedData.ts +0 -12
  305. package/src/TimePeriods/models.ts +0 -97
  306. package/src/TimePeriods/timePeriodsAtoms.ts +0 -102
  307. package/src/TimePeriods/translatedLabels.ts +0 -9
  308. package/src/TimePeriods/useSortTimePeriods.ts +0 -31
  309. package/src/TimePeriods/useTimePeriod.ts +0 -49
  310. package/src/Typography/FluidTypography/index.stories.tsx +0 -63
  311. package/src/Typography/FluidTypography/index.tsx +0 -51
  312. package/src/Typography/FluidTypography/useFluidResizeObserver.ts +0 -56
  313. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-normal-1-snap.png +0 -0
  314. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-item-header-1-snap.png +0 -0
  315. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-dashboard-with-many-panels-1-snap.png +0 -0
  316. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-basic-1-snap.png +0 -0
  317. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-20-px-height-1-snap.png +0 -0
  318. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-200-px-width-1-snap.png +0 -0
  319. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-heading-5-variant-1-snap.png +0 -0
  320. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-fluid-typography-with-long-text-1-snap.png +0 -0
  321. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-as-empty-state-1-snap.png +0 -0
  322. package/src/__image_snapshots__/storyshots-test-js-image-story-shots-listing-with-editable-and-sortable-columns-1-snap.png +0 -0
  323. package/src/api/useGraphQuery/index.ts +0 -166
  324. package/src/api/useGraphQuery/models.ts +0 -15
  325. package/src/base/tokens/README.md +0 -3
  326. package/src/base/tokens/source/$metadata.json +0 -5
  327. package/src/base/tokens/source/base.json +0 -142
  328. package/src/base/tokens/themes/base.tokens.d.ts +0 -38
  329. package/src/base/tokens/themes/base.tokens.json +0 -695
  330. package/src/base/tokens/themes/base.tokens.ts +0 -38
  331. package/src/base/tokens/themes/ui-dark.tokens.d.ts +0 -38
  332. package/src/base/tokens/themes/ui-dark.tokens.json +0 -695
  333. package/src/base/tokens/themes/ui-dark.tokens.ts +0 -38
  334. package/src/base/tokens/themes/ui-light.tokens.d.ts +0 -38
  335. package/src/base/tokens/themes/ui-light.tokens.json +0 -695
  336. package/src/base/tokens/themes/ui-light.tokens.ts +0 -38
  337. package/src/components/Avatar/Avatar.stories.tsx +0 -23
  338. package/src/components/Avatar/Avatar.styles.ts +0 -11
  339. package/src/components/Avatar/Avatar.tsx +0 -32
  340. package/src/components/Avatar/index.ts +0 -1
  341. package/src/components/Button/Button.stories.tsx +0 -34
  342. package/src/components/Button/Button.styles.ts +0 -44
  343. package/src/components/Button/Button.tsx +0 -78
  344. package/src/components/Button/Icon/IconButton.stories.tsx +0 -18
  345. package/src/components/Button/Icon/IconButton.styles.ts +0 -14
  346. package/src/components/Button/Icon/IconButton.tsx +0 -58
  347. package/src/components/Button/Icon/index.tsx +0 -1
  348. package/src/components/Button/index.ts +0 -2
  349. package/src/components/CollapsibleItem/CollapsibleItem.stories.tsx +0 -25
  350. package/src/components/CollapsibleItem/CollapsibleItem.tsx +0 -47
  351. package/src/components/CollapsibleItem/index.ts +0 -1
  352. package/src/components/CollapsibleItem/useCollapsibleItemStyles.ts +0 -15
  353. package/src/components/DataTable/DataTable.stories.tsx +0 -51
  354. package/src/components/DataTable/DataTable.styles.ts +0 -27
  355. package/src/components/DataTable/DataTable.tsx +0 -35
  356. package/src/components/DataTable/EmptyState/DataTableEmptyState.stories.tsx +0 -21
  357. package/src/components/DataTable/EmptyState/DataTableEmptyState.styles.ts +0 -26
  358. package/src/components/DataTable/EmptyState/DataTableEmptyState.tsx +0 -53
  359. package/src/components/DataTable/Item/DataTableItem.stories.tsx +0 -25
  360. package/src/components/DataTable/Item/DataTableItem.styles.ts +0 -33
  361. package/src/components/DataTable/Item/DataTableItem.tsx +0 -123
  362. package/src/components/DataTable/Item/DataTableItemSkeleton.tsx +0 -13
  363. package/src/components/DataTable/index.ts +0 -10
  364. package/src/components/Form/AccessRights/AccessRights.resource.ts +0 -45
  365. package/src/components/Form/AccessRights/AccessRightsForm.stories.tsx +0 -59
  366. package/src/components/Form/AccessRights/AccessRightsForm.styles.ts +0 -21
  367. package/src/components/Form/AccessRights/AccessRightsForm.tsx +0 -67
  368. package/src/components/Form/AccessRights/AccessRightsFormActions.tsx +0 -80
  369. package/src/components/Form/AccessRights/Input/AddAction.tsx +0 -31
  370. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.stories.tsx +0 -54
  371. package/src/components/Form/AccessRights/Input/ContactAccessRightInput.tsx +0 -72
  372. package/src/components/Form/AccessRights/Input/ContactAccessRightsInput.styles.ts +0 -22
  373. package/src/components/Form/AccessRights/Input/ContactInputField.tsx +0 -105
  374. package/src/components/Form/AccessRights/Input/RoleInputField.tsx +0 -29
  375. package/src/components/Form/AccessRights/List/ContactAccessRightsList.stories.tsx +0 -97
  376. package/src/components/Form/AccessRights/List/ContactAccessRightsList.styles.ts +0 -71
  377. package/src/components/Form/AccessRights/List/ContactAccessRightsList.tsx +0 -51
  378. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.stories.tsx +0 -116
  379. package/src/components/Form/AccessRights/List/ContactAccessRightsListItem.tsx +0 -118
  380. package/src/components/Form/AccessRights/List/ContactAccessRightsListItemSkeleton.tsx +0 -26
  381. package/src/components/Form/AccessRights/List/ContactAccessRightsListSkeleton.tsx +0 -28
  382. package/src/components/Form/AccessRights/Stats/AccessRightsStats.styles.ts +0 -18
  383. package/src/components/Form/AccessRights/Stats/AccessRightsStats.tsx +0 -41
  384. package/src/components/Form/AccessRights/__fixtures__/contactAccessRight.mock.ts +0 -52
  385. package/src/components/Form/AccessRights/common/GroupLabel.styles.ts +0 -18
  386. package/src/components/Form/AccessRights/common/GroupLabel.tsx +0 -15
  387. package/src/components/Form/AccessRights/common/Input.styles.ts +0 -48
  388. package/src/components/Form/AccessRights/common/RoleInputSelect.styles.ts +0 -11
  389. package/src/components/Form/AccessRights/common/RoleInputSelect.tsx +0 -57
  390. package/src/components/Form/AccessRights/index.ts +0 -3
  391. package/src/components/Form/AccessRights/useAccessRightsForm.test.tsx +0 -531
  392. package/src/components/Form/AccessRights/useAccessRightsForm.tsx +0 -282
  393. package/src/components/Form/AccessRights/useAccessRightsForm.utils.ts +0 -41
  394. package/src/components/Form/Dashboard/Dashboard.resource.ts +0 -9
  395. package/src/components/Form/Dashboard/DashboardForm.stories.ts +0 -39
  396. package/src/components/Form/Dashboard/DashboardForm.styles.ts +0 -21
  397. package/src/components/Form/Dashboard/DashboardForm.tsx +0 -134
  398. package/src/components/Form/Dashboard/GlobalRefreshFieldOption.tsx +0 -59
  399. package/src/components/Form/Dashboard/index.ts +0 -2
  400. package/src/components/Form/Dashboard/translatedLabels.ts +0 -9
  401. package/src/components/Form/Form.models.ts +0 -1
  402. package/src/components/Form/Form.resource.ts +0 -1
  403. package/src/components/Form/Form.styles.ts +0 -17
  404. package/src/components/Form/FormActions.tsx +0 -57
  405. package/src/components/Form/index.ts +0 -3
  406. package/src/components/Header/PageHeader/PageHeader.stories.tsx +0 -97
  407. package/src/components/Header/PageHeader/PageHeader.styles.ts +0 -99
  408. package/src/components/Header/PageHeader/PageHeader.tsx +0 -15
  409. package/src/components/Header/PageHeader/PageHeaderActions.tsx +0 -17
  410. package/src/components/Header/PageHeader/PageHeaderMain.tsx +0 -15
  411. package/src/components/Header/PageHeader/PageHeaderMenu.tsx +0 -15
  412. package/src/components/Header/PageHeader/PageHeaderTitle.tsx +0 -47
  413. package/src/components/Header/PageHeader/index.ts +0 -12
  414. package/src/components/Header/index.ts +0 -1
  415. package/src/components/Icon/Icon.styles.ts +0 -0
  416. package/src/components/Icon/Icon.tsx +0 -2
  417. package/src/components/Icon/index.ts +0 -0
  418. package/src/components/Inputs/Switch/Switch.stories.tsx +0 -22
  419. package/src/components/Inputs/Switch/Switch.styles.ts +0 -13
  420. package/src/components/Inputs/Switch/Switch.tsx +0 -18
  421. package/src/components/Inputs/index.ts +0 -1
  422. package/src/components/ItemComposition/Item.tsx +0 -41
  423. package/src/components/ItemComposition/ItemComposition.stories.tsx +0 -78
  424. package/src/components/ItemComposition/ItemComposition.styles.ts +0 -29
  425. package/src/components/ItemComposition/ItemComposition.tsx +0 -45
  426. package/src/components/ItemComposition/index.ts +0 -6
  427. package/src/components/Layout/AreaIndicator.styles.ts +0 -33
  428. package/src/components/Layout/AreaIndicator.tsx +0 -35
  429. package/src/components/Layout/PageLayout/PageLayout.stories.tsx +0 -81
  430. package/src/components/Layout/PageLayout/PageLayout.styles.ts +0 -41
  431. package/src/components/Layout/PageLayout/PageLayout.tsx +0 -21
  432. package/src/components/Layout/PageLayout/PageLayoutActions.tsx +0 -24
  433. package/src/components/Layout/PageLayout/PageLayoutBody.tsx +0 -24
  434. package/src/components/Layout/PageLayout/PageLayoutHeader.tsx +0 -15
  435. package/src/components/Layout/PageLayout/index.ts +0 -10
  436. package/src/components/Layout/index.ts +0 -1
  437. package/src/components/List/Item/Avatar.tsx +0 -21
  438. package/src/components/List/Item/AvatarSkeleton.tsx +0 -17
  439. package/src/components/List/Item/ListItem.stories.tsx +0 -41
  440. package/src/components/List/Item/ListItem.styles.ts +0 -57
  441. package/src/components/List/Item/ListItem.tsx +0 -32
  442. package/src/components/List/Item/Text.tsx +0 -25
  443. package/src/components/List/Item/TextSkeleton.tsx +0 -22
  444. package/src/components/List/Item/index.ts +0 -14
  445. package/src/components/List/List.stories.tsx +0 -70
  446. package/src/components/List/List.styles.ts +0 -8
  447. package/src/components/List/List.tsx +0 -19
  448. package/src/components/List/index.ts +0 -6
  449. package/src/components/Menu/Button/MenuButton.stories.tsx +0 -16
  450. package/src/components/Menu/Button/MenuButton.styles.ts +0 -27
  451. package/src/components/Menu/Button/MenuButton.tsx +0 -65
  452. package/src/components/Menu/Button/index.ts +0 -1
  453. package/src/components/Menu/Menu.stories.tsx +0 -71
  454. package/src/components/Menu/Menu.styles.ts +0 -68
  455. package/src/components/Menu/Menu.tsx +0 -25
  456. package/src/components/Menu/MenuDivider.tsx +0 -13
  457. package/src/components/Menu/MenuItem.tsx +0 -36
  458. package/src/components/Menu/MenuItems.tsx +0 -35
  459. package/src/components/Menu/index.ts +0 -12
  460. package/src/components/Menu/useMenu.tsx +0 -79
  461. package/src/components/Modal/Modal.stories.tsx +0 -142
  462. package/src/components/Modal/Modal.styles.ts +0 -88
  463. package/src/components/Modal/Modal.tsx +0 -79
  464. package/src/components/Modal/ModalActions.tsx +0 -62
  465. package/src/components/Modal/ModalBody.tsx +0 -15
  466. package/src/components/Modal/ModalHeader.tsx +0 -21
  467. package/src/components/Modal/index.ts +0 -12
  468. package/src/components/README.md +0 -3
  469. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.stories.tsx +0 -62
  470. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.styles.tsx +0 -22
  471. package/src/components/Tooltip/ConfirmationTooltip/ConfirmationTooltip.tsx +0 -68
  472. package/src/components/Tooltip/ConfirmationTooltip/TooltipContent.tsx +0 -31
  473. package/src/components/Tooltip/ConfirmationTooltip/index.ts +0 -1
  474. package/src/components/Tooltip/ConfirmationTooltip/models.ts +0 -18
  475. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.stories.tsx +0 -70
  476. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.styles.ts +0 -5
  477. package/src/components/Tooltip/TextOverflowTooltip/TextOverflowTooltip.tsx +0 -115
  478. package/src/components/Tooltip/TextOverflowTooltip/index.tsx +0 -1
  479. package/src/components/Tooltip/Tooltip.stories.tsx +0 -41
  480. package/src/components/Tooltip/Tooltip.tsx +0 -57
  481. package/src/components/Tooltip/index.ts +0 -2
  482. package/src/components/index.ts +0 -13
  483. package/src/screens/dashboard/DashboardsDetail.stories.tsx +0 -108
  484. package/src/screens/dashboard/DashboardsOverview.stories.tsx +0 -281
  485. package/src/styles/tokens/themes/_ui-dark.tokens.json +0 -695
  486. package/src/styles/tokens/themes/_ui-light.tokens.json +0 -695
  487. package/src/utils/centreonBaseURL.ts +0 -4
  488. package/src/utils/docsURL.ts +0 -31
  489. package/src/utils/index.ts +0 -22
  490. package/src/utils/panelSize.ts +0 -15
  491. package/src/utils/sanitizedHTML.ts +0 -18
  492. package/src/utils/translatedLabel.ts +0 -2
  493. package/src/utils/useDateTimePickerAdapter.ts +0 -309
  494. package/src/utils/useInfiniteScrollListing.ts +0 -106
  495. package/src/utils/useLicenseExpirationWarning.cypress.spec.tsx +0 -137
  496. package/src/utils/useLicenseExpirationWarning.ts +0 -52
  497. package/src/utils/useRefreshInterval.ts +0 -39
  498. package/src/utils/useResizeObserver.ts +0 -6
  499. package/src/utils/useThresholds.ts +0 -0
  500. /package/{public/brand → assets}/centreon-logo-one-line-dark.svg +0 -0
  501. /package/{public/brand → assets}/centreon-logo-one-line-light.svg +0 -0
  502. /package/{src/@assets/images → assets}/not-authorized-template-background-dark.svg +0 -0
  503. /package/{src/@assets/images → assets}/not-authorized-template-background-light.svg +0 -0
  504. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.ttf +0 -0
  505. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff +0 -0
  506. /package/{public/fonts → fonts/fonts-generated}/roboto-bold-webfont.woff2 +0 -0
  507. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.ttf +0 -0
  508. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff +0 -0
  509. /package/{public/fonts → fonts/fonts-generated}/roboto-light-webfont.woff2 +0 -0
  510. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.ttf +0 -0
  511. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff +0 -0
  512. /package/{public/fonts → fonts/fonts-generated}/roboto-medium-webfont.woff2 +0 -0
  513. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.ttf +0 -0
  514. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff +0 -0
  515. /package/{public/fonts → fonts/fonts-generated}/roboto-regular-webfont.woff2 +0 -0
  516. /package/src/Listing/Header/{_internals/Label.tsx → Label.tsx} +0 -0
  517. /package/src/Typography/{story.utils.tsx → index.tsx} +0 -0
@@ -3,17 +3,10 @@ import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin';
3
3
  import { HistoryPlugin } from '@lexical/react/LexicalHistoryPlugin';
4
4
  import LexicalErrorBoundary from '@lexical/react/LexicalErrorBoundary';
5
5
  import { AutoLinkNode, LinkNode } from '@lexical/link';
6
- import { HeadingNode } from '@lexical/rich-text';
7
- import { ListItemNode, ListNode } from '@lexical/list';
8
6
  import anylogger from 'anylogger';
9
7
  import { makeStyles } from 'tss-react/mui';
10
- import { EditorState, LexicalEditor } from 'lexical';
8
+ import { EditorState } from 'lexical';
11
9
  import { LinkPlugin } from '@lexical/react/LexicalLinkPlugin';
12
- import { equals } from 'ramda';
13
- import { ListPlugin } from '@lexical/react/LexicalListPlugin';
14
- import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin';
15
-
16
- import { Typography } from '@mui/material';
17
10
 
18
11
  import ContentEditable from './ContentEditable';
19
12
  import ToolbarPlugin from './plugins/ToolbarPlugin/index';
@@ -21,25 +14,15 @@ import AutoCompleteLinkPlugin from './plugins/AutoLinkPlugin/index';
21
14
  import FloatingLinkEditorPlugin from './plugins/FloatingLinkEditorPlugin';
22
15
 
23
16
  export interface RichTextEditorProps {
24
- contentClassName?: string;
25
- disabled?: boolean;
26
- displayBlockButtons?: boolean;
27
- displayMacrosButton?: boolean;
28
17
  editable: boolean;
29
18
  editorState?: string;
30
- error?: string;
31
- getEditorState?: (editorState: EditorState, editor: LexicalEditor) => void;
19
+ getEditorState?: (editorState: EditorState) => void;
32
20
  initialEditorState?: string;
33
- initialize?: (editor) => void;
34
21
  inputClassname?: string;
35
22
  minInputHeight?: number;
36
23
  namespace?: string;
37
- onBlur?: (e: string) => void;
38
- openLinkInNewTab?: boolean;
39
24
  placeholder?: string;
40
25
  resetEditorToInitialStateCondition?: () => boolean;
41
- toolbarClassName?: string;
42
- toolbarPositions?: 'start' | 'end';
43
26
  }
44
27
 
45
28
  const log = anylogger('Rich text editor');
@@ -48,76 +31,26 @@ const onError = (error: Error): void => {
48
31
  log.error(error.message);
49
32
  };
50
33
 
51
- const useStyles = makeStyles<{ toolbarPositions: 'start' | 'end' }>()(
52
- (theme, { toolbarPositions }) => ({
53
- bold: {
54
- fontWeight: theme.typography.fontWeightBold
55
- },
56
- container: equals(toolbarPositions, 'end')
57
- ? {
58
- display: 'flex',
59
- flexDirection: 'column-reverse'
60
- }
61
- : {},
62
- error: {
63
- color: theme.palette.error.main,
64
- fontSize: theme.spacing(1.5),
65
- fontWeight: '200',
66
- paddingLeft: theme.spacing(1.5),
67
- paddingTop: theme.spacing(0.5)
68
- },
69
- h1: {
70
- fontSize: theme.typography.h1.fontSize,
71
- fontWeight: theme.typography.h1.fontWeight,
72
- lineHeight: theme.typography.h1.lineHeight
73
- },
74
- h2: {
75
- fontSize: theme.typography.h2.fontSize,
76
- fontWeight: theme.typography.h2.fontWeight,
77
- lineHeight: theme.typography.h2.lineHeight
78
- },
79
- h3: {
80
- fontSize: theme.typography.h3.fontSize,
81
- fontWeight: theme.typography.h3.fontWeight,
82
- lineHeight: theme.typography.h3.lineHeight
83
- },
84
- h4: {
85
- fontSize: theme.typography.h4.fontSize,
86
- fontWeight: theme.typography.h4.fontWeight,
87
- lineHeight: theme.typography.h4.lineHeight
88
- },
89
- h5: {
90
- fontSize: theme.typography.h5.fontSize,
91
- fontWeight: theme.typography.h5.fontWeight,
92
- lineHeight: theme.typography.h5.lineHeight
93
- },
94
- h6: {
95
- fontSize: theme.typography.h6.fontSize,
96
- fontWeight: theme.typography.h6.fontWeight,
97
- lineHeight: theme.typography.h6.lineHeight
98
- },
99
- italic: {
100
- fontStyle: 'italic'
101
- },
102
- link: {
103
- color: theme.palette.primary.main
104
- },
105
- strikethrough: {
106
- textDecoration: 'line-through'
107
- },
108
- toolbar: equals(toolbarPositions, 'end')
109
- ? {
110
- marginTop: theme.spacing(0.5)
111
- }
112
- : {},
113
- underline: {
114
- textDecoration: 'underline'
115
- },
116
- underlineStrikethrough: {
117
- textDecoration: 'underline line-through'
118
- }
119
- })
120
- );
34
+ const useStyles = makeStyles()((theme) => ({
35
+ bold: {
36
+ fontWeight: theme.typography.fontWeightBold
37
+ },
38
+ italic: {
39
+ fontStyle: 'italic'
40
+ },
41
+ link: {
42
+ color: theme.palette.primary.main
43
+ },
44
+ strikethough: {
45
+ textDecoration: 'line-through'
46
+ },
47
+ underline: {
48
+ textDecoration: 'underline'
49
+ },
50
+ underlineStrikethrough: {
51
+ textDecoration: 'underline line-through'
52
+ }
53
+ }));
121
54
 
122
55
  const RichTextEditor = ({
123
56
  namespace = 'RichTextEditor',
@@ -128,19 +61,9 @@ const RichTextEditor = ({
128
61
  initialEditorState,
129
62
  editable = true,
130
63
  editorState,
131
- resetEditorToInitialStateCondition,
132
- toolbarPositions = 'start',
133
- error,
134
- onBlur,
135
- contentClassName,
136
- displayMacrosButton = false,
137
- disabled = false,
138
- openLinkInNewTab = true,
139
- initialize,
140
- displayBlockButtons = true,
141
- toolbarClassName
64
+ resetEditorToInitialStateCondition
142
65
  }: RichTextEditorProps): JSX.Element => {
143
- const { classes } = useStyles({ toolbarPositions });
66
+ const { classes } = useStyles();
144
67
 
145
68
  const hasInitialTextContent = initialEditorState
146
69
  ? JSON.parse(initialEditorState).root?.children.length > 0
@@ -150,22 +73,14 @@ const RichTextEditor = ({
150
73
  editable,
151
74
  editorState: initialEditorState,
152
75
  namespace,
153
- nodes: [AutoLinkNode, LinkNode, HeadingNode, ListNode, ListItemNode],
76
+ nodes: [AutoLinkNode, LinkNode],
154
77
  onError,
155
78
  theme: {
156
- heading: {
157
- h1: classes.h1,
158
- h2: classes.h2,
159
- h3: classes.h3,
160
- h4: classes.h4,
161
- h5: classes.h5,
162
- h6: classes.h6
163
- },
164
79
  link: classes.link,
165
80
  text: {
166
81
  bold: classes.bold,
167
82
  italic: classes.italic,
168
- strikethrough: classes.strikethrough,
83
+ strikethrough: classes.strikethough,
169
84
  underline: classes.underline,
170
85
  underlineStrikethrough: classes.underlineStrikethrough
171
86
  }
@@ -174,53 +89,30 @@ const RichTextEditor = ({
174
89
 
175
90
  return (
176
91
  <LexicalComposer initialConfig={initialConfig}>
177
- <div className={classes.container}>
178
- <div className={classes.toolbar}>
179
- <ToolbarPlugin
180
- className={toolbarClassName}
181
- disabled={disabled}
182
- displayBlockButtons={displayBlockButtons}
183
- displayMacrosButton={displayMacrosButton}
92
+ <ToolbarPlugin editable={editable} getEditorState={getEditorState} />
93
+ <RichTextPlugin
94
+ ErrorBoundary={LexicalErrorBoundary}
95
+ contentEditable={
96
+ <ContentEditable
184
97
  editable={editable}
185
- />
186
- </div>
187
- <div>
188
- <RichTextPlugin
189
- ErrorBoundary={LexicalErrorBoundary}
190
- contentEditable={
191
- <ContentEditable
192
- className={contentClassName || ''}
193
- disabled={disabled}
194
- editable={editable}
195
- editorState={editorState}
196
- error={error}
197
- hasInitialTextContent={hasInitialTextContent}
198
- initialEditorState={initialEditorState}
199
- initialize={initialize}
200
- inputClassname={inputClassname}
201
- minInputHeight={minInputHeight}
202
- namespace={namespace}
203
- placeholder={placeholder}
204
- resetEditorToInitialStateCondition={
205
- resetEditorToInitialStateCondition
206
- }
207
- onBlur={onBlur}
208
- />
98
+ editorState={editorState}
99
+ hasInitialTextContent={hasInitialTextContent}
100
+ initialEditorState={initialEditorState}
101
+ inputClassname={inputClassname}
102
+ minInputHeight={minInputHeight}
103
+ namespace={namespace}
104
+ placeholder={placeholder}
105
+ resetEditorToInitialStateCondition={
106
+ resetEditorToInitialStateCondition
209
107
  }
210
- placeholder={null}
211
- />
212
- <HistoryPlugin />
213
- <LinkPlugin />
214
- <ListPlugin />
215
- <OnChangePlugin onChange={getEditorState} />
216
- <AutoCompleteLinkPlugin openLinkInNewTab={openLinkInNewTab} />
217
- <FloatingLinkEditorPlugin
218
- editable={editable}
219
- openLinkInNewTab={openLinkInNewTab}
220
108
  />
221
- {error && <Typography className={classes.error}>{error}</Typography>}
222
- </div>
223
- </div>
109
+ }
110
+ placeholder={null}
111
+ />
112
+ <HistoryPlugin />
113
+ <LinkPlugin />
114
+ <AutoCompleteLinkPlugin />
115
+ <FloatingLinkEditorPlugin editable={editable} />
224
116
  </LexicalComposer>
225
117
  );
226
118
  };
@@ -56,23 +56,9 @@ withCustomPlaceholder.args = {
56
56
  placeholder: 'Custom placeholder...'
57
57
  };
58
58
 
59
- export const withMacrosPlugin = Template.bind({});
60
- withMacrosPlugin.args = {
61
- displayMacrosButton: true
62
- };
63
-
64
59
  export const withEditableFalse = Template.bind({});
65
60
  withEditableFalse.args = {
66
- editable: true,
67
- editorState: JSON.stringify(initialEditorState),
68
- initialEditorState: JSON.stringify(initialEditorState)
69
- };
70
-
71
- export const Disabled = Template.bind({});
72
- Disabled.args = {
73
- disabled: true,
74
61
  editable: false,
75
- editorState: JSON.stringify(initialEditorState),
76
62
  initialEditorState: JSON.stringify(initialEditorState)
77
63
  };
78
64
 
@@ -1,11 +1,4 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- import {
4
- AutoLinkPlugin,
5
- LinkMatcher
6
- } from '@lexical/react/LexicalAutoLinkPlugin';
7
- import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
8
- import { BLUR_COMMAND, COMMAND_PRIORITY_LOW, FOCUS_COMMAND } from 'lexical';
1
+ import { AutoLinkPlugin } from '@lexical/react/LexicalAutoLinkPlugin';
9
2
 
10
3
  interface LinkAttributes {
11
4
  rel?: null | string;
@@ -26,15 +19,13 @@ const URL_MATCHER =
26
19
  const EMAIL_MATCHER =
27
20
  /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
28
21
 
29
- const getMatchers = (openLinkInNewTab: boolean): Array<LinkMatcher> => [
22
+ const MATCHERS = [
30
23
  (text: string): LinkMatcherResult | null => {
31
24
  const match = URL_MATCHER.exec(text);
32
25
 
33
26
  return (
34
27
  match && {
35
- attributes: openLinkInNewTab
36
- ? { rel: 'noreferrer', target: '_blank' }
37
- : undefined,
28
+ attributes: { rel: 'noreferrer', target: '_blank' },
38
29
  index: match.index,
39
30
  length: match[0].length,
40
31
  text: match[0],
@@ -56,47 +47,8 @@ const getMatchers = (openLinkInNewTab: boolean): Array<LinkMatcher> => [
56
47
  }
57
48
  ];
58
49
 
59
- const AutoCompleteLinkPlugin = ({
60
- openLinkInNewTab
61
- }: {
62
- openLinkInNewTab: boolean;
63
- }): JSX.Element | null => {
64
- const [editor] = useLexicalComposerContext();
65
- const [hasFocus, setFocus] = useState(false);
66
-
67
- useEffect(
68
- () =>
69
- editor.registerCommand(
70
- BLUR_COMMAND,
71
- () => {
72
- setFocus(false);
73
-
74
- return false;
75
- },
76
- COMMAND_PRIORITY_LOW
77
- ),
78
- []
79
- );
80
-
81
- useEffect(
82
- () =>
83
- editor.registerCommand(
84
- FOCUS_COMMAND,
85
- () => {
86
- setFocus(true);
87
-
88
- return false;
89
- },
90
- COMMAND_PRIORITY_LOW
91
- ),
92
- []
93
- );
94
-
95
- if (!hasFocus) {
96
- return null;
97
- }
98
-
99
- return <AutoLinkPlugin matchers={getMatchers(openLinkInNewTab)} />;
50
+ const AutoCompleteLinkPlugin = (): JSX.Element => {
51
+ return <AutoLinkPlugin matchers={MATCHERS} />;
100
52
  };
101
53
 
102
54
  export default AutoCompleteLinkPlugin;
@@ -11,7 +11,7 @@ import { mergeRegister } from '@lexical/utils';
11
11
  import { useAtom, useAtomValue, useSetAtom } from 'jotai';
12
12
  import { $isLinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link';
13
13
  import { useTranslation } from 'react-i18next';
14
- import { dec, equals, gt, isNil, replace } from 'ramda';
14
+ import { equals, isNil } from 'ramda';
15
15
 
16
16
  import { Popper, IconButton, Paper, Link, Box } from '@mui/material';
17
17
  import EditIcon from '@mui/icons-material/Edit';
@@ -28,7 +28,6 @@ import {
28
28
 
29
29
  interface FloatingLinkEditorPluginProps {
30
30
  editable: boolean;
31
- openLinkInNewTab: boolean;
32
31
  }
33
32
 
34
33
  interface UseFloatingLinkEditorProps extends FloatingLinkEditorPluginProps {
@@ -37,7 +36,6 @@ interface UseFloatingLinkEditorProps extends FloatingLinkEditorPluginProps {
37
36
 
38
37
  interface FloatingLinkEditorProps {
39
38
  editor: LexicalEditor;
40
- openLinkInNewTab: boolean;
41
39
  }
42
40
 
43
41
  interface TooltipPosition {
@@ -46,8 +44,7 @@ interface TooltipPosition {
46
44
  }
47
45
 
48
46
  const FloatingLinkEditor = ({
49
- editor,
50
- openLinkInNewTab
47
+ editor
51
48
  }: FloatingLinkEditorProps): JSX.Element | null => {
52
49
  const nativeSelection = window.getSelection();
53
50
  const rootElement = editor.getRootElement();
@@ -56,7 +53,6 @@ const FloatingLinkEditor = ({
56
53
  x: 0,
57
54
  y: 0
58
55
  });
59
- const [editedUrl, setEditedUrl] = useState('');
60
56
 
61
57
  const [editMode, setEditMode] = useAtom(editLinkModeAtom);
62
58
  const [linkUrl, setLinkUrl] = useAtom(linkValueAtom);
@@ -66,47 +62,24 @@ const FloatingLinkEditor = ({
66
62
  const acceptOrCancelNewLinkValue = useCallback(
67
63
  (event): void => {
68
64
  const { value } = event.target;
69
-
70
- event.preventDefault();
71
-
72
65
  if (event.key === 'Enter') {
66
+ event.preventDefault();
67
+
73
68
  if (value !== '') {
74
69
  editor.dispatchCommand(TOGGLE_LINK_COMMAND, {
75
- target: openLinkInNewTab ? '_blank' : undefined,
70
+ target: '_blank',
76
71
  url: value
77
72
  });
78
73
  }
79
74
  setEditMode(false);
80
- }
81
-
82
- if (event.key === 'Escape') {
75
+ } else if (event.key === 'Escape') {
76
+ event.preventDefault();
83
77
  setEditMode(false);
84
78
  }
85
79
  },
86
80
  [setEditMode, setLinkUrl]
87
81
  );
88
82
 
89
- const enterInEditMode = useCallback(() => {
90
- setEditedUrl(linkUrl);
91
- setEditMode(true);
92
- }, [linkUrl]);
93
-
94
- const changeValue = useCallback((event): void => {
95
- const { value } = event.target;
96
-
97
- const matched = value.match(/https?:\/\//g);
98
-
99
- if (gt(matched.length, 1)) {
100
- setEditedUrl(
101
- replace(matched.join(''), matched[dec(matched.length)], value)
102
- );
103
-
104
- return;
105
- }
106
-
107
- setEditedUrl(value);
108
- }, []);
109
-
110
83
  useEffect(() => {
111
84
  const isPositioned =
112
85
  rangeRect && (!equals(rangeRect.x, 0) || !equals(rangeRect.y, 0));
@@ -133,12 +106,7 @@ const FloatingLinkEditor = ({
133
106
  const yOffset = tooltipPosition.y - rootElementY + 30;
134
107
 
135
108
  return (
136
- <Popper
137
- open
138
- anchorEl={rootElement}
139
- placement="top-start"
140
- sx={{ zIndex: 'tooltip' }}
141
- >
109
+ <Popper open anchorEl={rootElement} placement="top-start">
142
110
  <Paper
143
111
  sx={{
144
112
  transform: `translate3d(${xOffset}px, ${
@@ -149,10 +117,9 @@ const FloatingLinkEditor = ({
149
117
  {editMode ? (
150
118
  <InputField
151
119
  autoFocus
152
- dataTestId="InputLinkField"
120
+ defaultValue={linkUrl}
153
121
  label={t(labelInputLink)}
154
122
  size="small"
155
- value={editedUrl}
156
123
  onBlur={(event): void => {
157
124
  const { value } = event.target;
158
125
 
@@ -163,8 +130,7 @@ const FloatingLinkEditor = ({
163
130
  }
164
131
  setEditMode(false);
165
132
  }}
166
- onChange={changeValue}
167
- onKeyUp={acceptOrCancelNewLinkValue}
133
+ onKeyDown={acceptOrCancelNewLinkValue}
168
134
  />
169
135
  ) : (
170
136
  <Box component="span" sx={{ margin: '10px' }}>
@@ -172,7 +138,7 @@ const FloatingLinkEditor = ({
172
138
  aria-label={labelSavedLink}
173
139
  href={linkUrl}
174
140
  rel="noreferrer noopener"
175
- target={openLinkInNewTab ? '_blank' : undefined}
141
+ target="_blank"
176
142
  variant="button"
177
143
  >
178
144
  {linkUrl}
@@ -181,7 +147,7 @@ const FloatingLinkEditor = ({
181
147
  aria-label={labelEditLink}
182
148
  size="small"
183
149
  sx={{ marginLeft: '5px' }}
184
- onClick={enterInEditMode}
150
+ onClick={(): void => setEditMode(true)}
185
151
  >
186
152
  <EditIcon fontSize="small" />
187
153
  </IconButton>
@@ -194,8 +160,7 @@ const FloatingLinkEditor = ({
194
160
 
195
161
  const useFloatingTextFormatToolbar = ({
196
162
  editor,
197
- editable,
198
- openLinkInNewTab
163
+ editable
199
164
  }: UseFloatingLinkEditorProps): JSX.Element | null => {
200
165
  const [isText, setIsText] = useState(false);
201
166
  const isInsertingLink = useAtomValue(isInsertingLinkAtom);
@@ -270,18 +235,15 @@ const useFloatingTextFormatToolbar = ({
270
235
  return null;
271
236
  }
272
237
 
273
- return (
274
- <FloatingLinkEditor editor={editor} openLinkInNewTab={openLinkInNewTab} />
275
- );
238
+ return <FloatingLinkEditor editor={editor} />;
276
239
  };
277
240
 
278
241
  const FloatingActionsToolbarPlugin = ({
279
- editable,
280
- openLinkInNewTab
242
+ editable
281
243
  }: FloatingLinkEditorPluginProps): JSX.Element | null => {
282
244
  const [editor] = useLexicalComposerContext();
283
245
 
284
- return useFloatingTextFormatToolbar({ editable, editor, openLinkInNewTab });
246
+ return useFloatingTextFormatToolbar({ editable, editor });
285
247
  };
286
248
 
287
249
  export default FloatingActionsToolbarPlugin;
@@ -5,6 +5,7 @@ import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext
5
5
  import {
6
6
  $getSelection,
7
7
  $isRangeSelection,
8
+ EditorState,
8
9
  FORMAT_TEXT_COMMAND,
9
10
  RangeSelection,
10
11
  SELECTION_CHANGE_COMMAND,
@@ -60,10 +61,10 @@ const getSelectedNode = (selection: RangeSelection): ElementNode | TextNode => {
60
61
  };
61
62
 
62
63
  interface Props {
63
- disabled: boolean;
64
+ getEditorState?: (editorState: EditorState) => void;
64
65
  }
65
66
 
66
- const FormatButtons = ({ disabled }: Props): JSX.Element => {
67
+ const FormatButtons = ({ getEditorState }: Props): JSX.Element => {
67
68
  const { classes, cx } = useStyles();
68
69
 
69
70
  const [isBold, setIsBold] = useState(false);
@@ -103,6 +104,13 @@ const FormatButtons = ({ disabled }: Props): JSX.Element => {
103
104
 
104
105
  useEffect(() => {
105
106
  return mergeRegister(
107
+ editor.registerUpdateListener(({ editorState }) => {
108
+ editorState.read(() => {
109
+ updateToolbar();
110
+ });
111
+
112
+ getEditorState?.(editorState);
113
+ }),
106
114
  editor.registerCommand(
107
115
  SELECTION_CHANGE_COMMAND,
108
116
  () => {
@@ -161,7 +169,6 @@ const FormatButtons = ({ disabled }: Props): JSX.Element => {
161
169
  <IconButton
162
170
  ariaLabel={type}
163
171
  className={cx(isSelected && classes.buttonSelected)}
164
- disabled={disabled}
165
172
  key={type}
166
173
  size="medium"
167
174
  title={type}
@@ -18,11 +18,7 @@ import { labelRedo, labelUndo } from '../../translatedLabels';
18
18
 
19
19
  const LowPriority = 1;
20
20
 
21
- interface Props {
22
- disabled: boolean;
23
- }
24
-
25
- const UndoRedoButtons = ({ disabled }: Props): JSX.Element => {
21
+ const UndoRedoButtons = (): JSX.Element => {
26
22
  const { t } = useTranslation();
27
23
 
28
24
  const [canUndo, setCanUndo] = useState(false);
@@ -68,7 +64,7 @@ const UndoRedoButtons = ({ disabled }: Props): JSX.Element => {
68
64
  <>
69
65
  <IconButton
70
66
  ariaLabel={translatedUndo}
71
- disabled={!canUndo || disabled}
67
+ disabled={!canUndo}
72
68
  title={translatedUndo}
73
69
  tooltipPlacement="top"
74
70
  onClick={undo}
@@ -77,7 +73,7 @@ const UndoRedoButtons = ({ disabled }: Props): JSX.Element => {
77
73
  </IconButton>
78
74
  <IconButton
79
75
  ariaLabel={translatedRedo}
80
- disabled={!canRedo || disabled}
76
+ disabled={!canRedo}
81
77
  title={translatedRedo}
82
78
  tooltipPlacement="top"
83
79
  onClick={redo}
@@ -1,65 +1,35 @@
1
+ import { EditorState } from 'lexical';
1
2
  import { makeStyles } from 'tss-react/mui';
2
3
 
3
4
  import { Divider } from '@mui/material';
4
5
 
5
6
  import FormatButtons from './FormatButtons';
6
7
  import UndoRedoButtons from './UndoRedoButtons';
7
- import MacrosButton from './MacrosButton';
8
- import BlockButtons from './BlockButtons';
9
- import AlignPicker from './AlignPicker';
10
8
 
11
9
  interface Props {
12
- className?: string;
13
- disabled: boolean;
14
- displayBlockButtons: boolean;
15
- displayMacrosButton?: boolean;
16
10
  editable: boolean;
11
+ getEditorState?: (editorState: EditorState) => void;
17
12
  }
18
13
 
19
- export const useStyles = makeStyles()((theme) => ({
14
+ const useStyles = makeStyles()((theme) => ({
20
15
  container: {
21
- alignItems: 'center',
22
16
  columnGap: theme.spacing(1),
23
17
  display: 'flex',
24
18
  marginBottom: theme.spacing(1)
25
- },
26
- macros: {
27
- '& span': {
28
- fontSize: theme.typography.caption.fontSize
29
- }
30
- },
31
- macrosButton: {
32
- marginBottom: theme.spacing(0.5)
33
19
  }
34
20
  }));
35
21
 
36
22
  const ToolbarPlugin = ({
37
- editable,
38
- displayMacrosButton,
39
- disabled,
40
- displayBlockButtons,
41
- className
23
+ getEditorState,
24
+ editable
42
25
  }: Props): JSX.Element | null => {
43
- const { cx, classes } = useStyles();
26
+ const { classes } = useStyles();
44
27
 
45
28
  return editable ? (
46
- <div className={cx(classes.container, className)}>
47
- <UndoRedoButtons disabled={disabled} />
48
- {displayBlockButtons && (
49
- <>
50
- <Divider flexItem orientation="vertical" />
51
- <BlockButtons disabled={disabled} />
52
- </>
53
- )}
29
+ <div className={classes.container}>
30
+ <UndoRedoButtons />
54
31
  <Divider flexItem orientation="vertical" />
55
- <FormatButtons disabled={disabled} />
56
- <AlignPicker disabled={disabled} />
57
- {displayMacrosButton && (
58
- <>
59
- <Divider flexItem orientation="vertical" />
60
- <MacrosButton disabled={disabled} />
61
- </>
62
- )}
32
+ <FormatButtons getEditorState={getEditorState} />
63
33
  </div>
64
34
  ) : null;
65
35
  };