@madie/madie-design-system 1.2.39 → 1.2.41

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 (289) hide show
  1. package/components/TruncateText/TruncateText.stories.js +25 -0
  2. package/components/TruncateText/index.js +52 -0
  3. package/components/index.js +2 -0
  4. package/coverage/clover.xml +3 -646
  5. package/coverage/coverage-final.json +1 -39
  6. package/coverage/lcov-report/index.html +11 -431
  7. package/coverage/lcov.info +0 -1389
  8. package/dist/browser.js +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/react/index.js +1 -1
  11. package/dist/react/index.js.map +1 -1
  12. package/doctor-storybook.log +41 -0
  13. package/migration-storybook.log +329 -0
  14. package/package.json +2 -1
  15. package/storybook-static/149.65bbc904.iframe.bundle.js +2 -0
  16. package/storybook-static/149.65bbc904.iframe.bundle.js.LICENSE.txt +14 -0
  17. package/storybook-static/164.e319e208c2d3a626e1f5.manager.bundle.js +1 -0
  18. package/storybook-static/192.69f71338.iframe.bundle.js +1 -0
  19. package/storybook-static/198.80608638.iframe.bundle.js +2 -0
  20. package/storybook-static/198.80608638.iframe.bundle.js.LICENSE.txt +31 -0
  21. package/storybook-static/217.b9975326.iframe.bundle.js +2 -0
  22. package/storybook-static/217.b9975326.iframe.bundle.js.LICENSE.txt +12 -0
  23. package/storybook-static/261.70d64bef7770b201fb77.manager.bundle.js +1 -0
  24. package/storybook-static/303.0d9893ef.iframe.bundle.js +1 -0
  25. package/storybook-static/319.3e8dc6b4a7d2f3e67eb0.manager.bundle.js +2 -0
  26. package/storybook-static/319.3e8dc6b4a7d2f3e67eb0.manager.bundle.js.LICENSE.txt +8 -0
  27. package/storybook-static/322.8b797be6.iframe.bundle.js +103 -0
  28. package/storybook-static/322.8b797be6.iframe.bundle.js.LICENSE.txt +140 -0
  29. package/storybook-static/322.8b797be6.iframe.bundle.js.map +1 -0
  30. package/storybook-static/40.df6534995de03601f813.manager.bundle.js +2 -0
  31. package/storybook-static/40.df6534995de03601f813.manager.bundle.js.LICENSE.txt +31 -0
  32. package/storybook-static/45.b37f580f.iframe.bundle.js +2 -0
  33. package/storybook-static/45.b37f580f.iframe.bundle.js.LICENSE.txt +8 -0
  34. package/storybook-static/467.7fabc4cd8819eddb42f9.manager.bundle.js +2 -0
  35. package/storybook-static/467.7fabc4cd8819eddb42f9.manager.bundle.js.LICENSE.txt +12 -0
  36. package/storybook-static/582.ffbf0b74.iframe.bundle.js +1 -0
  37. package/storybook-static/609.e27a5f77.iframe.bundle.js +2 -0
  38. package/storybook-static/609.e27a5f77.iframe.bundle.js.LICENSE.txt +11 -0
  39. package/storybook-static/794.cbe100d1870b4d8a130a.manager.bundle.js +1 -0
  40. package/storybook-static/861.0b692bf7.iframe.bundle.js +1 -0
  41. package/storybook-static/931.51f69825a96d7bce33f5.manager.bundle.js +2 -0
  42. package/storybook-static/931.51f69825a96d7bce33f5.manager.bundle.js.LICENSE.txt +94 -0
  43. package/storybook-static/987.874321cb40e99203aabe.manager.bundle.js +1 -0
  44. package/storybook-static/favicon.ico +0 -0
  45. package/storybook-static/iframe.html +364 -0
  46. package/storybook-static/index.html +59 -0
  47. package/storybook-static/main.07b67595538d689438e4.manager.bundle.js +1 -0
  48. package/storybook-static/main.8ae59f4f.iframe.bundle.js +1 -0
  49. package/storybook-static/project.json +1 -0
  50. package/storybook-static/runtime~main.09b9b14c88359f235007.manager.bundle.js +1 -0
  51. package/storybook-static/runtime~main.c9dcb6d8.iframe.bundle.js +1 -0
  52. package/storybook-static/static/media/Bitter-Bold.091bd4b7.woff +0 -0
  53. package/storybook-static/static/media/Bitter-Bold.24bf01e4.woff2 +0 -0
  54. package/storybook-static/static/media/Bitter-Bold.46bc29e4.ttf +0 -0
  55. package/storybook-static/static/media/Bitter-Bold.790f4f2f.eot +0 -0
  56. package/storybook-static/static/media/Bitter-Italic.1fa5390c.eot +0 -0
  57. package/storybook-static/static/media/Bitter-Italic.25e5675f.woff +0 -0
  58. package/storybook-static/static/media/Bitter-Italic.2eb18f5a.ttf +0 -0
  59. package/storybook-static/static/media/Bitter-Italic.34644574.woff2 +0 -0
  60. package/storybook-static/static/media/Bitter-Regular.4b22b6e8.woff +0 -0
  61. package/storybook-static/static/media/Bitter-Regular.559e7075.eot +0 -0
  62. package/storybook-static/static/media/Bitter-Regular.8db0301b.ttf +0 -0
  63. package/storybook-static/static/media/Bitter-Regular.f4e2f1f1.woff2 +0 -0
  64. package/storybook-static/static/media/FontAwesome.91f80bba.otf +0 -0
  65. package/storybook-static/static/media/OpenSans-Bold-webfont.202d819d.eot +0 -0
  66. package/storybook-static/static/media/OpenSans-Bold-webfont.92e570c6.woff2 +0 -0
  67. package/storybook-static/static/media/OpenSans-Bold-webfont.da71e99a.ttf +0 -0
  68. package/storybook-static/static/media/OpenSans-Bold-webfont.e75949bb.woff +0 -0
  69. package/storybook-static/static/media/OpenSans-Italic-webfont.72daa33a.woff2 +0 -0
  70. package/storybook-static/static/media/OpenSans-Italic-webfont.74ead3a8.woff +0 -0
  71. package/storybook-static/static/media/OpenSans-Italic-webfont.ae19388f.eot +0 -0
  72. package/storybook-static/static/media/OpenSans-Italic-webfont.ec7a2746.ttf +0 -0
  73. package/storybook-static/static/media/OpenSans-Regular-webfont.63a5fa7d.woff +0 -0
  74. package/storybook-static/static/media/OpenSans-Regular-webfont.66451be4.ttf +0 -0
  75. package/storybook-static/static/media/OpenSans-Regular-webfont.7882d20f.eot +0 -0
  76. package/storybook-static/static/media/OpenSans-Regular-webfont.ca4dd835.woff2 +0 -0
  77. package/storybook-static/static/media/OpenSans-Semibold-webfont.17ded75f.woff2 +0 -0
  78. package/storybook-static/static/media/OpenSans-Semibold-webfont.2a5adf6c.woff +0 -0
  79. package/storybook-static/static/media/OpenSans-Semibold-webfont.6059fecb.ttf +0 -0
  80. package/storybook-static/static/media/OpenSans-Semibold-webfont.c9808185.eot +0 -0
  81. package/storybook-static/static/media/Rubik-Bold.31bbd4d2.ttf +0 -0
  82. package/storybook-static/static/media/Rubik-Light.c90e2014.ttf +0 -0
  83. package/storybook-static/static/media/Rubik-Medium.5daa89aa.ttf +0 -0
  84. package/storybook-static/static/media/Rubik-Regular.cdf97d58.ttf +0 -0
  85. package/storybook-static/static/media/arrow-both.a0959e13.svg +3 -0
  86. package/storybook-static/static/media/fontawesome-webfont.1e59d233.ttf +0 -0
  87. package/storybook-static/static/media/fontawesome-webfont.20fd1704.woff2 +0 -0
  88. package/storybook-static/static/media/fontawesome-webfont.8b43027f.eot +0 -0
  89. package/storybook-static/static/media/fontawesome-webfont.c1e38fd9.svg +2671 -0
  90. package/storybook-static/static/media/fontawesome-webfont.f691f37e.woff +0 -0
  91. package/storybook.log +26 -0
  92. package/styles/_global.scss +66 -66
  93. package/styles/_main.scss +7 -7
  94. package/styles/_paths.scss +1 -1
  95. package/styles/_qpp-style.scss +35 -35
  96. package/styles/components/_accordion.scss +254 -254
  97. package/styles/components/_breadcrumbs.scss +7 -7
  98. package/styles/components/_buttons.scss +535 -535
  99. package/styles/components/_error-page.scss +4 -4
  100. package/styles/components/_flash-notification.scss +4 -4
  101. package/styles/components/_fonts.scss +16 -16
  102. package/styles/components/_forms.scss +1 -1
  103. package/styles/components/_grid.scss +22 -22
  104. package/styles/components/_links.scss +5 -3
  105. package/styles/components/_madie-alert.scss +80 -71
  106. package/styles/components/_madie-confirm-dialog.scss +33 -33
  107. package/styles/components/_madie-delete-dialog.scss +33 -33
  108. package/styles/components/_madie-discard-dialog.scss +27 -27
  109. package/styles/components/_madie-tooltip.scss +59 -60
  110. package/styles/components/_modals.scss +9 -9
  111. package/styles/components/_score-chart.scss +3 -3
  112. package/styles/components/_tables.scss +74 -74
  113. package/styles/components/_tabs.scss +3 -3
  114. package/styles/components/_text-field-variable.scss +13 -13
  115. package/styles/components/_toast.scss +75 -75
  116. package/styles/components/_variables.scss +13 -13
  117. package/styles/qppds/base/_backgrounds.scss +3 -3
  118. package/styles/qppds/base/_fonts.scss +17 -17
  119. package/styles/qppds/base/_icon.scss +6 -6
  120. package/styles/qppds/base/_layout.scss +2 -2
  121. package/styles/qppds/base/_typography.scss +51 -51
  122. package/styles/qppds/base/index.scss +4 -4
  123. package/styles/qppds/components/_alert.scss +73 -73
  124. package/styles/qppds/components/_breadcrumbs.scss +54 -54
  125. package/styles/qppds/components/_button.scss +437 -437
  126. package/styles/qppds/components/_card.scss +172 -172
  127. package/styles/qppds/components/_dropdown.scss +40 -40
  128. package/styles/qppds/components/_footer.scss +604 -605
  129. package/styles/qppds/components/_header.scss +804 -804
  130. package/styles/qppds/components/_link.scss +35 -35
  131. package/styles/qppds/components/_madie-alert.scss +80 -71
  132. package/styles/qppds/components/_madie-confirm-dialog.scss +33 -34
  133. package/styles/qppds/components/_madie-delete-dialog.scss +33 -33
  134. package/styles/qppds/components/_madie-discard-dialog.scss +27 -27
  135. package/styles/qppds/components/_madie-tooltip.scss +59 -60
  136. package/styles/qppds/components/_modal.scss +109 -109
  137. package/styles/qppds/components/_page-header.scss +59 -55
  138. package/styles/qppds/components/_pagination.scss +154 -154
  139. package/styles/qppds/components/_search.scss +100 -100
  140. package/styles/qppds/components/_sidebar.scss +8 -8
  141. package/styles/qppds/components/_table.scss +129 -129
  142. package/styles/qppds/components/_tabs.scss +172 -172
  143. package/styles/qppds/components/_text-field-variable.scss +12 -12
  144. package/styles/qppds/components/_text-input.scss +57 -57
  145. package/styles/qppds/components/_toast.scss +75 -75
  146. package/styles/qppds/components/index.scss +23 -23
  147. package/styles/qppds/components/sidebar/_cms.scss +5 -5
  148. package/styles/qppds/components/sidebar/_details.scss +5 -5
  149. package/styles/qppds/components/sidebar/_links.scss +12 -11
  150. package/styles/qppds/components/sidebar/_sidebar-animation.scss +9 -9
  151. package/styles/qppds/components/sidebar/_sidebar-tooltip.scss +1 -1
  152. package/styles/qppds/components/sidebar/_sidebar.scss +140 -140
  153. package/styles/qppds/components/sidebar/project-specific/_wi.scss +3 -3
  154. package/styles/qppds/index.scss +4 -4
  155. package/styles/qppds/settings/_functions.scss +1 -1
  156. package/styles/qppds/settings/_index.scss +3 -3
  157. package/styles/qppds/settings/mixins/_borders.scss +3 -3
  158. package/styles/qppds/settings/mixins/_focus.scss +20 -20
  159. package/styles/qppds/settings/mixins/_icons.scss +19 -19
  160. package/styles/qppds/settings/mixins/_index.scss +8 -8
  161. package/styles/qppds/settings/mixins/_layout.scss +59 -59
  162. package/styles/qppds/settings/mixins/_lists.scss +8 -8
  163. package/styles/qppds/settings/mixins/_table.scss +75 -75
  164. package/styles/qppds/settings/mixins/_type.scss +43 -43
  165. package/styles/qppds/settings/mixins/_visually-hidden.scss +12 -12
  166. package/styles/qppds/settings/variables/_color.scss +41 -41
  167. package/styles/qppds/settings/variables/_index.scss +3 -3
  168. package/styles/qppds/settings/variables/_layout.scss +43 -43
  169. package/styles/qppds/settings/variables/_type.scss +90 -90
  170. package/styles/qppds/utilities/_background-color.scss +34 -34
  171. package/styles/qppds/utilities/_color.scss +8 -8
  172. package/styles/qppds/utilities/_display-visibility.scss +40 -40
  173. package/styles/qppds/utilities/_flexbox.scss +188 -188
  174. package/styles/qppds/utilities/_font-family.scss +2 -2
  175. package/styles/qppds/utilities/_font-size.scss +4 -4
  176. package/styles/qppds/utilities/_font-weight.scss +2 -2
  177. package/styles/qppds/utilities/_height.scss +24 -24
  178. package/styles/qppds/utilities/_margin.scss +108 -108
  179. package/styles/qppds/utilities/_padding.scss +69 -69
  180. package/styles/qppds/utilities/_position.scss +12 -12
  181. package/styles/qppds/utilities/_text-align.scss +20 -20
  182. package/styles/qppds/utilities/_text-transform.scss +2 -2
  183. package/styles/qppds/utilities/_truncate.scss +4 -4
  184. package/styles/qppds/utilities/_width.scss +53 -53
  185. package/styles/qppds/utilities/index.scss +15 -15
  186. package/styles/qppds.scss +2 -2
  187. package/styles/third-party/_legacy-bootstrap.scss +10 -10
  188. package/styles/third-party/legacy-bootstrap/_buttons.scss +91 -91
  189. package/styles/third-party/legacy-bootstrap/_dropdowns.scss +136 -136
  190. package/styles/third-party/legacy-bootstrap/_forms.scss +328 -324
  191. package/styles/third-party/legacy-bootstrap/_grid.scss +19 -19
  192. package/styles/third-party/legacy-bootstrap/_mixins.scss +19 -19
  193. package/styles/third-party/legacy-bootstrap/_navbar.scss +525 -525
  194. package/styles/third-party/legacy-bootstrap/_navs.scss +156 -156
  195. package/styles/third-party/legacy-bootstrap/_normalize.scss +70 -70
  196. package/styles/third-party/legacy-bootstrap/_scaffolding.scss +47 -47
  197. package/styles/third-party/legacy-bootstrap/_variables.scss +18 -18
  198. package/styles/third-party/legacy-bootstrap/mixins/_buttons.scss +52 -52
  199. package/styles/third-party/legacy-bootstrap/mixins/_clearfix.scss +8 -8
  200. package/styles/third-party/legacy-bootstrap/mixins/_forms.scss +70 -70
  201. package/styles/third-party/legacy-bootstrap/mixins/_grid-framework.scss +58 -58
  202. package/styles/third-party/legacy-bootstrap/mixins/_grid.scss +63 -63
  203. package/styles/third-party/legacy-bootstrap/mixins/_labels.scss +7 -7
  204. package/styles/third-party/legacy-bootstrap/mixins/_nav-divider.scss +4 -4
  205. package/styles/third-party/legacy-bootstrap/mixins/_nav-vertical-align.scss +2 -2
  206. package/styles/third-party/legacy-bootstrap/mixins/_opacity.scss +3 -3
  207. package/styles/third-party/legacy-bootstrap/mixins/_panels.scss +22 -22
  208. package/styles/third-party/legacy-bootstrap/mixins/_reset-filter.scss +1 -1
  209. package/styles/third-party/legacy-bootstrap/mixins/_reset-text.scss +16 -16
  210. package/styles/third-party/legacy-bootstrap/mixins/_resize.scss +2 -2
  211. package/styles/third-party/legacy-bootstrap/mixins/_responsive-visibility.scss +16 -16
  212. package/styles/third-party/legacy-bootstrap/mixins/_size.scss +3 -3
  213. package/styles/third-party/legacy-bootstrap/mixins/_tab-focus.scss +5 -5
  214. package/styles/third-party/legacy-bootstrap/mixins/_table-row.scss +23 -23
  215. package/styles/third-party/legacy-bootstrap/mixins/_text-emphasis.scss +7 -7
  216. package/styles/third-party/legacy-bootstrap/mixins/_text-overflow.scss +3 -3
  217. package/styles/third-party/legacy-bootstrap/mixins/_vendor-prefixes.scss +85 -85
  218. package/test/components/DateField.test.js +5 -10
  219. package/test/components/DateTimeField.test.js +3 -1
  220. package/test/components/Instant.test.js +37 -32
  221. package/test/components/MadieAlert.test.js +54 -11
  222. package/test/components/MadieConfirmDialog.test.js +1 -1
  223. package/coverage/lcov-report/react/components/Accordion/index.html +0 -116
  224. package/coverage/lcov-report/react/components/Accordion/index.jsx.html +0 -370
  225. package/coverage/lcov-report/react/components/Button/index.html +0 -116
  226. package/coverage/lcov-report/react/components/Button/index.js.html +0 -385
  227. package/coverage/lcov-report/react/components/DateField/DateField.jsx.html +0 -427
  228. package/coverage/lcov-report/react/components/DateField/index.html +0 -116
  229. package/coverage/lcov-report/react/components/DateTimeField/DateTimeField.jsx.html +0 -352
  230. package/coverage/lcov-report/react/components/DateTimeField/index.html +0 -116
  231. package/coverage/lcov-report/react/components/Error/Collapsible.jsx.html +0 -364
  232. package/coverage/lcov-report/react/components/Error/ErrorUI.jsx.html +0 -178
  233. package/coverage/lcov-report/react/components/Error/error.js.html +0 -163
  234. package/coverage/lcov-report/react/components/Error/index.html +0 -146
  235. package/coverage/lcov-report/react/components/Footer/FooterUI.jsx.html +0 -496
  236. package/coverage/lcov-report/react/components/Footer/LegacyFooterUI.jsx.html +0 -697
  237. package/coverage/lcov-report/react/components/Footer/footer.js.html +0 -175
  238. package/coverage/lcov-report/react/components/Footer/index.html +0 -146
  239. package/coverage/lcov-report/react/components/Infotip/Infotip.jsx.html +0 -310
  240. package/coverage/lcov-report/react/components/Infotip/InfotipIcon.jsx.html +0 -208
  241. package/coverage/lcov-report/react/components/Infotip/index.html +0 -146
  242. package/coverage/lcov-report/react/components/Infotip/index.js.html +0 -94
  243. package/coverage/lcov-report/react/components/InputLabel/index.html +0 -116
  244. package/coverage/lcov-report/react/components/InputLabel/index.jsx.html +0 -244
  245. package/coverage/lcov-report/react/components/Instant/index.html +0 -116
  246. package/coverage/lcov-report/react/components/Instant/index.jsx.html +0 -886
  247. package/coverage/lcov-report/react/components/MadieAlert/index.html +0 -116
  248. package/coverage/lcov-report/react/components/MadieAlert/index.jsx.html +0 -565
  249. package/coverage/lcov-report/react/components/MadieConfirmDialog/index.html +0 -116
  250. package/coverage/lcov-report/react/components/MadieConfirmDialog/index.jsx.html +0 -277
  251. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.html +0 -116
  252. package/coverage/lcov-report/react/components/MadieDeleteDialog/index.jsx.html +0 -247
  253. package/coverage/lcov-report/react/components/MadieDialog/index.html +0 -116
  254. package/coverage/lcov-report/react/components/MadieDialog/index.jsx.html +0 -1021
  255. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.html +0 -116
  256. package/coverage/lcov-report/react/components/MadieDiscardDialog/index.jsx.html +0 -232
  257. package/coverage/lcov-report/react/components/MadieSpinner/index.html +0 -116
  258. package/coverage/lcov-report/react/components/MadieSpinner/index.jsx.html +0 -190
  259. package/coverage/lcov-report/react/components/MadieTooltip/index.html +0 -116
  260. package/coverage/lcov-report/react/components/MadieTooltip/index.jsx.html +0 -232
  261. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.html +0 -116
  262. package/coverage/lcov-report/react/components/MadieTooltipIcon/index.jsx.html +0 -178
  263. package/coverage/lcov-report/react/components/Pagination/index.html +0 -116
  264. package/coverage/lcov-report/react/components/Pagination/index.jsx.html +0 -736
  265. package/coverage/lcov-report/react/components/Popover/index.html +0 -116
  266. package/coverage/lcov-report/react/components/Popover/index.js.html +0 -478
  267. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.html +0 -116
  268. package/coverage/lcov-report/react/components/ReadOnlyTextField/index.jsx.html +0 -514
  269. package/coverage/lcov-report/react/components/Select/index.html +0 -116
  270. package/coverage/lcov-report/react/components/Select/index.jsx.html +0 -646
  271. package/coverage/lcov-report/react/components/Tabs/Tab.js.html +0 -325
  272. package/coverage/lcov-report/react/components/Tabs/index.html +0 -131
  273. package/coverage/lcov-report/react/components/Tabs/index.js.html +0 -370
  274. package/coverage/lcov-report/react/components/TextArea/index.html +0 -116
  275. package/coverage/lcov-report/react/components/TextArea/index.jsx.html +0 -436
  276. package/coverage/lcov-report/react/components/TextField/index.html +0 -116
  277. package/coverage/lcov-report/react/components/TextField/index.jsx.html +0 -655
  278. package/coverage/lcov-report/react/components/Toast/index.html +0 -116
  279. package/coverage/lcov-report/react/components/Toast/index.jsx.html +0 -436
  280. package/coverage/lcov-report/react/components/Tooltip/Tooltip.jsx.html +0 -349
  281. package/coverage/lcov-report/react/components/Tooltip/index.html +0 -146
  282. package/coverage/lcov-report/react/components/Tooltip/index.js.html +0 -94
  283. package/coverage/lcov-report/react/components/Tooltip/position.js.html +0 -313
  284. package/coverage/lcov-report/react/index.html +0 -116
  285. package/coverage/lcov-report/react/index.js.html +0 -133
  286. package/coverage/lcov-report/react/lib/Chevron.jsx.html +0 -181
  287. package/coverage/lcov-report/react/lib/SvgComponents.jsx.html +0 -1777
  288. package/coverage/lcov-report/react/lib/index.html +0 -131
  289. package/package-lock.json +0 -22162
@@ -0,0 +1,25 @@
1
+ import * as React from "react";
2
+ import { withKnobs } from "@storybook/addon-knobs";
3
+ import TruncateText from "./index";
4
+
5
+ export default {
6
+ title: "Truncate Text",
7
+ component: TruncateText,
8
+ decorators: [withKnobs],
9
+ };
10
+
11
+ export const FullText = () => (
12
+ <TruncateText
13
+ text="Addressing Social Needs in the Inpatient Setting Part 4 of 4 Housing"
14
+ maxLength={120}
15
+ dataTestId={"measure-comments"}
16
+ />
17
+ );
18
+ export const TruncatedText = () => (
19
+ <TruncateText
20
+ text="Addressing Social Needs in the Inpatient Setting Part 4 of 4 Housing Domain Addressing Social Needs in the Inpatient Setting Part 4 of 4 Housing Domain"
21
+ maxLength={60}
22
+ dataTestId={"measure-comments"}
23
+ fontSize="1rem"
24
+ />
25
+ );
@@ -0,0 +1,52 @@
1
+ import { IconButton } from "@mui/material";
2
+ import React, { useState } from "react";
3
+ import _ from "lodash";
4
+ import PropTypes from "prop-types";
5
+
6
+ const TruncateText = ({
7
+ text,
8
+ maxLength = 120,
9
+ dataTestId,
10
+ fontSize = "1rem",
11
+ }) => {
12
+ const [isExpanded, setIsExpanded] = useState(false);
13
+
14
+ if (!text || _.trim(text) === "") {
15
+ return null;
16
+ }
17
+
18
+ const toggleExpanded = () => setIsExpanded((prev) => !prev);
19
+
20
+ const displayedText = isExpanded ? text : _.slice(text, 0, maxLength);
21
+
22
+ return (
23
+ <div data-testid={`${dataTestId}-content`} style={{ fontSize }}>
24
+ <span>{displayedText}</span>
25
+ {text.length > maxLength && (
26
+ <IconButton
27
+ onClick={toggleExpanded}
28
+ data-testid={`${dataTestId}-toggle-button`}
29
+ color="primary"
30
+ sx={{
31
+ marginLeft: "5px",
32
+ padding: "0",
33
+ cursor: "pointer",
34
+ textDecoration: "underline",
35
+ fontSize: "inherit",
36
+ }}
37
+ >
38
+ {isExpanded ? "Show less" : "Show more"}
39
+ </IconButton>
40
+ )}
41
+ </div>
42
+ );
43
+ };
44
+
45
+ TruncateText.propTypes = {
46
+ text: PropTypes.string,
47
+ maxLength: PropTypes.number,
48
+ dataTestId: PropTypes.string,
49
+ fontSize: PropTypes.string,
50
+ };
51
+
52
+ export default TruncateText;
@@ -41,6 +41,7 @@ import TextInput from "./TextInput";
41
41
  import Dropdown from "./Dropdown";
42
42
  import DSLink from "./Link";
43
43
  import NumberInput from "./NumberInput";
44
+ import TruncateText from "./TruncateText/index";
44
45
  import {
45
46
  MyApplicationsIcon,
46
47
  UserSignInIcon,
@@ -169,4 +170,5 @@ export {
169
170
  Dropdown,
170
171
  Tooltip,
171
172
  DSLink,
173
+ TruncateText,
172
174
  };