@patternfly/react-core 6.0.0-alpha.5 → 6.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/CHANGELOG.md +106 -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/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/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/DragDrop/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/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/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/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  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/package.json +1 -1
  119. package/dist/esm/components/Banner/Banner.d.ts +16 -3
  120. package/dist/esm/components/Banner/Banner.d.ts.map +1 -1
  121. package/dist/esm/components/Banner/Banner.js +10 -2
  122. package/dist/esm/components/Banner/Banner.js.map +1 -1
  123. package/dist/esm/components/List/ListItem.js +1 -1
  124. package/dist/esm/components/List/ListItem.js.map +1 -1
  125. package/dist/esm/components/Menu/MenuItem.d.ts +2 -0
  126. package/dist/esm/components/Menu/MenuItem.d.ts.map +1 -1
  127. package/dist/esm/components/Menu/MenuItem.js +3 -2
  128. package/dist/esm/components/Menu/MenuItem.js.map +1 -1
  129. package/dist/esm/components/Popover/Popover.js +1 -1
  130. package/dist/esm/components/Popover/Popover.js.map +1 -1
  131. package/dist/esm/components/Title/Title.d.ts.map +1 -1
  132. package/dist/esm/components/Title/Title.js +2 -11
  133. package/dist/esm/components/Title/Title.js.map +1 -1
  134. package/dist/esm/demos/DashboardHeader.js +1 -1
  135. package/dist/esm/demos/DashboardHeader.js.map +1 -1
  136. package/dist/js/components/Banner/Banner.d.ts +16 -3
  137. package/dist/js/components/Banner/Banner.d.ts.map +1 -1
  138. package/dist/js/components/Banner/Banner.js +10 -2
  139. package/dist/js/components/Banner/Banner.js.map +1 -1
  140. package/dist/js/components/List/ListItem.js +1 -1
  141. package/dist/js/components/List/ListItem.js.map +1 -1
  142. package/dist/js/components/Menu/MenuItem.d.ts +2 -0
  143. package/dist/js/components/Menu/MenuItem.d.ts.map +1 -1
  144. package/dist/js/components/Menu/MenuItem.js +3 -2
  145. package/dist/js/components/Menu/MenuItem.js.map +1 -1
  146. package/dist/js/components/Popover/Popover.js +1 -1
  147. package/dist/js/components/Popover/Popover.js.map +1 -1
  148. package/dist/js/components/Title/Title.d.ts.map +1 -1
  149. package/dist/js/components/Title/Title.js +2 -11
  150. package/dist/js/components/Title/Title.js.map +1 -1
  151. package/dist/js/demos/DashboardHeader.js +2 -2
  152. package/dist/js/demos/DashboardHeader.js.map +1 -1
  153. package/dist/umd/react-core.min.js +1 -1
  154. package/helpers/package.json +1 -1
  155. package/layouts/package.json +1 -1
  156. package/next/package.json +1 -1
  157. package/package.json +5 -5
  158. package/src/components/Banner/Banner.tsx +41 -18
  159. package/src/components/Banner/__tests__/Banner.test.tsx +56 -11
  160. package/src/components/Banner/examples/Banner.md +4 -2
  161. package/src/components/Banner/examples/BannerBasic.tsx +12 -4
  162. package/src/components/Banner/examples/BannerStatus.tsx +13 -13
  163. package/src/components/List/ListItem.tsx +1 -1
  164. package/src/components/List/__tests__/Generated/__snapshots__/ListItem.test.tsx.snap +3 -1
  165. package/src/components/List/__tests__/__snapshots__/List.test.tsx.snap +57 -15
  166. package/src/components/Masthead/examples/Masthead.md +8 -146
  167. package/src/components/Masthead/examples/MastheadBasic.tsx +19 -0
  168. package/src/components/Masthead/examples/MastheadBasicMixedContent.tsx +37 -0
  169. package/src/components/Masthead/examples/MastheadDisplayInline.tsx +19 -0
  170. package/src/components/Masthead/examples/MastheadDisplayStack.tsx +19 -0
  171. package/src/components/Masthead/examples/MastheadDisplayStackInlineResponsive.tsx +19 -0
  172. package/src/components/Masthead/examples/MastheadIconRouterLink.tsx +31 -0
  173. package/src/components/Masthead/examples/MastheadInsets.tsx +19 -0
  174. package/src/components/Menu/MenuItem.tsx +5 -1
  175. package/src/components/Popover/Popover.tsx +1 -1
  176. package/src/components/Select/examples/Select.md +49 -9
  177. package/src/components/Text/examples/Text.md +1 -1
  178. package/src/components/Text/examples/TextVisited.tsx +3 -3
  179. package/src/components/Title/Title.tsx +2 -11
  180. package/src/components/Title/__tests__/Title.test.tsx +14 -14
  181. package/src/components/Title/__tests__/__snapshots__/Title.test.tsx.snap +1 -1
  182. package/src/components/Title/examples/TitleCustomSizes.tsx +6 -6
  183. package/src/components/Title/examples/TitleDefaultSizes.tsx +6 -6
  184. package/src/components/assets/PF-HorizontalLogo-Color.svg +29 -0
  185. package/src/demos/DashboardHeader.tsx +1 -1
  186. package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +397 -0
  187. package/src/demos/DataListDemo.md +1 -407
  188. package/src/demos/Masthead.md +1 -1
  189. package/src/demos/Nav.md +1 -1
  190. package/src/demos/NotificationDrawer/NotificationDrawer.md +1 -1
  191. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +1 -1
  192. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +1 -1
  193. package/src/demos/Page.md +1 -1
  194. package/src/demos/RTL/RTL.md +1 -1
  195. package/src/demos/RTL/examples/PaginatedTable.jsx +1 -1
  196. package/src/demos/Wizard/WizardDemo.md +1 -1
  197. package/src/demos/assets/PF-HorizontalLogo-Color.svg +29 -0
  198. package/src/demos/examples/AlertGroup/AlertGroupToastWithNotificationDrawer.tsx +3 -3
  199. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +1 -1
  200. package/src/demos/examples/Nav/NavFlyout.tsx +1 -1
  201. package/src/demos/examples/Nav/NavHorizontal.tsx +1 -1
  202. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +1 -1
  203. package/src/demos/examples/Nav/NavManual.tsx +1 -1
  204. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +1 -1
  205. package/src/demos/examples/Page/PageStickySectionGroup.tsx +1 -1
  206. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +1 -1
  207. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +1 -1
  208. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +1 -1
@@ -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.4","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.6","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.4","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.6","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.4","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.6","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "6.0.0-alpha.5",
3
+ "version": "6.0.0-alpha.7",
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",
@@ -46,9 +46,9 @@
46
46
  "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
47
47
  },
48
48
  "dependencies": {
49
- "@patternfly/react-icons": "^6.0.0-alpha.4",
50
- "@patternfly/react-styles": "^6.0.0-alpha.4",
51
- "@patternfly/react-tokens": "^6.0.0-alpha.4",
49
+ "@patternfly/react-icons": "^6.0.0-alpha.5",
50
+ "@patternfly/react-styles": "^6.0.0-alpha.5",
51
+ "@patternfly/react-tokens": "^6.0.0-alpha.5",
52
52
  "focus-trap": "7.5.2",
53
53
  "react-dropzone": "^14.2.3",
54
54
  "tslib": "^2.5.0"
@@ -72,5 +72,5 @@
72
72
  "react": "^17 || ^18",
73
73
  "react-dom": "^17 || ^18"
74
74
  },
75
- "gitHead": "0213323de9e62364f8cd3f401bec86f1f34ee4fe"
75
+ "gitHead": "e9117354af65f496fe3166e6faea7b8721f08b62"
76
76
  }
@@ -2,6 +2,10 @@ import * as React from 'react';
2
2
  import styles from '@patternfly/react-styles/css/components/Banner/banner';
3
3
  import { css } from '@patternfly/react-styles';
4
4
 
5
+ export type BannerColor = 'red' | 'orangered' | 'orange' | 'gold' | 'green' | 'cyan' | 'blue' | 'purple';
6
+
7
+ export type BannerStatus = 'success' | 'warning' | 'danger' | 'info' | 'custom';
8
+
5
9
  export interface BannerProps extends React.HTMLProps<HTMLDivElement> {
6
10
  /** Content rendered inside the banner. */
7
11
  children?: React.ReactNode;
@@ -13,29 +17,48 @@ export interface BannerProps extends React.HTMLProps<HTMLDivElement> {
13
17
  * be passed in when the banner conveys status/severity.
14
18
  */
15
19
  screenReaderText?: string;
16
- /** Variant styles for the banner. */
17
- variant?: 'default' | 'blue' | 'red' | 'green' | 'gold';
20
+ /** Color options for the banner, will be overwritten by any applied using the status prop. */
21
+ color?: BannerColor;
22
+ /** Status style options for the banner, will overwrite any color applied using the color prop. */
23
+ status?: BannerStatus;
24
+ }
25
+ interface StatusBanner extends BannerProps {
26
+ color?: never;
27
+ status?: BannerStatus;
18
28
  }
19
29
 
20
- export const Banner: React.FunctionComponent<BannerProps> = ({
30
+ interface NonStatusBanner extends BannerProps {
31
+ color?: BannerColor;
32
+ status?: never;
33
+ }
34
+
35
+ export const Banner: React.FunctionComponent<StatusBanner | NonStatusBanner> = ({
21
36
  children,
22
37
  className,
23
- variant = 'default',
24
38
  screenReaderText,
25
39
  isSticky = false,
40
+ color,
41
+ status,
26
42
  ...props
27
- }: BannerProps) => (
28
- <div
29
- className={css(
30
- styles.banner,
31
- styles.modifiers[variant as 'green' | 'red' | 'gold' | 'blue'],
32
- isSticky && styles.modifiers.sticky,
33
- className
34
- )}
35
- {...props}
36
- >
37
- {screenReaderText && <span className="pf-v5-screen-reader">{screenReaderText}</span>}
38
- {children}
39
- </div>
40
- );
43
+ }: BannerProps) => {
44
+ const getStatusOrColorModifier = () => {
45
+ if (status) {
46
+ return styles.modifiers[status];
47
+ }
48
+
49
+ if (color) {
50
+ return styles.modifiers[color];
51
+ }
52
+ };
53
+
54
+ return (
55
+ <div
56
+ className={css(styles.banner, getStatusOrColorModifier(), isSticky && styles.modifiers.sticky, className)}
57
+ {...props}
58
+ >
59
+ {screenReaderText && <span className="pf-v5-screen-reader">{screenReaderText}</span>}
60
+ {children}
61
+ </div>
62
+ );
63
+ };
41
64
  Banner.displayName = 'Banner';
@@ -27,31 +27,76 @@ test('Renders with custom class name when className prop is provided', () => {
27
27
  expect(screen.getByText('Test')).toHaveClass('custom-class');
28
28
  });
29
29
 
30
- test('Renders without any modifier class when variant prop is not passed', () => {
30
+ test('Renders without any modifier class when color and status props are not passed', () => {
31
31
  render(<Banner>Test</Banner>);
32
32
  expect(screen.getByText('Test')).toHaveClass(styles.banner, { exact: true });
33
33
  });
34
34
 
35
- test('Renders with class name pf-m-green when "green" is passed to variant prop', () => {
36
- render(<Banner variant="green">Test</Banner>);
37
- expect(screen.getByText('Test')).toHaveClass('pf-m-green');
35
+ test('Renders with class name pf-m-red when "red" is passed to color prop', () => {
36
+ render(<Banner color="red">Test</Banner>);
37
+ expect(screen.getByText('Test')).toHaveClass('pf-m-red');
38
38
  });
39
39
 
40
- test('Renders with class name pf-m-red when "red" is passed to variant prop', () => {
41
- render(<Banner variant="red">Test</Banner>);
42
- expect(screen.getByText('Test')).toHaveClass('pf-m-red');
40
+ test('Renders with class name pf-m-orangered when "orangered" is passed to color prop', () => {
41
+ render(<Banner color="orangered">Test</Banner>);
42
+ expect(screen.getByText('Test')).toHaveClass('pf-m-orangered');
43
43
  });
44
44
 
45
- test('Renders with class name pf-m-gold when "gold" is passed to variant prop', () => {
46
- render(<Banner variant="gold">Test</Banner>);
45
+ test('Renders with class name pf-m-orange when "orange" is passed to color prop', () => {
46
+ render(<Banner color="orange">Test</Banner>);
47
+ expect(screen.getByText('Test')).toHaveClass('pf-m-orange');
48
+ });
49
+
50
+ test('Renders with class name pf-m-gold when "gold" is passed to color prop', () => {
51
+ render(<Banner color="gold">Test</Banner>);
47
52
  expect(screen.getByText('Test')).toHaveClass('pf-m-gold');
48
53
  });
49
54
 
50
- test('Renders with class name pf-m-blue when "blue" is passed to variant prop', () => {
51
- render(<Banner variant="blue">Test</Banner>);
55
+ test('Renders with class name pf-m-green when "green" is passed to color prop', () => {
56
+ render(<Banner color="green">Test</Banner>);
57
+ expect(screen.getByText('Test')).toHaveClass('pf-m-green');
58
+ });
59
+
60
+ test('Renders with class name pf-m-cyan when "cyan" is passed to color prop', () => {
61
+ render(<Banner color="cyan">Test</Banner>);
62
+ expect(screen.getByText('Test')).toHaveClass('pf-m-cyan');
63
+ });
64
+
65
+ test('Renders with class name pf-m-blue when "blue" is passed to color prop', () => {
66
+ render(<Banner color="blue">Test</Banner>);
52
67
  expect(screen.getByText('Test')).toHaveClass('pf-m-blue');
53
68
  });
54
69
 
70
+ test('Renders with class name pf-m-purple when "purple" is passed to color prop', () => {
71
+ render(<Banner color="purple">Test</Banner>);
72
+ expect(screen.getByText('Test')).toHaveClass('pf-m-purple');
73
+ });
74
+
75
+ test('Renders with class name pf-m-success when "success" is passed to status prop', () => {
76
+ render(<Banner status="success">Test</Banner>);
77
+ expect(screen.getByText('Test')).toHaveClass('pf-m-success');
78
+ });
79
+
80
+ test('Renders with class name pf-m-warning when "warning" is passed to status prop', () => {
81
+ render(<Banner status="warning">Test</Banner>);
82
+ expect(screen.getByText('Test')).toHaveClass('pf-m-warning');
83
+ });
84
+
85
+ test('Renders with class name pf-m-danger when "danger" is passed to status prop', () => {
86
+ render(<Banner status="danger">Test</Banner>);
87
+ expect(screen.getByText('Test')).toHaveClass('pf-m-danger');
88
+ });
89
+
90
+ test('Renders with class name pf-m-info when "info" is passed to status prop', () => {
91
+ render(<Banner status="info">Test</Banner>);
92
+ expect(screen.getByText('Test')).toHaveClass('pf-m-info');
93
+ });
94
+
95
+ test('Renders with class name pf-m-custom when "custom" is passed to status prop', () => {
96
+ render(<Banner status="custom">Test</Banner>);
97
+ expect(screen.getByText('Test')).toHaveClass('pf-m-custom');
98
+ });
99
+
55
100
  test('Does not render pf-v5-screen-reader class by default', () => {
56
101
  render(<Banner>Test</Banner>);
57
102
  expect(screen.getByText('Test')).not.toContainHTML('<span class="pf-v5-screen-reader"></span>');
@@ -15,7 +15,7 @@ import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
15
15
 
16
16
  ### Basic
17
17
 
18
- Banners can be styled with one of 5 different colors. A basic banner should only be used when the banner color does not represent status or severity.
18
+ Banners can be styled with one of 9 different colors using the `color` prop. A basic banner should only be used when the banner color does not represent status or severity.
19
19
 
20
20
  ```ts file="./BannerBasic.tsx"
21
21
 
@@ -23,7 +23,9 @@ Banners can be styled with one of 5 different colors. A basic banner should only
23
23
 
24
24
  ### Status
25
25
 
26
- When a banner is used to convey status, it is advised to pass in an icon inside the banner to convey the status in a way besides just color. The `screenReaderText` prop should also be passed in to convey the status/severity of the banner to users of certain assistive technologies such as screen readers.
26
+ When a banner is used to convey status it should be styled using the `status` prop. Additionally, it is advised to pass an icon inside the banner to convey the status in a way besides just color.
27
+
28
+ The `screenReaderText` prop should also be passed in to convey the status/severity of the banner to users of certain assistive technologies such as screen readers.
27
29
 
28
30
  In the following example, a flex layout is used inside the banner content to show one possible way to create spacing between the icons and banner text.
29
31
 
@@ -5,12 +5,20 @@ export const BannerBasic: React.FunctionComponent = () => (
5
5
  <>
6
6
  <Banner>Default banner</Banner>
7
7
  <br />
8
- <Banner variant="blue">Blue banner</Banner>
8
+ <Banner color="red">Red banner</Banner>
9
9
  <br />
10
- <Banner variant="red">Red banner</Banner>
10
+ <Banner color="orangered">Orangered banner</Banner>
11
11
  <br />
12
- <Banner variant="green">Green banner</Banner>
12
+ <Banner color="orange">Orange banner</Banner>
13
13
  <br />
14
- <Banner variant="gold">Gold banner</Banner>
14
+ <Banner color="gold">Gold banner</Banner>
15
+ <br />
16
+ <Banner color="green">Green banner</Banner>
17
+ <br />
18
+ <Banner color="cyan">Cyan banner</Banner>
19
+ <br />
20
+ <Banner color="blue">Blue banner</Banner>
21
+ <br />
22
+ <Banner color="purple">Purple banner</Banner>
15
23
  </>
16
24
  );
@@ -8,25 +8,25 @@ import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
8
8
 
9
9
  export const BannerStatus: React.FunctionComponent = () => (
10
10
  <>
11
- <Banner screenReaderText="Default banner">
11
+ <Banner screenReaderText="Success banner" status="success">
12
12
  <Flex spaceItems={{ default: 'spaceItemsSm' }}>
13
13
  <FlexItem>
14
- <BellIcon />
14
+ <CheckCircleIcon />
15
15
  </FlexItem>
16
- <FlexItem>Default banner</FlexItem>
16
+ <FlexItem>Success banner</FlexItem>
17
17
  </Flex>
18
18
  </Banner>
19
19
  <br />
20
- <Banner screenReaderText="Info banner" variant="blue">
20
+ <Banner screenReaderText="Warning banner" status="warning">
21
21
  <Flex spaceItems={{ default: 'spaceItemsSm' }}>
22
22
  <FlexItem>
23
- <InfoCircleIcon />
23
+ <ExclamationTriangleIcon />
24
24
  </FlexItem>
25
- <FlexItem>Info banner</FlexItem>
25
+ <FlexItem>Warning banner</FlexItem>
26
26
  </Flex>
27
27
  </Banner>
28
28
  <br />
29
- <Banner screenReaderText="Danger banner" variant="red">
29
+ <Banner screenReaderText="Danger banner" status="danger">
30
30
  <Flex spaceItems={{ default: 'spaceItemsSm' }}>
31
31
  <FlexItem>
32
32
  <ExclamationCircleIcon />
@@ -35,21 +35,21 @@ export const BannerStatus: React.FunctionComponent = () => (
35
35
  </Flex>
36
36
  </Banner>
37
37
  <br />
38
- <Banner screenReaderText="Success banner" variant="green">
38
+ <Banner screenReaderText="Info banner" status="info">
39
39
  <Flex spaceItems={{ default: 'spaceItemsSm' }}>
40
40
  <FlexItem>
41
- <CheckCircleIcon />
41
+ <InfoCircleIcon />
42
42
  </FlexItem>
43
- <FlexItem>Success banner</FlexItem>
43
+ <FlexItem>Info banner</FlexItem>
44
44
  </Flex>
45
45
  </Banner>
46
46
  <br />
47
- <Banner screenReaderText="Warning banner" variant="gold">
47
+ <Banner screenReaderText="Custom banner" status="custom">
48
48
  <Flex spaceItems={{ default: 'spaceItemsSm' }}>
49
49
  <FlexItem>
50
- <ExclamationTriangleIcon />
50
+ <BellIcon />
51
51
  </FlexItem>
52
- <FlexItem>Warning banner</FlexItem>
52
+ <FlexItem>Custom banner</FlexItem>
53
53
  </Flex>
54
54
  </Banner>
55
55
  </>
@@ -16,7 +16,7 @@ export const ListItem: React.FunctionComponent<ListItemProps> = ({
16
16
  }: ListItemProps) => (
17
17
  <li className={css(icon && styles.listItem)} {...props}>
18
18
  {icon && <span className={css(styles.listItemIcon)}>{icon}</span>}
19
- {children}
19
+ <span className={icon && css(`${styles.list}__item-text`)}>{children}</span>
20
20
  </li>
21
21
  );
22
22
  ListItem.displayName = 'ListItem';
@@ -5,7 +5,9 @@ exports[`ListItem should match snapshot (auto-generated) 1`] = `
5
5
  <li
6
6
  class=""
7
7
  >
8
- ReactNode
8
+ <span>
9
+ ReactNode
10
+ </span>
9
11
  </li>
10
12
  </DocumentFragment>
11
13
  `;
@@ -25,7 +25,11 @@ exports[`List icon large list 1`] = `
25
25
  />
26
26
  </svg>
27
27
  </span>
28
- Apple
28
+ <span
29
+ class="pf-v5-c-list__item-text"
30
+ >
31
+ Apple
32
+ </span>
29
33
  </li>
30
34
  <li
31
35
  class="pf-v5-c-list__item"
@@ -47,7 +51,11 @@ exports[`List icon large list 1`] = `
47
51
  />
48
52
  </svg>
49
53
  </span>
50
- Banana
54
+ <span
55
+ class="pf-v5-c-list__item-text"
56
+ >
57
+ Banana
58
+ </span>
51
59
  </li>
52
60
  <li
53
61
  class="pf-v5-c-list__item"
@@ -69,7 +77,11 @@ exports[`List icon large list 1`] = `
69
77
  />
70
78
  </svg>
71
79
  </span>
72
- Orange
80
+ <span
81
+ class="pf-v5-c-list__item-text"
82
+ >
83
+ Orange
84
+ </span>
73
85
  </li>
74
86
  </ul>
75
87
  </DocumentFragment>
@@ -101,7 +113,11 @@ exports[`List icon list 1`] = `
101
113
  />
102
114
  </svg>
103
115
  </span>
104
- Apple
116
+ <span
117
+ class="pf-v5-c-list__item-text"
118
+ >
119
+ Apple
120
+ </span>
105
121
  </li>
106
122
  <li
107
123
  class="pf-v5-c-list__item"
@@ -123,7 +139,11 @@ exports[`List icon list 1`] = `
123
139
  />
124
140
  </svg>
125
141
  </span>
126
- Banana
142
+ <span
143
+ class="pf-v5-c-list__item-text"
144
+ >
145
+ Banana
146
+ </span>
127
147
  </li>
128
148
  <li
129
149
  class="pf-v5-c-list__item"
@@ -145,7 +165,11 @@ exports[`List icon list 1`] = `
145
165
  />
146
166
  </svg>
147
167
  </span>
148
- Orange
168
+ <span
169
+ class="pf-v5-c-list__item-text"
170
+ >
171
+ Orange
172
+ </span>
149
173
  </li>
150
174
  </ul>
151
175
  </DocumentFragment>
@@ -162,17 +186,23 @@ exports[`List inline list 1`] = `
162
186
  <li
163
187
  class=""
164
188
  >
165
- First
189
+ <span>
190
+ First
191
+ </span>
166
192
  </li>
167
193
  <li
168
194
  class=""
169
195
  >
170
- Second
196
+ <span>
197
+ Second
198
+ </span>
171
199
  </li>
172
200
  <li
173
201
  class=""
174
202
  >
175
- Third
203
+ <span>
204
+ Third
205
+ </span>
176
206
  </li>
177
207
  </ul>
178
208
  </ul>
@@ -188,17 +218,23 @@ exports[`List ordered list 1`] = `
188
218
  <li
189
219
  class=""
190
220
  >
191
- Apple
221
+ <span>
222
+ Apple
223
+ </span>
192
224
  </li>
193
225
  <li
194
226
  class=""
195
227
  >
196
- Banana
228
+ <span>
229
+ Banana
230
+ </span>
197
231
  </li>
198
232
  <li
199
233
  class=""
200
234
  >
201
- Orange
235
+ <span>
236
+ Orange
237
+ </span>
202
238
  </li>
203
239
  </ol>
204
240
  </DocumentFragment>
@@ -215,17 +251,23 @@ exports[`List simple list 1`] = `
215
251
  <li
216
252
  class=""
217
253
  >
218
- First
254
+ <span>
255
+ First
256
+ </span>
219
257
  </li>
220
258
  <li
221
259
  class=""
222
260
  >
223
- Second
261
+ <span>
262
+ Second
263
+ </span>
224
264
  </li>
225
265
  <li
226
266
  class=""
227
267
  >
228
- Third
268
+ <span>
269
+ Third
270
+ </span>
229
271
  </li>
230
272
  </ul>
231
273
  </ul>