@patternfly/react-core 6.2.1-prerelease.6 → 6.2.1-prerelease.7

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 (137) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Content/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/Drawer/package.json +1 -1
  28. package/dist/dynamic/components/Dropdown/package.json +1 -1
  29. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  30. package/dist/dynamic/components/EmptyState/package.json +1 -1
  31. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  32. package/dist/dynamic/components/FileUpload/package.json +1 -1
  33. package/dist/dynamic/components/Form/package.json +1 -1
  34. package/dist/dynamic/components/FormSelect/package.json +1 -1
  35. package/dist/dynamic/components/HelperText/package.json +1 -1
  36. package/dist/dynamic/components/Hint/package.json +1 -1
  37. package/dist/dynamic/components/Icon/package.json +1 -1
  38. package/dist/dynamic/components/InputGroup/package.json +1 -1
  39. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  40. package/dist/dynamic/components/Label/package.json +1 -1
  41. package/dist/dynamic/components/List/package.json +1 -1
  42. package/dist/dynamic/components/LoginPage/package.json +1 -1
  43. package/dist/dynamic/components/Masthead/package.json +1 -1
  44. package/dist/dynamic/components/Menu/package.json +1 -1
  45. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  46. package/dist/dynamic/components/Modal/package.json +1 -1
  47. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  48. package/dist/dynamic/components/Nav/package.json +1 -1
  49. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  50. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  51. package/dist/dynamic/components/NumberInput/package.json +1 -1
  52. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  53. package/dist/dynamic/components/Page/package.json +1 -1
  54. package/dist/dynamic/components/Pagination/package.json +1 -1
  55. package/dist/dynamic/components/Panel/package.json +1 -1
  56. package/dist/dynamic/components/Popover/package.json +1 -1
  57. package/dist/dynamic/components/Progress/package.json +1 -1
  58. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  59. package/dist/dynamic/components/Radio/package.json +1 -1
  60. package/dist/dynamic/components/SearchInput/package.json +1 -1
  61. package/dist/dynamic/components/Select/package.json +1 -1
  62. package/dist/dynamic/components/Sidebar/package.json +1 -1
  63. package/dist/dynamic/components/SimpleList/package.json +1 -1
  64. package/dist/dynamic/components/Skeleton/package.json +1 -1
  65. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  66. package/dist/dynamic/components/Slider/package.json +1 -1
  67. package/dist/dynamic/components/Spinner/package.json +1 -1
  68. package/dist/dynamic/components/Switch/package.json +1 -1
  69. package/dist/dynamic/components/Tabs/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/TimePicker/package.json +1 -1
  74. package/dist/dynamic/components/Timestamp/package.json +1 -1
  75. package/dist/dynamic/components/Title/package.json +1 -1
  76. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  77. package/dist/dynamic/components/Toolbar/package.json +1 -1
  78. package/dist/dynamic/components/Tooltip/package.json +1 -1
  79. package/dist/dynamic/components/TreeView/package.json +1 -1
  80. package/dist/dynamic/components/Truncate/package.json +1 -1
  81. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/package.json +1 -1
  83. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/esm/components/Truncate/Truncate.d.ts +11 -1
  115. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  116. package/dist/esm/components/Truncate/Truncate.js +43 -6
  117. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  118. package/dist/js/components/Truncate/Truncate.d.ts +11 -1
  119. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  120. package/dist/js/components/Truncate/Truncate.js +42 -5
  121. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  122. package/dist/umd/assets/{output-CJJFnq2T.css → output-sf2Bj9Mn.css} +12281 -12281
  123. package/dist/umd/react-core.min.js +3 -3
  124. package/helpers/package.json +1 -1
  125. package/layouts/package.json +1 -1
  126. package/next/package.json +1 -1
  127. package/package.json +2 -2
  128. package/src/components/Alert/examples/Alert.md +0 -3
  129. package/src/components/Truncate/Truncate.tsx +109 -22
  130. package/src/components/Truncate/__tests__/Truncate.test.tsx +70 -2
  131. package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +37 -0
  132. package/src/components/Truncate/examples/Truncate.md +32 -36
  133. package/src/components/Truncate/examples/TruncateCustomTooltipPosition.tsx +10 -0
  134. package/src/components/Truncate/examples/TruncateDefault.tsx +7 -0
  135. package/src/components/Truncate/examples/TruncateMaxChars.tsx +27 -0
  136. package/src/components/Truncate/examples/TruncateMiddle.tsx +11 -0
  137. package/src/components/Truncate/examples/TruncateStart.tsx +7 -0
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-keyboardhandler.js-dynamic","main":"../../../js/helpers/KeyboardHandler.js","module":"../../../esm/helpers/KeyboardHandler.js","typings":"../../../esm/helpers/KeyboardHandler.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-keyboardhandler.js-dynamic","main":"../../../js/helpers/KeyboardHandler.js","module":"../../../esm/helpers/KeyboardHandler.js","typings":"../../../esm/helpers/KeyboardHandler.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-ouia.js-dynamic","main":"../../../../js/helpers/OUIA/ouia.js","module":"../../../../esm/helpers/OUIA/ouia.js","typings":"../../../../esm/helpers/OUIA/ouia.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-ouia.js-dynamic","main":"../../../../js/helpers/OUIA/ouia.js","module":"../../../../esm/helpers/OUIA/ouia.js","typings":"../../../../esm/helpers/OUIA/ouia.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-popper.js-dynamic","main":"../../../../js/helpers/Popper/Popper.js","module":"../../../../esm/helpers/Popper/Popper.js","typings":"../../../../esm/helpers/Popper/Popper.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-popper.js-dynamic","main":"../../../../js/helpers/Popper/Popper.js","module":"../../../../esm/helpers/Popper/Popper.js","typings":"../../../../esm/helpers/Popper/Popper.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-constants.js-dynamic","main":"../../../js/helpers/constants.js","module":"../../../esm/helpers/constants.js","typings":"../../../esm/helpers/constants.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-constants.js-dynamic","main":"../../../js/helpers/constants.js","module":"../../../esm/helpers/constants.js","typings":"../../../esm/helpers/constants.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-datetimeutils.js-dynamic","main":"../../../js/helpers/datetimeUtils.js","module":"../../../esm/helpers/datetimeUtils.js","typings":"../../../esm/helpers/datetimeUtils.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-datetimeutils.js-dynamic","main":"../../../js/helpers/datetimeUtils.js","module":"../../../esm/helpers/datetimeUtils.js","typings":"../../../esm/helpers/datetimeUtils.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-fileutils.js-dynamic","main":"../../../js/helpers/fileUtils.js","module":"../../../esm/helpers/fileUtils.js","typings":"../../../esm/helpers/fileUtils.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-fileutils.js-dynamic","main":"../../../js/helpers/fileUtils.js","module":"../../../esm/helpers/fileUtils.js","typings":"../../../esm/helpers/fileUtils.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-htmlconstants.js-dynamic","main":"../../../js/helpers/htmlConstants.js","module":"../../../esm/helpers/htmlConstants.js","typings":"../../../esm/helpers/htmlConstants.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-htmlconstants.js-dynamic","main":"../../../js/helpers/htmlConstants.js","module":"../../../esm/helpers/htmlConstants.js","typings":"../../../esm/helpers/htmlConstants.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers-dynamic","main":"../../js/helpers/index.js","module":"../../esm/helpers/index.js","typings":"../../esm/helpers/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-helpers-dynamic","main":"../../js/helpers/index.js","module":"../../esm/helpers/index.js","typings":"../../esm/helpers/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-resizeobserver.js-dynamic","main":"../../../js/helpers/resizeObserver.js","module":"../../../esm/helpers/resizeObserver.js","typings":"../../../esm/helpers/resizeObserver.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-resizeobserver.js-dynamic","main":"../../../js/helpers/resizeObserver.js","module":"../../../esm/helpers/resizeObserver.js","typings":"../../../esm/helpers/resizeObserver.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-typeutils.js-dynamic","main":"../../../js/helpers/typeUtils.js","module":"../../../esm/helpers/typeUtils.js","typings":"../../../esm/helpers/typeUtils.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-typeutils.js-dynamic","main":"../../../js/helpers/typeUtils.js","module":"../../../esm/helpers/typeUtils.js","typings":"../../../esm/helpers/typeUtils.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-useinterval.js-dynamic","main":"../../../js/helpers/useInterval.js","module":"../../../esm/helpers/useInterval.js","typings":"../../../esm/helpers/useInterval.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-useinterval.js-dynamic","main":"../../../js/helpers/useInterval.js","module":"../../../esm/helpers/useInterval.js","typings":"../../../esm/helpers/useInterval.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-useisomorphiclayout.js-dynamic","main":"../../../js/helpers/useIsomorphicLayout.js","module":"../../../esm/helpers/useIsomorphicLayout.js","typings":"../../../esm/helpers/useIsomorphicLayout.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-useisomorphiclayout.js-dynamic","main":"../../../js/helpers/useIsomorphicLayout.js","module":"../../../esm/helpers/useIsomorphicLayout.js","typings":"../../../esm/helpers/useIsomorphicLayout.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-useunmounteffect.js-dynamic","main":"../../../js/helpers/useUnmountEffect.js","module":"../../../esm/helpers/useUnmountEffect.js","typings":"../../../esm/helpers/useUnmountEffect.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-useunmounteffect.js-dynamic","main":"../../../js/helpers/useUnmountEffect.js","module":"../../../esm/helpers/useUnmountEffect.js","typings":"../../../esm/helpers/useUnmountEffect.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-util.js-dynamic","main":"../../../js/helpers/util.js","module":"../../../esm/helpers/util.js","typings":"../../../esm/helpers/util.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-util.js-dynamic","main":"../../../js/helpers/util.js","module":"../../../esm/helpers/util.js","typings":"../../../esm/helpers/util.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-bullseye-dynamic","main":"../../../js/layouts/Bullseye/index.js","module":"../../../esm/layouts/Bullseye/index.js","typings":"../../../esm/layouts/Bullseye/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-bullseye-dynamic","main":"../../../js/layouts/Bullseye/index.js","module":"../../../esm/layouts/Bullseye/index.js","typings":"../../../esm/layouts/Bullseye/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-flex-dynamic","main":"../../../js/layouts/Flex/index.js","module":"../../../esm/layouts/Flex/index.js","typings":"../../../esm/layouts/Flex/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-flex-dynamic","main":"../../../js/layouts/Flex/index.js","module":"../../../esm/layouts/Flex/index.js","typings":"../../../esm/layouts/Flex/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-gallery-dynamic","main":"../../../js/layouts/Gallery/index.js","module":"../../../esm/layouts/Gallery/index.js","typings":"../../../esm/layouts/Gallery/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-gallery-dynamic","main":"../../../js/layouts/Gallery/index.js","module":"../../../esm/layouts/Gallery/index.js","typings":"../../../esm/layouts/Gallery/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-grid-dynamic","main":"../../../js/layouts/Grid/index.js","module":"../../../esm/layouts/Grid/index.js","typings":"../../../esm/layouts/Grid/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-grid-dynamic","main":"../../../js/layouts/Grid/index.js","module":"../../../esm/layouts/Grid/index.js","typings":"../../../esm/layouts/Grid/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-level-dynamic","main":"../../../js/layouts/Level/index.js","module":"../../../esm/layouts/Level/index.js","typings":"../../../esm/layouts/Level/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-level-dynamic","main":"../../../js/layouts/Level/index.js","module":"../../../esm/layouts/Level/index.js","typings":"../../../esm/layouts/Level/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-split-dynamic","main":"../../../js/layouts/Split/index.js","module":"../../../esm/layouts/Split/index.js","typings":"../../../esm/layouts/Split/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-split-dynamic","main":"../../../js/layouts/Split/index.js","module":"../../../esm/layouts/Split/index.js","typings":"../../../esm/layouts/Split/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-stack-dynamic","main":"../../../js/layouts/Stack/index.js","module":"../../../esm/layouts/Stack/index.js","typings":"../../../esm/layouts/Stack/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-stack-dynamic","main":"../../../js/layouts/Stack/index.js","module":"../../../esm/layouts/Stack/index.js","typings":"../../../esm/layouts/Stack/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-styles-dynamic","main":"../../js/styles/index.js","module":"../../esm/styles/index.js","typings":"../../esm/styles/index.d.ts","version":"6.2.1-prerelease.5","private":true}
1
+ {"name":"@patternfly/react-core-styles-dynamic","main":"../../js/styles/index.js","module":"../../esm/styles/index.js","typings":"../../esm/styles/index.d.ts","version":"6.2.1-prerelease.6","private":true}
@@ -10,8 +10,18 @@ export interface TruncateProps extends React.HTMLProps<HTMLSpanElement> {
10
10
  className?: string;
11
11
  /** Text to truncate */
12
12
  content: string;
13
- /** The number of characters displayed in the second half of the truncation */
13
+ /** The number of characters displayed in the second half of a middle truncation. This will be overridden by
14
+ * the maxCharsDisplayed prop.
15
+ */
14
16
  trailingNumChars?: number;
17
+ /** The maximum number of characters to display before truncating. This will always truncate content
18
+ * when its length exceeds the value passed to this prop, and container width/resizing will not affect truncation.
19
+ */
20
+ maxCharsDisplayed?: number;
21
+ /** The content to use to signify omission of characters when using the maxCharsDisplayed prop.
22
+ * By default this will render an ellipsis.
23
+ */
24
+ omissionContent?: string;
15
25
  /** Where the text will be truncated */
16
26
  position?: 'start' | 'middle' | 'end';
17
27
  /** Tooltip position */
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AASD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IACrE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,uBAAuB;IACvB,eAAe,CAAC,EACZ,eAAe,GACf,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAmG3D,CAAC"}
1
+ {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AASD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IACrE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,uBAAuB;IACvB,eAAe,CAAC,EACZ,eAAe,GACf,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAgL3D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { __rest } from "tslib";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { Fragment, useEffect, useRef, useState } from 'react';
4
4
  import styles from '@patternfly/react-styles/css/components/Truncate/truncate.mjs';
5
5
  import { css } from '@patternfly/react-styles';
@@ -16,15 +16,20 @@ const truncateStyles = {
16
16
  end: styles.truncateStart
17
17
  };
18
18
  const minWidthCharacters = 12;
19
- const sliceContent = (str, slice) => [str.slice(0, str.length - slice), str.slice(-slice)];
19
+ const sliceTrailingContent = (str, slice) => [str.slice(0, str.length - slice), str.slice(-slice)];
20
20
  export const Truncate = (_a) => {
21
- var { className, position = 'end', tooltipPosition = 'top', trailingNumChars = 7, content, refToGetParent } = _a, props = __rest(_a, ["className", "position", "tooltipPosition", "trailingNumChars", "content", "refToGetParent"]);
21
+ var { className, position = 'end', tooltipPosition = 'top', trailingNumChars = 7, maxCharsDisplayed, omissionContent = '\u2026', content, refToGetParent } = _a, props = __rest(_a, ["className", "position", "tooltipPosition", "trailingNumChars", "maxCharsDisplayed", "omissionContent", "content", "refToGetParent"]);
22
22
  const [isTruncated, setIsTruncated] = useState(true);
23
23
  const [parentElement, setParentElement] = useState(null);
24
24
  const [textElement, setTextElement] = useState(null);
25
+ const [shouldRenderByMaxChars, setShouldRenderByMaxChars] = useState(maxCharsDisplayed > 0);
25
26
  const textRef = useRef(null);
26
27
  const subParentRef = useRef(null);
27
28
  const observer = useRef(null);
29
+ if (maxCharsDisplayed <= 0) {
30
+ // eslint-disable-next-line no-console
31
+ console.warn('Truncate: the maxCharsDisplayed must be greater than 0, otherwise no content will be visible.');
32
+ }
28
33
  const getActualWidth = (element) => {
29
34
  const computedStyle = getComputedStyle(element);
30
35
  return (parseFloat(computedStyle.width) -
@@ -48,7 +53,7 @@ export const Truncate = (_a) => {
48
53
  }
49
54
  }, [textRef, subParentRef, textElement, parentElement]);
50
55
  useEffect(() => {
51
- if (textElement && parentElement && !observer.current) {
56
+ if (textElement && parentElement && !observer.current && !shouldRenderByMaxChars) {
52
57
  const totalTextWidth = calculateTotalTextWidth(textElement, trailingNumChars, content);
53
58
  const textWidth = position === 'middle' ? totalTextWidth : textElement.scrollWidth;
54
59
  const handleResize = () => {
@@ -60,8 +65,40 @@ export const Truncate = (_a) => {
60
65
  observer();
61
66
  };
62
67
  }
63
- }, [textElement, parentElement, trailingNumChars, content, position]);
64
- const truncateBody = (_jsxs("span", Object.assign({ ref: subParentRef, className: css(styles.truncate, className) }, props, { children: [(position === TruncatePosition.end || position === TruncatePosition.start) && (_jsxs("span", { ref: textRef, className: truncateStyles[position], children: [content, position === TruncatePosition.start && _jsx(Fragment, { children: "\u200E" })] })), position === TruncatePosition.middle && content.length - trailingNumChars > minWidthCharacters && (_jsxs(Fragment, { children: [_jsx("span", { ref: textRef, className: styles.truncateStart, children: sliceContent(content, trailingNumChars)[0] }), _jsx("span", { className: styles.truncateEnd, children: sliceContent(content, trailingNumChars)[1] })] })), position === TruncatePosition.middle && content.length - trailingNumChars <= minWidthCharacters && (_jsx(Fragment, { children: _jsx("span", { ref: textRef, className: styles.truncateStart, children: content }) }))] })));
68
+ }, [textElement, parentElement, trailingNumChars, content, position, shouldRenderByMaxChars]);
69
+ useEffect(() => {
70
+ if (shouldRenderByMaxChars) {
71
+ setIsTruncated(content.length > maxCharsDisplayed);
72
+ }
73
+ }, [shouldRenderByMaxChars]);
74
+ useEffect(() => {
75
+ setShouldRenderByMaxChars(maxCharsDisplayed > 0);
76
+ }, [maxCharsDisplayed]);
77
+ const renderResizeObserverContent = () => {
78
+ if (position === TruncatePosition.end || position === TruncatePosition.start) {
79
+ return (_jsx(_Fragment, { children: _jsxs("span", { ref: textRef, className: truncateStyles[position], children: [content, position === TruncatePosition.start && _jsx(Fragment, { children: "\u200E" })] }) }));
80
+ }
81
+ const shouldSliceContent = content.length - trailingNumChars > minWidthCharacters;
82
+ return (_jsx(_Fragment, { children: _jsxs(Fragment, { children: [_jsx("span", { ref: textRef, className: styles.truncateStart, children: shouldSliceContent ? sliceTrailingContent(content, trailingNumChars)[0] : content }), shouldSliceContent && (_jsx("span", { className: styles.truncateEnd, children: sliceTrailingContent(content, trailingNumChars)[1] }))] }) }));
83
+ };
84
+ const renderMaxDisplayContent = () => {
85
+ const renderVisibleContent = (contentToRender) => (_jsx("span", { className: `${styles.truncate}__text`, children: contentToRender }));
86
+ if (!isTruncated) {
87
+ return renderVisibleContent(content);
88
+ }
89
+ const omissionElement = (_jsx("span", { className: `${styles.truncate}__omission`, "aria-hidden": "true", children: omissionContent }));
90
+ const renderVisuallyHiddenContent = (contentToHide) => (_jsx("span", { className: "pf-v6-screen-reader", children: contentToHide }));
91
+ if (position === TruncatePosition.start) {
92
+ return (_jsxs(_Fragment, { children: [renderVisuallyHiddenContent(content.slice(0, maxCharsDisplayed * -1)), omissionElement, renderVisibleContent(content.slice(maxCharsDisplayed * -1))] }));
93
+ }
94
+ if (position === TruncatePosition.end) {
95
+ return (_jsxs(_Fragment, { children: [renderVisibleContent(content.slice(0, maxCharsDisplayed)), omissionElement, renderVisuallyHiddenContent(content.slice(maxCharsDisplayed))] }));
96
+ }
97
+ const trueMiddleStart = Math.floor(maxCharsDisplayed / 2);
98
+ const trueMiddleEnd = Math.ceil(maxCharsDisplayed / 2) * -1;
99
+ return (_jsxs(_Fragment, { children: [renderVisibleContent(content.slice(0, trueMiddleStart)), omissionElement, renderVisuallyHiddenContent(content.slice(trueMiddleStart, trueMiddleEnd)), renderVisibleContent(content.slice(trueMiddleEnd))] }));
100
+ };
101
+ const truncateBody = (_jsx("span", Object.assign({ ref: subParentRef, className: css(styles.truncate, shouldRenderByMaxChars && styles.modifiers.fixed, className) }, props, { children: !shouldRenderByMaxChars ? renderResizeObserverContent() : renderMaxDisplayContent() })));
65
102
  return isTruncated ? (_jsx(Tooltip, { hidden: !isTruncated, position: tooltipPosition, content: content, children: truncateBody })) : (truncateBody);
66
103
  };
67
104
  Truncate.displayName = 'Truncate';
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":"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"}
@@ -10,8 +10,18 @@ export interface TruncateProps extends React.HTMLProps<HTMLSpanElement> {
10
10
  className?: string;
11
11
  /** Text to truncate */
12
12
  content: string;
13
- /** The number of characters displayed in the second half of the truncation */
13
+ /** The number of characters displayed in the second half of a middle truncation. This will be overridden by
14
+ * the maxCharsDisplayed prop.
15
+ */
14
16
  trailingNumChars?: number;
17
+ /** The maximum number of characters to display before truncating. This will always truncate content
18
+ * when its length exceeds the value passed to this prop, and container width/resizing will not affect truncation.
19
+ */
20
+ maxCharsDisplayed?: number;
21
+ /** The content to use to signify omission of characters when using the maxCharsDisplayed prop.
22
+ * By default this will render an ellipsis.
23
+ */
24
+ omissionContent?: string;
15
25
  /** Where the text will be truncated */
16
26
  position?: 'start' | 'middle' | 'end';
17
27
  /** Tooltip position */
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AASD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IACrE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,uBAAuB;IACvB,eAAe,CAAC,EACZ,eAAe,GACf,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAmG3D,CAAC"}
1
+ {"version":3,"file":"Truncate.d.ts","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAC;AAGtD,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AASD,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;IACrE,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,uBAAuB;IACvB,eAAe,CAAC,EACZ,eAAe,GACf,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,WAAW,GACX,SAAS,GACT,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,aAAa,GACb,WAAW,CAAC;IAChB;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACvC;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAgL3D,CAAC"}
@@ -19,15 +19,20 @@ const truncateStyles = {
19
19
  end: truncate_1.default.truncateStart
20
20
  };
21
21
  const minWidthCharacters = 12;
22
- const sliceContent = (str, slice) => [str.slice(0, str.length - slice), str.slice(-slice)];
22
+ const sliceTrailingContent = (str, slice) => [str.slice(0, str.length - slice), str.slice(-slice)];
23
23
  const Truncate = (_a) => {
24
- var { className, position = 'end', tooltipPosition = 'top', trailingNumChars = 7, content, refToGetParent } = _a, props = tslib_1.__rest(_a, ["className", "position", "tooltipPosition", "trailingNumChars", "content", "refToGetParent"]);
24
+ var { className, position = 'end', tooltipPosition = 'top', trailingNumChars = 7, maxCharsDisplayed, omissionContent = '\u2026', content, refToGetParent } = _a, props = tslib_1.__rest(_a, ["className", "position", "tooltipPosition", "trailingNumChars", "maxCharsDisplayed", "omissionContent", "content", "refToGetParent"]);
25
25
  const [isTruncated, setIsTruncated] = (0, react_1.useState)(true);
26
26
  const [parentElement, setParentElement] = (0, react_1.useState)(null);
27
27
  const [textElement, setTextElement] = (0, react_1.useState)(null);
28
+ const [shouldRenderByMaxChars, setShouldRenderByMaxChars] = (0, react_1.useState)(maxCharsDisplayed > 0);
28
29
  const textRef = (0, react_1.useRef)(null);
29
30
  const subParentRef = (0, react_1.useRef)(null);
30
31
  const observer = (0, react_1.useRef)(null);
32
+ if (maxCharsDisplayed <= 0) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('Truncate: the maxCharsDisplayed must be greater than 0, otherwise no content will be visible.');
35
+ }
31
36
  const getActualWidth = (element) => {
32
37
  const computedStyle = getComputedStyle(element);
33
38
  return (parseFloat(computedStyle.width) -
@@ -51,7 +56,7 @@ const Truncate = (_a) => {
51
56
  }
52
57
  }, [textRef, subParentRef, textElement, parentElement]);
53
58
  (0, react_1.useEffect)(() => {
54
- if (textElement && parentElement && !observer.current) {
59
+ if (textElement && parentElement && !observer.current && !shouldRenderByMaxChars) {
55
60
  const totalTextWidth = calculateTotalTextWidth(textElement, trailingNumChars, content);
56
61
  const textWidth = position === 'middle' ? totalTextWidth : textElement.scrollWidth;
57
62
  const handleResize = () => {
@@ -63,8 +68,40 @@ const Truncate = (_a) => {
63
68
  observer();
64
69
  };
65
70
  }
66
- }, [textElement, parentElement, trailingNumChars, content, position]);
67
- const truncateBody = ((0, jsx_runtime_1.jsxs)("span", Object.assign({ ref: subParentRef, className: (0, react_styles_1.css)(truncate_1.default.truncate, className) }, props, { children: [(position === TruncatePosition.end || position === TruncatePosition.start) && ((0, jsx_runtime_1.jsxs)("span", { ref: textRef, className: truncateStyles[position], children: [content, position === TruncatePosition.start && (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: "\u200E" })] })), position === TruncatePosition.middle && content.length - trailingNumChars > minWidthCharacters && ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { ref: textRef, className: truncate_1.default.truncateStart, children: sliceContent(content, trailingNumChars)[0] }), (0, jsx_runtime_1.jsx)("span", { className: truncate_1.default.truncateEnd, children: sliceContent(content, trailingNumChars)[1] })] })), position === TruncatePosition.middle && content.length - trailingNumChars <= minWidthCharacters && ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsx)("span", { ref: textRef, className: truncate_1.default.truncateStart, children: content }) }))] })));
71
+ }, [textElement, parentElement, trailingNumChars, content, position, shouldRenderByMaxChars]);
72
+ (0, react_1.useEffect)(() => {
73
+ if (shouldRenderByMaxChars) {
74
+ setIsTruncated(content.length > maxCharsDisplayed);
75
+ }
76
+ }, [shouldRenderByMaxChars]);
77
+ (0, react_1.useEffect)(() => {
78
+ setShouldRenderByMaxChars(maxCharsDisplayed > 0);
79
+ }, [maxCharsDisplayed]);
80
+ const renderResizeObserverContent = () => {
81
+ if (position === TruncatePosition.end || position === TruncatePosition.start) {
82
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("span", { ref: textRef, className: truncateStyles[position], children: [content, position === TruncatePosition.start && (0, jsx_runtime_1.jsx)(react_1.Fragment, { children: "\u200E" })] }) }));
83
+ }
84
+ const shouldSliceContent = content.length - trailingNumChars > minWidthCharacters;
85
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { ref: textRef, className: truncate_1.default.truncateStart, children: shouldSliceContent ? sliceTrailingContent(content, trailingNumChars)[0] : content }), shouldSliceContent && ((0, jsx_runtime_1.jsx)("span", { className: truncate_1.default.truncateEnd, children: sliceTrailingContent(content, trailingNumChars)[1] }))] }) }));
86
+ };
87
+ const renderMaxDisplayContent = () => {
88
+ const renderVisibleContent = (contentToRender) => ((0, jsx_runtime_1.jsx)("span", { className: `${truncate_1.default.truncate}__text`, children: contentToRender }));
89
+ if (!isTruncated) {
90
+ return renderVisibleContent(content);
91
+ }
92
+ const omissionElement = ((0, jsx_runtime_1.jsx)("span", { className: `${truncate_1.default.truncate}__omission`, "aria-hidden": "true", children: omissionContent }));
93
+ const renderVisuallyHiddenContent = (contentToHide) => ((0, jsx_runtime_1.jsx)("span", { className: "pf-v6-screen-reader", children: contentToHide }));
94
+ if (position === TruncatePosition.start) {
95
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [renderVisuallyHiddenContent(content.slice(0, maxCharsDisplayed * -1)), omissionElement, renderVisibleContent(content.slice(maxCharsDisplayed * -1))] }));
96
+ }
97
+ if (position === TruncatePosition.end) {
98
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [renderVisibleContent(content.slice(0, maxCharsDisplayed)), omissionElement, renderVisuallyHiddenContent(content.slice(maxCharsDisplayed))] }));
99
+ }
100
+ const trueMiddleStart = Math.floor(maxCharsDisplayed / 2);
101
+ const trueMiddleEnd = Math.ceil(maxCharsDisplayed / 2) * -1;
102
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [renderVisibleContent(content.slice(0, trueMiddleStart)), omissionElement, renderVisuallyHiddenContent(content.slice(trueMiddleStart, trueMiddleEnd)), renderVisibleContent(content.slice(trueMiddleEnd))] }));
103
+ };
104
+ const truncateBody = ((0, jsx_runtime_1.jsx)("span", Object.assign({ ref: subParentRef, className: (0, react_styles_1.css)(truncate_1.default.truncate, shouldRenderByMaxChars && truncate_1.default.modifiers.fixed, className) }, props, { children: !shouldRenderByMaxChars ? renderResizeObserverContent() : renderMaxDisplayContent() })));
68
105
  return isTruncated ? ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { hidden: !isTruncated, position: tooltipPosition, content: content, children: truncateBody })) : (truncateBody);
69
106
  };
70
107
  exports.Truncate = Truncate;
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":"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"}