@patternfly/react-core 6.5.0-prerelease.64 → 6.5.0-prerelease.65

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 (125) 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/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/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/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hero/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/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/SSRSafeIds/SSRSafeIds/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/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useSSRSafeId/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/styles/package.json +1 -1
  120. package/dist/umd/assets/{output-BwoQb44a.css → output-Cf2rQdn-.css} +21864 -21864
  121. package/helpers/package.json +1 -1
  122. package/layouts/package.json +1 -1
  123. package/next/package.json +1 -1
  124. package/package.json +2 -2
  125. package/src/demos/examples/TextInputGroup/AttributeValueFiltering.tsx +25 -17
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.5.0-prerelease.63","private":true}
1
+ {"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.5.0-prerelease.64","private":true}
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.5.0-prerelease.63","private":true}
1
+ {"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.5.0-prerelease.64","private":true}
package/next/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.5.0-prerelease.63","private":true}
1
+ {"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.5.0-prerelease.64","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.5.0-prerelease.64",
3
+ "version": "6.5.0-prerelease.65",
4
4
  "description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
5
5
  "main": "dist/js/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -63,5 +63,5 @@
63
63
  "react": "^17 || ^18 || ^19",
64
64
  "react-dom": "^17 || ^18 || ^19"
65
65
  },
66
- "gitHead": "e47cb62c1acf1d92a2b40dcaffd5fa015278a1e2"
66
+ "gitHead": "ed21bd64eebc14e1c55ee4c171bdc0a5e56f914c"
67
67
  }
@@ -40,8 +40,8 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
40
40
  const [menuItems, setMenuItems] = useState<React.ReactElement<any>[]>([]);
41
41
 
42
42
  /** refs used to detect when clicks occur inside vs outside of the textInputGroup and menu popper */
43
- const menuRef = useRef<HTMLDivElement>(undefined);
44
- const textInputGroupRef = useRef<HTMLDivElement>(undefined);
43
+ const menuRef = useRef<HTMLDivElement>(null);
44
+ const textInputGroupRef = useRef<HTMLDivElement>(null);
45
45
 
46
46
  /** callback for updating the inputValue state in this component so that the input can be controlled */
47
47
  const handleInputChange = (_event: React.FormEvent<HTMLInputElement>, value: string) => {
@@ -107,7 +107,7 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
107
107
  const divider = <Divider key="divider" />;
108
108
 
109
109
  setMenuItems([headingItem, divider, ...filteredMenuItems]);
110
- }, [inputValue]);
110
+ }, [inputValue, menuItemsText, selectedKey]);
111
111
 
112
112
  /** add selected key/value pair as a chip in the chip group */
113
113
  const selectValue = (selectedValue: string) => {
@@ -117,22 +117,30 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
117
117
 
118
118
  /** update the input to show the selected key and the menu to show the values associated with that specific key */
119
119
  const selectKey = (selectedText: string) => {
120
+ const values = data[selectedText];
121
+
122
+ if (!values) {
123
+ return;
124
+ }
125
+
120
126
  setInputValue(`${selectedText}: `);
121
127
  setSelectedKey(selectedText);
122
- setMenuItemsText(data[selectedText]);
128
+ setMenuItemsText(values);
123
129
  };
124
130
 
125
131
  const handleEnter = () => {
126
- /** do nothing if the menu contains no real results */
127
- if (menuItems.length === 1) {
132
+ /** bail if heading + divider + first option are not all present */
133
+ const firstResult = menuItems[2]?.props?.children;
134
+
135
+ if (!firstResult) {
128
136
  return;
129
137
  }
130
138
 
131
139
  /** perform the appropriate action based on key selection state */
132
140
  if (selectedKey.length) {
133
- selectValue(menuItems[2].props.children);
141
+ selectValue(firstResult);
134
142
  } else {
135
- selectKey(menuItems[2].props.children);
143
+ selectKey(firstResult);
136
144
  }
137
145
  };
138
146
 
@@ -144,7 +152,7 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
144
152
  };
145
153
 
146
154
  /** allow the user to select a key by simply typing it and entering a colon, exact (case sensitive) matches only */
147
- const handleColon = () => {
155
+ const handleColon = (event: React.KeyboardEvent) => {
148
156
  if (!selectedKey.length && keyNames.includes(inputValue)) {
149
157
  selectKey(inputValue);
150
158
  event.preventDefault();
@@ -172,7 +180,7 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
172
180
  handleBackspace();
173
181
  break;
174
182
  case ':':
175
- handleColon();
183
+ handleColon(event);
176
184
  break;
177
185
  case 'ArrowUp':
178
186
  case 'ArrowDown':
@@ -182,24 +190,24 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
182
190
  };
183
191
 
184
192
  /** perform the proper key or value selection when a menu item is selected */
185
- const onSelect = (event: React.MouseEvent<Element, MouseEvent>, _itemId: string | number) => {
186
- const selectedText = (event.target as HTMLElement).innerText;
193
+ const onSelect = (event: React.MouseEvent<Element, MouseEvent> | undefined, _itemId: string | number) => {
194
+ const selectedText = (event?.target as HTMLElement | undefined)?.innerText.trim() || '';
187
195
 
188
196
  if (selectedKey.length) {
189
197
  selectValue(selectedText);
190
198
  } else {
191
199
  selectKey(selectedText);
192
200
  }
193
- event.stopPropagation();
194
- textInputGroupRef.current.querySelector('input').focus();
201
+ event?.stopPropagation();
202
+ textInputGroupRef.current?.querySelector('input')?.focus();
195
203
  };
196
204
 
197
205
  /** close the menu when a click occurs outside of the menu or text input group */
198
- const handleClick = (event: MouseEvent) => {
206
+ const handleClick = (event: MouseEvent | undefined) => {
199
207
  if (
200
208
  menuRef.current &&
201
- !menuRef.current.contains(event.target as HTMLElement) &&
202
- !textInputGroupRef.current.contains(event.target as HTMLElement)
209
+ !menuRef.current.contains(event?.target as HTMLElement) &&
210
+ !textInputGroupRef.current?.contains(event?.target as HTMLElement)
203
211
  ) {
204
212
  setMenuIsOpen(false);
205
213
  }