@patternfly/react-core 6.2.0-prerelease.32 → 6.2.0-prerelease.33

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 (153) 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/Toolbar/ToolbarContent.d.ts +9 -0
  115. package/dist/esm/components/Toolbar/ToolbarContent.d.ts.map +1 -1
  116. package/dist/esm/components/Toolbar/ToolbarContent.js +2 -2
  117. package/dist/esm/components/Toolbar/ToolbarContent.js.map +1 -1
  118. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts +9 -0
  119. package/dist/esm/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  120. package/dist/esm/components/Toolbar/ToolbarGroup.js +2 -2
  121. package/dist/esm/components/Toolbar/ToolbarGroup.js.map +1 -1
  122. package/dist/esm/components/Toolbar/ToolbarItem.d.ts +9 -0
  123. package/dist/esm/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  124. package/dist/esm/components/Toolbar/ToolbarItem.js +2 -2
  125. package/dist/esm/components/Toolbar/ToolbarItem.js.map +1 -1
  126. package/dist/js/components/Toolbar/ToolbarContent.d.ts +9 -0
  127. package/dist/js/components/Toolbar/ToolbarContent.d.ts.map +1 -1
  128. package/dist/js/components/Toolbar/ToolbarContent.js +2 -2
  129. package/dist/js/components/Toolbar/ToolbarContent.js.map +1 -1
  130. package/dist/js/components/Toolbar/ToolbarGroup.d.ts +9 -0
  131. package/dist/js/components/Toolbar/ToolbarGroup.d.ts.map +1 -1
  132. package/dist/js/components/Toolbar/ToolbarGroup.js +2 -2
  133. package/dist/js/components/Toolbar/ToolbarGroup.js.map +1 -1
  134. package/dist/js/components/Toolbar/ToolbarItem.d.ts +9 -0
  135. package/dist/js/components/Toolbar/ToolbarItem.d.ts.map +1 -1
  136. package/dist/js/components/Toolbar/ToolbarItem.js +2 -2
  137. package/dist/js/components/Toolbar/ToolbarItem.js.map +1 -1
  138. package/dist/umd/assets/{output-wTo4uWW3.css → output-CL2wZaU8.css} +13570 -13570
  139. package/dist/umd/react-core.min.js +1 -1
  140. package/helpers/package.json +1 -1
  141. package/layouts/package.json +1 -1
  142. package/next/package.json +1 -1
  143. package/package.json +2 -2
  144. package/src/components/Toolbar/ToolbarContent.tsx +11 -0
  145. package/src/components/Toolbar/ToolbarGroup.tsx +11 -0
  146. package/src/components/Toolbar/ToolbarItem.tsx +11 -0
  147. package/src/components/Toolbar/__tests__/Toolbar.test.tsx +29 -0
  148. package/src/components/Toolbar/__tests__/ToolbarGroup.test.tsx +28 -1
  149. package/src/components/Toolbar/__tests__/ToolbarItem.test.tsx +27 -0
  150. package/src/components/Toolbar/examples/Toolbar.md +8 -1
  151. package/src/components/Toolbar/examples/ToolbarContentWrap.tsx +35 -0
  152. package/src/components/Toolbar/examples/ToolbarGroupSpacers.tsx +3 -3
  153. package/src/components/Toolbar/examples/ToolbarItemSpacers.tsx +5 -5
@@ -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.2.0-prerelease.31","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.2.0-prerelease.32","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.2.0-prerelease.31","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.2.0-prerelease.32","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.2.0-prerelease.31","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.2.0-prerelease.32","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.2.0-prerelease.32",
3
+ "version": "6.2.0-prerelease.33",
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",
64
64
  "react-dom": "^17 || ^18"
65
65
  },
66
- "gitHead": "dd8e4d8000ae6c32f35246929b9054bd5b4bee5b"
66
+ "gitHead": "6275b2b5911631465950593d2e101414f47f36b9"
67
67
  }
@@ -16,6 +16,15 @@ export interface ToolbarContentProps extends React.HTMLProps<HTMLDivElement> {
16
16
  xl?: 'hidden' | 'visible';
17
17
  '2xl'?: 'hidden' | 'visible';
18
18
  };
19
+ /** Value to set for content wrapping at various breakpoints */
20
+ rowWrap?: {
21
+ default?: 'wrap' | 'nowrap';
22
+ sm?: 'wrap' | 'nowrap';
23
+ md?: 'wrap' | 'nowrap';
24
+ lg?: 'wrap' | 'nowrap';
25
+ xl?: 'wrap' | 'nowrap';
26
+ '2xl'?: 'wrap' | 'nowrap';
27
+ };
19
28
  /** Vertical alignment of children */
20
29
  alignItems?: 'start' | 'center' | 'baseline' | 'default';
21
30
  /** Content to be rendered as children of the content row */
@@ -50,6 +59,7 @@ class ToolbarContent extends Component<ToolbarContentProps> {
50
59
  isExpanded,
51
60
  toolbarId,
52
61
  visibility,
62
+ rowWrap,
53
63
  alignItems,
54
64
  clearAllFilters,
55
65
  showClearFiltersButton,
@@ -95,6 +105,7 @@ class ToolbarContent extends Component<ToolbarContentProps> {
95
105
  <div
96
106
  className={css(
97
107
  styles.toolbarContentSection,
108
+ formatBreakpointMods(rowWrap, styles, '', getBreakpoint(width)),
98
109
  alignItems === 'center' && styles.modifiers.alignItemsCenter,
99
110
  alignItems === 'start' && styles.modifiers.alignItemsStart,
100
111
  alignItems === 'baseline' && styles.modifiers.alignItemsBaseline
@@ -157,6 +157,15 @@ export interface ToolbarGroupProps extends Omit<React.HTMLProps<HTMLDivElement>,
157
157
  | 'rowGap_3xl'
158
158
  | 'rowGap_4xl';
159
159
  };
160
+ /** Value to set for row wrapping at various breakpoints */
161
+ rowWrap?: {
162
+ default?: 'wrap' | 'nowrap';
163
+ sm?: 'wrap' | 'nowrap';
164
+ md?: 'wrap' | 'nowrap';
165
+ lg?: 'wrap' | 'nowrap';
166
+ xl?: 'wrap' | 'nowrap';
167
+ '2xl'?: 'wrap' | 'nowrap';
168
+ };
160
169
  /** Content to be rendered inside the data toolbar group */
161
170
  children?: React.ReactNode;
162
171
  /** Flag that modifies the toolbar group to hide overflow and respond to available space. Used for horizontal navigation. */
@@ -175,6 +184,7 @@ class ToolbarGroupWithRef extends Component<ToolbarGroupProps> {
175
184
  gap,
176
185
  columnGap,
177
186
  rowGap,
187
+ rowWrap,
178
188
  className,
179
189
  variant,
180
190
  children,
@@ -203,6 +213,7 @@ class ToolbarGroupWithRef extends Component<ToolbarGroupProps> {
203
213
  formatBreakpointMods(gap, styles, '', getBreakpoint(width)),
204
214
  formatBreakpointMods(columnGap, styles, '', getBreakpoint(width)),
205
215
  formatBreakpointMods(rowGap, styles, '', getBreakpoint(width)),
216
+ formatBreakpointMods(rowWrap, styles, '', getBreakpoint(width)),
206
217
  alignItems === 'start' && styles.modifiers.alignItemsStart,
207
218
  alignItems === 'center' && styles.modifiers.alignItemsCenter,
208
219
  alignItems === 'baseline' && styles.modifiers.alignItemsBaseline,
@@ -151,6 +151,15 @@ export interface ToolbarItemProps extends React.HTMLProps<HTMLDivElement> {
151
151
  | 'rowGap_3xl'
152
152
  | 'rowGap_4xl';
153
153
  };
154
+ /** Value to set for row wrapping at various breakpoints */
155
+ rowWrap?: {
156
+ default?: 'wrap' | 'nowrap';
157
+ sm?: 'wrap' | 'nowrap';
158
+ md?: 'wrap' | 'nowrap';
159
+ lg?: 'wrap' | 'nowrap';
160
+ xl?: 'wrap' | 'nowrap';
161
+ '2xl'?: 'wrap' | 'nowrap';
162
+ };
154
163
  /** id for this data toolbar item */
155
164
  id?: string;
156
165
  /** Flag indicating if the expand-all variant is expanded or not */
@@ -168,6 +177,7 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
168
177
  gap,
169
178
  columnGap,
170
179
  rowGap,
180
+ rowWrap,
171
181
  align,
172
182
  alignSelf,
173
183
  alignItems,
@@ -196,6 +206,7 @@ export const ToolbarItem: React.FunctionComponent<ToolbarItemProps> = ({
196
206
  formatBreakpointMods(gap, styles, '', getBreakpoint(width)),
197
207
  formatBreakpointMods(columnGap, styles, '', getBreakpoint(width)),
198
208
  formatBreakpointMods(rowGap, styles, '', getBreakpoint(width)),
209
+ formatBreakpointMods(rowWrap, styles, '', getBreakpoint(width)),
199
210
  alignItems === 'start' && styles.modifiers.alignItemsStart,
200
211
  alignItems === 'center' && styles.modifiers.alignItemsCenter,
201
212
  alignItems === 'baseline' && styles.modifiers.alignItemsBaseline,
@@ -147,4 +147,33 @@ describe('Toolbar', () => {
147
147
 
148
148
  expect(screen.getByTestId('Toolbar-test-secondary-id')).toHaveClass(styles.modifiers.secondary);
149
149
  });
150
+
151
+ describe('ToobarContent rowWrap', () => {
152
+ const bps = ['default', 'sm', 'md', 'lg', 'xl', '2xl'];
153
+
154
+ describe.each(bps)(`rowWrap at various breakpoints`, (bp) => {
155
+ it(`should render with pf-m-wrap when rowWrap is set to wrap at ${bp}`, () => {
156
+ render(
157
+ <Toolbar>
158
+ <ToolbarContent data-testid="toolbarconent" rowWrap={{ [bp]: 'wrap' }}>
159
+ Test
160
+ </ToolbarContent>
161
+ </Toolbar>
162
+ );
163
+ const bpWrapClass = bp === 'default' ? 'pf-m-wrap' : `pf-m-wrap-on-${bp}`;
164
+
165
+ expect(screen.getByTestId('toolbarconent').querySelector('div')).toHaveClass(bpWrapClass);
166
+ });
167
+
168
+ it(`should render with pf-m-nowrap when rowWrap is set to nowrap at ${bp}`, () => {
169
+ render(
170
+ <ToolbarContent data-testid="toolbarconent" rowWrap={{ [bp]: 'nowrap' }}>
171
+ Test
172
+ </ToolbarContent>
173
+ );
174
+ const bpNoWrapClass = bp === 'default' ? 'pf-m-nowrap' : `pf-m-nowrap-on-${bp}`;
175
+ expect(screen.getByTestId('toolbarconent').querySelector('div')).toHaveClass(bpNoWrapClass);
176
+ });
177
+ });
178
+ });
150
179
  });
@@ -1,7 +1,7 @@
1
1
  import { render, screen } from '@testing-library/react';
2
2
  import { ToolbarGroup } from '../ToolbarGroup';
3
3
 
4
- describe('ToolbarItem', () => {
4
+ describe('ToolbarGroup', () => {
5
5
  it('should render with pf-m-overflow-container when isOverflowContainer is set', () => {
6
6
  render(
7
7
  <ToolbarGroup data-testid="toolbargroup" isOverflowContainer>
@@ -10,4 +10,31 @@ describe('ToolbarItem', () => {
10
10
  );
11
11
  expect(screen.getByTestId('toolbargroup')).toHaveClass('pf-m-overflow-container');
12
12
  });
13
+
14
+ describe('ToobarGroup rowWrap', () => {
15
+ const bps = ['default', 'sm', 'md', 'lg', 'xl', '2xl'];
16
+
17
+ describe.each(bps)(`rowWrap at various breakpoints`, (bp) => {
18
+ it(`should render with pf-m-wrap when rowWrap is set to wrap at ${bp}`, () => {
19
+ render(
20
+ <ToolbarGroup data-testid="toolbargroup" rowWrap={{ [bp]: 'wrap' }}>
21
+ Test
22
+ </ToolbarGroup>
23
+ );
24
+ const bpWrapClass = bp === 'default' ? 'pf-m-wrap' : `pf-m-wrap-on-${bp}`;
25
+
26
+ expect(screen.getByTestId('toolbargroup')).toHaveClass(bpWrapClass);
27
+ });
28
+
29
+ it(`should render with pf-m-nowrap when rowWrap is set to nowrap at ${bp}`, () => {
30
+ render(
31
+ <ToolbarGroup data-testid="toolbargroup" rowWrap={{ [bp]: 'nowrap' }}>
32
+ Test
33
+ </ToolbarGroup>
34
+ );
35
+ const bpNoWrapClass = bp === 'default' ? 'pf-m-nowrap' : `pf-m-nowrap-on-${bp}`;
36
+ expect(screen.getByTestId('toolbargroup')).toHaveClass(bpNoWrapClass);
37
+ });
38
+ });
39
+ });
13
40
  });
@@ -10,4 +10,31 @@ describe('ToolbarItem', () => {
10
10
  );
11
11
  expect(screen.getByTestId('toolbaritem')).toHaveClass('pf-m-overflow-container');
12
12
  });
13
+
14
+ describe('ToobarItem rowWrap', () => {
15
+ const bps = ['default', 'sm', 'md', 'lg', 'xl', '2xl'];
16
+
17
+ describe.each(bps)(`rowWrap at various breakpoints`, (bp) => {
18
+ it(`should render with pf-m-wrap when rowWrap is set to wrap at ${bp}`, () => {
19
+ render(
20
+ <ToolbarItem data-testid="toolbaritem" rowWrap={{ [bp]: 'wrap' }}>
21
+ Test
22
+ </ToolbarItem>
23
+ );
24
+ const bpWrapClass = bp === 'default' ? 'pf-m-wrap' : `pf-m-wrap-on-${bp}`;
25
+
26
+ expect(screen.getByTestId('toolbaritem')).toHaveClass(bpWrapClass);
27
+ });
28
+
29
+ it(`should render with pf-m-nowrap when rowWrap is set to nowrap at ${bp}`, () => {
30
+ render(
31
+ <ToolbarItem data-testid="toolbaritem" rowWrap={{ [bp]: 'nowrap' }}>
32
+ Test
33
+ </ToolbarItem>
34
+ );
35
+ const bpNoWrapClass = bp === 'default' ? 'pf-m-nowrap' : `pf-m-nowrap-on-${bp}`;
36
+ expect(screen.getByTestId('toolbaritem')).toHaveClass(bpNoWrapClass);
37
+ });
38
+ });
39
+ });
13
40
  });
@@ -113,11 +113,18 @@ When all of a toolbar's required elements cannot fit in a single line, you can s
113
113
 
114
114
  ```
115
115
 
116
- ## Examples with toolbar spacers
116
+ ## Examples with spacers and wrapping
117
117
  You may adjust the space between toolbar items to arrange them into groups. Read our spacers documentation to learn more about using spacers.
118
118
 
119
119
  Items are spaced “16px” apart by default and can be modified by changing their or their parents' `gap`, `columnGap`, and `rowGap` properties. You can set the property values at multiple breakpoints, including "default", "md", "lg", "xl", and "2xl".
120
120
 
121
+ ### Toolbar content wrapping
122
+ The toolbar content section will wrap by default, but you can set the `rowRap` property to `noWrap` to make it not wrap.
123
+
124
+ ```ts file="./ToolbarContentWrap.tsx"
125
+
126
+ ```
127
+
121
128
  ### Toolbar group spacers
122
129
 
123
130
  ```ts file="./ToolbarGroupSpacers.tsx"
@@ -0,0 +1,35 @@
1
+ import { Fragment } from 'react';
2
+ import { Toolbar, ToolbarItem, ToolbarContent } from '@patternfly/react-core';
3
+ import { Button, SearchInput } from '@patternfly/react-core';
4
+
5
+ export const ToolbarItems: React.FunctionComponent = () => {
6
+ const items = (
7
+ <Fragment>
8
+ <ToolbarItem>
9
+ <SearchInput aria-label="Items example search input" />
10
+ </ToolbarItem>
11
+ <ToolbarItem>
12
+ <Button variant="secondary">Action</Button>
13
+ </ToolbarItem>
14
+ <ToolbarItem>
15
+ <Button variant="secondary">Action</Button>
16
+ </ToolbarItem>
17
+ <ToolbarItem>
18
+ <Button variant="secondary">Action</Button>
19
+ </ToolbarItem>
20
+ <ToolbarItem>
21
+ <Button variant="secondary">Action</Button>
22
+ </ToolbarItem>
23
+ <ToolbarItem variant="separator" />
24
+ <ToolbarItem>
25
+ <Button variant="primary">Action</Button>
26
+ </ToolbarItem>
27
+ </Fragment>
28
+ );
29
+
30
+ return (
31
+ <Toolbar id="toolbar-items-example">
32
+ <ToolbarContent rowWrap={{ default: 'nowrap' }}>{items}</ToolbarContent>
33
+ </Toolbar>
34
+ );
35
+ };
@@ -76,7 +76,7 @@ export const ToolbarGroupSpacers: React.FunctionComponent = () => {
76
76
 
77
77
  const groupRowGapItems = (
78
78
  <Fragment>
79
- <ToolbarGroup className="pf-m-wrap" rowGap={{ default: 'rowGapNone' }}>
79
+ <ToolbarGroup rowGap={{ default: 'rowGapNone' }} rowWrap={{ default: 'wrap' }}>
80
80
  <ToolbarItem>
81
81
  <Button variant="secondary">No Row Gap</Button>
82
82
  </ToolbarItem>
@@ -103,7 +103,7 @@ export const ToolbarGroupSpacers: React.FunctionComponent = () => {
103
103
  </ToolbarItem>
104
104
  <ToolbarItem variant="separator"></ToolbarItem>
105
105
  </ToolbarGroup>
106
- <ToolbarGroup className="pf-m-wrap" rowGap={{ default: 'rowGapSm' }}>
106
+ <ToolbarGroup rowGap={{ default: 'rowGapSm' }} rowWrap={{ default: 'wrap' }}>
107
107
  <ToolbarItem>
108
108
  <Button variant="secondary">Small Row Gap</Button>
109
109
  </ToolbarItem>
@@ -130,7 +130,7 @@ export const ToolbarGroupSpacers: React.FunctionComponent = () => {
130
130
  </ToolbarItem>
131
131
  <ToolbarItem variant="separator"></ToolbarItem>
132
132
  </ToolbarGroup>
133
- <ToolbarGroup className="pf-m-wrap" rowGap={{ default: 'rowGapXl' }}>
133
+ <ToolbarGroup rowGap={{ default: 'rowGapXl' }} rowWrap={{ default: 'wrap' }}>
134
134
  <ToolbarItem>
135
135
  <Button variant="secondary">Extra Large Row Gap</Button>
136
136
  </ToolbarItem>
@@ -5,7 +5,7 @@ import { Button } from '@patternfly/react-core';
5
5
  export const ToolbarItemSpacers: React.FunctionComponent = () => {
6
6
  const itemGapItems = (
7
7
  <Fragment>
8
- <ToolbarGroup className="pf-m-wrap">
8
+ <ToolbarGroup rowWrap={{ default: 'wrap' }}>
9
9
  <ToolbarItem gap={{ default: 'gapNone' }}>
10
10
  <Button variant="secondary">No Gap</Button>
11
11
  <Button variant="secondary">No Gap</Button>
@@ -26,7 +26,7 @@ export const ToolbarItemSpacers: React.FunctionComponent = () => {
26
26
 
27
27
  const itemColumnGapItems = (
28
28
  <Fragment>
29
- <ToolbarGroup className="pf-m-wrap">
29
+ <ToolbarGroup rowWrap={{ default: 'wrap' }}>
30
30
  <ToolbarItem columnGap={{ default: 'columnGapNone' }}>
31
31
  <Button variant="secondary">No Column Gap</Button>
32
32
  <Button variant="secondary">No Column Gap</Button>
@@ -48,17 +48,17 @@ export const ToolbarItemSpacers: React.FunctionComponent = () => {
48
48
  const itemRowGapItems = (
49
49
  <Fragment>
50
50
  <ToolbarGroup>
51
- <ToolbarItem className="pf-m-wrap" rowGap={{ default: 'rowGapNone' }}>
51
+ <ToolbarItem rowGap={{ default: 'rowGapNone' }} rowWrap={{ default: 'wrap' }}>
52
52
  <Button variant="secondary">No Row Gap</Button>
53
53
  <Button variant="secondary">No Row Gap</Button>
54
54
  </ToolbarItem>
55
55
  <ToolbarItem variant="separator"></ToolbarItem>
56
- <ToolbarItem className="pf-m-wrap" rowGap={{ default: 'rowGapSm' }}>
56
+ <ToolbarItem rowGap={{ default: 'rowGapSm' }} rowWrap={{ default: 'wrap' }}>
57
57
  <Button variant="secondary">Small Row Gap</Button>
58
58
  <Button variant="secondary">Small Row Gap</Button>
59
59
  </ToolbarItem>
60
60
  <ToolbarItem variant="separator"></ToolbarItem>
61
- <ToolbarItem className="pf-m-wrap" rowGap={{ default: 'rowGapXl' }}>
61
+ <ToolbarItem rowGap={{ default: 'rowGapXl' }} rowWrap={{ default: 'wrap' }}>
62
62
  <Button variant="secondary">Extra Large Row Gap</Button>
63
63
  <Button variant="secondary">Extra Large Row Gap</Button>
64
64
  </ToolbarItem>