@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
@@ -4,22 +4,22 @@ import { Title, TitleSizes } from '@patternfly/react-core';
4
4
  export const TitleCustomSizes: React.FunctionComponent = () => (
5
5
  <React.Fragment>
6
6
  <Title headingLevel="h1" size={TitleSizes['4xl']}>
7
- h1 as 4xl
7
+ 4xl title
8
8
  </Title>
9
9
  <Title headingLevel="h2" size="3xl">
10
- h2 as 3xl
10
+ 3xl title
11
11
  </Title>
12
12
  <Title headingLevel="h3" size={TitleSizes['2xl']}>
13
- h3 as 2xl
13
+ 2xl title
14
14
  </Title>
15
15
  <Title headingLevel="h4" size="xl">
16
- h4 as xl
16
+ xl title
17
17
  </Title>
18
18
  <Title headingLevel="h5" size={TitleSizes.lg}>
19
- h5 as lg
19
+ lg title
20
20
  </Title>
21
21
  <Title headingLevel="h6" size="md">
22
- h6 as md Title
22
+ md title
23
23
  </Title>
24
24
  </React.Fragment>
25
25
  );
@@ -3,11 +3,11 @@ import { Title } from '@patternfly/react-core';
3
3
 
4
4
  export const TitleDefaultSizes: React.FunctionComponent = () => (
5
5
  <React.Fragment>
6
- <Title headingLevel="h1">h1 defaults to 2xl</Title>
7
- <Title headingLevel="h2">h2 defaults to xl</Title>
8
- <Title headingLevel="h3">h3 defaults to lg</Title>
9
- <Title headingLevel="h4">h4 defaults to md</Title>
10
- <Title headingLevel="h5">h5 defaults to md</Title>
11
- <Title headingLevel="h6">h6 defaults to md</Title>
6
+ <Title headingLevel="h1">H1-styled title</Title>
7
+ <Title headingLevel="h2">H2-styled title</Title>
8
+ <Title headingLevel="h3">H3-styled title</Title>
9
+ <Title headingLevel="h4">H4-styled title</Title>
10
+ <Title headingLevel="h5">H5-styled title</Title>
11
+ <Title headingLevel="h6">H6-styled title</Title>
12
12
  </React.Fragment>
13
13
  );
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="679px" height="158px" viewBox="0 0 679 158" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>PF-HorizontalLogo-Color </title>
4
+ <defs>
5
+ <linearGradient x1="68%" y1="2.25860997e-13%" x2="32%" y2="100%" id="linearGradient-1">
6
+ <stop stop-color="#2B9AF3" offset="0%"></stop>
7
+ <stop stop-color="#73BCF7" stop-opacity="0.502212631" offset="100%"></stop>
8
+ </linearGradient>
9
+ </defs>
10
+ <g id="PF-HorizontalLogo-Color" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
11
+ <g id="PatternFly-Copy-11" transform="translate(206.000000, 45.750000)" fill="#151515" fill-rule="nonzero">
12
+ <path d="M0,65.25 L0,2.25 L33.21,2.25 C37.35,2.25 41.025,3.135 44.235,4.905 C47.445,6.675 49.98,9.09 51.84,12.15 C53.7,15.21 54.63,18.72 54.63,22.68 C54.63,26.46 53.7,29.865 51.84,32.895 C49.98,35.925 47.43,38.31 44.19,40.05 C40.95,41.79 37.29,42.66 33.21,42.66 L15.48,42.66 L15.48,65.25 L0,65.25 Z M15.48,29.88 L31.41,29.88 C33.69,29.88 35.52,29.22 36.9,27.9 C38.28,26.58 38.97,24.87 38.97,22.77 C38.97,20.61 38.28,18.855 36.9,17.505 C35.52,16.155 33.69,15.48 31.41,15.48 L15.48,15.48 L15.48,29.88 Z" id="Shape"></path>
13
+ <path d="M77.04,66.06 C73.68,66.06 70.695,65.43 68.085,64.17 C65.475,62.91 63.435,61.17 61.965,58.95 C60.495,56.73 59.76,54.18 59.76,51.3 C59.76,46.74 61.485,43.215 64.935,40.725 C68.385,38.235 73.2,36.99 79.38,36.99 C83.1,36.99 86.7,37.44 90.18,38.34 L90.18,36 C90.18,31.26 87.15,28.89 81.09,28.89 C77.49,28.89 72.69,30.15 66.69,32.67 L61.47,21.96 C69.15,18.48 76.56,16.74 83.7,16.74 C90.3,16.74 95.43,18.315 99.09,21.465 C102.75,24.615 104.58,29.04 104.58,34.74 L104.58,65.25 L90.18,65.25 L90.18,62.37 C88.26,63.69 86.235,64.635 84.105,65.205 C81.975,65.775 79.62,66.06 77.04,66.06 Z M73.62,51.03 C73.62,52.53 74.28,53.7 75.6,54.54 C76.92,55.38 78.75,55.8 81.09,55.8 C84.69,55.8 87.72,55.05 90.18,53.55 L90.18,47.43 C87.42,46.71 84.54,46.35 81.54,46.35 C79.02,46.35 77.07,46.755 75.69,47.565 C74.31,48.375 73.62,49.53 73.62,51.03 Z" id="Shape"></path>
14
+ <path d="M137.25,65.88 C125.73,65.88 119.97,60.84 119.97,50.76 L119.97,29.79 L110.34,29.79 L110.34,17.64 L119.97,17.64 L119.97,5.4 L134.55,2.25 L134.55,17.64 L147.87,17.64 L147.87,29.79 L134.55,29.79 L134.55,47.88 C134.55,49.98 135.015,51.465 135.945,52.335 C136.875,53.205 138.51,53.64 140.85,53.64 C143.01,53.64 145.2,53.31 147.42,52.65 L147.42,64.44 C146.1,64.86 144.42,65.205 142.38,65.475 C140.34,65.745 138.63,65.88 137.25,65.88 Z" id="Path"></path>
15
+ <path d="M177.57,65.88 C166.05,65.88 160.29,60.84 160.29,50.76 L160.29,29.79 L150.66,29.79 L150.66,17.64 L160.29,17.64 L160.29,5.4 L174.87,2.25 L174.87,17.64 L188.19,17.64 L188.19,29.79 L174.87,29.79 L174.87,47.88 C174.87,49.98 175.335,51.465 176.265,52.335 C177.195,53.205 178.83,53.64 181.17,53.64 C183.33,53.64 185.52,53.31 187.74,52.65 L187.74,64.44 C186.42,64.86 184.74,65.205 182.7,65.475 C180.66,65.745 178.95,65.88 177.57,65.88 Z" id="Path"></path>
16
+ <path d="M217.62,66.15 C212.76,66.15 208.365,65.055 204.435,62.865 C200.505,60.675 197.4,57.72 195.12,54 C192.84,50.28 191.7,46.11 191.7,41.49 C191.7,36.87 192.795,32.7 194.985,28.98 C197.175,25.26 200.16,22.305 203.94,20.115 C207.72,17.925 211.92,16.83 216.54,16.83 C221.22,16.83 225.36,17.955 228.96,20.205 C232.56,22.455 235.395,25.53 237.465,29.43 C239.535,33.33 240.57,37.8 240.57,42.84 L240.57,46.44 L206.64,46.44 C207.6,48.66 209.1,50.475 211.14,51.885 C213.18,53.295 215.58,54 218.34,54 C222.42,54 225.6,52.8 227.88,50.4 L237.51,58.95 C234.51,61.47 231.435,63.3 228.285,64.44 C225.135,65.58 221.58,66.15 217.62,66.15 Z M206.37,36.27 L226.26,36.27 C225.48,33.99 224.205,32.16 222.435,30.78 C220.665,29.4 218.61,28.71 216.27,28.71 C213.87,28.71 211.8,29.37 210.06,30.69 C208.32,32.01 207.09,33.87 206.37,36.27 Z" id="Shape"></path>
17
+ <path d="M247.41,65.25 L247.41,17.64 L261.99,17.64 L261.99,22.41 C265.23,18.51 269.4,16.56 274.5,16.56 C277.08,16.62 278.91,17.01 279.99,17.73 L279.99,30.42 C277.95,29.46 275.64,28.98 273.06,28.98 C270.78,28.98 268.665,29.505 266.715,30.555 C264.765,31.605 263.19,33.09 261.99,35.01 L261.99,65.25 L247.41,65.25 Z" id="Path"></path>
18
+ <path d="M286.29,65.25 L286.29,17.64 L300.87,17.64 L300.87,20.88 C304.47,18.12 308.73,16.74 313.65,16.74 C317.37,16.74 320.655,17.55 323.505,19.17 C326.355,20.79 328.59,23.04 330.21,25.92 C331.83,28.8 332.64,32.13 332.64,35.91 L332.64,65.25 L318.06,65.25 L318.06,37.89 C318.06,35.25 317.28,33.15 315.72,31.59 C314.16,30.03 312.06,29.25 309.42,29.25 C305.76,29.25 302.91,30.51 300.87,33.03 L300.87,65.25 L286.29,65.25 Z" id="Path"></path>
19
+ <polygon id="Path" points="342 65.25 342 2.25 392.04 2.25 392.04 15.66 357.48 15.66 357.48 27.45 380.52 27.45 380.52 40.41 357.48 40.41 357.48 65.25"></polygon>
20
+ <polygon id="Path" points="399.96 65.25 399.96 2.25 414.54 0 414.54 65.25"></polygon>
21
+ <path d="M429.21,84.69 C428.07,84.69 426.96,84.645 425.88,84.555 C424.8,84.465 423.9,84.33 423.18,84.15 L423.18,71.73 C424.38,71.97 425.88,72.09 427.68,72.09 C432.36,72.09 435.51,70.05 437.13,65.97 L437.13,65.88 L418.86,17.64 L434.97,17.64 L445.5,47.61 L457.74,17.64 L473.49,17.64 L452.16,67.68 C450.42,71.82 448.5,75.135 446.4,77.625 C444.3,80.115 441.87,81.915 439.11,83.025 C436.35,84.135 433.05,84.69 429.21,84.69 Z" id="Path"></path>
22
+ </g>
23
+ <g id="Logo" transform="translate(0.000000, 0.000000)">
24
+ <path d="M61.826087,0 L158,0 L158,96.173913 L147.695652,96.173913 C100.271201,96.173913 61.826087,57.7287992 61.826087,10.3043478 L61.826087,0 L61.826087,0 Z" id="Rectangle-Copy-17" fill="#0066CC"></path>
25
+ <path d="M158,3.43478261 L65.2608696,158 L138,158 C149.045695,158 158,149.045695 158,138 L158,3.43478261 L158,3.43478261 Z" id="Path-2" fill="url(#linearGradient-1)"></path>
26
+ <path d="M123.652174,-30.9130435 L30.9130435,123.652174 L103.652174,123.652174 C114.697869,123.652174 123.652174,114.697869 123.652174,103.652174 L123.652174,-30.9130435 L123.652174,-30.9130435 Z" id="Path-2" fill="url(#linearGradient-1)" transform="translate(77.282609, 46.369565) scale(1, -1) rotate(90.000000) translate(-77.282609, -46.369565) "></path>
27
+ </g>
28
+ </g>
29
+ </svg>
@@ -28,7 +28,7 @@ import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-
28
28
  import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
29
29
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
30
30
  import imgAvatar from '@patternfly/react-core/src/components/assets/avatarImg.svg';
31
- import pfLogo from '@patternfly/react-core/src/demos/assets/pf-logo.svg';
31
+ import pfLogo from '@patternfly/react-core/src/demos/assets/PF-HorizontalLogo-Color.svg';
32
32
 
33
33
  interface DashboardHeaderProps {
34
34
  /** Render custom notification badge */
@@ -0,0 +1,397 @@
1
+ import React from 'react';
2
+ import {
3
+ Button,
4
+ DataList,
5
+ DataListItem,
6
+ DataListItemRow,
7
+ DataListCell,
8
+ DataListAction,
9
+ DataListToggle,
10
+ DataListContent,
11
+ DataListItemCells,
12
+ Dropdown,
13
+ DropdownItem,
14
+ DropdownList,
15
+ MenuToggle,
16
+ MenuToggleElement,
17
+ Toolbar,
18
+ ToolbarGroup,
19
+ ToolbarItem,
20
+ ToolbarExpandIconWrapper,
21
+ ToolbarContent,
22
+ SearchInput,
23
+ Tooltip,
24
+ Icon,
25
+ PageSection,
26
+ PageSectionVariants,
27
+ Text,
28
+ TextContent
29
+ } from '@patternfly/react-core';
30
+
31
+ import { DashboardWrapper } from '@patternfly/react-core/src/demos/DashboardWrapper';
32
+
33
+ import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
34
+ import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
35
+ import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
36
+
37
+ export const DataListExpandableControlInToolbar: React.FunctionComponent = () => {
38
+ const [expanded, setExpanded] = React.useState(['ex-toggle1', 'ex-toggle3']);
39
+ const [isOpen1, setIsOpen1] = React.useState(false);
40
+ const [isOpen2, setIsOpen2] = React.useState(false);
41
+ const [isOpen3, setIsOpen3] = React.useState(false);
42
+ const [allExpanded, setAllExpanded] = React.useState(false);
43
+
44
+ const onToggleAll = () => {
45
+ setAllExpanded((prevAllExpanded) => !prevAllExpanded);
46
+
47
+ if (!allExpanded) {
48
+ setExpanded(['ex-toggle1', 'ex-toggle2', 'ex-toggle3']);
49
+ } else {
50
+ setExpanded([]);
51
+ }
52
+ };
53
+
54
+ const onToggle1 = () => {
55
+ setIsOpen1(!isOpen1);
56
+ };
57
+
58
+ const onToggle2 = () => {
59
+ setIsOpen2(!isOpen2);
60
+ };
61
+
62
+ const onToggle3 = () => {
63
+ setIsOpen3(!isOpen3);
64
+ };
65
+
66
+ const onSelect1 = () => {
67
+ setIsOpen1(false);
68
+ };
69
+
70
+ const onSelect2 = () => {
71
+ setIsOpen2(false);
72
+ };
73
+
74
+ const onSelect3 = () => {
75
+ setIsOpen3(false);
76
+ };
77
+
78
+ const renderToolbar = () => (
79
+ <React.Fragment>
80
+ <Toolbar>
81
+ <ToolbarContent>
82
+ <ToolbarGroup>
83
+ <ToolbarItem variant="expand-all" isAllExpanded={allExpanded}>
84
+ <Tooltip
85
+ position="right"
86
+ content={
87
+ <div>
88
+ {allExpanded && 'Collapse all rows'}
89
+ {!allExpanded && 'Expand all rows'}
90
+ </div>
91
+ }
92
+ >
93
+ <Button
94
+ onClick={onToggleAll}
95
+ variant="plain"
96
+ aria-label={allExpanded ? 'Collapse all rows' : 'Expand all rows'}
97
+ >
98
+ <Icon shouldMirrorRTL>
99
+ <ToolbarExpandIconWrapper>
100
+ <AngleRightIcon />
101
+ </ToolbarExpandIconWrapper>
102
+ </Icon>
103
+ </Button>
104
+ </Tooltip>
105
+ </ToolbarItem>
106
+ <ToolbarItem>
107
+ <SearchInput aria-label="search input example" />
108
+ </ToolbarItem>
109
+ <ToolbarItem>
110
+ <Button variant="secondary">Action</Button>
111
+ </ToolbarItem>
112
+ <ToolbarItem variant="separator" />
113
+ <ToolbarItem>
114
+ <Button variant="primary">Action</Button>
115
+ </ToolbarItem>
116
+ </ToolbarGroup>
117
+ </ToolbarContent>
118
+ </Toolbar>
119
+ </React.Fragment>
120
+ );
121
+
122
+ const toggle = (id: string) => {
123
+ const index = expanded.indexOf(id);
124
+ const newExpanded =
125
+ index >= 0 ? [...expanded.slice(0, index), ...expanded.slice(index + 1, expanded.length)] : [...expanded, id];
126
+ setExpanded(newExpanded);
127
+ if (newExpanded.length === 3) {
128
+ setAllExpanded(true);
129
+ } else if (newExpanded.length === 0) {
130
+ setAllExpanded(false);
131
+ }
132
+ };
133
+
134
+ return (
135
+ <React.Fragment>
136
+ <DashboardWrapper mainContainerId="main-content-datalist-view-default-nav" breadcrumb={null}>
137
+ <PageSection variant={PageSectionVariants.light}>
138
+ <TextContent>
139
+ <Text component="h1">Projects</Text>
140
+ <Text component="p">This is a demo that showcases PatternFly Data List</Text>
141
+ </TextContent>
142
+ </PageSection>
143
+ <PageSection isFilled>
144
+ {renderToolbar()}
145
+
146
+ <DataList aria-label="Expandable data list example">
147
+ <DataListItem aria-labelledby="ex-item1" isExpanded={expanded.includes('ex-toggle1')}>
148
+ <DataListItemRow>
149
+ <DataListToggle
150
+ onClick={() => toggle('ex-toggle1')}
151
+ isExpanded={expanded.includes('ex-toggle1')}
152
+ id="ex-toggle1"
153
+ aria-controls="ex-expand1"
154
+ />
155
+ <DataListItemCells
156
+ dataListCells={[
157
+ <DataListCell isIcon key="icon">
158
+ <CodeBranchIcon />
159
+ </DataListCell>,
160
+ <DataListCell key="primary content">
161
+ <div id="ex-item1">Primary content</div>
162
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </span>
163
+ <a href="#">Link</a>
164
+ </DataListCell>,
165
+ <DataListCell key="secondary content">
166
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
167
+ </DataListCell>,
168
+ <DataListCell key="secondary content 2">
169
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
170
+ </DataListCell>
171
+ ]}
172
+ />
173
+ <DataListAction
174
+ aria-labelledby="ex-item1 ex-action1"
175
+ id="ex-action1"
176
+ aria-label="Actions"
177
+ isPlainButtonAction
178
+ >
179
+ <Dropdown
180
+ isOpen={isOpen1}
181
+ onSelect={onSelect1}
182
+ popperProps={{ position: 'right' }}
183
+ onOpenChange={(isOpen: boolean) => setIsOpen1(isOpen)}
184
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
185
+ <MenuToggle
186
+ ref={toggleRef}
187
+ onClick={onToggle1}
188
+ isExpanded={isOpen1}
189
+ variant="plain"
190
+ aria-label="Primary content kebab toggle"
191
+ >
192
+ <EllipsisVIcon aria-hidden="true" />
193
+ </MenuToggle>
194
+ )}
195
+ >
196
+ <DropdownList>
197
+ <DropdownItem value={0} key="action1">
198
+ Action
199
+ </DropdownItem>
200
+ <DropdownItem
201
+ value={1}
202
+ key="link1"
203
+ to="#default-link2"
204
+ // Prevent the default onClick functionality for example purposes
205
+ onClick={(ev: React.MouseEvent) => ev.preventDefault()}
206
+ >
207
+ Link
208
+ </DropdownItem>
209
+ <DropdownItem value={2} isDisabled key="disabled action1">
210
+ Disabled Action
211
+ </DropdownItem>
212
+ <DropdownItem value={3} isDisabled key="disabled link1" to="#default-link4">
213
+ Disabled Link
214
+ </DropdownItem>
215
+ </DropdownList>
216
+ </Dropdown>
217
+ </DataListAction>
218
+ </DataListItemRow>
219
+ <DataListContent
220
+ aria-label="Primary Content Details"
221
+ id="ex-expand1"
222
+ isHidden={!expanded.includes('ex-toggle1')}
223
+ >
224
+ <p>
225
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
226
+ et dolore magna aliqua.
227
+ </p>
228
+ </DataListContent>
229
+ </DataListItem>
230
+ <DataListItem aria-labelledby="ex-item2" isExpanded={expanded.includes('ex-toggle2')}>
231
+ <DataListItemRow>
232
+ <DataListToggle
233
+ onClick={() => toggle('ex-toggle2')}
234
+ isExpanded={expanded.includes('ex-toggle2')}
235
+ id="ex-toggle2"
236
+ aria-controls="ex-expand2"
237
+ />
238
+ <DataListItemCells
239
+ dataListCells={[
240
+ <DataListCell isIcon key="icon">
241
+ <CodeBranchIcon />
242
+ </DataListCell>,
243
+ <DataListCell key="secondary content">
244
+ <div id="ex-item2">Secondary content</div>
245
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
246
+ </DataListCell>,
247
+ <DataListCell key="secondary content 2">
248
+ <span>Lorem ipsum dolor sit amet.</span>
249
+ </DataListCell>,
250
+ <DataListCell key="secondary content3">
251
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
252
+ </DataListCell>
253
+ ]}
254
+ />
255
+ <DataListAction
256
+ aria-labelledby="ex-item2 ex-action2"
257
+ id="ex-action2"
258
+ aria-label="Actions"
259
+ isPlainButtonAction
260
+ >
261
+ <Dropdown
262
+ isOpen={isOpen2}
263
+ onSelect={onSelect2}
264
+ popperProps={{ position: 'right' }}
265
+ onOpenChange={(isOpen: boolean) => setIsOpen2(isOpen)}
266
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
267
+ <MenuToggle
268
+ ref={toggleRef}
269
+ onClick={onToggle2}
270
+ isExpanded={isOpen2}
271
+ variant="plain"
272
+ aria-label="Secondary content kebab toggle"
273
+ >
274
+ <EllipsisVIcon aria-hidden="true" />
275
+ </MenuToggle>
276
+ )}
277
+ >
278
+ <DropdownList>
279
+ <DropdownItem value={0} key="action2">
280
+ Action
281
+ </DropdownItem>
282
+ <DropdownItem
283
+ value={1}
284
+ key="link2"
285
+ to="#default-link2"
286
+ // Prevent the default onClick functionality for example purposes
287
+ onClick={(ev: React.MouseEvent) => ev.preventDefault()}
288
+ >
289
+ Link
290
+ </DropdownItem>
291
+ <DropdownItem value={2} isDisabled key="disabled action2">
292
+ Disabled Action
293
+ </DropdownItem>
294
+ <DropdownItem value={3} isDisabled key="disabled link2" to="#default-link4">
295
+ Disabled Link
296
+ </DropdownItem>
297
+ </DropdownList>
298
+ </Dropdown>
299
+ </DataListAction>
300
+ </DataListItemRow>
301
+ <DataListContent
302
+ aria-label="Primary Content Details"
303
+ id="ex-expand2"
304
+ isHidden={!expanded.includes('ex-toggle2')}
305
+ >
306
+ <p>
307
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
308
+ et dolore magna aliqua.
309
+ </p>
310
+ </DataListContent>
311
+ </DataListItem>
312
+ <DataListItem aria-labelledby="ex-item3" isExpanded={expanded.includes('ex-toggle3')}>
313
+ <DataListItemRow>
314
+ <DataListToggle
315
+ onClick={() => toggle('ex-toggle3')}
316
+ isExpanded={expanded.includes('ex-toggle3')}
317
+ id="ex-toggle3"
318
+ aria-controls="ex-expand3"
319
+ />
320
+ <DataListItemCells
321
+ dataListCells={[
322
+ <DataListCell isIcon key="icon">
323
+ <CodeBranchIcon />
324
+ </DataListCell>,
325
+ <DataListCell key="tertiary content">
326
+ <div id="ex-item3">Tertiary content</div>
327
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
328
+ </DataListCell>,
329
+ <DataListCell key="secondary content">
330
+ <span>Lorem ipsum dolor sit amet.</span>
331
+ </DataListCell>,
332
+ <DataListCell key="secondary content 2">
333
+ <span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span>
334
+ </DataListCell>
335
+ ]}
336
+ />
337
+ <DataListAction
338
+ aria-labelledby="ex-item3 ex-action3"
339
+ id="ex-action3"
340
+ aria-label="Actions"
341
+ isPlainButtonAction
342
+ >
343
+ <Dropdown
344
+ isOpen={isOpen3}
345
+ onSelect={onSelect3}
346
+ popperProps={{ position: 'right' }}
347
+ onOpenChange={(isOpen: boolean) => setIsOpen3(isOpen)}
348
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
349
+ <MenuToggle
350
+ ref={toggleRef}
351
+ onClick={onToggle3}
352
+ isExpanded={isOpen3}
353
+ variant="plain"
354
+ aria-label="Tertiary content kebab toggle"
355
+ >
356
+ <EllipsisVIcon aria-hidden="true" />
357
+ </MenuToggle>
358
+ )}
359
+ >
360
+ <DropdownList>
361
+ <DropdownItem value={0} key="action3">
362
+ Action
363
+ </DropdownItem>
364
+ <DropdownItem
365
+ value={1}
366
+ key="link3"
367
+ to="#default-link2"
368
+ // Prevent the default onClick functionality for example purposes
369
+ onClick={(ev: React.MouseEvent) => ev.preventDefault()}
370
+ >
371
+ Link
372
+ </DropdownItem>
373
+ <DropdownItem value={2} isDisabled key="disabled action3">
374
+ Disabled Action
375
+ </DropdownItem>
376
+ <DropdownItem value={3} isDisabled key="disabled link3" to="#default-link4">
377
+ Disabled Link
378
+ </DropdownItem>
379
+ </DropdownList>
380
+ </Dropdown>
381
+ </DataListAction>
382
+ </DataListItemRow>
383
+ <DataListContent
384
+ aria-label="Primary Content Details"
385
+ id="ex-expand3"
386
+ isHidden={!expanded.includes('ex-toggle3')}
387
+ hasNoPadding
388
+ >
389
+ This expanded section has no padding.
390
+ </DataListContent>
391
+ </DataListItem>
392
+ </DataList>
393
+ </PageSection>
394
+ </DashboardWrapper>
395
+ </React.Fragment>
396
+ );
397
+ };