@patternfly/react-core 4.225.0 → 4.225.3

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 (168) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  3. package/dist/esm/components/Alert/Alert.js +2 -2
  4. package/dist/esm/components/Alert/Alert.js.map +1 -1
  5. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +3 -0
  6. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  7. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  8. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +3 -0
  9. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  10. package/dist/esm/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  11. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -0
  12. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  13. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  14. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts +1 -0
  15. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  16. package/dist/esm/components/DualListSelector/DualListSelectorList.js.map +1 -1
  17. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +3 -0
  18. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  19. package/dist/esm/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  20. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts +4 -0
  21. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  22. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  23. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts +3 -0
  24. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  25. package/dist/esm/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  26. package/dist/esm/components/Menu/MenuGroup.d.ts +3 -1
  27. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  28. package/dist/esm/components/Menu/MenuGroup.js +2 -2
  29. package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
  30. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.d.ts +4 -0
  31. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.d.ts.map +1 -1
  32. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.js.map +1 -1
  33. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +3 -0
  34. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  35. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  36. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +5 -0
  37. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  38. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  39. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +4 -0
  40. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  41. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  42. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  43. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  44. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  45. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  46. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  47. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  48. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  49. package/dist/esm/components/Page/PageHeader.d.ts +2 -0
  50. package/dist/esm/components/Page/PageHeader.d.ts.map +1 -1
  51. package/dist/esm/components/Page/PageHeader.js +2 -2
  52. package/dist/esm/components/Page/PageHeader.js.map +1 -1
  53. package/dist/esm/components/Page/PageSidebar.d.ts +2 -0
  54. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  55. package/dist/esm/components/Page/PageSidebar.js +3 -3
  56. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  57. package/dist/esm/components/Page/PageToggleButton.d.ts +2 -0
  58. package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
  59. package/dist/esm/components/Page/PageToggleButton.js +2 -2
  60. package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
  61. package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
  62. package/dist/esm/components/Tabs/TabContent.js +4 -2
  63. package/dist/esm/components/Tabs/TabContent.js.map +1 -1
  64. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  65. package/dist/js/components/Alert/Alert.js +2 -2
  66. package/dist/js/components/Alert/Alert.js.map +1 -1
  67. package/dist/js/components/DualListSelector/DualListSelector.d.ts +3 -0
  68. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  69. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  70. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +3 -0
  71. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  72. package/dist/js/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  73. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -0
  74. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  75. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  76. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts +1 -0
  77. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  78. package/dist/js/components/DualListSelector/DualListSelectorList.js.map +1 -1
  79. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +3 -0
  80. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  81. package/dist/js/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  82. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts +4 -0
  83. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  84. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  85. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts +3 -0
  86. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  87. package/dist/js/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  88. package/dist/js/components/Menu/MenuGroup.d.ts +3 -1
  89. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  90. package/dist/js/components/Menu/MenuGroup.js +2 -2
  91. package/dist/js/components/Menu/MenuGroup.js.map +1 -1
  92. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.d.ts +4 -0
  93. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.d.ts.map +1 -1
  94. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.js.map +1 -1
  95. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +3 -0
  96. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  97. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  98. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +5 -0
  99. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  100. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  101. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +4 -0
  102. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  103. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  104. package/dist/js/components/Nav/Nav.d.ts +1 -1
  105. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  106. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  107. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  108. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  109. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  110. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  111. package/dist/js/components/Page/PageHeader.d.ts +2 -0
  112. package/dist/js/components/Page/PageHeader.d.ts.map +1 -1
  113. package/dist/js/components/Page/PageHeader.js +2 -2
  114. package/dist/js/components/Page/PageHeader.js.map +1 -1
  115. package/dist/js/components/Page/PageSidebar.d.ts +2 -0
  116. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  117. package/dist/js/components/Page/PageSidebar.js +3 -3
  118. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  119. package/dist/js/components/Page/PageToggleButton.d.ts +2 -0
  120. package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
  121. package/dist/js/components/Page/PageToggleButton.js +2 -2
  122. package/dist/js/components/Page/PageToggleButton.js.map +1 -1
  123. package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
  124. package/dist/js/components/Tabs/TabContent.js +4 -2
  125. package/dist/js/components/Tabs/TabContent.js.map +1 -1
  126. package/dist/umd/react-core.js +20 -18
  127. package/dist/umd/react-core.min.js +2 -2
  128. package/package.json +5 -5
  129. package/src/components/Alert/Alert.tsx +0 -2
  130. package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +0 -35
  131. package/src/components/DualListSelector/DualListSelector.tsx +4 -0
  132. package/src/components/DualListSelector/DualListSelectorControl.tsx +4 -0
  133. package/src/components/DualListSelector/DualListSelectorControlsWrapper.tsx +2 -0
  134. package/src/components/DualListSelector/DualListSelectorList.tsx +2 -0
  135. package/src/components/DualListSelector/DualListSelectorListItem.tsx +4 -0
  136. package/src/components/DualListSelector/DualListSelectorPane.tsx +5 -0
  137. package/src/components/DualListSelector/DualListSelectorTree.tsx +4 -0
  138. package/src/components/DualListSelector/examples/DualListSelector.md +9 -7
  139. package/src/components/Masthead/examples/Masthead.md +3 -3
  140. package/src/components/Menu/MenuGroup.tsx +5 -2
  141. package/src/components/Menu/examples/Menu.md +25 -25
  142. package/src/components/Menu/examples/MenuDrilldown.tsx +9 -9
  143. package/src/components/Menu/examples/MenuDrilldownInitialState.tsx +15 -12
  144. package/src/components/Menu/examples/MenuDrilldownSubmenuFunctions.tsx +9 -9
  145. package/src/components/MultipleFileUpload/MultipleFileUpload.tsx +5 -0
  146. package/src/components/MultipleFileUpload/MultipleFileUploadMain.tsx +3 -0
  147. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +6 -0
  148. package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +5 -0
  149. package/src/components/MultipleFileUpload/examples/MultipleFileUpload.md +14 -6
  150. package/src/components/Nav/Nav.tsx +1 -1
  151. package/src/components/Nav/examples/Nav.md +57 -57
  152. package/src/components/Nav/examples/NavDrilldown.tsx +1 -1
  153. package/src/components/OptionsMenu/OptionsMenuItemGroup.tsx +2 -2
  154. package/src/components/OptionsMenu/OptionsMenuToggleWithText.tsx +29 -24
  155. package/src/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItemGroup.test.tsx.snap +2 -0
  156. package/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +5 -1
  157. package/src/components/OptionsMenu/examples/OptionsMenu.md +11 -11
  158. package/src/components/Page/PageHeader.tsx +4 -1
  159. package/src/components/Page/PageSidebar.tsx +5 -2
  160. package/src/components/Page/PageToggleButton.tsx +4 -1
  161. package/src/components/Page/examples/Page.md +23 -17
  162. package/src/components/Page/examples/page.css +3 -0
  163. package/src/components/Select/examples/Select.md +10 -10
  164. package/src/components/Tabs/TabContent.tsx +2 -1
  165. package/src/components/Tabs/examples/Tabs.md +139 -143
  166. package/src/components/Tabs/examples/TabsDynamic.tsx +1 -0
  167. package/src/components/ToggleGroup/examples/ToggleGroup.md +16 -16
  168. package/src/components/TreeView/examples/TreeView.md +165 -165
@@ -309,7 +309,7 @@ class MenuWithTitledGroups extends React.Component {
309
309
  </MenuList>
310
310
  </MenuGroup>
311
311
  <Divider />
312
- <MenuGroup label="Group 1">
312
+ <MenuGroup label="Group 1" labelHeadingLevel="h3">
313
313
  <MenuList>
314
314
  <MenuItem to="#" itemId={1}>
315
315
  Link 1
@@ -318,7 +318,7 @@ class MenuWithTitledGroups extends React.Component {
318
318
  </MenuList>
319
319
  </MenuGroup>
320
320
  <Divider />
321
- <MenuGroup label="Group 2">
321
+ <MenuGroup label="Group 2" labelHeadingLevel="h3">
322
322
  <MenuList>
323
323
  <MenuItem to="#" itemId={3}>
324
324
  Link 1
@@ -424,7 +424,7 @@ class MenuWithActions extends React.Component {
424
424
  activeItemId={activeItem}
425
425
  >
426
426
  <MenuContent>
427
- <MenuGroup label="Actions">
427
+ <MenuGroup label="Actions" labelHeadingLevel="h3">
428
428
  <MenuList>
429
429
  <MenuItem
430
430
  isSelected={selectedItems.indexOf(0) !== -1}
@@ -545,7 +545,7 @@ class MenuWithFavorites extends React.Component {
545
545
  <MenuContent>
546
546
  {favorites.length > 0 && (
547
547
  <React.Fragment>
548
- <MenuGroup label="Favorites">
548
+ <MenuGroup label="Favorites" labelHeadingLevel="h3">
549
549
  <MenuList>
550
550
  {items
551
551
  // map the items into the favorites group that have been favorited
@@ -569,7 +569,7 @@ class MenuWithFavorites extends React.Component {
569
569
  <Divider />
570
570
  </React.Fragment>
571
571
  )}
572
- <MenuGroup label="All actions">
572
+ <MenuGroup label="All actions" labelHeadingLevel="h3">
573
573
  <MenuList>
574
574
  {items.map(item => {
575
575
  const { text, description, itemId, action, actionId } = item;
@@ -733,7 +733,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
733
733
  menuDrilledIn: [],
734
734
  drilldownPath: [],
735
735
  menuHeights: {},
736
- activeMenu: 'rootMenu',
736
+ activeMenu: 'breadcrumbs-rootMenu',
737
737
  breadcrumb: undefined,
738
738
  withMaxMenuHeight: false
739
739
  };
@@ -793,7 +793,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
793
793
 
794
794
  this.startRolloutBreadcrumb = (
795
795
  <Breadcrumb>
796
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:start_rollout', null)}>
796
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:start_rollout', null)}>
797
797
  Root
798
798
  </BreadcrumbItem>
799
799
  <BreadcrumbHeading component="button">Start rollout</BreadcrumbHeading>
@@ -803,7 +803,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
803
803
  this.appGroupingBreadcrumb = isOpen => {
804
804
  return (
805
805
  <Breadcrumb>
806
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:start_rollout', null)}>
806
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:start_rollout', null)}>
807
807
  Root
808
808
  </BreadcrumbItem>
809
809
  <BreadcrumbItem isDropdown>
@@ -820,7 +820,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
820
820
  component="button"
821
821
  icon={<AngleLeftIcon />}
822
822
  onClick={() =>
823
- this.drillOut('drilldownMenuStart', 'group:app_grouping_start', this.startRolloutBreadcrumb)
823
+ this.drillOut('breadcrumbs-drilldownMenuStart', 'group:app_grouping_start', this.startRolloutBreadcrumb)
824
824
  }
825
825
  >
826
826
  Start rollout
@@ -835,7 +835,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
835
835
 
836
836
  this.labelsBreadcrumb = isOpen => (
837
837
  <Breadcrumb>
838
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:start_rollout', null)}>
838
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:start_rollout', null)}>
839
839
  Root
840
840
  </BreadcrumbItem>
841
841
  <BreadcrumbItem isDropdown>
@@ -851,7 +851,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
851
851
  key="dropdown-start"
852
852
  component="button"
853
853
  icon={<AngleLeftIcon />}
854
- onClick={() => this.drillOut('drilldownMenuStart', 'group:labels_start', this.startRolloutBreadcrumb)}
854
+ onClick={() => this.drillOut('breadcrumbs-drilldownMenuStart', 'group:labels_start', this.startRolloutBreadcrumb)}
855
855
  >
856
856
  Start rollout
857
857
  </DropdownItem>
@@ -864,7 +864,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
864
864
 
865
865
  this.pauseRolloutsBreadcrumb = (
866
866
  <Breadcrumb>
867
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:pause_rollout', null)}>
867
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:pause_rollout', null)}>
868
868
  Root
869
869
  </BreadcrumbItem>
870
870
  <BreadcrumbHeading component="button">Pause rollouts</BreadcrumbHeading>
@@ -873,12 +873,12 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
873
873
 
874
874
  this.pauseRolloutsAppGrpBreadcrumb = (
875
875
  <Breadcrumb>
876
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:pause_rollout', null)}>
876
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:pause_rollout', null)}>
877
877
  Root
878
878
  </BreadcrumbItem>
879
879
  <BreadcrumbItem
880
880
  component="button"
881
- onClick={() => this.drillOut('drilldownMenuPause', 'group:app_grouping', this.pauseRolloutsBreadcrumb)}
881
+ onClick={() => this.drillOut('breadcrumbs-drilldownMenuPause', 'group:app_grouping', this.pauseRolloutsBreadcrumb)}
882
882
  >
883
883
  Pause rollouts
884
884
  </BreadcrumbItem>
@@ -888,12 +888,12 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
888
888
 
889
889
  this.pauseRolloutsLabelsBreadcrumb = (
890
890
  <Breadcrumb>
891
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:pause_rollout', null)}>
891
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:pause_rollout', null)}>
892
892
  Root
893
893
  </BreadcrumbItem>
894
894
  <BreadcrumbItem
895
895
  component="button"
896
- onClick={() => this.drillOut('drilldownMenuPause', 'group:labels', this.pauseRolloutsBreadcrumb)}
896
+ onClick={() => this.drillOut('breadcrumbs-drilldownMenuPause', 'group:labels', this.pauseRolloutsBreadcrumb)}
897
897
  >
898
898
  Pause rollouts
899
899
  </BreadcrumbItem>
@@ -903,7 +903,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
903
903
 
904
904
  this.addStorageBreadcrumb = (
905
905
  <Breadcrumb>
906
- <BreadcrumbItem component="button" onClick={() => this.drillOut('rootMenu', 'group:storage', null)}>
906
+ <BreadcrumbItem component="button" onClick={() => this.drillOut('breadcrumbs-rootMenu', 'group:storage', null)}>
907
907
  Root
908
908
  </BreadcrumbItem>
909
909
  <BreadcrumbHeading component="button">Add storage</BreadcrumbHeading>
@@ -926,7 +926,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
926
926
  />
927
927
  <br />
928
928
  <Menu
929
- id="rootMenu"
929
+ id="breadcrumbs-rootMenu"
930
930
  containsDrilldown
931
931
  drilldownItemPath={drilldownPath}
932
932
  drilledInMenus={menuDrilledIn}
@@ -948,14 +948,14 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
948
948
  direction="down"
949
949
  onClick={() => this.setState({ breadcrumb: this.startRolloutBreadcrumb })}
950
950
  drilldownMenu={
951
- <DrilldownMenu id="drilldownMenuStart">
951
+ <DrilldownMenu id="breadcrumbs-drilldownMenuStart">
952
952
  <MenuItem
953
953
  itemId="group:app_grouping_start"
954
954
  description="Groups A-G"
955
955
  direction="down"
956
956
  onClick={() => this.setState({ breadcrumb: this.appGroupingBreadcrumb(false) })}
957
957
  drilldownMenu={
958
- <DrilldownMenu id="drilldownMenuStartGrouping">
958
+ <DrilldownMenu id="breadcrumbs-drilldownMenuStartGrouping">
959
959
  <MenuItem itemId="group_a">Group A</MenuItem>
960
960
  <MenuItem itemId="group_b">Group B</MenuItem>
961
961
  <MenuItem itemId="group_c">Group C</MenuItem>
@@ -974,7 +974,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
974
974
  direction="down"
975
975
  onClick={() => this.setState({ breadcrumb: this.labelsBreadcrumb(false) })}
976
976
  drilldownMenu={
977
- <DrilldownMenu id="drilldownMenuStartLabels">
977
+ <DrilldownMenu id="breadcrumbs-drilldownMenuStartLabels">
978
978
  <MenuItem itemId="label_1">Label 1</MenuItem>
979
979
  <MenuItem itemId="label_2">Label 2</MenuItem>
980
980
  <MenuItem itemId="label_3">Label 3</MenuItem>
@@ -994,14 +994,14 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
994
994
  direction="down"
995
995
  onClick={() => this.setState({ breadcrumb: this.pauseRolloutsBreadcrumb })}
996
996
  drilldownMenu={
997
- <DrilldownMenu id="drilldownMenuPause">
997
+ <DrilldownMenu id="breadcrumbs-drilldownMenuPause">
998
998
  <MenuItem
999
999
  itemId="group:app_grouping"
1000
1000
  description="Groups A-C"
1001
1001
  direction="down"
1002
1002
  onClick={() => this.setState({ breadcrumb: this.pauseRolloutsAppGrpBreadcrumb })}
1003
1003
  drilldownMenu={
1004
- <DrilldownMenu id="drilldownMenuGrouping">
1004
+ <DrilldownMenu id="breadcrumbs-drilldownMenuGrouping">
1005
1005
  <MenuItem itemId="group_a">Group A</MenuItem>
1006
1006
  <MenuItem itemId="group_b">Group B</MenuItem>
1007
1007
  <MenuItem itemId="group_c">Group C</MenuItem>
@@ -1016,7 +1016,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
1016
1016
  direction="down"
1017
1017
  onClick={() => this.setState({ breadcrumb: this.pauseRolloutsLabelsBreadcrumb })}
1018
1018
  drilldownMenu={
1019
- <DrilldownMenu id="drilldownMenuLabels">
1019
+ <DrilldownMenu id="breadcrumbs-drilldownMenuLabels">
1020
1020
  <MenuItem itemId="label_1">Label 1</MenuItem>
1021
1021
  <MenuItem itemId="label_2">Label 2</MenuItem>
1022
1022
  <MenuItem itemId="label_3">Label 3</MenuItem>
@@ -1037,7 +1037,7 @@ class MenuWithDrilldownBreadcrumbs extends React.Component {
1037
1037
  direction="down"
1038
1038
  onClick={() => this.setState({ breadcrumb: this.addStorageBreadcrumb })}
1039
1039
  drilldownMenu={
1040
- <DrilldownMenu id="drilldownMenuStorage">
1040
+ <DrilldownMenu id="breadcrumbs-drilldownMenuStorage">
1041
1041
  <MenuItem icon={<CodeBranchIcon aria-hidden />} itemId="git">
1042
1042
  From git
1043
1043
  </MenuItem>
@@ -9,7 +9,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
9
9
  const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([]);
10
10
  const [drilldownPath, setDrilldownPath] = React.useState<string[]>([]);
11
11
  const [menuHeights, setMenuHeights] = React.useState<any>({});
12
- const [activeMenu, setActiveMenu] = React.useState<string>('rootMenu');
12
+ const [activeMenu, setActiveMenu] = React.useState<string>('drilldown-rootMenu');
13
13
 
14
14
  const drillIn = (fromMenuId: string, toMenuId: string, pathId: string) => {
15
15
  setMenuDrilledIn([...menuDrilledIn, fromMenuId]);
@@ -33,7 +33,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
33
33
 
34
34
  return (
35
35
  <Menu
36
- id="rootMenu"
36
+ id="drilldown-rootMenu"
37
37
  containsDrilldown
38
38
  drilldownItemPath={drilldownPath}
39
39
  drilledInMenus={menuDrilledIn}
@@ -48,7 +48,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
48
48
  itemId="group:start_rollout"
49
49
  direction="down"
50
50
  drilldownMenu={
51
- <DrilldownMenu id="drilldownMenuStart">
51
+ <DrilldownMenu id="drilldown-drilldownMenuStart">
52
52
  <MenuItem itemId="group:start_rollout_breadcrumb" direction="up">
53
53
  Start rollout
54
54
  </MenuItem>
@@ -58,7 +58,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
58
58
  description="Groups A-C"
59
59
  direction="down"
60
60
  drilldownMenu={
61
- <DrilldownMenu id="drilldownMenuStartGrouping">
61
+ <DrilldownMenu id="drilldown-drilldownMenuStartGrouping">
62
62
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
63
63
  Application grouping
64
64
  </MenuItem>
@@ -76,7 +76,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
76
76
  itemId="group:labels"
77
77
  direction="down"
78
78
  drilldownMenu={
79
- <DrilldownMenu id="drilldownMenuStartLabels">
79
+ <DrilldownMenu id="drilldown-drilldownMenuStartLabels">
80
80
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
81
81
  Labels
82
82
  </MenuItem>
@@ -99,7 +99,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
99
99
  itemId="group:pause_rollout"
100
100
  direction="down"
101
101
  drilldownMenu={
102
- <DrilldownMenu id="drilldownMenuPause">
102
+ <DrilldownMenu id="drilldown-drilldownMenuPause">
103
103
  <MenuItem itemId="group:pause_rollout_breadcrumb" direction="up">
104
104
  Pause rollouts
105
105
  </MenuItem>
@@ -109,7 +109,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
109
109
  description="Groups A-C"
110
110
  direction="down"
111
111
  drilldownMenu={
112
- <DrilldownMenu id="drilldownMenuGrouping">
112
+ <DrilldownMenu id="drilldown-drilldownMenuGrouping">
113
113
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
114
114
  Application grouping
115
115
  </MenuItem>
@@ -127,7 +127,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
127
127
  itemId="group:labels"
128
128
  direction="down"
129
129
  drilldownMenu={
130
- <DrilldownMenu id="drilldownMenuLabels">
130
+ <DrilldownMenu id="drilldown-drilldownMenuLabels">
131
131
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
132
132
  Labels
133
133
  </MenuItem>
@@ -151,7 +151,7 @@ export const MenuDrilldown: React.FunctionComponent = () => {
151
151
  icon={<StorageDomainIcon aria-hidden />}
152
152
  direction="down"
153
153
  drilldownMenu={
154
- <DrilldownMenu id="drilldownMenuStorage">
154
+ <DrilldownMenu id="drilldown-drilldownMenuStorage">
155
155
  <MenuItem itemId="group:storage_breadcrumb" icon={<StorageDomainIcon aria-hidden />} direction="up">
156
156
  Add storage
157
157
  </MenuItem>
@@ -6,10 +6,13 @@ import LayerGroupIcon from '@patternfly/react-icons/dist/esm/icons/layer-group-i
6
6
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
7
7
 
8
8
  export const MenuDrilldownInitialState: React.FunctionComponent = () => {
9
- const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>(['rootMenu', 'drilldownMenuStart']);
9
+ const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([
10
+ 'initial-state-rootMenu',
11
+ 'initial-state-drilldownMenuStart'
12
+ ]);
10
13
  const [drilldownPath, setDrilldownPath] = React.useState<string[]>(['group:start_rollout', 'group:app_grouping']);
11
- const [menuHeights, setMenuHeights] = React.useState<any>({ rootMenu: 216 }); // The root menu height must be defined when starting from a drilled in state
12
- const [activeMenu, setActiveMenu] = React.useState<string>('drilldownMenuStartGrouping');
14
+ const [menuHeights, setMenuHeights] = React.useState<any>({ 'initial-state-rootMenu': 216 }); // The root menu height must be defined when starting from a drilled in state
15
+ const [activeMenu, setActiveMenu] = React.useState<string>('initial-state-drilldownMenuStartGrouping');
13
16
 
14
17
  const drillIn = (fromMenuId: string, toMenuId: string, pathId: string) => {
15
18
  setMenuDrilledIn([...menuDrilledIn, fromMenuId]);
@@ -26,14 +29,14 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
26
29
  };
27
30
 
28
31
  const setHeight = (menuId: string, height: number) => {
29
- if (menuHeights[menuId] === undefined || (menuId !== 'rootMenu' && menuHeights[menuId] !== height)) {
32
+ if (menuHeights[menuId] === undefined || (menuId !== 'initial-state-rootMenu' && menuHeights[menuId] !== height)) {
30
33
  setMenuHeights({ ...menuHeights, [menuId]: height });
31
34
  }
32
35
  };
33
36
 
34
37
  return (
35
38
  <Menu
36
- id="rootMenu"
39
+ id="initial-state-rootMenu"
37
40
  containsDrilldown
38
41
  drilldownItemPath={drilldownPath}
39
42
  drilledInMenus={menuDrilledIn}
@@ -48,7 +51,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
48
51
  itemId="group:start_rollout"
49
52
  direction="down"
50
53
  drilldownMenu={
51
- <DrilldownMenu id="drilldownMenuStart">
54
+ <DrilldownMenu id="initial-state-drilldownMenuStart">
52
55
  <MenuItem itemId="group:start_rollout_breadcrumb" direction="up">
53
56
  Start rollout
54
57
  </MenuItem>
@@ -58,7 +61,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
58
61
  description="Groups A-C"
59
62
  direction="down"
60
63
  drilldownMenu={
61
- <DrilldownMenu id="drilldownMenuStartGrouping">
64
+ <DrilldownMenu id="initial-state-drilldownMenuStartGrouping">
62
65
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
63
66
  Application grouping
64
67
  </MenuItem>
@@ -76,7 +79,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
76
79
  itemId="group:labels"
77
80
  direction="down"
78
81
  drilldownMenu={
79
- <DrilldownMenu id="drilldownMenuStartLabels">
82
+ <DrilldownMenu id="initial-state-drilldownMenuStartLabels">
80
83
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
81
84
  Labels
82
85
  </MenuItem>
@@ -99,7 +102,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
99
102
  itemId="group:pause_rollout"
100
103
  direction="down"
101
104
  drilldownMenu={
102
- <DrilldownMenu id="drilldownMenuPause">
105
+ <DrilldownMenu id="initial-state-drilldownMenuPause">
103
106
  <MenuItem itemId="group:pause_rollout_breadcrumb" direction="up">
104
107
  Pause rollouts
105
108
  </MenuItem>
@@ -109,7 +112,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
109
112
  description="Groups A-C"
110
113
  direction="down"
111
114
  drilldownMenu={
112
- <DrilldownMenu id="drilldownMenuGrouping">
115
+ <DrilldownMenu id="initial-state-drilldownMenuGrouping">
113
116
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
114
117
  Application grouping
115
118
  </MenuItem>
@@ -127,7 +130,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
127
130
  itemId="group:labels"
128
131
  direction="down"
129
132
  drilldownMenu={
130
- <DrilldownMenu id="drilldownMenuLabels">
133
+ <DrilldownMenu id="initial-state-drilldownMenuLabels">
131
134
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
132
135
  Labels
133
136
  </MenuItem>
@@ -151,7 +154,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
151
154
  icon={<StorageDomainIcon aria-hidden />}
152
155
  direction="down"
153
156
  drilldownMenu={
154
- <DrilldownMenu id="drilldownMenuStorage">
157
+ <DrilldownMenu id="initial-state-drilldownMenuStorage">
155
158
  <MenuItem itemId="group:storage_breadcrumb" icon={<StorageDomainIcon aria-hidden />} direction="up">
156
159
  Add storage
157
160
  </MenuItem>
@@ -9,7 +9,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
9
9
  const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([]);
10
10
  const [drilldownPath, setDrilldownPath] = React.useState<string[]>([]);
11
11
  const [menuHeights, setMenuHeights] = React.useState<any>({});
12
- const [activeMenu, setActiveMenu] = React.useState<string>('rootMenu');
12
+ const [activeMenu, setActiveMenu] = React.useState<string>('functions-rootMenu');
13
13
 
14
14
  const drillIn = (fromMenuId: string, toMenuId: string, pathId: string) => {
15
15
  setMenuDrilledIn([...menuDrilledIn, fromMenuId]);
@@ -33,7 +33,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
33
33
 
34
34
  return (
35
35
  <Menu
36
- id="rootMenu"
36
+ id="functions-rootMenu"
37
37
  containsDrilldown
38
38
  drilldownItemPath={drilldownPath}
39
39
  drilledInMenus={menuDrilledIn}
@@ -48,7 +48,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
48
48
  itemId="group:start_rollout"
49
49
  direction="down"
50
50
  drilldownMenu={() => (
51
- <DrilldownMenu id="drilldownMenuStart">
51
+ <DrilldownMenu id="functions-drilldownMenuStart">
52
52
  <MenuItem itemId="group:start_rollout_breadcrumb" direction="up">
53
53
  Start rollout
54
54
  </MenuItem>
@@ -58,7 +58,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
58
58
  description="Groups A-C"
59
59
  direction="down"
60
60
  drilldownMenu={() => (
61
- <DrilldownMenu id="drilldownMenuStartGrouping">
61
+ <DrilldownMenu id="functions-drilldownMenuStartGrouping">
62
62
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
63
63
  Application grouping
64
64
  </MenuItem>
@@ -76,7 +76,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
76
76
  itemId="group:labels"
77
77
  direction="down"
78
78
  drilldownMenu={() => (
79
- <DrilldownMenu id="drilldownMenuStartLabels">
79
+ <DrilldownMenu id="functions-drilldownMenuStartLabels">
80
80
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
81
81
  Labels
82
82
  </MenuItem>
@@ -99,7 +99,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
99
99
  itemId="group:pause_rollout"
100
100
  direction="down"
101
101
  drilldownMenu={() => (
102
- <DrilldownMenu id="drilldownMenuPause">
102
+ <DrilldownMenu id="functions-drilldownMenuPause">
103
103
  <MenuItem itemId="group:pause_rollout_breadcrumb" direction="up">
104
104
  Pause rollouts
105
105
  </MenuItem>
@@ -109,7 +109,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
109
109
  description="Groups A-C"
110
110
  direction="down"
111
111
  drilldownMenu={() => (
112
- <DrilldownMenu id="drilldownMenuGrouping">
112
+ <DrilldownMenu id="functions-drilldownMenuGrouping">
113
113
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
114
114
  Application grouping
115
115
  </MenuItem>
@@ -127,7 +127,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
127
127
  itemId="group:labels"
128
128
  direction="down"
129
129
  drilldownMenu={() => (
130
- <DrilldownMenu id="drilldownMenuLabels">
130
+ <DrilldownMenu id="functions-drilldownMenuLabels">
131
131
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
132
132
  Labels
133
133
  </MenuItem>
@@ -151,7 +151,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
151
151
  icon={<StorageDomainIcon aria-hidden />}
152
152
  direction="down"
153
153
  drilldownMenu={() => (
154
- <DrilldownMenu id="drilldownMenuStorage">
154
+ <DrilldownMenu id="functions-drilldownMenuStorage">
155
155
  <MenuItem itemId="group:storage_breadcrumb" icon={<StorageDomainIcon aria-hidden />} direction="up">
156
156
  Add storage
157
157
  </MenuItem>
@@ -3,6 +3,11 @@ import Dropzone, { DropzoneProps, DropFileEventHandler } from 'react-dropzone';
3
3
  import styles from '@patternfly/react-styles/css/components/MultipleFileUpload/multiple-file-upload';
4
4
  import { css } from '@patternfly/react-styles';
5
5
 
6
+ /** Acts as a container for all other MultipleFileUpload sub-components. This sub-component
7
+ * also provides the functionality for file uploads, and access to the uploaded files via
8
+ * a callback.
9
+ */
10
+
6
11
  export interface MultipleFileUploadProps extends Omit<React.HTMLProps<HTMLDivElement>, 'value'> {
7
12
  /** Content rendered inside the multi upload field */
8
13
  children?: React.ReactNode;
@@ -5,6 +5,9 @@ import { MultipleFileUploadTitle } from './MultipleFileUploadTitle';
5
5
  import { MultipleFileUploadButton } from './MultipleFileUploadButton';
6
6
  import { MultipleFileUploadInfo } from './MultipleFileUploadInfo';
7
7
 
8
+ /** Creates the visual upload interface, including the area to drag and drop files,
9
+ * an optional upload button, and descriptive instructions.
10
+ */
8
11
  export interface MultipleFileUploadMainProps extends React.HTMLProps<HTMLDivElement> {
9
12
  /** Class to add to outer div */
10
13
  className?: string;
@@ -6,6 +6,12 @@ import InProgressIcon from '@patternfly/react-icons/dist/esm/icons/in-progress-i
6
6
  import CheckCircleIcon from '@patternfly/react-icons/dist/esm/icons/check-circle-icon';
7
7
  import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
8
8
 
9
+ /** Acts as an expandable container for all uploaded file statuses.
10
+ * An optional text and/or icon can also be passed into this sub-component.
11
+ * This sub-component can be conditionally rendered when at least 1 file has been
12
+ * attempted to be uploaded.
13
+ */
14
+
9
15
  export interface MultipleFileUploadStatusProps extends React.HTMLProps<HTMLDivElement> {
10
16
  /** Content rendered inside multi file upload status list */
11
17
  children?: React.ReactNode;
@@ -6,6 +6,11 @@ import { Button } from '../Button';
6
6
  import FileIcon from '@patternfly/react-icons/dist/esm/icons/file-icon';
7
7
  import TimesCircleIcon from '@patternfly/react-icons/dist/esm/icons/times-circle-icon';
8
8
 
9
+ /** Automatically reads an uploaded file to render a visual representation of it, including
10
+ * its name, size, and read status. This sub-component also allows custom reading of files
11
+ * via various callbacks which will override the automatic reading behavior.
12
+ */
13
+
9
14
  export interface MultipleFileUploadStatusItemProps extends React.HTMLProps<HTMLLIElement> {
10
15
  /** Class to add to outer div */
11
16
  className?: string;
@@ -3,12 +3,7 @@ id: File upload - multiple
3
3
  section: components
4
4
  cssPrefix: pf-c-multiple-file-upload
5
5
  propComponents:
6
- [
7
- 'MultipleFileUpload',
8
- 'MultipleFileUploadMain',
9
- 'MultipleFileUploadStatus',
10
- 'MultipleFileUploadStatusItem',
11
- ]
6
+ ['MultipleFileUpload', 'MultipleFileUploadMain', 'MultipleFileUploadStatus', 'MultipleFileUploadStatusItem']
12
7
  beta: true
13
8
  ---
14
9
 
@@ -31,6 +26,19 @@ As with singular file upload, any [props accepted by react-dropzone's Dropzone c
31
26
 
32
27
  Restricting file sizes and types in this way is for user convenience only, and it cannot prevent a malicious user from submitting anything to your server. As with any user input, your application should also validate, sanitize and/or reject restricted files on the server side.
33
28
 
29
+ ## Composable structure
30
+
31
+ File upload - multiple is designed in a composable manner to make customization easier. The standard sub-component relationships are arranged as follows:
32
+
33
+ ```noLive
34
+ <MultipleFileUpload>
35
+ <MultipleFileUploadMain />
36
+ <MultipleFileUploadStatus>
37
+ <MultipleFileUploadStatusItem />
38
+ </MultipleFileUploadStatus>
39
+ </MultipleFileUpload>
40
+ ```
41
+
34
42
  ## Examples
35
43
 
36
44
  ### Basic
@@ -30,7 +30,7 @@ export interface NavProps
30
30
  isExpanded: boolean;
31
31
  event: React.MouseEvent<HTMLButtonElement>;
32
32
  }) => void;
33
- /** Accessibility label */
33
+ /** Accessible label for the nav when there are multiple navs on the page */
34
34
  'aria-label'?: string;
35
35
  /** Indicates which theme color to use */
36
36
  theme?: 'dark' | 'light';