@patternfly/react-core 6.0.0-alpha.33 → 6.0.0-alpha.34

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 (229) 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/DataList/package.json +1 -1
  23. package/dist/dynamic/components/DatePicker/package.json +1 -1
  24. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  25. package/dist/dynamic/components/Divider/package.json +1 -1
  26. package/dist/dynamic/components/DragDrop/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/Text/package.json +1 -1
  71. package/dist/dynamic/components/TextArea/package.json +1 -1
  72. package/dist/dynamic/components/TextInput/package.json +1 -1
  73. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  74. package/dist/dynamic/components/Tile/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/ApplicationLauncher/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Chip/package.json +1 -0
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/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/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/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/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/Modal/package.json +1 -1
  119. package/dist/dynamic/next/components/package.json +1 -1
  120. package/dist/dynamic/styles/package.json +1 -1
  121. package/dist/esm/components/Label/Label.d.ts.map +1 -1
  122. package/dist/esm/components/Label/Label.js +8 -1
  123. package/dist/esm/components/Label/Label.js.map +1 -1
  124. package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  125. package/dist/esm/components/Toolbar/ToolbarFilter.js +2 -3
  126. package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
  127. package/dist/esm/components/index.d.ts +0 -1
  128. package/dist/esm/components/index.d.ts.map +1 -1
  129. package/dist/esm/components/index.js +0 -1
  130. package/dist/esm/components/index.js.map +1 -1
  131. package/dist/esm/{components → deprecated/components}/Chip/Chip.d.ts +6 -18
  132. package/dist/esm/deprecated/components/Chip/Chip.d.ts.map +1 -0
  133. package/dist/esm/deprecated/components/Chip/Chip.js +35 -0
  134. package/dist/esm/deprecated/components/Chip/Chip.js.map +1 -0
  135. package/dist/esm/{components → deprecated/components}/Chip/ChipGroup.d.ts +7 -14
  136. package/dist/esm/deprecated/components/Chip/ChipGroup.d.ts.map +1 -0
  137. package/dist/esm/deprecated/components/Chip/ChipGroup.js +29 -0
  138. package/dist/esm/deprecated/components/Chip/ChipGroup.js.map +1 -0
  139. package/dist/esm/deprecated/components/Chip/index.d.ts.map +1 -0
  140. package/dist/esm/deprecated/components/Chip/index.js.map +1 -0
  141. package/dist/esm/deprecated/components/Select/Select.d.ts +1 -1
  142. package/dist/esm/deprecated/components/Select/Select.d.ts.map +1 -1
  143. package/dist/esm/deprecated/components/Select/Select.js +2 -2
  144. package/dist/esm/deprecated/components/Select/Select.js.map +1 -1
  145. package/dist/esm/deprecated/components/index.d.ts +1 -0
  146. package/dist/esm/deprecated/components/index.d.ts.map +1 -1
  147. package/dist/esm/deprecated/components/index.js +1 -0
  148. package/dist/esm/deprecated/components/index.js.map +1 -1
  149. package/dist/js/components/Label/Label.d.ts.map +1 -1
  150. package/dist/js/components/Label/Label.js +8 -1
  151. package/dist/js/components/Label/Label.js.map +1 -1
  152. package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  153. package/dist/js/components/Toolbar/ToolbarFilter.js +2 -3
  154. package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
  155. package/dist/js/components/index.d.ts +0 -1
  156. package/dist/js/components/index.d.ts.map +1 -1
  157. package/dist/js/components/index.js +0 -1
  158. package/dist/js/components/index.js.map +1 -1
  159. package/dist/js/{components → deprecated/components}/Chip/Chip.d.ts +6 -18
  160. package/dist/js/deprecated/components/Chip/Chip.d.ts.map +1 -0
  161. package/dist/js/deprecated/components/Chip/Chip.js +38 -0
  162. package/dist/js/deprecated/components/Chip/Chip.js.map +1 -0
  163. package/dist/js/{components → deprecated/components}/Chip/ChipGroup.d.ts +7 -14
  164. package/dist/js/deprecated/components/Chip/ChipGroup.d.ts.map +1 -0
  165. package/dist/js/deprecated/components/Chip/ChipGroup.js +32 -0
  166. package/dist/js/deprecated/components/Chip/ChipGroup.js.map +1 -0
  167. package/dist/js/deprecated/components/Chip/index.d.ts.map +1 -0
  168. package/dist/js/deprecated/components/Chip/index.js.map +1 -0
  169. package/dist/js/deprecated/components/Select/Select.d.ts +1 -1
  170. package/dist/js/deprecated/components/Select/Select.d.ts.map +1 -1
  171. package/dist/js/deprecated/components/Select/Select.js +2 -2
  172. package/dist/js/deprecated/components/Select/Select.js.map +1 -1
  173. package/dist/js/deprecated/components/index.d.ts +1 -0
  174. package/dist/js/deprecated/components/index.d.ts.map +1 -1
  175. package/dist/js/deprecated/components/index.js +1 -0
  176. package/dist/js/deprecated/components/index.js.map +1 -1
  177. package/dist/umd/react-core.min.js +2 -2
  178. package/helpers/package.json +1 -1
  179. package/layouts/package.json +1 -1
  180. package/next/package.json +1 -1
  181. package/package.json +2 -2
  182. package/src/components/Label/Label.tsx +8 -1
  183. package/src/components/Select/examples/SelectMultiTypeahead.tsx +8 -7
  184. package/src/components/Select/examples/SelectMultiTypeaheadCreatable.tsx +8 -7
  185. package/src/components/TextInputGroup/examples/TextInputGroupFilters.tsx +12 -6
  186. package/src/components/Toolbar/ToolbarFilter.tsx +7 -8
  187. package/src/components/Toolbar/__tests__/__snapshots__/Toolbar.test.tsx.snap +29 -44
  188. package/src/components/index.ts +0 -1
  189. package/src/demos/examples/TextInputGroup/AttributeValueFiltering.tsx +7 -7
  190. package/src/demos/examples/TextInputGroup/AutoCompleteSearch.tsx +7 -7
  191. package/src/deprecated/components/Chip/Chip.tsx +104 -0
  192. package/src/deprecated/components/Chip/ChipGroup.tsx +111 -0
  193. package/src/{components → deprecated/components}/Chip/__tests__/Chip.test.tsx +25 -60
  194. package/src/{components → deprecated/components}/Chip/__tests__/ChipGroup.test.tsx +11 -28
  195. package/src/{components → deprecated/components}/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +11 -12
  196. package/src/{components → deprecated/components}/Chip/__tests__/__snapshots__/ChipGroup.test.tsx.snap +6 -8
  197. package/src/{components → deprecated/components}/Chip/examples/Chip.md +6 -0
  198. package/src/{components → deprecated/components}/Chip/examples/ChipDefault.tsx +2 -1
  199. package/src/{components → deprecated/components}/Chip/examples/ChipGroupInline.tsx +1 -1
  200. package/src/{components → deprecated/components}/Chip/examples/ChipGroupRemovableCategories.tsx +1 -1
  201. package/src/{components → deprecated/components}/Chip/examples/ChipGroupWithCategories.tsx +1 -1
  202. package/src/deprecated/components/Select/Select.tsx +2 -2
  203. package/src/deprecated/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +25 -31
  204. package/src/deprecated/components/Select/examples/Select.md +1 -1
  205. package/src/deprecated/components/index.ts +1 -0
  206. package/dist/dynamic/components/Chip/package.json +0 -1
  207. package/dist/esm/components/Chip/Chip.d.ts.map +0 -1
  208. package/dist/esm/components/Chip/Chip.js +0 -95
  209. package/dist/esm/components/Chip/Chip.js.map +0 -1
  210. package/dist/esm/components/Chip/ChipGroup.d.ts.map +0 -1
  211. package/dist/esm/components/Chip/ChipGroup.js +0 -87
  212. package/dist/esm/components/Chip/ChipGroup.js.map +0 -1
  213. package/dist/esm/components/Chip/index.d.ts.map +0 -1
  214. package/dist/esm/components/Chip/index.js.map +0 -1
  215. package/dist/js/components/Chip/Chip.d.ts.map +0 -1
  216. package/dist/js/components/Chip/Chip.js +0 -98
  217. package/dist/js/components/Chip/Chip.js.map +0 -1
  218. package/dist/js/components/Chip/ChipGroup.d.ts.map +0 -1
  219. package/dist/js/components/Chip/ChipGroup.js +0 -90
  220. package/dist/js/components/Chip/ChipGroup.js.map +0 -1
  221. package/dist/js/components/Chip/index.d.ts.map +0 -1
  222. package/dist/js/components/Chip/index.js.map +0 -1
  223. package/src/components/Chip/Chip.tsx +0 -216
  224. package/src/components/Chip/ChipGroup.tsx +0 -214
  225. /package/dist/esm/{components → deprecated/components}/Chip/index.d.ts +0 -0
  226. /package/dist/esm/{components → deprecated/components}/Chip/index.js +0 -0
  227. /package/dist/js/{components → deprecated/components}/Chip/index.d.ts +0 -0
  228. /package/dist/js/{components → deprecated/components}/Chip/index.js +0 -0
  229. /package/src/{components → deprecated/components}/Chip/index.ts +0 -0
@@ -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.0.0-alpha.32","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.0.0-alpha.33","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.0.0-alpha.32","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.0.0-alpha.33","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.0.0-alpha.32","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.0.0-alpha.33","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.0.0-alpha.33",
3
+ "version": "6.0.0-alpha.34",
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",
@@ -73,5 +73,5 @@
73
73
  "react": "^17 || ^18",
74
74
  "react-dom": "^17 || ^18"
75
75
  },
76
- "gitHead": "32be844c4045caae09df6bfa7dcfa601b327da25"
76
+ "gitHead": "63b08e20d51c68fd202a07d2dadf798b994226ad"
77
77
  }
@@ -202,13 +202,20 @@ export const Label: React.FunctionComponent<LabelProps> = ({
202
202
 
203
203
  const LabelComponent = (isOverflowLabel || isAddLabel ? 'button' : 'span') as any;
204
204
 
205
+ let _closeBtnAriaLabel = 'Close label';
206
+ if (closeBtnAriaLabel) {
207
+ _closeBtnAriaLabel = closeBtnAriaLabel;
208
+ } else if (typeof children === 'string') {
209
+ _closeBtnAriaLabel = `Close ${children}`;
210
+ }
211
+
205
212
  const defaultButton = (
206
213
  <Button
207
214
  type="button"
208
215
  variant="plain"
209
216
  hasNoPadding
210
217
  onClick={onClose}
211
- aria-label={closeBtnAriaLabel || `Close ${children}`}
218
+ aria-label={_closeBtnAriaLabel}
212
219
  {...closeBtnProps}
213
220
  >
214
221
  <TimesIcon />
@@ -9,8 +9,8 @@ import {
9
9
  TextInputGroup,
10
10
  TextInputGroupMain,
11
11
  TextInputGroupUtilities,
12
- ChipGroup,
13
- Chip,
12
+ Label,
13
+ LabelGroup,
14
14
  Button
15
15
  } from '@patternfly/react-core';
16
16
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
@@ -153,19 +153,20 @@ export const SelectMultiTypeahead: React.FunctionComponent = () => {
153
153
  isExpanded={isOpen}
154
154
  aria-controls="select-multi-typeahead-listbox"
155
155
  >
156
- <ChipGroup aria-label="Current selections">
156
+ <LabelGroup aria-label="Current selections">
157
157
  {selected.map((selection, index) => (
158
- <Chip
158
+ <Label
159
159
  key={index}
160
- onClick={(ev) => {
160
+ variant="outline"
161
+ onClose={(ev) => {
161
162
  ev.stopPropagation();
162
163
  onSelect(selection);
163
164
  }}
164
165
  >
165
166
  {selection}
166
- </Chip>
167
+ </Label>
167
168
  ))}
168
- </ChipGroup>
169
+ </LabelGroup>
169
170
  </TextInputGroupMain>
170
171
  <TextInputGroupUtilities>
171
172
  {selected.length > 0 && (
@@ -9,8 +9,8 @@ import {
9
9
  TextInputGroup,
10
10
  TextInputGroupMain,
11
11
  TextInputGroupUtilities,
12
- ChipGroup,
13
- Chip,
12
+ Label,
13
+ LabelGroup,
14
14
  Button
15
15
  } from '@patternfly/react-core';
16
16
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
@@ -163,19 +163,20 @@ export const SelectMultiTypeaheadCreatable: React.FunctionComponent = () => {
163
163
  isExpanded={isOpen}
164
164
  aria-controls="select-multi-create-typeahead-listbox"
165
165
  >
166
- <ChipGroup aria-label="Current selections">
166
+ <LabelGroup aria-label="Current selections">
167
167
  {selected.map((selection, index) => (
168
- <Chip
168
+ <Label
169
169
  key={index}
170
- onClick={(ev) => {
170
+ variant="outline"
171
+ onClose={(ev) => {
171
172
  ev.stopPropagation();
172
173
  onSelect(selection);
173
174
  }}
174
175
  >
175
176
  {selection}
176
- </Chip>
177
+ </Label>
177
178
  ))}
178
- </ChipGroup>
179
+ </LabelGroup>
179
180
  </TextInputGroupMain>
180
181
  <TextInputGroupUtilities>
181
182
  {selected.length > 0 && (
@@ -1,6 +1,12 @@
1
1
  import React from 'react';
2
- import { TextInputGroup, TextInputGroupMain, TextInputGroupUtilities, Button } from '@patternfly/react-core';
3
- import { Chip, ChipGroup } from '@patternfly/react-core';
2
+ import {
3
+ TextInputGroup,
4
+ TextInputGroupMain,
5
+ TextInputGroupUtilities,
6
+ Label,
7
+ LabelGroup,
8
+ Button
9
+ } from '@patternfly/react-core';
4
10
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
5
11
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
6
12
 
@@ -52,13 +58,13 @@ export const TextInputGroupFilters: React.FunctionComponent = () => {
52
58
  return (
53
59
  <TextInputGroup>
54
60
  <TextInputGroupMain icon={showSearchIcon && <SearchIcon />} value={inputValue} onChange={handleInputChange}>
55
- <ChipGroup>
61
+ <LabelGroup>
56
62
  {currentChips.map((currentChip) => (
57
- <Chip key={currentChip} onClick={() => deleteChip(currentChip)}>
63
+ <Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
58
64
  {currentChip}
59
- </Chip>
65
+ </Label>
60
66
  ))}
61
- </ChipGroup>
67
+ </LabelGroup>
62
68
  </TextInputGroupMain>
63
69
  {showUtilities && (
64
70
  <TextInputGroupUtilities>
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import * as ReactDOM from 'react-dom';
3
3
  import { ToolbarItem, ToolbarItemProps } from './ToolbarItem';
4
- import { ChipGroup } from '../Chip';
5
- import { Chip } from '../Chip';
6
4
  import { ToolbarContentContext, ToolbarContext } from './ToolbarUtils';
7
5
  import { PickOptional } from '../../helpers/typeUtils';
6
+ import { Label, LabelGroup } from '../Label';
8
7
 
9
8
  export interface ToolbarChipGroup {
10
9
  /** A unique key to identify this chip group category */
@@ -107,7 +106,7 @@ class ToolbarFilter extends React.Component<ToolbarFilterProps, ToolbarFilterSta
107
106
 
108
107
  const chipGroup = chips.length ? (
109
108
  <ToolbarItem variant="chip-group">
110
- <ChipGroup
109
+ <LabelGroup
111
110
  key={categoryKey}
112
111
  categoryName={typeof categoryName === 'string' ? categoryName : categoryName.name}
113
112
  isClosable={deleteChipGroup !== undefined}
@@ -117,16 +116,16 @@ class ToolbarFilter extends React.Component<ToolbarFilterProps, ToolbarFilterSta
117
116
  >
118
117
  {chips.map((chip) =>
119
118
  typeof chip === 'string' ? (
120
- <Chip key={chip} onClick={() => deleteChip(categoryKey, chip)}>
119
+ <Label variant="outline" key={chip} onClose={() => deleteChip(categoryKey, chip)}>
121
120
  {chip}
122
- </Chip>
121
+ </Label>
123
122
  ) : (
124
- <Chip key={chip.key} onClick={() => deleteChip(categoryKey, chip)}>
123
+ <Label key={chip.key} onClose={() => deleteChip(categoryKey, chip)}>
125
124
  {chip.node}
126
- </Chip>
125
+ </Label>
127
126
  )
128
127
  )}
129
- </ChipGroup>
128
+ </LabelGroup>
130
129
  </ToolbarItem>
131
130
  ) : null;
132
131
 
@@ -103,57 +103,48 @@ exports[`Toolbar should render with custom chip content 1`] = `
103
103
  class="pf-v5-c-toolbar__item pf-m-chip-group"
104
104
  >
105
105
  <div
106
- aria-labelledby="pf-random-id-0"
107
- class="pf-v5-c-chip-group pf-m-category"
108
- data-ouia-component-type="PF5/ChipGroup"
109
- data-ouia-safe="true"
110
- role="group"
106
+ class="pf-v5-c-label-group pf-m-category"
111
107
  >
112
108
  <div
113
- class="pf-v5-c-chip-group__main"
109
+ class="pf-v5-c-label-group__main"
114
110
  >
115
111
  <span
116
- class="pf-v5-c-chip-group__label"
112
+ aria-hidden="true"
113
+ class="pf-v5-c-label-group__label"
117
114
  id="pf-random-id-0"
118
115
  >
119
116
  Status
120
117
  </span>
121
118
  <ul
122
119
  aria-labelledby="pf-random-id-0"
123
- class="pf-v5-c-chip-group__list"
120
+ class="pf-v5-c-label-group__list"
124
121
  role="list"
125
122
  >
126
123
  <li
127
- class="pf-v5-c-chip-group__list-item"
124
+ class="pf-v5-c-label-group__list-item"
128
125
  >
129
- <div
130
- class="pf-v5-c-chip"
131
- data-ouia-component-id="OUIA-Generated-Chip-1"
132
- data-ouia-component-type="PF5/Chip"
133
- data-ouia-safe="true"
126
+ <span
127
+ class="pf-v5-c-label pf-m-outline"
134
128
  >
135
129
  <span
136
- class="pf-v5-c-chip__content"
130
+ class="pf-v5-c-label__content"
137
131
  >
138
132
  <span
139
- class="pf-v5-c-chip__text"
140
- id="pf-random-id-1"
133
+ class="pf-v5-c-label__text"
141
134
  >
142
135
  New
143
136
  </span>
144
137
  </span>
145
138
  <span
146
- class="pf-v5-c-chip__actions"
139
+ class="pf-v5-c-label__actions"
147
140
  >
148
141
  <button
149
142
  aria-disabled="false"
150
- aria-label="close"
151
- aria-labelledby="remove_pf-random-id-1 pf-random-id-1"
152
- class="pf-v5-c-button pf-m-plain"
153
- data-ouia-component-id="close"
143
+ aria-label="Close New"
144
+ class="pf-v5-c-button pf-m-plain pf-m-no-padding"
145
+ data-ouia-component-id="OUIA-Generated-Button-plain-2"
154
146
  data-ouia-component-type="PF5/Button"
155
147
  data-ouia-safe="true"
156
- id="remove_pf-random-id-1"
157
148
  type="button"
158
149
  >
159
150
  <svg
@@ -171,39 +162,33 @@ exports[`Toolbar should render with custom chip content 1`] = `
171
162
  </svg>
172
163
  </button>
173
164
  </span>
174
- </div>
165
+ </span>
175
166
  </li>
176
167
  <li
177
- class="pf-v5-c-chip-group__list-item"
168
+ class="pf-v5-c-label-group__list-item"
178
169
  >
179
- <div
180
- class="pf-v5-c-chip"
181
- data-ouia-component-id="OUIA-Generated-Chip-2"
182
- data-ouia-component-type="PF5/Chip"
183
- data-ouia-safe="true"
170
+ <span
171
+ class="pf-v5-c-label pf-m-outline"
184
172
  >
185
173
  <span
186
- class="pf-v5-c-chip__content"
174
+ class="pf-v5-c-label__content"
187
175
  >
188
176
  <span
189
- class="pf-v5-c-chip__text"
190
- id="pf-random-id-2"
177
+ class="pf-v5-c-label__text"
191
178
  >
192
179
  Pending
193
180
  </span>
194
181
  </span>
195
182
  <span
196
- class="pf-v5-c-chip__actions"
183
+ class="pf-v5-c-label__actions"
197
184
  >
198
185
  <button
199
186
  aria-disabled="false"
200
- aria-label="close"
201
- aria-labelledby="remove_pf-random-id-2 pf-random-id-2"
202
- class="pf-v5-c-button pf-m-plain"
203
- data-ouia-component-id="close"
187
+ aria-label="Close Pending"
188
+ class="pf-v5-c-button pf-m-plain pf-m-no-padding"
189
+ data-ouia-component-id="OUIA-Generated-Button-plain-3"
204
190
  data-ouia-component-type="PF5/Button"
205
191
  data-ouia-safe="true"
206
- id="remove_pf-random-id-2"
207
192
  type="button"
208
193
  >
209
194
  <svg
@@ -221,19 +206,19 @@ exports[`Toolbar should render with custom chip content 1`] = `
221
206
  </svg>
222
207
  </button>
223
208
  </span>
224
- </div>
209
+ </span>
225
210
  </li>
226
211
  </ul>
227
212
  </div>
228
213
  <div
229
- class="pf-v5-c-chip-group__close"
214
+ class="pf-v5-c-label-group__close"
230
215
  >
231
216
  <button
232
217
  aria-disabled="false"
233
- aria-label="Close chip group"
218
+ aria-label="Close label group"
234
219
  aria-labelledby="remove_group_pf-random-id-0 pf-random-id-0"
235
- class="pf-v5-c-button pf-m-plain"
236
- data-ouia-component-id="Close chip group"
220
+ class="pf-v5-c-button pf-m-plain pf-m-no-padding"
221
+ data-ouia-component-id="OUIA-Generated-Button-plain-4"
237
222
  data-ouia-component-type="PF5/Button"
238
223
  data-ouia-safe="true"
239
224
  id="remove_group_pf-random-id-0"
@@ -15,7 +15,6 @@ export * from './Button';
15
15
  export * from './CalendarMonth';
16
16
  export * from './Card';
17
17
  export * from './Checkbox';
18
- export * from './Chip';
19
18
  export * from './ClipboardCopy';
20
19
  export * from './CodeBlock';
21
20
  export * from './DataList';
@@ -9,9 +9,9 @@ import {
9
9
  MenuList,
10
10
  MenuItem,
11
11
  Popper,
12
- Chip,
13
- ChipGroup,
14
- Divider
12
+ Divider,
13
+ Label,
14
+ LabelGroup
15
15
  } from '@patternfly/react-core';
16
16
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
17
17
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
@@ -224,13 +224,13 @@ export const AttributeValueFiltering: React.FunctionComponent = () => {
224
224
  onFocus={() => setMenuIsOpen(true)}
225
225
  onKeyDown={handleTextInputKeyDown}
226
226
  >
227
- <ChipGroup>
227
+ <LabelGroup>
228
228
  {currentChips.map((currentChip) => (
229
- <Chip key={currentChip} onClick={() => deleteChip(currentChip)}>
229
+ <Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
230
230
  {currentChip}
231
- </Chip>
231
+ </Label>
232
232
  ))}
233
- </ChipGroup>
233
+ </LabelGroup>
234
234
  </TextInputGroupMain>
235
235
  {showUtilities && (
236
236
  <TextInputGroupUtilities>
@@ -9,9 +9,9 @@ import {
9
9
  MenuList,
10
10
  MenuItem,
11
11
  Popper,
12
- Chip,
13
- ChipGroup,
14
- Divider
12
+ Divider,
13
+ Label,
14
+ LabelGroup
15
15
  } from '@patternfly/react-core';
16
16
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
17
17
  import TimesIcon from '@patternfly/react-icons/dist/esm/icons/times-icon';
@@ -218,13 +218,13 @@ export const AutoCompleteSearch: React.FunctionComponent = () => {
218
218
  placeholder="search"
219
219
  aria-label="Search input"
220
220
  >
221
- <ChipGroup>
221
+ <LabelGroup>
222
222
  {currentChips.map((currentChip) => (
223
- <Chip key={currentChip} onClick={() => deleteChip(currentChip)}>
223
+ <Label key={currentChip} variant="outline" onClose={() => deleteChip(currentChip)}>
224
224
  {currentChip}
225
- </Chip>
225
+ </Label>
226
226
  ))}
227
- </ChipGroup>
227
+ </LabelGroup>
228
228
  </TextInputGroupMain>
229
229
  {showUtilities && (
230
230
  <TextInputGroupUtilities>
@@ -0,0 +1,104 @@
1
+ import * as React from 'react';
2
+ import { TooltipPosition } from '../../../components/Tooltip';
3
+ import { Label, LabelProps } from '../../../components/Label';
4
+ import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../../helpers';
5
+
6
+ export interface ChipProps extends LabelProps, OUIAProps {
7
+ /** Badge to add to the chip. The badge will be rendered after the chip text. */
8
+ badge?: React.ReactNode;
9
+ /** Content rendered inside the chip text */
10
+ children?: React.ReactNode;
11
+ /** Aria Label for close button */
12
+ closeBtnAriaLabel?: string;
13
+ /** Additional classes added to the chip item */
14
+ className?: string;
15
+ /** Flag indicating if the chip is an overflow chip */
16
+ isOverflowChip?: boolean;
17
+ /** Flag indicating if chip is read only */
18
+ isReadOnly?: boolean;
19
+ /** Function that is called when clicking on the chip close button */
20
+ onClick?: (event: React.MouseEvent) => void;
21
+ /** @deprecated Component that will be used for chip. It is recommended that <button> or <li> are used when the chip is an overflow chip. */
22
+ component?: React.ReactNode;
23
+ /** Position of the tooltip which is displayed if text is longer */
24
+ tooltipPosition?:
25
+ | TooltipPosition
26
+ | 'auto'
27
+ | 'top'
28
+ | 'bottom'
29
+ | 'left'
30
+ | 'right'
31
+ | 'top-start'
32
+ | 'top-end'
33
+ | 'bottom-start'
34
+ | 'bottom-end'
35
+ | 'left-start'
36
+ | 'left-end'
37
+ | 'right-start'
38
+ | 'right-end';
39
+
40
+ /** Css property expressed in percentage or any css unit that overrides the default value of the max-width of the chip's text */
41
+ textMaxWidth?: string;
42
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
43
+ ouiaId?: number | string;
44
+ }
45
+
46
+ class Chip extends React.Component<ChipProps> {
47
+ static displayName = 'Chip';
48
+ constructor(props: ChipProps) {
49
+ super(props);
50
+ }
51
+
52
+ static defaultProps: ChipProps = {
53
+ className: '',
54
+ isOverflowChip: false,
55
+ isReadOnly: false,
56
+ tooltipPosition: 'top' as 'auto' | 'top' | 'bottom' | 'left' | 'right',
57
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
+ onClick: (_e: React.MouseEvent) => undefined as any,
59
+ textMaxWidth: '16ch'
60
+ };
61
+
62
+ render() {
63
+ const {
64
+ isOverflowChip,
65
+ children,
66
+ badge,
67
+ onClick,
68
+ className,
69
+ textMaxWidth,
70
+ isReadOnly,
71
+ closeBtnAriaLabel,
72
+ tooltipPosition,
73
+ ouiaId,
74
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
75
+ component,
76
+ ...props
77
+ } = this.props;
78
+
79
+ return (
80
+ <Label
81
+ variant="outline"
82
+ className={className}
83
+ textMaxWidth={textMaxWidth}
84
+ tooltipPosition={tooltipPosition}
85
+ {...(!isReadOnly &&
86
+ !isOverflowChip && {
87
+ onClose: onClick,
88
+ closeBtnAriaLabel: closeBtnAriaLabel ? closeBtnAriaLabel : `Close ${children}`
89
+ })}
90
+ {...(isOverflowChip && { onClick, variant: 'overflow' })}
91
+ {...getOUIAProps(
92
+ isOverflowChip ? 'OverflowChip' : Chip.displayName,
93
+ ouiaId !== undefined ? ouiaId : getDefaultOUIAId(Chip.displayName)
94
+ )}
95
+ {...props}
96
+ >
97
+ {children}
98
+ {badge && <React.Fragment> {badge}</React.Fragment>}
99
+ </Label>
100
+ );
101
+ }
102
+ }
103
+
104
+ export { Chip };
@@ -0,0 +1,111 @@
1
+ import * as React from 'react';
2
+ import { LabelGroup, LabelGroupProps } from '../../../components/Label';
3
+ import { TooltipPosition } from '../../../components/Tooltip';
4
+ import { getOUIAProps, OUIAProps } from '../../../helpers';
5
+
6
+ export interface ChipGroupProps extends Omit<LabelGroupProps, 'ref'>, OUIAProps {
7
+ /** Content rendered inside the chip group. Should be <Chip> elements. */
8
+ children?: React.ReactNode;
9
+ /** Additional classes added to the chip item */
10
+ className?: string;
11
+ /** Flag for having the chip group default to expanded */
12
+ defaultIsOpen?: boolean;
13
+ /** Customizable "Show Less" text string */
14
+ expandedText?: string;
15
+ /** Customizeable template string. Use variable "${remaining}" for the overflow chip count. */
16
+ collapsedText?: string;
17
+ /** Category name text for the chip group category. If this prop is supplied the chip group with have a label and category styling applied */
18
+ categoryName?: string;
19
+ /** Aria label for chip group that does not have a category name */
20
+ 'aria-label'?: string;
21
+ /** Set number of chips to show before overflow */
22
+ numChips?: number;
23
+ /** Flag if chip group can be closed*/
24
+ isClosable?: boolean;
25
+ /** Aria label for close button */
26
+ closeBtnAriaLabel?: string;
27
+ /** Function that is called when clicking on the chip group close button or on an overflow chip */
28
+ onClick?: (event: React.MouseEvent) => void;
29
+ /** @deprecated Function that is called when clicking on the overflow (expand/collapse) chip button */
30
+ onOverflowChipClick?: (event: React.MouseEvent) => void;
31
+ /** Position of the tooltip which is displayed if the category name text is longer */
32
+ tooltipPosition?:
33
+ | TooltipPosition
34
+ | 'auto'
35
+ | 'top'
36
+ | 'bottom'
37
+ | 'left'
38
+ | 'right'
39
+ | 'top-start'
40
+ | 'top-end'
41
+ | 'bottom-start'
42
+ | 'bottom-end'
43
+ | 'left-start'
44
+ | 'left-end'
45
+ | 'right-start'
46
+ | 'right-end';
47
+ /** Value to overwrite the randomly generated data-ouia-component-id.*/
48
+ ouiaId?: number | string;
49
+ }
50
+
51
+ class ChipGroup extends React.Component<ChipGroupProps> {
52
+ static displayName = 'ChipGroup';
53
+ constructor(props: ChipGroupProps) {
54
+ super(props);
55
+ }
56
+
57
+ static defaultProps: ChipGroupProps = {
58
+ expandedText: 'Show Less',
59
+ collapsedText: '${remaining} more',
60
+ categoryName: '',
61
+ defaultIsOpen: false,
62
+ numChips: 3,
63
+ isClosable: false,
64
+ closeBtnAriaLabel: 'Close chip group',
65
+ tooltipPosition: 'top',
66
+ 'aria-label': 'Chip group category'
67
+ };
68
+
69
+ render() {
70
+ const {
71
+ categoryName,
72
+ children,
73
+ className,
74
+ isClosable,
75
+ closeBtnAriaLabel,
76
+ 'aria-label': ariaLabel,
77
+ onClick,
78
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
79
+ onOverflowChipClick,
80
+ numChips,
81
+ expandedText,
82
+ collapsedText,
83
+ ouiaId,
84
+ defaultIsOpen,
85
+ tooltipPosition,
86
+ ...props
87
+ } = this.props;
88
+
89
+ return (
90
+ <LabelGroup
91
+ className={className}
92
+ categoryName={categoryName}
93
+ numLabels={numChips}
94
+ isClosable={isClosable}
95
+ closeBtnAriaLabel={closeBtnAriaLabel}
96
+ aria-label={ariaLabel}
97
+ onClick={onClick}
98
+ expandedText={expandedText}
99
+ collapsedText={collapsedText}
100
+ defaultIsOpen={defaultIsOpen}
101
+ tooltipPosition={tooltipPosition}
102
+ {...getOUIAProps(ChipGroup.displayName, ouiaId)}
103
+ {...props}
104
+ >
105
+ {children}
106
+ </LabelGroup>
107
+ );
108
+ }
109
+ }
110
+
111
+ export { ChipGroup };