@patternfly/react-core 4.243.1 → 4.244.1
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.
- package/CHANGELOG.md +24 -0
- package/dist/esm/components/Alert/Alert.d.ts +41 -34
- package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.d.ts +8 -5
- package/dist/esm/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/esm/components/Alert/AlertActionLink.d.ts +5 -2
- package/dist/esm/components/Alert/AlertActionLink.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertActionLink.js.map +1 -1
- package/dist/esm/components/Alert/AlertIcon.d.ts +4 -4
- package/dist/esm/components/Alert/AlertIcon.d.ts.map +1 -1
- package/dist/esm/components/Alert/AlertToggleExpandButton.d.ts +5 -5
- package/dist/esm/components/Alert/AlertToggleExpandButton.d.ts.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts +34 -28
- package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/esm/components/CalendarMonth/CalendarMonth.js +1 -0
- package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.d.ts +43 -36
- package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +4 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +34 -24
- package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +10 -5
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUpload.d.ts +53 -47
- package/dist/esm/components/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/esm/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadField.d.ts +51 -46
- package/dist/esm/components/FileUpload/FileUploadField.d.ts.map +1 -1
- package/dist/esm/components/FileUpload/FileUploadField.js.map +1 -1
- package/dist/esm/components/Modal/Modal.d.ts +57 -48
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js.map +1 -1
- package/dist/esm/components/Modal/ModalBox.d.ts +12 -12
- package/dist/esm/components/Modal/ModalBox.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxBody.d.ts +2 -2
- package/dist/esm/components/Modal/ModalBoxBody.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts +2 -2
- package/dist/esm/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxDescription.d.ts +3 -3
- package/dist/esm/components/Modal/ModalBoxDescription.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxFooter.d.ts +2 -2
- package/dist/esm/components/Modal/ModalBoxFooter.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxHeader.d.ts +3 -3
- package/dist/esm/components/Modal/ModalBoxHeader.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxTitle.d.ts +8 -9
- package/dist/esm/components/Modal/ModalBoxTitle.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalBoxTitle.js.map +1 -1
- package/dist/esm/components/Modal/ModalContent.d.ts +56 -48
- package/dist/esm/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/esm/components/Modal/ModalContent.js.map +1 -1
- package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts +17 -13
- package/dist/esm/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
- package/dist/esm/components/NotificationBadge/NotificationBadge.js +3 -3
- package/dist/esm/components/NotificationBadge/NotificationBadge.js.map +1 -1
- package/dist/esm/components/Pagination/Navigation.d.ts +33 -33
- package/dist/esm/components/Pagination/Navigation.d.ts.map +1 -1
- package/dist/esm/components/Pagination/OptionsToggle.d.ts +27 -26
- package/dist/esm/components/Pagination/OptionsToggle.d.ts.map +1 -1
- package/dist/esm/components/Pagination/OptionsToggle.js.map +1 -1
- package/dist/esm/components/Pagination/Pagination.d.ts +76 -65
- package/dist/esm/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/esm/components/Pagination/Pagination.js +1 -1
- package/dist/esm/components/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/Pagination/PaginationOptionsMenu.d.ts +22 -18
- package/dist/esm/components/Pagination/PaginationOptionsMenu.d.ts.map +1 -1
- package/dist/esm/components/Pagination/PaginationOptionsMenu.js.map +1 -1
- package/dist/esm/components/Pagination/ToggleTemplate.d.ts +3 -0
- package/dist/esm/components/Pagination/ToggleTemplate.d.ts.map +1 -1
- package/dist/esm/components/Pagination/ToggleTemplate.js.map +1 -1
- package/dist/esm/components/Popover/Popover.d.ts +88 -73
- package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts +27 -26
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.d.ts +71 -60
- package/dist/esm/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +4 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectToggle.d.ts +2 -0
- package/dist/esm/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectToggle.js +3 -5
- package/dist/esm/components/Select/SelectToggle.js.map +1 -1
- package/dist/esm/components/Slider/Slider.d.ts +45 -39
- package/dist/esm/components/Slider/Slider.d.ts.map +1 -1
- package/dist/esm/components/Slider/Slider.js.map +1 -1
- package/dist/esm/components/Slider/SliderStep.d.ts +10 -10
- package/dist/esm/components/Slider/SliderStep.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeView.d.ts +65 -53
- package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeView.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewList.d.ts +4 -4
- package/dist/esm/components/TreeView/TreeViewList.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts +46 -39
- package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/esm/components/TreeView/TreeViewRoot.d.ts +4 -4
- package/dist/esm/components/TreeView/TreeViewRoot.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewSearch.d.ts +11 -8
- package/dist/esm/components/TreeView/TreeViewSearch.d.ts.map +1 -1
- package/dist/esm/components/TreeView/TreeViewSearch.js.map +1 -1
- package/dist/esm/helpers/Popper/Popper.js +8 -8
- package/dist/esm/helpers/Popper/Popper.js.map +1 -1
- package/dist/js/components/Alert/Alert.d.ts +41 -34
- package/dist/js/components/Alert/Alert.d.ts.map +1 -1
- package/dist/js/components/Alert/Alert.js.map +1 -1
- package/dist/js/components/Alert/AlertActionCloseButton.d.ts +8 -5
- package/dist/js/components/Alert/AlertActionCloseButton.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertActionCloseButton.js.map +1 -1
- package/dist/js/components/Alert/AlertActionLink.d.ts +5 -2
- package/dist/js/components/Alert/AlertActionLink.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertActionLink.js.map +1 -1
- package/dist/js/components/Alert/AlertIcon.d.ts +4 -4
- package/dist/js/components/Alert/AlertIcon.d.ts.map +1 -1
- package/dist/js/components/Alert/AlertToggleExpandButton.d.ts +5 -5
- package/dist/js/components/Alert/AlertToggleExpandButton.d.ts.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.d.ts +34 -28
- package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
- package/dist/js/components/CalendarMonth/CalendarMonth.js +1 -0
- package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.d.ts +43 -36
- package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.js +4 -0
- package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +34 -24
- package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +10 -5
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
- package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
- package/dist/js/components/FileUpload/FileUpload.d.ts +53 -47
- package/dist/js/components/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/js/components/FileUpload/FileUpload.js.map +1 -1
- package/dist/js/components/FileUpload/FileUploadField.d.ts +51 -46
- package/dist/js/components/FileUpload/FileUploadField.d.ts.map +1 -1
- package/dist/js/components/FileUpload/FileUploadField.js.map +1 -1
- package/dist/js/components/Modal/Modal.d.ts +57 -48
- package/dist/js/components/Modal/Modal.d.ts.map +1 -1
- package/dist/js/components/Modal/Modal.js.map +1 -1
- package/dist/js/components/Modal/ModalBox.d.ts +12 -12
- package/dist/js/components/Modal/ModalBox.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxBody.d.ts +2 -2
- package/dist/js/components/Modal/ModalBoxBody.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxCloseButton.d.ts +2 -2
- package/dist/js/components/Modal/ModalBoxCloseButton.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxDescription.d.ts +3 -3
- package/dist/js/components/Modal/ModalBoxDescription.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxFooter.d.ts +2 -2
- package/dist/js/components/Modal/ModalBoxFooter.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxHeader.d.ts +3 -3
- package/dist/js/components/Modal/ModalBoxHeader.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxTitle.d.ts +8 -9
- package/dist/js/components/Modal/ModalBoxTitle.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalBoxTitle.js.map +1 -1
- package/dist/js/components/Modal/ModalContent.d.ts +56 -48
- package/dist/js/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/js/components/Modal/ModalContent.js.map +1 -1
- package/dist/js/components/NotificationBadge/NotificationBadge.d.ts +17 -13
- package/dist/js/components/NotificationBadge/NotificationBadge.d.ts.map +1 -1
- package/dist/js/components/NotificationBadge/NotificationBadge.js +3 -3
- package/dist/js/components/NotificationBadge/NotificationBadge.js.map +1 -1
- package/dist/js/components/Pagination/Navigation.d.ts +33 -33
- package/dist/js/components/Pagination/Navigation.d.ts.map +1 -1
- package/dist/js/components/Pagination/OptionsToggle.d.ts +27 -26
- package/dist/js/components/Pagination/OptionsToggle.d.ts.map +1 -1
- package/dist/js/components/Pagination/OptionsToggle.js.map +1 -1
- package/dist/js/components/Pagination/Pagination.d.ts +76 -65
- package/dist/js/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/js/components/Pagination/Pagination.js +1 -1
- package/dist/js/components/Pagination/Pagination.js.map +1 -1
- package/dist/js/components/Pagination/PaginationOptionsMenu.d.ts +22 -18
- package/dist/js/components/Pagination/PaginationOptionsMenu.d.ts.map +1 -1
- package/dist/js/components/Pagination/PaginationOptionsMenu.js.map +1 -1
- package/dist/js/components/Pagination/ToggleTemplate.d.ts +3 -0
- package/dist/js/components/Pagination/ToggleTemplate.d.ts.map +1 -1
- package/dist/js/components/Pagination/ToggleTemplate.js.map +1 -1
- package/dist/js/components/Popover/Popover.d.ts +88 -73
- package/dist/js/components/Popover/Popover.d.ts.map +1 -1
- package/dist/js/components/Popover/Popover.js.map +1 -1
- package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts +27 -26
- package/dist/js/components/SearchInput/AdvancedSearchMenu.d.ts.map +1 -1
- package/dist/js/components/SearchInput/AdvancedSearchMenu.js.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.d.ts +71 -60
- package/dist/js/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/js/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +2 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +4 -3
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectToggle.d.ts +2 -0
- package/dist/js/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/js/components/Select/SelectToggle.js +3 -5
- package/dist/js/components/Select/SelectToggle.js.map +1 -1
- package/dist/js/components/Slider/Slider.d.ts +45 -39
- package/dist/js/components/Slider/Slider.d.ts.map +1 -1
- package/dist/js/components/Slider/Slider.js.map +1 -1
- package/dist/js/components/Slider/SliderStep.d.ts +10 -10
- package/dist/js/components/Slider/SliderStep.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeView.d.ts +65 -53
- package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeView.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewList.d.ts +4 -4
- package/dist/js/components/TreeView/TreeViewList.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.d.ts +46 -39
- package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
- package/dist/js/components/TreeView/TreeViewRoot.d.ts +4 -4
- package/dist/js/components/TreeView/TreeViewRoot.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewSearch.d.ts +11 -8
- package/dist/js/components/TreeView/TreeViewSearch.d.ts.map +1 -1
- package/dist/js/components/TreeView/TreeViewSearch.js.map +1 -1
- package/dist/js/helpers/Popper/Popper.js +8 -8
- package/dist/js/helpers/Popper/Popper.js.map +1 -1
- package/dist/umd/react-core.min.css +172 -172
- package/dist/umd/react-core.min.js +3 -3
- package/package.json +2 -2
- package/src/components/Alert/Alert.tsx +42 -34
- package/src/components/Alert/AlertActionCloseButton.tsx +9 -5
- package/src/components/Alert/AlertActionLink.tsx +6 -2
- package/src/components/Alert/AlertIcon.tsx +4 -4
- package/src/components/Alert/AlertToggleExpandButton.tsx +5 -5
- package/src/components/Badge/__tests__/Badge.test.tsx +45 -8
- package/src/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap +2 -12
- package/src/components/CalendarMonth/CalendarMonth.tsx +36 -28
- package/src/components/DatePicker/DatePicker.tsx +49 -36
- package/src/components/DatePicker/__tests__/DatePicker.test.tsx +21 -0
- package/src/components/ExpandableSection/ExpandableSection.tsx +35 -24
- package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +11 -5
- package/src/components/FileUpload/FileUpload.tsx +56 -49
- package/src/components/FileUpload/FileUploadField.tsx +56 -50
- package/src/components/Modal/Modal.tsx +57 -48
- package/src/components/Modal/ModalBox.tsx +12 -12
- package/src/components/Modal/ModalBoxBody.tsx +2 -2
- package/src/components/Modal/ModalBoxCloseButton.tsx +2 -2
- package/src/components/Modal/ModalBoxDescription.tsx +3 -3
- package/src/components/Modal/ModalBoxFooter.tsx +2 -2
- package/src/components/Modal/ModalBoxHeader.tsx +3 -3
- package/src/components/Modal/ModalBoxTitle.tsx +8 -9
- package/src/components/Modal/ModalContent.tsx +56 -48
- package/src/components/Modal/examples/Modal.md +1 -3
- package/src/components/NotificationBadge/NotificationBadge.tsx +22 -15
- package/src/components/NotificationBadge/__tests__/NotificationBadge.test.tsx +25 -1
- package/src/components/NotificationBadge/__tests__/__snapshots__/NotificationBadge.test.tsx.snap +5 -0
- package/src/components/NotificationBadge/examples/NotificationBadge.md +16 -3
- package/src/components/NotificationBadge/examples/NotificationBadgeBasic.tsx +26 -13
- package/src/components/NotificationBadge/examples/NotificationBadgeWithCount.tsx +28 -18
- package/src/components/Pagination/Navigation.tsx +33 -33
- package/src/components/Pagination/OptionsToggle.tsx +27 -26
- package/src/components/Pagination/Pagination.tsx +79 -65
- package/src/components/Pagination/PaginationOptionsMenu.tsx +22 -18
- package/src/components/Pagination/ToggleTemplate.tsx +4 -0
- package/src/components/Popover/Popover.tsx +89 -73
- package/src/components/SearchInput/AdvancedSearchMenu.tsx +29 -28
- package/src/components/SearchInput/SearchInput.tsx +76 -62
- package/src/components/Select/Select.tsx +5 -0
- package/src/components/Select/SelectToggle.tsx +5 -4
- package/src/components/Slider/Slider.tsx +47 -41
- package/src/components/Slider/SliderStep.tsx +10 -10
- package/src/components/TreeView/TreeView.tsx +67 -53
- package/src/components/TreeView/TreeViewList.tsx +4 -4
- package/src/components/TreeView/TreeViewListItem.tsx +46 -39
- package/src/components/TreeView/TreeViewRoot.tsx +4 -4
- package/src/components/TreeView/TreeViewSearch.tsx +12 -8
- package/src/demos/Masthead.md +9 -193
- package/src/demos/NotificationDrawer/NotificationDrawer.md +2 -0
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +305 -0
- package/src/helpers/Popper/Popper.tsx +8 -8
|
@@ -5,16 +5,16 @@ import { canUseDOM } from '../../helpers/util';
|
|
|
5
5
|
import { handleArrows } from '../../helpers';
|
|
6
6
|
|
|
7
7
|
export interface TreeViewRootProps {
|
|
8
|
-
/** Child nodes of the tree view */
|
|
8
|
+
/** Child nodes of the tree view. */
|
|
9
9
|
children: React.ReactNode;
|
|
10
|
-
/**
|
|
10
|
+
/** Class to add to add if not passed a parentItem property. */
|
|
11
|
+
className?: string;
|
|
12
|
+
/** Flag indicating if the tree view has checkboxes. */
|
|
11
13
|
hasChecks?: boolean;
|
|
12
14
|
/** Flag indicating if tree view has guide lines. */
|
|
13
15
|
hasGuides?: boolean;
|
|
14
16
|
/** Variant presentation styles for the tree view. */
|
|
15
17
|
variant?: 'default' | 'compact' | 'compactNoBackground';
|
|
16
|
-
/** Class to add to add if not passed a parentItem */
|
|
17
|
-
className?: string;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export class TreeViewRoot extends React.Component<TreeViewRootProps> {
|
|
@@ -3,17 +3,21 @@ import { css } from '@patternfly/react-styles';
|
|
|
3
3
|
import styles from '@patternfly/react-styles/css/components/TreeView/tree-view';
|
|
4
4
|
import formStyles from '@patternfly/react-styles/css/components/FormControl/form-control';
|
|
5
5
|
|
|
6
|
+
/** Renders a search input for the tree view. This sub-component should be passed into the
|
|
7
|
+
* tree view component's toolbar property.
|
|
8
|
+
*/
|
|
9
|
+
|
|
6
10
|
export interface TreeViewSearchProps extends React.HTMLProps<HTMLInputElement> {
|
|
7
|
-
/**
|
|
8
|
-
onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
9
|
-
/** Id for the search input */
|
|
10
|
-
id?: string;
|
|
11
|
-
/** Name for the search input */
|
|
12
|
-
name?: string;
|
|
13
|
-
/** Accessible label for the search input */
|
|
11
|
+
/** Accessible label for the search input. */
|
|
14
12
|
'aria-label'?: string;
|
|
15
|
-
/** Classes applied to the wrapper for the search input */
|
|
13
|
+
/** Classes applied to the wrapper for the search input. */
|
|
16
14
|
className?: string;
|
|
15
|
+
/** Id for the search input. */
|
|
16
|
+
id?: string;
|
|
17
|
+
/** Name for the search input. */
|
|
18
|
+
name?: string;
|
|
19
|
+
/** Callback for search input. */
|
|
20
|
+
onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
17
21
|
}
|
|
18
22
|
|
|
19
23
|
export const TreeViewSearch: React.FunctionComponent<TreeViewSearchProps> = ({
|
package/src/demos/Masthead.md
CHANGED
|
@@ -3,202 +3,18 @@ id: Masthead
|
|
|
3
3
|
section: components
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
6
|
+
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
|
7
|
+
import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
|
|
8
|
+
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
9
|
+
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
10
|
+
import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
|
|
11
|
+
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
9
12
|
|
|
10
13
|
## Demos
|
|
11
14
|
|
|
12
|
-
###
|
|
15
|
+
### Masthead with utilities and user dropdown menu
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
import React from 'react';
|
|
16
|
-
import {
|
|
17
|
-
Masthead,
|
|
18
|
-
MastheadToggle,
|
|
19
|
-
MastheadMain,
|
|
20
|
-
MastheadBrand,
|
|
21
|
-
MastheadContent,
|
|
22
|
-
Button,
|
|
23
|
-
Toolbar,
|
|
24
|
-
ToolbarContent,
|
|
25
|
-
ToolbarGroup,
|
|
26
|
-
ToolbarItem,
|
|
27
|
-
ContextSelector,
|
|
28
|
-
ContextSelectorItem,
|
|
29
|
-
Dropdown,
|
|
30
|
-
DropdownSeparator,
|
|
31
|
-
DropdownToggle,
|
|
32
|
-
KebabToggle,
|
|
33
|
-
DropdownItem,
|
|
34
|
-
Brand
|
|
35
|
-
} from '@patternfly/react-core';
|
|
36
|
-
import imgBrand from '@patternfly/react-core/src/demos/examples/pfColorLogo.svg';
|
|
37
|
-
import BarsIcon from '@patternfly/react-icons/dist/js/icons/bars-icon';
|
|
38
|
-
import CaretDownIcon from '@patternfly/react-icons/dist/js/icons/caret-down-icon';
|
|
17
|
+
Many mastheads contain utilities which collapse into a dropdown at smaller viewport widths. These utilities could include a notification badge to open and close a notification drawer, a link to app or user settings, a help icon which could launch quick starts or link to other resources, and many other utilities. In this demo, the notification badge does not collapse down into the mobile menu so that it is always visible even at narrower viewport widths.
|
|
39
18
|
|
|
40
|
-
|
|
41
|
-
items = [
|
|
42
|
-
'My Project',
|
|
43
|
-
'OpenShift Cluster',
|
|
44
|
-
'Production Ansible',
|
|
45
|
-
'AWS',
|
|
46
|
-
'Azure',
|
|
47
|
-
'My Project 2',
|
|
48
|
-
'OpenShift Cluster',
|
|
49
|
-
'Production Ansible 2',
|
|
50
|
-
'AWS 2',
|
|
51
|
-
'Azure 2'
|
|
52
|
-
];
|
|
53
|
-
|
|
54
|
-
state = {
|
|
55
|
-
isOpen: false,
|
|
56
|
-
isDropdownOpen: false,
|
|
57
|
-
isKebabOpen: false,
|
|
58
|
-
selected: this.items[0],
|
|
59
|
-
searchValue: '',
|
|
60
|
-
filteredItems: this.items
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
onToggle = (event: any, isOpen: boolean) => {
|
|
64
|
-
this.setState({
|
|
65
|
-
isOpen
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
onDropdownToggle = (isDropdownOpen: boolean) => {
|
|
70
|
-
this.setState({
|
|
71
|
-
isDropdownOpen
|
|
72
|
-
});
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
onKebabToggle = (isKebabOpen: boolean) => {
|
|
76
|
-
this.setState({
|
|
77
|
-
isKebabOpen
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
onSelect = (event: any, value: string) => {
|
|
82
|
-
this.setState({
|
|
83
|
-
selected: value,
|
|
84
|
-
isOpen: !this.state.isOpen
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
onDropdownSelect = () => {
|
|
89
|
-
this.setState({
|
|
90
|
-
isDropdownOpen: !this.state.isDropdownOpen
|
|
91
|
-
});
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
onKebabSelect = () => {
|
|
95
|
-
this.setState({
|
|
96
|
-
isKebabOpen: !this.state.isKebabOpen
|
|
97
|
-
});
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
onSearchInputChange = (value: string) => {
|
|
101
|
-
this.setState({ searchValue: value });
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
onSearchButtonClick = () => {
|
|
105
|
-
const filtered =
|
|
106
|
-
this.state.searchValue === ''
|
|
107
|
-
? this.items
|
|
108
|
-
: this.items.filter(str => str.toLowerCase().indexOf(this.state.searchValue.toLowerCase()) !== -1);
|
|
109
|
-
|
|
110
|
-
this.setState({ filteredItems: filtered || [] });
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
render() {
|
|
114
|
-
const { isOpen, isDropdownOpen, isKebabOpen, selected, searchValue, filteredItems } = this.state;
|
|
115
|
-
|
|
116
|
-
const dropdownItems = [
|
|
117
|
-
<DropdownItem key="link">Link</DropdownItem>,
|
|
118
|
-
<DropdownItem key="action" component="button">
|
|
119
|
-
Action
|
|
120
|
-
</DropdownItem>,
|
|
121
|
-
<DropdownItem key="disabled link" isDisabled href="www.google.com">
|
|
122
|
-
Disabled Link
|
|
123
|
-
</DropdownItem>,
|
|
124
|
-
<DropdownItem
|
|
125
|
-
key="disabled action"
|
|
126
|
-
isAriaDisabled
|
|
127
|
-
component="button"
|
|
128
|
-
tooltip="Tooltip for disabled item"
|
|
129
|
-
tooltipProps={{ position: 'top' }}
|
|
130
|
-
>
|
|
131
|
-
Disabled Action
|
|
132
|
-
</DropdownItem>,
|
|
133
|
-
<DropdownSeparator key="separator" />,
|
|
134
|
-
<DropdownItem key="separated link">Separated Link</DropdownItem>,
|
|
135
|
-
<DropdownItem key="separated action" component="button">
|
|
136
|
-
Separated Action
|
|
137
|
-
</DropdownItem>
|
|
138
|
-
];
|
|
139
|
-
|
|
140
|
-
return (
|
|
141
|
-
<Masthead id="basic-demo">
|
|
142
|
-
<MastheadToggle>
|
|
143
|
-
<Button variant="plain" onClick={() => {}} aria-label="Global navigation">
|
|
144
|
-
<BarsIcon />
|
|
145
|
-
</Button>
|
|
146
|
-
</MastheadToggle>
|
|
147
|
-
<MastheadMain>
|
|
148
|
-
<MastheadBrand>
|
|
149
|
-
<Brand src={imgBrand} alt="Patternfly logo" />
|
|
150
|
-
</MastheadBrand>
|
|
151
|
-
</MastheadMain>
|
|
152
|
-
<MastheadContent>
|
|
153
|
-
<Toolbar id="toolbar" isFullHeight isStatic>
|
|
154
|
-
<ToolbarContent>
|
|
155
|
-
<ToolbarItem>
|
|
156
|
-
<ContextSelector
|
|
157
|
-
toggleText={selected}
|
|
158
|
-
onSearchInputChange={this.onSearchInputChange}
|
|
159
|
-
isOpen={isOpen}
|
|
160
|
-
searchInputValue={searchValue}
|
|
161
|
-
onToggle={this.onToggle}
|
|
162
|
-
onSelect={this.onSelect}
|
|
163
|
-
onSearchButtonClick={this.onSearchButtonClick}
|
|
164
|
-
screenReaderLabel="Selected Project:"
|
|
165
|
-
isFullHeight
|
|
166
|
-
>
|
|
167
|
-
{filteredItems.map((item, index) => (
|
|
168
|
-
<ContextSelectorItem key={index}>{item}</ContextSelectorItem>
|
|
169
|
-
))}
|
|
170
|
-
</ContextSelector>
|
|
171
|
-
</ToolbarItem>
|
|
172
|
-
<ToolbarGroup alignment={{ default: 'alignRight' }}>
|
|
173
|
-
<ToolbarItem visibility={{ default: 'hidden', lg: 'visible' }}>
|
|
174
|
-
<Dropdown
|
|
175
|
-
onSelect={this.onDropdownSelect}
|
|
176
|
-
toggle={
|
|
177
|
-
<DropdownToggle id="toggle-id" onToggle={this.onDropdownToggle} toggleIndicator={CaretDownIcon}>
|
|
178
|
-
Dropdown
|
|
179
|
-
</DropdownToggle>
|
|
180
|
-
}
|
|
181
|
-
isOpen={isDropdownOpen}
|
|
182
|
-
dropdownItems={dropdownItems}
|
|
183
|
-
isFullHeight
|
|
184
|
-
/>
|
|
185
|
-
</ToolbarItem>
|
|
186
|
-
<ToolbarItem>
|
|
187
|
-
<Dropdown
|
|
188
|
-
onSelect={this.onKebabSelect}
|
|
189
|
-
position="right"
|
|
190
|
-
toggle={<KebabToggle onToggle={this.onKebabToggle} id="toggle-id-kebab" />}
|
|
191
|
-
isOpen={isKebabOpen}
|
|
192
|
-
isPlain
|
|
193
|
-
dropdownItems={dropdownItems}
|
|
194
|
-
/>
|
|
195
|
-
</ToolbarItem>
|
|
196
|
-
</ToolbarGroup>
|
|
197
|
-
</ToolbarContent>
|
|
198
|
-
</Toolbar>
|
|
199
|
-
</MastheadContent>
|
|
200
|
-
</Masthead>
|
|
201
|
-
);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
19
|
+
```ts file='./examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx' isFullscreen
|
|
204
20
|
```
|
|
@@ -246,6 +246,7 @@ class BasicNotificationDrawer extends React.Component {
|
|
|
246
246
|
variant={this.getNumberUnread() === 0 ? 'read' : 'unread'}
|
|
247
247
|
onClick={this.onCloseNotificationDrawer}
|
|
248
248
|
aria-label="Notifications"
|
|
249
|
+
isExpanded={isDrawerExpanded}
|
|
249
250
|
>
|
|
250
251
|
<BellIcon />
|
|
251
252
|
</NotificationBadge>
|
|
@@ -812,6 +813,7 @@ class GroupedNotificationDrawer extends React.Component {
|
|
|
812
813
|
variant={this.getNumberUnread() === 0 ? 'read' : 'unread'}
|
|
813
814
|
onClick={this.onCloseNotificationDrawer}
|
|
814
815
|
aria-label="Notifications"
|
|
816
|
+
isExpanded={isDrawerExpanded}
|
|
815
817
|
>
|
|
816
818
|
<BellIcon />
|
|
817
819
|
</NotificationBadge>
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
ApplicationLauncher,
|
|
4
|
+
ApplicationLauncherItem,
|
|
5
|
+
Avatar,
|
|
6
|
+
Brand,
|
|
7
|
+
Breadcrumb,
|
|
8
|
+
BreadcrumbItem,
|
|
9
|
+
Button,
|
|
10
|
+
ButtonVariant,
|
|
11
|
+
Card,
|
|
12
|
+
CardBody,
|
|
13
|
+
Divider,
|
|
14
|
+
Dropdown,
|
|
15
|
+
DropdownGroup,
|
|
16
|
+
DropdownItem,
|
|
17
|
+
DropdownToggle,
|
|
18
|
+
Gallery,
|
|
19
|
+
GalleryItem,
|
|
20
|
+
KebabToggle,
|
|
21
|
+
Masthead,
|
|
22
|
+
MastheadBrand,
|
|
23
|
+
MastheadContent,
|
|
24
|
+
MastheadMain,
|
|
25
|
+
MastheadToggle,
|
|
26
|
+
Nav,
|
|
27
|
+
NavItem,
|
|
28
|
+
NavList,
|
|
29
|
+
Page,
|
|
30
|
+
PageSection,
|
|
31
|
+
PageSectionVariants,
|
|
32
|
+
PageSidebar,
|
|
33
|
+
PageToggleButton,
|
|
34
|
+
SkipToContent,
|
|
35
|
+
Text,
|
|
36
|
+
TextContent,
|
|
37
|
+
Toolbar,
|
|
38
|
+
ToolbarContent,
|
|
39
|
+
ToolbarGroup,
|
|
40
|
+
ToolbarItem
|
|
41
|
+
} from '@patternfly/react-core';
|
|
42
|
+
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
|
43
|
+
import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
|
|
44
|
+
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
|
|
45
|
+
import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
|
|
46
|
+
import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
|
|
47
|
+
import imgAvatar from '@patternfly/react-core/src/components/Avatar/examples/avatarImg.svg';
|
|
48
|
+
|
|
49
|
+
interface NavOnSelectProps {
|
|
50
|
+
groupId: number | string;
|
|
51
|
+
itemId: number | string;
|
|
52
|
+
to: string;
|
|
53
|
+
event: React.FormEvent<HTMLInputElement>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const MastheadWithUtilitiesAndUserDropdownMenu: React.FunctionComponent = () => {
|
|
57
|
+
const [isDropdownOpen, setIsDropdownOpen] = React.useState(false);
|
|
58
|
+
const [isKebabDropdownOpen, setIsKebabDropdownOpen] = React.useState(false);
|
|
59
|
+
const [isFullKebabDropdownOpen, setIsFullKebabDropdownOpen] = React.useState(false);
|
|
60
|
+
const [isAppLauncherOpen, setIsAppLauncherOpen] = React.useState(false);
|
|
61
|
+
const [activeItem, setActiveItem] = React.useState(1);
|
|
62
|
+
|
|
63
|
+
const onNavSelect = (selectedItem: NavOnSelectProps) => {
|
|
64
|
+
typeof selectedItem.itemId === 'number' && setActiveItem(selectedItem.itemId);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const onDropdownToggle = (isOpen: boolean) => {
|
|
68
|
+
setIsDropdownOpen(isOpen);
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const onDropdownSelect = () => {
|
|
72
|
+
setIsDropdownOpen(!isDropdownOpen);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
const onKebabDropdownToggle = (isOpen: boolean) => {
|
|
76
|
+
setIsKebabDropdownOpen(isOpen);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const onKebabDropdownSelect = () => {
|
|
80
|
+
setIsKebabDropdownOpen(!isKebabDropdownOpen);
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
const onFullKebabDropdownToggle = (isOpen: boolean) => {
|
|
84
|
+
setIsFullKebabDropdownOpen(isOpen);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const onFullKebabDropdownSelect = () => {
|
|
88
|
+
setIsFullKebabDropdownOpen(!isFullKebabDropdownOpen);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
const onAppLauncherToggle = (isOpen: boolean) => {
|
|
92
|
+
setIsAppLauncherOpen(isOpen);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
const onAppLauncherSelect = () => {
|
|
96
|
+
setIsAppLauncherOpen(!isAppLauncherOpen);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const dashboardBreadcrumb = (
|
|
100
|
+
<Breadcrumb>
|
|
101
|
+
<BreadcrumbItem>Section home</BreadcrumbItem>
|
|
102
|
+
<BreadcrumbItem to="#">Section title</BreadcrumbItem>
|
|
103
|
+
<BreadcrumbItem to="#">Section title</BreadcrumbItem>
|
|
104
|
+
<BreadcrumbItem to="#" isActive>
|
|
105
|
+
Section landing
|
|
106
|
+
</BreadcrumbItem>
|
|
107
|
+
</Breadcrumb>
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
const kebabDropdownItems = [
|
|
111
|
+
<DropdownItem key="settings">
|
|
112
|
+
<CogIcon /> Settings
|
|
113
|
+
</DropdownItem>,
|
|
114
|
+
<DropdownItem key="help">
|
|
115
|
+
<HelpIcon /> Help
|
|
116
|
+
</DropdownItem>
|
|
117
|
+
];
|
|
118
|
+
|
|
119
|
+
const fullKebabDropdownItems = [
|
|
120
|
+
<DropdownGroup key="group 2">
|
|
121
|
+
<DropdownItem key="group 2 profile">My profile</DropdownItem>
|
|
122
|
+
<DropdownItem key="group 2 user" component="button">
|
|
123
|
+
User management
|
|
124
|
+
</DropdownItem>
|
|
125
|
+
<DropdownItem key="group 2 logout">Logout</DropdownItem>
|
|
126
|
+
</DropdownGroup>,
|
|
127
|
+
<Divider key="divider" />,
|
|
128
|
+
<DropdownItem key="settings">
|
|
129
|
+
<CogIcon /> Settings
|
|
130
|
+
</DropdownItem>,
|
|
131
|
+
<DropdownItem key="help">
|
|
132
|
+
<HelpIcon /> Help
|
|
133
|
+
</DropdownItem>
|
|
134
|
+
];
|
|
135
|
+
|
|
136
|
+
const userDropdownItems = [
|
|
137
|
+
<DropdownGroup key="group 2">
|
|
138
|
+
<DropdownItem key="group 2 profile">My profile</DropdownItem>
|
|
139
|
+
<DropdownItem key="group 2 user" component="button">
|
|
140
|
+
User management
|
|
141
|
+
</DropdownItem>
|
|
142
|
+
<DropdownItem key="group 2 logout">Logout</DropdownItem>
|
|
143
|
+
</DropdownGroup>
|
|
144
|
+
];
|
|
145
|
+
|
|
146
|
+
const appLauncherItems = [
|
|
147
|
+
<ApplicationLauncherItem key="application_1a" href="#">
|
|
148
|
+
Application 1 (anchor link)
|
|
149
|
+
</ApplicationLauncherItem>,
|
|
150
|
+
<ApplicationLauncherItem key="application_2a" component="button" onClick={() => alert('Clicked item 2')}>
|
|
151
|
+
Application 2 (button with onClick)
|
|
152
|
+
</ApplicationLauncherItem>
|
|
153
|
+
];
|
|
154
|
+
|
|
155
|
+
const headerToolbar = (
|
|
156
|
+
<Toolbar id="toolbar" isFullHeight isStatic>
|
|
157
|
+
<ToolbarContent>
|
|
158
|
+
<ToolbarGroup
|
|
159
|
+
variant="icon-button-group"
|
|
160
|
+
alignment={{ default: 'alignRight' }}
|
|
161
|
+
spacer={{ default: 'spacerNone', md: 'spacerMd' }}
|
|
162
|
+
>
|
|
163
|
+
<ToolbarItem>
|
|
164
|
+
<Button aria-label="Notifications" variant={ButtonVariant.plain} icon={<BellIcon />} />
|
|
165
|
+
</ToolbarItem>
|
|
166
|
+
<ToolbarGroup variant="icon-button-group" visibility={{ default: 'hidden', lg: 'visible' }}>
|
|
167
|
+
<ToolbarItem visibility={{ default: 'hidden', md: 'hidden', lg: 'visible' }}>
|
|
168
|
+
<ApplicationLauncher
|
|
169
|
+
onSelect={onAppLauncherSelect}
|
|
170
|
+
onToggle={onAppLauncherToggle}
|
|
171
|
+
isOpen={isAppLauncherOpen}
|
|
172
|
+
items={appLauncherItems}
|
|
173
|
+
/>
|
|
174
|
+
</ToolbarItem>
|
|
175
|
+
<ToolbarItem>
|
|
176
|
+
<Button aria-label="Settings" variant={ButtonVariant.plain} icon={<CogIcon />} />
|
|
177
|
+
</ToolbarItem>
|
|
178
|
+
<ToolbarItem>
|
|
179
|
+
<Button aria-label="Help" variant={ButtonVariant.plain} icon={<QuestionCircleIcon />} />
|
|
180
|
+
</ToolbarItem>
|
|
181
|
+
</ToolbarGroup>
|
|
182
|
+
<ToolbarItem visibility={{ default: 'hidden', md: 'visible', lg: 'hidden' }}>
|
|
183
|
+
<Dropdown
|
|
184
|
+
isPlain
|
|
185
|
+
position="right"
|
|
186
|
+
onSelect={onKebabDropdownSelect}
|
|
187
|
+
toggle={<KebabToggle onToggle={onKebabDropdownToggle} />}
|
|
188
|
+
isOpen={isKebabDropdownOpen}
|
|
189
|
+
dropdownItems={kebabDropdownItems}
|
|
190
|
+
/>
|
|
191
|
+
</ToolbarItem>
|
|
192
|
+
<ToolbarItem visibility={{ md: 'hidden' }}>
|
|
193
|
+
<Dropdown
|
|
194
|
+
isPlain
|
|
195
|
+
position="right"
|
|
196
|
+
onSelect={onFullKebabDropdownSelect}
|
|
197
|
+
toggle={<KebabToggle onToggle={onFullKebabDropdownToggle} />}
|
|
198
|
+
isOpen={isFullKebabDropdownOpen}
|
|
199
|
+
dropdownItems={fullKebabDropdownItems}
|
|
200
|
+
/>
|
|
201
|
+
</ToolbarItem>
|
|
202
|
+
</ToolbarGroup>
|
|
203
|
+
<ToolbarItem visibility={{ default: 'hidden', md: 'visible' }}>
|
|
204
|
+
<Dropdown
|
|
205
|
+
isFullHeight
|
|
206
|
+
onSelect={onDropdownSelect}
|
|
207
|
+
isOpen={isDropdownOpen}
|
|
208
|
+
toggle={
|
|
209
|
+
<DropdownToggle icon={<Avatar src={imgAvatar} alt="Avatar" />} onToggle={onDropdownToggle}>
|
|
210
|
+
Ned Username
|
|
211
|
+
</DropdownToggle>
|
|
212
|
+
}
|
|
213
|
+
dropdownItems={userDropdownItems}
|
|
214
|
+
/>
|
|
215
|
+
</ToolbarItem>
|
|
216
|
+
</ToolbarContent>
|
|
217
|
+
</Toolbar>
|
|
218
|
+
);
|
|
219
|
+
|
|
220
|
+
const masthead = (
|
|
221
|
+
<Masthead>
|
|
222
|
+
<MastheadToggle>
|
|
223
|
+
<PageToggleButton variant="plain" aria-label="Global navigation">
|
|
224
|
+
<BarsIcon />
|
|
225
|
+
</PageToggleButton>
|
|
226
|
+
</MastheadToggle>
|
|
227
|
+
<MastheadMain>
|
|
228
|
+
<MastheadBrand>
|
|
229
|
+
<Brand
|
|
230
|
+
widths={{ default: '180px', md: '180px', '2xl': '220px' }}
|
|
231
|
+
src="/assets/images/logo__pf--reverse--base.png"
|
|
232
|
+
alt="Fallback patternFly default logo"
|
|
233
|
+
>
|
|
234
|
+
<source media="(min-width: 768px)" srcSet="/assets/images/logo__pf--reverse-on-md.svg" />
|
|
235
|
+
<source srcSet="/assets/images/logo__pf--reverse--base.svg" />
|
|
236
|
+
</Brand>
|
|
237
|
+
</MastheadBrand>
|
|
238
|
+
</MastheadMain>
|
|
239
|
+
<MastheadContent>{headerToolbar}</MastheadContent>
|
|
240
|
+
</Masthead>
|
|
241
|
+
);
|
|
242
|
+
|
|
243
|
+
const pageNav = (
|
|
244
|
+
<Nav onSelect={onNavSelect} aria-label="Nav">
|
|
245
|
+
<NavList>
|
|
246
|
+
<NavItem itemId={0} isActive={activeItem === 0} to="#system-panel">
|
|
247
|
+
System panel
|
|
248
|
+
</NavItem>
|
|
249
|
+
<NavItem itemId={1} isActive={activeItem === 1} to="#policy">
|
|
250
|
+
Policy
|
|
251
|
+
</NavItem>
|
|
252
|
+
<NavItem itemId={2} isActive={activeItem === 2} to="#auth">
|
|
253
|
+
Authentication
|
|
254
|
+
</NavItem>
|
|
255
|
+
<NavItem itemId={3} isActive={activeItem === 3} to="#network">
|
|
256
|
+
Network services
|
|
257
|
+
</NavItem>
|
|
258
|
+
<NavItem itemId={4} isActive={activeItem === 4} to="#server">
|
|
259
|
+
Server
|
|
260
|
+
</NavItem>
|
|
261
|
+
</NavList>
|
|
262
|
+
</Nav>
|
|
263
|
+
);
|
|
264
|
+
|
|
265
|
+
const sidebar = <PageSidebar nav={pageNav} />;
|
|
266
|
+
|
|
267
|
+
const mainContainerId = 'main-content-page-layout-tertiary-nav';
|
|
268
|
+
|
|
269
|
+
const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
|
|
270
|
+
|
|
271
|
+
return (
|
|
272
|
+
<Page
|
|
273
|
+
header={masthead}
|
|
274
|
+
sidebar={sidebar}
|
|
275
|
+
isManagedSidebar
|
|
276
|
+
skipToContent={pageSkipToContent}
|
|
277
|
+
breadcrumb={dashboardBreadcrumb}
|
|
278
|
+
mainContainerId={mainContainerId}
|
|
279
|
+
isTertiaryNavWidthLimited
|
|
280
|
+
isBreadcrumbWidthLimited
|
|
281
|
+
isTertiaryNavGrouped
|
|
282
|
+
isBreadcrumbGrouped
|
|
283
|
+
additionalGroupedContent={
|
|
284
|
+
<PageSection variant={PageSectionVariants.light}>
|
|
285
|
+
<TextContent>
|
|
286
|
+
<Text component="h1">Main title</Text>
|
|
287
|
+
<Text component="p">This is a full page demo.</Text>
|
|
288
|
+
</TextContent>
|
|
289
|
+
</PageSection>
|
|
290
|
+
}
|
|
291
|
+
>
|
|
292
|
+
<PageSection>
|
|
293
|
+
<Gallery hasGutter>
|
|
294
|
+
{Array.apply(0, Array(10)).map((x, i) => (
|
|
295
|
+
<GalleryItem key={i}>
|
|
296
|
+
<Card>
|
|
297
|
+
<CardBody>This is a card</CardBody>
|
|
298
|
+
</Card>
|
|
299
|
+
</GalleryItem>
|
|
300
|
+
))}
|
|
301
|
+
</Gallery>
|
|
302
|
+
</PageSection>
|
|
303
|
+
</Page>
|
|
304
|
+
);
|
|
305
|
+
};
|
|
@@ -190,14 +190,14 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
}, [isVisible, popperRef]);
|
|
193
|
-
const addEventListener = (listener: any, element: Document | HTMLElement, event: string) => {
|
|
193
|
+
const addEventListener = (listener: any, element: Document | HTMLElement, event: string, capture = false) => {
|
|
194
194
|
if (listener && element) {
|
|
195
|
-
element.addEventListener(event, listener);
|
|
195
|
+
element.addEventListener(event, listener, { capture });
|
|
196
196
|
}
|
|
197
197
|
};
|
|
198
|
-
const removeEventListener = (listener: any, element: Document | HTMLElement, event: string) => {
|
|
198
|
+
const removeEventListener = (listener: any, element: Document | HTMLElement, event: string, capture = false) => {
|
|
199
199
|
if (listener && element) {
|
|
200
|
-
element.removeEventListener(event, listener);
|
|
200
|
+
element.removeEventListener(event, listener, { capture });
|
|
201
201
|
}
|
|
202
202
|
};
|
|
203
203
|
|
|
@@ -211,8 +211,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
|
211
211
|
addEventListener(onPopperClick, popperElement, 'click');
|
|
212
212
|
addEventListener(onPopperMouseEnter, popperElement, 'mouseenter');
|
|
213
213
|
addEventListener(onPopperMouseLeave, popperElement, 'mouseleave');
|
|
214
|
-
onDocumentClick && addEventListener(onDocumentClickCallback, document, 'click');
|
|
215
|
-
addEventListener(onDocumentKeyDown, document, 'keydown');
|
|
214
|
+
onDocumentClick && addEventListener(onDocumentClickCallback, document, 'click', true);
|
|
215
|
+
addEventListener(onDocumentKeyDown, document, 'keydown', true);
|
|
216
216
|
|
|
217
217
|
// Trigger a Popper update when content changes.
|
|
218
218
|
const observer = new MutationObserver(() => {
|
|
@@ -230,8 +230,8 @@ export const Popper: React.FunctionComponent<PopperProps> = ({
|
|
|
230
230
|
removeEventListener(onPopperClick, popperElement, 'click');
|
|
231
231
|
removeEventListener(onPopperMouseEnter, popperElement, 'mouseenter');
|
|
232
232
|
removeEventListener(onPopperMouseLeave, popperElement, 'mouseleave');
|
|
233
|
-
onDocumentClick && removeEventListener(onDocumentClickCallback, document, 'click');
|
|
234
|
-
removeEventListener(onDocumentKeyDown, document, 'keydown');
|
|
233
|
+
onDocumentClick && removeEventListener(onDocumentClickCallback, document, 'click', true);
|
|
234
|
+
removeEventListener(onDocumentKeyDown, document, 'keydown', true);
|
|
235
235
|
observer.disconnect();
|
|
236
236
|
};
|
|
237
237
|
}, [
|