@patternfly/react-core 5.4.0-prerelease.7 → 5.4.0-prerelease.9

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 (187) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/CONTRIBUTING.md +0 -2
  3. package/components/package.json +1 -1
  4. package/deprecated/package.json +1 -1
  5. package/dist/dynamic/components/AboutModal/package.json +1 -1
  6. package/dist/dynamic/components/Accordion/package.json +1 -1
  7. package/dist/dynamic/components/ActionList/package.json +1 -1
  8. package/dist/dynamic/components/Alert/package.json +1 -1
  9. package/dist/dynamic/components/Avatar/package.json +1 -1
  10. package/dist/dynamic/components/BackToTop/package.json +1 -1
  11. package/dist/dynamic/components/Backdrop/package.json +1 -1
  12. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  13. package/dist/dynamic/components/Badge/package.json +1 -1
  14. package/dist/dynamic/components/Banner/package.json +1 -1
  15. package/dist/dynamic/components/Brand/package.json +1 -1
  16. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  17. package/dist/dynamic/components/Button/package.json +1 -1
  18. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  19. package/dist/dynamic/components/Card/package.json +1 -1
  20. package/dist/dynamic/components/Checkbox/package.json +1 -1
  21. package/dist/dynamic/components/Chip/package.json +1 -1
  22. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  23. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/package.json +1 -1
  28. package/dist/dynamic/components/DragDrop/package.json +1 -1
  29. package/dist/dynamic/components/Drawer/package.json +1 -1
  30. package/dist/dynamic/components/Dropdown/package.json +1 -1
  31. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  32. package/dist/dynamic/components/EmptyState/package.json +1 -1
  33. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  34. package/dist/dynamic/components/FileUpload/package.json +1 -1
  35. package/dist/dynamic/components/Form/package.json +1 -1
  36. package/dist/dynamic/components/FormSelect/package.json +1 -1
  37. package/dist/dynamic/components/HelperText/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/package.json +1 -1
  72. package/dist/dynamic/components/Text/package.json +1 -1
  73. package/dist/dynamic/components/TextArea/package.json +1 -1
  74. package/dist/dynamic/components/TextInput/package.json +1 -1
  75. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  76. package/dist/dynamic/components/Tile/package.json +1 -1
  77. package/dist/dynamic/components/TimePicker/package.json +1 -1
  78. package/dist/dynamic/components/Timestamp/package.json +1 -1
  79. package/dist/dynamic/components/Title/package.json +1 -1
  80. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  81. package/dist/dynamic/components/Toolbar/package.json +1 -1
  82. package/dist/dynamic/components/Tooltip/package.json +1 -1
  83. package/dist/dynamic/components/TreeView/package.json +1 -1
  84. package/dist/dynamic/components/Truncate/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  86. package/dist/dynamic/components/Wizard/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  94. package/dist/dynamic/deprecated/components/package.json +1 -1
  95. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  96. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  97. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  98. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  99. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/favorites/package.json +1 -1
  103. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  104. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  105. package/dist/dynamic/helpers/package.json +1 -1
  106. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  107. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  108. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  109. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  110. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  111. package/dist/dynamic/helpers/util/package.json +1 -1
  112. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  113. package/dist/dynamic/layouts/Flex/package.json +1 -1
  114. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  115. package/dist/dynamic/layouts/Grid/package.json +1 -1
  116. package/dist/dynamic/layouts/Level/package.json +1 -1
  117. package/dist/dynamic/layouts/Split/package.json +1 -1
  118. package/dist/dynamic/layouts/Stack/package.json +1 -1
  119. package/dist/dynamic/next/components/DualListSelector/package.json +1 -1
  120. package/dist/dynamic/next/components/Modal/package.json +1 -1
  121. package/dist/dynamic/next/components/package.json +1 -1
  122. package/dist/dynamic/styles/package.json +1 -1
  123. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  124. package/dist/esm/components/MenuToggle/MenuToggle.js +1 -1
  125. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  126. package/dist/esm/components/Pagination/Pagination.d.ts.map +1 -1
  127. package/dist/esm/components/Pagination/Pagination.js +2 -1
  128. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  129. package/dist/esm/components/Pagination/PaginationOptionsMenu.d.ts +1 -0
  130. package/dist/esm/components/Pagination/PaginationOptionsMenu.d.ts.map +1 -1
  131. package/dist/esm/components/Pagination/PaginationOptionsMenu.js +2 -4
  132. package/dist/esm/components/Pagination/PaginationOptionsMenu.js.map +1 -1
  133. package/dist/esm/components/Select/Select.d.ts +2 -0
  134. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  135. package/dist/esm/components/Select/Select.js +3 -3
  136. package/dist/esm/components/Select/Select.js.map +1 -1
  137. package/dist/esm/components/Tabs/Tabs.d.ts +4 -0
  138. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  139. package/dist/esm/components/Tabs/Tabs.js +17 -0
  140. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  141. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  142. package/dist/esm/components/Truncate/Truncate.js +54 -12
  143. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  144. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  145. package/dist/js/components/MenuToggle/MenuToggle.js +1 -1
  146. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  147. package/dist/js/components/Pagination/Pagination.d.ts.map +1 -1
  148. package/dist/js/components/Pagination/Pagination.js +2 -1
  149. package/dist/js/components/Pagination/Pagination.js.map +1 -1
  150. package/dist/js/components/Pagination/PaginationOptionsMenu.d.ts +1 -0
  151. package/dist/js/components/Pagination/PaginationOptionsMenu.d.ts.map +1 -1
  152. package/dist/js/components/Pagination/PaginationOptionsMenu.js +2 -4
  153. package/dist/js/components/Pagination/PaginationOptionsMenu.js.map +1 -1
  154. package/dist/js/components/Select/Select.d.ts +2 -0
  155. package/dist/js/components/Select/Select.d.ts.map +1 -1
  156. package/dist/js/components/Select/Select.js +3 -3
  157. package/dist/js/components/Select/Select.js.map +1 -1
  158. package/dist/js/components/Tabs/Tabs.d.ts +4 -0
  159. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  160. package/dist/js/components/Tabs/Tabs.js +17 -0
  161. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  162. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  163. package/dist/js/components/Truncate/Truncate.js +54 -12
  164. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  165. package/dist/umd/react-core.min.js +2 -2
  166. package/helpers/package.json +1 -1
  167. package/layouts/package.json +1 -1
  168. package/next/package.json +1 -1
  169. package/package.json +6 -6
  170. package/src/components/CodeBlock/examples/CodeBlock.md +6 -0
  171. package/src/components/CodeBlock/examples/CodeBlockBasic.tsx +1 -1
  172. package/src/components/CodeBlock/examples/CodeBlockExpandable.tsx +3 -3
  173. package/src/components/MenuToggle/MenuToggle.tsx +1 -0
  174. package/src/components/Pagination/Pagination.tsx +2 -0
  175. package/src/components/Pagination/PaginationOptionsMenu.tsx +13 -14
  176. package/src/components/Pagination/__tests__/Generated/__snapshots__/PaginationOptionsMenu.test.tsx.snap +36 -38
  177. package/src/components/Pagination/__tests__/__snapshots__/Pagination.test.tsx.snap +714 -754
  178. package/src/components/Select/Select.tsx +5 -2
  179. package/src/components/Select/examples/SelectMultiTypeahead.tsx +111 -66
  180. package/src/components/Select/examples/SelectMultiTypeaheadCheckbox.tsx +103 -60
  181. package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +125 -79
  182. package/src/components/Select/examples/SelectTypeahead.tsx +113 -69
  183. package/src/components/Select/examples/SelectTypeaheadCreatable.tsx +115 -75
  184. package/src/components/Tabs/Tabs.tsx +21 -0
  185. package/src/components/ToggleGroup/examples/ToggleGroup.md +33 -8
  186. package/src/components/Truncate/Truncate.tsx +73 -7
  187. package/src/components/Truncate/__tests__/Truncate.test.tsx +6 -0
@@ -6,6 +6,7 @@ const React = tslib_1.__importStar(require("react"));
6
6
  const truncate_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/Truncate/truncate"));
7
7
  const react_styles_1 = require("@patternfly/react-styles");
8
8
  const Tooltip_1 = require("../Tooltip");
9
+ const resizeObserver_1 = require("../../helpers/resizeObserver");
9
10
  var TruncatePosition;
10
11
  (function (TruncatePosition) {
11
12
  TruncatePosition["start"] = "start";
@@ -20,18 +21,59 @@ const minWidthCharacters = 12;
20
21
  const sliceContent = (str, slice) => [str.slice(0, str.length - slice), str.slice(-slice)];
21
22
  const Truncate = (_a) => {
22
23
  var { className, position = 'end', tooltipPosition = 'top', trailingNumChars = 7, content } = _a, props = tslib_1.__rest(_a, ["className", "position", "tooltipPosition", "trailingNumChars", "content"]);
23
- return (React.createElement(Tooltip_1.Tooltip, { position: tooltipPosition, content: content },
24
- React.createElement("span", Object.assign({ className: (0, react_styles_1.css)(truncate_1.default.truncate, className) }, props),
25
- (position === TruncatePosition.end || position === TruncatePosition.start) && (React.createElement("span", { className: truncateStyles[position] },
26
- content,
27
- position === TruncatePosition.start && React.createElement(React.Fragment, null, "\u200E"))),
28
- position === TruncatePosition.middle &&
29
- content.slice(0, content.length - trailingNumChars).length > minWidthCharacters && (React.createElement(React.Fragment, null,
30
- React.createElement("span", { className: truncate_1.default.truncateStart }, sliceContent(content, trailingNumChars)[0]),
31
- React.createElement("span", { className: truncate_1.default.truncateEnd }, sliceContent(content, trailingNumChars)[1]))),
32
- position === TruncatePosition.middle &&
33
- content.slice(0, content.length - trailingNumChars).length <= minWidthCharacters &&
34
- content)));
24
+ const [isTruncated, setIsTruncated] = React.useState(true);
25
+ const [parentElement, setParentElement] = React.useState(null);
26
+ const [textElement, setTextElement] = React.useState(null);
27
+ const textRef = React.useRef(null);
28
+ const subParentRef = React.useRef(null);
29
+ const observer = React.useRef(null);
30
+ const getActualWidth = (element) => {
31
+ const computedStyle = getComputedStyle(element);
32
+ return (parseFloat(computedStyle.width) -
33
+ parseFloat(computedStyle.paddingLeft) -
34
+ parseFloat(computedStyle.paddingRight) -
35
+ parseFloat(computedStyle.borderRight) -
36
+ parseFloat(computedStyle.borderLeft));
37
+ };
38
+ const calculateTotalTextWidth = (element, trailingNumChars, content) => {
39
+ const firstTextWidth = element.scrollWidth;
40
+ const firstTextLength = content.length;
41
+ return (firstTextWidth / firstTextLength) * trailingNumChars + firstTextWidth;
42
+ };
43
+ React.useEffect(() => {
44
+ if (textRef && textRef.current && !textElement) {
45
+ setTextElement(textRef.current);
46
+ }
47
+ if (subParentRef && subParentRef.current.parentElement.parentElement && !parentElement) {
48
+ setParentElement(subParentRef.current.parentElement.parentElement);
49
+ }
50
+ }, [textRef, subParentRef]);
51
+ React.useEffect(() => {
52
+ if (textElement && parentElement && !observer.current) {
53
+ const totalTextWidth = calculateTotalTextWidth(textElement, trailingNumChars, content);
54
+ const textWidth = position === 'middle' ? totalTextWidth : textElement.scrollWidth;
55
+ const handleResize = () => {
56
+ const parentWidth = getActualWidth(parentElement);
57
+ setIsTruncated(textWidth >= parentWidth);
58
+ };
59
+ const observer = (0, resizeObserver_1.getResizeObserver)(parentElement, handleResize);
60
+ return () => {
61
+ observer();
62
+ };
63
+ }
64
+ }, [textElement, parentElement]);
65
+ const truncateBody = (React.createElement("span", Object.assign({ ref: subParentRef, className: (0, react_styles_1.css)(truncate_1.default.truncate, className) }, props),
66
+ (position === TruncatePosition.end || position === TruncatePosition.start) && (React.createElement("span", { ref: textRef, className: truncateStyles[position] },
67
+ content,
68
+ position === TruncatePosition.start && React.createElement(React.Fragment, null, "\u200E"))),
69
+ position === TruncatePosition.middle &&
70
+ content.slice(0, content.length - trailingNumChars).length > minWidthCharacters && (React.createElement(React.Fragment, null,
71
+ React.createElement("span", { ref: textRef, className: truncate_1.default.truncateStart }, sliceContent(content, trailingNumChars)[0]),
72
+ React.createElement("span", { className: truncate_1.default.truncateEnd }, sliceContent(content, trailingNumChars)[1]))),
73
+ position === TruncatePosition.middle &&
74
+ content.slice(0, content.length - trailingNumChars).length <= minWidthCharacters &&
75
+ content));
76
+ return isTruncated ? (React.createElement(Tooltip_1.Tooltip, { hidden: !isTruncated, position: tooltipPosition, content: content }, truncateBody)) : (truncateBody);
35
77
  };
36
78
  exports.Truncate = Truncate;
37
79
  exports.Truncate.displayName = 'Truncate';
@@ -1 +1 @@
1
- {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAC/B,iHAA+E;AAC/E,2DAA+C;AAC/C,wCAAsD;AAEtD,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B;AAED,MAAM,cAAc,GAAG;IACrB,KAAK,EAAE,kBAAM,CAAC,WAAW;IACzB,GAAG,EAAE,kBAAM,CAAC,aAAa;CAC1B,CAAC;AAEF,MAAM,kBAAkB,GAAW,EAAE,CAAC;AA6BtC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpG,MAAM,QAAQ,GAA2C,CAAC,EAOjD,EAAE,EAAE;QAP6C,EAC/D,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,CAAC,EACpB,OAAO,OAEO,EADX,KAAK,sBANuD,2EAOhE,CADS;IACW,OAAA,CACnB,oBAAC,iBAAO,IAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO;QAClD,4CAAM,SAAS,EAAE,IAAA,kBAAG,EAAC,kBAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAM,KAAK;YACxD,CAAC,QAAQ,KAAK,gBAAgB,CAAC,GAAG,IAAI,QAAQ,KAAK,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAC7E,8BAAM,SAAS,EAAE,cAAc,CAAC,QAAQ,CAAC;gBACtC,OAAO;gBACP,QAAQ,KAAK,gBAAgB,CAAC,KAAK,IAAI,oBAAC,KAAK,CAAC,QAAQ,iBAAuB,CACzE,CACR;YACA,QAAQ,KAAK,gBAAgB,CAAC,MAAM;gBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,MAAM,GAAG,kBAAkB,IAAI,CACjF,oBAAC,KAAK,CAAC,QAAQ;gBACb,8BAAM,SAAS,EAAE,kBAAM,CAAC,aAAa,IAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAQ;gBAC1F,8BAAM,SAAS,EAAE,kBAAM,CAAC,WAAW,IAAG,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAQ,CACzE,CAClB;YACF,QAAQ,KAAK,gBAAgB,CAAC,MAAM;gBACnC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,MAAM,IAAI,kBAAkB;gBAChF,OAAO,CACJ,CACC,CACX,CAAA;CAAA,CAAC;AA5BW,QAAA,QAAQ,YA4BnB;AACF,gBAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"Truncate.js","sourceRoot":"","sources":["../../../../src/components/Truncate/Truncate.tsx"],"names":[],"mappings":"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"}